/* =========================================================
   Pagina della videolezione - stile arena sui colori di Irene.
   Stesso foglio usato dal blocco Elementor in
   Projects/Irene Summa/deliverables/pagina-vsl-elementor.html
   ========================================================= */

body.fdv-body { background: #14001c; margin: 0; }

#fdv{
  --fdv-bg:#14001c; --fdv-panel:#1e0429; --fdv-line:rgba(255,255,255,.10);
  --fdv-purple:#AB46CF; --fdv-purple-deep:#6A1188; --fdv-gold:#E2AE0B;
  --fdv-muted:rgba(255,255,255,.62); --fdv-gutter:24px;
  background:var(--fdv-bg); color:rgba(255,255,255,.78);
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
#fdv *,#fdv *::before,#fdv *::after{box-sizing:border-box}
#fdv p{margin:0 0 18px}
#fdv p:last-child{margin-bottom:0}
#fdv img{max-width:100%;height:auto;display:block}
#fdv .fdv-wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--fdv-gutter)}
#fdv .fdv-narrow{max-width:880px}

/* blocchi che compaiono con il timer */
#fdv:not(.fdv-open) .fdv-gated{display:none!important}
#fdv.fdv-open .fdv-pre{display:none!important}
#fdv.fdv-open .fdv-gated{animation:fdv-appare .7s ease both}
@keyframes fdv-appare{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* topbar */
#fdv .fdv-topbar{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px var(--fdv-gutter);background:rgba(20,0,28,.86);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--fdv-line);
}
#fdv .fdv-brand{font-weight:800;font-size:16px;color:#fff;line-height:1.1}
#fdv .fdv-brand em{
  display:block;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--fdv-purple);margin-top:3px;
}

/* bottoni */
#fdv .fdv-btn{
  display:inline-block;background:var(--fdv-gold);color:#2b0338;font-family:inherit;font-weight:800;
  font-size:15px;padding:14px 28px;border:0;border-radius:100px;cursor:pointer;text-decoration:none;
  transition:transform .2s ease,background .2s ease;box-shadow:0 10px 30px rgba(226,174,11,.25);
}
#fdv .fdv-btn:hover{background:#f2bd15;transform:translateY(-2px);color:#2b0338;text-decoration:none}
#fdv .fdv-btn-sm{padding:10px 20px;font-size:13px;box-shadow:none}
#fdv .fdv-btn-block{display:block;width:100%}
#fdv .fdv-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:none}
#fdv .fdv-btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}

/* hero */
#fdv .fdv-hero{position:relative;padding:60px 0 74px;overflow:hidden}
#fdv .fdv-lights{
  position:absolute;inset:-20% -10% auto -10%;height:620px;pointer-events:none;filter:blur(6px);
  background:radial-gradient(closest-side,rgba(171,70,207,.35),transparent 70%) 20% 0/60% 100% no-repeat,
             radial-gradient(closest-side,rgba(226,174,11,.16),transparent 70%) 82% 12%/46% 90% no-repeat;
}
#fdv .fdv-hero .fdv-wrap{position:relative;z-index:2;text-align:center}
#fdv .fdv-kicker{color:rgba(255,255,255,.8);font-style:italic;font-weight:600;margin-bottom:14px}
#fdv .fdv-h1{
  font-size:clamp(26px,3.6vw,42px);line-height:1.16;font-weight:800;color:#fff;
  letter-spacing:-.02em;margin:0 auto 18px;max-width:940px;
}
#fdv .fdv-h1 span{color:var(--fdv-gold)}
#fdv .fdv-sub{color:var(--fdv-muted);font-size:17px;max-width:700px;margin:0 auto 22px}
#fdv .fdv-sub strong{color:#fff}
#fdv .fdv-claims{list-style:none;margin:0 auto 30px;padding:0;display:inline-block;text-align:left}
#fdv .fdv-claims li{position:relative;padding-left:30px;margin-bottom:8px;color:#fff;font-weight:500}
#fdv .fdv-claims li::before{
  content:"";position:absolute;left:0;top:9px;width:16px;height:9px;
  border-left:3px solid var(--fdv-gold);border-bottom:3px solid var(--fdv-gold);transform:rotate(-45deg);
}

/* player */
#fdv .fdv-player-glow{
  max-width:900px;margin:0 auto;padding:10px;border-radius:18px;
  background:linear-gradient(140deg,rgba(171,70,207,.5),rgba(226,174,11,.28));
  box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 60px rgba(171,70,207,.22);
}
#fdv .fdv-player{
  position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;
}
#fdv .fdv-player wistia-player{position:absolute;inset:0;display:block;width:100%;height:100%}
#fdv .fdv-player wistia-player::part(video){width:100%;height:100%;object-fit:cover}

