/* BDS Verona WebKit - 1.5A Commit2 */
*{margin:0;padding:0;box-sizing:border-box}

:root {

/*==================================================
  PALETTE
==================================================*/
  --primary: #2C6FA3;
  --primary-dark: #21547E;
  --secondary: #2C6FA3;
  --footer: #A7DCF1;
  
    --accent: #B67A1E;
    --accent-dark: #8F5E12;

  --text: #444444;
  --muted: #666666;

   /*--------------------------------------------------
      SUPERFICI
    --------------------------------------------------*/
  --white: #FFFFFF;
  --surface: #FFFFFF;
 /* --light: #EEF6FC;*/
  --light: #BAE4F4;
  --surface-alt: #E5F1FA;

    /*--------------------------------------------------
      BORDI
    --------------------------------------------------*/
  --border: #D9E5EF;

      /*--------------------------------------------------
      COMPONENTI
    --------------------------------------------------*/

    --radius: 16px;

    --shadow:
        0 4px 14px rgba(0,0,0,.05);

  --header: 92px;
  --logo: 72px;
  --container: 1180px;

  --transition: 0.25s ease;
  
    --shadow-hover:
        0 10px 28px rgba(0,0,0,.10);
}

html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--text);line-height:1.6;background:var(--surface)}a{color:inherit}.container{width:min(var(--container),92%);margin:auto}.narrow{max-width:820px}.section{padding:76px 0}.section-light{background:var(--light)}h1{color: var(--primary);font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.1}h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1rem}p{margin-bottom:1rem}.site-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.03)}.site-header:after{content:"";display:block;height:4px;background:var(--primary)}.header-container{height:var(--header);display:flex;align-items:center;gap:28px}.logo{display:flex;align-items:center;gap:16px;text-decoration:none;flex-shrink:0}.logo img{height:var(--logo);width:auto}.logo-title{display:block;font-size:1.35rem;font-weight:800;color:var(--secondary);line-height:1.05}.logo-subtitle{display:block;color:var(--text);font-weight:600}.main-nav{margin-left:auto}.main-nav>ul{display:flex;align-items:center;gap:10px;list-style:none}.main-nav li{position:relative}.main-nav a{display:block;text-decoration:none;color:var(--text);font-weight:600;padding:14px 10px}.main-nav a:hover,.main-nav a.active{color:var(--primary)}.has-submenu{display:flex;align-items:center}.submenu-toggle{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem;padding:8px;border-radius:50%;transition:var(--transition)}.submenu-toggle:hover{background:var(--light);color:var(--primary)}.submenu{position:absolute;top:100%;left:0;min-width:245px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--transition);z-index:2000}.submenu a{padding:11px 18px;font-size:.95rem}.submenu a:hover{background:var(--light)}.has-submenu:hover>.submenu,.has-submenu.open>.submenu{opacity:1;visibility:visible;transform:translateY(0)}.btn-primary,.btn-secondary,.btn-outline,.btn-hero{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;border-radius:999px;transition:var(--transition)}.btn-primary{background:var(--primary);border:2px solid var(--primary);color:#fff;padding:12px 22px;white-space:nowrap}.btn-primary:hover,.btn-hero:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline{background:transparent;border:2px solid var(--primary);color:var(--primary);padding:12px 22px;white-space:nowrap}.btn-outline:hover{background:var(--primary);color:#fff}.btn-secondary{background:#fff;border:2px solid var(--primary);color:var(--primary);padding:10px 20px}.btn-secondary:hover{background:var(--primary);color:#fff}.btn-hero{background:var(--primary);border:2px solid var(--primary);color:#fff;padding:14px 28px;font-size:1.05rem}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:28px;height:3px;background:var(--text);margin:6px auto;border-radius:2px}
.hero-slider{position:relative;height: min(560px, calc(100vh - var(--header)));min-height: 430px;overflow:hidden;background:#222}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s ease}.slide.active{opacity:1}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.28),rgba(0,0,0,.10))}
.hero-content{position:relative;z-index:2;max-width:760px;min-height: 100%;padding: 70px 8%;color: #fff;display: flex;flex-direction: column;justify-content: center;align-items: flex-start;}
.hero-content h1, .hero-content h2{color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.45);}
.hero-content p{font-size:1.25rem;max-width:650px}
/*
.slider-prev,.slider-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;background:rgba(255,255,255,.85);width:48px;height:48px;border-radius:50%;font-size:1.8rem;cursor:pointer}
*/
.slider-prev,
.slider-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;

    display:flex;
    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;
    padding:0;

    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.85);

    color:#111;
    font-family:Arial, sans-serif;
    font-size:1.8rem;
    font-weight:600;
    line-height:1;

    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
}

