/* Only pages which explicitly load the controller opt in. No layout/type/image overrides. */
.visual-quality-control { display:inline-flex; align-items:center; gap:8px; color:var(--cream,#f7f4ee); font-family:inherit; font-size:12px; }
.visual-quality-control select {
  min-height:36px; max-width:100%; padding:6px 24px 6px 10px;
  border:1px solid rgba(247,244,238,.28); border-radius:8px;
  background:#2e2b26; color:#f7f4ee; font:inherit; cursor:pointer; color-scheme:dark;
}
.visual-quality-control select:focus-visible { outline:2px solid #dfbd8b; outline-offset:4px; }
html[data-visual-effects="reduced"] body .spotlight {
  display:none;
}
/* Paint the static light into the existing base instead of blending full-screen layers. */
html[data-visual-effects="reduced"] body .bg-base {
  background-image:radial-gradient(circle 640px at 0 0,rgba(192,138,62,.15),transparent),url('/heropg/bg3.webp');
}
html[data-visual-effects="reduced"] body .bg-section::after {
  content:none;
}
html[data-visual-effects="reduced"] body :is(
  .service-card,.home-cta,.barista-inner,.about-hero-image,.about-card,.about-cta,
  .svc-image,.svc-card,[data-service-finder],.svc-period-panel,.svc-period-panel .svc-periods a) {
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-visual-effects="reduced"] .smiths-home .service-card { background:rgba(247,244,238,.12); }
html[data-visual-effects="reduced"] .smiths-home .service-card:hover { background:rgba(247,244,238,.15); }
html[data-visual-effects="reduced"] :is(.smiths-home,.smiths-about) :is(.home-cta,.about-cta) {
  background:linear-gradient(120deg,rgba(192,138,62,.13),rgba(247,244,238,.05));
}
html[data-visual-effects="reduced"] :is(.smiths-about,.smiths-services) :is(.about-card,.svc-card) {
  background:linear-gradient(145deg,rgba(247,244,238,.085),rgba(247,244,238,.035));
}
html[data-visual-effects="reduced"] body .site-nav::before,
html[data-visual-effects="reduced"] body .nav-dropdown {
  backdrop-filter:none; -webkit-backdrop-filter:none; background-color:rgba(46,43,38,.96);
}
html[data-visual-effects="reduced"] body .mobile-drawer::before,
html[data-visual-effects="reduced"] body .cart-added-toast,
html[data-visual-effects="reduced"] .smiths-home .hero-action-secondary {
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html[data-visual-effects="reduced"] .smiths-home .hero-action-secondary { background:rgba(247,244,238,.08); }
html[data-visual-effects="reduced"] .smiths-home .marquee-viewport { mask-image:none; -webkit-mask-image:none; }
html[data-visual-effects="reduced"] .smiths-home .arc-wrap { perspective:none; }
html[data-visual-effects="reduced"] .smiths-home .arc { transform-style:flat; }
html[data-visual-effects="reduced"] .smiths-home .arc .card {
  transform:none !important;
  box-shadow:0 10px 24px rgba(0,0,0,.3);
  transition:border-color .2s ease;
}
html[data-visual-effects="reduced"] .smiths-home .arc .card img { transition:transform .2s ease; }
html[data-visual-effects="reduced"] .smiths-home .ground-shadow { filter:none; }
html[data-visual-effects="reduced"] .smiths-about svg.about-squiggle path {
  filter:none; stroke-dashoffset:0 !important;
}
html[data-visual-effects="reduced"] body :is(.site-nav,.nav-dropdown)::after { filter:none; }
/* These rules apply only to documents loading this controller, including dynamic surfaces. */
html[data-visual-effects="reduced"] :is(body,body *),
html[data-visual-effects="reduced"] :is(body,body *)::before,
html[data-visual-effects="reduced"] :is(body,body *)::after,
html[data-visual-effects="reduced"] :is(body,body *)::backdrop {
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
html[data-visual-effects="reduced"] body { background-attachment:scroll; }
html[data-visual-effects="reduced"] .glass-surface::before { filter:none; }
html[data-visual-effects="reduced"] :is(.contact-form-card,.contact-card) { background:rgba(247,244,238,.12); }
/* Keep the original SVG for Full, but avoid painting its large decorative surface when reduced. */
html[data-visual-effects="reduced"] svg.squiggle { display:none !important; }
/* Accessibility fallback still hides artwork if the controller fails to load. */
@media (prefers-reduced-motion:reduce) {
  svg.squiggle { display:none !important; }
}
