/* ============================================================= */
/* LP CALLEGARI 48 — stili landing page (template lp-callegari)   */
/* Asset in: ../../img/lp-callegari/                              */
/* ============================================================= */

/* ===== NORD (fallback: il tema li carica già globalmente) ===== */
@font-face { font-family:"NORD"; font-weight:400; font-style:normal; font-display:swap; src:url(/wp-content/uploads/2025/12/NORD-Regular.woff2) format("woff2"); }
@font-face { font-family:"NORD"; font-weight:500; font-style:normal; font-display:swap; src:url(/wp-content/uploads/2025/12/NORD-Medium.woff2) format("woff2"); }
@font-face { font-family:"NORD"; font-weight:700; font-style:normal; font-display:swap; src:url(/wp-content/uploads/2025/12/NORD-Bold.woff2) format("woff2"); }
@font-face { font-family:"NORD Book"; font-weight:400; font-style:normal; font-display:swap; src:url(/wp-content/uploads/2025/12/NORD-Book.woff2) format("woff2"); }

/* ===== Tokens ===== */
.lpc-page{
  --bianco:#ffffff;
  --grigio1:#738292;
  --grigio2:#8b949a;
  --blu-navi:#1b2432;
  --rosso:#ea4335;
  --font-head:"NORD",sans-serif;
  --font-head-book:"NORD Book",sans-serif;
  --font-body:"Space Grotesk",sans-serif;
  background:var(--blu-navi);
  color:var(--bianco);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}
.lpc-page *,.lpc-page *::before,.lpc-page *::after{box-sizing:border-box;}
.lpc-page img{display:block;max-width:100%;}
.lpc-page button{font-family:inherit;cursor:pointer;}
.lpc-page a{color:inherit;text-decoration:none;}

/* ======================================================= */
/* SECTION 1 — HERO                                         */
/* ======================================================= */
.lpc-hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 clamp(16px,4.16vw,80px) clamp(40px,4.16vw,80px);
  overflow:hidden;
  isolation:isolate;
}
.lpc-hero__bg{
  position:absolute;inset:0;z-index:-2;
  background:url(../../img/lp-callegari/hero-bg.jpg) center/cover no-repeat;
}
.lpc-hero__overlay{
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(27,36,50,0.34) 0%,var(--blu-navi) 71.4%);
}

/* Header bar */
.lpc-header{
  position:absolute;top:0;left:0;width:100%;z-index:3;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
  padding:16px clamp(16px,4.16vw,80px);
  background:rgba(255,255,255,0.05);
  box-shadow:0 8px 24px 0 rgba(0,0,0,0.24);
  backdrop-filter:blur(4px);
}
.lpc-header__logo{width:164px;height:auto;flex-shrink:0;}
.lpc-header__logo img{width:100%;height:auto;}

/* Bottone glass */
.lpc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:20px 24px;
  border:1px solid var(--grigio2);
  border-radius:43px;
  background:linear-gradient(90deg,rgba(79,103,127,0.4) 0%,rgba(79,103,127,0) 100%);
  color:var(--bianco);
  font-family:var(--font-head);font-weight:500;font-size:14px;line-height:1.2;
  letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;
  transition:background .3s ease,border-color .3s ease;
}
.lpc-btn:hover{background:linear-gradient(90deg,rgba(79,103,127,0.7) 0%,rgba(79,103,127,0.15) 100%);border-color:var(--bianco);}
.lpc-btn__icon{width:24px;height:24px;flex-shrink:0;}
.lpc-btn__icon img{width:100%;height:100%;transform:rotate(90deg);filter:brightness(0) invert(1);}
.lpc-btn--full{width:100%;}

/* CTA header — riusa .animated-button del sito (css/button.css),
   solo ritocchi di dimensione per stare nell'header */
.lpc-header__cta{flex-shrink:0;}
.lpc-header__cta .animated-button{
  --pad:20px 36px;
  font-size:14px;
  text-transform:uppercase;
  white-space:nowrap;
}
@media (max-width:1024px){
  .lpc-header__cta .animated-button{
    --pad:14px 28px !important;
    width:auto;
    font-size:12px;
  }
}
.lpc-hero__inner{
  position:relative;z-index:1;
  width:100%;max-width:1360px;
  display:flex;gap:48px;align-items:center;
  padding-top:120px;
}
.lpc-hero__left{
  flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;gap:clamp(40px,4vw,80px);
}

