/* ==========================================================================
   overrides.css — fusao dos 10 ficheiros de ajustes/patches que existiam
   antes da Tarefa 3 de limpeza de estrutura (redesign.css, polish-v2..v6,
   cart-final-fix, final-fixes, cart-backdrop-final, categories-redesign).

   Mantidos aqui, CONCATENADOS PELA MESMA ORDEM EXATA em que eram carregados
   antes (ver secoes abaixo), e carregados por ultimo (depois de pages.css)
   em todas as paginas. Isto preserva byte a byte o comportamento da cascata
   original: qualquer regra que ganhasse antes continua a ganhar agora, sem
   termos de julgar manualmente "qual e a versao final efetiva" propriedade
   a propriedade (exercicio que se revelou propenso a erros subtis quando
   duas classes diferentes aplicadas ao mesmo elemento colidiam numa mesma
   propriedade). Fica como trabalho futuro fundir isto com os ficheiros de
   base caso se queira menos ficheiros — feito assim para garantir zero
   mudanca visual, que era a regra inegociavel desta tarefa.
   ========================================================================== */

/* ---------------------------------------------------------------------
   origem: redesign.css
   --------------------------------------------------------------------- */
/* Grão de Mostarda — visual redesign v2
   Mantém a estrutura/layout existente. Só altera linguagem visual. */
/* (fontes DM Sans/Manrope: declaradas com @font-face em tokens.css) */

body{font-family:var(--font-body);background:var(--surface-page);color:var(--ink-900);font-size:16px;line-height:1.65}
body::selection{background:var(--gold-300);color:var(--leather-950)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;color:var(--ink-900)}
h1{line-height:.98} h2{line-height:1.02} h3{line-height:1.12}

/* Pequena assinatura editorial */
.eyebrow{font-family:var(--font-body);font-size:12px;color:var(--gold-800);text-transform:uppercase}

/* Navbar: não muda estrutura, apenas acabamento */
.site-header{background:rgba(255,253,248,.94);border-bottom:1px solid var(--line-warm);box-shadow:0 5px 22px rgba(43,24,16,.04);backdrop-filter:blur(18px) saturate(1.15)}
.header-brand__wordmark strong{font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;color:var(--leather-900)}
.header-brand__wordmark span{font-family:var(--font-body);color:var(--gold-700);letter-spacing:.17em}
.main-nav a{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.01em;border:1px solid transparent;transition:all .22s ease}
.main-nav a:hover{background:var(--cream-warm);color:var(--leather-900);border-color:var(--line-warm)}
.main-nav a.active{background:var(--leather-900);color:var(--cream-050);box-shadow:0 6px 16px rgba(43,24,16,.14)}
.header-action,.header-actions button{color:var(--leather-900)}

/* Hero */
.hero{background:radial-gradient(circle at 50% 0%,#5a3822 0%,var(--leather-900) 42%,var(--leather-950) 100%);border-bottom:1px solid rgba(230,197,131,.18)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:radial-gradient(rgba(255,255,255,.9) .7px,transparent .7px);background-size:9px 9px}
.hero__title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.06em}
.hero__title em{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em}
.hero__verse{font-family:Georgia,serif;color:var(--gold-200);font-size:1.02rem}
.hero__eyebrow{font-family:var(--font-body);font-size:12px;letter-spacing:.2em}
.hero__actions .btn{min-height:46px;padding:0 20px;border-radius:999px;font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.01em}
.hero__actions .btn--primary{background:var(--gold-500);color:var(--leather-950);box-shadow:0 12px 28px rgba(196,149,63,.22)}
.hero__actions .btn--primary:hover{background:var(--gold-400)}
.hero__logo img{filter:drop-shadow(0 32px 60px rgba(0,0,0,.38))}
.hero-trust-item{border-color:rgba(230,197,131,.2)}
.hero-trust-item__label{font-family:var(--font-body)}

/* Secções */
.section{padding-block:clamp(4.5rem,8vw,7rem)}
.section--cream{background:linear-gradient(180deg,var(--cream-warm),#f4e8d2)}
.section--bordered{border-top:1px solid var(--line-warm)}
.text-block h2,.section h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.055em}

/* Cards de categoria */
.category-card,.project-card,.info-card,.contact-card,.panel,.benefit{border-radius:var(--radius);border:1px solid var(--line-warm);box-shadow:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}

.category-card:hover,.project-card:hover,.info-card:hover,.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);border-color:rgba(171,125,52,.42)}

.category-card:hover .category-card__icon{transform:scale(1.06) rotate(-2deg)}

.category-card:hover .category-card__arrow{background:var(--leather-900);color:var(--cream-050);transform:translateX(3px)}

/* Cards de produto — foco principal */

.product-card__media{aspect-ratio:4/5}
/* .product-art = ilustrações SVG servidas em <img> (assets/art/, ver tools/gerar-paginas.js): ficam fora das regras de fotografia abaixo para manterem o comportamento que tinham como <svg> inline. */

.product-card__media::after{inset:auto 0 0;opacity:0;transition:opacity .3s}
.product-card:hover .product-card__media::after{opacity:1}

.product-card__cat,.product-card__meta{font-family:var(--font-body);font-size:12px;color:var(--ink-500);letter-spacing:.02em}

.product-card__fav{background:rgba(255,253,248,.92);border:1px solid rgba(228,213,188,.9);box-shadow:0 5px 15px rgba(43,24,16,.08);backdrop-filter:blur(8px)}
.product-card__fav:hover{background:var(--cream-warm)}
.product-card__badges .badge{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px}
.badge--gold{background:var(--gold-500);color:var(--leather-950)}
.badge--sale{background:#946256;color:#fff} /* rosa mais escuro: branco sobre --rose-400 dava 3,4:1 (AA pede 4,5:1) */
.badge--outline{background:rgba(255,253,248,.88);border-color:var(--line-warm);color:var(--leather-800)}

/* Botões: menos "template", mais marca */
.btn{font-family:var(--font-body);border-radius:999px;min-height:46px;box-shadow:none}
.btn--primary{background:var(--gold-500);color:var(--leather-950)}
.btn--primary:hover{background:var(--gold-400)}
.btn--dark{background:var(--leather-900);color:var(--cream-050)}
.btn--dark:hover{background:var(--leather-800)}
.btn--outline{border:1px solid var(--leather-800);color:var(--leather-900);background:transparent}
.btn--outline:hover{background:var(--leather-900);color:var(--cream-050)}
.btn--ghost:hover{background:var(--cream-warm)}
.btn--whatsapp{background:#5f7953;color:#fff}

/* Loja / filtros */
.shop-toolbar{border-bottom:1px solid var(--line-warm);padding-bottom:18px}
.filter-pill,.filter-row .filter{border:1px solid var(--line-warm);background:transparent;color:var(--ink-700);border-radius:999px;font-family:var(--font-body);font-weight:700;transition:.2s}
.filter-pill:hover,.filter-pill.active,.filter-row .filter:hover,.filter-row .filter.active{background:var(--leather-900);border-color:var(--leather-900);color:var(--cream-050)}
.shop-results-count{color:var(--ink-500)}

/* Page hero / breadcrumbs */
.page-hero{border-bottom:1px solid var(--line-warm)}
.page-hero h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.065em}
.breadcrumb{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500)}

