
/* Desktop Shop submenu: hidden until hover or keyboard focus. */
@media (min-width: 1121px) {
  .lll-primary-nav .lll-menu > li { position: relative; }
  .lll-primary-nav .lll-menu > li > .sub-menu {
    align-items: stretch;
    background: #fffdf9;
    border: 1px solid var(--lll-border, #ded5c8);
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(31, 25, 21, .14);
    display: none !important;
    flex-direction: column;
    gap: 0;
    left: 50%;
    min-width: 210px;
    padding: .45rem;
    position: absolute;
    top: calc(100% + .65rem);
    transform: translateX(-50%);
    z-index: 500;
  }
  .lll-primary-nav .lll-menu > li:hover > .sub-menu,
  .lll-primary-nav .lll-menu > li:focus-within > .sub-menu {
    display: flex !important;
  }
  .lll-primary-nav .sub-menu li { width: 100%; }
  .lll-primary-nav .sub-menu a {
    border-radius: 7px;
    display: block;
    font-size: .82rem;
    padding: .65rem .75rem;
    white-space: nowrap;
  }
  .lll-primary-nav .sub-menu a:hover,
  .lll-primary-nav .sub-menu a:focus-visible {
    background: var(--lll-cream, #f5efe6);
  }
}

/* Mobile submenu remains inside the opened menu and is clearly subordinate. */
@media (max-width: 1120px) {
  .lll-primary-nav .sub-menu {
    background: var(--lll-cream, #f5efe6);
    border-radius: 8px;
    display: grid !important;
    gap: 0 !important;
    margin: .15rem 0 .6rem .75rem !important;
    padding: .2rem .65rem !important;
  }
  .lll-primary-nav .sub-menu a {
    font-size: .86rem !important;
    min-height: 40px !important;
    padding: .65rem .25rem !important;
  }
}

/* The launch repair deliberately leaves the footer at its compact 3-column layout. */
.lll-footer-grid > .widget_product_categories,
.lll-footer-grid .lll-footer-widget.widget_product_categories { display: none !important; }


/* Make it obvious that Shop opens a submenu. */
.lll-primary-nav .menu-item-has-children > a::after {
  content: "⌄";
  display: inline-block;
  font-size: .78em;
  line-height: 1;
  margin-left: .34rem;
  transform: translateY(-.08em);
}

/* Keep the repaired category row visible and allow it to wrap cleanly. */
.lll-launch-polish-categories .lll-shop-categories,
.lll-launch-polish-categories .lll-product-subcategories {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}


/* Navigation correction 0.1.3
 *
 * The theme styles the first menu item as the ordering call-to-action. The
 * migrated menu begins with Home, so Home looked selected everywhere. Restore
 * a normal Home link and make Shop the actual ordering call-to-action.
 */
.lll-primary-nav .lll-menu > li:first-child > a,
.lll-primary-nav .lll-fallback-menu > li:first-child > a {
  background: transparent !important;
  border-radius: 0 !important;
  color: inherit !important;
  padding: .7rem 0 !important;
}

.lll-primary-nav .lll-menu > li:first-child > a:hover,
.lll-primary-nav .lll-fallback-menu > li:first-child > a:hover {
  background: transparent !important;
  color: var(--lll-terracotta-dark) !important;
}

.lll-primary-nav .lll-menu > li.lll-shop-menu-item > a {
  background: var(--lll-terracotta);
  border-radius: 7px;
  color: #fff !important;
  padding: .7rem .95rem;
  text-decoration: none;
}

.lll-primary-nav .lll-menu > li.lll-shop-menu-item > a:hover,
.lll-primary-nav .lll-menu > li.lll-shop-menu-item > a:focus-visible {
  background: var(--lll-terracotta-dark);
  color: #fff !important;
}

.lll-primary-nav .lll-menu > li.lll-shop-menu-item.current-menu-item > a,
.lll-primary-nav .lll-menu > li.lll-shop-menu-item.current-menu-ancestor > a {
  color: #fff !important;
  text-decoration: none;
}

.lll-primary-nav .sub-menu .current-menu-item > a {
  background: var(--lll-cream, #f5efe6);
  color: var(--lll-terracotta-dark);
  font-weight: 800;
  text-decoration: none;
}

/* Keep the desktop dropdown aligned beneath Shop and inside the viewport. */
@media (min-width: 1121px) {
  .lll-primary-nav .lll-menu > li.lll-shop-menu-item > .sub-menu {
    left: 0;
    transform: none;
  }

  .lll-submenu-toggle {
    display: none !important;
  }
}

/* Prevent the desktop header from wrapping immediately before mobile mode. */
@media (min-width: 1121px) and (max-width: 1280px) {
  .lll-header-inner {
    gap: .85rem;
  }

  .lll-primary-nav {
    gap: .8rem;
  }

  .lll-primary-nav ul {
    gap: .65rem;
  }

  .lll-header-actions {
    gap: .55rem;
    padding-left: .75rem;
  }

  .lll-primary-nav a {
    font-size: .81rem;
  }
}

/* Mobile Shop submenu: closed by default, opened with a real button. */
@media (max-width: 1120px) {
  .lll-primary-nav .menu-item-has-children {
    position: relative;
  }

  .lll-primary-nav .menu-item-has-children > a {
    padding-right: 3.2rem !important;
  }

  .lll-primary-nav .menu-item-has-children > a::after {
    content: none !important;
  }

  .lll-submenu-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: var(--lll-ink, #2a2521);
    cursor: pointer;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: .1rem;
    top: .1rem;
    width: 42px;
  }

  .lll-submenu-toggle::before {
    content: "⌄";
    display: block;
    font-size: 1rem;
    line-height: 1;
    transition: transform .18s ease;
  }

  .lll-submenu-toggle[aria-expanded="true"]::before {
    transform: rotate(180deg);
  }

  .lll-submenu-toggle:focus-visible {
    outline: 3px solid var(--lll-terracotta);
    outline-offset: 2px;
  }

  .lll-primary-nav .menu-item-has-children > .sub-menu {
    display: none !important;
  }

  .lll-primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    display: grid !important;
  }

  .lll-primary-nav .lll-menu > li.lll-shop-menu-item > a {
    background: transparent;
    border-radius: 0;
    color: inherit !important;
    padding: .85rem 3.2rem .85rem 0 !important;
  }

  .lll-primary-nav .lll-menu > li.lll-shop-menu-item > a:hover,
  .lll-primary-nav .lll-menu > li.lll-shop-menu-item > a:focus-visible,
  .lll-primary-nav .lll-menu > li.lll-shop-menu-item.current-menu-item > a,
  .lll-primary-nav .lll-menu > li.lll-shop-menu-item.current-menu-ancestor > a {
    background: transparent;
    color: var(--lll-terracotta-dark) !important;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: .3rem;
  }
}


/* Checkout compatibility 0.1.4
 *
 * Multi-Step Checkout for WooCommerce supplies its own Previous and Back to
 * cart navigation. On the migrated layout that wrapper was fixed/sticky while
 * the theme also kept #order_review sticky, so both layers merged during
 * scrolling. Keep the complete checkout in normal document flow.
 */
body.lll-has-multistep-checkout.woocommerce-checkout #order_review {
  position: static !important;
  top: auto !important;
  inset: auto !important;
  transform: none !important;
}

body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  bottom: auto !important;
  box-shadow: none !important;
  clear: both !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .8rem 1rem !important;
  inset: auto !important;
  justify-content: space-between !important;
  left: auto !important;
  margin: 1.25rem 0 0 !important;
  max-width: none !important;
  padding: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 100% !important;
  z-index: auto !important;
}

body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper > *,
body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper a,
body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper button,
body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper .button {
  bottom: auto !important;
  float: none !important;
  inset: auto !important;
  left: auto !important;
  margin: 0 !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}

/* The multistep plugin shows one checkout section at a time, so the theme's
 * two-column sticky-summary grid is unnecessary and creates unused space.
 */
body.lll-has-multistep-checkout.woocommerce-checkout form.checkout {
  display: block !important;
}

body.lll-has-multistep-checkout.woocommerce-checkout #customer_details,
body.lll-has-multistep-checkout.woocommerce-checkout #order_review_heading,
body.lll-has-multistep-checkout.woocommerce-checkout #order_review {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
}

body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-step-item,
body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-step {
  max-width: 100% !important;
}

@media (max-width: 700px) {
  body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper a,
  body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper button,
  body.lll-has-multistep-checkout.woocommerce-checkout .wpmc-nav-wrapper .button {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
}
