/* LMYC header menu logo — locked to menu drawer slot, no overflow */

:root {
  --lmyc-header-logo-slot-mobile: 5.75rem;
  --lmyc-header-logo-slot-desktop: 7rem;
  --lmyc-header-logo-bg: #fdf8f3;
  --lmyc-header-logo-bg-mobile: #ffffff;
  --lmyc-header-bar-height-mobile: 6rem;
  --lmyc-header-menu-slot-mobile: 6rem;
}

#site-header .lmyc-header-bar-logo-link,
#site-header .lmyc-header-bar-logo-wrap {
  box-shadow: none !important;
  border: 0 !important;
}

#site-header .lmyc-header-bar-logo-wrap {
  background: transparent !important;
  background-color: transparent !important;
}

#site-header .lmyc-header-bar-logo,
#site-header .lmyc-header-bar-logo-wrap .lmyc-header-bar-logo {
  background: var(--lmyc-header-logo-bg) !important;
  background-color: var(--lmyc-header-logo-bg) !important;
  border-radius: 0 !important;
}

#site-header .lmyc-header-bar-logo-link {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  align-self: center !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  background: var(--lmyc-header-logo-bg) !important;
  background-color: var(--lmyc-header-logo-bg) !important;
}

#site-header .lmyc-header-bar-logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
  overflow: hidden !important;
}

#site-header .lmyc-header-bar-logo-wrap::before,
#site-header .lmyc-header-bar-logo-wrap::after {
  display: none !important;
  content: none !important;
}

#site-header .lmyc-header-bar-logo {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  image-rendering: auto;
  filter: none !important;
}

/* Beat legacy inline img styles injected on subpages */
#site-header .lmyc-header-bar-logo[style] {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

body.lmyc-header-logo-page #site-header .header__heading,
body.lmyc-header-logo-page #site-header .header__heading-link,
body.lmyc-home-page #site-header .header__heading,
body.lmyc-home-page #site-header .header__heading-link {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.lmyc-header-logo-page #site-header .lmyc-header-row {
  position: relative !important;
}

