/* ===== HERO (minimo) ===== */
.hero-broker-legacy{
  position:relative;
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding:64px 18px 70px;
  background:#051121; color:#cfe1ff; overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
}
@media (min-width:992px){ .hero-broker-legacy{ padding:84px 22px 90px; } }
.hero-broker-legacy .hb-inner{ position:relative; z-index:3; max-width:1100px; margin:0 auto; text-align:center; }
.hb-eyebrow{ margin:0 0 6px; font-weight:800; font-size:clamp(16px,2.4vw,22px); color:#2962ff; letter-spacing:.2px; }
.hb-title{ margin:4px 0 14px; font-weight:900; line-height:1.05; font-size:clamp(34px,7vw,58px); color:#ffd23c; text-transform:uppercase; text-shadow:0 2px 0 rgba(0,0,0,.2); }
.hb-sub{ margin:0 auto 22px; max-width:760px; color:#e5edf8; font-size:clamp(14px,1.6vw,18px); line-height:1.6; }
.hb-sub strong{ color:#fff; font-weight:800; }
.hb-cta{ display:inline-block; padding:12px 22px; border-radius:999px; font-weight:800; text-decoration:none; font-size:16px; color:#fff;
  background:linear-gradient(135deg,#ff7e23 0%, #ff4d4f 50%, #ff2aa3 100%);
  box-shadow:0 10px 24px rgba(255,77,79,.28), 0 4px 10px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.12); transition:transform .15s ease, filter .15s ease;
}
.hb-cta:hover{ transform:translateY(-1px); filter:brightness(1.03); }

/* Griglia “trading floor” */
.hero-broker-legacy .hb-grid{
  position:absolute; inset:0; z-index:1; opacity:.22;
  background-image:
    repeating-linear-gradient(to right, rgba(255,255,255,.065) 0, rgba(255,255,255,.065) 1px, transparent 1px, transparent 96px),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.065) 0, rgba(255,255,255,.065) 1px, transparent 1px, transparent 96px);
  filter:saturate(.95);
}

/* Layer dei “pannelli” rosso/verde (pattern di tracking) */
.hero-broker-legacy .hb-pattern3d{
  position:absolute; inset:0; z-index:2; pointer-events:none; transform-style:preserve-3d; overflow:hidden;
}
/* === Pannelli rosso/verde con PATTERN interni === */
.hb-panel{
  position:absolute; top:0; border-radius:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.45), inset 0 0 24px rgba(255,255,255,.08);
  transform-style:preserve-3d; will-change:transform;
  opacity: var(--opa, .58);                /* un po’ più visibili */
  overflow:hidden;                         /* serve per il pattern interno */
  animation: slideRight var(--dur,42s) linear infinite,
             floatY 3.8s ease-in-out infinite;
  transform:
    translateX(var(--x,-120vw)) translateY(var(--y,0)) translateZ(var(--z,0))
    rotateY(var(--ry,-14deg));
}

/* riflesso lucido */
.hb-panel::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(120deg, rgba(255,255,255,.22), rgba(255,255,255,0) 45%);
  transform:translateZ(1px); mix-blend-mode:screen; opacity:.55; pointer-events:none;
}

