/* FITZONE | Informações legais - componentes isolados */
.fz-legal-bar,.fz-legal-bar *,.fz-legal-aceite,.fz-legal-aceite *{box-sizing:border-box}
.fz-legal-bar{position:relative;z-index:1;width:100%;margin:24px 0 0;padding:19px 20px 22px;border-top:1px solid rgba(163,230,53,.25);background:linear-gradient(90deg,#080d0b,#101c10,#080d0b);text-align:center;font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.65;color:#c2d1bd}
.fz-legal-bar strong{color:#a3e635;letter-spacing:.09em;font-size:12px}
.fz-legal-bar .fz-legal-nav{display:flex;justify-content:center;align-items:center;gap:10px 22px;flex-wrap:wrap;margin-top:7px}
.fz-legal-bar .fz-legal-nav a{color:#e3f4d8;text-decoration:none;font-size:13px;font-weight:650;border-bottom:1px solid transparent}
.fz-legal-bar .fz-legal-nav a:hover{color:#bafa70;border-color:#bafa70}
.fz-legal-bar .fz-legal-nav a:focus-visible,.fz-legal-aceite a:focus-visible{outline:3px solid #c7fa79;outline-offset:4px;border-radius:3px}
.fz-legal-aceite{display:flex;gap:11px;align-items:flex-start;margin:13px 0 18px;padding:14px 15px;background:rgba(163,230,53,.06);border:1px solid rgba(163,230,53,.30);border-radius:13px;color:var(--texto,#f3f9ed);font-size:13px;line-height:1.7}
.fz-legal-aceite input{width:18px;height:18px;min-width:18px;flex-shrink:0;margin:3px 0 0;accent-color:#a3e635;cursor:pointer}
.fz-legal-aceite a{color:var(--verde,#a3e635);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.fz-legal-aceite label{cursor:pointer}
.fz-legal-aceite[hidden]{display:none!important}
.fz-legal-login-nota{font-size:12px!important;line-height:1.7!important;text-align:center;margin:16px 0 0!important;color:var(--cinza,#b6c2af)!important}
.fz-legal-login-nota a{color:var(--verde,#a3e635);text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.fz-legal-bar{padding:18px 12px}.fz-legal-bar .fz-legal-nav{gap:7px 17px}.fz-legal-aceite{padding:12px}}

/* FITZONE | páginas legais — mesma identidade neon da página inicial.
   Estilos isolados para não alterar login, tutorial, cadastro ou outras páginas. */
:root{--fz-bg:#080b09;--fz-panel:#111912;--fz-green:#a3e635;--fz-line:rgba(163,230,53,.28);--fz-muted:#d1dfca;--fz-white:#f4faf0}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body.fz-legal-page{
 margin:0;min-height:100vh;overflow-wrap:break-word;
 background-color:#060b07;
 background-image:linear-gradient(180deg,rgba(4,9,6,.79) 0%,rgba(5,14,7,.87) 38%,rgba(5,11,7,.91) 100%),url('midia/fundo-privacidade-termos-fitzone.webp');
 background-position:center top,center center;background-size:cover,cover;background-attachment:scroll,fixed;
 color:var(--fz-white);font:400 16px/1.78 Inter,'Segoe UI',Arial,sans-serif;
}
body.fz-legal-page *{box-sizing:border-box}
body.fz-legal-page a{color:inherit}
body.fz-legal-page a:focus-visible{outline:3px solid #c4f773;outline-offset:4px;border-radius:5px}
body.fz-legal-page .fz-skip{position:absolute;z-index:100;top:-100px;left:15px;background:#a3e635;color:#17250a;padding:12px 18px;border-radius:10px;font-weight:800}
body.fz-legal-page .fz-skip:focus{top:10px}

/* Cabeçalho: a mesma logo SVG e traços de luz originais do FITZONE. */
.fz-legal-header{
 isolation:isolate;position:relative;overflow:hidden;
 width:calc(100% - 60px);max-width:1460px;min-height:100px;
 margin:14px auto 0;padding:13px 34px;
 display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;gap:18px;
 border:1px solid rgba(112,221,32,.42);border-radius:22px;
 background:radial-gradient(ellipse at 20% 112%,rgba(48,126,18,.20),transparent 32%),radial-gradient(ellipse at 90% 114%,rgba(35,105,17,.17),transparent 30%),linear-gradient(100deg,#070d09,#070c09 52%,#071007);
 box-shadow:0 8px 30px rgba(0,0,0,.35),inset 0 0 25px rgba(42,106,21,.085),0 0 14px rgba(91,211,30,.08);
 transition:border-color .3s ease,box-shadow .3s ease;
}
.fz-legal-header::before{content:"";position:absolute;inset:8px;z-index:0;border:1px solid rgba(94,227,22,.45);border-radius:17px;box-shadow:inset 0 0 11px rgba(75,206,29,.13),0 0 7px rgba(67,204,24,.12);pointer-events:none}
.fz-legal-header::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 38% 25%,rgba(174,255,86,.64) 0 1px,transparent 2.4px),radial-gradient(circle at 69% 78%,rgba(165,255,51,.4) 0 1px,transparent 2.2px),linear-gradient(90deg,transparent 30%,rgba(128,255,51,.24) 53%,transparent 57%);opacity:.56}
.fz-legal-header:hover{border-color:rgba(145,239,46,.65);box-shadow:0 8px 30px rgba(0,0,0,.36),inset 0 0 25px rgba(42,106,21,.09),0 0 19px rgba(91,211,30,.17)}
.fz-legal-header > .fz-legal-brand,.fz-legal-header > nav,.fz-legal-header > .fz-legal-header-balance{position:relative;z-index:2}
.fz-legal-brand{display:inline-flex;align-items:center;justify-content:flex-start;width:fit-content;text-decoration:none!important;flex-shrink:0}
.fz-legal-brand svg{display:block;width:245px;height:auto;max-width:100%;transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 0 2px rgba(163,230,53,.14))}
.fz-legal-brand:hover svg,.fz-legal-brand:focus-visible svg{transform:scale(1.035);filter:drop-shadow(0 0 9px rgba(163,230,53,.38))}
.fz-legal-header nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,25px);flex-wrap:wrap;white-space:nowrap}
.fz-legal-header nav a{font-size:14px;font-weight:750;text-decoration:none;padding:7px 2px;color:#f4f6f1;transition:color .22s ease,text-shadow .22s ease}
.fz-legal-header nav a:hover,.fz-legal-header nav a:focus-visible,.fz-legal-header nav a[aria-current=page]{color:#a3e635;text-shadow:0 0 11px rgba(163,230,53,.45)}
.fz-legal-header-balance{display:block;min-width:0;height:1px;pointer-events:none}
.fz-legal-header .neon-traco{position:absolute;bottom:-31px;z-index:0;width:350px;height:151px;overflow:visible;pointer-events:none;opacity:.87;animation:fz-legal-respirar 7s ease-in-out infinite alternate}
.fz-legal-header .neon-traco.esquerda{left:clamp(205px,20%,275px)}
.fz-legal-header .neon-traco.direita{right:72px;transform:scaleX(-1);animation-delay:-3.5s}
.fz-legal-header .neon-traco path{fill:none;stroke-linecap:round}
.fz-legal-header .neon-traco .traco-halo{stroke:#55ff13;stroke-width:12;opacity:.34;filter:blur(11px)}
.fz-legal-header .neon-traco .traco-externo{stroke:#3bdc13;stroke-width:2;opacity:.56;filter:drop-shadow(0 0 6px #57ff18)}
.fz-legal-header .neon-traco .traco-nucleo{stroke:#b6ff67;stroke-width:2.6;opacity:.95;filter:drop-shadow(0 0 4px #69ff11) drop-shadow(0 0 7px #59f20f)}
.fz-legal-header .neon-traco .traco-paralelo{stroke:#56d825;stroke-width:1.4;opacity:.55}
@keyframes fz-legal-respirar{from{opacity:.68}to{opacity:.94}}

/* Mesma imagem nas duas páginas, com máscara escura para preservar a leitura. */
.fz-legal-hero{
 position:relative;isolation:isolate;overflow:hidden;
 max-width:1320px;margin:23px auto 0;padding:clamp(37px,5vw,68px) clamp(25px,5vw,70px);
 border:1px solid rgba(163,230,53,.38);border-radius:25px;
 background:linear-gradient(98deg,rgba(3,12,7,.91) 0%,rgba(5,22,8,.67) 58%,rgba(4,15,6,.53) 100%),url('midia/fundo-privacidade-termos-fitzone.webp') center/cover;
 box-shadow:0 18px 48px rgba(0,0,0,.4),inset 0 0 28px rgba(38,120,20,.09);
 transition:border-color .28s ease,box-shadow .28s ease;
}
.fz-legal-hero::after{content:'';position:absolute;inset:10px;border:1px solid rgba(163,230,53,.12);border-radius:18px;pointer-events:none}
.fz-legal-hero:hover{border-color:rgba(172,255,78,.85);box-shadow:0 18px 48px rgba(0,0,0,.4),0 0 23px rgba(122,255,40,.23),inset 0 0 30px rgba(73,156,25,.13)}
.fz-legal-eyebrow{display:inline-block;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.17em;color:#c5ff80}
.fz-legal-hero h1{font-size:clamp(35px,4.8vw,62px);font-weight:900;letter-spacing:-1.55px;line-height:1.13;margin:15px 0 20px;max-width:950px}
.fz-legal-hero h1 em{color:#a3e635;font-style:normal}
.fz-legal-hero p{font-size:17px;line-height:1.75;max-width:800px;color:#edf6e9;margin:0 0 18px}
.fz-legal-meta{font-size:13px!important;line-height:1.65!important;color:#c0dbaa!important;border-top:1px solid rgba(163,230,53,.25);padding-top:16px;margin-top:19px!important}

/* Tipografia de leitura: 16px (antes 14px), espaçamento e cartões proporcionais. */
.fz-legal-layout{max-width:1320px;margin:32px auto 74px;padding:0 16px;display:grid;grid-template-columns:270px minmax(0,1fr);align-items:start;gap:25px}
.fz-legal-index{position:sticky;top:22px;padding:24px 21px;border:1px solid var(--fz-line);border-radius:20px;background:rgba(11,24,13,.96);box-shadow:0 10px 28px rgba(0,0,0,.21);transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease}
.fz-legal-index h2{font-size:14px;letter-spacing:.12em;color:#bffa80;text-transform:uppercase;margin:0 0 15px}
.fz-legal-index ol{margin:0;padding-left:21px;display:grid;gap:7px}
.fz-legal-index a{color:#e0efda!important;text-decoration:none;font-size:14px;line-height:1.55;display:inline-block;padding:3px 0}
.fz-legal-index a:hover{color:#b6ef62!important;text-decoration:underline;text-underline-offset:4px}
.fz-legal-content{display:grid;gap:18px;min-width:0}
.fz-legal-card{
 background:linear-gradient(120deg,rgba(15,30,17,.97),rgba(9,19,12,.97));
 padding:clamp(23px,2.7vw,35px);border:1px solid var(--fz-line);border-radius:20px;
 box-shadow:0 8px 30px rgba(0,0,0,.23);scroll-margin-top:24px;
 transition:border-color .26s ease,box-shadow .28s ease,transform .28s ease;
}
.fz-legal-card:hover,.fz-legal-card:focus-within,.fz-legal-index:hover,.fz-legal-index:focus-within{
 border-color:rgba(164,245,65,.83);
 box-shadow:0 11px 34px rgba(0,0,0,.28),0 0 20px rgba(123,248,45,.19),inset 0 0 16px rgba(74,170,30,.07);
 transform:translateY(-2px);
}
.fz-legal-card h2{font-size:clamp(22px,2.3vw,27px);line-height:1.32;margin:0 0 15px;letter-spacing:-.3px;color:#f1ffe9}
.fz-legal-card h2 .fz-num{font-size:13px;font-weight:900;letter-spacing:0;color:#a3e635;background:rgba(163,230,53,.1);border:1px solid rgba(163,230,53,.32);border-radius:50%;width:37px;height:37px;display:inline-grid;place-items:center;vertical-align:4px;margin-right:10px}
.fz-legal-card p{margin:0 0 15px;color:#dce9d8;font-size:16px;line-height:1.84}
.fz-legal-card p:last-child{margin-bottom:0}
.fz-legal-card ul{padding-left:24px;margin:9px 0;color:#dce9d8;font-size:16px;line-height:1.85}
.fz-legal-card li{margin-bottom:10px}
.fz-legal-card a{color:#c1ff81!important;text-underline-offset:4px}
.fz-legal-note{background:rgba(163,230,53,.075);border-left:3px solid #a3e635;padding:15px 19px;border-radius:0 12px 12px 0!important}
.fz-legal-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:19px}
.fz-legal-cta a{display:inline-block;padding:11px 18px;border:1px solid #a3e635;border-radius:11px;text-decoration:none;font-size:14px;font-weight:800;background:#a3e635;color:#172309!important;transition:filter .2s ease,box-shadow .2s ease}
.fz-legal-cta a.outline{background:transparent;color:#b8f36d!important}
.fz-legal-cta a:hover{filter:brightness(1.08);box-shadow:0 0 15px rgba(163,230,53,.22)}
.fz-legal-ends{margin:0 auto 30px;max-width:1250px;text-align:center;font-size:14px;line-height:1.7;color:#c1d3ba;padding:0 18px}
.fz-legal-page .fz-legal-bar{margin-top:0}
@media(max-width:1080px){
 .fz-legal-header{grid-template-columns:1fr;justify-items:center;padding:17px 22px;gap:9px}
 .fz-legal-header nav{justify-content:center}
 .fz-legal-header-balance{display:none}
 .fz-legal-header .neon-traco.direita{right:-36px}
}
@media(max-width:800px){
 .fz-legal-header{width:calc(100% - 22px);margin:10px auto 0;padding:16px;gap:10px}
 .fz-legal-brand svg{width:clamp(182px,37vw,225px)}
 .fz-legal-header nav{gap:7px 18px}
 .fz-legal-header nav a{font-size:14px;padding:7px 2px}
 .fz-legal-hero{margin:14px 11px 0;padding:32px 24px}
 .fz-legal-layout{grid-template-columns:1fr;margin-top:23px;gap:19px}
 .fz-legal-index{position:static}
 .fz-legal-index ol{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:7px 18px}
 body.fz-legal-page{background-attachment:scroll,scroll}
}
@media(max-width:480px){
 .fz-legal-header nav{gap:5px 13px}
 .fz-legal-header nav a{font-size:13.5px}
 .fz-legal-index ol{grid-template-columns:1fr}
 .fz-legal-card{padding:23px 20px}
 .fz-legal-card h2{font-size:22px}
 .fz-legal-hero h1{font-size:clamp(32px,8.6vw,42px);letter-spacing:-.8px}
 .fz-legal-hero p{font-size:16px}
 .fz-legal-card p,.fz-legal-card ul{font-size:15.5px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .fz-legal-header .neon-traco{animation:none!important}
 .fz-legal-card,.fz-legal-index,.fz-legal-hero,.fz-legal-header,.fz-legal-brand svg{transition:none!important}
 .fz-legal-card:hover,.fz-legal-index:hover{transform:none}
}