/* Titoli */
.lpc-hero__titles{display:flex;flex-direction:column;gap:24px;}
.lpc-hero__h1{
  font-family:var(--font-head);font-weight:400;
  font-size:clamp(40px,3.75vw,72px);line-height:1.2;letter-spacing:-1.44px;
  color:var(--bianco);
}
.lpc-hero__h2{
  font-family:var(--font-head-book);font-weight:400;
  font-size:clamp(30px,2.5vw,48px);line-height:1.2;
  background:linear-gradient(90deg,var(--bianco) 16.7%,rgba(255,255,255,0.63) 83%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  width:fit-content;
}
.lpc-hero__lead{
  font-family:var(--font-body);font-weight:400;
  font-size:clamp(16px,1.04vw,20px);line-height:1.5;color:var(--bianco);max-width:560px;
}
.lpc-hero__lead b{font-weight:700;}

/* Card eventi */
.lpc-events{display:flex;flex-wrap:wrap;gap:24px;}
.lpc-event{
  flex:1 1 240px;
  display:flex;flex-direction:column;
  border-radius:24px;overflow:hidden;
  background:linear-gradient(180deg,#bec5d5 0%,#fefefe 100%);
}
.lpc-event__img{height:140px;width:100%;object-fit:cover;}
.lpc-event__body{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:24px;text-align:center;
}
.lpc-event__place{font-family:var(--font-body);font-size:20px;line-height:1.5;color:var(--blu-navi);}
.lpc-event__place b{font-weight:700;}
.lpc-event__date{
  display:inline-flex;align-items:center;justify-content:center;
  height:32px;padding:0 16px;border-radius:47px;
  background:var(--blu-navi);
  font-family:var(--font-body);font-weight:700;font-size:18px;line-height:1.49;color:var(--bianco);
}

/* Form */
.lpc-form-card{
  flex:0 0 658px;max-width:658px;
  background:rgba(255,255,255,0.08);
  border-radius:24px;padding:40px;
  backdrop-filter:blur(2px);
}
.lpc-form-placeholder{
  font-family:var(--font-body);font-size:16px;line-height:1.5;
  color:var(--grigio2);text-align:center;padding:40px 0;
}
.lpc-form-placeholder code{font-family:monospace;color:var(--bianco);}
.lpc-form{display:flex;flex-direction:column;gap:48px;}
.lpc-form__fields{display:flex;flex-direction:column;gap:24px;}
.lpc-form__row{display:flex;gap:24px;}
.lpc-form__row .lpc-field{flex:1 1 0;min-width:0;}
.lpc-field{display:flex;flex-direction:column;gap:4px;}
.lpc-field__label{
  display:inline-flex;gap:2px;align-items:flex-start;
  font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--bianco);
}
.lpc-field__label .req{color:var(--rosso);font-size:14px;line-height:20px;font-weight:500;}
.lpc-field input,
.lpc-field select{
  width:100%;
  background:transparent;border:none;border-bottom:1px solid var(--grigio2);
  padding:4px 8px;
  font-family:var(--font-body);font-size:clamp(16px,1.14vw,22px);line-height:1.49;color:var(--bianco);
  outline:none;
  appearance:none;-webkit-appearance:none;
}
.lpc-field input::placeholder{color:var(--grigio2);}
.lpc-field select{color:var(--grigio2);}
.lpc-field select option{color:var(--blu-navi);}
.lpc-field input:focus,
.lpc-field select:focus{border-bottom-color:var(--bianco);}
.lpc-field--select{position:relative;}
.lpc-field--select .lpc-chevron{
  position:absolute;right:8px;bottom:10px;width:20px;height:20px;pointer-events:none;
  filter:brightness(0) invert(1);opacity:.7;
}

/* Radio */
.lpc-radiogroup{display:flex;flex-direction:column;gap:16px;}
.lpc-radios{display:flex;gap:24px;}
.lpc-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--bianco);}
.lpc-radio input{
  appearance:none;-webkit-appearance:none;margin:0;
  width:20px;height:20px;border:1px solid var(--grigio2);border-radius:50%;
  position:relative;flex-shrink:0;cursor:pointer;
}
.lpc-radio input:checked{border-color:var(--bianco);}
.lpc-radio input:checked::after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:var(--bianco);
}

/* Checkbox */
.lpc-checkbox{display:flex;gap:12px;align-items:flex-start;}
.lpc-checkbox input{
  appearance:none;-webkit-appearance:none;margin:2px 0 0;
  width:20px;height:20px;border:1px solid #d0d5dd;border-radius:6px;
  flex-shrink:0;cursor:pointer;position:relative;background:transparent;
}
.lpc-checkbox input:checked{background:var(--bianco);border-color:var(--bianco);}
.lpc-checkbox input:checked::after{
  content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;
  border:solid var(--blu-navi);border-width:0 2px 2px 0;transform:rotate(45deg);
}
.lpc-checkbox__text{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--bianco);}
.lpc-checkbox__text a{text-decoration:underline;}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .lpc-hero__inner{flex-direction:column;align-items:stretch;gap:56px;padding-top:110px;}
  .lpc-form-card{flex:1 1 auto;max-width:none;width:100%;}
}
@media (max-width:600px){
  .lpc-header__logo{width:130px;}
  .lpc-btn{padding:14px 18px;font-size:12px;}
  .lpc-form-card{padding:24px;}
  .lpc-form__row{flex-direction:column;gap:24px;}
  .lpc-form,.lpc-form__fields{gap:32px;}
}
