/* Refined header layout and Flatsome logo alignment */
html { scroll-behavior: smooth; }
.lmn-site-header .lmn-header-row__inner {
  display: grid;
  grid-template-columns: minmax(175px, 238px) minmax(0, 1fr) minmax(195px, 230px);
  align-items: center;
  gap: clamp(14px, 1.6vw, 28px);
  min-width: 0;
}
.lmn-site-header .lmn-brand { width: 100%; max-width: 238px; min-width: 0; }
.lmn-site-header .lmn-brand__image { display: block; max-height: 76px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.lmn-site-header .lmn-desktop-nav { width: 100%; min-width: 0; }
.lmn-site-header .lmn-nav-list { gap: clamp(12px, 1.15vw, 20px); justify-content: center; }
.lmn-site-header .lmn-nav-list > li > a { white-space: nowrap; font-size: 12.7px; }
.lmn-site-header .lmn-search--desktop { display: block; justify-self: end; width: 100%; min-width: 0; max-width: 230px; }
.lmn-site-header .lmn-search--desktop input[type='search'] { width: 100%; padding-right: 51px; text-overflow: ellipsis; font-size: 11.5px; }
.lmn-search--desktop input[type='search']::placeholder { font-size: 11.5px; }
.lmn-site-header .lmn-search button { flex: none; }
.lmn-site-header .lmn-menu-toggle { display: none; }

/* Featured article and ranking cards share a single row */
.lmn-intro { display: block; padding-bottom: 27px; }
.lmn-intro h1 { max-width: 100%; }
.lmn-hero { align-items: stretch; grid-template-columns: minmax(0, 1.7fr) minmax(0, .95fr); }
.lmn-hero__feature, .lmn-hero__side { align-self: stretch; min-height: 0; }
.lmn-hero .lmn-card--hero { height: 455px; }
.lmn-hero__side { height: 455px; }
.lmn-hero__list { height: 100%; min-height: 0; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lmn-hero__list-item, .lmn-hero__list-item .lmn-card { min-height: 0; }
.lmn-hero__list-item .lmn-card__title { overflow-wrap: anywhere; }

/* Magazine cards expand to show full titles instead of clipping */
.lmn-food__grid {
  grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(256px, auto));
  align-items: stretch;
  gap: 18px;
}
.lmn-food__grid > .lmn-card { height: auto; min-height: 256px; }
.lmn-food__grid > .lmn-card:first-child { grid-row: span 2; min-height: 530px; }
.lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__media { aspect-ratio: 1.95 / 1; }
.lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__body { padding: 14px 15px 15px; min-height: 100px; }
.lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__title {
  font-size: 13.5px; line-height: 1.5; margin-bottom: 11px;
  display: block; overflow: visible; -webkit-line-clamp: unset;
}
.lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__meta { margin-top: auto; }
.lmn-food__grid .lmn-card--spotlight { position: relative; overflow: hidden; }
.lmn-food__grid .lmn-card--spotlight .lmn-card__media { position: absolute; inset: 0; width: 100%; height: 100%; }
.lmn-food__grid .lmn-card--spotlight .lmn-card__body {
  position: absolute; inset: 0; z-index: 2;
  justify-content: flex-end; padding: 28px;
  background: linear-gradient(180deg, rgba(6,28,20,.02) 8%, rgba(8,31,24,.42) 56%, rgba(4,24,17,.94) 100%);
}
.lmn-food__grid .lmn-card--spotlight .lmn-card__title, .lmn-food__grid .lmn-card--spotlight .lmn-card__title a { color: #fff; }
.lmn-food__grid .lmn-card--spotlight .lmn-card__excerpt { color: #eaf3ed; }
.lmn-food__grid .lmn-card--spotlight .lmn-card__meta { color: #eaf3ed; margin-top: 10px; }
.lmn-food__grid .lmn-card--spotlight .lmn-card__read { color: #174b38; }

/* Family grid stays within its section at every screen size */
.lmn-family { display: flow-root; overflow: visible; }
.lmn-family__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.lmn-family__panel { min-width: 0; display: flex; flex-direction: column; }
.lmn-family__panel > .lmn-card { flex: 1 0 auto; height: auto; min-width: 0; }
.lmn-family__panel .lmn-card__body { min-height: 0; padding-bottom: 19px; }
.lmn-family__panel .lmn-card__title { overflow-wrap: break-word; line-height: 1.5; }
.lmn-family__panel .lmn-card__meta { margin-top: 16px; }
.lmn-family__category-row { flex-wrap: wrap; align-items: center; }
.lmn-family__category-row h3 { flex: 1 1 auto; }

/* Footer navigation */
.lmn-site-footer .lmn-brand__image { max-width: 100%; max-height: 83px; object-fit: contain; }
.lmn-footer-bottom__links { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
.lmn-footer-to-top { display: inline-flex; gap: 8px; align-items: center; justify-content: center; padding: 10px 15px; border-radius: 999px; background: #166545; color: #fff; font-size: 12px; font-weight: 750; white-space: nowrap; transition: background-color .2s ease, transform .2s ease; }
.lmn-site-footer .lmn-footer-to-top:hover, .lmn-site-footer .lmn-footer-to-top:focus-visible { background: #103f30; color: #fff; transform: translateY(-2px); }
.lmn-footer-to-top .lmn-icon { width: 15px; height: 15px; }
#lmn-page-top { position: absolute; top: 0; height: 0; width: 0; }

@media (max-width: 1250px) {
  .lmn-site-header .lmn-header-row__inner { display: flex; justify-content: space-between; min-height: 75px; }
  .lmn-site-header .lmn-brand { flex: 0 1 240px; }
  .lmn-site-header .lmn-desktop-nav, .lmn-site-header .lmn-search--desktop { display: none; }
  .lmn-site-header .lmn-menu-toggle { display: grid; place-items: center; margin-left: auto; width: 44px; height: 44px; background: #edf6ee; border: 1px solid #d5e6d9; border-radius: 12px; color: var(--lmn-green-900); padding: 0; }
  .lmn-site-header .lmn-menu-toggle[aria-expanded='true'] .lmn-menu-toggle__open { display: none; }
  .lmn-site-header .lmn-menu-toggle[aria-expanded='true'] .lmn-menu-toggle__close { display: block; }
  .lmn-site-header .lmn-mobile-panel:not([hidden]) { display: block; background: #fff; border-top: 1px solid #e5eee6; box-shadow: 0 18px 35px rgba(17,63,38,.11); max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; }
  .lmn-mobile-panel > .lmn-container { padding-block: 16px 24px; }
  .lmn-site-header .lmn-search--mobile { display: block; width: 100%; margin-bottom: 14px; }
  .lmn-site-header .lmn-nav-list--mobile { display: block; }
  .lmn-site-header .lmn-nav-list--mobile > li { border-bottom: 1px solid #e6eee7; }
  .lmn-site-header .lmn-nav-list--mobile > li > a { width: 100%; padding: 16px 8px; }
  .lmn-site-header .lmn-nav-list--mobile > li > a::after { display: none; }
  .lmn-site-header .lmn-nav-list--mobile .sub-menu { display: none; margin: 0 0 12px 12px; padding-left: 16px; border-left: 2px solid #dcece0; }
  .lmn-site-header .lmn-nav-list--mobile .is-expanded > .sub-menu { display: block; }
  .lmn-site-header .lmn-nav-list--mobile .sub-menu a { padding: 11px 8px; }
  .lmn-site-header .lmn-nav-list--mobile .menu-item-has-children { position: relative; }
  .lmn-site-header .lmn-nav-list--mobile .menu-item-has-children > a { padding-right: 58px; }
  .lmn-site-header .lmn-mobile-submenu-toggle { position: absolute; top: 5px; right: 0; width: 42px; height: 42px; border: none; border-radius: 10px; background: #eef6ee; color: #164c38; cursor: pointer; }
  body.lmn-menu-open { overflow: hidden; }
}
@media (max-width: 850px) {
  .lmn-hero { grid-template-columns: 1fr; }
  .lmn-hero .lmn-card--hero, .lmn-hero__side { height: auto; }
  .lmn-hero .lmn-card--hero { height: 400px; }
  .lmn-hero__list { height: auto; grid-template-rows: repeat(2, minmax(100px, 1fr)); }
  .lmn-food__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .lmn-food__grid > .lmn-card:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 340px; }
  .lmn-food__grid > .lmn-card { min-height: 0; height: auto; }
  .lmn-family__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lmn-family { padding: 28px 20px; }
}
@media (max-width: 640px) {
  .lmn-site-header .lmn-brand { flex-basis: 190px; }
  .lmn-site-header .lmn-brand__image { max-height: 61px; }
  .lmn-hero .lmn-card--hero { height: 370px; }
  .lmn-hero__list { grid-template-columns: 1fr; grid-template-rows: none; }
  .lmn-hero__list-item { height: 96px; }
  .lmn-food__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lmn-food__grid > .lmn-card:first-child { min-height: 330px; }
  .lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__body { padding: 12px; }
  .lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__title { font-size: 12px; line-height: 1.5; }
  .lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__media { aspect-ratio: 1.45 / 1; }
  .lmn-family__grid { grid-template-columns: 1fr; }
  .lmn-family__panel { min-height: 0; }
  .lmn-family__panel > .lmn-card { flex: 0 1 auto; }
  .lmn-footer-bottom__links { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Homepage feature label and balanced editorial hero */
.lmn-hero__side {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.lmn-hero__heading {
  flex: none;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 13px;
  color: var(--lmn-green-950);
  font: 700 18px/1.35 var(--lmn-editorial-font);
  letter-spacing: -.02em;
}
.lmn-hero__heading::before {
  content: '';
  width: 7px;
  height: 19px;
  flex: none;
  border-radius: 99px;
  background: var(--lmn-gold);
}
.lmn-hero__list {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}

/* Compact icon-only footer action */
.lmn-site-footer .lmn-footer-to-top {
  width: 43px;
  height: 43px;
  min-width: 43px;
  padding: 0;
  gap: 0;
  border: 1px solid #166545;
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(18, 79, 54, .14);
}
.lmn-site-footer .lmn-footer-to-top .lmn-icon {
  width: 19px;
  height: 19px;
}

/* Keep header controls aligned and prevent sticky overlap on phones */
@media (max-width: 850px) {
  .lmn-site-header,
  body.admin-bar .lmn-site-header {
    position: relative;
    top: auto;
  }
  .lmn-site-header .lmn-header-row__inner {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 66px;
    padding-block: 7px;
  }
  .lmn-site-header .lmn-header-row .lmn-brand {
    display: inline-flex;
    flex: 0 1 auto;
    width: auto;
    max-width: calc(100% - 64px);
    min-width: 0;
    margin: 0;
    align-self: center;
  }
  .lmn-site-header .lmn-brand__image {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 52px;
  }
  .lmn-site-header .lmn-menu-toggle {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin: 0 0 0 auto;
    align-self: center;
  }
  .lmn-site-header .lmn-mobile-panel[hidden] { display: none; }
  .lmn-site-header .lmn-mobile-panel:not([hidden]) {
    position: static;
    max-height: min(76dvh, 650px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .lmn-site-header .lmn-mobile-panel > .lmn-container {
    padding-top: 15px;
    padding-bottom: 18px;
  }
  .lmn-site-header .lmn-nav-list--mobile > li {
    position: relative;
    margin: 0;
  }
  .lmn-site-header .lmn-nav-list--mobile > li > a {
    display: flex;
    align-items: center;
    min-height: 51px;
    padding: 12px 9px;
  }
  .lmn-site-header .lmn-nav-list--mobile .menu-item-has-children > a::before { display: none; }
  .lmn-site-header .lmn-mobile-submenu-toggle {
    top: 4px;
    right: 0;
    margin: 0;
    display: grid;
    place-items: center;
  }
  body.lmn-menu-open { overflow: visible; }
  .lmn-hero__side { height: auto; }
  .lmn-hero__heading { margin-bottom: 13px; }
  .lmn-hero__list { height: auto; grid-template-rows: none; }
}

/* Phone articles use full-width vertical cards except the dessert collection */
@media (max-width: 767px) {
  .lmn-latest__grid,
  .lmn-daily__grid,
  .lmn-food__grid,
  .lmn-discovery__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 17px;
  }
  .lmn-latest__grid > .lmn-card:first-child,
  .lmn-daily__grid > .lmn-card:first-child {
    display: flex;
    flex-direction: column;
    grid-column: auto;
    grid-row: auto;
  }
  .lmn-latest__grid > .lmn-card:first-child .lmn-card__media,
  .lmn-daily__grid > .lmn-card:first-child .lmn-card__media {
    height: auto;
    aspect-ratio: 1.6 / 1;
  }
  .lmn-food__grid > .lmn-card:first-child {
    grid-column: auto;
    grid-row: auto;
    min-height: 340px;
  }
  .lmn-food__grid > .lmn-card:not(:first-child) {
    min-height: 0;
  }
  .lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__media,
  .lmn-latest__grid > .lmn-card:not(:first-child) .lmn-card__media,
  .lmn-daily__grid > .lmn-card:not(:first-child) .lmn-card__media {
    aspect-ratio: 1.75 / 1;
  }
  .lmn-latest__grid > .lmn-card:not(:first-child) .lmn-card__title,
  .lmn-daily__grid > .lmn-card:not(:first-child) .lmn-card__title,
  .lmn-food__grid > .lmn-card:not(:first-child) .lmn-card__title {
    font-size: 15px;
    line-height: 1.55;
  }
  .lmn-hero__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 14px;
  }
  .lmn-hero__list-item {
    display: block;
    position: relative;
    height: auto;
    min-height: 0;
  }
  .lmn-hero__list-item .lmn-rank {
    position: absolute;
    z-index: 2;
    top: 11px;
    left: 11px;
    box-shadow: 0 2px 7px rgba(0,0,0,.12);
  }
  .lmn-hero__list-item .lmn-card { height: auto; }
  .lmn-hero__list .lmn-card--horizontal,
  .lmn-tips__list .lmn-card--horizontal,
  .lmn-discovery__grid .lmn-card--horizontal {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  .lmn-hero__list .lmn-card--horizontal .lmn-card__media,
  .lmn-tips__list .lmn-card--horizontal .lmn-card__media,
  .lmn-discovery__grid .lmn-card--horizontal .lmn-card__media {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1.8 / 1;
  }
  .lmn-hero__list .lmn-card--horizontal .lmn-card__body,
  .lmn-tips__list .lmn-card--horizontal .lmn-card__body,
  .lmn-discovery__grid .lmn-card--horizontal .lmn-card__body {
    padding: 14px 15px 16px;
  }
  .lmn-hero__list .lmn-card--horizontal .lmn-card__title,
  .lmn-tips__list .lmn-card--horizontal .lmn-card__title,
  .lmn-discovery__grid .lmn-card--horizontal .lmn-card__title {
    font-size: 14px;
    line-height: 1.55;
  }
  .lmn-discovery__grid > .lmn-card--horizontal { height: auto; }
  .lmn-dessert__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lmn-footer-bottom__links {
    margin-left: auto;
    justify-content: flex-end;
  }
}

/* Flush-right search action within the shared header search field. */
.lmn-site-header .lmn-search { position: relative; height: 44px; border-radius: 999px; }
.lmn-site-header .lmn-search input[type="search"] {
  height: 44px;
  padding-right: 59px;
  border-radius: 999px;
}
.lmn-site-header .lmn-search button {
  position: absolute;
  top: 50%;
  right: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  box-shadow: 0 3px 10px rgba(17, 86, 56, .18);
}
.lmn-site-header .lmn-search button:hover,
.lmn-site-header .lmn-search button:focus-visible {
  transform: translateY(-50%) scale(1.03);
}

/* Search icon proportions shared by desktop and mobile navigation. */
.lmn-site-header .lmn-search input[type='search'] {
  height: 44px;
  padding-right: 49px;
}
.lmn-site-header .lmn-search button {
  width: 32px;
  height: 32px;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  box-shadow: 0 3px 8px rgba(15, 83, 51, .13);
}
.lmn-site-header .lmn-search button:hover {
  transform: translateY(-50%) scale(1.04);
}
.lmn-site-header .lmn-search button .lmn-icon {
  width: 16px;
  height: 16px;
}
.lmn-site-footer .lmn-footer-menu--extra {
  margin-top: 0;
}

/* Keep the header search action perfectly circular at every breakpoint. */
.lmn-site-header .lmn-search button[type="submit"] {
  position: absolute;
  top: 50%;
  right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  box-sizing: border-box;
  inline-size: 34px;
  block-size: 34px;
  min-inline-size: 34px;
  max-inline-size: 34px;
  min-block-size: 34px;
  max-block-size: 34px;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  line-height: 1;
  border: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  appearance: none;
}
.lmn-site-header .lmn-search button[type="submit"]:hover,
.lmn-site-header .lmn-search button[type="submit"]:focus-visible {
  transform: translateY(-50%) scale(1.035);
}
.lmn-site-header .lmn-search button[type="submit"] .lmn-icon {
  width: 16px;
  height: 16px;
  flex: none;
}
