/* ============================================================================
   Go Shop — vitrine (e-commerce). REDESENHO no BRAND-KIT Go Fly Club · v3 Neon.
   Regras de ouro: PRETO é a base · FÚCSIA = AÇÃO (CTA/link/ativo) · NEON = DESTAQUE
   (preço/número/dado, nunca texto corrido) · neon e fúcsia nunca se tocam · texto de
   leitura sempre branco/cinza. Tokens --gfc-* (tokens.css) + fontes Bebas/Roustel/Archivo.
   Mantém TODOS os nomes de classe (o goshop.js não muda).
   ========================================================================== */
@import url('./fonts.css');
@import url('./tokens.css');

/* ── SHIM: os ~70 estilos inline do goshop.js ainda usam os tokens antigos --gs-*.
   Aqui remapeamos cada um para a paleta ESCURA --gfc-* → todos adaptam de uma vez,
   sem precisar editar o JS. (Novas telas devem usar --gfc-* direto.) ── */
:root{
  --gs-marine-900:var(--gfc-black);
  --gs-marine-700:var(--gfc-surface-2);
  --gs-marine:var(--gfc-white);          /* era texto/ícone primário → branco no escuro */
  --gs-marine-300:var(--gfc-line-strong);
  --gs-orange:var(--gfc-fuchsia);        /* ação */
  --gs-orange-600:var(--gfc-fuchsia-bright);
  --gs-orange-100:rgba(214,22,143,.12);  /* tint de ação */
  --gs-ink:var(--gfc-white-soft);        /* texto de leitura */
  --gs-muted:var(--gfc-gray);            /* texto secundário */
  --gs-line:var(--gfc-line);
  --gs-bg:var(--gfc-surface-1);          /* caixas: superfície escura (era #fff) */
  --gs-soft:var(--gfc-surface-2);
  --gs-radius:var(--gfc-radius-lg);
  --gs-shadow:0 8px 30px rgba(0,0,0,.45);
  --gs-shadow-sm:0 2px 10px rgba(0,0,0,.3);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--gfc-font-body);
  color:var(--gfc-text);
  background:var(--gfc-bg);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--gfc-fuchsia);color:#fff;}

.wrap{max-width:var(--gfc-container);margin:0 auto;padding:0 18px;}

/* ── HEADER ── */
.gs-header{position:sticky;top:0;z-index:40;background:rgba(10,10,12,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--gfc-line);}
.gs-header-in{display:flex;align-items:center;gap:20px;height:70px;}
.gs-logo{display:flex;align-items:center;gap:5px;user-select:none;white-space:nowrap;}
/* "GO" Bebas com degradê metálico prata (claro no topo → escuro na base) */
.gs-logo .go{
  font-family:var(--gfc-font-display);font-size:46px;letter-spacing:1px;line-height:1;
  background:linear-gradient(180deg,#F4F4F6 0%,#C7C7CF 38%,#8A8A92 72%,#56565E 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}
/* "Shop" Roustel (script) neon, levemente inclinado */
.gs-logo .shop{
  font-family:var(--gfc-font-script);font-size:30px;color:var(--gfc-neon);line-height:1;
  transform:rotate(-4deg) translateY(-.12em);transform-origin:center;display:inline-block;
}
.gs-logo-img{gap:0;align-items:center;}
.gs-logo-img img{height:44px;width:auto;display:block;}

.gs-search{flex:1;position:relative;max-width:560px;}
.gs-search input{width:100%;height:44px;border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);padding:0 44px 0 18px;font-size:14px;font-family:var(--gfc-font-body);outline:none;background:var(--gfc-surface-1);color:var(--gfc-text-strong);transition:border-color var(--gfc-dur-fast),box-shadow var(--gfc-dur-fast);}
.gs-search input::placeholder{color:var(--gfc-gray-weak);}
.gs-search input:focus{border-color:var(--gfc-fuchsia);box-shadow:0 0 0 3px var(--gfc-ring);}
.gs-search .ic{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gfc-gray);width:18px;height:18px;}

.gs-nav{display:flex;align-items:center;gap:6px;}
.gs-nav button{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--gfc-text);font-weight:600;font-size:14px;padding:8px 12px;border-radius:var(--gfc-radius-md);transition:background var(--gfc-dur-fast),color var(--gfc-dur-fast);}
.gs-nav button:hover{background:var(--gfc-surface-1);color:var(--gfc-white);}
/* carrinho = superfície (não é o CTA primário); o badge é NEON (dado), separado do fúcsia */
.gs-cart{display:flex;align-items:center;gap:8px;background:var(--gfc-surface-2);color:var(--gfc-white);border:1px solid var(--gfc-line);height:44px;padding:0 16px;border-radius:var(--gfc-radius-pill);font-weight:600;font-size:14px;transition:border-color var(--gfc-dur-fast);}
.gs-cart:hover{border-color:var(--gfc-line-strong);}
.gs-cart #cartCount{font-family:var(--gfc-font-display);color:var(--gfc-neon);font-size:18px;letter-spacing:.5px;line-height:1;}

