/* ============================================================
   JOANA SAMPAIO · NUTRICIONISTA
   Folha de estilos partilhada por todas as páginas.
   Alterar aqui muda o site inteiro.
   ============================================================ */

/* ---- FOTOGRAFIAS -------------------------------------------
   Coloque os ficheiros na pasta "fotos" com estes nomes,
   ou altere os caminhos abaixo. Enquanto não existirem,
   aparece um fundo nos tons da marca.

   --foto-hero usa uma fotografia de stock (Unsplash, licença livre,
   fotografia de Ekin Deniz Çoban) ligada diretamente à internet — não
   está guardada nesta pasta. Para trocar por uma fotografia própria,
   basta substituir o valor por url('../fotos/o-teu-ficheiro.jpg').

   Este ficheiro vive em assets/estilo.css, por isso os caminhos para a
   pasta fotos/ (irmã de assets/, na raiz do tema) sobem um nível: ../fotos/
------------------------------------------------------------ */
:root{
  --foto-hero:      url('https://images.unsplash.com/photo-1685600049052-0e0c079e9cf9?fm=jpg&q=80&w=1400&auto=format&fit=crop');
  --foto-sobre:     url('../fotos/joana-sobre.jpg');
  --foto-percurso:  url('../fotos/joana-percurso.jpeg');
  --foto-consulta:  url('../fotos/imagem_1consulta.jpg');
  --foto-metodo: url('../fotos/foto-metodo.jpeg');
  --foto-espaco:    url('../fotos/consultorio.jpg');
  --foto-produtos:  url('../fotos/produtos.jpg');
}

/* ---- SISTEMA ---- */
:root{
  --areia:#eae4dc;
  --linho:#f6f3ee;
  --terracota:#9e6244;
  --barro:#7c4a32;
  --salvia:#abb48d;
  --trigo:#b49575;
  --tinta:#3b322c;
  --tinta-70:#574d46;

  --display:'Fahkwang',Georgia,serif;
  --texto:'Karla',system-ui,sans-serif;

  --folha:120px 10px 120px 10px;
  --folha-sm:64px 8px 64px 8px;

  --max:1180px;
  --gut:clamp(20px,5vw,64px);
}

*,*::before,*::after{box-sizing:border-box}
/* As regras de autor vencem o [hidden] do browser. Esta regra garante que
   qualquer elemento com o atributo hidden fica mesmo escondido. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{
  margin:0;background:var(--linho);color:var(--tinta);
  font-family:var(--texto);font-weight:300;font-size:clamp(15.5px,1.05vw,17px);
  line-height:1.75;letter-spacing:.005em;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:300;margin:0;line-height:1.15;letter-spacing:.01em}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding-block:clamp(72px,10vw,140px)}
.sec--curta{padding-block:clamp(56px,7vw,96px)}
.fundo-areia{background:var(--areia)}
.fundo-linho{background:var(--linho)}

.eyebrow{
  font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;
  font-weight:500;color:var(--terracota);margin:0 0 22px;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--terracota);opacity:.55;flex:none}

h2.titulo{font-size:clamp(2rem,4.4vw,3.35rem);max-width:17ch}
h2.titulo.largo{max-width:24ch}
.lead{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--tinta-70);max-width:56ch}
.mt{margin-top:24px}

/* ---- BOTÕES E LIGAÇÕES ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--texto);font-size:.78rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  padding:16px 30px;border-radius:40px 4px 40px 4px;
  border:1px solid var(--terracota);background:var(--terracota);color:var(--linho);
  transition:background .35s ease,color .35s ease,border-radius .45s ease;cursor:pointer;
}
.btn:hover{background:var(--barro);border-color:var(--barro);border-radius:4px 40px 4px 40px}
.btn--ghost{background:transparent;color:var(--terracota)}
.btn--ghost:hover{background:var(--terracota);color:var(--linho)}
.btn--claro{border-color:#ffffff66;background:transparent;color:var(--linho)}
.btn--claro:hover{background:var(--linho);color:var(--barro);border-color:var(--linho)}

.seta{
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  color:var(--terracota);padding-bottom:5px;border-bottom:1px solid #9e624440;
  transition:border-color .35s ease,gap .35s ease;
}
.seta:hover{border-color:var(--terracota);gap:16px}
.seta--escura{color:#3f4733;border-color:#3f473359}
.seta--escura:hover{border-color:#3f4733}
.seta::after{content:"→";font-size:.95rem;letter-spacing:0}

:where(a,button,input,textarea,select,summary):focus-visible{
  outline:2px solid var(--terracota);outline-offset:3px;border-radius:2px;
}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:200;background:var(--linho);padding:12px 18px;border-radius:4px}

/* ---- MOLDURAS ---- */
.moldura{
  position:relative;border-radius:var(--folha);overflow:hidden;
  background-color:var(--trigo);
  background-image:linear-gradient(150deg,#c9b39a,#abb48d 55%,#9e6244);
}
.moldura>span{position:absolute;inset:0;background-size:cover;background-position:center}
.moldura--sm{border-radius:var(--folha-sm)}
.moldura--inv{border-radius:10px 120px 10px 120px}

/* ============ CABEÇALHO ============ */
.topo{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:20px;
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease}
.topo.fix{background:#f6f3eef2;backdrop-filter:blur(10px);box-shadow:0 1px 0 #3b322c14;padding-block:11px}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca{position:relative;z-index:110}
.marca img{width:clamp(168px,17vw,214px);transition:width .4s ease}
.topo.fix .marca img{width:clamp(150px,14vw,178px)}
.nav{display:flex;align-items:center;gap:clamp(14px,2.1vw,30px)}
.nav a{text-decoration:none;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--tinta);position:relative;padding-block:6px;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--terracota);transition:width .35s ease}
.nav a:hover::after{width:100%}
.nav a[aria-current="page"]{color:var(--terracota)}
.nav a[aria-current="page"]::after{width:100%}
.nav .btn{padding:12px 22px;font-size:.7rem;color:var(--linho)}
.nav .btn::after{display:none}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:24px;height:1.4px;background:var(--tinta);margin:5px 0;transition:transform .35s,opacity .3s}
.aberto .burger span:nth-child(1){transform:translateY(6.4px) rotate(45deg)}
.aberto .burger span:nth-child(2){opacity:0}
.aberto .burger span:nth-child(3){transform:translateY(-6.4px) rotate(-45deg)}

