/* Design tokens: stessi valori di patologia.css/home.css, per coerenza visiva. */
.ibsa-events{
  --events-accent:#8996ae; --events-ink:#1a2624; --events-slate:#384554;
  --events-grey:#5b6664; --events-teal:#58abb7; --events-bg:#ffffff; --events-bg-alt:#eef0f3;
  --events-container:1280px; --events-gutter:80px;
  font-family:'Roboto Condensed',Arial,sans-serif;color:var(--events-slate);background:var(--events-bg)
}
.ibsa-events *{box-sizing:border-box}
.events-container{max-width:calc(var(--events-container) + var(--events-gutter) * 2);margin:0 auto;padding:0 var(--events-gutter)}
.ibsa-events h1,.ibsa-events h3{font-family:'Roboto Condensed',Arial,sans-serif}

/* Hero */
.events-hero{padding:52px 0 40px;border-bottom:1px solid #e2e5ea}
.events-hero__title{margin:24px 0 0;font-size:48px;line-height:1.1;font-weight:400;color:var(--events-slate)}

/* Tab: stesso stile "numero/etichetta sottolineata" usato altrove nel sito. */
.events-section{padding:56px 0 96px}
.events-tabs{display:flex;gap:40px;margin-bottom:48px;border-bottom:1px solid #e2e5ea}
.events-tab{appearance:none;background:none;border:0;padding:0 0 14px;font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--events-slate);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.events-tab:hover{color:var(--events-ink)}
.events-tab.is-active{color:var(--events-ink);border-bottom-color:var(--events-accent)}

.events-panel{display:none}
.events-panel.is-active{display:block}
.events-empty{padding:40px 0;color:var(--events-grey);font-size:15px}

/* Timeline verticale: colonna data | colonna linea/pallino | contenuto.
   Una sola linea continua dietro a tutti i pallini (::after sul contenitore),
   cosi' non serve calcolare segmenti per ogni singolo evento. */
.events-timeline{position:relative}
.events-timeline::after{content:"";position:absolute;top:8px;bottom:8px;left:156px;width:2px;background:#e2e5ea}
.events-item{position:relative;display:grid;grid-template-columns:140px 32px 1fr;column-gap:0}
.events-item+.events-item{margin-top:40px}
.events-item__date{grid-column:1;text-align:right;padding-right:24px;padding-top:2px}
.events-item__day{display:block;font-size:28px;line-height:1;font-weight:700;color:var(--events-ink)}
.events-item__month{display:block;margin-top:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--events-accent);font-weight:700}
.events-item__marker{grid-column:2;display:flex;justify-content:center}
.events-item__dot{position:relative;z-index:1;width:14px;height:14px;margin-top:8px;border-radius:50%;background:var(--events-accent);box-shadow:0 0 0 4px #fff}
.events-item__content{grid-column:3;padding-left:24px;padding-bottom:8px}
.events-item__title{margin:0;font-size:20px;line-height:1.3;font-weight:700;color:var(--events-ink)}
.events-item__intro{margin:10px 0 0;max-width:640px;font-size:15px;line-height:1.55;color:var(--events-slate)}
.events-item__buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.events-item__btn{display:inline-flex;align-items:center;gap:8px;background:var(--events-accent);color:#fff;text-decoration:none;font-family:'Roboto Condensed',sans-serif;font-weight:400;font-size:14px;border:1.5px solid #fff;border-radius:5px;padding:9px 20px;transition:background .2s}
.events-item__btn:hover{background:#7a879f}

/* Eventi passati: pallino/data smorzati, bottone "ghost" invece che pieno. */
.events-item--past .events-item__dot{background:#c7cdd6}
.events-item--past .events-item__day{color:var(--events-grey)}
.events-item--past .events-item__month{color:var(--events-grey)}
.events-item__btn--ghost{background:none;color:var(--events-slate);border-color:#d7dbe2}
.events-item__btn--ghost:hover{background:var(--events-bg-alt);color:var(--events-ink)}

@media (max-width:767px){
  .ibsa-events{--events-gutter:24px}
  .events-hero__title{font-size:34px}
  .events-item{grid-template-columns:32px 1fr;column-gap:0}
  .events-item__date{grid-column:1/-1;text-align:left;padding-right:0;padding-bottom:8px;display:flex;align-items:baseline;gap:10px}
  .events-item__day{font-size:22px}
  .events-item__marker{grid-column:1;grid-row:2}
  .events-item__content{grid-column:2;grid-row:2;padding-left:16px}
  .events-timeline::after{left:15px}
}