.slider-prev{left:22px}
.slider-next{right:22px}
.slider-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:4}.dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer}.dot.active{background:#fff}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:0 4px 14px rgba(0,0,0,.05)}.card h3{font-size:1.35rem;margin-bottom:.7rem}.site-footer{background:var(--footer);border-top:1px solid var(--border);padding:46px 0;font-size:.96rem}.footer-grid{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:36px}.site-footer a{color:var(--secondary)}

.page-hero{padding:58px 0;border-bottom:1px solid var(--border)}
.page-hero h1{margin-bottom:.35rem}
.breadcrumb{font-size:.92rem;color:var(--muted);margin-bottom:1rem}
.breadcrumb a{color:var(--secondary);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* NEWS */
.news-list{display:grid;gap:30px}
.news-item{display:grid;grid-template-columns:minmax(280px,38%) 1fr;gap:30px;align-items:stretch;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 5px 18px rgba(0,0,0,.055);overflow:hidden}
.news-media{display:grid;min-height:260px;background:var(--light)}
.news-media img{width:100%;height:100%;object-fit:cover;display:block}
.news-media-double{grid-template-columns:1fr 1fr;gap:4px;padding:4px}
.news-media-double img{border-radius:12px}
.news-content{padding:30px 30px 30px 0}
.news-content h2{font-size:clamp(1.45rem,2.4vw,2.05rem);line-height:1.18;margin-bottom:.35rem}
.news-date{color:var(--primary);font-weight:700;font-size:.95rem;margin-bottom:1rem}

/*==================================================
  EVENTI
==================================================*/

.event-list {
  display: grid;
  gap: 30px;
}

.event-item {
  display: grid;
  grid-template-columns: minmax(280px, 38%) 1fr;
  gap: 30px;
  align-items: stretch;

  overflow: hidden;

  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);

  transition:
    transform var(--transition),
    box-shadow var(--transition);
}

.event-item:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}

/*==================================================
  MEDIA EVENTO
==================================================*/

.event-media {
  display: grid;
  min-height: 280px;

  background: var(--light);
}

.event-media img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.event-media-double {
  grid-template-columns: 1fr 1fr;
  gap: 4px;

  padding: 4px;
}

.event-media-double img {
  border-radius: calc(var(--radius) - 6px);
}


/*==================================================
  CONTENUTO EVENTO
==================================================*/

.event-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding: 30px 30px 30px 0;
}

.event-title {
  margin-bottom: 6px;

  font-size: clamp(1.45rem, 2.4vw, 2.05rem);
  line-height: 1.18;
}

.event-date {
  margin-bottom: 18px;

  color: var(--primary);
  font-size: 0.95rem;
  font-weight: 700;
}

.event-content p {
  max-width: 760px;
}

.event-content .btn-secondary,
.event-content .btn-primary {
  margin-top: auto;
}


/*==================================================
  VIDEO ESTERNO
==================================================*/

.external-video {
  position: relative;

  width: 100%;
  min-height: 280px;

  background: #1f2933;
}

.external-video-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-height: 280px;
  padding: 28px;

  color: #ffffff;
  text-align: center;
}

.external-video-placeholder p {
  max-width: 340px;
  margin-bottom: 20px;
}

