/** Shopify CDN: Minification failed

Line 913:0 Unexpected "}"

**/
/* =========================================================
   RALPH — Comprehensive Mobile Responsive Layer
   Fixes every page + component for small screens
   Loaded LAST so it wins the cascade on mobile
   ========================================================= */

/* ========================================================= */
/* 1. GLOBAL FOUNDATIONS                                     */
/* ========================================================= */

html, body {
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* prevent all form inputs from causing iOS zoom on focus */
@media (max-width: 767.98px) {
  html body input[type="text"],
  html body input[type="email"],
  html body input[type="tel"],
  html body input[type="number"],
  html body input[type="password"],
  html body input[type="search"],
  html body input[type="url"],
  html body input[type="date"],
  html body textarea,
  html body select {
    font-size: 16px !important;
  }
}

/* stop any element from overflowing the viewport */
@media (max-width: 767.98px) {
  html body img,
  html body video,
  html body iframe,
  html body picture,
  html body svg { max-width: 100%; height: auto; }
  html body .container,
  html body .container-fluid,
  html body .container-full { max-width: 100% !important; overflow: hidden; }
  html body [class*="col-"] { max-width: 100%; }
  html body table { display: block; max-width: 100%; overflow-x: auto; }
}

/* ========================================================= */
/* 2. HEADER — mobile floating pill (fully responsive)       */
/* ========================================================= */

/* desktop pill: hide below lg (<992px) so tablet uses mobile header too */
@media (max-width: 991.98px) {
  html body .site-header .header-center,
  html body .site-header .header-center.d-md-block { display: none !important; }

  /* force mobile header to show from 0 → 991px (theme default only ≤767px) */
  html body .header-mobile,
  html body .header-mobile.d-md-none {
    display: block !important;
    position: relative;
    z-index: 50;
    margin: 12px 12px 0 !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #f4f4f6 0%, #e8e8ec 100%) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid rgba(14,14,20,0.08) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.95) inset,
      0 -1px 0 rgba(14,14,20,0.06) inset,
      0 10px 26px -10px rgba(16, 24, 40, 0.22),
      0 2px 6px -2px rgba(16, 24, 40, 0.1) !important;
    overflow: hidden !important;
    isolation: isolate;
  }

  /* glossy bubble highlight on top — Apple liquid-glass sheen */
  html body .header-mobile::before,
  html body .header-mobile.d-md-none::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 62% !important;
    border-radius: 999px 999px 50% 50% / 999px 999px 100% 100% !important;
    background: linear-gradient(180deg,
                rgba(255,255,255,0.9) 0%,
                rgba(255,255,255,0.55) 35%,
                rgba(255,255,255,0.15) 65%,
                rgba(255,255,255,0) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    opacity: .85;
  }
  /* bottom rim soft shadow for depth */
  html body .header-mobile::after,
  html body .header-mobile.d-md-none::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,1),
      inset 0 -1px 0 rgba(14,14,20,0.08) !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }
  html body .header-mobile .header-mobile-content,
  html body .header-mobile .row { position: relative; z-index: 3 !important; }

  html body .header-mobile .header-mobile-content {
    position: relative;
    min-height: 58px;
    padding: 0 !important;
  }
  html body .header-mobile .row {
    min-height: 58px;
    align-items: center !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
  }
  html body .header-mobile .row > [class*="col-"] {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  /* LEFT — hamburger + search */
  html body .header-mobile .col-3:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px;
  }
  html body .header-mobile #show-megamenu,
  html body .header-mobile .mobile-btn_search,
  html body .header-mobile .item-mobile-top {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 0 !important;
    color: #0b0b0f !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }
  /* hamburger — premium 3-line icon that morphs to X on open */
  html body .header-mobile #show-megamenu {
    position: relative !important;
  }
  html body .header-mobile #show-megamenu .icon-directional {
    position: relative !important;
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: #0b0b0f !important;
    border-radius: 2px !important;
    box-shadow: 0 -7px 0 #0b0b0f, 0 7px 0 #0b0b0f !important;
    margin: 0 auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    transition: background .3s cubic-bezier(.22,.61,.36,1),
                box-shadow .3s cubic-bezier(.22,.61,.36,1),
                transform .35s cubic-bezier(.22,.61,.36,1) !important;
  }
  /* morph to X when the drawer is open */
  html body .header-mobile #show-megamenu.act .icon-directional,
  html body .header-mobile #show-megamenu.active .icon-directional {
    background: transparent !important;
    box-shadow:
      0 0 0 #0b0b0f,
      0 0 0 #0b0b0f !important;
  }
  html body .header-mobile #show-megamenu.act .icon-directional::before,
  html body .header-mobile #show-megamenu.active .icon-directional::before,
  html body .header-mobile #show-megamenu.act .icon-directional::after,
  html body .header-mobile #show-megamenu.active .icon-directional::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    height: 2px;
    background: #0b0b0f;
    border-radius: 2px;
  }
  html body .header-mobile #show-megamenu.act .icon-directional::before,
  html body .header-mobile #show-megamenu.active .icon-directional::before { transform: translateY(-50%) rotate(45deg); }
  html body .header-mobile #show-megamenu.act .icon-directional::after,
  html body .header-mobile #show-megamenu.active .icon-directional::after { transform: translateY(-50%) rotate(-45deg); }
  html body .header-mobile .mobile-btn_search svg,
  html body .header-mobile .mobile-btn_search i {
    width: 20px !important;
    height: 20px !important;
    font-size: 18px !important;
    color: #0b0b0f !important;
    stroke: #0b0b0f !important;
  }
  html body .header-mobile .mobile-btn_search .zmdi-close { display: none; }

  /* mobile inline search dropdown — positioned below the pill */
  html body .header-mobile #mobile_search {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    padding: 14px 16px !important;
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    border-radius: 22px !important;
    border: 1px solid rgba(14,14,20,0.08);
    box-shadow: 0 20px 50px -20px rgba(16,24,40,0.25);
    z-index: 60;
  }

  /* CENTER — logo */
  html body .header-mobile .mobile_logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
    padding: 0 6px !important;
  }
  html body .header-mobile .mobile_logo a {
    display: inline-flex !important;
    align-items: center;
    max-width: 100%;
    color: #0b0b0f !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  html body .header-mobile .mobile_logo img {
    max-height: 40px !important;
    width: auto !important;
    object-fit: contain;
    margin: 0 auto;
  }

  /* RIGHT — cart + optional vertical toggle */
  html body .header-mobile .mobile_cart {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 2px;
  }
  html body .header-mobile .mobile_cart .cart_canvas,
  html body .header-mobile .mobile_cart .header-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  html body .header-mobile .mobile_cart .site-header__cart {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    flex-shrink: 0;
  }
  html body .header-mobile .mobile_cart .site-header__cart-icon i,
  html body .header-mobile .mobile_cart .site-header__cart i {
    font-size: 20px !important;
    color: #0b0b0f !important;
    line-height: 1;
  }
  html body .header-mobile .mobile_cart .cart-count {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 9px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: linear-gradient(160deg, #d4af7a, #b08d57 60%, #8c6a3a) !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    box-shadow: 0 3px 8px -2px rgba(176,141,87,0.55);
  }
  html body .header-mobile .btn-vertical {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #0b0b0f !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 18px !important;
  }
}

/* mobile sticky header clone — matches mobile pill */
@media (max-width: 991.98px) {
  html body #header-sticky {
    left: 10px !important;
    right: 10px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
  }
  html body #header-sticky .bl_content { min-height: 58px; padding: 0 !important; }
}

/* ---------- MOBILE MENU DRAWER + CLOSE BUTTON ---------- */
html body #mobile_menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 84% !important;
  max-width: 360px !important;
  height: 100vh !important;
  background: linear-gradient(180deg, #f2f2f5 0%, #eaeaee 50%, #e2e2e8 100%) !important;
  z-index: 1070 !important;
  overflow-y: auto !important;
  padding: 72px 26px 40px !important;
  transform: translateX(-100%);
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
  box-shadow: 20px 0 60px -14px rgba(14,14,20,0.35) !important;
  border-right: 1px solid rgba(14,14,20,0.08);
  -webkit-overflow-scrolling: touch;
}
html body #mobile_menu.act { transform: translateX(0) !important; }

/* delicate champagne gold accent strip down the right edge of the drawer */
html body #mobile_menu::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(180deg,
              rgba(212,175,122,0) 0%,
              rgba(212,175,122,0.55) 40%,
              rgba(176,141,87,0.55) 60%,
              rgba(212,175,122,0) 100%);
  pointer-events: none;
}
/* soft top-right radial glow */
html body #mobile_menu::after {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 220px;
  background: radial-gradient(600px 220px at 50% 0%, rgba(212,175,122,0.14), transparent 70%);
  pointer-events: none;
}
html body #mobile_menu > * { position: relative; z-index: 1; }

/* editorial eyebrow label at the top */
html body #mobile_menu .canvas-menu::before {
  content: "MENU";
  display: block;
  margin-bottom: 18px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: #7a7a83;
  text-align: left;
}