/* countdown */
#fdv .fdv-countdown{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px;flex-wrap:wrap}
#fdv.fdv-open .fdv-countdown{display:none}
#fdv .fdv-countdown-label{
  font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--fdv-muted);
}
#fdv .fdv-countdown-time{
  font-size:30px;font-weight:800;letter-spacing:.08em;color:#fff;border:2px solid var(--fdv-gold);
  border-radius:10px;padding:4px 18px;background:rgba(226,174,11,.12);
  box-shadow:0 0 28px rgba(226,174,11,.25);font-variant-numeric:tabular-nums;min-width:120px;text-align:center;
}
#fdv .fdv-notice{margin-top:28px}
#fdv .fdv-notice-sub{color:var(--fdv-muted);font-size:15px;margin:14px 0 0}
#fdv .fdv-btn-lg{padding:17px 38px;font-size:17px}
#fdv .fdv-arrow{display:inline-block;animation:fdv-giu 1.4s ease-in-out infinite}
@keyframes fdv-giu{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* sezioni */
#fdv .fdv-section{padding:70px 0;border-top:1px solid var(--fdv-line)}
#fdv .fdv-section-alt{background:var(--fdv-panel)}
#fdv .fdv-eyebrow{
  font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fdv-muted);margin-bottom:14px;
}
#fdv .fdv-eyebrow b{color:var(--fdv-gold);margin-right:10px}
#fdv .fdv-h2{
  font-size:clamp(23px,2.9vw,32px);line-height:1.22;font-weight:800;color:#fff;
  letter-spacing:-.02em;margin:0 0 26px;
}
#fdv .fdv-h3{font-size:20px;font-weight:800;color:#fff;margin:30px 0 14px}
#fdv .fdv-lead{color:var(--fdv-muted);max-width:720px;margin-bottom:32px}
#fdv .fdv-strong{color:#fff;font-weight:700}
#fdv .fdv-list{list-style:none;margin:0 0 22px;padding:0}
#fdv .fdv-list li{position:relative;padding-left:34px;margin-bottom:16px;color:rgba(255,255,255,.82)}
#fdv .fdv-list li strong{color:#fff}
#fdv .fdv-list li::before{
  content:"";position:absolute;left:0;top:9px;width:18px;height:9px;
  border-left:3px solid var(--fdv-gold);border-bottom:3px solid var(--fdv-gold);transform:rotate(-45deg);
}
#fdv .fdv-list-cross li::before{
  width:14px;height:14px;border:0;transform:none;top:8px;
  background:linear-gradient(45deg,transparent 43%,#ff8f7d 43%,#ff8f7d 57%,transparent 57%),
             linear-gradient(-45deg,transparent 43%,#ff8f7d 43%,#ff8f7d 57%,transparent 57%);
}
#fdv .fdv-cta-inline{margin-top:32px;text-align:center}
#fdv [id]{scroll-margin-top:90px}

/* bio */
#fdv .fdv-bio{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}
#fdv .fdv-bio-photo img{
  border-radius:14px;border:1px solid var(--fdv-line);aspect-ratio:4/5;object-fit:cover;object-position:top center;
}

/* fatti sulla call */
#fdv .fdv-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:32px}
#fdv .fdv-fact{background:rgba(255,255,255,.03);border:1px solid var(--fdv-line);border-radius:12px;padding:20px}
#fdv .fdv-fact strong{display:block;color:var(--fdv-gold);font-size:17px;margin-bottom:4px}
#fdv .fdv-fact span{font-size:14px;color:var(--fdv-muted)}

/* calendario */
#fdv .fdv-booking{background:#fff;border-radius:14px;padding:12px;box-shadow:0 30px 70px rgba(0,0,0,.5)}
#fdv .fdv-booking iframe{width:100%;min-height:460px;border:0;display:block}
#fdv .fdv-fallback{text-align:center;margin-top:32px}
#fdv .fdv-fallback p{color:var(--fdv-muted);margin-bottom:14px}

/* footer */
#fdv .fdv-footer{
  border-top:1px solid var(--fdv-line);padding:26px var(--fdv-gutter);text-align:center;
  font-size:12.5px;color:rgba(255,255,255,.5);
}
#fdv .fdv-footer p{margin:0 0 6px}
#fdv .fdv-footer a{color:rgba(255,255,255,.75);text-decoration:underline}
#fdv .fdv-footer a:hover{color:var(--fdv-gold)}

