.page-title{font-family:var(--display);letter-spacing:-.065em;color:var(--text-primary);margin:38px 0 28px;font-size:clamp(2rem,5vw,3.7rem);font-weight:700;line-height:1}.ik{vertical-align:-.125em;width:1em;height:1em}.calendar-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0d111cb8;border:1px solid #ffffff1a;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:26px;padding:12px;display:flex;box-shadow:0 16px 40px #0003}.cal-nav{color:var(--text-primary);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;padding:9px 15px;font-size:.9rem;transition:all .2s}.cal-nav:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.cal-filter{color:var(--text-primary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;outline:none;min-width:170px;padding:10px 13px;font-size:.84rem}.cal-filter:focus{border-color:var(--violet)}.cal-filter option,.cal-filter optgroup{color:#f8f7f3;background:#111827}.cal-month-title{font-family:var(--display);color:var(--text-primary);text-align:center;letter-spacing:-.04em;min-width:230px;margin:0;font-size:1.55rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:40px;display:grid}.cal-day-header{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;padding:10px 0;font-size:.7rem;font-weight:700}.cal-day{background:linear-gradient(145deg,#111827f5,#0d111cf5);border:1px solid #ffffff14;border-radius:11px;min-height:116px;padding:8px;transition:background .2s,border-color .2s,transform .2s}.cal-day-empty{background:0 0;border-color:#0000;min-height:0}.cal-day:hover{background:#151d2dfa;border-color:#8e63ff73;transform:translateY(-2px)}.cal-today{border:1px solid var(--accent);box-shadow:0 0 22px #ff713b29}.cal-day-num{color:var(--text-secondary);margin-bottom:5px;font-size:.8rem;font-weight:700}.cal-today .cal-day-num{color:var(--accent)}.cal-events{flex-direction:column;gap:3px;display:flex}.cal-event{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:inherit;background:#8e63ff24;border-radius:5px;padding:4px 5px;font-size:.67rem;text-decoration:none;transition:background .2s,transform .2s;overflow:hidden}.cal-event:hover{background:#8e63ff4d;transform:translate(2px)}.cal-event-type{font-weight:700}.cal-event-name{color:#dfe4ff}.cal-more{color:var(--accent);text-align:center;cursor:pointer;padding:3px;font-size:.7rem;font-weight:700}@media (width<=768px){.cal-day{min-height:76px;padding:5px}.cal-event{font-size:.58rem}.cal-month-title{min-width:auto;font-size:1.2rem}}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03050ae6;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0;overflow-y:auto}.modal-overlay.open{display:flex}.modal-content{background:linear-gradient(145deg,#151d2d,#0d111c);border:1px solid #ffffff21;border-radius:18px;width:100%;max-width:760px;max-height:calc(100vh - 48px);animation:.3s modalIn;position:relative;overflow-y:auto;box-shadow:0 30px 100px #0009}.modal-image{background:#080b13;border-radius:18px 18px 0 0;justify-content:center;align-items:center;width:100%;max-height:min(58vh,560px);padding:14px;display:flex;overflow:hidden}.modal-image img{object-fit:contain;object-position:center;width:100%;height:auto;max-height:calc(58vh - 28px);display:block}@keyframes modalIn{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close{z-index:10;color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--accent)}.modal-info{padding:24px}.modal-title{color:var(--text-primary);margin:0 0 12px;font-size:1.4rem;font-weight:700}.modal-badge{color:#fff;text-transform:uppercase;letter-spacing:.4px;border-radius:20px;margin-bottom:16px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.modal-meta{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.modal-row{color:var(--text-muted,#aaa);align-items:center;gap:8px;font-size:.9rem;display:flex}.modal-row a{color:var(--accent)}.modal-icon{text-align:center;flex-shrink:0;width:24px;font-size:1rem}.modal-desc{background:var(--bg-secondary,#16213e);border-radius:10px;margin-bottom:20px;padding:16px}.modal-desc h4{color:var(--text-muted);margin:0 0 8px;font-size:.9rem}.modal-desc p{color:var(--text-secondary,#ccc);white-space:pre-line;margin:0;font-size:.85rem;line-height:1.6}.modal-actions{flex-wrap:wrap;gap:10px;display:flex}.modal-btn{border-radius:10px;align-items:center;gap:6px;padding:10px 20px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.modal-btn-fb{color:#fff;background:#1877f2}.modal-btn-fb:hover{background:#166fe5;transform:translateY(-1px)}.modal-btn-ticket{color:#fff;background:#ff7140}.modal-btn-ticket:hover{background:#e55d2b;transform:translateY(-1px)}.modal-btn-gcal{color:#fff;background:#0d9488}.modal-btn-gcal:hover{background:#0f766e;transform:translateY(-1px)}.modal-btn-link{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.modal-btn-link:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
