.eps-lock{overflow:hidden}.eps-popup-root{position:fixed;inset:0;z-index:var(--eps-z,999999);display:none;--eps-width:980px;--eps-bg:#fff;--eps-text:#1f2937;--eps-accent:#2271b1;--eps-overlay:#000;--eps-radius:18px;--eps-image-height:190px}.eps-popup-root.is-open{display:block}.eps-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--eps-overlay) 62%,transparent);animation:epsFade .22s ease both}.eps-modal{position:relative;z-index:2;width:min(var(--eps-width),calc(100% - 32px));max-height:calc(100vh - 40px);overflow:auto;margin:20px auto;background:var(--eps-bg);color:var(--eps-text);border-radius:var(--eps-radius);box-shadow:0 24px 80px rgba(0,0,0,.32);padding:24px}.eps-animation-fade .eps-modal{animation:epsFade .22s ease both}.eps-animation-fade-up .eps-modal{animation:epsFadeUp .28s ease both}.eps-animation-zoom .eps-modal{animation:epsZoom .24s ease both}@keyframes epsFade{from{opacity:0}to{opacity:1}}@keyframes epsFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes epsZoom{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.eps-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:inherit;font-size:34px;line-height:1;cursor:pointer;z-index:3}.eps-header h2{margin:0 44px 20px 0;font-size:28px;color:inherit}.eps-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.eps-events.eps-count-1{grid-template-columns:1fr}.eps-events.eps-count-1 .eps-card{max-width:820px;margin-inline:auto}.eps-events.eps-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.eps-layout-list .eps-events{grid-template-columns:1fr}.eps-card{display:flex;gap:15px;border:1px solid color-mix(in srgb,var(--eps-text) 14%,transparent);border-radius:calc(var(--eps-radius) * .78);overflow:hidden;background:var(--eps-bg);color:var(--eps-text)}.eps-card img{width:170px;height:100%;min-height:var(--eps-image-height);object-fit:cover;display:block}.eps-card-body{padding:16px 16px 16px 0;flex:1;min-width:0}.eps-card h3{margin:0 0 8px;font-size:20px;line-height:1.2;color:inherit}.eps-card h3 a{text-decoration:none;color:inherit}.eps-card-content{margin:0 0 14px;line-height:1.45;color:inherit;opacity:.78}.eps-card-content p{margin:0 0 10px}.eps-card-content p:last-child{margin-bottom:0}.eps-card-content img{width:auto;max-width:100%;height:auto;min-height:0}.eps-cta{display:inline-block;text-decoration:none;font-weight:700;color:var(--eps-accent);border-bottom:1px solid currentColor}.eps-image-link{display:block;flex:0 0 170px}.eps-layout-list .eps-card img{width:220px}.eps-layout-list .eps-image-link{flex-basis:220px}.eps-events.eps-count-3 .eps-card{display:block}.eps-events.eps-count-3 .eps-image-link{width:100%}.eps-events.eps-count-3 .eps-card img{width:100%;height:var(--eps-image-height);min-height:0}.eps-events.eps-count-3 .eps-card-body{padding:14px 15px 16px}.eps-events.eps-count-1 .eps-card img{width:260px}.eps-events.eps-count-1 .eps-image-link{flex-basis:260px}@media(max-width:940px){.eps-events.eps-count-3{grid-template-columns:1fr}.eps-events.eps-count-3 .eps-card{display:flex}.eps-events.eps-count-3 .eps-image-link{width:auto;flex:0 0 170px}.eps-events.eps-count-3 .eps-card img{width:170px;height:100%;min-height:var(--eps-image-height)}.eps-events.eps-count-3 .eps-card-body{padding:16px 16px 16px 0}}@media(max-width:720px){.eps-modal{width:calc(100% - 20px);padding:18px;margin:10px auto;max-height:calc(100vh - 20px);border-radius:min(var(--eps-radius),14px)}.eps-header h2{font-size:23px}.eps-events,.eps-events.eps-count-3{grid-template-columns:1fr}.eps-card,.eps-events.eps-count-3 .eps-card{display:block}.eps-image-link,.eps-layout-list .eps-image-link,.eps-events.eps-count-3 .eps-image-link,.eps-events.eps-count-1 .eps-image-link{width:100%;display:block}.eps-card img,.eps-layout-list .eps-card img,.eps-events.eps-count-3 .eps-card img,.eps-events.eps-count-1 .eps-card img{width:100%;height:min(var(--eps-image-height),220px);min-height:0}.eps-card-body,.eps-events.eps-count-3 .eps-card-body{padding:14px}.eps-card h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.eps-modal,.eps-backdrop{animation:none!important}}

/* 0.6.4 - frontend multi-event refinement */
.eps-event-period{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;line-height:1.35;font-weight:600;opacity:.72}.eps-event-period .dashicons{font-size:15px;width:15px;height:15px}.eps-events.eps-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.eps-events[class*="eps-count-"] .eps-card{min-width:0}.eps-card-body{display:flex;flex-direction:column}.eps-card-content{flex:1}.eps-cta{align-self:flex-start;margin-top:auto}.eps-modal:focus{outline:none}@media(min-width:941px){.eps-events.eps-count-1 .eps-card{min-height:230px}.eps-events.eps-count-2 .eps-card,.eps-events.eps-count-4 .eps-card{min-height:210px}}@media(max-width:940px){.eps-events.eps-count-4{grid-template-columns:1fr}}@media(max-width:720px){.eps-event-period{font-size:11px}.eps-modal{overscroll-behavior:contain}}

/* 0.6.5 - date/orari in evidenza e rifinitura frontend */
.eps-close{right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--eps-text) 14%,transparent);border-radius:10px;background:color-mix(in srgb,var(--eps-bg) 94%,var(--eps-text) 6%);font-size:25px;font-weight:500;line-height:1;color:inherit;transition:transform .15s ease,background .15s ease}
.eps-close:hover{transform:scale(1.04);background:color-mix(in srgb,var(--eps-bg) 88%,var(--eps-text) 12%)}
.eps-header h2{margin-right:52px}
.eps-card{align-items:stretch;box-shadow:0 4px 16px rgba(15,23,42,.06)}
.eps-image-link{background:color-mix(in srgb,var(--eps-bg) 92%,var(--eps-text) 8%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.eps-card img{object-fit:contain;background:color-mix(in srgb,var(--eps-bg) 95%,var(--eps-text) 5%);padding:4px;box-sizing:border-box}
.eps-card-body{padding-top:13px}
.eps-event-schedule{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;margin:0 0 13px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--eps-accent) 28%,transparent);border-radius:10px;background:color-mix(in srgb,var(--eps-accent) 8%,var(--eps-bg));color:var(--eps-text)}
.eps-schedule-item{display:flex;flex-direction:column;min-width:0;gap:2px}
.eps-schedule-label{text-transform:uppercase;letter-spacing:.055em;font-size:10px;line-height:1.2;font-weight:800;color:var(--eps-accent)}
.eps-schedule-item strong{font-size:12px;line-height:1.35;font-weight:800;color:inherit}
.eps-schedule-arrow{font-size:18px;line-height:1;color:var(--eps-accent);font-weight:800}
.eps-card h3{margin-bottom:10px}
.eps-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:9px 14px;border:0;border-radius:8px;background:var(--eps-accent);color:#fff;text-decoration:none;font-weight:700;line-height:1.2;box-shadow:0 2px 6px rgba(0,0,0,.10);transition:transform .15s ease,filter .15s ease}
.eps-cta:hover,.eps-cta:focus{color:#fff;filter:brightness(.94);transform:translateY(-1px)}
.eps-events.eps-count-2 .eps-card img,.eps-events.eps-count-4 .eps-card img{min-height:220px}
@media(max-width:940px){.eps-event-schedule{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.eps-card img{object-fit:contain}}
@media(max-width:720px){.eps-event-schedule{grid-template-columns:1fr;gap:5px;padding:10px 12px}.eps-schedule-arrow{display:none}.eps-schedule-item{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:baseline;gap:8px}.eps-schedule-label{font-size:10px}.eps-schedule-item strong{font-size:12px}.eps-card img,.eps-layout-list .eps-card img,.eps-events.eps-count-3 .eps-card img,.eps-events.eps-count-1 .eps-card img{height:auto;max-height:300px;object-fit:contain}.eps-close{width:34px;height:34px;font-size:22px}}

/* 0.6.6 - data e ora ancora più evidenti */
.eps-event-schedule{padding:12px 14px;gap:12px;border-radius:12px}
.eps-schedule-item{gap:4px}
.eps-schedule-label{display:flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.06em}
.eps-schedule-label .dashicons{font-size:17px;width:17px;height:17px}
.eps-schedule-date{display:block;font-size:16px!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.015em}
.eps-schedule-time{display:flex;align-items:center;gap:6px;font-size:25px;line-height:1.05;font-weight:900;color:var(--eps-accent);letter-spacing:-.02em}
.eps-schedule-time .dashicons{font-size:22px;width:22px;height:22px;color:var(--eps-text)}
.eps-schedule-arrow{font-size:21px}
@media(max-width:1200px){.eps-schedule-date{font-size:15px!important}.eps-schedule-time{font-size:22px}}
@media(max-width:720px){.eps-event-schedule{grid-template-columns:1fr 1fr;gap:10px}.eps-schedule-arrow{display:none}.eps-schedule-item{display:flex;flex-direction:column;gap:3px}.eps-schedule-label{font-size:10px}.eps-schedule-date{font-size:14px!important}.eps-schedule-time{font-size:21px}.eps-schedule-time .dashicons{font-size:19px;width:19px;height:19px}}
@media(max-width:430px){.eps-event-schedule{grid-template-columns:1fr}.eps-schedule-item+.eps-schedule-item{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--eps-accent) 20%,transparent)}}

/* 0.6.7 — branding automatico e chiusura centrata */
.eps-header{display:flex;align-items:center;gap:20px;margin:0 52px 20px 0;min-height:54px}
.eps-site-brand{display:flex;align-items:center;gap:10px;min-width:0;padding-right:20px;border-right:1px solid color-mix(in srgb,var(--eps-text) 18%,transparent)}
.eps-site-logo{display:block;width:auto!important;height:48px!important;max-width:150px!important;min-height:0!important;object-fit:contain!important}
.eps-site-name{font-size:18px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.eps-header h2{margin:0!important;font-size:28px;line-height:1.15}
.eps-close{right:14px!important;top:14px!important;width:42px;height:42px;padding:0!important;border-radius:10px!important;background:var(--eps-accent)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:0!important;line-height:1!important}
.eps-close span{display:block;font-size:25px;line-height:1;transform:translateY(-1px)}
@media(max-width:700px){
 .eps-header{align-items:flex-start;flex-direction:column;gap:10px;margin-right:48px}
 .eps-site-brand{border-right:0;padding-right:0}
 .eps-site-logo{height:38px!important;max-width:120px!important}
 .eps-site-name{font-size:16px;max-width:180px}
 .eps-header h2{font-size:24px}
}


/* 0.6.8 — testata responsive senza riduzione del nome sito */
.eps-header{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px 20px;
    margin:0 52px 20px 0;
}
.eps-site-brand{
    display:flex;
    align-items:center;
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
}
.eps-site-name{
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    max-width:none;
    overflow-wrap:anywhere;
}
.eps-header h2{
    flex:0 1 auto;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
}
@media(max-width:900px){
    .eps-header{
        align-items:flex-start;
    }
    .eps-site-brand{
        border-right:0;
        padding-right:0;
        width:100%;
    }
    .eps-header h2{
        width:100%;
    }
}
@media(max-width:700px){
    .eps-site-name{
        font-size:18px; /* non ridurre */
        max-width:none;
    }
}


/* 0.6.14 — effetti configurabili di entrata e uscita */
.eps-popup-root.is-open:not(.is-closing) .eps-backdrop{animation:epsFade .24s ease both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-fade .eps-modal{animation:epsFade .24s ease both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-fade-up .eps-modal{animation:epsEnterUp .30s cubic-bezier(.22,.75,.2,1) both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-fade-down .eps-modal{animation:epsEnterDown .30s cubic-bezier(.22,.75,.2,1) both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-slide-left .eps-modal{animation:epsEnterLeft .32s cubic-bezier(.22,.75,.2,1) both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-slide-right .eps-modal{animation:epsEnterRight .32s cubic-bezier(.22,.75,.2,1) both}
.eps-popup-root.is-open:not(.is-closing).eps-enter-zoom .eps-modal{animation:epsEnterZoom .28s cubic-bezier(.22,.75,.2,1) both}

.eps-popup-root.is-closing .eps-backdrop{animation:epsFadeOut .24s ease both!important}
.eps-popup-root.is-closing.eps-exit-fade .eps-modal{animation:epsFadeOut .24s ease both!important}
.eps-popup-root.is-closing.eps-exit-fade-up .eps-modal{animation:epsExitUp .28s ease both!important}
.eps-popup-root.is-closing.eps-exit-fade-down .eps-modal{animation:epsExitDown .28s ease both!important}
.eps-popup-root.is-closing.eps-exit-slide-left .eps-modal{animation:epsExitLeft .30s ease both!important}
.eps-popup-root.is-closing.eps-exit-slide-right .eps-modal{animation:epsExitRight .30s ease both!important}
.eps-popup-root.is-closing.eps-exit-zoom-out .eps-modal{animation:epsExitZoom .26s ease both!important}

@keyframes epsEnterUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes epsEnterDown{from{opacity:0;transform:translateY(-36px)}to{opacity:1;transform:translateY(0)}}
@keyframes epsEnterLeft{from{opacity:0;transform:translateX(-58px)}to{opacity:1;transform:translateX(0)}}
@keyframes epsEnterRight{from{opacity:0;transform:translateX(58px)}to{opacity:1;transform:translateX(0)}}
@keyframes epsEnterZoom{from{opacity:0;transform:scale(.91)}to{opacity:1;transform:scale(1)}}
@keyframes epsFadeOut{from{opacity:1}to{opacity:0}}
@keyframes epsExitUp{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-32px)}}
@keyframes epsExitDown{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(32px)}}
@keyframes epsExitLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-58px)}}
@keyframes epsExitRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(58px)}}
@keyframes epsExitZoom{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}
@media(prefers-reduced-motion:reduce){.eps-popup-root .eps-modal,.eps-popup-root .eps-backdrop{animation:none!important}}


