/* ===== Slabedd v1.21 — camada visual: vermelho, futurista, claro/escuro =====
   Vem depois de todos os outros estilos de propósito: ganha por ordem.
   Os !important só existem onde os remendos antigos também os usam. */
:root{
  --fx-red:#c1272d;--fx-red-hi:#e5383b;--fx-red-deep:#7a1116;
  --fx-cut:9px;
  --fx-grid:rgba(193,39,45,.055);
  --fx-edge:rgba(193,39,45,.20);
  --fx-edge-strong:rgba(193,39,45,.55);
  --fx-glow:rgba(229,56,59,.35);
  --fx-page:#f6f3f4;
  --fx-glass:rgba(255,255,255,.82);
  --fx-font-ui:"Chakra Petch","Space Grotesk",system-ui,sans-serif;
  --fx-font-body:"Space Grotesk",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
:root[data-theme="dark"]{
  --fx-grid:rgba(229,56,59,.07);--fx-edge:rgba(229,56,59,.22);--fx-edge-strong:rgba(229,56,59,.7);
  --fx-glow:rgba(229,56,59,.55);--fx-page:#0b0709;--fx-glass:rgba(14,9,11,.82);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --fx-grid:rgba(229,56,59,.07);--fx-edge:rgba(229,56,59,.22);--fx-edge-strong:rgba(229,56,59,.7);
  --fx-glow:rgba(229,56,59,.55);--fx-page:#0b0709;--fx-glass:rgba(14,9,11,.82);
}}

/* ---- página ---- */
html{background:var(--fx-page)}
body{font-family:var(--fx-font-body);background:transparent!important;font-variant-numeric:tabular-nums}
/* grelha numa camada fixa própria: composta uma vez, não repinta a cada scroll */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:
    radial-gradient(1200px 520px at 100% -10%,rgba(193,39,45,.16),transparent 60%),
    linear-gradient(var(--fx-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--fx-grid) 1px,transparent 1px);
  background-size:100% 100%,34px 34px,34px 34px}