/* Product detail */
.product-info__title{font-family:var(--font-display);font-weight:800;letter-spacing:-.06em}
.product-info__price{font-family:var(--font-display);font-weight:800;color:var(--leather-900)}
.product-gallery__main{border-radius:var(--radius);overflow:hidden;background:var(--cream-warm)}
.product-gallery__thumbs img:not(.product-art){border-radius:12px;border:1px solid var(--line-warm)}
.product-gallery__thumbs img:not(.product-art):hover{border-color:var(--gold-500);transform:translateY(-2px)}
.detail-tabs__nav{border-bottom:1px solid var(--line-warm)}
.detail-tabs__nav button{font-family:var(--font-body);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.detail-tabs__nav button[aria-selected="true"]{color:var(--gold-700);border-color:var(--gold-500)}
.qty-stepper{border:1px solid var(--line-warm);border-radius:999px;background:var(--surface-raised)}

/* Painéis, FAQ, formulários */
.panel,.info-card,.contact-card{background:rgba(255,254,250,.86);box-shadow:0 8px 28px rgba(43,24,16,.045)}
.panel--accent{background:linear-gradient(135deg,var(--leather-900),var(--leather-800));color:var(--cream-100);border-color:rgba(230,197,131,.18)}
.field input,.field textarea,.field select,.account-form input,.account-form textarea{border:1px solid var(--line-warm);background:#fffefa;border-radius:13px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus,.field select:focus,.account-form input:focus,.account-form textarea:focus{border-color:var(--gold-600);box-shadow:0 0 0 4px rgba(196,149,63,.12);outline:none}
.accordion-item{border-top:1px solid var(--line-warm)}
.accordion-item__trigger{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}

/* Quotes / editorial blocks */
.quote-block,.story-teaser__verse{border-left:2px solid var(--gold-500);background:var(--cream-warm);border-radius:0 16px 16px 0;color:var(--ink-700);font-family:Georgia,serif}
.cta-band{background:radial-gradient(circle at 75% 15%,#68432a 0%,var(--leather-900) 48%,var(--leather-950) 100%);border:1px solid rgba(230,197,131,.2);border-radius:28px;color:var(--cream-050);box-shadow:var(--shadow-card);overflow:hidden;position:relative}
.cta-band::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-100px;top:-110px;background:rgba(230,197,131,.08);pointer-events:none}
.cta-band h2{font-family:var(--font-display);letter-spacing:-.06em;color:var(--cream-050)}
.cta-band__verse{font-family:Georgia,serif;color:var(--gold-200)}

/* Benefícios / steps */
.benefit{border-color:transparent;transition:background .25s,transform .25s}
.benefit:hover{background:var(--cream-warm);transform:translateY(-3px)}
.benefit__icon{background:var(--cream-warm);color:var(--gold-700);border:1px solid var(--line-warm);border-radius:14px}
.benefit h3,.step h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em}

/* Project / inspiration cards */
.project-card__art,.look,.info-card{overflow:hidden}
.project-card__art{background:var(--leather-800)}
.project-card__art img,.project-card__art svg{transition:transform .55s ease}
.project-card:hover .project-card__art img,.project-card:hover .project-card__art svg{transform:scale(1.04)}
.project-card__body{background:var(--surface-raised);border:1px solid var(--line-warm);border-top:0}
.project-card__logo{color:var(--gold-700)}

/* Cart / modais */
.overlay{background:rgba(27,16,9,.55);backdrop-filter:blur(4px)}
.cart-drawer,.search-modal,.quick-view{background:var(--surface-page);border:1px solid var(--line-warm);box-shadow:0 30px 90px rgba(27,16,9,.25)}
.cart-drawer{border-radius:24px 0 0 24px}
.drawer-head{border-bottom-color:var(--line-warm)}
.search-box{border-bottom-color:var(--leather-900)}

.search-chips button{border-color:var(--line-warm)}

/* Footer */
.site-footer,footer{background:var(--leather-950);color:var(--cream-100);border-top:1px solid rgba(230,197,131,.12)}
footer a:hover{color:var(--gold-300)}
.footer-bottom{border-color:rgba(244,234,214,.13);color:#b8a58b}

/* Microdetalhes */

::placeholder{color:#a08f7b}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--cream-warm)}::-webkit-scrollbar-thumb{background:#c8b28e;border-radius:999px;border:3px solid var(--cream-warm)}

@media(max-width:700px){
  .hero__title{font-size:clamp(2.4rem,11vw,4rem)}
  .section{padding-block:4rem}
  .product-card__title{font-size:13px}
  .category-card__label{padding:14px}
  .cart-drawer{border-radius:20px 0 0 20px}
}

/* =========================================================
   Product cards — acabamento/fade final
   Mantém a navbar original intacta.
   ========================================================= */
.product-card{
  position:relative;
  isolation:isolate;
  border-radius:var(--radius);
}

.product-card__media{
  position:relative;
}

.product-card__media::after{
  content:"";
  position:absolute;
  z-index:1;
  left:0;
  right:0;
  bottom:0;
  height:50%;
  /* Realce de hover (revelado por .product-card:hover, ver acima): um leve
     escurecimento quente em vez do creme quase opaco que tapava o conteudo. */
  background:
    linear-gradient(
      to bottom,
      rgba(196,149,63,0) 55%,
      rgba(196,149,63,.10) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(27,16,9,0) 0%,
      rgba(27,16,9,.06) 45%,
      rgba(27,16,9,.20) 100%
    );
  pointer-events:none;
}

.product-card__media img,
.product-card__media svg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}

.product-card:hover .product-card__media img,
.product-card:hover .product-card__media svg{
  transform:scale(1.045);
  filter:saturate(1.035);
}

/* O conteúdo sobe ligeiramente para a transição não parecer uma
   imagem + bloco separados. */
.product-card__body{
  position:relative;
  z-index:2;
  margin-top:-42px;
  padding:58px 14px 8px;
}

.product-card__cat{
  margin-bottom:4px;
  font-weight:800;
  text-transform:uppercase;
  color:var(--gold-800);
}

.product-card__title{
  font-weight:800;
}

.product-card__meta{
  display:flex;
  align-items:baseline;
  gap:8px;
}

.product-card__price{
  color:var(--leather-900);
}

.product-card__price--old{
  font-size:12px;
  color:#9b8a76;
}

.product-card__footer{
  position:relative;
  z-index:3;
  padding:0 14px 14px;
}

.product-card__footer .btn{
  text-transform:uppercase;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}

.product-card__footer .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(36,26,18,.08);
}

.product-card__fav{
  z-index:5;
}

.product-card__badges{
  z-index:5;
}

@media (max-width:760px){
  .product-card__body{margin-top:-34px;padding:50px 12px 8px}
  .product-card__footer{padding:0 12px 12px}
}

/* =========================================================
   Footer editorial — imagem botânica + zona escura
   ========================================================= */
.site-footer{
  color:var(--cream-100);
}

.footer-visual__inner{
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.footer-visual__kicker{
  margin:0;
  color:var(--cream-050);
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  text-shadow:0 1px 12px rgba(0,0,0,.4);
}
.footer-visual__top{
  display:grid;
  place-items:center;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

/* Newsletter: uma única chamada à ação, sem formulário duplicado no rodapé. */
.footer-newsletter{
  border-bottom:1px solid rgba(244,234,214,.12);
  padding-block:46px;
}

/* Conteúdo principal: uma grelha limpa, uma mensagem por coluna. */

.footer-brand{align-items:flex-start;text-align:left;min-width:0}
.footer-logo-card{
  width:152px;
  max-width:none;
  padding:20px;
}
.footer-logo-card img{width:100%;height:auto}
.footer-brand__tagline{margin-top:20px;font-size:12px;letter-spacing:.18em;color:var(--gold-300)}
.footer-brand__desc{max-width:34ch;line-height:1.75;color:rgba(244,234,214,.72);font-size:13px}
.footer-brand .social-row{justify-content:flex-start;margin-top:22px}

.social-row a{border:1px solid rgba(244,234,214,.16)}
.social-row__link--whatsapp{background:rgba(107,123,94,.20)}
.social-row__link--instagram{background:rgba(185,123,107,.13)}
.social-row__link--mail{background:rgba(196,149,63,.16);color:var(--cream-050)}
.footer-col h4{font-size:12px;letter-spacing:.18em;color:var(--gold-300);margin-bottom:15px}
.footer-col ul{gap:10px}
.footer-col a,.footer-col p{font-size:13px;color:rgba(244,234,214,.72)}
.footer-col a{transition:color .18s ease,transform .18s ease}
.footer-col a:hover{transform:translateX(2px);color:var(--cream-050)}
.footer-contact-note{margin-top:18px;max-width:26ch;line-height:1.65;color:rgba(244,234,214,.52)!important}
.footer-bottom{padding-bottom:20px}
.footer-bottom__left p,.footer-bottom__right p{font-size:12px;color:rgba(244,234,214,.52)}

@media(max-width:1023px){
  
  .footer-brand{grid-column:1 / -1}
}
@media(max-width:767px){
  
  .footer-newsletter{padding-block:30px}
  
  
  .footer-cols{grid-template-columns:1fr;gap:34px;text-align:left}
  .footer-brand{grid-column:auto;align-items:flex-start;text-align:left}
  .footer-brand .social-row{justify-content:flex-start}
  .footer-col ul{align-items:flex-start}
  .footer-visual__kicker{font-size:12px;letter-spacing:.12em}
}

/* =========================================================
   Footer — composição contínua, inspirada na referência editorial
   ========================================================= */

.footer-visual{
  border-radius:0;
}

.footer-visual__kicker{
  font-size:12px;
  letter-spacing:.17em;
}
.footer-visual__top{
  border-radius:50%;
}

.newsletter-box{
  max-width:1180px;
}
.newsletter-box h3{
  font-weight:800;
}
.newsletter-box p{font-size:13px}
.footer-newsletter .newsletter-form{
  padding:5px;
  border:1px solid rgba(230,197,131,.18);
  border-radius:999px;
  background:rgba(14,9,5,.36);
}

.footer-newsletter .newsletter-form:focus-within{
  border-color:rgba(230,197,131,.55);
  box-shadow:0 0 0 4px rgba(196,149,63,.08), inset 0 1px 0 rgba(255,255,255,.035);
}
.footer-newsletter .newsletter-form .btn{
  border:1px solid rgba(230,197,131,.28);
  background:var(--gold-500);
  color:var(--leather-950);
  font-weight:800;
}

.footer-main{
  border-top:1px solid rgba(244,234,214,.07);
}

.footer-logo-card{
  aspect-ratio:1/1;
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
.social-row{margin-top:20px!important;gap:8px}
.social-row a{
  width:42px;height:42px;border-radius:13px;
  background:rgba(255,253,248,.035)!important;
  border-color:rgba(244,234,214,.12);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.social-row a:hover{
  transform:translateY(-2px);
  border-color:rgba(230,197,131,.42);
  background:rgba(196,149,63,.10)!important;
}
.footer-col h4{
  font-family:Manrope,system-ui,sans-serif;
  font-weight:800;
}
.footer-col a{display:inline-block}
.footer-bottom{
  padding-top:18px;
  border-top-color:rgba(244,234,214,.11);
}

@media(max-width:767px){
  
  .footer-newsletter{padding:34px 0 12px}
  .newsletter-box{display:block;border-radius:22px}
  .newsletter-box > .stack{margin-bottom:16px}
  .footer-newsletter .newsletter-form{max-width:none}
  .footer-newsletter .newsletter-form .btn{min-width:112px}
  
}

/* =========================================================
   Footer — composição única: imagem + newsletter + conteúdo
   Sem cortes visuais entre as zonas.
   ========================================================= */
.site-footer{
  position:relative;
  overflow:hidden;
  background:#1c1108;
  border-top:1px solid rgba(230,197,131,.10);
}

.footer-visual{
  isolation:isolate;
  min-height:360px;
  margin:0;
  display:flex;
  align-items:flex-end;
  position:relative;
  /* Fotografia do rodapé (Unsplash, licença Unsplash) alojada no próprio site:
     antes vinha de images.unsplash.com, o que enviava o IP do visitante a
     terceiros e é bloqueado pela Content-Security-Policy. */
  background:linear-gradient(180deg,
      rgba(28,17,8,.05) 0%,
      rgba(28,17,8,.10) 30%,
      rgba(28,17,8,.34) 55%,
      rgba(28,17,8,.78) 78%,
      #1c1108 100%),
    linear-gradient(90deg,
      rgba(20,12,7,.62) 0%,
      rgba(20,12,7,.08) 52%,
      rgba(20,12,7,.60) 100%),
    url('../assets/footer-visual.jpg') center 38% / cover no-repeat;
  background:linear-gradient(180deg,
      rgba(28,17,8,.05) 0%,
      rgba(28,17,8,.10) 30%,
      rgba(28,17,8,.34) 55%,
      rgba(28,17,8,.78) 78%,
      #1c1108 100%),
    linear-gradient(90deg,
      rgba(20,12,7,.62) 0%,
      rgba(20,12,7,.08) 52%,
      rgba(20,12,7,.60) 100%),
    image-set(url('../assets/footer-visual.avif') type('image/avif'), url('../assets/footer-visual.webp') type('image/webp'), url('../assets/footer-visual.jpg') type('image/jpeg')) center 38% / cover no-repeat;
}

.footer-visual::after{
  z-index:-1;
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 12% 20%, rgba(230,197,131,.18) 0 1px, transparent 1.6px) 0 0 / 26px 26px,
    linear-gradient(180deg, transparent 55%, rgba(28,17,8,.28) 74%, rgba(28,17,8,.70) 100%);
  opacity:.42;
}

.footer-visual__inner{
  position:relative;
  z-index:2;
  padding-bottom:24px;
}

.footer-newsletter{
  position:relative;
  z-index:4;
  margin-top:-54px;
  padding:0 0 54px;
  border:0;
  background:transparent;
}

.newsletter-box{
  width:min(1180px, calc(100% - 48px));
  box-sizing:border-box;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border:1px solid rgba(230,197,131,.23);
  border-radius:26px;
  padding:27px 30px;
  background:
    linear-gradient(135deg, rgba(43,24,16,.95), rgba(31,18,11,.92));
  box-shadow:
    0 24px 60px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(10px);
}

.newsletter-box h3{
  color:var(--cream-050)!important;
  margin:0;
  font-family:Manrope, sans-serif;
  font-size:clamp(1.18rem, 1.6vw, 1.45rem)!important;
  line-height:1.15;
  letter-spacing:-.025em;
}
.newsletter-box p{
  color:rgba(244,234,214,.70);
  margin:6px 0 0;
  max-width:48ch!important;
  line-height:1.65;
}

.footer-newsletter .newsletter-form{
  flex:0 1 470px;
  min-width:300px;
  display:flex;
  align-items:center;
  gap:8px;
}
.footer-newsletter .newsletter-form .field{
  min-width:0;
  flex:1 1 auto;
}
.footer-newsletter .newsletter-form input{
  outline:0;
  width:100%;
  height:52px;
  box-sizing:border-box;
  border:1px solid rgba(230,197,131,.28);
  border-radius:16px;
  background:#fffdf8;
  color:#241a12;
  padding:0 17px;
  font-size:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.footer-newsletter .newsletter-form input::placeholder{color:#9a8975}
.footer-newsletter .newsletter-form input:hover{border-color:rgba(196,149,63,.55)}
.footer-newsletter .newsletter-form input:focus{
  border-color:var(--gold-500);
  box-shadow:0 0 0 4px rgba(196,149,63,.14), 0 8px 22px rgba(0,0,0,.12);
  outline:none;
}
.footer-newsletter .newsletter-form .btn{
  height:52px;
  min-width:124px;
  border-radius:16px;
  padding-inline:22px;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.footer-newsletter .newsletter-form .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.footer-newsletter .newsletter-status{flex-basis:100%; margin-top:4px}

.footer-main{
  position:relative;
  z-index:2;
  background:transparent;
}
.footer-cols{align-items:start}

.footer-bottom{
  position:relative;
  z-index:2;
  background:transparent;
}

@media(max-width:767px){
  .footer-visual{min-height:270px}
  .footer-newsletter{margin-top:-34px; padding-bottom:34px}
  .newsletter-box{
    width:min(100% - 28px, 680px);
    padding:22px 18px;
    gap:18px;
    align-items:stretch;
  }
  .footer-newsletter .newsletter-form{min-width:0; width:100%; flex-basis:100%; flex-wrap:wrap}
  .footer-newsletter .newsletter-form .field{flex:1 1 100%}
  .footer-newsletter .newsletter-form .btn{width:100%}
}

/* =========================================================
   Footer — newsletter compacta no canto inferior direito
   ========================================================= */
.footer-main{
  padding-top:52px;
  padding-bottom:42px;
}
.footer-cols{
  grid-template-columns:1.55fr .82fr .82fr 1.15fr;
  gap:58px;
}
.footer-newsletter-mini{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(244,234,214,.10);
}
.footer-newsletter__title{
  margin-bottom:8px!important;
}
.footer-newsletter__copy{
  max-width:30ch;
  margin:0 0 14px;
  font-size:12px!important;
  line-height:1.55;
  color:rgba(244,234,214,.56)!important;
}
.footer-newsletter-mini .newsletter-pill-wrap{width:100%}
.footer-newsletter-mini .newsletter-form--pill{
  position:relative;
  display:block;
  width:100%;
  min-height:48px;
  padding:4px;
  border:1px solid rgba(230,197,131,.28);
  border-radius:999px;
  background:rgba(255,253,248,.035);
  box-sizing:border-box;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.footer-newsletter-mini .newsletter-form--pill:focus-within{
  border-color:rgba(230,197,131,.58);
  box-shadow:0 0 0 4px rgba(196,149,63,.08);
}
.footer-newsletter-mini .newsletter-form--pill .field{
  display:block;
  width:100%;
  min-width:0;
}
.footer-newsletter-mini .newsletter-form--pill input{
  width:100%;
  height:40px;
  padding:0 48px 0 13px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--cream-050);
  font-size:12px;
  box-shadow:none;
  box-sizing:border-box;
}
.footer-newsletter-mini .newsletter-form--pill input::placeholder{color:rgba(244,234,214,.50)}
.footer-newsletter-mini .btn-pill-submit{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:var(--gold-500);
  color:var(--leather-950);
  cursor:pointer;
}
.footer-newsletter-mini .btn-pill-submit svg{width:15px;height:15px}
.footer-newsletter-mini .btn-pill-submit:hover{transform:translateY(-50%) translateX(2px);box-shadow:0 6px 18px rgba(196,149,63,.20)}
.footer-newsletter-mini .newsletter-status{font-size:12px;line-height:1.4}

/* Só até 768px: sem o min-width, esta regra (mais abaixo no ficheiro) anulava
   a coluna única do telemóvel e o texto da marca ficava com ~1 letra de largura. */
@media(min-width:768px) and (max-width:1023px){
  .footer-cols{grid-template-columns:1.35fr .9fr .9fr 1fr;gap:36px}
}
@media(max-width:767px){
  /* repete a coluna única do telemóvel: a grelha de 4 colunas definida
     acima (sem media query) vinha depois da regra original e ganhava-lhe */
  .footer-cols{grid-template-columns:1fr;gap:34px}
  .footer-main{padding-top:36px;padding-bottom:36px}
  .footer-newsletter-mini{margin-top:24px}
}

/* Ajuste fino do footer: seta de topo alinhada ao extremo do newsletter. */
.footer-visual__inner{
  max-width:1180px;
}
.footer-visual__top{
  width:48px;
  height:48px;
  background:var(--gold-500);
  color:#2a1a06;
  border:1px solid rgba(230,197,131,.32);
  box-shadow:0 10px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
}
.footer-visual__top:hover{
  background:var(--gold-500);
  color:#2a1a06;
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(196,149,63,.26), inset 0 1px 0 rgba(255,255,255,.12);
}
@media(max-width:767px){
  .footer-visual__inner{max-width:none}
}

/* =========================================================
   FINAL POLISH — coerência visual global
   Regra: não tocar na navbar/header; melhorar hierarquia,
   espaçamento, estados e detalhes sem mudar a estrutura.
   ========================================================= */

html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--gold-300);color:var(--leather-950)}

/* Hierarquia de conteúdo */
.page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,#fbf4e8 0%,#fffdf8 58%,#f4ead6 100%);
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -45% auto;
  width:42%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(196,149,63,.12),transparent 68%);
  pointer-events:none;
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{max-width:18ch;text-wrap:balance}
.page-hero p{font-size:14px;line-height:1.75}

.section h2,.text-block h2{max-width:18ch;text-wrap:balance}
.section .lead,.section .intro,.section > .container > p:not(.eyebrow){text-wrap:pretty}

/* Inputs / selects / pesquisa */
input,select,textarea{font-family:var(--font-body)}
input:not([type=checkbox]):not([type=radio]),select,textarea{
  border-color:var(--line-warm);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease;
}
input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:rgba(171,125,52,.48)}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--gold-500);
  box-shadow:var(--gdm-focus);
}
.search-box{border-color:var(--line-warm);transition:border-color .18s,box-shadow .18s}

.shop-toolbar__sort select{min-height:44px;border-radius:14px;padding-inline:14px;background:var(--cream-050)}

/* Botões: sensação física sem exagero */
.btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);
  transform:translateX(-120%);transition:transform .65s ease;pointer-events:none;
}
.btn:hover::after{transform:translateX(120%)}
.btn:focus-visible,.filter-pill:focus-visible,a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--gdm-focus)}
.btn:active{transform:translateY(1px)}

