@font-face{font-family:HirondelleCalendarMyriad;src:url("fonts/MYRIADPRO-REGULAR.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
body.hkc-enabled .elementor-element-f4b01d2{display:none!important}
body.hkc-enabled #fh-booking-toolbar,body.hkc-enabled #fh-booking-calendar{width:100%;max-width:1200px;min-width:0;margin:0 auto;padding:0 15px;box-sizing:border-box;font-family:"Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif;font-size:14px;line-height:20px;color:#666}
body.hkc-enabled #fh-booking-toolbar *,body.hkc-enabled #fh-booking-calendar *{box-sizing:border-box}
body.hkc-enabled #fh-booking-calendar{margin-bottom:35px}
body.hkc-enabled .hkc-heading{font:400 23.8px/1.1 Helvetica,Arial,sans-serif!important;text-transform:uppercase!important;letter-spacing:0!important;color:#39c!important;border:0;border-bottom:1px solid #39c;padding:0!important;margin:30px 0 20px!important}
body.hkc-enabled .hkc-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px;align-items:start;margin-bottom:30px}
body.hkc-enabled .hkc-intro{min-width:0;padding-right:10px}
body.hkc-enabled .hkc-intro p{font:inherit!important;font-size:105%!important;line-height:1.428571429!important;color:#666;margin:0 0 12px}
body.hkc-enabled .hkc-intro .hkc-view-label{margin-bottom:4px}
body.hkc-enabled :is(.hkc-view-switch,.hkc-category,.hkc-filter-all,.hkc-year-neighbor,.hkc-retry){font-family:inherit!important;font-weight:400!important;font-style:normal!important;letter-spacing:0!important;text-transform:none;box-shadow:none;cursor:pointer}
body.hkc-enabled .hkc-view-switch{display:block;width:100%;padding:6px;border:1px solid #ddd;border-radius:3px;background:#f0f0f0;color:#666;font-size:110%!important;line-height:24px!important;min-height:38px;text-align:center}
body.hkc-enabled .hkc-filters{min-width:0;margin:0;padding:0}
body.hkc-enabled .hkc-filter-actions,body.hkc-enabled .hkc-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
body.hkc-enabled .hkc-filter-actions{margin-bottom:4px}
body.hkc-enabled .hkc-filter-all{display:block;min-height:34px;padding:5px 8px;border:2px solid #fff;border-radius:0;background:#ccc;color:#555;font-size:90%!important;line-height:20px!important;text-transform:uppercase;box-shadow:inset 0 0 10px rgb(0 0 0 / 15%)}
body.hkc-enabled .hkc-category{display:block;width:100%;min-width:0;min-height:34px;padding:5px 8px;border:2px solid #fff;border-radius:0;background:#f0f0f0;color:#777;font-size:14px!important;line-height:20px!important;text-align:center;overflow-wrap:break-word;transition:opacity .12s ease}
body.hkc-enabled .hkc-category.hkc-selected{background:var(--hkc-category-color,#c4c5ca);color:var(--hkc-category-text,#000)!important;text-shadow:none!important}
body.hkc-enabled .hkc-category:hover{opacity:1;text-decoration:underline}
body.hkc-enabled .hkc-year-navigation{display:flex;align-items:center;justify-content:flex-start;gap:0;margin:20px 0 10px;padding:0;border:0;height:45px}
body.hkc-enabled .hkc-year-neighbor{display:block;width:60px;min-height:30px;max-height:30px;margin:0;padding:5px;border:0;border-radius:0;background:#f0f0f0;color:#888;font-size:14px!important;line-height:20px!important;box-shadow:inset 0 0 10px rgb(0 0 0 / 10%)}
body.hkc-enabled .hkc-current-year{display:block;width:100px;height:45px;margin:0!important;padding:10px 0!important;border:0;border-radius:0;background:#368fb5;color:#fff!important;font:400 22px/25px "Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif!important;text-align:center;box-shadow:inset 0 0 10px rgb(0 0 0 / 10%)}
body.hkc-enabled .hkc-live{font-size:12px;line-height:18px;margin:0 0 8px;color:#777}
body.hkc-enabled .hkc-year-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-top:1px solid #ccc;padding-top:14px}
body.hkc-enabled .hkc-year-canvas{min-width:868px}
body.hkc-enabled .hkc-month-table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;margin:0 0 20px;background:#fff;border:1px solid #fff;box-shadow:0 0 3px rgb(0 0 0 / 20%);font-size:14px;line-height:14px}
body.hkc-enabled .hkc-month-caption{caption-side:top;padding:0 0 5px;text-align:left;color:#666;font:400 14px/20px "Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif}
body.hkc-enabled .hkc-month-table :is(th,td){min-width:28px;padding:0;border:1px solid #f0f0f0;text-align:left;vertical-align:middle;font-family:inherit;font-weight:400;font-size:14px;line-height:14px;overflow:hidden}
body.hkc-enabled .hkc-month-table .hkc-day-header{height:34px;padding:2px;text-align:center;background:#f0f0f0;color:#666}
body.hkc-enabled .hkc-day-number,body.hkc-enabled .hkc-weekday-name{display:block;line-height:14px}
body.hkc-enabled .hkc-weekday-name{font-size:11px;opacity:.5}
body.hkc-enabled .hkc-month-table .hkc-day-header.hkc-holiday--regional:not(.hkc-weekend){background:#e5e5e5}
body.hkc-enabled .hkc-month-table .hkc-day-header.hkc-holiday--national:not(.hkc-weekend){background:#d8d8d8}
body.hkc-enabled .hkc-month-table .hkc-weekend{background:#ccc}
body.hkc-enabled .hkc-month-table .hkc-today{box-shadow:inset 0 -2px #429cbf}
body.hkc-enabled .hkc-event-row,body.hkc-enabled .hkc-day-cell{height:20px}
body.hkc-enabled #fh-booking-calendar .hkc-event{display:block;min-width:0;width:100%;height:20px;margin:0;padding:2px 3px 2px 8px;border:0;border-radius:0;background:var(--hkc-event-color,#429cbf);color:var(--hkc-event-text,#000)!important;text-shadow:none!important;font-family:inherit;font-weight:600;font-size:12px;line-height:16px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.hkc-enabled #fh-booking-calendar .hkc-event-start{border-top-left-radius:6px;border-bottom-left-radius:6px}
body.hkc-enabled #fh-booking-calendar .hkc-event-end{border-top-right-radius:6px;border-bottom-right-radius:6px}
body.hkc-enabled #fh-booking-calendar .hkc-event:hover{text-decoration:underline}
body.hkc-enabled .hkc-list{margin:0;padding:0;list-style:none;border-top:1px solid #ccc}
body.hkc-enabled .hkc-list-item{display:grid;grid-template-columns:6px minmax(0,1fr) minmax(120px,auto) 32px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #ddd;margin:0}
body.hkc-enabled .hkc-list-marker{display:block;width:6px;min-height:75px;height:100%;border-radius:2px}
body.hkc-enabled .hkc-list-info{display:flex;flex-direction:column;min-width:0}
body.hkc-enabled .hkc-list-title{font-size:15px;line-height:22px;color:#287fa8;text-decoration:none}
body.hkc-enabled .hkc-list-date,body.hkc-enabled .hkc-list-category{display:block;font-size:13px;line-height:19px;color:#666}
body.hkc-enabled .hkc-list-status{font-size:13px;line-height:19px;text-align:right;color:#666}
body.hkc-enabled .hkc-list-price{display:block}
/* Three stacked lamps follow the recovered Matukio colours and housing.
   The adjacent status text carries the meaning without relying on colour. */
body.hkc-enabled .hkc-traffic-light{display:flex;flex-direction:column;gap:2px;width:32px;height:73px;flex:none;align-self:center;text-shadow:none;box-shadow:none}
body.hkc-enabled .hkc-traffic-light__lamp{display:flex;align-items:center;justify-content:center;width:32px;height:23px;border-radius:4px;background:#34495e}
body.hkc-enabled .hkc-traffic-light__lamp::before{content:"";display:block;width:21px;height:21px;border:1px solid #223440;border-radius:50%;background:#e3e3e3;box-shadow:none}
body.hkc-enabled .hkc-traffic-light--red .hkc-traffic-light__lamp--red::before{background:#de4639}
body.hkc-enabled .hkc-traffic-light--orange .hkc-traffic-light__lamp--orange::before{background:#eab71e}
body.hkc-enabled .hkc-traffic-light--green .hkc-traffic-light__lamp--green::before{background:#2bae6c}
body.hkc-enabled .hkc-traffic-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 14px;padding:0;list-style:none;font-size:13px;line-height:20px;text-shadow:none}
body.hkc-enabled .hkc-traffic-legend__item{display:flex;align-items:center;gap:7px;margin:0;padding:0}
body.hkc-enabled .hkc-traffic-legend__dot{display:inline-block;width:13px;height:13px;flex:none;border:1px solid #34495e;border-radius:50%}
body.hkc-enabled .hkc-traffic-legend__dot--red{background:#de4639}
body.hkc-enabled .hkc-traffic-legend__dot--orange{background:#eab71e}
body.hkc-enabled .hkc-traffic-legend__dot--green{background:#2bae6c}
body.hkc-enabled .hkc-traffic-legend__dot--grey{background:#e3e3e3}
body.hkc-enabled :is(.hkc-loading,.hkc-empty,.hkc-error){padding:16px 0;margin:0;font-size:14px;line-height:20px}
body.hkc-enabled .hkc-retry{padding:8px 16px;border:1px solid #ccc;border-radius:3px;background:#f0f0f0;color:#555;font-size:14px!important;line-height:20px!important}
body.hkc-enabled #fh-booking-toolbar :is(button,a):focus-visible,body.hkc-enabled #fh-booking-calendar :is(button,a,.hkc-year-scroll):focus-visible{outline:2px solid #247ba0;outline-offset:3px}
body.hkc-enabled .hkc-tooltip{position:fixed;z-index:100001;width:min(280px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:hidden;box-sizing:border-box;border:1px solid #F1D031;border-radius:0;padding:5px 7px;background:#FFFFA3;color:#555;box-shadow:none;font:10.5px/12px "Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif;pointer-events:none;overflow-wrap:anywhere}
body.hkc-enabled .hkc-tooltip-image{display:block;width:100%;height:auto;max-height:144px;aspect-ratio:16/9;object-fit:cover;margin:0 0 6px;border:0;box-shadow:none}
body.hkc-enabled .hkc-tooltip-image--fallback{object-fit:contain;background:#fff;padding:8px;box-sizing:border-box}
body.hkc-enabled .hkc-tooltip[hidden]{display:none!important}
body.hkc-enabled .hkc-tooltip-title{display:block;font:inherit;font-weight:bold;margin:0 0 4px;color:#555}
body.hkc-enabled .hkc-tooltip p{font:inherit!important;color:#555;margin:0 0 4px}
@media(max-width:767px){body.hkc-enabled .hkc-intro-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:20px}body.hkc-enabled .hkc-intro{padding:0}body.hkc-enabled .hkc-category,body.hkc-enabled .hkc-filter-all{min-height:40px}body.hkc-enabled .hkc-year-neighbor{min-height:40px;max-height:40px}body.hkc-enabled .hkc-list-item{grid-template-columns:6px minmax(0,1fr) 32px;gap:6px 10px}body.hkc-enabled .hkc-list-info{grid-column:2;grid-row:1}body.hkc-enabled .hkc-list-status{grid-column:2;grid-row:2;text-align:left}body.hkc-enabled .hkc-list-title{min-height:30px}body.hkc-enabled .hkc-list-marker{grid-row:1 / span 2;height:100%}body.hkc-enabled .hkc-traffic-light{grid-column:3;grid-row:1 / span 2}body.hkc-enabled .hkc-list-status .hkc-list-price{display:inline;margin-left:8px}}
@media(prefers-reduced-motion:reduce){body.hkc-enabled .hkc-category{transition:none}}
/* Holiday names appear only while hovering/focusing a marked day. */
body.hkc-enabled .hkc-day-header.hkc-holiday{cursor:help}
body.hkc-enabled .hkc-day-header.hkc-holiday:focus-visible{outline:2px solid #247ba0;outline-offset:-2px}
body.hkc-enabled .hkc-day-tooltip{position:fixed;z-index:100002;box-sizing:border-box;width:min(340px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:hidden;padding:12px 14px;border:2px solid #429cbf;border-radius:4px;background:#fff;color:#333;box-shadow:0 3px 12px rgb(25 54 70 / 18%);font:400 14px/1.4 "Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif;text-shadow:none;pointer-events:none;overflow-wrap:anywhere}
body.hkc-enabled .hkc-day-tooltip[hidden]{display:none!important}
body.hkc-enabled .hkc-day-tooltip-title{display:block;margin:0 0 6px;font-size:16px;font-weight:600;color:#1d5c79}
body.hkc-enabled .hkc-day-tooltip p{margin:4px 0!important;font:inherit!important;color:#333!important;text-shadow:none!important}
body.hkc-enabled .hkc-day-tooltip small{display:block;margin-top:6px;color:#666;font-size:12px;line-height:1.3}
/* Optional school holidays are display rows, separate from bookable events. */
body.hkc-enabled .hkc-school-controls{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:16px 0 0;padding:10px 0 0;border-top:1px solid #ddd}
body.hkc-enabled .hkc-school-controls [hidden]{display:none!important}
body.hkc-enabled .hkc-school-toggle{display:flex;align-items:center;gap:8px;margin:0;padding:0;font:inherit;color:#555;cursor:pointer}
body.hkc-enabled .hkc-school-toggle input{appearance:auto;flex:none;width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:#3399cc}
body.hkc-enabled .hkc-school-state{display:flex;flex-direction:column;gap:4px;max-width:100%;margin:0;color:#555;font:inherit}
body.hkc-enabled .hkc-school-state select{box-sizing:border-box;min-width:0;max-width:100%;min-height:38px;padding:6px 28px 6px 8px;border:1px solid #bbb;border-radius:3px;background:#fff;color:#444;font:inherit}
body.hkc-enabled .hkc-intro :is(.hkc-school-status,.hkc-school-state-note){margin:0;font-size:12px!important;line-height:1.35!important}
body.hkc-enabled .hkc-school-retry{min-height:36px;margin:0;padding:6px 10px;border:1px solid #bbb;border-radius:3px;background:#f0f0f0;color:#444;font:inherit;cursor:pointer;text-shadow:none;box-shadow:none}
body.hkc-enabled .hkc-school-row,body.hkc-enabled .hkc-school-day-cell{height:22px}
body.hkc-enabled .hkc-school-period{display:block;width:100%;min-width:0;height:22px;box-sizing:border-box;padding:3px 5px;background:var(--hkc-school-color,#FFFFCC);color:#000!important;font:400 12px/16px "Myriad Pro Regular",HirondelleCalendarMyriad,Arial,sans-serif;text-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}