/* ── HERO ── */
.gs-hero{background:linear-gradient(var(--gfc-angle),var(--gfc-surface-1) 0%,var(--gfc-black) 100%);color:var(--gfc-white);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-xl);margin:22px 0;overflow:hidden;position:relative;}
.gs-hero-in{padding:52px 44px;max-width:660px;position:relative;z-index:1;}
.gs-hero h1{font-family:var(--gfc-font-display);font-size:var(--gfc-text-h1);font-weight:400;text-transform:uppercase;letter-spacing:.01em;margin:0 0 12px;line-height:.95;color:var(--gfc-white);}
.gs-hero p{font-size:16px;color:var(--gfc-gray-light);margin:0 0 24px;max-width:480px;}
.gs-hero .deco{position:absolute;right:2%;bottom:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(214,22,143,.4),transparent 62%);z-index:0;filter:blur(6px);}
/* elemento da ÁGUIA — parcial, sangrando pela direita (não a águia inteira). Fica ATRÁS do texto (z-index 0). */
.gs-hero::after{content:'';position:absolute;z-index:0;pointer-events:none;top:50%;right:-38%;transform:translateY(-50%);width:min(80%,880px);height:178%;background:url('./gofly-eagle-neon.png') no-repeat center right / contain;opacity:.85;}

/* ── BANNERS temáticos por marca (home) ── */
.gs-banners{position:relative;min-height:400px;margin:22px 0;border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-xl);overflow:hidden;}
.gs-banner{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s ease;display:flex;align-items:center;background-size:cover;background-position:center 70%;}
.gs-banner.is-active{opacity:1;pointer-events:auto;}
.gs-slide-hero{background:linear-gradient(var(--gfc-angle),var(--gfc-surface-1) 0%,var(--gfc-black) 100%);}
.gs-slide-hero::after{content:'';position:absolute;z-index:0;pointer-events:none;top:50%;right:-38%;transform:translateY(-50%);width:min(80%,880px);height:178%;background:url('./gofly-eagle-neon.png') no-repeat center right / contain;opacity:.85;}
.gs-slide-hero .deco{position:absolute;right:2%;bottom:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(214,22,143,.4),transparent 62%);z-index:0;filter:blur(6px);}
.gs-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4;}
.gs-dot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:width .3s,background .3s;}
.gs-dot.on{width:24px;border-radius:5px;background:var(--gfc-neon);}
.gs-banner-scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(8,8,12,.78) 0%,rgba(8,8,12,.5) 26%,rgba(8,8,12,.18) 46%,rgba(8,8,12,0) 62%);}
.gs-banner-in{position:relative;z-index:1;padding:48px 44px;max-width:560px;}
.gs-banner-logo{height:54px;width:auto;max-width:230px;object-fit:contain;margin-bottom:20px;filter:drop-shadow(0 3px 12px rgba(0,0,0,.55));}
.gs-banner-tit{font-family:var(--gfc-font-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(30px,4.4vw,52px);line-height:.95;color:var(--gfc-white);margin:0 0 10px;text-shadow:0 2px 4px rgba(0,0,0,.9),0 4px 24px rgba(0,0,0,.85);}
.gs-banner-txt{font-size:16px;color:var(--gfc-white-soft);margin:0 0 24px;max-width:400px;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 14px rgba(0,0,0,.85);}
@media (max-width:640px){
  .gs-banners{min-height:340px;}
  .gs-banner{align-items:flex-end;}
  .gs-slide-hero{align-items:center;}
  .gs-slide-hero::after{opacity:.22;right:-22%;width:70%;}
  .gs-banner-scrim{background:linear-gradient(0deg,rgba(8,8,12,.95) 0%,rgba(8,8,12,.6) 45%,rgba(8,8,12,.15) 100%);}
  .gs-banner-in{padding:26px 22px;max-width:none;}
  .gs-banner-logo{height:44px;margin-bottom:14px;}
}

/* CTA PRIMÁRIO = AÇÃO = FÚCSIA (Bebas caixa alta, padrão da marca) */
.btn-cta{display:inline-flex;align-items:center;gap:9px;background:var(--gfc-action);color:var(--gfc-action-ink);border:none;height:48px;padding:0 26px;border-radius:var(--gfc-radius-md);font-family:var(--gfc-font-display);font-size:19px;letter-spacing:.04em;text-transform:uppercase;transition:background var(--gfc-dur-fast),transform var(--gfc-dur-fast);}
.btn-cta:hover{background:var(--gfc-fuchsia-bright);transform:translateY(-1px);}
.btn-cta:active{background:var(--gfc-fuchsia-deep);transform:none;}

/* ── SEÇÕES ── */
.gs-sec{margin:38px 0;}
.gs-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.gs-sec-head h2{font-family:var(--gfc-font-display);font-size:26px;font-weight:400;text-transform:uppercase;letter-spacing:.01em;margin:0;color:var(--gfc-white);}
.gs-sec-head a{color:var(--gfc-fuchsia);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
.gs-sec-head a:hover{color:var(--gfc-fuchsia-bright);}

/* ── GRID DE PRODUTOS ── */
.gs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;}
.gs-card{background:var(--gfc-surface-2);border:1px solid var(--gfc-line-strong);border-radius:var(--gfc-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--gfc-dur-base),transform var(--gfc-dur-fast),box-shadow var(--gfc-dur-fast);}
.gs-card:hover{border-color:var(--gfc-fuchsia);transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.6),0 0 0 1px var(--gfc-fuchsia);}
.gs-card .foto{aspect-ratio:1;background:#fff;display:grid;place-items:center;color:var(--gfc-gray-weak);overflow:hidden;padding:16px;}
.gs-card .foto img{width:100%;height:100%;object-fit:contain;}
.gs-card .body{padding:14px 15px 17px;display:flex;flex-direction:column;gap:5px;flex:1;}
.gs-card .marca{font-size:var(--gfc-text-label);font-weight:700;letter-spacing:var(--gfc-track-label);text-transform:uppercase;color:var(--gfc-gray);}
.gs-card .desc{font-size:14px;font-weight:500;color:var(--gfc-white-soft);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;}
/* preço = DADO = NEON */
.gs-card .preco{margin-top:auto;padding-top:10px;font-family:var(--gfc-font-display);font-size:24px;letter-spacing:.5px;color:var(--gfc-neon);line-height:1;}
.gs-card .preco small{font-size:11px;font-family:var(--gfc-font-body);font-weight:600;color:var(--gfc-gray);letter-spacing:0;}

/* ── FOOTER ── */
.gs-footer{margin-top:56px;background:var(--gfc-black);border-top:1px solid var(--gfc-line);color:var(--gfc-gray);}
.gs-footer-in{padding-top:36px;padding-bottom:36px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;font-size:13px;}
.gs-footer a:hover{color:var(--gfc-white);}

/* ── VOLTAR ── */
.gs-back{display:inline-flex;align-items:center;gap:7px;background:none;border:none;color:var(--gfc-fuchsia);font-weight:700;font-size:14px;padding:6px 0;margin-top:16px;cursor:pointer;transition:color var(--gfc-dur-fast);}
.gs-back:hover{color:var(--gfc-fuchsia-bright,var(--gfc-fuchsia));text-decoration:underline;}

/* ── BREADCRUMB ── */
.gs-crumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:var(--gfc-gray);margin:20px 0 6px;}
.gs-crumb a{color:var(--gfc-text);font-weight:600;}
.gs-crumb a:hover{color:var(--gfc-fuchsia);}
.gs-crumb i{width:14px;height:14px;}