/* Cards gerais */
.category-card,.project-card,.info-card,.contact-card,.panel,.benefit,.testi-card,.review-card{
  box-shadow:0 0 0 1px rgba(228,213,188,.35),var(--gdm-shadow-1);
}

.category-card__name,.project-card h3,.testi-card__quote,.review-card h3{text-wrap:balance}

/* Cards de produto — refinamento final */
.product-card{
  border:1px solid rgba(228,213,188,.92);
  transition:transform .3s var(--ease-out),box-shadow .3s ease,border-color .3s ease;
}
.product-card:hover{
  transform:translateY(-5px);
  border-color:rgba(196,149,63,.45);
  box-shadow:0 20px 48px rgba(43,24,16,.12);
}
.product-card__media{box-shadow:inset 0 0 0 1px rgba(228,213,188,.34)}
.product-card__media::before{
  content:"";
  position:absolute;z-index:2;inset:12px 12px auto auto;
  width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(244,234,214,.22);
  background:rgba(28,17,8,.12);
  opacity:0;transform:translateY(-4px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;
}
.product-card:hover .product-card__media::before{opacity:1;transform:none}
.product-card__body{padding-inline:16px}
.product-card__cat{font-family:var(--font-body);font-size:12px}
.product-card__title{font-family:var(--font-display);letter-spacing:-.018em}
.product-card__title a{transition:color .18s ease}
.product-card:hover .product-card__title a{color:var(--gold-800)}
.product-card__meta{margin-top:10px}
.product-card__price{font-size:15px}
.product-card__footer{padding-inline:16px}
.product-card__footer .btn{width:100%}
.product-card__badges .badge{box-shadow:0 5px 14px rgba(43,24,16,.10)}
.product-card__fav{transition:transform .2s var(--ease-out),background-color .2s ease,box-shadow .2s ease}
.product-card__fav:hover{transform:scale(1.06) rotate(-2deg);box-shadow:0 9px 20px rgba(43,24,16,.13)}

/* Produto individual */
.product-info__title{max-width:14ch;text-wrap:balance;font-size:clamp(2rem,4vw,3.3rem);line-height:1.02}
.product-info__price{font-size:1.55rem;letter-spacing:-.03em}
.product-gallery__main{box-shadow:0 0 0 1px rgba(228,213,188,.82),var(--gdm-shadow-1)}
.product-gallery__thumbs img:not(.product-art){transition:border-color .18s ease,transform .2s var(--ease-out),box-shadow .18s ease}
.product-gallery__thumbs img:not(.product-art):hover{box-shadow:0 8px 18px rgba(43,24,16,.10)}

/* FAQs / acordeões */
details{border:1px solid var(--line-warm);border-radius:16px;background:rgba(255,253,248,.68);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
details+details{margin-top:10px}
details:hover{border-color:rgba(196,149,63,.44);box-shadow:var(--gdm-shadow-1)}
details[open]{border-color:rgba(196,149,63,.55);box-shadow:0 10px 26px rgba(43,24,16,.06)}
details summary{font-family:var(--font-display);font-weight:800;letter-spacing:-.015em;padding:18px 20px;cursor:pointer}
details > *:not(summary){padding-inline:20px}

/* Testemunhos / reviews */
.testi-card,.review-card{background:linear-gradient(180deg,#fffefa 0%,#fbf5e9 100%)}
.testi-card__quote{font-family:Georgia,serif;line-height:1.55}
.review-card__head{margin-bottom:4px}

/* Contacto e painéis */
.contact-card,.panel,.benefit,.info-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,245,233,.92))}
.panel{box-shadow:0 0 0 1px rgba(228,213,188,.35),var(--gdm-shadow-1)}

/* Micro-textura em superfícies claras */
.section--cream::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:radial-gradient(rgba(122,84,32,.12) .55px,transparent .55px);
  background-size:14px 14px;
}
.section--cream{position:relative;isolation:isolate}
.section--cream > *{position:relative;z-index:1}

