/* ==========================================================================
   UI fixes (all screen sizes): text centered inside every button, pill,
   tag and badge; nothing clipped by fixed heights.
   ========================================================================== */

/* ---------- Buttons ---------- */
html body .btn-lwhh-primary,
html body .btn-lwhh-black,
html body .button,
html body a.button,
html body button.button,
html body .single_add_to_cart_button,
html body .checkout-button,
html body .byte-cart-sheet-btn-checkout,
html body .byte-catalog-search-btn,
html body .wc-block-components-button,
html body .wp-block-button__link,
html body .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.15 !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* Full-width buttons stay full width */
html body .wc-block-components-checkout-place-order-button,
html body .wc-block-cart__submit-button,
html body .wp-block-woocommerce-proceed-to-checkout-block a,
html body .byte-loop-btn-row a.button {
  display: flex !important;
}

html body .wc-block-components-button__text {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.15 !important;
}

/* ---------- Pills, tags, badges ---------- */
html body .lwhh-tag-black,
html body .lwhh-tag-white,
html body .lwhh-tag-badge,
html body .lwhh-badge-pill,
html body .lwhh-badge-pill-header,
html body .byte-catalog-badge,
html body .byte-topic-pill,
html body .byte-topic-count,
html body .byte-card-tag,
html body .byte-single-tag,
html body .byte-single-verified,
html body .onsale,
html body .ast-onsale-card,
html body .ast-shop-product-out-of-stock,
html body .wc-block-components-sale-badge,
html body .lwhh-mobile-cart-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.15 !important;
  height: auto !important;
  vertical-align: middle !important;
}

/* Highlighted word box inside big headings (e.g. GEAR CART, CHECKOUT) */
html body .byte-catalog-h1-box {
  display: inline-block !important;
  line-height: 1.05 !important;
  padding: 0.08em 0.22em 0.12em !important;
  vertical-align: baseline !important;
}

/* Product grid price chips */
html body ul.products li.product .price .woocommerce-Price-amount {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
}

/* Single product price box */
html body.single-product div.product .summary p.price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 12px !important;
  line-height: 1.2 !important;
}

/* ---------- Header icon buttons ---------- */
html body .lwhh-icon-btn {
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* ---------- Quantity input (product page + classic cart) ---------- */
html body .quantity input.qty,
html body input.qty {
  height: 48px !important;
  min-height: 48px !important;
  width: 64px !important;
  padding: 0 4px !important;
  line-height: normal !important;
  text-align: center !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  box-sizing: border-box !important;
  -moz-appearance: textfield !important;
}

html body.single-product div.product form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
}

html body.single-product div.product form.cart .quantity {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
}

html body.single-product div.product form.cart .quantity input.qty,
html body.single-product div.product form.cart .single_add_to_cart_button {
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html body.single-product div.product form.cart {
  align-items: center !important;
}

html body.single-product div.product form.cart .quantity {
  align-items: center !important;
  height: 52px !important;
}

/* Block cart quantity selector */
html body .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: stretch !important;
}

html body .wc-block-components-quantity-selector__input {
  padding: 0 !important;
  line-height: normal !important;
  text-align: center !important;
}

html body .wc-block-components-quantity-selector__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* ---------- Mobile bottom tab bar: all four items identical ---------- */
html body .lwhh-mobile-bottom-bar .lwhh-bar-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