/* ===== pop-up ===== */
#fdv .fdv-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
#fdv .fdv-modal[hidden]{display:none}
#fdv .fdv-modal-overlay{position:absolute;inset:0;background:rgba(8,0,12,.78);backdrop-filter:blur(4px)}
#fdv .fdv-modal-card{
  position:relative;z-index:2;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;
  background:#1e0429;border:1px solid var(--fdv-line);border-radius:16px;padding:34px 30px;
  box-shadow:0 40px 90px rgba(0,0,0,.6);animation:fdv-appare .35s ease both;
}
#fdv .fdv-modal-close{
  position:absolute;top:12px;right:14px;background:transparent;border:0;color:rgba(255,255,255,.6);
  font-size:30px;line-height:1;cursor:pointer;padding:4px 8px;
}
#fdv .fdv-modal-close:hover{color:#fff}
#fdv .fdv-modal-card h3{font-size:22px;font-weight:800;color:#fff;margin:0 0 6px}
#fdv .fdv-modal-sub{color:var(--fdv-muted);font-size:15px;margin-bottom:20px}
#fdv .fdv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
#fdv input[type=text],#fdv input[type=email],#fdv input[type=tel],#fdv select,#fdv textarea{
  width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;
  padding:13px 16px;color:#fff;font-family:inherit;font-size:15px;outline:none;
}
#fdv textarea{margin-bottom:12px;resize:vertical}
#fdv input::placeholder,#fdv textarea::placeholder{color:rgba(255,255,255,.45)}
#fdv select{color:rgba(255,255,255,.75)}
#fdv select option{background:#1e0429;color:#fff}
#fdv input:focus,#fdv select:focus,#fdv textarea:focus{border-color:var(--fdv-gold)}
#fdv .fdv-privacy{
  display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--fdv-muted);
  margin-bottom:18px;line-height:1.55;
}
#fdv .fdv-privacy input{margin-top:4px}
#fdv .fdv-privacy a{color:var(--fdv-gold);text-decoration:underline}
#fdv .fdv-msg{font-size:14px;font-weight:600;margin:14px 0 0}
#fdv .fdv-msg-ok{color:#6fe3a1}
#fdv .fdv-msg-ko{color:#ff8f7d}


/* scheda del modulo di candidatura (pagina Inizia da qui) */
#fdv .fdv-form-card{
  background:rgba(255,255,255,.04);border:1px solid var(--fdv-line);border-radius:16px;
  padding:34px 30px;max-width:820px;
}
#fdv .fdv-form-card h3{font-size:22px;font-weight:800;color:#fff;margin:0 0 6px}
#fdv .fdv-form-sub{color:var(--fdv-muted);font-size:15px;margin-bottom:22px}
@media(max-width:640px){
  #fdv .fdv-form-card{padding:24px 18px}
  #fdv .fdv-form-card h3{font-size:19px}
}

/* mobile */
@media(max-width:991px){
  #fdv .fdv-bio{grid-template-columns:1fr;gap:26px}
  #fdv .fdv-bio-photo{max-width:340px}
  #fdv .fdv-facts{grid-template-columns:1fr}
}
@media(max-width:640px){
  #fdv{font-size:16px}
  /* su mobile il video deve entrare nella prima schermata: tutto piu compatto */
  #fdv .fdv-topbar{padding:10px var(--fdv-gutter)}
  #fdv .fdv-hero{padding:20px 0 44px}
  #fdv .fdv-kicker{font-size:14px;margin-bottom:10px}
  #fdv .fdv-h1{font-size:20px;line-height:1.24;margin-bottom:12px}
  #fdv .fdv-sub{font-size:15px;margin-bottom:14px}
  #fdv .fdv-claims{margin-bottom:18px}
  #fdv .fdv-claims li{font-size:14px;margin-bottom:6px}
  #fdv .fdv-claims li::before{top:8px;width:14px;height:8px}
  #fdv .fdv-countdown{margin-top:18px}
  #fdv .fdv-section{padding:52px 0}
  #fdv .fdv-player-glow{padding:6px;border-radius:14px}
  #fdv .fdv-countdown-time{font-size:26px;min-width:104px}
  #fdv .fdv-grid2{grid-template-columns:1fr}
  #fdv .fdv-modal-card{padding:26px 20px}
  #fdv .fdv-btn{width:100%;text-align:center}
  #fdv .fdv-btn-sm{width:auto}
  #fdv .fdv-brand{font-size:14px}
}