/* Mobile / tablet — menu | logo (behind) | book on one row */
@media screen and (max-width: 1499px) {
  #site-header .lmyc-header-row {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    grid-template-areas: "start center end" !important;
    align-items: stretch !important;
    width: 100% !important;
    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;
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
  }

  #site-header .lmyc-header-row header-drawer.mobile-drawer {
    display: block !important;
  }

  #site-header .lmyc-header-row header-drawer.desktop-drawer {
    display: none !important;
  }

  @media screen and (min-width: 1300px) {
    #site-header .lmyc-header-row header-drawer.mobile-drawer {
      display: none !important;
    }

    #site-header .lmyc-header-row header-drawer.desktop-drawer {
      display: block !important;
    }
  }

  #site-header .lmyc-header-row header-drawer.mobile-drawer,
  #site-header .lmyc-header-row header-drawer.desktop-drawer {
    grid-area: start !important;
    justify-self: start !important;
    align-self: stretch !important;
    position: relative !important;
    z-index: 8 !important;
    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;
  }

  #site-header .lmyc-header-row header-drawer.mobile-drawer .menu-drawer-container,
  #site-header .lmyc-header-row header-drawer.mobile-drawer .menu-drawer-container > .header__icon--menu,
  #site-header .lmyc-header-row header-drawer.desktop-drawer .menu-drawer-container,
  #site-header .lmyc-header-row header-drawer.desktop-drawer .menu-drawer-container > .header__icon--menu {
    position: relative !important;
    z-index: 8 !important;
    width: var(--lmyc-header-menu-slot-mobile) !important;
    min-width: var(--lmyc-header-menu-slot-mobile) !important;
    max-width: var(--lmyc-header-menu-slot-mobile) !important;
    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;
    background-color: rgb(var(--color-background)) !important;
    border-right: 0.1rem solid rgba(0, 0, 0, 1) !important;
    box-sizing: border-box !important;
  }

  #site-header .lmyc-header-row .header__inline-menu {
    display: none !important;
  }

  #site-header .lmyc-header-row .header-button,
  #site-header .lmyc-header-row a.header__icons.header-button {
    grid-area: end !important;
    justify-self: end !important;
    align-self: stretch !important;
    position: relative !important;
    z-index: 8 !important;
  }

  body.lmyc-home-page #site-header .lmyc-header-bar-logo-link,
  body.lmyc-header-logo-page #site-header .lmyc-header-bar-logo-link,
  #site-header .lmyc-header-bar-logo-link {
    grid-area: unset !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    inset: auto !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    justify-self: center !important;
    align-self: center !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;
    z-index: 1 !important;
    pointer-events: auto !important;
  }

  body.lmyc-home-page #site-header .lmyc-header-bar-logo,
  #site-header .lmyc-header-bar-logo-link--mobile-brand .lmyc-header-bar-logo {
    padding: 0.12rem !important;
    box-sizing: border-box !important;
  }

  /* Homepage mobile/tablet — lock header stack height + cream fill (no dark gap below menu) */
  body.lmyc-home-page {
    --header-height: var(--lmyc-header-bar-height-mobile);
  }

  body.lmyc-home-page #site-header,
  body.lmyc-home-page #site-header .header-wrapper,
  body.lmyc-home-page #site-header sticky-header,
  body.lmyc-home-page #site-header .header,
  body.lmyc-home-page #site-header .header-attachment,
  body.lmyc-home-page .shopify-section-header-sticky .header-attachment:not(.attachment-none) {
    background: rgb(var(--color-background)) !important;
    background-color: rgb(var(--color-background)) !important;
    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;
  }

  body.lmyc-home-page #site-header .header-wrapper.gradient,
  body.lmyc-home-page #site-header sticky-header.gradient,
  body.lmyc-home-page #site-header .header-attachment.gradient {
    background: rgb(var(--color-background)) !important;
  }

  body.lmyc-home-page #site-header .lmyc-header-row::after,
  body.lmyc-home-page.header-at-top #site-header .lmyc-header-row::after {
    background: rgba(0, 0, 0, 1) !important;
  }

  body.lmyc-home-page header-drawer .icon-hamburger path,
  body.lmyc-home-page .header--middle-center header-drawer .icon-hamburger path,
  body.lmyc-home-page header-drawer .icon-hamburger line {
    stroke: #000000 !important;
    color: #000000 !important;
  }

  body.lmyc-home-page sticky-header.header-wrapper.header-wrapper--border-bottom {
    border-bottom-color: rgba(0, 0, 0, 1) !important;
    box-shadow: none !important;
  }

  /* Border lines sit above the centered logo (parent border gets covered by children) */
  #site-header sticky-header.header-wrapper.header-wrapper--border-bottom {
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }

  #site-header .lmyc-header-row::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 0.1rem !important;
    z-index: 9 !important;
    pointer-events: none !important;
  }

  body.header-at-top #site-header .lmyc-header-row::after {
    background: rgba(255, 255, 255, 1) !important;
  }

  body:not(.header-at-top) #site-header .lmyc-header-row::after {
    background: rgba(0, 0, 0, 1) !important;
  }

  #site-header .lmyc-header-row header-drawer.mobile-drawer .menu-drawer-container > .header__icon--menu {
    position: relative !important;
    z-index: 8 !important;
  }

  #site-header .lmyc-header-bar-logo-link {
    color: rgba(var(--color-foreground), 1);
  }

  body.header-at-top:not(.lmyc-home-page) #site-header .lmyc-header-bar-logo-link {
    color: #ffffff;
  }

  body.lmyc-home-page.header-at-top #site-header .lmyc-header-bar-logo-link {
    color: rgb(var(--color-foreground)) !important;
  }

  #site-header .lmyc-header-bar-logo {
    content: url("../images/brand/lmyc-mobile-menu-logo.png?v=6");
  }

  #site-header .lmyc-header-bar-logo-link.lmyc-header-bar-logo-link--mobile-brand,
  #site-header .lmyc-header-bar-logo-link.lmyc-header-bar-logo-link--mobile-brand .lmyc-header-bar-logo {
    background: var(--lmyc-header-logo-bg-mobile) !important;
    background-color: var(--lmyc-header-logo-bg-mobile) !important;
  }
}

