/* ═══════════════════════════════════════════════════════════════
   ELEGÂNCIA PERFUMARIA · CSS global v2 (dark premium)
   Direção: verde esmeralda quase preto, superfícies verde floresta,
   texto marfim, rosa em pequenas doses. Catálogo/checkout claros.
   Tokens: altere aqui cores, fontes, raios e sombras de todo o site.
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* paleta marca */
  --noite: #0D2119;        /* fundo principal escuro (hero #10251C) */
  --noite-2: #08160F;      /* rodapé, mais profundo */
  --superficie: #13291F;   /* cards sobre fundo escuro */
  --superficie-2: #1A3427; /* superfície elevada / hover */
  --borda-escura: #24443A;
  --verde-950: #0F2A1E;    /* header sólido */
  --verde-900: #15523A;
  --verde-700: #2E8F5E;
  --verde-folha: #8CC63E;
  --rosa: #E77CA9;         /* acento contido sobre escuro */
  --rosa-forte: #D63384;   /* acento sobre claro / badges */
  --rosa-suave: #F7E7EF;
  --marfim: #F4EEE0;       /* texto claro */
  --marfim-suave: #C6D2C3; /* texto secundário sobre escuro */
  --creme: #FAF7F0;        /* fundo claro (catálogo/checkout) */
  --branco: #FFFFFF;
  --tinta: #22332A;        /* texto sobre claro */
  --tinta-suave: #5C6B60;
  --erro: #E2554B;
  --erro-escuro: #B3261E;

  --fonte-titulos: "Fraunces", Georgia, serif;
  --fonte-texto: "Outfit", "Segoe UI", system-ui, sans-serif;

  --raio: 16px;
  --raio-p: 10px;
  --sombra-clara: 0 10px 30px rgba(21, 82, 58, .10);
  --sombra-escura: 0 18px 50px rgba(0, 0, 0, .35);
  --container: 1200px;
  --transicao: .28s ease;

  /* tema CLARO (default: loja, produto, carrinho, checkout, conta) */
  --fundo: var(--creme);
  --fundo-alt: #F1EDE2;
  --card: var(--branco);
  --card-hover: var(--branco);
  --texto: var(--tinta);
  --texto-2: var(--tinta-suave);
  --borda: #E5E0D2;
  --titulo: #10331F;
  --marca: #1B7A4B;
  --btn-bg: #14503A;
  --btn-texto: #FBF8F0;
  --btn-bg-hover: #0C3626;
  --btn-borda: #14503A;
  --btn-contorno-texto: #14503A;
  --btn-claro-bg: #F4EEE0;
  --btn-claro-texto: #10331F;
  --chip-bg: rgba(20, 60, 42, .07);
  --tag-bg: #E9F1E6;
  --tag-texto: #175940;
  --campo-borda: #DCD6C6;
  --campo-fundo: #FFFFFF;
}

/* tema ESCURO (home editorial + sobre) */
.tema-escuro {
  --fundo: var(--noite);
  --fundo-alt: #0A1C14;
  --card: var(--superficie);
  --card-hover: var(--superficie-2);
  --texto: var(--marfim);
  --texto-2: var(--marfim-suave);
  --borda: var(--borda-escura);
  --titulo: var(--marfim);
  --marca: var(--rosa);
  --btn-bg: var(--marfim);
  --btn-texto: #0C2018;
  --btn-bg-hover: #FFFFFF;
  --btn-borda: rgba(244, 238, 224, .55);
  --btn-contorno-texto: var(--marfim);
  --btn-claro-bg: var(--marfim);
  --btn-claro-texto: #0C2018;
  --chip-bg: rgba(244, 238, 224, .10);
  --tag-bg: rgba(244, 238, 224, .12);
  --tag-texto: var(--marfim);
  --campo-borda: #2C4A3D;
  --campo-fundo: #10251C;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  font-family: var(--fonte-texto);
  font-weight: 300;
  color: var(--texto);
  background: var(--fundo);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  transition: background .3s ease;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: var(--fonte-titulos); font-weight: 550; color: var(--titulo); line-height: 1.12; letter-spacing: -.01em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.3rem, 4.9vw, 3.7rem); }
