:root {
  --ljs-ink: #2b241e;
  --ljs-paper: #f7edd8;
  --ljs-text-on-dark: #f4e5ce;
  --ljs-action: #e8c493;
  --ljs-action-pressed: #d8ae76;
  --ljs-focus-light: #f8d79b;
  --ljs-motion-feedback: 120ms;
  --ljs-motion-reveal: 160ms;
  --ljs-motion-inspect: 180ms;
  --ljs-motion-out: cubic-bezier(.2, .65, .3, 1);
}

.lh-home .lh-hero.ljs-home-hero {
  height: clamp(430px, 66svh, 720px);
  min-height: 0;
}

.lh-home .ljs-home-hero .lh-hero-content { height: 100%; min-height: 0; }

.lh-home .lh-hero.ljs-home-hero .lh-campaign,
.lh-home .lh-hero.ljs-home-hero .lh-campaign span { animation: none !important; }
.lh-home .lh-hero.ljs-home-hero .lh-campaign span:first-child { opacity: 1; will-change: auto; }
.lh-home .lh-hero.ljs-home-hero .lh-campaign span:not(:first-child) { display: none; }

.lh-routing .lh-doors.ljs-home-routes .lh-door,
.lh-routing .lh-doors.ljs-home-routes .lh-route-photo img { transform: none; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .lh-routing .lh-doors.ljs-home-routes .lh-route-photo img {
    transition: transform var(--ljs-motion-inspect) var(--ljs-motion-out);
  }
  .lh-routing .lh-doors.ljs-home-routes .lh-door:hover .lh-route-photo img { transform: scale(1.025); }
}

.ljs-home-hero .hero-ctas .btn,
.ljs-shop-tools :is(input, select),
.ljs-product-opening :is(select, input.qty, button[type="submit"]),
.ljs-world-opening .size-pill,
.ljs-discovery-opening .discovery-product-purchase .btn {
  min-height: 44px;
}

.ljs-disclosure {
  border-top: 1px solid var(--house-line, #8a7560);
  margin: 0;
}

.ljs-disclosure > summary {
  min-height: 44px;
  align-content: center;
  padding-block: .55rem;
  cursor: pointer;
  color: inherit;
}

.ljs-disclosure > :not(summary) { margin-block: .4rem 1rem; }

@media (prefers-reduced-motion: no-preference) {
  .ljs-disclosure[open] > :not(summary) {
    animation: ljs-reveal-content var(--ljs-motion-reveal) var(--ljs-motion-out);
  }
}

@keyframes ljs-reveal-content {
  from { opacity: .85; }
  to { opacity: 1; }
}

.ljs-service-links { display: flex; flex-wrap: wrap; gap: 0 .9rem; }
.ljs-service-links a, .ljs-owner-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .22em;
}

.woocommerce-shop .site-main:has(.ljs-shop) {
  background: #243a4b;
  color: var(--ljs-text-on-dark);
}

body.woocommerce-shop:has(.ljs-shop) :is(.site-header, .site-footer) { background: #1a2c3a; }

.woocommerce-shop .commerce-shell.ljs-shop {
  --ljs-shop-edge: #b19a766b;
  --ljs-shop-shelf: #1a2c3a;
  width: min(100%, 86rem);
  margin-inline: auto;
  padding: clamp(1.2rem, 3vw, 3rem) clamp(.85rem, 4vw, 3.25rem) 4rem;
}

.ljs-shop .commerce-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  align-items: end;
  gap: 1.2rem clamp(1rem, 4vw, 4.5rem);
  padding: clamp(.75rem, 3vw, 2.5rem) 0 clamp(1.1rem, 3vw, 2.25rem);
  margin: 0 0 1rem;
  text-align: left;
  border-bottom: 1px solid var(--ljs-shop-edge);
}

.ljs-shop .commerce-head h1 {
  max-width: 13ch;
  margin: .3rem 0 .45rem;
  font-size: clamp(2.15rem, 5.2vw, 5rem);
  line-height: 1.03;
  letter-spacing: 0;
  text-wrap: balance;
}

