/* 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:.8125rem;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:.625rem;font-weight:700;color:#166534;background:#dcfce7;border-radius:999px;padding:.15rem .55rem;margin-bottom:.4rem}
.shelf-brand{font-size:.625rem;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:.8125rem;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}
.shelf-price strong{font-size:1rem;font-weight:800;color:#0f172a}
.shelf-price small{font-size:.6875rem;font-weight:700;color:#94a3b8}
.shelf-add{margin-top:.4rem;padding:.4rem 0;background:none;border:0;font-size:.6875rem;font-weight:600;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:.6875rem;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:1rem;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:.6875rem;font-weight:700;white-space:nowrap}
.hs-badge .material-symbols-outlined{font-size:1rem}
@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:.875rem;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:.8125rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-info small{font-size:.6875rem;color:#94a3b8}
.hs-price{display:flex;flex-direction:column;align-items:flex-end}
.hs-price b{font-size:.875rem;color:#0f172a}
.hs-price small{font-size:.6875rem;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:.8125rem;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:var(--cc-ink,#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 páginas de marca/categoria) e 2 cards por tela nas vitrines */
@media(max-width:639px){
  #catalog-products-grid,#listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  #catalog-products-grid>div,#listing-grid>div{padding:.75rem;border-radius:1.25rem}
  #catalog-products-grid .h-48,#listing-grid .h-48{height:7.25rem;margin-bottom:.5rem;padding:.25rem}
  #catalog-products-grid h4,#listing-grid h4{font-size:.75rem;line-height:1.2;margin-top:.35rem}
  #catalog-products-grid>div>div:last-child,#listing-grid>div>div:last-child{padding-top:.6rem;margin-top:.35rem}
  #catalog-products-grid .flex.items-baseline,#listing-grid .flex.items-baseline{flex-direction:column;align-items:flex-start;gap:.1rem;margin-bottom:.4rem}
  #catalog-products-grid .min-w-\[80px\],#listing-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:.75rem}
  .hdr-main>div:last-child{gap:.35rem}
  .hdr-main #header-cart-total{font-size:.6875rem;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:.875rem;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 */

/* Í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}
@media(max-width:639px){
  .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:.875rem;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:1rem}}

/* 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}
/* categoria selecionada: contorno na cor da categoria (o texto e o traço fino azul do estado ativo continuam) */

/* 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:.6875rem;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:.8125rem;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:.625rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.niche-badge .material-symbols-outlined{font-size:.8125rem}
.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:.8125rem;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:.6875rem;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:.6875rem;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:.625rem;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:.6875rem;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:.75rem}
.wa-grid>div>div:first-child>div>div:last-child{font-size:.625rem}
.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:.6875rem}}

/* 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:.75rem}
  .wa-grid>div>div:first-child>div>div:last-child{font-size:.625rem}
  .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:.6875rem}
  .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:1rem;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:.6875rem;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:.75rem;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:.6875rem;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:.75rem;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:.8125rem;font-weight:700;color:#6d45b8;cursor:pointer}
.cf-check em{font-style:normal;font-size:.6875rem;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:.75rem;font-weight:600;color:#475569}
.cf-sort select{padding:.45rem .8rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.75rem;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:.8125rem;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:.625rem;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 */

/* 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:.6875rem;overflow-wrap:anywhere}
#cf-brands .cf-item em{font-size:.625rem}
#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:.625rem;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). */

/* 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}}


/* Busca do topo: borda em degradê nas cores da marca (azul → roxo → rosa) que anda em volta. */
.hs-form{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(100deg,#002dd8,#5b1fe0,#840ee1,#f01e9e,#840ee1,#5b1fe0,#002dd8) border-box;background-size:100% 100%,300% 100%;animation:hs-flow 7s linear infinite}
.hs-form:focus-within{border-color:transparent;box-shadow:0 0 0 3px rgba(91,31,224,.14)}
@keyframes hs-flow{to{background-position:0 0,-300% 0}}
@media(prefers-reduced-motion:reduce){.hs-form{animation:none}}

/* Rodapé: departamentos em duas colunas (celular e computador) para a lista não ficar comprida. */
.footer-cats{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.25rem}
.footer-cats li{margin:0!important;min-width:0}
.footer-cats a{display:block;overflow-wrap:anywhere}

/* Ajustes mobile: cotação em uma linha só (o topo fixo ocupava muito da tela) e botões flutuantes menores, sem cobrir os cards. */
@media(max-width:767px){
  header > div:first-child > div > div:first-child{gap:.4rem;white-space:nowrap;overflow:hidden}
  header > div:first-child > div > div:first-child > span:nth-child(-n+2){display:none}
  header > div:first-child .font-mono{font-size:10px}
  #floating-actions{bottom:.75rem;left:.75rem;gap:.5rem}
  #floating-actions > button,#floating-actions > a{width:2.75rem;height:2.75rem}
  #floating-actions svg,#floating-actions .material-symbols-outlined{transform:scale(.85)}
}
/* Carrossel do topo: a caixa tem a proporção da arte (celular: vertical 1080x1417; a partir de 640 px: larga ~3,14:1) e as imagens a preenchem. */
.hw-hero-box{aspect-ratio:1080/1417}@media(min-width:640px){.hw-hero-box{aspect-ratio:3817/1217}}
.hw-hero-box picture,.hw-hero-box picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hw-hero-box .hero-dots{position:absolute;right:.8rem;bottom:.8rem;background:rgba(255,255,255,.78);padding:.4rem .6rem;border-radius:999px;backdrop-filter:blur(4px)}
@media(min-width:640px){.hw-hero-box .hero-dots{right:1.5rem;bottom:1.2rem}}
/* Cards de categoria da home: cena de cor única com o produto (a imagem já traz o fundo); o título fica por cima. */
.cc-card img.scene{inset:0;right:auto;bottom:auto;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center bottom;mix-blend-mode:normal}

/* Tipografia única do site: Inter (hospedada em /assets/fonts, licença OFL) em todos os aparelhos; preços usam a mesma família com números tabulares (antes as vitrines usavam monoespaçada); peso mínimo 400. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--default-font-family:var(--font-sans);--font-mono:var(--font-sans);--font-serif:Georgia,"Times New Roman",serif}
html,body,button,input,select,textarea{font-family:var(--font-sans)}
.shelf-price,.hs-price,.font-mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums}
.font-light{font-weight:400}
.tienda-brand-logo .text-\[7px\]{font-size:.5625rem}

/* Instagram: carrossel de embeds oficiais (os posts vêm do painel). */
.ig-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.25rem}
.ig-head h2{margin:0;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:#121731}
.ig-head a{font-size:.875rem;font-weight:700;color:#002dd8;text-decoration:none}
.ig-body{position:relative}
.ig-track{display:flex;align-items:flex-start;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.25rem 0 .5rem}
.ig-track::-webkit-scrollbar{display:none}
.ig-item{flex:0 0 min(86%,340px);min-height:30rem;scroll-snap-align:start}
.ig-item .instagram-media{min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important}
.ig-item blockquote a{display:block;padding:1rem;font-size:.875rem;font-weight:600;color:#002dd8}
.ig-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)}
.ig-arrow.prev{left:-1rem}.ig-arrow.next{right:-1rem}
@media(min-width:768px){.ig-arrow{display:grid}.ig-item{flex-basis:340px}}

/* Canais oficiais: sem o cartão grande em volta e sem fundo cinza; um cartão branco por pessoa, só com o perfil (foto e nome) e o ícone do WhatsApp. */
.wa-card.wa-card{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.wa-card>div:first-child{display:none}
.wa-grid>div,.wa-grid>div:hover{background:#fff;border:1px solid #e8edf5;box-shadow:0 8px 22px -14px rgba(18,23,49,.28);border-radius:1.25rem;transition:transform .25s ease,box-shadow .25s ease}
.wa-grid>div:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(18,23,49,.34)}
.wa-grid>div>a{background:#ecfdf3;border-color:#c9f0d8}
.wa-grid>div>div:first-child>div>div:last-child{display:none}

/* Categorias do catálogo: um produto por categoria com o nome embaixo, em várias linhas (todas visíveis); "Novo" em laranja; alvo de toque ≥ 44 px, foco visível, ativo com sublinhado + negrito (não só cor). */
.cat-panel{position:relative}
.cat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .25rem;padding:.25rem 0 .5rem}
@media(min-width:480px){.cat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:768px){.cat-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem .5rem}}
@media(min-width:1024px){.cat-strip{grid-template-columns:repeat(7,minmax(0,1fr))}}
.cat-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-height:44px;padding:.5rem .25rem .6rem;border:0;border-radius:1rem;background:none;color:#1d1d1f;font:inherit;text-align:center;cursor:pointer;transition:transform .25s ease,background .2s}
.cat-item:hover{background:#f5f5f7;transform:translateY(-2px)}
.cat-art{display:flex;align-items:center;justify-content:center;width:100%;height:4.6rem;overflow:hidden}
.cat-art img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.cat-art svg{width:2.4rem;height:2.4rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;color:#1d1d1f}
.cat-art .material-symbols-outlined{font-size:2.2rem;color:#1d1d1f}
.cat-label{display:flex;align-items:flex-start;justify-content:center;min-height:2.5em;max-width:100%;font-size:.875rem;font-weight:600;line-height:1.25;letter-spacing:-.005em;color:#1d1d1f;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.cat-item.is-active .cat-label{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.cat-item:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
@media(min-width:768px){.cat-art{height:5.6rem}.cat-label{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.cat-item{transition:none}.cat-item:hover{transform:none}}

/* Página de marca: cartão lateral (logo, nome, quantidade) e, abaixo, as categorias dos produtos da marca como filtro. */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.brand-layout{display:grid;gap:1.25rem;align-items:start}
.brand-main{min-width:0}
.brand-card,.brand-cats{background:#fff;border:1px solid #e8edf5;border-radius:1.5rem;box-shadow:0 10px 30px -20px rgba(18,23,49,.28)}
.brand-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.25rem 1rem;padding:1rem 1.1rem}
.brand-logo{grid-row:span 2;display:grid;place-items:center;overflow:hidden;width:4.25rem;height:4.25rem;border-radius:1.15rem;color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,hsl(var(--h) 70% 42%),hsl(calc(var(--h) + 35) 70% 32%))}
.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.brand-name{margin:0;align-self:end;font-size:1.375rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:#121731;overflow-wrap:anywhere}
.brand-count{margin:0;align-self:start;font-size:.8125rem;font-weight:600;color:#475569}
.brand-intro{grid-column:1/-1;margin:.5rem 0 0;font-size:.75rem;line-height:1.55;color:#475569}
.brand-cats{margin-top:1rem;padding:1rem}
.brand-cats h2{margin:0 0 .6rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#475569}
.brand-cats ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.brand-cats a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:2.75rem;padding:.35rem .85rem;border:1px solid #e2e8f0;border-radius:999px;font-size:.875rem;font-weight:600;color:#1e293b;text-decoration:none;transition:background .2s,border-color .2s}
.brand-cats a:hover{background:#f1f5f9}
.brand-cats a span{font-size:.75rem;font-weight:700;color:#475569}
.brand-cats a[aria-current="true"]{background:#e0e7ff;border-color:#002dd8;color:#0026b8}
.brand-cats a[aria-current="true"] span{color:#0026b8}
.brand-cats a:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
@media(min-width:1024px){
  .brand-layout{grid-template-columns:15.5rem minmax(0,1fr);gap:1.75rem}
  .brand-side{position:sticky;top:8.5rem}
  .brand-card{display:block;text-align:center;padding:1.4rem 1.2rem}
  .brand-logo{width:5.75rem;height:5.75rem;margin:0 auto .9rem;font-size:2rem;border-radius:1.5rem}
  .brand-name{font-size:1.5rem}
  .brand-count{margin-top:.3rem}
  .brand-intro{margin-top:.75rem;text-align:left}
  .brand-cats ul{flex-direction:column;flex-wrap:nowrap;gap:.2rem}
  .brand-cats a{border:0;border-radius:.85rem;padding:.4rem .75rem}
  .brand-cats a[aria-current="true"]{box-shadow:inset 3px 0 0 #002dd8}
}
.brand-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}

/* Banner IPHONE 18: a imagem das três cores entra inteira; o texto é real (fonte do site, Inter 800, branco) e fica centralizado na altura do meio dos aparelhos; tamanhos em unidades do próprio banner (cqw/cqh), então acompanha o formato padrão do carrossel em qualquer tela. */
.hw-hero-box .ip-slide{container-type:size}
.ip-link{position:absolute;inset:0;display:block;text-decoration:none}
.ip-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-sans);font-weight:800;font-size:20.8cqh;line-height:1.05;letter-spacing:-.015em;color:#fff;white-space:nowrap;text-shadow:0 .3cqh 2cqh rgba(0,0,0,.65),0 0 .8cqh rgba(0,0,0,.4)}
.ip-link:focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media(max-width:639px){.ip-text{top:50%;font-size:13.2cqw}}
/* Faixa de marcas: links reais para a página de cada marca (mesma lista de /marcas/); pausa ao passar o mouse ou focar; sem animação para quem pede menos movimento. */
.brand-list{display:flex;flex-shrink:0;align-items:center;gap:2.25rem;margin:0;padding:0 1.125rem;list-style:none}
.brand-chip{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;padding:.15rem .5rem;border-radius:.9rem;color:#1d1d1f;font-size:1rem;font-weight:700;letter-spacing:.01em;text-decoration:none;transition:background .2s,color .2s}
.brand-chip img,.brand-mono{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:.65rem}
.brand-chip img{object-fit:contain;background:#fff}
.brand-mono{display:grid;place-items:center;color:#fff;font-size:.9rem;font-weight:800;background:linear-gradient(135deg,hsl(var(--h) 70% 42%),hsl(calc(var(--h) + 35) 70% 32%))}
.brand-chip:hover{background:#f5f5f7;color:#002dd8}
.brand-chip:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.brand-strip:hover .animate-marquee,.brand-strip:focus-within .animate-marquee{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.brand-strip{overflow-x:auto}.brand-strip .animate-marquee{animation:none!important}}


/* Galeria do produto: setas e contador sobre a foto, miniaturas com a foto ativa marcada (borda + fundo, não só cor). */
.pdp-frame{position:relative}
.pdp-frame:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.pdp-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #e2e8f0;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:#1d1d1f}
.pdp-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pdp-prev{left:.6rem}.pdp-next{right:.6rem}
.pdp-arrow:hover{background:#fff;border-color:#002dd8;color:#002dd8}
.pdp-arrow:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.pdp-count{position:absolute;right:.75rem;bottom:.6rem;padding:.15rem .55rem;border-radius:999px;background:rgba(29,29,31,.78);color:#fff;font-size:.75rem;font-weight:700}
.pdp-thumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.pdp-thumb{width:4.5rem;height:4.5rem;min-width:44px;min-height:44px;padding:.25rem;border:2px solid #e2e8f0;border-radius:.9rem;background:#fff;cursor:pointer}
.pdp-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.pdp-thumb[aria-pressed="true"]{border-color:#002dd8;background:#eef2ff;box-shadow:0 0 0 1px #002dd8}
.pdp-thumb:focus-visible{outline:3px solid #0071e3;outline-offset:2px}

/* Cards do catálogo com várias fotos: setas aparecem sobre a foto (sempre visíveis no celular, no desktop ao passar o mouse ou focar) e pontinhos mostram a posição. */
.cc-gal{position:relative}
.cc-arrow{position:absolute;top:5.5rem;transform:translateY(-50%);width:44px;height:44px;border:1px solid #e2e8f0;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:#1d1d1f;padding:0;opacity:1}
.cc-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cc-prev{left:-.4rem}.cc-next{right:-.4rem}
.cc-arrow:hover{border-color:#002dd8;color:#002dd8}
.cc-arrow:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.cc-dots{position:absolute;left:0;right:0;bottom:1.1rem;display:flex;justify-content:center;gap:.3rem;pointer-events:none}
.cc-dots i{width:.4rem;height:.4rem;border-radius:50%;background:#cbd5e1}
.cc-dots i.on{background:#002dd8;width:.75rem;border-radius:999px}
@media(hover:hover) and (min-width:1024px){.cc-arrow{opacity:0;transition:opacity .15s}.cc-gal:hover .cc-arrow,.cc-gal:focus-within .cc-arrow{opacity:1}}
@media(prefers-reduced-motion:reduce){.cc-arrow{transition:none}}
/* Feedback ao adicionar à cotação: aviso verde no pé da tela e botão verde por um instante (texto + ✓, não só cor). */
#cart-toast{position:fixed;left:50%;bottom:1.25rem;z-index:80;max-width:min(92vw,28rem);padding:.75rem 1.1rem;border-radius:999px;background:#25d366;color:#052e16;font-size:.875rem;font-weight:700;line-height:1.3;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transform:translate(-50%,1rem);pointer-events:none;transition:opacity .2s,transform .2s}
#cart-toast.show{opacity:1;transform:translate(-50%,0)}
button.is-added{background:#25d366!important;color:#052e16!important;border-color:#25d366!important;text-decoration:none!important}
@media(prefers-reduced-motion:reduce){#cart-toast{transition:none}}

/* Vídeo da NEXO na home: só o vídeo (vertical inteiro, centralizado, sem card nem borda); pausar e som pequenos e discretos no canto superior esquerdo, com área de toque de 44 px. */
.nexo-video-card{display:flex;justify-content:center}
.nexo-stage{position:relative;line-height:0;border-radius:1.25rem;overflow:hidden}
.nexo-video{display:block;height:min(80vh,40rem);width:auto;max-width:100%;aspect-ratio:9/16;object-fit:cover}
.nexo-controls{position:absolute;top:.25rem;left:.25rem;display:flex}
.nexo-btn{position:relative;width:44px;height:44px;border:0;background:none;display:grid;place-items:center;cursor:pointer;padding:0;color:#fff}
.nexo-btn::before{content:"";position:absolute;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.35);transition:background .15s}
.nexo-btn:hover::before{background:rgba(0,0,0,.6)}
.nexo-btn:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.nexo-btn .material-symbols-outlined{position:relative;font-size:1.05rem}

/* Título acima do vídeo: "Mobilidade" + logo NEXO, centralizados. */
.nexo-title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;margin:0 0 1rem;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;letter-spacing:-.02em;line-height:1;color:#1d1d1f}
.nexo-banner .nexo-title img{display:block;flex:none;height:3.4rem;width:auto;max-width:none;aspect-ratio:auto;object-fit:contain;transition:none}
/* Ficha do produto (Sobre este produto): rótulos e valores em lista, lida como definição por leitores de tela e pelo Google. */
.pdp-facts{margin:.75rem 0 0;display:grid;gap:.5rem}
.pdp-facts>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.75rem;padding:.55rem 0;border-top:1px solid #f1f5f9}
.pdp-facts dt{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}
.pdp-facts dd{margin:0;font-size:.875rem;color:#1d1d1f;line-height:1.45}
@media(max-width:480px){.pdp-facts>div{grid-template-columns:1fr;gap:.15rem}}

/* Prateleiras: "Em estoque" à esquerda e a tag Nicho no canto direito da mesma linha, menor e do tamanho do texto. */
.shelf-tags{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.4rem}
.shelf-tags .shelf-stock{margin-bottom:0;align-self:auto}
.shelf-tags .niche-badge{margin-left:auto;padding:.1rem .4rem;font-size:.5rem;gap:.15rem;width:max-content;flex:none}
.shelf-tags .niche-badge .material-symbols-outlined{font-size:.65rem}
/* Cards das prateleiras da home com várias fotos: mesmas setas e pontinhos do catálogo, menores para caber no card estreito. */
.shelf-card .cc-gal{position:relative}
.shelf-card .cc-arrow{top:4.25rem;width:32px;height:32px}
.shelf-card .cc-arrow svg{width:16px;height:16px}
.shelf-card .cc-prev{left:-.35rem}.shelf-card .cc-next{right:-.35rem}
.shelf-card .cc-dots{bottom:.85rem}
@media(min-width:768px){.shelf-card .cc-arrow{top:5rem}}
@media(max-width:767px){.shelf-card .cc-arrow{top:3.25rem}}

/* Mapa dos perfumes: entrada por estilo, famílias com ícones, filtros com contagem, mapa com quadrantes e resultados (estilo claro e fluido). */
.mp-hero{margin:.5rem 0 1.75rem}
.mp-eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6d28d9}
.mp-hero h1{font-size:clamp(2rem,6vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#1d1d1f;margin:.25rem 0 .6rem}
.mp-lead{max-width:40rem;font-size:1.05rem;line-height:1.5;color:#515154}
.mp-step{margin-top:1.75rem}
.mp-step h2{font-size:1.05rem;font-weight:800;margin-bottom:.7rem;color:#1d1d1f}
.mp-moods{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1rem}
.mp-mood,.mp-fam-tile{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem .25rem;border:0;background:none;text-align:center;cursor:pointer;color:#1d1d1f}
.mp-mood-i,.mp-fam-i{width:4.5rem;height:4.5rem;object-fit:contain;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .2s}
.mp-fam-i{display:grid;place-items:center}.mp-fam-i img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}
.mp-mood-i{filter:drop-shadow(0 3px 4px rgba(0,0,0,.2))}
.mp-mood strong,.mp-fam-tile strong{font-size:.82rem;font-weight:600;line-height:1.25;padding-bottom:.2rem;border-bottom:2px solid transparent;transition:border-color .2s,font-weight .2s}
.mp-mood:hover .mp-mood-i,.mp-fam-tile:hover .mp-fam-i{transform:translateY(-3px) scale(1.06)}
.mp-mood[aria-pressed="true"] strong,.mp-fam-tile[aria-pressed="true"] strong{font-weight:800;border-bottom-color:#1d1d1f}
.mp-mood[aria-pressed="true"] .mp-mood-i,.mp-fam-tile[aria-pressed="true"] .mp-fam-i{transform:scale(1.12)}
.mp-fam-scroll{display:flex;gap:1rem;overflow-x:auto;padding:.25rem .1rem .6rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.mp-fam-tile{flex:0 0 5.5rem;scroll-snap-align:start}
.mp-seg{display:inline-flex;flex-wrap:wrap;gap:.4rem}
.mp-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 1rem;border:1px solid #d2d2d7;border-radius:999px;background:#fff;font-size:.85rem;font-weight:600;color:#1d1d1f;cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s}
.mp-seg .mp-chip{border-color:#d2d2d7;background:#fff}
.mp-chip .mp-c{font-style:normal;font-size:.7rem;font-weight:700;color:#6e6e73}
.mp-chip:hover{border-color:#1d1d1f}
.mp-chip[aria-pressed="true"]{background:#1d1d1f;border-color:#1d1d1f;color:#fff}.mp-chip[aria-pressed="true"] .mp-c{color:#d2d2d7}
.mp-chip.is-empty,.mp-mood.is-empty,.mp-fam-tile.is-empty{opacity:.35;cursor:not-allowed}
.mp-more{margin-top:1.25rem;border-top:1px solid #e5e5ea;padding-top:.75rem}
.mp-more summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-size:.9rem;font-weight:700;color:#0066cc}
.mp-group{border:0;margin:.75rem 0 0;padding:0}.mp-group legend{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#6e6e73;margin-bottom:.4rem}
.mp-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.mp-bar{position:sticky;top:var(--mp-top,0px);z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:1.5rem -1rem 0;padding:.65rem 1rem;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid #e5e5ea}
.mp-bar p{margin:0;font-size:.85rem;font-weight:800;color:#1d1d1f}
.mp-tags{display:flex;flex-wrap:wrap;gap:.35rem;flex:1}
.mp-tag{min-height:36px;padding:0 .75rem;border:0;border-radius:999px;background:#e8e8ed;font-size:.78rem;font-weight:700;color:#1d1d1f;cursor:pointer}.mp-tag:hover{background:#d2d2d7}
.mp-clear{min-height:44px;padding:0 .5rem;border:0;background:none;font-size:.82rem;font-weight:700;color:#0066cc;cursor:pointer;text-decoration:underline}
.mp-chip:focus-visible,.mp-mood:focus-visible,.mp-fam-tile:focus-visible,.mp-dot:focus-visible,.mp-clear:focus-visible,.mp-tag:focus-visible,.mp-more summary:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.mp-stage{display:grid;gap:1.25rem;margin-top:1.25rem}
.mp-plot{position:relative;overflow:hidden;aspect-ratio:1/1;width:100%;border-radius:1.75rem;background:linear-gradient(90deg,#e8f4fb 0%,#fbfbfd 50%,#fdf0e4 100%);box-shadow:inset 0 0 0 1px #e5e5ea}
.mp-mid-v,.mp-mid-h{position:absolute;background:rgba(0,0,0,.08);pointer-events:none}.mp-mid-v{left:50%;top:0;bottom:0;width:1px}.mp-mid-h{top:50%;left:0;right:0;height:1px}
.mp-q{position:absolute;font-size:clamp(.65rem,1.6vw,.85rem);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(29,29,31,.32);pointer-events:none}
.mp-q-tl{top:.8rem;left:.9rem}.mp-q-tr{top:.8rem;right:.9rem}.mp-q-bl{bottom:.8rem;left:.9rem}.mp-q-br{bottom:.8rem;right:.9rem}
.mp-axes{display:flex;justify-content:space-between;margin:.5rem .25rem 0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6e6e73}
.mp-hint{margin:.35rem .25rem 0;font-size:.75rem;color:#6e6e73}
.mp-dot{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0;transition:opacity .3s,transform .25s cubic-bezier(.2,.8,.2,1)}
.mp-dot img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 1.5px #fff) drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.mp-dot:hover,.mp-dot:focus-visible,.mp-dot.on{transform:translate(-50%,-50%) scale(1.5);z-index:5}
.mp-dot.on img{filter:drop-shadow(0 0 2px #1d1d1f) drop-shadow(0 0 2px #1d1d1f) drop-shadow(0 4px 6px rgba(0,0,0,.4))}
.mp-dot::after{display:none;content:attr(data-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:.3rem .6rem;border-radius:.6rem;background:#1d1d1f;color:#fff;font-size:.72rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .15s}
.mp-dot:hover::after,.mp-dot:focus-visible::after{opacity:1}
@media(hover:hover) and (min-width:900px){.mp-dot::after{display:block}}
.mp-dot.dim{opacity:.12;pointer-events:none}
.mp-side{align-self:start}
.mp-detail{padding:1.25rem;border-radius:1.5rem;background:#f5f5f7}
.mp-empty{font-size:.9rem;color:#6e6e73}
.mp-d-img{display:block;width:10rem;height:10rem;margin:0 auto .5rem;background:#fff;border-radius:1.25rem;padding:.5rem}.mp-d-img img{width:100%;height:100%;object-fit:contain}
.mp-d-brand{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73}
.mp-detail h3{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;margin:.15rem 0 .5rem;line-height:1.2}.mp-detail h3 small{font-weight:600;color:#6e6e73}
.mp-d-fam{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:800}.mp-d-fam small{font-weight:600;color:#6e6e73}.mp-d-fam .mp-fam-i{width:2.2rem;height:2.2rem}
.mp-d-dl{margin:.6rem 0 0;display:grid;gap:.25rem}.mp-d-dl div{display:flex;gap:.6rem;font-size:.82rem}.mp-d-dl dt{width:4.5rem;flex:none;font-weight:800;color:#6e6e73}.mp-d-dl dd{margin:0;color:#1d1d1f}
.mp-d-price{font-size:1.25rem;font-weight:800;font-family:ui-monospace,monospace;margin:.8rem 0}
.mp-d-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.mp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;border-radius:999px;background:#0071e3;color:#fff;font-size:.85rem;font-weight:700;border:1px solid #0071e3;cursor:pointer;text-decoration:none}
.mp-btn:hover{background:#0077ed}.mp-btn-alt{background:#fff;color:#0071e3}.mp-btn-alt:hover{background:#f0f7ff}
.mp-list-title{margin:2.5rem 0 .8rem;font-size:1.4rem;font-weight:800;letter-spacing:-.01em}.mp-list-title span{font-weight:600;color:#6e6e73}
.mp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.mp-item[hidden]{display:none}
.mp-item{animation:mpIn .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes mpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mp-item a{display:flex;flex-direction:column;gap:.2rem;height:100%;padding:.8rem;border-radius:1.4rem;background:#f5f5f7;text-decoration:none;color:#1d1d1f;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.mp-item a:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px rgba(0,0,0,.4)}
.mp-img{display:grid;place-items:center;aspect-ratio:1/1;background:#fff;border-radius:1rem;padding:.4rem}.mp-img img{width:100%;height:100%;object-fit:contain}
.mp-badge{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;margin-top:.35rem;padding:.12rem .6rem .12rem .3rem;border-radius:999px;background:#fff;font-size:.68rem;font-weight:800;color:#1d1d1f}
.mp-badge img{width:1.3rem;height:1.3rem;object-fit:contain}
.mp-name{font-size:.88rem;font-weight:800;line-height:1.25}.mp-name small{font-weight:600;color:#6e6e73}
.mp-brand{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73}
.mp-item strong{margin-top:auto;font-size:.95rem;font-family:ui-monospace,monospace}
.mp-none{padding:2rem 0;text-align:center;font-size:.95rem;color:#6e6e73}
@media(min-width:640px){.mp-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.mp-moods{grid-template-columns:repeat(6,1fr)}}
@media(min-width:900px){.mp-stage{grid-template-columns:minmax(0,1.5fr) minmax(18rem,1fr)}.mp-side{position:sticky;top:5rem}.mp-grid{grid-template-columns:repeat(5,1fr)}.mp-bar{margin-left:0;margin-right:0;border-radius:0 0 1rem 1rem}}
@media(prefers-reduced-motion:reduce){.mp-mood,.mp-fam-tile,.mp-dot,.mp-item a,.mp-chip{transition:none}.mp-item{animation:none}.mp-mood:hover,.mp-fam-tile:hover,.mp-item a:hover{transform:none}}

/* Item "Mapa dos perfumes" na grade de categorias: é um link para a página própria (sem sublinhado do link). */
.cat-link,.cat-link:hover{text-decoration:none}

.mp-credits{margin:2.5rem 0 0;font-size:.75rem;color:#6e6e73}.mp-credits summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}
.mp-credits ul{margin:.5rem 0 0;padding-left:1.1rem;display:grid;gap:.25rem}.mp-credits a{text-decoration:underline}

/* Celular: mapa sem dicas flutuantes, bolinhas um pouco menores, filtros em linhas que quebram e barra fixa abaixo do cabeçalho. */
@media(max-width:899px){
  .mp-hero h1{font-size:2.1rem}.mp-lead{font-size:.95rem}
  .mp-dot{width:26px;height:26px}
  .mp-dot:hover,.mp-dot:focus-visible,.mp-dot.on{transform:translate(-50%,-50%) scale(1.4)}
  .mp-q{font-size:.58rem}
  .mp-plot{border-radius:1.25rem}
  .mp-detail{padding:1rem}
  .mp-d-img{width:8rem;height:8rem}
  .mp-bar{margin-left:-1rem;margin-right:-1rem;padding:.5rem 1rem}
  .mp-chips{gap:.35rem}
  .mp-chip{min-height:40px;padding:0 .8rem;font-size:.8rem}
}
@media(min-width:900px){.mp-plot{overflow:visible}}

/* Chips de notas com a foto do ingrediente (recortada, sem fundo) ao lado do nome. */
.mp-chip-img{padding-left:.5rem}
.mp-chip img{width:1.75rem;height:1.75rem;object-fit:contain;flex:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}

/* Mapa dos perfumes, versão mais discreta: títulos menores e de traço fino, blocos com largura contida e linhas finas. */
.mp-hero,.mp-step,.mp-more,.mp-bar,.mp-stage,.mp-list-title,.mp-grid,.mp-none,.mp-credits{max-width:64rem;margin-left:auto;margin-right:auto}
.mp-hero{margin-top:.25rem;margin-bottom:1.25rem}
.mp-eyebrow{font-size:.68rem;letter-spacing:.1em}
.mp-hero h1{font-size:clamp(1.35rem,3.2vw,1.9rem);font-weight:600;letter-spacing:-.015em;line-height:1.2;margin:.2rem 0 .4rem}
.mp-lead{max-width:34rem;font-size:.85rem;line-height:1.5;color:#6e6e73}
.mp-step{margin-top:1.25rem}
.mp-step h2{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6e6e73;margin-bottom:.4rem}
.mp-moods{gap:.25rem .5rem}
.mp-mood-i,.mp-fam-i{width:3.25rem;height:3.25rem}
.mp-mood strong,.mp-fam-tile strong{font-size:.72rem;font-weight:500}
.mp-mood[aria-pressed="true"] strong,.mp-fam-tile[aria-pressed="true"] strong{font-weight:600;border-bottom-width:1px}
.mp-fam-tile{flex-basis:4.5rem}.mp-fam-scroll{gap:.5rem}
.mp-chip{min-height:36px;padding:0 .75rem;font-size:.75rem;font-weight:500;border-width:1px}
.mp-chip img{width:1.4rem;height:1.4rem}
.mp-more summary{font-size:.78rem;font-weight:500}
.mp-group legend{font-size:.66rem;font-weight:600}
.mp-more{border-top-width:1px}
.mp-bar p{font-size:.78rem;font-weight:600}.mp-tag{min-height:30px;font-size:.72rem;font-weight:500}
.mp-list-title{font-size:1rem;font-weight:600;margin-top:1.75rem}
.mp-name{font-size:.8rem;font-weight:600}.mp-brand{font-size:.6rem}.mp-item strong{font-size:.82rem;font-weight:600}
.mp-detail h3{font-size:1rem;font-weight:600}
.mp-plot{box-shadow:inset 0 0 0 1px #ebebef}
@media(min-width:900px){.mp-grid{grid-template-columns:repeat(5,1fr)}}

/* Controle de adicionar nos cards (todas as páginas): "+" fino à direita da linha da gramatura; depois de adicionar vira pílula verde sutil (verde do WhatsApp) "✓ − N +". */
.pq-row{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.15rem;min-height:36px}
.pq-row .p-size{margin:0}
.pq-slot{display:inline-flex}
.pq-add,.pq-step button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #d2d2d7;border-radius:50%;background:#fff;color:#1d1d1f;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.pq-add:hover,.pq-step button:hover{border-color:#25d366;color:#128c4a}
.pq-add svg,.pq-step svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.pq-step{display:inline-flex;align-items:center;gap:.1rem;padding:2px;border-radius:999px;background:#eafaf0;border:1px solid #25d366;color:#128c4a}
.pq-step button{width:28px;height:28px;border-color:transparent;background:transparent;color:#128c4a}
.pq-step button:hover{background:#d3f5e0}
.pq-n{display:inline-flex;align-items:center;gap:.2rem;min-width:2.1rem;justify-content:center;font-size:.78rem;font-weight:600;color:#0b5d2e}
.pq-n svg{width:13px;height:13px}
.pq-step-lg button{width:34px;height:34px}.pq-step-lg .pq-n{min-width:7rem;font-size:.85rem}
.pq-add:focus-visible,.pq-step button:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
#cart-toast{background:#eafaf0;color:#0b5d2e;border:1px solid #25d366;box-shadow:0 6px 18px rgba(0,0,0,.12);font-weight:600}
@media(prefers-reduced-motion:reduce){.pq-add,.pq-step button{transition:none}}
.rel-card .pq-row{margin-top:.25rem}

/* Mapa dos perfumes: o card agora tem o link (foto e nome) e, embaixo, preço e o controle de adicionar. */
.mp-item{display:flex;flex-direction:column;border-radius:1.4rem;background:#f5f5f7;padding:.8rem}
.mp-item>a{padding:0;border-radius:0;background:none;box-shadow:none}
.mp-item>a:hover{box-shadow:none;transform:none}
.mp-foot{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:auto;padding-top:.35rem}
.mp-foot strong{font-size:.82rem;font-weight:600;font-family:ui-monospace,monospace}
.mp-item:hover{box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.mp-item[hidden]{display:none}

/* Pré-visualização do perfume (abre sobre o Mapa, sem sair da página). */
.mp-lock{overflow:hidden}
.mp-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
.mp-modal[hidden]{display:none}
.mp-modal-box{position:relative;width:min(100%,26rem);max-height:calc(100vh - 2rem);overflow:auto;padding:1.25rem;border-radius:1.5rem;background:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.mp-modal-x{position:absolute;top:.5rem;right:.5rem;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;cursor:pointer;color:#1d1d1f}
.mp-modal-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.mp-modal-x:focus-visible{outline:3px solid #0071e3;outline-offset:2px;border-radius:50%}
.mp-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;margin-right:.3rem}
.mp-btn-alt{border-color:#25d366;color:#128c4a;background:#fff}.mp-btn-alt:hover{background:#eafaf0}
.mp-link{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;font-weight:600;color:#6e6e73;text-decoration:underline}
.mp-d-actions{align-items:center}
@media(prefers-reduced-motion:reduce){.mp-modal{backdrop-filter:none}}

/* Marcas em destaque: carrossel de cards quadrados com o logo da marca (traço fino, sem sombra). */
.bc-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.bc-head h2{font-size:1.05rem;font-weight:700;color:#1d1d1f;margin:0}
.bc-head a{font-size:.8rem;font-weight:600;color:#0066cc;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.bc-head a:hover{text-decoration:underline}
.bc-body{position:relative}
.bc-track{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.25rem .1rem .6rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.bc-track::-webkit-scrollbar{display:none}
.bc-track>div{flex:0 0 auto;scroll-snap-align:start}
.bc-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:7.25rem;text-decoration:none;color:#1d1d1f}
.bc-sq{display:grid;place-items:center;overflow:hidden;width:7.25rem;height:7.25rem;aspect-ratio:1/1;border:1px solid #e5e5ea;border-radius:1.1rem;background:#fff;padding:.35rem;transition:border-color .2s,transform .25s cubic-bezier(.2,.8,.2,1)}
.bc-card:hover .bc-sq{border-color:#1d1d1f;transform:translateY(-2px)}
.bc-sq img{width:100%;height:100%;object-fit:contain}
.bc-name{font-size:.8rem;font-weight:700;text-align:center;line-height:1.15;letter-spacing:.01em;word-break:break-word}
.bc-label{font-size:.72rem;font-weight:500;color:#6e6e73;text-align:center;line-height:1.2}
.bc-card:focus-visible,.bc-track:focus-visible,.bc-arrow:focus-visible{outline:3px solid #0071e3;outline-offset:2px;border-radius:1rem}
.bc-arrow{display:none;position:absolute;top:3.6rem;z-index:2;width:36px;height:36px;border:1px solid #d2d2d7;border-radius:50%;background:rgba(255,255,255,.95);place-items:center;cursor:pointer;color:#1d1d1f;padding:0}
.bc-arrow.prev{left:-.5rem}.bc-arrow.next{right:-.5rem}
.bc-arrow .material-symbols-outlined{font-size:1.2rem;font-variation-settings:'wght' 200}
.bc-arrow:hover{border-color:#1d1d1f}
@media(min-width:768px){.bc-arrow{display:grid}}
@media(prefers-reduced-motion:reduce){.bc-sq{transition:none}.bc-card:hover .bc-sq{transform:none}}

/* Tag sutil da família olfativa, canto superior direito da foto do card. */
.fam-tag{position:absolute;top:.4rem;right:.4rem;z-index:3;display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .5rem .12rem .28rem;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(6px);border:1px solid rgba(0,0,0,.07);font-size:.6rem;font-weight:500;line-height:1.2;color:#6e6e73;pointer-events:none}
.fam-tag img{width:14px;height:14px;object-fit:contain}
@media(prefers-reduced-motion:reduce){.fam-tag{backdrop-filter:none}}

/* Página da marca: o quadrado da logo é igual ao card do carrossel da home (fundo branco, borda fina; sem logo, o nome da marca). */
.brand-logo.has-logo,.brand-logo.no-logo{background:#fff;border:1px solid #e5e5ea;color:#1d1d1f;padding:.3rem}
.brand-logo .bc-name{font-size:.7rem;font-weight:700;text-align:center;line-height:1.15;word-break:break-word}
@media(min-width:900px){.brand-logo .bc-name{font-size:.85rem}}

/* Página /marcas/: cards quadrados das marcas em grade (logo ou nome), com a quantidade de produtos ao lado do nome. */
.bc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr));gap:1rem .75rem;justify-items:center}
.bc-n{font-weight:600;color:#a1a1a6}
/* Mapa: foto alta (ex.: Kayali) não estica a linha — a imagem fica dentro do quadrado 1:1 */
.mp-img{position:relative;overflow:hidden}
.mp-img img{position:absolute;inset:.4rem;width:calc(100% - .8rem);height:calc(100% - .8rem)}
/* Produtos: mesma tipografia leve do Mapa dos perfumes (Inter, pesos 500–600, entrelinha curta) */
.pdp-main h1{font-weight:600;letter-spacing:-.015em}
.pdp-main .font-extrabold,.pdp-main .font-bold,.pdp-facts dt,#listing-grid .font-extrabold,#listing-grid .font-bold,#catalog-products-grid .font-extrabold,#catalog-products-grid .font-bold{font-weight:600}
.pdp-main .font-mono,#listing-grid .font-mono,#catalog-products-grid .font-mono{font-weight:600}
/* Tipografia do Mapa em todo o site: pesos 600 (nada de 700/800) e preços na mesma fonte */
.font-bold,.font-extrabold,.font-black,.shelf-head h2,.shelf-more,.shelf-stock,.shelf-brand,.shelf-price strong,.shelf-price small,.shelf-qty,.shelf-qty button,.hs-form button,.cf-clear,.cf-item em,.cf-check{font-weight:600}
.font-mono,.hs-price{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}
/* Preços com a mesma fonte do Mapa dos perfumes */
.pdp-main .font-mono,#listing-grid .font-mono,#catalog-products-grid .font-mono,.shelf-price strong,.shelf-price small{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}
/* Cabeçalho: uma linha só — logo, menu em pílula, busca cinza e botão de consultoria */
.hdr-pill{align-items:center;gap:.15rem;padding:.3rem;border-radius:999px;background:#f1f2f4;order:2}
.hdr-pill a{padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.hdr-pill a:hover{color:#0f172a;background:rgba(0,0,0,.05)}
.hdr-pill a.on{background:#e3e5e9;color:#0f172a;font-weight:600}
.hdr-main .hdr-wa-wrap{display:none;position:relative;order:5}
.hdr-main .hdr-wa{display:inline-flex;align-items:center;gap:.5rem;border:0;cursor:pointer;font-family:inherit;padding:.65rem 1.1rem;border-radius:999px;background:#2f6fdd;color:#fff!important;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}
.hdr-main .hdr-wa svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.hdr-main .hdr-wa:hover{background:#2560c4}
.hdr-main .hs-form{background:#eef0f3;border-color:transparent}
.hdr-main .hs-form:focus-within{background:#fff;border-color:#2f6fdd}
@media(min-width:768px){
  .hdr-main .hdr-wa-wrap{display:block}
  .hdr-main .hdr-cart{order:4}
  .hdr-main .hs-box{order:3}
  .hdr-main .hs-form{padding:.15rem 1rem}
  .hdr-main .hs-form button,.hdr-main .hs-badge{display:none}
}
@media(max-width:1023px){.hdr-pill a{padding:.45rem .7rem;font-size:.8125rem}.hdr-main .hdr-wa{padding:.6rem .8rem}}
@media(min-width:768px){.hdr-main .hs-box{flex:1 1 12rem;min-width:11rem}.hdr-main .hdr-logo{margin-right:.25rem}}
@media(min-width:768px) and (max-width:1100px){.hdr-main .hdr-wa span{display:none}.hdr-main #header-cart-total{display:none}}
@media(min-width:768px){.hdr-main{flex-wrap:nowrap}}
.hdr-main .hdr-cart{order:3}
.hdr-main .hdr-cart,.hdr-main .hdr-cart *{color:#0f172a}
.hdr-wa-menu{position:absolute;right:0;top:calc(100% + .6rem);z-index:70;width:15rem;padding:.5rem;border-radius:1.1rem;background:#fff;border:1px solid #e2e8f0;box-shadow:0 18px 40px -14px rgba(15,23,42,.3)}
.hdr-wa-menu.hidden{display:none}
.hdr-wa-menu a{display:flex;align-items:center;gap:.65rem;padding:.5rem .65rem;border-radius:.8rem;text-decoration:none}
.hdr-wa-menu a:hover{background:#f8fafc}
/* Categorias do catálogo: ícones e texto menores */
.cat-art{height:3rem}
.cat-art svg{width:1.7rem;height:1.7rem}
.cat-art .material-symbols-outlined{font-size:1.6rem}
.cat-label{font-size:.75rem;min-height:2.3em;font-weight:500}
.cat-item{gap:.2rem;padding:.4rem .25rem .45rem}
.cat-item.is-active .cat-label{font-weight:600}
@media(min-width:768px){.cat-art{height:3.6rem}.cat-art svg{width:1.9rem;height:1.9rem}.cat-label{font-size:.8125rem}}
/* Todos os cards de produto no estilo do Mapa dos perfumes: fundo cinza claro, foto quadrada branca, nome leve, preço na base */
.pcard,.shelf-card,.rel-card,.pcard-s{background:#f5f5f7!important;border:0!important;border-radius:1.4rem!important;padding:.8rem!important}
.pcard:hover,.shelf-card:hover,.rel-card:hover,.pcard-s:hover{box-shadow:0 14px 30px -18px rgba(0,0,0,.4)!important}
.pcard.border-brand-primary,.shelf-card.in-cart{box-shadow:inset 0 0 0 2px #002dd8}
.pcard .cc-gal a.h-48,.pcard-s>div:first-child{height:auto!important;aspect-ratio:1/1;padding:.4rem!important;margin-bottom:.55rem!important;border-radius:1rem;background:#fff!important}
.pcard .cc-gal a.h-48 img{width:100%;height:100%;object-fit:contain}
.shelf-img{height:auto;aspect-ratio:1/1;padding:.4rem;margin-bottom:.55rem;border-radius:1rem;background:#fff}
.rel-card>a>div.aspect-square{padding:.4rem;border-radius:1rem;background:#fff}
.pcard h4,.shelf-name,.rel-card p.font-bold,.pcard-s p:first-of-type{font-size:.8rem!important;font-weight:600!important;line-height:1.25;margin-top:.15rem}
.pcard .pc-brand,.shelf-brand{display:inline-block;padding:0!important;background:none!important;border-radius:0;font-size:.6rem!important;font-weight:600;letter-spacing:.06em;color:#6e6e73!important}
.pcard>div:last-child .border-t{border:0!important;padding-top:.35rem!important;margin-top:0!important}
.pcard .font-mono,.shelf-price strong,.pcard-s .font-mono{font-size:.82rem!important;font-weight:600}
/* Rodapé no estilo claro: painel cinza arredondado, títulos pequenos em caixa alta, links simples */
footer.ft{background:#f5f5f7;color:#1d1d1f;border:0;border-radius:1.75rem;margin:2.5rem .75rem .75rem;width:auto}
footer.ft .text-white{color:#1d1d1f}
footer.ft .text-slate-400,footer.ft .text-slate-300{color:#6e6e73}
footer.ft .ft-name{font-weight:300;color:#1d1d1f}
footer.ft .ft-name b{font-weight:700}
footer.ft .ft-h{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1d1d1f}
footer.ft ul{font-size:.9375rem;color:#3a3a3c}
footer.ft ul a{color:#3a3a3c}
footer.ft a.hover\:text-white:hover{color:#0071e3}
footer.ft p{font-size:.9375rem;color:#3a3a3c;line-height:1.55}
footer.ft .bg-white\/10{background:#fff;border:1px solid #e5e5ea;color:#1d1d1f}
footer.ft .bg-white\/10 .text-xs{font-size:.8125rem}
footer.ft .border-white\/10,footer.ft .border-white\/15{border-color:rgba(0,0,0,.08)}
footer.ft a[href*="share.google"]{background:#e8f0fe;border-color:transparent;color:#0b57d0}
footer.ft a[href*="share.google"]:hover{background:#0071e3;color:#fff}
footer.ft a[aria-label]{background:#fff;color:#1d1d1f;border:1px solid #e5e5ea}
footer.ft a[aria-label]:hover{color:#fff}
footer.ft .mt-12{color:#6e6e73;font-size:.75rem;letter-spacing:.02em}
footer.ft .text-\[11px\].uppercase{color:#6e6e73}
/* Rodapé mais compacto: menos respiro vertical e colunas mais juntas */
footer.ft{margin-top:1.5rem}
footer.ft>div{padding-top:1.75rem!important;padding-bottom:1rem!important}
@media(min-width:1024px){footer.ft>div>.grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1fr);gap:2rem}footer.ft>div>.grid>.lg\:col-span-2{grid-column:auto}}
footer.ft>div>.grid{gap:1.5rem}
footer.ft .mb-4{margin-bottom:.6rem}
footer.ft p.mb-5{margin-bottom:.8rem}
footer.ft ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1.5rem}
footer.ft ul.space-y-2\.5>li{margin:0}
footer.ft .mt-12{margin-top:1.25rem!important;padding-top:.9rem!important}
footer.ft .mt-12 .w-10{width:2.25rem;height:2.25rem}
footer.ft .mt-2.text-center,footer.ft .w-full.text-center{margin-top:.25rem!important}
/* Cabeçalho: mesma marca do rodapé (Connect em negrito, Imports leve, subtítulo) */
.hdr-main .hdr-logo{gap:.65rem}
.hdr-main .ft-name{font-size:1.2rem;font-weight:300;color:#1d1d1f}
.hdr-main .ft-name b{font-weight:700}
.hdr-main .hdr-sub{font-size:.55rem;color:#94a3b8;letter-spacing:.1em}
@media(max-width:767px){.hdr-main .hdr-logo img{height:1.7rem!important}.hdr-main .ft-name{font-size:1rem}.hdr-main .hdr-sub{font-size:.5rem}}
@media(max-width:767px){.hdr-main .hdr-logo .hdr-sub{display:none}.hdr-main .hdr-logo .ft-name{font-size:1rem}.hdr-main .hdr-logo img{height:1.5rem!important}}
/* Bolinhas de cor do modelo (página do produto) */
.pdp-colors{display:flex;align-items:center;gap:.5rem;margin-top:.7rem}
.pdp-colors-t{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6e6e73}
.cdot-w{display:inline-flex;padding:2px;border-radius:999px;text-decoration:none}
.cdot{display:block;width:1.15rem;height:1.15rem;border-radius:999px;border:1px solid rgba(0,0,0,.18)}
.cdot.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #1d1d1f}
a.cdot-w:hover .cdot{transform:scale(1.12)}
/* Conheça a NEXO: galeria de modelos (só foto e nome, sem carrinho) */
.nexo-models h2{font-size:1.5rem;font-weight:600;letter-spacing:-.015em;color:#1d1d1f;margin:0 0 .5rem}
.nexo-models h3{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6e6e73;margin:1.5rem 0 .6rem}
.nexo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media(min-width:640px){.nexo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.nexo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nexo-grid li{display:flex;flex-direction:column;gap:.55rem;padding:.8rem;border-radius:1.4rem;background:#f5f5f7}
.nm-img{display:grid;place-items:center;aspect-ratio:4/3;background:#fff;border-radius:1rem;overflow:hidden}
.nm-img img{width:100%;height:100%;object-fit:contain}
.nm-name{font-size:.9rem;font-weight:600;color:#1d1d1f;letter-spacing:-.005em}
/* Categorias do catálogo: mais compactas e centralizadas (flex centrado em vez de grade larga) */
.cat-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .35rem;padding:.15rem 0 .35rem}
.cat-item{flex:0 0 5.25rem;width:5.25rem;min-height:0;gap:.15rem;padding:.3rem .15rem .35rem}
.cat-art{height:2.4rem}
.cat-art svg{width:1.45rem;height:1.45rem}
.cat-art .material-symbols-outlined{font-size:1.4rem}
.cat-label{font-size:.6875rem;min-height:2.2em;font-weight:500;line-height:1.2}
@media(min-width:768px){.cat-item{flex-basis:4.7rem;width:4.7rem}.cat-art{height:2.7rem}.cat-art svg{width:1.6rem;height:1.6rem}.cat-label{font-size:.75rem}}
/* Home: vídeo da NEXO à esquerda e os 4 modelos da linha NEXO à direita (só foto e nome, sem carrinho) */
.nexo-layout{display:grid;gap:1.25rem;align-items:center}
@media(min-width:900px){.nexo-layout{grid-template-columns:auto minmax(0,1fr);gap:2rem}.nexo-banner .nexo-video-card{justify-content:flex-start}}
.nexo-home-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.nexo-home-grid li a{display:flex;flex-direction:column;gap:.5rem;padding:.7rem;border-radius:1.3rem;background:#f5f5f7;text-decoration:none;color:#1d1d1f;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.nexo-home-grid li a:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.nexo-home-grid .nm-img{display:grid;place-items:center;aspect-ratio:4/3;background:#fff;border-radius:.95rem;overflow:hidden}
.nexo-banner .nexo-home-grid .nm-img img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;transition:none}
.nexo-home-grid .nm-name{font-size:.85rem;font-weight:600;letter-spacing:-.005em}
.nexo-more{display:inline-block;margin-top:.9rem;font-size:.85rem;font-weight:600;color:#1d1d1f;text-decoration:underline;text-underline-offset:.25em}
@media(max-width:899px){.nexo-banner .nexo-video-card{justify-content:center}}
/* Desktop: a grade dos 4 modelos ocupa exatamente a altura do vídeo */
@media(min-width:900px){
  .nexo-layout{align-items:stretch}
  .nexo-side{display:flex;flex-direction:column;min-height:0}
  .nexo-home-grid{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr))}
  .nexo-home-grid li{min-height:0}
  .nexo-home-grid li a{height:100%;min-height:0}
  .nexo-home-grid .nm-img{flex:1;min-height:0;aspect-ratio:auto}
  .nexo-more{align-self:flex-start;margin-top:.7rem}
}
/* Marcas em destaque (carrossel da home): cartões e logos um pouco menores */
.bc-track .bc-card{width:6rem}
.bc-track .bc-sq{width:6rem;height:6rem;padding:.7rem;border-radius:1rem}
.bc-track .bc-name{font-size:.7rem}
.bc-track .bc-label{font-size:.68rem}
/* Home NEXO: vídeo e cartões dos modelos menores (continuam na mesma altura um do outro) */
.nexo-banner .nexo-video{height:min(70vh,30rem)}
@media(min-width:900px){.nexo-banner .nexo-side{max-width:34rem}.nexo-banner .nexo-home-grid{gap:.55rem}.nexo-banner .nexo-home-grid li a{padding:.5rem;border-radius:1rem}.nexo-banner .nexo-home-grid .nm-name{font-size:.78rem}}
/* Home NEXO: sem cartão cinza; só uma linha fina e clara ao redor de cada moto */
.nexo-banner .nexo-home-grid li a{background:transparent;padding:0;border-radius:.9rem;box-shadow:none;gap:.4rem}
.nexo-banner .nexo-home-grid li a:hover{box-shadow:none;transform:none}
.nexo-banner .nexo-home-grid .nm-img{background:#fff;border:1px solid #ececf0;border-radius:.9rem}
.nexo-banner .nexo-home-grid li a:hover .nm-img{border-color:#d2d2d7}
.nexo-banner .nexo-home-grid .nm-name{padding:0 .15rem}
/* Home NEXO, versão final: 6 motos recortadas (sem fundo), nome e uma linha fina e clara em volta */
.nexo-banner .nexo-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.nexo-banner .nexo-home-grid li a{background:transparent;border:1px solid #ececf0;border-radius:1rem;padding:.55rem .55rem .5rem;gap:.3rem;align-items:center;text-align:center;transition:border-color .2s}
.nexo-banner .nexo-home-grid li a:hover{border-color:#cfcfd6;transform:none;box-shadow:none}
.nexo-banner .nexo-home-grid .nm-img{background:transparent;border:0;border-radius:0;aspect-ratio:4/3;width:100%}
.nexo-banner .nexo-home-grid li a:hover .nm-img{border-color:transparent}
.nexo-banner .nexo-home-grid .nm-img img{object-fit:contain}
.nexo-banner .nexo-home-grid .nm-name{font-size:.74rem;padding:0}
@media(min-width:900px){
  .nexo-banner .nexo-side{max-width:46rem}
  .nexo-banner .nexo-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.6rem}
  .nexo-banner .nexo-home-grid li a{padding:.45rem .45rem .4rem}
  .nexo-banner .nexo-home-grid .nm-img{aspect-ratio:auto;flex:1;min-height:0}
}
@media(min-width:900px){
  .nexo-banner .nexo-side{position:relative}
  .nexo-banner .nexo-home-grid{position:absolute;inset:0}
  .nexo-banner .nexo-home-grid .nm-img img{position:absolute;inset:0;width:100%;height:100%}
  .nexo-banner .nexo-home-grid .nm-img{position:relative}
}
/* Motos sem fundo: respiro dentro do quadro para a moto nunca encostar na borda (home e Conheça a NEXO) */
.nexo-banner .nexo-home-grid .nm-img{padding:.55rem}
@media(min-width:900px){.nexo-banner .nexo-home-grid .nm-img img{inset:.55rem;width:calc(100% - 1.1rem);height:calc(100% - 1.1rem)}}
/* Conheça a NEXO: mesmo estilo da home — moto recortada, nome e uma linha fina e clara em volta */
.nexo-models .nexo-grid li{background:transparent;border:1px solid #ececf0;border-radius:1.1rem;padding:.6rem .6rem .55rem;align-items:center;text-align:center;gap:.35rem;transition:border-color .2s}
.nexo-models .nexo-grid li:hover{border-color:#cfcfd6}
.nexo-models .nm-img{background:transparent;border-radius:0;padding:.5rem;width:100%}
.nexo-models .nm-img img{object-fit:contain}
.nexo-models .nm-name{font-size:.82rem}
.nexo-models .nm-img{position:relative;padding:0;aspect-ratio:4/3}
.nexo-models .nm-img img{position:absolute;inset:.5rem;width:calc(100% - 1rem);height:calc(100% - 1rem);object-fit:contain}
.nexo-models .nexo-grid li{border-color:#d9dce3}
.nexo-models .nexo-grid li:hover{border-color:#b9bec8}
/* Fundo branco + linha fina cinza ao redor (home e Conheça a NEXO) */
.nexo-models .nexo-grid li{background:#fff;border-color:#e4e6eb}
.nexo-models .nexo-grid li:hover{border-color:#c9ced6}
.nexo-banner .nexo-home-grid li a{background:#fff;border-color:#e4e6eb}
.nexo-banner .nexo-home-grid li a:hover{border-color:#c9ced6}
/* Home NEXO: vídeo + modelos centralizados como um conjunto (sem sobra de espaço à direita) */
@media(min-width:900px){
  .nexo-banner .nexo-layout{grid-template-columns:auto minmax(0,46rem);justify-content:center;gap:2rem}
  .nexo-banner .nexo-video-card{justify-content:center}
  .nexo-banner .nexo-side{width:100%;max-width:46rem}
}
/* Cards "Mais em ..." da página do produto: preço na base, na mesma fonte dos outros cards */
.rel-card .rel-price{margin:.2rem 0 0;font-family:ui-monospace,monospace;font-size:.82rem;font-weight:600;color:#1d1d1f;font-variant-numeric:tabular-nums}
/* Aviso discreto: preços estimados no atacado (abaixo de "Todos os Produtos" e de cada seção da home) */
.price-note{margin:.25rem 0 0;font-size:.7rem;font-weight:400;line-height:1.3;color:#98989f;letter-spacing:.005em}
.shelf>.price-note{margin:.1rem 0 0 .1rem}
.quote-note{margin:.15rem 0 0;font-size:.65rem}
/* Cursor: o símbolo infinito da logo Connect Imports (o mesmo ícone, sem alterar), pequeno e sutil. Só em telas com mouse; campos de texto mantêm o cursor de digitação. */
@media(hover:hover) and (pointer:fine){
  html,body{cursor:url(/assets/cursor/infinito.png) 20 9,auto;cursor:-webkit-image-set(url(/assets/cursor/infinito.png) 1x,url(/assets/cursor/infinito@2x.png) 2x) 20 9,auto;cursor:image-set(url(/assets/cursor/infinito.png) 1x,url(/assets/cursor/infinito@2x.png) 2x) 20 9,auto}
  a,button,summary,label,select,[role=button],[onclick],.cursor-pointer,.cc-card,.shelf-card,.pcard,.mp-item a,.cat-item,.nexo-btn{cursor:url(/assets/cursor/infinito.png) 20 9,pointer!important;cursor:-webkit-image-set(url(/assets/cursor/infinito.png) 1x,url(/assets/cursor/infinito@2x.png) 2x) 20 9,pointer!important;cursor:image-set(url(/assets/cursor/infinito.png) 1x,url(/assets/cursor/infinito@2x.png) 2x) 20 9,pointer!important}
  button:disabled,[disabled]{cursor:not-allowed!important}
  input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),textarea{cursor:text}
}
/* Home NEXO com 4 modelos: grade 2×2 */
@media(min-width:900px){.nexo-banner .nexo-home-grid.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.nexo-banner .nexo-side{max-width:36rem}.nexo-banner .nexo-layout{grid-template-columns:auto minmax(0,36rem)}}

/* Marca d'água sutil (símbolo Connect Imports) no canto das fotos de produto; só visual, a foto original não é alterada */
.pcard .cc-gal>a,.pcard-s>.aspect-square,.rel-card .aspect-square,.pdp-frame{position:relative}
.pcard .cc-gal>a::after,.pcard-s>.aspect-square::after,.rel-card .aspect-square::after,.pdp-frame::after{content:"";position:absolute;right:.55rem;bottom:.5rem;width:2.1rem;height:.92rem;background:url(/assets/marca/simbolo.webp) center/contain no-repeat;opacity:.2;pointer-events:none;z-index:1}
.pdp-frame::after{width:3.2rem;height:1.4rem;right:1rem;bottom:.9rem}
.pcard .cc-gal>a:has(img[src*="sem-foto"])::after,.pcard-s>.aspect-square:has(img[src*="sem-foto"])::after,.rel-card .aspect-square:has(img[src*="sem-foto"])::after,.pdp-frame:has(img[src*="sem-foto"])::after{display:none}

/* Página NEXO: banner de 4 fotos no lugar do card "Sinta a liberdade" */
.nexo-hero-banner{display:block}
.nexo-hero-banner img{display:block;width:100%;height:auto;border-radius:1.25rem}
#view-nexo h1.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}
.nexo-hero-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;background:#e8edf3;margin-bottom:1rem}

/* Página NEXO: logo centralizada no topo e botão "Ver produtos NEXO" abaixo do banner */
.nexo-top-logo{display:flex;justify-content:center;margin:1.25rem 0 1.75rem}
.nexo-top-logo img{display:block;width:12rem;max-width:60%;height:auto}
.nexo-page-cta{display:flex;justify-content:center;margin:1.5rem 0 .5rem}
.nexo-page-btn{background:#0f172a;color:#fff;font-size:.8rem;font-weight:700;padding:.8rem 1.9rem;border-radius:999px;border:0;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background .2s}
.nexo-page-btn:hover{background:#1e293b}

/* Mini cards de categoria (topo da home): fundo branco e linha preta fina ao redor */
.hs-tile{background:#fff;border:.75px solid #77777c;box-shadow:none}
.hs-tile::after{display:none}
.hs-cats a:hover .hs-tile{box-shadow:0 6px 14px -6px rgba(0,0,0,.25)}

/* Página do produto: marca d'água no canto inferior esquerdo (o contador de fotos fica no direito) */
.pdp-frame::after{right:auto;left:1rem}