/* close X button — elegant chip at top-right of drawer */
html body #mobile_menu .mobile_menu__close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid rgba(14,14,20,0.12) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #0b0b0f !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px -8px rgba(14,14,20,0.22),
              inset 0 1px 0 rgba(255,255,255,0.95) !important;
  z-index: 10;
  transition: background .3s cubic-bezier(.22,.61,.36,1),
              color .3s cubic-bezier(.22,.61,.36,1),
              transform .3s cubic-bezier(.22,.61,.36,1) !important;
}
html body #mobile_menu .mobile_menu__close svg { width: 16px; height: 16px; stroke-width: 2; }
html body #mobile_menu .mobile_menu__close:hover,
html body #mobile_menu .mobile_menu__close:active {
  background: #0b0b0f !important;
  color: #ffffff !important;
  border-color: #0b0b0f !important;
  transform: scale(1.05);
}

/* sidebar overlay — proper backdrop, clickable to close */
html body .sidebar-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(14,14,20,0.5) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1060 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s cubic-bezier(.22,.61,.36,1),
              visibility 0s .4s;
  pointer-events: none;
}
html body .sidebar-overlay.act {
  opacity: 1 !important;
  visibility: visible !important;
  transition-delay: 0s !important;
  pointer-events: auto !important;
}

/* inside the drawer: restyle menu items */
html body #mobile_menu .canvas-menu {
  list-style: none;
  padding: 0 !important;
  margin: 0 !important;
}
html body #mobile_menu .canvas-menu ul,
html body #mobile_menu .canvas-menu .mobile-menu,
html body #mobile_menu ul.mobile-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #mobile_menu .canvas-menu li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(14,14,20,0.07);
}
html body #mobile_menu .canvas-menu li:last-child { border-bottom: 0; }
html body #mobile_menu .canvas-menu a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 2px !important;
  color: #0b0b0f !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: color .35s cubic-bezier(.22,.61,.36,1),
              padding .35s cubic-bezier(.22,.61,.36,1) !important;
  position: relative;
}
html body #mobile_menu .canvas-menu a::after {
  content: "→";
  font-family: Georgia, serif;
  font-size: 15px;
  color: #c4c4cc;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .35s cubic-bezier(.22,.61,.36,1),
              transform .35s cubic-bezier(.22,.61,.36,1),
              color .35s cubic-bezier(.22,.61,.36,1);
}
html body #mobile_menu .canvas-menu a:hover,
html body #mobile_menu .canvas-menu a:active {
  color: #b08d57 !important;
  padding-left: 6px !important;
}
html body #mobile_menu .canvas-menu a:hover::after,
html body #mobile_menu .canvas-menu a:active::after {
  opacity: 1;
  transform: translateX(0);
  color: #b08d57;
}
/* nested submenu (if any) */
html body #mobile_menu .canvas-menu .sub-menu,
html body #mobile_menu .canvas-menu ul ul {
  padding-left: 14px !important;
  margin: 4px 0 10px !important;
  border-left: 1px solid rgba(14,14,20,0.08);
}
html body #mobile_menu .canvas-menu .sub-menu a,
html body #mobile_menu .canvas-menu ul ul a {
  font-size: 13px !important;
  font-family: inherit !important;
  font-weight: 500 !important;
  padding: 8px 0 8px 10px !important;
  color: #3a3a44 !important;
  border: 0 !important;
}

/* inline search form inside drawer */
html body #mobile_menu .search-header-inline {
  margin: 0 0 20px !important;
}
html body #mobile_menu .search-header__content {
  position: relative !important;
  background: #f5f4f0 !important;
  border: 1px solid rgba(14,14,20,0.08) !important;
  border-radius: 999px !important;
  padding: 0 !important;
  height: 46px;
  display: flex;
  align-items: center;
}
html body #mobile_menu .search-header__content .icon {
  position: absolute !important;
  left: 18px;
  color: #0b0b0f !important;
  pointer-events: none;
}
html body #mobile_menu .search-header__input {
  width: 100% !important;
  height: 46px !important;
  padding: 0 80px 0 48px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 16px !important;
  color: #0b0b0f !important;
  outline: 0 !important;
}
html body #mobile_menu .search-header__submit {
  position: absolute !important;
  right: 4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 10px !important;
  min-height: 38px !important;
  border-radius: 999px !important;
}

/* drawer bottom section */
html body #mobile_menu .mobile_bottom { padding: 20px 0; margin-top: 20px; border-top: 1px solid rgba(14,14,20,0.08); }
html body #mobile_menu .mobile_contact,
html body #mobile_menu .mobile_email { font-size: 13px; color: #3a3a44; padding: 4px 0; }
html body #mobile_menu .nov-social,
html body #mobile_menu .social-icons { display: flex; gap: 10px; margin-top: 14px !important; }
html body #mobile_menu .nov-social a {
  width: 36px !important;
  height: 36px !important;
  background: #f5f4f0 !important;
  border: 1px solid rgba(14,14,20,0.08) !important;
  color: #0b0b0f !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50% !important;
  text-decoration: none !important;
}