/* ── CATÁLOGO (sidebar + grid) ── */
.gs-catalog{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start;margin-top:8px;}
.gs-side{position:sticky;top:86px;border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);overflow:hidden;background:var(--gfc-surface-1);}
.gs-side h3{font-family:var(--gfc-font-display);font-size:16px;font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:var(--gfc-white);background:var(--gfc-surface-2);margin:0;padding:13px 15px;border-bottom:1px solid var(--gfc-line);}
.gs-side .sec{border-top:1px solid var(--gfc-line);}
.side-row{display:flex;align-items:center;gap:9px;padding:9px 12px;font-size:14px;cursor:pointer;user-select:none;transition:background var(--gfc-dur-fast);}
.side-row:hover{background:var(--gfc-surface-2);}
.side-row .exp{width:16px;height:16px;color:var(--gfc-gray);flex:none;transition:transform var(--gfc-dur-fast);}
.side-row.open .exp{transform:rotate(90deg);}
.side-row .nm{flex:1;color:var(--gfc-text);}
.side-row .qt{font-size:11px;color:var(--gfc-gray);font-weight:600;}
.side-row.sel .nm{color:var(--gfc-fuchsia);font-weight:700;}
.side-row input{accent-color:var(--gfc-fuchsia);width:15px;height:15px;}
.side-sub{display:none;padding:2px 0 6px;background:var(--gfc-bg);}
.side-sub.open{display:block;}
.side-sub .side-row{padding-left:34px;font-size:13px;}
.side-clear{display:block;width:100%;text-align:left;background:none;border:none;color:var(--gfc-fuchsia);font-weight:700;font-size:13px;padding:10px 14px;border-top:1px solid var(--gfc-line);}
.gs-side-toggle{display:none;}

.gs-catalog .empty{color:var(--gfc-gray);padding:40px 0;text-align:center;}
.gs-count{font-size:13px;color:var(--gfc-gray);margin-bottom:14px;}
.gs-count b{color:var(--gfc-neon);font-weight:700;}

/* chips de filtros ativos */
.gs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.gs-chip{display:inline-flex;align-items:center;gap:6px;background:rgba(214,22,143,.12);color:var(--gfc-fuchsia-bright);border:1px solid rgba(214,22,143,.4);border-radius:var(--gfc-radius-pill);padding:5px 6px 5px 12px;font-size:12px;font-weight:700;}
.gs-chip button{background:none;border:none;color:var(--gfc-fuchsia-bright);display:grid;place-items:center;padding:2px;border-radius:50%;}
.gs-chip button:hover{background:rgba(214,22,143,.25);}