html body .lwhh-mobile-bottom-bar .lwhh-bar-item > svg {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

html body .lwhh-mobile-bottom-bar .lwhh-bar-item > span:not(.lwhh-mobile-cart-badge) {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  height: auto !important;
  margin: 0 !important;
}

/* Category tiles: no link underline */
html body a.lwhh-topic-card,
html body a.lwhh-topic-card * {
  text-decoration: none !important;
}

/* Promo heading: highlighted word was blue on a blue background (invisible) */
html body .lwhh-offer-section h2 .text-lms-red,
html body .lwhh-offer-inner h2 .text-lms-red {
  color: #000000 !important;
  background: var(--lms-cream, #FDF3E1) !important;
  padding: 0 0.18em !important;
  -webkit-text-fill-color: #000000 !important;
}

/* Sorting dropdown: vertical padding was larger than the box, clipping the text */
html body .woocommerce-ordering.woocommerce-ordering.woocommerce-ordering select.orderby.orderby {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: normal !important;
  min-height: 38px !important;
}

/* ==========================================================================
   Responsive tiers: every resolution between phone and wide desktop
   ========================================================================== */

/* Theme labels that were below a readable size */
html body .lwhh-copyright { font-size: 11px !important; }
html body .byte-short-tag,
html body .byte-verified-tag,
html body .byte-crumb-sep { font-size: 11px !important; }

/* Social icon rows wrap instead of running off narrow screens */
html body .lwhh-social-item { flex-shrink: 1 !important; min-width: 0 !important; }
html body .lwhh-social-item:only-child,
html body *:has(> .lwhh-social-item) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  max-width: 100% !important;
}

/* ---- Header: 768px to 1279px - menu must fit next to the icons ---- */
@media (min-width: 768px) and (max-width: 1279px) {
  html body .lwhh-nav-container { gap: 12px !important; }
  html body .lwhh-logo-text { font-size: 1.2rem !important; }
  html body .lwhh-desktop-menu-wrap a {
    padding: 8px 8px !important;
    font-size: 12.5px !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
  }
  html body .lwhh-header-actions { gap: 8px !important; flex-shrink: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  html body .lwhh-header-actions .lwhh-btn-cta { display: none !important; }
}

/* ---- Tablet: 768px to 1023px - compact like the app layout ---- */
@media (min-width: 768px) and (max-width: 1023px) {
  html body {
    --t-gut: 24px;
  }
  html body .lwhh-cream-section,
  html body .lwhh-black-section,
  html body .lwhh-red-section,
  html body .lwhh-topics-section,
  html body .lwhh-offer-section {
    padding: 48px var(--t-gut) !important;
  }
  html body .lwhh-black-giant-watermark { display: none !important; }

  /* Hero: text only, decorative panel removed */
  html body .lwhh-hero-right,
  html body .lwhh-trust-row { display: none !important; }
  html body .lwhh-hero-left { padding: 40px var(--t-gut) 44px !important; }
  html body .lwhh-hero-h1 { font-size: 3.4rem !important; line-height: 1 !important; }

  /* Section header: title left, button right */
  html body .lwhh-sec-header-row {
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-bottom: 20px !important;
    text-align: left !important;
  }

  /* Home product sections: swipe rows showing ~3 cards */
  html body .lwhh-cream-section ul.products.products,
  html body .lwhh-black-section ul.products.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    margin: 0 calc(var(--t-gut) * -1) !important;
    padding: 4px var(--t-gut) 16px !important;
    scroll-padding-left: var(--t-gut) !important;
  }
  html body .lwhh-cream-section ul.products.products::-webkit-scrollbar,
  html body .lwhh-black-section ul.products.products::-webkit-scrollbar { display: none !important; }
  html body .lwhh-cream-section ul.products.products li.product.product,
  html body .lwhh-black-section ul.products.products li.product.product {
    flex: 0 0 calc((100% - 32px) / 3.15) !important;
    width: auto !important;
    scroll-snap-align: start !important;
  }

  /* Shop / related grids: 3 columns */
  html body .ast-woocommerce-container ul.products.products,
  html body section.related ul.products.products,
  html body section.upsells ul.products.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  /* Features + categories: compact grids */
  html body .lwhh-benefits-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  html body .lwhh-benefit-tile { padding: 20px 16px !important; }
  html body .lwhh-topics-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  html body .lwhh-topic-card { padding: 18px 12px !important; min-height: 0 !important; }
  html body .lwhh-topic-desc { display: none !important; }

  /* Shop hero */
  html body .byte-catalog-hero { padding-top: 32px !important; padding-bottom: 24px !important; min-height: 0 !important; }
  html body .byte-topics-pills {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    gap: 8px !important;
  }
  html body .byte-topic-pill { flex: 0 0 auto !important; white-space: nowrap !important; }

  /* Footer: 3 columns */
  html body .lwhh-footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr !important;
    gap: 24px !important;
  }
}