/* Desktop — left drawer slot, same 7rem square as menu box */
@media screen and (min-width: 1500px) {
  #site-header .lmyc-header-row header-drawer.desktop-drawer,
  #site-header .lmyc-header-row header-drawer.mobile-drawer {
    display: none !important;
  }

  #site-header .lmyc-header-row {
    position: relative !important;
    isolation: isolate !important;
    align-items: stretch !important;
    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;
  }

  /* Bottom border sits above the left logo (children paint over parent border) */
  #site-header sticky-header.header-wrapper.header-wrapper--border-bottom {
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }

  #site-header .lmyc-header-row::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 0.1rem !important;
    z-index: 9 !important;
    pointer-events: none !important;
  }

  body.header-at-top #site-header .lmyc-header-row::after {
    background: rgba(255, 255, 255, 1) !important;
  }

  body:not(.header-at-top) #site-header .lmyc-header-row::after {
    background: rgba(0, 0, 0, 1) !important;
  }

  body.lmyc-home-page #site-header .lmyc-header-bar-logo-link,
  body.lmyc-header-logo-page #site-header .lmyc-header-bar-logo-link,
  #site-header .lmyc-header-bar-logo-link {
    grid-area: drawer !important;
    justify-self: start !important;
    align-self: stretch !important;
    position: relative !important;
    left: 0 !important;
    top: auto !important;
    transform: none !important;
    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;
    z-index: 1 !important;
    pointer-events: auto !important;
  }

  #site-header .lmyc-header-row .header__inline-menu,
  #site-header .lmyc-header-row .header-button,
  #site-header .lmyc-header-row a.header__icons.header-button {
    position: relative !important;
    z-index: 8 !important;
  }

  body.lmyc-home-page #site-header .lmyc-header-bar-logo-link,
  body.lmyc-header-logo-page #site-header .lmyc-header-bar-logo-link {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

.lmyc-header-bar-since,
.lmyc-hero-since,
.lmyc-footer-since {
  display: none !important;
}

@media screen and (min-width: 1500px) {
  /* Homepage desktop — solid cream behind inline nav at top */
  body.lmyc-home-page #site-header,
  body.lmyc-home-page #site-header .header-wrapper,
  body.lmyc-home-page #site-header sticky-header,
  body.lmyc-home-page #site-header .header,
  body.lmyc-home-page #site-header .header-attachment,
  body.lmyc-home-page .shopify-section-header-sticky .header-attachment:not(.attachment-none),
  body.lmyc-home-page #site-header .header__inline-menu,
  body.lmyc-home-page #site-header .header__inline-menu > .list-menu--inline,
  body.lmyc-home-page #site-header .lmyc-header-bar-logo-link {
    background: rgb(var(--color-background)) !important;
    background-color: rgb(var(--color-background)) !important;
  }

  body.lmyc-home-page.header-at-top .header--middle-center .header__menu-item,
  body.lmyc-home-page.header-at-top .header--middle-center .header__menu-item span,
  body.lmyc-home-page.header-at-top .header--middle-center summary.header__menu-item,
  body.lmyc-home-page.header-at-top .header--middle-center .header__menu-item .icon,
  body.lmyc-home-page.header-at-top .header--middle-center .header__menu-item .icon-caret,
  body.lmyc-home-page.header-at-top #site-header .header__inline-menu .header__menu-item,
  body.lmyc-home-page.header-at-top #site-header .header__inline-menu .header__menu-item span {
    color: #2c2419 !important;
    fill: #2c2419 !important;
    stroke: #2c2419 !important;
    text-shadow: none !important;
  }

  body.lmyc-home-page.header-at-top #site-header #HeaderMenu-events,
  body.lmyc-home-page.header-at-top #site-header #HeaderMenu-events span {
    color: #425936 !important;
    text-shadow: none !important;
  }

  body.lmyc-home-page.header-at-top #site-header .lmyc-header-bar-logo-link {
    color: rgb(var(--color-foreground)) !important;
  }

  html {
    --header-height: 7rem;
  }
  #site-header,
  #site-header sticky-header.header-attachment,
  #site-header .header,
  #site-header .header-attachment,
  #site-header .header.header--middle-center,
  #site-header .lmyc-header-row {
    min-height: 7rem !important;
    max-height: 7rem !important;
    height: 7rem !important;
  }
  #site-header .lmyc-header-row .header-button,
  #site-header .lmyc-header-row a.header__icons.header-button {
    height: 7rem !important;
    min-height: 7rem !important;
    max-height: 7rem !important;
  }
  #site-header .lmyc-header-row .header__inline-menu,
  #site-header .lmyc-header-row .header__inline-menu > .list-menu--inline,
  #site-header .header--middle-center .header__inline-menu > .list-menu--inline > li,
  #site-header .header--middle-center .header__inline-menu details,
  #site-header .header--middle-center .header__menu-item,
  #site-header .header--middle-center .header__menu-item span,
  #site-header .header--middle-center summary.header__menu-item {
    height: 7rem !important;
    min-height: 7rem !important;
    max-height: 7rem !important;
  }
}