/* ── PÁGINA DO PRODUTO ── */
.gs-prod{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:10px;align-items:start;}
.gs-gal-main{aspect-ratio:1;background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);display:grid;place-items:center;overflow:hidden;color:var(--gfc-gray-weak);}
.gs-gal-main img{width:100%;height:100%;object-fit:cover;}
.gs-gal-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;}
.gs-gal-thumbs .t{width:64px;height:64px;border-radius:var(--gfc-radius-md);border:2px solid var(--gfc-line);overflow:hidden;cursor:pointer;background:var(--gfc-surface-1);}
.gs-gal-thumbs .t.on{border-color:var(--gfc-fuchsia);}
.gs-gal-thumbs .t img{width:100%;height:100%;object-fit:cover;}
.gs-info .marca{font-size:var(--gfc-text-label);font-weight:700;letter-spacing:var(--gfc-track-label);text-transform:uppercase;color:var(--gfc-gray);}
.gs-info h1{font-family:var(--gfc-font-body);font-size:28px;font-weight:800;color:var(--gfc-white);margin:6px 0 16px;line-height:1.2;}
/* preço = DADO = NEON (Bebas, grande) */
.gs-info .price{font-family:var(--gfc-font-display);font-size:44px;letter-spacing:.5px;color:var(--gfc-neon);line-height:1;}
.gs-info .price small{font-size:13px;font-family:var(--gfc-font-body);color:var(--gfc-gray);font-weight:600;display:block;margin-top:6px;letter-spacing:0;}
.gs-block{margin-top:24px;padding-top:22px;border-top:1px solid var(--gfc-line);}
.gs-block h4{font-size:var(--gfc-text-label);font-weight:700;letter-spacing:var(--gfc-track-label);text-transform:uppercase;color:var(--gfc-gray);margin:0 0 12px;}
.gs-var{display:flex;gap:8px;flex-wrap:wrap;}
.gs-var button{border:1.5px solid var(--gfc-line);background:var(--gfc-surface-1);border-radius:var(--gfc-radius-md);padding:9px 16px;font-weight:700;font-size:14px;color:var(--gfc-text);transition:border-color var(--gfc-dur-fast),color var(--gfc-dur-fast);}
.gs-var button:hover{border-color:var(--gfc-line-strong);color:var(--gfc-white);}
/* variação ATIVA = estado de ação = FÚCSIA */
.gs-var button.on{border-color:var(--gfc-fuchsia);background:var(--gfc-fuchsia);color:var(--gfc-action-ink);}
.gs-var button.esgotado{opacity:.35;text-decoration:line-through;}
.gs-var button.esgotado.on{background:var(--gfc-fuchsia);color:#fff;opacity:.5;}
.gs-aplic{display:flex;gap:8px;flex-wrap:wrap;}
.gs-aplic span{background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);padding:6px 14px;font-size:13px;font-weight:600;color:var(--gfc-text);}
.gs-buy{display:flex;gap:12px;align-items:center;margin-top:26px;}
.gs-qty{display:flex;align-items:center;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);overflow:hidden;background:var(--gfc-surface-1);}
.gs-qty button{background:none;border:none;width:42px;height:48px;font-size:20px;color:var(--gfc-white);}
.gs-qty button:hover{background:var(--gfc-surface-2);}
.gs-qty span{width:40px;text-align:center;font-weight:800;color:var(--gfc-neon);}
.btn-buy{flex:1;justify-content:center;}
.gs-frete{display:flex;gap:8px;margin-top:12px;}
.gs-frete input{flex:1;height:44px;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 14px;font-size:14px;outline:none;background:var(--gfc-surface-1);color:var(--gfc-text-strong);}
.gs-frete input:focus{border-color:var(--gfc-fuchsia);}
.gs-frete button{background:var(--gfc-surface-2);color:var(--gfc-white);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 16px;font-weight:700;font-size:13px;}
.gs-frete button:hover{border-color:var(--gfc-line-strong);}