.ljs-shop-intro > p:first-child {
  color: var(--ljs-action);
  margin: 0;
}

.ljs-shop .commerce-head .ljs-shop-lead {
  color: var(--ljs-text-on-dark);
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}

.ljs-shop-discovery {
  display: grid;
  grid-template-columns: clamp(5rem, 10vw, 9.5rem) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(.55rem, 1.4vw, 1.2rem);
  min-height: 52px;
  padding: .45rem .7rem .45rem .45rem;
  background: var(--ljs-shop-shelf);
  border: 1px solid var(--ljs-shop-edge);
  color: var(--ljs-text-on-dark);
  text-decoration: none;
}

.ljs-shop-discovery img { display: block; width: 100%; height: auto; aspect-ratio: 1.55; object-fit: cover; }
.ljs-shop-discovery-copy { grid-column: 2; display: grid; gap: .15rem; font-size: .8rem; }
.ljs-shop-discovery-copy strong { font-family: var(--f-display); font-size: clamp(1rem, 2vw, 1.6rem); font-weight: 400; line-height: 1.15; }
.ljs-shop-arrow { color: var(--ljs-action); font-size: 1.2rem; }
.ljs-shop-discovery:hover strong { text-decoration: underline; text-underline-offset: .22em; }
.ljs-shop-discovery:active { background: #344d5f; transition-duration: 0s; }

.ljs-shop .ljs-shop-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 12rem);
  gap: .65rem;
  max-width: 40rem;
  margin: 0;
}

.ljs-shop .ljs-shop-tools :is(.ljs-shop-search, form.woocommerce-ordering) {
  display: grid;
  gap: .35rem;
  float: none;
  margin: 0;
  min-width: 0;
}

.ljs-shop .ljs-shop-tools label { color: var(--ljs-text-on-dark); font-size: .9rem; }
.ljs-shop .ljs-shop-tools :is(input[type="search"], select) {
  width: 100%;
  min-width: 0;
  padding: .4rem .65rem;
  border: 1px solid #b19a76;
  border-radius: 3px;
  background: var(--ljs-shop-shelf);
  color: var(--ljs-text-on-dark);
  color-scheme: dark;
  font: inherit;
}

.ljs-shop .ljs-shop-tools input::placeholder { color: #d2c8b9; opacity: 1; }
.ljs-shop .woocommerce-result-count { float: none; margin: .7rem 0 .85rem; font-size: .85rem; color: var(--ljs-action); }

.woocommerce .ljs-shop ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.65rem, 2vw, 1.55rem);
  margin: 0;
  padding: 0;
}

.woocommerce .ljs-shop ul.products::before, .woocommerce .ljs-shop ul.products::after { display: none; }
.woocommerce .ljs-shop ul.products li.product {
  display: flex;
  flex-direction: column;
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--ljs-shop-shelf);
  border: 1px solid var(--ljs-shop-edge);
}

.woocommerce .ljs-shop ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.ljs-shop-media { position: relative; aspect-ratio: 6 / 5; overflow: hidden; background: #172631; }
.woocommerce .ljs-shop ul.products li.product .ljs-shop-media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; margin: 0; }
.woocommerce .ljs-shop ul.products li.product .ljs-shop-media .onsale {
  inset: .45rem .45rem auto auto;
  margin: 0;
  padding: .2rem .45rem;
  min-width: 0;
  min-height: 0;
  border-radius: 2px;
  background: var(--ljs-action);
  color: var(--ljs-ink);
  font-size: .75rem;
  line-height: 1.4;
}

