
.landing-body{background:radial-gradient(circle at 80% 3%,#0d376f 0,transparent 28%),#050e1f}
.landing-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #18355c;background:#061127e8;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
.landing-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white}.landing-brand img{width:48px;height:48px;border-radius:13px}.landing-brand b{display:block;letter-spacing:1.4px}.landing-brand small{color:#7f9bc0}
.landing-nav{display:flex;gap:28px}.landing-nav a,.landing-footer a{color:#9ab1cf;text-decoration:none;font-size:14px}.landing-nav a:hover{color:white}
/* V65.3 — oro "luccicante" (gradiente animato + glow), al posto del colore senape piatto */
.tr-gold-text,.landing-nav-gold a{
  font-weight:800;letter-spacing:.01em;
  background:linear-gradient(100deg,#9a7418 0%,#f9e08a 16%,#fff8e0 30%,#e2a927 45%,#fffbe8 58%,#c6901a 72%,#ffeec0 86%,#9a7418 100%);
  background-size:240% 100%;background-position:0% 50%;
  -webkit-background-clip:text;background-clip:text;color:#e2a927;-webkit-text-fill-color:transparent;
  text-shadow:0 0 16px rgba(255,217,120,.3);
  animation:trGoldShine 6s linear infinite;
  transition:text-shadow .3s ease;
}
.landing-nav-gold a:hover{text-shadow:0 0 22px rgba(255,224,140,.65),0 0 6px rgba(255,246,212,.7);animation-duration:1.6s}
@keyframes trGoldShine{0%{background-position:0% 50%}100%{background-position:240% 50%}}
@media (prefers-reduced-motion: reduce){.tr-gold-text,.landing-nav-gold a{animation:none}}
.auth-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;padding:11px 17px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#1688ff,#2b5cff);color:white;box-shadow:0 8px 30px #1688ff2c}.btn.secondary{background:#0e2447;border-color:#235288;color:white}.btn.ghost{border-color:#23436b;color:#dceaff;background:#0a1730}.btn.large{padding:14px 22px}.btn.full{width:100%}
/* V65.21 — chi è già loggato vede queste due scorciatoie al posto di Accedi/Registrati
   (vedi renderAuthActions() in auth-role.js): profilo e app, non più link di autenticazione.
   Richiesta utente: niente più "quadratino"/sfondo intorno all'omino — resta trasparente,
   si vede solo il colore della pagina dietro — e l'icona app è il logo TR col pallone al
   posto dell'emoji casa. */
.landing-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:transparent;border:0;color:#dceaff;text-decoration:none;font-size:22px;line-height:1;transition:transform .15s,opacity .15s}
.landing-icon-btn:hover{transform:translateY(-1px);opacity:.8}
.landing-icon-btn img{width:36px;height:36px;object-fit:cover;border-radius:10px}
.landing-hero{width:min(1180px,92vw);margin:auto;min-height:670px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}.hero-copy h1{font-size:clamp(48px,6vw,78px);line-height:.98;margin:15px 0 20px;letter-spacing:-3px}.hero-copy h1 span{color:#51c9ff}.hero-copy p{font-size:19px;line-height:1.65;color:#91a8c8;max-width:720px}.hero-actions{display:flex;gap:12px;margin:28px 0 20px}.hero-trust{display:flex;gap:20px;color:#83a5ca;font-size:13px;flex-wrap:wrap}
.hero-visual{position:relative;min-height:490px;display:grid;place-items:center}.hero-logo{width:330px;z-index:2;border-radius:50%;filter:drop-shadow(0 0 38px #1688ff55)}.glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#1c7bff3b,transparent 65%);filter:blur(5px)}.floating-card{position:absolute;z-index:3;background:#0b1c38e8;border:1px solid #275a96;border-radius:15px;padding:13px 17px;box-shadow:0 15px 45px #0008}.floating-card span{display:block;color:#8aa4c7;font-size:11px}.floating-card strong{font-size:25px;color:#5ed2ff}.fc1{left:0;top:100px}.fc2{right:0;bottom:110px}.fc3{left:35px;bottom:45px}
.metrics-strip{width:min(1180px,92vw);margin:0 auto 50px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #18385f;border-radius:18px;background:#091832}.metrics-strip div{padding:25px;border-right:1px solid #18385f}.metrics-strip div:last-child{border-right:0}.metrics-strip strong{display:block;font-size:30px;color:#5dcfff}.metrics-strip span{color:#829cbf;font-size:13px}
.landing-section{width:min(1180px,92vw);margin:0 auto;padding:95px 0}.section-title{text-align:center;max-width:700px;margin:0 auto 45px}.section-title h2,.split h2,.cta-box h2{font-size:clamp(36px,4vw,56px);line-height:1.04;margin:10px 0 14px}.section-title p,.lead,.cta-box p{color:#8fa7c7;font-size:17px;line-height:1.6}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:linear-gradient(145deg,#0a1a34,#0a1730);border:1px solid #18385f;border-radius:18px;padding:25px;min-height:210px}.feature-card .icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#12376b;color:#61d1ff;font-size:22px}.feature-card h3{font-size:20px}.feature-card p{color:#87a0c1;line-height:1.55}
.process-section{border-top:1px solid #112b50;border-bottom:1px solid #112b50}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{background:#08172f;border:1px solid #17365b;border-radius:16px;padding:22px}.step span{color:#4ecbff;font-size:12px;font-weight:900}.step h3{margin:14px 0 8px}.step p{color:#819abd}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.market-panel{border:1px solid #1b3d67;background:#091a35;border-radius:20px;padding:12px}.market-panel div{display:flex;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid #18365c}.market-panel div:last-child{border-bottom:0}.market-panel span{color:#5fd1ff;font-weight:900}.market-panel b{color:#d9e9ff;text-align:right}
.cta-box{text-align:center;background:radial-gradient(circle at top,#154c9160,transparent 48%),#091932;border:1px solid #1b4170;border-radius:26px;padding:70px 28px}.cta-box div{display:flex;gap:12px;justify-content:center;margin-top:25px}
.landing-footer{width:min(1180px,92vw);margin:auto;border-top:1px solid #17355a;padding:35px 0 45px;display:flex;align-items:center;justify-content:space-between;gap:20px}.landing-footer p{color:#718bab;font-size:12px}.landing-footer>div:last-child{display:flex;gap:18px}
.auth-body{min-height:100vh;background:radial-gradient(circle at 50% 0,#123f7a 0,transparent 33%),#050e1f;padding:25px}.auth-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;font-size:15px;letter-spacing:1.4px}.auth-logo img{width:46px;height:46px;border-radius:12px}.auth-shell{min-height:calc(100vh - 90px);display:grid;place-items:center}.auth-card{width:min(470px,94vw);background:#091a34;border:1px solid #1a3d67;border-radius:24px;padding:34px;box-shadow:0 25px 70px #0007}.auth-card h1{font-size:34px;margin:9px 0}.auth-card>p{color:#8fa6c6}.auth-card form{display:grid;gap:15px;margin-top:25px}.auth-card label{font-size:13px;color:#b4c5db;font-weight:700}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{display:block;width:100%;margin-top:7px;background:#061328;border:1px solid #21446e;color:white;padding:13px 14px;border-radius:10px;outline:none}.auth-card input:focus{border-color:#2995ff}.form-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.form-row a,.auth-bottom a{color:#4fc9ff;text-decoration:none}.check{display:flex!important;align-items:center;gap:8px}.check input{margin:0}.auth-bottom{text-align:center;color:#849dbc;font-size:13px;margin-top:22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:900px){.landing-nav{display:none}.landing-hero{grid-template-columns:1fr;min-height:auto;padding:90px 0 40px}.hero-visual{min-height:390px}.feature-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:35px}.metrics-strip{grid-template-columns:1fr 1fr}.metrics-strip div:nth-child(2){border-right:0}.landing-footer{flex-direction:column;text-align:center}.auth-actions .ghost{display:none}}
@media(max-width:600px){.landing-header{padding:0 4vw}.landing-brand small{display:none}.landing-hero{padding-top:60px}.hero-copy h1{font-size:48px;letter-spacing:-2px}.hero-visual{display:none}.feature-grid,.steps,.metrics-strip{grid-template-columns:1fr}.metrics-strip div{border-right:0;border-bottom:1px solid #18385f}.metrics-strip div:last-child{border-bottom:0}.cta-box div,.hero-actions{flex-direction:column}.two-col{grid-template-columns:1fr}}

/* V65.1 — RECENSIONI (homepage) */
.reviews-summary{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;color:#dce7f5}
.reviews-avg-stars{color:#ffcf4d;letter-spacing:2px;font-size:18px}
.reviews-summary b{font-size:18px}
.reviews-summary small{color:#8fa7c7}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}
.review-card{background:linear-gradient(145deg,#0a1a34,#0a1730);border:1px solid #18385f;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px}
.review-card .review-stars{color:#ffcf4d;letter-spacing:2px;font-size:16px}
.review-card p{color:#c3d4ec;line-height:1.55;flex:1;word-break:break-word}
.review-author{color:#7fa8ce;font-size:12.5px;font-weight:700}
.reviews-empty{text-align:center;color:#7fa0c4;grid-column:1/-1}
.reviews-form-wrap{display:flex;justify-content:center}
.reviews-form-box{width:min(560px,100%);background:#091a35;border:1px solid #1b4170;border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:14px}
.review-stars-picker{display:flex;gap:6px;font-size:28px}
.review-star-btn{background:none;border:0;color:#24456f;cursor:pointer;padding:0;line-height:1;transition:color .1s}
.review-star-btn.active{color:#ffcf4d}
.reviews-form-box textarea{width:100%;min-height:110px;resize:vertical;background:#061328;border:1px solid #21446e;color:white;padding:13px 14px;border-radius:10px;outline:none;font:inherit}
.reviews-form-box textarea:focus{border-color:#2995ff}
.review-form-error{color:#ff9aa4;font-size:12.5px;min-height:14px}
.review-status{align-self:flex-start;font-size:11.5px;font-weight:800;letter-spacing:.3px;padding:5px 10px;border-radius:999px}
.review-status.pending{background:#2a230a;color:#ffd978;border:1px solid #d8a822}
.review-status.ok{background:#072318;color:#8fe8b0;border:1px solid #1d6843}
.review-status.bad{background:#2b0c13;color:#ff9aa4;border:1px solid #803946}
.reviews-login-cta{text-align:center;color:#8fa7c7;display:flex;flex-direction:column;gap:14px;align-items:center}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.reviews-form-box{padding:20px}}

/* V55 — messaggi di stato e toggle visibilità nei form di autenticazione
   (registrazione, login, recupero/reset password). */
.hidden{display:none}
/* V57 — .auth-card form{display:grid} (classe+elemento) ha specificita' CSS piu' alta
   di .hidden da sola (solo classe): senza questa riga il form 'password dimenticata'
   restava visibile insieme al login anche con class="hidden" applicata da JS. */
.auth-card form.hidden{display:none}
.auth-msg{font-size:12.5px;line-height:1.5;padding:11px 13px;border-radius:10px;background:#0e2447;border:1px solid #235288;color:#cfe3fb}
.auth-msg.ok{background:#072318;border-color:#1d6843;color:#8fe8b0}
.auth-msg.error{background:#2b0c13;border-color:#803946;color:#ff9aa4}

/* V65.21 — grafico animato (Mercati) + variante "barre" (Più dati. Meno rumore.), al posto
   del vecchio riquadro statico Gol/Corner/BTTS e per dare un'immagine anche alla sezione About,
   incolonnata nella stessa posizione di split (colonna destra) così le due compaiono allineate. */
.market-visual{border:1px solid #1b3d67;background:#091a35;border-radius:20px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.mc-svg{width:100%;height:auto;display:block}
.mc-line{fill:none;stroke:#5dcfff;stroke-width:3;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:mcDraw 3.4s ease-in-out infinite alternate;filter:drop-shadow(0 0 6px #5dcfff88)}
.mc-area{opacity:.9}
.mc-dot{fill:#5dcfff;filter:drop-shadow(0 0 5px #5dcfff);animation:mcPulse 2.2s ease-in-out infinite}
.mc-dot:nth-child(4){animation-delay:.3s}.mc-dot:nth-child(5){animation-delay:.6s}
.mc-ball{font-size:20px}
.mc-caption{color:#7fa0c4;font-size:12.5px;text-align:center}
@keyframes mcDraw{0%{stroke-dashoffset:900}60%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes mcPulse{0%,100%{opacity:.55;r:4}50%{opacity:1;r:5.5}}
.ab-bar{fill:#5dcfff;opacity:.85;animation:abGrow 2.6s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 100%}
.ab-bar:nth-child(1){animation-delay:0s}
.ab-bar:nth-child(2){animation-delay:.2s}
.ab-bar:nth-child(3){animation-delay:.4s}
.ab-bar:nth-child(4){animation-delay:.6s}
.ab-bar:nth-child(5){animation-delay:.8s}
.ab-label{fill:#7fa0c4;font-size:11px;text-anchor:middle}
@keyframes abGrow{0%{transform:scaleY(.72);opacity:.65}100%{transform:scaleY(1);opacity:1}}
@media (prefers-reduced-motion: reduce){.mc-line,.mc-dot,.ab-bar{animation:none}.mc-line{stroke-dashoffset:0}}

/* V65.21 — sezione "SEGUICI SUI SOCIAL" (home), card con link admin-editabile */
.social-section.hidden{display:none}
.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.social-card{background:linear-gradient(145deg,#0a1a34,#0a1730);border:1px solid #18385f;border-radius:18px;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.social-card-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:#12376b;font-size:26px}
.social-card h3{font-size:19px}
@media(max-width:900px){.social-grid{grid-template-columns:1fr}}

/* V65.21 — footer: Privacy/Termini aprono la modale info, Contatti apre un menù a tendina
   con Email/Telegram/Whatsapp inseriti dall'Admin. */
.footer-links{display:flex;gap:18px;align-items:center;position:relative}
.footer-contacts-wrap{position:relative}
.footer-contacts-menu{position:absolute;bottom:calc(100% + 10px);right:0;min-width:220px;background:#0a1a34;border:1px solid #235288;border-radius:14px;padding:10px;box-shadow:0 20px 50px #000a;display:flex;flex-direction:column;gap:4px;z-index:30}
.footer-contacts-menu.hidden{display:none}
.footer-contacts-menu a{display:block;padding:9px 11px;border-radius:9px;color:#dceaff;text-decoration:none;font-size:13.5px;white-space:nowrap}
.footer-contacts-menu a:hover{background:#12254a}
.footer-contacts-empty{display:block;padding:9px 11px;color:#7f9bc0;font-size:12.5px}

/* V65.21 — modale centrale chiudibile (Privacy / Termini / Cos'è il Trading Sportivo) */
.info-modal{position:fixed;inset:0;z-index:999;background:#010713d9;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}
.info-modal.hidden{display:none}
.info-modal-dialog{width:min(620px,96vw);max-height:86vh;overflow:auto;background:#091a35;border:1px solid #1b4170;border-radius:20px;padding:34px;position:relative;box-shadow:0 30px 80px #000b}
.info-modal-dialog h2{margin:8px 0 14px}
.info-modal-dialog p{color:#b9cbe4;line-height:1.65;margin:0 0 14px}
.info-modal-dialog h3{margin:22px 0 10px;font-size:17px}
.info-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:10px;border:1px solid #23436b;background:#0a1730;color:#dceaff;font-size:19px;cursor:pointer;line-height:1}
.info-modal-close:hover{background:#12254a}
.info-bullets{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:14px}
.info-bullets li{display:flex;flex-direction:column;gap:3px;border-left:3px solid #2995ff;padding:4px 0 4px 14px}
.info-bullets b{color:#dceaff}
.info-bullets span{color:#9bb3d1;font-size:14px;line-height:1.5}
.info-callout{background:#0e2447;border:1px solid #235288;border-radius:14px;padding:16px 18px;margin:18px 0}
.info-callout b{color:#ffcf4d}
.info-callout p{margin:6px 0 0;color:#cfe3fb}
.info-terms-link{margin-top:14px}
.info-terms-link a{color:#4fc9ff;font-size:13px;text-decoration:none}
@media(max-width:600px){.footer-links{flex-wrap:wrap;justify-content:center}.footer-contacts-menu{right:auto;left:0}}

