/* Kwan Spine Care — Visual Refresh + Logo Sizing — BUST 2026-05-22-02:15 */
html, body { overflow-x: hidden; }
:root {
  --kk-navy: #1A2A4A; --kk-navy-2: #0B2545; --kk-blue: #1E40AF; --kk-accent: #3B82F6;
  --kk-cream: #F5EFE3; --kk-cream-2: #EDE3CC;
  --kk-gold: #C9A55B; --kk-gold-2: #B8923F;
  --kk-tint: #F5EFE3; --kk-tint-2: #EDE3CC;
  --kk-text: #1F2937; --kk-muted: #4A5E7E;
  --kk-border: #E8DFC8; --kk-success: #047857; --kk-radius: 8px;
  --kk-shadow-sm: 0 1px 2px rgba(11,37,69,.06);
  --kk-shadow: 0 6px 20px rgba(11,37,69,.10);
}
body, body.elementor-default, body.page, body.single {
  color: var(--kk-text);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif;
  font-size: 17px; line-height: 1.65; background: #ffffff;
}
p { color: var(--kk-text); } strong, b { color: var(--kk-navy); font-weight: 600; }
h1, h2, h3, h4, h5, h6 { font-family: Georgia, "Cormorant Garamond", "Playfair Display", "Times New Roman", serif; color: var(--kk-navy); letter-spacing: -0.01em; line-height: 1.25; }
h1 { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 500; }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); font-weight: 500; margin-top: 1.25em; }
h3 { font-size: clamp(1.2rem, 2vw, 1.4rem); font-weight: 500; }
.kk-callout p, .kk-callout li, .kk-callout strong { color: #ffffff !important; }



/* === UNIFIED INNER-PAGE HERO — matches home cream/navy/gold === */
body.page:not(.home) .page-header,
body.page:not(.home) .entry-header,
body.single .entry-header {
  background: var(--kk-cream) !important;
  color: var(--kk-navy) !important;
  padding: 96px 24px 80px !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
  text-align: left;
}
body.page:not(.home) .page-header h1,
body.page:not(.home) .entry-header h1,
body.page:not(.home) .page-title,
body.page:not(.home) .entry-title,
body.single .entry-title {
  color: var(--kk-navy) !important;
  font-family: Georgia, "Cormorant Garamond", "Playfair Display", "Times New Roman", serif !important;
  font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.08 !important;
  margin: 0 auto !important;
  max-width: 1120px !important;
  text-shadow: none !important;
  background: transparent !important;
}
/* Gold accent line under the page title */
body.page:not(.home) .page-header h1::after,
body.page:not(.home) .entry-header h1::after,
body.page:not(.home) .page-title::after,
body.page:not(.home) .entry-title::after,
body.single .entry-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  background: var(--kk-gold);
  margin-top: 24px;
}
body.page:not(.home) {
  background: #ffffff !important;
}
body.page:not(.home) main {
  max-width: 1120px;
  margin: 0 auto 64px;
  padding: 0 20px;
}
body.page:not(.home) article.page,
body.page:not(.home) .entry-content {
  background: #ffffff;
  border-radius: var(--kk-radius);
  padding: 40px clamp(20px, 4vw, 56px);
  border: none;
  box-shadow: none;
}