/* ── CARRINHO (drawer) ── */
.gs-drawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.62);opacity:0;pointer-events:none;transition:opacity var(--gfc-dur-base);z-index:60;}
.gs-drawer-ov.open{opacity:1;pointer-events:auto;}
.gs-drawer{position:fixed;top:0;right:0;height:100%;width:410px;max-width:92vw;background:var(--gfc-surface-1);border-left:1px solid var(--gfc-line);box-shadow:-8px 0 40px rgba(0,0,0,.5);transform:translateX(100%);transition:transform var(--gfc-dur-base) var(--gfc-ease-out);z-index:61;display:flex;flex-direction:column;}
.gs-drawer.open{transform:none;}
.gs-drawer-h{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--gfc-line);}
.gs-drawer-h h3{font-family:var(--gfc-font-display);font-size:22px;font-weight:400;text-transform:uppercase;letter-spacing:.02em;margin:0;color:var(--gfc-white);}
.gs-drawer-h button{background:none;border:none;color:var(--gfc-gray);padding:4px;display:grid;place-items:center;}
.gs-drawer-h button:hover{color:var(--gfc-white);}
.gs-drawer-body{flex:1;overflow:auto;padding:4px 20px;}
.gs-drawer-empty{color:var(--gfc-gray);text-align:center;padding:56px 10px;}
/* ── drawer de FILTROS (esquerda, mobile) — espelha o do carrinho ── */
.gs-fdrawer-ov{position:fixed;inset:0;background:rgba(0,0,0,.62);opacity:0;pointer-events:none;transition:opacity var(--gfc-dur-base);z-index:60;display:none;}
.gs-fdrawer-ov.open{opacity:1;pointer-events:auto;}
.gs-fdrawer{position:fixed;top:0;left:0;height:100%;width:330px;max-width:88vw;background:var(--gfc-surface-1);border-right:1px solid var(--gfc-line);box-shadow:8px 0 40px rgba(0,0,0,.5);transform:translateX(-100%);transition:transform var(--gfc-dur-base) var(--gfc-ease-out);z-index:61;display:none;flex-direction:column;}
.gs-fdrawer.open{transform:none;}
.gs-fdrawer-body{flex:1;overflow:auto;}
.gs-fdrawer-body .gs-side{position:static;display:block;border:none;border-radius:0;background:transparent;}
.gs-fdrawer-f{border-top:1px solid var(--gfc-line);padding:12px 16px;}
.gs-fdrawer-f .btn-cta{width:100%;justify-content:center;}
.cart-item{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--gfc-line);}
.cart-item .foto{width:66px;height:66px;border-radius:var(--gfc-radius-md);background:var(--gfc-surface-2);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--gfc-gray-weak);}
.cart-item .foto img{width:100%;height:100%;object-fit:cover;}
.cart-item .info{flex:1;min-width:0;}
.cart-item .marca{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gfc-gray);}
.cart-item .nm{font-size:14px;font-weight:600;line-height:1.3;color:var(--gfc-white-soft);}
.cart-item .var{font-size:12px;color:var(--gfc-gray);}
.cart-item .pr{font-family:var(--gfc-font-display);font-size:18px;letter-spacing:.5px;color:var(--gfc-neon);margin-top:4px;}
.cart-line{display:flex;align-items:center;gap:12px;margin-top:7px;}
.cart-qty{display:inline-flex;align-items:center;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);background:var(--gfc-surface-2);}
.cart-qty button{background:none;border:none;width:30px;height:30px;color:var(--gfc-white);font-size:16px;}
.cart-qty button:hover{color:var(--gfc-neon);}
.cart-qty span{width:28px;text-align:center;font-weight:800;font-size:13px;color:var(--gfc-white);}
.cart-rm{background:none;border:none;color:var(--gfc-gray);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;}
.cart-rm:hover{color:var(--gfc-fuchsia);}
.gs-drawer-f{border-top:1px solid var(--gfc-line);padding:16px 20px 20px;background:var(--gfc-surface-2);}
.gs-drawer-f .subt{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--gfc-font-display);font-size:26px;letter-spacing:.5px;color:var(--gfc-neon);margin-bottom:6px;}
.gs-drawer-f .subt span:first-child{font-family:var(--gfc-font-body);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gfc-gray);}
.gs-drawer-f .hint{font-size:12px;color:var(--gfc-gray);margin-bottom:14px;}
.gs-drawer-f .btn-cta{width:100%;justify-content:center;}
.cart-badge{background:var(--gfc-neon);color:var(--gfc-accent-ink);border-radius:var(--gfc-radius-pill);min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:800;display:inline-grid;place-items:center;}

/* ── USUÁRIO (header) ── */
.gs-user{display:flex;align-items:center;gap:7px;background:none;border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);height:44px;padding:0 15px;font-weight:600;font-size:14px;color:var(--gfc-text);white-space:nowrap;transition:border-color var(--gfc-dur-fast),color var(--gfc-dur-fast);}
.gs-user:hover{border-color:var(--gfc-line-strong);color:var(--gfc-white);}

