/* Js Custom Design - event calendar prototype */
.event-calendar{
 --event-red:#ed1c24;
 --event-surface:#111318;
 --event-surface-2:#171a20;
 padding:clamp(84px,10vw,148px) 0;
 overflow:hidden;
 background:#080a0e;
 border-block:1px solid rgba(255,255,255,.08);
 color:#f4f4f2;
}
.event-calendar__inner{position:relative}
.event-calendar__head{position:relative;margin-bottom:clamp(48px,6vw,76px)}
.event-calendar__eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:.72rem;letter-spacing:.25em;color:#b8bec8}
.event-calendar__eyebrow::before{content:"";width:36px;height:2px;background:var(--event-red)}
.event-calendar__head h2{font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.12;letter-spacing:-.035em;font-weight:700}
.event-calendar__toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border:1px solid rgba(255,255,255,.09);border-bottom:0;border-radius:18px 18px 0 0;background:rgba(255,255,255,.025)}
.event-calendar__month{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(1.35rem,2.5vw,2rem);font-weight:600;letter-spacing:.02em}
.event-calendar__month small{margin-left:10px;color:#69717e;font-size:.66rem;letter-spacing:.18em;font-weight:500}
.event-calendar__controls{display:flex;align-items:center;gap:8px}
.event-calendar__controls button{display:grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#101319;color:#f4f4f2;font:inherit;cursor:pointer;transition:background .3s,border-color .3s,transform .3s}
.event-calendar__controls button:hover{background:var(--event-red);border-color:var(--event-red);transform:translateY(-2px)}
.event-calendar__controls button:focus-visible,.event-calendar__day:focus-visible{outline:2px solid #fff;outline-offset:3px}
.event-calendar__controls .event-calendar__today{padding-inline:18px;font-size:.75rem;letter-spacing:.08em}
.event-calendar__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr);gap:16px}
.event-calendar__board,.event-calendar__agenda{border:1px solid rgba(255,255,255,.09);background:rgba(17,19,24,.88);backdrop-filter:blur(18px)}
.event-calendar__board{padding:22px;border-radius:0 0 18px 18px}
.event-calendar__weekdays,.event-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.event-calendar__weekdays{padding:0 0 12px;color:#747d8a;font-size:.68rem;text-align:center;letter-spacing:.12em}
.event-calendar__weekdays span:first-child{color:#f07175}.event-calendar__weekdays span:last-child{color:#8aaad4}
.event-calendar__grid{border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1)}
.event-calendar__day{position:relative;min-width:0;min-height:92px;padding:10px;border:0;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#f4f4f2;text-align:left;font:inherit;cursor:pointer;transition:background .25s,color .25s}
.event-calendar__day:hover{background:rgba(255,255,255,.055)}
.event-calendar__day.is-outside{color:#4e5662;background:rgba(0,0,0,.12)}
.event-calendar__day.is-selected{z-index:1;background:rgba(237,28,36,.12);box-shadow:inset 0 0 0 2px var(--event-red)}
.event-calendar__day.is-today .event-calendar__date{display:grid;place-items:center;width:27px;height:27px;margin:-3px 0 2px -4px;border-radius:50%;background:#f4f4f2;color:#080a0e}
.event-calendar__date{display:block;font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;font-weight:600}
.event-calendar__event-mark{display:flex;align-items:center;gap:6px;min-width:0;margin-top:8px;color:#f2b4b7;font-size:.62rem;line-height:1.35}
.event-calendar__event-mark i{flex:none;width:5px;height:5px;border-radius:50%;background:var(--event-red);box-shadow:0 0 10px rgba(237,28,36,.7)}
.event-calendar__event-mark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-calendar__event-more{display:block;margin-top:3px;color:#747d8a;font-size:.58rem}
.event-calendar__grid.is-changing{animation:eventMonthIn .42s cubic-bezier(.16,1,.3,1)}
@keyframes eventMonthIn{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.event-calendar__agenda{display:flex;min-height:100%;flex-direction:column;padding:clamp(24px,3.3vw,42px);border-radius:18px}
.event-calendar__agenda-head{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1)}
.event-calendar__agenda-head p{color:#ff5f65;font-size:.62rem;letter-spacing:.23em}
.event-calendar__agenda-head h3{margin-top:6px;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.4}
.event-calendar__list{display:grid;gap:0}
.event-calendar__item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.event-calendar__item-date{font-family:"Helvetica Neue",Arial,sans-serif;color:#fff;text-align:center}
.event-calendar__item-date b{display:block;font-size:1.65rem;line-height:1}
.event-calendar__item-date small{display:block;margin-top:7px;color:#777f8b;font-size:.58rem;letter-spacing:.12em}
.event-calendar__item-body{min-width:0}
.event-calendar__item-type{display:inline-block;margin-bottom:6px;color:#ff7378;font-size:.56rem;letter-spacing:.13em}
.event-calendar__item h4{font-size:.94rem;line-height:1.55;font-weight:600}
.event-calendar__item p{margin-top:7px;color:#8e97a4;font-size:.72rem;line-height:1.7}
.event-calendar__empty{padding:34px 0;color:#8e97a4;font-size:.82rem;line-height:1.9}
.event-calendar__contact{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-top:28px;color:#f4f4f2;font-size:.8rem;line-height:1.6;transition:color .3s}
.event-calendar__contact i{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--event-red);font-style:normal;transition:transform .35s}
.event-calendar__contact:hover{color:#ff7378}.event-calendar__contact:hover i{transform:rotate(45deg)}
@media(max-width:900px){
 .event-calendar__layout{grid-template-columns:1fr}
 .event-calendar__agenda{min-height:0}
 .event-calendar__list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
 .event-calendar__contact{margin-top:12px}
}
@media(max-width:620px){
 .event-calendar{padding:76px 0}
 .event-calendar__head{margin-bottom:36px}
 .event-calendar__eyebrow{gap:10px;letter-spacing:.16em}
 .event-calendar__eyebrow::before{width:24px}
 .event-calendar__head h2{font-size:clamp(2rem,10vw,2.65rem)}
 .event-calendar__toolbar{padding:15px 14px}
 .event-calendar__month{font-size:1.2rem}
 .event-calendar__month small{display:none}
 .event-calendar__controls{gap:5px}
 .event-calendar__controls button{min-width:39px;height:39px;padding-inline:10px}
 .event-calendar__controls .event-calendar__today{padding-inline:12px;font-size:.68rem}
 .event-calendar__board{padding:12px 8px 10px}
 .event-calendar__weekdays{padding-bottom:8px;font-size:.58rem}
 .event-calendar__day{min-height:54px;padding:6px 5px}
 .event-calendar__date{font-size:.68rem}
 .event-calendar__day.is-today .event-calendar__date{width:23px;height:23px;margin:-2px 0 0 -3px}
 .event-calendar__event-mark{display:block;margin-top:5px}
 .event-calendar__event-mark i{display:block;width:6px;height:6px;margin:0 auto}
 .event-calendar__event-mark span,.event-calendar__event-more{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .event-calendar__agenda{padding:26px 20px}
 .event-calendar__list{grid-template-columns:1fr}
 .event-calendar__item{grid-template-columns:48px minmax(0,1fr);padding:19px 0}
}
@media(prefers-reduced-motion:reduce){.event-calendar__grid.is-changing{animation:none}}