.external-video iframe {
  display: block;

  width: 100%;
  height: 100%;
  min-height: 280px;

  border: 0;
}


/*==================================================
  EVENTI — RESPONSIVE
==================================================*/

@media (max-width: 980px) {

  .event-item {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .event-media {
    min-height: 240px;
  }

  .event-content {
    padding: 26px;
  }

}


@media (max-width: 640px) {

  .event-list {
    gap: 22px;
  }

  .event-media {
    min-height: 220px;
  }

  .event-media-double {
    grid-template-columns: 1fr;
  }

  .event-media-double img {
    min-height: 190px;
  }

  .event-content {
    padding: 24px 22px;
  }

  .event-title {
    font-size: 1.45rem;
  }
}

@media(max-width:980px){.news-item{grid-template-columns:1fr}.news-content{padding:26px}.news-media{min-height:230px}.news-media-double{grid-template-columns:1fr 1fr}:root{--header:78px;--logo:58px}.header-container{justify-content:space-between}.menu-toggle{display:block;order:4}.header-cta{display:none}.main-nav{position:absolute;left:0;right:0;top:calc(var(--header) + 5px);background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:none;margin-left:0}.main-nav.open{display:block}.main-nav>ul{display:block;padding:10px 0}.main-nav li{display:block}.main-nav a{padding:14px 6%}.has-submenu{display:block}.submenu-toggle{position:absolute;right:5%;top:6px;width:44px;height:44px;font-size:1.15rem;}.submenu{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:0;border-radius:0;background:var(--light);padding:4px 0}.has-submenu.open>.submenu{display:block}.has-submenu:hover>.submenu{display:none}.has-submenu.open:hover>.submenu{display:block}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero-slider{min-height:440px}.hero-content{padding:82px 8%}.hero-content h1{font-size:2.25rem}.slider-prev,.slider-next{width:40px;height:40px;font-size:1.4rem}}
@media(max-width:640px){.news-media-double{grid-template-columns:1fr} .logo-img{height: 54px;}.logo-text {display: flex;flex-direction: column;line-height: 1.1;}.logo-title{font-size: 0.95rem;}.logo-subtitle{font-size:0.8rem;}.hero-slider{height:390px}.hero-content{padding:70px 9%}.hero-content p{font-size:1rem}.slider-prev,.slider-next{width: 42px;height: 42px;font-size: 1.4rem;}.slider-prev {left: 12px;}.slider-next {right: 12px;}.section{padding:56px 0}}

/*==================================================
  DOCUMENTI
==================================================*/

.document-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
}

.document-card {
  position: relative;
  display: flex;
  flex-direction: column;

  min-height: 100%;
  padding: 32px 28px 28px;

  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 18px;

  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05);

  overflow: hidden;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.document-card::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: 6px;

  background: var(--primary);
}

.document-card:hover {
  transform: translateY(-4px);

  border-color: rgba(44, 111, 163, 0.35);

  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);
}

.document-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 54px;
  height: 54px;
  margin-bottom: 20px;

  color: #ffffff;
  background: var(--primary);
  border-radius: 14px;

  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.document-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.document-number {
  margin-bottom: 6px;

  color: var(--primary);
  font-size: 0.9rem;
  font-weight: 700;
}

.document-title {
  margin-bottom: 14px;

  font-size: 1.35rem;
  line-height: 1.25;
}

.document-description {
  margin-bottom: 16px;
}

.document-note {
  margin-bottom: 18px;
  padding: 12px 14px;

  background: var(--light);
  border-left: 4px solid var(--primary);
  border-radius: 0 10px 10px 0;

  font-size: 0.92rem;
}

.document-meta {
  margin-top: auto;
  margin-bottom: 18px;

  color: var(--muted);
  font-size: 0.9rem;
}

.document-card .btn-primary {
    padding: 10px 18px;
    font-size: .95rem;
}

.document-card .btn-primary,
.document-card .btn-secondary {
  align-self: flex-start;
}
