/* MODO NATAL da Urban (27/10/2026) — so carrega em pagina de Natal (inc/natal-tema.php). Tudo preso em body.ubm-natal. */
body.ubm-natal {
  --nt-vinho: #74172a; --nt-vinho-2: #5b1120; --nt-verde: #315744; --nt-verde-2: #24402f; --nt-verde-txt: #244c3c;
  --nt-ouro: #b49a5a; --nt-creme: #fbf9f5; --nt-creme-2: #f3eee5; --nt-areia: #efe9df; --nt-borda: #ded7cb; --nt-borda-2: #ece7de;
  --nt-texto: #242421; --nt-suave: #5f645d; --nt-sans: 'Zalando Sans', 'Helvetica Neue', Arial, sans-serif; --nt-serif: 'Fraunces', Georgia, serif;
  background: var(--nt-creme) !important; color: var(--nt-texto); font-family: var(--nt-sans) !important;
}
body.ubm-natal :is(p, a, li, span, button, input, select, label, dt, dd, h4, small) { font-family: var(--nt-sans); }
body.ubm-natal .nt-largura { width: min(100% - 32px, 1280px); margin: 0 auto; }
body.ubm-natal .nt-ic { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
body.ubm-natal .nt-sobre { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--nt-verde); }
body.ubm-natal .header-divider { display: none; }

