
.men-wrap{
    --men-accent:#11c6c8;
    --men-ink:#0f1c2e;
    --men-muted:#6f7b88;
    --men-line:#e5eaee;
    --men-soft:#f6f9fa;
    width:100%;
    color:var(--men-ink);
    font-family:inherit;
}
.men-toolbar{
    position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;
    gap:18px 22px;flex-wrap:wrap;padding:14px 18px;margin:0 0 28px;background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);border:1px solid var(--men-line);border-radius:14px;box-shadow:0 8px 30px rgba(15,28,46,.05)
}
.men-toolbar.is-fixed{
    position:fixed!important;z-index:99990!important;margin:0!important;box-sizing:border-box;
    box-shadow:0 14px 38px rgba(15,28,46,.12)
}
.men-toolbar-placeholder{display:none}
.men-toolbar-placeholder.is-active{display:block}
.men-year-tabs,.men-month-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.men-month-bar{flex:1 1 640px}
.men-year-tabs{flex:0 0 auto;margin-left:auto}
.men-year-tabs button,.men-month-bar button{
    appearance:none;border:1px solid transparent;background:#fff;color:var(--men-ink);
    border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;
    transition:.2s ease;white-space:nowrap;
}
.men-year-tabs button:hover,.men-month-bar button:hover{
    border-color:rgba(17,198,200,.35);background:rgba(17,198,200,.10);color:var(--men-ink)
}
.men-year-tabs button.is-active,.men-month-bar button.is-active{
    border-color:rgba(17,198,200,.40);background:rgba(17,198,200,.18);color:var(--men-ink)
}
.men-map-shell{
    display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.7fr);
    gap:0;margin:12px 0 42px;background:var(--men-ink);border-radius:22px;overflow:hidden;
}
.men-map-copy{padding:32px;color:#fff;align-self:center}
.men-map-copy h3{font-size:clamp(26px,3vw,40px);color:#fff!important;text-shadow:none!important}
.men-map-copy p{margin:14px 0 0;color:rgba(255,255,255,.82)!important;line-height:1.6}
.men-map{min-height:360px;background:#dbe5e8}
.men-map .leaflet-popup-content-wrapper{border-radius:12px}
.men-map-popup strong{display:block;margin-bottom:5px}
.men-map-popup ul{margin:7px 0 0 18px;padding:0}
.men-timeline{position:relative}
.men-timeline:before{
    content:"";position:absolute;left:258px;top:0;bottom:0;width:1px;background:var(--men-line)
}
.men-month-heading{
    position:relative;display:block;width:max-content;max-width:calc(100% - 84px);
    padding:36px 54px 36px 0;margin:0 0 0 286px;
}
.men-month-badge{position:relative;display:inline-flex;align-items:center}
.men-month-badge:before{
    content:"";position:absolute;left:-28px;top:50%;width:13px;height:13px;border-radius:50%;
    transform:translate(-50%,-50%);background:var(--men-accent);box-shadow:0 0 0 7px #fff;
}
.men-month-heading span{
    display:inline-flex;align-items:center;justify-content:center;padding:15px 52px 14px 19px;
    border-radius:11px;background:rgba(17,198,200,.16);border:1px solid rgba(17,198,200,.42);
    color:var(--men-ink);font-size:clamp(21px,2vw,28px);line-height:1;font-weight:900;letter-spacing:.07em;
    box-shadow:0 8px 22px rgba(15,28,46,.035)
}
.men-month-heading strong{
    position:absolute;left:100%;top:50%;z-index:2;transform:translate(-50%,-50%);
    display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:8px 7px;
    border-radius:8px;background:var(--men-ink);color:#fff;font-size:15px;line-height:1;letter-spacing:.12em;font-weight:900;
    box-shadow:0 5px 15px rgba(15,28,46,.12)
}
.men-card{
    position:relative;display:grid;grid-template-columns:232px minmax(0,1fr);gap:50px;
    padding:0 0 42px;
}
.men-card:before{
    content:"";position:absolute;left:253px;top:11px;width:11px;height:11px;border-radius:50%;
    background:#fff;border:3px solid var(--men-accent);box-sizing:border-box;z-index:2;
}
.men-date{padding-right:0;text-align:right}
.men-date time{
    display:inline-block;font-size:clamp(16px,1.3vw,20px);line-height:1.08;font-weight:900;
    letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums
}
.men-featured{
    display:inline-block;margin:0 0 8px;padding:5px 8px;border-radius:5px;background:var(--men-accent);
    color:#052223;font-size:9px;font-weight:900;letter-spacing:.12em;
}
.men-content{
    padding:0 0 44px;border-bottom:1px solid var(--men-line);
}
.men-card:has(+ .men-month-heading){padding-bottom:0}
.men-card:has(+ .men-month-heading) .men-content{
    padding-bottom:36px;
    border-bottom-width:2px;
    border-bottom-color:#8f8f8f;
}
.men-card.is-featured .men-content{
    padding:28px;border:1px solid rgba(17,198,200,.35);border-radius:20px;
    box-shadow:0 18px 50px rgba(15,28,46,.07);
}
.men-content h3{margin:0 0 10px;font-size:clamp(22px,2.8vw,34px);line-height:1.15;letter-spacing:-.025em}
.men-event-meta{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:0 0 15px}
.men-venue,.men-location{display:inline-flex;align-items:baseline;gap:7px;color:#526170;font-size:13px;font-weight:700}
.men-location{color:var(--men-accent)}
.men-meta-label{font-size:9px;line-height:1;letter-spacing:.12em;font-weight:900;color:#9ba7b2}
.men-description{max-width:900px;color:#44515e;line-height:1.75}
.men-description p:first-child{margin-top:0}
.men-description p:last-child{margin-bottom:0}
.men-gallery{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:22px
}
.men-gallery-link{
    appearance:none!important;-webkit-appearance:none!important;position:relative;display:block;width:100%;padding:0!important;
    border:0!important;box-shadow:none!important;aspect-ratio:1/1;overflow:hidden;border-radius:10px!important;
    background:var(--men-soft)!important;cursor:zoom-in;font:inherit;text-align:inherit
}
.men-gallery-link:after{
    content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.16));
    opacity:0;transition:.25s ease;
}
.men-gallery-link:hover:after{opacity:1}
.men-gallery-link img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .35s ease}
.men-gallery-link:hover img{transform:scale(1.035)}
.men-gallery-count-1{grid-template-columns:minmax(0,480px)}
.men-gallery-count-2{grid-template-columns:repeat(2,minmax(0,340px))}
.men-gallery-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.men-event-hidden,.men-group-hidden{display:none!important}
.men-no-results{padding:28px;border:1px solid var(--men-line);border-radius:14px;background:var(--men-soft)}
.men-empty{padding:20px;border:1px solid #ddd;background:#fafafa}

/* Lightbox */
.men-lightbox{
    position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;
    background:rgba(6,15,27,.97);padding:42px 76px;box-sizing:border-box;
}
.men-lightbox.is-open{display:flex}
.men-lightbox img{display:block;max-width:min(90vw,1500px);max-height:86vh;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.32)}
.men-lightbox button{
    appearance:none!important;-webkit-appearance:none!important;position:absolute!important;margin:0!important;padding:0!important;
    border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;cursor:pointer!important;
    border-radius:0!important;font-family:Arial,sans-serif!important;font-weight:300!important;line-height:1!important;opacity:.78;transition:opacity .18s ease!important;
}
.men-lightbox button:hover{opacity:1;background:transparent!important}
.men-lightbox-close{right:24px!important;top:17px!important;width:44px!important;height:44px!important;font-size:38px!important}
.men-lightbox-prev,.men-lightbox-next{top:50%!important;transform:translateY(-50%)!important;width:56px!important;height:80px!important;font-size:58px!important}
.men-lightbox-prev{left:14px!important}
.men-lightbox-next{right:14px!important}
.men-lightbox-count{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:rgba(255,255,255,.85);font-size:11px;font-weight:700;letter-spacing:.1em}

@media(max-width:900px){
   .men-toolbar{padding:12px 14px;gap:12px 16px}
    .men-month-bar{flex:1 1 100%}
    .men-year-tabs{margin-left:0}
    .men-map-shell{grid-template-columns:1fr}
    .men-map{min-height:330px}
    .men-timeline:before{left:188px}
    .men-month-heading{padding:32px 50px 32px 0;margin:0 0 0 214px;max-width:calc(100% - 72px)}
    .men-month-badge:before{left:-26px;width:11px;height:11px;box-shadow:0 0 0 6px #fff}
    .men-month-heading span{font-size:clamp(18px,2.8vw,23px);padding:9px 54px 8px 16px;border-radius:10px}
    .men-month-heading strong{left:100%;right:auto;top:50%;font-size:14px;min-width:70px;padding:7px 13px 6px;border-radius:8px}
    .men-card{grid-template-columns:164px minmax(0,1fr);gap:44px}
    .men-card:before{left:183px}
    .men-date{padding-right:14px}
    .men-date time{font-size:clamp(15px,2vw,18px)}
    .men-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
   .men-toolbar{padding:10px 12px;border-radius:12px}
    .men-month-bar{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}
    .men-month-bar button{white-space:nowrap}
    .men-year-tabs{overflow:auto;flex-wrap:nowrap;width:100%;margin-left:0;padding-bottom:2px}
    .men-year-tabs button{white-space:nowrap}
    .men-timeline:before{display:none}
    .men-month-heading{margin:0;padding:24px 48px 24px 0;max-width:calc(100% - 62px)}
    .men-month-badge:before{display:none}
    .men-month-heading span{font-size:20px;padding:9px 50px 8px 16px;border-radius:10px}
    .men-month-heading strong{left:100%;right:auto;top:50%;font-size:13px;min-width:64px;padding:6px 12px 5px;border-radius:7px}
    .men-card{display:block;padding-bottom:35px}
    .men-card:before{display:none}
    .men-date{margin-bottom:10px;padding-right:0;text-align:left}
    .men-date time{font-size:18px;white-space:normal}
    .men-content{padding-bottom:30px}
    .men-card.is-featured .men-content{padding:20px}
    .men-gallery,.men-gallery-count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
    .men-gallery-count-1{grid-template-columns:1fr}
    .men-gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .men-lightbox{padding:48px 14px 38px}
    .men-lightbox-prev{left:2px!important}.men-lightbox-next{right:2px!important}.men-lightbox-close{right:6px!important;top:5px!important}
}
