:root{--papel:#fff;--papel-2:#f5f5f3;--tinta:#0a0a0a;--tinta-2:#555;--tinta-3:#888;--linha:#dededb;--preto:#050505;--branco:#fff;--raio:0;--limite:1440px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif;--sombra:0 18px 55px rgba(0,0,0,.12)}
html[data-modo="escuro"]{--papel:#0a0a0a;--papel-2:#151515;--tinta:#f7f7f5;--tinta-2:#b7b7b2;--tinta-3:#84847f;--linha:#30302e;--preto:#f7f7f5;--branco:#090909;--sombra:0 18px 55px rgba(0,0,0,.4)}
@media(prefers-color-scheme:dark){html:not([data-modo]){--papel:#0a0a0a;--papel-2:#151515;--tinta:#f7f7f5;--tinta-2:#b7b7b2;--tinta-3:#84847f;--linha:#30302e;--preto:#f7f7f5;--branco:#090909;--sombra:0 18px 55px rgba(0,0,0,.4)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:15px;line-height:1.5;overflow-x:hidden}body.travado{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.limite{width:min(calc(100% - 64px),var(--limite));margin-inline:auto}.conteudo-interno{padding-block:42px 90px;min-height:55vh}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.035em}h1{font-size:clamp(2.7rem,6vw,6rem)}h2{font-size:clamp(2.25rem,4.2vw,4.6rem)}.sobretitulo{display:block;margin-bottom:14px;font-size:.69rem;font-weight:700;letter-spacing:.21em;text-transform:uppercase}.icone{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:inherit}.icone svg{pointer-events:none}.botao{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border:1px solid var(--tinta);font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.botao--preto{background:var(--preto);color:var(--branco);border-color:var(--preto)}.botao--claro{background:#fff;color:#080808;border-color:#fff}.recado{padding:14px 18px;border:1px solid var(--linha);margin:20px 0}.painel{background:var(--papel);border:1px solid var(--linha);box-shadow:var(--sombra)}
.marca-logo--clara{display:block}.marca-logo--principal.marca-logo--tem-alternativa{display:none}
.marca-logo--principal:not(.marca-logo--tem-alternativa){filter:brightness(0)}
html[data-modo="escuro"] .marca-logo--clara{display:none}html[data-modo="escuro"] .marca-logo--principal{display:block}
html[data-modo="escuro"] .marca-logo--principal{filter:none}
@media(prefers-color-scheme:dark){html:not([data-modo]) .marca-logo--clara{display:none}html:not([data-modo]) .marca-logo--principal{display:block}}
@media(prefers-color-scheme:dark){html:not([data-modo]) .marca-logo--principal{filter:none}}

.anuncio{height:31px;background:#050505;color:#fff;font-size:.61rem;letter-spacing:.17em;text-transform:uppercase}.anuncio .limite{height:100%;display:flex;align-items:center;justify-content:space-between}.topo{height:79px;position:relative;z-index:50;background:var(--papel);border-bottom:1px solid var(--linha);transition:height .25s,transform .25s}.topo.fixo{position:sticky;top:0;height:65px}.topo__linha{height:100%;display:grid;grid-template-columns:auto 1fr auto;column-gap:clamp(28px,3.2vw,54px);align-items:center}.marca{display:inline-flex;align-items:center;justify-content:flex-start;min-width:130px}.topo .marca{grid-column:1;grid-row:1;justify-self:start}.marca img{max-width:180px;max-height:43px;object-fit:contain}.marca span{font-family:var(--serif);font-size:2rem;font-weight:600;letter-spacing:-.05em}.nav{grid-column:2;grid-row:1;justify-self:start;display:flex;align-items:center;gap:clamp(20px,2vw,35px);height:100%;font-size:.78rem;font-weight:500;letter-spacing:.105em;text-transform:uppercase}.nav>a,.nav summary{position:relative;display:flex;align-items:center;height:100%;padding:0;white-space:nowrap;text-transform:uppercase}.nav>a:after,.nav__categorias>summary:before{content:"";position:absolute;left:0;right:0;bottom:18px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}.nav>a:hover:after,.nav>a:focus-visible:after,.nav>a[aria-current="page"]:after,.nav__categorias[open]>summary:before,.nav__categorias>summary:hover:before{transform:scaleX(1);transform-origin:left}.nav a[aria-current="page"]{text-decoration:none}.nav__categorias{position:relative;height:100%}.nav__categorias summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer}.nav__categorias summary::-webkit-details-marker{display:none}.nav__indicador{width:7px;height:7px;display:block;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;transition:transform .25s ease}.nav__categorias[open] .nav__indicador{transform:rotate(225deg) translate(-1px,-1px)}.nav__categorias>div{position:absolute;top:calc(100% - 8px);left:-24px;width:260px;padding:16px 12px 12px;background:var(--papel);border:1px solid var(--linha);box-shadow:0 22px 60px rgba(0,0,0,.16);animation:mamaMenuEntrar .22s ease both}.nav__categorias>div:before{content:"";position:absolute;top:-1px;left:24px;width:40px;height:1px;background:var(--tinta)}@keyframes mamaMenuEntrar{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}.nav__categorias-rotulo{display:block;padding:3px 12px 10px;color:var(--tinta-3);font-size:.56rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.nav__categorias>div a{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:8px 12px;font-size:.72rem;font-weight:450;letter-spacing:.09em;text-transform:uppercase;transition:padding .2s,background .2s}.nav__categorias>div a:hover,.nav__categorias>div a:focus-visible{padding-left:17px;background:var(--papel-2);text-decoration:none}.nav__categorias>div .nav__categorias-todas{margin-top:7px;padding-top:12px;border-top:1px solid var(--linha);font-weight:700}.nav__categorias-todas svg{flex:0 0 auto}.topo__acoes{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:1px}.topo__menu{display:none}.carrinho-botao{position:relative}.carrinho-botao>[data-selo-carrinho]{position:absolute;right:1px;top:2px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:50%;background:var(--preto);color:var(--branco);font-size:.59rem}.busca{position:relative}.busca form{display:none;position:absolute;right:0;top:48px;width:min(430px,calc(100vw - 32px));background:var(--papel);padding:12px;border:1px solid var(--linha);box-shadow:var(--sombra)}.busca.aberta form{display:block}.busca input{width:100%;height:48px;border:0;border-bottom:1px solid var(--tinta);background:transparent;padding:0 5px;outline:none}.busca #busca-sugestoes{position:absolute;left:12px;right:12px;top:62px;z-index:2}

.hero{height:min(77vh,850px);min-height:540px;position:relative;background:#111;color:#fff;overflow:hidden}.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease}.hero__slide.ativo{opacity:1;visibility:visible}.hero__slide picture,.hero__slide img{width:100%;height:100%}.hero__slide img{object-fit:cover;filter:none;transition:transform 8s ease}.hero__slide.ativo img{transform:scale(1.025)}.hero__conteudo{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-bottom:9vh}.hero__sobre{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:15px}.hero__conteudo strong{max-width:780px;font-family:var(--serif);font-size:clamp(3rem,7.3vw,7.2rem);font-weight:500;line-height:.91;letter-spacing:-.045em;margin-bottom:30px}.hero__controle{position:absolute;z-index:2;right:32px;bottom:34px;display:flex;gap:7px}.hero__controle button{position:relative;width:34px;height:2px;padding:0;border:0;overflow:hidden;background:rgba(255,255,255,.4)}.hero__controle button::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left center}.hero__controle button[aria-current="true"]::after{animation:hero-progresso var(--hero-duracao,6500ms) linear forwards}@keyframes hero-progresso{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.hero__controle button[aria-current="true"]::after{animation:none;transform:scaleX(1)}}

.beneficios{border-bottom:1px solid var(--linha)}.beneficios__grade{display:grid;grid-template-columns:repeat(4,1fr);padding-block:23px;text-align:left}.beneficios__grade>span{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;justify-items:start;text-align:left;padding:2px 26px;border-right:1px solid var(--linha)}.beneficios__grade>span:first-child{padding-left:0}.beneficios__grade>span:last-child{border:0}.beneficios svg{grid-row:1/3;align-self:center;width:36px;height:36px}.beneficios b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.beneficios small{color:var(--tinta-2);font-size:.7rem}.secao{padding-block:100px}.secao__cabeca{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:42px}.secao__cabeca h2{margin:0}.link-seta{flex:none;padding-bottom:6px;border-bottom:1px solid var(--tinta);font-size:.69rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.link-seta span{margin-left:18px}

.colecao__mosaico{height:min(75vw,900px);display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:14px}.colecao__foto{position:relative;overflow:hidden;background:var(--papel-2)}.colecao__foto--principal{grid-row:1/3}.colecao__foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.25,1)}.colecao__foto:hover img{transform:scale(1.025)}.colecao__foto>span{position:absolute;inset:auto 0 0;padding:55px 24px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.68))}.colecao__foto b{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.8rem);font-weight:500}.colecao__foto small{display:block;margin-top:6px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}

.grade-produtos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 14px}.produto-card__visual{position:relative;overflow:hidden;background:var(--papel-2);aspect-ratio:3/4}.produto-card__visual>a:first-child{display:block;width:100%;height:100%}.produto-card__foto{width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .7s}.produto-card__foto--verso{position:absolute;inset:0;opacity:0}.produto-card__visual:hover .produto-card__foto--verso{opacity:1}.produto-card__visual:hover .produto-card__foto:first-of-type{transform:scale(1.018)}.produto-card__selo,.produto-card__esgotado{position:absolute;z-index:2;top:12px;left:12px;padding:5px 8px;background:#fff;color:#050505;font-size:.59rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.produto-card__esgotado{top:auto;bottom:12px;background:#050505;color:#fff}.produto-card__favorito{position:absolute;z-index:3;top:7px;right:7px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#050505}.produto-card__ver{position:absolute;z-index:3;left:10px;right:10px;bottom:10px;height:43px;display:grid;place-items:center;background:#fff;color:#050505;font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transform:translateY(60px);transition:transform .3s}.produto-card__visual:hover .produto-card__ver{transform:none}.produto-card__info{display:flex;justify-content:space-between;gap:12px;padding-top:13px;font-size:.78rem}.produto-card__info>a{font-weight:600}.produto-card__info p{margin:0;white-space:nowrap}.produto-card__info del{color:var(--tinta-3);margin-left:5px}.revelar{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.revelar.visivel{opacity:1;transform:none}img[data-desfoque]{filter:blur(8px);transition:filter .6s,transform .7s}img[data-desfoque].carregada{filter:none}

.destaques{background:var(--preto);color:var(--branco)}.destaques__trilho{display:flex;gap:13px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}.destaque{position:relative;flex:0 0 min(24%,310px);aspect-ratio:9/16;overflow:hidden;background:#1b1b1b;scroll-snap-align:start}.destaque video{width:100%;height:100%;object-fit:cover}.destaque__instagram{position:absolute;inset:0;overflow:hidden}.destaque__instagram iframe{position:absolute;top:-24%;left:-30%;width:160%;height:175%;border:0}.destaque__play,.destaque__som{position:absolute;border:0;color:#fff;background:rgba(0,0,0,.55)}.destaque__play{inset:50% auto auto 50%;width:50px;height:50px;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center}.destaque__som{top:12px;right:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.destaque__info{position:absolute;inset:auto 0 0;padding:65px 17px 18px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff}.destaque__info b,.destaque__info small{display:block}.destaque__info b{font-family:var(--serif);font-size:1.35rem;font-weight:500}.destaque__info small{font-size:.7rem;margin-top:3px}

.catalogo{padding-block:70px 110px}.catalogo__cabeca{max-width:850px;margin-bottom:50px}.catalogo__cabeca h1{margin-bottom:20px}.catalogo__cabeca p{max-width:58ch;color:var(--tinta-2)}.catalogo__filtros{display:flex;align-items:center;justify-content:space-between;padding:14px 0;margin-bottom:30px;border-block:1px solid var(--linha);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.catalogo__filtros label{display:flex;align-items:center;gap:14px}.catalogo__filtros select{height:38px;border:0;background:transparent;font-weight:600}.paginacao{display:flex;justify-content:center;gap:7px;margin-top:65px}.paginacao a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--linha)}.paginacao a[aria-current="page"]{background:var(--preto);color:var(--branco);border-color:var(--preto)}

.catalogo-home{border-top:1px solid var(--linha)}.catalogo-home__contagem{padding-bottom:7px;color:var(--tinta-2);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.catalogo-home__filtros{position:sticky;z-index:12;top:65px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,280px) auto;gap:12px;align-items:center;margin-bottom:34px;padding:14px;background:var(--papel);border:1px solid var(--linha)}.catalogo-home__busca{height:49px;display:flex;align-items:center;gap:11px;padding:0 15px;background:var(--papel-2);border-bottom:1px solid transparent}.catalogo-home__busca:focus-within{border-color:var(--tinta)}.catalogo-home__busca input{width:100%;height:100%;padding:0;border:0;background:transparent;outline:0}.catalogo-home__categoria{height:49px;display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--linha);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.catalogo-home__categoria select{flex:1;height:100%;min-width:0;padding:0;border:0;background:transparent;font-weight:600}.catalogo-home__limpar{height:49px;padding:0 18px;border:1px solid var(--tinta);background:transparent;font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.catalogo-home__vazio{padding:60px 20px;text-align:center;color:var(--tinta-2);border:1px solid var(--linha)}.produto-card[hidden]{display:none}

.rodape{padding:70px 0 20px;border-top:1px solid var(--linha);background:var(--papel-2)}.rodape__grade{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;padding-bottom:65px}.rodape__marca .marca{justify-content:flex-start}.rodape__marca p{max-width:32ch;margin-top:18px;color:var(--tinta-2)}.rodape h3{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px}.rodape__grade>div>a:not(.marca){display:block;margin:9px 0;color:var(--tinta-2);font-size:.8rem}.rodape__grade>div>a:hover{color:var(--tinta);text-decoration:underline}.gaveta-veu{position:fixed;z-index:89;inset:0;background:rgba(0,0,0,.48);opacity:0;visibility:hidden;transition:.3s}.gaveta-veu.aberto{opacity:1;visibility:visible}.gaveta{position:fixed;z-index:90;top:0;right:0;width:min(440px,100%);height:100dvh;display:grid;grid-template-rows:auto 1fr auto;background:var(--papel);transform:translateX(102%);transition:transform .35s cubic-bezier(.3,.7,.2,1)}.gaveta.aberta{transform:none}.gaveta>header{height:75px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--linha);font-family:var(--serif);font-size:1.35rem}.gaveta__corpo{overflow-y:auto;padding:22px}.gaveta__item{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linha)}.gaveta__item img{width:68px;height:88px;object-fit:cover}.gaveta>footer{padding:22px;border-top:1px solid var(--linha)}.gaveta>footer>div{display:flex;justify-content:space-between;margin-bottom:16px}.gaveta>footer .botao{width:100%}.gaveta>footer>a:last-child{display:block;text-align:center;margin-top:13px;font-size:.72rem;text-decoration:underline}

/* Views herdadas do núcleo */
.grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.secao__cabeca{position:relative}.campo{display:grid;gap:6px;margin-bottom:15px}.campo input,.campo select,.campo textarea,input[type="text"],input[type="email"],input[type="password"],input[type="number"],select,textarea{max-width:100%;border:1px solid var(--linha);background:var(--papel);padding:12px}.botao--bloco{width:100%}.produto{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:50px}.galeria-produto__principal img{width:100%;background:var(--papel-2)}.resumo-produto{position:sticky;top:95px;align-self:start}.tabela,.rolar table{width:100%;border-collapse:collapse}.tabela td,.tabela th,.rolar td,.rolar th{padding:11px;border-bottom:1px solid var(--linha);text-align:left}.menu-conta{position:relative}.menu-conta>summary{list-style:none}.menu-conta>summary::-webkit-details-marker{display:none}.menu-conta__caixa{position:absolute;right:0;top:46px;min-width:210px;padding:10px;background:var(--papel);border:1px solid var(--linha);box-shadow:var(--sombra)}.menu-conta__caixa a,.menu-conta__caixa button{display:block;width:100%;padding:9px;border:0;background:none;text-align:left}.aviso-lgpd{position:fixed;z-index:80;left:20px;right:20px;bottom:20px;max-width:650px;padding:18px;background:var(--preto);color:var(--branco);box-shadow:var(--sombra)}

@media(max-width:1050px){.nav{gap:15px}.nav>a,.nav summary{font-size:.69rem}.grade-produtos,.grade{grid-template-columns:repeat(3,1fr)}.beneficios__grade{grid-template-columns:repeat(2,1fr);row-gap:18px}.beneficios__grade>span:nth-child(2){border-right:0}.destaque{flex-basis:30%}.rodape__grade{grid-template-columns:1.4fr repeat(3,1fr);gap:28px}}
@media(max-width:800px){.limite{width:min(calc(100% - 32px),var(--limite))}.anuncio .limite span:not(:first-child){display:none}.anuncio .limite{justify-content:center}.topo{height:66px}.topo__linha{grid-template-columns:1fr auto 1fr}.topo__menu{display:grid;justify-self:start}.nav{position:absolute;top:66px;left:0;right:0;display:none;padding:18px 20px;background:var(--papel);border-bottom:1px solid var(--linha);box-shadow:var(--sombra)}.nav.aberto{display:block}.nav>a,.nav summary{display:block;padding:12px 0;font-size:.76rem}.nav__categorias>div{position:static;box-shadow:none;border-width:1px 0 0;margin-top:5px}.marca img{max-width:125px;max-height:35px}.marca span{font-size:1.65rem}.topo__acoes>.icone:nth-of-type(1),.topo__acoes .menu-conta{display:none}.hero{height:72vh;min-height:540px}.hero__conteudo{padding-bottom:75px}.hero__conteudo strong{font-size:clamp(3.1rem,13vw,5.8rem)}.hero__controle{right:16px;bottom:20px}.secao{padding-block:70px}.secao__cabeca{margin-bottom:28px}.colecao__mosaico{height:auto;grid-template-columns:1.45fr 1fr;grid-template-rows:repeat(2,48vw)}.grade-produtos,.grade{grid-template-columns:repeat(2,1fr);gap:30px 9px}.destaque{flex-basis:min(65vw,260px)}.catalogo-home__filtros{top:66px;grid-template-columns:1fr 210px}.catalogo-home__limpar{grid-column:1/3}.rodape__grade{grid-template-columns:1fr 1fr}.rodape__marca{grid-column:1/3}.rodape{padding-bottom:26px}.produto{grid-template-columns:1fr}.resumo-produto{position:static}}
@media(max-width:560px){.topo__acoes .busca{display:none}.beneficios__grade{grid-template-columns:1fr 1fr;width:100%;padding:17px 16px;gap:14px 0}.beneficios__grade>span{padding:0 10px;border:0}.beneficios svg{display:none}.beneficios b{font-size:.62rem}.beneficios small{font-size:.6rem}.colecao__mosaico{grid-template-columns:1fr 1fr;grid-template-rows:115vw 58vw}.colecao__foto--principal{grid-column:1/3;grid-row:auto}.colecao__foto>span{padding:40px 14px 14px}.secao__cabeca{align-items:flex-end}.secao__cabeca h2{font-size:2.4rem}.link-seta{font-size:.58rem}.grade-produtos{grid-template-columns:repeat(2,minmax(0,1fr))}.produto-card__info{display:block;font-size:.7rem}.produto-card__info p{margin-top:4px}.produto-card__ver{display:none}.produto-card__favorito{width:34px;height:34px}.catalogo{padding-block:45px 80px}.catalogo__cabeca{margin-bottom:28px}.catalogo__filtros label>span{display:none}.catalogo-home__contagem{display:none}.catalogo-home__filtros{position:relative;top:auto;grid-template-columns:1fr;padding:10px}.catalogo-home__categoria,.catalogo-home__limpar{grid-column:auto}.rodape__grade{grid-template-columns:1fr 1fr;gap:35px 20px}.destaque{flex-basis:72vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.revelar{opacity:1;transform:none;transition:none}.hero__slide,.produto-card__foto,.colecao__foto img{transition:none}}

/* Catálogo Mamá: cinco colunas e cartões editoriais. */
.grade-produtos,.grade{grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 12px}.produto-card{min-width:0}.produto-card__visual{border:1px solid var(--linha)}.produto-card__visual:after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;box-shadow:inset 0 0 0 0 var(--tinta);transition:box-shadow .25s}.produto-card:hover .produto-card__visual:after{box-shadow:inset 0 0 0 2px var(--tinta)}.produto-card__favorito{z-index:4;border:1px solid #d8d8d4;transition:background .2s,color .2s,transform .2s}.produto-card__favorito:hover{transform:scale(1.07)}.produto-card__favorito.ativo{background:#050505;color:#fff;border-color:#050505}.produto-card__favorito.ativo svg{fill:currentColor}.produto-card__ver{z-index:4;background:#050505;color:#fff;border:1px solid #050505}.produto-card__ver:hover{background:#fff;color:#050505}.produto-card__info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 9px;padding:14px 3px 0}.produto-card__categoria{grid-column:1/3;margin-bottom:5px;color:var(--tinta-3);font-size:.55rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.produto-card__nome{min-width:0;font-size:.74rem;font-weight:700;line-height:1.35}.produto-card__nome:hover{text-decoration:underline;text-underline-offset:3px}.produto-card__preco{margin:0;font-size:.7rem;font-weight:600;white-space:nowrap}.produto-card__preco del{display:block;color:var(--tinta-3);font-size:.6rem;font-weight:400}

/* Carrinho completo nas views herdadas e na gaveta. */
.botao--vazado{background:transparent;color:var(--tinta)}.botao--pequeno{min-height:38px;padding-inline:16px;font-size:.65rem}.colunas{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:32px;align-items:start}.painel--fixo{position:sticky;top:90px;padding:24px}.item{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;align-items:start;padding:18px;border-bottom:1px solid var(--linha)}.item__foto img{width:88px;height:116px;object-fit:cover}.item__nome{font-weight:700}.item__var{color:var(--tinta-2);font-size:.75rem;margin-top:4px}.qtd{display:inline-flex;align-items:center;margin-top:10px;border:1px solid var(--linha)}.qtd button{width:34px;height:34px;border:0;background:transparent}.qtd button:hover{background:var(--papel-2)}.qtd span{min-width:34px;text-align:center;font-size:.8rem}.totais{display:flex;justify-content:space-between;padding:8px 0;color:var(--tinta-2);font-size:.82rem}.totais--soma{margin-top:12px;padding-top:16px;border-top:1px solid var(--tinta);color:var(--tinta);font-size:1.05rem;font-weight:700}.etiqueta{display:inline-flex;margin-top:6px;padding:4px 8px;background:var(--papel-2);font-size:.61rem;font-weight:700;text-transform:uppercase}.etiqueta--espera{background:#fff3d7;color:#765000}.etiqueta--erro{background:#fde7e7;color:#a11212}.aviso{padding:14px 16px;border:1px solid var(--linha);margin-bottom:16px}.aviso--aviso{border-color:#a47713}
.gaveta__item{grid-template-columns:72px minmax(0,1fr) auto;align-items:start;padding:15px 0}.gaveta__item img{width:72px;height:96px;border:1px solid var(--linha)}.gaveta__item strong{display:block;font-size:.8rem;line-height:1.35;margin-bottom:4px}.gaveta__item small{display:block;color:var(--tinta-2);font-size:.68rem}.gaveta__qtd{width:max-content;display:grid;grid-template-columns:28px 30px 28px;align-items:center;margin-top:10px;border:1px solid var(--linha)}.gaveta__qtd button{height:28px;padding:0;border:0;background:transparent}.gaveta__qtd button:hover{background:var(--papel-2)}.gaveta__qtd span{text-align:center;font-size:.7rem}.gaveta__remover{padding:4px 0;border:0;border-bottom:1px solid var(--tinta);background:transparent;font-size:.57rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gaveta__remover:hover{opacity:.55}.menu-conta__cabeca{padding:9px;border-bottom:1px solid var(--linha);margin-bottom:5px}.menu-conta__cabeca span{display:block;color:var(--tinta-2);font-size:.68rem}

@media(max-width:1250px){.grade-produtos,.grade{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.grade-produtos,.grade{grid-template-columns:repeat(3,minmax(0,1fr))}.colunas{grid-template-columns:1fr}.painel--fixo{position:static}}
@media(max-width:800px){.grade-produtos,.grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 9px}.item{grid-template-columns:72px minmax(0,1fr);padding-inline:0}.item>div:last-child{grid-column:2;text-align:left!important}}
@media(max-width:560px){.produto-card__info{display:grid;font-size:inherit}.produto-card__info p{margin:0}.produto-card__categoria{font-size:.5rem}.produto-card__nome{font-size:.68rem}.produto-card__preco{font-size:.65rem}}

/* Páginas internas: mesma assinatura editorial da home, sem trocar a
   marcação funcional do núcleo. */
.conteudo-interno>h1,.conteudo-interno>section>h1{position:relative;margin-bottom:38px;padding-bottom:22px;border-bottom:1px solid var(--linha);font-size:clamp(2.6rem,5vw,5.2rem)}.conteudo-interno>h1:after,.conteudo-interno>section>h1:after{content:"MAMÁ";position:absolute;right:0;bottom:24px;font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.22em}.conteudo-interno .painel{padding:24px;border-color:var(--linha);box-shadow:none}.conteudo-interno .painel:hover{border-color:color-mix(in srgb,var(--tinta) 35%,var(--linha))}.conteudo-interno .ajuda{color:var(--tinta-2);font-size:.78rem}.conteudo-interno .campo>span:first-child{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.conteudo-interno input:focus,.conteudo-interno select:focus,.conteudo-interno textarea:focus{outline:1px solid var(--tinta);outline-offset:0}.conteudo-interno .botao:not(.botao--vazado){background:var(--preto);color:var(--branco);border-color:var(--preto)}

/* Produto */
.mama-pagina--store-product .colunas{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:48px}.mama-pagina--store-product .galeria-produto__principal{overflow:hidden;background:var(--papel-2)}.mama-pagina--store-product .galeria-produto__principal img{aspect-ratio:3/4;object-fit:cover;transition:transform .45s}.mama-pagina--store-product .galeria-produto__principal:hover img{transform:scale(1.025)}.galeria-produto__miniaturas{display:flex;gap:8px;overflow:auto}.galeria-produto__miniatura{width:72px;padding:0;border:1px solid var(--linha);background:var(--papel)}.galeria-produto__miniatura.ativa{border:2px solid var(--tinta)}.galeria-produto__miniatura img{width:100%;aspect-ratio:3/4;object-fit:cover}.mama-pagina--store-product .painel--fixo{padding:32px}.mama-pagina--store-product .painel--fixo h1{font-size:clamp(2.1rem,3.4vw,3.8rem);margin-bottom:16px}.mama-pagina--store-product .opcoes{padding-block:17px;border-top:1px solid var(--linha)}.opcoes__titulo{display:block;margin-bottom:10px;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.opcoes__lista{display:flex;flex-wrap:wrap;gap:7px}.opcoes__lista--empilhada{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.opcao{min-width:43px;min-height:41px;padding:8px 12px;border:1px solid var(--linha);background:var(--papel)}.opcao--cor{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left}.opcao__amostra{position:relative;width:28px;height:28px;display:block;flex:none;border-radius:50%;background:var(--cor-opcao);border:1px solid rgba(0,0,0,.28);box-shadow:0 0 0 2px var(--papel),0 0 0 3px var(--linha)}.opcao__amostra:after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid rgba(255,255,255,.28)}.opcao__nome{font-size:.74rem;font-weight:700}.opcao__esgotado{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}.opcao[aria-pressed="true"]{background:var(--preto);color:var(--branco);border-color:var(--preto)}.opcao[aria-pressed="true"] .opcao__amostra{box-shadow:0 0 0 2px var(--preto),0 0 0 4px var(--branco)}.opcao--esgotada{opacity:.4}.compartilhar{display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--linha)}.compartilhar__rotulo{margin-right:auto;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}

/* Categorias e destaques */
.mama-pagina--store-categories>.grade{gap:14px}.mama-pagina--store-categories .cartao{position:relative;overflow:hidden;min-height:420px;background:#111;color:#fff}.mama-pagina--store-categories .cartao__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.mama-pagina--store-categories .cartao:hover .cartao__foto{transform:scale(1.035)}.mama-pagina--store-categories .cartao:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75));pointer-events:none}.mama-pagina--store-categories .cartao__corpo{position:absolute;z-index:2;inset:auto 0 0;padding:24px}.mama-pagina--store-categories .cartao__nome{font-family:var(--serif);font-size:1.6rem}.mama-pagina--store-reels .reels,.conteudo-interno .reels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.mama-pagina--store-reels .reel,.conteudo-interno .reel{position:relative;overflow:hidden;aspect-ratio:9/16;background:#111}.mama-pagina--store-reels .reel video,.conteudo-interno .reel video{width:100%;height:100%;object-fit:cover}.reel__insta{position:absolute;inset:0;overflow:hidden}.reel__insta iframe{position:absolute;top:-24%;left:-30%;width:160%;height:175%;border:0}.reel__destino{position:absolute;inset:0;z-index:1;display:block}.reel--clicavel{cursor:pointer}.reel__play,.reel__som{position:absolute;z-index:3;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff}.reel__play{left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%)}.reel__som{right:10px;top:10px;width:34px;height:34px}.reel__info{position:absolute;z-index:2;pointer-events:none;inset:auto 0 0;padding:55px 15px 16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.85))}.reel__info strong,.reel__info span{display:block}

/* Conta, pedidos, institucionais e checkout */
.pagina-institucional{width:100%;max-width:1120px;margin:0 auto;padding-bottom:34px}.pagina-institucional__cabeca{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:34px;padding:28px 0 54px;margin-bottom:58px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.pagina-institucional__rotulo{padding-top:10px;font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--tinta-2)}.pagina-institucional__cabeca h1{max-width:none;margin:0!important;padding:0!important;border:0!important;font-size:clamp(2.8rem,4.6vw,4.6rem)!important;line-height:.98;letter-spacing:-.04em}.pagina-institucional__cabeca h1:after{display:none!important}.pagina-institucional__conteudo{width:min(100%,780px);margin-left:auto;color:var(--tinta-2);font-size:1.04rem;line-height:1.82}.pagina-institucional__conteudo>p:first-child{font-size:1.12rem;color:var(--tinta)}.pagina-institucional__conteudo h2,.pagina-institucional__conteudo h3,.pagina-institucional__conteudo h4{position:relative;color:var(--tinta);line-height:1.15;margin:2.2em 0 .7em;padding-top:1.05em;border-top:1px solid var(--linha)}.pagina-institucional__conteudo h2{font-size:clamp(1.7rem,2.5vw,2.25rem);letter-spacing:-.025em}.pagina-institucional__conteudo h3{font-size:1.45rem}.pagina-institucional__conteudo p{margin:0 0 1.25em}.pagina-institucional__conteudo strong{color:var(--tinta);font-weight:650}.pagina-institucional__conteudo a{color:var(--tinta);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.pagina-institucional__conteudo ul,.pagina-institucional__conteudo ol{padding-left:1.3em;margin:0 0 1.5em}.pagina-institucional__conteudo li{padding:.25em 0}.pagina-institucional__conteudo blockquote{margin:30px 0;padding:20px 24px;border-left:2px solid var(--tinta);background:color-mix(in srgb,var(--tinta) 4%,transparent);color:var(--tinta)}.pagina-institucional__conteudo img{height:auto;margin:30px auto}.pagina-institucional__conteudo table{width:100%;border-collapse:collapse;margin:30px 0;font-size:.92rem}.pagina-institucional__conteudo th,.pagina-institucional__conteudo td{padding:13px;border:1px solid var(--linha);text-align:left}.pagina-institucional__conteudo th{color:var(--tinta);background:color-mix(in srgb,var(--tinta) 5%,transparent)}
@media(max-width:700px){.pagina-institucional{padding-bottom:16px}.pagina-institucional__cabeca{display:block;padding:18px 0 32px;margin-bottom:34px}.pagina-institucional__rotulo{display:block;padding:0;margin-bottom:18px}.pagina-institucional__cabeca h1{font-size:clamp(2.25rem,10vw,3.2rem)!important;line-height:1}.pagina-institucional__conteudo{font-size:.96rem;line-height:1.75}.pagina-institucional__conteudo>p:first-child{font-size:1.02rem}.pagina-institucional__conteudo h2{font-size:1.55rem;margin-top:1.9em;padding-top:.9em}.pagina-institucional__conteudo table{display:block;overflow-x:auto}}
.mama-pagina--store-page{max-width:900px}.mama-pagina--store-page>article,.mama-pagina--store-page>.pagina{font-family:var(--serif);font-size:1.12rem;line-height:1.8}.mama-pagina--account-login,.mama-pagina--account-register,.mama-pagina--account-recover,.mama-pagina--account-new-password,.mama-pagina--store-track{max-width:620px}.pedido-linha{display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--linha)}.pedido-linha__codigo{font-family:var(--serif);font-size:1.25rem}.pedido-linha__meta{color:var(--tinta-2);font-size:.75rem}.pedido-linha__acoes{display:flex;align-items:center;gap:7px}.escolha-acesso{padding:18px;border:1px solid var(--linha);margin-bottom:12px}.voltar-passo{display:inline-block;margin-top:16px;font-size:.7rem;text-decoration:underline}.linha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.marcar{display:flex;align-items:flex-start;gap:9px;margin:12px 0}.marcar input{flex:none}.nota-excursao{display:flex;gap:12px;padding:15px;border:1px solid var(--linha)}.busca-cidade{display:flex;gap:8px;margin-bottom:20px}.busca-cidade__campo{position:relative;flex:1}.busca-cidade__campo input{width:100%;padding-right:45px}.busca-cidade__lupa{position:absolute;right:7px;top:50%;transform:translateY(-50%)}.grade-excursoes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.excursao-cartao,.excursao{position:relative;padding:22px;border:1px solid var(--linha);background:var(--papel)}.excursao-cartao__coracao{position:absolute;right:12px;top:12px}.excursao-cartao__rota{font-family:var(--serif);font-size:1.25rem;margin-block:12px}.excursao-cartao__cidades{color:var(--tinta-2);font-size:.75rem}
.excursoes-cabeca{display:grid;grid-template-columns:92px minmax(0,1fr);gap:30px;align-items:start;padding:28px 0 44px;margin-bottom:32px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.excursoes-cabeca__icone{width:74px;height:74px;display:grid;place-items:center;border:1px solid var(--tinta);border-radius:50%;color:var(--tinta)}.excursoes-cabeca__rotulo{display:block;margin:4px 0 13px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-2)}.excursoes-cabeca h1{margin:0 0 18px!important;padding:0!important;border:0!important;font-size:clamp(2.8rem,5vw,4.8rem)!important}.excursoes-cabeca h1:after{display:none!important}.excursoes-cabeca p{max-width:68ch;margin:0;color:var(--tinta-2);font-size:1rem;line-height:1.7}
@media(max-width:700px){.excursoes-cabeca{grid-template-columns:58px minmax(0,1fr);gap:16px;padding:18px 0 28px;margin-bottom:26px}.excursoes-cabeca__icone{width:52px;height:52px}.excursoes-cabeca__icone svg{width:25px;height:25px}.excursoes-cabeca__rotulo{margin-top:1px;margin-bottom:10px;font-size:.59rem}.excursoes-cabeca h1{font-size:2.55rem!important;margin-bottom:13px!important}.excursoes-cabeca p{grid-column:1/-1;font-size:.92rem}.busca-cidade{align-items:stretch}.busca-cidade>.botao{padding-inline:15px}}
.contato-pagina{width:100%;max-width:1120px;margin:0 auto}.contato-cabeca{display:grid;grid-template-columns:92px minmax(0,1fr);gap:30px;align-items:start;padding:28px 0 44px;margin-bottom:44px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.contato-cabeca__icone{width:74px;height:74px;display:grid;place-items:center;border:1px solid var(--tinta);border-radius:50%}.contato-cabeca>div>span{display:block;margin:4px 0 13px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-2)}.contato-cabeca h1{margin:0 0 16px!important;padding:0!important;border:0!important;font-size:clamp(2.8rem,4.6vw,4.6rem)!important}.contato-cabeca h1:after{display:none!important}.contato-cabeca p{margin:0;max-width:64ch;color:var(--tinta-2);font-size:1rem}.contato-introducao{width:min(100%,780px);margin:0 0 44px auto;color:var(--tinta-2);line-height:1.75}.contato-grade{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1px;margin-bottom:70px;background:var(--linha);border:1px solid var(--linha)}.contato-dados,.contato-formulario{padding:38px;background:var(--papel)}.contato-pagina h2{margin:0 0 28px;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500}.contato-dados dl{margin:0}.contato-dados dl>div{padding:17px 0;border-top:1px solid var(--linha)}.contato-dados dt{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:var(--tinta-2);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contato-dados dd{margin:0;color:var(--tinta);font-size:.91rem;line-height:1.55}.contato-whatsapp{margin-top:26px}.contato-formulario .linha{gap:12px}.contato-formulario textarea{resize:vertical}.contato-formulario .botao{display:inline-flex;gap:9px}.contato-armadilha{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.contato-mapa{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);border-top:1px solid var(--linha);padding-top:50px}.contato-mapa>div{padding:18px 45px 18px 0}.contato-mapa h2{margin-bottom:14px}.contato-mapa p{color:var(--tinta-2);line-height:1.65}.contato-mapa iframe{width:100%;height:420px;border:0;filter:grayscale(1) contrast(.92)}
@media(max-width:760px){.contato-cabeca{grid-template-columns:58px minmax(0,1fr);gap:16px;padding:18px 0 28px;margin-bottom:30px}.contato-cabeca__icone{width:52px;height:52px}.contato-cabeca__icone svg{width:24px;height:24px}.contato-cabeca h1{font-size:2.55rem!important}.contato-cabeca p{font-size:.92rem}.contato-introducao{margin-bottom:30px}.contato-grade{grid-template-columns:1fr;margin-bottom:48px}.contato-dados,.contato-formulario{padding:24px 20px}.contato-mapa{grid-template-columns:1fr;padding-top:34px}.contato-mapa>div{padding:0 0 20px}.contato-mapa iframe{height:320px}}

@media(max-width:980px){.mama-pagina--store-product .colunas{grid-template-columns:1fr}.mama-pagina--store-reels .reels,.conteudo-interno .reels{grid-template-columns:repeat(3,1fr)}.grade-excursoes{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.conteudo-interno{padding-top:28px}.conteudo-interno>h1,.conteudo-interno>section>h1{font-size:2.7rem}.conteudo-interno>h1:after,.conteudo-interno>section>h1:after{display:none}.conteudo-interno .painel{padding:17px}.linha{grid-template-columns:1fr}.mama-pagina--store-reels .reels,.conteudo-interno .reels{grid-template-columns:repeat(2,1fr)}.mama-pagina--store-categories .cartao{min-height:290px}.grade-excursoes{grid-template-columns:1fr}.pedido-linha{grid-template-columns:1fr}.pedido-linha__acoes{flex-wrap:wrap}}

/* Nenhum recurso do cabeçalho some no celular. */
@media(max-width:800px){.topo__linha{grid-template-columns:40px minmax(72px,1fr) auto}.topo__acoes>.icone:nth-of-type(1){display:grid}.topo__acoes .menu-conta{display:block}.topo__acoes .icone{width:35px;height:42px}.topo__acoes{gap:0}.marca{min-width:0}.marca img{max-width:105px}.menu-conta__caixa{position:fixed;top:97px;right:12px}}
@media(max-width:560px){.topo__acoes .busca{display:block}.marca img{max-width:82px}.busca form{position:fixed;top:97px;left:10px;right:10px;width:auto}}

/* Carrossel profissional de reels: navega por controles e nunca prende o
   gesto vertical da página. */
.destaques__acoes{display:flex;align-items:center;gap:8px}.destaques__seta{width:43px;height:43px;display:grid;place-items:center;border:1px solid currentColor;background:transparent;color:inherit;font-size:1.15rem;transition:background .2s,color .2s,opacity .2s}.destaques__seta:hover{background:var(--branco);color:var(--preto)}.destaques__seta:disabled{opacity:.28;cursor:default}.destaques__acoes .link-seta{margin-left:14px}.destaques__trilho{overflow-x:hidden!important;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:none;padding-bottom:0;touch-action:pan-y;overscroll-behavior-x:none}.destaques__trilho::-webkit-scrollbar{display:none}.destaque{flex:0 0 calc((100% - 39px)/4);scroll-snap-align:none;touch-action:pan-y;user-select:none}.destaque video,.destaque__instagram,.destaque__instagram iframe{touch-action:pan-y}.destaque video{pointer-events:none}.destaque__instagram iframe{pointer-events:none}

/* Rodapé Mamá reorganizado e centralizado. */
.rodape{padding:76px 0 24px;background:var(--papel-2);color:var(--tinta)}.rodape__grade{grid-template-columns:1.5fr repeat(3,1fr);align-items:start;gap:clamp(28px,5vw,82px);padding-bottom:52px}.rodape__marca .marca{justify-content:flex-start}.rodape__marca p{line-height:1.7}/* Sem border-top aqui: quem desenha a divisória antes do bloco de confiança
   é .rodape-confianca, regra compartilhada pelos quatro temas. Com as duas,
   saíam duas linhas paralelas a 26px uma da outra. */
.rodape>.limite:last-of-type{text-align:center}.rodape-confianca{display:flex;align-items:center;justify-content:center;gap:24px 45px;flex-wrap:wrap}.rodape-selos,.rodape-pagamento{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.rodape-selos>span,.rodape-pagamento>span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid var(--linha);background:var(--papel);color:var(--tinta);font-size:.64rem}.rodape-selo-imagem{display:grid;place-items:center;min-height:34px}.rodape-social{display:flex;justify-content:center;gap:9px;margin:24px 0}.rodape-social a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--tinta);border-radius:50%;background:var(--papel);color:var(--tinta);transition:background .2s,color .2s,transform .2s}.rodape-social a:hover{background:var(--preto);color:var(--branco);transform:translateY(-2px)}.rodape-legal{display:flex;justify-content:center;gap:7px 20px;flex-wrap:wrap;max-width:950px;margin:0 auto;color:var(--tinta-2);font-size:.68rem;line-height:1.6}.rodape-legal span:not(:last-child):after{content:"·";margin-left:20px}.rodape-credito{margin-top:15px;color:var(--tinta-2);font-size:.65rem}.rodape-credito strong{color:var(--tinta)}

/* Contraste previsível em claro e escuro. */
.botao,.conteudo-interno .botao{background:var(--preto);color:var(--branco);border-color:var(--preto)}.botao:hover,.conteudo-interno .botao:hover{filter:none;opacity:.82}.botao--vazado,.conteudo-interno .botao--vazado{background:transparent;color:var(--tinta);border-color:var(--tinta)}.botao--vazado:hover,.conteudo-interno .botao--vazado:hover{background:var(--preto);color:var(--branco);opacity:1}.botao--claro{background:#fff!important;color:#080808!important;border-color:#fff!important}.botao--preto{background:#050505!important;color:#fff!important;border-color:#050505!important}.botao:disabled,button:disabled{opacity:.4}.catalogo-home__limpar{background:var(--papel);color:var(--tinta)}

@media(max-width:800px){.destaque{flex-basis:calc((100% - 13px)/2)}.destaques__acoes .link-seta{display:none}.rodape__grade{grid-template-columns:repeat(3,1fr);text-align:center}.rodape__marca{grid-column:1/4;display:grid;justify-items:center}.rodape__marca .marca{justify-content:center}.rodape__marca p{margin-inline:auto}.rodape h3{margin-bottom:13px}.rodape-confianca{display:grid}.rodape-legal{display:grid;gap:5px}.rodape-legal span:after{display:none}}
@media(max-width:560px){.destaques .secao__cabeca{align-items:center}.destaques__seta{width:39px;height:39px}.destaque{flex-basis:82%}.destaques__trilho{touch-action:pan-y}.rodape__grade{grid-template-columns:1fr 1fr;gap:32px 20px}.rodape__marca{grid-column:1/3}.rodape__grade>div:last-child{grid-column:1/3}.rodape-selos,.rodape-pagamento{display:grid;grid-template-columns:1fr 1fr}.rodape-selo-imagem{grid-column:1/3}.rodape-selos>span,.rodape-pagamento>span{justify-content:center;text-align:center}}

/* Materiais por coleção (atacado) ---------------------------------------- */
/* Só variáveis que os quatro temas declaram (--linha, --tinta*, --raio,
   --sombra) e fundo transparente, herdando a página. Cada tema nomeia o cartão
   de um jeito (--carta no aurora, --papel nos outros): fixar um deles pintaria
   o bloco com a cor errada nos demais. */
.materiais{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin-top:18px}
.material{display:flex;flex-direction:column;overflow:hidden;color:inherit;background:transparent;
  border:1px solid var(--linha,#e5e5e5);border-radius:var(--raio,12px);
  transition:transform .25s ease,box-shadow .25s ease}
.material:hover{transform:translateY(-2px);box-shadow:var(--sombra,0 8px 24px rgba(0,0,0,.08))}
.material__capa{display:block;aspect-ratio:4/3;overflow:hidden}
.material__capa img{width:100%;height:100%;object-fit:cover;display:block}
/* min-width:0 autoriza o texto longo a truncar em vez de esticar o cartão. */
.material__texto{display:flex;flex-direction:column;gap:5px;min-width:0;padding:14px 16px}
.material__texto strong{font-size:.95rem;line-height:1.3}
.material__texto small{font-size:.82rem;color:var(--tinta-3,#777);line-height:1.5}
/* margin-top:auto cola a etiqueta no rodapé: com descrições de tamanhos
   diferentes, sem isso ela flutuaria em alturas diferentes entre os cartões. */
.material__abrir{margin-top:auto;padding-top:6px;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;color:var(--tinta,currentColor)}

/* ==========================================================================
   Paridade com os demais temas

   As views do núcleo (produto, carrinho, checkout, conta, destaques,
   excursões) são as mesmas para todo tema e emitem sempre as mesmas classes.
   Como tema não carrega app.css, o que não estiver escrito aqui simplesmente
   não tem estilo -- e a função parece quebrada só porque o tema mudou.

   Este bloco cobre o que o mama ainda não tinha. Estrutura igual à dos outros
   temas (mesmo layout, mesmas posições); aparência traduzida para a linguagem
   daqui: canto reto, caixa alta com espaçamento, sem gradiente.
   ========================================================================== */

@keyframes mamaGirar{to{transform:rotate(360deg)}}

/* Avisos flutuantes (criados pelo JavaScript) ---------------------------- */
.torrada{padding:14px 16px;background:var(--papel);border:1px solid var(--tinta);color:var(--tinta);
  font-size:.82rem;box-shadow:var(--sombra)}
.torrada strong{display:block;font-weight:700;letter-spacing:.04em}
.torrada a{text-decoration:underline;font-weight:700}
.aviso--erro{border-color:#c0392b}
.etiqueta--ok{background:var(--tinta);color:var(--papel)}

/* Aviso de cookies ------------------------------------------------------- */
.aviso-lgpd__caixa{max-width:var(--limite);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.aviso-lgpd__caixa p{flex:1 1 320px;margin:0;font-size:.82rem;line-height:1.5;color:var(--tinta-2)}
.aviso-lgpd__caixa a{color:var(--tinta);text-decoration:underline}
.aviso-lgpd__aceitar{flex:0 0 auto;height:44px;padding:0 24px;border:1px solid var(--preto);
  background:var(--preto);color:var(--branco);font:inherit;font-size:.7rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase}

/* Destaques: /destaques e o bloco da página de produto usam .reels, que é
   view do núcleo e o mama não sobrescreve -- diferente da home, que tem
   carrossel próprio (.destaques__trilho). */
.reels{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;
  scroll-snap-type:x mandatory;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}
.reels::-webkit-scrollbar{width:0;height:0;display:none}
.reel{position:relative;flex:0 0 auto;width:min(62vw,222px);aspect-ratio:9/16;overflow:hidden;
  background:#000;scroll-snap-align:center;border-radius:var(--raio)}
.reel video{width:100%;height:100%;object-fit:cover;touch-action:pan-x pan-y pinch-zoom}
.reel__insta{position:absolute;inset:0;overflow:hidden}
.reel__insta iframe{position:absolute;top:-24%;left:-30%;width:160%;height:175%;border:0;pointer-events:none}
.reel__info{position:absolute;inset:auto 0 0;z-index:2;pointer-events:none;padding:14px 12px;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.82))}
.reel__info a,.reel__info b{pointer-events:auto}
.reel__info strong{display:block;font-size:.82rem;font-weight:700;letter-spacing:.04em}
.reel__play,.reel__som{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;
  border:0;background:rgba(0,0,0,.45);color:#fff;cursor:pointer}
.reel__play{inset:0;margin:auto;width:52px;height:52px;border-radius:50%;transition:opacity .2s}
.reel__som{top:10px;right:10px;width:34px;height:34px;border-radius:50%}
.reel.tocando .reel__play{opacity:0;pointer-events:none}
.reels-palco{position:relative}
.reels-seta{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;
  display:grid;place-items:center;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;
  opacity:0;transition:opacity .2s,background .2s}
.reels-seta--anterior{left:6px}
.reels-seta--proxima{right:6px}
.reels-palco:hover .reels-seta{opacity:1}
.reels-seta:hover{background:rgba(0,0,0,.85)}
.reels-seta:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}
/* Onde não há mouse a seta não apareceria nunca: no toque, o arrasto é o
   gesto natural, então elas ficam discretas mas presentes. */
@media(hover:none){.reels-seta{opacity:.85}}
@media(max-width:680px){
  .reels{margin-inline:calc(50% - 50vw);padding-inline:9vw;scroll-padding-inline:9vw;gap:2vw}
  .reel{width:82vw!important;max-height:70vh}
}

/* Página de Destaques no mobile: a regra editorial antiga desta página
   convertia .reels em grid de duas colunas e vencia o carrossel compartilhado.
   Mantemos uma única trilha, com sangria total e o próximo reel à vista. */
@media(max-width:680px){
  .mama-pagina--store-reels>.reels,
  .mama-pagina--store-reels .reels-palco .reels{
    width:100%;
    display:flex!important;
    flex-wrap:nowrap;
    grid-template-columns:none;
    gap:9px;
    margin-inline:0;
    padding-inline:5vw;
    scroll-padding-inline:5vw;
    overflow-x:auto;
    overflow-y:hidden}
  .mama-pagina--store-reels>.reels{
    width:100vw;
    margin-inline:calc(50% - 50vw)}
  .mama-pagina--store-reels .reels-palco{
    width:100vw;
    max-width:none;
    margin-inline:calc(50% - 50vw)}
  .mama-pagina--store-reels .reel{
    flex:0 0 82vw;
    width:82vw!important;
    min-width:0;
    scroll-snap-align:center}
}

/* Preço nos cartões que a página de produto monta (relacionados) ---------- */
.cartao__preco{margin-top:6px;font-size:.82rem;font-weight:700;letter-spacing:.04em;color:var(--tinta)}
.cartao__de{margin-left:6px;font-size:.74rem;font-weight:400;color:var(--tinta-3);text-decoration:line-through}

/* Botões e ícones do núcleo ---------------------------------------------- */
.icone-btn,.senha-olho{display:inline-flex;align-items:center;justify-content:center;
  border:0;background:transparent;color:inherit;cursor:pointer}
.senha-olho{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;color:var(--tinta-3)}
.senha-inv{position:relative;display:block;width:100%;min-width:0}.senha-inv input{width:100%;padding-right:52px}
.botao--zap{background:#25d366;border-color:#25d366;color:#fff}
.botao--zap:hover{filter:brightness(1.08)}
.menu-conta__sair{display:block;width:100%;margin-top:6px;padding:11px 13px;border:0;border-top:1px solid var(--linha);
  background:transparent;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:#c0392b;text-align:left;cursor:pointer}
.menu-conta__sair:hover{background:var(--papel-2)}
.pedido-linha__info{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}

/* Busca por cidade (excursões) ------------------------------------------- */
.busca-cidade__limpar{position:absolute;right:44px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:0;background:var(--papel-2);color:var(--tinta-2);
  font-size:1rem;line-height:1;cursor:pointer}
.busca-cidade__girando{position:absolute;right:14px;top:50%;margin-top:-9px;width:18px;height:18px;
  border-radius:50%;border:2px solid var(--linha);border-top-color:var(--tinta-2);
  animation:mamaGirar .7s linear infinite}

/* Excursões: lista do checkout e cartões do diretório -------------------- */
.excursao-lista{max-height:340px;overflow-y:auto;padding-right:4px}
/* min-width:0 é o que autoriza o nome longo a truncar dentro do flex, em vez
   de empurrar o botão do WhatsApp para fora da linha. */
.excursao__texto{display:block;flex:1 1 auto;min-width:0;overflow:hidden}
.excursao__texto strong{font-size:.88rem}
.excursao__rota{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:.76rem;color:var(--tinta-3)}
.excursao__selo{flex:0 0 auto;align-self:center;margin:0;padding:3px 9px;white-space:nowrap;
  background:#25d366;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.excursao__selo--estado{background:var(--papel-2);color:var(--tinta-2)}
.excursao__zap{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;margin:0;
  border:1px solid #25d366;background:transparent;color:#25d366}
.excursao__zap:hover{background:#25d366;color:#fff}
.excursao-cartao__origem{margin:0 0 4px;font-size:.84rem;color:var(--tinta-2)}
.excursao-cartao__ponto{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:.82rem;color:var(--tinta-2)}
.excursao-cartao__zap{margin-top:auto;background:#25d366;border-color:#25d366;color:#fff}
.excursao-cartao__zap:hover{filter:brightness(1.08)}
.excursao-cartao__fone{margin:8px 0 0;text-align:center;font-size:.78rem;color:var(--tinta-3)}
.nota-excursao__i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;
  background:var(--tinta);color:var(--papel);font-size:.7rem;font-weight:800;font-style:normal}

/* Rodapé padronizado: redes no topo, políticas sob a identidade legal ----- */
/* O modificador --topo só reposiciona: a aparência dos ícones continua sendo
   a que cada tema já definiu em .rodape-social, para o bloco não destoar. */
.rodape-social--coluna{justify-content:flex-start;margin:18px 0 0;padding:0;border:0}
.rodape-politicas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;
  margin-top:8px;font-size:.78rem}
.rodape-politicas a{color:inherit;opacity:.8;text-decoration:underline;text-underline-offset:3px}
.rodape-politicas a:hover{opacity:1}
.rodape-politicas span{opacity:.45}

/* ==========================================================================
   Vitrine do Mamá: mais ar, cantos suaves e o supérfluo só no hover
   ========================================================================== */

/* Cantos levemente arredondados. O tema nasceu com --raio:0 (canto reto) e
   nenhuma regra chegou a usar a variável, então ela ficou disponível: passa a
   valer de verdade a partir daqui, nos elementos da vitrine. */
:root{--raio:6px}

/* Mais respiro entre os produtos. A coluna cresce mais que a linha porque a
   informação (nome e preço) já separa verticalmente; o que faltava era o
   espaço lateral, que é o que dá o ar editorial. */
.grade-produtos{gap:52px 26px}
.grade{gap:26px}
@media(min-width:1100px){.grade-produtos,.grade{gap:60px 32px}}
@media(max-width:680px){
  .grade-produtos{gap:34px 12px}
  .grade{gap:34px 12px}
}

.produto-card__visual{overflow:hidden;border-radius:var(--raio)}
.produto-card__foto{border-radius:var(--raio)}

/* --- O que só aparece no hover ------------------------------------------ */
/* Coração e categoria entram juntos, com um respiro de deslocamento. Ficarem
   sempre visíveis polui uma grade que quer ser vitrine, e nenhum dos dois é
   necessário para decidir olhar o produto. */
.produto-card__favorito{opacity:0;transform:translateY(-4px);
  transition:opacity .25s ease,transform .25s ease,background .2s,color .2s}
.produto-card:hover .produto-card__favorito{opacity:1;transform:none}

/* Três exceções em que eles TÊM de aparecer sem hover:
   1. teclado — sem isto o foco vai para um botão invisível;
   2. já favoritado — esconder o que está salvo é esconder a própria resposta;
   3. aparelho sem mouse — onde hover nunca acontece e some para sempre. */
.produto-card__favorito:focus-visible,
.produto-card__favorito.amado{opacity:1;transform:none}
@media(hover:none){.produto-card__favorito{opacity:1;transform:none}}

.produto-card__favorito.amado{background:var(--preto);border-color:var(--preto);color:var(--branco)}

/* --- Categoria flutuando sobre a foto ----------------------------------- */
/* Canto inferior esquerdo: o selo de promoção mora no alto à esquerda e o
   coração no alto à direita, então é o único canto livre. */
.produto-card__categoria{position:absolute;z-index:3;left:9px;bottom:9px;
  max-width:calc(100% - 18px);padding:5px 10px;border-radius:var(--raio);
  background:rgba(255,255,255,.94);color:#0a0a0a;
  font-size:.55rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.produto-card__categoria:hover{background:var(--preto);color:var(--branco)}
html[data-modo="escuro"] .produto-card__categoria{background:rgba(18,18,18,.92);color:#f7f7f5}

/* Aviso flutuante: erro e sucesso precisam ser distinguíveis de relance ---- */
/* Faixa lateral colorida em vez de fundo inteiro: o texto continua sendo lido
   sobre o fundo do tema, no claro e no escuro, sem cada tema precisar
   recalcular contraste em cima de vermelho ou verde. */
.torrada--erro{border-left:4px solid #c0392b}
.torrada--ok{border-left:4px solid #1e8e5a}

/* Container dos avisos flutuantes. Sem esta regra o bloco fica no fluxo
   normal e a notificação aparece lá embaixo, depois do rodapé -- que é
   exatamente onde ela não serve. z-index 130 passa por cima do aviso de
   cookies (80) e de tudo mais que o tema empilha (máximo 90). */
#avisos{position:fixed;right:16px;bottom:96px;z-index:130;display:flex;flex-direction:column-reverse;
  gap:10px;max-width:min(92vw,330px)}
@media(max-width:680px){#avisos{left:16px;right:16px;bottom:20px;max-width:none}}

/* Cantos da foto, um elemento em cada -------------------------------------
   topo-esquerda: categoria (sempre visível)
   topo-direita:  favorito (só no hover)
   base-esquerda: promoção / esgotado (sempre visíveis)

   O selo de promoção nasceu no topo-esquerda e desceu porque a categoria
   passou a morar ali. Sobrepor os dois deixaria um ilegível; deixar a
   categoria no rodapé disputava espaço com o "Ver produto". */
.produto-card__categoria{position:absolute;z-index:3;top:9px;left:9px;bottom:auto;
  opacity:1;transform:none}
.produto-card__selo,
.produto-card__esgotado{top:auto;bottom:12px;left:12px}
/* Se o produto está esgotado E em promoção, os dois cairiam no mesmo ponto.
   O esgotado é a informação que decide a compra, então ele fica embaixo e o
   selo sobe uma linha. */
.produto-card__visual:has(.produto-card__esgotado) .produto-card__selo{bottom:44px}

/* Coração preenchido quando salvo: contorno vazio e contorno cheio se
   confundem de relance, ainda mais num ícone de 17px. */
.produto-card__favorito.amado svg{fill:currentColor}

/* Carrossel de produtos --------------------------------------------------- */
/* --colunas define quantos itens cabem; o item calcula a própria largura a
   partir dele e do gap. Assim o tema muda só o número, num lugar, em vez de
   recalcular porcentagens em cada ponto de quebra. */
.carrossel{position:relative;--colunas:1.6;--gap:16px}
@media(min-width:560px){.carrossel{--colunas:2.4}}
@media(min-width:820px){.carrossel{--colunas:3.4}}
@media(min-width:1100px){.carrossel{--colunas:4}}

.carrossel__trilha{display:flex;gap:var(--gap);overflow-x:auto;overflow-y:hidden;
  /* pan-y liberado: sem ele o arrasto vertical iniciado sobre o carrossel é
     engolido e a página não rola -- o mesmo defeito que os reels tiveram. */
  touch-action:pan-x pan-y pinch-zoom;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
.carrossel__trilha::-webkit-scrollbar{width:0;height:0;display:none}
.carrossel__trilha:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.carrossel__item{flex:0 0 calc((100% - var(--gap) * (var(--colunas) - 1)) / var(--colunas));
  min-width:0;scroll-snap-align:start}

.carrossel__seta{position:absolute;top:38%;transform:translateY(-50%);z-index:4;
  width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;cursor:pointer;
  opacity:0;transition:opacity .2s,background .2s}
.carrossel__seta--ant{left:-6px}
.carrossel__seta--prox{right:-6px}
.carrossel:hover .carrossel__seta{opacity:1}
.carrossel__seta:hover{background:rgba(0,0,0,.85)}
.carrossel__seta:focus-visible{opacity:1;outline:2px solid currentColor;outline-offset:2px}
.carrossel__seta[disabled]{opacity:0;pointer-events:none}
/* Coube tudo na tela: seta nenhuma tem função. */
.carrossel--completo .carrossel__seta{display:none}
/* Sem mouse o hover nunca acontece; ali o arraste é o gesto, e as setas só
   tomariam espaço da foto. */
@media(hover:none){.carrossel__seta{display:none}}

/* Comandos do reel só ao passar o mouse ---------------------------------- */
/* Play e som são controles, não conteúdo: sobre o vídeo o tempo todo eles
   competem com a imagem, que é o que a pessoa veio ver. */
.destaque__play,.destaque__som{opacity:0;transition:opacity .2s ease}
.destaque:hover .destaque__play,
.destaque:hover .destaque__som,
.destaque__play:focus-visible,.destaque__som:focus-visible{opacity:1}
/* Tocando, o play não tem função — vale mesmo sob o mouse. Reafirmado aqui
   porque a regra de hover tem a mesma especificidade e viria depois. */
.destaque.tocando .destaque__play{opacity:0;pointer-events:none}
/* Sem mouse o hover nunca acontece: os dois sumiriam para sempre, e o som
   ficaria inalcançável justamente onde ele começa mudo. */
@media(hover:none){.destaque__play,.destaque__som{opacity:1}}

/* Comandos do reel só ao passar o mouse ---------------------------------- */
/* Play e som são controles, não conteúdo: sobre o vídeo o tempo todo eles
   competem com a imagem, que é o que a pessoa veio ver. */
.reel__play,.reel__som{opacity:0;transition:opacity .2s ease}
.reel:hover .reel__play,
.reel:hover .reel__som,
.reel__play:focus-visible,.reel__som:focus-visible{opacity:1}
/* Tocando, o play não tem função — vale mesmo sob o mouse. Reafirmado aqui
   porque a regra de hover tem a mesma especificidade e viria depois. */
.reel.tocando .reel__play{opacity:0;pointer-events:none}
/* Sem mouse o hover nunca acontece: os dois sumiriam para sempre, e o som
   ficaria inalcançável justamente onde ele começa mudo. */
@media(hover:none){.reel__play,.reel__som{opacity:1}}

/* Respiro no rodapé -------------------------------------------------------
   Os quatro blocos do fim (selos, identidade legal, políticas e assinatura)
   vinham colados um no outro e liam-se como um parágrafo só. Separar por
   espaço, e não por linha divisória, mantém o rodapé leve. */
.rodape-confianca{margin-top:30px;padding-top:26px;border-top:1px solid var(--linha,rgba(128,128,128,.22))}
.rodape-legal{margin-top:26px;line-height:1.7}
.rodape-politicas{margin-top:16px}
.rodape-credito{margin-top:26px;padding-top:22px;border-top:1px solid var(--linha,rgba(128,128,128,.22));
  text-align:center;font-size:.76rem;opacity:.75}
.rodape-credito a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.rodape-credito a:hover{opacity:1;text-decoration-thickness:2px}

/* ==========================================================================
   Fluxo de compra
   ========================================================================== */

/* Trilha de passos (1. Identificação · 2. Entrega · 3. Pagamento).
   Estava sem estilo NENHUM aqui: saía como três palavras soltas no topo do
   checkout. Escapou das auditorias porque o HTML dela é gerado em PHP, em
   passos_checkout(), e não escrito numa view — que é onde eu procurava. */
.passos{display:flex;gap:8px;margin:26px 0 30px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.passos span,.passos a{flex:1;padding:12px 6px;text-align:center;border:1px solid var(--linha);
  background:var(--papel);color:var(--tinta-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.passos span[aria-current]{background:var(--preto);border-color:var(--preto);color:var(--branco)}
.passos a{cursor:pointer;transition:color .2s,border-color .2s}
.passos a:hover{color:var(--tinta);border-color:var(--tinta)}
.passos a::before{content:"← ";opacity:.7}
@media(max-width:560px){
  .passos{gap:5px;font-size:.6rem;letter-spacing:.04em}
  .passos span,.passos a{padding:10px 4px}
}

/* Excursão na lista do checkout é uma LINHA de escolha, não um cartão.
   A regra do tema junta .excursao-cartao e .excursao no mesmo seletor, e o
   que serve ao cartão do diretório (22px de recheio, bloco alto) deixa a
   lista do checkout impossível de percorrer: o WhatsApp e o selo caem fora
   da linha e o nome não trunca. */
.excursao-lista .excursao,
.excursao{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;
  padding:11px 13px;margin-bottom:8px}
.excursao .marcar{flex:1 1 auto;min-width:0;align-items:center;margin:0}
.excursao .marcar input{flex:none}
.excursao:last-child{margin-bottom:0}

/* Aviso sobre excursão: tarja lateral, o mesmo recurso dos outros temas. */
.nota-excursao{border-left:3px solid var(--tinta)}
.nota-excursao__i{background:var(--tinta);color:var(--papel)}

/* Convite para entrar antes de preencher tudo à mão. */
.escolha-acesso{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:14px 16px;border:1px solid var(--linha);background:var(--papel-2)}
.escolha-acesso strong{display:block;font-size:.92rem}
.escolha-acesso span{font-size:.8rem;color:var(--tinta-2)}

.voltar-passo{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.8rem;color:var(--tinta-2)}
.voltar-passo:hover{color:var(--tinta);text-decoration:underline}

/* ==========================================================================
   Excursões: busca e cartões
   ========================================================================== */

/* A lupa estava à DIREITA (right:7px), no mesmo ponto onde depois entraram o
   botão de limpar (right:44px) e o indicador de carregamento (right:14px) --
   os três empilhados no mesmo canto. Passa para a esquerda, como nos outros
   temas, e o campo abre espaço nos dois lados para os três caberem. */
.busca-cidade{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 24px}
.busca-cidade__campo{position:relative;flex:1;min-width:240px}
.busca-cidade__campo input{width:100%;height:54px;padding:0 76px 0 46px;font-size:1rem;
  border:1px solid var(--linha);background:var(--papel);color:inherit}
.busca-cidade__campo input:focus{outline:2px solid var(--tinta);outline-offset:-1px}
/* A cruz nativa do campo de busca duplicaria o nosso botão de limpar. */
.busca-cidade__campo input::-webkit-search-cancel-button{display:none}
.busca-cidade__lupa{position:absolute;left:16px;right:auto;top:50%;transform:translateY(-50%);
  display:flex;color:var(--tinta-3);pointer-events:none}
.busca-cidade .botao{height:54px}

/* Cartão da excursão ------------------------------------------------------ */
/* Sem flex-direction:column o margin-top:auto do botão do WhatsApp não tem
   efeito: ele encostava no texto e os cartões da grade ficavam com alturas
   desencontradas. */
.excursao-cartao{display:flex;flex-direction:column;gap:0}
.excursao-cartao h2{font-size:1.15rem;line-height:1.2;margin:0 0 8px;
  /* espaço para o coração, que é absoluto no canto superior direito */
  padding-right:46px}

.excursao-cartao__rota{margin:0 0 12px;font-family:var(--sans);font-size:.84rem}
.excursao-cartao__rota summary{cursor:pointer;color:var(--tinta-2)}
/* As cidades eram um bloco de texto corrido. Como etiquetas dá para varrer a
   lista com o olho, e o limite de altura impede um cartão com 200 cidades de
   esticar a grade inteira. */
.excursao-cartao__cidades{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;
  max-height:170px;overflow-y:auto}
.excursao-cartao__cidades span{padding:3px 9px;background:var(--papel-2);color:var(--tinta-2);
  font-size:.72rem;white-space:nowrap}

.excursao-cartao__coracao{width:36px;height:36px;display:grid;place-items:center;
  border:1px solid var(--linha);border-radius:50%;background:transparent;color:var(--tinta-3);
  transition:transform .2s,color .2s,border-color .2s}
.excursao-cartao__coracao:hover{transform:scale(1.08);color:#e0245e;border-color:#e0245e}
.excursao-cartao__coracao.ativo{color:#e0245e;border-color:#e0245e}
.excursao-cartao__coracao.ativo svg{fill:currentColor}

/* Grade com espaço para o cartão respirar; auto-fill evita coluna espremida
   quando sobram uma ou duas excursões no filtro. */
.grade-excursoes{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}

/* O aviso da excursão empilha: título, texto e botão, um sob o outro.
   O tema o declarava display:flex sem flex-direction, e o padrão é row --
   dentro da coluna estreita do resumo, os três filhos viravam três colunas
   de uma palavra cada. Bloco é como os outros três temas o tratam, e é o que
   a marcação do núcleo (h2 / p / a, cada um com sua margem) espera. */
.nota-excursao{display:block;padding:16px}
.nota-excursao h2{margin-top:0}
/* O botão fecha o bloco encostado no texto; a margem separa sem depender de
   gap, que o display:block descarta. */
.nota-excursao .botao{margin-top:4px}

/* Reels do tema ---------------------------------------------------------- */
/* Canto arredondado como o resto da vitrine. .destaque já tem overflow:hidden,
   então o vídeo é recortado junto. */
.destaque{border-radius:var(--raio)}

/* Play e som acima da tarja de texto. Os três são absolutos e nenhum
   declarava z-index -- quem pinta por cima é o último do HTML, que é a tarja.
   Ela cobria os botões e engolia o clique: dava para ver, não para tocar. */
.destaque__info{z-index:2}
.destaque__play,.destaque__som{z-index:3}
/* A tarja é decoração com um link dentro; deixá-la capturar o toque no meio
   do vídeo tirava o alvo do botão de som. */
.destaque__info{pointer-events:none}
.destaque__info a,.destaque__info b{pointer-events:auto}

/* Resumo lateral: acolchoamento uma vez só ------------------------------- */
/* .painel--fixo tinha padding próprio, mas nas telas de compra ele é ou o
   próprio .painel (que já tem recheio) ou a caixa que envolve .painel
   filhos -- nos dois casos o espaço saía dobrado, 48px de cada lado numa
   coluna de 370px. Nos outros três temas ele só gruda no topo. */
.painel--fixo{padding:0}
.painel.painel--fixo{padding:24px}
/* Espaço entre o resumo e o aviso da excursão, que são painéis irmãos. */
.painel--fixo>.painel+.painel{margin-top:14px}

/* Cabeçalho fixo ao rolar ------------------------------------------------ */
/* Era position:relative, virando sticky só ao ganhar .fixo depois de 31px de
   rolagem. Sticky aplicado DEPOIS de o elemento já ter subido faz ele saltar
   de volta ao topo — e em qualquer navegador que engasgue no evento de
   rolagem o menu simplesmente ia embora com a página.

   Agora é sticky desde o começo: em scrollY 0 ele está na posição natural,
   então nada muda visualmente e não há salto. A classe .fixo continua
   existindo, mas só para o efeito (encolher e ganhar sombra). */
.topo{position:sticky;top:0}
.topo.fixo{box-shadow:0 1px 0 var(--linha),0 10px 30px rgba(0,0,0,.06)}
html[data-modo="escuro"] .topo.fixo{box-shadow:0 1px 0 var(--linha),0 10px 30px rgba(0,0,0,.5)}
/* Acima do conteúdo e do rodapé, abaixo do aviso de cookies (80) e dos
   avisos flutuantes (130). */
.topo{z-index:60}

/* overflow-x no body: clip, não hidden --------------------------------------
   hidden transforma o body em contêiner de rolagem, e position:sticky passa a
   se referir a ELE em vez da janela -- é o motivo clássico de um cabeçalho
   sticky simplesmente não grudar. clip corta o transbordo horizontal do mesmo
   jeito, sem criar contêiner de rolagem. */
body{overflow-x:clip}

/* Setas do carrossel: visíveis, não escondidas atrás do hover -------------
   Estavam com opacity:0 até o ponteiro entrar, e ocultas de vez onde não há
   mouse. Quem não passa por cima não descobre que a fileira anda -- e no
   celular não descobria nunca. Ficam discretas e presentes.

   Na ponta a seta é ATENUADA, não removida: sumir move a outra de lugar e
   dá a impressão de que o controle some sozinho. */
.carrossel__seta{opacity:.9}
.carrossel:hover .carrossel__seta{opacity:1}
.carrossel__seta[disabled]{opacity:.28;pointer-events:none}
/* Dentro da área da foto: em -6px a seta encostava na borda da tela nas
   larguras em que o conteúdo já ocupa a linha inteira. */
.carrossel__seta--ant{left:6px}
.carrossel__seta--prox{right:6px}
@media(hover:none){
  .carrossel__seta{display:grid;width:38px;height:38px}
}

/* No Mamá as setas seguem a linguagem do tema: quadradas e com contorno,
   iguais às do carrossel de destaques. */
.carrossel__seta{border-radius:var(--raio);background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.35)}
.carrossel__seta:hover{background:#050505;border-color:#050505;color:#fff}

.convite-favoritos{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}
.convite-favoritos__caixa{position:relative;width:min(100%,470px);padding:40px 34px 32px;border:1px solid var(--linha);background:var(--papel);color:var(--tinta);text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.4);animation:mamaMenuEntrar .25s ease both}.convite-favoritos__icone{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 18px;border:1px solid currentColor;border-radius:50%}.convite-favoritos__icone svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.5}.convite-favoritos__sobre{display:block;margin-bottom:10px;font-size:.62rem;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.convite-favoritos h2{margin:0;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.04}.convite-favoritos p{max-width:390px;margin:16px auto 0;color:var(--tinta-2);font-size:.84rem;line-height:1.6}.convite-favoritos__acoes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:25px}.convite-favoritos__acoes .botao{width:100%;margin:0;text-decoration:none}.convite-favoritos__acoes .botao--vazado{background:transparent;color:var(--tinta)}.convite-favoritos__fechar{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;background:transparent;color:inherit;font:300 26px/1 sans-serif}@media(max-width:520px){.convite-favoritos__caixa{padding:36px 20px 24px}.convite-favoritos__acoes{grid-template-columns:1fr}}

/* Dados fiscais e excursão própria (checkout) ---------------------------- */
.escolha-fiscal{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0 16px}
.escolha-fiscal .marcar{margin:0}
.escolha-fiscal small{opacity:.7}

/* Recolhido por padrão: é a saída para quem não achou a sua, não o caminho
   principal. Aberto, competiria com a lista logo acima. */
.excursao-propria{margin-top:14px;padding:12px 14px;border:1px dashed var(--linha,rgba(128,128,128,.4))}
.excursao-propria>summary{cursor:pointer;font-size:.86rem;font-weight:600;list-style:none}
.excursao-propria>summary::-webkit-details-marker{display:none}
.excursao-propria>summary::before{content:"+ ";font-weight:700}
.excursao-propria[open]>summary::before{content:"− "}
.excursao-propria .campo{margin-bottom:6px}

/* Carrossel de destaques no celular ---------------------------------------
   O tema travava a rolagem com overflow-x:hidden!important e touch-action
   pan-y, deixando o carrossel só para as setas. Foi escolha para garantir a
   rolagem vertical da página quando o dedo começa sobre um vídeo -- mas o
   preço foi alto: no celular, onde arrastar é o gesto natural, o carrossel
   simplesmente não andava.

   pan-x pan-y devolve as duas direções e deixa o NAVEGADOR decidir pela
   direção do gesto, que é o que preserva a rolagem vertical sem sacrificar a
   horizontal. Precisa de !important para vencer o !important de lá. */
.destaques__trilho{
  overflow-x:auto!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none}
.destaques__trilho::-webkit-scrollbar{width:0;height:0;display:none}
.destaque{scroll-snap-align:center}

@media(max-width:680px){
  /* Sangria total: a trilha atravessa a largura da tela em vez de parar nas
     margens do .limite. O pedaço do próximo reel espiando na borda é o que
     dá a sensação de que a fileira continua. */
  .destaques__trilho{
    margin-inline:calc(50% - 50vw);
    padding-inline:5vw;
    scroll-padding-inline:5vw;
    gap:9px}
  .destaque{flex-basis:78%}
}

/* O tema fixa pan-y no item, no vídeo e no bloco do Instagram -- e o vídeo
   ocupa quase toda a área do carrossel, então o arrasto começa sobre ele.
   Sem liberar os três, destravar só a trilha não adiantaria nada. */
.destaque,
.destaque video,
.destaque__instagram,
.destaque__instagram iframe{touch-action:pan-x pan-y pinch-zoom}

/* Rodapé mobile Mamá ------------------------------------------------------
   Regra final e deliberadamente localizada: compacta o rodapé sem tocar no
   desktop nem na marcação compartilhada com os outros temas. */
@media(max-width:560px){
  .rodape{padding:42px 0 18px}
  .rodape__grade{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:30px 22px;
    padding-bottom:30px;
    text-align:center}
  .rodape__marca{
    grid-column:1/3;
    display:grid;
    justify-items:center;
    gap:10px}
  .rodape__marca .marca{justify-content:center}
  .rodape__marca .marca img{max-width:82px;max-height:58px}
  .rodape__marca p{
    max-width:26ch;
    margin:0 auto;
    font-size:.88rem;
    line-height:1.45}
  .rodape h3{
    margin:0 0 13px;
    font-size:.62rem;
    letter-spacing:.18em}
  .rodape__grade>div>a:not(.marca){
    margin:7px 0;
    font-size:.79rem;
    line-height:1.35}
  .rodape__grade>div:last-child{
    grid-column:1/3;
    display:grid;
    justify-items:center}
  .rodape-social--coluna{
    justify-content:center;
    gap:10px;
    margin:15px 0 0}
  .rodape-social a{width:40px;height:40px}
  .rodape>.limite:last-of-type{width:min(calc(100% - 32px),var(--limite))}
  .rodape-confianca{
    display:grid;
    gap:13px;
    margin-top:0;
    padding-top:24px}
  .rodape-selos,.rodape-pagamento{
    display:flex;
    justify-content:center;
    gap:7px;
    flex-wrap:wrap}
  .rodape-selo-imagem{display:grid;min-height:32px}
  .rodape-selo-imagem img{width:88px;height:32px}
  .rodape-selos>span,.rodape-pagamento>span{
    min-height:31px;
    padding:6px 9px;
    font-size:.58rem}
  .rodape-legal{
    display:grid;
    gap:4px;
    margin-top:20px;
    font-size:.63rem;
    line-height:1.5}
  .rodape-legal span:after{display:none}
  .rodape-politicas{
    margin-top:13px;
    gap:4px 8px;
    font-size:.65rem}
  .rodape-credito{
    margin-top:18px;
    padding-top:16px;
    font-size:.66rem}
}

/* Os links ficam dentro de um contêiner com display:contents. Por isso os
   estados do menu desktop miram o filho real, e não apenas .nav>a. */
@media(min-width:981px){
  .menu-movel__links>a{position:relative;display:flex;align-items:center;height:100%;padding:0;white-space:nowrap;text-transform:uppercase}
  .menu-movel__links>a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s ease}
  .menu-movel__links>a:hover:after,.menu-movel__links>a:focus-visible:after,.menu-movel__links>a[aria-current="page"]:after{transform:scaleX(1);transform-origin:left}
}

/* Menu mobile em gaveta lateral -------------------------------------------
   Mantém no cabeçalho apenas os quatro acessos essenciais; busca, aparência
   e redes sociais passam a fazer parte do painel de navegação. */
.menu-movel__topo,
.menu-movel__busca,
.menu-movel__preferencias,
.menu-movel__social,
.menu-movel__rotulo,
.menu-movel__veu{display:none}
.menu-movel__links{display:contents}

@media(max-width:980px){
  body.menu-movel-aberto{overflow:hidden}
  .topo__linha{grid-template-columns:42px minmax(0,1fr) 84px;gap:8px}
  .topo__menu{grid-column:1;display:grid}
  .topo .marca{grid-column:2;justify-self:start;min-width:0}
  .topo__acoes{grid-column:3;gap:4px;justify-self:end}
  .topo__acoes>.busca,
  .topo__acoes>[data-modo-toggle]{display:none!important}
  .topo__acoes .menu-conta,
  .topo__acoes .carrinho-botao{display:block}

  .menu-movel__veu{
    position:fixed;
    inset:0;
    z-index:119;
    display:block;
    background:rgba(0,0,0,.58);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    backdrop-filter:blur(3px);
    transition:opacity .25s ease,visibility .25s}
  body.menu-movel-aberto .menu-movel__veu{
    opacity:1;
    visibility:visible;
    pointer-events:auto}

  .nav{
    position:fixed;
    inset:0 auto 0 0;
    z-index:120;
    width:min(84vw,360px);
    max-width:calc(100vw - 56px);
    height:100vh;
    height:100dvh;
    margin:0;
    padding:max(18px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));
    display:flex!important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:var(--papel);
    color:var(--tinta);
    border:0;
    border-right:1px solid var(--linha);
    border-radius:0 12px 12px 0;
    box-shadow:18px 0 55px rgba(0,0,0,.2);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(-102%);
    transition:opacity .28s ease,transform .32s cubic-bezier(.25,.75,.25,1),visibility .32s}
  .nav.aberto{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0)}
  .menu-movel__topo{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:54px;
    padding-bottom:18px;
    border-bottom:1px solid var(--linha,rgba(128,128,128,.28))}
  .menu-movel__marca{
    display:inline-flex;
    align-items:center;
    width:min(132px,55%);
    min-width:0}
  .menu-movel__marca img{width:auto;max-width:100%;max-height:38px;object-fit:contain}
  .menu-movel__marca strong{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.04em}
  .menu-movel__fechar{
    display:grid;
    width:42px;
    height:42px;
    line-height:1}
  .menu-movel__busca{
    display:grid;
    grid-template-columns:22px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    margin:22px 0 20px;
    padding:0 0 0 14px;
    border:1px solid var(--linha,rgba(128,128,128,.35));
    border-radius:7px;
    overflow:hidden;
    background:var(--papel-2)}
  .menu-movel__busca input{
    width:100%;
    min-width:0;
    height:48px;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:inherit;
    font:inherit}
  .menu-movel__busca button{
    align-self:stretch;
    padding:0 16px;
    border:0;
    border-left:1px solid var(--linha,rgba(128,128,128,.35));
    background:var(--tinta);
    color:var(--papel);
    font-size:.69rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase}
  .menu-movel__rotulo{
    display:block;
    margin:0 2px 5px;
    color:var(--tinta-3);
    font-size:.58rem;
    font-weight:700;
    letter-spacing:.19em;
    text-transform:uppercase}
  .menu-movel__links{display:flex;flex-direction:column}
  .menu-movel__links>a,
  .menu-movel__links>.nav__categorias{
    width:100%;
    margin:0;
    position:relative;
    padding:14px 10px;
    border-bottom:1px solid var(--linha,rgba(128,128,128,.22));
    font-size:.88rem;
    font-weight:400;
    letter-spacing:.12em;
    text-transform:uppercase}
  .menu-movel__links>a{transition:background .2s,padding .2s}
  .menu-movel__links>a:hover,
  .menu-movel__links>a:focus-visible{padding-left:15px;background:var(--papel-2)}
  .menu-movel__links>a[aria-current="page"]{
    padding-left:15px;
    background:var(--papel-2);
    text-decoration:none}
  .menu-movel__links>a[aria-current="page"]:before{
    content:"";
    position:absolute;
    left:0;
    top:14px;
    bottom:14px;
    width:2px;
    background:currentColor}
  .nav__categorias summary{display:flex;align-items:center;justify-content:space-between;height:auto;padding:0}
  .nav__categorias summary:before{display:none}
  .nav__indicador{width:8px;height:8px;margin-right:3px}
  .nav__categorias>div{
    position:static;
    min-width:0;
    margin:13px 0 -8px;
    width:auto;
    padding:10px 0 2px 14px;
    background:transparent;
    border:0;
    border-left:1px solid var(--linha);
    box-shadow:none;
    animation:none}
  .nav__categorias>div:before{display:none}
  .nav__categorias-rotulo{padding:0 0 7px;color:var(--tinta-3)}
  .nav__categorias>div a{
    min-height:0;
    padding:9px 0;
    font-size:.8rem;
    font-weight:400;
    letter-spacing:.09em;
    text-transform:uppercase}
  .nav__categorias>div a:hover,.nav__categorias>div a:focus-visible{padding-left:7px;background:transparent}
  .nav__categorias>div .nav__categorias-todas{margin-top:5px;padding:12px 0 8px}
  .menu-movel__preferencias{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:auto;
    padding:20px 2px 14px;
    color:var(--tinta-2);
    font-size:.78rem}
  .menu-movel__modo{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid var(--linha,rgba(128,128,128,.35));
    border-radius:50%;
    background:transparent;
    color:var(--tinta)}
  .menu-movel__social{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 2px 0;
    border-top:1px solid var(--linha,rgba(128,128,128,.22));
    color:var(--tinta-2);
    font-size:.78rem}
  .menu-movel__social .rodape-social--coluna{
    justify-content:flex-end;
    gap:8px;
    margin:0}
  .menu-movel__social .rodape-social a{
    width:38px;
    height:38px;
    color:var(--tinta)}
}

/* Excursões — diretório de entregas com leitura mais editorial. */
.mama-pagina--store-excursions .excursoes-cabeca{grid-template-columns:76px minmax(0,1fr);gap:24px;padding:8px 0 30px;margin-bottom:26px;border-top:0}.mama-pagina--store-excursions .excursoes-cabeca__icone{width:60px;height:60px;margin-top:7px}.excursoes-cabeca__conteudo{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);grid-template-rows:auto auto;column-gap:clamp(40px,7vw,110px);align-items:center}.excursoes-cabeca__conteudo .excursoes-cabeca__rotulo{grid-column:1;grid-row:1;margin:0 0 8px}.mama-pagina--store-excursions .excursoes-cabeca h1{grid-column:1;grid-row:2;font-size:clamp(2.8rem,4.5vw,4.3rem)!important;margin:0!important}.mama-pagina--store-excursions .excursoes-cabeca p{grid-column:2;grid-row:1/3;max-width:58ch;margin:0;padding-left:clamp(24px,3vw,48px);border-left:1px solid var(--linha);font-size:.92rem;line-height:1.75}.mama-pagina--store-excursions .busca-cidade{align-items:stretch;margin:0;padding:10px;border:1px solid var(--linha);background:var(--papel-2)}.mama-pagina--store-excursions .busca-cidade__campo input{height:52px;padding:0 52px 0 48px;border:0;background:var(--papel);font-size:.93rem}.mama-pagina--store-excursions .busca-cidade__lupa{left:18px;right:auto}.mama-pagina--store-excursions .busca-cidade>.botao{min-width:132px;border:0}.excursoes-resumo{display:flex;align-items:center;gap:0;margin:14px 0 30px;border-bottom:1px solid var(--linha)}.excursoes-resumo>span{display:flex;align-items:baseline;gap:8px;padding:12px 24px 16px 0;margin-right:24px}.excursoes-resumo>span+span{padding-left:24px;border-left:1px solid var(--linha)}.excursoes-resumo strong{font-family:var(--serif);font-size:1.75rem;font-weight:500}.excursoes-resumo small{color:var(--tinta-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.excursoes-resumo p{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;color:var(--tinta-2);font-size:.75rem}.mama-pagina--store-excursions .grade-excursoes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}.mama-pagina--store-excursions .excursao-cartao{min-height:310px;padding:24px;border-color:var(--linha);transition:transform .25s,border-color .25s,box-shadow .25s}.mama-pagina--store-excursions .excursao-cartao:hover{transform:translateY(-3px);border-color:var(--tinta);box-shadow:0 18px 40px rgba(0,0,0,.1)}.excursao-cartao__topo{display:flex;align-items:center;gap:12px;padding-right:38px;margin-bottom:20px}.excursao-cartao__icone{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid var(--linha);border-radius:50%;color:var(--tinta)}.mama-pagina--store-excursions .excursao-cartao h2{padding:0;margin:0;font-size:1.22rem;line-height:1.15}.mama-pagina--store-excursions .excursao-cartao__coracao{top:19px;right:19px;border-color:var(--linha);background:var(--papel)}.mama-pagina--store-excursions .excursao-cartao__origem{margin:0 0 12px}.excursao-cartao__origem>span{display:block;margin-bottom:3px;color:var(--tinta-3);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.excursao-cartao__origem>strong{color:var(--tinta);font-size:.88rem}.mama-pagina--store-excursions .excursao-cartao__ponto{padding:10px 0;margin-bottom:12px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}.mama-pagina--store-excursions .excursao-cartao__rota summary{padding:5px 0;font-weight:650;color:var(--tinta)}.mama-pagina--store-excursions .excursao-cartao__zap{min-height:46px;margin-top:auto;background:var(--tinta);border-color:var(--tinta);color:var(--papel);font-size:.65rem}.mama-pagina--store-excursions .excursao-cartao__fone{font-size:.72rem}
@media(max-width:980px){.excursoes-cabeca__conteudo{grid-template-columns:1fr;grid-template-rows:auto}.excursoes-cabeca__conteudo .excursoes-cabeca__rotulo,.mama-pagina--store-excursions .excursoes-cabeca h1,.mama-pagina--store-excursions .excursoes-cabeca p{grid-column:1;grid-row:auto}.mama-pagina--store-excursions .excursoes-cabeca p{margin-top:16px;padding:16px 0 0;border-left:0;border-top:1px solid var(--linha)}.mama-pagina--store-excursions .grade-excursoes{grid-template-columns:repeat(2,minmax(0,1fr))}.excursoes-resumo{flex-wrap:wrap}.excursoes-resumo p{width:100%;margin:0;padding:0 0 14px}}
@media(max-width:620px){.mama-pagina--store-excursions .excursoes-cabeca{grid-template-columns:52px minmax(0,1fr);gap:14px}.mama-pagina--store-excursions .excursoes-cabeca__icone{width:48px;height:48px}.mama-pagina--store-excursions .excursoes-cabeca h1{font-size:2.45rem!important}.mama-pagina--store-excursions .busca-cidade{display:grid;grid-template-columns:1fr;padding:7px}.mama-pagina--store-excursions .busca-cidade>.botao{width:100%;min-height:44px}.excursoes-resumo>span{flex:1;margin:0;padding:10px 8px 13px}.excursoes-resumo>span+span{padding-left:14px}.excursoes-resumo strong{font-size:1.45rem}.excursoes-resumo small{font-size:.58rem}.mama-pagina--store-excursions .grade-excursoes{grid-template-columns:1fr}.mama-pagina--store-excursions .excursao-cartao{min-height:0;padding:20px}}

/* CTAs da home usam somente o conjunto SVG do sistema. */
.link-seta{display:inline-flex;align-items:center;gap:16px}
.link-seta span{display:inline-flex;margin-left:0}
.colecao__foto small{display:flex;align-items:center;gap:6px}

@media(max-width:560px){
  .secao{padding-block:58px}
  .secao__cabeca{gap:14px;margin-bottom:24px}
  .secao__cabeca h2{font-size:clamp(2rem,10vw,2.55rem)}
  .mama-pagina--store-product .secao--relacionados>h2{
    max-width:100%;
    margin-bottom:24px;
    font-size:clamp(1.55rem,6.5vw,1.9rem);
    line-height:1.08;
    letter-spacing:-.02em}
  .link-seta{gap:8px;padding-bottom:4px;white-space:nowrap}
  .link-seta svg{width:13px;height:13px}
  .carrossel{--gap:11px}
  .carrossel--full-mobile{
    width:100vw;
    margin-inline:calc(50% - 50vw);
    --colunas:1.28;
    --gap:9px}
  .carrossel--full-mobile .carrossel__trilha{
    padding-inline:0;
    scroll-padding-inline:0}
  .carrossel--full-mobile .carrossel__item{scroll-snap-align:start}
}

/* Benefícios abaixo do banner no mobile ----------------------------------
   Cada cartão controla sua própria coluna e suas duas linhas; isso impede
   que título e descrição disputem a mesma célula do grid original. */
@media(max-width:560px){
  .beneficios{background:var(--papel);border-bottom:1px solid var(--linha)}
  .beneficios__grade{
    width:min(calc(100% - 32px),var(--limite));
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    padding:0}
  .beneficios__grade>span{
    min-width:0;
    min-height:92px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    align-items:center;
    justify-items:start;
    column-gap:9px;
    row-gap:3px;
    padding:16px 10px;
    text-align:left;
    border:0;
    border-right:1px solid var(--linha);
    border-bottom:1px solid var(--linha)}
  .beneficios__grade>span:nth-child(2n){border-right:0}
  .beneficios__grade>span:nth-last-child(-n+2){border-bottom:0}
  .beneficios__grade>span:first-child{padding-left:10px}
  .beneficios__grade>span:last-child{border-right:0}
  .beneficios__grade>span svg{
    display:block;
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    width:28px;
    height:28px}
  .beneficios__grade>span b,
  .beneficios__grade>span small{
    grid-column:2;
    position:static;
    display:block;
    width:100%;
    margin:0;
    padding:0;
    white-space:normal}
  .beneficios__grade>span b{
    overflow:hidden;
    font-size:clamp(.5rem,2.25vw,.58rem);
    line-height:1.25;
    letter-spacing:.055em;
    text-overflow:ellipsis;
    white-space:nowrap}
  .beneficios__grade>span small{
    color:var(--tinta-2);
    display:-webkit-box;
    overflow:hidden;
    font-size:.6rem;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2}
}

/* Menu da conta no cabeçalho mobile --------------------------------------
   Ancorado ao próprio ícone: não depende da altura de faixas promocionais
   nem de uma coordenada fixa da página. */
@media(max-width:980px){
  .topo__acoes .menu-conta{position:relative}
  .topo__acoes .menu-conta__caixa{
    position:absolute;
    top:calc(100% + 4px);
    right:0;
    left:auto;
    z-index:125;
    width:min(280px,calc(100vw - 24px));
    min-width:240px;
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    padding:10px;
    background:var(--papel);
    border:1px solid var(--linha);
    box-shadow:0 18px 50px rgba(0,0,0,.22)}
}

/* Alinha o símbolo de entrega ao título, não à legenda superior. */
.mama-pagina--store-excursions .excursoes-cabeca__icone{margin-top:25px}
@media(max-width:620px){.mama-pagina--store-excursions .excursoes-cabeca__icone{margin-top:22px}}

/* Páginas internas começam diretamente pelo conteúdo; a borda inferior dos
   cabeçalhos continua separando título e texto sem duplicar a linha do topo. */
.pagina-institucional__cabeca,.contato-cabeca,.excursoes-cabeca{border-top:0}
.mama-pagina--order-track>div>h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.05;margin-bottom:14px}
@media(max-width:700px){.mama-pagina--order-track>div>h1{font-size:2rem}}

/* Tablet e mobile horizontal: o cabeçalho já precisa usar a gaveta antes
   que os links do menu disputem espaço. A trilha dos vídeos atravessa as
   duas bordas da tela e mantém parte do próximo cartão visível. */
@media(max-width:980px){
  .topo{height:66px}
  .topo__linha{grid-template-columns:42px minmax(0,1fr) 84px;gap:8px}
  .topo__menu{display:grid;justify-self:start}
  .topo .marca{justify-self:start;min-width:0}
  .topo .marca img{max-width:112px;max-height:36px}
  .topo__acoes{gap:3px}
  .topo__acoes .icone{width:36px;height:42px}
  .destaques>.limite{width:100%}
  .destaques .secao__cabeca{
    width:min(calc(100% - 32px),var(--limite));
    margin-inline:auto}
  .destaques__trilho{
    width:100%;
    margin-inline:0;
    padding-inline:0;
    scroll-padding-inline:0;
    gap:10px}
}
@media(min-width:681px) and (max-width:980px){
  .destaque{flex-basis:calc((100% - 24px)/3.35)}
}
@media(max-width:680px){
  .destaques__trilho{margin-inline:0;padding-inline:0;scroll-padding-inline:0}
  .destaque{flex-basis:82%}
}

/* Escala dos títulos das páginas internas -------------------------------
   Títulos de navegação precisam identificar a tela, não disputar atenção
   com o conteúdo. A home mantém a escala editorial própria. */
.conteudo-interno>h1,
.conteudo-interno>section>h1,
.conteudo-interno>div>h1,
.catalogo__cabeca h1{
  max-width:100%;
  font-size:clamp(2rem,3.15vw,3.25rem)!important;
  line-height:1.04}
.pagina-institucional__cabeca h1,
.contato-cabeca h1,
.mama-pagina--store-excursions .excursoes-cabeca h1{
  font-size:clamp(2.15rem,3.25vw,3.35rem)!important;
  line-height:1.02}
@media(max-width:700px){
  .conteudo-interno>h1,
  .conteudo-interno>section>h1,
  .conteudo-interno>div>h1,
  .catalogo__cabeca h1,
  .pagina-institucional__cabeca h1,
  .contato-cabeca h1,
  .mama-pagina--store-excursions .excursoes-cabeca h1{
    font-size:clamp(1.85rem,8vw,2.35rem)!important}
}

/* Painel da conta: vitrine e capas dos pedidos ----------------------------- */
.conta-inicio{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,390px);gap:clamp(24px,4vw,56px);align-items:start}
.conta-inicio__principal{min-width:0}.conta-vitrine{min-width:0;position:sticky;top:90px;padding:18px;border:1px solid var(--linha,var(--borda));background:var(--papel,var(--fundo))}
.conta-vitrine header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.conta-vitrine header>span{font-size:.61rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2)}.conta-vitrine header h2{max-width:230px;margin:0;text-align:right;font-size:1.18rem;line-height:1.1}
.conta-vitrine__destaque{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:var(--papel-2,var(--fundo-2))}.conta-vitrine__destaque>img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.conta-vitrine__tag{position:absolute;left:12px;top:12px;padding:6px 9px;background:#fff;color:#080808;font-size:.59rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.conta-vitrine__texto{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:12px;padding:50px 15px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.82))}.conta-vitrine__texto strong{font-size:.9rem}.conta-vitrine__texto small{white-space:nowrap;font-size:.76rem;font-weight:700}
.conta-vitrine__navegacao{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.conta-vitrine__navegacao button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--linha,var(--borda));background:transparent;color:inherit}.conta-vitrine__navegacao span{font-size:.68rem;color:var(--tinta-2)}
.conta-vitrine__miniaturas{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.conta-vitrine__miniaturas::-webkit-scrollbar{display:none}.conta-vitrine__miniaturas button{flex:0 0 66px;width:66px;padding:0 0 5px;overflow:hidden;border:1px solid transparent;background:transparent;color:inherit;text-align:left;scroll-snap-align:center}.conta-vitrine__miniaturas button[aria-current=true]{border-color:var(--tinta)}.conta-vitrine__miniaturas img{width:100%;aspect-ratio:3/4;object-fit:cover}.conta-vitrine__miniaturas button span{display:block;padding:4px 4px 0;overflow:hidden;font-size:.55rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.pedido-linha--com-capa{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important}.pedido-linha__capa{position:relative;width:64px;height:80px;overflow:hidden;align-self:center;background:var(--papel-2,var(--fundo-2))}.pedido-linha__capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .35s}.pedido-linha__capa img[hidden]{display:block;opacity:0;pointer-events:none}
@media(max-width:900px){.conta-inicio{grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:22px}}
@media(max-width:720px){.conta-inicio{grid-template-columns:1fr}.conta-vitrine{position:static;grid-row:2}.pedido-linha--com-capa{grid-template-columns:58px minmax(0,1fr)!important}.pedido-linha--com-capa .pedido-linha__acoes{grid-column:2}.pedido-linha__capa{width:58px;height:74px}.conta-vitrine header h2{text-align:left}.conta-vitrine header{align-items:start;flex-direction:column}}

/* Área do cliente Mamá ----------------------------------------------------
   O tema carrega seu CSS sem o app.css; por isso o painel precisa viver aqui
   e permanecer isolado da tipografia editorial das páginas institucionais. */
.mama-pagina--account-home .conta-cabecalho{display:block;margin-bottom:24px}
.mama-pagina--account-home .conta-cabecalho>span{display:block;margin-bottom:8px;color:var(--tinta-2);font-family:var(--sans);font-size:.64rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.mama-pagina--account-home .conta-cabecalho h1{margin:0!important;padding:0!important;border:0!important;font-size:clamp(2.4rem,4vw,3.6rem)!important;line-height:.98!important;letter-spacing:-.04em}
.mama-pagina--account-home .conta-cabecalho h1:after{display:none!important}
.mama-pagina--account-home .conta-cabecalho p{max-width:610px;margin:12px 0 0;color:var(--tinta-2);font-family:var(--sans);font-size:.9rem;line-height:1.55}
.mama-pagina--account-home .conta-atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));margin-bottom:38px;border:1px solid var(--linha);background:var(--papel)}
.mama-pagina--account-home .conta-atalhos form{display:contents}
.mama-pagina--account-home .conta-atalhos a,.mama-pagina--account-home .conta-atalhos button{min-width:0;min-height:68px;display:flex;align-items:center;gap:9px;padding:12px 13px;border:0;border-right:1px solid var(--linha);background:transparent;color:var(--tinta);font-family:var(--sans);font-size:.62rem;font-weight:750;letter-spacing:.065em;text-align:left;text-transform:uppercase;cursor:pointer}
.mama-pagina--account-home .conta-atalhos form:last-child button{border-right:0}
.mama-pagina--account-home .conta-atalhos a:hover,.mama-pagina--account-home .conta-atalhos button:hover{background:var(--tinta);color:var(--papel)}
.mama-pagina--account-home .conta-atalhos svg{flex:0 0 auto}
.mama-pagina--account-home .conta-inicio{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:clamp(24px,4vw,54px);align-items:start}
.mama-pagina--account-home .conta-pedidos-resumo{min-width:0;padding:clamp(20px,2.2vw,28px);border:1px solid var(--linha)}
.mama-pagina--account-home .conta-pedidos-resumo>header,.mama-pagina--account-home .conta-vitrine>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.mama-pagina--account-home .conta-pedidos-resumo>header span,.mama-pagina--account-home .conta-vitrine>header>div>span{display:block;margin-bottom:5px;color:var(--tinta-2);font-family:var(--sans);font-size:.59rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}
.mama-pagina--account-home .conta-pedidos-resumo>header h2,.mama-pagina--account-home .conta-vitrine>header h2{max-width:none;margin:0!important;padding:0!important;font-size:1.35rem!important;line-height:1.1!important;text-align:left}
.mama-pagina--account-home .conta-pedidos-resumo>header>a{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mama-pagina--account-home .pedido-linha--com-capa{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;align-items:center;gap:14px;padding:16px 0}
.mama-pagina--account-home .pedido-linha__capa{position:relative;width:64px;height:80px;overflow:hidden;background:var(--papel-2)}
.mama-pagina--account-home .pedido-linha__capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mama-pagina--account-home .pedido-linha__info{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.mama-pagina--account-home .pedido-linha__codigo{font-size:1rem}
.mama-pagina--account-home .pedido-linha__meta{flex-basis:100%;font-size:.69rem}
.mama-pagina--account-home .pedido-linha__acoes{display:flex;align-items:flex-end;flex-direction:column;gap:7px;white-space:nowrap}
.mama-pagina--account-home .pedido-linha__acoes>a{font-size:.63rem;font-weight:750;letter-spacing:.07em;text-decoration:underline;text-underline-offset:4px;text-transform:uppercase}
.mama-pagina--account-home .conta-pedidos-resumo>footer{display:flex;justify-content:flex-end;padding-top:18px}
.mama-pagina--account-home .conta-pedidos-resumo>footer button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--tinta);font-size:.65rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mama-pagina--account-home .conta-vitrine{position:sticky;top:90px;min-width:0;padding:0;border:0;background:transparent}
.mama-pagina--account-home .conta-vitrine__contador{color:var(--tinta-2);font-family:var(--sans);font-size:.68rem;font-weight:700}
.mama-pagina--account-home .conta-vitrine__visual{position:relative}
.mama-pagina--account-home .conta-vitrine__destaque{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--linha);background:var(--papel-2)}
.mama-pagina--account-home .conta-vitrine__destaque>img{width:100%;height:100%;object-fit:cover}
.mama-pagina--account-home .conta-vitrine__navegacao{position:absolute;z-index:3;inset:50% 10px auto;display:flex;justify-content:space-between;margin:0;transform:translateY(-50%);pointer-events:none}
.mama-pagina--account-home .conta-vitrine__navegacao button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.62);color:#fff;pointer-events:auto}
.mama-pagina--account-home .conta-vitrine__miniaturas{display:flex;gap:9px;margin-top:10px;padding:2px;overflow-x:auto;scrollbar-width:none}
.mama-pagina--account-home .conta-vitrine__miniaturas::-webkit-scrollbar{display:none}
.mama-pagina--account-home .conta-vitrine__miniaturas button{flex:0 0 74px;width:74px;padding:0;border:0;background:transparent;opacity:.48}
.mama-pagina--account-home .conta-vitrine__miniaturas button[aria-current=true]{outline:2px solid var(--tinta);outline-offset:2px;opacity:1}
.mama-pagina--account-home .conta-vitrine__miniaturas img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media(max-width:1050px){.mama-pagina--account-home .conta-atalhos{grid-template-columns:repeat(4,1fr)}.mama-pagina--account-home .conta-atalhos a,.mama-pagina--account-home .conta-atalhos button{border-bottom:1px solid var(--linha)}.mama-pagina--account-home .conta-inicio{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:720px){.mama-pagina--account-home .conta-cabecalho h1{font-size:2.55rem!important}.mama-pagina--account-home .conta-atalhos{grid-template-columns:repeat(2,1fr);margin-bottom:28px}.mama-pagina--account-home .conta-atalhos a,.mama-pagina--account-home .conta-atalhos button{min-height:62px}.mama-pagina--account-home .conta-inicio{grid-template-columns:1fr;gap:34px}.mama-pagina--account-home .conta-pedidos-resumo{padding:17px}.mama-pagina--account-home .pedido-linha--com-capa{grid-template-columns:58px minmax(0,1fr)!important}.mama-pagina--account-home .pedido-linha__capa{width:58px;height:74px}.mama-pagina--account-home .pedido-linha__acoes{grid-column:2;align-items:center;flex-direction:row;justify-content:space-between}.mama-pagina--account-home .conta-vitrine{position:static}.mama-pagina--account-home .conta-pedidos-resumo>header h2,.mama-pagina--account-home .conta-vitrine>header h2{font-size:1.2rem!important}}

/* Elementos compartilhados das telas autenticadas no tema Mamá. */
.conta-voltar{margin:0 0 22px}.conta-voltar a{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.conta-voltar a:hover{text-decoration:underline;text-underline-offset:4px}
.conta-codigo-detalhe{display:flex;justify-content:space-between;gap:16px;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--linha);color:var(--tinta-2);font-size:.76rem}.conta-codigo-detalhe strong{color:var(--tinta)}
.checkout-confirmacao-dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:16px 0;border:1px solid var(--linha);background:var(--linha)}.checkout-confirmacao-dados>div{display:grid;gap:4px;padding:15px;background:var(--papel)}.checkout-confirmacao-dados span{font-size:.62rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}.checkout-confirmacao-dados strong{overflow-wrap:anywhere;font-size:.9rem}.acesso-identificador-ajuda{margin:-5px 0 14px;font-size:.72rem;line-height:1.45}
.pedido-excursao-manual{display:grid;gap:7px}.pedido-excursao-manual>span{font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}.pedido-excursao-manual>strong{font-size:1rem;line-height:1.45}.pedido-excursao__observacao{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--linha);color:var(--tinta-2);font-size:.82rem;line-height:1.5}
@media(min-width:900px){.pedido-lateral{position:sticky;top:86px;align-self:start}}
@media(max-width:560px){.checkout-confirmacao-dados{grid-template-columns:1fr}}
.conta-pagina-cabecalho{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.conta-pagina-cabecalho h1{margin-bottom:8px!important}.conta-pagina-cabecalho p{max-width:720px;margin:0;color:var(--tinta-2)}.conta-pagina-cabecalho>.botao{flex:0 0 auto;gap:8px}
@media(max-width:700px){.conta-pagina-cabecalho{align-items:flex-start;flex-direction:column}.conta-pagina-cabecalho>.botao{width:100%}}

/* Meus dados: leitura primeiro, edição somente quando solicitada. */
.conta-dados{width:min(100%,760px)}
.conta-dados__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 22px;border:1px solid var(--linha);background:var(--linha);gap:1px}
.conta-dados__item{min-width:0;padding:20px 22px;background:var(--papel)}
.conta-dados__item--destaque,.conta-dados__item--codigo{grid-column:1/-1}
.conta-dados__item--codigo{display:flex;align-items:center;justify-content:space-between;gap:20px}
.conta-dados__item dt{margin-bottom:7px;color:var(--tinta-2);font-size:.61rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.conta-dados__item dd{margin:0;overflow-wrap:anywhere;color:var(--tinta);font-size:.93rem;font-weight:650;line-height:1.45}
.conta-dados__item--destaque dd{font-size:1.05rem}
.conta-dados__item--codigo dt{margin:0}.conta-dados__item--codigo dd{font-size:.78rem}
.conta-dados__vazio{color:var(--tinta-2);font-weight:400}
.conta-dados__edicao{margin:0}.conta-dados__edicao>summary{width:max-content;min-width:180px;list-style:none;cursor:pointer;text-align:center}
.conta-dados__edicao>summary::-webkit-details-marker{display:none}
.conta-dados__edicao[open]>summary{margin-bottom:14px;background:transparent;color:var(--tinta)}
.conta-dados__formulario{max-width:none!important;padding:clamp(18px,3vw,28px);border:1px solid var(--linha)}
.conta-dados__senha{margin:24px 0 18px;padding-top:22px;border-top:1px solid var(--linha)}
.conta-dados__senha h2{margin:0 0 5px!important;font-size:1rem!important}.conta-dados__senha p{margin:0 0 17px;color:var(--tinta-2);font-size:.75rem}
@media(max-width:600px){.conta-dados__lista{grid-template-columns:1fr}.conta-dados__item--destaque,.conta-dados__item--codigo{grid-column:auto}.conta-dados__item{padding:17px}.conta-dados__edicao>summary{width:100%}.conta-dados__formulario .linha{grid-template-columns:1fr;gap:0}}

/* Seções fora da primeira dobra não consomem pintura/layout até se
   aproximarem da tela. O tamanho intrínseco preserva o scroll e evita CLS. */
.mama-pagina--store-home>.secao,.mama-pagina--store-home>.destaques{content-visibility:auto;contain-intrinsic-size:auto 820px}

/* Favorito na página individual: usa o mesmo data-amar dos cards e, por
   isso, permanece sincronizado com a conta do cliente. */
.produto-single__titulo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.produto-single__titulo h1{min-width:0}
.produto-single__favorito{width:46px;height:46px;display:grid;place-items:center;flex:none;border:1px solid var(--linha);border-radius:50%;background:var(--papel);color:var(--tinta);cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}
.produto-single__favorito:hover{transform:scale(1.06)}
.produto-single__favorito.ativo,.produto-single__favorito.amado{background:var(--preto);border-color:var(--preto);color:var(--branco)}
.produto-single__favorito.ativo svg,.produto-single__favorito.amado svg{fill:currentColor}

/* Excursão no checkout: favorita, e a saída de decidir depois -------------- */
.excursao__selo--favorita{background:var(--tinta,#111);color:var(--papel,var(--carta,#fff))}
.excursao-opcional{font-size:.72rem;font-weight:600;opacity:.7;text-transform:none;letter-spacing:0}
/* Tracejado para ler como alternativa, e não como mais uma excursão da lista. */
.excursao-depois{display:flex;align-items:flex-start;gap:10px;margin:10px 0 0;padding:12px 13px;
  border:1px dashed var(--linha,rgba(128,128,128,.4));border-radius:var(--raio,8px)}
.excursao-depois input{flex:none;margin-top:2px}
.excursao-depois strong{display:block;font-size:.88rem}
.excursao-depois small{display:block;margin-top:2px;font-size:.78rem;line-height:1.45;color:var(--tinta-2,#555)}

/* E-mail da nota fiscal --------------------------------------------------- */
.nota-email{margin-top:4px}
.nota-email .marcar{align-items:flex-start;margin-bottom:8px}
/* O endereço espelhado em bloco próprio, e truncado: e-mail longo esticaria
   a linha da caixa de marcar e quebraria o alinhamento com o texto. */
.nota-email .marcar small{display:block;margin-top:2px;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:.8rem;color:var(--tinta-3,#888)}
.nota-email [data-nota-email-campo][hidden]{display:none}

/* Selos da excursão: contraste e a favorita reconhecível ------------------
   Branco sobre #25d366 dá cerca de 1,9:1 — abaixo do mínimo legível, e num
   selo pequeno em caixa alta o texto quase some. Preto sobre o mesmo verde
   sobe para ~11:1 e é o padrão do próprio WhatsApp.

   O selo também encolheu: ele acompanha a excursão, não é o assunto da
   linha. Ficava do tamanho de um botão e disputava com o nome. */
/* Cantos arredondados nos dois. O tema nasceu com --raio:0 e estas regras
   nunca receberam raio nenhum, então selo e botão saíam de canto reto --
   destoando do resto da vitrine, que já usa --raio desde a linha 275.
   O selo vai a pílula (999px) porque é uma etiqueta, e é o que os outros
   quatro temas já fazem; o botão fica em quadrado suave, e não em círculo,
   porque mama não tem botões redondos em lugar nenhum. */
.excursao__selo{background:#25d366;color:#0a0a0a;font-weight:700;padding:3px 9px;font-size:.63rem;
  border-radius:999px}
.excursao__zap{border-radius:10px}
/* Só o estado: contorno em vez de preenchimento, porque é informação mais
   fraca — "passa pelo seu estado" não é "para na sua cidade". */
.excursao__selo--estado{background:transparent;color:var(--tinta-2,#555);
  border:1px solid var(--linha,rgba(128,128,128,.35));font-weight:600}

/* Favorita: coração, e cor própria. Ela não compete com a cobertura --
   dizem coisas diferentes e aparecem juntas na mesma linha. */
.excursao__selo--favorita{display:inline-flex;align-items:center;gap:5px;
  background:transparent;color:#e0245e;border:1px solid currentColor;font-weight:700}
.excursao__selo--favorita::before{content:"♥";font-size:.9em;line-height:1}
/* No escuro o rosa precisa clarear: sobre fundo quase preto o #e0245e fica
   em ~4,3:1, no limite do legível. */
html[data-modo="escuro"] .excursao__selo--favorita{color:#ff6b95}
@media(prefers-color-scheme:dark){
  html:not([data-modo="claro"]) .excursao__selo--favorita{color:#ff6b95}
}
