.tk-fast-days{padding:16px;border:1px solid #c5d3dd;border-radius:10px;margin:12px 0;background:#f4f8fa;color:#102c48}
.tk-date-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tk-fast-actions,.tk-transport-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.tk-fast-actions button,.tk-transport-buttons button{padding:10px 13px;min-height:44px;border:1px solid #9eb2c2;border-radius:7px;background:#fff;color:#102c48;font:inherit;cursor:pointer}
.tk-transport-buttons button{flex:1 1 150px}
.tk-transport-buttons button[aria-pressed=true]{background:#164b72;color:#fff;border-color:#164b72;box-shadow:inset 0 -3px #ffcc36}
.tkboard-day.is-bulk-selected,.tktrain-day.is-bulk-selected{background:#164b72!important;color:#fff!important;outline:2px solid #ffcc36;outline-offset:-2px}
.tk-time-picker{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:6px;margin:6px 0 12px}
.tk-time-picker select{min-width:0;width:100%;font:inherit;padding:10px 7px!important;min-height:44px}
.tkx-details select[hidden],.tk-fast-days [hidden]{display:none!important}
.tkboard:has([data-board-booking-form]),.tkboard:has([data-daycare-bulk]){max-width:1280px}
.tkboard-layout:has([data-board-booking-form]){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.tkboard .tkx-details{grid-template-columns:1fr}
#tallyk9-suite-actions-title{font-size:clamp(26px,3.2vw,38px);line-height:1.2;margin:0}
@media(max-width:760px){.tkboard-layout:has([data-board-booking-form]){grid-template-columns:1fr}.tk-date-range{grid-template-columns:1fr}.tk-fast-actions button{flex:1 1 45%}.tk-time-picker{grid-template-columns:1fr 1fr 1.15fr}.tk-transport-buttons{flex-direction:column}.tk-transport-buttons button{flex:auto;width:100%}.tkboard-card{padding:16px}.tkboard .tkx-details{grid-template-columns:minmax(0,1fr)}}

.tk-transport-buttons{display:flex;gap:12px;flex-wrap:wrap}
.tk-transport-buttons label{display:flex!important;align-items:center;gap:7px;margin:3px 0!important;font-weight:400}
.tkboard .tk-transport-buttons input[type=radio]{display:inline-block;width:16px!important;height:16px!important;min-height:0;flex:none;margin:0;accent-color:#164b72}
.tallyk9-suite-service-grid .tallyk9-service-card:has(strong){display:flex;align-items:center;justify-content:center;text-align:center;min-height:68px;padding:16px}
.tk-batch-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.tk-batch-times>section{border:1px solid #cad6df;padding:12px;border-radius:8px}
@media(max-width:760px){.tk-batch-times{grid-template-columns:1fr}.tallyk9-suite-service-grid{grid-template-columns:1fr!important}.tk-transport-buttons{flex-direction:column}}
.tk-time-picker[hidden],.tkboard-fields[hidden]{display:none!important}

.tallyk9-suite-service-grid{display:flex!important;justify-content:center!important;align-items:stretch;flex-wrap:wrap;gap:16px}
.tallyk9-suite-service-grid .tallyk9-service-card{flex:0 1 240px;min-width:0}
.tallyk9-suite-service-grid .tallyk9-service-card strong{display:flex;flex-direction:column;gap:3px;align-items:center;font-size:clamp(22px,2vw,30px);line-height:1.15}
.tk-calendar-top-nav{display:flex;justify-content:flex-start;align-items:stretch;gap:8px;margin:16px auto;max-width:1280px;padding:0 20px}
.tk-calendar-top-nav a{flex:0 1 auto;text-decoration:none;font-size:.9rem}
.tk-service-tabs{padding:0;border:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}
.tk-service-tabs legend{font-weight:600;margin-bottom:8px}
.tk-service-tabs button{padding:10px 14px;border:1px solid #164b72;border-radius:7px;background:#fff;color:#164b72;cursor:pointer;font:inherit}
.tk-service-tabs button[aria-pressed=true]{background:#164b72;color:white}
.tkboard-layout:has(form [name=tk_family][value=daycare]){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.tkboard label[hidden]{display:none!important}
@media(max-width:760px){.tallyk9-suite-service-grid .tallyk9-service-card{flex:1 1 27%;padding:14px 5px!important}.tallyk9-suite-service-grid .tallyk9-service-card strong{font-size:clamp(16px,4.2vw,22px)}.tk-calendar-top-nav{padding:0 12px;gap:6px}.tk-calendar-top-nav a{flex:1 1 0;font-size:.73rem;padding:9px 5px!important;min-width:0}.tkboard-layout:has(form [name=tk_family][value=daycare]){grid-template-columns:1fr}.tk-service-tabs button{flex:1}.tkboard-calendar{gap:4px}}
.tkboard-head nav:empty,.tktrain-head nav:empty{display:none}

.tk-service-radios{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.tk-service-radios label{display:flex!important;align-items:center;gap:7px;margin:4px 0!important;font-weight:500}
.tkboard .tk-service-radios input[type=radio]{display:inline-block;width:16px!important;height:16px!important;min-height:0;padding:0;flex:none;margin:0;accent-color:#164b72}
.tk-calendar-top-nav a.tkboard-button{display:inline-flex!important;align-items:center;justify-content:center;background:#164b72!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #164b72!important;border-bottom:3px solid #ffcc36!important;border-radius:8px;padding:12px 16px;text-decoration:none!important;font-weight:600}
.tkboard-day.is-range{background:#164b72!important;color:white!important;outline:2px solid #ffcc36;outline-offset:-2px}

/* Shared calendar presentation, scoped to booking pages. */
.tk-calendar-login{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid #164b72;border-bottom:3px solid #ffcc36;border-radius:8px;background:#164b72;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important;font:inherit;font-weight:600}
.tk-calendar-login:hover,.tk-calendar-top-nav a:hover{filter:brightness(1.1)}
.tk-calendar-login:focus-visible,.tk-calendar-top-nav a:focus-visible{outline:3px solid #ffcc36;outline-offset:3px}
body :is(.tkboard,.tktrain){width:100%!important;max-width:none!important;padding-inline:clamp(8px,1vw,16px)!important;box-sizing:border-box}
#main-content :is(.tkboard-layout,.tktrain-layout),#wpbody :is(.tkboard-layout,.tktrain-layout){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch;gap:22px;margin-bottom:22px}
#main-content :is(.tkboard-layout,.tktrain-layout)>:is(.tkboard-card,.tktrain-card),#wpbody :is(.tkboard-layout,.tktrain-layout)>:is(.tkboard-card,.tktrain-card){height:100%;margin-bottom:0;min-width:0}
.tk-calendar-top-nav{max-width:none;width:100%;box-sizing:border-box;padding-inline:clamp(8px,1vw,16px)}
.tkboard-month,.tktrain-month{display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;text-align:center;gap:10px}
.tkboard-month h3,.tktrain-month h3{text-align:center;margin:0;min-width:0}
.tkboard-month>a:last-child,.tktrain-month>a:last-child{justify-self:end}
.tk-selected-dates{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0}
.tk-selected-dates li{border:1px solid #cedbe4;padding:8px 12px;border-radius:8px}
.tk-selected-dates small,.tk-selected-dates strong,.tk-batch-times h4 small,.tk-batch-times h4 span{display:block}
.tk-selected-dates small,.tk-batch-times h4 small{font-size:.85rem;font-weight:500}
@media(max-width:760px){
 .tk-month-name,.tk-month-year{display:block;text-align:center}.tk-month-year{font-size:.85em;margin-top:4px}
 #main-content :is(.tkboard-layout,.tktrain-layout),#wpbody :is(.tkboard-layout,.tktrain-layout){grid-template-columns:minmax(0,1fr)!important;gap:16px}
 #main-content :is(.tkboard-layout,.tktrain-layout)>:is(.tkboard-card,.tktrain-card),#wpbody :is(.tkboard-layout,.tktrain-layout)>:is(.tkboard-card,.tktrain-card){height:auto}
 .tk-selected-dates li{flex:1 1 130px;min-width:0}
}

/* Expand only the two care calendar pages, including their theme container. */
body.tk-wide-calendar .tkboard{width:100%!important;max-width:none!important;padding-inline:0!important;margin-inline:0!important}
body.tk-wide-calendar #main-content .tkboard-layout{width:100%!important;max-width:none!important;margin-inline:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px}
body.tk-wide-calendar .tk-service-choice-card{width:100%;box-sizing:border-box;margin:0 0 18px}
body.tk-wide-calendar .tk-service-choice-card .tk-service-tabs{margin:0}
body.tk-wide-calendar .tk-service-choice-card legend{font-size:1.25rem;margin-bottom:12px}
body.tk-wide-calendar .tk-calendar-top-nav{padding-inline:0}
@media(max-width:760px){
 body.tk-wide-calendar #main-content .tkboard-layout{grid-template-columns:minmax(0,1fr)!important;gap:14px}
 body.tk-wide-calendar .tk-service-choice-card{padding:16px}
}
.tallyk9-client-dashboard>.tallyk9-suite-portal-actions{display:flex!important;justify-content:flex-start!important;gap:10px;padding:0 0 16px;margin:0}
.tallyk9-suite-service-grid .tallyk9-service-card{flex-basis:260px;min-height:100px}
.tallyk9-suite-service-grid .tallyk9-service-card strong{font-size:clamp(27px,2.5vw,36px)!important;font-weight:700!important;line-height:1.16}
body.tk-calendar-contained :is(.tkboard,.tktrain){padding-inline:0!important;width:100%!important;max-width:none!important}
body.tk-calendar-contained #main-content .page-content>.container{padding-inline:12px!important;box-sizing:border-box}
.tk-training-panels{min-width:0;display:flex;flex-direction:column;gap:16px}
.tk-training-panels>.tktrain-card{margin:0;height:auto}
.tk-training-panels .tktrain-choice-action{display:none}
.tk-training-submit{margin-top:16px}
.tk-training-submit button{width:100%}
.tk-training-selected{outline:3px solid #ffcc36}
@media(max-width:760px){
 .tallyk9-suite-service-grid .tallyk9-service-card{min-height:84px}
 .tallyk9-suite-service-grid .tallyk9-service-card strong{font-size:clamp(18px,5vw,25px)!important}
 body.tk-calendar-contained #main-content .page-content>.container{padding-inline:8px!important}
}
.tallyk9-suite-service-grid .tallyk9-service-card strong>span{font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important}
#main-content .tktrain-layout:has([data-training-panels]){align-items:start}
#main-content .tktrain-layout>[data-training-client-calendar]{height:auto}
/* The theme wraps ordinary page content in .content-width (max-width:960px).
   Remove that inner cap only for these three client booking calendars.
   The outer white .container retains its normal width. */
body.tk-calendar-contained #main-content .page-content > .container > .content-width{
 width:100%!important;
 max-width:none!important;
 min-width:0;
 margin-inline:0!important;
 padding-inline:0!important;
 box-sizing:border-box;
}
/* Center the heading over its service buttons. */
.tallyk9-client-dashboard .tallyk9-add-services-band .tallyk9-suite-actions-head{
 display:block!important;text-align:center;justify-content:center!important;
}
.tallyk9-client-dashboard .tallyk9-add-services-band .tallyk9-suite-actions-copy{width:100%;text-align:center}
.tallyk9-client-dashboard #tallyk9-suite-actions-title{text-align:center;margin-inline:auto}
@media(min-width:761px){
 .tallyk9-client-dashboard .tallyk9-suite-service-grid{gap:clamp(28px,3vw,44px)!important}
}
@media(max-width:760px){
 .tallyk9-client-dashboard .tallyk9-suite-service-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%;
 }
 .tallyk9-client-dashboard .tallyk9-suite-service-grid .tallyk9-service-card{
  min-width:0!important;width:100%;box-sizing:border-box;padding:14px 4px!important;
 }
 .tallyk9-client-dashboard .tallyk9-suite-service-grid .tallyk9-service-card strong{
  font-size:clamp(15px,4vw,24px)!important;white-space:nowrap;
 }
 .tallyk9-client-dashboard .tallyk9-suite-service-grid .tallyk9-service-droolbus{grid-column:1/-1}
}

.tktrain .tk-service-radios{border:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.tktrain .tk-service-radios label,.tktrain [data-tkt-payment] label{display:flex;align-items:flex-start;gap:8px;font-weight:500;margin:8px 0}
.tktrain .tk-service-radios input,.tktrain [data-tkt-payment] input[type=radio]{width:16px!important;height:16px!important;min-height:0;flex:none;margin:4px 0;accent-color:#164b72}
.tktrain [data-tkt-payment]{border:1px solid #c7d5df;border-radius:8px;padding:14px;margin:14px 0}
.tktrain [data-tkt-payment][hidden]{display:none!important}

/* Compact date overview; selected time cards retain their own natural height. */
.tk-training-date-summary { padding: 16px 22px; margin-bottom: 16px; }
.tk-training-date-summary h3 { margin: 4px 0 0; }
.tk-training-panels [data-training-day] { height: auto; }
.tk-training-panels [data-training-day][hidden] { display: none !important; }
.tktrain > .tktrain-notice { margin: 18px 0 22px; }
.tk-calendar-month-status:empty { display: none; }

.tk-training-service-card{margin-bottom:20px}.tk-training-date-summary .tk-today-label{margin:0 0 8px;font-weight:600}.tk-training-location [data-tkx-address][hidden]{display:none!important}.tk-training-location input[type=radio]{width:18px;height:18px;min-height:0;accent-color:#164b72}.tk-training-location .tk-service-radios{display:flex;flex-wrap:wrap;gap:12px 22px}.tk-training-location .tk-service-radios label{display:flex;align-items:center;gap:8px}

.tk-training-location [data-tkt-offsite-note][hidden]{display:none!important}

.tkm-auto-quote:empty{display:none}

[data-board-service-options][hidden]{display:none!important}.tkm-auto-quote .tk-transport-amount{color:#16803c!important;-webkit-text-fill-color:#16803c!important;font-weight:650}.tkboard [data-tk-review]{color:#164b72!important;-webkit-text-fill-color:#164b72!important;background:#ffcc36!important;border-color:#164b72!important}

.tkboard-day.is-closed,.tktrain-day.is-closed{background:#eef1f5!important;border-color:#d4dde6!important;color:#687783!important;box-shadow:none!important}.tkboard-day.is-closed strong,.tkboard-day.is-closed small,.tktrain-day.is-closed strong,.tktrain-day.is-closed small{color:#687783!important;-webkit-text-fill-color:#687783!important}