/* ---------- faixa do topo ---------- */
.nt-topo { background: var(--nt-vinho); color: #fff; font-size: 13px; letter-spacing: .02em; }
.nt-topo__in { display: flex; align-items: center; justify-content: center; gap: 64px; min-height: 36px; padding: 0 16px; }
.nt-topo__item { white-space: nowrap; }
@media (max-width: 899px) {
  .nt-topo__in { position: relative; gap: 0; min-height: 34px; }
  .nt-topo__item { display: none; text-align: center; animation: ntFade .45s ease; }
  .nt-topo__item.is-on { display: block; }
}
@keyframes ntFade { from { opacity: .35; transform: translateY(3px); } to { opacity: 1; transform: none; } }

/* ---------- cabecalho ---------- */
body.ubm-natal .nt-header { position: sticky; top: 0; z-index: 60; background: #fff; box-shadow: 0 1px 0 var(--nt-borda); border: 0; padding: 0; }
.nt-header__in { display: grid; grid-template-columns: auto minmax(260px, 560px) auto; align-items: center; justify-content: space-between; gap: 40px; min-height: 84px; }
body.ubm-natal .nt-header__logo { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 0; }
body.ubm-natal .nt-header .site-header__logo img, body.ubm-natal .nt-header .site-header__logo .custom-logo { height: 50px !important; max-height: 50px !important; width: auto !important; max-width: 220px !important; }
.nt-logo-natal { display: block; line-height: 0; }
body.ubm-natal .nt-header .nt-logo-natal img { height: 60px !important; max-height: 60px !important; max-width: 170px !important; }
/* selo "Natal 2026" ao lado da logo (sub-marca da loja de Natal) */
.nt-marca { display: flex; flex-direction: column; justify-content: center; padding-left: 12px; border-left: 1px solid var(--nt-borda); line-height: 1; text-decoration: none; }
.nt-marca span { font-family: var(--nt-serif); font-size: 26px; font-weight: 500; color: var(--nt-vinho); letter-spacing: -.01em; }
.nt-marca small { margin-top: 3px; font-size: 10px; font-weight: 700; letter-spacing: .32em; color: var(--nt-ouro); }
.nt-busca { position: relative; display: flex; height: 46px; border: 1px solid var(--nt-borda); border-radius: 999px; background: #f8f5ef; transition: border-color .2s, box-shadow .2s; }
.nt-busca:focus-within { border-color: var(--nt-verde); box-shadow: 0 0 0 3px rgba(49, 87, 68, .12); }
.nt-busca input { flex: 1; min-width: 0; padding: 0 8px 0 20px; border: 0 !important; outline: 0; background: transparent !important; font-size: 15px; color: var(--nt-texto); box-shadow: none !important; height: auto !important; }
.nt-busca input::placeholder { color: #77796f; }
.nt-busca button { display: grid; width: 50px; border: 0; background: transparent; color: var(--nt-texto); place-items: center; cursor: pointer; }
.nt-header__acoes { display: flex; align-items: center; gap: 22px; }
.nt-acao { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: var(--nt-texto); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; }
.nt-acao:hover { color: var(--nt-vinho); }
.nt-acao--pedido { color: var(--nt-vinho); }
body.ubm-natal .nt-acao .cart-bubble { position: absolute; top: -7px; right: -9px; display: grid; min-width: 18px; height: 18px; place-items: center; }
body.ubm-natal .nt-acao .cart-bubble__background { position: absolute; inset: 0; border-radius: 99px; background: var(--nt-vinho); }
body.ubm-natal .nt-acao .cart-bubble__text { position: relative; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
.nt-menu { border-top: 1px solid var(--nt-borda-2); background: #fff; }
.nt-menu__in { display: flex; justify-content: center; gap: 30px; min-height: 50px; align-items: center; }
.nt-menu a { position: relative; padding: 15px 0; color: var(--nt-texto); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.nt-menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: var(--nt-vinho); transform: scaleX(0); transition: transform .2s; }
.nt-menu a:hover::after, .nt-menu a.is-atual::after { transform: scaleX(1); }
.nt-menu a.is-atual { color: var(--nt-vinho); }
@media (max-width: 899px) {
  .nt-header__in { grid-template-columns: 1fr auto; grid-template-areas: "logo acoes" "busca busca"; gap: 10px 12px; min-height: 0; padding: 12px 0; }
  .nt-header__logo { grid-area: logo; }
  body.ubm-natal .nt-header .site-header__logo img, body.ubm-natal .nt-header .site-header__logo .custom-logo { height: 40px !important; max-height: 40px !important; max-width: 160px !important; }
  body.ubm-natal .nt-header__logo { gap: 10px; }
  .nt-marca { padding-left: 10px; }
  .nt-marca span { font-size: 21px; }
  .nt-marca small { font-size: 9px; letter-spacing: .28em; }
  .nt-busca { grid-area: busca; height: 42px; }
  .nt-busca input { font-size: 15px; padding-left: 16px; }
  .nt-header__acoes { grid-area: acoes; gap: 16px; }
  .nt-acao--pedido span { display: none; }
  .nt-menu__in { justify-content: flex-start; gap: 8px; min-height: 0; padding: 10px 16px; width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .nt-menu__in::-webkit-scrollbar { display: none; }
  .nt-menu a { padding: 7px 14px; border: 1px solid var(--nt-borda); border-radius: 99px; font-size: 13.5px; background: #fff; }
  .nt-menu a::after { display: none; }
  .nt-menu a.is-atual { border-color: var(--nt-vinho); background: var(--nt-vinho); color: #fff; }
}

/* ---------- produto ---------- */
body.ubm-natal .single-product-page { padding-top: 6px; }
@media (min-width: 900px) {   /* no tema a trilha e invisivel (so p/ Merchant); no Natal aparece no computador, como no concorrente */
  body.ubm-natal .single-product-page .breadcrumb { position: static; width: auto; height: auto; margin: 14px 0 14px; overflow: visible; clip: auto; white-space: normal; }
  body.ubm-natal .breadcrumb__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
  body.ubm-natal .breadcrumb__item a { text-decoration: none; }
}
body.ubm-natal .breadcrumb__list { font-size: 13px; color: var(--nt-suave); }
body.ubm-natal .breadcrumb__item a { color: var(--nt-suave); }
body.ubm-natal .breadcrumb__item--current { color: var(--nt-texto); }
body.ubm-natal .product-gallery__main { background: #fff; border-radius: 0; }
body.ubm-natal .product-gallery__thumb { border-radius: 4px; border-color: var(--nt-borda); background: #fff; }
body.ubm-natal .product-gallery__thumb.is-active { border-color: var(--nt-verde); box-shadow: 0 0 0 1px var(--nt-verde); }
body.ubm-natal .product-labels { display: none !important; }
body.ubm-natal .nt-sobre--produto { margin-bottom: 12px; }
body.ubm-natal .product-details__title { font-family: var(--nt-serif) !important; font-weight: 400; font-size: clamp(28px, 2.3vw, 40px); line-height: 1.13; letter-spacing: -.01em; color: var(--nt-texto); margin: 0 0 6px; font-variation-settings: "opsz" 96; }
body.ubm-natal .product-details__divider { border: 0; border-top: 1px solid var(--nt-borda); margin: 16px 0 18px; }
body.ubm-natal .product-details__price-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
body.ubm-natal .product-details__price-row .price--large { font-family: var(--nt-sans); font-size: 32px; font-weight: 700; color: var(--nt-vinho); letter-spacing: -.01em; }
body.ubm-natal .product-details__price-row .price--compare, body.ubm-natal .product-details__price-row .price--compare s { font-size: 16px; color: #8a8c84; font-weight: 400; }
body.ubm-natal .product-details__price-row :is(.discount__percentage, .badge--sale) { display: inline-flex; align-items: center; gap: 2px; padding: 4px 9px !important; border-radius: 3px !important; background: #f4e6e3 !important; color: var(--nt-vinho) !important; font-size: 12.5px; font-weight: 700; letter-spacing: .03em; }
body.ubm-natal .product-details__price-row :is(.discount__percentage svg, .badge--sale i) { display: none !important; }
body.ubm-natal .product-details__price-row :is(.discount__percentage, .badge--sale)::before { content: "-"; }
body.ubm-natal .product-installments, body.ubm-natal #live-viewers, body.ubm-natal .fretefundo, body.ubm-natal .offer-box { display: none !important; }
/* o % sai da linha do preco e vai pra linha do PIX (igual ao concorrente) */
body.ubm-natal .product-details__price-row :is(.discount__percentage, .badge--sale) { display: none !important; }
.nt-pixlinha { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 10px 0 6px !important; }
.nt-pixlinha__rot { font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nt-verde-txt); }
.nt-pixlinha strong { font-size: 20px; font-weight: 700; color: var(--nt-verde-txt); }
.nt-pixlinha__eco { font-size: 13px; color: var(--nt-suave); }
.nt-pixlinha__eco b { color: var(--nt-texto); }
.nt-pixlinha__pct { margin-left: auto; padding: 4px 9px; border-radius: 3px; background: #f4e6e3; color: var(--nt-vinho); font-size: 12px; font-weight: 700; letter-spacing: .03em; }
.nt-pixsub { display: block; margin: 0 !important; font-size: 13.5px !important; line-height: 1.5; color: var(--nt-suave) !important; }
.nt-pixsub strong { color: var(--nt-texto); font-weight: 600; }
/* "- 1 +" ao lado do botao */
body.ubm-natal #product-form { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 10px; align-items: stretch; margin-top: 6px; }
.nt-qtd { display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--nt-borda); border-radius: 4px; background: #fff; min-height: 56px; }
.nt-qtd button { width: 42px; height: 100%; min-height: 54px; border: 0; background: none; color: var(--nt-texto); font-size: 22px; line-height: 1; cursor: pointer; }
.nt-qtd input { width: 40px; border: 0 !important; background: none !important; text-align: center; font-size: 17px; font-weight: 500; color: var(--nt-texto); -moz-appearance: textfield; box-shadow: none !important; padding: 0 !important; }
.nt-qtd-aviso { margin: 8px 0 0; font-size: 12.5px; color: var(--nt-vinho); }
.nt-qtd input::-webkit-outer-spin-button, .nt-qtd input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* "Calcule o frete e o prazo" */
.nt-frete { margin-top: 18px; padding: 18px 0 16px; border-top: 1px solid var(--nt-borda); border-bottom: 1px solid var(--nt-borda); }
.nt-frete__topo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.nt-frete__ic { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid #e3d9c8; border-radius: 50%; background: #fbf6ee; color: var(--nt-vinho); }
.nt-frete__ic .nt-ic { width: 20px; height: 20px; }
.nt-frete__topo p { margin: 0; display: flex; flex-direction: column; }
.nt-frete__topo strong { font-size: 15px; font-weight: 700; color: var(--nt-texto); }
.nt-frete__topo span { font-size: 12.5px; color: var(--nt-suave); }
.nt-frete__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.nt-frete__form input { height: 54px; padding: 0 18px !important; border: 1px solid var(--nt-borda) !important; border-radius: 0 !important; background: #fbf9f5 !important; font-size: 17px; letter-spacing: .06em; color: var(--nt-texto); box-shadow: none !important; }
.nt-frete__form input:focus { outline: 0; border-color: var(--nt-verde) !important; background: #fff !important; }
.nt-frete__form button { min-width: 128px; padding: 0 18px; border: 0; border-radius: 0; background: var(--nt-vinho); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.25; cursor: pointer; transition: background .2s; }
.nt-frete__form button:hover { background: var(--nt-vinho-2); }
.nt-frete__form button:disabled { opacity: .75; cursor: wait; }
.nt-frete__meta { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 12.5px; color: var(--nt-suave); }
.nt-frete__meta a { color: var(--nt-vinho); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.nt-frete__res { margin-top: 14px; }
.nt-frete__cidade { margin: 0 0 8px; font-size: 13.5px; color: var(--nt-suave); }
.nt-frete__cidade strong { color: var(--nt-texto); }
.nt-frete__res ul { margin: 0; padding: 0; list-style: none; border: 1px solid var(--nt-borda-2); border-radius: 6px; background: #fff; }
.nt-frete__res li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-top: 1px solid var(--nt-borda-2); }
.nt-frete__res li:first-child { border-top: 0; }
.nt-frete__res li.is-gratis { background: #f1f5f0; }
.nt-frete__op, .nt-frete__val { display: flex; flex-direction: column; font-size: 14px; }
.nt-frete__val { text-align: right; }
.nt-frete__op b, .nt-frete__val b { color: var(--nt-texto); font-weight: 700; }
.nt-frete__res li.is-gratis .nt-frete__val b { color: var(--nt-verde); }
.nt-frete__op small, .nt-frete__val small { font-size: 12.5px; color: var(--nt-suave); }
.nt-frete__obs { margin: 8px 0 0; font-size: 12px; color: #7a7d74; }
.nt-frete__erro { margin: 0; font-size: 13.5px; color: var(--nt-vinho); font-weight: 600; }
/* formas de pagamento numa linha so */
body.ubm-natal .payment-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 16px 0 0; padding: 14px 0; border: 0; border-top: 1px solid var(--nt-borda); border-radius: 0; background: none; text-align: left; }
body.ubm-natal .payment-badges__title { position: static; transform: none; margin: 0; padding: 0; background: none; }
body.ubm-natal .payment-list2 { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; line-height: 1; }
body.ubm-natal .payment-list2 .cartoes { width: 34px !important; margin: 0 !important; }
.nt-preco-extra { margin: 4px 0 22px; }
body.ubm-natal .nt-configure { margin: 0 0 16px; padding-top: 18px; border-top: 1px solid var(--nt-borda); font-family: var(--nt-serif) !important; font-size: 23px; font-weight: 400; color: var(--nt-verde-txt); }
body.ubm-natal .variant-picker { margin-bottom: 18px; }
body.ubm-natal .variant-picker__label { margin: 0 0 9px; font-size: 14px; color: var(--nt-suave); }
body.ubm-natal .variant-picker__label strong { color: var(--nt-texto); font-weight: 700; }
body.ubm-natal .variant-picker__options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.ubm-natal .variant-swatch--text { display: flex; align-items: center; justify-content: center; min-height: 48px; margin: 0; padding: 8px 10px; border: 1px solid var(--nt-borda); border-radius: 4px; background: #fff; color: var(--nt-texto); font-size: 14px; font-weight: 500; line-height: 1.25; text-align: center; transition: border-color .15s, background .15s; }
body.ubm-natal .variant-swatch--text:hover { border-color: var(--nt-verde); }
body.ubm-natal .variant-swatch.is-selected { border-color: var(--nt-verde) !important; box-shadow: inset 0 0 0 1px var(--nt-verde); background: #eef3ef; color: var(--nt-verde-2); font-weight: 600; }
body.ubm-natal .variant-swatch--image { border-radius: 4px; border-color: var(--nt-borda); }
/* combinacao que nao existe com as outras escolhas: o natal.js troca as outras opcoes sozinho ao clicar -> so fica mais clara */
body.ubm-natal .variant-swatch.is-unavailable { opacity: 1; cursor: pointer; color: #9a9c93; text-decoration: line-through; }
body.ubm-natal .variant-swatch.is-unavailable::after { display: none !important; }
body.ubm-natal .nt-dica { margin: 8px 0 0; font-size: 12.5px; color: #77796f; }
body.ubm-natal .btn--add-to-cart { min-height: 56px; border-radius: 4px !important; background: var(--nt-verde) !important; border: 0 !important; color: #fff !important; font-family: var(--nt-sans) !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: .01em; text-transform: none !important; box-shadow: none !important; transition: background .2s; }
body.ubm-natal .btn--add-to-cart:hover { background: var(--nt-verde-2) !important; }
body.ubm-natal .fretefundo { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--nt-borda); border-radius: 6px; background: #fff; }
body.ubm-natal .fretefundo p, body.ubm-natal .fretefundo span, body.ubm-natal .fretefundo b { font-size: 14px; line-height: 1.45; }
body.ubm-natal .fretefundo b[style] { color: var(--nt-verde) !important; }
.nt-prazo-natal { display: flex; gap: 10px; align-items: center; margin: 10px 0 0; padding: 12px 16px; border-radius: 6px; background: #f6efe0; color: #5a4624; font-size: 14px; line-height: 1.4; }
.nt-prazo-natal .nt-ic { color: var(--nt-ouro); }
.nt-prazo-natal strong { color: var(--nt-vinho); }
body.ubm-natal .offer-box { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--nt-borda); border-radius: 6px; background: #fff; }
body.ubm-natal .offer-box__title { font-family: var(--nt-sans) !important; font-size: 15px; font-weight: 700; color: var(--nt-texto); }
body.ubm-natal .offer-box__media { fill: var(--nt-verde); }
body.ubm-natal .payment-badges__title span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nt-suave); }
.nt-confia { margin-top: 18px; padding: 18px 18px 6px; border: 1px solid #e6dcc7; border-radius: 6px; background: #f8f3e9; }
.nt-confia__titulo { margin: 0 0 12px; font-size: 15px; font-weight: 700; color: var(--nt-texto); }
.nt-confia ul { margin: 0; padding: 0; list-style: none; }
.nt-confia li { display: flex; gap: 12px; margin: 0 0 12px; }
.nt-confia li .nt-ic { color: var(--nt-verde); }
.nt-confia li p { margin: 0; display: flex; flex-direction: column; font-size: 13.5px; line-height: 1.45; color: var(--nt-suave); }
.nt-confia li strong { color: var(--nt-verde-txt); font-size: 14px; }

/* ---------- "Os detalhes fazem a diferenca" ---------- */
.nt-detalhes { margin: 72px 0 24px; color: #29372f; scroll-margin-top: 150px; }
.nt-detalhes [hidden] { display: none !important; }
.nt-detalhes__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: 24px; }
body.ubm-natal .nt-detalhes__topo h2 { margin: 0; font-family: var(--nt-serif) !important; font-weight: 400; font-size: clamp(30px, 2.8vw, 46px); line-height: 1.08; letter-spacing: -.02em; color: var(--nt-verde-txt); }
.nt-detalhes__conf { max-width: 360px; margin: 0; font-size: 13px; line-height: 1.55; color: var(--nt-suave); }
.nt-detalhes__conf strong { display: block; font-weight: 700; color: #2e4d3e; }
.nt-abas { display: flex; gap: 34px; border-bottom: 1px solid #d8ddd5; margin-bottom: 28px; overflow-x: auto; scrollbar-width: none; }
.nt-abas button { flex: 0 0 auto; min-height: 54px; padding: 14px 0; border: 0; border-bottom: 3px solid transparent; background: none; color: #5b625c; font-size: 15.5px; cursor: pointer; }
.nt-abas button.is-ativa { border-color: var(--nt-verde); color: var(--nt-verde-txt); font-weight: 700; }
.nt-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nt-card { min-width: 0; overflow: hidden; border: 1px solid #dee2db; border-radius: 8px; background: #fff; }
.nt-card__foto { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1.8; background: #f2f1ec; overflow: hidden; }
.nt-card__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nt-card__foto--medida { padding: 10px 52px 26px; background: #f1f0ec; }
.nt-card__foto--medida img { object-fit: contain; mix-blend-mode: multiply; }
.nt-medida-alt { position: absolute; right: 16px; top: 16%; bottom: 24%; display: flex; align-items: center; padding-right: 9px; border-right: 1px solid var(--nt-verde); font-size: 13px; font-weight: 700; color: var(--nt-verde-txt); }
.nt-medida-alt::before, .nt-medida-alt::after { content: ""; position: absolute; right: -4px; width: 7px; border-top: 1px solid var(--nt-verde); }
.nt-medida-alt::before { top: 0; } .nt-medida-alt::after { bottom: 0; }
.nt-medida-lar { position: absolute; bottom: 6px; left: 50%; transform: translateX(-50%); font-size: 13px; white-space: nowrap; color: var(--nt-verde-txt); }
.nt-card__corpo { padding: 22px 24px; }
body.ubm-natal .nt-card h3 { margin: 0 0 14px; font-family: var(--nt-sans) !important; font-size: 19px; font-weight: 600; line-height: 1.2; color: var(--nt-verde-txt); }
.nt-card dl { margin: 0; }
.nt-card dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid #eff0eb; font-size: 14px; line-height: 1.4; }
.nt-card dt { color: #646b64; }
.nt-card dd { margin: 0; text-align: right; font-weight: 700; color: var(--nt-texto); max-width: 62%; }
.nt-card p { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: #525d54; }
.nt-card small { display: block; margin-top: 12px; font-size: 12.5px; line-height: 1.5; color: #6a7069; }
.nt-card--mini { display: flex; align-items: flex-start; }
.nt-card--mini > .nt-ic { width: 28px; height: 28px; margin: 22px 14px 0 22px; color: #426650; stroke-width: 1.3; }
.nt-card--mini .nt-card__corpo { flex: 1; padding-left: 0; }
.nt-check { margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.6; color: #525d54; }
.nt-check li { position: relative; margin-bottom: 5px; padding-left: 20px; }
.nt-check li::before { content: "\2713"; position: absolute; left: 0; color: var(--nt-verde); font-weight: 700; }
.nt-nota { margin: 18px 0 0; font-size: 12.5px; line-height: 1.55; color: #6a7069; }
body.ubm-natal .nt-texto { max-width: 900px; font-size: 16px; line-height: 1.75; color: #3a3f39; }
body.ubm-natal .nt-texto :is(h2, h3) { font-family: var(--nt-serif) !important; font-weight: 500; color: var(--nt-verde-txt); }
body.ubm-natal .nt-texto img { max-width: 100%; height: auto; }
.nt-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.nt-passos li { padding: 26px; border: 1px solid #dee2db; border-radius: 8px; background: #f4f5f0; }
.nt-passos li > span { display: inline-flex; font-size: 13px; font-weight: 700; color: #596d5a; }
body.ubm-natal .nt-passos h3 { margin: 14px 0 10px; font-family: var(--nt-serif) !important; font-weight: 500; font-size: 21px; color: var(--nt-verde-txt); }
.nt-passos p { margin: 0; font-size: 15px; line-height: 1.7; color: #525d54; }
.nt-faq { max-width: 1000px; }
.nt-faq details { border-bottom: 1px solid #dee2db; }
.nt-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 18px 0; cursor: pointer; list-style: none; font-size: 16px; font-weight: 600; color: var(--nt-verde-txt); }
.nt-faq summary::-webkit-details-marker { display: none; }
.nt-faq summary .nt-ic { width: 20px; height: 20px; transition: transform .2s; }
.nt-faq details[open] summary .nt-ic { transform: rotate(45deg); }
.nt-faq p { margin: 0; padding: 0 30px 22px 0; font-size: 15px; line-height: 1.7; color: #525d54; }
@media (max-width: 989px) {
  .nt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-detalhes__topo { flex-direction: column; align-items: flex-start; gap: 14px; }
  .nt-passos { grid-template-columns: 1fr; }
}
@media (max-width: 749px) {
  .nt-detalhes { margin-top: 44px; }
  body.ubm-natal .nt-detalhes__topo h2 { font-size: 30px; }
  .nt-abas { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; overflow: visible; margin-bottom: 20px; }
  .nt-abas button { text-align: left; min-height: 48px; font-size: 14.5px; }
  .nt-cards { grid-template-columns: 1fr; gap: 14px; }
  .nt-card__foto { aspect-ratio: 1.9; }
  .nt-card__corpo { padding: 20px; }
  .nt-passos li { padding: 22px; }
  body.ubm-natal .variant-picker__options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ubm-natal .product-details__price-row .price--large { font-size: 30px; }
}

/* ---------- avaliacoes ---------- */
/* 28/10/2026: produto de Natal SEM a secao de avaliacoes (Michael: "deixe sem o campo de avaliacao, depois eu faco") */
body.ubm-natal.single-product #reviews, body.ubm-natal .single-product-page #reviews { display: none !important; }
body.ubm-natal #reviews { margin-top: 30px; padding-top: 40px !important; border-top: 1px solid var(--nt-borda); }
body.ubm-natal #reviews .rv-head__title { font-family: var(--nt-serif) !important; font-weight: 400 !important; font-size: clamp(26px, 2.2vw, 34px) !important; color: var(--nt-verde-txt); }
body.ubm-natal #reviews :is(button, .btn, a[class*="btn"]) { border-radius: 4px !important; font-family: var(--nt-sans) !important; }
body.ubm-natal #reviews .rv-empty { padding: 26px 0 10px !important; min-height: 0 !important; }
body.ubm-natal #reviews .rv-empty p { font-family: var(--nt-sans); color: var(--nt-suave); }
body.ubm-natal .single-product-page > hr, body.ubm-natal .single-product-page .product-description-section + hr { display: none; }

/* ---------- colecao ---------- */
.nt-trilha { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 14px; font-size: 13px; color: var(--nt-suave); }
.nt-trilha a { color: var(--nt-suave); text-decoration: none; }
.nt-trilha a:hover { color: var(--nt-vinho); }
.nt-capa { display: grid; grid-template-columns: 1fr minmax(300px, .5fr); align-items: center; gap: 48px; margin-bottom: 22px; padding: 38px 44px; background: #e9eee9; }
body.ubm-natal .nt-capa__titulo { margin: 0 0 14px; font-family: var(--nt-serif) !important; font-weight: 400; font-size: clamp(32px, 3.4vw, 52px); line-height: 1.05; letter-spacing: -.02em; color: var(--nt-verde-txt); }
.nt-capa__desc { max-width: 620px; margin: 0 0 20px; font-size: 16px; line-height: 1.65; color: #3f4a42; }
.nt-capa__selos { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; }
.nt-capa__selos li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--nt-verde-txt); }
.nt-capa__selos .nt-ic { width: 20px; height: 20px; }
.nt-capa__foto { overflow: hidden; aspect-ratio: 5 / 4; background: #fff; }
.nt-capa__foto img { width: 100%; height: 100%; object-fit: contain; }
.nt-atalhos { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.nt-atalhos a { padding: 8px 16px; border: 1px solid var(--nt-borda); border-radius: 99px; background: #fff; color: var(--nt-texto); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: border-color .15s; }
.nt-atalhos a:hover { border-color: var(--nt-verde); }
.nt-atalhos a.is-atual { border-color: var(--nt-verde); background: var(--nt-verde); color: #fff; }
body.ubm-natal .shop-page__header { display: none; }
body.ubm-natal .shop-toolbar { padding: 0 0 18px; border-bottom: 1px solid var(--nt-borda); margin-bottom: 26px; }
body.ubm-natal .shop-toolbar select { border: 1px solid var(--nt-borda); border-radius: 4px; background-color: #fff; font-size: 14px; color: var(--nt-texto); }
body.ubm-natal .shop-toolbar__count, body.ubm-natal .woocommerce-result-count { font-size: 13px; color: var(--nt-suave); }
body.ubm-natal .shop-page { padding-top: 0; }
body.ubm-natal .product-grid--shop { gap: 34px 20px; }
body.ubm-natal .product-card { background: transparent; border: 0; border-radius: 0; overflow: visible; display: flex; flex-direction: column; }
body.ubm-natal .product-card:hover { transform: none; box-shadow: none; }
body.ubm-natal .product-card__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; }
body.ubm-natal .product-card__rating { display: none; }
body.ubm-natal .product-card__media { border-radius: 0; background: #f0ece4; aspect-ratio: 1 / 1; }
body.ubm-natal .product-card__media img { object-fit: contain; mix-blend-mode: multiply; }
body.ubm-natal .product-card__badge-sale { top: 10px; left: 10px; right: auto; padding: 4px 8px; border-radius: 3px; background: var(--nt-vinho); color: #fff; font-size: 12px; font-weight: 700; }
body.ubm-natal .product-card__badge-sale::before { content: "-"; }
body.ubm-natal .product-card__title-wrap { padding: 14px 2px 0; text-align: left; }
body.ubm-natal .product-card__title { font-family: var(--nt-sans) !important; font-size: 15px; font-weight: 500; line-height: 1.4; min-height: 2.8em; text-transform: none; color: var(--nt-texto); text-align: left; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.ubm-natal .product-card__price-wrap { display: flex; justify-content: flex-start; align-items: baseline; gap: 2px 8px; padding: 6px 2px 0; flex-wrap: wrap; text-align: left; line-height: 1.25; }
body.ubm-natal .product-card__price { color: var(--nt-vinho); font-size: 18px; font-weight: 700; }
body.ubm-natal .product-card__compare-at-price { color: #8a8c84; font-size: 13px; }
.nt-apartir { display: block; width: 100%; font-size: 12px; color: var(--nt-suave); }
body.ubm-natal .badge-frete { justify-content: flex-start; padding: 5px 2px 0; margin-top: 0; border: 0 !important; background: none !important; }
body.ubm-natal .badge-frete__text { color: var(--nt-verde); font-size: 13px; font-weight: 600; border: 0 !important; padding: 0 !important; background: none !important; }
body.ubm-natal .badge-frete__icon-full { display: none; }
body.ubm-natal .shop-pagination :is(a, span) { border-radius: 4px; }
body.ubm-natal .shop-pagination .current { background: var(--nt-verde); color: #fff; border-color: var(--nt-verde); }
@media (max-width: 899px) {
  .nt-capa { grid-template-columns: 1fr; gap: 0; padding: 26px 20px; margin: 0 -16px 16px; }
  .nt-capa__foto { display: none; }
  body.ubm-natal .nt-capa__titulo { font-size: 34px; }
  .nt-capa__desc { font-size: 15px; margin-bottom: 16px; }
  .nt-capa__selos { gap: 8px 16px; }
  .nt-capa__selos li { font-size: 13px; }
  .nt-atalhos { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 20px; padding: 0 16px; scrollbar-width: none; }
  .nt-atalhos::-webkit-scrollbar { display: none; }
  body.ubm-natal .product-grid--shop { gap: 26px 12px; }
  body.ubm-natal .shop-toolbar__right { display: none; }
  body.ubm-natal .shop-toolbar__left, body.ubm-natal .shop-toolbar select { width: 100%; }
  body.ubm-natal .product-card__title { font-size: 14px; }
  body.ubm-natal .product-card__price { font-size: 16px; }
}

/* ---------- chat (Beatriz) nas cores do Natal: pilula "Especialistas em Natal" + balaozinho ---------- */
body.ubm-natal .wcb { --wcb-c: #315744; }
body.ubm-natal .wcb-av { background: #f3dfa6; color: var(--nt-vinho); }
body.ubm-natal .wcb-fab.nt-fab { width: auto; height: 54px; gap: 10px; display: inline-flex; align-items: center; padding: 0 18px 0 7px; border-radius: 99px; background: var(--nt-verde); box-shadow: 0 8px 24px rgba(23, 53, 42, .32); }
body.ubm-natal .wcb-fab.nt-fab > svg { display: none; }
.nt-fab__ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--nt-vinho); }
.nt-fab__ic svg { width: 24px; height: 24px; }
.nt-fab__txt { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; text-align: left; }
.nt-fab__txt small { font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #f3dfa6; }
.nt-fab__txt b { font-size: 14.5px; font-weight: 700; color: #fff; }
body.ubm-natal .wcb-fab.nt-fab .wcb-fab-dot { top: 4px; right: auto; left: 37px; }
body.ubm-natal .wcb-tz.nt-tz { bottom: 66px; max-width: 250px; border-radius: 14px 14px 4px 14px; font-size: 14px; color: var(--nt-texto); border: 1px solid #eadfcb; }
body.ubm-natal .wcb-tz.nt-tz b { color: var(--nt-verde-txt); }
@media (max-width: 899px) {
  body.ubm-natal .wcb-fab.nt-fab { height: 48px; padding: 0 14px 0 5px; gap: 8px; }
  .nt-fab__ic { width: 38px; height: 38px; }
  .nt-fab__txt b { font-size: 13.5px; }
  body.ubm-natal.nt-barra-on .wcb { bottom: 86px; }
  /* botao de compra na tela: a pilula encolhe pro icone (nao cobre o "Adicionar ao carrinho") */
  body.ubm-natal.nt-atc-visivel .wcb-fab.nt-fab { padding: 0 5px; }
  body.ubm-natal.nt-atc-visivel .nt-fab__txt, body.ubm-natal.nt-atc-visivel .wcb-tz.nt-tz { display: none; }
}

/* ---------- barra fixa de compra (celular) ---------- */
.nt-barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99980; display: none; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -6px 20px rgba(0, 0, 0, .12); transform: translateY(110%); transition: transform .25s ease; }
.nt-barra.is-on { transform: none; }
.nt-barra__info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.nt-barra__info b { font-size: 19px; font-weight: 700; color: var(--nt-vinho); line-height: 1.15; }
.nt-barra__info small { overflow: hidden; font-size: 12px; color: var(--nt-suave); white-space: nowrap; text-overflow: ellipsis; }
.nt-barra button { flex: 0 0 auto; height: 48px; padding: 0 22px; border: 0; border-radius: 4px; background: var(--nt-verde); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
@media (max-width: 899px) { .nt-barra { display: flex; } body.ubm-natal.nt-barra-on { padding-bottom: 72px; } }

/* ---------- "Qual altura cabe na minha casa?" ---------- */
.nt-altura { margin: 12px 0 0; border: 1px solid #e6dcc7; border-radius: 6px; background: #f8f3e9; }
.nt-altura summary { display: flex; align-items: center; gap: 8px; padding: 12px 14px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 700; color: var(--nt-verde-txt); }
.nt-altura summary::-webkit-details-marker { display: none; }
.nt-altura summary::before { content: "\2195"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; color: var(--nt-vinho); font-size: 13px; }
.nt-altura summary::after { content: "+"; margin-left: auto; font-size: 18px; font-weight: 400; color: var(--nt-suave); }
.nt-altura[open] summary::after { content: "\2212"; }
.nt-altura__in { padding: 0 14px 14px; }
.nt-altura__in label { display: block; margin-bottom: 6px; font-size: 13px; color: var(--nt-suave); }
.nt-altura__f { display: flex; align-items: center; gap: 8px; }
.nt-altura__f input { width: 92px; height: 44px; padding: 0 12px !important; border: 1px solid var(--nt-borda) !important; border-radius: 4px !important; background: #fff !important; font-size: 16px; box-shadow: none !important; }
.nt-altura__f span { font-size: 14px; color: var(--nt-suave); }
.nt-altura__f button, .nt-altura__ok { height: 44px; margin-left: auto; padding: 0 14px; border: 0; border-radius: 4px; background: var(--nt-verde); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.nt-altura__res p { margin: 12px 0 8px; font-size: 14px; line-height: 1.5; color: var(--nt-texto); }
.nt-altura__res a { color: var(--nt-vinho); font-weight: 700; }
.nt-altura__ok { margin-left: 0; }

/* ---------- CHECKOUT (pagina propria do inc/custom-checkout.php; body = ubm-body ubm-natal ubm-natal-checkout) ---------- */
body.ubm-natal-checkout { background: var(--nt-creme) !important; color: var(--nt-texto) !important; }
body.ubm-natal-checkout, body.ubm-natal-checkout :is(p, span, div, label, a, button, input, select, strong, b, h1, h2, h3, h4, li, small) { font-family: var(--nt-sans) !important; }
body.ubm-natal-checkout :is(.ubm-pix-code-input, #ubm-pix-code) { font-family: 'Courier New', monospace !important; }
body.ubm-natal-checkout .ubm-header, body.ubm-natal-checkout .ubm-pix-header { background: #fff !important; border-bottom: 1px solid var(--nt-borda) !important; }
body.ubm-natal-checkout .ubm-logo { max-height: 30px; width: auto; }
/* 29/10: logo do Mundo do Natal no checkout e na tela do PIX (sem a touca, que e so da logo Urban) */
body.ubm-natal-checkout .ubm-logo-natal { display: inline-flex; align-items: center; line-height: 0; }
body.ubm-natal-checkout .ubm-logo-natal img { height: 46px !important; max-height: none !important; width: auto !important; }
@media (max-width: 600px) { body.ubm-natal-checkout .ubm-logo-natal img { height: 38px !important; } }
body.ubm-natal-checkout .ubm-header-secure, body.ubm-natal-checkout .ubm-header-secure * { color: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-notice { background: var(--nt-vinho) !important; padding: 11px 16px !important; font-size: 13px !important; letter-spacing: .01em; }
body.ubm-natal-checkout .ubm-notice strong { color: #f3dfa6 !important; }
body.ubm-natal-checkout :is(.ubm-card, .ubm-order-box, .ubm-order-mobile) { background: #fff !important; border-color: #e4ddd1 !important; border-radius: 8px !important; }
body.ubm-natal-checkout .ubm-card-title { font-family: var(--nt-serif) !important; font-weight: 500 !important; font-size: 19px !important; color: var(--nt-texto) !important; letter-spacing: 0; }
body.ubm-natal-checkout .ubm-card-num { background: var(--nt-vinho) !important; color: #fff !important; }
body.ubm-natal-checkout .ubm-step-item.active .ubm-step-circle { background: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-step-item.done .ubm-step-circle { background: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-step-item.active .ubm-step-label { color: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-input { border-color: var(--nt-borda) !important; border-radius: 6px !important; background: #fff !important; }
body.ubm-natal-checkout .ubm-input:focus { border-color: var(--nt-verde) !important; box-shadow: 0 0 0 3px rgba(49, 87, 68, .14) !important; }
body.ubm-natal-checkout .ubm-btn, body.ubm-natal-checkout .ubm-btn-copy-green, body.ubm-natal-checkout .ubm-exp-btn { background: var(--nt-verde) !important; border-color: var(--nt-verde) !important; color: #fff !important; border-radius: 6px !important; box-shadow: none !important; }
body.ubm-natal-checkout .ubm-btn:hover, body.ubm-natal-checkout .ubm-btn-copy-green:hover { background: var(--nt-verde-2) !important; }
body.ubm-natal-checkout .ubm-total-price, body.ubm-natal-checkout .ubm-order-toggle-price, body.ubm-natal-checkout .ubm-pix-amount-text, body.ubm-natal-checkout #ubm-pix-amount { color: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-order-row:last-child, body.ubm-natal-checkout .ubm-order-row:last-child * { color: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-social-proof { background: #f1f5f0 !important; border-color: #d3dfd4 !important; color: var(--nt-verde-txt) !important; animation: none !important; }
body.ubm-natal-checkout .ubm-social-proof :is(span, strong, svg) { color: var(--nt-verde-txt) !important; }
body.ubm-natal-checkout .ubm-social-proof-pulse { background: var(--nt-verde) !important; }
body.ubm-natal-checkout :is(.ubm-pix-option, .ubm-shipping-option.selected, .ubm-shipping-option.active, .ubm-shipping-option.is-selected) { border-color: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-pix-discount-corner { background: #f4e6e3 !important; color: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-trust-item svg { color: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-discount-banner { background: #f8f3e9 !important; border-color: #e6dcc7 !important; }
body.ubm-natal-checkout .ubm-pix-hero-title { font-family: var(--nt-serif) !important; font-weight: 500 !important; color: var(--nt-texto) !important; }
body.ubm-natal-checkout .ubm-jandare-footer { background: var(--nt-creme-2) !important; }
body.ubm-natal-checkout .ubm-step-line { background: var(--nt-borda) !important; }
body.ubm-natal-checkout .ubm-pay-recap-val { color: var(--nt-vinho) !important; }
body.ubm-natal-checkout .ubm-pix-option .ubm-pix-radio-svg rect { stroke: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-pix-option .ubm-pix-radio-svg circle { fill: var(--nt-verde) !important; }
body.ubm-natal-checkout .ubm-pix-sublabel { color: var(--nt-verde) !important; }

/* ---------- rodape ---------- */
body.ubm-natal .nt-rodape { margin-top: 70px; padding: 0 0 26px; background: #17352a; color: #e9e6dd; }
.nt-rodape__selos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 30px 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.nt-rodape__selos > div { display: flex; align-items: center; gap: 12px; }
.nt-rodape__selos .nt-ic { width: 28px; height: 28px; color: var(--nt-ouro); }
.nt-rodape__selos p { margin: 0; display: flex; flex-direction: column; font-size: 13px; line-height: 1.4; color: #cfd5cd; }
.nt-rodape__selos strong { color: #fff; font-size: 15px; }
.nt-rodape__in { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 46px; padding: 46px 0 40px; }
body.ubm-natal .nt-rodape__titulo { margin: 0 0 14px; font-family: var(--nt-serif) !important; font-size: 24px; color: #fff; }
.nt-rodape__marca p:not(.nt-rodape__titulo) { margin: 0; max-width: 380px; font-size: 14px; line-height: 1.7; color: #cfd5cd; }
.nt-rodape__h { margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.nt-rodape ul { margin: 0; padding: 0; list-style: none; }
.nt-rodape li { margin: 0 0 10px; font-size: 14px; color: #cfd5cd; }
.nt-rodape a { color: #cfd5cd; text-decoration: none; }
.nt-rodape a:hover { color: #fff; }
.nt-rodape__fim { display: flex; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: #aab3a9; }
.nt-rodape__fim p { margin: 0; }
@media (max-width: 899px) {
  .nt-rodape__selos { grid-template-columns: 1fr 1fr; gap: 18px 14px; padding: 24px 0; }
  .nt-rodape__selos .nt-ic { width: 24px; height: 24px; }
  .nt-rodape__selos strong { font-size: 14px; }
  .nt-rodape__in { grid-template-columns: 1fr 1fr; gap: 30px 20px; padding: 32px 0; }
  .nt-rodape__marca { grid-column: 1 / -1; }
  .nt-rodape__fim { flex-direction: column; }
}

/* =====================================================================================
   28/10/2026 — PRODUTO DE NATAL NO CELULAR IGUAL AO CONCORRENTE (prints do Michael)
   topo simples (☰ | logo | lupa, pedido, sacola), trilha pequena, galeria de arrastar com setas
   e miniaturas, titulo fino, barra fixa vinho e chat com painel "Como podemos ajudar?".
   ===================================================================================== */
.nt-hamb, .nt-acao--busca { display: none; }
.nt-hamb { width: 40px; height: 40px; margin-left: -8px; padding: 0; border: 0; background: none; color: var(--nt-texto); place-items: center; cursor: pointer; }
.nt-hamb .nt-ic, .nt-acao--busca .nt-ic { width: 24px; height: 24px; }
@media (max-width: 899px) {
  body.ubm-natal.single-product .nt-hamb { display: grid; }
  body.ubm-natal.single-product .nt-acao--busca { display: inline-flex; }
  body.ubm-natal.single-product .nt-header__in { grid-template-columns: 40px 1fr auto; grid-template-areas: "hamb logo acoes" "busca busca busca"; gap: 0 8px; padding: 10px 0; }
  body.ubm-natal.single-product .nt-hamb { grid-area: hamb; }
  body.ubm-natal.single-product .nt-header__logo { justify-content: center; gap: 8px; }
  body.ubm-natal.single-product .nt-header .site-header__logo img,
  body.ubm-natal.single-product .nt-header .site-header__logo .custom-logo { height: 34px !important; max-height: 34px !important; max-width: 118px !important; }
  body.ubm-natal.single-product .nt-marca { padding-left: 8px; }
  body.ubm-natal.single-product .nt-marca span { font-size: 19px; }
  body.ubm-natal.single-product .nt-marca small { font-size: 8px; }
  body.ubm-natal.single-product .nt-header .nt-logo-natal img { height: 40px !important; max-height: 40px !important; max-width: 140px !important; }
  body.ubm-natal.single-product .nt-header__acoes { gap: 14px; }
  body.ubm-natal.single-product .nt-acao--pedido .nt-ic, body.ubm-natal.single-product #cart-link .nt-ic { width: 24px; height: 24px; }
  body.ubm-natal.single-product .nt-busca { display: none; margin-top: 10px; }
  body.ubm-natal.single-product.nt-busca-on .nt-busca { display: flex; }
  body.ubm-natal.single-product .nt-menu { display: none; }
  /* trilha: Inicio / Arvores de Natal / produto (pequena, como no concorrente) */
  body.ubm-natal.single-product .single-product-page .breadcrumb { position: static; width: auto; height: auto; margin: 0; padding: 12px 0 12px; overflow: visible; clip: auto; white-space: normal; background: none; }
  body.ubm-natal.single-product .breadcrumb__list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.45; }
  body.ubm-natal.single-product .breadcrumb__item a { text-decoration: none; }
  body.ubm-natal.single-product .single-product-page { padding-top: 0; }
  body.ubm-natal.single-product .nt-sobre--produto { display: none; }
  /* titulo fino (o serifado do Fraunces ficava borrado no celular) */
  body.ubm-natal.single-product .product-details__title { margin-top: 18px; font-family: var(--nt-sans) !important; font-weight: 300 !important; font-size: 30px; line-height: 1.18; letter-spacing: -.015em; font-variation-settings: normal; }
}

/* ---------- galeria de arrastar (so no celular; montada pelo natal.js) ---------- */
@media (max-width: 899px) {
  body.ubm-natal .product-gallery__main.nt-gal-on { position: relative; margin: 0; aspect-ratio: auto; background: #f1eee8; overflow: hidden; }
  body.ubm-natal .product-gallery__main.nt-gal-on > img, body.ubm-natal .product-gallery__main.nt-gal-on > picture { display: none !important; }
  .nt-gal { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .nt-gal::-webkit-scrollbar { display: none; }
  .nt-gal__foto { flex: 0 0 100%; aspect-ratio: 1 / 1; display: grid; place-items: center; scroll-snap-align: center; scroll-snap-stop: always; }
  .nt-gal__foto img { width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
  .nt-gal__seta { position: absolute; top: 50%; z-index: 2; display: grid; width: 46px; height: 46px; margin-top: -23px; padding: 0; place-items: center; border: 1px solid rgba(0, 0, 0, .06); border-radius: 50%; background: #fff; color: var(--nt-texto); box-shadow: 0 2px 10px rgba(0, 0, 0, .1); cursor: pointer; }
  .nt-gal__seta svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .nt-gal__seta--ant { left: 14px; }
  .nt-gal__seta--prox { right: 14px; }
  body.ubm-natal.single-product .product-gallery__thumbs-wrapper { margin: 0; padding: 16px 0 4px; background: #faf8f4; border-top: 1px solid var(--nt-borda-2); }
  body.ubm-natal.single-product .product-gallery__thumbs-wrapper .gallery-arrow { display: none !important; }
  body.ubm-natal.single-product .product-gallery__thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
  body.ubm-natal.single-product .product-gallery__thumbs::-webkit-scrollbar { display: none; }
  body.ubm-natal.single-product .product-gallery__thumb { flex: 0 0 calc((100% - 40px) / 5); aspect-ratio: 1 / 1; padding: 0; border: 1px solid var(--nt-borda) !important; border-radius: 0 !important; box-shadow: none !important; background: #fff; opacity: .9; }
  body.ubm-natal.single-product .product-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
  body.ubm-natal.single-product .product-gallery__thumb.is-active { border: 2px solid var(--nt-vinho) !important; opacity: 1; }
}

/* ---------- barra fixa de compra (vinho, como no concorrente) ---------- */
.nt-barra { padding-top: 12px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
.nt-barra__info small { order: 0; font-size: 12px; color: var(--nt-suave); white-space: nowrap; overflow: visible; }
.nt-barra__info b { order: 1; font-size: 22px; color: var(--nt-verde-txt); letter-spacing: -.01em; }
.nt-barra button { height: 54px; padding: 0 18px; border-radius: 0; background: var(--nt-vinho); font-size: 15.5px; }
.nt-barra button:active { background: var(--nt-vinho-2); }

/* ---------- botao do chat: redondo vinho com a arvore e anel verde ---------- */
body.ubm-natal .wcb-fab.nt-fab { width: 64px; height: 64px; padding: 0; gap: 0; border-radius: 50%; border: 4px solid var(--nt-verde); background: var(--nt-vinho); box-shadow: 0 8px 24px rgba(23, 53, 42, .35); display: grid; place-items: center; }
body.ubm-natal .wcb-fab.nt-fab .nt-fab__ic { width: auto; height: auto; background: none; }
body.ubm-natal .wcb-fab.nt-fab .nt-fab__ic svg { width: 30px; height: 30px; }
body.ubm-natal .wcb-fab.nt-fab .wcb-fab-dot { top: auto; bottom: 4px; right: 3px; left: auto; width: 12px; height: 12px; border: 2px solid #fff; background: #3fbf6f; }
body.ubm-natal .wcb-fab.nt-fab .nt-fab__txt { display: none; }
@media (max-width: 899px) {
  body.ubm-natal .wcb-fab.nt-fab { width: 60px; height: 60px; padding: 0; }
  body.ubm-natal.nt-atc-visivel .wcb-fab.nt-fab { padding: 0; }
  body.ubm-natal.nt-barra-on .wcb { bottom: 96px; }
}
html.nt-ajuda-on, html.nt-ajuda-on body { overflow: hidden; }

/* ---------- painel "Como podemos ajudar?" ---------- */
.nt-ajuda { position: fixed; inset: 0; z-index: 99995; display: flex; align-items: flex-end; justify-content: center; background: rgba(28, 24, 20, .42); opacity: 0; transition: opacity .22s ease; -webkit-tap-highlight-color: transparent; }
.nt-ajuda[hidden] { display: none; }
.nt-ajuda.is-on { opacity: 1; }
.nt-ajuda__caixa { display: flex; flex-direction: column; width: 100%; max-width: 480px; max-height: 92vh; max-height: 92dvh; overflow: hidden; border-radius: 22px 22px 0 0; background: #faf8f3; box-shadow: 0 -12px 40px rgba(0, 0, 0, .22); transform: translateY(40px); transition: transform .26s cubic-bezier(.2, .8, .2, 1); font-family: var(--nt-sans); }
.nt-ajuda.is-on .nt-ajuda__caixa { transform: none; }
@media (min-width: 900px) { .nt-ajuda { align-items: flex-end; justify-content: flex-end; padding: 0 24px 24px; } .nt-ajuda__caixa { width: 420px; border-radius: 22px; } }
.nt-ajuda__topo { display: flex; align-items: center; gap: 14px; padding: 18px 18px 18px 20px; background: #315744; color: #fff; }
.nt-ajuda__av { display: grid; flex: 0 0 54px; width: 54px; height: 54px; place-items: center; border: 2px solid rgba(255, 255, 255, .85); border-radius: 50%; background: var(--nt-vinho); }
.nt-ajuda__av svg { width: 28px; height: 28px; }
.nt-ajuda__quem { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.25; }
.nt-ajuda__quem small { font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #e9e2cf; }
.nt-ajuda__quem b { margin: 2px 0 3px; font-size: 18px; font-weight: 700; color: #fff; }
.nt-ajuda__quem span { display: flex; align-items: center; gap: 7px; font-size: 13.5px; color: #e8efe9; }
.nt-ajuda__quem i { width: 9px; height: 9px; border-radius: 50%; background: #3fbf6f; box-shadow: 0 0 0 2px rgba(63, 191, 111, .25); }
.nt-ajuda__x { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; background: none; color: #fff; cursor: pointer; }
.nt-ajuda__x svg, .nt-ajuda__cta svg, .nt-ajuda__lista svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nt-ajuda__corpo { flex: 1; overflow-y: auto; padding: 22px 22px 18px; overscroll-behavior: contain; }
.nt-ajuda__boas { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--nt-ouro); }
body.ubm-natal .nt-ajuda h2, .nt-ajuda h2 { margin: 0 0 8px; font-family: var(--nt-serif) !important; font-size: 32px; font-weight: 400; line-height: 1.12; letter-spacing: -.02em; color: #1f3a2d; }
.nt-ajuda__sub { margin: 0 0 18px; font-size: 15px; line-height: 1.5; color: var(--nt-suave); }
.nt-ajuda__prod { display: flex; align-items: center; gap: 16px; margin: 0 0 22px; padding: 14px; border: 1px solid var(--nt-borda); background: #fff; }
.nt-ajuda__prod img { flex: 0 0 76px; width: 76px; height: 92px; object-fit: cover; background: #f1eee8; }
.nt-ajuda__prod div { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.nt-ajuda__prod small { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #a8873f; }
.nt-ajuda__prod b { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--nt-texto); }
.nt-ajuda__conf { font-size: 13.5px; line-height: 1.4; color: var(--nt-suave); }
.nt-ajuda__conf:empty { display: none; }
.nt-ajuda__rot { margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--nt-borda); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #3d4a43; }
.nt-ajuda__lista { margin: 0 0 22px; padding: 0; list-style: none; }
.nt-ajuda__lista li { border-bottom: 1px solid var(--nt-borda); }
.nt-ajuda__lista button { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 72px; padding: 0 2px; border: 0; background: none; color: var(--nt-texto); text-align: left; cursor: pointer; font-family: var(--nt-sans); }
.nt-ajuda__lista button:active { background: #f3eee4; }
.nt-ajuda__n { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid #d9c79c; border-radius: 50%; font-size: 13px; font-weight: 700; color: #8a6d2c; }
.nt-ajuda__lista b { flex: 1; font-size: 16.5px; font-weight: 700; }
.nt-ajuda__lista svg { color: var(--nt-texto); }
.nt-ajuda__cta { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 62px; padding: 0 22px; border: 0; background: var(--nt-vinho); color: #fff; font-family: var(--nt-sans); font-size: 17px; font-weight: 700; cursor: pointer; }
.nt-ajuda__cta:active { background: var(--nt-vinho-2); }
.nt-ajuda__rodape { display: flex; align-items: center; gap: 14px; padding: 14px 22px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--nt-borda-2); background: #f3efe6; }
.nt-ajuda__rodape span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border: 1px solid #d9c79c; border-radius: 50%; color: #8a6d2c; }
.nt-ajuda__rodape svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nt-ajuda__rodape p { display: flex; flex-direction: column; margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--nt-suave); }
.nt-ajuda__rodape b { font-size: 14px; color: var(--nt-texto); }

/* ---------- gaveta do menu ☰ ---------- */
.nt-gaveta { position: fixed; inset: 0; z-index: 99996; background: rgba(28, 24, 20, .42); opacity: 0; transition: opacity .22s ease; }
.nt-gaveta[hidden] { display: none; }
.nt-gaveta.is-on { opacity: 1; }
.nt-gaveta__caixa { position: absolute; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; width: min(86vw, 360px); background: #fff; transform: translateX(-100%); transition: transform .24s ease; font-family: var(--nt-sans); }
.nt-gaveta.is-on .nt-gaveta__caixa { transform: none; }
.nt-gaveta__topo { display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 16px 22px; background: var(--nt-vinho); color: #fff; }
.nt-gaveta__topo b { font-family: var(--nt-serif); font-size: 22px; font-weight: 500; }
.nt-gaveta__topo button { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; background: none; color: #fff; }
.nt-gaveta__topo svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.nt-gaveta ul { flex: 1; margin: 0; padding: 6px 0; overflow-y: auto; list-style: none; }
.nt-gaveta li a { display: block; padding: 16px 22px; border-bottom: 1px solid var(--nt-borda-2); font-size: 16px; font-weight: 600; color: var(--nt-texto); text-decoration: none; }
.nt-gaveta li a.is-atual { color: var(--nt-vinho); }
.nt-gaveta__pedido { display: block; margin: 0; padding: 18px 22px calc(18px + env(safe-area-inset-bottom)); background: #f3efe6; font-size: 15px; font-weight: 700; color: var(--nt-verde-txt); text-decoration: none; }

/* 28/10: titulo do produto de Natal em fonte fina tambem no computador (o Fraunces ficava borrado) */
body.ubm-natal.single-product .product-details__title { font-family: var(--nt-sans) !important; font-weight: 300 !important; letter-spacing: -.015em; font-variation-settings: normal; }
