/* Extend the existing header preferences to custom templates and mobile controls. */
.fab-access .fab-lang-btn { font-size:14px!important;line-height:1.5!important; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .fab-btn svg { stroke:var(--dgan-page-fg)!important; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .fab-btn svg circle { fill:var(--dgan-page-fg)!important; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .chaty-widget svg { filter:none!important; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .chaty-widget .chaty-svg { background:transparent!important; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) {
  color-scheme: light;
}
html[data-dgan-mode=dark] { color-scheme: dark; }
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body *:not(#wpadminbar,#wpadminbar *)::placeholder {
  color:var(--dgan-page-fg)!important;opacity:1;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(main,footer) :is(a,button,input,select,textarea) {
  text-underline-offset:.2em;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(main,footer) :is(a,button):focus-visible {
  outline:3px solid var(--dgan-page-focus)!important;outline-offset:3px;
}
/* Decorative overlays must not tint the foreground in contrast modes. */
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) :is(.hero,.showcase,.city,.showcase-copy)::before,
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) :is(.hero,.showcase,.city,.showcase-copy)::after {
  background:none!important;backdrop-filter:none!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) :is(.dots,.news-dots,.gallery-dots) button {
  border:1px solid var(--dgan-page-fg)!important;opacity:1!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) :is(.dots,.news-dots,.gallery-dots) button.is-on {
  background:var(--dgan-page-fg)!important;
}
html[data-dgan-mode=dark] :is(.publication-calendar,.dgan-icon,.arr-o img,:is(#dga-homepage,.dga-homepage) .policy-links .ico,.svc-intro .icon img,.channel-heading img) {
  filter:brightness(0) invert(1)!important;
}
html[data-dgan-mode=light] :is(.publication-calendar,.dgan-icon,.arr-o img,:is(#dga-homepage,.dga-homepage) .policy-links .ico,.svc-intro .icon img,.channel-heading img) {
  filter:brightness(0)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) input:-webkit-autofill {
  -webkit-box-shadow:0 0 0 1000px var(--dgan-page-bg) inset!important;
  -webkit-text-fill-color:var(--dgan-page-fg)!important;
}
/* The larger setting needs flexible labels and controls, including legacy forms. */
html[data-dga-text-size=large] :is(main,footer) :is(button,input,select,textarea) {
  max-width:100%;
}
html[data-dga-text-size=large] :is(#dga-homepage,.dga-homepage) :is(.all,.svc-card,.ncard,.channel-card) {
  height:auto;
}
html[data-dga-text-size=large] :is(#dga-homepage,.dga-homepage) .sec-head { flex-wrap:wrap;row-gap:16px; }
html[data-dga-text-size=large] :is(#dga-homepage,.dga-homepage) :is(.ncard h3,.ncard-body>p:not(.meta),.object-caption) {
  min-height:0;max-height:none;
}
@media(max-width:1024px) {
  .dgan .dgan-top-inner { flex-wrap:wrap;gap:6px; }
  .dgan .dgan-top .dgan-tools { display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%; }
  .dgan .dgan-top .dgan-tools>a { display:none; }
  .dgan .dgan-toolgroup { border:0;padding:0;flex-wrap:wrap; }
  .dgan .dgan-toolgroup::after { content:none; }
  .dgan .dgan-toolgroup>span { font-size:12px; }
  .dgan .dgan-toolgroup button { min-width:44px;min-height:44px; }
}
@media(max-width:640px) {
  .dgan .dgan-top .dgan-tools { gap:0; }
  .dgan .dgan-toolgroup { width:100%; }
  .dgan .dgan-toolgroup>span { min-width:112px; }
  html[data-dga-text-size=large] :is(#dga-homepage,.dga-homepage) .search-fields .query { flex-wrap:wrap; }
  html[data-dga-text-size=large] :is(#dga-homepage,.dga-homepage) .search-fields .query input { min-width:0; }
}

html[data-dgan-mode=light] .dgan-hotline .dgan-icon { filter:brightness(0)!important; }

html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .dgan .dgan-toolgroup [data-dgan-size] {
  color:var(--dgan-page-fg)!important;background:var(--dgan-page-bg)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .dgan .dgan-toolgroup button:hover,
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) .dgan .dgan-toolgroup button:focus-visible {
  outline:2px solid var(--dgan-page-focus)!important;outline-offset:-2px;
}

/* Retain actual photos, background artwork and sprites in both contrast modes. */
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dga-display-media:not(#wpadminbar) {
  background-image:var(--dga-display-image)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dga-display-transparent:not(#wpadminbar) {
  background-color:transparent!important;
}
/* Solid text panels maintain contrast while the surrounding artwork remains visible. */
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .hero-copy :is(h1,.lead,.eyebrow),
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) :is(.showcase-copy,.object-caption,.channel-heading):not(#wpadminbar),
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .express :is(h2,.lead,.sec-kicker) {
  background-color:var(--dgan-page-bg)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .hero-copy :is(h1,.lead,.eyebrow) {
  width:fit-content;max-width:100%;border-radius:6px;padding:4px 8px;
}

/* Visitor contrast preferences take precedence over all appearance presets. */
html[data-dgan-mode=dark] body .dgan {
 --nav-bg:#000;--nav-text:#fff;--nav-blue:#000;--nav-navy:#000;--nav-card:#000;
 --nav-border:#fff;--nav-accent:#000;--nav-orange:#ffeb3b;--nav-on-dark:#fff;--nav-soft:#000;
}
html[data-dgan-mode=light] body .dgan {
 --nav-bg:#fff;--nav-text:#000;--nav-blue:#fff;--nav-navy:#fff;--nav-card:#fff;
 --nav-border:#000;--nav-accent:#fff;--nav-orange:#000;--nav-on-dark:#000;--nav-soft:#fff;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dgan :is(.dgan-top,.dgan-main,.dgan-drawer,.dgan-band,.dgan-panel-body,.dgan-back,.dgan-menu-footer,.dgan-all,.dgan-band-actions button,.dgan-category-trigger,.dgan-card,.dgan-home-link,.dgan-nested>summary) {
 background-color:var(--dgan-page-bg)!important;color:var(--dgan-page-fg)!important;border-color:var(--dgan-page-fg)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dgan .dgan-hotline {
 background-color:var(--dgan-page-bg)!important;color:var(--dgan-page-fg)!important;border:1px solid var(--dgan-page-fg);
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dgan :is(.dgan-card,.dgan-category-trigger,.dgan-home-link):is(:hover,:focus-visible,[aria-current=page],[aria-expanded=true]) {
 background-color:var(--dgan-page-fg)!important;color:var(--dgan-page-bg)!important;
}

html[data-dgan-mode=dark] body .dgan .dgan-logo img {background-color:#fff;border-radius:4px}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .dgan :is(a,button,summary):focus-visible {
 outline:3px solid var(--dgan-page-focus)!important;outline-offset:3px;
}
/* Symbolic icons follow contrast; photographs and brand artwork keep their colors. */
html[data-dgan-mode=dark] body .dgan .dgan-icon {filter:brightness(0) invert(1)!important}
html[data-dgan-mode=light] body .dgan .dgan-icon {filter:brightness(0)!important}

html[data-dgan-mode=dark] body .dgan :is(.dgan-card,.dgan-category-trigger,.dgan-home-link):is(:hover,:focus-visible,[aria-current=page],[aria-expanded=true]) .dgan-icon {filter:brightness(0)!important}
html[data-dgan-mode=light] body .dgan :is(.dgan-card,.dgan-category-trigger,.dgan-home-link):is(:hover,:focus-visible,[aria-current=page],[aria-expanded=true]) .dgan-icon {filter:brightness(0) invert(1)!important}
/* Decorative rules and hover labels also follow the selected contrast palette. */
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .site-footer::before,
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) body .footer-widget .widget-title::after,
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .foot h3::after {
 background:var(--dgan-page-fg)!important;
}
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .banner-track a::after,
html:is([data-dgan-mode=dark],[data-dgan-mode=light]) :is(#dga-homepage,.dga-homepage) .tip::before {
 background-color:var(--dgan-page-bg)!important;color:var(--dgan-page-fg)!important;
}