/* 0.6.17 — layout automatico per numero eventi + responsive completo */

/* Il contenitore non supera mai il viewport */
.eps-modal{
    width:min(var(--eps-width),calc(100vw - 32px));
    max-height:calc(100dvh - 32px);
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.eps-header{
    flex:0 0 auto;
}
.eps-events{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    align-items:stretch;
    padding-right:2px;
}

/* 1 evento: card protagonista, più ampia ma non enorme */
.eps-events.eps-count-1{
    grid-template-columns:minmax(0,1fr);
}
.eps-events.eps-count-1 .eps-card{
    width:min(860px,100%);
    margin-inline:auto;
}
.eps-events.eps-count-1 .eps-card img{
    width:min(300px,36vw);
}

/* 2 eventi: due colonne equilibrate */
.eps-events.eps-count-2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

/* 3 eventi: tre colonne su desktop ampio */
.eps-events.eps-count-3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.eps-events.eps-count-3 .eps-card{
    flex-direction:column;
}
.eps-events.eps-count-3 .eps-card img{
    width:100%;
    height:auto;
    max-height:300px;
    object-fit:contain;
}
.eps-events.eps-count-3 .eps-card-body{
    padding:14px 16px 16px;
}

/* 4 eventi: 2x2 */
.eps-events.eps-count-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

/* 5+ eventi: 3 colonne desktop */
.eps-events.eps-count-5,
.eps-events.eps-count-6,
.eps-events[class*="eps-count-7"],
.eps-events[class*="eps-count-8"],
.eps-events[class*="eps-count-9"],
.eps-events[class*="eps-count-1"]:not(.eps-count-1){
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.eps-events.eps-count-5 .eps-card,
.eps-events.eps-count-6 .eps-card,
.eps-events[class*="eps-count-7"] .eps-card,
.eps-events[class*="eps-count-8"] .eps-card,
.eps-events[class*="eps-count-9"] .eps-card{
    flex-direction:column;
}
.eps-events.eps-count-5 .eps-card img,
.eps-events.eps-count-6 .eps-card img,
.eps-events[class*="eps-count-7"] .eps-card img,
.eps-events[class*="eps-count-8"] .eps-card img,
.eps-events[class*="eps-count-9"] .eps-card img{
    width:100%;
    height:auto;
    max-height:240px;
    object-fit:contain;
}
.eps-events.eps-count-5 .eps-card-body,
.eps-events.eps-count-6 .eps-card-body,
.eps-events[class*="eps-count-7"] .eps-card-body,
.eps-events[class*="eps-count-8"] .eps-card-body,
.eps-events[class*="eps-count-9"] .eps-card-body{
    padding:14px 16px 16px;
}

/* Date e ore: mai sacrificate */
.eps-event-schedule{
    min-width:0;
}
.eps-schedule-date{
    font-size:clamp(18px,1.35vw,22px);
    line-height:1.15;
}
.eps-schedule-time{
    font-size:clamp(22px,1.7vw,28px);
    line-height:1;
    font-weight:800;
}

/* Notebook / tablet landscape */
@media (max-width:1180px){
    .eps-modal{
        width:min(96vw,var(--eps-width));
    }
    .eps-events.eps-count-3,
    .eps-events.eps-count-5,
    .eps-events.eps-count-6,
    .eps-events[class*="eps-count-7"],
    .eps-events[class*="eps-count-8"],
    .eps-events[class*="eps-count-9"]{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* Tablet */
@media (max-width:900px){
    .eps-modal{
        width:calc(100vw - 24px);
        max-height:calc(100dvh - 24px);
        margin:12px auto;
        padding:20px;
    }
    .eps-events{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .eps-events.eps-count-1{
        grid-template-columns:1fr!important;
    }
    .eps-card{
        flex-direction:column;
    }
    .eps-card img{
        width:100%!important;
        height:auto!important;
        max-height:300px;
        object-fit:contain;
    }
    .eps-card-body{
        padding:14px 16px 16px!important;
    }
}

/* Smartphone */
@media (max-width:640px){
    .eps-popup-root{
        align-items:stretch;
    }
    .eps-modal{
        width:calc(100vw - 12px);
        max-height:calc(100dvh - 12px);
        margin:6px auto;
        padding:16px;
        border-radius:max(12px,calc(var(--eps-radius) * .75));
    }
    .eps-header{
        margin-right:46px;
        gap:8px;
    }
    .eps-site-brand,
    .eps-header h2{
        width:100%;
    }
    .eps-events{
        grid-template-columns:1fr!important;
        gap:14px;
    }
    .eps-card{
        flex-direction:column;
    }
    .eps-card img{
        width:100%!important;
        height:auto!important;
        max-height:42vh;
        object-fit:contain!important;
    }
    .eps-card-body{
        padding:14px!important;
    }
    .eps-event-schedule{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
    }
    .eps-schedule-arrow{
        display:none;
    }
    .eps-schedule-date{
        font-size:18px!important;
    }
    .eps-schedule-time{
        font-size:24px!important;
    }
    .eps-cta{
        width:100%;
        text-align:center;
        box-sizing:border-box;
    }
}

/* Smartphone molto stretto */
@media (max-width:420px){
    .eps-event-schedule{
        grid-template-columns:1fr;
    }
    .eps-schedule-date{
        font-size:18px!important;
    }
    .eps-schedule-time{
        font-size:24px!important;
    }
    .eps-close{
        width:40px!important;
        height:40px!important;
        right:10px!important;
        top:10px!important;
    }
}

/* Altezza ridotta / landscape mobile */
@media (max-height:620px){
    .eps-modal{
        max-height:calc(100dvh - 8px);
        margin:4px auto;
    }
    .eps-events{
        overscroll-behavior:contain;
    }
}

/* 0.6.18 */
.eps-card-clickable{cursor:pointer}
.eps-card-clickable:focus{outline:3px solid color-mix(in srgb,var(--eps-accent) 55%,transparent);outline-offset:2px}

.eps-image-mode-contain img{object-fit:contain!important}
.eps-image-mode-cover img{object-fit:cover!important;width:100%!important;height:var(--eps-image-height)!important}
.eps-card{contain:layout paint}
.eps-close:focus-visible,.eps-cta:focus-visible,.eps-card-clickable:focus-visible{outline:3px solid var(--eps-accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.eps-modal,.eps-backdrop,.eps-card{animation:none!important;transition:none!important}}
@media(hover:none) and (pointer:coarse){.eps-close,.eps-cta{min-height:44px;min-width:44px}}


/* 0.6.21 — durata configurabile + slide puri */
.eps-popup-root.is-open .eps-modal,
.eps-popup-root.is-closing .eps-modal,
.eps-popup-root.is-open .eps-backdrop,
.eps-popup-root.is-closing .eps-backdrop{
  animation-duration:var(--eps-anim-duration,300ms)!important;
}
.eps-popup-root.is-open:not(.is-closing).eps-enter-slide-up .eps-modal{
  animation:epsSlideUp var(--eps-anim-duration,300ms) cubic-bezier(.22,.75,.2,1) both;
}
.eps-popup-root.is-open:not(.is-closing).eps-enter-slide-down .eps-modal{
  animation:epsSlideDown var(--eps-anim-duration,300ms) cubic-bezier(.22,.75,.2,1) both;
}
.eps-popup-root.is-closing.eps-exit-slide-up .eps-modal{
  animation:epsSlideOutUp var(--eps-anim-duration,300ms) ease both!important;
}
.eps-popup-root.is-closing.eps-exit-slide-down .eps-modal{
  animation:epsSlideOutDown var(--eps-anim-duration,300ms) ease both!important;
}
@keyframes epsSlideUp{from{transform:translateY(72px)}to{transform:translateY(0)}}
@keyframes epsSlideDown{from{transform:translateY(-72px)}to{transform:translateY(0)}}
@keyframes epsSlideOutUp{from{transform:translateY(0)}to{transform:translateY(-72px)}}
@keyframes epsSlideOutDown{from{transform:translateY(0)}to{transform:translateY(72px)}}


/* 0.6.22 — utilizzo massimo dello spazio disponibile */
.eps-space-maximize .eps-modal{
  width:min(96vw,1400px)!important;
  height:min(94dvh,1100px);
  max-height:94dvh!important;
  margin:3dvh auto;
  padding:22px 24px;
}
.eps-space-maximize .eps-header{
  flex:0 0 auto;
  margin-bottom:14px;
}
.eps-space-maximize .eps-events{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  gap:16px;
}

/* 1 evento: utilizza quasi tutta l'area utile */
.eps-space-maximize .eps-events.eps-count-1{
  grid-template-columns:1fr!important;
}
.eps-space-maximize .eps-events.eps-count-1 .eps-card{
  width:100%;
  max-width:none;
  min-height:100%;
}
.eps-space-maximize .eps-events.eps-count-1 .eps-image-link{
  flex:0 0 min(42%,520px);
}
.eps-space-maximize .eps-events.eps-count-1 .eps-card img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
}

/* 2 eventi: due righe verticali che si dividono l'altezza disponibile */
.eps-space-maximize .eps-events.eps-count-2{
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card{
  min-height:0;
  height:100%;
  flex-direction:row;
}
.eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
  flex:0 0 min(38%,460px);
  min-width:240px;
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain;
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card-body{
  padding:16px 20px!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule{
  margin-bottom:12px;
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card h3{
  font-size:clamp(22px,2vw,30px);
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card-content{
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.5;
}

/* 3 eventi: una colonna larga, con maggiore leggibilità */
.eps-space-maximize .eps-events.eps-count-3{
  grid-template-columns:1fr!important;
}
.eps-space-maximize .eps-events.eps-count-3 .eps-card{
  flex-direction:row;
}
.eps-space-maximize .eps-events.eps-count-3 .eps-image-link{
  flex:0 0 min(32%,380px);
}
.eps-space-maximize .eps-events.eps-count-3 .eps-card img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain;
}

/* 4+ eventi: griglia ampia ma con tutto lo spazio del viewport */
.eps-space-maximize .eps-events.eps-count-4{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.eps-space-maximize .eps-events.eps-count-5,
.eps-space-maximize .eps-events.eps-count-6{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Tablet: due eventi restano verticali; immagine e contenuto si bilanciano */
@media(max-width:900px){
  .eps-space-maximize .eps-modal{
    width:calc(100vw - 16px)!important;
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px)!important;
    margin:8px auto;
  }
  .eps-space-maximize .eps-events.eps-count-2{
    grid-template-columns:1fr!important;
    grid-template-rows:none;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-space-maximize .eps-events.eps-count-3 .eps-card{
    flex-direction:row!important;
    min-height:320px;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-3 .eps-image-link{
    flex:0 0 38%;
    min-width:0;
  }
}

/* Smartphone: una card sotto l'altra, sfruttando tutta la larghezza */
@media(max-width:640px){
  .eps-space-maximize .eps-modal{
    width:calc(100vw - 8px)!important;
    height:calc(100dvh - 8px);
    max-height:calc(100dvh - 8px)!important;
    margin:4px auto;
    padding:14px;
  }
  .eps-space-maximize .eps-events.eps-count-2,
  .eps-space-maximize .eps-events.eps-count-3,
  .eps-space-maximize .eps-events.eps-count-4,
  .eps-space-maximize .eps-events.eps-count-5,
  .eps-space-maximize .eps-events.eps-count-6{
    grid-template-columns:1fr!important;
    grid-template-rows:none;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-space-maximize .eps-events.eps-count-3 .eps-card{
    flex-direction:column!important;
    min-height:auto;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-3 .eps-image-link{
    flex:0 0 auto;
    width:100%;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-card img,
  .eps-space-maximize .eps-events.eps-count-3 .eps-card img{
    height:auto!important;
    max-height:46dvh!important;
  }
}


/* 0.6.23 — layout intelligente per contenuto */
.eps-card{
  min-height:180px;
  max-height:min(620px,72dvh);
}
.eps-space-maximize .eps-events.eps-count-2 .eps-card{
  min-height:clamp(250px,34dvh,430px);
  max-height:44dvh;
}
.eps-space-maximize .eps-events.eps-count-3 .eps-card{
  min-height:220px;
  max-height:34dvh;
}

/* Auto: locandine verticali restano intere; panoramiche possono riempire meglio l'area */
.eps-image-mode-auto.eps-image-portrait img,
.eps-image-mode-auto.eps-image-square img{
  object-fit:contain!important;
}
.eps-image-mode-auto.eps-image-landscape img{
  object-fit:cover!important;
}
.eps-image-portrait .eps-image-link{background:color-mix(in srgb,var(--eps-bg) 92%,var(--eps-text) 8%)}
.eps-text-short .eps-card-body{justify-content:center}
.eps-text-long .eps-card-body{justify-content:flex-start}
.eps-text-long .eps-card-content{max-height:8.5em;overflow:auto}

/* Indicatore di contenuto scorrevole */
.eps-scroll-indicator{
  flex:0 0 auto;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  text-align:center;
  font-size:12px;
  font-weight:700;
  background:color-mix(in srgb,var(--eps-accent) 10%,var(--eps-bg));
  color:var(--eps-accent);
  transition:opacity .18s ease;
}
.eps-popup-full-indicator{
  flex:0 0 auto;
  margin:0 0 10px;
  padding:8px 12px;
  border-radius:8px;
  font-size:13px;
  font-weight:700;
  background:color-mix(in srgb,#f59e0b 13%,var(--eps-bg));
  color:var(--eps-text);
}
.eps-popup-full-indicator .dashicons{vertical-align:text-bottom}

/* Carousel/paginazione */
.eps-carousel-controls{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
}
.eps-carousel-prev,.eps-carousel-next{
  width:42px;height:42px;border-radius:999px;border:1px solid color-mix(in srgb,var(--eps-text) 22%,transparent);
  background:var(--eps-bg);color:var(--eps-accent);font-size:22px;font-weight:800;cursor:pointer;
}
.eps-carousel-prev:disabled,.eps-carousel-next:disabled{opacity:.35;cursor:default}
.eps-carousel-page{font-weight:800;min-width:52px;text-align:center}
.eps-show-more{
  flex:0 0 auto;
  align-self:center;
  margin-top:10px;
  border:0;border-radius:999px;
  padding:10px 18px;
  background:var(--eps-accent);color:#fff;font-weight:800;cursor:pointer;
}

/* Tablet e mobile: niente altezza rigida sulle card */
@media(max-width:900px){
  .eps-card,
  .eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-space-maximize .eps-events.eps-count-3 .eps-card{
    max-height:none;
  }
}
@media(max-width:640px){
  .eps-card{min-height:0}
  .eps-text-long .eps-card-content{max-height:none;overflow:visible}
}


/* 0.6.24 — priorità visuale, WCAG e touch */
.eps-sr-only{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.eps-card-featured{
  position:relative;
  border-width:2px!important;
  border-color:color-mix(in srgb,var(--eps-accent) 55%,transparent)!important;
  box-shadow:0 8px 26px color-mix(in srgb,var(--eps-accent) 14%,transparent);
}
.eps-featured-badge{
  position:absolute;z-index:3;top:10px;left:10px;
  display:inline-flex;align-items:center;
  min-height:28px;padding:4px 10px;
  border-radius:999px;
  background:var(--eps-accent);color:#fff;
  font-size:12px;font-weight:800;line-height:1;
}
.eps-events.eps-count-4 .eps-card-featured,
.eps-events.eps-count-5 .eps-card-featured,
.eps-events.eps-count-6 .eps-card-featured{
  grid-column:span 1;
}
.eps-carousel-prev,.eps-carousel-next,.eps-show-more,.eps-close,.eps-cta{
  touch-action:manipulation;
}
@media(pointer:coarse){
  .eps-carousel-prev,.eps-carousel-next,.eps-close{min-width:48px!important;min-height:48px!important}
  .eps-show-more,.eps-cta{min-height:48px!important;padding-top:12px!important;padding-bottom:12px!important}
}
@media(forced-colors:active){
  .eps-modal,.eps-card,.eps-cta,.eps-close,.eps-carousel-prev,.eps-carousel-next,.eps-show-more{
    forced-color-adjust:auto;
    border:1px solid ButtonText!important;
  }
  .eps-featured-badge{border:1px solid HighlightText}
}
@media(prefers-contrast:more){
  .eps-card{border-width:2px}
  .eps-schedule-date,.eps-schedule-time,.eps-card h3{font-weight:900}
}

/* 0.6.25 — testo CTA/controlli con contrasto automatico */
.eps-cta,.eps-close,.eps-show-more,.eps-featured-badge{
  color:var(--eps-accent-text,#fff)!important;
}


/* 0.6.33 — data/orario evento: semantica chiara e maggiore leggibilità */
.eps-event-when{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:12px 14px!important;
}
.eps-when-row{
    display:grid;
    grid-template-columns:minmax(135px,auto) minmax(0,1fr);
    align-items:center;
    gap:14px;
}
.eps-when-label{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:11px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.035em;
    color:color-mix(in srgb,var(--eps-text) 72%,var(--eps-accent));
}
.eps-when-label .dashicons{
    width:18px;
    height:18px;
    font-size:18px;
}
.eps-when-value{
    min-width:0;
    font-size:clamp(20px,1.55vw,27px);
    line-height:1.08;
    font-weight:900;
    color:var(--eps-accent);
    overflow-wrap:anywhere;
}
.eps-when-date .eps-when-value{
    color:var(--eps-text);
}
.eps-when-time .eps-when-value{
    font-size:clamp(22px,1.8vw,30px);
}
.eps-when-arrow{
    display:inline-block;
    padding:0 .2em;
    color:var(--eps-accent);
    font-weight:900;
}

@media(max-width:720px){
    .eps-when-row{
        grid-template-columns:1fr;
        gap:3px;
    }
    .eps-when-value{
        font-size:20px;
    }
    .eps-when-time .eps-when-value{
        font-size:24px;
    }
}


/* 0.6.36 — date/orari distinti per ogni giorno */
.eps-multiday-event-list{
    display:flex;
    flex-direction:column;
    width:100%;
    gap:0;
}
.eps-multiday-event-row{
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto;
    align-items:center;
    gap:14px;
    padding:8px 2px;
    border-bottom:1px solid color-mix(in srgb,var(--eps-accent) 18%,transparent);
}
.eps-multiday-event-row:last-child{border-bottom:0}
.eps-multiday-date,
.eps-multiday-time{
    display:flex;
    align-items:center;
    gap:7px;
}
.eps-multiday-date{
    font-size:clamp(17px,1.25vw,21px);
    color:var(--eps-text);
    font-weight:900;
}
.eps-multiday-time{
    font-size:clamp(20px,1.5vw,25px);
    color:var(--eps-accent);
    font-weight:900;
    white-space:nowrap;
}
.eps-multiday-date .dashicons,
.eps-multiday-time .dashicons{
    width:19px;height:19px;font-size:19px;
}
@media(max-width:640px){
    .eps-multiday-event-row{
        grid-template-columns:1fr;
        gap:4px;
    }
    .eps-multiday-time{font-size:22px}
}


/* 0.6.37 — luogo evento opzionale */
.eps-event-where{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin:8px 0 10px;
    padding:8px 10px;
    border-radius:8px;
    background:color-mix(in srgb,var(--eps-accent) 7%,var(--eps-bg));
    color:var(--eps-text);
    font-size:14px;
    line-height:1.35;
}
.eps-event-where .dashicons{
    flex:0 0 18px;
    width:18px;height:18px;font-size:18px;
    color:var(--eps-accent);
}
.eps-event-where strong{font-weight:900}


/* 0.6.41 — evento singolo e orario "Tutto il giorno" */
.eps-when-time .eps-when-value{white-space:normal}


/* 0.6.46 — Titolo evento in testa alla Card */
.eps-card-body>.eps-event-title{
    order:-10;
    margin:0 0 12px;
}
.eps-card-body>.eps-event-schedule{
    margin-top:0;
}


/* 0.6.49 — gerarchia visiva stabile: Titolo > Data/Ora > Dove */
.eps-card-body>.eps-event-title{
    margin:0 0 14px!important;
    font-size:clamp(28px,2.05vw,36px)!important;
    line-height:1.12!important;
    font-weight:900!important;
    letter-spacing:-0.015em!important;
    color:var(--eps-text)!important;
}
.eps-card-body>.eps-event-title a{
    color:inherit!important;
    text-decoration:none!important;
    font-weight:inherit!important;
}
.eps-card-body>.eps-event-title::after{
    content:"";
    display:block;
    width:52px;
    height:3px;
    margin-top:8px;
    border-radius:999px;
    background:var(--eps-accent);
    opacity:.9;
}

.eps-event-when .eps-when-label{
    font-size:14px!important;
    line-height:1.15!important;
    font-weight:900!important;
    letter-spacing:.045em!important;
}
.eps-event-when .eps-when-label .dashicons{
    width:20px!important;
    height:20px!important;
    font-size:20px!important;
}
.eps-event-when .eps-when-value{
    font-size:clamp(25px,1.9vw,32px)!important;
    line-height:1.06!important;
    font-weight:900!important;
}
.eps-event-when .eps-when-time .eps-when-value{
    font-size:clamp(28px,2.15vw,36px)!important;
}
.eps-event-when{
    padding:14px 16px!important;
    gap:10px!important;
}
.eps-event-when .eps-when-row{
    grid-template-columns:minmax(150px,auto) minmax(0,1fr)!important;
    gap:16px!important;
}

@media(max-width:900px){
    .eps-card-body>.eps-event-title{
        font-size:clamp(25px,3.3vw,31px)!important;
        margin-bottom:12px!important;
    }
    .eps-event-when .eps-when-label{
        font-size:13px!important;
    }
    .eps-event-when .eps-when-value{
        font-size:25px!important;
    }
    .eps-event-when .eps-when-time .eps-when-value{
        font-size:28px!important;
    }
    .eps-event-when .eps-when-row{
        grid-template-columns:135px minmax(0,1fr)!important;
        gap:12px!important;
    }
}

@media(max-width:640px){
    .eps-card-body>.eps-event-title{
        font-size:25px!important;
        line-height:1.15!important;
    }
    .eps-card-body>.eps-event-title::after{
        width:42px;
        height:3px;
        margin-top:6px;
    }
    .eps-event-when .eps-when-row{
        grid-template-columns:1fr!important;
        gap:4px!important;
    }
    .eps-event-when .eps-when-label{
        font-size:12px!important;
    }
    .eps-event-when .eps-when-value{
        font-size:23px!important;
    }
    .eps-event-when .eps-when-time .eps-when-value{
        font-size:26px!important;
    }
}


/* 0.7.9 — hardening responsive mobile: nessun overflow orizzontale */
html:has(.eps-popup-root.is-open),
body:has(.eps-popup-root.is-open){
    max-width:100%;
    overflow-x:hidden!important;
}

.eps-popup-root,
.eps-popup-root *,
.eps-popup-root *::before,
.eps-popup-root *::after{
    box-sizing:border-box;
}

.eps-popup-root{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
}

.eps-popup-root .eps-modal{
    width:min(var(--eps-width, 1100px), calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:hidden!important;
}

.eps-popup-root .eps-events,
.eps-popup-root .eps-card,
.eps-popup-root .eps-card-body,
.eps-popup-root .eps-event-schedule,
.eps-popup-root .eps-event-when,
.eps-popup-root .eps-multiday-event-list,
.eps-popup-root .eps-multiday-event-row,
.eps-popup-root .eps-site-brand,
.eps-popup-root .eps-header{
    min-width:0!important;
    max-width:100%!important;
}

.eps-popup-root img{
    max-width:100%!important;
    height:auto;
}

.eps-popup-root .eps-event-title,
.eps-popup-root .eps-event-title a,
.eps-popup-root .eps-card-content,
.eps-popup-root .eps-event-where,
.eps-popup-root .eps-when-value,
.eps-popup-root .eps-multiday-date,
.eps-popup-root .eps-multiday-time,
.eps-popup-root .eps-site-name{
    overflow-wrap:anywhere!important;
    word-break:break-word;
}

@media(max-width:640px){
    .eps-popup-root{
        padding-left:8px!important;
        padding-right:8px!important;
    }

    .eps-popup-root .eps-modal{
        width:calc(100vw - 16px)!important;
        max-width:calc(100vw - 16px)!important;
        margin:8px auto!important;
    }

    .eps-popup-root .eps-events{
        grid-template-columns:minmax(0,1fr)!important;
        width:100%!important;
    }

    .eps-popup-root .eps-card{
        width:100%!important;
        max-width:100%!important;
    }

    .eps-popup-root .eps-event-when .eps-when-row{
        grid-template-columns:minmax(0,1fr)!important;
        width:100%!important;
    }

    .eps-popup-root .eps-multiday-event-row{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:4px!important;
    }

    .eps-popup-root .eps-cta{
        max-width:100%!important;
        white-space:normal!important;
    }

    .eps-popup-root .eps-close{
        right:8px!important;
    }
}


/* ============================================================
 * 0.8.1 — MULTI EVENTO: SOLO SCROLL VERTICALE
 * ============================================================
 *
 * Regole:
 * - mai scrollbar orizzontale nel popup;
 * - header e chiusura restano nella cornice del popup;
 * - l'area eventi usa solo scroll verticale quando necessario;
 * - con 2 eventi le card hanno altezza naturale e CTA sempre visibile;
 * - da 3 eventi in poi lo spazio viene gestito verticalmente.
 */

.eps-popup-root .eps-modal{
    overflow-x:hidden!important;
}

.eps-space-maximize .eps-modal{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
}

.eps-space-maximize .eps-header{
    flex:0 0 auto!important;
    min-width:0!important;
}

.eps-space-maximize .eps-events{
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    width:100%!important;
    max-width:100%!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;

    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
}

/* Tutte le card restano dentro la larghezza disponibile. */
.eps-space-maximize .eps-card,
.eps-space-maximize .eps-card-body,
.eps-space-maximize .eps-image-link{
    min-width:0!important;
    max-width:100%!important;
}

/* 2 eventi: una card sotto l'altra, altezza naturale.
   Evita che il fondo della seconda card/CTA venga troncato. */
.eps-space-maximize .eps-events.eps-count-2{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:none!important;
    align-content:start!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-card{
    width:100%!important;
    height:auto!important;
    min-height:280px!important;
    max-height:none!important;
    flex:0 0 auto!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-card-body{
    min-height:0!important;
    overflow:visible!important;
}

/* Il CTA non deve essere tagliato sul fondo. */
.eps-space-maximize .eps-events.eps-count-2 .eps-cta{
    flex:0 0 auto!important;
    margin-top:12px!important;
    margin-bottom:0!important;
}

/* 3+ eventi: nessun allargamento orizzontale.
   L'eventuale eccedenza viene gestita solo verticalmente. */
.eps-space-maximize .eps-events.eps-count-3,
.eps-space-maximize .eps-events.eps-count-4,
.eps-space-maximize .eps-events.eps-count-5,
.eps-space-maximize .eps-events.eps-count-6,
.eps-space-maximize .eps-events[class*="eps-count-7"],
.eps-space-maximize .eps-events[class*="eps-count-8"],
.eps-space-maximize .eps-events[class*="eps-count-9"]{
    max-width:100%!important;
    overflow-x:hidden!important;
}

/* Desktop: le immagini non devono forzare una larghezza minima della card. */
@media(min-width:901px){
    .eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
        flex:0 1 38%!important;
        width:38%!important;
        min-width:0!important;
        max-width:460px!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card img{
        width:100%!important;
        max-width:100%!important;
        height:100%!important;
        min-height:0!important;
        object-fit:contain!important;
    }
}

/* Tablet/mobile: nessun elemento può ampliare il viewport. */
@media(max-width:900px){
    .eps-space-maximize .eps-events{
        padding-right:0!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card{
        min-height:0!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
        min-width:0!important;
    }
}

@media(max-width:640px){
    .eps-space-maximize .eps-events{
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card{
        width:100%!important;
        max-width:100%!important;
        min-height:0!important;
    }
}


/* ============================================================
 * 0.8.2 — 2 EVENTI: TITOLI E CTA SEMPRE VISIBILI
 * ============================================================
 *
 * Per due eventi il popup non usa scroll orizzontale e non
 * sacrifica mai titolo, data/ora, luogo o pulsante CTA.
 * Se lo spazio verticale è limitato, viene compressa soltanto
 * la descrizione testuale.
 */

.eps-space-maximize .eps-events.eps-count-2{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    align-content:stretch!important;
    overflow-x:hidden!important;
    overflow-y:hidden!important;
    gap:14px!important;
}

/* Ogni card occupa esattamente metà area disponibile. */
.eps-space-maximize .eps-events.eps-count-2 .eps-card{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
}

/* Immagine: non forza mai l'altezza o la larghezza della card. */
.eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
    flex:0 0 min(36%,430px)!important;
    width:min(36%,430px)!important;
    min-width:0!important;
    max-width:430px!important;
    height:100%!important;
    overflow:hidden!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
}

/*
 * Struttura interna:
 * 1 titolo
 * 2 data/ora
 * 3 luogo
 * 4 descrizione elastica
 * 5 CTA
 */
.eps-space-maximize .eps-events.eps-count-2 .eps-card-body{
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    padding:8px 18px 10px!important;
    overflow:hidden!important;

    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
    align-content:stretch!important;
    justify-content:stretch!important;
    gap:6px!important;
}

/* Titolo: niente centratura verticale e niente taglio superiore. */
.eps-space-maximize .eps-events.eps-count-2 .eps-card-body>.eps-event-title{
    order:initial!important;
    align-self:start!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(25px,2vw,32px)!important;
    line-height:1.06!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-card-body>.eps-event-title::after{
    width:48px!important;
    height:3px!important;
    margin-top:6px!important;
}

/* Data/Ora più compatte senza perdere leggibilità. */
.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule{
    margin:0!important;
    min-height:0!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-event-when{
    padding:9px 12px!important;
    gap:5px!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-event-when .eps-when-row{
    grid-template-columns:minmax(145px,auto) minmax(0,1fr)!important;
    gap:10px!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-event-when .eps-when-label{
    font-size:13px!important;
    line-height:1.1!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-event-when .eps-when-value{
    font-size:clamp(22px,1.75vw,29px)!important;
    line-height:1.02!important;
}

.eps-space-maximize .eps-events.eps-count-2 .eps-event-when .eps-when-time .eps-when-value{
    font-size:clamp(25px,1.9vw,31px)!important;
}

/* Luogo sempre visibile. */
.eps-space-maximize .eps-events.eps-count-2 .eps-event-where{
    margin:0!important;
    padding:6px 9px!important;
    min-height:0!important;
    font-size:13px!important;
    line-height:1.25!important;
}

/*
 * Solo la descrizione è elastica.
 * Se manca spazio viene tagliata internamente, senza spingere
 * fuori titolo o CTA.
 */
.eps-space-maximize .eps-events.eps-count-2 .eps-card-content{
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    font-size:13px!important;
    line-height:1.35!important;

    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}

/* CTA: sempre completamente dentro la card. */
.eps-space-maximize .eps-events.eps-count-2 .eps-cta{
    align-self:end!important;
    justify-self:start!important;
    flex:0 0 auto!important;
    margin:0!important;
    max-width:100%!important;
    min-height:34px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
}

/* Tablet: manteniamo le stesse garanzie. */
@media(max-width:900px){
    .eps-space-maximize .eps-events.eps-count-2{
        grid-template-rows:repeat(2,minmax(0,1fr))!important;
        overflow-y:hidden!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card-body{
        padding:8px 12px 10px!important;
        gap:5px!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card-body>.eps-event-title{
        font-size:clamp(22px,3vw,28px)!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
        flex-basis:34%!important;
        width:34%!important;
    }
}

/* Mobile stretto: la card può diventare verticale; CTA resta visibile. */
@media(max-width:640px){
    .eps-space-maximize .eps-events.eps-count-2{
        grid-template-rows:none!important;
        overflow-y:auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card{
        height:auto!important;
        min-height:0!important;
        flex-direction:column!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-image-link{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        flex:0 0 auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card img{
        width:100%!important;
        height:auto!important;
        max-height:260px!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card-body{
        height:auto!important;
        overflow:visible!important;
        grid-template-rows:auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-2 .eps-card-content{
        -webkit-line-clamp:3!important;
    }
}


/* ============================================================
 * 0.8.3 — 4 EVENTI: GRIGLIA 2×2 LEGGIBILE
 * ============================================================
 *
 * Obiettivi:
 * - quattro eventi in 2 colonne × 2 righe;
 * - nessun testo verticale;
 * - titolo, data, ora, luogo e CTA sempre leggibili;
 * - descrizione comprimibile a 2 righe;
 * - nessun overflow orizzontale;
 * - eventuale overflow solo verticale nell'area eventi.
 */

.eps-space-maximize .eps-events.eps-count-4{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(300px,1fr))!important;
    gap:16px!important;
    align-content:start!important;

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;

    overflow-x:hidden!important;
    overflow-y:auto!important;
}

/* Card compatta e sempre dentro la propria colonna. */
.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:300px!important;
    height:100%!important;

    gap:0!important;
    overflow:hidden!important;
}

/* Immagine: circa 40% della card, senza forzare il body. */
.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    flex:0 0 40%!important;
    width:40%!important;
    max-width:40%!important;
    min-width:0!important;
    height:100%!important;
    overflow:hidden!important;
    background:color-mix(in srgb,var(--eps-bg) 94%,var(--eps-text) 6%)!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
}

/* Body: spazio riservato alle sezioni essenziali. */
.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    flex:1 1 60%!important;
    width:60%!important;
    max-width:60%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;

    padding:12px 14px 12px!important;
    overflow:hidden!important;

    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
    gap:7px!important;
}

/* Titolo: massimo 2 righe, mai tagliato verticalmente. */
.eps-space-maximize .eps-events.eps-count-4 .eps-card-body>.eps-event-title{
    margin:0!important;
    padding:0!important;
    align-self:start!important;

    font-size:clamp(22px,1.65vw,28px)!important;
    line-height:1.04!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-card-body>.eps-event-title::after{
    width:44px!important;
    height:3px!important;
    margin-top:6px!important;
}

/*
 * Data/ora: su una card 2×2 la label e il valore vanno su due righe.
 * In questo modo "24 Settembre 2026" non viene spezzato lettera per lettera.
 */
.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule{
    margin:0!important;
    min-width:0!important;
    min-height:0!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-event-when{
    padding:9px 10px!important;
    gap:7px!important;
    min-width:0!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-when-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:2px!important;
    min-width:0!important;
    align-items:start!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-when-label{
    font-size:11px!important;
    line-height:1.15!important;
    letter-spacing:.025em!important;
    white-space:normal!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-when-value{
    display:block!important;
    width:100%!important;
    min-width:0!important;

    font-size:clamp(18px,1.35vw,23px)!important;
    line-height:1.08!important;

    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
}

.eps-space-maximize .eps-events.eps-count-4 .eps-when-time .eps-when-value{
    font-size:clamp(21px,1.55vw,26px)!important;
}

/* Luogo compatto. */
.eps-space-maximize .eps-events.eps-count-4 .eps-event-where{
    margin:0!important;
    padding:6px 8px!important;
    min-height:0!important;

    font-size:12px!important;
    line-height:1.2!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
}

/* Descrizione: unica parte comprimibile. */
.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
    min-width:0!important;
    min-height:0!important;
    margin:0!important;

    font-size:12px!important;
    line-height:1.35!important;

    overflow:hidden!important;

    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}

/* CTA sempre dentro la card. */
.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    align-self:end!important;
    justify-self:start!important;

    margin:0!important;
    min-height:34px!important;
    max-width:100%!important;

    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
}

/* Desktop ampio: un po' più spazio al testo. */
@media(min-width:1180px){
    .eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
        flex-basis:38%!important;
        width:38%!important;
        max-width:38%!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
        flex-basis:62%!important;
        width:62%!important;
        max-width:62%!important;
    }
}

/* Tablet: una sola colonna, card orizzontali e leggibili. */
@media(max-width:900px){
    .eps-space-maximize .eps-events.eps-count-4{
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:none!important;
        overflow-y:auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card{
        min-height:270px!important;
        height:auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
        height:auto!important;
    }
}

/* Mobile: card verticali, solo scroll verticale. */
@media(max-width:640px){
    .eps-space-maximize .eps-events.eps-count-4 .eps-card{
        flex-direction:column!important;
        min-height:0!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        flex:0 0 auto!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card img{
        height:auto!important;
        max-height:240px!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        grid-template-rows:auto!important;
        overflow:visible!important;
    }

    .eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
        -webkit-line-clamp:3!important;
    }
}


/* 0.8.5 — hidden deve prevalere sui layout flex/grid.
   Evita che card nascoste dal carousel vengano rese visibili da display:flex!important. */
.eps-popup-root .eps-card[hidden],
.eps-popup-root [hidden]{
    display:none!important;
}

/* Fino a 4 eventi i controlli carousel non servono mai.
   La classe data-count è sul contenitore eventi. */
.eps-popup-root .eps-events.eps-count-1 ~ .eps-carousel-controls,
.eps-popup-root .eps-events.eps-count-2 ~ .eps-carousel-controls,
.eps-popup-root .eps-events.eps-count-3 ~ .eps-carousel-controls,
.eps-popup-root .eps-events.eps-count-4 ~ .eps-carousel-controls{
    display:none!important;
}


/* ============================================================
 * 0.8.8 — 5+ EVENTI: STRISCIA ORIZZONTALE
 * ============================================================ */
.eps-popup-root .eps-events.eps-many-horizontal{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 2px 12px!important;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    scrollbar-gutter:stable;
    overscroll-behavior-x:contain;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-card{
    flex:0 0 clamp(270px,32%,360px)!important;
    width:clamp(270px,32%,360px)!important;
    max-width:360px!important;
    min-width:270px!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    scroll-snap-align:start;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-image-link{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:100%!important;
    height:180px!important;
    overflow:hidden!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-card img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    object-fit:contain!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-card-body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    padding:10px 12px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    overflow:visible!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-event-title{
    margin:0!important;
    font-size:22px!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-event-when{
    padding:8px 9px!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-when-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-when-label{
    font-size:11px!important;
    line-height:1.15!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-when-value{
    font-size:20px!important;
    line-height:1.08!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-event-where{
    font-size:12px!important;
    padding:6px 8px!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-card-content{
    font-size:12px!important;
    line-height:1.35!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
}
.eps-popup-root .eps-events.eps-many-horizontal .eps-cta{
    margin-top:auto!important;
    align-self:flex-start!important;
}
/* Con la barra nativa non servono i controlli carousel per 5+ in modalità scroll. */
.eps-popup-root[data-many-mode="scroll"] .eps-events.eps-many-horizontal ~ .eps-carousel-controls{
    display:none!important;
}
@media(max-width:640px){
    .eps-popup-root .eps-events.eps-many-horizontal .eps-card{
        flex-basis:82vw!important;
        width:82vw!important;
        min-width:260px!important;
        max-width:340px!important;
    }
}


/* 0.9.3 — freccia indicatore per contenuto orizzontale */
.eps-horizontal-scroll-hint{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    z-index:8;

    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid color-mix(in srgb,var(--eps-accent) 35%,#ffffff);
    background:color-mix(in srgb,var(--eps-bg) 92%,var(--eps-accent) 8%);
    color:var(--eps-accent);

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

    font-size:28px;
    line-height:1;
    font-weight:700;
    cursor:pointer;

    box-shadow:0 3px 12px rgba(0,0,0,.18);
    transition:opacity .18s ease, transform .18s ease;
}

.eps-horizontal-scroll-hint:hover{
    transform:translateY(-50%) scale(1.06);
}

.eps-horizontal-scroll-hint[hidden]{
    display:none!important;
}

.eps-modal{
    position:relative;
}

@media(max-width:640px){
    .eps-horizontal-scroll-hint{
        width:40px;
        height:40px;
        right:8px;
        font-size:24px;
    }
}


/* ============================================================
 * 0.9.5 — FRECCIA ORIZZONTALE SEMPRE VISIBILE QUANDO SERVE
 * ============================================================ */
.eps-popup-root .eps-horizontal-scroll-hint{
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:999!important;

    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0!important;

    border:3px solid #ffffff!important;
    border-radius:999px!important;
    background:var(--eps-accent)!important;
    color:#ffffff!important;

    display:none!important;
    align-items:center!important;
    justify-content:center!important;

    font-size:34px!important;
    line-height:1!important;
    font-weight:900!important;
    text-align:center!important;

    cursor:pointer!important;
    box-shadow:0 4px 18px rgba(0,0,0,.35)!important;
    opacity:0!important;
    pointer-events:none!important;

    transition:opacity .15s ease, transform .15s ease!important;
}

.eps-popup-root.eps-has-horizontal-overflow:not(.eps-horizontal-at-end) .eps-horizontal-scroll-hint{
    display:flex!important;
    opacity:1!important;
    pointer-events:auto!important;
}

.eps-popup-root.eps-has-horizontal-overflow:not(.eps-horizontal-at-end) .eps-horizontal-scroll-hint[hidden]{
    display:flex!important;
}

.eps-popup-root.eps-horizontal-at-end .eps-horizontal-scroll-hint{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
}

.eps-popup-root .eps-horizontal-scroll-hint:hover{
    transform:translateY(-50%) scale(1.08)!important;
}

.eps-popup-root .eps-horizontal-scroll-hint:focus-visible{
    outline:3px solid #ffffff!important;
    outline-offset:3px!important;
}

/* Piccolo gradiente sul bordo destro per segnalare che c'è altro contenuto. */
.eps-popup-root.eps-has-horizontal-overflow:not(.eps-horizontal-at-end) .eps-modal::after{
    content:""!important;
    position:absolute!important;
    top:90px!important;
    right:0!important;
    bottom:24px!important;
    width:72px!important;
    z-index:7!important;
    pointer-events:none!important;
    background:linear-gradient(to right,transparent,color-mix(in srgb,var(--eps-bg) 92%,transparent))!important;
}

@media(max-width:640px){
    .eps-popup-root .eps-horizontal-scroll-hint{
        right:6px!important;
        width:46px!important;
        height:46px!important;
        min-width:46px!important;
        min-height:46px!important;
        font-size:30px!important;
    }
}


/* ============================================================
 * 0.9.8 — NAVIGAZIONE ORIZZONTALE SOTTO LE CARD
 * ============================================================ */

/* Il vecchio pulsante flottante non deve più comparire. */
.eps-popup-root .eps-horizontal-scroll-hint{
    display:none!important;
}

/* Il gradiente laterale della 0.9.5 non serve più. */
.eps-popup-root.eps-has-horizontal-overflow:not(.eps-horizontal-at-end) .eps-modal::after{
    display:none!important;
    content:none!important;
}

.eps-popup-root .eps-horizontal-nav{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    align-items:center;
    gap:10px;

    width:100%;
    max-width:100%;
    margin:8px 0 2px;
    padding:0 2px;

    box-sizing:border-box;
}

.eps-popup-root .eps-horizontal-nav[hidden]{
    display:none!important;
}

.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;

    padding:0;
    border:0;
    background:transparent;
    color:var(--eps-accent);

    font-size:32px;
    line-height:1;
    font-weight:500;

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

    cursor:pointer;
    opacity:.95;
    transition:opacity .15s ease, transform .15s ease;
}

.eps-popup-root .eps-horizontal-prev:hover:not(:disabled),
.eps-popup-root .eps-horizontal-next:hover:not(:disabled){
    transform:scale(1.08);
}

.eps-popup-root .eps-horizontal-prev:disabled,
.eps-popup-root .eps-horizontal-next:disabled{
    opacity:.22;
    cursor:default;
}

.eps-popup-root .eps-horizontal-nav-center{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}

.eps-popup-root .eps-horizontal-track{
    position:relative;
    width:100%;
    height:5px;
    overflow:hidden;

    border-radius:999px;
    background:color-mix(in srgb,var(--eps-text) 12%,transparent);
}

.eps-popup-root .eps-horizontal-progress{
    display:block;
    width:18%;
    height:100%;

    border-radius:999px;
    background:var(--eps-accent);

    transition:width .12s ease;
}

.eps-popup-root .eps-horizontal-nav-label{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    color:color-mix(in srgb,var(--eps-text) 78%,var(--eps-accent) 22%);
    font-size:13px;
    font-weight:600;
    line-height:1.25;
    text-align:center;
}

.eps-popup-root .eps-horizontal-nav-label span{
    color:var(--eps-accent);
    font-size:22px;
    font-weight:700;
    line-height:1;
}

/* Manteniamo la scrollbar nativa sotto le card. */
.eps-popup-root .eps-events.eps-many-horizontal{
    padding-bottom:10px!important;
}

/* Più compatto su smartphone. */
@media(max-width:640px){
    .eps-popup-root .eps-horizontal-nav{
        grid-template-columns:30px minmax(0,1fr) 30px;
        gap:6px;
        margin-top:6px;
    }

    .eps-popup-root .eps-horizontal-prev,
    .eps-popup-root .eps-horizontal-next{
        width:30px;
        height:30px;
        min-width:30px;
        min-height:30px;
        font-size:28px;
    }

    .eps-popup-root .eps-horizontal-nav-label{
        font-size:12px;
    }
}


/* ============================================================
 * 0.9.9 — INDICATORE "ALTRI EVENTI" DEFINITIVO
 * Freccia in basso, orientata a destra.
 * ============================================================ */
.eps-popup-root .eps-horizontal-nav{
    margin-top:6px!important;
    padding-bottom:2px!important;
}

.eps-popup-root .eps-horizontal-nav-center{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:10px!important;
}

/* Barra sopra, indicatore sotto. */
.eps-popup-root .eps-horizontal-track{
    order:1!important;
}

.eps-popup-root .eps-horizontal-nav-label{
    order:2!important;
    margin-top:0!important;
    min-height:30px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;

    font-size:13px!important;
    font-weight:600!important;
    line-height:1.2!important;
    white-space:nowrap!important;
}

/* Il simbolo deve comunicare chiaramente "continua verso destra". */
.eps-popup-root .eps-horizontal-nav-label .eps-more-events-arrow{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    color:var(--eps-accent)!important;
    font-size:31px!important;
    font-family:Arial,sans-serif!important;
    font-weight:700!important;
    line-height:.8!important;

    transform:none!important;
    writing-mode:horizontal-tb!important;
}

/* Le frecce laterali restano semplici e discrete. */
.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    align-self:start!important;
    margin-top:-4px!important;
}

/* Quando siamo alla fine, la dicitura può restare ma l'indicatore si attenua. */
.eps-popup-root.eps-horizontal-at-end .eps-horizontal-nav-label .eps-more-events-arrow{
    opacity:.28!important;
}

@media(max-width:640px){
    .eps-popup-root .eps-horizontal-nav-label{
        white-space:normal!important;
        text-align:center!important;
        gap:6px!important;
    }

    .eps-popup-root .eps-horizontal-nav-label .eps-more-events-arrow{
        font-size:27px!important;
    }
}


/* ============================================================
 * 0.10.0 — FRECCIA DAVVERO SOTTO LA BARRA
 * ============================================================ */
.eps-popup-root .eps-horizontal-nav-center{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
}

.eps-popup-root .eps-horizontal-track{
    order:1!important;
    width:100%!important;
}

.eps-popup-root .eps-horizontal-nav-label{
    order:2!important;
    width:100%!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;

    margin:0!important;
    padding:0!important;
    text-align:center!important;
}

.eps-popup-root .eps-horizontal-nav-label .eps-more-events-arrow{
    display:block!important;
    width:100%!important;

    color:var(--eps-accent)!important;
    font-family:Arial,sans-serif!important;
    font-size:34px!important;
    font-weight:700!important;
    line-height:.85!important;
    text-align:center!important;

    transform:none!important;
    writing-mode:horizontal-tb!important;
}

.eps-popup-root .eps-horizontal-nav-label .eps-more-events-text{
    display:block!important;
    width:100%!important;

    color:color-mix(in srgb,var(--eps-text) 78%,var(--eps-accent) 22%)!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-align:center!important;
}

/* Le frecce laterali rimangono ai lati della barra. */
.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    align-self:start!important;
    margin-top:-5px!important;
}

/* A fine lista attenuiamo solo l'indicatore centrale. */
.eps-popup-root.eps-horizontal-at-end .eps-more-events-arrow{
    opacity:.28!important;
}

@media(max-width:640px){
    .eps-popup-root .eps-horizontal-nav-label .eps-more-events-arrow{
        font-size:30px!important;
    }

    .eps-popup-root .eps-horizontal-nav-label .eps-more-events-text{
        font-size:12px!important;
    }
}


/* ============================================================
 * 0.10.1 — ORDINE CONTROLLI ORIZZONTALI
 * 1. freccine
 * 2. barra
 * 3. indicatore/testo
 * ============================================================ */
.eps-popup-root .eps-horizontal-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    gap:6px!important;
    width:100%!important;
}

/* Freccine nella prima riga */
.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    position:static!important;
    margin:0!important;
    align-self:auto!important;

    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    font-size:28px!important;
}

.eps-popup-root .eps-horizontal-prev{
    grid-row:1!important;
    grid-column:1!important;
    justify-self:start!important;
}

.eps-popup-root .eps-horizontal-next{
    grid-row:1!important;
    grid-column:1!important;
    justify-self:end!important;
}

/* Il blocco centrale occupa barra + indicatore */
.eps-popup-root .eps-horizontal-nav-center{
    grid-row:2 / span 2!important;
    grid-column:1!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    width:100%!important;
}

/* Barra subito sotto le freccine */
.eps-popup-root .eps-horizontal-track{
    order:1!important;
    width:100%!important;
}

/* Indicatore/testo sotto la barra */
.eps-popup-root .eps-horizontal-nav-label{
    order:2!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
}

@media(max-width:640px){
    .eps-popup-root .eps-horizontal-prev,
    .eps-popup-root .eps-horizontal-next{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        min-height:28px!important;
        font-size:26px!important;
    }
}


/* ============================================================
 * 0.10.2 — FRECCINE SOTTO LA BARRA
 * 1. barra
 * 2. freccine ‹ ›
 * 3. indicatore/testo
 * ============================================================ */
.eps-popup-root .eps-horizontal-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    gap:5px!important;
    width:100%!important;
}

/* Center block supplies the bar and the final message. */
.eps-popup-root .eps-horizontal-nav-center{
    display:contents!important;
}

/* First row: scroll/progress bar. */
.eps-popup-root .eps-horizontal-track{
    grid-row:1!important;
    grid-column:1!important;
    order:initial!important;
    width:100%!important;
    margin:0!important;
}

/* Second row: navigation arrows below the bar. */
.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    grid-row:2!important;
    grid-column:1!important;
    position:static!important;
    align-self:center!important;
    margin:0!important;

    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    font-size:28px!important;
}

.eps-popup-root .eps-horizontal-prev{
    justify-self:start!important;
}

.eps-popup-root .eps-horizontal-next{
    justify-self:end!important;
}

/* Third row: more-events indicator. */
.eps-popup-root .eps-horizontal-nav-label{
    grid-row:3!important;
    grid-column:1!important;
    order:initial!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
}

@media(max-width:640px){
    .eps-popup-root .eps-horizontal-prev,
    .eps-popup-root .eps-horizontal-next{
        width:28px!important;
        height:28px!important;
        min-width:28px!important;
        min-height:28px!important;
        font-size:26px!important;
    }
}


/* ============================================================
 * 0.10.3 — CONTROLLI SOTTO LE CARD (posizione DOM via JS)
 * Card -> scrollbar nativa -> frecce -> messaggio
 * ============================================================ */
.eps-popup-root .eps-horizontal-nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    padding:0 4px 2px!important;
    gap:2px!important;
    box-sizing:border-box!important;
    position:relative!important;
}
.eps-popup-root .eps-horizontal-nav[hidden]{display:none!important;}
.eps-popup-root .eps-horizontal-nav-center{display:contents!important;}

/* Niente barra artificiale: resta quella nativa sotto le card. */
.eps-popup-root .eps-horizontal-track{display:none!important;}

/* Prima riga DOPO la scrollbar: frecce. */
.eps-popup-root .eps-horizontal-prev,
.eps-popup-root .eps-horizontal-next{
    grid-row:1!important;
    grid-column:1!important;
    position:static!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
    width:30px!important;
    height:28px!important;
    min-width:30px!important;
    min-height:28px!important;
    border:0!important;
    background:transparent!important;
    color:var(--eps-accent)!important;
    font-size:28px!important;
    line-height:1!important;
}
.eps-popup-root .eps-horizontal-prev{justify-self:start!important;}
.eps-popup-root .eps-horizontal-next{justify-self:end!important;}

/* Seconda riga: indicazione altri eventi. */
.eps-popup-root .eps-horizontal-nav-label{
    grid-row:2!important;
    grid-column:1!important;
    width:100%!important;
    margin:-2px 0 0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    text-align:center!important;
}
.eps-popup-root .eps-horizontal-nav-label .eps-more-events-arrow{
    display:block!important;
    width:100%!important;
    font-size:30px!important;
    line-height:.85!important;
    text-align:center!important;
}
.eps-popup-root .eps-horizontal-nav-label .eps-more-events-text{
    display:block!important;
    width:100%!important;
    font-size:13px!important;
    line-height:1.2!important;
    text-align:center!important;
}
.eps-popup-root .eps-events.eps-many-horizontal{
    padding-bottom:8px!important;
    margin-bottom:0!important;
}

/* 0.11.1 — correzione proporzioni immagine nel popup con un solo evento.
 * L'immagine deve essere sempre visibile per intero: niente crop/zoom anche
 * quando la modalità automatica la classifica come landscape. */
.eps-popup-root .eps-events.eps-count-1 .eps-image-link{
    overflow:hidden!important;
    align-items:center!important;
    justify-content:center!important;
}
.eps-popup-root .eps-events.eps-count-1 .eps-card img,
.eps-popup-root .eps-events.eps-count-1 .eps-image-mode-auto.eps-image-landscape img,
.eps-popup-root .eps-events.eps-count-1 .eps-image-mode-cover img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    padding:4px!important;
    box-sizing:border-box!important;
}
@media(max-width:640px){
    .eps-popup-root .eps-events.eps-count-1 .eps-card img,
    .eps-popup-root .eps-events.eps-count-1 .eps-image-mode-auto.eps-image-landscape img,
    .eps-popup-root .eps-events.eps-count-1 .eps-image-mode-cover img{
        height:auto!important;
        max-height:46dvh!important;
    }
}

/* 0.11.2 — protezione proporzioni immagini per qualunque numero di eventi.
 * Le card mantengono i rispettivi layout (1, 2, 3, 4 e 5+), ma nessuna
 * immagine viene deformata o ritagliata: anche Auto/Cover resta contenuta. */
.eps-popup-root .eps-events[class*="eps-count-"] .eps-image-link{
    overflow:hidden!important;
    align-items:center!important;
    justify-content:center!important;
}
.eps-popup-root .eps-events[class*="eps-count-"] .eps-card img,
.eps-popup-root .eps-events[class*="eps-count-"] .eps-image-mode-auto.eps-image-landscape img,
.eps-popup-root .eps-events[class*="eps-count-"] .eps-image-mode-cover img{
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    box-sizing:border-box!important;
}


/* 0.11.3 — layout adattivo: l'area utile del popup viene realmente usata.
 * Un'immagine orizzontale non viene più confinata in una colonna verticale alta:
 * passa sopra al contenuto e sfrutta tutta la larghezza. Le immagini verticali/quadrate
 * restano affiancate. Nessun crop: object-fit:contain. */
@media(min-width:641px){
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    min-height:100%!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link{
    flex:0 1 auto!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    max-height:58%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:0!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-card-body{
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    padding:18px 22px!important;
  }

  /* Verticale/quadrata: l'immagine occupa la propria colonna senza creare un pannello vuoto. */
  .eps-space-maximize .eps-events.eps-count-1 .eps-card:not(.eps-image-landscape) .eps-image-link{
    flex:0 1 48%!important;
    min-width:0!important;
    height:100%!important;
    background:transparent!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card:not(.eps-image-landscape) .eps-image-link img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    padding:0!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card:not(.eps-image-landscape) .eps-card-body{
    flex:1 1 52%!important;
  }
}

/* Multi-evento: il media box non deve diventare più alto dell'immagine solo per
 * pareggiare artificialmente l'altezza della card. Il contenuto assorbe lo spazio residuo. */
@media(min-width:641px){
  .eps-space-maximize .eps-events.eps-count-2 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-3 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-4 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-5 .eps-image-link,
  .eps-space-maximize .eps-events.eps-count-6 .eps-image-link{
    align-self:stretch!important;
    background:transparent!important;
  }
  .eps-space-maximize .eps-events.eps-count-2 .eps-card img,
  .eps-space-maximize .eps-events.eps-count-3 .eps-card img,
  .eps-space-maximize .eps-events.eps-count-4 .eps-card img,
  .eps-space-maximize .eps-events.eps-count-5 .eps-card img,
  .eps-space-maximize .eps-events.eps-count-6 .eps-card img{
    padding:0!important;
  }
}


/* 0.11.4 — immagine landscape a tutta larghezza dell'area utile.
 * Rimuove il limite verticale che in 0.11.3 faceva restringere l'immagine
 * pur lasciando il media-box largo. L'altezza deriva ora dal rapporto reale
 * dell'immagine: nessun crop, nessuna deformazione, nessuna banda laterale. */
@media(min-width:641px){
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link{
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* 0.11.6 — desktop compatto e proporzionato.
 * Il popup non forza più una grande area vuota: altezza determinata dal contenuto,
 * con un tetto al viewport. L'immagine singola resta completa e usa il massimo
 * spazio compatibile con titolo, data/orario e CTA visibili. */
@media (min-width: 941px){
  .eps-popup-root.eps-space-maximize .eps-modal{
    width:min(92vw,1280px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:92dvh!important;
    margin:4dvh auto!important;
    padding:20px 22px!important;
    overflow:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events{
    flex:0 1 auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card{
    min-height:0!important;
    height:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link{
    width:100%!important;
    height:auto!important;
    max-height:58dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card.eps-image-landscape .eps-image-link img{
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:58dvh!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{
    flex:0 0 auto!important;
    padding:14px 18px 16px!important;
  }
}

/* 0.11.7 — evento singolo desktop: immagine protagonista + fascia dati su una riga. */
@media (min-width: 941px){
  .eps-popup-root.eps-space-maximize .eps-modal{
    width:min(92vw,1320px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:94dvh!important;
    margin:3dvh auto!important;
    padding:18px 20px!important;
    overflow:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1{
    overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-image-link{
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    max-height:60dvh!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-image-link img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:60dvh!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{
    display:grid!important;
    grid-template-columns:minmax(220px,1.35fr) minmax(430px,2fr) auto!important;
    align-items:center!important;
    gap:12px 18px!important;
    padding:12px 16px 14px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body>.eps-event-title{
    order:0!important;
    margin:0!important;
    font-size:clamp(22px,2vw,32px)!important;
    line-height:1.08!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body>.eps-event-title::after{
    display:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    margin:0!important;
    padding:10px 14px!important;
    min-width:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-row{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-label{
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-value{
    font-size:clamp(18px,1.6vw,26px)!important;
    white-space:nowrap!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-cta{
    align-self:center!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-where,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-content{
    grid-column:1 / -1!important;
    margin:0!important;
  }
}

/* 0.11.8 — 3 eventi desktop: tre card complete, nessun crop e nessun contenuto nascosto. */
@media (min-width: 941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    align-items:start!important;
    overflow:auto!important;
    gap:16px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link{
    flex:0 0 auto!important;
    width:100%!important;
    height:clamp(150px,18dvh,220px)!important;
    min-width:0!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:color-mix(in srgb,var(--eps-bg) 96%,var(--eps-text) 4%)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-mode-auto.eps-image-landscape img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    padding:12px 14px 14px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card h3{
    margin:0 0 8px!important;
    font-size:clamp(18px,1.35vw,23px)!important;
    line-height:1.15!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule{
    margin:0 0 9px!important;
    padding:9px 10px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-content{
    max-height:7em!important;
    overflow:auto!important;
    margin-bottom:10px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-cta{
    margin-top:auto!important;
  }
}

/* 0.12.0 — isolamento definitivo layout per quantità eventi */
@media (min-width:941px){
  .eps-events.eps-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
  .eps-events.eps-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
  .eps-events.eps-count-2 .eps-card,.eps-events.eps-count-4 .eps-card{min-width:0!important;height:auto!important;min-height:0!important}
  .eps-events.eps-count-2 .eps-image-link,.eps-events.eps-count-4 .eps-image-link{height:clamp(150px,20dvh,240px)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  .eps-events.eps-count-2 .eps-image-link img,.eps-events.eps-count-4 .eps-image-link img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
  .eps-events.eps-many-horizontal{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;gap:14px!important;padding-bottom:8px!important}
  .eps-events.eps-many-horizontal .eps-card{flex:0 0 min(360px,31vw)!important;scroll-snap-align:start;min-width:280px!important;height:auto!important}
  .eps-events.eps-many-horizontal .eps-image-link{height:190px!important}
  .eps-events.eps-many-horizontal .eps-image-link img{width:100%!important;height:100%!important;object-fit:contain!important}
}
@media (max-width:940px){
  .eps-events.eps-count-2,.eps-events.eps-count-3,.eps-events.eps-count-4{grid-template-columns:1fr!important}
  .eps-events .eps-card{min-width:0!important;max-width:100%!important}
  .eps-events .eps-image-link img{max-width:100%!important;object-fit:contain!important}
}

/* 0.12.1 — Motore Layout Automatico Intelligente */
@media (min-width:941px){
  .eps-popup-root.eps-smart-single-landscape .eps-modal,.eps-popup-root.eps-smart-single-balanced .eps-modal{width:min(92vw,1180px)}
  .eps-popup-root.eps-smart-single-landscape .eps-events,.eps-popup-root.eps-smart-single-balanced .eps-events{display:block}
  .eps-popup-root.eps-smart-single-landscape .eps-card,.eps-popup-root.eps-smart-single-balanced .eps-card{max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);align-items:stretch}
  .eps-popup-root.eps-smart-single-landscape .eps-image-link,.eps-popup-root.eps-smart-single-balanced .eps-image-link{width:100%!important;min-width:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--eps-text) 3%,var(--eps-bg))}
  .eps-popup-root.eps-smart-single-landscape .eps-card img,.eps-popup-root.eps-smart-single-balanced .eps-card img{width:100%!important;height:auto!important;max-height:62vh!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root.eps-smart-single-landscape .eps-card-body,.eps-popup-root.eps-smart-single-balanced .eps-card-body{padding:20px!important;justify-content:center}
  .eps-popup-root.eps-smart-single-portrait .eps-modal{width:min(88vw,980px)}
  .eps-popup-root.eps-smart-single-portrait .eps-card{max-width:none!important;display:grid!important;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr)}
  .eps-popup-root.eps-smart-single-portrait .eps-image-link{width:100%!important;display:flex;justify-content:center;background:color-mix(in srgb,var(--eps-text) 3%,var(--eps-bg))}
  .eps-popup-root.eps-smart-single-portrait .eps-card img{width:100%!important;height:auto!important;max-height:68vh!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root.eps-smart-pair-wide .eps-events,.eps-popup-root.eps-smart-pair-portrait .eps-events{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .eps-popup-root.eps-smart-pair-wide .eps-card,.eps-popup-root.eps-smart-pair-portrait .eps-card{display:block!important;min-height:0!important}
  .eps-popup-root.eps-smart-pair-wide .eps-image-link,.eps-popup-root.eps-smart-pair-portrait .eps-image-link{width:100%!important;display:flex;justify-content:center;background:color-mix(in srgb,var(--eps-text) 3%,var(--eps-bg))}
  .eps-popup-root.eps-smart-pair-wide .eps-card img,.eps-popup-root.eps-smart-pair-portrait .eps-card img{width:100%!important;height:clamp(210px,30vh,340px)!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root.eps-smart-trio-grid .eps-events,.eps-popup-root.eps-smart-trio-portrait .eps-events{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .eps-popup-root.eps-smart-trio-grid .eps-card,.eps-popup-root.eps-smart-trio-portrait .eps-card{display:block!important;min-height:0!important}
  .eps-popup-root.eps-smart-trio-grid .eps-image-link,.eps-popup-root.eps-smart-trio-portrait .eps-image-link{width:100%!important;display:flex!important;justify-content:center;background:color-mix(in srgb,var(--eps-text) 3%,var(--eps-bg))}
  .eps-popup-root.eps-smart-trio-grid .eps-card img,.eps-popup-root.eps-smart-trio-portrait .eps-card img{width:100%!important;height:clamp(180px,25vh,280px)!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root.eps-smart-quad-grid .eps-events{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .eps-popup-root.eps-smart-quad-grid .eps-card img{object-fit:contain!important}
}
@media (max-width:940px){
  .eps-popup-root[class*="eps-smart-"] .eps-card{min-height:0!important}
  .eps-popup-root[class*="eps-smart-"] .eps-card img{object-fit:contain!important}
}

/* 0.12.2 — rifinitura layout automatico approvato + titolo evento in evidenza */
.eps-popup-root .eps-card-body>.eps-event-title{
  color:var(--eps-accent)!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
  line-height:1.08!important;
  margin:0 0 12px!important;
  text-wrap:balance;
}
.eps-popup-root .eps-card-body>.eps-event-title a{color:inherit!important;font-weight:inherit!important}

@media (min-width:941px){
  /* 1 evento: gerarchia forte senza sottrarre spazio all'immagine */
  .eps-popup-root .eps-events.eps-count-1 .eps-event-title{font-size:clamp(28px,2.35vw,42px)!important}

  /* 2 eventi: le due card vengono centrate verticalmente nell'area utile. */
  .eps-popup-root .eps-events.eps-count-2{
    align-items:center!important;
    align-content:center!important;
    min-height:clamp(430px,64dvh,680px)!important;
  }
  .eps-popup-root .eps-events.eps-count-2 .eps-card{
    align-self:center!important;
    width:100%!important;
    max-height:min(68dvh,650px)!important;
  }
  .eps-popup-root .eps-events.eps-count-2 .eps-image-link{
    height:clamp(180px,25dvh,290px)!important;
  }
  .eps-popup-root .eps-events.eps-count-2 .eps-event-title{
    font-size:clamp(22px,1.65vw,30px)!important;
  }

  /* 3 eventi: tre colonne equilibrate, titoli leggibili e card allineate. */
  .eps-popup-root .eps-events.eps-count-3{align-items:stretch!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-card{height:100%!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-event-title{font-size:clamp(20px,1.4vw,27px)!important}

  /* 4 eventi: 2x2 compatto, con titolo evidente ma senza rubare spazio ai dati. */
  .eps-popup-root .eps-events.eps-count-4{align-items:stretch!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card{height:100%!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-event-title{font-size:clamp(19px,1.25vw,25px)!important}
}

@media (max-width:940px){
  .eps-popup-root .eps-card-body>.eps-event-title{font-size:clamp(20px,5vw,27px)!important;margin-bottom:10px!important}
  .eps-popup-root .eps-events.eps-count-2{min-height:0!important}
}

/* 0.12.5 — singolo evento: composizione automatica testo a sinistra / immagine a destra */
@media (min-width:941px){
  .eps-popup-root .eps-events.eps-count-1{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:auto!important;
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-card{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;
    grid-template-areas:"content image"!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-card-body{
    grid-area:content!important;
    min-width:0!important;
    padding:clamp(22px,3vw,42px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link{
    grid-area:image!important;
    width:100%!important;
    height:auto!important;
    min-height:360px!important;
    max-height:68dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:color-mix(in srgb,var(--eps-text) 3%,var(--eps-bg))!important;
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link img,
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1 .eps-card img,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1 .eps-card img,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1 .eps-card img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:68dvh!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-event-schedule{
    width:100%!important;
  }
}
@media (max-width:940px){
  .eps-popup-root .eps-events.eps-count-1 .eps-card{display:flex!important;flex-direction:column!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link{order:0;width:100%!important;height:auto!important;min-height:0!important;max-height:42dvh!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link img{width:100%!important;height:auto!important;max-height:42dvh!important;object-fit:contain!important;object-position:center!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-card-body{order:1!important}
}


/* 0.12.6 — motore layout unificato 1/2/3/4 eventi.
   Le regole dipendono dal profilo calcolato dal plugin e non da eccezioni grafiche isolate. */
@media (min-width:941px){
  /* 1 evento: informazioni a sinistra, immagine a destra. */
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1{display:block!important}
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1 .eps-card,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1 .eps-card,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1 .eps-card{
    display:grid!important;grid-template-areas:"content image"!important;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;
    width:100%!important;max-width:none!important;min-height:clamp(390px,58dvh,620px)!important
  }
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1 .eps-card-body,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1 .eps-card-body,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1 .eps-card-body{grid-area:content!important;padding:clamp(22px,3vw,42px)!important;justify-content:center!important}
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1 .eps-image-link,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1 .eps-image-link,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1 .eps-image-link{
    grid-area:image!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important
  }
  .eps-popup-root.eps-smart-single-portrait .eps-events.eps-count-1 .eps-image-link img,
  .eps-popup-root.eps-smart-single-landscape .eps-events.eps-count-1 .eps-image-link img,
  .eps-popup-root.eps-smart-single-balanced .eps-events.eps-count-1 .eps-image-link img{
    width:100%!important;height:100%!important;max-height:62dvh!important;object-fit:contain!important;object-position:center!important
  }

  /* 2 eventi: due card equivalenti; immagine sopra per non comprimere testo/date. */
  .eps-popup-root.eps-smart-pair-portrait .eps-events.eps-count-2,
  .eps-popup-root.eps-smart-pair-wide .eps-events.eps-count-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;min-height:0!important;align-items:stretch!important}
  .eps-popup-root.eps-smart-pair-portrait .eps-events.eps-count-2 .eps-card,
  .eps-popup-root.eps-smart-pair-wide .eps-events.eps-count-2 .eps-card{display:flex!important;flex-direction:column!important;height:100%!important;max-height:none!important}
  .eps-popup-root.eps-smart-pair-portrait .eps-events.eps-count-2 .eps-image-link,
  .eps-popup-root.eps-smart-pair-wide .eps-events.eps-count-2 .eps-image-link{width:100%!important;height:clamp(190px,27dvh,300px)!important;flex:0 0 auto!important}
  .eps-popup-root.eps-smart-pair-portrait .eps-events.eps-count-2 .eps-card img,
  .eps-popup-root.eps-smart-pair-wide .eps-events.eps-count-2 .eps-card img{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important}
  .eps-popup-root.eps-smart-pair-portrait .eps-events.eps-count-2 .eps-card-body,
  .eps-popup-root.eps-smart-pair-wide .eps-events.eps-count-2 .eps-card-body{padding:16px!important}

  /* 3 eventi: tre colonne; i profili con molto testo restano lista tramite smart_layout_profile(). */
  .eps-popup-root.eps-smart-trio-grid .eps-events.eps-count-3,
  .eps-popup-root.eps-smart-trio-portrait .eps-events.eps-count-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
  .eps-popup-root.eps-smart-trio-grid .eps-events.eps-count-3 .eps-card,
  .eps-popup-root.eps-smart-trio-portrait .eps-events.eps-count-3 .eps-card{display:flex!important;flex-direction:column!important;height:100%!important}
  .eps-popup-root.eps-smart-trio-grid .eps-events.eps-count-3 .eps-image-link,
  .eps-popup-root.eps-smart-trio-portrait .eps-events.eps-count-3 .eps-image-link{width:100%!important;height:clamp(165px,23dvh,255px)!important;flex:0 0 auto!important}
  .eps-popup-root.eps-smart-trio-grid .eps-events.eps-count-3 .eps-card img,
  .eps-popup-root.eps-smart-trio-portrait .eps-events.eps-count-3 .eps-card img{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important}

  /* 4 eventi: griglia 2x2. Il profilo quad-text passa automaticamente a lista solo con testi molto lunghi. */
  .eps-popup-root.eps-smart-quad-grid .eps-events.eps-count-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}
  .eps-popup-root.eps-smart-quad-grid .eps-events.eps-count-4 .eps-card{display:grid!important;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr)!important;height:100%!important}
  .eps-popup-root.eps-smart-quad-grid .eps-events.eps-count-4 .eps-image-link{width:100%!important;height:100%!important;min-height:210px!important}
  .eps-popup-root.eps-smart-quad-grid .eps-events.eps-count-4 .eps-card img{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important}
  .eps-popup-root.eps-smart-quad-grid .eps-events.eps-count-4 .eps-card-body{padding:14px!important}
}
@media (max-width:940px){
  .eps-popup-root[class*="eps-smart-"] .eps-events{grid-template-columns:1fr!important}
  .eps-popup-root[class*="eps-smart-"] .eps-card{display:flex!important;flex-direction:column!important;min-height:0!important}
  .eps-popup-root[class*="eps-smart-"] .eps-image-link{width:100%!important;height:auto!important;min-height:0!important;max-height:38dvh!important;display:flex!important;justify-content:center!important}
  .eps-popup-root[class*="eps-smart-"] .eps-image-link img{width:100%!important;height:auto!important;max-height:38dvh!important;min-height:0!important;object-fit:contain!important;object-position:center!important}
}

/* 0.12.7 — contenimento universale 1/2/3/4+ eventi.
   Regola finale: nessuna immagine, data, titolo o CTA può uscire dalla propria card. */
.eps-popup-root .eps-modal{box-sizing:border-box;overflow:hidden!important;display:flex;flex-direction:column;max-height:calc(100dvh - 16px)!important;margin:8px auto!important}
.eps-popup-root .eps-header{flex:0 0 auto}
.eps-popup-root .eps-events{flex:1 1 auto;min-height:0!important;overflow:auto!important;align-content:start}
.eps-popup-root .eps-card,.eps-popup-root .eps-card-body,.eps-popup-root .eps-image-link{box-sizing:border-box;min-width:0!important;min-height:0!important}
.eps-popup-root .eps-card{overflow:hidden!important}
.eps-popup-root .eps-card-body{overflow:visible!important}
.eps-popup-root .eps-event-title,.eps-popup-root .eps-card-content,.eps-popup-root .eps-when-value{overflow-wrap:anywhere;word-break:normal}
.eps-popup-root .eps-event-when{width:100%!important;max-width:100%!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.eps-popup-root .eps-event-when .eps-when-row{min-width:0!important;width:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important}
.eps-popup-root .eps-event-when .eps-when-value{max-width:100%!important;white-space:normal!important;line-height:1.12!important}
.eps-popup-root .eps-cta{max-width:100%;white-space:normal;text-align:center}

@media (min-width:941px){
  /* 1: testo a sinistra, locandina a destra, entrambi vincolati all'altezza utile. */
  .eps-popup-root .eps-events.eps-count-1{display:block!important;overflow:auto!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-card{
    display:grid!important;grid-template-columns:minmax(0,45fr) minmax(280px,55fr)!important;
    grid-template-areas:"content image"!important;width:100%!important;max-width:none!important;
    height:auto!important;min-height:420px!important;max-height:min(570px,calc(100dvh - 150px))!important;margin:0!important
  }
  .eps-popup-root .eps-events.eps-count-1 .eps-card-body{grid-area:content!important;padding:clamp(20px,2.4vw,34px)!important;justify-content:center!important;overflow:auto!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link{grid-area:image!important;width:100%!important;height:100%!important;max-height:min(570px,calc(100dvh - 150px))!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .eps-popup-root .eps-events.eps-count-1 .eps-image-link img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0!important;padding:8px!important;object-fit:contain!important;object-position:center!important}

  /* 2: due card affiancate; immagine sopra, così testo e data non vengono compressi lateralmente. */
  .eps-popup-root .eps-events.eps-count-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:16px!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-card{display:flex!important;flex-direction:column!important;height:auto!important;max-height:none!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-image-link{width:100%!important;height:clamp(170px,25dvh,260px)!important;flex:0 0 auto!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-image-link img{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-card-body{padding:16px!important}

  /* 3: tre card compatte; se smart_layout_profile sceglie list, la classe layout-list prevale sotto. */
  .eps-popup-root:not(.eps-layout-list) .eps-events.eps-count-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-card{display:flex!important;flex-direction:column!important;height:auto!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-image-link{width:100%!important;height:clamp(145px,20dvh,220px)!important;flex:0 0 auto!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-image-link img{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;object-fit:contain!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-card-body{padding:14px!important}

  /* 4: 2x2, immagine laterale ma con larghezza/altezza sempre contenute. */
  .eps-popup-root .eps-events.eps-count-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card{display:grid!important;grid-template-columns:minmax(130px,34%) minmax(0,1fr)!important;height:auto!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-image-link{width:100%!important;height:100%!important;max-height:300px!important;overflow:hidden!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-image-link img{width:100%!important;height:100%!important;min-height:0!important;max-height:300px!important;object-fit:contain!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card-body{padding:13px!important}

  /* Profilo lista automatico: una colonna, immagine contenuta, nessuna sovrapposizione. */
  .eps-popup-root .eps-layout-list .eps-events{grid-template-columns:1fr!important}
  .eps-popup-root .eps-layout-list .eps-card{display:grid!important;grid-template-columns:minmax(160px,28%) minmax(0,1fr)!important;height:auto!important}
  .eps-popup-root .eps-layout-list .eps-image-link{width:100%!important;height:100%!important;max-height:280px!important}
  .eps-popup-root .eps-layout-list .eps-card img{width:100%!important;height:100%!important;min-height:0!important;max-height:280px!important;object-fit:contain!important}
  .eps-popup-root .eps-layout-list .eps-card-body{padding:16px!important}
}

@media (max-width:940px){
  .eps-popup-root .eps-modal{overflow:hidden!important}
  .eps-popup-root .eps-events{grid-template-columns:1fr!important;overflow:auto!important}
  .eps-popup-root .eps-card,.eps-popup-root .eps-events.eps-count-1 .eps-card,.eps-popup-root .eps-layout-list .eps-card{display:flex!important;flex-direction:column!important;max-height:none!important;height:auto!important}
  .eps-popup-root .eps-image-link,.eps-popup-root .eps-events.eps-count-1 .eps-image-link,.eps-popup-root .eps-layout-list .eps-image-link{order:0!important;width:100%!important;height:auto!important;max-height:38dvh!important;flex:0 0 auto!important}
  .eps-popup-root .eps-image-link img,.eps-popup-root .eps-events.eps-count-1 .eps-image-link img,.eps-popup-root .eps-layout-list .eps-card img{width:100%!important;height:auto!important;max-height:38dvh!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root .eps-card-body,.eps-popup-root .eps-events.eps-count-1 .eps-card-body{order:1!important;padding:14px!important}
}
@media (max-width:640px){
  .eps-popup-root .eps-event-when{grid-template-columns:1fr!important}
  .eps-popup-root .eps-image-link,.eps-popup-root .eps-image-link img{max-height:34dvh!important}
}

/* 0.12.8 — layout finale realmente contenuto.
   Sovrascrive i vecchi profili space-maximize: immagini SEMPRE intere,
   titoli multilinea e nessuna invasione tra immagine/contenuti. */
.eps-popup-root.eps-space-maximize .eps-card,
.eps-popup-root.eps-space-maximize .eps-card-body,
.eps-popup-root.eps-space-maximize .eps-image-link{min-width:0!important;min-height:0!important;box-sizing:border-box!important}
.eps-popup-root.eps-space-maximize .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-event-title a{
  display:block!important;width:100%!important;max-width:100%!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:break-word!important;word-break:normal!important;hyphens:auto!important;
}
.eps-popup-root.eps-space-maximize .eps-image-link{overflow:hidden!important}
.eps-popup-root.eps-space-maximize .eps-image-link img{
  display:block!important;width:auto!important;height:auto!important;
  max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;
  object-fit:contain!important;object-position:center center!important;margin:auto!important;
}

@media (min-width:941px){
  /* 1 evento: testo 45% a sinistra, immagine 55% a destra. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card{
    display:grid!important;grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
    grid-template-areas:"content image"!important;align-items:stretch!important;
    width:100%!important;height:min(590px,calc(100dvh - 155px))!important;
    min-height:430px!important;max-height:590px!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{
    grid-area:content!important;display:flex!important;flex-direction:column!important;
    justify-content:center!important;align-items:stretch!important;gap:12px!important;
    width:100%!important;height:100%!important;padding:clamp(20px,2.2vw,34px)!important;
    overflow:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-image-link{
    grid-area:image!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:100%!important;max-height:100%!important;padding:10px!important;
    background:color-mix(in srgb,var(--eps-bg) 96%,var(--eps-text) 4%)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-image-link img{
    width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;padding:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title{
    order:-10!important;margin:0 0 6px!important;font-size:clamp(25px,2vw,36px)!important;line-height:1.14!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title::after{display:block!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;gap:10px!important;margin:0!important;padding:11px 13px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-row{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;
    min-width:0!important;white-space:normal!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-label,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule .eps-when-value{
    white-space:normal!important;max-width:100%!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-cta{
    align-self:flex-start!important;margin:0!important;white-space:normal!important;max-width:100%!important;
  }

  /* 2 eventi: due card indipendenti; immagini intere sopra. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:clamp(170px,24dvh,270px)!important;padding:8px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card-body{display:flex!important;flex-direction:column!important;width:100%!important;padding:16px!important}

  /* 3 eventi: tre card, senza crop; testo sempre multilinea. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card{display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:clamp(145px,20dvh,225px)!important;padding:7px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body{display:flex!important;flex-direction:column!important;width:100%!important;padding:14px!important}

  /* 4 eventi: 2x2; immagine laterale contenuta, mai tagliata. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{display:grid!important;grid-template-columns:minmax(120px,34%) minmax(0,1fr)!important;overflow:hidden!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:190px!important;max-height:300px!important;padding:7px!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{display:flex!important;flex-direction:column!important;width:100%!important;padding:13px!important}

  /* Data/ora per 2-4 eventi: può andare a capo senza invadere CTA o immagine. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-when{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:8px!important;
  }
}

@media (max-width:940px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:flex!important;flex-direction:column!important;height:auto!important;max-height:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events .eps-image-link{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:min(36dvh,320px)!important;max-height:320px!important;padding:7px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events .eps-image-link img{
    width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events .eps-card-body{display:flex!important;flex-direction:column!important;width:100%!important;padding:14px!important}
}
@media (max-width:640px){
  .eps-popup-root.eps-space-maximize .eps-event-when{grid-template-columns:1fr!important}
}

/* 0.12.10 — Titolo evento singolo: più grande, su una riga, con adattamento automatico. */
@media (min-width: 941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body>.eps-event-title{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    font-size:48px!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule{
    grid-column:1!important;
    grid-row:2!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-cta{
    grid-column:2!important;
    grid-row:2!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-where,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-content{
    grid-column:1 / -1!important;
  }
}

/* 0.12.11 — Titoli adattivi comuni per 1, 2, 3 e 4 eventi.
   La dimensione finale viene calcolata dal JS per ogni card, in base allo spazio reale. */
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
  max-width:100%!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-overflow:clip!important;
}
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title{white-space:nowrap!important;}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{white-space:normal!important;}
}


/* 0.12.12 — Titoli 1-4 eventi: parole sempre intere, multilinea e font più grande. */
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  text-wrap:wrap!important;
  max-width:100%!important;
}


/* 0.12.13 — anti-sillabazione definitivo, comune a 1-4 eventi.
   Le parole non vengono mai divise: il browser puo andare a capo solo agli spazi. */
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title a,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title a,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title a,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title a{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  -ms-hyphens:none!important;
  text-wrap:wrap!important;
  max-width:100%!important;
}


/* 0.12.14 — Interlinea titoli adattiva: più respiro verticale senza spezzare parole. */
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title{line-height:1.24!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title{line-height:1.20!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{line-height:1.18!important;}


/* 0.12.15 — più respiro verticale nel blocco informativo sinistro.
   Vale per 1-4 eventi e scala con lo spazio disponibile. */
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title{line-height:1.34!important;margin-bottom:clamp(22px,3vh,38px)!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{gap:clamp(16px,2.2vh,28px)!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule{margin-bottom:clamp(8px,1.2vh,16px)!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title{line-height:1.27!important;margin-bottom:18px!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{line-height:1.23!important;margin-bottom:15px!important;}
.eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card-body,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body,
.eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{gap:12px!important;}


/* 0.12.16 — maggiore distribuzione verticale del blocco informativo, comune 1-4 eventi. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-title{
    line-height:1.42!important;
    margin-bottom:clamp(30px,4vh,52px)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-card-body{
    gap:clamp(22px,3vh,38px)!important;
    justify-content:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-event-schedule{
    margin-bottom:clamp(14px,2vh,26px)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1 .eps-cta{
    margin-top:clamp(4px,.8vh,10px)!important;
  }

  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title{
    line-height:1.34!important; margin-bottom:24px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    line-height:1.30!important; margin-bottom:20px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card-body{gap:17px!important;}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{gap:15px!important;}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule{margin-bottom:10px!important;}
}

/* 0.12.18 — Profili compatti reali per 2/3/4 eventi.
   Ogni card si adatta allo spazio disponibile: nessun overflow, crop o sovrapposizione. */
@media (min-width:941px){
  .eps-popup-root .eps-events.eps-count-2,
  .eps-popup-root .eps-events.eps-count-4{align-items:stretch!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-card,
  .eps-popup-root .eps-events.eps-count-3 .eps-card,
  .eps-popup-root .eps-events.eps-count-4 .eps-card{min-width:0!important;min-height:0!important;overflow:hidden!important}

  /* 2 eventi: immagine sopra, contenuto sotto. */
  .eps-popup-root .eps-events.eps-count-2 .eps-card{display:flex!important;flex-direction:column!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:clamp(150px,22dvh,240px)!important;padding:7px!important;overflow:hidden!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-image-link img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root .eps-events.eps-count-2 .eps-card-body{display:flex!important;flex-direction:column!important;min-width:0!important;padding:14px!important;gap:9px!important}

  /* 3 eventi: profilo verticale compatto. */
  .eps-popup-root .eps-events.eps-count-3 .eps-card{display:flex!important;flex-direction:column!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:clamp(120px,18dvh,190px)!important;padding:6px!important;overflow:hidden!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-image-link img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important}
  .eps-popup-root .eps-events.eps-count-3 .eps-card-body{display:flex!important;flex-direction:column!important;min-width:0!important;padding:12px!important;gap:7px!important}

  /* 4 eventi: vero 2x2 compatto. Immagine laterale contenuta e corpo indipendente. */
  .eps-popup-root .eps-events.eps-count-4{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card{display:grid!important;grid-template-columns:minmax(92px,29%) minmax(0,71%)!important;align-items:stretch!important;height:auto!important;max-height:none!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-image-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;padding:6px!important;overflow:hidden!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-image-link img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card-body{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;width:100%!important;padding:11px 12px!important;gap:7px!important;overflow:hidden!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-event-title{margin:0 0 5px!important;line-height:1.16!important;max-width:100%!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-event-schedule,
  .eps-popup-root .eps-events.eps-count-4 .eps-event-when{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:5px!important;margin:0!important;padding:7px 9px!important;min-width:0!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-when-row{display:grid!important;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr)!important;align-items:center!important;gap:6px!important;min-width:0!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-when-label{font-size:10px!important;line-height:1.05!important;white-space:normal!important;min-width:0!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-when-value{font-size:clamp(16px,1.35vw,22px)!important;line-height:1.08!important;white-space:normal!important;min-width:0!important;overflow-wrap:normal!important;word-break:normal!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-cta{position:static!important;align-self:flex-start!important;margin:2px 0 0!important;max-width:100%!important;white-space:normal!important}
  .eps-popup-root .eps-events.eps-count-4 .eps-card-content{max-height:3.6em!important;overflow:hidden!important}
}

/* 0.12.19 — profilo 4 eventi ricostruito: zone indipendenti, nessuna sovrapposizione. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:grid!important;grid-template-columns:minmax(105px,30%) minmax(0,70%)!important;align-items:stretch!important;
    min-width:0!important;min-height:0!important;height:auto!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:auto!important;min-height:250px!important;max-height:none!important;padding:8px!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    position:static!important;display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:300px!important;
    min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    position:static!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;
    width:100%!important;min-width:0!important;min-height:0!important;padding:12px 14px!important;gap:10px!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    position:static!important;width:100%!important;max-width:100%!important;margin:0 0 4px!important;white-space:normal!important;
    overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;line-height:1.2!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    position:static!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;
    min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:9px 10px!important;gap:8px!important;overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-row{
    position:static!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;
    width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;gap:3px!important;overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-label{
    position:static!important;display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;
    font-size:10px!important;line-height:1.1!important;white-space:normal!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-time .eps-when-value{
    position:static!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;
    margin:0!important;padding:0!important;font-size:clamp(17px,1.25vw,21px)!important;line-height:1.12!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    position:static!important;display:inline-flex!important;align-self:flex-start!important;flex:0 0 auto!important;
    width:auto!important;max-width:100%!important;height:auto!important;margin:2px 0 0!important;transform:none!important;z-index:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
    position:static!important;width:100%!important;max-height:3.4em!important;overflow:hidden!important;
  }
}

/* 0.12.20 — 4 eventi: singolo giorno senza sovrapposizioni + immagini adattive per orientamento. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    grid-template-columns:clamp(130px,32%,190px) minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    justify-content:center!important;overflow:visible!important;gap:10px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    box-sizing:border-box!important;display:grid!important;grid-template-columns:1fr!important;
    grid-auto-rows:max-content!important;align-content:start!important;
    height:auto!important;min-height:max-content!important;max-height:none!important;
    overflow:visible!important;padding:10px 11px!important;gap:10px!important;margin:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-row{
    box-sizing:border-box!important;display:grid!important;grid-template-columns:1fr!important;
    grid-auto-rows:max-content!important;height:auto!important;min-height:max-content!important;
    max-height:none!important;overflow:visible!important;gap:4px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-value{
    box-sizing:border-box!important;display:block!important;position:static!important;
    width:100%!important;height:auto!important;min-height:1.2em!important;max-height:none!important;
    overflow:visible!important;white-space:normal!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    position:static!important;clear:both!important;margin-top:2px!important;transform:none!important;
  }

  /* L'immagine sfrutta automaticamente il riquadro senza deformazioni o ritagli. */
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    box-sizing:border-box!important;min-height:210px!important;height:100%!important;max-height:none!important;
    padding:10px!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    box-sizing:border-box!important;display:block!important;width:auto!important;height:auto!important;
    max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;
    object-fit:contain!important;object-position:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card.eps-image-landscape .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card.eps-image-square .eps-image-link img{
    width:100%!important;height:auto!important;max-height:100%!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card.eps-image-portrait .eps-image-link img{
    width:auto!important;height:100%!important;max-width:100%!important;
  }
}


/* 0.12.21 — consolidamento strutturale layout 2/3/4 eventi.
   Regola finale: nessun centraggio verticale negativo, card in flusso naturale,
   immagini grandi ma sempre intere, metadati e CTA mai sovrapposti. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-modal{
    overflow:auto!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4{
    align-items:start!important;
    align-content:start!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:grid!important;
    grid-template-columns:clamp(155px,38%,235px) minmax(0,1fr)!important;
    align-items:stretch!important;
    align-self:start!important;
    height:auto!important;
    min-height:330px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:330px!important;
    max-height:none!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:330px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:18px 16px!important;
    gap:12px!important;
    overflow:visible!important;
    transform:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    position:static!important;
    margin:0 0 4px!important;
    padding:0!important;
    max-width:100%!important;
    line-height:1.24!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    transform:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:10px 12px!important;
    gap:10px!important;
    overflow:visible!important;
    transform:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when .eps-when-row{
    position:static!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    gap:4px!important;
    overflow:visible!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-label,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-value{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    transform:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-value{
    font-size:clamp(17px,1.35vw,22px)!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    position:static!important;
    display:inline-flex!important;
    align-self:flex-start!important;
    flex:0 0 auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
  }
}

/* 0.12.22 — layout approvato: 1/2/3/4 eventi sempre contenuti nel popup. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-modal{
    height:calc(100vh - 28px)!important;max-height:calc(100vh - 28px)!important;
    overflow:hidden!important;display:flex!important;flex-direction:column!important;
  }
  .eps-popup-root.eps-space-maximize .eps-header{flex:0 0 auto!important}
  .eps-popup-root.eps-space-maximize .eps-events{
    flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-1{
    grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;align-items:stretch!important;align-content:stretch!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    height:100%!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
    display:grid!important;align-items:stretch!important;
    grid-template-columns:minmax(145px,34%) minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    grid-template-columns:minmax(150px,36%) minmax(0,1fr)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-image-link,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
    padding:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    overflow:hidden!important;box-sizing:border-box!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;
    padding:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card-body,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    height:100%!important;min-height:0!important;overflow:hidden!important;box-sizing:border-box!important;
    padding:12px 14px!important;gap:7px!important;display:flex!important;flex-direction:column!important;
    justify-content:flex-start!important;align-items:stretch!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    flex:0 1 auto!important;margin:0 0 2px!important;line-height:1.14!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;
    padding:7px 9px!important;gap:5px!important;margin:0!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-row{
    gap:1px!important;min-height:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-label{font-size:10px!important;line-height:1.05!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-value{font-size:clamp(15px,1.12vw,19px)!important;line-height:1.08!important;white-space:nowrap!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-where{
    flex:0 0 auto!important;font-size:12px!important;line-height:1.2!important;margin:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
    flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;margin:0!important;
    font-size:12px!important;line-height:1.25!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    flex:0 0 auto!important;margin-top:auto!important;align-self:flex-start!important;
    padding:8px 12px!important;line-height:1.1!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-featured-badge{
    z-index:4!important;font-size:11px!important;padding:5px 9px!important;
  }
}

/* 0.12.23 — profili multipli verticali approvati: immagine sopra, contenuti sotto. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card{grid-template-rows:minmax(220px,48%) minmax(0,1fr)!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card{grid-template-rows:minmax(190px,42%) minmax(0,1fr)!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{grid-template-rows:minmax(105px,38%) minmax(0,1fr)!important}

  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-image-link,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    grid-column:1!important;grid-row:1!important;
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    padding:8px 12px 4px!important;margin:0!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    display:block!important;width:100%!important;height:100%!important;
    max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-card-body,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-card-body,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    grid-column:1!important;grid-row:2!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    padding:7px 14px 10px!important;box-sizing:border-box!important;overflow:hidden!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    width:100%!important;max-width:100%!important;margin:0 0 5px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule.eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule.eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;box-sizing:border-box!important;
    margin:0 0 5px!important;padding:6px 9px!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-value{white-space:nowrap!important;word-break:keep-all!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{font-size:clamp(18px,1.55vw,25px)!important;line-height:1.16!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:8px!important;align-items:end!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-row{min-width:0!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-when-value{font-size:clamp(14px,1vw,18px)!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-where,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{font-size:11px!important;line-height:1.18!important}
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{margin-top:auto!important;align-self:flex-start!important;padding:7px 11px!important}
}

/* 0.12.24 — nei profili multipli data e orario sono sempre impilati: niente sovrapposizioni. */
@media (min-width:783px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule.eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule.eps-event-when,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule .eps-when-row,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule .eps-when-row,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    width:100%!important;
    min-width:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule .eps-when-label,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule .eps-when-label,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-label{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    width:100%!important;
    white-space:nowrap!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-2 .eps-event-schedule .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-value{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:visible!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-3 .eps-event-schedule .eps-when-value,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-value{
    font-size:clamp(18px,1.35vw,24px)!important;
    line-height:1.08!important;
  }
}

/* 0.12.25 — profilo 4 eventi: immagine a sinistra, contenuti a destra. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    display:grid!important;
    grid-template-columns:minmax(145px,38%) minmax(0,62%)!important;
    grid-template-rows:minmax(0,1fr)!important;
    align-items:stretch!important;
    min-width:0!important;min-height:0!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    grid-column:1!important;grid-row:1!important;
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    padding:12px 8px 12px 12px!important;margin:0!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    display:block!important;width:100%!important;height:100%!important;min-height:0!important;
    max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    grid-column:2!important;grid-row:1!important;
    width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    padding:12px 12px 12px 8px!important;box-sizing:border-box!important;overflow:hidden!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:7px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title{
    flex:0 0 auto!important;width:100%!important;max-width:100%!important;margin:0 0 3px!important;
    font-size:clamp(17px,1.28vw,23px)!important;line-height:1.16!important;
    word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule.eps-event-when{
    flex:0 0 auto!important;display:flex!important;flex-direction:column!important;gap:5px!important;
    width:100%!important;height:auto!important;margin:0!important;padding:7px 9px!important;box-sizing:border-box!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-row{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;width:100%!important;min-width:0!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule .eps-when-value{
    width:100%!important;white-space:nowrap!important;font-size:clamp(16px,1.15vw,21px)!important;line-height:1.05!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-where,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
    flex:0 1 auto!important;min-height:0!important;margin:0!important;font-size:11px!important;line-height:1.18!important;overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    flex:0 0 auto!important;margin-top:auto!important;align-self:flex-start!important;padding:7px 10px!important;line-height:1.1!important;
  }
}

/* 0.12.26 — 4 eventi: colonna sinistra realmente dedicata all'immagine. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    grid-template-columns:minmax(190px,42%) minmax(0,58%)!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    align-self:stretch!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:10px!important;
    background:#f7f7f7!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img{
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:top center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    padding:12px 14px!important;
  }
}

/* 0.12.27 — profilo 4 eventi: uso reale di tutta la superficie disponibile. */
@media (min-width:941px){
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card{
    position:relative!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-featured-badge{
    position:absolute!important;
    z-index:5!important;
    top:10px!important;
    left:10px!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link{
    position:relative!important;
    flex:0 0 44%!important;
    width:44%!important;
    max-width:44%!important;
    height:auto!important;
    min-width:0!important;
    min-height:100%!important;
    margin:0!important;
    padding:10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:#f7f7f7!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link img,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link picture,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-image-link picture img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:0!important;
    max-width:none!important;
    max-height:100%!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-body{
    flex:1 1 56%!important;
    width:auto!important;
    max-width:none!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:12px 14px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:7px!important;
    overflow:hidden!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-title,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-schedule,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-event-where,
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-card-content{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .eps-popup-root.eps-space-maximize .eps-events.eps-count-4 .eps-cta{
    margin-top:auto!important;
    align-self:flex-start!important;
  }
}