/* ============ HERO (página inicial) ============ */
.hero{position:relative;overflow:hidden;background:var(--areia);
  padding-top:clamp(132px,16vw,190px);padding-bottom:clamp(60px,8vw,110px)}
.hero::before{content:"";position:absolute;top:-8%;right:-14%;width:min(58vw,720px);aspect-ratio:1/1.05;
  border:1px solid #9e624426;border-radius:60% 8px 60% 8px;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:200;letter-spacing:-.005em}
.hero h1 em{font-style:normal;color:var(--terracota);font-weight:300}
.hero .lead{margin:26px 0 34px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:14px}
.hero-foto{position:relative;z-index:0}
.hero-foto .moldura{aspect-ratio:4/5}
.hero-foto::after{content:"";position:absolute;inset:26px -22px -26px 22px;z-index:-1;
  border:1px solid var(--salvia);border-radius:var(--folha)}
.selo{position:absolute;left:-26px;bottom:34px;z-index:2;background:var(--linho);
  border-radius:50%;width:clamp(96px,11vw,124px);aspect-ratio:1;display:grid;place-items:center;
  padding:14px;text-align:center;box-shadow:0 12px 34px #3b322c1a}
.selo img{width:52%}

/* ============ CABEÇALHO DE PÁGINA INTERIOR ============ */
.capa{position:relative;overflow:hidden;background:var(--areia);
  padding-top:clamp(130px,15vw,178px);padding-bottom:clamp(48px,6vw,78px)}
.capa::before{content:"";position:absolute;top:-30%;right:-8%;width:min(46vw,540px);aspect-ratio:1/1.05;
  border:1px solid #9e624426;border-radius:60% 8px 60% 8px;pointer-events:none}
.capa .wrap{position:relative}
.capa h1{font-size:clamp(2.2rem,5.2vw,3.9rem);font-weight:200;max-width:18ch}
.capa .lead{margin-top:24px}
.migalhas{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-70);margin:0 0 20px}
.migalhas a{text-decoration:none}
.migalhas a:hover{color:var(--terracota)}
.migalhas span{opacity:.5;padding-inline:8px}

/* ============ FAIXA DE ÁREAS (ticker) ============ */
.faixa{background:var(--terracota);color:#f6f3eecc;overflow:hidden;padding-block:15px}
.faixa ul{display:flex;list-style:none;margin:0;padding:0;width:max-content;animation:corre 46s linear infinite}
.faixa li{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  padding-inline:26px;display:flex;align-items:center;gap:26px;white-space:nowrap}
.faixa li::after{content:"";width:5px;height:5px;border-radius:50%;background:#f6f3ee66}
@keyframes corre{to{transform:translateX(-50%)}}

/* ============ BLOCO TEXTO + IMAGEM ============ */
.duo{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,88px);align-items:center}
.duo--inv{grid-template-columns:1.1fr .9fr}
.duo .moldura{aspect-ratio:3/4}
.duo--larga .moldura{aspect-ratio:5/4}
.duo p+p{margin-top:1.1em}

.assinatura{margin-top:34px;padding-top:26px;border-top:1px solid #3b322c1f;
  display:flex;flex-wrap:wrap;gap:28px 44px}
.assinatura div{min-width:120px}
.assinatura dt{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);margin-bottom:6px}
.assinatura dd{margin:0;font-family:var(--display);font-size:1.06rem}

/* ============ PASSOS ============ */
.cabeca{max-width:62ch;margin-bottom:clamp(48px,6vw,76px)}
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,54px)}
.passos li{position:relative;padding-top:34px;border-top:1px solid #9e624438}
.passos .n{position:absolute;top:-13px;left:0;padding-right:14px;background:var(--areia);
  font-family:var(--display);font-size:.82rem;letter-spacing:.2em;color:var(--terracota)}
.fundo-linho .passos .n{background:var(--linho)}
.passos h3{font-size:1.42rem;margin-bottom:12px}
.passos p{margin:0;color:var(--tinta-70);font-size:.97rem}

/* passos em versão detalhada (página do método) */
.passo-longo{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,54px);
  padding-block:clamp(38px,5vw,58px);border-top:1px solid #3b322c1f}
.passo-longo:first-of-type{border-top:0;padding-top:0}
.passo-longo .n{font-family:var(--display);font-size:clamp(2.4rem,6vw,4rem);
  font-weight:200;color:var(--trigo);line-height:1}
.passo-longo h3{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:14px}
.passo-longo p{margin:0;color:var(--tinta-70);max-width:64ch}
.passo-longo ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px;max-width:64ch}
.passo-longo ul li{position:relative;padding-left:22px;font-size:.95rem;color:var(--tinta-70)}
.passo-longo ul li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
  border-radius:60% 1px 60% 1px;background:var(--salvia)}