.ljs-shop-caption { display: grid; gap: .3rem; flex: 1; padding: clamp(.55rem, 1.35vw, 1.1rem); }
.woocommerce .ljs-shop ul.products li.product .woocommerce-loop-product__title {
  margin: 0;
  padding: 0;
  color: var(--ljs-paper);
  font-size: clamp(.96rem, 2.2vw, 1.55rem);
  letter-spacing: .035em;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.ljs-shop-family, .ljs-shop-stock { margin: 0; color: var(--ljs-text-on-dark); font-size: .84rem; line-height: 1.3; }
.ljs-shop-stock { color: var(--ljs-action); }
.woocommerce .ljs-shop ul.products li.product .price { color: var(--ljs-action); margin: 0; font-size: clamp(.85rem, 1.3vw, 1.05rem); }

.woocommerce .ljs-shop ul.products li.product > :is(.button, .added_to_cart),
.ljs-shop-empty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-height: 44px;
  margin: 0 clamp(.55rem, 1.35vw, 1.1rem) clamp(.55rem, 1.35vw, 1.1rem);
  padding: .35rem .5rem;
  border: 1px solid #b19a76;
  border-radius: 2px;
  background: transparent;
  color: var(--ljs-text-on-dark);
  font: inherit;
  font-size: .85rem;
  text-align: center;
  white-space: normal;
}

.woocommerce .ljs-shop ul.products li.product > :is(.button, .added_to_cart):active,
.ljs-shop-empty button:active { background: var(--ljs-action-pressed); color: var(--ljs-ink); transition-duration: 0s; }
.ljs-shop-empty { padding: 1rem 0 2rem; }
.ljs-shop-empty button { margin: .7rem 0 0; cursor: pointer; }

@media (prefers-reduced-motion: no-preference) {
  .ljs-shop-discovery, .woocommerce .ljs-shop ul.products li.product > :is(.button, .added_to_cart), .ljs-shop-empty button {
    transition: background-color var(--ljs-motion-feedback) var(--ljs-motion-out), color var(--ljs-motion-feedback) var(--ljs-motion-out);
  }
  .ljs-shop-arrow { transition: transform var(--ljs-motion-feedback) var(--ljs-motion-out); }
  .ljs-shop-discovery:active .ljs-shop-arrow { transform: translateX(3px); }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .woocommerce .ljs-shop ul.products li.product .ljs-shop-media img { transition: transform var(--ljs-motion-inspect) var(--ljs-motion-out); }
  .woocommerce .ljs-shop ul.products li.product .woocommerce-loop-product__link:hover img { transform: scale(1.025); }
}

.woocommerce .ljs-shop ul.products li.product[hidden],
.ljs-shop-empty[hidden] { display: none !important; }
.woocommerce .ljs-shop ul.products li.product :is(.button, a.woocommerce-loop-product__link) { min-height: 44px; }

.woocommerce div.product.ljs-product { display: block; }
.ljs-product-opening {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: 'gallery heading' 'gallery summary';
  gap: .4rem clamp(1rem, 4vw, 4rem);
  align-items: start;
  margin-bottom: 2rem;
}

.ljs-product-heading { grid-area: heading; min-width: 0; }
.woocommerce div.product.ljs-product .ljs-product-heading .product_title { margin: 0; }
.ljs-product-meaning, .ljs-scent-line { margin: .2rem 0; }
.ljs-product-meaning { font-style: italic; }
.ljs-scent-line { font-size: 1rem; }

