/* ==========================================================
    GNOCE STOREFRONT — CSS INJECTION
    Sections:
    01  Fonts & Variables
    02  Header
    03  Desktop Mega Menu
    04  Mobile Menu
    05  Home Page
    06  Product Cards
    07  Category Page
    08  Product Detail Page
    09  Footer
    10  Responsive & Utilities
    ========================================================== */

  /* 01 FONTS & VARIABLES
    ---------------------------------------------------------- */
  /* Google Fonts loaded asynchronously via JS (Gnoce.clean.js) to avoid render-blocking.
     @import removed — FOUT managed by display=swap in the JS-injected link. */

  @font-face {
    font-family: "Americana";
    src: url("https://d1vz61drrkr9e6.cloudfront.net/font/Americana-Reg.otf") format("opentype");
    font-display: swap;
    font-weight: 400;
  }

  :root {
    --gn-font-main: "Poppins", "Noto Sans Arabic", "Helvetica Neue", Arial, sans-serif;
    --gn-font-heading: "Americana", "Poppins", "Noto Sans Arabic", Georgia, serif;
    --gn-warm: #c8795b;
    --gn-warm-light: #fbf7f3;
    --gn-warm-border: #eadfd8;
    --gn-text-dark: #5f5149;
    --gn-text-mid: #7a6c64;
    --gn-text-light: #9a8880;
    --gn-white: #ffffff;
    --gn-product-card-min-height: 438px;
    --gn-product-content-min-height: 166px;
    --gn-product-title-min-height: 42px;
    --gn-product-btn-max-width: 176px;
    --gn-product-btn-height: 40px;
  }

  /* Body and form elements */
  body,
  button:not([class*="icon"]):not(.icon):not(.fa):not(.sicon):not(.zidicon),
  input,
  select,
  textarea {
    font-family: var(--gn-font-main) !important;
  }

  /* Nav and product titles */
  nav a:not([class*="icon"]),
  .main-nav a:not([class*="icon"]),
  .top-level-link:not([class*="icon"]),
  .product-title:not([class*="icon"]),
  .product-name:not([class*="icon"]),
  .product-card-title:not([class*="icon"]) {
    font-family: var(--gn-font-main) !important;
  }

  /* Heading elements */
  h1:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  h2:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  h3:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  h4:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  h5:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  h6:not([class*="icon"]):not(.product-title):not(.product-name):not(.product-card-title),
  .main-slider-title:not([class*="icon"]),
  .home-section-title:not([class*="icon"]),
  .section-title:not([class*="icon"]) {
    font-family: var(--gn-font-heading) !important;
    font-weight: 400;
  }

  /* Button / product title font weight */
  button:not([class*="icon"]):not(.icon):not(.fa):not(.sicon):not(.zidicon),
  .product-title:not([class*="icon"]),
  .product-name:not([class*="icon"]),
  .product-card-title:not([class*="icon"]) {
    font-weight: 500;
  }


  /* 02 HEADER
    ---------------------------------------------------------- */
  #fixed-header,
  .search-header,
  .app > .header,
  body > .header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1050 !important;
    background-color: var(--gn-white) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
  }

  /* Header logo */
  #fixed-header .header-logo img {
    max-height: 48px;
    width: auto;
  }

  @media (max-width: 991px) {
    #fixed-header .header-logo img {
      max-height: 38px;
    }
  }

  /* Header desktop spacing */
  @media (min-width: 992px) {
    #fixed-header {
      padding-top: 10px !important;
      padding-bottom: 6px !important;
    }

    #fixed-header .top-main-menu-wrapper {
      height: auto !important;
      min-height: 0 !important;
    }

    #fixed-header .top-main-menu-wrapper > nav {
      height: auto !important;
      min-height: 0 !important;
      align-items: center !important;
    }

    #fixed-header .header-logo,
    #fixed-header .header-logo a {
      height: auto !important;
    }

    #fixed-header .main-nav {
      height: auto !important;
      margin: 0 !important;
    }

    #fixed-header .main-nav > .top-level-link {
      padding-bottom: 6px !important;
    }
  }

  /* Top-level nav links */
  #fixed-header .main-nav > li.top-level-link > a {
    font-family: var(--gn-font-main) !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--gn-text-dark);
    text-decoration: none;
    letter-spacing: 0.01em;
    padding: 0 12px;
  }

  #fixed-header .main-nav > li.top-level-link > a:hover {
    color: var(--gn-warm);
  }

  /* Cart badge */
  .header-cart .cart-badge,
  [class*="cart-quantity"]:not(input) {
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: var(--gn-text-dark) !important;
    color: var(--gn-white) !important;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  /* Hide locale selector */
  button[onclick*="zidOpenRegionSettingDialog"],
  .slide-menu-static .account-lang-currency > button.account-lang-button:first-child {
    display: none !important;
  }

  /* Main slider: remove forced heights so images display at natural aspect ratio */
  .home .container-slider,
  .home .main-slider,
  /* Clip the banner slider track so it does not contribute to scrollWidth on mobile.
     Needs high specificity to beat Zid's cross-origin overflow:visible !important */
  body[data-template="home"] .main-slider.slick-initialized .slick-list,
  body[data-template="home"] .main-slider.slick-slider .slick-list,
  .home .container-slider .main-slider .slick-list {
    overflow: hidden !important;
  }

  .home .main-slider .slick-list,
  .home .main-slider .slick-track,
  .home .main-slider .slider-item,
  .home .main-slider .slider-item .content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }

  .home .container-slider {
    margin-top: 0 !important;
    min-height: 260px; /* reserve space before images load — reduces CLS */
  }

  @media (min-width: 992px) {
    .home .container-slider {
      min-height: 380px;
    }
  }

  /* Zid's theme sets visibility:hidden on the slider anchor; override it */
  .home .main-slider .slider-item .content a {
    visibility: visible !important;
    display: block !important;
  }

  .home .main-slider img,
  .home .main-slider .slider-image img {
    max-height: none !important;
    aspect-ratio: auto !important;
    width: 100%;
    height: auto;
    display: block;
  }

  /* Desktop: show d-lg-block images, hide d-lg-none */
  @media (min-width: 992px) {
    .home .main-slider .slider-item img.d-lg-block {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      object-fit: contain !important;
    }

    .home .main-slider .slider-item img.d-lg-none {
      display: none !important;
    }
  }

  /* Mobile: show d-lg-none images, hide d-lg-block */
  @media (max-width: 991px) {
    .home .main-slider .slider-item img.d-lg-none {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      object-fit: contain !important;
    }

    .home .main-slider .slider-item img.d-lg-block {
      display: none !important;
    }
  }


  /* 03 DESKTOP MEGA MENU
    Styles are ready for when JS builds .gnoce-mega-* elements.
    JS for this feature is postponed — no source data in DOM.
    ---------------------------------------------------------- */
  .main-dropdown-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 998;
    background: var(--gn-white);
    border-top: 1px solid var(--gn-warm-border);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  .main-dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
    display: block;
  }

  .main-dropdown-menu.gnoce-mega--open {
    opacity: 1;
    pointer-events: auto;
  }

  .gnoce-mega-inner {
    padding: 32px 0 28px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
  }

  .gnoce-mega-heading {
    font-family: var(--gn-font-heading) !important;
    font-size: 22px;
    font-weight: 400;
    color: var(--gn-text-dark);
    margin: 0 0 20px;
    letter-spacing: 0.02em;
  }

  .gnoce-mega-columns {
    display: flex;
    gap: 24px;
    flex: 1;
  }

  .gnoce-mega-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .gnoce-mega-item {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--gn-text-dark);
    font-size: 13px;
    font-weight: 500;
    transition: color 0.15s;
  }

  .gnoce-mega-item:hover {
    color: var(--gn-warm);
  }

  .gnoce-mega-thumb {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--gn-warm-light);
    flex-shrink: 0;
    border: 1px solid var(--gn-warm-border);
  }


  /* 04 MOBILE MENU
    Style the native #sliding-menu offcanvas panel.
    ---------------------------------------------------------- */
  #sliding-menu {
    background: var(--gn-white) !important;
    font-family: var(--gn-font-main) !important;
  }

  /* ── CUSTOM MOBILE MENU — .gnoce-mobile-menu__* system ─────
    Activated when JS (initMobileMenu) rewrites #sliding-menu.
    Ported from old Gnoce.css mobile menu section.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    html.gnoce-mobile-menu--open,
    html.gnoce-mobile-menu--open body {
      overflow: hidden !important;
    }

    html body #sliding-menu.gnoce-mobile-menu {
      width: min(82vw, 420px) !important;
      max-width: 420px !important;
      height: 100vh !important;
      background: #fff !important;
      border: 0 !important;
      box-shadow: none !important;
      overflow: hidden !important;
    }

    @supports (height: 100dvh) {
      html body #sliding-menu.gnoce-mobile-menu {
        height: 100dvh !important;
      }
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__panel {
      display: flex !important;
      flex-direction: column !important;
      min-height: 100% !important;
      height: 100% !important;
      background: #fff !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__topbar {
      display: grid !important;
      grid-template-columns: 48px 1fr 48px !important;
      align-items: center !important;
      min-height: 58px !important;
      padding: 0 10px !important;
      border-bottom: 1px solid rgba(0,0,0,0.08) !important;
      flex-shrink: 0 !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__close,
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__back {
      appearance: none !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__close {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: 44px !important;
      height: 44px !important;
      padding: 0 !important;
      color: #111 !important;
      font-size: 30px !important;
      line-height: 1 !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__topbar-spacer {
      justify-self: center !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__account {
      justify-self: end !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 44px !important;
      height: 44px !important;
      color: #111 !important;
      text-decoration: none !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__account svg {
      display: block !important;
      width: 22px !important;
      height: 22px !important;
      fill: currentColor !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__main,
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__drilldown {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;
      -webkit-overflow-scrolling: touch !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__list {
      margin: 0 !important;
      padding: 12px 0 8px !important;
      list-style: none !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__item {
      margin: 0 !important;
      padding: 0 !important;
      border-bottom: 1px solid #f0ece8 !important;
      list-style: none !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__link {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      min-height: 50px !important;
      padding: 0 22px !important;
      color: #111 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 13.5px !important;
      font-weight: 500 !important;
      letter-spacing: 0.06em !important;
      line-height: 1.25 !important;
      text-align: left !important;
      text-decoration: none !important;
      text-transform: uppercase !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      appearance: none !important;
      cursor: pointer !important;
      box-sizing: border-box !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__link:hover {
      color: #c8795b !important;
      background: #fbf7f3 !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__link--promo {
      color: #d32f2f !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__chevron {
      color: #aaa !important;
      font-family: Arial, sans-serif !important;
      font-size: 22px !important;
      font-weight: 300 !important;
      line-height: 1 !important;
      flex-shrink: 0 !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__bottom {
      margin: 18px 22px 28px !important;
      padding-top: 18px !important;
      border-top: 1px solid rgba(0,0,0,0.10) !important;
      flex-shrink: 0 !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__bottom a {
      display: block !important;
      padding: 9px 0 !important;
      color: #111 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 13px !important;
      line-height: 1.4 !important;
      text-decoration: none !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__back {
      position: sticky !important;
      top: 0 !important;
      z-index: 2 !important;
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      min-height: 54px !important;
      padding: 0 22px !important;
      background: #fff !important;
      border-bottom: 1px solid rgba(0,0,0,0.08) !important;
      color: #111 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 13px !important;
      font-weight: 600 !important;
      letter-spacing: 0.06em !important;
      text-align: left !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      box-sizing: border-box !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__drilldown-content {
      padding: 16px 22px 28px !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__section {
      margin: 0 0 24px !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__section-title {
      display: block !important;
      margin: 0 0 12px !important;
      color: #9a8880 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      letter-spacing: 0.1em !important;
      line-height: 1.3 !important;
      text-decoration: none !important;
      text-transform: uppercase !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__section-title:hover {
      color: #c8795b !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__child {
      display: flex !important;
      align-items: center !important;
      gap: 12px !important;
      min-height: 44px !important;
      padding: 5px 0 !important;
      color: #111 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 14px !important;
      font-weight: 400 !important;
      text-decoration: none !important;
      border-bottom: 1px solid #f5f1ed !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__child:hover {
      color: #c8795b !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__thumb {
      flex: 0 0 36px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 36px !important;
      height: 36px !important;
      border-radius: 50% !important;
      background: #f3eee9 !important;
      overflow: hidden !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__thumb img {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
    }

    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__child-title {
      color: #111 !important;
      font-family: var(--gn-font-main, Poppins, Arial, sans-serif) !important;
      font-size: 13.5px !important;
      font-weight: 400 !important;
      line-height: 1.35 !important;
    }
  }


  /* 05 HOME PAGE
    ---------------------------------------------------------- */
  /* Video hero */
  .home-video-section.gnoce-video-hero {
    position: relative;
    overflow: hidden;
  }

  .gnoce-video-hero-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 40px 60px;
    background: none;
    color: var(--gn-white);
    pointer-events: none;
  }

  .gnoce-video-hero-content > * {
    pointer-events: auto;
  }

  .gnoce-video-hero-kicker {
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin: 0 0 12px;
    opacity: 0.85;
  }

  .gnoce-video-hero-title {
    font-family: var(--gn-font-heading) !important;
    font-size: clamp(28px, 3.5vw, 52px);
    font-weight: 400;
    margin: 0 0 14px;
    line-height: 1.1;
  }

  .gnoce-video-hero-copy {
    font-size: 15px;
    max-width: 380px;
    margin: 0 0 24px;
    line-height: 1.55;
    opacity: 0.9;
  }

  .gnoce-video-hero-button {
    display: inline-block;
    padding: 11px 28px;
    background: var(--gn-white);
    color: var(--gn-text-dark);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.04em;
    transition: background 0.2s, color 0.2s;
  }

  .gnoce-video-hero-button:hover {
    background: var(--gn-warm);
    color: var(--gn-white);
  }

  /* Home category sections — visual styling only, do not change Swiper layout */
  .home-categories-section .category-item-content-box h3,
  .home-categories-section .category-name {
    font-family: var(--gn-font-main) !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--gn-text-dark);
  }

  /* Home product section titles */
  .home-products .home-section-title,
  .home-products .home-section-sub-title {
    font-family: var(--gn-font-heading) !important;
    font-weight: 400;
  }

  /* Service strip: hide retired item (JS adds class) */
  .home-features-section .box-feat.gnoce-remove-service {
    display: none !important;
  }


  /* 06 PRODUCT CARDS
    ---------------------------------------------------------- */
  .product-item {
    position: relative;
  }

  .product-image {
    position: relative;
    overflow: hidden;
  }

  /* Product card titles */
  .product-card-title,
  .product-name {
    font-family: var(--gn-font-main) !important;
    font-size: 13px;
    font-weight: 500;
    color: var(--gn-text-dark);
  }

  /* Zero-price card: hide price and spec rows (JS adds .gnoce-zero-price) */
  .product-item.gnoce-zero-price .product-price,
  .product-item.gnoce-zero-price .section-product-price,
  .product-item.gnoce-zero-price .product-crd-spec {
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Shipping badge (injected by JS on PDP) */
  .gnoce-shipping-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: fit-content !important;
    margin: 10px 0 12px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--gn-warm-border) !important;
    border-radius: 999px !important;
    background: var(--gn-warm-light) !important;
    color: var(--gn-text-dark) !important;
    font-family: var(--gn-font-main) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }


  /* 07 CATEGORY PAGE
    Scoped to body[data-template="category"]
    ---------------------------------------------------------- */
  body[data-template="category"] .hero-page {
    background-image: none !important;
    background-color: var(--gn-white) !important;
    min-height: unset !important;
    padding: 0 !important;
  }

  body[data-template="category"] .hero-page::before,
  body[data-template="category"] .hero-page::after {
    display: none !important;
  }

  #gnoce-cat-hero {
    background: var(--gn-white) !important;
    padding: 0 !important;
    min-height: unset !important;
  }

  /* Breadcrumb — premium style, applies on all pages with .breadcrumb-section */
  .breadcrumb-section {
    background: #faf8f5 !important;
    border-bottom: 1px solid #ede8e3 !important;
    padding: 0 !important;
  }

  .breadcrumb-section nav {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
  }

  .breadcrumb-section .breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    list-style: none !important;
  }

  .breadcrumb-section .breadcrumb .container-lg {
    max-width: none !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
  }

  .breadcrumb-section .breadcrumb-item {
    font-family: var(--gn-font-main) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
    color: #9e9892 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .breadcrumb-section .breadcrumb-item a {
    color: #9e9892 !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
  }

  .breadcrumb-section .breadcrumb-item a:hover {
    color: var(--gn-warm) !important;
  }

  .breadcrumb-section .breadcrumb-item.active,
  .breadcrumb-section .breadcrumb-item.active a {
    color: #3a3632 !important;
    font-weight: 500 !important;
  }

  .breadcrumb-section .breadcrumb-item + .breadcrumb-item::before {
    content: "/" !important;
    display: inline-block !important;
    margin: 0 8px !important;
    color: #c4beb8 !important;
    font-size: 11px !important;
    font-weight: 300 !important;
    vertical-align: baseline !important;
    padding: 0 !important;
  }

  .breadcrumb-section .breadcrumb-item + .breadcrumb-item {
    padding-left: 0 !important;
  }

  @media (max-width: 991px) {
    .breadcrumb-section .breadcrumb-item {
      font-size: 10px !important;
      letter-spacing: 0.07em !important;
    }

    .breadcrumb-section .breadcrumb-item + .breadcrumb-item::before {
      margin: 0 6px !important;
      font-size: 10px !important;
    }

    .breadcrumb-section nav {
      padding: 0 14px !important;
    }
  }

  /* Cover banner image (created by JS as <img class="gnoce-cat-banner">) */
  .gnoce-cat-banner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 460px !important;
    object-fit: cover !important;
  }

  /* Content row: title/description above, subcategories strip below (full-width) */
  .gnoce-cat-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 24px 0 16px;
  }

  .gnoce-cat-row--no-subs {
    gap: 0;
  }

  .hero-page-content {
    flex: none;
  }

  .hero-page-content .title,
  .hero-page-content h1 {
    font-family: var(--gn-font-heading) !important;
    font-size: clamp(22px, 3vw, 36px);
    font-weight: 400;
    color: var(--gn-text-dark);
    margin: 0 0 8px;
  }

  .hero-page-content .describtion,
  .hero-page-content .description {
    font-size: 14px;
    color: var(--gn-text-mid);
    line-height: 1.6;
    margin: 0;
  }

  /* Subcategory section: full-width strip */
  .gnoce-cat-row .page-categories-section {
    flex-shrink: 1;
    width: 100%;
  }

  body[data-template="category"] .page-categories-section {
    padding: 0;
    margin: 0;
  }

  /* Subcategory scroll strip (JS adds .gnoce-subcat-strip after destroying Slick) */
  body[data-template="category"] .gnoce-subcat-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x proximity !important;
    gap: 10px !important;
    padding: 4px 0 14px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
    list-style: none !important;
  }

  body[data-template="category"] .gnoce-subcat-strip::-webkit-scrollbar {
    display: none !important;
  }

  /* Each item: exactly 1/6 visible on desktop */
  body[data-template="category"] .gnoce-subcat-strip > .category-item {
    flex: 0 0 calc((100% - 50px) / 6) !important;
    width: calc((100% - 50px) / 6) !important;
    min-width: 0 !important;
    max-width: none !important;
    scroll-snap-align: start !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* Item link (image variant) */
  body[data-template="category"] .gnoce-subcat-strip .category-item > a:not(.gnoce-subcat-noimg) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 4px !important;
    text-decoration: none !important;
    color: var(--gn-text-dark) !important;
    border-radius: 8px !important;
    transition: background 0.2s !important;
  }

  body[data-template="category"] .gnoce-subcat-strip .category-item > a:not(.gnoce-subcat-noimg):hover {
    background: var(--gn-warm-light) !important;
  }

  /* Subcategory thumbnail image */
  body[data-template="category"] .gnoce-subcat-strip .category-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 80px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    margin: 0 auto !important;
  }

  /* Category name text block */
  body[data-template="category"] .gnoce-subcat-strip .category-item .category-item-content-box {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    padding: 0 !important;
    display: block !important;
  }

  body[data-template="category"] .gnoce-subcat-strip .category-item .category-item-content-box h3,
  body[data-template="category"] .gnoce-subcat-strip .category-item .category-item-content-box span,
  body[data-template="category"] .gnoce-subcat-strip .category-item .category-name {
    font-family: var(--gn-font-main) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--gn-text-dark) !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }

  /* Text-only pill: fill item width */
  body[data-template="category"] .gnoce-subcat-strip .category-item a.gnoce-subcat-noimg {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Text-only subcategory pill (JS adds .gnoce-subcat-noimg when image is invalid) */
  .category-item a.gnoce-subcat-noimg {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    background: var(--gn-warm-light) !important;
    border: 1px solid var(--gn-warm-border) !important;
    border-radius: 999px !important;
    color: var(--gn-text-dark) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    white-space: nowrap;
  }

  .category-item a.gnoce-subcat-noimg:hover {
    background: var(--gn-warm-border) !important;
  }

  /* Hide invalid image inside text pill */
  .category-item a.gnoce-subcat-noimg img {
    display: none !important;
  }

  @media (max-width: 991px) {
    /* Each item: exactly 1/3 visible on mobile */
    body[data-template="category"] .gnoce-subcat-strip > .category-item {
      flex: 0 0 calc((100% - 20px) / 3) !important;
      width: calc((100% - 20px) / 3) !important;
      min-width: 0 !important;
      max-width: none !important;
    }

    body[data-template="category"] .gnoce-subcat-strip .category-item img {
      max-height: 60px !important;
    }

    body[data-template="category"] .gnoce-subcat-strip .category-item .category-item-content-box h3,
    body[data-template="category"] .gnoce-subcat-strip .category-item .category-item-content-box span,
    body[data-template="category"] .gnoce-subcat-strip .category-item .category-name {
      font-size: 10px !important;
    }
  }


  /* 08 PRODUCT DETAIL PAGE
    Scoped to .products-details-page
    ---------------------------------------------------------- */

  /* Duplicate description (JS adds .gnoce-duplicate-description) */
  .gnoce-duplicate-description {
    display: none !important;
  }

  /* USP bar (injected by JS above the description) */
  .gnoce-usp-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 0 0 18px;
    padding: 14px 16px;
    background: var(--gn-warm-light);
    border: 1px solid var(--gn-warm-border);
    border-radius: 8px;
  }

  .gnoce-usp-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--gn-text-dark);
  }

  .gnoce-usp-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--gn-warm);
  }

  /* Gallery arrows and dots */
  .col-product-image-wrapper {
    position: relative;
  }

  .gnoce-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 34px;
    height: 34px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--gn-warm-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
  }

  .gnoce-gallery-arrow:hover {
    background: var(--gn-warm);
    border-color: var(--gn-warm);
    color: var(--gn-white);
  }

  .gnoce-gallery-prev {
    left: 10px;
  }

  .gnoce-gallery-next {
    right: 10px;
  }

  .gnoce-gallery-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    z-index: 10;
  }

  .gnoce-gallery-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.8);
    cursor: pointer;
    padding: 0;
    transition: background 0.15s;
  }

  .gnoce-gallery-dot.active {
    background: var(--gn-white);
  }

  /* Notify me form (JS adds .gnoce-notify-section on container, .gnoce-notify-form on inner box) */
  .gnoce-notify-form {
    background: var(--gn-warm-light) !important;
    border: 1px solid var(--gn-warm-border) !important;
    border-radius: 10px !important;
    padding: 20px !important;
  }

  .gnoce-notify-subtitle {
    font-size: 13px;
    color: var(--gn-text-mid);
    margin: 4px 0 12px;
    line-height: 1.5;
  }

  /* OOS message heading above the notify form */
  .gnoce-notify-section h4:first-of-type {
    font-family: var(--gn-font-main) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gn-warm) !important;
    margin-bottom: 16px !important;
    letter-spacing: 0.01em !important;
  }

  /* Notify form: scoped heading */
  .gnoce-notify-section .gnoce-notify-form h4 {
    font-family: var(--gn-font-heading) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    margin-bottom: 14px !important;
  }

  /* Notify form: subtitle */
  .gnoce-notify-section .gnoce-notify-form .gnoce-notify-subtitle {
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    color: #8a8580 !important;
    margin: -8px 0 16px !important;
    line-height: 1.5 !important;
  }

  /* Notify form: text inputs */
  .gnoce-notify-section .gnoce-notify-form input[type="text"],
  .gnoce-notify-section .gnoce-notify-form input[type="email"],
  .gnoce-notify-section .gnoce-notify-form input[type="tel"],
  .gnoce-notify-section .gnoce-notify-form input[type="number"],
  .gnoce-notify-section .gnoce-notify-form input:not([type="hidden"]) {
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    border: 1px solid #d4d0cc !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    height: 46px !important;
    transition: border-color 0.15s !important;
  }

  .gnoce-notify-section .gnoce-notify-form input:focus {
    border-color: var(--gn-warm) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200, 121, 91, 0.12) !important;
  }

  /* Notify form: submit button */
  .gnoce-notify-section .gnoce-notify-form button {
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    background: var(--gn-warm) !important;
    color: var(--gn-white) !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 24px !important;
    height: 44px !important;
    cursor: pointer !important;
    letter-spacing: 0.03em !important;
    transition: background 0.2s !important;
  }

  .gnoce-notify-section .gnoce-notify-form button:hover {
    background: #b8694d !important;
  }

  /* Quantity input: prevent values below 1 visually */
  input.input-number[name="quantity"] {
    min-width: 52px;
    text-align: center;
  }

  /* ── PDP: hide isolated shipping badge from price area ──────
    initPdp injects .gnoce-shipping-badge beside the price. The
    main USP bar below the description already shows this info.
    Scoped to .col-product-info so product-card badges are unaffected. */
  .col-product-info .gnoce-shipping-badge {
    display: none !important;
  }

  /* ── PDP: price alignment ───────────────────────────────────
    Zid may render a .flex-row-reverse wrapper that pushes the
    price to the right. Force normal left-to-right flow. */
  .products-details .col-product-info > section > div.flex-row-reverse,
  .products-details-page .col-product-info > section > div.flex-row-reverse {
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }

  .col-product-info h2.product-formatted-price {
    display: block !important;
    text-align: left !important;
    flex-shrink: 0 !important;
  }

  /* ── PDP: sticky ATC — static (in-place) mode ───────────────
    JS adds .gnoce-atc-inplace to section.fixed when the ATC
    area is still visible. Override native position:fixed/sticky
    so the section flows normally in the page.
    When JS removes the class (user scrolled past), native
    position:fixed takes over and the bar sticks at the bottom. */
  section.fixed.gnoce-atc-inplace {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    z-index: auto !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
    border-radius: 0 !important;
  }

  /* Hide the redundant price/wishlist row inside the static ATC
     (price is already visible above in the normal product layout) */
  section.fixed.gnoce-atc-inplace .gnoce-atc-price-row {
    display: none !important;
  }

  /* ── PDP: Size label row — flex layout ──────────────────────
    JS adds .gnoce-pdp-size-label-row to the form-group that
    wraps the Size label, making it flex so the Size Guide link
    appears opposite (right side). */
  .col-product-info .gnoce-pdp-size-label-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 6px !important;
  }

  /* Size Guide link */
  .col-product-info .gnoce-pdp-size-guide-link {
    font-family: var(--gn-font-main) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--gn-warm) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    text-decoration-thickness: 1px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  .col-product-info .gnoce-pdp-size-guide-link:hover {
    color: var(--gn-text-dark) !important;
  }

  /* ── PDP: Size guide modal ───────────────────────────────────
    iframe modal opened by clicking the Size Guide link.
    Closed by backdrop click, × button, or Escape key.
    Body scroll locked while open via html.gnoce-size-guide-open. */
  .gnoce-size-guide-modal[hidden] {
    display: none !important;
  }

  .gnoce-size-guide-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10020 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
  }

  .gnoce-size-guide-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(17, 17, 17, 0.45) !important;
    cursor: pointer !important;
  }

  .gnoce-size-guide-panel {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    width: min(860px, 100%) !important;
    height: min(760px, 88vh) !important;
    padding: 22px !important;
    border: 1px solid var(--gn-warm-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 22px 70px rgba(17, 17, 17, 0.2) !important;
    outline: none !important;
    box-sizing: border-box !important;
  }

  .gnoce-size-guide-panel h2 {
    flex: 0 0 auto !important;
    margin: 0 44px 14px 0 !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: #111 !important;
    line-height: 1.1 !important;
  }

  .gnoce-size-guide-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    border: 1px solid var(--gn-warm-border) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--gn-text-dark) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .gnoce-size-guide-close:hover {
    background: var(--gn-warm-light) !important;
  }

  .gnoce-size-guide-content {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    border: 1px solid #f0e7e1 !important;
    border-radius: 6px !important;
    padding: 16px 20px !important;
    min-height: 100px !important;
    background: #fff !important;
    color: #111 !important;
  }

  .gnoce-size-guide-content img {
    max-width: 100% !important;
    height: auto !important;
  }

  .gnoce-size-guide-content table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  .gnoce-size-guide-content td,
  .gnoce-size-guide-content th {
    padding: 6px 10px !important;
    border: 1px solid #eadfd8 !important;
  }

  /* Body scroll lock while size guide modal is open */
  html.gnoce-size-guide-open,
  html.gnoce-size-guide-open body {
    overflow: hidden !important;
  }

  @media (max-width: 575px) {
    .gnoce-size-guide-panel {
      padding: 16px !important;
      height: min(100%, 92vh) !important;
    }
  }


  /* 09 FOOTER
    ---------------------------------------------------------- */
  footer.main-footer {
    font-family: var(--gn-font-main) !important;
  }

  /* Social column (JS adds .gnoce-footer-social-column) */
  .gnoce-footer-social-column {
    align-items: center !important;
    text-align: center;
  }

  footer.main-footer .social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }

  footer.main-footer .social-icons a[href^="tel:"],
  footer.main-footer .gnoce-footer-social-column a[href^="tel:"] {
    display: none !important;
  }

  /* Replaced social links (JS injects SVG glyph + classes) */
  .gnoce-social-fixed {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--gn-warm-light) !important;
    border: 1px solid var(--gn-warm-border) !important;
    color: var(--gn-text-dark) !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s !important;
    flex-shrink: 0;
  }

  .gnoce-social-fixed:hover {
    background: var(--gn-warm) !important;
    color: var(--gn-white) !important;
    border-color: var(--gn-warm) !important;
  }

  .gnoce-social-glyph {
    width: 18px;
    height: 18px;
    fill: currentColor;
    display: block;
  }

  /* GET SUPPORT desktop column */
  .gnoce-footer-support h5 {
    font-family: var(--gn-font-heading) !important;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 16px;
    color: var(--gn-text-dark);
  }

  .gnoce-footer-support-block {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-bottom: 14px;
  }

  .gnoce-footer-support-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--gn-text-light);
    margin-bottom: 2px;
  }

  .gnoce-footer-support a,
  .gnoce-footer-support span:not(.gnoce-footer-support-label) {
    font-size: 13px;
    color: var(--gn-text-dark);
    text-decoration: none;
    display: block;
    line-height: 1.6;
  }

  .gnoce-footer-support a:hover {
    color: var(--gn-warm);
  }

  /* Hide the extra empty footer column */
  .gnoce-footer-empty {
    display: none !important;
  }

  /* Bottom bar (injected by JS) */
  .gnoce-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 16px;
    border-top: 1px solid var(--gn-warm-border);
    font-size: 12px;
    color: var(--gn-text-light);
    text-align: center;
    width: 100%;
    flex-wrap: wrap;
  }

  .gnoce-footer-bottom a {
    color: var(--gn-text-mid);
    text-decoration: none;
  }

  .gnoce-footer-bottom a:hover {
    color: var(--gn-warm);
  }

  /* Mobile accordion footer: section borders handled by accordion-item rules only */
  @media (max-width: 991px) {
    .footer-accordion .footer-section {
      border: 0 !important;
    }
  }


  /* 10 RESPONSIVE & UTILITIES
    ---------------------------------------------------------- */

  /* Stuck loader hiding (safety net) */
  #initial-loader.initial-loader.is-hidden {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* JS failsafe adds this class after timeout when loader is confirmed stuck */
  .gnoce-loader-force-hidden {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }

  /* Show hidden nav items on large screens */
  @media (min-width: 992px) {
    #fixed-header .main-nav > li.top-level-link.d-none {
      display: list-item !important;
    }
    /* Hide the placeholder # nav item */
    #fixed-header .main-nav > li.top-level-link:has(> a[href="#"]) {
      display: none !important;
    }
  }

  /* Video hero: mobile */
  @media (max-width: 767px) {
    .gnoce-video-hero-content {
      padding: 24px 20px;
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, transparent 90%);
    }

    .gnoce-video-hero-title {
      font-size: 22px;
    }

    .gnoce-video-hero-button {
      padding: 9px 20px;
      font-size: 12px;
    }
  }

  /* Category page: mobile */
  @media (max-width: 767px) {
    .gnoce-cat-row {
      flex-direction: column;
      gap: 12px;
      padding: 16px 0 12px;
    }

    .gnoce-cat-banner {
      max-height: 220px !important;
    }
  }

  /* PDP gallery arrows: smaller on mobile */
  @media (max-width: 767px) {
    .gnoce-gallery-arrow {
      width: 28px;
      height: 28px;
    }

    .gnoce-gallery-prev {
      left: 6px;
    }

    .gnoce-gallery-next {
      right: 6px;
    }
  }

  /* PDP USP bar: compact on small screens */
  @media (max-width: 575px) {
    .gnoce-usp-bar {
      gap: 8px 14px;
      padding: 12px 12px;
    }

    .gnoce-usp-item {
      font-size: 11.5px;
    }
  }

  /* Footer bottom bar: stack on mobile */
  @media (max-width: 767px) {
    .gnoce-footer-bottom {
      flex-direction: column;
      gap: 6px;
      padding: 16px;
    }
  }


  /* ==========================================================
    VISUAL PARITY SPRINT — extended rules
    Restores approved visual design from reference.
    All rules are scoped. No cart drawer. No Swiper transforms.
    ========================================================== */

  /* ── HEADER: nav uppercase + hover underline ── */
  .main-nav > li.top-level-link > a {
    font-family: var(--gn-font-main) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 6px 10px !important;
    color: #1a1a1a !important;
    position: relative !important;
    transition: color 0.15s !important;
  }

  ul.main-nav > li > a,
  ul.main-nav > li.top-level-link > a {
    color: #1a1a1a !important;
  }

  .main-nav > li.top-level-link > a:hover,
  .main-nav > li.top-level-link.gnoce-dd-open > a {
    color: #c98668 !important;
  }

  .main-nav > li.top-level-link > a::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 10px !important;
    right: 10px !important;
    height: 2px !important;
    background: #c98668 !important;
    transform: scaleX(0) !important;
    transition: transform 0.18s ease !important;
  }

  .main-nav > li.top-level-link > a:hover::after,
  .main-nav > li.top-level-link.gnoce-dd-open > a::after {
    transform: scaleX(1) !important;
  }

  /* Nav: force wrap, keep all items visible */
  #fixed-header .main-nav {
    flex-wrap: wrap !important;
    justify-content: center !important;
    overflow: visible !important;
    max-height: none !important;
    row-gap: 2px !important;
  }

  #fixed-header .main-nav > li.top-level-link {
    flex: 0 0 auto !important;
  }

  /* Hide "Shop All" trigger item (the # href nav item) */
  .main-nav > li.top-level-link:has(> a[href="#"]) {
    overflow: hidden !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Mobile header min-height */
  @media (max-width: 991px) {
    body > .header,
    .app > .header,
    body #fixed-header {
      min-height: 64px !important;
      padding-top: 8px !important;
      padding-bottom: 8px !important;
    }

    #fixed-header .header-logo img,
    #fixed-header .header-logo .image-logo {
      max-height: 42px !important;
      max-width: 188px !important;
      width: auto !important;
      object-fit: contain !important;
    }
  }

  /* Hide region/locale dialog */
  .zid-kit-region-settings-dialog {
    display: none !important;
  }

  /* Loader spinners: ensure proper size */
  .search-loader,
  .heart-loader,
  img[src*="spinner.gif"] {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    object-fit: contain !important;
  }

  #search-loading-container {
    min-height: 72px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ── MEGA MENU: container padding + column headers ── */
  .main-dropdown-menu > .container-lg {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 40px 26px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  .main-dropdown-menu {
    background: #fff !important;
    border-top: 1px solid #e8e3de !important;
    box-shadow: rgba(204, 141, 108, 0.45) 0px 14px 12px -14px !important;
  }

  .gnoce-mega-heading {
    display: flex !important;
    align-items: center !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #ede8e3 !important;
    width: 100% !important;
  }

  .gnoce-mega-heading a {
    color: #111 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;
    display: block !important;
  }

  .gnoce-mega-heading a:hover {
    color: #c98668 !important;
  }

  .gnoce-mega-columns {
    display: flex !important;
    width: 100% !important;
    gap: 28px !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
  }

  .gnoce-mega-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 150px !important;
    flex: 1 !important;
  }

  .gnoce-mega-col--wide {
    flex: 2 !important;
    min-width: 300px !important;
  }

  .gnoce-mega-col--wide .gnoce-mega-col-items {
    columns: 2 !important;
    column-gap: 24px !important;
    width: 100% !important;
  }

  a.gnoce-mega-col-header {
    display: block !important;
    color: #757575 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin-bottom: 10px !important;
    transition: color 0.13s !important;
  }

  a.gnoce-mega-col-header:hover {
    color: #c98668 !important;
  }

  .gnoce-mega-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 3px 0 !important;
    text-decoration: none !important;
    color: #111 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.3 !important;
    transition: color 0.13s !important;
    break-inside: avoid !important;
  }

  .gnoce-mega-item:hover {
    color: #c98668 !important;
  }

  .gnoce-mega-thumb {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 50% !important;
    background-color: #f5f0ea !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    position: relative !important;
  }

  .gnoce-mega-thumb img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 50% !important;
  }

  .gnoce-mega-item span {
    color: inherit !important;
  }


  /* ── HOME: category section — "Affordable Charms" 3-col grid ── */
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: #fbf7f3 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"]::before {
    content: "Affordable Charms, Your Story to Wear" !important;
    grid-column: 1 / -1 !important;
    display: block !important;
    color: #000 !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    text-align: center !important;
    margin: 36px 16px 28px !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .main-categories-box,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .home-categories-swiper,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .home-categories-swiper .swiper-wrapper {
    display: contents !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .main-categories-box:nth-of-type(n+3),
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .home-categories-swiper:nth-of-type(n+3) {
    display: none !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-scrollbar,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-notification {
    display: none !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item {
    width: auto !important;
    height: 242px !important;
    min-height: 242px !important;
    max-height: 242px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fbf7f3 !important;
    border-right: 1px solid #ddd8d3 !important;
    border-bottom: 1px solid #ddd8d3 !important;
    overflow: hidden !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 242px !important;
    padding: 18px 18px 28px !important;
    text-align: center !important;
    background: transparent !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a::before,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a::after {
    content: none !important;
    display: none !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
    display: block !important;
    width: auto !important;
    max-width: 70% !important;
    height: 138px !important;
    object-fit: contain !important;
    margin: 0 auto 14px !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    color: #000 !important;
    text-align: center !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
    color: #000 !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    margin: 0 !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box span {
    display: none !important;
  }

  @media (min-width: 992px) {
    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .home-categories-swiper .category-item:nth-of-type(3) {
      border-right: 1px solid #ddd8d3 !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .home-categories-swiper .category-item:nth-of-type(4) {
      border-left: 1px solid #ddd8d3 !important;
    }
  }

  @media (max-width: 991px) {
    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 6px !important;
      padding: 32px 12px 0 !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"]::before {
      font-size: 28px !important;
      margin: 8px 10px 20px !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item {
      height: 136px !important;
      min-height: 136px !important;
      max-height: 136px !important;
      border: 0 !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
      height: 136px !important;
      padding: 10px 8px 14px !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
      max-width: 86% !important;
      height: 74px !important;
      margin-bottom: 7px !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
      font-size: 18px !important;
      line-height: 1.05 !important;
    }
  }

  /* ── HOME: gift categories section — "Explore Coveted Jewelry Gifts" 4-col grid ── */
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 16px !important;
    max-width: 1240px !important;
    margin: 0 auto 24px !important;
    padding: 30px 10px 24px !important;
    background: #fff !important;
    overflow: visible !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"]::before {
    content: "Explore Coveted Jewelry Gifts\A Everyone Desires" !important;
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 0 24px !important;
    color: #000 !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 30px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    text-align: center !important;
    white-space: pre-line !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .main-categories-box,
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper,
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper .swiper-wrapper {
    display: contents !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .swiper-scrollbar,
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .swiper-notification {
    display: none !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item,
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .swiper-slide {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    color: #000 !important;
    text-decoration: none !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item > a::before,
  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item > a::after {
    display: none !important;
    opacity: 0 !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    margin: 0 !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 0 0 !important;
    background: transparent !important;
    text-align: center !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    text-align: center !important;
    text-transform: none !important;
  }

  .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box span {
    display: none !important;
  }

  @media (max-width: 991px) {
    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] {
      display: block !important;
      margin-bottom: 48px !important;
      padding: 24px 6px 52px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .main-categories-box,
    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper,
    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper .swiper-wrapper {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 18px 6px !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      overflow: visible !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .main-categories-box {
      margin-bottom: 18px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"]::before {
      font-size: 28px !important;
      margin-bottom: 20px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box {
      padding-top: 6px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box h3 {
      font-size: 14px !important;
      line-height: 1.2 !important;
    }
  }

  /* ── HOME: product swiper LTR direction ── */
  .home-products .home-products-swiper {
    position: relative !important;
    direction: ltr !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .home-products .home-products-swiper > .swiper-wrapper {
    direction: ltr !important;
  }

  /* ── HOME: "Featured In" / partners strip ── */
  .home-partners-section {
    padding: 20px 0 16px !important;
    margin: 0 !important;
    background: #fff !important;
    border-top: 1px solid #eee5df !important;
    border-bottom: 1px solid #eee5df !important;
  }

  .home-partners-section .container-lg {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
  }

  .home-partners-section .section-slider-padding-space {
    padding: 0 !important;
    margin: 0 !important;
  }

  .home-partners-section .home-section-title {
    font-family: var(--gn-font-main) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #999 !important;
    text-align: center !important;
    margin: 0 0 12px !important;
  }

  .home-partners-section .home-section-sub-title {
    display: none !important;
  }

  .home-partners-section .partners-slider-wrapper {
    max-width: 900px !important;
    margin: 0 auto !important;
  }

  .home-partners-section .partners-slider .slick-list {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
  }

  .home-partners-section .partners-slider .slick-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    position: static !important;
  }

  .home-partners-section .partners-slider .slick-slide {
    display: flex !important;
    flex: 1 1 0 !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 12px !important;
  }

  .home-partners-section .partners-slider img {
    height: 32px !important;
    width: auto !important;
    max-width: 140px !important;
    object-fit: contain !important;
    filter: grayscale(100%) !important;
    opacity: 0.55 !important;
    transition: opacity 0.2s, filter 0.2s !important;
  }

  .home-partners-section .partners-slider img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
  }

  .home-partners-section .slick-arrow,
  .home-partners-section .slick-dots {
    display: none !important;
  }

  @media (max-width: 991px) {
    .home-partners-section { padding: 16px 0 14px !important; }
    .home-partners-section .home-section-title { font-size: 10px !important; margin-bottom: 10px !important; }
    .home-partners-section .partners-slider .slick-slide { padding: 0 10px !important; }
    .home-partners-section .partners-slider img { height: 26px !important; max-width: 110px !important; }
  }

  @media (max-width: 767px) {
    .home-partners-section .partners-slider-wrapper { max-width: 100% !important; }
    .home-partners-section .partners-slider .slick-track { flex-wrap: wrap !important; }
    .home-partners-section .partners-slider .slick-slide { flex: 0 0 50% !important; width: 50% !important; padding: 8px 10px !important; }
    .home-partners-section .partners-slider img { height: 20px !important; max-width: 80px !important; }
  }

  /* ── HOME: video/story hero section ── */
  body[data-template="home"] .home-video-section.gnoce-video-hero {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: clamp(560px, 72vh, 820px) !important;
    margin: 64px 0 !important;
    padding: clamp(56px, 8vw, 112px) clamp(22px, 7vw, 120px) !important;
    overflow: hidden !important;
    background: #090807 !important;
    isolation: isolate !important;
  }

  body[data-template="home"] .home-video-section.gnoce-video-hero::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    /* overlay tint owned solely by E-1 (single source) */
    pointer-events: none !important;
  }

  body[data-template="home"] .home-video-section.gnoce-video-hero .plyr {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background: #090807 !important;
  }

  body[data-template="home"] .home-video-section.gnoce-video-hero .plyr:has(.js-player-mobile) {
    display: none !important;
  }

  body[data-template="home"] .home-video-section.gnoce-video-hero video,
  body[data-template="home"] .home-video-section.gnoce-video-hero iframe,
  body[data-template="home"] .home-video-section.gnoce-video-hero img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  body[data-template="home"] .home-video-section.gnoce-video-hero .plyr__controls,
  body[data-template="home"] .home-video-section.gnoce-video-hero .home-video-products {
    display: none !important;
  }

  body[data-template="home"] .gnoce-video-hero-content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: min(48%, 650px) !important;
    min-width: 320px !important;
    max-width: 650px !important;
    color: #fff !important;
    pointer-events: auto !important;
  }

  body[data-template="home"] .gnoce-video-hero-kicker {
    margin: 0 0 18px !important;
    color: rgba(255,255,255,0.9) !important;
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
  }

  body[data-template="home"] .gnoce-video-hero-title {
    margin: 0 !important;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(44px, 6vw, 86px) !important;
    line-height: 1.02 !important;
    font-weight: 400 !important;
    text-shadow: none !important;
  }

  body[data-template="home"] .gnoce-video-hero-copy {
    max-width: 540px !important;
    margin: 24px 0 36px !important;
    color: rgba(255,255,255,0.76) !important;
    font-family: var(--gn-font-main) !important;
    font-size: clamp(16px, 1.3vw, 20px) !important;
    line-height: 1.58 !important;
  }

  body[data-template="home"] .gnoce-video-hero-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 176px !important;
    min-height: 58px !important;
    padding: 0 36px !important;
    border: 1px solid #c8795b !important;
    border-radius: 999px !important;
    background: #c8795b !important;
    color: #fff !important;
    font-family: var(--gn-font-main) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease !important;
  }

  body[data-template="home"] .gnoce-video-hero-button:hover {
    background: #fff !important;
    border-color: #fff !important;
    color: #111 !important;
    transform: translateY(-2px) !important;
  }

  @media (max-width: 991px) {
    body[data-template="home"] .home-video-section.gnoce-video-hero {
      min-height: 560px !important;
      margin: 40px 0 !important;
      padding: 52px 22px !important;
    }

    body[data-template="home"] .gnoce-video-hero-content {
      width: 100% !important;
      min-width: 0 !important;
      max-width: 560px !important;
    }

    body[data-template="home"] .gnoce-video-hero-title {
      font-size: clamp(24px, 5.5vw, 38px) !important;
      margin-bottom: 20px !important;
    }

    body[data-template="home"] .gnoce-video-hero-button {
      width: auto !important;
      max-width: none !important;
      min-height: 44px !important;
      padding: 10px 28px !important;
    }
  }

  /* ── PRODUCT CARDS: full grid layout ── */
  .product-item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    height: 100% !important;
    min-height: var(--gn-product-card-min-height) !important;
    padding: 0 !important;
    gap: 0 !important;
    background: #fbf7f3 !important;
    overflow: hidden !important;
  }

  .product-item,
  .product-item * {
    box-sizing: border-box !important;
  }

  .product-item .product-image {
    position: relative !important;
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fbf7f3 !important;
    contain: layout !important;
  }

  .product-item .product-image-actions,
  .product-item .add-to-wishlist,
  .product-item .show-quick-view,
  .product-item .product-rating {
    display: none !important;
  }

  .product-item .product-image a,
  .product-item .product-image-desktop,
  .product-item .product-image-mobile,
  .product-item .product-image-mobile .swiper,
  .product-item .product-image-mobile .swiper-wrapper,
  .product-item .product-image-mobile .swiper-slide {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .product-item .product-image img,
  .product-item img.product-image-element {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* product card hover swap handled in the rules above (section 06) */

  /* Product card content area */
  .product-item .product-item-content {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    column-gap: 10px !important;
    row-gap: 8px !important;
    width: 100% !important;
    min-height: var(--gn-product-content-min-height) !important;
    padding: 14px 14px 16px !important;
    background: #fbf7f3 !important;
  }

  .product-item .product-item-content > a:empty {
    display: none !important;
  }

  /* Product spec: rose-gold uppercase */
  .product-item .product-crd-spec {
    order: 2 !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #c8795b !important;
    font-family: var(--gn-font-main) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    visibility: visible !important;
    overflow: hidden !important;
  }

  .product-item .product-crd-spec::before,
  .product-item .product-crd-spec::after {
    content: none !important;
    display: none !important;
  }

  /* Product title: black, full width */
  .product-item .product-title {
    order: 1 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: var(--gn-product-title-min-height) !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Product price: rose-gold */
  .product-item .product-price,
  .product-item .section-product-price {
    order: 2 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-height: 22px !important;
    color: #c8795b !important;
    font-family: var(--gn-font-main) !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    text-align: left !important;
    display: flex !important;
    visibility: visible !important;
    margin: 0 !important;
  }

  /* Product actions: right-aligned */
  .product-item .product-item-actions {
    order: 3 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
  }

  /* Mobile card sizing tokens */
  @media (max-width: 767px) {
    :root {
      --gn-product-card-min-height: 398px;
      --gn-product-content-min-height: 154px;
      --gn-product-title-min-height: 38px;
      --gn-product-btn-max-width: none;
      --gn-product-btn-height: 36px;
    }
  }

  /* Mobile product visibility restore (touch devices) */
  @media (hover: none), (pointer: coarse) {
    .home-products,
    .featured-products,
    .home-products .home-products-swiper,
    .home-products .product-item,
    .featured-products .product-item,
    .home-products .product-image,
    .home-products .product-image-mobile,
    .featured-products .product-image {
      opacity: 1 !important;
      visibility: visible !important;
    }

    .home-products .product-item img,
    .home-products img,
    .featured-products .product-item img,
    .featured-products img {
      opacity: 1 !important;
      visibility: visible !important;
    }

  }

  /* ── CATEGORY: enhanced hero (ID scoped for high specificity) ── */
  #gnoce-cat-hero {
    display: block !important;
    position: relative !important;
    min-height: 0 !important;
    height: auto !important;
    background: #fff !important;
    background-image: none !important;
    padding: 0 !important;
  }

  #gnoce-cat-hero::before,
  #gnoce-cat-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  #gnoce-cat-hero .gnoce-cat-banner {
    display: block !important;
    width: 100% !important;
    height: 460px !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f5f0ea !important;
  }

  #gnoce-cat-hero.gnoce-hero--no-cover .gnoce-cat-banner {
    display: none !important;
  }

  #gnoce-cat-hero .gnoce-cat-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 34px 20px 30px !important;
    box-sizing: border-box !important;
  }

  #gnoce-cat-hero .gnoce-cat-row .hero-page-content {
    position: static !important;
    flex: none !important;
    min-width: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  #gnoce-cat-hero .gnoce-cat-row .hero-page-content .title,
  #gnoce-cat-hero .gnoce-cat-row .hero-page-content h1 {
    position: static !important;
    color: #1a1a1a !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 36px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    text-align: left !important;
    text-shadow: none !important;
    margin: 0 !important;
  }

  #gnoce-cat-hero .gnoce-cat-row .hero-page-content .describtion,
  #gnoce-cat-hero .gnoce-cat-row .hero-page-content .description {
    margin: 14px 0 0 !important;
    max-width: 600px !important;
    color: #6b6b6b !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  #gnoce-cat-hero .gnoce-cat-row--no-subs {
    justify-content: center !important;
  }

  #gnoce-cat-hero .gnoce-cat-row--no-subs .hero-page-content {
    flex: 0 1 auto !important;
    text-align: center !important;
  }

  #gnoce-cat-hero .gnoce-cat-row .page-categories-section {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Category breadcrumb: clean, above banner */
  #gnoce-cat-hero .breadcrumb-section {
    position: static !important;
    background: transparent !important;
    padding: 14px 0 10px !important;
  }

  /* hero-page background fix */
  .hero-page {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
  }

  /* ── CATEGORY: subcategory horizontal scroll row ── */
  body[data-template="category"] .page-categories-section {
    padding: 0 !important;
  }

  body[data-template="category"] .page-categories-section .categories-slider-wrapper {
    position: static !important;
  }

  body[data-template="category"] .page-categories-section .container-lg {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body[data-template="category"] .page-categories-section .slick-arrow {
    display: none !important;
  }

  body[data-template="category"] .page-categories-section .slick-list,
  body[data-template="category"] .page-categories-section .slick-track,
  body[data-template="category"] .page-categories-section .slick-slide {
    display: contents !important;
    width: auto !important;
    height: auto !important;
  }

  body[data-template="category"] .page-categories-section .categories-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0 16px !important;
    width: auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    scrollbar-color: #d4d0cc transparent !important;
    padding-bottom: 4px !important;
  }

  body[data-template="category"] .page-categories-section .categories-slider::-webkit-scrollbar {
    height: 3px !important;
  }

  body[data-template="category"] .page-categories-section .categories-slider::-webkit-scrollbar-thumb {
    background: #d4d0cc !important;
    border-radius: 2px !important;
  }

  body[data-template="category"] .page-categories-section .category-item {
    display: block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
  }

  body[data-template="category"] .page-categories-section .category-item > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: auto !important;
    min-width: 56px !important;
    max-width: 80px !important;
    padding: 0 !important;
    text-decoration: none !important;
    color: #1a1a1a !important;
  }

  body[data-template="category"] .page-categories-section .category-item img {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    background: #f5f0ea !important;
    margin: 0 0 6px !important;
  }

  body[data-template="category"] .page-categories-section .category-item > a.gnoce-subcat-noimg {
    flex-direction: row !important;
    max-width: none !important;
    min-width: 0 !important;
    background: #f5f0ea !important;
    border-radius: 999px !important;
    padding: 7px 16px !important;
    white-space: nowrap !important;
    transition: background 0.15s !important;
  }

  body[data-template="category"] .page-categories-section .category-item > a.gnoce-subcat-noimg:hover {
    background: #ede8e3 !important;
  }

  body[data-template="category"] .page-categories-section .category-item h3 {
    margin: 0 !important;
    max-width: 80px !important;
    color: #1a1a1a !important;
    font-family: var(--gn-font-main) !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  body[data-template="category"] .page-categories-section .category-item > a.gnoce-subcat-noimg h3 {
    max-width: none !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    font-weight: 500 !important;
  }

  body[data-template="category"] .page-categories-section .category-item > a:hover h3 {
    color: #c98668 !important;
  }

  @media (max-width: 991px) {
    #gnoce-cat-hero .gnoce-cat-banner {
      height: 210px !important;
    }

    #gnoce-cat-hero .gnoce-cat-row {
      flex-direction: column !important;
      gap: 22px !important;
      padding: 20px 14px 22px !important;
    }

    #gnoce-cat-hero .gnoce-cat-row .hero-page-content,
    #gnoce-cat-hero .gnoce-cat-row .hero-page-content .title {
      text-align: center !important;
    }

    #gnoce-cat-hero .gnoce-cat-row .page-categories-section {
      max-width: 100% !important;
      width: 100% !important;
    }

    #gnoce-cat-hero .gnoce-cat-row .page-categories-section .categories-slider,
    body[data-template="category"] .page-categories-section .categories-slider {
      justify-content: flex-start !important;
      gap: 0 12px !important;
    }

    body[data-template="category"] .page-categories-section .category-item > a {
      min-width: 48px !important;
      max-width: 70px !important;
    }

    body[data-template="category"] .page-categories-section .category-item img {
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      margin-bottom: 5px !important;
    }

    body[data-template="category"] .page-categories-section .category-item > a.gnoce-subcat-noimg {
      padding: 6px 12px !important;
    }

    body[data-template="category"] .page-categories-section .category-item h3 {
      max-width: 70px !important;
      font-size: 10.5px !important;
    }
  }

  /* ── CATEGORY: subcategory strip sizing override ───────────
    The parity sprint rule "...page-categories-section .category-item"
    (specificity 0,3,1, later in file) overrides the §07
    ".gnoce-subcat-strip > .category-item" rule (same specificity,
    earlier). Adding ".gnoce-subcat-strip" to the chain raises
    specificity to 0,4,1 so the 6-desktop / 3-mobile calc wins. */
  body[data-template="category"] .page-categories-section .gnoce-subcat-strip > .category-item {
    flex: 0 0 calc((100% - 50px) / 6) !important;
    width: calc((100% - 50px) / 6) !important;
    min-width: 0 !important;
    max-width: none !important;
    display: block !important;
  }

  @media (max-width: 991px) {
    body[data-template="category"] .page-categories-section .gnoce-subcat-strip > .category-item {
      flex: 0 0 calc((100% - 20px) / 3) !important;
      width: calc((100% - 20px) / 3) !important;
    }
  }

  /* ── FOOTER: token variables + full system ── */
  body[data-template="home"] .home-features-section,
  body footer.main-footer,
  html body footer.page-footer {
    --gn-footer-bg: #f8f4f1;
    --gn-footer-divider: rgba(0, 0, 0, 0.07);
    --gn-footer-text: #111;
    --gn-footer-muted: rgba(17, 17, 17, 0.56);
    --gn-footer-title-color: #d08b6f;
    --gn-footer-title-font: "Americana", Georgia, "Times New Roman", serif;
    --gn-footer-title-size: 19px;
    --gn-footer-title-weight: 400;
    --gn-footer-title-spacing: 0.06em;
    background: var(--gn-footer-bg) !important;
  }

  body footer.main-footer,
  html body footer.page-footer {
    color: var(--gn-footer-text) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: var(--gn-footer-bg) !important;
    background-image: none !important;
  }

  /* Footer store section reset */
  body footer.main-footer .footer-store-section,
  body footer.main-footer .footer-store-section > .container-lg {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  /* Hide Zid's default copyright bar */
  body footer.main-footer > .container-lg,
  body footer.main-footer .footer-copyrights-vat-certificate,
  body footer.main-footer .footer-section.gnoce-footer-empty,
  body footer.main-footer .footer-section:empty {
    display: none !important;
  }

  /* Footer grid */
  html body footer.main-footer .footer-box {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    column-gap: clamp(48px, 7vw, 112px) !important;
    row-gap: 0 !important;
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 34px 24px 20px !important;
    background: transparent !important;
    border: 0 !important;
  }

  /* Footer section columns */
  body footer.main-footer .footer-box > .footer-section,
  body footer.main-footer .footer-section.d-none.d-lg-block,
  body footer.main-footer .gnoce-footer-support {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  html body footer.main-footer .footer-section.d-none.d-lg-block:nth-of-type(2) {
    grid-column: 1 !important;
    order: 1 !important;
  }

  html body footer.main-footer .footer-section.d-none.d-lg-block:nth-of-type(3) {
    grid-column: 2 !important;
    order: 2 !important;
  }

  html body footer.main-footer .gnoce-footer-support {
    grid-column: 3 !important;
    order: 3 !important;
  }

  /* Social/brand column: spans full bottom row */
  html body footer.main-footer .footer-box > .footer-section:first-child {
    grid-column: 1 / -1 !important;
    order: 4 !important;
    align-self: start !important;
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--gn-footer-divider) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  /* Hide newsletter form inside social column */
  body footer.main-footer .footer-box > .footer-section:first-child::before,
  body footer.main-footer .footer-box > .footer-section:first-child h5,
  body footer.main-footer .footer-box > .footer-section:first-child h4,
  body footer.main-footer .footer-box > .footer-section:first-child form,
  body footer.main-footer .footer-box > .footer-section:first-child input {
    content: none !important;
    display: none !important;
  }

  /* Footer headings */
  html body footer.main-footer .footer-section h5,
  html body footer.main-footer .footer-section h4,
  html body footer.main-footer .footer-section h3,
  html body footer.main-footer .footer-section button,
  html body footer.main-footer .gnoce-footer-support h5,
  html body footer.main-footer .footer-box > .footer-section.d-none.d-lg-block > h5,
  html body footer.main-footer .footer-box > .footer-section.d-none.d-lg-block > h4 {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--gn-footer-title-color) !important;
    font-family: var(--gn-footer-title-font) !important;
    font-size: var(--gn-footer-title-size) !important;
    line-height: 1.2 !important;
    font-weight: var(--gn-footer-title-weight) !important;
    letter-spacing: var(--gn-footer-title-spacing) !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
    opacity: 1 !important;
  }

  /* Footer links */
  body footer.main-footer .footer-section ul,
  body footer.main-footer .footer-section li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body footer.main-footer .footer-section li {
    margin-bottom: 10px !important;
  }

  body footer.main-footer a,
  body footer.main-footer .footer-section p {
    color: var(--gn-footer-muted) !important;
    font-family: var(--gn-font-main) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    transition: opacity 0.18s ease !important;
  }

  body footer.main-footer a:hover {
    opacity: 0.6 !important;
  }

  /* Footer support block */
  html body footer.main-footer .gnoce-footer-support,
  html body footer.main-footer .gnoce-footer-support a,
  html body footer.main-footer .gnoce-footer-support span,
  html body footer.main-footer .gnoce-footer-support p {
    font-family: var(--gn-font-main) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }

  html body footer.main-footer .gnoce-footer-support .gnoce-footer-support-block {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin: 0 0 14px !important;
  }

  html body footer.main-footer .gnoce-footer-support .gnoce-footer-support-label {
    display: block !important;
    margin: 0 0 2px !important;
    color: var(--gn-footer-text) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
  }

  /* Social icons row */
  html body footer.main-footer .social-media-icons,
  html body footer.main-footer .footer-social-icons {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
  }

  html body footer.main-footer a[href*="facebook"],
  html body footer.main-footer a[href*="instagram"],
  html body footer.main-footer a[href*="tiktok"],
  html body footer.main-footer a[href*="pinterest"],
  html body footer.main-footer a[href*="twitter"],
  html body footer.main-footer a[href*="youtube"],
  html body footer.main-footer .social-media-icons a,
  html body footer.main-footer .footer-social-icons a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
  }

  html body footer.main-footer a[href*="facebook"] svg,
  html body footer.main-footer a[href*="instagram"] svg,
  html body footer.main-footer a[href*="tiktok"] svg,
  html body footer.main-footer a[href*="instagram"] img,
  html body footer.main-footer a[href*="facebook"] img,
  html body footer.main-footer .social-media-icons a img,
  html body footer.main-footer .social-media-icons a svg,
  html body footer.main-footer .footer-social-icons a img,
  html body footer.main-footer .footer-social-icons a svg {
    width: 22px !important;
    height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
  }

  /* Support contact links: not icon sized */
  html body footer.main-footer .gnoce-footer-support a[href^="tel:"],
  html body footer.main-footer .gnoce-footer-support a[href^="mailto:"],
  html body footer.main-footer .gnoce-footer-support a[href*="wa.me"] {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--gn-footer-text) !important;
    font-size: 14px !important;
  }

  /* Bottom copyright bar */
  html body footer.main-footer .gnoce-footer-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: min(100%, 1240px) !important;
    margin: 0 auto !important;
    padding: 12px 24px 18px !important;
    color: var(--gn-footer-muted) !important;
    font-family: var(--gn-font-main) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    border-top: 1px solid var(--gn-footer-divider) !important;
    opacity: 0.6 !important;
  }

  /* Hide privacy/terms from footer link lists */
  html body footer.main-footer .footer-box a[href*="privacy"],
  html body footer.main-footer .footer-box a[href*="terms"],
  html body footer.main-footer .footer-box li:has(a[href*="privacy"]),
  html body footer.main-footer .footer-box li:has(a[href*="terms"]) {
    display: none !important;
  }

  /* ── FEATURES/ICON STRIP ── */
  html body .home-features-section {
    background-color: #f8f4f1 !important;
    border-top: 1px solid rgba(0,0,0,0.07) !important;
    border-bottom: 1px solid rgba(0,0,0,0.07) !important;
  }

  html body .home-features-section .features-box {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    min-height: 112px !important;
    padding: 0 24px !important;
    margin: 0 auto !important;
  }

  html body .home-features-section .box-feat,
  html body .home-features-section .box-feat.overflow-hidden {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 108px !important;
    height: 100% !important;
    padding: 18px 16px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  html body .home-features-section .box-feat img,
  html body .home-features-section .box-feat svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 0 8px !important;
    object-fit: contain !important;
    opacity: 0.78 !important;
  }

  html body .home-features-section .box-feat h5,
  html body .home-features-section .box-feat h4,
  html body .home-features-section .box-feat h3 {
    margin: 0 0 2px !important;
    color: #111 !important;
    font-family: var(--gn-font-main) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  html body .home-features-section .box-feat p,
  html body .home-features-section .box-feat span:not([class*="icon"]):not(.fa):not(.sicon) {
    margin: 0 !important;
    color: rgba(17,17,17,0.56) !important;
    font-family: var(--gn-font-main) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  @media (max-width: 991px) {
    html body .home-features-section .features-box {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      width: 100% !important;
    }

    /* Footer: switch to column layout on mobile */
    html body footer.main-footer .footer-box {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      width: 100% !important;
      padding: 28px 22px 16px !important;
    }

    body footer.main-footer .footer-section.d-none.d-lg-block {
      display: none !important;
    }

    body footer.main-footer .footer-accordion.d-lg-none {
      display: block !important;
      order: 1 !important;
      width: 100% !important;
    }

    html body footer.main-footer .footer-box > .footer-section:first-child {
      order: 2 !important;
      align-items: center !important;
      justify-content: center !important;
      padding-top: 18px !important;
      margin-top: 14px !important;
      border-top: 1px solid var(--gn-footer-divider) !important;
      text-align: center !important;
    }

    html body footer.main-footer .footer-box > .footer-section:first-child .social-media-icons,
    html body footer.main-footer .footer-box > .footer-section:first-child .footer-social-icons {
      justify-content: center !important;
    }

    /* Footer accordion items */
    body footer.main-footer .footer-accordion .accordion-item {
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-bottom: 1px solid var(--gn-footer-divider) !important;
      background: transparent !important;
    }

    body footer.main-footer .footer-accordion .accordion-item h5,
    body footer.main-footer .footer-accordion .accordion-item h4,
    body footer.main-footer .footer-accordion .accordion-item button {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 13px 0 !important;
      color: var(--gn-footer-title-color) !important;
      font-family: var(--gn-footer-title-font) !important;
      font-size: 17px !important;
      font-weight: var(--gn-footer-title-weight) !important;
      letter-spacing: var(--gn-footer-title-spacing) !important;
      text-align: left !important;
      text-transform: uppercase !important;
      background: transparent !important;
      border: 0 !important;
    }

    body footer.main-footer .footer-accordion ul {
      margin: 0 !important;
      padding: 0 0 12px !important;
      list-style: none !important;
    }

    body footer.main-footer .footer-accordion li {
      margin: 0 0 9px !important;
    }
  }

  /* ==========================================================
    PATCH B — targeted visual fixes (mobile footer, social
    icons, mobile menu, home categories, nav)
    ========================================================== */

  /* ── B-1: Social icon circles ──────────────────────────────
    Lines above contain a broad href-attribute rule that resets
    border-radius and background on social anchor tags.
    This override follows in cascade order with same specificity
    depth but targets our injected class explicitly.
    ---------------------------------------------------------- */
  html body footer.main-footer .social-icons a.gnoce-social-fixed {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 50% !important;
    background: #fbf7f3 !important;
    border: 1px solid #eadfd8 !important;
    color: #5f5149 !important;
    text-decoration: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s !important;
    line-height: 1 !important;
  }

  html body footer.main-footer .social-icons a.gnoce-social-fixed:hover {
    background: #c8795b !important;
    color: #fff !important;
    border-color: #c8795b !important;
  }

  html body footer.main-footer .social-icons a.gnoce-social-fixed .gnoce-social-glyph {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    display: block !important;
    flex-shrink: 0 !important;
  }

  /* Desktop social-column alignment — CONSOLIDATED into E-5.
    This B-1 layer set flex-start; it was fully overridden by E-5
    (column + centered) and C1.4, so it has been removed. The
    .gnoce-social-fixed circle styling above is unaffected. */

  /* ── B-2: Mobile footer accordion ─────────────────────────
    a) Hide native duplicate "Get Support" item (stuck-open)
    b) Collapse our ul via aria-expanded CSS + .show class
    c) Stack LOCATIONS / WORKING HOURS spans vertically
    d) Contrast fixes
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    /* a) Hide native stuck-open item — class-based and attribute-based */
    #accordion_item_contact {
      display: none !important;
    }
    .accordion-item:has(> .accordion-header > [data-bs-target="#accordion_item_contact"]) {
      display: none !important;
    }

    /* b) Collapse behaviour: hide ul when accordion-button is closed */
    .gnoce-support-accordion > ul.footer-menu:not(.show) {
      display: none !important;
    }
    .gnoce-support-accordion > ul.footer-menu.show {
      display: block !important;
    }
    /* Aria-expanded CSS fallback for pre-Bootstrap-init state */
    .gnoce-support-accordion
      > .accordion-header:has(.accordion-button[aria-expanded="false"])
      + ul.footer-menu {
      display: none !important;
    }
    .gnoce-support-accordion
      > .accordion-header:has(.accordion-button[aria-expanded="true"])
      + ul.footer-menu {
      display: block !important;
    }

    /* ul reset */
    #footer_accordion .gnoce-support-accordion ul.footer-menu {
      padding: 4px 0 14px !important;
      margin: 0 !important;
      list-style: none !important;
    }

    /* c) Each LI stacks its children vertically */
    #footer_accordion .gnoce-support-accordion ul.footer-menu li {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 0 !important;
      padding: 0 !important;
      margin: 0 0 10px !important;
      border: none !important;
    }

    /* Link items */
    #footer_accordion .gnoce-support-accordion ul.footer-menu li a {
      display: block !important;
      padding: 4px 0 !important;
      font-size: 14px !important;
      font-weight: 400 !important;
      color: #5f5149 !important;
      opacity: 1 !important;
      text-decoration: none !important;
      line-height: 1.5 !important;
    }

    #footer_accordion .gnoce-support-accordion ul.footer-menu li a:hover {
      color: #c8795b !important;
    }

    /* Section label (LOCATIONS, WORKING HOURS) */
    #footer_accordion .gnoce-support-accordion .gnoce-footer-support-label {
      display: block !important;
      font-size: 10.5px !important;
      font-weight: 700 !important;
      letter-spacing: 0.1em !important;
      text-transform: uppercase !important;
      color: #9a8880 !important;
      margin: 10px 0 3px !important;
      padding: 0 !important;
      opacity: 1 !important;
      line-height: 1.3 !important;
    }

    /* Text-only spans (CFC, Point 90, store hours) */
    #footer_accordion .gnoce-support-accordion ul.footer-menu li span:not(.gnoce-footer-support-label) {
      display: block !important;
      font-size: 13.5px !important;
      color: #3a3632 !important;
      line-height: 1.6 !important;
      padding: 0 !important;
      margin: 0 !important;
      opacity: 1 !important;
    }

    /* d) Accordion button text contrast */
    body footer.main-footer .footer-accordion .accordion-button {
      color: var(--gn-footer-title-color, #d08b6f) !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    body footer.main-footer .footer-accordion .accordion-collapse a,
    body footer.main-footer .footer-accordion .footer-menu a {
      display: block !important;
      padding: 5px 0 !important;
      color: #5f5149 !important;
      font-size: 14px !important;
      font-weight: 400 !important;
      text-decoration: none !important;
      opacity: 1 !important;
    }

    body footer.main-footer .footer-accordion .accordion-collapse a:hover,
    body footer.main-footer .footer-accordion .footer-menu a:hover {
      color: #c8795b !important;
    }

    /* Mobile: social column centered */
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
    }

    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .social-icons {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 10px !important;
      margin: 10px 0 0 !important;
    }
  }

  /* ── B-3: Mobile menu improved typography ──────────────────
    Targets actual Zid native class names:
      .slide-menu-list, .slide-menu-ul-li, .slide-menue-header
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    #sliding-menu {
      font-family: var(--gn-font-main) !important;
      background: #fff !important;
    }

    #sliding-menu .slide-menu-list {
      padding: 0 !important;
      margin: 0 !important;
      list-style: none !important;
    }

    /* Section header (e.g. the first LI row acting as a category label) */
    #sliding-menu .slide-menue-header {
      padding: 14px 20px 6px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 10px !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      color: #b0a8a2 !important;
      background: transparent !important;
      border-bottom: none !important;
      border-top: 1px solid #f0ece8 !important;
    }

    #sliding-menu .slide-menue-header:first-child {
      border-top: none !important;
    }

    /* Each nav list item */
    #sliding-menu .slide-menu-ul-li {
      padding: 0 !important;
      margin: 0 !important;
      border-bottom: 1px solid #f0ece8 !important;
      background: transparent !important;
    }

    /* The link/button inside each nav item */
    #sliding-menu .slide-menu-ul-li > a,
    #sliding-menu .slide-menu-ul-li > button {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 13px 20px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13.5px !important;
      font-weight: 500 !important;
      letter-spacing: 0.05em !important;
      text-transform: uppercase !important;
      color: #1a1a1a !important;
      text-decoration: none !important;
      background: transparent !important;
      border: 0 !important;
      box-sizing: border-box !important;
      text-align: start !important;
      transition: color 0.15s, background 0.15s !important;
    }

    #sliding-menu .slide-menu-ul-li > a:hover,
    #sliding-menu .slide-menu-ul-li > button:hover {
      color: #c8795b !important;
      background: #fbf7f3 !important;
    }

    /* Bottom static section */
    #sliding-menu .slide-menu-static {
      padding: 14px 20px !important;
      border-top: 1px solid #f0ece8 !important;
    }
  }

  /* ── B-4: Home category sections — mobile refinement ───────
    Desktop confirmed working. Tighten at narrow viewports.
    ---------------------------------------------------------- */
  @media (max-width: 575px) {
    /* Charms section (3-col grid) — tighter at very small screens */
    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] {
      padding: 24px 6px 0 !important;
      gap: 4px !important;
    }

    .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"]::before {
      font-size: 22px !important;
      margin: 6px 8px 14px !important;
    }

    /* b78adda9 card/img/title sizing at <=575 is owned by E-2
      (higher specificity, later in file); the dead 120px layer
      here was fully overridden and has been removed. */

    /* Gifts / main collections section (2-col on mobile) */
    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] {
      padding: 18px 8px 16px !important;
      gap: 10px 8px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"]::before {
      font-size: 22px !important;
      margin-bottom: 14px !important;
    }

    .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box h3 {
      font-size: 13px !important;
    }
  }

  /* ==========================================================
    PATCH C — category grid, footer centering, accordion icon,
    mega menu, mobile menu refinement
    ========================================================== */

  /* ── C-1: Home categories b78adda9 — CONSOLIDATED.
    Grid column count and all card/img/title sizing are owned by
    C1.3 (desktop) and E-2 (mobile). Only the width/justify-self
    declarations C1.3 does not set are kept here. The dead 6-col
    grid, 210px height triple, and >a/img/h3 layers were fully
    overridden and have been removed (zero computed change). */
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-slide {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  /* ── C-2: Desktop footer social/logo — CONSOLIDATED.
    This whole block used a lower-specificity chain (no ".footer-box >")
    and was fully superseded by C1.4 (about-us-links-div, footer-logo)
    and E-5 (container + social-icons). Removed; zero computed change. */

  /* ── C-3: Footer accordion indicator + layout — CONSOLIDATED.
    The footer accordion is .d-lg-none (display:none on desktop), so
    only the mobile (<=991) cascade renders, where F-2 fully owns the
    +/- indicator (content, colour, size) and the button flex layout.
    E-6 also covers the layout. This dead layer was removed. */

  /* ── C-4: Desktop mega menu panel styles ───────────────────
    JS (initMegaMenu) builds content into .main-dropdown-menu.
    These rules style the panel and its generated elements.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    .main-dropdown-menu {
      background: #fff !important;
      border-top: 2px solid #e8e3de !important;
      box-shadow: 0 8px 28px rgba(0,0,0,0.07) !important;
      width: 100% !important;
      left: 0 !important;
      transition: opacity 0.15s, visibility 0.15s !important;
    }

    .main-dropdown-menu > .container-lg {
      margin: 0 auto !important;
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      /* max-width (1000px) and padding owned by C1.2 (below) */
    }

    .gnoce-mega-heading {
      display: flex !important;
      align-items: center !important;
      padding-bottom: 8px !important;
      margin-bottom: 12px !important;
      border-bottom: 1px solid #eee9e4 !important;
    }

    .gnoce-mega-heading a {
      color: #111 !important;
      font-family: var(--gn-font-main) !important;
      font-size: 9.5px !important;
      font-weight: 700 !important;
      letter-spacing: 0.13em !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      transition: color 0.15s !important;
    }

    .gnoce-mega-heading a:hover {
      color: #c8795b !important;
    }

    .gnoce-mega-columns {
      display: flex !important;
      width: 100% !important;
      gap: 20px !important;
      align-items: flex-start !important;
      flex-wrap: nowrap !important;
    }

    .gnoce-mega-col {
      display: flex !important;
      flex-direction: column !important;
      gap: 0 !important;
      /* flex / min-width / max-width owned by E-3 (below) */
    }

    /* .gnoce-mega-col--wide and its .gnoce-mega-col-items columns
      are fully owned by E-3 (below); the dead C-4 layers that set
      flex / min-width / max-width / columns were removed. */

    a.gnoce-mega-col-header {
      display: block !important;
      color: #9a8880 !important;
      font-family: var(--gn-font-main) !important;
      font-size: 9px !important;
      font-weight: 700 !important;
      letter-spacing: 0.1em !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      padding: 0 0 5px !important;
      margin-bottom: 5px !important;
      border-bottom: 1px solid #f0ece8 !important;
      transition: color 0.15s !important;
    }

    a.gnoce-mega-col-header:hover {
      color: #c8795b !important;
    }

    .gnoce-mega-col-items {
      display: block !important;
      width: 100% !important;
    }

    .gnoce-mega-item {
      display: flex !important;
      align-items: center !important;
      gap: 7px !important;
      padding: 3.5px 0 !important;
      color: #1a1a1a !important;
      font-family: var(--gn-font-main) !important;
      font-size: 12px !important;
      font-weight: 400 !important;
      text-decoration: none !important;
      text-transform: none !important;
      letter-spacing: 0 !important;
      /* white-space owned by E-3 (normal + overflow-wrap) */
      transition: color 0.15s !important;
      break-inside: avoid !important;
    }

    .gnoce-mega-item:hover {
      color: #c8795b !important;
    }

    .gnoce-mega-thumb {
      width: 26px !important;
      height: 26px !important;
      border-radius: 50% !important;
      background: #fbf7f3 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-shrink: 0 !important;
      overflow: hidden !important;
      border: 1px solid #eadfd8 !important;
    }

    .gnoce-mega-thumb img {
      width: 22px !important;
      height: 22px !important;
      object-fit: cover !important;
      border-radius: 50% !important;
      display: block !important;
    }
  }

  /* ── C-5: Mobile menu — higher-specificity refinement ──────
    Zid renders accordion toggles as <div class="accordion-button
    collapsed"> (not <button>). Target by class only (no tag
    restriction) and by explicit div tag for maximum coverage.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    /* Top-level expandable buttons (accordion section headers) */
    html body #sliding-menu .slide-menu-ul-li > button.accordion-button,
    html body #sliding-menu .slide-menu-ul-li > div.accordion-button,
    html body #sliding-menu .slide-menu-ul-li > .accordion-button {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 13px 20px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      color: #1a1a1a !important;
      background: transparent !important;
      border: 0 !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      text-align: start !important;
    }

    /* Direct link items (leaf pages, no expand) */
    html body #sliding-menu .slide-menu-ul-li > a {
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      padding: 13px 20px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13px !important;
      font-weight: 400 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      color: #1a1a1a !important;
      text-decoration: none !important;
      background: transparent !important;
      box-sizing: border-box !important;
    }

    html body #sliding-menu .slide-menu-ul-li > a:hover,
    html body #sliding-menu .slide-menu-ul-li > button.accordion-button:hover {
      color: #c8795b !important;
      background: #fbf7f3 !important;
    }

    /* Nested sub-level links (inside collapse panels) */
    html body #sliding-menu .accordion-collapse a {
      display: block !important;
      padding: 9px 20px 9px 28px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 12.5px !important;
      font-weight: 400 !important;
      letter-spacing: 0.04em !important;
      text-transform: uppercase !important;
      color: #3a3632 !important;
      text-decoration: none !important;
      border-bottom: 1px solid #f5f1ed !important;
    }

    html body #sliding-menu .accordion-collapse a:hover {
      color: #c8795b !important;
      background: #fbf7f3 !important;
    }

    /* Nested level-2 section headers (e.g. SHOP BY THEME) */
    html body #sliding-menu .accordion-collapse .accordion-button {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 10px 20px 10px 22px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 10px !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      color: #9a8880 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      box-sizing: border-box !important;
    }

    /* List item dividers */
    html body #sliding-menu .slide-menu-ul-li {
      border-bottom: 1px solid #f0ece8 !important;
      background: transparent !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    /* Section group labels (slide-menue-header class) */
    html body #sliding-menu li.slide-menue-header {
      padding: 12px 20px 5px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 9.5px !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      color: #b0a8a2 !important;
      border-top: 1px solid #f0ece8 !important;
      background: transparent !important;
      list-style: none !important;
    }

    /* Offcanvas container */
    html body #sliding-menu {
      background: #fff !important;
      font-family: var(--gn-font-main) !important;
    }

    /* Bottom static area */
    html body #sliding-menu .slide-menu-static {
      padding: 14px 20px !important;
      border-top: 1px solid #f0ece8 !important;
    }
  }

  /* ==========================================================
    PATCH C.1 — 7 focused visual corrections
    ========================================================== */

  /* ── C1.1: Video hero — CONSOLIDATED into E-1 (single source).
    Title text-shadow:none and the overlay background are owned by
    the higher-specificity E-1 rules; these layers were fully dead. */

  /* ── C1.2: Mega menu — remove Zid's 30px native padding,
    shrink container from 1200 → 1000 for less stretched layout.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    .main-dropdown-menu {
      padding: 0 !important;
    }
    .main-dropdown-menu > .container-lg {
      max-width: 1000px !important;
      padding: 18px 24px 22px !important;
    }
    .gnoce-mega-columns {
      gap: 14px !important;
    }
  }

  /* ── C1.3: Home category b78adda9 — revert to 3 columns ────
    Patch C wrongly changed to 6. Revert and size cards for the
    wider columns: centered charm image, larger title.
    ---------------------------------------------------------- */
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item,
  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-slide {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
    padding: 20px 16px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
    width: auto !important;
    height: 148px !important;
    max-width: none !important;
    object-fit: contain !important;
    margin: 0 auto 14px !important;
  }

  .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  /* ── C1.4: Footer desktop — live overrides E-5 does not set.
    Container align + social-icons centering were consolidated into
    E-5; only the about-us-links-div layout and the footer-logo
    margin-bottom (unique to this block) are kept below. */
  @media (min-width: 992px) {
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column
        > .footer-about-us-links-div {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      text-align: center !important;
      max-width: 680px !important;
    }

    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .footer-logo {
      display: flex !important;
      justify-content: center !important;
      width: 100% !important;
      margin-bottom: 14px !important;
    }
    /* social-icons justify-content:center owned by E-5 */
  }

  /* ── C1.5: Mobile footer accordion padding — CONSOLIDATED into F-2.
    F-2's "#footer_accordion .accordion-button" arm (higher specificity,
    <=991, later) sets the same padding:14px 20px and wins gap (12px),
    and F-2's accordion-item margin:0 covers margin-bottom:0. The
    accordion is hidden on desktop, so this layer was fully dead. */

  /* ── C1.6: Mobile menu — nuclear specificity for div buttons ─
    Adds .slide-menu-list to chain and explicit div.accordion-button
    tag to guarantee override of any Zid native rule.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    html body #sliding-menu.offcanvas .slide-menu-list .slide-menu-ul-li > div.accordion-button {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 13px 20px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13px !important;
      font-weight: 500 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      color: #1a1a1a !important;
      background: transparent !important;
      border: 0 !important;
      box-sizing: border-box !important;
      box-shadow: none !important;
      text-align: start !important;
    }

    html body #sliding-menu.offcanvas .slide-menu-list .slide-menu-ul-li > a {
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      padding: 13px 20px !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13px !important;
      font-weight: 400 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      color: #1a1a1a !important;
      text-decoration: none !important;
      background: transparent !important;
      box-sizing: border-box !important;
    }

    html body #sliding-menu.offcanvas .slide-menu-list .slide-menu-ul-li > div.accordion-button:hover,
    html body #sliding-menu.offcanvas .slide-menu-list .slide-menu-ul-li > a:hover {
      color: #c8795b !important;
      background: #fbf7f3 !important;
    }
  }

  /* ==========================================================
    PATCH D — 7 targeted visual fixes
    ========================================================== */

  /* ── D-1: Hero — CONSOLIDATED into E-1 (single source).
    Title text-shadow:none and the overlay background were fully
    overridden by the higher-specificity E-1 rules below. */

  /* ── D-2: Product section titles — full style match ─────────
    Match category heading: Americana 32px, #000, centered.
    Scoped to home-products-section only.
    ---------------------------------------------------------- */
  body[data-template="home"] .home-products-section .section-title {
    display: block !important;
    text-align: center !important;
    font-family: var(--gn-font-heading) !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: #000 !important;
    letter-spacing: 0 !important;
    margin: 0 auto 28px !important;
  }

  /* ── D-3: Mega menu — panel polish ──────────────────────────
    Core layout fixed (0 pad, 1000px container). Add rounding
    and shadow for premium appearance.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    .main-dropdown-menu {
      border-radius: 0 0 10px 10px !important;
      box-shadow: 0 14px 40px rgba(0,0,0,0.10) !important;
    }
    .gnoce-mega-heading {
      margin-bottom: 14px !important;
      padding-bottom: 10px !important;
    }
  }

  /* ── D-4: Mobile menu — remove Bootstrap accordion chevron ──
    Bootstrap default ::after on .accordion-button shows/rotates
    a chevron. Top-level slide-menu items should not show it.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    html body #sliding-menu.offcanvas .slide-menu-ul-li > div.accordion-button::after {
      display: none !important;
    }
    html body #sliding-menu.offcanvas .slide-menu-ul-li > div.accordion-button {
      box-shadow: none !important;
    }
  }

  /* ── D-5: Home categories mobile sizing — CONSOLIDATED into E-2.
    E-2 (below) re-declares these <=575 and 576–991 sizes with a
    body[data-template="home"] prefix (higher specificity, later in
    file), so this entire layer was fully overridden and removed. */

  /* ── D-6: Footer accordion — ::after flex + border cleanup ──
    ::after (the + indicator) needs flex-shrink:0 so it does not
    collapse; align-self:center keeps it vertically centered.
    Remove double border from adjacent accordion items.
    ---------------------------------------------------------- */
  body #footer_accordion .accordion-button::after {
    flex-shrink: 0 !important;
    align-self: center !important;
  }

  body #footer_accordion .accordion-item + .accordion-item {
    border-top: 0 !important;
  }

  /* ── D-7: Cart badge — anchor to cart icon link ─────────────
    Patch D previously set direction:rtl on .header-cart which
    broke the entire mobile header row. Removed. Instead:
    make .a-shopping-cart the badge positioning context (DOM
    confirmed: .a-shopping-cart is the <a> wrapping the badge),
    then place badge top-right of the icon at -7px/-7px.
    ---------------------------------------------------------- */
  .header-cart {
    direction: ltr !important;
  }

  .a-shopping-cart {
    position: relative !important;
  }

  .header-cart .cart-badge,
  .a-shopping-cart .cart-badge {
    position: absolute !important;
    top: -7px !important;
    right: -7px !important;
    left: auto !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border: 1px solid #fff !important;
    border-radius: 999px !important;
    background: #c8795b !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    text-align: center !important;
  }

  /* ==========================================================
    PATCH E — recovery and targeted rebuild
    ========================================================== */

  /* ── E-1: Hero — nuclear specificity backstop ───────────────
    Source rules at L1897 and L1831 already fixed directly.
    These higher-specificity rules guarantee zero shadow even if
    Zid native CSS wins in an edge case.
    ---------------------------------------------------------- */
  html body[data-template="home"] .gnoce-video-hero-title {
    text-shadow: none !important;
  }
  html body[data-template="home"] .home-video-section.gnoce-video-hero::after {
    background: rgba(0,0,0,0.28) !important;
  }

  /* Mobile: remove extra dark gradient on content area */
  @media (max-width: 767px) {
    body[data-template="home"] .gnoce-video-hero-content {
      background: none !important;
    }
  }

  /* ── E-2: Mobile categories — raised-specificity mobile sizes ─
    Use body[data-template="home"] prefix to raise specificity
    one notch above C1.3's unscoped rules, ensuring mobile sizes
    win regardless of cascade order.
    ---------------------------------------------------------- */
  @media (max-width: 575px) {
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item,
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-slide {
      height: 130px !important;
      min-height: 130px !important;
      max-height: 130px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
      height: 130px !important;
      padding: 10px 6px 12px !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
      height: 68px !important;
      width: 80% !important;
      object-fit: contain !important;
      margin: 0 auto 6px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box {
      position: static !important;
      display: block !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
      font-size: 18px !important;
      line-height: 1.05 !important;
      white-space: normal !important;
      overflow-wrap: normal !important;
    }
  }

  @media (max-width: 991px) and (min-width: 576px) {
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item,
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-slide {
      height: 170px !important;
      min-height: 170px !important;
      max-height: 170px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
      height: 170px !important;
      padding: 14px 10px 14px !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
      height: 100px !important;
      width: auto !important;
      margin: 0 auto 10px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box {
      position: static !important;
      display: block !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
      font-size: 13px !important;
    }
  }

  /* ── E-3: Mega menu — fix item overflow + column widths ─────
    white-space:nowrap on items made long category names burst
    out of columns. Allow wrapping and cap column min/max.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    .gnoce-mega-item {
      white-space: normal !important;
      overflow-wrap: break-word !important;
      word-break: break-word !important;
    }

    .gnoce-mega-col {
      min-width: 120px !important;
      max-width: 200px !important;
      flex: 1 1 140px !important;
    }

    .gnoce-mega-col--wide {
      min-width: 180px !important;
      max-width: 320px !important;
      flex: 2 1 200px !important;
    }

    .gnoce-mega-col--wide .gnoce-mega-col-items {
      columns: auto !important;
      column-gap: 10px !important;
      column-count: 2 !important;
    }
  }

  /* ── E-4: Mobile menu — expand indicator ────────────────────
    D-4 removed Bootstrap chevron but left no indicator.
    Restore a › chevron on the right side of each expandable
    top-level item using the text node approach.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    html body #sliding-menu .slide-menu-ul-li > div.accordion-button::before,
    html body #sliding-menu.offcanvas .slide-menu-ul-li > div.accordion-button::before {
      display: none !important;
    }

    /* Re-enable the Bootstrap ::after chevron but override its image
      with a plain › character so it degrades cleanly. */
    html body #sliding-menu .slide-menu-ul-li > div.accordion-button::after,
    html body #sliding-menu.offcanvas .slide-menu-ul-li > div.accordion-button::after {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      content: "\203A" !important;
      font-size: 22px !important;
      font-weight: 300 !important;
      color: #aaa !important;
      background-image: none !important;
      width: auto !important;
      height: auto !important;
      margin-left: auto !important;
      flex-shrink: 0 !important;
      transform: none !important;
      transition: transform 0.2s !important;
    }

    html body #sliding-menu .slide-menu-ul-li > div.accordion-button:not(.collapsed)::after,
    html body #sliding-menu.offcanvas .slide-menu-ul-li > div.accordion-button:not(.collapsed)::after {
      transform: rotate(90deg) !important;
    }
  }

  /* ── E-5: Desktop footer — logo/social centered column ──────
    Base rule sets flex-direction:row + align flex-start.
    JS adds .gnoce-footer-social-column but C1.4 only fixes
    align/justify — not flex-direction. Force column layout.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    html body footer.main-footer .footer-box > .footer-section:first-child,
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      gap: 16px !important;
    }

    html body footer.main-footer .footer-box > .footer-section:first-child .footer-logo,
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .footer-logo {
      display: flex !important;
      justify-content: center !important;
      width: 100% !important;
    }

    html body footer.main-footer .footer-box > .footer-section:first-child .social-icons,
    html body footer.main-footer .footer-box > .footer-section:first-child .social-media-icons,
    html body footer.main-footer .footer-box > .footer-section:first-child .footer-social-icons,
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .social-icons,
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .social-media-icons,
    html body footer.main-footer .footer-box > .footer-section.gnoce-footer-social-column .footer-social-icons {
      display: flex !important;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      margin: 0 auto !important;
    }
  }

  /* ── E-6: Footer accordion — full premium treatment ─────────
    Ensure proper layout: title left, indicator right.
    Single border per row. Collapse content styled and stacked.
    ---------------------------------------------------------- */
  body footer.main-footer .footer-accordion .accordion-button {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: space-between !important;
    padding: 14px 20px !important;
    gap: 0 !important;
  }

  body footer.main-footer .footer-accordion .accordion-button > span,
  body footer.main-footer .footer-accordion .accordion-button > .footer-heading {
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  body footer.main-footer .footer-accordion .accordion-button::after {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  /* Single divider: remove any double border from top/bottom collision */
  body footer.main-footer .footer-accordion .accordion-item {
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  }

  body footer.main-footer .footer-accordion .accordion-item + .accordion-item {
    border-top: 0 !important;
  }

  /* Collapsed content is hidden; open content is stacked */
  body footer.main-footer .footer-accordion .accordion-collapse:not(.show) {
    display: none !important;
  }

  body footer.main-footer .footer-accordion .accordion-collapse.show {
    display: block !important;
  }

  body footer.main-footer .footer-accordion .accordion-body,
  body footer.main-footer .footer-accordion .footer-menu {
    padding: 4px 20px 16px !important;
    list-style: none !important;
    margin: 0 !important;
  }

  body footer.main-footer .footer-accordion .footer-menu li {
    padding: 5px 0 !important;
    margin: 0 !important;
  }

  /* ── E-7: Mobile menu — panel background + width ────────────
    Ensure the native sliding-menu panel looks like a premium
    white drawer with correct width on all mobile sizes.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {
    html body #sliding-menu {
      width: min(82vw, 380px) !important;
      max-width: 380px !important;
      background: #fff !important;
      border-right: 1px solid #f0ece8 !important;
      box-shadow: 4px 0 24px rgba(0,0,0,0.10) !important;
      overflow-y: auto !important;
    }
  }

  /* ==========================================================
    PATCH F — decisive recovery: menus / footer / hero / ATC
    ========================================================== */

  /* ── F-1: Desktop hero — full-height backstop ───────────────
    Zid native may cap .home-video-section height. Use both
    min-height on the section AND ensure no parent clips it.
    ---------------------------------------------------------- */
  @media (min-width: 992px) {
    body[data-template="home"] .home-video-section.gnoce-video-hero {
      min-height: clamp(600px, 78vh, 900px) !important;
    }
  }

  /* ── F-2: Mobile footer accordion — premium rebuild ─────────
    Target both ID and class variants Zid uses.
    Single border per row, title + indicator layout, content.
    ---------------------------------------------------------- */
  @media (max-width: 991px) {

    /* Accordion wrapper */
    body footer.main-footer .footer-accordion,
    body footer.main-footer #footer_accordion {
      border: 0 !important;
      background: transparent !important;
    }

    /* Each row */
    body footer.main-footer .footer-accordion .accordion-item,
    body footer.main-footer #footer_accordion .accordion-item {
      border: 0 !important;
      border-bottom: 1px solid rgba(0,0,0,0.08) !important;
      background: transparent !important;
      margin: 0 !important;
    }

    /* Remove double top border from collapsed adjacent items */
    body footer.main-footer .footer-accordion .accordion-item + .accordion-item,
    body footer.main-footer #footer_accordion .accordion-item + .accordion-item {
      border-top: 0 !important;
    }

    /* Button row: title left, indicator right */
    body footer.main-footer .footer-accordion .accordion-button,
    body footer.main-footer #footer_accordion .accordion-button {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      width: 100% !important;
      padding: 14px 20px !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
      cursor: pointer !important;
      appearance: none !important;
      gap: 12px !important;
    }

    /* Title text */
    body footer.main-footer .footer-accordion .accordion-button > *:first-child,
    body footer.main-footer #footer_accordion .accordion-button .footer-heading,
    body footer.main-footer #footer_accordion .accordion-button span:not(.accordion-icon) {
      flex: 1 1 auto !important;
      text-align: left !important;
      color: #d08b6f !important;
      font-family: "Americana", Georgia, "Times New Roman", serif !important;
      font-size: 17px !important;
      font-weight: 400 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
    }

    /* Plus / minus indicator */
    body footer.main-footer .footer-accordion .accordion-button::after,
    body footer.main-footer #footer_accordion .accordion-button::after {
      content: "+" !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex: 0 0 auto !important;
      margin-left: auto !important;
      width: auto !important;
      height: auto !important;
      font-family: sans-serif !important;
      font-size: 22px !important;
      font-weight: 300 !important;
      line-height: 1 !important;
      color: #c8795b !important;
      background-image: none !important;
      transform: none !important;
      transition: none !important;
    }

    body footer.main-footer .footer-accordion .accordion-button:not(.collapsed)::after,
    body footer.main-footer #footer_accordion .accordion-button:not(.collapsed)::after {
      content: "-" !important;
    }

    /* Collapse content */
    body footer.main-footer .footer-accordion .accordion-collapse,
    body footer.main-footer #footer_accordion .accordion-collapse {
      overflow: hidden !important;
    }

    body footer.main-footer .footer-accordion .accordion-collapse:not(.show),
    body footer.main-footer #footer_accordion .accordion-collapse:not(.show) {
      display: none !important;
    }

    body footer.main-footer .footer-accordion .accordion-collapse.show,
    body footer.main-footer #footer_accordion .accordion-collapse.show {
      display: block !important;
    }

    /* Content area */
    body footer.main-footer .footer-accordion .accordion-body,
    body footer.main-footer #footer_accordion .accordion-body,
    body footer.main-footer .footer-accordion .footer-menu,
    body footer.main-footer #footer_accordion .footer-menu {
      padding: 4px 20px 18px !important;
      margin: 0 !important;
      list-style: none !important;
      background: transparent !important;
    }

    body footer.main-footer .footer-accordion .footer-menu li,
    body footer.main-footer #footer_accordion .footer-menu li {
      padding: 5px 0 !important;
      margin: 0 !important;
      list-style: none !important;
      color: #5f5149 !important;
      font-family: var(--gn-font-main) !important;
      font-size: 13px !important;
      line-height: 1.6 !important;
    }

    body footer.main-footer .footer-accordion .footer-menu a,
    body footer.main-footer #footer_accordion .footer-menu a {
      color: #c8795b !important;
      font-size: 13px !important;
      text-decoration: none !important;
    }

    /* Support labels (LOCATIONS:, WORKING HOURS:) */
    body footer.main-footer .footer-accordion .gnoce-footer-support-label,
    body footer.main-footer #footer_accordion .gnoce-footer-support-label {
      display: block !important;
      color: #111 !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      letter-spacing: 0.06em !important;
      text-transform: uppercase !important;
      margin-bottom: 3px !important;
    }

    /* Hide Zid's duplicate native support item */
    body footer.main-footer .footer-accordion .accordion-item:not(.gnoce-support-accordion):last-child:not(:nth-child(-n+3)) {
      display: none !important;
    }
  }

  /* Mobile video hero: fix title size and button layout */
  @media (max-width: 767px) {
    body[data-template="home"] .gnoce-video-hero-title {
      font-size: 26px !important;
      line-height: 1.15 !important;
    }
    body[data-template="home"] .gnoce-video-hero-button {
      width: auto !important;
      max-width: none !important;
      min-height: 44px !important;
      padding: 10px 28px !important;
      font-size: 13px !important;
    }
    body[data-template="home"] .home-video-section.gnoce-video-hero {
      padding: 36px 22px !important;
    }
  }

  /* Cart badge: hide when count is 0 */
  .header-cart .cart-badge[data-gn-empty="1"],
  .a-shopping-cart .cart-badge[data-gn-empty="1"],
  [class*="cart-quantity"]:not(input)[data-gn-empty="1"] {
    visibility: hidden !important;
  }

  /* ── CART: order summary header — stack title + description vertically ──
     Zid renders h2 (Order Summary) and p (description) as flex-row siblings.
     This makes their parent column so description sits below the title. */
  div:has(> h2.flex-grow-1.cart-section-title) {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  /* ── CART: mobile horizontal overflow fix ──────────────────────────────
     Root cause: .header-wrapper.px-5 adds 36px padding each side (72px total).
     At 390px viewport, container-lg gives 368px content; after 72px padding
     only 296px remains. Zid's .section-cart-products-col-2 has a fixed
     width: 332px on this element — overflows by 36px.
     body[data-template] is empty on cart page, so scope to .cart-page-section.
     ─────────────────────────────────────────────────────────────────────── */
  @media (max-width: 767px) {
    /* Bring cart header padding in line with the product rows below (16px) */
    .cart-page-section .header-wrapper.px-5 {
      padding-left: 16px !important;
      padding-right: 16px !important;
    }

    /* Release Zid's fixed 332px column width — fill available space instead */
    .cart-page-section .section-cart-products-col-2 {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
    }

    /* Wrap long product names and prices at any character boundary */
    .cart-page-section .cart-section-title,
    .cart-page-section [class*="cart-product-name"],
    .cart-page-section [class*="product-name"] {
      overflow-wrap: anywhere !important;
      min-width: 0 !important;
    }

    /* Each direct child of the product items container must not exceed 100% */
    .cart-page-section .cart-products-box > * {
      max-width: 100% !important;
      min-width: 0 !important;
    }
  }

  /* ==========================================================
    PATCH F — recovery: restore old working visual scale
    ========================================================== */

  /* ── F-1: Mega menu — old working values from Gnoce.css reference ──
    thumb 40px, heading 20px bold, container 1200px, col gap 28px.
    Overrides the too-small C1.2/E-3 base values. ── */
  @media (min-width: 992px) {
    .main-dropdown-menu > .container-lg {
      max-width: 1200px !important;
      padding: 20px 40px 26px !important;
    }
    .gnoce-mega-columns {
      gap: 28px !important;
    }
    .gnoce-mega-col {
      min-width: 150px !important;
      max-width: none !important;
      flex: 1 !important;
    }
    .gnoce-mega-col--wide {
      flex: 2 !important;
      min-width: 300px !important;
    }
    .gnoce-mega-col--wide .gnoce-mega-col-items {
      columns: 2 !important;
      column-gap: 24px !important;
    }
    .gnoce-mega-heading a {
      font-size: 20px !important;
      font-weight: 700 !important;
      letter-spacing: -0.01em !important;
      text-transform: none !important;
    }
    a.gnoce-mega-col-header {
      font-size: 11px !important;
      font-weight: 400 !important;
      letter-spacing: 0.12em !important;
    }
    .gnoce-mega-item {
      font-size: 13px !important;
      gap: 10px !important;
      padding: 3px 0 !important;
    }
    .gnoce-mega-thumb {
      width: 40px !important;
      height: 40px !important;
      min-width: 40px !important;
      position: relative !important;
    }
    .gnoce-mega-thumb img {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
      border-radius: 50% !important;
    }
  }

  /* ── F-2: Mobile menu — old working visual scale ──
    link 15px, thumb 40px, child min-height 48px,
    section-title #777. ── */
  @media (max-width: 991px) {
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__link {
      font-size: 15px !important;
    }
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__thumb {
      flex: 0 0 40px !important;
      width: 40px !important;
      height: 40px !important;
    }
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__child {
      min-height: 48px !important;
    }
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__section-title {
      color: #777 !important;
      font-size: 12px !important;
      letter-spacing: 0.08em !important;
    }
    html body #sliding-menu.gnoce-mobile-menu .gnoce-mobile-menu__child-title {
      font-size: 14px !important;
    }
  }

  /* Home banner and mobile categories recovery */
  body[data-template="home"] section.ss,
  body[data-template="home"] .container-slider,
  body[data-template="home"] .main-slider,
  body[data-template="home"] .main-slider .slick-list,
  body[data-template="home"] .main-slider .slick-track,
  body[data-template="home"] .main-slider .slider-item,
  body[data-template="home"] .main-slider .slider-item .content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    aspect-ratio: auto !important;
  }

  body[data-template="home"] .container-slider {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body[data-template="home"] .main-slider .slider-item .content a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body[data-template="home"] .main-slider .slider-item img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }

  @media (min-width: 992px) {
    body[data-template="home"] .main-slider .slider-item img.d-lg-block {
      display: block !important;
    }
    body[data-template="home"] .main-slider .slider-item img.d-lg-none {
      display: none !important;
    }
  }

  @media (max-width: 991px) {
    body[data-template="home"] .main-slider .slider-item img.d-lg-none {
      display: block !important;
    }
    body[data-template="home"] .main-slider .slider-item img.d-lg-block {
      display: none !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 6px !important;
      padding: 32px 12px 0 !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .main-categories-box,
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] > .home-categories-swiper,
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .home-categories-swiper .swiper-wrapper {
      display: contents !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"]::before {
      font-size: 28px !important;
      margin: 8px 10px 20px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item,
    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .swiper-slide {
      height: 136px !important;
      min-height: 136px !important;
      max-height: 136px !important;
      border: 0 !important;
      overflow: hidden !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item > a {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      height: 136px !important;
      min-height: 136px !important;
      padding: 10px 8px 14px !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item img {
      display: block !important;
      width: auto !important;
      max-width: 86% !important;
      height: 74px !important;
      object-fit: contain !important;
      margin: 0 auto 7px !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box {
      position: static !important;
      display: block !important;
      width: 100% !important;
      height: auto !important;
      padding: 0 !important;
      margin: 0 !important;
      background: transparent !important;
      text-align: center !important;
    }

    body[data-template="home"] .home-categories-section[section-id="b78adda9-4295-4cf0-b9bc-ff0ea2ef5b40"] .category-item-content-box h3 {
      display: block !important;
      width: 100% !important;
      color: #000 !important;
      font-size: 18px !important;
      line-height: 1.05 !important;
      text-align: center !important;
      white-space: normal !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 16px 6px !important;
      margin-bottom: 34px !important;
      padding: 28px 8px 36px !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"]::before {
      grid-column: 1 / -1 !important;
      margin-bottom: 22px !important;
      font-size: 28px !important;
      line-height: 1.12 !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .main-categories-box,
    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper,
    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .home-categories-swiper .swiper-wrapper {
      display: contents !important;
      width: auto !important;
      height: auto !important;
      min-height: 0 !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item,
    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .swiper-slide {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item > a {
      display: grid !important;
      grid-template-rows: auto minmax(34px, auto) !important;
      align-items: start !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item img {
      grid-row: 1 !important;
      position: static !important;
      display: block !important;
      width: 100% !important;
      height: auto !important;
      aspect-ratio: 4 / 5 !important;
      object-fit: cover !important;
      margin: 0 !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box {
      grid-row: 2 !important;
      position: static !important;
      display: block !important;
      width: 100% !important;
      height: auto !important;
      min-height: 34px !important;
      margin: 0 !important;
      padding: 7px 2px 0 !important;
      background: transparent !important;
      text-align: center !important;
    }

    body[data-template="home"] .home-categories-section[section-id="a55e684b-8d37-4324-ae0d-ae2516483fc0"] .category-item-content-box h3 {
      position: static !important;
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      color: #000 !important;
      font-size: 14px !important;
      line-height: 1.2 !important;
      text-align: center !important;
      white-space: normal !important;
      overflow: visible !important;
    }
  }

  /* Product card add-to-cart CTA */
  body[data-template="home"] .product-item .product-price,
  body[data-template="home"] .product-item .section-product-price,
  body[data-template="category"] .product-item .product-price,
  body[data-template="category"] .product-item .section-product-price {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    align-items: center !important;
  }

  body[data-template="home"] .product-item .product-item-actions,
  body[data-template="category"] .product-item .product-item-actions {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 46% !important;
    margin: 0 0 0 auto !important;
  }

  /* Outline pill button */
  body[data-template="home"] .product-item .product-card-add-to-cart,
  body[data-template="home"] .product-item .btn-product-card-select-variant,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock),
  body[data-template="category"] .product-item .product-card-add-to-cart,
  body[data-template="category"] .product-item .btn-product-card-select-variant,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 18px !important;
    border: 1.5px solid #c8795b !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #c8795b !important;
    font-family: var(--gn-font-main) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    overflow: hidden !important;
    cursor: pointer !important;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
  }

  body[data-template="home"] .product-item .product-card-add-to-cart > *,
  body[data-template="home"] .product-item .btn-product-card-select-variant > *,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock) > *,
  body[data-template="category"] .product-item .product-card-add-to-cart > *,
  body[data-template="category"] .product-item .btn-product-card-select-variant > *,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock) > * {
    display: none !important;
  }

  body[data-template="home"] .product-item .product-card-add-to-cart::after,
  body[data-template="home"] .product-item .btn-product-card-select-variant::after,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)::after,
  body[data-template="category"] .product-item .product-card-add-to-cart::after,
  body[data-template="category"] .product-item .btn-product-card-select-variant::after,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)::after {
    content: "Add to cart" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body[data-template="home"] .product-item .product-card-add-to-cart:hover,
  body[data-template="home"] .product-item .btn-product-card-select-variant:hover,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock):hover,
  body[data-template="category"] .product-item .product-card-add-to-cart:hover,
  body[data-template="category"] .product-item .btn-product-card-select-variant:hover,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock):hover {
    background: #c8795b !important;
    border-color: #c8795b !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
  }

  body[data-template="home"] .product-item .product-card-add-to-cart:active,
  body[data-template="home"] .product-item .btn-product-card-select-variant:active,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock):active,
  body[data-template="category"] .product-item .product-card-add-to-cart:active,
  body[data-template="category"] .product-item .btn-product-card-select-variant:active,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock):active {
    transform: translateY(0) scale(0.98) !important;
  }

  /* Loading state — spinner adapts to outline button (rose-gold colors) */
  body[data-template="home"] .product-item .product-card-add-to-cart[data-gn-card-atc-loading="1"]::before,
  body[data-template="home"] .product-item .btn-product-card-select-variant[data-gn-card-atc-loading="1"]::before,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)[data-gn-card-atc-loading="1"]::before,
  body[data-template="category"] .product-item .product-card-add-to-cart[data-gn-card-atc-loading="1"]::before,
  body[data-template="category"] .product-item .btn-product-card-select-variant[data-gn-card-atc-loading="1"]::before,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)[data-gn-card-atc-loading="1"]::before {
    content: "" !important;
    display: inline-block !important;
    width: 12px !important;
    height: 12px !important;
    margin-right: 7px !important;
    border: 2px solid rgba(200, 121, 91, 0.3) !important;
    border-top-color: #c8795b !important;
    border-radius: 50% !important;
    animation: gn-card-atc-spin 0.7s linear infinite !important;
  }

  body[data-template="home"] .product-item .product-card-add-to-cart[data-gn-card-atc-loading="1"]::after,
  body[data-template="home"] .product-item .btn-product-card-select-variant[data-gn-card-atc-loading="1"]::after,
  body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)[data-gn-card-atc-loading="1"]::after,
  body[data-template="category"] .product-item .product-card-add-to-cart[data-gn-card-atc-loading="1"]::after,
  body[data-template="category"] .product-item .btn-product-card-select-variant[data-gn-card-atc-loading="1"]::after,
  body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock)[data-gn-card-atc-loading="1"]::after {
    content: "Adding..." !important;
  }

  @keyframes gn-card-atc-spin {
    to { transform: rotate(360deg); }
  }

  @media (max-width: 767px) {
    /* Mobile: center title, price, label */
    body[data-template="home"] .product-item .product-card-title,
    body[data-template="home"] .product-item .product-name,
    body[data-template="home"] .product-item .product-title,
    body[data-template="category"] .product-item .product-card-title,
    body[data-template="category"] .product-item .product-name,
    body[data-template="category"] .product-item .product-title {
      text-align: center !important;
    }

    body[data-template="home"] .product-item .product-price,
    body[data-template="home"] .product-item .section-product-price,
    body[data-template="category"] .product-item .product-price,
    body[data-template="category"] .product-item .section-product-price {
      flex: 0 0 100% !important;
      width: 100% !important;
      justify-content: center !important;
      text-align: center !important;
    }

    body[data-template="home"] .product-item .product-item-actions,
    body[data-template="category"] .product-item .product-item-actions {
      flex: 0 0 100% !important;
      width: 100% !important;
      max-width: none !important;
      margin: 6px 0 0 !important;
      display: flex !important;
      justify-content: center !important;
    }

    /* Mobile pill button */
    body[data-template="home"] .product-item .product-card-add-to-cart,
    body[data-template="home"] .product-item .btn-product-card-select-variant,
    body[data-template="home"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock),
    body[data-template="category"] .product-item .product-card-add-to-cart,
    body[data-template="category"] .product-item .btn-product-card-select-variant,
    body[data-template="category"] .product-item .add-to-cart-button:not(.btn-product-card-out-of-stock) {
      display: flex !important;
      width: auto !important;
      min-width: 140px !important;
      max-width: calc(100% - 8px) !important;
      box-sizing: border-box !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      height: 44px !important;
      min-height: 44px !important;
      padding: 0 14px !important;
      font-size: 13px !important;
    }
  }