/* Eddy Shopping — identidade: mar (teal), sol (âmbar), coral (ofertas) */
:root{
  --mar:#0E7C86; --mar-esc:#0A5C64; --mar-claro:#E3F4F4;
  --sol:#FFB547; --coral:#F2545B; --areia:#FBF6EE;
  --tinta:#1F2A30; --cinza:#6B7780; --linha:#E7E2D9; --fundo:#F6F3EE; --card:#fff;
  --raio:14px; --sombra:0 2px 10px rgba(31,42,48,.07);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tinta);background:var(--fundo);padding-bottom:72px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{max-width:100%;display:block}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aviso-demo{background:var(--tinta);color:#fff;font-size:12px;text-align:center;padding:6px 12px}

/* topo */
.topo{background:linear-gradient(135deg,var(--mar) 0%,#12949C 100%);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(10,92,100,.25)}
.topo-in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px}
.topo-carrinho{margin-left:auto}

.logo{display:flex;align-items:center;gap:6px;font-size:20px;font-weight:700;white-space:nowrap}
.logo svg{width:32px;height:32px;stroke:none}
.logo b{font-weight:900;color:var(--sol)}
.busca{flex:1;display:flex;background:#fff;border-radius:999px;overflow:hidden;min-width:0}
.busca input{flex:1;border:0;padding:11px 16px;font:inherit;font-size:15px;outline:none;min-width:0;color:var(--tinta)}
.busca button{border:0;background:var(--sol);color:var(--tinta);padding:0 16px;display:grid;place-items:center}
.topo-carrinho{position:relative;padding:6px}
.busca{order:3;flex:1 1 100%}
@media (min-width:640px){.busca{order:0;flex:1 1 0}.topo-carrinho{margin-left:0}}
.topo-carrinho svg{width:26px;height:26px}
.local{max-width:1200px;margin:0 auto;padding:0 16px 9px;font-size:13px;opacity:.95}
.bolinha{position:absolute;top:0;right:-2px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}

main{max-width:1200px;margin:0 auto;padding:12px 16px 24px;outline:none}
.secao{margin:18px 0}
.secao-tit{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px}
.secao-tit h2{font-size:18px;margin:0;font-weight:900}
.secao-tit a{color:var(--mar);font-weight:700;font-size:14px}

/* banner */
.banners{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--raio);scrollbar-width:none}
.banners::-webkit-scrollbar{display:none}
.banner{scroll-snap-align:start;min-height:150px;padding:20px 22px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;overflow:hidden}
.banner h3{margin:0;font-size:22px;font-weight:900;max-width:16ch;line-height:1.15;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.banner p{margin:0;font-size:14px;opacity:.95;max-width:30ch;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.banner .btn{align-self:flex-start;margin-top:6px}
.banner .deco{position:absolute;right:-10px;bottom:-14px;font-size:96px;opacity:.9}
.pontos{display:flex;justify-content:center;gap:6px;margin-top:8px}
.pontos i{width:7px;height:7px;border-radius:9px;background:#cfc8bc}
.pontos i.on{background:var(--mar);width:18px}

/* categorias */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12.5px;font-weight:700}
.cat .ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:var(--card);box-shadow:var(--sombra)}

/* faixa de vantagens */
.vantagens{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.vantagens span{flex:none;background:var(--mar-claro);color:var(--mar-esc);font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px}

/* ofertas relâmpago */
.relampago{background:linear-gradient(90deg,var(--coral),#FF7A59);color:#fff;border-radius:var(--raio);padding:12px}
.relampago .secao-tit h2{color:#fff}
.relampago .secao-tit a{color:#fff}
.cronometro{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}
.cronometro b{background:var(--tinta);color:#fff;border-radius:5px;padding:1px 5px;font-size:13px}
.trilho{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.trilho::-webkit-scrollbar{display:none}

/* cards de produto */
.grade{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.prod{background:var(--card);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;color:var(--tinta);transition:transform .15s}
.prod:active{transform:scale(.98)}
.thumb{aspect-ratio:1;display:grid;place-items:center;font-size:64px;position:relative}
.thumb .selo{position:absolute;top:8px;left:8px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;padding:3px 7px;border-radius:7px}
.thumb .ex{position:absolute;bottom:6px;right:6px;background:rgba(31,42,48,.7);color:#fff;font-size:10px;padding:2px 6px;border-radius:6px}
.prod-info{padding:9px 10px 11px;display:flex;flex-direction:column;gap:3px;flex:1}
.prod-nome{font-size:13.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:35px}
.preco-de{font-size:12px;color:var(--cinza);text-decoration:line-through}
.preco{font-size:18px;font-weight:900;color:var(--mar-esc)}
.preco small{font-size:12px}
.prod-meta{font-size:11.5px;color:var(--cinza);display:flex;justify-content:space-between;margin-top:auto}
.estrela{color:#E8A317}
.pix{font-size:11.5px;color:#16875A;font-weight:700}

/* botões */
.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:800;font-size:15px;background:var(--mar);color:#fff}
.btn.sol{background:var(--sol);color:var(--tinta)}
.btn.claro{background:#fff;color:var(--mar)}
.btn.contorno{background:transparent;border:2px solid var(--mar);color:var(--mar)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* página de produto */
.pp{display:grid;gap:14px}
.pp-galeria{background:var(--card);border-radius:var(--raio);aspect-ratio:1;max-height:62vh;width:100%;display:grid;place-items:center;font-size:140px;position:relative}
.pp-galeria .selo{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-size:14px;font-weight:800;padding:4px 9px;border-radius:8px}
.pp-box{background:var(--card);border-radius:var(--raio);padding:16px;box-shadow:var(--sombra)}
.pp h1{font-size:20px;margin:0 0 6px;line-height:1.25}
.pp .preco{font-size:28px}
.parcelas{font-size:14px;color:var(--cinza)}
.loja{display:flex;align-items:center;gap:10px}
.loja .av{width:44px;height:44px;border-radius:50%;background:var(--mar-claro);display:grid;place-items:center;font-size:22px}
.qtd{display:inline-flex;align-items:center;border:1px solid var(--linha);border-radius:999px;overflow:hidden}
.qtd button{border:0;background:#fff;width:38px;height:38px;font-size:18px;font-weight:800;color:var(--mar)}
.qtd span{min-width:32px;text-align:center;font-weight:800}
.opcoes{display:flex;gap:8px;flex-wrap:wrap}
.opcoes button{border:1.5px solid var(--linha);background:#fff;border-radius:10px;padding:8px 12px;font-weight:700}
.opcoes button[aria-pressed=true]{border-color:var(--mar);background:var(--mar-claro);color:var(--mar-esc)}
.acoes-fixas{position:sticky;bottom:72px;display:flex;gap:10px;background:var(--fundo);padding:10px 0}
.acoes-fixas .btn{flex:1}
.lista-info{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px}

/* busca / filtros */
.filtros{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px}
.filtros button,.filtros select{flex:none;border:1.5px solid var(--linha);background:#fff;border-radius:999px;padding:7px 12px;font:inherit;font-size:13.5px;font-weight:700;color:var(--tinta)}
.filtros button[aria-pressed=true]{border-color:var(--mar);background:var(--mar);color:#fff}
.vazio{text-align:center;padding:40px 16px;color:var(--cinza)}
.vazio .grande{font-size:56px}

/* carrinho */
.item-car{display:grid;grid-template-columns:72px 1fr;gap:12px;background:var(--card);border-radius:var(--raio);padding:10px;box-shadow:var(--sombra);margin-bottom:10px}
.item-car .thumb{border-radius:10px;font-size:36px}
.item-car .linha{display:flex;justify-content:space-between;align-items:center;gap:8px}
.remover{border:0;background:none;color:var(--coral);font-weight:700;font-size:13px}
.resumo{background:var(--card);border-radius:var(--raio);padding:16px;box-shadow:var(--sombra);display:grid;gap:8px}
.resumo .linha{display:flex;justify-content:space-between}
.resumo .total{font-size:20px;font-weight:900;color:var(--mar-esc)}
.cupom{display:flex;gap:8px}
.cupom input{flex:1;border:1.5px solid var(--linha);border-radius:10px;padding:10px;font:inherit}

/* nav de baixo (celular) */
.nav-baixo{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--linha);display:grid;grid-template-columns:repeat(4,1fr);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:30}
.nav-baixo a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--cinza);position:relative}
.nav-baixo a.ativo{color:var(--mar)}
.nav-baixo .bolinha{top:-4px;right:calc(50% - 22px)}

.rodape{background:var(--tinta);color:#cfd6da;font-size:13.5px;margin-top:24px}
.rodape-in{max-width:1200px;margin:0 auto;padding:22px 16px;display:grid;gap:14px}
.rodape b{color:#fff}
.rodape p{margin:4px 0 0}

.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(20px);background:var(--tinta);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:50;white-space:nowrap}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

.voltar{display:inline-flex;align-items:center;gap:4px;color:var(--mar);font-weight:800;margin-bottom:8px}
.caixa-cta{background:var(--mar-claro);border-radius:var(--raio);padding:18px;display:grid;gap:8px}
.caixa-cta h3{margin:0}

/* galeria com miniaturas */
.pp-galeria-wrap{background:var(--card);border-radius:var(--raio);overflow:hidden}
.pp-galeria{aspect-ratio:1;max-height:62vh;width:100%;display:grid;place-items:center;font-size:140px;position:relative}
.pp-galeria .selo{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-size:14px;font-weight:800;padding:4px 9px;border-radius:8px}
.zoom-lupa{position:absolute;bottom:12px;right:12px;border:0;background:rgba(31,42,48,.8);color:#fff;font-size:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer;z-index:2}
.miniaturas{display:flex;gap:6px;padding:8px 10px;overflow-x:auto;scrollbar-width:none}
.miniatura{width:48px;height:48px;border-radius:8px;border:2px solid var(--linha);background:var(--fundo);font-size:20px;display:grid;place-items:center;cursor:pointer;flex:none;transition:border-color .15s}
.miniatura.ativa,.miniatura[aria-selected=true]{border-color:var(--mar);background:var(--mar-claro)}
/* zoom lightbox */
.zoom-overlay{position:fixed;inset:0;z-index:100;background:rgba(15,25,33,.95);display:grid;place-items:center;padding:16px}
.zoom-overlay[hidden]{display:none}
.zoom-conteudo{font-size:180px;display:grid;place-items:center;aspect-ratio:1;width:90vw;max-width:500px;border-radius:var(--raio);position:relative}
.zoom-fechar{position:absolute;top:12px;right:12px;border:0;background:var(--coral);color:#fff;font-size:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;z-index:101}
.zoom-nav{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#fff;font-size:16px}
.zoom-nav button{border:0;background:rgba(255,255,255,.2);color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.zoom-nav span{font-weight:700}
/* avaliações */
.avaliacoes{padding:14px 16px}
.aval-titulo{font-size:16px;display:block;margin-bottom:10px}
.aval-card{border-top:1px solid var(--linha);padding:10px 0}
.aval-card:first-of-type{border-top:0}
.aval-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}
.aval-nota{color:#E8A317;font-size:13px;letter-spacing:2px}
.aval-data{font-size:12px;color:var(--cinza);margin-top:2px}
.aval-card p{margin:4px 0 0;font-size:13.5px;line-height:1.35}

/* telas maiores */
@media (min-width:640px){
  .cats{grid-template-columns:repeat(8,1fr)}
  .grade{grid-template-columns:repeat(3,1fr)}
  .trilho{grid-auto-columns:28%}
  .banner{min-height:200px;padding:28px 36px}
  .banner h3{font-size:30px}
  .rodape-in{grid-template-columns:2fr 1fr 1fr}
}
@media (min-width:960px){
  body{padding-bottom:0}
  .nav-baixo{display:none}
  .grade{grid-template-columns:repeat(5,1fr)}
  .trilho{grid-auto-columns:18%}
  .pp{grid-template-columns:1.1fr 1fr;align-items:start}
  .pp-galeria{position:sticky;top:120px}
  .acoes-fixas{position:static}
  .logo{font-size:24px}
  .carrinho-wrap{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
}
@media (max-width:380px){ .logo span{display:none} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;scroll-behavior:auto!important} }
