/* 0.3.7: a weekly published schedule with a month of weekend guidance. */
.k-current-week-tools{justify-content:flex-end}
.k-current-week-tools .k-calendar-quick{flex-wrap:wrap}
.k-calendar-popup .k-calendar-skating{flex-direction:column;gap:0;line-height:1.15;background:#fff0f8;color:#a00770}
.k-calendar-popup .k-calendar-skating small{font-size:8px;line-height:1.25;font-weight:700}
.k-calendar-popup .k-calendar-skating.-selected-{background:var(--blue);color:white}
.k-calendar-popup .k-calendar-skating.-focus-:not(.-selected-){background:#fbd9ee;color:#85005c}
.k-calendar-popup .air-datepicker-cell.-disabled-,.k-calendar-popup .air-datepicker-cell.-disabled-.-focus-{color:#7e8a9a;background:transparent;opacity:.65}
.k-date-strip button:disabled,.k-date-strip button:disabled:hover{color:#7e8a9a;background:#edf1f6;border-color:transparent;opacity:.65;cursor:default}
.k-weekend-preview{background:#fff8fc;color:var(--blue)}
.k-weekend-preview p{max-width:64ch}
.katok-hero .elementor-widget-button{max-width:100%}
body.katok-site .katok-hero .elementor-button{width:var(--katok-hero-action-width,auto);max-width:100%;box-sizing:border-box}
@media(max-width:760px){.k-current-week-tools{justify-content:flex-start}.k-current-week-tools .k-calendar-quick{width:100%;justify-content:space-between}}
/* Elementor Theme Builder purchase CTA follows the same sales switch as dynamic checkout controls. */
body.katok-site.k-sales-closed .elementor-element-kh100005{display:none!important}
.k-week-choice{display:inline-flex;align-items:center;gap:3px;padding:3px;background:#fff;border:1px solid var(--line);border-radius:12px}
.k-segment{gap:3px}
/* Distinguish the live public skating session from blue ice-service blocks. */
body.katok-site .k-time-grid .k-time-session.is-current:not(.is-service){background:#fff0f8!important;outline-color:var(--pink)!important}
body.katok-site .k-day-list>.k-session.is-current:not(.is-service){background:#fff0f8!important;box-shadow:-20px 0 #fff0f8,20px 0 #fff0f8!important;outline:none!important}
body.katok-site .k-day-list>.k-session.is-current:not(.is-service):before{display:none!important}
body.katok-site .k-day-list>.k-session.is-current:not(.is-service){position:relative}
@property --katok-flow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
body.katok-site .k-day-list>.k-session.is-current:not(.is-service):after{content:"";position:absolute;inset:0;box-sizing:border-box;padding:3px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--katok-flow-angle),#d70b7d 0%,#e33a94 13%,#f06aac 23%,#dc2088 32%,#eb55a2 47%,#d5127e 58%,#f27ab5 69%,#e54698 80%,#d70b7d 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 3px rgba(207,0,119,.28));animation:katok-current-session-flow 4s linear infinite}
@keyframes katok-current-session-flow{to{--katok-flow-angle:1turn}}
@media(prefers-reduced-motion:reduce){body.katok-site .k-day-list>.k-session.is-current:not(.is-service):after{animation:none;opacity:.35}}
/* Past public sessions are compact only in the day view; the week table keeps fares. */
body.katok-site .k-day-list>.k-session.is-finished:not(.is-service) .k-session-prices{display:none!important}
body.katok-site .k-day-list>.k-session.is-finished:not(.is-service) .k-session-purchase{gap:0!important}
/* A subtle glide for the skate shown only during the active public session. */
body.katok-site .k-live-session:not(.is-motion-paused) .k-live-skate .boot{transform-box:fill-box;transform-origin:center bottom;animation:katok-live-skate-glide 3s ease-in-out infinite}
@keyframes katok-live-skate-glide{0%,100%{transform:translate(-2px,0) rotate(-1deg)}50%{transform:translate(3px,-2px) rotate(2deg)}}
body.katok-site .k-ice-service.k-ice-motion:not(.is-motion-paused) .k-resurfacer-vehicle{transform-box:fill-box;transform-origin:center bottom;animation:katok-live-resurfacer-glide 3.6s ease-in-out infinite!important}
@keyframes katok-live-resurfacer-glide{0%,100%{transform:translateX(-3px)}50%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){body.katok-site .k-live-skate .boot{animation:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){body.katok-site .k-ice-service.k-ice-motion .k-resurfacer-vehicle{animation:none!important;transform:none!important}}
/* Active resurfacing animates automatically without a visible pause control. */
body.katok-site .k-ice-motion .k-ice-toggle,
body.katok-site .k-ice-motion .k-ice-footer{display:none!important}
body.katok-site .k-ice-service.k-ice-motion.is-current{box-shadow:inset 0 0 0 2px var(--blue)!important}
body.katok-site .k-day-heading.is-weekend .k-day-date{color:var(--pink)!important}
/* Desktop day view uses the same separated rounded-card rhythm as mobile. */
@media(min-width:761px){
 body.katok-site .k-day-list{display:flex;flex-direction:column;gap:10px;background:transparent;overflow:visible}
 body.katok-site .k-day-list>.k-session,
 body.katok-site .k-day-list>.k-ice-service{box-sizing:border-box;width:100%;margin:0!important;border:1px solid #dbe7f5!important;border-radius:14px!important;box-shadow:none!important}
 body.katok-site .k-day-list>.k-session{padding:18px 20px;background:#fff;overflow:hidden}
 body.katok-site .k-day-list>.k-session.is-finished,
 body.katok-site .k-day-list>.k-session.is-cancelled{background:#f6f7f9!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service){background:#fff0f8!important;box-shadow:none!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service){grid-template-columns:minmax(150px,180px) minmax(180px,1fr) minmax(440px,500px)!important;gap:18px!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service)>.k-session-purchase{display:grid;grid-template-columns:minmax(180px,200px) minmax(240px,1fr);align-items:center;gap:18px!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service) .k-session-book{grid-column:1;grid-row:1}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service) .k-session-prices{grid-column:2;grid-row:1}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service) .k-live-session{flex-wrap:nowrap;white-space:nowrap}
 body.katok-site .k-day-list>.k-session:not(.is-service) .k-session-prices>span{display:flex;flex-direction:column;align-items:center;text-align:center}
 body.katok-site .k-day-list>.k-session:not(.is-service) .k-session-purchase:has(.k-session-book .k-button:disabled){gap:0!important}
 body.katok-site .k-day-list>.k-ice-service{padding:12px 18px}
}
@media(min-width:761px) and (max-width:1000px){
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service){grid-template-columns:140px minmax(130px,1fr) minmax(370px,1.3fr)!important;gap:14px!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service)>.k-session-purchase{grid-template-columns:minmax(155px,180px) minmax(190px,1fr);gap:12px!important}
}
/* Keep the editable Theme Builder header visible on desktop only. */
@media(min-width:761px){
 html{scroll-padding-top:112px}
 body.katok-site .elementor-location-header{position:sticky!important;top:0;z-index:1100;background:#fff;box-shadow:0 4px 16px rgba(20,55,105,.08)}
 body.admin-bar.katok-site .elementor-location-header{top:32px}
}
/* Match the weekly ice-resurfacing card hierarchy to public skating cards. */
body.katok-site .k-time-grid.is-compact .k-ice-service{grid-template-columns:44px auto!important;grid-template-rows:auto auto!important;align-content:center!important;justify-content:center!important;justify-items:center!important;gap:2px 3px!important}
body.katok-site .k-time-grid.is-compact .k-ice-service>strong{grid-column:1/-1!important;grid-row:1!important;font-size:14px!important;line-height:1.25!important;width:auto!important}
body.katok-site .k-time-grid.is-compact .k-ice-service>svg.k-resurfacer-art,
body.katok-site .k-time-grid.is-compact .k-ice-service>.k-ice-machine{grid-column:1!important;grid-row:2!important;margin:0!important;align-self:center!important}
body.katok-site .k-time-grid.is-compact .k-ice-service>.k-ice-time{grid-column:2!important;grid-row:2!important;width:auto!important;align-items:center!important;text-align:center!important;line-height:1.2!important}
body.katok-site .k-time-grid.is-compact .k-ice-service .k-ice-clock,
body.katok-site .k-time-grid.is-compact .k-ice-service .k-ice-duration{width:100%!important;text-align:center!important}
.k-week-choice button{min-height:38px;padding:8px 15px;border:0;border-radius:9px;background:transparent;color:var(--blue);font-size:13px;font-weight:700;line-height:1.2;white-space:normal}
.k-week-choice button[aria-pressed="true"]{background:var(--blue);color:#fff}
.k-week-choice button:not([aria-pressed="true"]):hover,
.k-week-choice button:not([aria-pressed="true"]):focus-visible{background:var(--pink)!important;color:#fff!important}
.k-desktop-header-phone{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #cfdbeb;border-radius:11px;color:var(--blue);font-size:14px;font-weight:800;line-height:1;white-space:nowrap;text-decoration:none;background:#fff}
.k-desktop-header-phone:hover,.k-desktop-header-phone:focus{color:#fff;background:var(--blue);border-color:var(--blue)}
/* Let the seven-day timetable use the full schedule width on larger screens. */
@media(min-width:761px){
 body.katok-site [data-katok="schedule"] .k-time-grid.is-compact{width:100%!important;max-width:none!important;margin-inline:0!important}
 body.katok-site [data-katok="schedule"] .k-time-grid.is-compact .k-time-board{width:100%!important;grid-template-columns:repeat(var(--k-time-columns),minmax(0,1fr))!important}
}
@media(min-width:761px){
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-nav-menu{display:flex!important;flex-wrap:nowrap!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-item{padding:13px 6px!important;font-size:13px!important;white-space:nowrap!important}
}

/* Keep the editable Elementor header compact and aligned on phones. */
@media(max-width:760px){
 body.katok-site .katok-schedule-section.e-con{margin-top:10px!important}
 body.katok-site .k-day-list>.k-session.is-current:not(.is-service){border: none!important; box-shadow:none!important;outline:none!important}
 body.katok-site .k-day-list>.k-session:not(.is-service){grid-template-columns:minmax(0,1fr) auto!important;gap:8px 13px!important;padding-block:14px!important}
 body.katok-site .k-day-list>.k-session.is-finished:not(.is-service){padding-bottom:10px!important}
 body.katok-site .k-day-list>.k-session.is-finished:not(.is-service) .k-session-description>span{display:none!important}
 body.katok-site .k-day-list>.k-session.is-finished:not(.is-service)>.k-session-purchase{display:none!important}
 body.katok-site .k-day-list>.k-session:not(.is-service)>.k-session-time{grid-column:1!important;grid-row:1!important;align-self:center!important}
 body.katok-site .k-day-list>.k-session:not(.is-service)>.k-session-description{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:2px!important;width:auto!important;text-align:right!important}
 body.katok-site .k-day-list>.k-session:not(.is-service) .k-session-description>strong{font-size:14px!important;line-height:1.3!important;white-space:nowrap!important}
 body.katok-site .k-day-list>.k-session:not(.is-service) .k-session-description>span{margin:0!important;white-space:nowrap!important;text-align:right!important}
 body.katok-site .k-day-list>.k-session:not(.is-service)>.k-session-purchase{grid-column:1/-1!important;grid-row:2!important;padding-top:0!important}
 body.katok-site .k-day-list>.k-session.is-service .k-session-description>strong{font-size:14px!important;line-height:1.3!important}
 body.katok-site .k-day-list>.k-session .k-session-description>span,
 body.katok-site .k-day-list>.k-session .k-service-note{font-size:12px!important;line-height:1.35!important}
 body.katok-site .k-day-list>.k-session .k-session-state{font-size:12px!important;line-height:1.35!important}
 body.katok-site .k-week-choice{width:100%;display:grid;grid-template-columns:1fr 1fr}
 body.katok-site .k-week-choice button{padding-inline:8px;font-size:11px}
 body.katok-site .katok-elementor-header>.k-desktop-header-phone{display:none!important}
 body.katok-site .katok-elementor-header.e-con{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:12px!important;row-gap:8px!important;padding:12px 20px 10px!important;min-height:0!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100002{grid-column:1!important;grid-row:1!important;width:min(245px,calc(100vw - 100px))!important;max-width:100%!important;justify-self:start!important;margin:0!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100003{grid-column:2!important;grid-row:1!important;width:48px!important;min-width:48px!important;justify-self:end!important;align-self:center!important;margin:0!important;position:static!important}
 body.katok-site .katok-elementor-header .elementor-menu-toggle{margin:0 0 0 auto!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown{position:absolute!important;left:20px!important;right:20px!important;top:100%!important;width:auto!important;z-index:1000!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004{grid-column:1/-1!important;grid-row:2!important;width:100%!important;max-width:none!important;justify-self:stretch!important;margin:0!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-wrapper{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:7px!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-icon{display:flex!important;align-items:center!important;flex:0 0 auto!important;margin:0 7px 0 0!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon{font-size:16px!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon svg{width:16px!important;height:16px!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-content{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 1 auto!important;width:auto!important;gap:5px!important;min-width:0!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-title,
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-title a,
 body.katok-site .katok-elementor-header>.elementor-element-kh100004 .elementor-icon-box-description{margin:0!important;font-size:clamp(8px,2.15vw,12px)!important;line-height:1.2!important;white-space:nowrap!important;letter-spacing:-.01em!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100005{grid-column:1/-1!important;grid-row:3!important;margin:0!important}
}

/* Full-screen mobile navigation, styled after the Cosmopark menu. */
@media(max-width:760px){
 html.k-mobile-menu-open,html.k-mobile-menu-open body{overflow:hidden!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100002,
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-menu-toggle{position:relative!important;z-index:1002!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-menu-toggle{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;padding:10px!important;border:0!important;border-radius:7px!important;background:var(--blue)!important;color:#fff!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-menu-toggle svg{width:23px!important;height:23px!important;fill:#fff!important;color:#fff!important}
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-menu-toggle:hover,
 body.katok-site .katok-elementor-header>.elementor-element-kh100003 .elementor-menu-toggle:focus{background:#173d7d!important;color:#fff!important}
 html.k-mobile-menu-open body.katok-site .katok-elementor-header>.elementor-element-kh100004{visibility:hidden!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:112px 24px 28px!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;z-index:1001!important;overflow-y:auto!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown[aria-hidden="false"]{display:flex!important;flex-direction:column!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown .elementor-nav-menu{display:flex!important;flex-direction:column!important;gap:2px!important;width:100%!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown .elementor-item{display:flex!important;align-items:center!important;min-height:51px!important;padding:10px 4px!important;border-bottom:1px solid #e4ebf5!important;background:transparent!important;color:var(--blue)!important;font-size:22px!important;line-height:1.2!important;font-weight:800!important;text-align:left!important}
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown .elementor-item:hover,
 body.katok-site .katok-elementor-header .elementor-nav-menu--dropdown .elementor-item:focus{color:var(--pink)!important;background:transparent!important}
 body.katok-site .katok-elementor-header .k-mobile-menu-phone{display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;margin:auto 0 0!important;padding:12px 18px!important;border-radius:13px!important;background:var(--blue)!important;color:#fff!important;font-size:20px!important;font-weight:800!important;text-decoration:none!important}
}
