.px-calendar{min-height:65vh;padding-top:48px;padding-bottom:100px}.px-calendar>.px-kicker{margin-top:38px;display:block}.px-calendar h1{margin:14px 0 22px;font-size:clamp(52px,7vw,100px);line-height:1.15}.px-calendar h1 em{color:var(--aqua);font-style:normal}.cal-toolbar{border-top:1px solid var(--line);margin:45px 0 24px;padding-top:24px}.cal-week,.cal-filters{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cal-week h2{font-size:24px}.px-calendar button,.px-calendar select{color:var(--ink);font:inherit;background:#111;border:1px solid #ffffff38;border-radius:14px;padding:12px 16px}.px-calendar button:hover{background:#fdc200;border-color:#fdc200}.cal-filters{margin-top:24px}.cal-filters label{gap:8px;font-size:14px;display:grid}.cal-notice{background:#111;border:1px solid #fff3;border-radius:20px;margin:24px 0;padding:26px}.cal-notice h2{margin-bottom:14px;font-size:25px}.cal-notice button,.cal-notice a{margin:16px 16px 0 0;display:inline-block}.cal-notice a{color:var(--aqua);text-decoration:underline}.cal-legend{color:#fdc200;font-size:14px;margin-bottom:20px!important}.cal-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:20px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden;box-shadow:0 22px 60px #0003}.cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.cal-day>header{border-bottom:2px solid var(--aqua);text-transform:uppercase;background:#111;gap:4px;padding:16px 12px;font-size:14px;display:grid}.cal-day>header strong{font-family:Oswald,sans-serif;font-size:26px}.cal-session{overflow-wrap:anywhere;border-bottom:1px solid #505050;padding:20px 12px}.cal-session time{color:var(--aqua);font-size:14px}.cal-session h3{margin:12px 0;font-size:23px;line-height:1.25}.cal-session p{color:#bcbcbc;font-size:14px}.cal-count{margin-top:22px;font-size:14px}.cal-count strong{color:var(--aqua);font-size:25px}.cal-session meter{accent-color:#fdc200;width:100%;height:8px;margin:10px 0;display:block}.cal-availability{color:var(--aqua);font-size:13px}.cal-empty{color:#fdc200;padding:25px 12px;font-size:14px}@media (width<=1100px){.cal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.cal-grid{grid-template-columns:1fr}.cal-day>header{grid-template-columns:1fr auto;align-items:center}.cal-week{gap:8px}.cal-week h2{font-size:20px}.cal-filters label,.cal-filters select{width:100%}}.px-calendar button,.px-calendar select{color:#fff;background:#202020;border-color:#fdc20052}.px-calendar button:hover{color:#121212;background:#fdc200;border-color:#fdc200}.cal-grid{box-shadow:none;background:#1b1b1b;border-color:#fdc20038;border-radius:14px}.cal-day,.cal-session{border-color:#fdc20029}.cal-day>header{background:#202020;border-bottom-color:#fdc200}.cal-session time,.cal-count strong,.cal-availability{color:#fdc200}.cal-session meter{accent-color:#fdc200}.px-calendar h1{font-size:clamp(42px,5vw,70px)}.cal-view-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0 12px;display:flex}.cal-view-switch,.cal-zoom-tools{align-items:center;gap:6px;min-width:0;display:flex}.px-calendar .cal-view-tools button,.px-calendar .cal-view-tools select{border-radius:6px;min-height:34px;padding:7px 10px;font-size:13px}.px-calendar .cal-view-tools button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.cal-zoom-tools output{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:12px}.cal-agenda-scroll{--cal-base-height:560px;border:1px solid var(--calendar-line);background:var(--calendar-surface);color:var(--calendar-ink);overscroll-behavior:contain;border-radius:8px;max-height:650px;overflow:auto}.cal-agenda{width:100%;min-width:0}.cal-agenda-head,.cal-time-grid{grid-template-columns:48px repeat(var(--cal-days), minmax(0, 1fr));display:grid}.cal-agenda-head{z-index:3;background:var(--calendar-header);border-bottom:1px solid var(--calendar-line);position:sticky;top:0}.px-calendar .cal-day-heading{background:var(--calendar-header);border:0;border-left:1px solid var(--calendar-line);height:60px;color:var(--calendar-muted);text-transform:capitalize;border-radius:0;flex-direction:column;gap:2px;padding:6px 2px;font-size:12px;display:flex}.px-calendar .cal-day-heading:hover{background:var(--calendar-green);color:var(--calendar-ink)}.cal-day-heading strong{place-items:center;width:30px;height:30px;font-size:20px;font-weight:500;display:grid}.cal-day-heading.cal-today strong{background:var(--primary);color:var(--primary-foreground);border-radius:50%}.cal-agenda-head>span{text-align:center;color:var(--calendar-muted);align-self:center;font-size:10px}.cal-time-grid{height:calc(var(--cal-base-height) * var(--cal-zoom))}.cal-time-axis{background:var(--calendar-header);position:relative}.cal-hour-label{font-variant-numeric:tabular-nums;color:var(--calendar-muted);padding-top:4px;font-size:10px;position:absolute;right:5px}.cal-day-track{border-left:1px solid var(--calendar-line);background-image:repeating-linear-gradient(to bottom, var(--calendar-line) 0, var(--calendar-line) 1px, transparent 1px, transparent calc(100% / var(--cal-hours)));min-width:0;position:relative}.px-calendar .cal-event{text-align:left;border:0;border-left:2px solid var(--calendar-muted);border-bottom:2px solid var(--calendar-surface);min-height:0;color:var(--calendar-ink);background:var(--calendar-green);font-family:var(--font-body);white-space:normal;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;padding:4px 5px;font-size:11px;line-height:1.25;transition:filter .15s;display:flex;position:absolute;overflow:hidden}.px-calendar .cal-event:hover{background:var(--calendar-green);filter:brightness(.96);color:var(--calendar-ink);z-index:2}.cal-event strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;font-size:12px;font-weight:600;display:-webkit-box;overflow:hidden}.cal-event-time{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:10px;overflow:hidden}.cal-event-detail{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.px-calendar .cal-tone-1,.px-calendar .cal-tone-1:hover{background:var(--calendar-rose)}.px-calendar .cal-tone-2,.px-calendar .cal-tone-2:hover{background:var(--calendar-neutral)}.px-calendar .cal-tone-3,.px-calendar .cal-tone-3:hover{background:var(--calendar-gold)}.px-calendar .cal-tone-4,.px-calendar .cal-tone-4:hover{background:var(--calendar-blue)}.cal-focused .cal-event{padding:7px 10px;font-size:13px}.cal-focused .cal-event strong{font-size:14px}.cal-focused .cal-event-time{font-size:12px}.cal-course-dialog{border:1px solid var(--calendar-line);z-index:60;border-radius:14px;font-family:Archivo,Arial,sans-serif;background:var(--calendar-surface)!important;color:var(--calendar-ink)!important}.cal-course-dialog h2{color:var(--calendar-ink);font-size:26px}.cal-course-dialog p{color:var(--calendar-muted);font-size:16px}.cal-course-dialog dl>div{border-bottom:1px solid var(--calendar-line);justify-content:space-between;gap:18px;padding:13px 0;display:flex}.cal-course-dialog dt{color:var(--calendar-muted)}.cal-course-dialog dd{text-align:right;font-weight:600}.cal-course-dialog .cal-dialog-note{font-size:14px}.cal-child-choice{color:var(--calendar-muted);gap:8px;font-size:14px;display:grid}.cal-child-choice select{border:1px solid var(--calendar-line);background:var(--calendar-surface);width:100%;min-height:48px;color:var(--calendar-ink);font:inherit;border-radius:6px;padding:0 12px}.cal-course-dialog .cal-booking-button{border:1px solid var(--calendar-ink);background:var(--calendar-ink);width:100%;min-height:54px;color:var(--calendar-surface);border-radius:6px;justify-content:center;align-items:center;margin-top:6px;font:600 15px Archivo,Arial,sans-serif;text-decoration:none;display:flex}.cal-course-dialog .cal-booking-button:hover{background:var(--calendar-muted)}.cal-course-dialog .cal-booking-button:disabled{cursor:wait;opacity:.55}.cal-course-dialog .cal-booking-success,.cal-course-dialog .cal-booking-error{border-radius:5px;margin:0;padding:12px 14px;font-size:14px}.cal-course-dialog .cal-booking-success{background:var(--calendar-green);color:var(--calendar-ink)}.cal-course-dialog .cal-booking-error{background:var(--calendar-rose);color:var(--calendar-ink)}@media (width<=760px){.cal-agenda-scroll{--cal-base-height:520px;max-height:610px}.cal-agenda:not(.cal-focused .cal-agenda){min-width:680px}.cal-focused .cal-agenda{min-width:0}.cal-view-tools{align-items:flex-start}.cal-view-switch{flex-wrap:wrap}.px-calendar .cal-view-switch select{max-width:170px}.cal-agenda-head>span,.cal-time-axis{z-index:2;background:var(--calendar-header);position:sticky;left:0}.cal-course-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;width:calc(100vw - 24px)!important}}