/* lock body scroll when drawer or overlay is open */
html body.menu-open,
html:has(#mobile_menu.act) body { overflow: hidden !important; }

/* extra tuning for small phones */
@media (max-width: 480px) {
  html body .header-mobile { margin: 0 8px !important; padding: 0 12px !important; }
  html body .header-mobile .row > [class*="col-"] { padding-left: 2px !important; padding-right: 2px !important; }
  html body .header-mobile .item-mobile-top,
  html body .header-mobile #show-megamenu,
  html body .header-mobile .mobile-btn_search,
  html body .header-mobile .mobile_cart .site-header__cart { width: 38px !important; height: 38px !important; min-width: 38px !important; }
  html body .header-mobile .mobile_logo a { font-size: 13px !important; }
  html body .header-mobile .mobile_logo img { max-height: 34px !important; }
}

/* ========================================================= */
/* 3. HERO VIDEO SECTION                                     */
/* ========================================================= */

@media (max-width: 767.98px) {
  html body #shopify-section-nov_video_pxDiYL .distance,
  html body [id^="shopify-section-nov_video"] .distance {
    padding: 12px 12px 0 !important;
  }
  html body #shopify-section-nov_video_pxDiYL .item.youtube,
  html body [id^="shopify-section-nov_video"] .item.youtube {
    height: 76vh;
    min-height: 500px;
    max-height: 720px;
    border-radius: 18px;
  }
  html body #shopify-section-nov_video_pxDiYL .block-text,
  html body [id^="shopify-section-nov_video"] .block-text { padding: 28px 20px !important; }
  html body #shopify-section-nov_video_pxDiYL .block-text .text,
  html body [id^="shopify-section-nov_video"] .block-text .text {
    font-size: clamp(26px, 8vw, 42px) !important;
    line-height: 1.1 !important;
  }
  html body #shopify-section-nov_video_pxDiYL .block-text .btn,
  html body [id^="shopify-section-nov_video"] .block-text .btn {
    padding: 14px 28px !important;
    min-height: 48px !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }
  html body #shopify-section-nov_video_pxDiYL .btn-video__play,
  html body [id^="shopify-section-nov_video"] .btn-video__play {
    width: 60px !important;
    height: 60px !important;
    font-size: 18px !important;
  }
  html body #shopify-section-nov_video_pxDiYL .item.youtube .block-text::after { display: none; }
}

/* ========================================================= */
/* 4. PRODUCT CARDS                                          */
/* ========================================================= */

@media (max-width: 767.98px) {
  /* full card — tighter padding, no fixed min-height */
  html body .item-product {
    padding: 8px 8px 12px !important;
    min-height: 0 !important;
    border-right: 1px solid rgba(14,14,20,0.08) !important;
    border-bottom: 1px solid rgba(14,14,20,0.08) !important;
  }
  /* IMAGE — bigger, less inner padding so the picture fills the box */
  html body .item-product .thumbnail-container,
  html body .item-product .product-top {
    margin: 0 !important;
    border-radius: 8px !important;
    background: #f5f4f0 !important;
  }
  html body .item-product .product__thumbnail,
  html body .item-product .product__thumbnail-second {
    padding: 6% !important;
    object-fit: contain !important;
  }
  /* INFO area — tight, no reserved extra height */
  html body .item-product .product__info {
    padding: 10px 2px 0 !important;
    min-height: 0 !important;
    gap: 4px !important;
  }
  html body .item-product .product__meta-type {
    font-size: 9px !important;
    letter-spacing: .14em !important;
    margin: 0 0 2px !important;
  }
  html body .item-product .product__title { min-height: 0 !important; }
  html body .item-product .product__title a,
  html body .item-product .product__title a span {
    font-size: 12px !important;
    line-height: 1.3 !important;
    letter-spacing: .02em !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    min-height: calc(1.3em * 2) !important;
  }
  html body .item-product .jdgm-prev-badge { margin: 2px 0 !important; }
  html body .item-product .jdgm-prev-badge__stars { font-size: 11px !important; }
  html body .item-product .jdgm-prev-badge__text { font-size: 10px !important; }

  /* price + ATC inline on one row */
  html body .item-product .price-box {
    margin: 6px 0 0 !important;
    padding-top: 6px !important;
    gap: 6px !important;
  }
  html body .item-product .price-regular,
  html body .item-product .price-sale { font-size: 13px !important; }
  html body .item-product .old-price { font-size: 10px !important; }
  html body .item-product .product__atc {
    padding: 7px 11px !important;
    font-size: 8px !important;
    letter-spacing: .08em !important;
    min-height: 28px !important;
  }
  html body .item-product .product__atc-arrow svg { width: 10px; height: 10px; }

  /* wishlist + quickview heart — smaller, always visible, top-right */
  html body .item-product .button--top {
    top: 8px !important;
    right: 8px !important;
    opacity: 1 !important;
    transform: none !important;
  }
  html body .item-product .button--top a,
  html body .item-product .btnProductWishlist,
  html body .item-product .btnProductQuickview { width: 28px !important; height: 28px !important; }
  html body .item-product .button--top i { font-size: 16px !important; }

  /* badge top-left plain text */
  html body .item-product .product--badge {
    top: 8px !important;
    left: 8px !important;
    right: 44px !important;
  }
  html body .item-product .product--badge .badge {
    font-size: 9px !important;
    background: transparent !important;
    padding: 0 !important;
    letter-spacing: .04em !important;
  }
}

@media (max-width: 575.98px) {
  html body .item-product { padding: 6px 6px 10px !important; }
  html body .item-product .product__title a,
  html body .item-product .product__title a span { font-size: 11px !important; }
  html body .item-product .price-regular,
  html body .item-product .price-sale { font-size: 12px !important; }
  html body .item-product .product__atc { padding: 6px 9px !important; font-size: 7px !important; }
}

/* product grids — 2 columns on small phones, proper gutters */
@media (max-width: 767.98px) {
  html body .collection__product-content .row,
  html body .grid--view-items { margin-left: -6px !important; margin-right: -6px !important; }
  html body .collection__product-content .row > [class*="col-"],
  html body .grid--view-items > [class*="col-"] {
    padding-left: 6px !important;
    padding-right: 6px !important;
    margin-bottom: 12px !important;
  }
}
@media (max-width: 575.98px) {
  html body .collection__product-content .row > .col-6,
  html body .collection__product-content .row > .col-xs-6,
  html body .grid--view-items > .col-6 { flex: 0 0 50% !important; max-width: 50% !important; }
}

/* ========================================================= */
/* 5. COLLECTION / SHOP PAGE                                 */
/* ========================================================= */

@media (max-width: 991.98px) {
  /* top tag row */
  html body .collection__tags-top { margin: 0 10px 20px !important; padding: 0 !important; }
  html body .collection__tags-list { padding: 5px !important; gap: 4px !important; }
  html body .collection__tags-list a { padding: 8px 14px !important; font-size: 10px !important; letter-spacing: .1em !important; }
  html body .collection__tags-eyebrow { margin-bottom: 10px; font-size: 9px; letter-spacing: .22em; }

  /* sidebar canvas */
  html body .sidebar-filter__content { padding: 20px 16px !important; border-radius: 18px !important; }
  html body .sidebar-filter__btn-close { top: 10px !important; right: 10px !important; width: 36px !important; height: 36px !important; }

  /* toolbar */
  html body .toolbar-products,
  html body .collection__top-tools {
    padding: 10px 14px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap;
    gap: 10px;
  }

  /* filter button on collection page */
  html body .filter_button.collection-heading {
    width: 100%;
    justify-content: center;
    padding: 12px 18px !important;
    background: #ffffff;
    border: 1px solid rgba(14,14,20,0.1);
    border-radius: 999px;
    font-size: 11px !important;
    letter-spacing: .14em !important;
    margin-bottom: 16px !important;
  }

  /* ==========================================================
     MOBILE FILTER DRAWER — slide-in from left, above overlay
     ========================================================== */
  html body .sidebar-filter[data-act="FilterSidebar"] {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 90% !important;
    max-width: 360px !important;
    height: 100vh !important;
    background: #ffffff !important;
    z-index: 1200 !important;           /* above .sidebar-overlay (1050) */
    overflow-y: auto !important;
    padding: 64px 18px 28px !important;
    transform: translateX(-100%);
    transition: transform .45s cubic-bezier(.22,.61,.36,1);
    box-shadow: 20px 0 60px -16px rgba(14,14,20,0.35) !important;
    border-right: 1px solid rgba(14,14,20,0.08);
    -webkit-overflow-scrolling: touch;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"].act {
    transform: translateX(0) !important;
  }

  /* inner wrapper — no extra card padding since drawer already has it */
  html body .sidebar-filter[data-act="FilterSidebar"] .sidebar-filter__content {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    backdrop-filter: none !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"] .sidebar-filter__content::before {
    display: none !important;
  }

  /* close X — proper position above everything */
  html body .sidebar-filter[data-act="FilterSidebar"] .sidebar-filter__btn-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(14,14,20,0.12) !important;
    border-radius: 50% !important;
    box-shadow: 0 8px 18px -6px rgba(14,14,20,0.22) !important;
    color: #0b0b0f !important;
    z-index: 5 !important;
    cursor: pointer !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"] .sidebar-filter__btn-close i {
    font-size: 16px !important;
    color: #0b0b0f !important;
  }

  /* force overlay to stay BELOW the filter drawer so backdrop blur doesn't smear content */
  html body .sidebar-overlay {
    z-index: 1060 !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"].act ~ .sidebar-overlay,
  html body .sidebar-filter[data-act="FilterSidebar"].act + .sidebar-overlay {
    backdrop-filter: blur(3px);
  }

  /* ensure everything INSIDE the drawer is interactive */
  html body .sidebar-filter[data-act="FilterSidebar"] * {
    pointer-events: auto !important;
  }

  /* drawer filter groups — tighter mobile styling */
  html body .sidebar-filter[data-act="FilterSidebar"] .js-filter {
    padding: 14px 0 !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"] .facets__label--title {
    font-size: 11px !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"] .facet-checkbox {
    font-size: 13px !important;
    padding: 6px 0 !important;
  }
  html body .sidebar-filter[data-act="FilterSidebar"] .facets__list {
    max-height: 200px !important;
  }

  /* clear all button — full width in drawer */
  html body .sidebar-filter[data-act="FilterSidebar"] facet-remove.btn--clear--all a {
    font-size: 10px !important;
    padding: 10px 14px !important;
  }

  /* tight collection heading section INSIDE the drawer */
  html body .sidebar-filter[data-act="FilterSidebar"] .collection-heading {
    font-size: 10px !important;
    letter-spacing: .18em !important;
    padding-bottom: 12px !important;
    margin-bottom: 10px !important;
  }

  /* lock body scroll when drawer is open */
  html body:has(.sidebar-filter[data-act="FilterSidebar"].act) { overflow: hidden !important; }
}

  /* pagination */
  html body .pagination a,
  html body .pagination span,
  html body .pagination-nov a { min-width: 36px; height: 36px; font-size: 12px !important; }
}

/* ========================================================= */
/* 6. PRODUCT DETAIL PAGE                                    */
/* ========================================================= */

@media (max-width: 991.98px) {
  html body.template-product .product-single__information {
    margin-top: 24px !important;
    padding: 0 !important;
  }
  html body.template-product .product-single__photos { margin: 0 !important; }
}
@media (max-width: 767.98px) {
  html body.template-product .product-single__title { font-size: 26px !important; line-height: 1.15 !important; margin-bottom: 14px !important; }
  html body.template-product .product-single__price .money,
  html body.template-product [data-product-price] { font-size: 22px !important; }
  html body.template-product .product-single__shortdes { font-size: 13px !important; line-height: 1.7 !important; margin: 0 0 20px !important; padding: 0 0 18px !important; }
  html body.template-product .product-single__quantity { margin: 18px 0 !important; }
  html body.template-product .product-form__item--quantity { flex-direction: column; align-items: stretch !important; gap: 12px !important; }
  html body.template-product .quick_view_qty { align-self: flex-start; }
  html body.template-product .btnAddToCart,
  html body.template-product #AddToCart { min-height: 54px !important; font-size: 11px !important; padding: 16px 20px !important; letter-spacing: .16em !important; }
  html body.template-product .shopify-payment-button__button { min-height: 54px !important; font-size: 11px !important; }
  html body.template-product .product-single__share-ask-sizeguide { gap: 14px !important; padding: 14px 0 !important; }
  html body.template-product .product-single__share-ask-sizeguide-title { font-size: 10px !important; }
  html body.template-product .product-single__payment { padding: 14px !important; }
  html body.template-product .product-single__tab { padding: 28px 0 !important; margin-top: 24px !important; }
  html body.template-product .product-single__tab .tab-content { padding: 24px 18px !important; border-radius: 16px !important; }
  html body.template-product .product-single__tab .tab-pane p { font-size: 13px !important; line-height: 1.7 !important; }
  html body.template-product .product-single__tab .tab-pane h1 { font-size: 20px !important; }
  html body.template-product .product-single__tab .tab-pane h2 { font-size: 17px !important; }
  html body.template-product .product-single__tab .tab-pane h3 { font-size: 15px !important; }
  html body.template-product .product-single__tab .nav-tabs { flex-wrap: wrap; max-width: 100%; }
  html body.template-product .product-single__tab .nav-tabs li a { padding: 9px 16px !important; font-size: 10px !important; letter-spacing: .1em !important; }
}

/* ========================================================= */
/* 7. CART PAGE + CART DRAWER                                */
/* ========================================================= */