/* Separadores mais finos e editoriais */
.shop-toolbar,.footer-bottom{border-color:rgba(122,84,32,.16)}
hr{border:0;border-top:1px solid var(--line-warm);margin-block:28px}

/* Footer: pequenos acabamentos, sem mudar estrutura */
.footer-col h4,.footer-brand__tagline{font-family:var(--font-body);font-weight:800;letter-spacing:.16em}
.footer-col a{position:relative;width:max-content;max-width:100%}
.footer-col a::after,.footer-legal-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--gold-400);transition:right .22s ease
}
.footer-col a:hover::after,.footer-legal-links a:hover::after{right:0}
.footer-newsletter-mini .newsletter-form--pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.footer-newsletter-mini .newsletter-form--pill input{display:block;font-family:var(--font-body);letter-spacing:.01em}
.footer-newsletter-mini .btn-pill-submit{display:grid;place-items:center;transition:transform .2s var(--ease-out),box-shadow .2s ease,background-color .2s ease}
.footer-newsletter-mini .btn-pill-submit:hover{background:var(--gold-400)}
.footer-visual__top{transition:transform .22s var(--ease-out),box-shadow .22s ease,background-color .22s ease}

/* Navegação interna / breadcrumbs */
.breadcrumbs{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
.breadcrumbs a{color:var(--gold-800)}

/* Responsivo: não alterar composição, apenas aliviar densidade */
@media(max-width:900px){
  .section{padding-block:clamp(4rem,9vw,5.5rem)}
  .page-hero h1{font-size:clamp(2.2rem,7vw,3.5rem)}
  .product-info__title{font-size:clamp(2rem,7vw,3rem)}
}
@media(max-width:640px){
  .section{padding-block:3.75rem}
  .shop-toolbar{gap:12px}
  .filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}
  .filter-row::-webkit-scrollbar{display:none}
  .filter-pill{flex:0 0 auto}
  .product-card:hover{transform:translateY(-2px)}
  .product-card__body{padding-inline:14px}
  .product-card__footer{padding-inline:14px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* NAVBAR — mantém o hover original, mas torna a área interativa do link
   praticamente só o texto. O spotlight continua a poder ultrapassar
   visualmente o texto sem aumentar a hitbox. */
@media (min-width: 980px){
  .main-nav a{
    padding-inline: 0;
  }
  .main-nav a::before{
    pointer-events:none;
  }
  .main-nav a::after{
    pointer-events:none;
  }
}

/* ---------------------------------------------------------------------
   origem: polish-v2.css
   --------------------------------------------------------------------- */
/* Grão de Mostarda — editorial polish v2
   Visual-only layer. Navbar/header intentionally untouched. */

:root{
  --font-body:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Manrope","DM Sans",system-ui,sans-serif;
  --surface-page:#fffdf8;
  --surface-raised:#fffefa;
  --cream-warm:#f7efdf;
  --cream-deep:#efe1c8;
  --leather-950:#1b1009;
  --leather-900:#2b1810;
  --leather-800:#3a2216;
  --leather-700:#4d2e1c;
  --gold-800:#76511d;
  --gold-700:#93672a;
  --gold-600:#ab7d34;
  --gold-500:#c4953f;
  --gold-400:#d7ac5c;
  --gold-300:#e6c583;
  --sage-500:#68795c;
  --sage-300:#a9b899;
  --rose-400:#b97b6b;
  --ink-900:#251911;
  --ink-700:#4b3827;
  --ink-500:#796754;
  --line-warm:#e4d5bc;
  --line-dark:rgba(244,234,214,.16);
  --radius:22px;
  --radius-sm:14px;
  --shadow-soft:0 14px 40px rgba(43,24,16,.08);
  --shadow-card:0 18px 55px rgba(43,24,16,.12);
  --gdm-shadow-1:0 10px 30px rgba(43,24,16,.07);
  --gdm-shadow-2:0 22px 56px rgba(43,24,16,.11);
  --gdm-focus:0 0 0 3px rgba(196,149,63,.18);
  --gdm-ink:#241a12;
  --gdm-brown:#2b1810;
  --gdm-brown-2:#3a2216;
  --gdm-gold:#c4953f;
  --gdm-gold-soft:#e6c583;
  --gdm-cream:#fffdf8;
  --gdm-cream-2:#f7efdf;
  --gdm-line:rgba(122,84,32,.20);
  --gdm-line-strong:rgba(122,84,32,.34);
  --gdm-shadow:0 18px 44px rgba(43,24,16,.09);
}

/* =========================================================
   Editorial separators instead of generic benefit icons
   ========================================================= */
.benefit-row{position:relative;counter-reset:gdm-benefit}
.benefit{
  position:relative;
  counter-increment:gdm-benefit;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:8px 28px 6px;
}
.benefit:not(:first-child)::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:10px;
  width:1px;
  background:linear-gradient(to bottom,transparent,var(--gdm-line-strong) 18%,var(--gdm-line-strong) 82%,transparent);
}
.benefit__icon{display:none!important}
.benefit::after{
  content:counter(gdm-benefit, decimal-leading-zero);
  display:block;
  width:max-content;
  margin-bottom:20px;
  color:var(--gdm-gold);
  font:800 10px/1 var(--font-body, "DM Sans", sans-serif);
  letter-spacing:.18em;
}
.benefit h3{
  margin-top:0;
  font-family:var(--font-display, "Manrope", sans-serif);
  font-size:clamp(1rem,1.2vw,1.15rem);
  line-height:1.16;
  letter-spacing:-.025em;
}
.benefit p{max-width:31ch;color:var(--ink-600);line-height:1.65}
.benefit-row::after{
  content:"";
  position:absolute;
  left:0;right:0;top:-18px;
  height:1px;
  background:var(--gdm-line);
}

/* Hero trust: use thin separators, not icon bubbles */
.hero-trust-row{gap:0!important}
.hero-trust-item{
  position:relative;
  gap:9px!important;
  padding:0 18px;
}
.hero-trust-item:not(:first-child)::before{
  content:"";
  position:absolute;
  left:0;top:50%;
  width:1px;height:22px;
  transform:translateY(-50%);
  background:rgba(230,197,131,.30);
}
.hero-trust-item__icon{display:none!important}
.hero-trust-item__label{
  font-size:12px!important;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* =========================================================
   Shared editorial heading system
   ========================================================= */
.eyebrow{
  gap:10px!important;
  align-items:center;
  letter-spacing:.17em!important;
  font-weight:800!important;
}
.eyebrow::before{
  content:"";
  display:inline-block;
  width:24px;height:1px;
  background:currentColor;
  opacity:.72;
}
.eyebrow::after{
  content:"";
  display:inline-block;
  width:4px;height:4px;
  margin-left:-5px;
  background:currentColor;
  border-radius:50%;
}
.section h2,
.page-hero h1,
.hero__title{
  font-family:var(--font-display, "Manrope", sans-serif)!important;
  text-wrap:balance;
}
.section h2{letter-spacing:-.032em!important}

/* =========================================================
   Cards: quieter borders, stronger material feeling
   ========================================================= */
.category-card,.project-card,.info-card,.contact-card,.panel,.testi-card,.review-card{
  box-shadow:0 0 0 1px rgba(228,213,188,.52),0 12px 34px rgba(43,24,16,.055)!important;
}
.category-card:hover,.project-card:hover,.info-card:hover,.contact-card:hover,.testi-card:hover,.review-card:hover{
  box-shadow:0 0 0 1px rgba(196,149,63,.34),0 18px 46px rgba(43,24,16,.10)!important;
}

.product-card{
  overflow:hidden;
  background:var(--gdm-cream)!important;
  box-shadow:0 0 0 1px rgba(122,84,32,.14),0 14px 34px rgba(43,24,16,.07)!important;
}
.product-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.45);
  border-radius:inherit;
  opacity:.65;
}
.product-card__media{
  border-radius:inherit;
  border-bottom-left-radius:0!important;
  border-bottom-right-radius:0!important;
  overflow:hidden;
  background:#3a2216;
}
.product-card__media img:not(.product-art){transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease!important}
.product-card:hover .product-card__media img:not(.product-art){transform:scale(1.035);filter:saturate(1.02) contrast(1.02)}
.product-card__body{background:linear-gradient(to bottom,#fffdf8 0%,#fbf5e9 100%)}
.product-card__cat{
  display:flex;align-items:center;gap:9px;
  letter-spacing:.16em!important;
}
.product-card__cat::after{
  content:"";height:1px;width:24px;background:var(--gdm-gold);opacity:.55;
}
.product-card__title{font-size:15.5px!important;line-height:1.28!important}
.product-card__price{font-family:var(--font-display,"Manrope",sans-serif);font-weight:800}
.product-card__footer .btn{
  min-height:44px;
  border-radius:13px!important;
  letter-spacing:.08em;
  font-size:12px;
}

/* =========================================================
   Shop toolbar — clearer hierarchy
   ========================================================= */

.filter-pill,.shop-search input,.sort-select,select,input,textarea{
  border-color:rgba(122,84,32,.24)!important;
}
.filter-pill{transition:all .18s ease!important}
.filter-pill:hover{transform:translateY(-1px)}

/* =========================================================
   Buttons — editorial, not generic SaaS
   ========================================================= */
.btn{letter-spacing:.045em!important;font-weight:700!important}
.btn--primary{box-shadow:0 7px 18px rgba(122,84,32,.16)}
.btn--primary:hover{box-shadow:0 11px 24px rgba(122,84,32,.22)}
.btn--outline-light:hover,.btn--outline:hover{box-shadow:inset 0 0 0 1px rgba(196,149,63,.34)}

/* =========================================================
   Content blocks / prose
   ========================================================= */
.text-block p:not(.eyebrow){line-height:1.72}
.content-layout p,.panel p,.contact-card p{line-height:1.68}
blockquote{border-left:1px solid var(--gdm-gold)!important}
/* O versículo do hero da Início é centrado: sem a linha vertical à esquerda */
.hero__verse{border-left:0!important;padding-left:0}
/* Eyebrow do hero: traço nos dois lados ("— ARTESANATO · FÉ —") em vez do ponto final */
.hero__eyebrow::after{width:24px;height:1px;margin-left:0;border-radius:0;opacity:.72}
/* Ficha de produto: preço e quantidade na mesma linha. Grelha de 2 linhas:
   em cima o preço e o box "- 1 +", centrados um com o outro; em baixo
   "Em stock" (por baixo do preço) e "Quantidade" (por baixo do box, ao
   centro), à mesma altura e com a mesma letra. O .field é uma subgrid que
   ocupa as duas linhas, para o label ficar centrado em relação ao box.
   Em ecrãs muito estreitos, a quantidade passa para baixo do preço. */
.product-info__buy-row{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;justify-content:start;align-items:center;gap:8px 28px;margin-block:var(--space-xs)}
/* o bloco do preço estica à altura do box (preço ao centro, sem perder o
   alinhamento pela base com o preço antigo), para "Em stock" e "Quantidade"
   ficarem à mesma distância do que têm por cima */
.product-info__buy-row .product-info__price-row{grid-column:1;grid-row:1;margin-block:0;align-self:stretch;flex-wrap:wrap;align-content:center}
.product-info__buy-row .product-info__stock{grid-column:1;grid-row:2}
/* row-gap:inherit — o .field tem gap:6px próprio, que a subgrid usaria */
.product-info__qty{grid-column:2;grid-row:1 / 3;display:grid;grid-template-rows:subgrid;row-gap:inherit;justify-items:center;align-items:center}
.product-info__qty .qty-stepper{grid-row:1}
.product-info__buy-row .product-info__stock,
.product-info__qty label{grid-row:2;align-self:start;margin:0;font-size:var(--fs-xs);font-weight:700;line-height:1.4}
@media (max-width:359px){
  .product-info__buy-row{grid-template-columns:auto;grid-template-rows:repeat(4,auto)}
  .product-info__qty{grid-column:1;grid-row:3 / 5;justify-self:start;margin-top:6px}
}

/* FAQ: elegant rules, functional icon retained */
.accordion-item{border-color:var(--gdm-line)!important}
.accordion-item__trigger{padding-block:20px!important}
.accordion-item__trigger:hover{background:rgba(244,234,214,.34)!important}
.accordion-item__icon{opacity:.7}

/* =========================================================
   Footer links — separator-led layout
   ========================================================= */
.footer-col + .footer-col{border-left:1px solid rgba(122,84,32,.14);padding-left:28px}
.footer-col h4::after{
  content:"";display:block;width:28px;height:1px;background:var(--gdm-gold);margin-top:11px;opacity:.55
}
.footer-socials a{border:1px solid rgba(230,197,131,.18)!important;box-shadow:none!important}
.footer-socials a:hover{border-color:rgba(196,149,63,.6)!important;transform:translateY(-2px)}

/* Inputs: refined, tactile */
input,textarea,select{
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
input:focus,textarea:focus,select:focus{
  border-color:rgba(196,149,63,.78)!important;
  box-shadow:0 0 0 3px rgba(196,149,63,.13),inset 0 1px 0 rgba(255,255,255,.65)!important;
  outline:none!important;
}

/* Decorative section rhythm */
.section--bordered{border-top-color:var(--gdm-line-strong)!important}
.section--tight + .section{border-top:1px solid rgba(122,84,32,.12)}

/* Mobile stays clean */
@media(max-width:760px){
  .benefit{padding:10px 0 22px}
  .benefit:not(:first-child)::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;background:var(--gdm-line)}
  .benefit-row::after{display:none}
  .hero-trust-item{padding:0 11px}
  .hero-trust-item__label{font-size:12px!important}
  .footer-col + .footer-col{border-left:0;border-top:1px solid rgba(122,84,32,.14);padding-left:0;padding-top:22px}
}

/* ---------------------------------------------------------------------
   origem: polish-v3-shop.css
   --------------------------------------------------------------------- */
/* Shop polish v3: custom controls, editorial separators, tactile search */
.shop-toolbar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
  border:1px solid rgba(122,84,32,.18)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(251,245,233,.86))!important;
  box-shadow:0 14px 34px rgba(43,24,16,.06), inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.search-box{
  width:100%;
  height:52px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid rgba(122,84,32,.18)!important;
  border-radius:14px!important;
  background:#fffefa!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  overflow:hidden!important;
}
.search-box>span{display:grid!important;place-items:center;width:48px!important;position:static!important;transform:none!important;flex:0 0 48px!important;color:var(--gold-800)!important}
.search-box>span svg{position:static!important;transform:none!important;width:17px!important;height:17px!important}
.search-box input{
  height:100%!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0 16px 0 0!important;
  font-family:var(--font-body)!important;
  font-size:13px!important;
  font-weight:600!important;
}

.search-box:focus-within{border-color:rgba(171,125,52,.64)!important;box-shadow:0 0 0 4px rgba(196,149,63,.10), inset 0 1px 0 rgba(255,255,255,.8)!important}
.shop-toolbar__sort{display:flex!important;align-items:center!important}
.shop-toolbar__sort>select{display:none!important}
.shop-sort-dropdown{min-width:238px}
.shop-sort-toggle{
  width:100%;min-height:52px;padding:0 14px 0 16px;border-radius:14px;border:1px solid rgba(122,84,32,.18);
  background:#fffefa;color:var(--ink-900);display:flex;align-items:center;justify-content:space-between;gap:14px;
  font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.015em;cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease;
}
.shop-sort-toggle:hover{border-color:rgba(171,125,52,.48);background:#fffdf8;transform:translateY(-1px)}
.shop-sort-dropdown[data-open="true"] .shop-sort-toggle{border-color:rgba(171,125,52,.62);box-shadow:0 0 0 4px rgba(196,149,63,.09)}
.shop-sort-toggle__label{display:flex;align-items:center;gap:9px;min-width:0;text-align:left}
.shop-sort-toggle__meta{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--ink-400);font-weight:800;white-space:nowrap}
.shop-sort-toggle__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shop-sort-toggle svg{width:16px;height:16px;flex:0 0 auto;color:var(--gold-800);transition:transform .2s ease}
.shop-sort-dropdown[data-open="true"] .shop-sort-toggle svg{transform:rotate(180deg)}
.shop-sort-menu{
  position:absolute;
  padding:7px;
  border:1px solid rgba(122,84,32,.18);
  border-radius:16px;
  background:#fffefa;
  box-shadow:0 18px 42px rgba(43,24,16,.14),0 2px 8px rgba(43,24,16,.06);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px) scale(.985);
  transform-origin:top right;
  transition:opacity .16s ease,visibility .16s ease,transform .16s ease;
}
.shop-sort-dropdown[data-open="true"] .shop-sort-menu{opacity:1;visibility:visible;transform:none}
.shop-sort-option{width:100%;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:10px;padding:11px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink-800);text-align:left;font:600 12px var(--font-body);cursor:pointer;transition:background-color .15s ease,color .15s ease}
.shop-sort-option:hover{background:var(--cream-200);color:var(--leather-900)}
.shop-sort-option[aria-selected="true"]{background:var(--leather-900);color:var(--cream-050)}
.shop-sort-option__mark{width:7px;height:7px;border-radius:50%;border:1px solid currentColor;opacity:.55}
.shop-sort-option[aria-selected="true"] .shop-sort-option__mark{background:var(--gold-300);border-color:var(--gold-300);box-shadow:0 0 0 3px rgba(230,197,131,.12)}
.shop-sort-option__text{min-width:0}
.shop-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;margin-bottom:9px}
.shop-filter-heading__label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500);font-weight:800}
.shop-filter-heading__rule{height:1px;flex:1;background:linear-gradient(90deg,rgba(122,84,32,.22),transparent)}
.filter-row{padding:0!important;margin-block:0 13px!important}
.filter-pill{min-height:36px;padding:0 13px!important;border-radius:999px!important;border:1px solid rgba(122,84,32,.18)!important;background:#fffefa!important;color:var(--ink-700)!important;font-size:12px!important;letter-spacing:.02em!important;box-shadow:none!important}
.filter-pill[aria-pressed="true"]{background:var(--leather-900)!important;border-color:var(--leather-900)!important;color:var(--cream-050)!important;box-shadow:0 7px 18px rgba(43,24,16,.10)!important}
.filter-pill:hover{border-color:rgba(171,125,52,.55)!important;background:var(--cream-100)!important}
.filter-pill[aria-pressed="true"]:hover{background:var(--leather-900)!important}
.shop-results-count{display:flex;align-items:center;gap:9px!important;margin:0 0 18px!important;padding-top:3px}
.shop-results-count::before{content:"";width:22px;height:1px;background:var(--gold-500);opacity:.65}
.grid-auto .product-card{transition:transform .22s cubic-bezier(.2,.75,.2,1),box-shadow .22s ease}
.grid-auto .product-card:hover{box-shadow:0 18px 38px rgba(43,24,16,.09)}
@media(max-width:760px){
  
  .shop-sort-dropdown{min-width:0}
}
/* Final shop control fixes */
.search-box input{outline:0!important;flex:1 1 auto!important;width:1px!important;min-width:0!important;color:var(--ink-800)!important}
.search-box input::placeholder{color:#8b8175!important;opacity:1!important}
.search-box{max-width:none!important;min-width:0!important}

.shop-sort-dropdown .shop-sort-toggle__arrow{display:grid;place-items:center;flex:0 0 18px}
.shop-sort-dropdown .shop-sort-toggle__arrow svg{display:block!important}
.shop-sort-menu{max-height:280px}
@media(max-width:760px){.search-box{max-width:none!important}.shop-sort-dropdown{width:100%}}

/* Layout pass: breathing room + floating custom dropdown above product grid */
.shop-toolbar{
  backdrop-filter:blur(12px);
  position:relative!important;
  z-index:1000!important;
  margin-bottom:18px!important;
}
.shop-toolbar__sort{
  position:relative!important;
  z-index:1002!important;
}
.shop-sort-dropdown{
  position:relative!important;
  z-index:1003!important;
}
.shop-sort-menu{
  inset-inline:0;
  top:calc(100% + 8px);
  min-width:100%;
  overflow:auto;
  scrollbar-width:thin;
  z-index:99999!important;
}
.filter-row{
  position:relative!important;
  z-index:2!important;
  margin-top:0!important;
  margin-bottom:18px!important;
  padding-top:0!important;
  gap:8px!important;
}
.shop-results-count{
  font-size:12px!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
  position:relative!important;
  z-index:1!important;
}
.grid-auto{
  position:relative!important;
  z-index:1!important;
}

/* Ensure the menu can escape rounded toolbar boundaries */
.shop-toolbar,
.shop-toolbar__sort,
.shop-sort-dropdown{
  overflow:visible!important;
}

@media(max-width:760px){
  .shop-toolbar{grid-template-columns:1fr!important;margin-bottom:16px!important}
  .filter-row{margin-bottom:16px!important}
}

/* Overlay safety: global drawers/modals must always sit above shop controls. */

.search-overlay { z-index: 1250 !important; }
.shop-toolbar, .shop-toolbar__sort, .shop-sort-dropdown, .shop-sort-menu { isolation: auto !important; }

/* ---------------------------------------------------------------------
   origem: polish-v4-contact-cart.css
   --------------------------------------------------------------------- */
/* ======================================================================
   Grão de Mostarda — contact / toast / cart refinement
   Visual-only layer. The navigation hover and page structure are untouched.
   ====================================================================== */

/* ----------------------------- CART DRAWER ---------------------------- */

.cart-drawer__panel {
  transform-origin:right center;
}
.cart-drawer[data-open="true"] .cart-drawer__panel {
  box-shadow:-20px 0 70px rgba(24, 12, 4, .20), -1px 0 0 rgba(255,255,255,.25) inset;
}
.cart-drawer__head {
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0)),
    var(--surface-page);
}

