/* Vitrines da home: Eletrônicos, Cuidados & Beleza, Perfumes */
#home-shelves{max-width:80rem;margin:0 auto;padding:0 1rem}
@media(min-width:1024px){#home-shelves{padding:0 2rem}}
.shelf{margin-top:3.5rem}
.shelf-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.shelf-head h2{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:#121731}
.shelf-head h2 .material-symbols-outlined{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:999px;background:#eef2ff;color:#002dd8;font-size:1.35rem}
.shelf-more{font-size:.8rem;font-weight:700;color:#002dd8;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.5rem 1rem;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.shelf-more:hover{background:#eef2ff;border-color:#c7d2fe}
.shelf-body{position:relative;background:#f8fafc;border:1px solid #f1f5f9;border-radius:1.75rem;padding:1.25rem 0 1rem}
.shelf-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:.25rem 1.25rem .75rem}
.shelf-track::-webkit-scrollbar{display:none}
.shelf-card{position:relative;flex:0 0 10.5rem;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid #f1f5f9;border-radius:1.5rem;padding:.9rem;transition:box-shadow .2s,border-color .2s}
.shelf-card:hover{box-shadow:0 10px 30px -12px rgba(18,23,49,.18)}
.shelf-card.in-cart{border-color:#002dd8}
.shelf-img{display:flex;align-items:center;justify-content:center;height:8.5rem;margin-bottom:.6rem;overflow:hidden}
.shelf-img img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.shelf-card:hover .shelf-img img{transform:scale(1.05)}
.shelf-stock{align-self:flex-start;font-size:.62rem;font-weight:700;color:#166534;background:#dcfce7;border-radius:999px;padding:.15rem .55rem;margin-bottom:.4rem}
.shelf-brand{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.shelf-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em;margin-top:.2rem;font-size:.8rem;font-weight:600;line-height:1.2;color:#0f172a;text-decoration:none}
.shelf-name:hover{color:#002dd8}
.shelf-price{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid #f1f5f9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.shelf-price strong{font-size:.95rem;font-weight:800;color:#0f172a}
.shelf-price small{font-size:.68rem;font-weight:700;color:#94a3b8}
.shelf-add{margin-top:.4rem;padding:.4rem 0;background:none;border:0;font-size:.72rem;font-weight:300;color:#002dd8;cursor:pointer}
.shelf-add:hover{text-decoration:underline;text-underline-offset:2px}
.shelf-qty{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.4rem;font-size:.7rem;font-weight:700;color:#002dd8}
.shelf-qty button{width:1.5rem;height:1.5rem;border:0;border-radius:999px;background:#f1f5f9;color:#334155;font-weight:700;cursor:pointer}
.shelf-arrow{position:absolute;top:42%;z-index:2;display:none;width:2.5rem;height:2.5rem;place-items:center;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#121731;box-shadow:0 4px 14px rgba(18,23,49,.12);cursor:pointer}
.shelf-arrow.prev{left:-1.1rem}.shelf-arrow.next{right:-1.1rem}
.shelf-progress{height:4px;margin:.25rem 1.25rem 0;border-radius:99px;background:#e2e8f0;overflow:hidden}
.shelf-progress span{display:block;height:100%;width:30%;border-radius:99px;background:#002dd8}
@media(min-width:768px){.shelf-card{flex-basis:12.5rem}.shelf-img{height:10rem}.shelf-arrow{display:grid}.shelf-head h2{font-size:1.75rem}}

/* Cabeçalho com busca (banner do topo) */
main.pt-24{padding-top:10.5rem}
@media(min-width:768px){main.pt-24{padding-top:9.25rem}}
.hdr-band{background:#fff}
.hdr-main{max-width:80rem;margin:0 auto;padding:.7rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .9rem}
@media(min-width:1024px){.hdr-main{padding:.8rem 2rem;gap:1.25rem}}
.hdr-main .hdr-logo{order:1;padding:0}
.hdr-main>button{order:2;margin-left:auto;color:#0f172a}
.hdr-main>button svg{color:#0f172a!important}
.hdr-main>button:hover{background:#f1f5f9!important}
.hdr-main>div:last-child{order:3}
.hdr-main>div:last-child,.hdr-main>div:last-child *{color:#0f172a}
.hdr-main #header-cart-count{background:#002dd8;color:#fff}
.hdr-main .hs-box{order:4;flex:1 1 100%}
@media(min-width:768px){.hdr-main>button{display:none}.hdr-main .hs-box{order:2;flex:1 1 0}.hdr-main>div:last-child{order:3;margin-left:0}}
.hdr-nav{align-items:center;justify-content:center;gap:2rem;height:2.5rem;background:#fff;border-bottom:0}
.hs-box{position:relative;min-width:0}
.hs-form{display:flex;align-items:center;gap:.5rem;padding:.3rem .3rem .3rem 1rem;border-radius:999px;background:#fff;border:1px solid #e2e8f0}
.hs-form:focus-within{border-color:#002dd8}
.hs-lens{color:#94a3b8;font-size:1.4rem}
.hs-form input{flex:1;min-width:0;border:0;outline:0;background:none;font-size:.95rem;color:#0f172a;padding:.6rem 0}
.hs-form input::placeholder{color:#94a3b8}
.hs-badge{display:none;align-items:center;gap:.25rem;flex-shrink:0;padding:.25rem .6rem;border-radius:999px;background:#eef2ff;color:#002dd8;font-size:.68rem;font-weight:700;white-space:nowrap}
.hs-badge .material-symbols-outlined{font-size:.95rem}
@media(min-width:1024px){.hs-badge{display:inline-flex}}
.hs-form button{flex-shrink:0;border:0;border-radius:999px;background:#002dd8;color:#fff;font-weight:700;font-size:.85rem;padding:.65rem 1.4rem;cursor:pointer}
.hs-form button:hover{background:#0022b3}
.hs-results{position:absolute;left:0;right:0;top:calc(100% + .6rem);z-index:60;max-height:26rem;overflow-y:auto;padding:.5rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;box-shadow:0 24px 50px -18px rgba(18,23,49,.35)}
.hs-results[hidden]{display:none}
.hs-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.4rem .4rem .6rem}
.hs-chips button{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;padding:.3rem .75rem;font-size:.75rem;font-weight:600;color:#334155;cursor:pointer}
.hs-chips button .material-symbols-outlined{font-size:1rem;color:#002dd8}
.hs-note,.hs-empty{margin:0;padding:.5rem .75rem;font-size:.75rem;color:#64748b}
.hs-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem;border-radius:.9rem;text-decoration:none;color:inherit}
.hs-item img{width:3rem;height:3rem;object-fit:contain;border-radius:.6rem;background:#fff;flex-shrink:0}
.hs-info{flex:1;min-width:0;display:flex;flex-direction:column}
.hs-info strong{font-size:.82rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-info small{font-size:.7rem;color:#94a3b8}
.hs-price{display:flex;flex-direction:column;align-items:flex-end;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hs-price b{font-size:.85rem;color:#0f172a}
.hs-price small{font-size:.66rem;color:#94a3b8}
.hs-item:hover,.hs-item.active,.hs-chips button.active,.hs-all.active,.hs-all:hover{background:#eef2ff}
.hs-all{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-top:.25rem;border:0;border-radius:.9rem;background:#f8fafc;padding:.7rem;font-size:.8rem;font-weight:700;color:#002dd8;cursor:pointer}
.hs-all .material-symbols-outlined{font-size:1.1rem}
/* Categorias estilo ícone de app (Apple): squircle, brilho suave e sombra em camadas */
.home-search{max-width:80rem;margin:0 auto 1.5rem;padding:1.25rem 1rem 0}
@media(min-width:1024px){.home-search{padding:1.5rem 2rem 0}}
.hs-cats{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;justify-content:flex-start;padding:.25rem 0 .5rem}
.hs-cats::-webkit-scrollbar{display:none}
@media(min-width:900px){.hs-cats{justify-content:center;gap:1.5rem}}
.hs-cats a{display:flex;flex-direction:column;align-items:center;gap:.6rem;flex:0 0 5.75rem;scroll-snap-align:start;text-decoration:none;-webkit-tap-highlight-color:transparent}
.hs-tile{position:relative;display:block;width:4.75rem;height:4.75rem;border-radius:22.4%;overflow:hidden;background:#f5f5f7;box-shadow:0 1px 1px rgba(0,0,0,.06),0 4px 8px -2px rgba(0,0,0,.10),0 14px 24px -10px rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
.hs-tile img{display:block;width:100%;height:100%;object-fit:contain}
/* brilho superior e contorno interno, como nos ícones do iOS */
.hs-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 42%);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.55)}
.hs-cats a:hover .hs-tile{transform:translateY(-3px) scale(1.06);box-shadow:0 2px 2px rgba(0,0,0,.06),0 10px 18px -4px rgba(0,0,0,.14),0 24px 36px -14px rgba(0,0,0,.24)}
.hs-cats a:active .hs-tile{transform:scale(.94);transition-duration:.12s}
.hs-cats a:focus-visible .hs-tile{outline:3px solid #0071e3;outline-offset:3px}
.hs-cats em{font-style:normal;font-size:.75rem;font-weight:500;letter-spacing:-.01em;color:#1d1d1f;text-align:center;line-height:1.2}

/* Cards de categoria (fundo claro único, título no topo e produto no canto) */
.cc{max-width:80rem;margin:2.5rem auto 0;padding:0 1rem}
@media(min-width:1024px){.cc{padding:0 2rem}}
.cc-body{position:relative}
.cc-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:.25rem 0}
.cc-track::-webkit-scrollbar{display:none}
.cc-card{position:relative;flex:0 0 14.5rem;height:18rem;scroll-snap-align:start;overflow:hidden;border-radius:1.75rem;background:#f5f5f7;text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.cc-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(0,0,0,.28)}
.cc-card h3{position:relative;z-index:1;margin:0;padding:1.5rem 1.4rem 0;max-width:12.5rem;font-size:1.15rem;font-weight:500;line-height:1.22;letter-spacing:-.015em;color:#1d1d1f}
.cc-card img{position:absolute;right:.9rem;bottom:.9rem;max-width:62%;max-height:56%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cc-card:hover img{transform:scale(1.06)}
.cc-arrow{position:absolute;top:50%;z-index:2;display:none;width:2.75rem;height:2.75rem;margin-top:-1.4rem;place-items:center;border:1px solid #1d1d1f;border-radius:999px;background:rgba(255,255,255,.92);color:#1d1d1f;cursor:pointer;backdrop-filter:blur(6px)}
.cc-arrow.prev{left:-1rem}.cc-arrow.next{right:-1rem}
@media(min-width:768px){.cc-arrow{display:grid}.cc-card{flex-basis:17rem;height:21rem}.cc-card h3{font-size:1.3rem;max-width:14rem}}

/* Mobile: produtos em 2 colunas (catálogo) e 2 cards por tela nas vitrines */
@media(max-width:639px){
  #catalog-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  #catalog-products-grid>div{padding:.75rem;border-radius:1.25rem}
  #catalog-products-grid .h-48{height:7.25rem;margin-bottom:.5rem;padding:.25rem}
  #catalog-products-grid h4{font-size:.78rem;line-height:1.2;margin-top:.35rem}
  #catalog-products-grid>div>div:last-child{padding-top:.6rem;margin-top:.35rem}
  #catalog-products-grid .flex.items-baseline{flex-direction:column;align-items:flex-start;gap:.1rem;margin-bottom:.4rem}
  #catalog-products-grid .min-w-\[80px\]{min-width:0}
  .shelf-track{padding-left:.75rem;padding-right:.75rem;gap:.6rem}
  .shelf-card{flex-basis:40vw;padding:.7rem}
  .shelf-img{height:6.5rem}
  .shelf-progress{margin-left:.75rem;margin-right:.75rem}
}

/* Mobile estreito: logo, menu e carrinho na mesma linha do cabeçalho */
@media(max-width:479px){
  .hdr-main{gap:.55rem .5rem;padding:.6rem .75rem}
  .hdr-main .hdr-logo{padding:.3rem .6rem .3rem .5rem;gap:.35rem;min-width:0}
  .hdr-main .hdr-logo img{height:1.15rem}
  .hdr-main .hdr-logo span{font-size:.78rem}
  .hdr-main>div:last-child{gap:.35rem}
  .hdr-main #header-cart-total{font-size:.68rem;margin-left:0}
  .hdr-main>div:last-child>a{gap:.35rem}
}

/* Catálogo em "Todos": blocos por categoria com "Ver mais" */
.catalog-group-head{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-bottom:.6rem;border-bottom:1px solid #e2e8f0}
.catalog-group-head:first-child{margin-top:0}
.catalog-group-head h3{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:#121731}
.catalog-group-head span{font-size:.75rem;font-weight:600;color:#94a3b8}
.catalog-group-more{grid-column:1/-1;display:flex;justify-content:center}
.catalog-group-more button{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;padding:.7rem 1.4rem;font-size:.85rem;font-weight:700;color:#002dd8;cursor:pointer;transition:background .2s,border-color .2s}
.catalog-group-more button:hover{background:#eef2ff;border-color:#c7d2fe}
.catalog-group-more .material-symbols-outlined{font-size:1.1rem}

/* Ícones de categoria do catálogo em duas linhas, sem scroll lateral */
#tienda-circular-nav{display:grid!important;min-width:0!important;gap:1.1rem .25rem;justify-items:center;padding:0}
#tienda-circular-nav .filter-pill{width:100%;min-width:0}
#tienda-circular-nav .filter-pill span{max-width:100%;overflow-wrap:normal;word-break:normal}
@media(max-width:639px){
  #tienda-circular-nav{margin:0 -.9rem;gap:1rem 0}
  #tienda-circular-nav .filter-pill>div{width:2.9rem;height:2.9rem}
  #tienda-circular-nav .filter-pill>div .material-symbols-outlined{font-size:1.35rem}
  #tienda-circular-nav .filter-pill>span:not(.material-symbols-outlined){font-size:.54rem;letter-spacing:-.025em;line-height:1.1;margin-top:.3rem;white-space:normal}
}

/* Ícones de linha das categorias (tamanho único e traço fino, como a referência) */
.cat-svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#tienda-circular-nav .filter-pill>div{width:3.6rem;height:3.6rem}
#tienda-circular-nav .filter-pill>div .material-symbols-outlined{font-size:1.75rem}
@media(max-width:639px){
  #tienda-circular-nav .filter-pill>div{width:3.1rem;height:3.1rem}
  #tienda-circular-nav .filter-pill>div .material-symbols-outlined{font-size:1.5rem}
  .cat-svg{width:1.6rem;height:1.6rem}
}

/* Recortes com fundo transparente (PNG) não precisam do efeito multiply */
.cc-card img.cutout{mix-blend-mode:normal;max-width:74%}
.cc-card img.arc{right:50%;bottom:.7rem;max-width:90%;max-height:66%;transform:translateX(50%)}
.cc-card:hover img.arc{transform:translateX(50%) scale(1.04)}

/* Banner da NEXO antes do bloco de WhatsApp */
.nexo-banner{max-width:80rem;margin:4rem auto 0;padding:0 1rem}
@media(min-width:1024px){.nexo-banner{padding:0 2rem}}
.nexo-card{position:relative;overflow:hidden;border-radius:1.75rem;background:#e9edf2;box-shadow:0 18px 40px -26px rgba(18,23,49,.45)}
.nexo-img{display:block}
.nexo-banner img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.nexo-card:hover img{transform:scale(1.03)}
@media(min-width:768px){.nexo-banner img{aspect-ratio:21/9;object-position:center 58%}}
.nexo-cta{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);font-size:.85rem;font-weight:700;color:#121731;text-decoration:none;transition:background .2s,color .2s}
.nexo-cta:hover{background:#002dd8;color:#fff}
.nexo-cta .material-symbols-outlined{font-size:1.1rem}
@media(min-width:768px){.nexo-cta{left:1.5rem;bottom:1.5rem;font-size:.95rem}}

/* Cores sutis nos ícones de categoria do catálogo */
[data-tone="rose"]{--tone:#c4527f;--tone-bg:#fbeff4}
[data-tone="gold"]{--tone:#b98539;--tone-bg:#faf3e6}
[data-tone="sky"]{--tone:#3d8fb8;--tone-bg:#eaf4fa}
[data-tone="violet"]{--tone:#8460c4;--tone-bg:#f1edfa}
[data-tone="green"]{--tone:#2f9b6c;--tone-bg:#e8f6ef}
[data-tone="blue"]{--tone:#3f78c4;--tone-bg:#ebf1fa}
[data-tone="indigo"]{--tone:#4a64d4;--tone-bg:#eceffc}
[data-tone="coral"]{--tone:#dc6a45;--tone-bg:#fcefe9}
[data-tone="teal"]{--tone:#1b9a93;--tone-bg:#e6f5f4}
[data-tone="amber"]{--tone:#cf7e3a;--tone-bg:#fbf0e4}
[data-tone="slate"]{--tone:#6f7f95;--tone-bg:#eef1f5}
#tienda-circular-nav .filter-pill[data-tone]>div{color:var(--tone)!important;background:var(--tone-bg)!important;border:2px solid transparent!important;box-shadow:none!important;transition:transform .2s,border-color .2s}
#tienda-circular-nav .filter-pill[data-tone]:hover>div{transform:translateY(-2px)}
/* categoria selecionada: contorno na cor da categoria (o texto e o traço fino azul do estado ativo continuam) */
#tienda-circular-nav .filter-pill[data-tone]>div.border-brand-primary{border-color:var(--tone)!important;background:#fff!important}

/* Banner NEXO no desktop: foto estendida (sem faixas cinza), inteira e dentro da altura da tela */
@media(min-width:768px){
  .nexo-card{aspect-ratio:2063/1086;width:min(100%,calc((100svh - 12rem) * 1.9));margin:0 auto;background:none}
  .nexo-img,.nexo-img picture{display:block;width:100%;height:100%}
  .nexo-banner .nexo-img img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
  .nexo-card:hover img{transform:none}
}

/* Ícone de linha colorido no título das vitrines da home (mesmo estilo do menu de produtos) */
.shelf-head h2 .shelf-ico{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:999px;color:var(--tone,#002dd8);background:var(--tone-bg,#eef2ff)}
.shelf-head h2 .shelf-ico .cat-svg{width:1.5rem;height:1.5rem}

/* Produtos no desktop: 4 por linha, e o card de cotação (WhatsApp) vira um painel flutuante recolhível */
@media(min-width:1024px){
  #catalog-products-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #card-minha-cotacao{position:fixed;top:auto;right:1.5rem;bottom:1.25rem;width:23rem;z-index:45}
  #card-minha-cotacao>div{max-height:calc(100svh - 9rem);box-shadow:0 18px 44px -14px rgba(18,23,49,.35)}
  #card-minha-cotacao .cot-head{cursor:pointer;padding-bottom:.6rem;border-bottom:0;user-select:none}
  #card-minha-cotacao:not(.cot-open)>div>div:not(:first-child){display:none}
  #card-minha-cotacao:not(.cot-open)>div>div:first-child{padding-bottom:1rem}
  #card-minha-cotacao.cot-open .cot-head{border-bottom:1px solid #f1f5f9}
}
.cot-summary{margin-left:auto;font-size:.72rem;font-weight:700;color:#002dd8;white-space:nowrap}
.cot-chevron{font-size:1.2rem;color:#64748b;transition:transform .25s}
#card-minha-cotacao.cot-open .cot-chevron{transform:rotate(180deg)}
@keyframes cot-pulse{0%{transform:scale(1)}40%{transform:scale(1.04)}100%{transform:scale(1)}}
#card-minha-cotacao.cot-pulse{animation:cot-pulse .4s ease}
@media(max-width:1023px){#card-minha-cotacao .cot-head{cursor:default}.cot-chevron{display:none}}

/* Indicador fixo "Você está vendo: categoria" na rolagem do filtro Todos */
.cat-indicator{position:fixed;left:50%;z-index:44;display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .95rem .4rem .45rem;border-radius:999px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #e2e8f0;box-shadow:0 10px 28px -12px rgba(18,23,49,.4);font-size:.8rem;color:#475569;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .2s,transform .2s}
.cat-indicator.show{opacity:1;transform:translate(-50%,0)}
.cat-indicator b{color:#121731;font-weight:800}
.cat-indicator-ico{width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:999px;color:var(--tone,#475569);background:var(--tone-bg,#f1f5f9)}
.cat-indicator-ico .cat-svg{width:1.1rem;height:1.1rem}
.cat-indicator-ico .material-symbols-outlined{font-size:1.1rem}

/* Selo e filtro de perfumes de nicho */
.niche-badge{display:inline-flex;align-items:center;gap:.2rem;margin-left:.35rem;padding:.12rem .5rem;border-radius:999px;background:#f1edfa;color:#6d45b8;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.niche-badge .material-symbols-outlined{font-size:.8rem}
.niche-filter{margin:.5rem 0 .25rem}
.niche-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#6d45b8;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.niche-chip:hover{background:#f6f3fc;border-color:#d9cdf1}
.niche-chip .material-symbols-outlined{font-size:1.05rem}
.niche-chip em{font-style:normal;font-weight:800;font-size:.7rem;padding:.05rem .4rem;border-radius:999px;background:#f1edfa}
.niche-chip.on{background:#6d45b8;border-color:#6d45b8;color:#fff}
.niche-chip.on em{background:rgba(255,255,255,.22)}

/* Quantidade (ml, g, un) em linha própria, abaixo do nome */
.p-size{margin-top:.2rem;font-size:.72rem;font-weight:600;color:#94a3b8;letter-spacing:.01em}
.shelf-card .p-size{margin-top:.1rem}

/* Foto de outro sabor do mesmo modelo: aviso discreto no canto da imagem */
#catalog-products-grid a.h-48{position:relative}
.illus{position:absolute;left:.6rem;bottom:.5rem;padding:.12rem .5rem;border-radius:999px;background:rgba(241,245,249,.95);color:#64748b;font-size:.6rem;font-weight:700;letter-spacing:.02em}

/* Contatos de WhatsApp da home: grade de 3 colunas (2 linhas) em vez de lista vertical */
.wa-card{max-width:52rem;margin-left:auto;margin-right:auto}
.wa-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.wa-grid>div{flex-direction:column;justify-content:center;gap:.6rem;padding:1rem .5rem;text-align:center}
.wa-grid>div>div:first-child{flex-direction:column;gap:.45rem;min-width:0}
.wa-grid>div>div:first-child>:first-child{width:3.25rem!important;height:3.25rem!important;font-size:1.1rem}
.wa-grid>div>div:first-child>div{min-width:0}
.wa-grid>div>div:first-child>div>div:last-child{font-size:.66rem;white-space:nowrap}
@media(min-width:640px){.wa-grid{gap:1rem}.wa-grid>div{padding:1.25rem .75rem}.wa-grid>div>div:first-child>:first-child{width:4rem!important;height:4rem!important}.wa-grid>div>div:first-child>div>div:last-child{font-size:.75rem}}

/* Contatos de WhatsApp: cards menores */
.wa-card{max-width:38rem}
.wa-grid{gap:.5rem}
.wa-grid>div{gap:.4rem;padding:.65rem .35rem}
.wa-grid>div>div:first-child{gap:.3rem}
.wa-grid>div>div:first-child>:first-child{width:2.5rem!important;height:2.5rem!important}
.wa-grid>div>div:first-child>div>div:first-child{font-size:.78rem}
.wa-grid>div>div:first-child>div>div:last-child{font-size:.62rem}
.wa-grid>div>a{width:2rem!important;height:2rem!important}
.wa-grid>div>a svg{width:1rem;height:1rem}
@media(min-width:640px){.wa-grid{gap:.65rem}.wa-grid>div{padding:.8rem .5rem}.wa-grid>div>div:first-child>:first-child{width:3rem!important;height:3rem!important}.wa-grid>div>div:first-child>div>div:last-child{font-size:.68rem}}

/* Contatos de WhatsApp: cards cinza compactos (linha única no desktop) */
.wa-grid{gap:.4rem}
.wa-grid>div{padding:.45rem .3rem;gap:.25rem;border-radius:.9rem}
.wa-grid>div>div:first-child>:first-child{width:2.1rem!important;height:2.1rem!important}
.wa-grid>div>a{width:1.7rem!important;height:1.7rem!important}
.wa-grid>div>a svg{width:.9rem;height:.9rem}
@media(min-width:640px){
  .wa-card{max-width:42rem}
  .wa-grid>div{flex-direction:row;justify-content:space-between;text-align:left;padding:.5rem .6rem;gap:.4rem}
  .wa-grid>div>div:first-child{flex-direction:row;align-items:center;gap:.5rem}
  .wa-grid>div>div:first-child>:first-child{width:2.25rem!important;height:2.25rem!important;flex-shrink:0}
  .wa-grid>div>div:first-child>div>div:first-child{font-size:.78rem}
  .wa-grid>div>div:first-child>div>div:last-child{font-size:.64rem}
  .wa-grid>div>a{width:1.9rem!important;height:1.9rem!important;flex-shrink:0}
}

/* Contatos de WhatsApp no celular: cards ainda mais compactos (sem o número, o botão já chama no WhatsApp) */
@media(max-width:639px){
  .wa-grid{gap:.4rem}
  .wa-grid>div{padding:.5rem .25rem;gap:.3rem}
  .wa-grid>div>div:first-child{gap:.2rem}
  .wa-grid>div>div:first-child>:first-child{width:2rem!important;height:2rem!important}
  .wa-grid>div>div:first-child>div>div:first-child{font-size:.72rem}
  .wa-grid>div>div:first-child>div>div:last-child{display:none}
  .wa-grid>div>a{width:1.6rem!important;height:1.6rem!important}
}

/* Catálogo estilo vitrine: filtros à esquerda, ordenação no topo e mais produtos por linha */
.cf{display:none}
.cf.cf-open{display:block;width:100%;margin-bottom:1rem;padding:1rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff}
.cf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.95rem;color:#121731}
.cf-clear{border:0;background:none;color:#002dd8;font-size:.75rem;font-weight:700;cursor:pointer}
.cf-clear[hidden]{display:none}
.cf section{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #f1f5f9}
.cf section:first-of-type{margin-top:0;padding-top:0;border-top:0}
.cf h4{margin:0 0 .55rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.cf-list{display:flex;flex-direction:column;gap:.25rem;max-height:15rem;overflow-y:auto;scrollbar-width:thin}
.cf-brands{max-height:16rem;margin-top:.5rem}
.cf-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.42rem .6rem;border:1px solid transparent;border-radius:.7rem;background:#f8fafc;font-size:.78rem;font-weight:600;color:#334155;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.cf-item:hover{background:#f1f5f9}
.cf-item.on{background:#eef2ff;border-color:#c7d2fe;color:#002dd8}
.cf-item .cf-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf-item em{margin-left:auto;font-style:normal;font-size:.66rem;font-weight:700;color:#94a3b8}
.cf-ico{width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:999px;color:var(--tone);background:var(--tone-bg);flex-shrink:0}
.cf-ico .cat-svg{width:.95rem;height:.95rem}
.cf-input{width:100%;padding:.45rem .65rem;border:1px solid #e2e8f0;border-radius:.7rem;background:#fff;font-size:.78rem;color:#0f172a}
.cf-input:focus{outline:2px solid #c7d2fe;border-color:#002dd8}
.cf-price{display:flex;align-items:center;gap:.4rem;color:#94a3b8}
.cf-check{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;color:#6d45b8;cursor:pointer}
.cf-check em{font-style:normal;font-size:.68rem;color:#94a3b8}
.cf-empty{margin:.3rem 0;font-size:.75rem;color:#94a3b8}
.cf-niche-wrap[hidden]{display:none}
.cf-toolbar{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem}
.cf-sort{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.78rem;font-weight:600;color:#475569}
.cf-sort select{padding:.45rem .8rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.78rem;font-weight:700;color:#121731;cursor:pointer}
.cf-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.8rem;font-weight:700;color:#121731;cursor:pointer}
.cf-toggle .material-symbols-outlined{font-size:1.1rem}
.cf-toggle.has-filters{border-color:#002dd8;color:#002dd8}
@media(min-width:1024px){
  .cf{display:block;flex:0 0 16rem;width:16rem;position:sticky;top:calc(var(--hdr,150px) + 1rem);max-height:calc(100svh - var(--hdr,150px) - 2rem);overflow-y:auto;padding:1rem;border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;scrollbar-width:thin}
  .cf-toggle{display:none}
  .niche-filter{display:none}
  #view-catalog .max-w-7xl{max-width:88rem}
  #catalog-products-grid{grid-template-columns:repeat(auto-fill,minmax(10.75rem,1fr))!important;gap:.9rem}
  #catalog-products-grid>div{padding:.8rem;border-radius:1.25rem}
  #catalog-products-grid .h-48{height:9.25rem;margin-bottom:.6rem}
}
@media(min-width:640px) and (max-width:1023px){#catalog-products-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))!important;gap:1rem}}

/* Filtro de público (feminino / masculino / unissex) */
.cf-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.cf-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.75rem;font-weight:700;color:#334155;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.cf-chip:hover{background:#f8fafc}
.cf-chip em{font-style:normal;font-size:.65rem;font-weight:700;color:#94a3b8}
.cf-chip.on{background:#002dd8;border-color:#002dd8;color:#fff}
.cf-chip.on em{color:rgba(255,255,255,.75)}
#cf-gender-wrap[hidden]{display:none}

[data-tone="fuchsia"]{--tone:#b04bb5;--tone-bg:#f8eefa}

/* Mais de 12 categorias em 2 linhas no celular: ícones e rótulos um pouco menores para tudo caber sem rolar */
@media(max-width:639px){
  #tienda-circular-nav.dense{margin:0 -.75rem}
  #tienda-circular-nav.dense .filter-pill>div{width:2.8rem;height:2.8rem}
  #tienda-circular-nav.dense .filter-pill>span:not(.material-symbols-outlined){font-size:.5rem;letter-spacing:-.03em}
}

/* Filtros sem rolagem interna: todas as opções à vista; a coluna acompanha a página (sem fixar) */
.cf-list,.cf-brands{max-height:none!important;overflow:visible!important}
@media(min-width:1024px){
  .cf{position:static!important;max-height:none!important;overflow:visible!important;align-self:flex-start}
}
.cf-item{padding:.32rem .6rem}
.cf-list,.cf-brands{gap:.2rem}

/* Marcas em duas colunas (lista curta o suficiente para não ficar enorme) */
#cf-brands.cf-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem}
#cf-brands .cf-item{padding:.32rem .5rem;gap:.3rem;align-items:flex-start}
#cf-brands .cf-name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:.72rem;overflow-wrap:anywhere}
#cf-brands .cf-item em{font-size:.62rem}
#cf-brands .cf-empty{grid-column:1/-1}
@media(min-width:1024px){.cf{flex-basis:18.5rem;width:18.5rem}}

/* Marcas em ordem alfabética, lendo de cima para baixo em cada coluna */
#cf-brands.cf-brands{display:block;column-count:2;column-gap:.4rem}
#cf-brands .cf-item{break-inside:avoid;margin-bottom:.25rem}

/* Selo "Novo" (cadastrado nos últimos 7 dias) e filtro Novidades da semana */
.new-badge{display:inline-flex;align-items:center;margin-left:.35rem;padding:.12rem .5rem;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.cf-check-new{color:#15803d}
.cf-new-wrap[hidden]{display:none}

/* Filtros de categoria: ícone em cima, nome embaixo, e a última linha centralizada (sem buraco à direita). */
#tienda-circular-nav{display:flex!important;flex-wrap:wrap;justify-content:center;grid-template-columns:none!important;margin:0 auto;gap:1rem 0}
#tienda-circular-nav .filter-pill{flex:0 0 25%;width:25%;flex-direction:column;align-items:center}
@media (min-width:480px){#tienda-circular-nav .filter-pill{flex-basis:20%;width:20%}}
@media (min-width:768px){#tienda-circular-nav .filter-pill{flex-basis:calc(100%/7);width:calc(100%/7)}}

/* Página de produto: espaço do cabeçalho fixo */
.pdp-main{padding-top:11.75rem}
@media(min-width:768px){.pdp-main{padding-top:10.5rem}}

/* Halloween nos cards de categoria da home: de 20/out a 31/out (ou ?theme=halloween; ?theme=off desliga). Em 1/nov volta ao normal. */
.halloween .cc-card[data-hw]{background:var(--hw) center/cover no-repeat}
.halloween .cc-card[data-hw] img{display:none}
.halloween .cc-card[data-hw] h3{color:var(--hwc,#fff);text-shadow:0 1px 10px rgba(0,0,0,.18)}

/* Halloween (até 31/out): uma aranha anda na ponta da barra de rolagem das vitrines, avançando com o scroll. */
.halloween .shelf-progress{overflow:visible;position:relative}
.halloween .shelf-progress span{position:relative}
.halloween .shelf-progress span::after{content:"";position:absolute;right:-.55rem;top:-1.32rem;width:1.5rem;height:1.5rem;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 40 40%22 fill=%22none%22 stroke=%22%23111827%22 stroke-width=%222.4%22 stroke-linecap=%22round%22%3E%3Cellipse cx=%2220%22 cy=%2225%22 rx=%227%22 ry=%228.5%22 fill=%22%23111827%22/%3E%3Ccircle cx=%2220%22 cy=%2214%22 r=%224.5%22 fill=%22%23111827%22/%3E%3Cpath d=%22M13.5 20L5 14l-3 5M13 24L3 25l-2 6M14 28l-8 8M26.5 20l8.5-6 3 5M27 24l10 1 2 6M26 28l8 8%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;animation:hw-walk .5s ease-in-out infinite alternate}
@keyframes hw-walk{from{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-2px) rotate(6deg)}}
@media(prefers-reduced-motion:reduce){.halloween .shelf-progress span::after{animation:none}}
