/* CALENDARUL STAGIUNII · LUMINA */
.performance-agenda { margin-top:clamp(72px,8vw,128px); position:relative; }
.agenda-intro { display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px; }
.agenda-intro h3 { font:400 clamp(36px,4.4vw,59px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:12px 0 0;color:#1e4460; }
.agenda-intro h3 em { font-weight:400;color:#4285a7; }
.agenda-eyebrow { color:#4e7790;font-size:10px;font-weight:800;letter-spacing:.14em;display:inline-flex;align-items:center;gap:10px;line-height:1.65; }
.agenda-star {font-size:16px;color:#2c709a}
.agenda-intro>p {max-width:350px;margin:0;color:#647b89;font-size:12px;line-height:1.85;}
.agenda-layout { display:grid;grid-template-columns:minmax(0,1.28fr) minmax(315px,.82fr);gap:18px;align-items:stretch; }
.calendar-card,.calendar-details {border-radius:19px;min-width:0;}
.calendar-card { background:#fcfdfc;border:1px solid #cbdde6;box-shadow:0 18px 50px rgba(29,83,119,.075);padding:clamp(16px,2.6vw,33px); }
.calendar-toolbar {display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:27px;}
.calendar-small-label {color:#67869a;font-size:9px;letter-spacing:.18em;font-weight:800;}
.calendar-month-heading h4 {font:500 clamp(25px,2.7vw,35px)/1.2 'Playfair Display',Georgia,serif;color:#193d5b;margin:6px 0 0;}
.calendar-nav {display:flex;align-items:center;gap:6px;}
.calendar-nav button {border:1px solid #dae6ec;background:#f3f8fa;color:#255778;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;}
.calendar-nav button:hover {background:#e0f0f6;box-shadow:0 4px 14px #183c5614;}
.calendar-nav button:focus-visible,.calendar-days button:focus-visible{outline:3px solid #2f82af;outline-offset:2px}
.calendar-arrow-btn {display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:27px;line-height:1;padding-bottom:4px;}
.calendar-today-btn {height:38px;padding:0 13px;border-radius:11px;font-size:10px;font-weight:800;letter-spacing:.08em;margin-right:4px;}
.calendar-weekdays,.calendar-days { display:grid;grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays {padding-bottom:11px;border-bottom:1px solid #e5edf1;}
.calendar-weekdays span {text-align:center;color:#8195a1;font-size:10px;font-weight:800;letter-spacing:.12em;}
.calendar-days {gap:6px;padding-top:14px;grid-auto-rows:minmax(50px,1fr);}
.calendar-day-blank {min-height:50px;}
.calendar-days button {width:100%;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;border-radius:11px;border:1px solid transparent;background:transparent;color:#254a63;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.calendar-days button:hover{background:#eaf3f7}
.calendar-days button.calendar-is-today {border-color:#a4c9db;box-shadow:inset 0 0 0 1px #d2e6ee}
.calendar-days button.calendar-is-selected {background:#245c80;border-color:#245c80;color:#fff;box-shadow:0 6px 14px #1c587327}
.calendar-days button.calendar-has-event:not(.calendar-is-selected) {font-weight:850;color:#155d8e;background:#eaf5f8}
.calendar-day-dot {width:4px;height:4px;background:#368bb2;border-radius:50%;position:absolute;bottom:6px;left:calc(50% - 2px)}
.calendar-days .calendar-is-selected .calendar-day-dot{background:#fff}
.calendar-legend {display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#758b98;font-size:10px;line-height:1.7;border-top:1px solid #e5edf1;margin-top:20px;padding-top:17px;}
.calendar-legend>span:first-child {display:inline-flex;gap:8px;align-items:center;}
.calendar-legend-dot {display:inline-block;width:7px;height:7px;background:#368bb2;border-radius:50%}
.calendar-legend-note {font-style:italic}
.calendar-details {display:flex;flex-direction:column;position:relative;overflow:hidden;background:linear-gradient(156deg,#eef5f7,#dceaf0);border:1px solid #c6dce7;padding:clamp(22px,3vw,39px);color:#1b405b;min-height:430px;}
.calendar-details::after{content:'';position:absolute;width:250px;height:250px;right:-125px;top:40px;border-radius:100%;border:1px solid #aacbdc66;pointer-events:none;box-shadow:0 0 0 65px #d2e5ed30;}
.calendar-detail-top {display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #c6dce5;padding-bottom:24px;font-size:10px;letter-spacing:.18em;font-weight:850;color:#4b7490}
.calendar-detail-top span:last-child{font-size:24px;font-weight:400}
.calendar-selected-date{font:500 clamp(28px,3vw,43px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.04em;min-height:45px;margin-top:30px;color:#1e4968}
.calendar-details h4 {font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:850;color:#397194;margin:17px 0 18px;}
.calendar-event-list {position:relative;z-index:1;color:#567183;font-size:13px;line-height:1.8;flex:1;}
.calendar-event-list p{margin:0 0 12px;}
.calendar-empty-art {display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:#d3e7ef;color:#33779b;margin:0 0 18px;font-size:24px;}
.calendar-event {padding:17px 0 16px;border-top:1px solid #bfd5df;}
.calendar-event:first-child{padding-top:0;border-top:0}
.calendar-event h5 {font:500 21px/1.3 'Playfair Display',Georgia,serif;margin:6px 0 13px;color:#1e4764}
.calendar-event-category {font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#3c7fa2;font-weight:850;}
.calendar-event-meta {display:grid;gap:8px;margin:0 0 12px;}
.calendar-event-meta div{display:flex;align-items:start;gap:10px;}
.calendar-event-meta dt {font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;min-width:64px;color:#37749b;}
.calendar-event-meta dd {margin:0;line-height:1.55;color:#2e546e;}
.calendar-event-description{font-size:12px;color:#5c7584;}
.calendar-event-link{display:inline-flex;align-items:center;gap:7px;color:#22648d;text-decoration:underline;text-underline-offset:3px;font-weight:800;font-size:11px;margin-top:6px}
.calendar-detail-footer {display:flex;justify-content:space-between;gap:12px;border-top:1px solid #c6dce5;margin-top:30px;padding-top:18px;color:#7191a4;font-size:9px;font-weight:800;letter-spacing:.13em}
@media(max-width:900px){.agenda-layout{grid-template-columns:1fr}.calendar-details{min-height:310px}.agenda-intro{align-items:start}.performance-agenda{margin-top:70px}}
@media(max-width:600px){.performance-agenda{margin-top:65px}.agenda-intro{display:block;margin-bottom:21px}.agenda-intro>p{margin-top:15px}.agenda-intro h3{font-size:38px}.agenda-eyebrow{font-size:9px}.calendar-card{padding:16px 12px;border-radius:15px}.calendar-toolbar{margin-bottom:22px}.calendar-month-heading h4{font-size:26px}.calendar-days{gap:2px;grid-auto-rows:minmax(42px,1fr)}.calendar-days button{min-height:42px;font-size:13px;border-radius:8px}.calendar-day-blank{min-height:42px}.calendar-legend{margin-top:12px;font-size:9px}.calendar-details{border-radius:15px;padding:23px;min-height:285px}.calendar-selected-date{font-size:31px}.calendar-detail-top{padding-bottom:15px}}
@media(max-width:360px){.calendar-small-label{font-size:8px}.calendar-month-heading h4{font-size:23px}.calendar-arrow-btn{width:31px;height:34px}.calendar-today-btn{height:34px;padding:0 9px}.calendar-days button{font-size:12px}}

.season-agenda-jump{display:inline-flex;align-items:center;gap:8px;margin-left:18px;font-size:10px;font-weight:850;letter-spacing:.08em;color:#255e82;text-decoration:none;line-height:1.6;border-bottom:1px solid #98becf;padding-bottom:3px;}
.season-agenda-jump:hover{color:#143b5c;border-color:#255e82;}
.season-agenda-jump:focus-visible{outline:3px solid #2f82af;outline-offset:3px}
@media(max-width:700px){.season-agenda-jump{margin:20px 0 0;display:table}}
