/* Fioravanta HERO V2 â€“ tema luminoso. Titoli e immagini rimangono dinamici in ASP. */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Nunito:wght@400;600;700;800&display=swap');

.fioravanta-layout > .fioravanta-hero.jumbotron {
  position:relative; isolation:isolate; display:flex; align-items:center;
  min-height:460px; width:100%; padding:56px 6%;
  margin:20px 0 32px; border:0; overflow:hidden;
  border-radius:22px; background-color:#e9e7e5;
  background-size:cover; background-position:center center; background-repeat:no-repeat;
}
/* Non scurire tutta la fotografia: schiaritura locale solo dietro al testo. */
.fioravanta-layout > .fioravanta-hero.jumbotron::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,
    rgba(255,255,255,.93) 0%, rgba(255,255,255,.80) 29%,
    rgba(255,255,255,.42) 53%, rgba(255,255,255,.02) 78%);
}
.fioravanta-hero-content { position:relative; z-index:1; max-width:690px; width:100%; }
.fioravanta-hero .fioravanta-hero-title {
  display:block; max-width:690px; margin:0 0 12px;
  font-family:'Caveat','Segoe Print',cursive !important;
  font-size:clamp(48px,5.6vw,78px) !important;
  line-height:.98 !important; letter-spacing:-.018em; font-weight:700;
  color:#1b3158 !important;
  text-shadow:0 2px 0 rgba(255,255,255,.96), 0 0 22px rgba(255,255,255,.98), 0 0 42px rgba(255,255,255,.9);
}
/* Due colori senza modificare il testo ASP: sfumatura sull'unico H1 semantico. */
@supports (-webkit-background-clip:text) {
  .fioravanta-hero .fioravanta-hero-title {
    background-image:linear-gradient(105deg,#172f57 0%,#172f57 35%,#008f8d 80%,#008f8d 100%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 1px 1px rgba(255,255,255,.75));
  }
}
.fioravanta-hero .fioravanta-hero-subtitle {
  color:#263c59 !important; max-width:580px;
  font:600 clamp(15px,1.6vw,19px)/1.5 'Nunito',Arial,sans-serif !important;
  text-shadow:0 0 14px rgba(255,255,255,.95);
  margin:12px 0 24px;
}
.fioravanta-hero-subtitle:empty {display:none}
.fioravanta-hero-actions {display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.fioravanta-hero .fioravanta-hero-btn {
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  width:auto !important; min-height:54px; margin:0 !important;
  padding:12px 23px !important; border:2px solid #fff !important;
  border-radius:100px !important; color:#fff !important;
  font:800 16px/1.25 'Nunito',Arial,sans-serif !important;
  text-decoration:none !important;
  box-shadow:0 5px 18px rgba(34,31,52,.18),0 0 0 1px rgba(255,255,255,.25);
  transition:transform .2s ease, box-shadow .2s ease;
}
.fioravanta-hero .fioravanta-hero-btn::before {
  content:""; width:21px; height:21px; display:inline-block; flex:0 0 21px;
  background-position:center; background-repeat:no-repeat; background-size:contain;
}
.fioravanta-hero .fioravanta-hero-primary {background:#85009c !important}
.fioravanta-hero .fioravanta-hero-secondary {background:#008f89 !important}
.fioravanta-hero .fioravanta-hero-primary::before {
  background-image:url('/assets/icons/fioravanta-calendar.svg');
}
.fioravanta-hero .fioravanta-hero-secondary::before {
  background-image:url('/assets/icons/fioravanta-info.svg');
}
.fioravanta-hero .fioravanta-hero-btn:hover,
.fioravanta-hero .fioravanta-hero-btn:focus-visible {
  transform:translateY(-2px); color:#fff !important;
  box-shadow:0 8px 24px rgba(34,31,52,.26),0 0 0 2px #fff;
}
@media(max-width:767px){
  .fioravanta-layout > .fioravanta-hero.jumbotron {
    min-height:420px; padding:34px 20px; margin:12px 0 26px;
    border-radius:17px; background-position:center center;
  }
  .fioravanta-layout > .fioravanta-hero.jumbotron::before {
    background:linear-gradient(90deg,rgba(255,255,255,.87),rgba(255,255,255,.58) 73%,rgba(255,255,255,.15));
  }
  .fioravanta-hero .fioravanta-hero-title {font-size:clamp(47px,12vw,66px) !important;line-height:1 !important}
  .fioravanta-hero .fioravanta-hero-subtitle {font-size:15px !important}
  .fioravanta-hero-actions {flex-direction:column; align-items:stretch;gap:12px}
  .fioravanta-hero .fioravanta-hero-btn {width:100% !important;font-size:15px !important;min-height:53px}
}
@media(prefers-reduced-motion:reduce){.fioravanta-hero .fioravanta-hero-btn{transition:none}}/* HERO V6 CORREZIONI DEFINITIVE */
.fioravanta-layout > .fioravanta-hero.jumbotron { display:flex!important; flex-direction:column!important; justify-content:flex-end!important; align-items:stretch!important; min-height:350px!important; height:auto!important; padding:24px 6% 26px!important; }
.fioravanta-layout > .fioravanta-hero.jumbotron::before, .fioravanta-hero-content::before { display:none!important; content:none!important; }
.fioravanta-layout .fioravanta-hero-content { position:relative!important; inset:auto!important; transform:none!important; margin:auto 0 0!important; padding:0!important; width:100%!important; max-width:750px!important; background:transparent!important; box-shadow:none!important; filter:none!important; }
.fioravanta-layout .fioravanta-hero .fioravanta-hero-title { margin:0 0 12px!important; color:#173b70!important; background-image:linear-gradient(105deg,#173b70,#078f8e)!important; -webkit-background-clip:text!important; background-clip:text!important; -webkit-text-fill-color:transparent!important; -webkit-text-stroke:.5px rgba(255,255,255,.85)!important; text-shadow:none!important; filter:drop-shadow(0 1px 2px rgba(255,255,255,.9)) drop-shadow(0 0 3px rgba(255,255,255,.65))!important; }
.fioravanta-layout .fioravanta-hero-actions { margin:0!important; padding:0!important; }
@media(max-width:767px) { .fioravanta-layout > .fioravanta-hero.jumbotron { min-height:350px!important; padding:20px 20px 24px!important; } .fioravanta-layout .fioravanta-hero-content { margin:auto 0 0!important; } }