.cart-line {
  padding-block:6px;
}
.cart-line:last-child { border-bottom: none; }
.cart-drawer__foot {
  box-shadow: 0 -12px 28px rgba(45, 25, 12, .05);
}

/* ----------------------------- CONTACT PAGE -------------------------- */
body[data-gdm-page="/contacto"] .page-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 18%, rgba(196,149,63,.10) 0 1px, transparent 1.8px) 0 0 / 16px 16px,
    linear-gradient(180deg, #3a2216 0%, #2b1810 72%, #24150d 100%);
  color: var(--ink-on-dark);
}
body[data-gdm-page="/contacto"] .page-hero::after {
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-150px;
  top:-220px;
  border-radius:50%;
  border:1px solid rgba(215,172,92,.17);
  box-shadow:0 0 0 34px rgba(215,172,92,.035), 0 0 0 68px rgba(215,172,92,.02);
  pointer-events:none;
}
body[data-gdm-page="/contacto"] .page-hero h1 {
  letter-spacing: -.035em;
  text-wrap: balance;
}
body[data-gdm-page="/contacto"] .page-hero .eyebrow {
  color: var(--gold-300);
}
body[data-gdm-page="/contacto"] .section--tight {
  background:
    linear-gradient(180deg, rgba(255,253,248,.92), rgba(251,245,233,.70));
}
body[data-gdm-page="/contacto"] .contact-grid {
  align-items: stretch;
}
body[data-gdm-page="/contacto"] .panel--accent,
body[data-gdm-page="/contacto"] .contact-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(171,125,52,.24);
  box-shadow: 0 22px 55px rgba(45,25,12,.07);
}
body[data-gdm-page="/contacto"] .panel--accent {
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(251,245,233,.88));
}
body[data-gdm-page="/contacto"] .panel--accent::after {
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-95px;
  bottom:-105px;
  border-radius:50%;
  border:1px solid rgba(196,149,63,.22);
  pointer-events:none;
}
body[data-gdm-page="/contacto"] .panel--accent form {
  gap: 18px;
}
body[data-gdm-page="/contacto"] .panel--accent .field label {
  font-size: 12px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ink-600);
  font-weight: 800;
}
body[data-gdm-page="/contacto"] .panel--accent input,
body[data-gdm-page="/contacto"] .panel--accent textarea {
  border-color: rgba(117,97,80,.22);
  background: rgba(255,255,255,.82);
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
body[data-gdm-page="/contacto"] .panel--accent input:focus,
body[data-gdm-page="/contacto"] .panel--accent textarea:focus {
  border-color: rgba(171,125,52,.72);
  background:#fffdf8;
  box-shadow: 0 0 0 4px rgba(196,149,63,.10), 0 1px 0 rgba(255,255,255,.9) inset;
}
body[data-gdm-page="/contacto"] .panel--accent textarea {
  min-height: 154px;
  resize: vertical;
}
body[data-gdm-page="/contacto"] .panel--accent .btn--primary {
  box-shadow: 0 10px 24px rgba(122,84,32,.16);
}
body[data-gdm-page="/contacto"] .contact-card {
  background:
    radial-gradient(circle at 88% 12%, rgba(215,172,92,.11) 0 1px, transparent 1.7px) 0 0 / 15px 15px,
    linear-gradient(160deg, #2f1c11 0%, #24150d 100%);
  color: var(--ink-on-dark);
  box-shadow: 0 25px 60px rgba(28,17,8,.18);
}
body[data-gdm-page="/contacto"] .contact-card::after {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  left:-220px;
  bottom:-180px;
  border-radius:50%;
  border:1px solid rgba(215,172,92,.14);
  pointer-events:none;
}
body[data-gdm-page="/contacto"] .contact-card__brand {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(246,246,243,.11);
}
body[data-gdm-page="/contacto"] .contact-card__logo {
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.18));
}
body[data-gdm-page="/contacto"] .contact-card__verse {
  position:relative;
  margin-block: 20px;
  padding: 18px 0 18px 18px;
  border-left: 2px solid var(--gold-500);
  color: #f1dfbc;
}
body[data-gdm-page="/contacto"] .contact-card__verse cite {
  color: rgba(239,219,174,.68);
}
body[data-gdm-page="/contacto"] .contact-method {
  padding: 13px 0;
  border-top: 1px solid rgba(246,246,243,.09);
}
body[data-gdm-page="/contacto"] .contact-method:first-of-type {
  border-top: none;
}
body[data-gdm-page="/contacto"] .contact-method > span {
  width: 36px;
  height: 36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(215,172,92,.25);
  border-radius:50%;
  background: rgba(255,255,255,.035);
}
body[data-gdm-page="/contacto"] .contact-method svg {
  width:19px;
  height:19px;
}
body[data-gdm-page="/contacto"] .contact-method a {
  text-underline-offset: 3px;
}
body[data-gdm-page="/contacto"] .contact-method a:hover {
  color: var(--gold-300);
}
body[data-gdm-page="/contacto"] .contact-card .btn--whatsapp {
  margin-top: 14px !important;
  border:1px solid rgba(215,172,92,.42);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

/* ----------------------------- TOASTS --------------------------------- */
.toast-region {
  bottom: 22px;
  right: 22px;
}
.toast {
  border-left-width:1px;
  min-height:52px;
}
.toast::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--gold-500);
}
.toast--success::before { background:var(--success-600); }
.toast--error::before { background:var(--error-600); }