/* ── MODAL (auth) ── */
.gs-modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:70;padding:20px;backdrop-filter:blur(4px);}
.gs-modal-ov.open{display:flex;}
.gs-modal{background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-xl);width:100%;max-width:420px;max-height:92vh;overflow:auto;box-shadow:0 20px 70px rgba(0,0,0,.6);}
.gs-modal-h{display:flex;border-bottom:1px solid var(--gfc-line);position:relative;}
.gs-tab{flex:1;text-align:center;padding:16px;font-weight:400;font-family:var(--gfc-font-display);font-size:18px;text-transform:uppercase;letter-spacing:.03em;color:var(--gfc-gray);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:color var(--gfc-dur-fast);}
.gs-tab.on{color:var(--gfc-white);border-bottom-color:var(--gfc-fuchsia);}
.gs-modal-x{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--gfc-gray);cursor:pointer;padding:4px;display:grid;place-items:center;}
.gs-modal-x:hover{color:var(--gfc-white);}
.gs-modal-b{padding:22px;}
.gs-field{margin-bottom:14px;}
.gs-field label{display:block;font-size:12px;font-weight:700;color:var(--gfc-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.gs-field input{width:100%;height:46px;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 14px;font-size:14px;font-family:var(--gfc-font-body);outline:none;background:var(--gfc-surface-2);color:var(--gfc-text-strong);transition:border-color var(--gfc-dur-fast),box-shadow var(--gfc-dur-fast);}
.gs-field input::placeholder{color:var(--gfc-gray-weak);}
.gs-field input:focus{border-color:var(--gfc-fuchsia);box-shadow:0 0 0 3px var(--gfc-ring);}
.gs-field input:disabled{background:var(--gfc-surface-1);color:var(--gfc-gray);}
.gs-modal .btn-cta{width:100%;justify-content:center;margin-top:4px;}
.gs-note{font-size:12px;color:var(--gfc-gray);margin-bottom:16px;line-height:1.5;}
.gs-found{background:rgba(214,22,143,.08);border:1px solid rgba(214,22,143,.25);border-radius:var(--gfc-radius-md);padding:11px 13px;font-size:13px;color:var(--gfc-white-soft);margin-bottom:14px;font-weight:500;}
.gs-found i,.gs-found svg{color:var(--gfc-fuchsia-bright);}
.gs-link{background:none;border:none;color:var(--gfc-fuchsia);font-weight:700;font-size:13px;cursor:pointer;padding:10px 0 0;display:block;}
.gs-link:hover{color:var(--gfc-fuchsia-bright);}
.gs-err{color:#FF6B6B;font-size:12px;font-weight:600;margin-bottom:10px;display:none;}

/* ── menu do usuário (perfil) ── */
.gs-user-wrap{position:relative;}
.gs-usermenu{position:absolute;top:calc(100% + 8px);right:0;min-width:214px;background:var(--gfc-surface-1);border:1px solid var(--gfc-line-strong);border-radius:var(--gfc-radius-md);box-shadow:0 14px 36px rgba(0,0,0,.55);padding:6px;z-index:60;display:none;}
.gs-usermenu.open{display:block;}
.gs-usermenu-h{padding:10px 12px 12px;border-bottom:1px solid var(--gfc-line);margin-bottom:6px;}
.gs-usermenu-h strong{display:block;color:var(--gfc-white);font-size:14px;}
.gs-usermenu-h span{display:block;color:var(--gfc-gray);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gs-usermenu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;color:var(--gfc-text);font-family:var(--gfc-font-body);font-size:14px;padding:10px 12px;border-radius:var(--gfc-radius-sm);cursor:pointer;text-align:left;transition:background var(--gfc-dur-fast);}
.gs-usermenu button:hover{background:var(--gfc-surface-2);color:var(--gfc-white);}
.gs-usermenu button svg{color:var(--gfc-gray);}
.gs-usermenu-sair{color:var(--gfc-gray-light);border-top:1px solid var(--gfc-line);margin-top:4px;}
.gs-usermenu-sair:hover{color:#FF6B6B !important;}

/* ── spinner de "processando" nos botões ── */
.gs-spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:gsspin .6s linear infinite;}
@keyframes gsspin{to{transform:rotate(360deg);}}
.btn-cta:disabled{opacity:.7;cursor:default;}

/* ── Meus dados / Minhas compras ── */
.gs-conta{max-width:520px;margin:10px auto;background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);padding:22px;}
.gs-conta h2{font-family:var(--gfc-font-display);text-transform:uppercase;color:var(--gfc-white);margin:0 0 16px;}
.gs-conta-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--gfc-line);}
.gs-conta-row:last-of-type{border-bottom:none;}
.gs-conta-row span{color:var(--gfc-gray);font-size:13px;}
.gs-conta-row b{color:var(--gfc-white-soft);font-weight:600;text-align:right;}
.gs-empty2{max-width:460px;margin:44px auto;text-align:center;color:var(--gfc-gray-light);}
.gs-empty2 svg{width:42px;height:42px;color:var(--gfc-gray-weak);}
.gs-empty2 h2{font-family:var(--gfc-font-display);text-transform:uppercase;color:var(--gfc-white);margin:14px 0 8px;}
.gs-empty2 p{font-size:14px;margin:0 0 18px;}

