/* =========================================================
   PLAY & CONNECT — Padel International Championship
   sottosito evento (trends.srl/play-connect)
   ========================================================= */

:root{
  --navy: #0a1220;
  --navy-2: #0d1830;
  --green: #4ecf62;
  --blue: #6fd0f2;
  --cream: #f6f8fb;
  --fg-dim: #4a4a4a;
  --display: 'Anton', 'Arial Narrow', sans-serif;
  --sans: 'Barlow', -apple-system, sans-serif;
  --serif: 'Fraunces', 'Georgia', serif;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--cream);color:var(--navy);
  font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
p{margin:0 0 1em;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 6vw;}
.en{font-weight:400;font-style:italic;opacity:.6;font-size:.85em;}

/* ---------- header (fondale scuro stellato, sempre uguale su ogni pagina) ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background-color:#0a1220;
  background-image:
    radial-gradient(1.4px 1.4px at 20px 15px, rgba(255,255,255,.9), transparent 60%),
    radial-gradient(1px 1px at 60px 48px, rgba(255,255,255,.6), transparent 60%),
    radial-gradient(1.4px 1.4px at 104px 22px, rgba(255,255,255,.8), transparent 60%),
    radial-gradient(1px 1px at 142px 62px, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(1.4px 1.4px at 174px 10px, rgba(255,255,255,.75), transparent 60%),
    radial-gradient(1px 1px at 12px 74px, rgba(255,255,255,.5), transparent 60%),
    radial-gradient(1.2px 1.2px at 82px 82px, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(180deg,#0a1220 0%,#0d1830 100%);
  background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,no-repeat;
  background-size:200px 90px,200px 90px,200px 90px,200px 90px,200px 90px,200px 90px,200px 90px,100% 100%;
  padding:.7rem 5vw;
  display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:box-shadow .35s var(--ease);
}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.42);}
.header-logo img{height:88px;width:auto;transition:height .3s var(--ease);filter:drop-shadow(0 3px 10px rgba(0,0,0,.35));}
.header-patronage{height:88px;width:auto;filter:drop-shadow(0 3px 10px rgba(0,0,0,.35));}
.main-nav{display:flex;gap:1.6rem;flex-wrap:wrap;margin-left:auto;}
.main-nav a{
  color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.02em;
  border-bottom:2px solid transparent;padding-bottom:.2rem;
  text-shadow:0 2px 8px rgba(0,0,0,.5);
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.main-nav a:hover{border-color:var(--green);color:var(--green);}
.main-nav a.is-active{color:var(--green);border-color:var(--green);}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:92vh;overflow:hidden;
  display:flex;align-items:center;
  padding:2rem 6vw 5vw;
  margin-top:-1px; /* elimina eventuale filo visibile sotto l'header trasparente */
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(1.15) contrast(1.05);}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(6,10,22,.30) 0%, rgba(6,10,22,.02) 32%, rgba(6,10,22,.14) 100%);
}
.hero-content{position:relative;z-index:2;max-width:640px;transform:translateY(-150px);}
.hero-logo{width:min(560px,72vw);}
.hero-date{
  position:absolute;top:14vh;right:6vw;z-index:2;
  width:min(560px,50vw);
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.4));
}
.hero-video-box{
  position:absolute;right:6vw;bottom:6vh;z-index:2;
  width:min(630px,57vw);
  border:10px solid #14100c;border-radius:2px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  overflow:hidden;
}
.hero-video-box video{width:100%;display:block;}