.toast button {
  width:28px!important;
  height:28px!important;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.78);
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.toast button:hover { background:rgba(230,197,131,.13); color:#fff; transform:rotate(6deg); }

@media (max-width: 700px) {
  .toast-region { right:12px; left:12px; bottom:12px; width:auto; }
  .toast { max-width:none; }
  body[data-gdm-page="/contacto"] .contact-card__verse { padding-left:14px; }
}

@media (prefers-reduced-motion: reduce) {
  .cart-drawer__panel,
  .cart-drawer__scrim,
  .toast button { transition:none !important; }
}

/* ---------------------------------------------------------------------
   origem: cart-final-fix.css
   --------------------------------------------------------------------- */
/* Cart final polish: real backdrop blur + clean open/close transition. */
.cart-drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity .36s cubic-bezier(.22,.8,.22,1), visibility 0s linear .36s;
}
.cart-drawer[data-open="true"] {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transition-delay: 0s;
}
.cart-drawer__scrim {
  position:absolute!important;
  inset:0!important;
}

.cart-drawer__panel {
  z-index:2!important;
}

body.cart-open > *:not(#overlay-host) {
  transition:filter .36s ease;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.cart-open > *:not(#overlay-host) { filter: none; }
}
@media (max-width: 760px) {
  .cart-drawer__panel { width: min(94vw, 420px); }
}
@media (prefers-reduced-motion: reduce) {
  .cart-drawer,
  .cart-drawer__scrim,
  .cart-drawer__panel { transition: none !important; }
}

/* ---------------------------------------------------------------------
   origem: polish-v5-final.css
   --------------------------------------------------------------------- */
/* =====================================================================
   Grão de Mostarda — Final polish pass
   Keeps the original navigation hover effect intact.
   ===================================================================== */

/* NAV: more breathing room, but keep the original hover mechanics untouched. */
@media (min-width: 980px){
  .main-nav{gap:28px;}
}

/* ---------------------------------------------------------------------
   NOTIFICATIONS / TOASTS
   --------------------------------------------------------------------- */
.toast-region{z-index:5000;}
.toast{
  background:linear-gradient(145deg,rgba(61,36,23,.985),rgba(35,24,16,.985));
  position:relative;
  transform-origin:100% 100%;
}
.toast::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:var(--gold-400);
  transform-origin:left center;
  animation:toast-progress 1.5s linear forwards;
  opacity:.9;
}
.toast--success::after{background:var(--success-600)}
.toast--error::after{background:var(--error-600)}
.toast p{color:var(--cream-050);font-size:13px;font-weight:650;line-height:1.45}
.toast button{border-radius:50%;display:grid;place-items:center;flex:0 0 28px}
@keyframes toast-progress{to{transform:scaleX(0)}}
@keyframes toast-in-premium{from{opacity:0;transform:translateY(14px) scale(.965)}to{opacity:1;transform:none}}
.toast{backdrop-filter:blur(10px);min-width:min(360px, calc(100vw - 28px));padding:15px 16px 15px 17px;border:1px solid rgba(230,197,131,.22);border-radius:16px;box-shadow:0 20px 50px rgba(30,16,8,.26), inset 0 1px 0 rgba(255,255,255,.05);display:flex;align-items:center;gap:12px;overflow:hidden;animation:toast-in-premium .24s cubic-bezier(.22,.8,.22,1)}

/* ---------------------------------------------------------------------
   CART DRAWER — softer, more cinematic transition
   --------------------------------------------------------------------- */

.cart-drawer__panel{
  width:min(430px,94vw)!important;
  border-left:1px solid rgba(171,125,52,.25);
  box-shadow:-35px 0 100px rgba(28,17,8,.24),inset 1px 0 0 rgba(255,255,255,.65)!important;
}

