/* Eventi e gestione: componenti essenziali, senza librerie di interfaccia. */
.events-page { padding-bottom: 60px; background: #fdfaf1; color: #00687a; }
.events-container { width: min(1120px,100%); padding: 30px 24px; margin: auto; }
.events-heading { padding: 35px 0; background: url('../images/sfondo-percorsi-02-e1761495581853.jpg') center/cover; text-align: center; }
.events-heading p { margin-bottom: 12px; }
.events-heading h1 { margin-bottom: 25px; }
.events-list, .event-admin-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.event-empty { grid-column: 1/-1; padding: 60px 20px; text-align: center; }
.event-card { border: 2px solid #f4c399; border-radius: 20px; background: white; overflow: hidden; }
.event-card a { display: block; }
.event-card img { width: 100%; max-height: 450px; object-fit: contain; background: #f5f1e9; }
.event-card > a > div { padding: 25px; }
.event-card h2 { font-size: 36px; }
.event-date, .event-badge { font: 400 14px/1.6 Outfit,sans-serif; }
.event-date { color: #75445f; }
.event-badge { display: inline-block; border-radius: 20px; padding: 5px 12px; background: #e0eeeb; color: #175a5b; margin: 0 0 12px; }
.event-link { font-weight: 700; text-decoration: underline; }
.event-back { font-size: 18px; margin: 0 0 28px; }
.event-layout { display: grid; grid-template-columns: minmax(0,40%) minmax(0,1fr); gap: 45px; align-items: start; }
.event-layout:not(:has(.event-poster)) { display: block; max-width: 850px; margin: auto; }
.event-poster img { width: 100%; border-radius: 12px; }
.event-content h1 { font-size: 52px; line-height: 1.05; margin-bottom: 24px; }
.event-content h2 { font-size: 34px; }
.event-content section { margin-top: 35px; }
.event-subtitle { font-size: 27px; color: #915977; }
.event-facts { display: grid; gap: 18px; padding: 24px; background: #fbe1b7; border-radius: 15px; margin: 28px 0; }
.event-facts dt { font-weight: 700; }
.event-facts dd { margin: 0; }
.event-facts small { font-size: 16px; }
.event-description { margin: 30px 0; }
.event-signup { max-width: 850px; margin: 50px auto 0; padding: 35px; border: 2px solid #e8bc9a; border-radius: 20px; background: white; }
.events-page form { font: 400 16px/1.6 Outfit,sans-serif; }
.events-page form label { display: block; margin: 0 0 20px; color: #22545a; font-weight: 500; }
.events-page input:not([type=checkbox]):not([type=hidden]), .events-page textarea, .events-page select { display: block; width: 100%; min-width: 0; border: 1px solid #a7c4c3; border-radius: 7px; padding: 11px 12px; margin-top: 7px; background: #fff; color: #24484d; font: 400 16px/1.5 Outfit,sans-serif; }
.events-page input[type=file] { font-size: 14px !important; }
.events-page textarea { resize: vertical; }
.events-page input:focus, .events-page textarea:focus { outline: 3px solid #a7d9d5; outline-offset: 1px; }
.events-page fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.events-page fieldset:disabled { opacity: .7; }
.event-form-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.event-captcha { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin: 25px 0 10px; }
.event-captcha img { border: 1px solid #d7ddd3; }
.event-captcha label { max-width: 240px; }
.events-page .event-check { display: flex; align-items: flex-start; gap: 10px; }
.event-check input { width: 18px; height: 18px; margin-top: 5px; flex-shrink: 0; accent-color: #00687a; }
.events-page a:not(.button) { text-decoration: underline; }
.events-page .button { border: 0; font: 400 16px/1.5 Outfit,sans-serif; min-width: 0; min-height: 45px; padding: 12px 25px; }
.event-help { font: 400 14px/1.6 Outfit,sans-serif; color: #526b6d; margin: 5px 0 20px; }
.event-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.event-alert { padding: 17px 20px; margin: 0 0 25px; border-left: 4px solid #9f6b3f; border-radius: 5px; background: #fff0d9; color: #61462d; font: 400 16px/1.6 Outfit,sans-serif; }
.event-error { border-color: #a23545; background: #fff0ed; color: #872c3e; }
.event-success { border-color: #287f73; background: #e4f4eb; color: #1f655b; }
.event-token, .event-login { max-width: 750px; min-height: 500px; padding-top: 70px; }
.event-token h1, .event-login h1 { font-size: 48px; }
.event-token form { margin: 30px 0; }
.event-panel { padding: 28px; border-radius: 18px; border: 1px solid #d8dfd6; background: white; margin: 0 0 25px; }
.event-panel h2 { font-size: 33px; }
.event-panel h3 { font-family: MCTitle,serif; font-size: 31px; }
.event-panel p { font-size: 19px; }
.event-admin-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.event-admin-heading h1 { font-size: 50px; }
.event-admin-heading .eyebrow { margin-bottom: 8px; }
.event-admin-nav { display: flex; gap: 25px; flex-wrap: wrap; padding: 20px 0; border-top: 1px solid #c8d8d1; border-bottom: 1px solid #c8d8d1; margin: 0 0 28px; }
.event-admin-nav a { font-weight: 700; }
.event-section-heading { display: flex; gap: 20px; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.event-section-heading h2, .event-section-heading p { margin: 0; }
.event-text-button { padding: 5px 0; border: 0; background: none; color: #00687a; text-decoration: underline; font: inherit; text-align: left; }
.event-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.event-actions a { font-size: 19px; font-weight: 700; }
.event-editor-grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(280px,1fr); gap: 28px; align-items: start; }
.event-admin-poster { width: 180px; margin-top: 15px; }
.event-filters { display: flex; gap: 15px; flex-wrap: wrap; margin-bottom: 20px; font-size: 19px; }
.event-filters [aria-current] { font-weight: 700; }
.event-table-wrap { width: 100%; overflow-x: auto; background: white; margin-bottom: 30px; border: 1px solid #d8dfd6; border-radius: 12px; }
.event-table-wrap table { border-collapse: collapse; width: 100%; font: 400 15px/1.6 Outfit,sans-serif; }
.event-table-wrap td, .event-table-wrap th { padding: 15px 16px; border-bottom: 1px solid #e2e9e3; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.event-table-wrap th { background: #e5efeb; }
.event-table-wrap tr:last-child td { border-bottom: 0; }
.event-table-wrap form { font-size: 14px; }
.event-mail-preview { white-space: pre-wrap; overflow-wrap: anywhere; color: #24484d; font: 400 16px/1.7 Outfit,sans-serif; }
@media (max-width: 767px) {
    .events-container { padding: 24px 16px; }
    .events-heading h1, .event-content h1 { font-size: 44px; }
    .events-list, .event-admin-cards, .event-layout, .event-editor-grid, .event-form-columns { grid-template-columns: 1fr; }
    .event-layout { gap: 28px; }
    .event-poster { max-width: 400px; margin: auto; }
    .event-content h1 { margin-top: 10px; }
    .event-signup { padding: 23px 18px; }
    .event-section-heading { align-items: start; flex-direction: column; }
    .event-admin-heading h1 { font-size: 40px; }
    .event-admin-nav { gap: 15px; }
    .event-panel { padding: 22px 18px; }
    .event-captcha { display: block; }
    .event-captcha label { margin-top: 18px; }
    .event-token, .event-login { padding-top: 40px; }
}

.page-gestione .floating-contact, .page-gestione .contact-strip, .page-gestione .site-footer { display: none; }
.events-section-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:26px 0 0}.events-section-nav a{padding:10px 22px;border:1px solid #a8c8bd;border-radius:30px;background:#fffaf0;color:#00687a;font-size:18px;text-decoration:none}.events-section-nav a:hover{background:#e4f0e9}.events-catalog-section{scroll-margin-top:110px;padding-top:50px;padding-bottom:30px}.events-catalog-section+.events-catalog-section{border-top:1px solid #d6dfd1}.events-catalog-heading{margin-bottom:28px}.events-catalog-heading h2{margin:0 0 14px}.events-catalog-heading p{margin:0 0 10px}.events-catalog-heading .eyebrow{color:#915977}.events-catalog .event-card h3{font:500 36px/1.15 MCTitle,serif;color:#00687a;margin:0 0 16px;overflow-wrap:anywhere}.events-catalog .event-empty{padding:32px 24px;background:#fffaf2;border:1px solid #e9ddc9;border-radius:18px}.events-catalog .event-empty h3{font:500 30px/1.2 MCTitle,serif;color:#00687a;margin-bottom:16px}.event-back-bar{padding-top:22px;padding-bottom:10px}.events-section-nav a:focus-visible{outline:3px solid #915977;outline-offset:4px}@media(max-width:700px){.events-catalog-section{padding-top:32px}.events-catalog .event-card h3{font-size:30px}.events-section-nav{gap:9px}.events-section-nav a{font-size:16px;padding:9px 16px}}

/* Catalogo pubblico: una riga per incontro, con locandina e informazioni. */
.events-catalog{padding-bottom:0;background:#fffaf1}
.events-catalog .events-container{width:min(1200px,100%)}
.events-catalog .events-catalog-hero{display:flex;align-items:center;min-height:460px;padding:0;text-align:left;background:linear-gradient(90deg,rgba(255,248,236,.97) 0%,rgba(255,248,236,.84) 43%,rgba(255,248,236,.12) 100%),url('../images/hero-blog-scaled.jpg') center/cover no-repeat}
.events-catalog-hero>.events-container{padding:54px 24px 58px}
.events-hero-copy{max-width:660px}
.events-catalog-hero .eyebrow{margin:0 0 16px;color:#815a62}
.events-catalog-hero h1{margin:0 0 20px;font-size:clamp(54px,5.8vw,78px);line-height:1.02}
.events-catalog-hero .events-hero-lead{margin:0 0 18px;font-size:26px;line-height:1.4}
.events-catalog-hero p{max-width:620px;font-size:18px;line-height:1.65}
.events-catalog .events-section-nav{justify-content:flex-start;margin:26px 0 0}
.events-catalog .events-section-nav a{text-decoration:none;background:rgba(255,253,248,.95);border-color:rgba(10,111,115,.35)}
.events-catalog .events-section-nav a:hover{background:#e2efea}
.events-catalog-band{scroll-margin-top:110px}
.events-catalog-band--free{background:linear-gradient(90deg,rgba(237,246,242,.75),rgba(255,253,248,.58)),url('../images/sfondo_manifesto_02.jpg') center 45%/cover no-repeat}
.events-catalog-band--paid{background:#fff8ed url('../images/sfondo_manifesto.jpg') center top/cover no-repeat}
.events-catalog .events-catalog-section{padding:54px 24px 58px}
.events-catalog .events-catalog-band--paid .events-catalog-section{padding-top:58px;padding-bottom:78px}
.events-catalog-heading{max-width:850px;margin-bottom:30px}
.events-catalog-heading h2{font-size:clamp(36px,3.8vw,48px);line-height:1.08}
.events-catalog-heading>p:not(.eyebrow){font-size:20px;line-height:1.6}
.events-catalog .events-list{grid-template-columns:minmax(0,1fr);gap:34px}
.events-catalog .event-empty{padding:34px 28px;background:rgba(255,253,248,.88);border-color:rgba(51,113,101,.18);box-shadow:0 10px 30px rgba(50,81,68,.04)}
.events-catalog-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid rgba(141,108,78,.18);border-radius:22px;background:rgba(255,253,248,.95);box-shadow:0 16px 42px rgba(76,63,43,.08)}
.events-row-poster{display:flex;align-items:center;justify-content:center;min-width:0;padding:24px;background:rgba(249,237,219,.65)}
.events-row-poster img{display:block;width:100%;max-width:440px;height:auto;border-radius:12px}
.events-row-poster .events-row-placeholder{max-width:280px;border-radius:0;margin:30px auto}
.events-row-copy{min-width:0;align-self:center;padding:clamp(28px,4vw,52px);font-size:20px;line-height:1.6;overflow-wrap:anywhere}
.events-row-copy>p{margin:0 0 18px}
.events-row-copy h3{margin:0 0 20px;font:500 clamp(36px,3.4vw,48px)/1.08 MCTitle,serif;color:#00687a;overflow-wrap:anywhere}
.events-row-copy .events-row-date{font:500 15px/1.6 Outfit,sans-serif;color:#815a62}
.events-row-subtitle{font-size:23px;line-height:1.45}
.events-row-location{font-size:18px;line-height:1.6}
.events-row-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:17px}
.events-row-price strong{font-size:32px;font-weight:600}
.events-row-copy .event-badge{margin-bottom:0}
.events-catalog .events-row-cta{display:flex;width:fit-content;margin-top:26px;padding:14px 28px;font-size:17px;line-height:1.5;text-decoration:none}
@media(max-width:767px){
 .events-catalog .events-catalog-hero{min-height:0;background:linear-gradient(90deg,rgba(255,248,236,.94),rgba(255,248,236,.65)),url('../images/hero-blog-scaled.jpg') center/cover no-repeat}
 .events-catalog-hero>.events-container{padding:44px 20px 46px}
 .events-catalog-hero h1{font-size:52px}
 .events-catalog-hero .events-hero-lead{font-size:23px}
 .events-catalog .events-catalog-section{padding:40px 18px 44px}
 .events-catalog .events-catalog-band--paid .events-catalog-section{padding:44px 18px 54px}
 .events-catalog-row{grid-template-columns:minmax(0,1fr)}
 .events-row-poster{padding:20px}
 .events-row-copy{padding:28px 24px 32px}
 .events-row-copy h3{font-size:38px}
 .events-row-subtitle{font-size:21px}
 .events-catalog .events-row-cta{max-width:100%;justify-content:center}
}