/* NEW — plain menu link, brand green (not badge / faded link) */
#site-header #HeaderMenu-events,
#site-header #HeaderMenu-events span,
.menu-drawer #HeaderDrawer-events {
  color: #425936 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

@media screen and (max-width: 1499px) {
  .menu-drawer #HeaderDrawer-events {
    font-weight: 700 !important;
  }
}

body.header-at-top:not(.lmyc-home-page) #site-header #HeaderMenu-events,
body.header-at-top:not(.lmyc-home-page) #site-header #HeaderMenu-events span,
body.lmyc-about-page.header-at-top #site-header #HeaderMenu-events,
body.lmyc-about-page.header-at-top #site-header #HeaderMenu-events span,
body:has(.page-banner-section):not(.lmyc-smile-page).header-at-top #site-header #HeaderMenu-events,
body:has(.page-banner-section):not(.lmyc-smile-page).header-at-top #site-header #HeaderMenu-events span {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55);
}

@media screen and (min-width: 1500px) {
  #site-header #HeaderMenu-events span {
    display: inline;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: inherit;
    vertical-align: baseline;
  }

  #site-header #HeaderMenu-events:hover span,
  #site-header #HeaderMenu-events:focus-visible span {
    background: transparent !important;
    background-color: transparent !important;
    border: none;
  }
}

@media screen and (max-width: 1499px) {
  #site-header #HeaderMenu-events span {
    display: inline;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: inherit;
  }

  #site-header #HeaderMenu-events:hover span,
  #site-header #HeaderMenu-events:focus-visible span {
    background: transparent !important;
    background-color: transparent !important;
    border: none;
  }
}

.menu-drawer #HeaderDrawer-events {
  display: flex;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: inherit;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.menu-drawer #HeaderDrawer-events:hover,
.menu-drawer #HeaderDrawer-events:focus-visible {
  background: rgba(66, 89, 54, 0.07);
  border: none;
  color: #425936 !important;
}

/* Pinch / trackpad zoom shrinks innerWidth and wrongly triggers mobile header rules.
   JS sets data-lmyc-nav from zoom-compensated width — keep full desktop nav visible. */
html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-areas: "drawer nav end" !important;
  align-items: stretch !important;
  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;
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row header-drawer.mobile-drawer,
html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row header-drawer.desktop-drawer {
  display: none !important;
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row .header__inline-menu {
  display: flex !important;
  visibility: visible !important;
  grid-area: nav !important;
  position: relative !important;
  z-index: 8 !important;
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row .header-button,
html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row a.header__icons.header-button {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  grid-area: end !important;
  position: relative !important;
  z-index: 8 !important;
  height: var(--lmyc-header-logo-slot-desktop) !important;
  min-height: var(--lmyc-header-logo-slot-desktop) !important;
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-row .header-button span:first-child {
  display: inline !important;
}

html[data-lmyc-nav="desktop"] #site-header .lmyc-header-bar-logo-link {
  grid-area: drawer !important;
  justify-self: start !important;
  align-self: stretch !important;
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  transform: none !important;
  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;
  z-index: 1 !important;
  pointer-events: auto !important;
}

html[data-lmyc-nav="desktop"] body:has(#hero) #site-header .lmyc-header-row .header__heading,
html[data-lmyc-nav="desktop"] body:has(#hero) #site-header .lmyc-header-row .header__heading-link {
  display: none !important;
}

/* Global — hamburger icon always black on every page/state */
#site-header header-drawer .icon-hamburger path,
#site-header header-drawer .icon-hamburger line,
.header--middle-center header-drawer .icon-hamburger path,
.header--middle-center header-drawer .icon-hamburger line,
body.header-at-top #site-header header-drawer .icon-hamburger path,
body.header-at-top .header--middle-center header-drawer .icon-hamburger path,
body:not(.header-at-top) #site-header header-drawer .icon-hamburger path,
body:not(.header-at-top) .header--middle-center header-drawer .icon-hamburger path {
  stroke: #000000 !important;
  color: #000000 !important;
}