.cart-drawer__head{
  min-height:78px;
  padding-inline:22px!important;
  border-bottom:1px solid rgba(117,97,80,.10);
}
.cart-drawer__items{scroll-behavior:smooth;padding:16px 22px!important;gap:12px!important}
.cart-line{padding:12px 0;border-bottom:1px solid rgba(117,97,80,.11);grid-template-columns:72px 1fr auto}
.cart-line__media{border-radius:13px!important;box-shadow:inset 0 0 0 1px rgba(117,97,80,.12)}
.cart-drawer__foot{padding:18px 22px!important}

/* ---------------------------------------------------------------------
   CONTACT — new editorial layout
   --------------------------------------------------------------------- */
.contact-v5{padding-top:clamp(40px,7vw,80px)}
.contact-v5__hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(28px,6vw,80px);
  align-items:end;
  padding-bottom:clamp(38px,6vw,64px);
  border-bottom:1px solid var(--line-warm);
}
.contact-v5__kicker{margin-bottom:14px}
.contact-v5__hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.94;letter-spacing:-.055em;max-width:8ch}
.contact-v5__hero p{max-width:42ch;color:var(--ink-500);line-height:1.7;font-size:15px}
.contact-v5__aside{align-self:end;border-left:1px solid var(--line-warm);padding-left:26px}
.contact-v5__aside strong{display:block;font-family:var(--font-display);font-size:1rem;color:var(--leather-900);margin-bottom:6px}
.contact-v5__aside p{font-size:13px;max-width:30ch}
.contact-v5__layout{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(290px,.82fr);
  gap:clamp(22px,5vw,64px);
  padding-top:clamp(34px,5vw,58px);
}
.contact-v5__form{padding-right:clamp(0px,3vw,34px)}
.contact-v5__form-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.contact-v5__form-head h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.035em;line-height:1.02}
.contact-v5__form-note{font-size:12px;color:var(--ink-500);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.contact-v5__form form{gap:17px}
.contact-v5__field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.contact-v5__field--full{grid-column:1/-1}
.contact-v5__form input,.contact-v5__form textarea{
  background:#fffefa;
  border:1px solid rgba(117,97,80,.20);
  border-radius:12px;
  min-height:50px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-v5__form textarea{min-height:170px;padding-top:14px}
.contact-v5__form input:focus,.contact-v5__form textarea:focus{
  border-color:rgba(171,125,52,.74);
  background:#fffdf8;
  box-shadow:0 0 0 4px rgba(196,149,63,.09);
  outline:none;
}
.contact-v5__submit{display:flex;align-items:center;gap:16px;margin-top:3px}
.contact-v5__submit .btn{min-width:210px}
.contact-v5__microcopy{font-size:12px;color:var(--ink-500);line-height:1.5;max-width:32ch}
.contact-v5__info{
  position:relative;
  background:linear-gradient(155deg,#3a2216 0%,#24150d 100%);
  color:var(--ink-on-dark);
  border-radius:24px;
  padding:28px;
  min-height:100%;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(40,22,10,.16);
}
.contact-v5__info::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 84% 18%,rgba(215,172,92,.14) 0 1px,transparent 1.7px) 0 0/15px 15px;
  opacity:.65;pointer-events:none;
}
.contact-v5__info>*{position:relative}
.contact-v5__brand{padding-bottom:20px;border-bottom:1px solid rgba(244,234,214,.12)}
.contact-v5__brand img{display:block;width:min(190px,72%);filter:drop-shadow(0 12px 22px rgba(0,0,0,.18))}
.contact-v5__brand small{display:block;margin-top:13px;color:rgba(244,234,214,.66);font-size:12px;letter-spacing:.06em}
.contact-v5__verse{padding:20px 0 20px 17px;border-left:2px solid var(--gold-500);font-family:var(--font-display);font-style:italic;color:#f0dfbb;line-height:1.55}
.contact-v5__verse cite{display:block;margin-top:8px;font-family:var(--font-body);font-style:normal;color:rgba(239,219,174,.58);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.contact-v5__methods{margin-top:2px}
.contact-v5__method{display:grid;grid-template-columns:50px 1fr;gap:15px;align-items:center;padding:14px 0;border-top:1px solid rgba(244,234,214,.09)}
.contact-v5__method:first-child{border-top:0}
.contact-v5__method-index{font-size:12px;letter-spacing:.18em;color:var(--gold-300)}
.contact-v5__method strong{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.contact-v5__method a,.contact-v5__method span{font-size:13px;color:rgba(244,234,214,.74)}
.contact-v5__method a:hover{color:var(--gold-300)}
.contact-v5__wa{margin-top:14px}
.contact-v5__bottom{
  margin-top:clamp(32px,5vw,56px);
  padding-block:24px;
  border-top:1px solid var(--line-warm);
  display:flex;justify-content:space-between;gap:24px;align-items:center;
}
.contact-v5__bottom strong{font-family:var(--font-display);font-size:1rem}
.contact-v5__bottom p{font-size:12px;color:var(--ink-500)}

@media(max-width:860px){
  .contact-v5__hero,.contact-v5__layout{grid-template-columns:1fr}
  .contact-v5__aside{border-left:0;border-top:1px solid var(--line-warm);padding:18px 0 0}
  .contact-v5__hero h1{max-width:none}
  .contact-v5__layout{gap:34px}
}
@media(max-width:620px){
  .contact-v5__field-grid{grid-template-columns:1fr}
  .contact-v5__field--full{grid-column:auto}
  .contact-v5__form-head{display:block}
  .contact-v5__form-note{display:block;margin-top:8px}
  .contact-v5__submit{display:block}
  .contact-v5__submit .btn{width:100%;margin-bottom:10px}
  .contact-v5__bottom{display:block}
}

/* ---------------------------------------------------------------------
   origem: polish-v6-request.css
   --------------------------------------------------------------------- */
/* =====================================================================
   Grão de Mostarda — request pass
   Navbar: preserve original visual language, shrink hitbox to text.
   Cart: show the site behind with a light blur + cinematic transition.
   Contact: stronger editorial composition without changing its structure.
   ===================================================================== */

/* Navbar corrections are handled in final-fixes.css. */

/* ----------------------------- CART --------------------------------- */
.cart-drawer__scrim{
  opacity:0!important;
  transition:opacity .38s cubic-bezier(.22,.8,.22,1), backdrop-filter .38s ease!important;
}
.cart-drawer[data-open="true"] .cart-drawer__scrim{
  opacity:1 !important;
}
.cart-drawer__panel{
  transform:translate3d(108%,0,0) scale(.985) !important;
  opacity:.88 !important;
  transition:transform .46s cubic-bezier(.16,1,.3,1), opacity .28s ease !important;
}
.cart-drawer[data-open="true"] .cart-drawer__panel{
  transform:translate3d(0,0,0) scale(1) !important;
  opacity:1 !important;
}
/* Keep the actual page sharp outside browsers without backdrop-filter;
   where supported, the scrim itself does all the blurring. */
body.cart-open > *:not(#overlay-host){
  filter:none;
}
@media (max-width:700px){
  .cart-drawer__scrim{backdrop-filter:blur(4px) saturate(.96) !important;-webkit-backdrop-filter:blur(4px) saturate(.96) !important;}
}

/* ----------------------------- CONTACT -------------------------------- */
body[data-gdm-page="/contacto"] .contact-v5{
  padding-bottom:clamp(30px,5vw,64px);
}
body[data-gdm-page="/contacto"] .contact-v5__hero{
  position:relative;
  padding-top:clamp(26px,3vw,40px);
}
body[data-gdm-page="/contacto"] .contact-v5__hero::before{
  content:"";
  position:absolute;
  left:-48px;
  top:14px;
  width:170px;
  height:170px;
  border-radius:50%;
  border:1px solid rgba(171,125,52,.14);
  box-shadow:0 0 0 18px rgba(171,125,52,.03),0 0 0 36px rgba(171,125,52,.018);
  pointer-events:none;
}
body[data-gdm-page="/contacto"] .contact-v5__kicker::before{
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  vertical-align:middle;
  margin-right:10px;
  background:var(--gold-500);
}
body[data-gdm-page="/contacto"] .contact-v5__hero h1{
  max-width:10ch;
  font-size:clamp(3rem,6.2vw,5.4rem);
  letter-spacing:-.06em;
}
body[data-gdm-page="/contacto"] .contact-v5__hero > .stack > p:last-child{
  font-size:16px;
  max-width:48ch;
}
body[data-gdm-page="/contacto"] .contact-v5__aside{
  background:rgba(251,245,233,.46);
  border:1px solid rgba(171,125,52,.14);
  border-left:2px solid var(--gold-500);
  border-radius:0 14px 14px 0;
  padding:22px 22px 22px 24px;
}
body[data-gdm-page="/contacto"] .contact-v5__layout{
  align-items:start;
}
body[data-gdm-page="/contacto"] .contact-v5__form{
  padding:28px clamp(18px,3vw,34px) 30px;
  border:1px solid rgba(117,97,80,.15);
  border-radius:22px;
  background:rgba(255,253,248,.72);
  box-shadow:0 18px 42px rgba(45,25,12,.055);
}
body[data-gdm-page="/contacto"] .contact-v5__form-head{
  padding-bottom:16px;
  border-bottom:1px solid rgba(117,97,80,.11);
}
body[data-gdm-page="/contacto"] .contact-v5__form-head h2{
  font-size:clamp(1.8rem,3vw,2.35rem);
}
body[data-gdm-page="/contacto"] .contact-v5__form label{
  color:var(--ink-700);
  font-weight:700;
}
body[data-gdm-page="/contacto"] .contact-v5__form input,
body[data-gdm-page="/contacto"] .contact-v5__form textarea{
  background:var(--cream-050);
  border-color:rgba(117,97,80,.20);
  padding-inline:15px;
}
body[data-gdm-page="/contacto"] .contact-v5__form textarea{min-height:184px;}
body[data-gdm-page="/contacto"] .contact-v5__submit .btn{
  min-height:50px;
  box-shadow:0 10px 22px rgba(122,84,32,.12);
}
body[data-gdm-page="/contacto"] .contact-v5__info{
  border-radius:22px;
  padding:30px;
}
body[data-gdm-page="/contacto"] .contact-v5__info::after{
  content:"";
  position:absolute;
  right:-74px;
  bottom:-74px;
  width:190px;
  height:190px;
  border:1px solid rgba(230,197,131,.16);
  border-radius:50%;
  box-shadow:0 0 0 18px rgba(230,197,131,.025),0 0 0 36px rgba(230,197,131,.018);
  pointer-events:none;
}
body[data-gdm-page="/contacto"] .contact-v5__methods{margin-top:6px;}
body[data-gdm-page="/contacto"] .contact-v5__method{
  transition:background .18s ease,padding-inline .18s ease;
  border-radius:10px;
  padding-inline:8px;
}
body[data-gdm-page="/contacto"] .contact-v5__method:hover{
  background:rgba(255,255,255,.045);
  padding-inline:12px;
}
body[data-gdm-page="/contacto"] .contact-v5__wa{
  min-height:48px;
}
body[data-gdm-page="/contacto"] .contact-v5__bottom{
  padding-top:30px;
}

@media(max-width:860px){
  body[data-gdm-page="/contacto"] .contact-v5__form{padding:24px 20px 26px;}
  body[data-gdm-page="/contacto"] .contact-v5__aside{border-left:0;border-top:1px solid rgba(171,125,52,.24);border-radius:0 0 14px 14px;}
}

/* ---------------------------------------------------------------------
   origem: final-fixes.css
   --------------------------------------------------------------------- */
/* Grão de Mostarda — final corrective pass
   1) Restore the original navbar hover mechanics and only increase horizontal padding.
   2) Keep contact page visible and readable.
   3) Keep cart backdrop subtle while leaving the page visibly present behind it.
*/

/* NAVBAR: original effect, wider horizontal padding only */
@media (min-width:1080px){
  .main-nav{gap:28px;}
  .main-nav a{
    display:inline-block;
    padding:var(--space-2xs) 14px !important;
  }
  .main-nav a::before{
    top:0 !important;
    bottom:0 !important;
    left:-2.5rem !important;
    right:-2.5rem !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(90deg,transparent 0%,rgba(var(--gold-600-rgb),.22) 50%,transparent 100%) !important;
    box-shadow:none !important;
  }
  .main-nav a::after{
    left:50% !important;
    bottom:-2px !important;
    width:0 !important;
    height:2px !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(90deg,transparent,var(--gold-600),transparent) !important;
    transform:translateX(-50%) !important;
  }
  .main-nav a:hover::after,
  .main-nav a:focus-visible::after,
  .main-nav a[aria-current="page"]::after{width:70% !important;}
}
/* Entre 1080 e 1199px o menu com texto a 12px não cabia ao lado do logótipo
   e dos ícones (o carrinho ficava fora do ecrã): espaçamento mais curto. */
@media (min-width:1080px) and (max-width:1199px){
  .main-nav{gap:12px;}
  .main-nav a{padding-inline:10px !important;}
}

/* CONTACT: never let the render collapse or sit under a hidden/empty shell */
body[data-gdm-page="/contacto"] #app{min-height:1px;}
body[data-gdm-page="/contacto"] .contact-v5{display:block;visibility:visible;opacity:1;}
body[data-gdm-page="/contacto"] .contact-v5__hero,
body[data-gdm-page="/contacto"] .contact-v5__layout{position:relative;z-index:1;}
body[data-gdm-page="/contacto"] .contact-v5__info{overflow:hidden;}

/* CART: keep the page visible behind the drawer */

@media (max-width:700px){
  .main-nav{gap:16px;}
  .main-nav a{padding-inline:10px !important;}
}

/* ---------------------------------------------------------------------
   origem: cart-backdrop-final.css
   --------------------------------------------------------------------- */
/* Final cart backdrop: keep the page visible behind the drawer. */
.cart-drawer {
  background: transparent !important;
}
.cart-drawer__scrim {
  will-change:opacity, backdrop-filter;
  background:rgba(28,17,8,.20)!important;
  backdrop-filter:blur(5px) saturate(.94)!important;
  -webkit-backdrop-filter:blur(5px) saturate(.94)!important;
}
.cart-drawer__panel {
  will-change:transform, opacity;
  background:var(--surface-page)!important;
}

/* ---------------------------------------------------------------------
   origem: categories-redesign.css
   --------------------------------------------------------------------- */
/* Homepage category explorer — editorial redesign
   Purpose: fix clipped/hidden category labels and give the section a complete visual identity. */

.section--bordered:has(.category-grid){
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%, rgba(196,149,63,.10), transparent 24%),
    linear-gradient(180deg, #fffdf8 0%, #f8f0e1 100%);
}

.section--bordered:has(.category-grid)::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border:1px solid rgba(171,125,52,.16);
  border-radius:50%;
  top:-130px;
  right:-120px;
  pointer-events:none;
}

.section--bordered:has(.category-grid) .text-block > h2{
  max-width:14ch;
  font-size:clamp(2.1rem,4.2vw,4rem);
  line-height:.98;
  margin-bottom:18px !important;
}

.section--bordered:has(.category-grid) .eyebrow{
  margin-bottom:12px;
}

.category-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  margin-top:32px;
  align-items:stretch;
}

.category-card{
  position:relative;
  display:grid !important;
  grid-template-rows:minmax(180px,1fr) auto;
  min-height:264px;
  aspect-ratio:auto !important;
  border-radius:24px !important;
  overflow:hidden;
  isolation:isolate;
  background:var(--surface-raised);
  border:1px solid rgba(196,149,63,.28) !important;
  box-shadow:0 10px 30px rgba(43,24,16,.06) !important;
  transform:none;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease;
}

.category-card:first-child{
  grid-column:span 6;
  grid-row:span 2;
  min-height:546px;
}

.category-card:nth-child(n+2){
  grid-column:span 3;
}

.category-card::after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:17px;
  pointer-events:none;
  z-index:5;
  opacity:.75;
  transition:opacity .25s ease;
}

.category-card:hover,
.category-card:focus-visible{
  transform:translateY(-7px);
  box-shadow:0 22px 50px rgba(43,24,16,.14) !important;
  border-color:rgba(171,125,52,.55) !important;
}

.category-card__art{
  position:relative !important;
  inset:auto !important;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(145deg,#4d2e1c 0%,#2b1810 58%,#1b1009 100%) !important;
}

.category-card__art::before{
  content:"";
  position:absolute;
  width:58%;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(230,197,131,.34);
  box-shadow:0 0 0 26px rgba(230,197,131,.03);
  opacity:.95;
}

.category-card__art::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 42%, rgba(230,197,131,.16), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(13,7,3,.34) 100%);
  pointer-events:none;
}