h2 { font-size: clamp(1.8rem, 3.6vw, 2.7rem); }
h3 { font-size: 1.3rem; font-weight: 500; }
p { margin: 0 0 1em; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 1rem; }
::selection { background: rgba(231, 124, 169, .35); }
:focus-visible { outline: 3px solid var(--rosa-forte); outline-offset: 2px; border-radius: 4px; }
.tema-escuro :focus-visible { outline-color: var(--rosa); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.container { width: min(var(--container), 100% - 2.5rem); margin-inline: auto; }

/* ── Eyebrow (rótulo editorial) ── */
.eyebrow {
  display: inline-flex; align-items: center; gap: .8rem;
  text-transform: uppercase; letter-spacing: .32em; font-size: .74rem;
  font-weight: 500; color: var(--marca); margin-bottom: 1.1rem;
}
.eyebrow::before { content: ""; width: 34px; height: 1.5px; background: currentColor; opacity: .7; }

/* ── Botões ── */
.btn {
  display: inline-block; text-align: center; text-decoration: none;
  padding: .8rem 1.7rem; border-radius: 999px; border: 1.5px solid transparent;
  font-weight: 500; font-size: .97rem; letter-spacing: .02em;
  transition: transform var(--transicao), box-shadow var(--transicao), background var(--transicao), color var(--transicao), border-color var(--transicao);
}
.btn:hover { transform: translateY(-2px); }
.btn-primario { background: var(--btn-bg); color: var(--btn-texto); box-shadow: 0 8px 24px rgba(10, 30, 20, .22); }
.btn-primario:hover { background: var(--btn-bg-hover); }
.btn-claro { background: var(--btn-claro-bg); color: var(--btn-claro-texto); }
.btn-contorno, .btn-contorno-verde { border-color: var(--btn-borda); color: var(--btn-contorno-texto); background: transparent; }
.btn-contorno:hover, .btn-contorno-verde:hover { background: var(--chip-bg); }
.btn-grande { padding: 1rem 2.3rem; font-size: 1.05rem; }
.btn-mini { padding: .35rem .9rem; font-size: .85rem; background: var(--chip-bg); color: var(--btn-contorno-texto); border: none; border-radius: 999px; }
.btn-largo { width: 100%; }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* ── Notificação ── */
.noty { position: fixed; top: 1rem; right: 1rem; z-index: 200; background: #10331F; color: #F4EEE0; padding: .8rem 1.3rem; border-radius: var(--raio-p); box-shadow: var(--sombra-escura); max-width: min(90vw, 380px); border: 1px solid #24443A; }
.noty-erro { background: #7A1F18; border-color: #A03429; }

/* ── Header (sempre escuro; transparente sobre o hero da home) ── */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: linear-gradient(180deg, rgba(8, 22, 15, .55), rgba(8, 22, 15, 0));
  border-bottom: 1px solid rgba(244, 238, 224, .08);
  transition: background var(--transicao), box-shadow var(--transicao), border-color var(--transicao);
}
.site-header.scrolled {
  background: rgba(10, 26, 18, .82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom-color: rgba(244, 238, 224, .12);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.site-header.on-hero { position: absolute; inset: 0 0 auto 0; background: transparent; border-bottom-color: transparent; }
.site-header.on-hero.scrolled { position: fixed; }
.header-inner { display: flex; align-items: center; gap: 1.2rem; min-height: 76px; }
.logo-chip { display: inline-grid; place-items: center; background: #F6F1E4; border-radius: 13px; padding: 4px; box-shadow: 0 4px 18px rgba(0, 0, 0, .35); }
.logo-chip img { width: 48px; height: 48px; border-radius: 9px; object-fit: cover; }
.main-nav { display: flex; gap: 1.5rem; align-items: center; font-weight: 400; font-size: .95rem; letter-spacing: .04em; }
.main-nav a { color: #E4E9DC; opacity: .88; }
.main-nav a:hover { opacity: 1; color: #FFFFFF; }
.main-nav a[aria-current="page"] { color: #FFFFFF; font-weight: 500; opacity: 1; border-bottom: 2px solid var(--rosa); padding-bottom: 2px; }
.nav-conta, .nav-carrinho { display: none; }
.header-busca { margin-left: auto; display: flex; align-items: center; gap: .3rem; border: 1px solid rgba(244, 238, 224, .28); background: rgba(244, 238, 224, .07); border-radius: 999px; padding: .18rem .3rem .18rem .95rem; transition: border-color var(--transicao), background var(--transicao); }
.header-busca:focus-within { border-color: rgba(244, 238, 224, .6); background: rgba(244, 238, 224, .12); }
.header-busca input { border: none; background: none; width: 175px; padding: .3rem 0; color: #F2EFE4; font-weight: 300; }
.header-busca input::placeholder { color: #A9B8A6; }
.header-busca input:focus { outline: none; }
.header-busca button { border: none; background: #F4EEE0; color: #10331F; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; }
.header-actions { display: flex; align-items: center; gap: .4rem; }
.icon-link { position: relative; color: #E9EADB; padding: .5rem; border-radius: 50%; display: grid; place-items: center; }
.icon-link:hover { background: rgba(244, 238, 224, .12); color: #fff; }
.badge { position: absolute; top: 0; right: -2px; background: var(--rosa-forte); color: #fff; font-size: .68rem; font-weight: 600; min-width: 18px; height: 18px; border-radius: 999px; display: grid; place-items: center; padding: 0 4px; }
.menu-btn { display: none; background: none; border: none; color: #EDEFE2; padding: .5rem; }
.nav-backdrop { position: fixed; inset: 0; background: rgba(4, 14, 9, .5); z-index: 90; }

/* ── Hero (dark premium) ── */
.hero { position: relative; min-height: min(92vh, 800px); display: flex; align-items: center; overflow: hidden; background: var(--noite); }
.hero-media, .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: center; }
/* garantia de contraste à esquerda sem apagar a foto */
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 22, 15, .72) 0%, rgba(8, 22, 15, .38) 40%, rgba(8, 22, 15, 0) 68%); }
.hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; margin-inline: 0; margin-left: max(1.25rem, calc((100vw - 1200px) / 2)); padding-block: clamp(7rem, 15vw, 11rem); max-width: 600px; }
.hero .eyebrow { color: var(--rosa); }
.hero h1 { color: var(--marfim); text-shadow: 0 2px 30px rgba(0, 0, 0, .35); }
.hero-sub { font-size: 1.15rem; color: #D8DFD2; max-width: 470px; font-weight: 300; }
.hero-ctas { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.4rem; }
@media (max-width: 767px) {
  .hero { min-height: 660px; align-items: flex-start; }
  .hero-media img { object-position: center bottom; }
  .hero::after { background: linear-gradient(180deg, rgba(8, 22, 15, .82) 0%, rgba(8, 22, 15, .45) 42%, rgba(8, 22, 15, .05) 78%); }
  .hero-content { justify-content: flex-start; padding-top: 7.5rem; }
}

/* ── Seções ── */
.secao { padding-block: clamp(3.8rem, 7.5vw, 6.5rem); }
.secao-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2.4rem; }
.ver-tudo { font-weight: 500; white-space: nowrap; border-bottom: 1.5px solid var(--rosa); padding-bottom: 2px; color: var(--texto); }

/* Vitrine de produtos */
.grade-produtos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
@media (max-width: 1080px) { .grade-produtos { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px) { .grade-produtos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .grade-produtos { grid-template-columns: 1fr; } }
.produto-card { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; box-shadow: 0 6px 22px rgba(8, 22, 15, .10); transition: transform var(--transicao), box-shadow var(--transicao), background var(--transicao), border-color var(--transicao); }
.produto-card:hover { transform: translateY(-5px); background: var(--card-hover); border-color: var(--marca); box-shadow: 0 16px 40px rgba(8, 22, 15, .22); }
.produto-card-link { display: block; color: inherit; }
.produto-card-media { position: relative; aspect-ratio: 1; background: #EDEFE9; }
.produto-card-media img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.produto-card-info { padding: 1.05rem 1.15rem 1.25rem; }
.produto-card-info h3 { font-size: 1.32rem; margin-bottom: .2em; color: var(--titulo); }
.produto-marca { text-transform: uppercase; letter-spacing: .2em; font-size: .7rem; color: var(--marca); font-weight: 500; margin-bottom: .35em; }
.produto-volumes { color: var(--texto-2); font-size: .86rem; margin-bottom: .5rem; }
.produto-resumo { color: var(--texto-2); font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.produto-preco { font-size: 1.05rem; color: var(--texto); }
.tag { display: inline-block; font-size: .78rem; font-weight: 500; padding: .18rem .7rem; border-radius: 999px; background: var(--tag-bg); color: var(--tag-texto); }
.tag-estoque { position: absolute; top: .8rem; left: .8rem; background: #22332A; color: #F4EEE0; }
.tag-ok { background: #E9F1E6; color: #175940; }
.tag-pendente { background: var(--rosa-suave); color: var(--rosa-forte); }
.tema-escuro .tag-ok { background: rgba(244, 238, 224, .12); color: var(--marfim); }
.tag-erro { background: #F8DEDB; color: var(--erro-escuro); }

/* Estado vazio */
.estado-vazio { text-align: center; padding: 3.5rem 1.5rem; border: 1.5px dashed var(--borda); border-radius: var(--raio); background: var(--card); max-width: 620px; margin-inline: auto; }
.estado-vazio img { width: 180px; height: 180px; border-radius: 50%; object-fit: cover; margin: 0 auto 1.2rem; }
.estado-vazio .btn { margin: .4rem .3rem 0; }

/* Editorial: famílias (foto com legenda sobreposta) */
.grade-editorial { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
@media (max-width: 800px) { .grade-editorial { grid-template-columns: 1fr; } }
.card-editorial { position: relative; border-radius: var(--raio); overflow: hidden; background: var(--superficie); border: 1px solid var(--borda-escura); box-shadow: var(--sombra-escura); }
.card-editorial img { aspect-ratio: 1; object-fit: cover; width: 100%; transition: transform .7s ease; }
.card-editorial:hover img { transform: scale(1.05); }
.card-editorial-link { display: block; color: inherit; }
.card-editorial::after { content: ""; position: absolute; inset: auto 0 0 0; height: 62%; background: linear-gradient(180deg, rgba(8, 22, 15, 0), rgba(8, 22, 15, .88)); pointer-events: none; }
.card-editorial-info { position: relative; z-index: 1; margin-top: -4.6rem; padding: 0 1.3rem 1.3rem; }
.card-editorial-info h3 { color: var(--marfim); font-size: 1.55rem; margin-bottom: .1em; }
.card-editorial-info p { color: #C9D4C6; font-size: .95rem; margin-bottom: .35rem; }
.card-editorial-cta { display: inline-block; font-weight: 500; font-size: .9rem; color: var(--rosa); border-bottom: 1.5px solid rgba(231, 124, 169, .5); }
.card-em-breve { color: #93A394; border-bottom-color: #3A5246; cursor: default; }

/* Ritual / sobre (imagem + texto) */
.ritual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (max-width: 900px) { .ritual-grid { grid-template-columns: 1fr; } }
.ritual-media img { border-radius: var(--raio); box-shadow: var(--sombra-escura); width: 100%; object-fit: cover; border: 1px solid var(--borda-escura); }
.ritual-texto { font-size: 1.06rem; color: var(--texto-2); }
.ritual-texto h2 { color: var(--titulo); }
.ritual-texto .btn { margin-top: .6rem; }

/* Faixa notas (largura total) */
.faixa-notas { position: relative; padding-block: clamp(4rem, 8vw, 7rem); overflow: hidden; background: var(--noite); }
.faixa-notas-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.faixa-notas::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 22, 15, .92) 0%, rgba(8, 22, 15, .78) 52%, rgba(8, 22, 15, .25) 100%); }
.faixa-notas-content { position: relative; max-width: 660px; }
.faixa-notas-content h2 { color: var(--marfim); }
.faixa-notas-content p { color: #CBD6C8; }
.faixa-notas-content .btn { margin-top: .8rem; }

/* CTA final */
.cta-final { position: relative; overflow: hidden; background: var(--noite-2); }
.cta-final-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cta-final-content { position: relative; text-align: center; padding-block: clamp(4rem, 9vw, 7.5rem); max-width: 760px; }
.cta-final-content h2 { color: var(--marfim); }
.cta-final-content .btn-claro { box-shadow: 0 12px 34px rgba(0, 0, 0, .4); }

/* ── Rodapé (sempre escuro) ── */
.site-footer { background: var(--noite-2); color: #D9E2D4; padding-top: 3.8rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2rem; padding-bottom: 2.6rem; }
@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.site-footer h3 { color: #F1EEE1; font-family: var(--fonte-texto); font-size: .82rem; text-transform: uppercase; letter-spacing: .22em; font-weight: 500; }
.site-footer a { display: block; color: #B9C8B4; padding: .18rem 0; }
.site-footer a:hover { color: #F4EEE0; }
.site-footer p { color: #9FB29B; font-size: .94rem; }
.footer-brand img { width: 86px; height: 86px; border-radius: 16px; object-fit: cover; background: #F6F1E4; margin-bottom: .8rem; }
.footer-legal { font-size: .82rem; }
.footer-base { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 1px solid rgba(244, 238, 224, .12); padding-block: 1.2rem; font-size: .84rem; }
.footer-homolog { color: #7E947A; }

/* ── Migalhas ── */
.migalhas { margin: 1.4rem 0 .8rem; font-size: .85rem; color: var(--texto-2); display: flex; gap: .45rem; flex-wrap: wrap; }
.migalhas a { color: var(--texto-2); }
.migalhas a:hover { color: var(--titulo); }

/* ── Loja / filtros ── */
.pagina-loja-head { margin-bottom: 2rem; }
.pagina-loja-sub { color: var(--texto-2); }
.loja-layout { display: grid; grid-template-columns: 250px 1fr; gap: 2.2rem; align-items: start; }
@media (max-width: 900px) { .loja-layout { grid-template-columns: 1fr; } .filtros { order: 2; } }
.filtros section { margin-bottom: 1.6rem; }
.filtros h2 { font-family: var(--fonte-texto); font-size: .82rem; text-transform: uppercase; letter-spacing: .18em; font-weight: 600; margin-bottom: .6rem; color: var(--titulo); }
.filtros ul { list-style: none; margin: 0; padding: 0; }
.filtros li a { display: block; padding: .3rem 0; color: var(--texto-2); font-weight: 400; }
.filtros li a:hover { color: var(--texto); }
.filtros li a.ativo { color: var(--titulo); font-weight: 600; }
.filtros li a.ativo::before { content: "✓ "; color: var(--verde-700); }
.filtros-busca { display: flex; gap: .4rem; margin-bottom: 1.4rem; }
.filtros-busca input { flex: 1; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .55rem .8rem; background: var(--campo-fundo); }
.loja-barra { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.2rem; color: var(--texto-2); font-size: .93rem; }
.ordenar { display: flex; align-items: center; gap: .5rem; }
.ordenar select { border: 1px solid var(--campo-borda); border-radius: var(--raio-p); padding: .45rem .7rem; background: var(--campo-fundo); color: var(--texto); }

/* ── Produto ── */
.produto-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
@media (max-width: 900px) { .produto-layout { grid-template-columns: 1fr; } }
.produto-foto-principal { border-radius: var(--raio); overflow: hidden; background: #ECEEE7; box-shadow: var(--sombra-clara); }
.produto-foto-principal img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }
.produto-thumbs { display: flex; gap: .6rem; margin-top: .8rem; flex-wrap: wrap; }
.produto-thumb { border: 2px solid transparent; border-radius: var(--raio-p); overflow: hidden; padding: 0; background: none; }
.produto-thumb.ativo { border-color: var(--verde-700); }
.produto-thumb img { width: 78px; height: 78px; object-fit: contain; background: #fff; }
.produto-info h1 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); }
.produto-info h1, .produto-info .produto-marca { color: var(--titulo); }
.produto-info .produto-marca { color: #1B7A4B; }
.produto-status { font-weight: 500; color: #1B7A4B; display: flex; align-items: center; gap: .45rem; }
.ponto-verde, .ponto-cinza { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.ponto-verde { background: #1B7A4B; }
.ponto-cinza { background: var(--tinta-suave); }
.variantes { border: none; padding: 0; margin: 1.2rem 0 .6rem; }
.variantes legend { font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; color: var(--titulo); margin-bottom: .6rem; }
.variante { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .7rem 1rem; margin-bottom: .55rem; cursor: pointer; background: var(--campo-fundo); transition: border-color var(--transicao), background var(--transicao); }
.variante:has(input:checked) { border-color: #1B7A4B; background: #EAF2E6; }
.variante.sem-estoque { opacity: .55; }
.variante-preco { font-weight: 500; }
.variante-esgotado { font-size: .78rem; color: var(--erro-escuro); }
.preco-atual { font-size: 1.75rem; font-weight: 600; color: #10331F; font-family: var(--fonte-texto); margin: .4rem 0 1rem; }
.comprar-linha { display: flex; gap: .8rem; align-items: center; }
.comprar-linha input[type="number"] { width: 84px; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .7rem .8rem; text-align: center; background: var(--campo-fundo); }
.produto-atributos { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .8rem 1.4rem; margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--borda); }
.produto-atributos div { margin: 0; }
.produto-atributos dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .14em; color: #1B7A4B; font-weight: 600; }
.produto-atributos dd { margin: .15rem 0 0; }
.produto-descricao { margin-top: 1.6rem; padding-top: 1.4rem; border-top: 1px solid var(--borda); }
.relacionados { margin-top: 3.5rem; }
.relacionados h2 { color: var(--titulo); }

/* ── Carrinho ── */
.carrinho-layout { display: grid; grid-template-columns: 1fr 340px; gap: 2rem; align-items: start; }
@media (max-width: 900px) { .carrinho-layout { grid-template-columns: 1fr; } }
.carrinho-item { display: grid; grid-template-columns: 120px 1fr auto; gap: 1.1rem; background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1rem; margin-bottom: .9rem; }
.carrinho-item-foto img { width: 120px; height: 120px; object-fit: cover; border-radius: var(--raio-p); }
.carrinho-item h2 { font-size: 1.3rem; margin-bottom: .1em; color: var(--titulo); }
.carrinho-item h2 a { color: inherit; }
.carrinho-item-variante, .carrinho-item-preco { color: var(--texto-2); font-size: .92rem; margin: 0 0 .3rem; }
.carrinho-item-acao { display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; }
.carrinho-item-acao form { display: flex; gap: .4rem; align-items: center; }
.carrinho-item-acao input[type="number"] { width: 64px; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .45rem .5rem; text-align: center; background: var(--campo-fundo); }
.carrinho-item-total { font-weight: 600; font-size: 1.05rem; margin: 0; }
.link-excluir { border: none; background: none; color: var(--erro-escuro); font-size: .85rem; padding: 0; text-decoration: underline; }
.carrinho-resumo, .checkout-resumo { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.4rem; box-shadow: var(--sombra-clara); position: sticky; top: 96px; }
.carrinho-resumo dl, .pedido-totais, .checkout-resumo dl { margin: 0; }
.carrinho-resumo div, .pedido-totais div, .checkout-resumo dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; margin: 0; }
.carrinho-resumo dt, .pedido-totais dt, .checkout-resumo dt { color: var(--texto-2); font-weight: 400; }
.carrinho-resumo dd, .pedido-totais dd, .checkout-resumo dd { margin: 0; font-weight: 500; }
.carrinho-resumo .total, .pedido-totais .total, .checkout-resumo .total { border-top: 1px solid var(--borda); margin-top: .4rem; padding-top: .7rem; font-size: 1.12rem; }
.carrinho-resumo .total dt, .pedido-totais .total dt, .checkout-resumo .total dt { color: var(--titulo); font-weight: 600; }
.carrinho-resumo .total dd, .pedido-totais .total dd, .checkout-resumo .total dd { font-weight: 700; }
.carrinho-resumo h2, .checkout-resumo h2 { color: var(--titulo); }
.form-cupom { margin: 1rem 0; }
.form-cupom div { display: flex; gap: .4rem; }
.form-cupom input { flex: 1; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .5rem .8rem; text-transform: uppercase; background: var(--campo-fundo); }
.continuar { display: block; text-align: center; margin-top: .8rem; font-size: .92rem; }
.msg-erro { color: var(--erro-escuro); font-size: .9rem; margin: .4rem 0 0; }

/* ── Checkout ── */
.checkout-layout { display: grid; grid-template-columns: 1fr 360px; gap: 2rem; align-items: start; }
@media (max-width: 960px) { .checkout-layout { grid-template-columns: 1fr; } }
.checkout-bloco { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.5rem; margin-bottom: 1.1rem; }
.checkout-bloco h2 { color: var(--titulo); }
.campo { margin-bottom: .9rem; }
.campo label { display: block; font-size: .88rem; font-weight: 500; margin-bottom: .3rem; color: var(--titulo); }
.campo input[type="text"], .campo input[type="email"], .campo input[type="tel"], .campo input[type="password"], .campo input[type="number"], .campo input[type="search"], .campo select, .campo textarea {
  width: 100%; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .68rem .85rem; background: var(--campo-fundo); color: var(--texto); transition: border-color var(--transicao);
}
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: #1B7A4B; outline: none; box-shadow: 0 0 0 3px rgba(27, 122, 75, .16); }
.campo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 640px) { .campo-grid { grid-template-columns: 1fr; } }
.campo-cep { max-width: 200px; } .campo-uf { max-width: 90px; } .campo-largo { grid-column: span 2; }
@media (max-width: 640px) { .campo-largo { grid-column: span 1; } }
.campo-check label { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.opcao-radio { display: flex; justify-content: space-between; align-items: center; gap: .8rem; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .8rem 1rem; margin-bottom: .55rem; cursor: pointer; background: var(--campo-fundo); }
.opcao-radio:has(input:checked) { border-color: #1B7A4B; background: #EAF2E6; }
.opcao-radio input { accent-color: #14503A; width: 18px; height: 18px; }
.opcao-radio span:last-child { font-weight: 500; }
.aviso-homolog { background: var(--rosa-suave); border: 1px solid #EBC4D8; color: #7A2350; padding: .8rem 1rem; border-radius: var(--raio-p); font-size: .9rem; }
.aviso-neutro { background: #F1EDE2; padding: .8rem 1rem; border-radius: var(--raio-p); font-size: .92rem; color: var(--texto-2); }
.resumo-itens { list-style: none; margin: 0 0 1rem; padding: 0; }
.resumo-itens li { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; font-size: .95rem; }
.checkout-seguro { font-size: .82rem; color: var(--texto-2); text-align: center; margin: .8rem 0 0; }

/* ── Pedido ── */
.pedido-head { margin-bottom: 1.6rem; }
.pedido-head h1 { color: var(--titulo); }
.pedido-eyebrow { color: var(--texto-2); }
.pedido-status-linha { display: flex; gap: .5rem; flex-wrap: wrap; }
.pedido-instrucao { color: var(--texto-2); }
.pedido-layout { display: grid; grid-template-columns: 1fr 300px; gap: 2rem; align-items: start; }
@media (max-width: 900px) { .pedido-layout { grid-template-columns: 1fr; } }
.pagamento-mock .pix-box { display: flex; gap: 1.3rem; align-items: flex-start; flex-wrap: wrap; margin-top: 1rem; }
.pix-qr { text-align: center; }
.pix-qr p { font-size: .78rem; color: var(--texto-2); margin: .3rem 0 0; }
.pix-info { flex: 1; min-width: 230px; }
.pix-info label { font-size: .85rem; font-weight: 500; display: block; margin-bottom: .3rem; }
.pix-info input { width: 100%; border: 1.5px solid var(--campo-borda); border-radius: var(--raio-p); padding: .55rem .7rem; font-family: monospace; font-size: .8rem; background: #F1EDE2; margin-bottom: .5rem; }
.pix-nota { font-size: .88rem; color: var(--texto-2); }
.pedido-ajuda { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.4rem; display: grid; gap: .6rem; }
.pedido-ajuda h2 { color: var(--titulo); }
.linha-tempo { list-style: none; margin: 0; padding: 0; }
.linha-tempo li { position: relative; padding: 0 0 1.1rem 1.3rem; border-left: 2px solid #8CC63E; margin-left: .3rem; }
.linha-tempo li:last-child { border-left-color: transparent; padding-bottom: 0; }
.linha-tempo li::before { content: ""; position: absolute; left: -6px; top: .35rem; width: 10px; height: 10px; border-radius: 50%; background: #1B7A4B; }
.linha-tempo-data { display: block; font-size: .78rem; color: var(--texto-2); }

/* ── Auth / conta ── */
.pagina-auth { display: grid; place-items: center; min-height: 62vh; padding-block: 3rem; }
.auth-box { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: var(--sombra-clara); padding: 2.2rem; width: min(460px, 100%); }
.auth-larga { width: min(680px, 100%); }
.auth-box h1 { color: var(--titulo); }
.auth-links { text-align: center; margin: 1.2rem 0 0; font-size: .93rem; }
.link-redefinir { font-weight: 600; border-bottom: 2px solid var(--verde-folha); }
.conta-abas { display: flex; gap: .3rem; border-bottom: 1px solid var(--borda); margin-bottom: 1.4rem; flex-wrap: wrap; }
.conta-abas a { padding: .5rem .9rem; border-radius: var(--raio-p) var(--raio-p) 0 0; color: var(--texto-2); }
.conta-abas a[aria-current="page"] { color: var(--titulo); font-weight: 600; border-bottom: 2px solid #1B7A4B; }
.lista-pedidos { list-style: none; margin: 0; padding: 0; }
.lista-pedidos li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border: 1px solid var(--borda); border-radius: var(--raio-p); padding: .9rem 1.1rem; margin-bottom: .7rem; background: var(--card); flex-wrap: wrap; }
.lista-pedidos p { margin: .3rem 0 0; color: var(--texto-2); font-size: .9rem; }

/* ── Páginas simples / contato / faq ── */
.pagina-simples-head { max-width: 740px; margin-bottom: 2rem; }
.pagina-simples-sub { font-size: 1.12rem; color: var(--texto-2); }
.pagina-simples-media img { border-radius: var(--raio); box-shadow: var(--sombra-escura); border: 1px solid var(--borda-escura); }
.pagina-simples-corpo { max-width: 740px; font-size: 1.05rem; }
.contato-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.6rem; align-items: start; }
@media (max-width: 900px) { .contato-layout { grid-template-columns: 1fr; } }
.faq-lista { max-width: 780px; }
.faq-item { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio-p); padding: 1rem 1.2rem; margin-bottom: .7rem; }
.faq-item summary { cursor: pointer; font-weight: 500; font-size: 1.02rem; color: var(--titulo); }
.faq-item p { margin: .7rem 0 0; color: var(--texto-2); }
.pagina-404 { padding-block: 4rem; }

/* ── Menu mobile ── */
@media (max-width: 900px) {
  .menu-btn { display: grid; place-items: center; }
  .main-nav {
    position: fixed; inset: 0 0 0 auto; width: min(320px, 85vw);
    background: #0A1C14; flex-direction: column; align-items: flex-start;
    padding: 5.5rem 1.8rem 2rem; gap: 1.1rem; font-size: 1.05rem;
    transform: translateX(100%); transition: transform .3s ease; z-index: 95;
    box-shadow: -12px 0 40px rgba(0, 0, 0, .45); height: 100dvh; overflow-y: auto;
  }
  .main-nav.aberta { transform: translateX(0); }
  .main-nav a { color: #E4E9DC; opacity: .9; }
  .nav-conta, .nav-carrinho { display: block; }
  .header-busca { display: none; }
  .header-inner { gap: .6rem; }
  .brand { margin-right: auto; }
}
@media (min-width: 901px) { .nav-backdrop { display: none !important; } }

/* ── Movimento reduzido: tudo visível de imediato ── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ═══════════════════════════════════════════════════════════════
   v3 · Marcas na home, loja profissional e produto profissional
   ═══════════════════════════════════════════════════════════════ */

/* ── Seção Nossas marcas (home, tema escuro) ── */
.grade-marcas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
@media (max-width: 1080px) { .grade-marcas { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px) { .grade-marcas { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .grade-marcas { grid-template-columns: repeat(2, 1fr); } }
.chip-marca { display: flex; flex-direction: column; align-items: center; gap: .55rem; padding: 1.1rem .8rem 1rem; background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); text-align: center; transition: transform var(--transicao), background var(--transicao), border-color var(--transicao); }
.chip-marca:hover { transform: translateY(-4px); background: var(--card-hover); border-color: var(--marca); }
.chip-marca-logo { display: grid; place-items: center; width: 100%; max-width: 160px; height: 84px; border-radius: 14px; background: #fff; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.28); }
.chip-marca-logo img { width: 100%; height: 84px; min-width: 0; object-fit: contain; padding: 7px; }
.chip-marca-nome { font-weight: 500; font-size: .93rem; color: var(--texto); line-height: 1.25; }
.chip-marca-qtd { font-size: .76rem; color: var(--texto-2); letter-spacing: .04em; }

/* ── Loja: barra de marcas, chips de filtro, sidebar ── */
.barra-marcas { display: flex; gap: .6rem; flex-wrap: wrap; margin-bottom: 1.2rem; align-items: center; }
.chip-marca-mini { display: inline-flex; align-items: center; gap: .55rem; padding: .3rem .95rem .3rem .35rem; background: var(--card); border: 1.5px solid var(--borda); border-radius: 999px; color: var(--texto); font-size: .9rem; font-weight: 400; transition: border-color var(--transicao), background var(--transicao), transform var(--transicao); }
.chip-marca-mini img { width: 38px; height: 38px; border-radius: 50%; object-fit: contain; background: #FAF7F0; padding: 2px; }
.chip-marca-mini small { color: var(--texto-2); font-size: .76rem; }
.chip-marca-mini:hover { transform: translateY(-2px); border-color: #1B7A4B; }
.chip-marca-mini.ativo { border-color: #14503A; background: #EAF2E6; font-weight: 500; }
.chip-marca-mini:not(.ativo)[href]:hover img, .chip-marca-mini.ativo img { background: #FFFFFF; }

.marca-hero-logo { display: inline-grid; place-items: center; width: 92px; height: 92px; border-radius: 18px; background: #FFFFFF; border: 1px solid var(--borda); box-shadow: var(--sombra-clara); overflow: hidden; margin-bottom: 1rem; }
.marca-hero-logo img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.pagina-loja-head { display: flex; gap: 1.4rem; align-items: center; margin-bottom: 1.4rem; }

.chips-ativos { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.2rem; }
.chip-filtro { display: inline-flex; align-items: center; gap: .45rem; background: #EAF2E6; color: #14503A; border: 1px solid #BFD8C4; border-radius: 999px; padding: .3rem .85rem; font-size: .86rem; font-weight: 500; }
.chip-filtro span { font-size: 1rem; line-height: 1; color: #4A6B54; }
.chip-filtro:hover { background: #DDEBDf; }
.chip-limpar { font-size: .86rem; color: var(--texto-2); text-decoration: underline; }

.filtro-grupo { border-bottom: 1px solid var(--borda); padding: .65rem 0; }
.filtro-grupo summary { cursor: pointer; font-family: var(--fonte-texto); font-size: .82rem; text-transform: uppercase; letter-spacing: .18em; font-weight: 600; color: var(--titulo); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.filtro-grupo summary::-webkit-details-marker { display: none; }
.filtro-grupo summary::after { content: "+"; font-size: 1rem; color: var(--texto-2); }
.filtro-grupo[open] summary::after { content: "−"; }
.filtro-grupo ul { list-style: none; margin: .55rem 0 0; padding: 0; }
.filtro-grupo li a { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .28rem 0; color: var(--texto-2); font-weight: 400; }
.filtro-grupo li a:hover { color: var(--texto); }
.filtro-grupo li a small { color: var(--texto-2); font-size: .78rem; }
.filtro-grupo li a.ativo { color: var(--titulo); font-weight: 600; }
.filtro-grupo li a.ativo::before { content: "✓ "; color: #1B7A4B; }
.filtros { position: sticky; top: 96px; }
@media (max-width: 900px) { .filtros { position: static; } }

/* ── Cards de produto refinados ── */
.tag-destaque { position: absolute; top: .8rem; right: .8rem; background: #10331F; color: #F4EEE0; }
.produto-card-rodape { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; margin-top: .4rem; }
.produto-card-cta { display: inline-block; margin-top: .6rem; font-size: .84rem; font-weight: 500; color: #14503A; border-bottom: 1.5px solid #8CC63E; opacity: 0; transform: translateY(3px); transition: opacity var(--transicao), transform var(--transicao); }
.produto-card:hover .produto-card-cta { opacity: 1; transform: none; }

/* ── Página de produto profissional ── */
.produto-galeria { position: sticky; top: 96px; align-self: start; }
@media (max-width: 900px) { .produto-galeria { position: static; } }
.produto-meta { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .4rem; }
.produto-meta .produto-status { margin: 0; }
.comprar-nota { font-size: .82rem; color: var(--texto-2); margin: .7rem 0 0; }
.produto-garantias { list-style: none; display: grid; gap: .5rem; margin: 1.3rem 0 0; padding: 1.1rem 1.2rem; background: #F4F1E7; border: 1px solid var(--borda); border-radius: var(--raio-p); }
.produto-garantias li { display: flex; align-items: center; gap: .6rem; font-size: .9rem; color: var(--texto-2); }
.produto-garantias svg { color: #1B7A4B; flex-shrink: 0; }
.produto-ver-marca { display: inline-block; margin-top: 1.4rem; font-weight: 500; color: #14503A; border-bottom: 1.5px solid #8CC63E; padding-bottom: 2px; }

.titulo-mini { font-family: var(--fonte-texto); font-size: .82rem; text-transform: uppercase; letter-spacing: .18em; font-weight: 600; color: var(--titulo); margin-bottom: .7rem; }
.piramide-olfativa { margin-top: 1.6rem; background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 1.2rem 1.3rem; }
.piramide-nivel { display: grid; grid-template-columns: 92px 1fr; gap: .8rem; padding: .55rem 0; border-bottom: 1px dashed var(--borda); }
.piramide-nivel:last-child { border-bottom: none; padding-bottom: 0; }
.piramide-rotulo { font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 600; color: #1B7A4B; padding-top: .2rem; }
.piramide-nivel p { margin: 0; font-size: .95rem; color: var(--texto-2); }


/* Catálogo: uma vitrine clara, com espaço para cada perfume. */
.site-header:not(.on-hero),.site-header.on-hero.scrolled{background:#102b20;border-bottom:1px solid #244336;box-shadow:0 2px 12px #102b2010}
.catalog-page{padding-top:26px;padding-bottom:64px}.catalog-page .migalhas{margin-bottom:26px;font-size:11px;color:#839084}.catalog-header{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:32px;border-bottom:1px solid #e1e6dc;margin-bottom:28px}.catalog-heading{display:flex;align-items:center;gap:22px;min-width:0}.catalog-eyebrow{font-size:9px;letter-spacing:.19em;font-weight:500;color:#84957d;display:block;margin-bottom:9px}.catalog-header h1{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.035em;line-height:1.15;margin:0;color:#1c3c2b}.catalog-header p{font-size:12px;color:#7f8e78;margin:12px 0 0;max-width:430px;line-height:1.7}.catalog-selected-logo{display:grid;place-items:center;background:#fff;border:1px solid #e0e5da;border-radius:12px;width:94px;height:78px;flex:none;padding:12px}.catalog-selected-logo img{width:100%;height:54px;object-fit:contain}.catalog-search{display:flex;align-items:center;gap:12px;border:1px solid #d9e2d3;background:#fff;border-radius:10px;padding:6px 6px 6px 16px;width:370px;flex:0 0 370px}.catalog-search>svg{flex:none;color:#8a9c7f}.catalog-search input[type=search]{min-width:0;flex:1;border:0!important;box-shadow:none!important;outline:0!important;padding:10px 0;font-size:12px;color:#49643a;background:none}.catalog-search button{border:0;border-radius:6px;background:#1b5038;color:#fff;padding:11px 16px;font-size:11px;font-weight:500}.catalog-search:focus-within{border-color:#80a46c;box-shadow:0 0 0 3px #609c4210}.catalog-layout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:32px;align-items:start}.catalog-filters{min-width:0;padding-right:24px;border-right:1px solid #e2e7db}.catalog-filter-title{display:flex;justify-content:space-between;align-items:center;margin:5px 0 23px}.catalog-filter-title h2{font:500 14px var(--fonte-texto);margin:0;color:#294d33}.catalog-filter-title>span{font-size:10px;color:#9aa78d}.catalog-filter-group{padding:0 0 22px;border:0;border-bottom:1px solid #e4e9dd;margin:0 0 22px;min-width:0}.catalog-filter-group legend,.catalog-filter-group>label:not(.catalog-radio){display:block;font-size:11px;font-weight:500;letter-spacing:.02em;color:#4e6840;margin:0 0 13px;padding:0}.catalog-filter-group input[type=search],.catalog-filter-group select{width:100%;min-width:0;max-width:100%;border:1px solid #dce5d2;border-radius:7px;background:#fff;padding:10px 11px;font-size:11px;color:#6a7d58;box-shadow:none}.catalog-filter-group input[type=search]{margin-bottom:12px}.catalog-brand-options{max-height:230px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd9bf transparent;padding-right:5px}.catalog-radio{display:flex;align-items:center;gap:9px;font-size:10px;color:#6c7d5b;cursor:pointer;padding:8px 0;line-height:1.45}.catalog-radio input{width:13px;height:13px;accent-color:#315b30;flex:none;margin:0}.catalog-radio>span{flex:1;min-width:0;overflow-wrap:anywhere}.catalog-radio small{font-size:9px;color:#9aa78f;flex:none}.catalog-radio:has(input:checked){color:#214725;font-weight:500}.catalog-radio:hover{color:#214725}.catalog-filter-actions{display:flex;flex-direction:column;gap:12px;text-align:center}.catalog-filter-actions .btn{font:500 11px var(--fonte-texto);border-radius:8px;padding:12px 15px}.catalog-filter-actions a{font-size:10px;color:#91a17d;text-decoration:underline;text-underline-offset:3px}.brand-empty{font-size:11px;color:#879b70}.catalog-results{min-width:0}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 22px;min-height:44px}.catalog-toolbar p{font-size:12px;color:#698152;margin:0}.catalog-toolbar p strong{font-weight:500;color:#2b4c2c}.catalog-toolbar small{display:block;font-size:9px;color:#a0ae92;margin-top:3px}.catalog-toolbar-actions{display:flex;align-items:center;gap:10px}.catalog-sort select{width:164px;border:1px solid #dce4d3;border-radius:7px;background:#fff;font-size:11px;color:#65824c;padding:10px 30px 10px 13px}.catalog-mobile-filter{display:none}.catalog-page .chips-ativos{margin:-3px 0 20px;gap:8px}.catalog-page .chip-filtro{padding:5px 10px;border-radius:5px;font-size:10px;background:#edf3e5;color:#6a8a4c;border-color:#dce8d0}.catalog-page .chip-filtro span{margin-left:7px}.catalog-page .chip-limpar{font-size:10px}.catalog-page .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}.catalog-page .produto-card{background:#fff;border:1px solid #e2e7dc;border-radius:12px;box-shadow:none;transition:box-shadow .2s,border-color .2s,transform .2s}.catalog-page .produto-card:hover{border-color:#b4c7a3;box-shadow:0 8px 28px #294c2a0a;transform:translateY(-3px)}.catalog-page .produto-card-link{height:100%;display:flex;flex-direction:column}.catalog-page .produto-card-media{background:#fff;aspect-ratio:1.05;overflow:hidden;border-bottom:1px solid #f0f2eb}.catalog-page .produto-card-media img{padding:18px;object-fit:contain;transition:transform .35s}.catalog-page .produto-card:hover img{transform:scale(1.035)}.catalog-page .produto-card-media .tag{font-size:8px;padding:4px 8px;border-radius:5px}.catalog-page .tag-destaque{background:#edf3e4;color:#738d59;top:10px;right:10px}.catalog-page .produto-card-info{padding:17px 17px 13px;flex:1;display:flex;flex-direction:column}.catalog-page .produto-marca{font-size:8px;letter-spacing:.1em;font-weight:500;color:#90a378;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-page .produto-card-info h3{font:500 14px/1.4 var(--fonte-texto);color:#2c4c2a;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin:0 0 9px}.catalog-page .produto-volumes{font-size:10px;color:#97a58a;margin:0 0 14px}.catalog-page .produto-resumo{display:none}.catalog-page .produto-card-rodape{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:auto}.catalog-page .produto-preco{font-size:17px;font-weight:500;line-height:1.3;color:#294d2a;margin:0}.catalog-page .produto-preco strong{font-weight:500}.catalog-page .produto-card-rodape>.tag{font-size:8px;color:#9aac84;background:none;padding:0;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;font-weight:400}.catalog-page .produto-card-cta{display:flex;justify-content:space-between;align-items:center;opacity:1;transform:none;position:static;margin:14px 0 0;padding-top:11px;border-top:1px solid #eef2e8;font-size:10px;color:#64864a;font-weight:500;line-height:1.4}.catalog-page .produto-card-cta::after{content:'↗';font-size:14px;color:#91aa7a}.pagination{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:32px;padding-top:22px;border-top:1px solid #e2e8da}.pagination>p{margin:0;font-size:10px;color:#9aab88}.pagination-links{display:flex;gap:5px;align-items:center}.pagination-links>a,.pagination-links>span{display:grid;place-items:center;width:33px;height:33px;border:1px solid #dfe7d5;border-radius:7px;background:#fff;color:#849b6c;font-size:11px}.pagination-links>a:hover{color:#325a28;background:#f0f6e8;border-color:#b8d09f}.pagination-links .pagination-current{background:#315532;color:#fff;border-color:#315532}.pagination-links [aria-disabled]{opacity:.4}.pagination-links .pagination-gap{border:0;background:none;width:20px}.catalog-filter-dialog{border:0;border-radius:18px 0 0 18px;position:fixed;inset:0 0 0 auto;margin:0;width:min(370px,94vw);max-width:100%;height:100dvh;max-height:100dvh;padding:22px;background:#fafcf5;color:#4c6a36;box-shadow:-10px 0 40px #2b4e2420;overflow-y:auto;overscroll-behavior:contain}.catalog-filter-dialog::backdrop{background:#11271370;backdrop-filter:blur(2px)}.catalog-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.catalog-dialog-head h2{font:500 18px var(--fonte-texto);margin:0}.catalog-dialog-head button{border:1px solid #d8e4cc;background:#fff;color:#7b9a61;font-size:23px;border-radius:8px;width:35px;height:35px;display:grid;place-items:center}.catalog-filter-dialog .catalog-filter-actions{position:sticky;bottom:-22px;padding:16px 0 22px;background:#fafcf5;border-top:1px solid #e1ead8}.catalog-filter-dialog .catalog-brand-options{max-height:215px}.catalog-filter-dialog .catalog-radio{font-size:12px;padding:9px 0}
@media(min-width:1500px){.catalog-page{width:min(1400px,100% - 5rem)}.catalog-layout{grid-template-columns:228px minmax(0,1fr);gap:36px}.catalog-page .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.catalog-header{gap:24px}.catalog-search{width:320px;flex-basis:320px}.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.catalog-filters{padding-right:20px}.catalog-page .catalog-grid{gap:16px 14px}.catalog-page .produto-card-info{padding:15px 13px 12px}.catalog-page .produto-card-info h3{font-size:13px;min-height:37px}.catalog-page .produto-preco{font-size:16px}.catalog-page .produto-card-media img{padding:14px}}
@media(max-width:800px){.catalog-page{padding-top:22px;width:calc(100% - 36px)}.catalog-page .migalhas{margin-bottom:20px;font-size:10px}.catalog-header{flex-direction:column;align-items:stretch;gap:22px;padding-bottom:24px;margin-bottom:22px}.catalog-header h1{font-size:34px}.catalog-header p{font-size:12px;max-width:none}.catalog-search{width:100%;flex-basis:auto;gap:10px}.catalog-search input[type=search]{font-size:14px;padding:12px 0}.catalog-search button{font-size:11px;padding:13px 17px}.catalog-layout{display:block}.catalog-filters{display:none}.catalog-mobile-filter{display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:9px 13px;background:#fff;border:1px solid #d9e4cf;border-radius:7px;color:#728e58;font:400 11px var(--fonte-texto)}.catalog-mobile-filter span{background:#e4eedb;border-radius:4px;font-size:9px;padding:1px 4px}.catalog-toolbar{gap:10px;margin-bottom:18px}.catalog-toolbar p{font-size:11px}.catalog-sort select{width:130px;font-size:11px;padding:9px 22px 9px 10px;min-height:38px}.catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 13px}.catalog-page .produto-card-info h3{font-size:14px;min-height:40px}.catalog-page .produto-card-media img{padding:18px}.pagination{flex-direction:column;gap:15px}.catalog-selected-logo{width:70px;height:66px;padding:9px}.catalog-selected-logo img{height:42px}}
@media(max-width:480px){.catalog-page{width:calc(100% - 28px);padding-top:18px}.catalog-header h1{font-size:30px}.catalog-header p{font-size:11px;margin-top:10px;max-width:310px}.catalog-header{gap:20px;margin-bottom:20px}.catalog-heading{gap:14px}.catalog-header .catalog-eyebrow{font-size:8px}.catalog-toolbar p{font-size:10px}.catalog-toolbar small{font-size:8px}.catalog-toolbar-actions{gap:7px}.catalog-sort select{width:118px;font-size:10px}.catalog-mobile-filter{font-size:10px;padding:9px 11px}.catalog-page .catalog-grid{gap:13px 10px}.catalog-page .produto-card{border-radius:10px}.catalog-page .produto-card-media{aspect-ratio:1}.catalog-page .produto-card-media img{padding:12px}.catalog-page .produto-card-info{padding:12px 11px 11px}.catalog-page .produto-card-info h3{font-size:12px;min-height:34px;line-height:1.4;margin-bottom:7px}.catalog-page .produto-marca{font-size:7px;letter-spacing:.06em;margin-bottom:7px}.catalog-page .produto-volumes{font-size:9px;margin-bottom:10px}.catalog-page .produto-preco{font-size:15px}.catalog-page .produto-card-rodape>.tag{font-size:7px}.catalog-page .produto-card-cta{font-size:9px;margin-top:11px;padding-top:9px}.catalog-page .produto-card-media .tag{font-size:7px;padding:3px 5px;top:8px;right:8px}.catalog-page .chip-filtro{font-size:9px}.catalog-filter-dialog{padding:22px}.catalog-filter-group select,.catalog-filter-group input[type=search]{font-size:16px}.pagination-links>a,.pagination-links>span{width:32px;height:35px}}
[hidden]{display:none!important}

/* Leitura confortável dos filtros e informações de compra. */
.catalog-header{padding-bottom:26px;margin-bottom:24px}.catalog-page .migalhas{margin-bottom:20px}.catalog-header p{font-size:14px;color:#66735f}.catalog-eyebrow{font-size:10px;color:#63725a}.catalog-filter-group legend,.catalog-filter-group>label:not(.catalog-radio){font-size:12px}.catalog-filter-group input[type=search],.catalog-filter-group select{font-size:12px;color:#4c6043}.catalog-radio{font-size:12px;color:#4f6244}.catalog-radio small{font-size:10px;color:#6d7d61}.catalog-filter-actions .btn{font-size:12px}.catalog-filter-actions a{font-size:12px;color:#586f47}.catalog-toolbar p{font-size:14px}.catalog-toolbar small{font-size:11px;color:#6b7d5c}.catalog-sort select{font-size:12px;color:#49623a}.catalog-search input[type=search]{font-size:14px}.catalog-page .produto-marca{font-size:10px;color:#627851}.catalog-page .produto-card-info h3{font-size:16px;min-height:45px}.catalog-page .produto-volumes{font-size:12px;color:#68785c}.catalog-page .produto-preco{font-size:20px}.catalog-page .produto-card-rodape>.tag{font-size:10px;color:#6e805f}.catalog-page .produto-card-cta{font-size:12px;color:#3f632f}.pagination>p{font-size:12px;color:#657956}.pagination-links>a,.pagination-links>span{color:#587544}.pagination-links .pagination-current{color:#fff}
@media(max-width:800px){.catalog-header p{font-size:13px}.catalog-mobile-filter{font-size:12px;color:#496639}.catalog-sort select{font-size:12px}.catalog-toolbar p{font-size:12px}.catalog-toolbar small{font-size:10px}.catalog-page .produto-card-info h3{font-size:14px;min-height:40px}.catalog-page .produto-preco{font-size:19px}}
@media(max-width:480px){.catalog-header p{font-size:13px}.catalog-header .catalog-eyebrow{font-size:9px}.catalog-toolbar p{font-size:12px}.catalog-toolbar small{font-size:10px}.catalog-sort select{width:118px;font-size:11px}.catalog-mobile-filter{font-size:11px;padding:9px}.catalog-page .produto-marca{font-size:9px}.catalog-page .produto-card-info h3{font-size:13px;min-height:37px}.catalog-page .produto-volumes{font-size:11px}.catalog-page .produto-preco{font-size:17px}.catalog-page .produto-card-rodape>.tag{font-size:9px}.catalog-page .produto-card-cta{font-size:11px}.catalog-filter-group select,.catalog-filter-group input[type=search]{font-size:16px}}

@media(max-width:900px){.main-nav{visibility:hidden}.main-nav.aberta{visibility:visible}}

/* Campanha com perfumes reais do catálogo — 09/10/2026. */
.hero { min-height: 650px; height: min(56.28vw, 850px); }
.hero-content { width: 43%; max-width: 550px; padding-block: 8rem 5rem; }
.hero::after { background: linear-gradient(90deg, rgba(8,22,15,.38), rgba(8,22,15,.12) 43%, transparent 60%); }
.faixa-notas { min-height: 570px; }
.faixa-notas-content { max-width: 550px; width: 44%; margin-left: max(1.25rem,calc((100vw - 1200px)/2)); margin-right: auto; }
.faixa-notas::before { z-index: 1; background: linear-gradient(90deg,rgba(8,22,15,.4),rgba(8,22,15,.15) 48%,transparent 65%); }
.faixa-notas-content { z-index: 2; }
.cta-final-picture { position: absolute; inset: 0; display: block; }
.cta-final-content { width: 50%; max-width: 680px; padding-block: clamp(4rem,8vw,7rem); }
.cta-final-content h2 { font-size: clamp(1.75rem,3.1vw,2.9rem); }
@media(max-width:1023px) {
 .hero { height: auto; min-height: 0; display: block; }
 .hero-media { inset: auto 0 0; height: clamp(400px,60vw,570px); }
 .hero-media img { object-fit: cover; object-position: center bottom; }
 .hero::after { background: linear-gradient(180deg,#08160f 0%,rgba(8,22,15,0) 65%); pointer-events: none; }
 .hero-content { width: auto; max-width: 640px; margin-inline: auto; padding: 8.5rem 1.5rem calc(clamp(400px,60vw,570px) + 2rem); }
 .hero h1 { font-size: clamp(2.6rem,6.2vw,3.8rem); }
 .hero-sub { max-width: 530px; }
 .faixa-notas { padding-block: 3.5rem 0; display: flex; flex-direction: column; min-height: 0; }
 .faixa-notas-content { order: 0; width: auto; max-width: 640px; margin-inline: auto; padding-inline: 1.5rem; }
 .faixa-notas-media { position: relative; order: 1; inset: auto; height: 370px; object-fit: cover; object-position: right center; margin-top: 1.5rem; }
 .faixa-notas::before { display: none; }
}
@media(max-width:767px) {
 .hero-content { padding-top: 7.5rem; padding-bottom: 430px; }
 .hero-media { height: 410px; }
 .hero-sub { font-size: 1rem; }
 .hero-ctas { margin-top: .8rem; gap: .65rem; }
 .hero-ctas .btn { padding-inline: 1rem; }
 .faixa-notas-media { height: 320px; }
 .cta-final { min-height: 0; }
 .cta-final-content { width: auto; padding: 3.5rem 1.5rem 430px; }
 .cta-final-content h2 { font-size: 2rem; }
 .cta-final-picture { inset: auto 0 0; height: 410px; }
 .cta-final-media { object-position: center bottom; }
}
.tema-escuro main { overflow-x: clip; }