.woocommerce div.product.ljs-product .ljs-product-opening > div:is(.images, .summary) {
  float: none;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.woocommerce div.product.ljs-product .ljs-product-opening > .images { grid-area: gallery; opacity: 1 !important; }
.woocommerce div.product.ljs-product .ljs-product-opening > .summary { grid-area: summary; }
.woocommerce div.product.ljs-product .ljs-product-opening .images :is(img, .flex-viewport) { max-height: min(55svh, 520px); }
.woocommerce div.product.ljs-product .ljs-product-opening .images img { object-fit: contain; }
.woocommerce div.product.ljs-product .ljs-product-opening .flex-control-thumbs img { max-height: 72px; }
.woocommerce div.product.ljs-product .ljs-product-opening .summary > :is(.price, .stock) { margin: .25rem 0; }
.woocommerce div.product.ljs-product .ljs-product-opening .summary form.cart { margin: .6rem 0 .25rem; }
.ljs-product-opening .liyema-woo-size { margin: 0 0 .5rem; }
.ljs-product-opening .liyema-woo-size small { margin-block: .25rem; }
.ljs-product-opening .single_add_to_cart_button { max-width: 100%; white-space: normal; }
.woocommerce div.product.ljs-product .ljs-product-opening .stock { color: inherit; }
.lh-home .lh-hero.ljs-home-hero .hero-ctas .btn-gold,
.woocommerce div.product.ljs-product .ljs-product-opening .single_add_to_cart_button:enabled,
.ljs-discovery-opening .discovery-product-purchase .btn:enabled {
  background: var(--ljs-action) !important;
  color: var(--ljs-ink) !important;
  transition: background-color var(--ljs-motion-feedback) var(--ljs-motion-out);
}
.lh-home .lh-hero.ljs-home-hero .hero-ctas .btn-gold:active,
.woocommerce div.product.ljs-product .ljs-product-opening .single_add_to_cart_button:enabled:active,
.ljs-discovery-opening .discovery-product-purchase .btn:enabled:active {
  background-color: var(--ljs-action-pressed) !important;
  transition-duration: 0s;
}
.woocommerce div.product.ljs-product .woocommerce-tabs ul.tabs li:not(.active) a { color: var(--ljs-text-on-dark); }
.woocommerce div.product.ljs-product .woocommerce-tabs .woocommerce-Tabs-panel--description > div[style] {
  color: var(--ljs-text-on-dark) !important;
}

body :is(.ljs-home-hero, .ljs-home-routes, .ljs-shop, .ljs-product, .ljs-discovery-opening) :is(a, button, input, select, summary):focus-visible,
#world .ljs-world-opening :is(a, button):focus-visible {
  outline: 2px solid var(--ljs-focus-light);
  outline-offset: 2px;
  box-shadow: 0 0 0 2px var(--ljs-ink);
}

.world .ljs-world-opening {
  grid-template-areas: 'gallery heading' 'gallery summary';
  row-gap: .65rem;
  align-items: start;
}
.world .ljs-world-heading { grid-area: heading; min-width: 0; }
.world .ljs-world-heading h1 { font-size: clamp(1.75rem, 5.6vw, 3.35rem); line-height: 1.14; margin: 0; overflow-wrap: anywhere; }
.world .ljs-world-heading .w-sub { margin: .2rem 0; }
.world .ljs-world-opening .w-bottle-stage { grid-area: gallery; }
.world .ljs-world-opening .w-id { grid-area: summary; }
.world .ljs-world-opening .w-id .w-archive { margin-top: 1.25rem; }
.world .ljs-world-opening .w-buy { margin-top: 0; }

.ljs-discovery-opening .discovery-product-details { margin: .65rem 0; }
.ljs-discovery-opening .discovery-product-details span { font-size: .9rem; }
.ljs-discovery-opening .discovery-product-details span:nth-child(2) { font-weight: 600; }
.ljs-discovery-opening .discovery-included { border-top: 0; padding-top: 0; }
.ljs-discovery-opening .ljs-discovery-terms { margin: .7rem 0; font-size: .9rem; }
.ljs-discovery-opening .discovery-product-note { margin-top: .75rem; }
.ljs-discovery-opening .discovery-product-purchase button { white-space: normal; }

@media (min-width: 701px) and (max-width: 1023px) {
  .lh-home .lh-hero.ljs-home-hero { height: clamp(370px, 56svh, 510px); }
  .ljs-discovery-opening.discovery-product-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
  .ljs-discovery-opening .discovery-product-art { position: static; }
}

