/* Generations Coaching – top bar, language switcher, accessibility modes */
.gc-topbar{background:#0F2438;color:#fff;font-family:var(--wp--preset--font-family--manrope),system-ui,sans-serif;font-size:14px;line-height:1.2;position:relative;z-index:1000}
.gc-topbar__in{max-width:1340px;margin:0 auto;padding:6px clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;box-sizing:border-box}
.gc-a11y{display:flex;align-items:center;gap:10px}
.gc-a11y__label{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#fff;font-size:14px}
.gc-a11y__panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gc-a11y__group{display:flex;align-items:center;gap:4px}
.gc-a11y__glabel{color:#C9D6E2;margin-right:4px;font-size:13px}
.gc-a11y__btn,.gc-a11y__toggle{appearance:none;font:inherit;font-size:14px;font-weight:700;line-height:1;color:#fff;background:transparent;border:1px solid #4A6582;border-radius:8px;min-height:32px;min-width:32px;padding:6px 9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.gc-a11y__btn:hover,.gc-a11y__toggle:hover{border-color:#fff;background:#17324D}
.gc-a11y__btn[aria-pressed=true]{background:#fff;color:#0F2438;border-color:#fff}
.gc-a11y__fs1{font-size:13px}.gc-a11y__fs2{font-size:15px}.gc-a11y__fs3{font-size:17px}
.gc-a11y__reset{font-weight:600;color:#C9D6E2}
@media (min-width:1100px){.gc-a11y__toggle{display:none!important}.gc-a11y{flex:1 1 auto;min-width:0}.gc-a11y__panel{flex-wrap:nowrap}}
.gc-topbar :focus-visible,.gc-langs :focus-visible{outline:3px solid #FFD60A!important;outline-offset:2px}
/* language switcher */
.gc-langs ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.gc-langs a{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;text-decoration:none!important;font-weight:700;font-size:14px;line-height:1;color:inherit;border:1px solid transparent;min-height:32px;box-sizing:border-box}
.gc-langs a svg{border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.35);flex:none}
.gc-langs a:hover{border-color:currentColor}
.gc-langs a[aria-current=true]{border-color:#fff;background:rgba(255,255,255,.12)}
.gc-langs--top{color:#fff}
.gc-langs--footer{color:#fff;font-size:14px}
.gc-langs .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* language links inside the mobile menu only */
.wp-block-navigation__responsive-container:not(.is-menu-open) .gc-lang-link{display:none!important}
.wp-block-navigation__responsive-container.is-menu-open .gc-lang-link{font-size:1.1rem}
.wp-block-navigation__responsive-container.is-menu-open .gc-lang-link svg{vertical-align:-2px;margin-right:4px}
.wp-block-navigation__responsive-container.is-menu-open .gc-lang-first{margin-top:1.25rem;border-top:1px solid #DCE3EA;padding-top:1rem}
.wp-block-navigation__responsive-container.is-menu-open .gc-lang-link a[aria-current=true]{text-decoration:underline;text-underline-offset:4px}
/* header: keep CTA on one line */
.gc-header-cta .wp-block-button__link{white-space:nowrap}
@media (max-width:1099px){
  .gc-a11y{position:static}
  .gc-a11y__label{display:none}
  .gc-a11y__toggle{display:inline-flex}
  .gc-a11y__toggle[aria-expanded=true]{background:#fff;color:#0F2438}
  .gc-a11y__panel{display:none;position:absolute;left:0;right:0;top:100%;background:#0F2438;padding:12px clamp(16px,4vw,48px) 16px;gap:12px;border-top:1px solid #2C4762;box-shadow:0 8px 20px rgba(0,0,0,.25)}
  .gc-a11y.is-open .gc-a11y__panel{display:flex}
  .gc-a11y__btn{min-height:40px;min-width:40px}
  .gc-a11y__group{flex-wrap:wrap}
}
@media (max-width:480px){
  .gc-langs--top a{padding:5px 6px;gap:4px;font-size:13px}
  .gc-a11y__toggle span{font-size:13px}
  .gc-header-cta .wp-block-button__link{font-size:.9rem!important;padding:.7rem 1rem!important}
}

/* ---- text size ---- */
html.gc-fs-150{--gcb:1.5;--gch:1.25;--gcl:1.35}
html.gc-fs-200{--gcb:2;--gch:1.45;--gcl:1.7}
@media (max-width:600px){html.gc-fs-150{--gch:1.1}html.gc-fs-200{--gch:1.2}}
html.gc-fs-150,html.gc-fs-200{
 --wp--preset--font-size--small:calc(1rem*var(--gcb));
 --wp--preset--font-size--medium:calc(1.125rem*var(--gcb));
 --wp--preset--font-size--large:calc(clamp(1.2rem,1rem + 1vw,1.5rem)*var(--gcl));
 --wp--preset--font-size--x-large:calc(clamp(1.6rem,1.2rem + 1.5vw,2.25rem)*var(--gch));
 --wp--preset--font-size--xx-large:calc(clamp(2.05rem,1.5rem + 2vw,3rem)*var(--gch));
 --wp--preset--font-size--xxx-large:calc(clamp(2.3rem,1.6rem + 3vw,3.75rem)*var(--gch));}
html.gc-fs-150 .wp-element-button,html.gc-fs-150 .wp-block-button__link{font-size:calc(1.0625rem*1.4)!important}
html.gc-fs-200 .wp-element-button,html.gc-fs-200 .wp-block-button__link{font-size:calc(1.0625rem*1.8)!important}
html.gc-fs-150 .gc-header-cta .wp-block-button__link,html.gc-fs-200 .gc-header-cta .wp-block-button__link{font-size:1.0625rem!important}
@media (max-width:480px){html.gc-fs-150 .gc-header-cta .wp-block-button__link,html.gc-fs-200 .gc-header-cta .wp-block-button__link{font-size:.9rem!important;white-space:normal;max-width:11rem;text-align:center}}
html.gc-fs-150 .wp-block-navigation-item__content{font-size:1.4em}
html.gc-fs-200 .wp-block-navigation-item__content{font-size:1.7em}
html.gc-fs-150 #book,html.gc-fs-200 #book{--wpbc_cal-text-general-size:calc(15px*var(--gcb));--wpbc_cal-text-header-size:calc(15px*var(--gcb))}
html.gc-fs-150 input,html.gc-fs-150 select,html.gc-fs-150 textarea,html.gc-fs-200 input,html.gc-fs-200 select,html.gc-fs-200 textarea{font-size:var(--wp--preset--font-size--medium)!important}
html.gc-fs-150 .wp-block-details summary,html.gc-fs-200 .wp-block-details summary{font-size:var(--wp--preset--font-size--medium)}
html.gc-fs-200 :where(h1,h2,h3,h4,p,li,a,summary,figcaption,td,th,label){overflow-wrap:break-word;hyphens:auto}
html.gc-fs-200 .wp-block-table{overflow-x:auto}

/* ---- colour-blind friendly palette (blue / orange, no red-green reliance) ---- */
html.gc-cb{--wp--preset--color--teal:#0072B2;--wp--preset--color--coral:#A65300;--wp--preset--color--coral-light:#E69F00}
html.gc-cb .wp-element-button:hover,html.gc-cb .wp-block-button__link:hover,html.gc-cb .wp-element-button:focus,html.gc-cb .wp-block-button__link:focus{background-color:#7A3D00!important}
html.gc-cb .wp-block-button:not(.is-style-outline) .wp-block-button__link{text-decoration:underline;text-underline-offset:3px}
html.gc-cb .gc-banner{background:linear-gradient(135deg,#17324D 0%,#0072B2 100%)!important}
html.gc-cb [style*="#1F7A8C"],html.gc-cb [style*="#1f7a8c"]{color:#0072B2!important}
html.gc-cb .wpcf7 input[type=submit]{background:#A65300!important}
html.gc-cb #book{--wpbc_cal-available-day-color:#0072B2;--wpbc_cal-selected-day-color:#A65300;--wpbc_form-accent-color:#A65300;--wpbc_form-button-background-color:#A65300;--wpbc_form-button-border-color:#A65300;--wpbc_form-field-focus-border-color:#0072B2}
html.gc-cb #book a.wpbc_wizard_step_2,html.gc-cb #book .wpbc_bfb__btn--primary input,html.gc-cb #book .wpbc_times_selector div.wpbc_time_selected{background:#A65300!important;border-color:#A65300!important}
html.gc-cb #book .datepick-current-day a,html.gc-cb #book .wpbc_times_selector div.wpbc_time_selected{text-decoration:underline;outline:3px solid #000;outline-offset:-3px}

/* ---- grayscale ---- */
html.gc-gs{filter:grayscale(1)}

/* ---- high contrast ---- */
html.gc-hc body,html.gc-hc body *:not(svg):not(svg *):not(img):not(video):not(.wp-lightbox-overlay .scrim){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important}
html.gc-hc .gc-card,html.gc-hc .gc-booking,html.gc-hc .wp-block-details,html.gc-hc .gc-door{border:2px solid #fff!important}
html.gc-hc body a,html.gc-hc body a *{color:#FFD60A!important}
html.gc-hc body a{text-decoration:underline!important}
html.gc-hc .wp-block-button__link,html.gc-hc .wp-element-button,html.gc-hc input[type=submit],html.gc-hc #book a.wpbc_wizard_step_2,html.gc-hc #book .wpbc_bfb__btn--primary input{background:#FFD60A!important;color:#000!important;border:2px solid #FFD60A!important}
html.gc-hc .wp-block-button__link *,html.gc-hc .wp-element-button *{color:#000!important}
html.gc-hc .wp-block-button.is-style-outline .wp-block-button__link{background:#000!important;color:#FFD60A!important;border:2px solid #FFD60A!important}
html.gc-hc .gc-a11y__btn[aria-pressed=true],html.gc-hc .gc-a11y__toggle[aria-expanded=true],html.gc-hc .gc-langs a[aria-current=true]{background:#fff!important;color:#000!important}
html.gc-hc .gc-a11y__btn[aria-pressed=true] *{color:#000!important}
html.gc-hc input,html.gc-hc select,html.gc-hc textarea{border:2px solid #fff!important}
html.gc-hc :focus-visible{outline:3px solid #FFD60A!important;outline-offset:2px}
html.gc-hc mark{background:#FFD60A!important;color:#000!important}
html.gc-hc #book .datepick-days-cell a{color:#FFD60A!important;text-decoration:underline!important;font-weight:800}
html.gc-hc #book .datepick-current-day,html.gc-hc #book .datepick-current-day *,html.gc-hc #book .wpbc_times_selector div.wpbc_time_selected{background:#FFD60A!important;color:#000!important}
html.gc-hc #book .datepick-unselectable,html.gc-hc #book .date_user_unavailable{color:#9a9a9a!important;text-decoration:line-through}
html.gc-hc .gc-step-num,html.gc-hc .gc-letter{border:2px solid #fff!important}

/* ---- general focus visibility ---- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #1F7A8C;outline-offset:2px}
.gc-dark :where(a,button):focus-visible,.gc-footer :where(a,button):focus-visible{outline-color:#FFD60A}
/* ---- contrast fixes (WCAG AA) ---- */
.gc-eyebrow.has-coral-color{color:#B04A33!important}
.has-navy-background-color .has-coral-light-color,.gc-dark .has-coral-light-color{color:#EA8B71!important}
.gc-door.has-teal-background-color p{color:#fff!important}
#book .datepick-unselectable .date-cell-content span,#book .date_user_unavailable .date-cell-content span{color:#636E7B!important}
.gc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

#book .date2approve .date-cell-content,#book .date2approve .date-cell-content a,#book .date2approve .wpbc_time_dots{color:#0F2438!important}
footer .gc-badges{max-width:16.5rem}