/* Buttons */
.elementor-button, .elementor-button-link, .wp-block-button__link,
button[type="submit"], input[type="submit"], a.button {
  background: var(--kk-navy) !important; color: #ffffff !important;
  border: 0; border-radius: 6px; font-weight: 600; padding: 14px 28px;
  text-decoration: none; box-shadow: var(--kk-shadow-sm);
}
.elementor-button:hover, .elementor-button-link:hover, a.button:hover {
  background: var(--kk-gold-2) !important; transform: translateY(-1px);
}
.entry-content a[href^="tel:"] { background: #ffffff !important; color: var(--kk-navy) !important; border: 2px solid var(--kk-navy) !important; padding: 12px 26px; display: inline-block; border-radius: 6px; font-weight: 600; text-decoration: none; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content li { margin: .35em 0; }
.entry-content ul li::marker { color: var(--kk-gold); }
.entry-content img { border-radius: var(--kk-radius); box-shadow: var(--kk-shadow-sm); max-width: 100%; height: auto; }
.entry-content a:not(.elementor-button):not(.button) { color: var(--kk-gold-2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content a:not(.elementor-button):not(.button):hover { color: var(--kk-navy); }

/* Header / footer chrome */
.site-header, header.site-header, .elementor-location-header { border-bottom: 1px solid var(--kk-border); background: #ffffff; box-shadow: var(--kk-shadow-sm); }
.site-footer, footer.site-footer, .elementor-location-footer { background: var(--kk-navy) !important; color: rgba(255,255,255,.85); padding: 48px 20px 24px; }
.site-footer a, footer.site-footer a, .elementor-location-footer a { color: var(--kk-gold) !important; }

/* Elementor heading typography — keep serif everywhere */
.elementor-heading-title, .elementor h1, .elementor h2, .elementor h3, .elementor h4,
[style*="Larken DEMO"], [style*="Larken-DEMO"], [style*="LarkenDEMO"] {
  font-family: Georgia, "Cormorant Garamond", "Playfair Display", "Times New Roman", serif !important;
}
.home .elementor-widget-text-editor p, .home .elementor-widget-text-editor li {
  font-family: "Inter", "Segoe UI", Roboto, sans-serif !important;
}
.home .elementor-button, .home .elementor-widget-button .elementor-button, .home .elementor-button-link {
  background-color: var(--kk-navy) !important; background-image: none !important;
  color: #ffffff !important; border: 0 !important; border-radius: 8px !important;
  padding: 16px 36px !important; font-weight: 600 !important;
}
.home .elementor-button:hover, .home .elementor-button-link:hover { background-color: var(--kk-gold-2) !important; }


/* === GOLD SPINE LOGO SIZING — enlarged 2026-05-22 === */
.elementor-widget-theme-site-logo img,
.elementor-widget-theme-site-logo a img,
.site-header .custom-logo,
header.site-header .custom-logo,
header.site-header .custom-logo-link img,
.elementor-location-header .elementor-widget-theme-site-logo img,
img.wp-image-3082,
img.wp-image-3053 {
  height: 115px !important;
  width: auto !important;
  max-width: none !important;
  max-height: 115px !important;
  object-fit: contain;
}
.elementor-widget-theme-site-logo,
.elementor-widget-theme-site-logo .elementor-widget-container {
  line-height: 0;
}
@media (max-width: 1024px) {
  .elementor-widget-theme-site-logo img, .site-header .custom-logo,
  .elementor-location-header .elementor-widget-theme-site-logo img,
  img.wp-image-3082, img.wp-image-3053 {
    height: 92px !important; max-height: 92px !important;
  }
}
@media (max-width: 600px) {
  .elementor-widget-theme-site-logo img, .site-header .custom-logo,
  .elementor-location-header .elementor-widget-theme-site-logo img,
  img.wp-image-3082, img.wp-image-3053 {
    height: 72px !important; max-height: 72px !important;
  }
}


/* === LOGO FILTER OVERRIDE — MAX SPECIFICITY === */
html body header.site-header .elementor-66 .elementor-element.elementor-element-923822e img,
html body .elementor-location-header .elementor-66 .elementor-element-923822e img,
html body header .elementor-widget-theme-site-logo img,
html body .elementor-location-header .elementor-widget-theme-site-logo img,
html body .site-header img.custom-logo,
html body header.site-header img.custom-logo,
html body img.wp-image-3082,
html body img.wp-image-3053,
html body .elementor-widget-theme-site-logo img[src*="kwan-spine"],
header img[src*="kwan-spine-logo"] {
  filter: none !important;
  -webkit-filter: none !important;
  -moz-filter: none !important;
  -o-filter: none !important;
  -ms-filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}


/* === PROMINENT TOP NAVIGATION === */
.elementor-nav-menu .elementor-item,
.elementor-nav-menu--main .elementor-item,
nav.elementor-nav-menu--main a.elementor-item,
header .elementor-nav-menu a.elementor-item,
.elementor-location-header .elementor-nav-menu a.elementor-item {
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: var(--kk-navy) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif !important;
}
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-item:hover,
.elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--kk-gold-2) !important;
}
.elementor-nav-menu .sub-menu .elementor-sub-item,
.elementor-nav-menu--dropdown .elementor-sub-item {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  font-family: -apple-system, "Inter", sans-serif !important;
}
@media (max-width: 1024px) {
  .elementor-nav-menu .elementor-item,
  .elementor-nav-menu--main .elementor-item,
  header .elementor-nav-menu a.elementor-item {
    font-size: 18px !important;
  }
}


/* === HEADER NAV FIT — collapse to hamburger below 1200px — BUST 2026-05-31 === */
/* The prominent 19px bold nav needs ~950px; below ~1200px it cannot fit beside
   the logo + CTA and wraps/clips off the right edge. Switch to the hamburger
   (which already renders cleanly) earlier instead of letting it smush. */
@media (max-width: 1200px) {
  .elementor-66 .elementor-element.elementor-element-a4b95c3.elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main {
    display: none !important;
  }
  .elementor-66 .elementor-element.elementor-element-a4b95c3.elementor-nav-menu--dropdown-mobile .elementor-menu-toggle {
    display: flex !important;
  }
  /* Panel stays HIDDEN until the burger is tapped; only shows (opaque, on top) when open. */
  .elementor-66 .elementor-element.elementor-element-a4b95c3.elementor-nav-menu--dropdown-mobile nav.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"] {
    display: none !important;
  }
  .elementor-66 .elementor-element.elementor-element-a4b95c3.elementor-nav-menu--dropdown-mobile nav.elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
    display: block !important;
    background-color: #FFFFFF !important;
    z-index: 9999 !important;
  }
}
/* When the horizontal menu does show (&gt;=1201px), keep it on one row so it never wraps/clips. */
@media (min-width: 1201px) {
  .elementor-66 .elementor-element.elementor-element-a4b95c3 .elementor-nav-menu--main {
    flex-wrap: nowrap !important;
  }
}