/* tinte base */
.hb-panel.green{
  background:linear-gradient(180deg,#19ffa3 0%, #0bbf76 50%, #067a4d 100%);
  border:1px solid rgba(10,255,170,.25);
}
.hb-panel.red{
  background:linear-gradient(180deg,#ff6b6b 0%, #e84545 50%, #9d2727 100%);
  border:1px solid rgba(255,100,100,.25);
}

/* Pattern dei pannelli generato inline dal runtime JS. */
@keyframes slideRight{
  from{ transform: translateX(-160vw) translateY(var(--y)) translateZ(var(--z)) rotateY(var(--ry)); }
  to  { transform: translateX( 160vw) translateY(var(--y)) translateZ(var(--z)) rotateY(var(--ry)); }
}
@keyframes floatY{
  0%,100%{ transform: translateX(var(--x)) translateY(calc(var(--y) - 6px)) translateZ(var(--z)) rotateY(var(--ry)); }
  50%    { transform: translateX(var(--x)) translateY(calc(var(--y) + 6px)) translateZ(var(--z)) rotateY(var(--ry)); }
}

/* ===== Grafico “live” verde/rosso ===== */
.hero-broker-legacy .hb-line{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.95; }
.hb-livechart{ position:absolute; left:0; bottom:8%; width:100%; height:48%; }
.hb-livechart path{ fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.hb-livechart .up   { stroke:#19ffa3; stroke-width:2.6; filter:drop-shadow(0 2px 8px rgba(25,255,163,.18)); }
.hb-livechart .down { stroke:#ff6b6b; stroke-width:2.6; filter:drop-shadow(0 2px 8px rgba(255,107,107,.18)); }
.hb-livechart .fill { fill:url(#hbGradientFill); opacity:.12; }

@media (max-width:768px){ .hb-livechart{ height:40%; bottom:10%; } }

/* Motion-safe */
@media (prefers-reduced-motion:reduce){
  .hb-panel{ animation:none; }
  .hb-livechart{ display:none; }
}

/* ===== POPUP / CONFRONTO (come prima) ===== */
.mbv-risk-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);display:none;justify-content:center;align-items:center;z-index:10000}
.mbv-risk-popup{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.3);max-width:420px;width:90%;padding:25px 30px 30px;position:relative}
.mbv-risk-popup h2,.mbv-risk-popup h3{text-align:center;color:#007bff;margin-bottom:12px;font-weight:800}
.mbv-risk-desc{text-align:center;color:#bbb;font-size:14px;margin-bottom:18px}
.mbv-risk-form{display:flex;flex-direction:column;gap:12px}
.mbv-risk-form label{font-size:14px;font-weight:600;color:#333;display:flex;flex-direction:column}
.mbv-risk-form input{padding:8px 10px;border:1px solid #ccc;border-radius:8px;margin-top:4px;font-size:14px}
.mbv-risk-calc-btn,.mbv-risk-btn{margin-top:10px;background:linear-gradient(90deg,#4caf50,#2e7d32);color:#fff;border:none;border-radius:10px;font-weight:700;padding:10px 20px;cursor:pointer}
.mbv-risk-btn{background:linear-gradient(90deg,#ff9800,#ff5722)}
.mbv-risk-result{margin-top:16px;font-size:15px;color:#222;font-weight:600;background:#f8f9fa;border-radius:10px;padding:12px}
.mbv-risk-close{position:absolute;top:10px;right:15px;background:transparent;border:none;font-size:22px;color:#888;cursor:pointer}
.mbv-compare-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:99999}
.mbv-compare-popup{background:#fff;border-radius:12px;padding:20px;max-width:800px;width:90%;box-shadow:0 10px 30px rgba(0,0,0,.4);position:relative}
.mbv-compare-popup h3{text-align:center;margin-top:0;color:#007bff}
.mbv-compare-close{position:absolute;top:10px;right:15px;font-size:20px;background:none;border:none;cursor:pointer}
.mbv-compare-now-btn{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#007bff;color:#fff;border:none;border-radius:30px;padding:12px 28px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.3);z-index:9999}
.mbv-compare-scroll{overflow-x:auto;overflow-y:hidden;margin-top:15px;padding-bottom:5px;-webkit-overflow-scrolling:touch;position:relative}
.mbv-compare-table{min-width:750px;border-collapse:collapse;font-size:15px;background:#fff;border-radius:10px;overflow:hidden}
.mbv-compare-table th,.mbv-compare-table td{padding:12px 10px;border:1px solid #ddd;text-align:center;white-space:nowrap}
.mbv-compare-table th{background:#007bff;color:#fff;font-weight:700;font-size:15px;position:sticky;top:0;z-index:1}
.mbv-compare-table td.logo-cell img{width:50px;height:50px;object-fit:contain;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.mbv-compare-table a.mbv-btnPromo{display:inline-block;background:linear-gradient(90deg,#4e73df,#1cc88a);color:#fff;padding:6px 12px;font-size:13px;font-weight:600;border-radius:6px;text-decoration:none}

/* ✅ Fullscreen dettagli: contenuto edge-to-edge (niente padding/ombre/bordi) */
.promo-popup.fullscreen{
  background: transparent !important;
}
.promo-popup.fullscreen .popup-inner{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Se il tema aggiunge padding al contenitore interno, azzeralo */
.promo-popup.fullscreen .popup-inner > *{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Regola valida conservata dal vecchio blocco duplicato: evita flash visivi durante l apertura dettaglio. */
body.ecp-detail-opening-shield:before{content:"";position:fixed;inset:0;z-index:2147483644;background:#06101f;pointer-events:none!important;}