/* ── CHECKOUT ── */
.gs-checkout{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start;margin-top:6px;}
.gs-co-step{background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);padding:22px 24px;margin-bottom:18px;}
.gs-co-step h3{font-family:var(--gfc-font-display);font-size:19px;font-weight:400;text-transform:uppercase;letter-spacing:.02em;color:var(--gfc-white);margin:0 0 16px;display:flex;align-items:center;gap:12px;}
/* número do passo = NEON (dado), separado dos CTAs fúcsia por conteúdo */
.gs-co-step h3 .n{width:26px;height:26px;border-radius:50%;background:var(--gfc-neon);color:var(--gfc-accent-ink);display:grid;place-items:center;font-size:14px;font-family:var(--gfc-font-body);font-weight:800;}
.gs-co-cep{display:flex;gap:8px;margin-bottom:14px;}
.gs-co-cep input{flex:1;height:46px;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 14px;font-size:14px;outline:none;background:var(--gfc-surface-2);color:var(--gfc-text-strong);}
.gs-co-cep input:focus{border-color:var(--gfc-fuchsia);}
.gs-co-cep button{background:var(--gfc-surface-2);color:var(--gfc-white);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 18px;font-weight:700;font-size:13px;}
.gs-co-cep button:hover{border-color:var(--gfc-line-strong);}
.gs-end{display:grid;gap:10px;margin:4px 0 16px;}
.gs-end .row{display:flex;gap:10px;}
.co-inp{flex:1;min-width:0;height:44px;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:0 12px;font-size:14px;outline:none;background:var(--gfc-surface-2);color:var(--gfc-text-strong);}
.co-inp::placeholder{color:var(--gfc-gray-weak);}
.co-inp:focus{border-color:var(--gfc-fuchsia);}
/* opção selecionável (frete): ativa = FÚCSIA */
.opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--gfc-line);border-radius:var(--gfc-radius-md);padding:13px 14px;margin-bottom:10px;cursor:pointer;background:var(--gfc-surface-1);transition:border-color var(--gfc-dur-fast);}
.opt:hover{border-color:var(--gfc-line-strong);}
.opt.on{border-color:var(--gfc-fuchsia);background:rgba(214,22,143,.08);}
.opt .r{width:18px;height:18px;border-radius:50%;border:2px solid var(--gfc-line-strong);flex:none;}
.opt.on .r{border:5px solid var(--gfc-fuchsia);}
.opt .nm{flex:1;font-weight:600;font-size:14px;color:var(--gfc-text);}
.opt .pr{font-family:var(--gfc-font-display);font-size:17px;letter-spacing:.5px;color:var(--gfc-neon);white-space:nowrap;}
.pay-tabs{display:flex;gap:8px;margin-bottom:12px;}
.pay-tabs button{flex:1;border:1.5px solid var(--gfc-line);background:var(--gfc-surface-1);border-radius:var(--gfc-radius-md);padding:13px;font-weight:700;color:var(--gfc-text);display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;transition:border-color var(--gfc-dur-fast),color var(--gfc-dur-fast);}
.pay-tabs button:hover{border-color:var(--gfc-line-strong);color:var(--gfc-white);}
.pay-tabs button.on{border-color:var(--gfc-fuchsia);background:rgba(214,22,143,.1);color:var(--gfc-fuchsia-bright);}
.gs-parcelas{display:flex;gap:8px;flex-wrap:wrap;}
.gs-parcelas button{border:1.5px solid var(--gfc-line);background:var(--gfc-surface-1);border-radius:var(--gfc-radius-sm);padding:9px 12px;font-weight:700;font-size:13px;color:var(--gfc-text);}
.gs-parcelas button.on{border-color:var(--gfc-fuchsia);background:var(--gfc-fuchsia);color:var(--gfc-action-ink);}
.gs-resumo{background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);padding:22px;position:sticky;top:86px;}
.gs-cardform{margin-top:16px;display:grid;gap:9px;min-width:0;}
.gs-cardform .co-inp{width:100%;box-sizing:border-box;}
.gs-card-row{display:flex;gap:8px;min-width:0;}
.gs-card-row .co-inp{flex:1;min-width:0;}
.gs-resumo h3{font-family:var(--gfc-font-display);font-size:19px;font-weight:400;text-transform:uppercase;letter-spacing:.02em;color:var(--gfc-white);margin:0 0 14px;}
.res-item{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:9px 0;border-bottom:1px solid var(--gfc-line);color:var(--gfc-text);}
.res-item .q{color:var(--gfc-gray);}
.res-tot{display:flex;justify-content:space-between;font-size:14px;margin-top:12px;color:var(--gfc-text);}
/* total = DADO = NEON */
.res-tot.big{align-items:baseline;}
.res-tot.big span:first-child{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gfc-gray);}
.res-tot.big span:last-child{font-family:var(--gfc-font-display);font-weight:400;font-size:30px;letter-spacing:.5px;color:var(--gfc-neon);}

.gs-pass{position:relative;}
.gs-pass input{padding-right:44px;}
.gs-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gfc-gray);cursor:pointer;padding:5px;display:grid;place-items:center;}
.gs-eye:hover{color:var(--gfc-white);}

