/* Pagine interne (Termini e Condizioni / Privacy) — stesso fondo scuro
   e stessi font del sito, impaginazione a card chiare per la leggibilità
   di testi lunghi. */

.page-hero{
  position:relative;overflow:hidden;
  background-color:var(--navy);
  background-size:cover;background-position:50% 40%;background-repeat:no-repeat;
  padding:clamp(50px,8vw,90px) 0 clamp(34px,5vw,54px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.page-hero-fade{
  position:absolute;inset:0;z-index:0;
  background:linear-gradient(160deg, rgba(6,13,24,.82), rgba(13,28,51,.88));
}
.page-hero .wrap{
  position:relative;z-index:1;
  display:flex;align-items:center;gap:clamp(22px,3.5vw,40px);flex-wrap:wrap;
}
.page-hero-logo{display:block;margin:0;width:clamp(150px,15vw,200px);flex:none;}
.page-hero-logo img{width:100%;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,.55));transition:transform .2s ease;}
.page-hero-logo:hover img{transform:scale(1.08);}
.page-hero-text{flex:1;min-width:220px;}
.page-hero .eyebrow{
  display:block;color:var(--gold);font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;font-size:.85rem;margin-bottom:.6em;
}
.page-hero h1{
  font-family:var(--display);text-transform:uppercase;margin:0;
  font-size:clamp(2rem,5vw,3.1rem);letter-spacing:.02em;line-height:1.05;
}
.page-hero .sub{color:var(--fg-dim);margin:.9em 0 0;font-size:1.02rem;max-width:640px;}

.page-body{padding:clamp(34px,5vw,58px) 0 clamp(50px,7vw,80px);}
.page-body .wrap{max-width:840px;}
.page-card{
  background:linear-gradient(150deg,#fdfbf4,#e9e4d6);color:var(--ink);
  border-radius:6px;padding:clamp(20px,3vw,30px) clamp(22px,3vw,34px);
  margin-bottom:1.4rem;box-shadow:0 16px 40px rgba(0,0,0,.3);
}
.page-card h2{margin:0 0 .6em;font-size:1.08rem;font-weight:800;}
.page-card p{margin:0 0 .9em;font-size:.95rem;line-height:1.6;}
.page-card p:last-child{margin-bottom:0;}
.page-card ul{margin:0 0 .9em;padding-left:1.2em;font-size:.95rem;line-height:1.6;}
.page-card ul:last-child{margin-bottom:0;}
.page-card a{color:#1b3f8f;}
.page-updated{color:var(--fg-dimmer);font-size:.8rem;margin-top:1.6rem;}

/* ---------- pagina iscrizione ---------- */
.iscrizione-section{
  position:relative;
  padding:clamp(30px,5vw,50px) 0 clamp(60px,8vw,90px);
  background-image:linear-gradient(180deg, rgba(6,13,24,.87), rgba(6,13,24,.94)), url('../assets/img/background.jpg');
  background-size:cover;background-position:50% 15%;background-repeat:no-repeat;background-attachment:fixed;
}
@media(max-width:860px){.iscrizione-section{background-attachment:scroll;}}
.iscrizione-grid{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,48px);align-items:start;
}
@media(max-width:860px){.iscrizione-grid{grid-template-columns:1fr;}}
.iscrizione-side h2{font-family:var(--display);text-transform:uppercase;font-size:1.3rem;margin:0 0 .3em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.iscrizione-side .amt{font-size:1.6rem;font-weight:700;margin:0 0 1.4em;text-shadow:0 2px 10px rgba(0,0,0,.55);}
.iscrizione-side h3{font-family:var(--display);text-transform:uppercase;font-size:1.05rem;margin:1.4em 0 .5em;color:var(--gold);text-shadow:0 2px 8px rgba(0,0,0,.5);}
.iscrizione-side ul{list-style:none;margin:0;padding:0;font-size:.92rem;line-height:1.6;color:var(--fg-dim);text-shadow:0 1px 6px rgba(0,0,0,.5);}
.iscrizione-side ul li{margin-bottom:.4em;}
.iscrizione-side em{display:block;font-style:italic;color:var(--fg-dimmer);font-size:.85em;}

.reg-form{
  background:linear-gradient(150deg, rgba(253,251,244,.9), rgba(233,228,214,.9));
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:var(--ink);
  border-radius:8px;padding:clamp(24px,3.5vw,38px);box-shadow:0 22px 50px rgba(0,0,0,.45);
}
.reg-form h3.step-title{font-family:var(--display);text-transform:uppercase;font-size:1.4rem;margin:0 0 1.1em;}
.form-step{display:none;}
.form-step.is-active{display:block;}
.field{margin-bottom:1.1em;}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.4em;}
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field select{
  width:100%;padding:.7em .8em;border:1px solid #cfc9b8;border-radius:4px;font:inherit;font-size:.95rem;
  background:#fff;color:var(--ink);
}
.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8em;}
.field-row .field{margin-bottom:0;}
.checkline{display:flex;align-items:flex-start;gap:.6em;margin-bottom:1em;font-size:.92rem;cursor:pointer;}
.checkline input{margin-top:.2em;}
.conditional-field{margin:.6em 0 1.1em 1.9em;display:none;}
.conditional-field.is-visible{display:block;}
.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.6em;gap:1em;flex-wrap:wrap;}
.step-indicator{font-size:.82rem;color:#6b6656;}
.btn{
  display:inline-block;border:none;border-radius:4px;padding:.75em 1.5em;font-weight:700;font-size:.92rem;
  cursor:pointer;font-family:var(--sans);
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:#0d1c33;}
.btn-ghost{background:transparent;color:var(--navy);border:1px solid #b8b19c;}
.btn-ghost:hover{background:rgba(0,0,0,.05);}

.cost-summary{background:#fff;border:1px solid #dcd6c4;border-radius:6px;padding:1.2em 1.4em;margin-bottom:1.4em;font-size:.94rem;line-height:1.7;}
.cost-summary ul{margin:.4em 0 .8em;padding-left:1.2em;}
.cost-total{border-top:1px dashed #b8b19c;margin-top:.8em;padding-top:.8em;font-weight:800;font-size:1.05rem;text-align:right;}

.form-msg{padding:.9em 1.1em;border-radius:5px;margin-top:1.2em;font-size:.9rem;display:none;}
.form-msg.is-visible{display:block;}
.form-msg.success{background:#e4f6e8;color:#1c6b32;border:1px solid #a9dfb8;}
.form-msg.error{background:#fde8e6;color:#a3281c;border:1px solid #f3b7b0;}