/* ---- Very wide screens: keep content from stretching too far ---- */
@media (min-width: 1700px) {
  html body ul.products.products li.product.product .woocommerce-loop-product__title { max-width: none !important; }
}
/* Small laptops (1024-1279px): 4 product columns instead of 2 huge cards */
@media (min-width: 1024px) and (max-width: 1279px) {
  html body ul.products.products {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

/* Readable minimums for small labels at every size */
html body ul.products.products li.product.product .byte-card-tag { font-size: max(0.72rem, 10.5px) !important; }
html body ul.products.products li.product.product .price del,
html body ul.products.products li.product.product .price del .woocommerce-Price-amount,
html body ul.products.products li.product.product .price del bdi { font-size: max(0.74rem, 10.8px) !important; }
/* Bigger touch area for breadcrumb links on phones and tablets */
@media (max-width: 1023px) {
  html body .byte-crumbs-inner a,
  html body .woocommerce-breadcrumb a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* Section 'view all' buttons stay on one line on tablets */
@media (min-width: 768px) and (max-width: 1023px) {
  html body .lwhh-sec-header-row .btn-lwhh-primary,
  html body .lwhh-sec-header-row .btn-lwhh-black {
    white-space: nowrap !important;
    padding: 12px 16px !important;
    font-size: 0.8rem !important;
    gap: 8px !important;
    width: auto !important;
  }
  html body .lwhh-sec-header-row > div:last-child { flex: 0 0 auto !important; }
}

/* ---------- Contact form (Contact Form 7) ---------- */
html body .wpcf7 .byte-cf-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 20px !important;
}
html body .wpcf7 .byte-cf-grid br { display: none !important; }
html body .wpcf7 .byte-cf-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin: 0 !important;
  font-family: var(--font-mono, 'Space Grotesk', sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #000000 !important;
}
html body .wpcf7 .byte-cf-full { grid-column: 1 / -1 !important; }
html body .wpcf7 .byte-cf-field .wpcf7-form-control-wrap { display: block !important; }
html body .wpcf7 .byte-cf-field input,
html body .wpcf7 .byte-cf-field textarea {
  width: 100% !important;
  min-height: 50px !important;
  padding: 12px 14px !important;
  background: var(--lms-cream, #FDF3E1) !important;
  border: 3px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 0 #000000 !important;
  font-family: var(--font-mono, 'Space Grotesk', sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #000000 !important;
  box-sizing: border-box !important;
}
html body .wpcf7 .byte-cf-field textarea { min-height: 140px !important; resize: vertical !important; }
html body .wpcf7 .byte-cf-field input:focus,
html body .wpcf7 .byte-cf-field textarea:focus {
  outline: none !important;
  background: #FFFFFF !important;
  box-shadow: 4px 4px 0 0 var(--lms-primary, #2563EB) !important;
}
html body .wpcf7 input.byte-cf-submit,
html body .wpcf7 .wpcf7-submit {
  width: 100% !important;
  min-height: 56px !important;
  padding: 14px 20px !important;
  background: var(--lms-primary, #2563EB) !important;
  color: #FFFFFF !important;
  border: 4px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow: 6px 6px 0 0 #000000 !important;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif) !important;
  font-size: 1rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
}
html body .wpcf7 .wpcf7-submit:hover {
  transform: translate(3px, 3px) !important;
  box-shadow: 3px 3px 0 0 #000000 !important;
}
html body .wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #B91C1C !important;
}
html body .wpcf7 form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 12px 14px !important;
  border: 3px solid #000000 !important;
  font-weight: 700 !important;
}
@media (max-width: 600px) {
  html body .wpcf7 .byte-cf-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
/* Page scrolling: the theme set overflow-x:hidden on BOTH html and body, which
   turns body into its own scroll box (breaks phone full-page screenshots and
   sticky elements). html stays visible so the window scrolls normally; body
   clips sideways overflow. Drawer/cart lock (body.style.overflow) still works. */
html:root { overflow: visible !important; max-width: none !important; }
html body { overflow-x: clip !important; max-width: 100% !important; }

/* Cart badges are hidden while the cart is empty */
html body .lwhh-cart-badge.byte-badge-empty,
html body .lwhh-mobile-cart-badge.byte-badge-empty { display: none !important; }
/* Cart sheet title "YOUR CART (2)": the number shares the badge class, so the
   theme positioned it as a floating badge. Keep it inline in the title. */
html body .byte-cart-sheet-title .lwhh-mobile-cart-badge,
html body .byte-cart-sheet-title .lwhh-mobile-cart-badge.byte-badge-empty {
  position: static !important;
  display: inline !important;
  inset: auto !important;
  transform: none !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}
/* ==========================================================================
   Compact header + footer (all sizes)
   ========================================================================== */

/* ---- Header ---- */
html body .lwhh-site-nav { height: auto !important; min-height: 0 !important; }
html body .lwhh-site-nav .lwhh-nav-container {
  height: 64px !important;
  min-height: 64px !important;
  max-width: 1280px !important;
  padding: 0 24px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}
html body .lwhh-logo-brand { gap: 10px !important; }
html body .lwhh-logo-icon {
  width: 34px !important; height: 34px !important; min-width: 34px !important;
  font-size: 18px !important; line-height: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
html body .lwhh-logo-text { font-size: 20px !important; line-height: 1.05 !important; letter-spacing: -0.02em !important; }
html body .lwhh-desktop-menu-wrap a { font-size: 13px !important; padding: 8px 12px !important; letter-spacing: 0.06em !important; }
html body .lwhh-header-actions { gap: 10px !important; }
html body .lwhh-header-actions .lwhh-icon-btn { width: 40px !important; height: 40px !important; min-width: 40px !important; max-width: 40px !important; }
html body .lwhh-header-actions .lwhh-icon-btn svg { width: 18px !important; height: 18px !important; }
html body .lwhh-header-actions .lwhh-btn-cta {
  padding: 9px 16px !important; font-size: 12.5px !important; line-height: 1.1 !important;
  align-items: center !important;
}
@media (min-width: 768px) and (max-width: 1279px) {
  html body .lwhh-site-nav .lwhh-nav-container { height: 60px !important; min-height: 60px !important; padding: 0 20px !important; }
  html body .lwhh-logo-text { font-size: 18px !important; }
  html body .lwhh-desktop-menu-wrap a { font-size: 12px !important; padding: 8px 8px !important; }
}
@media (max-width: 767px) {
  html body .lwhh-site-nav { padding: 0 !important; }
  html body .lwhh-site-nav .lwhh-nav-container { height: 52px !important; min-height: 52px !important; padding: 0 12px !important; }
  html body .lwhh-logo-icon { width: 28px !important; height: 28px !important; min-width: 28px !important; font-size: 15px !important; }
  html body .lwhh-logo-text { font-size: 15px !important; }
  html body .lwhh-logo-brand { gap: 8px !important; }
  html body .lwhh-header-actions { gap: 6px !important; }
  html body .lwhh-header-actions .lwhh-icon-btn { width: 36px !important; height: 36px !important; min-width: 36px !important; max-width: 36px !important; box-shadow: 2px 2px 0 0 #000000 !important; }
  html body .lwhh-header-actions .lwhh-icon-btn svg { width: 17px !important; height: 17px !important; }
}

/* ---- Footer ---- */
html body .lwhh-site-footer { padding: 44px 24px 24px !important; }
html body .lwhh-footer-inner { max-width: 1280px !important; margin: 0 auto !important; }
html body .lwhh-footer-grid { gap: 32px 48px !important; }
html body .lwhh-footer-logo { font-size: 22px !important; margin: 0 0 14px !important; gap: 10px !important; }
html body .lwhh-footer-logo .lwhh-logo-icon { width: 30px !important; height: 30px !important; min-width: 30px !important; font-size: 16px !important; }
html body .lwhh-footer-motto { font-size: 14px !important; line-height: 1.5 !important; max-width: 380px !important; margin: 0 !important; padding-left: 14px !important; }
html body .lwhh-footer-title { font-size: 12.5px !important; margin: 0 0 12px !important; padding-bottom: 4px !important; }
html body .lwhh-footer-links li { margin: 0 0 7px !important; line-height: 1.3 !important; }
html body .lwhh-footer-links a { font-size: 13.5px !important; }
html body .lwhh-footer-bottom { padding-top: 16px !important; margin-top: 28px !important; gap: 10px !important; }
html body .lwhh-copyright { font-size: 12px !important; margin: 0 !important; }
html body .lwhh-footer-bottom .lwhh-badge-pill { padding: 5px 12px !important; font-size: 11px !important; }
@media (max-width: 767px) {
  html body .lwhh-site-footer { padding: 24px 12px 16px !important; }
  html body .lwhh-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 16px !important; }
  html body .lwhh-footer-col-main { grid-column: 1 / -1 !important; }
  html body .lwhh-footer-logo { font-size: 17px !important; margin: 0 0 8px !important; }
  html body .lwhh-footer-logo .lwhh-logo-icon { width: 26px !important; height: 26px !important; min-width: 26px !important; font-size: 14px !important; }
  html body .lwhh-footer-motto { font-size: 12.5px !important; padding-left: 10px !important; border-left-width: 3px !important; }
  html body .lwhh-footer-title { font-size: 11.5px !important; margin: 0 0 8px !important; }
  html body .lwhh-footer-links li { margin: 0 0 4px !important; }
  html body .lwhh-footer-links a { font-size: 12.5px !important; display: inline-block !important; padding: 4px 0 !important; }
  html body .lwhh-footer-bottom { margin-top: 16px !important; padding-top: 12px !important; }
  html body .lwhh-copyright { font-size: 11px !important; }
}

/* ==========================================================================
   Mobile bottom tab bar: slimmer, cleaner icons, line indicator for the page
   ========================================================================== */
@media (max-width: 767px) {
  html body .lwhh-mobile-bottom-bar {
    height: calc(56px + env(safe-area-inset-bottom, 0px)) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    border-top: 3px solid #000000 !important;
    background: #FFFFFF !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item {
    position: relative !important;
    height: 56px !important;
    gap: 3px !important;
    background: transparent !important;
    color: #111111 !important;
    -webkit-tap-highlight-color: transparent;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item > svg {
    width: 21px !important; height: 21px !important;
    stroke: currentColor !important; stroke-width: 2.2 !important; fill: none !important;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item > span:not(.lwhh-mobile-cart-badge) {
    font-size: 10px !important; font-weight: 800 !important; letter-spacing: 0.04em !important; line-height: 1 !important;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item.active { color: var(--lms-primary, #2563EB) !important; background: #F1F6FF !important; }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item.active svg { stroke: var(--lms-primary, #2563EB) !important; }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item.active::before {
    content: "" !important; position: absolute !important; top: 0 !important; left: 50% !important;
    width: 32px !important; height: 3px !important; margin-left: -16px !important;
    background: var(--lms-primary, #2563EB) !important;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-bar-item:active { transform: scale(0.94) !important; }
  html body .lwhh-mobile-bottom-bar .lwhh-mobile-cart-badge {
    top: 6px !important; right: calc(50% - 21px) !important;
    min-width: 17px !important; height: 17px !important; padding: 0 4px !important;
    font-size: 10px !important; line-height: 13px !important;
    border: 2px solid #FFFFFF !important; border-radius: 9px !important;
    background: var(--lms-primary, #2563EB) !important; box-shadow: none !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
  }
  html body .lwhh-mobile-bottom-bar .lwhh-mobile-cart-badge.byte-badge-empty { display: none !important; }
  html body { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important; }
  html body .byte-sticky-atc { bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* Header CTA only from 1200px up (no room on smaller screens) */
@media (max-width: 1199px) {
  html body .lwhh-header-actions .lwhh-btn-cta { display: none !important; }
}
html body .lwhh-logo-text { white-space: nowrap !important; }

html body .lwhh-footer-grid { margin: 0 !important; }
@media (max-width: 767px) {
  html body .lwhh-footer-links a { padding: 3px 0 !important; }
  html body .lwhh-footer-links li { margin: 0 0 2px !important; }
  html body .lwhh-footer-bottom { flex-direction: row !important; align-items: center !important; justify-content: space-between !important; }
  html body .lwhh-footer-bottom .lwhh-badge-pill { display: none !important; }
  html body .lwhh-footer-motto { display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
}
/* ==========================================================================
   The page ends at the footer: no white strip below it
   ========================================================================== */
html body { padding-bottom: 0 !important; margin-bottom: 0 !important; }
html body #page.site {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}
html body #page.site > .site-content { flex: 1 0 auto !important; }
html body #page.site > .lwhh-site-footer { flex-shrink: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 767px) {
  /* room for the fixed tab bar lives inside the footer (same background) */
  html body .lwhh-site-footer { padding-bottom: calc(16px + 56px + env(safe-area-inset-bottom, 0px)) !important; }
  html body { padding-bottom: 0 !important; }
  /* checkout has no tab bar */
  html body.woocommerce-checkout .lwhh-site-footer { padding-bottom: 16px !important; }
}
/* ==========================================================================
   Cart sheet (bottom-bar Cart): 3 items visible, list scrolls, subtotal and
   buttons always pinned at the bottom
   ========================================================================== */
html body #byteCartSheetBody.byte-cart-sheet-body {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  min-height: 0 !important;
  padding-bottom: 12px !important;
}
html body #byteCartSheetBody .byte-cart-items-list {
  flex: 0 1 auto !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 2px 6px 8px 2px !important;
  margin: 0 -6px 0 0 !important;
  scrollbar-width: thin;
}
html body #byteCartSheetBody .byte-cart-sheet-item { flex-shrink: 0 !important; }
html body #byteCartSheetBody .byte-cart-sheet-footer {
  flex: 0 0 auto !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 3px solid #000000 !important;
  background: #FFFFFF !important;
}
@media (max-height: 640px) {
  html body #byteCartSheetBody .byte-cart-items-list { max-height: 200px !important; }
}
/* ==========================================================================
   Shop filter bar (price ranges + clear) above the product grid
   ========================================================================== */
html body .byte-filters {
  clear: both;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 18px;
  padding: 12px 14px;
  background: #FFFFFF;
  border: 3px solid #000000;
  box-shadow: 4px 4px 0 0 #000000;
}
html body .byte-filters__label {
  flex: 0 0 auto;
  font-family: var(--font-display, "Bricolage Grotesque", sans-serif);
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html body .byte-filters__chips { display: flex; gap: 8px; flex-wrap: wrap; flex: 1 1 auto; min-width: 0; }
html body .byte-filters a.byte-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  font-family: var(--font-mono, "Space Grotesk", sans-serif);
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.1;
  color: #000000;
  background: #FFF4E0;
  border: 2px solid #000000;
  box-shadow: 2px 2px 0 0 #000000;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .1s ease, box-shadow .1s ease;
}
html body .byte-filters a.byte-chip:hover { transform: translate(1px, 1px); box-shadow: 1px 1px 0 0 #000000; }
html body .byte-filters a.byte-chip.is-active { background: #2563EB; color: #FFFFFF; }
html body .byte-filters a.byte-filters__clear {
  flex: 0 0 auto;
  font-family: var(--font-mono, "Space Grotesk", sans-serif);
  font-size: 0.8rem;
  font-weight: 800;
  color: #B91C1C;
  text-decoration: underline;
}
@media (max-width: 767px) {
  html body .byte-filters { flex-wrap: nowrap; gap: 10px; padding: 8px 0 8px 10px; margin: 0 0 12px; box-shadow: 3px 3px 0 0 #000000; }
  html body .byte-filters__label { font-size: 0.75rem; }
  html body .byte-filters__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-right: 10px; }
  html body .byte-filters__chips::-webkit-scrollbar { display: none; }
  html body .byte-filters a.byte-chip { padding: 6px 10px; font-size: 0.75rem; }
  html body .byte-filters a.byte-filters__clear { padding-right: 10px; font-size: 0.75rem; }
}
/* Site ends at the footer: footer already reserves space for the bottom tab bar */
html body, html body.ast-header-break-point { padding-bottom: 0 !important; margin-bottom: 0 !important; }
@media (max-width: 1023px) {
  html body #ast-scroll-top { bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important; right: 14px !important; }
}
/* ==========================================================================
   v3 mobile tab bar (Home, Blog, Shop, Cart) + roomier mobile header
   ========================================================================== */
@media (max-width: 1023px) {
  html body .lwhh-mobile-bottom-bar.byte-tabbar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    height: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
    padding: 0 6px env(safe-area-inset-bottom, 0px) !important;
    background: #FFFFFF !important;
    border-top: 3px solid #000000 !important;
    box-shadow: 0 -4px 0 0 rgba(0, 0, 0, 0.06) !important;
    gap: 0 !important;
  }
  html body .byte-tabbar .lwhh-bar-item {
    height: 68px !important;
    gap: 5px !important;
    color: #111111 !important;
    background: transparent !important;
    text-decoration: none !important;
  }
  html body .byte-tabbar .lwhh-bar-item::before { display: none !important; }
  html body .byte-tabbar .byte-tab-icon {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 32px;
    border: 2px solid transparent;
    transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
  }
  html body .byte-tabbar .byte-tab-icon > svg { width: 23px !important; height: 23px !important; stroke: currentColor !important; fill: none !important; }
  html body .byte-tabbar .byte-tab-label { font-size: 11px !important; font-weight: 800 !important; letter-spacing: .05em !important; line-height: 1 !important; }
  html body .byte-tabbar .lwhh-bar-item.active { color: #2563EB !important; background: transparent !important; }
  html body .byte-tabbar .lwhh-bar-item.active .byte-tab-icon {
    background: #2563EB; border-color: #000000; box-shadow: 3px 3px 0 0 #000000; color: #FFFFFF;
  }
  html body .byte-tabbar .lwhh-bar-item.active .byte-tab-label { color: #000000 !important; }
  html body .byte-tabbar .lwhh-bar-item:active .byte-tab-icon { transform: translate(2px, 2px); box-shadow: 1px 1px 0 0 #000000; }
  html body .byte-tabbar .lwhh-mobile-cart-badge {
    position: absolute !important; top: -7px !important; right: -2px !important; left: auto !important;
    min-width: 19px !important; height: 19px !important; padding: 0 5px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    background: #2563EB !important; color: #FFFFFF !important; border: 2px solid #000000 !important; border-radius: 0 !important;
    font-size: 10px !important; font-weight: 900 !important; line-height: 1 !important; box-shadow: none !important;
  }
  html body .byte-tabbar .lwhh-bar-item.active .lwhh-mobile-cart-badge { background: #000000 !important; border-color: #FFFFFF !important; }
  html body .byte-tabbar .lwhh-mobile-cart-badge.byte-badge-empty { display: none !important; }
  /* footer and scroll-top button clear the taller bar */
  html body .lwhh-site-footer { padding-bottom: calc(20px + 68px + env(safe-area-inset-bottom, 0px)) !important; }
  html body #ast-scroll-top { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
}

@media (max-width: 767px) {
  html body .lwhh-site-nav .lwhh-nav-container { height: 62px !important; min-height: 62px !important; padding: 0 16px !important; }
  html body .lwhh-site-nav .lwhh-logo-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; font-size: 18px !important; }
  html body .lwhh-site-nav .lwhh-logo-text { font-size: 18px !important; }
  html body .lwhh-site-nav .lwhh-logo-brand { gap: 10px !important; }
  html body .lwhh-header-actions { gap: 8px !important; }
  html body .lwhh-header-actions .lwhh-icon-btn { width: 40px !important; height: 40px !important; min-width: 40px !important; max-width: 40px !important; box-shadow: 3px 3px 0 0 #000000 !important; }
  html body .lwhh-header-actions .lwhh-icon-btn svg { width: 19px !important; height: 19px !important; }
}
@media (max-width: 359px) {
  html body .lwhh-site-nav .lwhh-logo-text { font-size: 16px !important; }
  html body .lwhh-header-actions .lwhh-icon-btn { width: 36px !important; height: 36px !important; min-width: 36px !important; max-width: 36px !important; }
}
@media (max-width: 1023px) {
  html body .byte-tabbar .lwhh-bar-item.active .byte-tab-icon > svg { stroke: #FFFFFF !important; color: #FFFFFF !important; }
}

/* Mobile header: every icon button the same 44px tap target */
@media (min-width: 360px) and (max-width: 767px) {
  html body .lwhh-header-actions .lwhh-icon-btn, html body .lwhh-header-actions .lwhh-icon-btn.js-search-trigger { width: 44px !important; height: 44px !important; min-width: 44px !important; max-width: 44px !important; }
  html body .lwhh-header-actions .lwhh-icon-btn svg { width: 20px !important; height: 20px !important; }
}
