/* Round 1 shared header and footer refinements. */
@media(min-width:769px){
  #site-navigation .main-nav>ul{justify-content:flex-end;gap:clamp(12px,1.5vw,24px)}
  #site-navigation .main-nav>ul>li>a{padding-left:12px;padding-right:12px}
}
.coast-footer__brand{padding-left:24px}
body .coast-footer a.coast-footer__button{background:#00b2cd!important;color:#fff!important;border:2px solid #00b2cd!important;min-height:52px!important;padding:10px 24px!important}
body .coast-footer a.coast-footer__button:hover,body .coast-footer a.coast-footer__button:focus-visible{background:#fff!important;color:#152a59!important;border-color:#00b2cd!important}
@media(max-width:600px){.coast-footer__brand{padding-left:0}}

/* Header/footer interaction states: COAST palette with readable contrast. */
body #site-navigation .main-nav ul li > a { color:#fff; }
body #site-navigation .main-nav > ul > li > a:hover,
body #site-navigation .main-nav > ul > li > a:focus-visible { color:#00b2cd!important; background:#152a59!important; text-decoration:underline; text-underline-offset:5px; }
body #site-navigation .main-nav ul ul { background:#152a59; width:290px; }
body #site-navigation .main-nav ul ul li a { color:#fff!important; background:#152a59!important; min-height:44px; padding:12px 18px; line-height:1.35; }
body #site-navigation .main-nav ul ul li:hover > a,
body #site-navigation .main-nav ul ul li > a:focus-visible,
body #site-navigation .main-nav ul ul li.current-menu-item > a { background:#00b2cd!important; color:#152a59!important; text-decoration:underline; text-underline-offset:3px; }
body #site-navigation a:focus-visible,body #site-navigation button:focus-visible,
body .mobile-menu-control-wrapper button:focus-visible { outline:3px solid #fff!important; outline-offset:-4px; }
body .coast-footer__nav a,body .coast-footer__legal a,body .coast-footer__address a { color:#fff; }
body .coast-footer__nav a:hover,body .coast-footer__legal a:hover,body .coast-footer__address a:hover,
body .coast-footer__nav a:focus-visible,body .coast-footer__legal a:focus-visible,body .coast-footer__address a:focus-visible { color:#00b2cd!important; text-decoration:underline; text-underline-offset:3px; }
body .coast-footer a:focus-visible { outline:2px solid #fff!important; outline-offset:4px; border-radius:2px; }
body .coast-footer a.coast-footer__button { color:#152a59!important; }
body .coast-footer__nav a { min-height:24px; line-height:1.5; }
body .coast-homepage .coast-service-tabs a.coast-service-tab { background:#004780!important; color:#fff!important; }
body .coast-homepage .coast-service-tabs a.coast-service-tab.is-active,
body .coast-homepage .coast-service-tabs a.coast-service-tab:hover,
body .coast-homepage .coast-service-tabs a.coast-service-tab:focus-visible { background:#00b2cd!important; color:#152a59!important; }
body .coast-homepage .coast-service-tabs a.coast-service-tab:focus-visible { outline:3px solid #152a59; outline-offset:-6px; }
@media(max-width:768px){ body #site-navigation .main-nav ul ul { width:100%; } body #site-navigation .main-nav ul li > a { min-height:44px; } }

body .coast-homepage .coast-service-tabs a.coast-service-tab span{color:inherit!important}

body #site-navigation [role="button"]:focus-visible{outline:3px solid #fff!important;outline-offset:-4px}

/* Sitewide reading scale — 2026-10-28. Content remains native Gutenberg. */
body{--coast-reading-size:1.125rem;--coast-secondary-size:1rem;--coast-section-size:1.875rem;--coast-subheading-size:1.375rem;--coast-small-heading-size:1.25rem}
body :is(.entry-content,.coast-route-template){font-size:var(--coast-reading-size);line-height:1.55}
body :is(.entry-content,.coast-route-template) :is(p,ul,ol,li,blockquote,summary):not(:where(.wp-block-cover *,[class*="-hero"] *,.ctp-form *,.leaflet-container *,.gform_wrapper *,.cm-history-nav *)){
 font-size:var(--coast-reading-size)!important;line-height:1.55!important;
}
body :is(.entry-content,.coast-route-template) h2:not(:where(.wp-block-cover *,[class*="-hero"] *)){
 font-size:var(--coast-section-size)!important;line-height:1.3!important;
}
body :is(.entry-content,.coast-route-template) h3:not(:where(.wp-block-cover *,[class*="-hero"] *)){
 font-size:var(--coast-subheading-size)!important;line-height:1.35!important;
}
body :is(.entry-content,.coast-route-template) h4:not(:where(.wp-block-cover *,[class*="-hero"] *)){
 font-size:var(--coast-small-heading-size)!important;line-height:1.4!important;
}
/* Captions, names, dates and controls keep a distinct, readable hierarchy. */
body .entry-content :is(small,figcaption,time,.has-small-font-size,.cm-person p,.cm-officer-grid p,.cn-card p){font-size:var(--coast-secondary-size)!important;line-height:1.5!important}
body .entry-content :is(.cm-person h3,.cm-officer-grid h3,.cn-card h3){font-size:1.25rem!important;line-height:1.35!important}
body :is(.entry-content,.coast-route-template) :is(input,select,textarea,label,.gfield_label,.gform-field-label,.gform-field-label__text,.gfield_description,.gform_description,.ginput_counter,.gfield_validation_message,.gform_validation_errors,.gfield_required){font-size:var(--coast-secondary-size)!important;line-height:1.5!important}
body :is(.entry-content,.coast-route-template) :is(.wp-block-button__link,.wp-element-button,.gform_button,.cs-pending){font-size:var(--coast-secondary-size)!important;line-height:1.4!important}
body .entry-content :is(p,li) :is(a,strong,em):not(:where(.wp-block-button *,[class*="-hero"] *,.cm-history-nav *)){font-size:inherit}
/* Timetables retain their horizontal scrolling and stop/city hierarchy. */
body .coast-route-template .coast-schedule-table :is(th:not([colspan]),td){font-size:var(--coast-secondary-size)!important;line-height:1.5!important}
/* Readable footer and navigation labels without changing their colors. */
body #site-navigation .main-nav ul li>a{font-size:1rem!important}
body .coast-footer :is(p,a,li,h2,h3,.coast-footer__tagline,.coast-footer__address,.coast-footer__legal){font-size:var(--coast-secondary-size)!important;line-height:1.5!important}
@media(max-width:767px){body{--coast-reading-size:1rem;--coast-section-size:1.625rem;--coast-subheading-size:1.25rem;--coast-small-heading-size:1.125rem}}

/* Hero supporting copy and business-directory addresses. */
body .entry-content .coast-contact-page .cc-panel p{font-size:var(--coast-reading-size)!important;line-height:1.5!important}
body :is(.entry-content,.coast-route-template) address{font-size:var(--coast-secondary-size)!important;line-height:1.5!important}