/* ============ PERCURSO (linha do tempo) ============ */
.linha-tempo{list-style:none;margin:0;padding:0}
.linha-tempo li{display:grid;grid-template-columns:150px 1fr;gap:clamp(18px,3vw,44px);
  padding-block:30px;border-top:1px solid #3b322c1f}
.linha-tempo li:first-child{border-top:0;padding-top:0}
.linha-tempo .quando{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terracota);padding-top:.45em}
.linha-tempo h3{font-size:1.24rem;margin-bottom:5px}
.linha-tempo .onde{margin:0 0 11px;font-size:.83rem;letter-spacing:.05em;color:var(--trigo)}
.linha-tempo p{margin:0;color:var(--tinta-70);font-size:.95rem;max-width:64ch}
.cartao .periodo{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota)}

.linha-tempo{list-style:none;margin:0;padding:0}
.linha-tempo li{display:grid;grid-template-columns:200px 1fr;gap:clamp(18px,4vw,48px);
  padding-block:clamp(24px,3vw,34px);border-top:1px solid #3b322c1f}
.linha-tempo li:first-child{border-top:0;padding-top:0}
.linha-tempo .quando{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--terracota);padding-top:.4em}
.linha-tempo h3{font-size:1.22rem;margin-bottom:4px}
.linha-tempo .onde{display:block;font-size:.82rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--tinta-70);margin-bottom:12px}
.linha-tempo p{margin:0;color:var(--tinta-70);font-size:.95rem;max-width:62ch}

.etiquetas{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.etiquetas li{font-size:.78rem;color:var(--tinta-70);padding:9px 18px;
  border:1px solid #3b322c26;border-radius:24px 3px 24px 3px}

.sumario>p{max-width:74ch;margin:0 0 1.15em;color:var(--tinta-70)}
.sumario>p:first-child{font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--tinta)}
.destaques{list-style:none;margin:clamp(34px,4vw,46px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:#3b322c14}
.destaques li{background:var(--areia);padding:24px clamp(18px,2vw,28px);display:grid;gap:7px}
.fundo-linho .destaques li{background:var(--linho)}
.destaques strong{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--terracota);font-weight:500}
.destaques span{font-size:.94rem;color:var(--tinta-70)}

/* ============ CARTÕES ============ */
.cartoes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,26px)}
.cartoes--3{grid-template-columns:repeat(3,1fr)}
.cartao{background:var(--areia);border-radius:var(--folha-sm);padding:clamp(30px,3.4vw,44px);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .45s ease,background .45s ease,border-radius .5s ease}
.fundo-areia .cartao{background:var(--linho)}
.cartao:hover{transform:translateY(-6px);border-radius:8px 64px 8px 64px}
.cartao h3{font-size:1.5rem}
.cartao p{margin:0;color:var(--tinta-70);font-size:.96rem}
.cartao ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.cartao ul li{position:relative;padding-left:20px;font-size:.92rem;color:var(--tinta-70)}
.cartao ul li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;
  border-radius:60% 1px 60% 1px;background:var(--salvia)}
.meta{margin-top:auto;padding-top:22px;border-top:1px solid #3b322c1f;
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-70)}
.meta strong{font-family:var(--display);font-size:1.3rem;font-weight:400;
  letter-spacing:.02em;text-transform:none;color:var(--terracota)}
