/* Anti-FOUC — must load first in <head> (before theme CSS) */

:root {
  --lmyc-header-logo-slot-mobile: 6rem;
  --lmyc-header-logo-slot-desktop: 7rem;
  --lmyc-header-bar-height-mobile: 6rem;
  --lmyc-hero-logo-max: 36rem;
  --lmyc-footer-logo-max: 18rem;
  --lmyc-header-logo-bg: transparent;
  --header-height: 6rem;
}

/* Lock header bar height before theme’s 9rem rules paint */
#site-header,
#site-header .header-wrapper,
#site-header sticky-header,
#site-header .header,
#site-header .header-attachment,
#site-header .lmyc-header-row {
  height: var(--lmyc-header-bar-height-mobile) !important;
  min-height: var(--lmyc-header-bar-height-mobile) !important;
  max-height: var(--lmyc-header-bar-height-mobile) !important;
  box-sizing: border-box !important;
}

#site-header .lmyc-header-bar-logo-link {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: stretch !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  line-height: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  width: var(--lmyc-header-logo-slot-mobile) !important;
  min-width: var(--lmyc-header-logo-slot-mobile) !important;
  max-width: var(--lmyc-header-logo-slot-mobile) !important;
  height: var(--lmyc-header-logo-slot-mobile) !important;
  min-height: var(--lmyc-header-logo-slot-mobile) !important;
  max-height: var(--lmyc-header-logo-slot-mobile) !important;
}

#site-header .lmyc-header-bar-logo,
#site-header .lmyc-header-bar-logo-wrap .lmyc-header-bar-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Theme dual logos: hide until later CSS decides (prevents 300px flash) */
#site-header .header__heading-logo-wrapper.withoutattacment-header-logo,
#site-header .header__heading-logo-wrapper.attacment-header-logo {
  max-width: 4.5rem !important;
}

#site-header .header__heading-logo {
  width: 4.5rem !important;
  height: 4.5rem !important;
  max-width: 4.5rem !important;
  object-fit: contain !important;
}

body.lmyc-header-logo-page #site-header .header__heading,
body.lmyc-home-page #site-header .header__heading {
  display: none !important;
}

/* Star divider: lock size on first paint (SVG has no intrinsic size without this) */
.lmyc-star-divider {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.2rem !important;
  margin: 0.6rem auto 2rem !important;
  max-width: 28rem !important;
  min-height: 1.6rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.lmyc-star-divider > span {
  flex: 1 1 auto !important;
  height: 1px !important;
  max-height: 1px !important;
  min-width: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(66, 89, 54, 0.28), transparent) !important;
}

.lmyc-star-divider > svg,
.lmyc-star-divider svg {
  display: block !important;
  width: 1.6rem !important;
  height: 1.6rem !important;
  min-width: 1.6rem !important;
  min-height: 1.6rem !important;
  max-width: 1.6rem !important;
  max-height: 1.6rem !important;
  flex: 0 0 1.6rem !important;
  color: #425936 !important;
  overflow: visible !important;
}

.lmyc-star-divider--start {
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 14rem !important;
}

/* Mobile / tablet: center WHY LMYC star under the heading */
@media screen and (max-width: 991px) {
  #why-lmyc .lmyc-star-divider--start,
  #why-lmyc .lmyc-kicker-with-star--start .lmyc-star-divider {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 28rem !important;
  }
}

.lmyc-namasta-callout__divider.lmyc-star-divider {
  max-width: 16rem !important;
}

.lmyc-hero-logo,
.home-slideshow-section .slideshow-thumb-img .lmyc-hero-logo {
  width: clamp(12rem, 38vw, min(var(--lmyc-hero-logo-max), 94vw)) !important;
  max-width: min(var(--lmyc-hero-logo-max), 94vw) !important;
  height: auto !important;
}

@media screen and (max-width: 749px) {
  .lmyc-hero-logo,
  .home-slideshow-section .slideshow-thumb-img .lmyc-hero-logo {
    width: clamp(16rem, 84vw, min(var(--lmyc-hero-logo-max), 96vw)) !important;
    max-width: min(var(--lmyc-hero-logo-max), 96vw) !important;
  }
}

@media screen and (min-width: 1600px) {
  :root {
    --header-height: 7rem;
  }

  #site-header,
  #site-header .header-wrapper,
  #site-header sticky-header,
  #site-header .header,
  #site-header .header-attachment,
  #site-header .lmyc-header-row {
    height: var(--lmyc-header-logo-slot-desktop) !important;
    min-height: var(--lmyc-header-logo-slot-desktop) !important;
    max-height: var(--lmyc-header-logo-slot-desktop) !important;
  }

  #site-header .lmyc-header-bar-logo-link {
    width: var(--lmyc-header-logo-slot-desktop) !important;
    min-width: var(--lmyc-header-logo-slot-desktop) !important;
    max-width: var(--lmyc-header-logo-slot-desktop) !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    align-self: stretch !important;
  }
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-bar-logo-link {
  width: var(--lmyc-header-logo-slot-desktop) !important;
  min-width: var(--lmyc-header-logo-slot-desktop) !important;
  max-width: var(--lmyc-header-logo-slot-desktop) !important;
}

html[data-lmyc-nav="compact"] #site-header .lmyc-header-bar-logo-link {
  width: var(--lmyc-header-logo-slot-mobile) !important;
  min-width: var(--lmyc-header-logo-slot-mobile) !important;
  max-width: var(--lmyc-header-logo-slot-mobile) !important;
}

#site-footer .footer-block__brand-info .footer-block__image-wrapper {
  width: min(100%, var(--lmyc-footer-logo-max)) !important;
  max-width: min(100%, var(--lmyc-footer-logo-max)) !important;
}

#site-footer .footer-block__brand-info .footer-block__image-wrapper img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