.category-card__icon{
  position:relative;
  z-index:2;
  display:flex;
  opacity:1;
  transform:translateY(0) scale(1);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}

.category-card__icon svg{
  width:86px;
  height:86px;
}

.category-card:first-child .category-card__icon svg{
  width:118px;
  height:118px;
}

.category-card:hover .category-card__icon,
.category-card:focus-visible .category-card__icon{
  transform:translateY(-5px) scale(1.07);
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.24));
}

.category-card__scrim{
  display:none !important;
}

.category-card__label{
  position:relative !important;
  inset:auto !important;
  min-height:84px;
  padding:17px 18px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px;
  background:linear-gradient(180deg,#fffefa,#faf0df) !important;
  color:var(--ink-900) !important;
  border-top:1px solid rgba(196,149,63,.18);
  z-index:4;
}

.category-card__label::before{
  content:"";
  position:absolute;
  left:18px;
  top:12px;
  width:28px;
  height:2px;
  background:var(--gold-500);
  opacity:.75;
}

.category-card__name{
  display:block;
  padding-top:8px;
  font-family:var(--font-display);
  font-size:15px;
  line-height:1.14;
  font-weight:800;
  letter-spacing:-.025em;
  color:var(--ink-900) !important;
  text-wrap:balance;
}

.category-card:first-child .category-card__name{
  font-size:clamp(17px,1.45vw,22px);
}

.category-card__arrow{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:36px !important;
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50%;
  background:#f3e7d1 !important;
  color:var(--leather-900) !important;
  border:1px solid rgba(196,149,63,.18);
  transition:transform .25s ease,background .25s ease,color .25s ease;
}

.category-card__arrow svg{
  width:18px !important;
  height:18px !important;
}

.category-card:hover .category-card__arrow,
.category-card:focus-visible .category-card__arrow{
  transform:translateX(3px);
  background:var(--gold-500) !important;
  color:var(--leather-950) !important;
}

@media (max-width:1100px){
  .category-card:first-child{grid-column:span 6;}
  .category-card:nth-child(n+2){grid-column:span 3;}
}

@media (max-width:840px){
  .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .category-card:first-child{grid-column:1 / -1;grid-row:auto;min-height:380px;}
  .category-card:nth-child(n+2){grid-column:span 1;}
}

@media (max-width:560px){
  .category-grid{grid-template-columns:1fr;gap:14px;margin-top:24px;}
  .category-card,
  .category-card:first-child,
  .category-card:nth-child(n+2){grid-column:auto;min-height:285px;grid-row:auto;}
  .category-card:first-child{min-height:340px;}
  .category-card__art{min-height:205px;}
  .category-card__label{min-height:78px;}
}


/* Linha da Política de Privacidade por baixo do campo da newsletter */
.newsletter-privacy{margin-top:8px;font-size:12px;line-height:1.5;color:rgba(244,234,214,.56)}
.newsletter-privacy a{color:rgba(244,234,214,.82);text-decoration:underline;text-underline-offset:2px}
.newsletter-privacy a:hover{color:var(--cream-050)}

/* ---------------------------------------------------------------------
   Hero da Início em portátil: logótipo, eyebrow, título, versículo e
   botões têm de caber na primeira vista (1366×768, 1440×900…). Os
   tamanhos passam a depender também da altura do ecrã (svh, com vh antes
   para browsers antigos). O espaço vertical fica só no padding do .hero —
   o .hero__content continua sem padding próprio. No telemóvel (até 700px)
   nada muda.
   --------------------------------------------------------------------- */
@media (min-width: 701px) {
  .hero { padding-block: clamp(2rem, 6vh, 6rem); padding-block: clamp(2rem, 6svh, 6rem); }
  .hero__logo { width: clamp(440px, min(80vw, 92vh), 960px); width: clamp(440px, min(80vw, 92svh), 960px); }
  .hero__title { font-size: clamp(2.5rem, min(5vw, 7.5vh), 4.7rem); font-size: clamp(2.5rem, min(5vw, 7.5svh), 4.7rem); }
}

/* ---------------------------------------------------------------------
   Movimento reduzido — tem de ficar no FIM do ficheiro: várias regras
   acima declaram transition com !important e um seletor mais específico
   do que o * do bloco geral, por isso o drawer do carrinho e alguns campos
   continuavam a animar com prefers-reduced-motion: reduce.
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .cart-drawer,
  .cart-drawer__scrim,
  .cart-drawer__panel,
  .filter-pill,
  .product-card__media img,
  input, textarea, select,
  .shop-toolbar input { transition: none !important; }
}