@media (max-width: 700px) {
  .lh-home .lh-hero.ljs-home-hero { height: clamp(325px, 55svh, 450px); padding-block: 4rem 1.4rem !important; }
  .lh-home .ljs-home-hero .lh-hero-content { justify-content: flex-end; }
  .lh-home .ljs-home-hero .hero-sub { margin-top: .4rem; }
  .lh-home .ljs-home-hero .hero-ctas { margin-top: .7rem; }
  .lh-home .lh-hero.ljs-home-hero .hero-ctas .ljs-extra-hero-action { display: none !important; }
  .lh-routing .lh-doors.ljs-home-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .lh-routing .ljs-home-routes .lh-door { display: block; min-width: 0; }
  .ljs-home-routes .lh-door :is(.lh-route-photo, .lh-route-description, .lh-route-mobile-note, .lh-eyebrow, .lh-go) { display: none; }
  .ljs-home-routes .lh-door .lh-route-copy { display: flex; min-height: 52px; padding: .6rem .65rem; justify-content: center; }
  .ljs-home-routes .lh-door h3 { font: inherit; font-size: .92rem; line-height: 1.25; margin: 0; }
  .ljs-home-routes .lh-door h3 br { display: none; }

  .ljs-shop .commerce-head { grid-template-columns: minmax(0, 1fr); }
  .ljs-shop .commerce-head h1 { max-width: none; }
  .ljs-shop .ljs-shop-tools { grid-template-columns: minmax(0, 1fr) minmax(7.2rem, 38%); }
  .ljs-shop .ljs-shop-tools .orderby { padding-inline: .4rem; font-size: .88rem; }
  .woocommerce .ljs-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .ljs-product-opening, .world .ljs-world-opening {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: 'heading' 'gallery' 'summary';
    row-gap: .6rem;
  }
  .single-product .commerce-shell:has(.ljs-product) { padding-top: .85rem; }
  .woocommerce div.product.ljs-product .ljs-product-opening .images :is(img, .flex-viewport) { max-height: clamp(145px, 30svh, 240px); }
  .woocommerce div.product.ljs-product .ljs-product-opening .flex-control-thumbs img { max-height: 58px; }
  .world .ljs-world-opening .w-bottle-stage { position: static; min-height: 0; }
  .world .ljs-world-opening .w-bottle:has(.liyema-plate) { height: clamp(125px, 27svh, 220px); width: auto; }
  .world .ljs-world-opening .w-bottle .liyema-plate { height: 100%; }
  .world .ljs-world-opening .w-gallery { margin-block: .4rem; }
  .world .ljs-world-opening .w-id .w-archive { margin-block: .7rem; }

  .discovery-product-grid.ljs-discovery-opening { gap: .85rem; }
  .ljs-discovery-opening .discovery-product-art img {
    max-height: clamp(128px, 25svh, 200px);
    width: 100%;
    object-fit: contain;
  }
  .ljs-discovery-opening .discovery-product-copy .inner-eyebrow { margin-bottom: .25rem; }
  .ljs-discovery-opening .discovery-product-copy h1 { font-size: clamp(1.85rem, 9vw, 2.6rem); }
  .ljs-discovery-opening .discovery-product-kicker { margin: .2rem 0; }
  .ljs-discovery-opening .discovery-product-details { display: flex; gap: .25rem .75rem; }
  .ljs-discovery-opening .discovery-product-details span { padding: 0; }
}

@media (min-width: 1240px) {
  .woocommerce .ljs-shop ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 360px) {
  .woocommerce-shop .commerce-shell.ljs-shop { padding-top: .75rem; }
  .ljs-shop .commerce-head { gap: .9rem; padding-top: .55rem; margin-bottom: .75rem; }
  .ljs-shop .ljs-shop-tools { grid-template-columns: minmax(0, 1fr) 45%; }
}

@media (prefers-reduced-motion: reduce) {
  .ljs-home-hero :is(.hero-title, .hero-title span, .hero-ctas .btn),
  .ljs-home-routes :is(.lh-door, .lh-route-photo img),
  .ljs-world-opening *, .ljs-product-opening *, .ljs-discovery-opening * {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