.cartao .btn{align-self:flex-start;margin-top:20px;padding:13px 26px;font-size:.7rem}
.cartao--destaque{position:relative;background:#e7e0d5}
.fundo-areia .cartao--destaque{background:#efeae2}
.cartao--destaque .fita{position:absolute;top:22px;right:22px;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);
  border:1px solid #9e624459;border-radius:20px 3px 20px 3px;padding:5px 13px}
.cartao--destaque h3{padding-right:96px}
.nota{margin-top:26px;font-size:.86rem;color:var(--tinta-70)}

/* ============ ÁREAS DE INTERVENÇÃO ============ */
.areas{background:var(--salvia);color:#2f2a22}
.areas .eyebrow{color:#4a5238}
.areas .eyebrow::before{background:#4a5238}
.areas .grelha{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(40px,5vw,60px)}
.areas .item{padding:30px clamp(18px,2.4vw,34px);border-top:1px solid #2f2a2226}
.areas .item:nth-child(-n+3){border-top:0}
.areas h3{font-size:1.22rem;margin-bottom:8px}
.areas p{margin:0;font-size:.93rem;color:#2f2a22d9}

/* ============ PRODUTOS DIGITAIS ============ */
.produtos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,30px)}
.produto{display:flex;flex-direction:column;background:var(--linho);
  border-radius:var(--folha-sm);overflow:hidden;
  transition:transform .45s ease,border-radius .5s ease}
.produto:hover{transform:translateY(-6px);border-radius:8px 64px 8px 64px}
.produto .capa-produto{aspect-ratio:4/3;position:relative;
  background:linear-gradient(150deg,#c9b39a,#abb48d 55%,#9e6244)}
.produto .capa-produto .img{position:absolute;inset:0;background-size:cover;background-position:center}
.produto .etiqueta{position:absolute;top:16px;right:16px;z-index:2;background:var(--linho);
  padding:7px 14px;border-radius:20px 3px 20px 3px;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota)}
.produto .corpo{padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;flex:1}
.produto h3{font-size:1.32rem}
.produto p{margin:0;font-size:.94rem;color:var(--tinta-70)}
.produto .meta{padding-top:18px}

/* ============ TESTEMUNHOS ============ */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,30px);margin-top:clamp(40px,5vw,62px)}
.tcard{background:var(--linho);padding:clamp(28px,3vw,38px);border-radius:var(--folha-sm);
  display:flex;flex-direction:column}
.fundo-linho .tcard{background:var(--areia)}
.tcard .aspas{font-family:var(--display);font-size:2.6rem;line-height:1;color:var(--trigo);margin-bottom:10px}
.tcard blockquote{margin:0;font-size:.98rem;color:var(--tinta-70)}
.tcard cite{margin-top:auto;padding-top:24px;font-style:normal;font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--terracota)}

/* ============ PERGUNTAS FREQUENTES ============ */
.faq .wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(32px,5vw,80px);align-items:start}
.faq details{border-bottom:1px solid #3b322c1f}
.faq summary{list-style:none;cursor:pointer;padding:26px 44px 26px 0;position:relative;
  font-family:var(--display);font-size:clamp(1.04rem,1.6vw,1.24rem)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;
  border-right:1px solid var(--terracota);border-bottom:1px solid var(--terracota);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s ease}
.faq details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq .resposta{padding:0 20px 28px 0;color:var(--tinta-70);font-size:.97rem;margin:0}

/* ============ FAIXA DE CHAMADA ============ */
.chamada{background:var(--terracota);color:var(--areia);padding-block:clamp(60px,8vw,104px)}
.chamada .wrap{display:grid;grid-template-columns:1.2fr auto;gap:34px;align-items:center}
.chamada h2{color:var(--linho);font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:20ch}
.chamada p{margin:16px 0 0;color:#eae4dcdb;max-width:52ch}

/* ============ CONTACTO ============ */
.contacto{background:var(--terracota);color:var(--areia)}
.contacto .eyebrow{color:#eae4dc}
.contacto .eyebrow::before{background:#eae4dc}
.contacto .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,86px)}
.contacto--simples .wrap{grid-template-columns:minmax(0,640px);justify-content:center}
.contacto h2{color:var(--linho)}
.contacto .lead{color:#eae4dcdb}
.dados{margin-top:38px;display:grid;gap:22px}
.dados dt{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#eae4dcbf;margin-bottom:5px}
.dados dd{margin:0;font-family:var(--display);font-size:1.12rem;color:var(--linho)}
.dados dd a{text-decoration:none;border-bottom:1px solid #eae4dc59;padding-bottom:2px}
.dados dd a:hover{border-color:var(--linho)}

.lista-simples{margin:26px 0 0;padding:0;list-style:none;counter-reset:p;display:grid;gap:14px}
.lista-simples li{position:relative;padding-left:34px;color:#eae4dcdb}
.lista-simples li::before{counter-increment:p;content:counter(p,decimal-leading-zero);
  position:absolute;left:0;top:.1em;font-family:var(--display);font-size:.78rem;
  letter-spacing:.14em;color:#eae4dc99}
.dica{margin:8px 0 0;font-size:.78rem;color:#eae4dc99;line-height:1.5}
.texto-longo{max-width:92ch;margin-inline:auto}
.texto-longo>.nota{margin-bottom:8px;text-align:justify}
.texto-longo p{text-align:justify;text-justify:inter-word;hyphens:auto}
.texto-longo p+h2{margin-top:48px}
.texto-longo h2{font-size:clamp(1.3rem,2.2vw,1.7rem);margin:44px 0 12px}
.texto-longo h2:first-of-type{margin-top:24px}
.texto-longo p{margin:0;color:var(--tinta-70)}
.texto-longo a{color:var(--terracota)}
form{display:grid;gap:18px}
.duplo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:#eae4dccc;margin-bottom:8px}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #eae4dc4d;
  color:var(--linho);font-family:var(--texto);font-size:1rem;font-weight:300;
  padding:10px 2px;border-radius:0;transition:border-color .3s ease}
.contacto input::placeholder,.contacto textarea::placeholder{color:#eae4dc8c;opacity:1}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--linho)}
textarea{resize:vertical;min-height:104px}
select{appearance:none;cursor:pointer}
select option{color:var(--tinta);background:var(--linho)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:#eae4dcdb;
  line-height:1.65;text-transform:none;letter-spacing:normal;margin-bottom:0;font-weight:300}
.consent input{width:16px;height:16px;flex:none;margin-top:4px;accent-color:var(--areia);border-bottom:0}
.consent a{color:var(--linho)}
form .btn{justify-self:start;margin-top:6px}

/* ============ RODAPÉ ============ */
.rodape{background:var(--areia);padding-block:clamp(52px,6vw,74px) 30px}
.rodape .wrap{display:grid;grid-template-columns:1.25fr .85fr .85fr .75fr;gap:40px}
.rodape img.logo{width:210px;margin-bottom:20px}
.rodape h4{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);
  margin-bottom:16px;font-family:var(--texto);font-weight:500}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.rodape a{text-decoration:none;font-size:.93rem;color:var(--tinta-70)}
.rodape a:hover{color:var(--terracota)}
.rodape .registo{font-size:.9rem;color:var(--tinta-70);letter-spacing:.03em;line-height:1.9}
.redes .rede{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;
  text-decoration:none;color:var(--tinta-70);transition:color .3s ease}
.redes .rede span{font-size:.93rem}
.redes .rede svg{color:var(--terracota);transition:transform .35s ease}
.redes .rede:hover{color:var(--terracota)}
.redes .rede:hover svg{transform:translateY(-2px)}
/* precisa de vencer a grelha de .rodape .wrap, senao a linha final herda as
   quatro colunas do rodape e o texto nao chega a direita */
.rodape .wrap.fim{margin-top:clamp(38px,5vw,56px);padding-top:22px;border-top:1px solid #3b322c1f;
  display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;
  font-size:.78rem;color:#3b322c8c}
/* "Todos os direitos reservados" encostado a direita, mesmo quando a linha quebra */
.rodape .wrap.fim>span:last-child{margin-left:auto;text-align:right}

/* ---- revelação ---- */
.rev{opacity:0;transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1)}
.rev.on{opacity:1;transform:none}

/* ---- responsivo ---- */
@media (max-width:960px){
  .hero .wrap,.duo,.duo--inv,.faq .wrap,.contacto .wrap,.chamada .wrap{grid-template-columns:1fr}
  .hero-foto{order:-1;max-width:430px}
  .hero-foto::after{inset:20px -16px -20px 16px}
  .duo .moldura{max-width:430px}
  .duo--larga .moldura{max-width:none}
  .passos,.areas .grelha,.tgrid,.cartoes,.cartoes--3,.produtos{grid-template-columns:1fr 1fr}
  .areas .item:nth-child(-n+3){border-top:1px solid #2f2a2226}
  .areas .item:nth-child(-n+2){border-top:0}
  .rodape .wrap{grid-template-columns:1fr 1fr}
  .redes{grid-column:1/-1}
}
@media (max-width:720px){
  .nav{position:fixed;inset:0 0 auto 0;flex-direction:column;align-items:flex-start;gap:4px;
    background:var(--linho);padding:96px var(--gut) 36px;transform:translateY(-102%);
    transition:transform .5s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 40px #3b322c14}
  .aberto .nav{transform:none}
  .nav a{font-size:.9rem;padding-block:13px;letter-spacing:.12em}
  .nav .btn{margin-top:16px}
  .burger{display:block;z-index:110}
  .topo{background:#f6f3eef2;backdrop-filter:blur(10px);padding-block:12px}
  .passos,.areas .grelha,.tgrid,.cartoes,.cartoes--3,.produtos,.duplo,.rodape .wrap{grid-template-columns:1fr}
  .passo-longo{grid-template-columns:1fr;gap:10px}
  .destaques{grid-template-columns:1fr}
  .linha-tempo li{grid-template-columns:1fr;gap:8px}
  .linha-tempo .quando{padding-top:0}
  .linha-tempo li{grid-template-columns:1fr;gap:8px}
  .linha-tempo .quando{padding-top:0}
  .areas .item{padding-inline:0}
  .areas .item:nth-child(-n+2){border-top:1px solid #2f2a2226}
  .areas .item:first-child{border-top:0}
  .selo{left:auto;right:0;bottom:14px}
  :root{--folha:78px 8px 78px 8px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .faixa ul{animation:none}
  .rev{opacity:1;transform:none;transition:none}
  *{transition-duration:.01ms!important}
}

/* ============================================================
   CABEÇALHO — pesquisa, carrinho, ícones
   ============================================================ */
.acoes-topo{display:flex;align-items:center;gap:6px;margin-left:6px}
.icone-topo{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border:0;background:transparent;color:var(--tinta);
  cursor:pointer;border-radius:50%;transition:background .3s ease,color .3s ease;
}
.icone-topo:hover{background:#3b322c0f;color:var(--terracota)}
.bolha-carrinho{
  position:absolute;top:2px;right:1px;min-width:16px;height:16px;padding:0 4px;
  border-radius:50%;background:var(--terracota);color:var(--linho);
  font-size:.62rem;line-height:16px;text-align:center;font-weight:500;
}

.pesquisa{position:relative}
.pesquisa-painel{
  position:absolute;top:calc(100% + 12px);right:-8px;z-index:120;
  width:min(340px,88vw);background:var(--linho);border-radius:10px 10px 10px 10px;
  box-shadow:0 18px 44px #3b322c26;padding:14px;
}
.pesquisa-painel input{
  width:100%;border:0;border-bottom:1px solid #3b322c26;background:transparent;
  font-family:var(--texto);font-size:.94rem;color:var(--tinta);padding:8px 2px 10px;
}
.pesquisa-painel input:focus{outline:none;border-bottom-color:var(--terracota)}
.pesquisa-painel ul{list-style:none;margin:8px 0 0;padding:0;max-height:290px;overflow-y:auto}
.pesquisa-painel li{margin:0}
.pesquisa-painel a{
  display:block;padding:10px 8px;border-radius:6px;text-decoration:none;
  font-size:.88rem;color:var(--tinta);transition:background .2s ease;
}
.pesquisa-painel a:hover,.pesquisa-painel a.ativo{background:#9e62441a;color:var(--terracota)}
.pesquisa-painel .sem-resultado{padding:10px 8px;font-size:.85rem;color:var(--tinta-70)}

/* ============================================================
   CARRINHO
   ============================================================ */
.sobreposicao{
  position:fixed;inset:0;background:#3b322c66;z-index:130;
  opacity:0;transition:opacity .35s ease;
}
.sobreposicao.on{opacity:1}
.carrinho-painel{
  position:fixed;top:0;right:0;bottom:0;z-index:140;
  width:min(400px,92vw);background:var(--linho);
  box-shadow:-18px 0 44px #3b322c26;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.carrinho-painel.aberto{transform:translateX(0)}
.carrinho-cabeca{
  display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--gut) 18px;border-bottom:1px solid #3b322c1f;
}
.carrinho-cabeca h3{font-size:1.3rem}
.carrinho-cabeca .fechar{background:none;border:0;color:var(--tinta);cursor:pointer;padding:6px}
.carrinho-corpo{flex:1;overflow-y:auto;padding:18px var(--gut)}
.carrinho-vazio{color:var(--tinta-70);font-size:.94rem}
.item-carrinho{
  display:grid;grid-template-columns:1fr auto;gap:6px 14px;
  padding-block:16px;border-bottom:1px solid #3b322c1a;align-items:start;
}
.item-carrinho h4{font-size:.96rem;font-weight:400;font-family:var(--texto);margin:0}
.item-carrinho .preco-item{font-family:var(--display);color:var(--terracota);white-space:nowrap}
.item-carrinho .remover{
  grid-column:1/2;justify-self:start;background:none;border:0;padding:0;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-70);
  text-decoration:underline;cursor:pointer;
}
.carrinho-rodape{padding:18px var(--gut) 28px;border-top:1px solid #3b322c1f}
.carrinho-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.carrinho-total strong{font-family:var(--display);font-size:1.4rem;color:var(--terracota)}
.carrinho-rodape .btn{width:100%;justify-content:center}
.carrinho-nota{margin:12px 0 0;font-size:.78rem;color:var(--tinta-70);text-align:center}
.nota-carrinho{
  background:var(--areia);border-radius:8px;padding:14px 18px;margin-bottom:18px;
  font-size:.88rem;color:var(--tinta);
}
.contacto .nota-carrinho{background:#eae4dc22;color:var(--linho)}

/* ============================================================
   POP-UP DE OFERTA
   ============================================================ */
.popup-fundo{
  position:fixed;inset:0;z-index:200;background:#3b322c7a;
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;transition:opacity .4s ease;
}

.popup-fundo.on{opacity:1}
.popup-caixa{
  position:relative;background:var(--linho);border-radius:var(--folha-sm);
  max-width:440px;width:100%;padding:clamp(32px,5vw,48px);text-align:center;
  transform:translateY(18px) scale(.98);transition:transform .4s cubic-bezier(.2,.7,.3,1);
  box-shadow:0 30px 70px #3b322c33;
}
.popup-fundo.on .popup-caixa{transform:none}
.popup-fechar{
  position:absolute;top:16px;right:16px;background:none;border:0;
  color:var(--tinta-70);cursor:pointer;padding:6px;
}
.popup-selo{
  width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--areia);
  display:grid;place-items:center;
}
.popup-selo img{width:52%}
.popup-caixa .eyebrow.solo::before{display:none}
.popup-caixa .eyebrow{justify-content:center}
.popup-caixa h3{font-size:clamp(1.3rem,3vw,1.6rem);margin-bottom:12px}
.popup-caixa p{color:var(--tinta-70);font-size:.95rem;margin:0 0 22px}
.popup-linha{display:flex;gap:10px;flex-wrap:wrap}
.popup-linha input{
  flex:1;min-width:180px;border:0;border-bottom:1px solid #3b322c33;background:transparent;
  font-family:var(--texto);font-size:.96rem;padding:11px 2px;
  color:var(--terracota);
}
.popup-linha input:focus{outline:none;border-bottom-color:var(--terracota)}
.popup-linha .btn{padding:12px 20px;font-size:.7rem}
.popup-consent{margin-top:16px;text-align:left;font-size:.78rem;color:var(--tinta-70)}
.popup-sucesso{color:var(--terracota);font-weight:500;margin-top:8px}
.oculto{position:absolute;left:-9999px}

/* ============================================================
   TABELA COMPARATIVA
   ============================================================ */
.tabela-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.comparativo{
  width:100%;border-collapse:collapse;min-width:640px;background:var(--linho);
  border-radius:var(--folha-sm);overflow:hidden;
}
table.comparativo th,table.comparativo td{
  padding:16px 18px;text-align:center;font-size:.88rem;border-bottom:1px solid #3b322c14;
}
table.comparativo thead th{
  font-family:var(--display);font-weight:400;font-size:1rem;color:var(--terracota);
  background:var(--areia);
}
table.comparativo th[scope="row"]{
  text-align:left;font-family:var(--texto);font-weight:500;color:var(--tinta);
  background:var(--linho);white-space:nowrap;
}
table.comparativo tbody tr:last-child th,table.comparativo tbody tr:last-child td{border-bottom:0}
table.comparativo .sim{color:var(--salvia);font-size:1.1rem}
table.comparativo .nao{color:#3b322c40}
table.comparativo td:nth-child(3),table.comparativo th:nth-child(3){background:#9e62440d}
table.comparativo td:nth-child(4),table.comparativo th:nth-child(4){background:#9e62440d}
/* primeira coluna e cabecalhos das colunas 2 e ultima sem fundo de areia */
table.comparativo thead th:nth-child(1),
table.comparativo thead th:nth-child(2),
table.comparativo thead th:last-child{background:var(--linho)}

/* ============================================================
   NAVEGAÇÃO DE CATEGORIAS (produtos)
   ============================================================ */
.categoria-nav{display:flex;gap:14px;flex-wrap:wrap}
.categoria-nav a{
  text-decoration:none;padding:10px 20px;border-radius:30px 4px 30px 4px;
  border:1px solid #9e624440;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--terracota);transition:background .3s ease,color .3s ease;
}
.categoria-nav a:hover{background:var(--terracota);color:var(--linho);border-color:var(--terracota)}

.btn-carrinho{width:100%;justify-content:center;margin-top:4px}
.btn-carrinho.adicionado{background:var(--salvia);border-color:var(--salvia);color:#2f2a22}

/* ============================================================
   RESPONSIVO — cabeçalho, pesquisa, carrinho
   ============================================================ */
@media (max-width:720px){
  .acoes-topo{order:3;margin-left:auto;margin-right:2px}
  .burger{order:4}
  .pesquisa-painel{right:-60px;width:min(320px,84vw)}
  .carrinho-painel{width:100vw}
  table.comparativo{min-width:560px}
}

/* ============================================================
   PÁGINA DE ENCOMENDA
   ============================================================ */
.resumo-encomenda{margin-top:26px}
.linhas-encomenda{list-style:none;margin:0;padding:0}
.linhas-encomenda li{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  padding-block:14px;border-bottom:1px solid #eae4dc33;
}
.linhas-encomenda li span{color:#eae4dcdb;font-size:.96rem}
.linhas-encomenda li strong{font-family:var(--display);font-weight:400;color:var(--linho);white-space:nowrap}
.total-encomenda{
  display:flex;justify-content:space-between;align-items:baseline;gap:18px;
  margin-top:18px;padding-top:16px;border-top:1px solid #eae4dc59;
}
.total-encomenda span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#eae4dcbf}
.total-encomenda strong{font-family:var(--display);font-size:1.6rem;font-weight:400;color:var(--linho)}
.contacto .carrinho-vazio{color:#eae4dcdb}
.encomenda-sucesso{
  background:#eae4dc1a;border:1px solid #eae4dc40;border-radius:var(--folha-sm);
  padding:clamp(28px,3.4vw,40px);
}
.encomenda-sucesso h3{font-size:1.5rem;color:var(--linho);margin-bottom:12px}
.encomenda-sucesso p{color:#eae4dcdb;margin:0 0 18px}
.encomenda-sucesso p:last-child{margin-bottom:0}
#btn-encomenda[disabled]{opacity:.6;cursor:wait}

/* ============================================================
   PONTE WOOCOMMERCE
   Estiliza os templates por omissão do WooCommerce (loja, ficha de
   produto, carrinho, checkout, minha conta) com o sistema de cores,
   tipos e botões do tema. Não substitui os templates do plugin —
   só a aparência dos elementos que eles geram.
   ============================================================ */
.woocommerce{color:var(--tinta);font-family:var(--texto)}
.woocommerce .content-area,
.woocommerce-page .content-area{padding-block:clamp(96px,12vw,150px) clamp(72px,10vw,120px)}

/* botões (adicionar ao carrinho, checkout, atualizar carrinho...) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--texto);font-size:.78rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:16px 30px;border-radius:40px 4px 40px 4px;
  border:1px solid var(--terracota);background:var(--terracota);color:var(--linho)!important;
  transition:background .35s ease,color .35s ease,border-radius .45s ease;cursor:pointer;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--barro);border-color:var(--barro);border-radius:4px 40px 4px 40px}
.woocommerce a.added_to_cart{margin-left:12px;color:var(--terracota);text-decoration:underline}

/* preços */
.woocommerce .price,
.woocommerce ul.products li.product .price{color:var(--terracota);font-family:var(--display);font-weight:400}
.woocommerce .price del{color:var(--tinta-70);opacity:.6}
.woocommerce .price ins{text-decoration:none}

/* grelha da loja, no estilo dos "produto" do site original */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,30px);list-style:none;margin:clamp(40px,5vw,60px) 0 0;padding:0}
.woocommerce ul.products li.product{background:var(--linho);border-radius:var(--folha-sm);overflow:hidden;padding:0;transition:transform .45s ease,border-radius .5s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);border-radius:8px 64px 8px 64px}
.woocommerce ul.products li.product a img{aspect-ratio:4/3;object-fit:cover;border-radius:0;margin-bottom:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--display);font-weight:300;font-size:1.32rem;padding:clamp(24px,2.6vw,32px) clamp(24px,2.6vw,32px) 0}
.woocommerce ul.products li.product .price{padding:8px clamp(24px,2.6vw,32px) clamp(24px,2.6vw,32px);display:block}
.woocommerce ul.products li.product .button{margin:0 clamp(24px,2.6vw,32px) clamp(24px,2.6vw,32px);width:calc(100% - clamp(48px,5.2vw,64px));justify-content:center}
@media (max-width:960px){.woocommerce ul.products{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.woocommerce ul.products{grid-template-columns:1fr}}

/* ficha de produto individual */
.woocommerce div.product{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.woocommerce div.product .product_title{font-family:var(--display);font-weight:300;font-size:clamp(2rem,4.4vw,3.1rem)}
.woocommerce div.product p.price{font-size:1.5rem;margin:14px 0 22px}
.woocommerce div.product div.images img{border-radius:var(--folha-sm)}
.woocommerce div.product .quantity input.qty{border:1px solid #3b322c26;border-radius:6px;padding:12px;width:70px;font-family:var(--texto)}

/* carrinho e checkout */
.woocommerce table.shop_table{border:0;border-collapse:collapse}
.woocommerce table.shop_table th{font-family:var(--texto);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);border-bottom:1px solid #3b322c1f}
.woocommerce table.shop_table td{border-bottom:1px solid #3b322c14;padding-block:16px}
.woocommerce-checkout #payment{background:var(--areia);border-radius:var(--folha-sm)}
.woocommerce form .form-row label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-70)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{border:1px solid #3b322c26;border-radius:4px;padding:10px 12px;font-family:var(--texto)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--terracota)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--terracota)}
.woocommerce-error{border-top-color:var(--barro)}