/* ── RESPONSIVO ── */
@media (max-width:860px){
  .gs-prod{grid-template-columns:1fr;gap:24px;}
  .gs-checkout{grid-template-columns:1fr;}
  .gs-resumo{position:static;}
}
@media (max-width:720px){
  .wrap{padding:0 22px;}
  .gs-header-in{height:auto;flex-wrap:wrap;row-gap:12px;column-gap:10px;padding-top:14px;padding-bottom:14px;}
  .gs-logo{order:1;margin-right:auto;}
  .gs-logo .go{font-size:38px;} .gs-logo .shop{font-size:25px;}
  .gs-logo-img img{height:36px;}
  .gs-user{order:2;height:40px;padding:0 13px;}
  .gs-cart{order:3;height:40px;padding:0 14px;}
  .gs-search{order:4;flex-basis:100%;max-width:none;}
  .gs-nav{order:5;flex-basis:100%;justify-content:center;gap:10px;border-top:1px solid var(--gfc-line);padding-top:10px;}
  .gs-hero{margin:16px 0;}
  .gs-hero-in{padding:34px 24px;}
  .gs-hero::after{opacity:.22;right:-22%;width:70%;}   /* águia recuada/discreta no mobile (texto ocupa tudo) */
  .gs-sec{margin:28px 0;}
  .gs-footer-in{flex-direction:column;align-items:flex-start;gap:14px;padding-top:30px;padding-bottom:30px;text-align:left;line-height:1.5;}
  .gs-catalog{grid-template-columns:1fr;}
  .gs-side{display:none;}                 /* no mobile a sidebar inline some — vira o drawer */
  .gs-fdrawer{display:flex;}              /* drawer de filtros ativo no mobile */
  .gs-fdrawer-ov{display:block;}
  .gs-fdrawer-body .gs-side{display:block;}   /* dentro do drawer, mostra normalmente */
  .gs-side-toggle{display:inline-flex;align-items:center;gap:8px;background:var(--gfc-surface-2);color:var(--gfc-white);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-pill);height:44px;padding:0 18px;font-weight:700;margin-bottom:14px;}
}
@media (max-width:400px){
  .gs-user #authLabel{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}
/* MOBILE: produtos em 2 colunas. Fica no FIM do arquivo de propósito — precisa vir DEPOIS da
   base `.gs-grid` (auto-fill 210px) pra vencer a cascata; senão a base sobrescreve e cai p/ 1 col no celular. */
@media (max-width:640px){
  .gs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .gs-card .body{padding:11px 12px 14px;}
}

/* ══ Minhas compras ══════════════════════════════════════════════════════ */
.mc-title{font-family:var(--gfc-font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--gfc-white);font-size:26px;margin:6px 0 18px;}
.mc-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gfc-gray-light);padding:48px 0;font-size:15px;}
.mc-list{display:flex;flex-direction:column;gap:14px;max-width:720px;}
.mc-card{background:var(--gfc-surface-1);border:1px solid var(--gfc-line);border-radius:var(--gfc-radius-lg);padding:16px 18px;}
.mc-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.mc-num b{color:var(--gfc-white);font-family:var(--gfc-font-mono,monospace);font-size:15px;letter-spacing:.02em;}
.mc-date{color:var(--gfc-gray);font-size:13px;margin-left:8px;}
.mc-badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:4px 11px;border-radius:999px;white-space:nowrap;background:rgba(255,255,255,.08);color:var(--gfc-gray-light);}
.mc-badge.preparando,.mc-badge.postar{background:rgba(255,255,255,.08);color:var(--gfc-gray-light);}
.mc-badge.enviado{background:rgba(214,22,143,.15);color:var(--gfc-fuchsia-bright,var(--gfc-fuchsia));}
.mc-badge.entregue{background:rgba(57,255,136,.14);color:var(--gfc-neon,#39ff88);}
.mc-badge.cancelado{background:rgba(255,80,80,.14);color:#ff6b6b;}
.mc-itens{display:flex;flex-direction:column;gap:6px;padding:2px 0 4px;}
.mc-item{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--gfc-text);}
.mc-item span:last-child{color:var(--gfc-gray-light);white-space:nowrap;font-variant-numeric:tabular-nums;}
.mc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:11px;border-top:1px solid var(--gfc-line);}
.mc-ent{font-size:12.5px;color:var(--gfc-gray);}
.mc-total{font-family:var(--gfc-font-display);font-size:20px;color:var(--gfc-neon,var(--gfc-white));letter-spacing:.5px;}
.mc-track{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px dashed var(--gfc-line);font-size:12.5px;color:var(--gfc-gray-light);}
.mc-track .mono{font-family:var(--gfc-font-mono,monospace);color:var(--gfc-white);}
.mc-track a{color:var(--gfc-fuchsia);font-weight:700;}
.mc-track a:hover{text-decoration:underline;}

/* ══ Banner Jyro (logo + slogan) ═════════════════════════════════════════ */
/* logo aparado (sem margem transparente) → alinha à esquerda com o slogan; dimensiona por largura */
.gs-banner-logo-jyro{height:auto;width:min(370px,72vw);max-width:none;margin:-34px 0 46px;display:block;}
.gs-banner-slogan{text-transform:uppercase;letter-spacing:.34em;font-size:clamp(13px,2.2vw,20px);font-weight:700;color:var(--gfc-white-soft);margin:0 0 24px;text-shadow:0 1px 3px rgba(0,0,0,.9),0 2px 14px rgba(0,0,0,.85);}
@media (max-width:640px){ .gs-banner-logo-jyro{width:70vw;margin:-22px 0 32px;} }
.mc-entregue{color:var(--gfc-neon,#39ff88);}

/* botão compartilhar produto */
.gs-share{display:inline-flex;align-items:center;gap:8px;margin:2px 0 8px;background:none;border:1px solid var(--gfc-line-strong);color:var(--gfc-text);font-weight:600;font-size:13px;padding:9px 16px;border-radius:var(--gfc-radius-pill);cursor:pointer;transition:border-color .14s,color .14s;}
.gs-share:hover{border-color:var(--gfc-fuchsia);color:var(--gfc-fuchsia);}
.gs-share svg{width:16px;height:16px;}

/* ══ MICROINTERAÇÕES MODERADAS (2026-10-28): entrada dos cards + press feedback ══ */
@keyframes gsFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.gs-prod{animation:gsFadeUp .4s cubic-bezier(.2,.75,.25,1) both;}
.gs-grid .gs-prod:nth-child(1){animation-delay:.03s}.gs-grid .gs-prod:nth-child(2){animation-delay:.09s}
.gs-grid .gs-prod:nth-child(3){animation-delay:.15s}.gs-grid .gs-prod:nth-child(4){animation-delay:.21s}
.gs-grid .gs-prod:nth-child(5){animation-delay:.27s}.gs-grid .gs-prod:nth-child(6){animation-delay:.33s}
.gs-grid .gs-prod:nth-child(n+7){animation-delay:.39s}
.gs-card,.gs-cardform,.gs-banner{animation:gsFadeUp .4s cubic-bezier(.2,.75,.25,1) both;}
.gs-prod{transition:transform .22s cubic-bezier(.2,.75,.25,1), box-shadow .22s ease;}
.gs-prod:hover{transform:translateY(-4px);}
.btn-cta,.gs-back,button{transition:transform .14s cubic-bezier(.34,1.56,.64,1), filter .14s ease, background .14s ease, border-color .14s ease, color .14s ease;}
.btn-cta:active,.gs-back:active{transform:translateY(1px) scale(.965);}
@media (prefers-reduced-motion:reduce){.gs-prod,.gs-card,.gs-cardform,.gs-banner{animation:none !important}.btn-cta,.gs-back,button,.gs-prod{transition:none !important}}
