/* Visitor controls. No content refresh or Header template reset is required. */
html { color-scheme: light; }
.cse-site .cse-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 44px; min-width: 44px; min-height: 46px; padding: 10px;
  border: 1px solid transparent; border-radius: 10px; box-shadow: none;
  background: transparent; color: #1a6564; font: 400 .85rem/1.5 Inter, sans-serif;
  cursor: pointer; flex: none;
}
.cse-site .cse-theme-toggle:hover { background: #eaf4ee; }
.cse-site .cse-theme-toggle:focus-visible { outline: 3px solid #69479a; outline-offset: 3px; }
.cse-theme-toggle svg { width: 20px; height: 20px; flex: none; pointer-events: none; }
.cse-theme-toggle .cse-theme-sun, .cse-theme-toggle .cse-theme-label, .cse-theme-toggle .cse-theme-state { display: none; }
.cse-theme-toggle[aria-pressed="true"] .cse-theme-moon { display: none; }
.cse-theme-toggle[aria-pressed="true"] .cse-theme-sun { display: block; }
.cse-theme-menu-row:empty { display: none; }
.cse-site .cse-theme-menu-row .cse-theme-toggle { width: 100%; justify-content: flex-start; padding: 12px; }
.cse-site .cse-theme-menu-row :is(.cse-theme-label, .cse-theme-state) { display: inline; }
.cse-site .cse-theme-menu-row .cse-theme-state { margin-left: auto; font-size: .73rem; padding: 2px 9px; border: 1px solid #9abbb3; border-radius: 6px; }
@media (min-width: 1241px) {
  .cse-site .cse-header.cse-has-theme-toggle .cse-header-inner { grid-template-columns: 160px minmax(0, 1fr) 92px auto; gap: 18px; }
  .cse-site .cse-header.cse-has-theme-toggle .cse-logo { width: 160px; }
  .cse-site .cse-has-theme-toggle .cse-header-search { display: flex; gap: 4px; align-items: center; }
}
@media (min-width: 1241px) and (max-width: 1380px) {
  .cse-site .cse-has-theme-toggle .cse-menu-inner { gap: 2px; }
  .cse-site .cse-has-theme-toggle .cse-menu .cse-mega > summary,
  .cse-site .cse-has-theme-toggle .cse-menu-link > a { padding-inline: 8px; font-size: .84rem; }
}
@media (max-width: 1240px) {
  .cse-site .cse-theme-menu-row { padding-top: 6px; }
  .cse-site .cse-theme-menu-row .cse-theme-toggle { min-height: 50px; font-size: .94rem; }
}
.cse-site .cse-booking-header { flex-wrap: wrap; gap: 12px; }
.cse-site .cse-booking-header > a:first-child { margin-right: auto; }

/* Night colors sit above all legacy component palettes. Photography is untouched. */
html[data-cse-theme="dark"] {
  color-scheme: dark;
  --ink: #e1eee9; --muted: #b9cdc7; --teal: #1c514c; --aqua: #91d4c4;
  --purple: #cbbce6; --line: #3c5757; --paper: #101f22; --mint: #193532;
  --wp--preset--color--ink: #e1eee9; --wp--preset--color--teal: #91d4c4;
  --wp--preset--color--aqua: #91d4c4; --wp--preset--color--mint: #193532;
  --wp--preset--color--lilac: #302e43; --wp--preset--color--purple: #cbbce6;
  --wp--preset--color--white: #1b3033;
  background: #101f22;
}
html[data-cse-theme="dark"] body.cse-site { background: #101f22; color: #e1eee9; }
html[data-cse-theme="dark"] .cse-site .cse-theme-toggle { color: #a4dbce; }
html[data-cse-theme="dark"] .cse-site .cse-theme-toggle:hover { background: #24403f; }
html[data-cse-theme="dark"] .cse-site .cse-theme-toggle:focus-visible { outline-color: #cbbce6; }
html[data-cse-theme="dark"] .cse-site .cse-theme-state { border-color: #71958f; }
html[data-cse-theme="dark"] .cse-site :is(.cse-logo img, .cse-booking-header > a:first-child img) { filter: brightness(0) invert(.91); }

/* Consistent emphasis and control contrast, including saved Gutenberg content. */
html[data-cse-theme="dark"] .cse-site a:not(.wp-block-button__link):not(.cse-button):not([role="button"]):not([aria-current="page"]):not(.cse-journal-topics a[aria-current]):not(.cse-footer-credit a) { color: #91d4c4 !important; }
html[data-cse-theme="dark"] .cse-site a.cse-external-link:not(:has(img,svg,video)):after { background: #b4e5db; }
html[data-cse-theme="dark"] .cse-site :is(.cse-cta, .cse-route-destination, .cse-test-sticky) a:not(.wp-block-button__link):not(.cse-button) { background: transparent; }
html[data-cse-theme="dark"] .cse-site :is(.wp-block-button__link, .cse-button) {
  background: #a4dbce !important; color: #123b35 !important; border-color: #a4dbce !important;
  border-radius: 10px !important; box-shadow: 0 4px 18px #00000024;
}
html[data-cse-theme="dark"] .cse-site :is(.wp-block-button__link, .cse-button):hover { background: #bce9de !important; border-color: #bce9de !important; }
html[data-cse-theme="dark"] .cse-site :is(.is-style-outline .wp-block-button__link, .cse-button-secondary) {
  background: transparent !important; color: #a4dbce !important; border-color: #71958f !important; box-shadow: none;
}
html[data-cse-theme="dark"] .cse-site :is(.is-style-outline .wp-block-button__link, .cse-button-secondary):hover { background: #24403f !important; }
html[data-cse-theme="dark"] .cse-site .cse-text-button .wp-block-button__link { background: transparent !important; color: #91d4c4 !important; border-color: transparent !important; box-shadow: none; }
html[data-cse-theme="dark"] .cse-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]), select, textarea) {
  color: #e1eee9; background: #122628; border-color: #71958f; accent-color: #a4dbce;
}
html[data-cse-theme="dark"] .cse-site :is(input, textarea)::placeholder { color: #a6c0b8; opacity: 1; }
html[data-cse-theme="dark"] .cse-site input:is([type="checkbox"], [type="radio"], [type="range"]) { accent-color: #a4dbce; }
html[data-cse-theme="dark"] .cse-site :focus-visible { outline-color: #cbbce6; }
html[data-cse-theme="dark"] .cse-site ::selection { background: #91d4c4; color: #123b35; }
html[data-cse-theme="dark"] .cse-site :is(.cse-lead-form, .cse-quick-booking) { background: linear-gradient(145deg, #213d3d, #192b30); border-color: #71958f; box-shadow: 0 18px 50px #00000030; }
html[data-cse-theme="dark"] .cse-site .cse-cta { background: radial-gradient(ellipse at 100% 0, #45405966, transparent 60%), linear-gradient(120deg, #24433f, #1c3437); border-color: #658b81; }
html[data-cse-theme="dark"] .cse-site :is(.cse-cta, .cse-lead-form) :is(h2,h3,legend,.cse-form-title) { color: #e1eee9; }
html[data-cse-theme="dark"] .cse-site .cse-cta p { color: #c7dbd4; }
html[data-cse-theme="dark"] .cse-site :is(.cse-header,.cse-toc) { background: #122528f5; border-color: #3c5757; }
html[data-cse-theme="dark"] .cse-site .cse-focus-eye { background: #d8eae3; }
html[data-cse-theme="dark"] .cse-site .cse-focus-pupil { background: #183e3f; border-color: #65a38e; }
html[data-cse-theme="dark"] .cse-site .cse-focus-pupil:after { background: #e1eee9; }
html[data-cse-theme="dark"] .cse-site .cse-logo-preview { background: #e1eee9; }
/* No whole-page filter, animated palette change, or modification of patient photos. */
@media print {
  .cse-theme-toggle, .cse-theme-menu-row { display: none !important; }
}

/* Keep only the three placeholder wordmarks legible against dark surfaces. */
html[data-cse-theme="dark"] .cse-site .cse-about-press-logo img:is([src*="press-logo-"],[alt^="Media logo placeholder"]) { filter: brightness(0) invert(.72); }
