.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* ===== Sticky header ===== */
.elementor-location-header { position: sticky; top: 0; z-index: 999; }
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 46px; } }
.elementor-location-header summary::-webkit-details-marker { display: none; }
body { background-color: var(--bg); color: var(--fg); transition: background-color .3s ease; }

/* ===== Light theme tokens (html.theme-light is set by the optional memory script; :has() makes the switch work on its own) ===== */
html.theme-light, html:has(.theme-toggle-item[open]) {
  --fg: #1C1A17;
  --fg-soft: rgba(28, 26, 23, 0.74);
  --fg-muted: #6E6558;
  --bg: #FBF8F2;
  --bg-elev: #F1EADD;
  --header-bg: rgba(251, 248, 242, 0.95);
  --glass: rgba(251, 248, 242, 0.88);
  --glass-hover: rgba(241, 234, 221, 0.97);
  --line: rgba(140, 109, 53, 0.28);
  --line-strong: rgba(28, 26, 23, 0.4);
  --accent-text: #7A5E2B;
  --on-gold: #0F0E0D;
  color-scheme: light;
}

/* Header + menu shadows */
html.theme-light .elementor-element-167b2ed7, html:has(.theme-toggle-item[open]) .elementor-element-167b2ed7 { box-shadow: 0 6px 24px rgba(60, 45, 20, 0.10); }
html.theme-light .elementor-element-217a9358, html:has(.theme-toggle-item[open]) .elementor-element-217a9358 { box-shadow: 0 24px 40px rgba(60, 45, 20, 0.14); }

/* Deepen the metallic Sayles logo so it holds up on cream */
html.theme-light img[src*="Metallic-logo"], html:has(.theme-toggle-item[open]) img[src*="Metallic-logo"] { filter: brightness(.68) contrast(1.3) saturate(1.25); }

/* Hero: light overlay over the photo */
html.theme-light .elementor-element-2f6af13c, html:has(.theme-toggle-item[open]) .elementor-element-2f6af13c {
  background-image: linear-gradient(100deg, rgba(251,248,242,0.97) 0%, rgba(251,248,242,0.88) 38%, rgba(251,248,242,0.35) 72%, rgba(251,248,242,0.5) 100%), linear-gradient(0deg, rgba(251,248,242,1) 0%, rgba(251,248,242,0) 45%), url(https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?w=2400&q=80&auto=format&fit=crop) !important;
}

/* Footer: CTA band + white RC logo */
html.theme-light .elementor-element-72a9c44, html:has(.theme-toggle-item[open]) .elementor-element-72a9c44 { background-image: linear-gradient(120deg, #F1E7D6 0%, #FBF8F2 55%, #EFE3CE 100%) !important; }
html.theme-light .elementor-location-footer img[src*="rc-logo"], html:has(.theme-toggle-item[open]) .elementor-location-footer img[src*="rc-logo"] { filter: invert(1) hue-rotate(180deg); }

/* ===== Light/dark switch ===== */
.elementor-location-header .theme-toggle-item > :not(summary) { display: none !important; }
.elementor-location-header .theme-toggle {
  position: relative; display: block !important; box-sizing: border-box;
  width: 60px; height: 32px; padding: 0 !important; margin: 0;
  border: 1px solid var(--brand-gold); border-radius: 999px;
  background-color: var(--bg-elev); transition: background-color .3s ease;
}
.elementor-location-header .theme-toggle::before {
  content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%;
  background: linear-gradient(135deg, #8C6D35 0%, #D9C08A 60%, #B8975A 100%);
  box-shadow: 0 2px 6px rgba(0,0,0,.3); transition: transform .3s cubic-bezier(.4,.2,.2,1);
}
.elementor-location-header .theme-toggle::after {
  content: "☀︎"; position: absolute; top: 50%; right: 9px; transform: translateY(-50%);
  font-size: 14px; line-height: 1; color: var(--fg-muted); pointer-events: none;
}
.elementor-location-header .theme-toggle-item[open] > .theme-toggle::before, html.theme-light .elementor-location-header .theme-toggle::before { transform: translateX(28px); }
.elementor-location-header .theme-toggle-item[open] > .theme-toggle::after, html.theme-light .elementor-location-header .theme-toggle::after { content: "☾︎"; right: auto; left: 10px; font-size: 15px; }
.elementor-location-header .theme-toggle:hover { background-color: var(--glass-hover); }
.elementor-location-header .theme-toggle:focus-visible { outline: 2px solid var(--brand-gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .elementor-location-header .theme-toggle::before, body { transition: none; } }/* End custom CSS */