@media (max-width: 991.98px) {
  /* ---- CART PAGE ---- */
  html body.template-cart .cart,
  html body.template-cart .cart__layout_left,
  html body.template-cart .cart__layout_right,
  html body.template-cart .cart__layout_related {
    width: 100% !important;
    padding: 0 !important;
  }
  html body.template-cart .cart__layout_left { margin-bottom: 20px; }
  html body.template-cart .cart__layout_right {
    background: #ffffff;
    border: 1px solid rgba(14,14,20,0.08);
    border-radius: 16px;
    padding: 22px 20px !important;
    box-shadow: 0 14px 40px -18px rgba(14,14,20,0.16);
  }
  html body.template-cart .cart__header { display: none !important; }
}

@media (max-width: 767.98px) {
  /* page padding */
  html body.template-cart .container { padding: 16px 14px !important; }

  /* page title */
  html body.template-cart .page-header h1,
  html body.template-cart .cart__page-title {
    font-size: 24px !important;
    margin-bottom: 18px !important;
  }

  /* LINE ITEMS — card layout instead of grid row */
  html body.template-cart .cart__body { padding: 0 !important; }
  html body.template-cart .cart__row,
  html body.template-cart .cart-item,
  html body.template-cart .cart__body .grid {
    display: grid !important;
    grid-template-columns: 80px 1fr !important;
    grid-template-rows: auto auto !important;
    grid-column-gap: 14px !important;
    grid-row-gap: 10px !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(14,14,20,0.08) !important;
    position: relative;
    align-items: start;
  }

  /* product image — top-left */
  html body.template-cart .cart__image-wrapper,
  html body.template-cart .cart-item__image,
  html body.template-cart .cart__image {
    grid-row: 1 / span 2;
    grid-column: 1;
    width: 80px !important;
    height: 80px !important;
    border-radius: 10px !important;
    overflow: hidden;
    background: #f5f4f0;
    padding: 6px;
    object-fit: contain;
    flex-shrink: 0;
  }
  html body.template-cart img.cart__image {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
  }

  /* meta (title, price, variant) — top-right */
  html body.template-cart .cart__meta,
  html body.template-cart .cart__meta.cart-flex-item {
    grid-column: 2;
    grid-row: 1;
    padding: 0 !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  html body.template-cart .cart__meta a,
  html body.template-cart .cart__meta-text a {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0b0b0f !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  html body.template-cart .cart__meta-text {
    font-size: 11px !important;
    color: #7a7a83 !important;
    line-height: 1.4 !important;
  }
  html body.template-cart .cart-item__price,
  html body.template-cart .cart__price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0b0b0f !important;
    margin-top: 4px !important;
  }
  html body.template-cart .cart-item__original-price s {
    font-size: 11px !important;
    color: #7a7a83 !important;
  }
  html body.template-cart .cart-item__discount {
    font-size: 10px !important;
    color: #b08d57 !important;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 600;
  }

  /* quantity stepper + totals — bottom-right */
  html body.template-cart .cart__qty,
  html body.template-cart .cart-item__qty {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  html body.template-cart .cart__qty-input,
  html body.template-cart .cart__qty input[type="number"] {
    width: 50px !important;
    height: 34px !important;
    font-size: 14px !important;
    text-align: center !important;
    border: 1px solid rgba(14,14,20,0.12) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    padding: 0 !important;
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
  }

  /* remove (x) button — top-right floating */
  html body.template-cart .cart__remove {
    position: absolute !important;
    top: 14px !important;
    right: 0 !important;
    width: 28px !important;
    height: 28px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background: transparent !important;
    color: #7a7a83 !important;
    font-size: 14px !important;
    border: 0 !important;
  }
  html body.template-cart .cart__remove:hover { color: #0b0b0f !important; }

  /* ---- RIGHT-SIDE SUMMARY PANEL ---- */
  html body.template-cart .cart__heading {
    font-size: 11px !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(14,14,20,0.08);
  }
  html body.template-cart .cart__total,
  html body.template-cart .cart__shipping,
  html body.template-cart .cart__savings {
    padding: 10px 0 !important;
    font-size: 12px !important;
  }
  html body.template-cart .cart__subtotal-title,
  html body.template-cart .cart__shipping-title {
    font-size: 11px !important;
    color: #7a7a83;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 600;
  }
  html body.template-cart .cart__subtotal {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0b0b0f !important;
  }
  html body.template-cart .cart__shipping-sub { font-size: 10px !important; color: #7a7a83; }

  /* note field */
  html body.template-cart .cart-note_label {
    font-size: 10px !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: #7a7a83 !important;
    margin: 14px 0 8px !important;
  }
  html body.template-cart .cart-note__input,
  html body.template-cart textarea#CartSpecialInstructions {
    width: 100% !important;
    min-height: 80px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(14,14,20,0.12) !important;
    border-radius: 12px !important;
    background: #fafafa !important;
    font-size: 13px !important;
    resize: vertical;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
  }

  /* checkout button */
  html body.template-cart .cart__submit,
  html body.template-cart .cart__checkout,
  html body.template-cart button[name="checkout"] {
    width: 100% !important;
    min-height: 52px !important;
    padding: 16px 24px !important;
    font-size: 11px !important;
    letter-spacing: .18em !important;
    margin-top: 14px !important;
  }

  /* related products below cart */
  html body.template-cart .cart__layout_related { padding: 20px 0 0 !important; }
  html body.template-cart .cart__popup-related-title {
    font-size: 14px !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
    text-align: center;
  }

  /* empty cart */
  html body.template-cart .cart--empty-message {
    padding: 40px 20px !important;
    text-align: center;
    font-size: 14px !important;
  }
}

/* ========================================================= */
/* CART DRAWER (slide-in canvas) — mobile                    */
/* ========================================================= */

@media (max-width: 991.98px) {
  html body .block_cart_canvas,
  html body .nov-cart-canvas,
  html body #cart_canvas {
    width: 100% !important;
    max-width: 100% !important;
    right: 0 !important;
    padding: 20px 18px !important;
  }

  html body .block_cart_canvas .block_cart_top,
  html body .nov-cart-canvas .block_cart_top {
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid rgba(14,14,20,0.08);
  }
  html body .block_cart_canvas .cart__canvas--title,
  html body .nov-cart-canvas .cart__canvas--title {
    font-size: 13px !important;
    letter-spacing: .2em !important;
    text-transform: uppercase !important;
  }
  html body .block_cart_canvas .close_cart,
  html body .nov-cart-canvas .close_cart {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f5f4f0 !important;
    border: 1px solid rgba(14,14,20,0.08) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 14px !important;
  }

  /* drawer line items */
  html body .block_cart_canvas .cart__row,
  html body .nov-cart-canvas .cart__row,
  html body .block_cart_canvas .cart-item {
    display: grid !important;
    grid-template-columns: 70px 1fr !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(14,14,20,0.06) !important;
    align-items: center;
  }
  html body .block_cart_canvas .cart__image {
    width: 70px !important;
    height: 70px !important;
    border-radius: 10px !important;
    background: #f5f4f0;
    padding: 6px;
    object-fit: contain;
  }
  html body .block_cart_canvas .cart__meta a {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0b0b0f !important;
    line-height: 1.3;
  }
  html body .block_cart_canvas .cart__qty { margin-top: 6px; }
  html body .block_cart_canvas .cart__qty-input {
    width: 42px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  /* drawer bottom — totals + checkout */
  html body .block_cart_canvas .cart__bottom,
  html body .nov-cart-canvas .cart__bottom,
  html body .block_cart_canvas .cart__canvas-footer {
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(14,14,20,0.08);
    margin-top: 10px;
  }
  html body .block_cart_canvas .cart__total,
  html body .nov-cart-canvas .cart__total {
    font-size: 14px !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
  }
  html body .block_cart_canvas .cart__subtotal {
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  html body .block_cart_canvas .cart__submit,
  html body .nov-cart-canvas .cart__checkout,
  html body .block_cart_canvas button[name="checkout"] {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 10px !important;
    padding: 14px 20px !important;
    letter-spacing: .16em !important;
  }

  /* empty cart state in drawer */
  html body .nov-cart-empty {
    padding: 40px 20px !important;
    text-align: center;
  }
  html body .nov-cart-empty .title {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }
}

/* ========================================================= */
/* 8. FOOTER                                                 */
/* ========================================================= */

@media (max-width: 991.98px) {
  html body .nov-footer .footer-layout { padding: 24px 16px 16px !important; }
  html body .nov-footer .block_footer { margin-bottom: 18px !important; }
  html body .nov-footer .footer_newsletter { padding: 24px 16px !important; }
  html body .nov-footer .footer_newsletter .title { font-size: 18px !important; }
  html body .nov-footer .footer_newsletter .subtitle,
  html body .nov-footer .footer_newsletter p { font-size: 11px !important; }
  html body .nov-footer .newsletter__input,
  html body .nov-footer .input-group__field {
    height: 48px !important;
    padding: 0 108px 0 18px !important;
    font-size: 13px !important;
  }
  html body .nov-footer .newsletter__submit {
    height: 38px !important;
    padding: 0 14px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }
  html body .nov-footer .site-footer__linklist-item a { font-size: 12px !important; }
  html body .nov-footer .nov-social a,
  html body .nov-footer ul.social a { width: 32px !important; height: 32px !important; font-size: 13px !important; }
  html body .nov-footer .footer_copyright { padding: 10px 16px !important; text-align: center !important; }
  html body .nov-footer .footer_copyright [class*="col-"] { text-align: center !important; margin: 4px 0 !important; }
}

/* ========================================================= */
/* 9. POPUPS (login, search, modals)                         */
/* ========================================================= */

@media (max-width: 767.98px) {
  /* login modal full-screen feel */
  html body #popup__login.modal { padding: 0 !important; }
  html body #popup__login .modal-dialog { max-width: calc(100% - 20px) !important; margin: 14px auto !important; }
  html body #popup__login .modal-content { border-radius: 18px !important; }
  html body #popup__login .modal-body { padding: 36px 22px 28px !important; }
  html body #popup__login .title_form { font-size: 20px !important; }
  html body #popup__login .modal-body input { height: 46px !important; font-size: 14px !important; padding: 0 16px !important; }
  html body #popup__login .form_submit input.btn { min-height: 48px !important; font-size: 11px !important; }

  /* search canvas */
  html body .nov-search__canvas { padding: 70px 14px 32px !important; }
  html body .nov-search__canvas .container { padding: 0 !important; max-width: 100% !important; }
  html body .nov-search__canvas .search-header__input { height: 52px !important; font-size: 16px !important; padding: 0 90px 0 48px !important; }
  html body .nov-search__canvas .search-header__submit { height: 42px !important; padding: 0 16px !important; font-size: 9px !important; letter-spacing: .12em !important; }
  html body .nov-search__canvas .search-header__content .icon { left: 16px !important; font-size: 18px !important; }
  html body .nov-search__canvas .search_trend-list .btn { padding: 7px 14px !important; font-size: 9px !important; }
  html body .nov-search__canvas .nov-search__close { width: 38px !important; height: 38px !important; top: 14px !important; right: 14px !important; }

  /* generic modals */
  html body .modal-dialog { max-width: calc(100% - 20px) !important; margin: 14px auto !important; }
  html body .modal-content { border-radius: 18px !important; }
  html body .modal-body { padding: 24px !important; }
}

/* ========================================================= */
/* 10. BUTTONS — enforce touch-target size                   */
/* ========================================================= */

@media (max-width: 767.98px) {
  html body .btn,
  html body .button,
  html body button.btn,
  html body a.btn,
  html body input[type="submit"] {
    min-height: 44px !important;
    padding: 12px 22px !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }
  html body .btn-sm, html body .btn--sm { min-height: 36px !important; padding: 9px 16px !important; font-size: 10px !important; }
  html body .btn-lg, html body .btn--lg { min-height: 52px !important; padding: 15px 30px !important; font-size: 12px !important; }
}

/* ========================================================= */
/* 11. HOMEPAGE SECTIONS — tighten spacing                   */
/* ========================================================= */

@media (max-width: 767.98px) {
  html body [id^="shopify-section-"] .distance {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
  html body .title_section { margin-bottom: 20px !important; }
  html body .title_section .title,
  html body .title_section span.title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  html body .title_section .sub_title { font-size: 11px !important; }
  html body .title_section .desc { font-size: 13px !important; }

  /* collection tabs (Featured/Hair Growth/Sale) */
  html body .nav-tabs.list-product-tabs { flex-wrap: wrap; padding: 4px !important; gap: 4px !important; max-width: 100%; }
  html body .nav-tabs.list-product-tabs .nav-link.tab-links {
    padding: 9px 14px !important;
    min-height: 36px !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }

  /* our top collections cards (collec-img__item) */
  html body .collec-img__item .collec-image { margin: 10px 10px 0 !important; }
  html body .collec-img__item .collec-img__content { padding: 14px 14px 16px !important; }
  html body .collec-img__item .collec-img__text { font-size: 14px !important; }
  html body .collec-img__item .collec-img__desc { font-size: 12px !important; }
}

/* ========================================================= */
/* 12. POLICY / CONTENT PAGES                                */
/* ========================================================= */

@media (max-width: 767.98px) {
  html body .shopify-policy__container {
    padding: 32px 20px 40px !important;
    margin: 20px 12px !important;
    border-radius: 18px !important;
  }
  html body .shopify-policy__title h1 { font-size: 26px !important; margin-bottom: 24px !important; padding-bottom: 20px !important; }
  html body .shopify-policy__body p,
  html body.template-page .rte p { font-size: 14px !important; line-height: 1.75 !important; }
  html body.template-page .page-header h1,
  html body.template-page .page__title { font-size: 26px !important; }
  html body.template-page .block_quote { padding: 28px 20px !important; font-size: 15px !important; }
  html body.template-page .block_quote::before { font-size: 72px; left: 16px; top: -8px; }
}

/* ========================================================= */
/* 13. TOUCH-FRIENDLY HOVER FALLBACKS                        */
/* ========================================================= */

@media (hover: none) and (pointer: coarse) {
  /* wishlist/quickview chips always visible on touch */
  html body .item-product .button--top,
  html body .item-product .product-view,
  html body .item-product .product-action {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
  /* disable heavy hover transforms on touch */
  html body .item-product:hover { transform: none !important; }
  html body .item-product:hover .product__thumbnail { transform: scale(1) !important; }
}

/* ========================================================= */
/* 14. SMALL PHONES (≤ 375px)                                */
/* ========================================================= */

@media (max-width: 374.98px) {
  html body .header-mobile { margin: 0 6px !important; padding: 4px 12px !important; }
  html body .item-product .product__title a,
  html body .item-product .product__title a span { font-size: 12px !important; }
  html body .item-product .price-regular,
  html body .item-product .price-sale { font-size: 14px !important; }
  html body .item-product .product__atc { padding: 9px 12px !important; font-size: 8px !important; letter-spacing: .1em !important; }
  html body .title_section .title { font-size: 20px !important; }
}

/* =================================================================
   15. UNIVERSAL RESPONSIVE SAFETY NET
   Covers every section, card, image, grid across every screen size
   ================================================================= */

/* ---------- 15a. Overflow prevention — no horizontal scroll anywhere ---------- */
html, body {
  max-width: 100vw !important;
  overflow-x: clip !important;
}
html body > *,
html body .main-content,
html body [id^="shopify-section-"] {
  max-width: 100vw;
  overflow-x: clip;
}

/* any element forced to 100vw should not punch out margins on narrow screens */
html body .container,
html body .container-fluid,
html body .container-full,
html body .container-inner {
  width: 100%;
  box-sizing: border-box;
}

/* ---------- 15b. Universal fluid media ---------- */
html body img,
html body video,
html body iframe,
html body picture,
html body svg,
html body canvas {
  max-width: 100%;
  height: auto;
}
html body img[width][height] { height: auto; }
html body iframe { aspect-ratio: 16 / 9; }
html body table { display: block; max-width: 100%; overflow-x: auto; }

/* ---------- 15c. EDUCATIONAL SECTIONS — full responsive ---------- */

/* Science + How It Works */
@media (max-width: 1199.98px) {
  body .edu-science__inner,
  body .edu-ing__inner,
  body .edu-res__inner,
  body .edu-exp__inner,
  body .edu-learn__inner { padding: 0 20px !important; }
}
@media (max-width: 991.98px) {
  body .edu-science__head,
  body .edu-ing__head,
  body .edu-exp__head { margin-bottom: 36px !important; }
  body .edu-science__heading,
  body .edu-ing__heading,
  body .edu-res__heading,
  body .edu-exp__heading,
  body .edu-learn__heading { font-size: clamp(24px, 4vw, 38px) !important; }
  body .edu-science__columns { grid-template-columns: 1fr !important; gap: 14px !important; }
  body .edu-science__col { padding: 30px 24px 28px !important; }
  body .edu-science__col-icon { width: 64px !important; height: 64px !important; margin-bottom: 18px !important; }
  body .edu-science__steps { grid-template-columns: repeat(2, 1fr) !important; gap: 28px 18px !important; }
  body .edu-science__steps::before { display: none !important; }
  body .edu-science__step-media { width: 130px !important; height: 130px !important; }
  body .edu-ing__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  body .edu-res__grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  body .edu-res__stats { grid-template-columns: repeat(2, 1fr) !important; gap: 18px 24px !important; }
  body .edu-res__stat-value { font-size: clamp(32px, 5vw, 46px) !important; }
  body .edu-exp__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  body .edu-exp__quote { padding: 34px 26px 26px !important; }
  body .edu-learn__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  body .edu-learn__head { flex-direction: column !important; align-items: flex-start !important; gap: 18px !important; }
}
@media (max-width: 575.98px) {
  body .edu-science__steps { grid-template-columns: 1fr !important; }
  body .edu-ing__grid { grid-template-columns: 1fr !important; }
  body .edu-res__stats { grid-template-columns: 1fr !important; padding: 20px 0 !important; }
  body .edu-learn__card-media { aspect-ratio: 16 / 9 !important; }
}

/* ---------- 15d. HERO IMAGE SECTION ---------- */
@media (max-width: 991.98px) {
  body [id^="HeroImg-"] .nov-hero-img__heading { font-size: clamp(32px, 6vw, 52px) !important; }
  body [id^="HeroImg-"] .nov-hero-img__inner { padding: 60px 22px 80px !important; }
}
@media (max-width: 575.98px) {
  body [id^="HeroImg-"].nov-hero-img--tall,
  body [id^="HeroImg-"].nov-hero-img--medium { min-height: 68vh !important; max-height: 640px !important; }
  body [id^="HeroImg-"] .nov-hero-img__heading { font-size: clamp(28px, 8vw, 42px) !important; line-height: 1.08 !important; }
  body [id^="HeroImg-"] .nov-hero-img__sub { font-size: 13px !important; }
  body [id^="HeroImg-"] .nov-hero-img__cta { padding: 13px 26px !important; font-size: 11px !important; }
  body [id^="HeroImg-"] .nov-hero-img__cta-wrap { gap: 10px !important; }
}

/* ---------- 15e. MARQUEE STRIP ---------- */
@media (max-width: 767.98px) {
  body [id^="Marquee-"] .nov-marquee__text { font-size: clamp(22px, 7vw, 38px) !important; }
  body [id^="Marquee-"] .nov-marquee__item { gap: 22px !important; padding-right: 22px !important; }
  body [id^="Marquee-"] { padding: 14px 0 !important; }
  body [id^="Marquee-"] .nov-marquee__track { animation-duration: 30s !important; }
}

/* ---------- 15f. COLLECTION / PRODUCT VIDEO / SECTIONS ---------- */
@media (max-width: 991.98px) {
  body .nov-product-video {
    max-width: 100% !important;
    margin: 0 12px !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  body .nov-product-video > [class*="col-"] {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  body .nov-product-video > .col-md-6:first-child {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(14,14,20,0.08) !important;
  }
  body .nov-product-video > .col-md-6:first-child video {
    max-height: 320px !important;
    min-height: 260px !important;
  }
  body .nov-product-video > .col-md-6:last-child { padding: 18px !important; }
}

/* collection img cards (Our Top Collections) */
@media (max-width: 767.98px) {
  body .collec-img__item { border-radius: 14px !important; }
  body .collec-img__item .collec-image { margin: 8px 8px 0 !important; border-radius: 10px !important; }
  body .collec-img__item .collec-img__content { padding: 12px 12px 14px !important; gap: 6px !important; }
  body .collec-img__item .collec-img__text { font-size: 13px !important; }
  body .collec-img__item .collec-img__desc { font-size: 11px !important; }
}

/* ---------- 15g. GRID SAFETY — prevent column overflow ---------- */
@media (max-width: 991.98px) {
  html body .row [class*="col-md-4"],
  html body .row [class*="col-lg-4"] { flex: 0 0 50% !important; max-width: 50% !important; }
  html body .row [class*="col-md-3"],
  html body .row [class*="col-lg-3"] { flex: 0 0 50% !important; max-width: 50% !important; }
}
@media (max-width: 575.98px) {
  html body .row [class*="col-sm-6"],
  html body .row [class*="col-xs-6"] { flex: 0 0 50% !important; max-width: 50% !important; }
  html body .row [class*="col-md-4"],
  html body .row [class*="col-lg-4"],
  html body .row [class*="col-md-3"],
  html body .row [class*="col-lg-3"] { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* ---------- 15h. UNIVERSAL CONTAINER FULL-WIDTH ON PHONE ---------- */
@media (max-width: 767.98px) {
  html body .container,
  html body .container-fluid,
  html body .container-full,
  html body .container-inner {
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* ---------- 15i. TOUCH TARGETS + FORM FIELDS ---------- */
@media (max-width: 767.98px) {
  html body a,
  html body button,
  html body input[type="button"],
  html body input[type="submit"],
  html body .pointer { touch-action: manipulation; }

  /* all form inputs → 16px font to prevent iOS zoom */
  html body input,
  html body textarea,
  html body select {
    font-size: 16px !important;
  }
}

/* ---------- 15j. LANDSCAPE ORIENTATION (phones flipped) ---------- */
@media (max-width: 991.98px) and (orientation: landscape) and (max-height: 500px) {
  body [id^="HeroImg-"].nov-hero-img--tall,
  body [id^="HeroImg-"].nov-hero-img--medium { min-height: 100vh !important; max-height: 100vh !important; }
  body [id^="HeroImg-"] .nov-hero-img__heading { font-size: clamp(26px, 5vw, 38px) !important; }
  body [id^="HeroImg-"] .nov-hero-img__inner { padding: 40px 24px !important; }

  body [id^="shopify-section-nov_video"] .item.youtube,
  body [id^="shopify-section-nov_video"] .item.youtube video { max-height: 90vh !important; }
}

/* ---------- 15k. LARGE DESKTOP (≥ 1440px) — max-widths ---------- */
@media (min-width: 1440px) {
  html body .nov-footer .footer-layout,
  html body .nov-footer .footer_newsletter,
  html body .nov-footer .footer_copyright { padding-left: 48px !important; padding-right: 48px !important; }
}

/* ---------- 15l. ULTRA-WIDE (≥ 1920px) — cap reading widths ---------- */
@media (min-width: 1920px) {
  html body .edu-science__inner,
  html body .edu-ing__inner,
  html body .edu-res__inner,
  html body .edu-exp__inner,
  html body .edu-learn__inner { max-width: 1360px !important; }
}

/* ---------- 15m. VERY SMALL (≤ 320px) — iPhone SE 1st gen ---------- */
@media (max-width: 320px) {
  html body .header-mobile { padding: 0 8px !important; }
  html body .header-mobile .mobile_logo a { font-size: 11px !important; }
  html body .item-product { padding: 10px 10px 12px !important; }
  html body .item-product .product__title a,
  html body .item-product .product__title a span { font-size: 11px !important; }
  html body .title_section .title { font-size: 18px !important; }
}

/* ---------- 15n. REDUCED MOTION (accessibility) ---------- */
@media (prefers-reduced-motion: reduce) {
  html body *,
  html body *::before,
  html body *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* =================================================================
   GLOBAL HEADER BLUR KILL — stops scroll-blur issues everywhere
   ================================================================= */
html body .site-header,
html body .site-header *,
html body .header-mobile,
html body .header-mobile *,
html body #header-sticky,
html body #header-sticky *,
html body #shopify-section-nov-header,
html body #shopify-section-nov-header * {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* =================================================================
   16. AGGRESSIVE MOBILE TIGHTENING — every section smaller
   Compresses padding, typography, spacing across all sections
   ================================================================= */

@media (max-width: 767.98px) {
  /* all section distance padding — kill big gaps between sections */
  html body [id^="shopify-section-"] .distance,
  html body .section-edu-science,
  html body .section-edu-ingredients,
  html body .section-edu-results,
  html body .section-edu-experts {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  /* ---- Section title/heading typography ---- */
  html body .title_section,
  html body [class*="edu-science"] .edu-science__head,
  html body [class*="edu-ing"] .edu-ing__head,
  html body [class*="edu-res"] .edu-res__content,
  html body [class*="edu-exp"] .edu-exp__head { margin-bottom: 18px !important; }

  html body .title_section .title,
  html body .title_section span.title,
  html body .title_section .sub_title { line-height: 1.2 !important; }

  html body .title_section .title,
  html body .title_section span.title { font-size: 20px !important; margin-bottom: 4px !important; }
  html body .title_section .sub_title { font-size: 10px !important; letter-spacing: .22em !important; }
  html body .title_section .desc { font-size: 12px !important; margin-top: 6px !important; }

  /* educational section headings */
  html body .edu-science__heading,
  html body .edu-ing__heading,
  html body .edu-res__heading,
  html body .edu-exp__heading { font-size: 22px !important; line-height: 1.15 !important; margin-bottom: 10px !important; }
  html body .edu-science__sub,
  html body .edu-ing__sub,
  html body .edu-res__sub,
  html body .edu-exp__sub { font-size: 12px !important; line-height: 1.55 !important; }
  html body .edu-science__eyebrow,
  html body .edu-ing__eyebrow,
  html body .edu-res__eyebrow,
  html body .edu-exp__eyebrow { font-size: 9px !important; letter-spacing: .22em !important; margin-bottom: 12px !important; }
  html body .edu-science__eyebrow-line,
  html body .edu-ing__eyebrow-line,
  html body .edu-res__eyebrow-line,
  html body .edu-exp__eyebrow-line { width: 24px !important; }

  /* ---- Science section ---- */
  html body .edu-science__col { padding: 22px 18px 20px !important; }
  html body .edu-science__col-icon { width: 54px !important; height: 54px !important; margin-bottom: 14px !important; }
  html body .edu-science__col-icon--text { font-size: 22px !important; }
  html body .edu-science__col-label { font-size: 9px !important; letter-spacing: .2em !important; }
  html body .edu-science__col-title { font-size: 17px !important; margin-bottom: 8px !important; }
  html body .edu-science__col-desc { font-size: 12px !important; line-height: 1.55 !important; }
  html body .edu-science__steps-head { margin-bottom: 24px !important; }
  html body .edu-science__steps-heading { font-size: 19px !important; }
  html body .edu-science__steps-sub { font-size: 11px !important; }
  html body .edu-science__step-num { width: 46px !important; height: 46px !important; font-size: 15px !important; margin-bottom: 12px !important; }
  html body .edu-science__step-media { width: 100px !important; height: 100px !important; padding: 8px !important; margin-bottom: 12px !important; }
  html body .edu-science__step-title { font-size: 14px !important; }
  html body .edu-science__step-desc { font-size: 11px !important; line-height: 1.55 !important; }
  html body .edu-science__cta,
  html body .edu-res__cta { padding: 13px 24px !important; font-size: 10px !important; letter-spacing: .14em !important; }

  /* ---- Ingredients ---- */
  html body .edu-ing__card { padding: 22px 18px !important; }
  html body .edu-ing__card-media { width: 72px !important; height: 72px !important; margin-bottom: 14px !important; padding: 8px !important; }
  html body .edu-ing__card-glyph { font-size: 26px !important; }
  html body .edu-ing__card-type { font-size: 9px !important; letter-spacing: .18em !important; }
  html body .edu-ing__card-name { font-size: 17px !important; }
  html body .edu-ing__card-latin { font-size: 10px !important; margin-bottom: 10px !important; }
  html body .edu-ing__card-desc { font-size: 12px !important; margin-bottom: 12px !important; }
  html body .edu-ing__card-benefit { padding: 9px 12px !important; }
  html body .edu-ing__card-benefit-label { font-size: 8px !important; }
  html body .edu-ing__card-benefit-value { font-size: 11px !important; }

  /* ---- Results ---- */
  html body .edu-res__grid { gap: 22px !important; }
  html body .edu-res__stats { margin-bottom: 18px !important; padding: 16px 0 !important; gap: 16px 24px !important; }
  html body .edu-res__stat-value { font-size: 32px !important; margin-bottom: 4px !important; }
  html body .edu-res__stat-label { font-size: 9px !important; letter-spacing: .1em !important; }
  html body .edu-res__disclaimer { font-size: 10px !important; margin-bottom: 16px !important; }
  html body .edu-res__ba-label { font-size: 9px !important; padding: 4px 10px !important; }

  /* ---- Experts ---- */
  html body .edu-exp__quote { padding: 28px 22px 22px !important; }
  html body .edu-exp__quote-mark { font-size: 66px !important; top: 6px !important; left: 16px !important; }
  html body .edu-exp__quote-body { font-size: 13px !important; margin: 12px 0 18px !important; line-height: 1.6 !important; }
  html body .edu-exp__quote-footer { padding-top: 14px !important; }
  html body .edu-exp__avatar { width: 40px !important; height: 40px !important; }
  html body .edu-exp__quote-name { font-size: 12px !important; }
  html body .edu-exp__quote-cred { font-size: 9px !important; }

  /* ---- Top collections (nov-collection-img) — tighten more ---- */
  html body .collec-img__item .collec-image { margin: 6px 6px 0 !important; border-radius: 8px !important; }
  html body .collec-img__item .collec-img__content { padding: 10px 10px 12px !important; gap: 4px !important; }
  html body .collec-img__item .collec-img__text { font-size: 12px !important; }
  html body .collec-img__item .collec-img__desc { font-size: 10px !important; line-height: 1.4 !important; }

  /* ---- Hero image hero ---- */
  html body [id^="HeroImg-"].nov-hero-img--tall,
  html body [id^="HeroImg-"].nov-hero-img--medium { min-height: 60vh !important; max-height: 560px !important; }
  html body [id^="HeroImg-"] .nov-hero-img__inner { padding: 50px 18px 60px !important; }
  html body [id^="HeroImg-"] .nov-hero-img__heading { font-size: 30px !important; margin-bottom: 12px !important; }
  html body [id^="HeroImg-"] .nov-hero-img__sub { font-size: 12px !important; margin-bottom: 22px !important; line-height: 1.55 !important; }
  html body [id^="HeroImg-"] .nov-hero-img__eyebrow { font-size: 9px !important; letter-spacing: .22em !important; margin-bottom: 14px !important; }
  html body [id^="HeroImg-"] .nov-hero-img__cta { padding: 11px 22px !important; font-size: 10px !important; letter-spacing: .12em !important; }
  html body [id^="HeroImg-"] .nov-hero-img__cta-wrap { gap: 8px !important; }

  /* ---- Marquee ---- */
  html body [id^="Marquee-"] { padding: 12px 0 !important; }
  html body [id^="Marquee-"] .nov-marquee__text { font-size: 22px !important; }
  html body [id^="Marquee-"] .nov-marquee__sep { font-size: 14px !important; }

  /* ---- Product video section ---- */
  html body .nov-product-video { gap: 16px !important; padding: 0 14px !important; }
  html body .nov-product-video > .col-md-6:first-child video {
    max-height: 340px !important;
    border-radius: 14px !important;
  }
  html body .nov-product-video > .col-md-6:last-child { padding: 6px 0 !important; }
  html body .nov-product-video .block-product.item { max-width: 100% !important; }
  html body .nov-product-video .title_section { margin-bottom: 10px !important; }
  html body .nov-product-video .title_section .title { font-size: 18px !important; }

  /* ---- Collection tabs (Featured / Hair Growth / Sale) ---- */
  html body .nav-tabs.list-product-tabs { margin-bottom: 20px !important; padding: 4px !important; gap: 3px !important; }
  html body .nav-tabs.list-product-tabs .nav-link.tab-links {
    padding: 8px 12px !important;
    font-size: 9px !important;
    letter-spacing: .08em !important;
    min-height: 32px !important;
  }

  /* ---- Testimonials ---- */
  html body .nov-testimonials .item,
  html body .nov-testimonials .block { padding: 22px 18px !important; }
  html body .nov-testimonials .quote { font-size: 13px !important; line-height: 1.6 !important; }
  html body .nov-testimonials .info_other { font-size: 11px !important; }

  /* ---- Footer — tighten more ---- */
  html body .nov-footer { margin-top: 12px !important; }
  html body .nov-footer .footer-layout { padding: 22px 14px 12px !important; }
  html body .nov-footer .footer_newsletter { padding: 20px 14px !important; }
  html body .nov-footer .footer_newsletter .title { font-size: 16px !important; }
  html body .nov-footer .footer_copyright { padding: 10px 14px !important; }
  html body .nov-footer .block_footer { margin-bottom: 12px !important; }
  html body .nov-footer .footer-title { font-size: 10px !important; margin-bottom: 10px !important; padding-bottom: 8px !important; }

  /* ---- Hero section container padding (nov-video fallback) ---- */
  html body [id*="shopify-section-nov_video"] .distance { padding: 0 !important; }

  /* ---- Prevent horizontal overflow on tight margins ---- */
  html body .container-full { padding-left: 0 !important; padding-right: 0 !important; }

  /* ============================================================
     PRODUCT DETAIL PAGE — comprehensive mobile layout
     ============================================================ */
  html body.template-product .product-single {
    padding: 0 !important;
  }
  html body.template-product .product-single > .container,
  html body.template-product .product-single > .container-fluid { padding: 0 12px !important; }

  /* ---- Image gallery (left column on desktop, top on mobile) ---- */
  html body.template-product .product-single__photos,
  html body.template-product .product-single__sticky {
    position: static !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
  }
  html body.template-product .product-single__main {
    border-radius: 14px !important;
    margin: 0 !important;
  }
  html body.template-product .product-single__main img,
  html body.template-product .product-single__photo img,
  html body.template-product .product-single__featured-image { padding: 4% !important; }

  /* thumbnails row — horizontal scroll instead of stacking */
  html body.template-product .product-single__thumbnails,
  html body.template-product .product-single__thumb-wrapper,
  html body.template-product [class*="thumbnails"] {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 10px 0 6px !important;
    margin: 0 !important;
    scrollbar-width: none;
  }
  html body.template-product .product-single__thumbnails::-webkit-scrollbar { display: none; }
  html body.template-product .product-single__thumbnail {
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 10px !important;
    margin: 0 !important;
  }
  html body.template-product .product-single__thumbnail img { padding: 8% !important; }

  /* ---- INFORMATION column ---- */
  html body.template-product .product-single__information {
    padding: 0 !important;
    margin-top: 12px !important;
  }

  /* breadcrumb/meta above title */
  html body.template-product .product-single__vendor,
  html body.template-product .product-single__cat {
    font-size: 10px !important;
    letter-spacing: .18em !important;
    margin: 0 0 8px !important;
  }

  /* title */
  html body.template-product .product-single__title,
  html body.template-product h1.product-single__title {
    font-size: 22px !important;
    line-height: 1.15 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  /* wishlist heart next to title */
  html body.template-product .product-single__wishlist {
    width: 38px !important;
    height: 38px !important;
  }
  html body.template-product .product-single__wishlist i { font-size: 15px !important; }

  /* reviews row under title */
  html body.template-product .product-single__top-review {
    gap: 8px !important;
    padding: 0 0 12px !important;
    margin: 0 0 12px !important;
    font-size: 11px !important;
  }

  /* price */
  html body.template-product .product-single__price,
  html body.template-product .product__price,
  html body.template-product .price-single {
    gap: 10px !important;
    margin: 0 0 14px !important;
  }
  html body.template-product .product-single__price .money,
  html body.template-product [data-product-price],
  html body.template-product .product-single__price-regular,
  html body.template-product .product-single__price-sale { font-size: 20px !important; }
  html body.template-product .product-single__price-old,
  html body.template-product [data-compare-price] { font-size: 14px !important; }

  /* short description */
  html body.template-product .product-single__shortdes {
    font-size: 12px !important;
    line-height: 1.65 !important;
    margin: 0 0 16px !important;
    padding: 0 0 14px !important;
  }

  /* meta rows (tags, sku, category, vendor) */
  html body.template-product .product-single__info-item { margin: 0 0 6px !important; }
  html body.template-product .product-single__tags,
  html body.template-product .product-single__sku {
    font-size: 10px !important;
    gap: 6px !important;
    flex-wrap: wrap;
  }
  html body.template-product .product-single__tags a {
    padding: 3px 10px !important;
    font-size: 9px !important;
    letter-spacing: .08em !important;
  }
  html body.template-product .product-single__control-label {
    font-size: 9px !important;
    letter-spacing: .18em !important;
  }

  /* variant option swatches */
  html body.template-product .product-form__item--option,
  html body.template-product .selector-wrapper { margin: 0 0 14px !important; }
  html body.template-product .product-form__item--option > label,
  html body.template-product .selector-wrapper > label { font-size: 9px !important; margin-bottom: 8px !important; }
  html body.template-product .swatch-element,
  html body.template-product .variant-input-wrap label,
  html body.template-product .product-form__input-wrapper label {
    min-width: 42px !important;
    padding: 8px 12px !important;
    font-size: 11px !important;
    margin: 0 5px 5px 0 !important;
  }

  /* QUANTITY SELECTOR — tighter pill */
  html body.template-product .product-single__quantity {
    margin: 16px 0 14px !important;
  }
  html body.template-product .product-single__quantity .product-single__control-label {
    font-size: 9px !important;
    letter-spacing: .18em !important;
    margin-bottom: 8px !important;
  }
  html body.template-product .product-form__item--quantity {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  html body.template-product .quick_view_qty {
    padding: 4px !important;
    min-width: 130px;
    align-self: flex-start;
  }
  html body.template-product .quick_view_qty .quick_view-qty,
  html body.template-product .quick_view-qty-minus,
  html body.template-product .quick_view-qty-plus {
    width: 34px !important;
    height: 34px !important;
    font-size: 18px !important;
  }
  html body.template-product .quick_view_qty .quantity-selector,
  html body.template-product .quick_view_qty input[type="number"] {
    width: 42px !important;
    height: 34px !important;
    font-size: 14px !important;
  }

  /* ATC button — full-width, 50px */
  html body.template-product .btnAddToCart,
  html body.template-product #AddToCart,
  html body.template-product .product-form__cart-submit {
    width: 100% !important;
    min-height: 50px !important;
    padding: 15px 20px !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }
  html body.template-product .product-form__item--submit { margin: 0 !important; }
  html body.template-product .shopify-payment-button__button,
  html body.template-product .shopify-payment-button__button--unbranded {
    width: 100% !important;
    min-height: 50px !important;
    font-size: 10px !important;
    margin-top: 8px !important;
  }

  /* share / ask / size guide / faq row — wrap nicely */
  html body.template-product .product-single__share-ask-sizeguide {
    flex-wrap: wrap !important;
    gap: 14px 20px !important;
    padding: 12px 0 !important;
    margin: 14px 0 0 !important;
  }
  html body.template-product .product-single__share-ask-sizeguide-title {
    font-size: 10px !important;
    letter-spacing: .14em !important;
    gap: 6px;
  }
  html body.template-product .product-single__share-ask-sizeguide i { font-size: 12px !important; }

  /* payment icons card */
  html body.template-product .product-single__payment {
    padding: 12px 14px !important;
    margin: 14px 0 !important;
    border-radius: 12px !important;
  }
  html body.template-product .product-single__payment .product-single__control-label {
    font-size: 9px !important;
    margin-bottom: 8px !important;
  }
  html body.template-product .product-single__payment img {
    height: 18px !important;
    margin-right: 6px !important;
  }

  /* shipping info */
  html body.template-product .product-single__shiping {
    padding: 10px 14px !important;
    margin: 12px 0 !important;
    font-size: 11px !important;
  }

  /* ---- Description TABS ---- */
  html body.template-product .product-single__tab {
    padding: 20px 0 !important;
    margin-top: 18px !important;
  }
  html body.template-product .product-single__tab .container { padding: 0 12px !important; }
  html body.template-product .product-single__tab .nav-tabs {
    margin: 0 auto 20px !important;
    padding: 4px !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }
  html body.template-product .product-single__tab .nav-tabs li a {
    padding: 8px 14px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }
  html body.template-product .product-single__tab .tab-content {
    padding: 20px 16px !important;
    border-radius: 14px !important;
    max-width: 100% !important;
  }
  html body.template-product .product-single__tab .tab-pane p {
    font-size: 13px !important;
    line-height: 1.7 !important;
    margin: 0 0 12px !important;
  }
  html body.template-product .product-single__tab .tab-pane h1 { font-size: 19px !important; margin: 20px 0 10px !important; }
  html body.template-product .product-single__tab .tab-pane h2 { font-size: 17px !important; margin: 18px 0 8px !important; }
  html body.template-product .product-single__tab .tab-pane h3 { font-size: 14px !important; margin: 16px 0 6px !important; }
  html body.template-product .product-single__tab .tab-pane ul,
  html body.template-product .product-single__tab .tab-pane ol {
    margin: 0 0 12px 16px !important;
    font-size: 13px !important;
  }
  html body.template-product .product-single__tab .tab-pane li { font-size: 13px !important; line-height: 1.65 !important; }
  html body.template-product .product-single__tab .tab-pane img {
    border-radius: 10px !important;
    margin: 12px 0 !important;
  }

  /* ---- ACCORDION description variant ---- */
  html body.template-product .nov-accordion .accordion-item,
  html body.template-product .product-single__accordion .item,
  html body.template-product .nov-accordion__title {
    border-radius: 10px !important;
    margin-bottom: 8px !important;
  }
  html body.template-product .nov-accordion__title {
    padding: 13px 16px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }
  html body.template-product .nov-accordion__content {
    padding: 0 16px 14px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  /* ---- product page extras ---- */
  html body.template-product .nov-policy { margin-top: 16px !important; padding: 0 !important; }
  html body.template-product .nov-policy .item_policy { padding: 10px 0 !important; gap: 10px !important; }
  html body.template-product .nov-policy .title_policy { font-size: 10px !important; }
  html body.template-product .nov-policy .desc_policy { font-size: 11px !important; }

  /* prevent sticky addcart from blocking content */
  html body.template-product .product-sticky-addcart,
  html body.template-product .nov-product-sticky {
    padding: 10px 14px !important;
  }

  /* you might also like / related products spacing */
  html body.template-product [id*="product-recommendations"] .distance,
  html body.template-product [id*="product-loadmore"] .distance {
    padding: 22px 0 !important;
  }

  /* dividers hidden on product page */
  html body.template-product [id*="shopify-section"] > .distance > .container-full > hr { display: none !important; }
}

/* --- Very small phones (≤ 480px) --- */
@media (max-width: 480px) {
  html body [id^="shopify-section-"] .distance,
  html body .section-edu-science,
  html body .section-edu-ingredients,
  html body .section-edu-results,
  html body .section-edu-experts { padding-top: 20px !important; padding-bottom: 20px !important; }
  html body .title_section .title,
  html body .title_section span.title { font-size: 18px !important; }
  html body .edu-science__heading,
  html body .edu-ing__heading,
  html body .edu-res__heading,
  html body .edu-exp__heading { font-size: 20px !important; }
  html body [id^="HeroImg-"] .nov-hero-img__heading { font-size: 26px !important; }
  html body [id^="Marquee-"] .nov-marquee__text { font-size: 18px !important; }
  html body .nov-product-video > .col-md-6:first-child video { max-height: 280px !important; }
}

/* ── PROHALL mobile nav links (ph-mobile-nav) ── */
html body #mobile_menu .ph-mobile-nav {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #mobile_menu .ph-mobile-nav__item {
  border-bottom: 1px solid rgba(14,14,20,0.07) !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #mobile_menu .ph-mobile-nav__item:last-child { border-bottom: 0 !important; }
html body #mobile_menu .ph-mobile-nav__link {
  display: flex !important;
  align-items: center !important;
  padding: 18px 2px !important;
  color: #0b0b0f !important;
  font-family: "Inter Tight", -apple-system, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  transition: color .2s ease !important;
}
html body #mobile_menu .ph-mobile-nav__link:hover,
html body #mobile_menu .ph-mobile-nav__link.is-active {
  color: oklch(0.48 0 0) !important;
}
html body #mobile_menu .ph-mobile-nav__sub {
  list-style: none !important;
  padding: 0 0 10px 12px !important;
  margin: 0 !important;
}
html body #mobile_menu .ph-mobile-nav__sub li { padding: 0 !important; border: 0 !important; }
html body #mobile_menu .ph-mobile-nav__sub-link {
  display: block !important;
  padding: 8px 2px !important;
  font-size: 14px !important;
  font-family: "Inter Tight", -apple-system, sans-serif !important;
  color: #555 !important;
  text-decoration: none !important;
}
html body #mobile_menu .ph-mobile-nav__sub-link:hover { color: #0b0b0f !important; }