h1,h2,h3,h4,.top h1,.planPrice,.stat strong,#marketTotal{font-family:var(--fx-font-ui);letter-spacing:.01em}
.top h1{font-size:30px;font-weight:700}
.eyebrow{font-family:var(--fx-font-ui);font-weight:700;letter-spacing:.16em;color:var(--fx-red-hi)}
.eyebrow::before{content:"// ";opacity:.55}
::selection{background:var(--fx-red);color:#fff}
*{scrollbar-width:thin;scrollbar-color:var(--fx-red) transparent}

/* ---- barra lateral: sempre escura, com linha de energia ---- */
.sidebar{
  background:linear-gradient(180deg,#120a0d 0%,#0a0608 100%)!important;
  border-right:1px solid transparent;
  border-image:linear-gradient(180deg,transparent,var(--fx-red) 30%,var(--fx-red-hi) 60%,transparent) 1;
  color:#f4eef0;
}
.brand{flex-direction:column;align-items:flex-start;gap:6px;margin:0 4px 28px}
.brandLogo{width:168px;height:auto;display:block;filter:drop-shadow(0 6px 18px rgba(193,39,45,.35))}
.brandTag{font-family:var(--fx-font-ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a8959b;padding-left:6px}
.nav button{
  font-family:var(--fx-font-ui);font-weight:600;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;
  color:#c9b9be;border-radius:0;position:relative;
  clip-path:polygon(0 0,calc(100% - var(--fx-cut)) 0,100% var(--fx-cut),100% 100%,0 100%);
  transition:background .2s,color .2s,box-shadow .2s;
}
.nav button:hover{background:rgba(229,56,59,.10)!important;color:#fff}
.nav button.active{
  background:linear-gradient(90deg,rgba(229,56,59,.30),rgba(229,56,59,.04))!important;color:#fff;
  box-shadow:inset 3px 0 0 var(--fx-red-hi),inset 0 0 22px rgba(229,56,59,.18);
}
.plan{border-radius:0!important;border:1px solid rgba(229,56,59,.28)!important;background:rgba(229,56,59,.06)!important;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}
.plan small{font-family:var(--fx-font-ui);letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:#a8959b}

/* ---- botões chanfrados ---- */
.btn{
  font-family:var(--fx-font-ui);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:13px;
  border-radius:0!important;
  clip-path:polygon(var(--fx-cut) 0,100% 0,100% calc(100% - var(--fx-cut)),calc(100% - var(--fx-cut)) 100%,0 100%,0 var(--fx-cut));
  transition:filter .2s,transform .15s,background .2s;
}
.btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(135deg,var(--fx-red-hi),var(--fx-red) 55%,var(--fx-red-deep))!important;color:#fff!important;
  filter:drop-shadow(0 0 10px var(--fx-glow))}
.btn.primary:hover{filter:drop-shadow(0 0 16px var(--fx-glow)) brightness(1.08)}
.btn.primary:disabled{filter:grayscale(.7) opacity(.55);cursor:not-allowed}
.btn.secondary{background:rgba(193,39,45,.07)!important;color:var(--text)!important;box-shadow:inset 0 0 0 1px var(--fx-edge-strong)}
.btn.secondary:hover{background:rgba(193,39,45,.14)!important}
.btn.danger{box-shadow:inset 0 0 0 1px currentColor}

/* ---- superfícies: cantos de HUD ---- */
.stat,.panel,.toolbar,.group{
  border-radius:4px!important;border:1px solid var(--fx-edge)!important;
  background-image:
    linear-gradient(var(--fx-red-hi),var(--fx-red-hi)),linear-gradient(var(--fx-red-hi),var(--fx-red-hi)),
    linear-gradient(var(--fx-red-hi),var(--fx-red-hi)),linear-gradient(var(--fx-red-hi),var(--fx-red-hi));
  background-size:14px 2px,2px 14px,14px 2px,2px 14px;
  background-position:top left,top left,bottom right,bottom right;
  background-repeat:no-repeat;
  box-shadow:0 10px 30px rgba(20,6,9,.06);
}
.stat strong{font-weight:700}
.card{border-radius:6px!important;border-color:var(--fx-edge)!important;transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{border-color:var(--fx-edge-strong)!important;box-shadow:0 0 0 1px var(--fx-edge-strong),0 14px 34px var(--fx-glow)!important}
.modalbox{border-radius:6px!important;border:1px solid var(--fx-edge-strong);box-shadow:0 0 0 1px rgba(229,56,59,.15),0 30px 80px rgba(0,0,0,.45),0 0 60px rgba(229,56,59,.12)}
.modal{backdrop-filter:blur(6px)}
.chip{border-radius:0!important;border:1px solid var(--fx-edge);font-family:var(--fx-font-ui);letter-spacing:.05em;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}

/* ---- campos ---- */
input,select,textarea{border-radius:3px!important;border-color:var(--fx-edge)!important;font-family:var(--fx-font-body)}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--fx-red-hi)!important;box-shadow:0 0 0 3px rgba(229,56,59,.18),0 0 18px rgba(229,56,59,.18)!important}

/* ---- separadores / segmentados ---- */
.periods,.collectionMode,.addTabs,.segmented,.setLanguageTabs{border-radius:0!important;border:1px solid var(--fx-edge);background:var(--fx-glass)!important;padding:4px!important;gap:4px;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.periods button,.collectionMode button,.addTabs button,.segmented button{
  font-family:var(--fx-font-ui);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px;
  border-radius:0!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important;position:relative;border:0;padding:9px 13px;cursor:pointer}
.periods button.active,.collectionMode button.active,.addTabs button.active,.addTabs button[aria-selected="true"],.segmented button.active{
  color:var(--text)!important;background:linear-gradient(180deg,rgba(229,56,59,.04),rgba(229,56,59,.16))!important;
  box-shadow:inset 0 -2px 0 var(--fx-red-hi),0 6px 14px -8px var(--fx-glow)!important}

/* ---- barras e progresso ---- */
.bar{background:linear-gradient(180deg,var(--fx-red-hi),var(--fx-red-deep))!important;border-radius:2px 2px 0 0!important;box-shadow:0 0 14px var(--fx-glow)}
progress,.progress,.setProgress{accent-color:var(--fx-red)}
.delta.good{color:#12a36b}.delta.bad{color:#ef4a52}

/* ---- botão de tema ---- */
.themeToggle{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid var(--fx-edge);background:var(--fx-glass);color:var(--text);cursor:pointer;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:box-shadow .2s,color .2s}
.themeToggle:hover{color:var(--fx-red-hi);box-shadow:inset 0 0 0 1px var(--fx-edge-strong),0 0 16px var(--fx-glow)}
.themeToggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.themeToggle .iconSun{display:none}.themeToggle.isDark .iconSun{display:block}.themeToggle.isDark .iconMoon{display:none}
.top>div:last-child{display:flex;align-items:center;gap:10px}

/* ---- navegação móvel ---- */
@media(max-width:760px){
  .mobileBottomNav{background:var(--fx-glass)!important;backdrop-filter:blur(14px) saturate(1.3);border-top:1px solid var(--fx-edge)!important;box-shadow:0 -10px 30px rgba(0,0,0,.12)!important}
  .mobileBottomNav>button{font-family:var(--fx-font-ui)!important;letter-spacing:.06em;text-transform:uppercase;border-radius:0!important}
  .mobileBottomNav>button.active,.mobileBottomNav .mobilePremiumAction.active{color:var(--fx-red-hi)!important;background:linear-gradient(180deg,rgba(229,56,59,.16),transparent)!important;box-shadow:inset 0 2px 0 var(--fx-red-hi)!important}
  .brandLogo{width:130px}
  .top h1{font-size:24px}
}

/* ---- loja ---- */
.fxHero{position:relative;overflow:hidden;border:1px solid var(--fx-edge-strong);border-radius:4px;
  background:linear-gradient(120deg,#16090c 0%,#2a0b10 55%,#5b0f15 100%)!important;color:#f7eff1!important;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.fxHero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.fxHero h2{color:#fff}.fxHero p,.fxHero .shopHeroNote{color:#e3cfd4!important}
.fxHero .btn.secondary{color:#fff!important}
.shopHeroVisual img{width:min(320px,90%);transform:rotate(-4deg);filter:drop-shadow(0 20px 40px rgba(0,0,0,.5)) drop-shadow(0 0 30px rgba(229,56,59,.35))}
.shopHeroVisual{display:grid;place-items:center}
.shopTierLegend{display:flex;gap:10px;margin:16px 0 18px;flex-wrap:wrap}
.shopTierLegend .tier{padding:10px 14px;border:1px solid rgba(255,255,255,.18);min-width:120px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.shopTierLegend .tier small{display:block;font-family:var(--fx-font-ui);letter-spacing:.14em;text-transform:uppercase;font-size:10px;color:#d8bcc2}
.shopTierLegend .tier strong{font-family:var(--fx-font-ui);font-size:20px;color:#fff}
.shopTierLegend .tierPremium{background:rgba(229,56,59,.28);border-color:rgba(229,56,59,.8);box-shadow:0 0 22px rgba(229,56,59,.3)}
.shopToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px;flex-wrap:wrap}
.segmented{display:inline-flex}
.shopDemoLabel{font-family:var(--fx-font-ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--fx-edge-strong);padding:6px 10px}
.shopLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.shopLayout .shopProductGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:14px;margin:0}
.shopProduct{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--fx-edge);border-radius:4px;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
.shopProduct:hover{transform:translateY(-3px);border-color:var(--fx-edge-strong);box-shadow:0 14px 34px var(--fx-glow)}
.shopProductImage{height:190px;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(229,56,59,.25),transparent 65%),#140a0d;color:#f3dfe3;font-family:var(--fx-font-ui);letter-spacing:.2em;text-transform:uppercase;font-size:12px;border-radius:0!important}
.shopProductImage.hasImage img{height:170px;width:auto;border-radius:6px;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.shopProductBody{padding:13px 14px 15px;display:flex;flex-direction:column;gap:6px;flex:1}
.shopProductBody h4{margin:0;font-size:15px;line-height:1.25}
.shopProductBody p{margin:0;font-size:12.5px}
.shopProductType{font-family:var(--fx-font-ui);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fx-red-hi)}
.shopPrice{margin-top:auto;padding-top:8px;display:grid;gap:3px}
.shopPrice strong{font-family:var(--fx-font-ui);font-size:22px;line-height:1}
.shopPrice s{color:var(--muted);font-size:12.5px}
.tierTag{font-family:var(--fx-font-ui);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tierTag.premium{color:var(--fx-red-hi)}
.shopPremiumHint{all:unset;cursor:pointer;font-size:12px;font-weight:600;color:var(--fx-red-hi);border-left:2px solid var(--fx-red-hi);padding:3px 0 3px 7px;margin-top:3px}
.shopPremiumHint:hover{text-decoration:underline}
.shopAdd{margin-top:8px;width:100%}
.shopCart{position:sticky;top:18px;display:grid;gap:10px}
.cartLine{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--fx-edge);font-size:13px}
.cartLine small{display:block;color:var(--muted)}
.cartLine>div:last-child{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cartRemove{all:unset;cursor:pointer;color:var(--muted);font-size:18px;line-height:1;padding:0 3px}
.cartRemove:hover{color:var(--fx-red-hi)}
.cartTotal{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--fx-font-ui)}
.cartTotal strong{font-size:24px}
.cartSaving{margin:0;font-size:12.5px;color:var(--fx-red-hi)}
.cartSaving.good{color:#12a36b}
.shopCart .btn{width:100%}
@media(max-width:1180px){.shopLayout{grid-template-columns:1fr}.shopCart{position:static;order:-1}}
@media(max-width:760px){.shopHeroVisual{display:none}.shopLayout .shopProductGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shopProductImage{height:150px}.shopProductImage.hasImage img{height:132px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- cantos vivos no resto dos contentores ---- */
.pdEraHead,.setTile,.billingCard,.myCollectionControls,.hero,.wishlistNotice,.wishlistEmpty,.premiumStatus,.premiumHero,.priceBox,.catalogLoading,.shopHero{border-radius:4px!important}
.pdEraHead,.setTile,.billingCard,.priceBox,.wishlistNotice,.wishlistEmpty{border-color:var(--fx-edge)!important}
.setTile{transition:transform .18s,box-shadow .18s,border-color .18s}
.setTile:hover{border-color:var(--fx-edge-strong)!important;box-shadow:0 0 0 1px var(--fx-edge-strong),0 14px 34px var(--fx-glow)!important}
.setLanguageSwitch,.collectionTypeSwitch{border-radius:0!important;border:1px solid var(--fx-edge)!important;background:var(--fx-glass)!important;padding:4px!important;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.setLanguageSwitch button,.collectionTypeSwitch button{font-family:var(--fx-font-ui);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:12px;border-radius:0!important;background:transparent!important;color:var(--muted)!important;box-shadow:none!important}
.setLanguageSwitch button.active,.collectionTypeSwitch button.active{color:var(--text)!important;background:linear-gradient(180deg,rgba(229,56,59,.04),rgba(229,56,59,.16))!important;box-shadow:inset 0 -2px 0 var(--fx-red-hi)!important}
.setProgress{border-radius:0!important;height:5px}
.setProgress>*{background:linear-gradient(90deg,var(--fx-red-deep),var(--fx-red-hi))!important;border-radius:0!important;box-shadow:0 0 10px var(--fx-glow)}
.premiumHero{background:linear-gradient(120deg,#16090c 0%,#2a0b10 55%,#5b0f15 100%)!important;border:1px solid var(--fx-edge-strong)}
.brandTag{white-space:nowrap;letter-spacing:.12em;font-size:9.5px}

/* ---- contraste medido (WCAG AA): vermelho de texto próprio para cada modo ---- */
:root{--fx-red-text:#c1272d;--fg-6b7280:#5d6470}
:root[data-theme="dark"]{--fx-red-text:#ff5c61;--accent:#d7353b}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--fx-red-text:#ff5c61;--accent:#d7353b}}
.eyebrow,.shopProductType,.shopPremiumHint,.cartSaving,.tierTag.premium,.setYear,.appGreeting{color:var(--fx-red-text)!important}
.shopPremiumHint{border-left-color:var(--fx-red-text)}
.fxHero .eyebrow,.premiumHero .eyebrow,.sidebar .eyebrow{color:#ff5c61!important}
.btn.primary{background:linear-gradient(135deg,#cf2a30,#a51c22 60%,#6e0f14)!important}
.wishlistHeart{color:var(--muted)}
.setLogoFallback,.minus{color:var(--muted)!important}
@media(max-width:760px){.mobileBottomNav{grid-template-columns:repeat(6,minmax(0,1fr))!important}.mobileBottomNav>button span{font-size:8.5px!important;letter-spacing:.03em!important}}