/* ---------- vantaggi + collage foto (sezione persa, riprodotta) ---------- */
.perks-section{background:#dde9fb;padding:5.5rem 0 8rem;text-align:center;overflow:hidden;}
.perks-serif{
  font-family:var(--serif);font-weight:300;font-style:normal;
  font-size:clamp(1.35rem,3.1vw,2.15rem);color:var(--navy);line-height:1.7;
  max-width:900px;margin:0 auto;
}
.perks-serif strong{font-weight:600;}
.perks-collage{
  position:relative;max-width:920px;margin:4.2rem auto 0;
  height:clamp(280px,32vw,420px);
}
.collage-img{
  position:absolute;top:0;border-radius:14px;object-fit:cover;width:100%;height:100%;
  box-shadow:0 22px 46px rgba(10,18,32,.2);
}
.collage-left{left:12%;width:23%;aspect-ratio:325/317;z-index:1;}
.collage-center{left:27.5%;top:14%;width:44.5%;aspect-ratio:626/417;z-index:3;height:auto;}
.collage-right{left:68%;width:20%;aspect-ratio:281/392;z-index:2;height:auto;}
.collage-left,.collage-right{height:auto;}

/* ---------- intro / vantaggi ---------- */
.intro-band{padding:4.5rem 0 3rem;text-align:center;}
.eyebrow{
  display:block;color:var(--green);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;font-size:.82rem;margin-bottom:.8rem;
}
.giant{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(1.8rem,4.2vw,3rem);color:var(--navy);line-height:1.05;margin:0 0 2rem;
}
.perks{
  display:flex;flex-direction:column;gap:.9rem;
  max-width:640px;margin:0 auto;text-align:left;
}
.perks li{
  font-size:1.05rem;font-weight:600;color:var(--navy);
  padding:.9rem 1.2rem;background:#fff;border-radius:4px;
  border-left:4px solid var(--green);
  box-shadow:0 6px 20px rgba(10,18,32,.06);
}
.perks-en{display:block;font-weight:400;font-style:italic;opacity:.55;font-size:.82em;margin-top:.2em;}

/* ---------- form iscrizione (sfondo foto a tutta sezione) ---------- */
.iscrizioni{position:relative;padding:5.5rem 0 7rem;overflow:hidden;}
.iscrizioni-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.iscrizioni-bg-overlay{display:none;} /* foto al 100% del colore, nessun overlay scuro */
.iscrizioni-grid{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:0 6vw;}
.iscrizioni-photo-logos{
  position:relative;z-index:2;max-width:1180px;margin:3.2rem auto 0;padding:0 6vw;
  display:flex;justify-content:flex-end;align-items:flex-end;gap:2.6rem;
}
.iscrizioni-photo-logos img{height:120px;width:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45));}
.iscrizioni-photo-logos img:last-child{height:96px;}
.reg-form{
  max-width:640px;margin:0;
  background:#fff;border-radius:4px;
  padding:2.6rem 2.4rem;
  box-shadow:0 20px 60px rgba(6,10,22,.4);
}
.form-step{display:none;}
.form-step.is-active{display:block;animation:fadeIn .35s var(--ease);}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

.step-title{
  font-family:var(--display);font-weight:400;text-transform:uppercase;
  color:var(--navy);font-size:1.25rem;margin:0 0 1.6rem;
  border-bottom:3px solid var(--green);padding-bottom:.6rem;
}
.step-title-en{font-family:var(--sans);font-weight:400;font-style:italic;font-size:.65em;opacity:.5;text-transform:none;}
.step-note{
  background:var(--cream);border-left:4px solid var(--blue);
  padding:.9rem 1.1rem;border-radius:3px;font-size:.92rem;margin-bottom:1.6rem;line-height:1.6;
}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem;}
.field-grid .full{grid-column:1 / -1;}
.field{display:flex;flex-direction:column;gap:.4rem;}
.field label{font-size:.82rem;font-weight:600;color:var(--navy);}
.field label .req{color:#d21f2c;}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:.95rem;
  padding:.7em .8em;border:1px solid #d8d3c8;border-radius:3px;
  background:#fff;color:var(--navy);
}
.field input:focus,.field select:focus{outline:none;border-color:var(--blue);}
.field-dob{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;}
.radio-row,.checkbox-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;}
.radio-row label,.checkbox-row{
  display:flex;align-items:center;gap:.5em;font-size:.92rem;font-weight:400;color:var(--fg-dim);
}
.checkbox-row input{margin-top:.15em;}

.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2.2rem;gap:1rem;flex-wrap:wrap;}
.btn{
  font-family:var(--sans);font-weight:700;font-size:.9rem;letter-spacing:.02em;
  padding:.9em 1.8em;border-radius:3px;border:2px solid transparent;cursor:pointer;
  transition:transform .2s var(--ease),background .2s var(--ease);display:inline-block;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:#000;transform:translateY(-1px);}
.btn-ghost{background:transparent;border-color:#c9c3b6;color:var(--navy);}
.btn-ghost:hover{border-color:var(--navy);}
.btn-line{border-color:var(--navy);color:var(--navy);}
.btn-line:hover{background:var(--navy);color:#fff;}
.step-indicator{font-size:.8rem;color:var(--fg-dim);letter-spacing:.05em;}

.form-msg{
  max-width:640px;margin:0 0 1.6rem;padding:1rem 1.4rem;
  border-radius:3px;font-size:.92rem;display:none;
}
.form-msg.is-visible{display:block;}
.form-msg.success{background:#e4f3e6;color:#1f6b2c;border:1px solid #b7ddbb;}
.form-msg.error{background:#fdeaea;color:#a11c1c;border:1px solid #f2b8b8;}

/* ---------- alloggio ---------- */
.accomodation{position:relative;min-height:56vh;display:flex;align-items:center;}
.accomodation-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.accomodation::before{content:"";position:absolute;inset:0;background:rgba(8,12,24,.55);z-index:0;}
.accomodation-card{
  position:relative;z-index:1;background:rgba(255,255,255,.96);
  max-width:520px;margin:3rem 6vw;padding:2.4rem 2.2rem;border-radius:2px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.accomodation-logo{width:140px;margin-bottom:1.2rem;}
.accomodation-card p{color:var(--fg-dim);font-size:.98rem;line-height:1.6;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.7);padding:3rem 6vw 2rem;}
.footer-sponsors-main{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3.2rem;
  padding-bottom:1.8rem;
}
.footer-sponsors-main img{height:58px;width:auto;max-width:220px;object-fit:contain;filter:brightness(0) invert(1);opacity:.95;}
.footer-sponsors{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.2rem;
  padding-bottom:2.4rem;margin-bottom:2.4rem;border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-sponsors img{height:30px;width:auto;max-width:110px;object-fit:contain;filter:brightness(0) invert(1);opacity:.7;}
.footer-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.6rem;}
.footer-brand img{height:92px;width:auto;}
.footer-contact{display:flex;gap:1.6rem;flex-wrap:wrap;}
.footer-contact a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.footer-contact a:hover{color:var(--green);}
.footer-copy{
  margin:2rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.08);
  font-size:.72rem;color:rgba(255,255,255,.45);max-width:70em;
}
.footer-copy a{text-decoration:underline;text-underline-offset:2px;color:rgba(255,255,255,.6);}
.footer-copy a:hover{color:#fff;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .field-grid{grid-template-columns:1fr;}
  .field-dob{grid-template-columns:1fr 1fr 1fr;}
  .hero{min-height:auto;padding-top:2rem;padding-bottom:2rem;flex-direction:column;align-items:flex-start;}
  .hero-content{transform:translateY(-40px);}
  .hero-date{position:static;width:88vw;margin:1.2rem 0;}
  .hero-video-box{position:static;width:88vw;margin:1.2rem 0;}
  .accomodation-card{margin:2rem 5vw;max-width:none;}
  .perks-collage{height:auto;max-width:420px;}
  .collage-img,.collage-left,.collage-center,.collage-right{
    position:static;width:100%;height:auto;margin-bottom:1.2rem;
  }
  .iscrizioni-grid{padding:0 5vw;}
  .reg-form{max-width:none;}
  .iscrizioni-photo-logos{justify-content:center;padding:0 5vw;gap:1.6rem;}
  .iscrizioni-photo-logos img{height:64px;}
  .iscrizioni-photo-logos img:last-child{height:50px;}
}
@media(max-width:640px){
  .main-nav{gap:1rem;font-size:.8rem;}
  .header-patronage{display:none;}
  .header-logo img{height:56px;}
  .hero-logo{width:82vw;}
  .hero-content{transform:translateY(-20px);}
  .form-nav{flex-wrap:wrap;}
  .reg-form{padding:1.8rem 1.4rem;}
  .footer-grid{flex-direction:column;align-items:flex-start;}
  .footer-sponsors-main{gap:1.6rem;}
  .footer-sponsors-main img{height:42px;}
}
