/* NUVA IRIS v3.9.2 — visual polish + professional mobile navigation */

/* Keep commercial category headings premium, not keyword-heavy billboards. */
body.tax-product_cat h1,
body.tax-product_cat .page-title,
body.tax-product_cat .woocommerce-products-header__title {
  max-width: 1120px;
  font-size: clamp(46px, 5.2vw, 78px) !important;
  line-height: .96 !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

@media (max-width: 820px) {
  body.tax-product_cat h1,
  body.tax-product_cat .page-title,
  body.tax-product_cat .woocommerce-products-header__title {
    font-size: clamp(34px, 9.6vw, 46px) !important;
    line-height: 1 !important;
    letter-spacing: -.03em !important;
    margin-bottom: 14px !important;
  }

  /*
   * MOBILE DRAWER
   * The JS marks the real fixed drawer element, so these rules do not leak to
   * the desktop header or footer navigation.
   */
  .nuva-mobile-drawer {
    box-sizing: border-box !important;
    width: min(92vw, 430px) !important;
    max-width: 430px !important;
    min-width: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    right: 0 !important;
    left: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    background: #050505 !important;
    box-shadow: -24px 0 70px rgba(0,0,0,.38) !important;
  }

  .nuva-mobile-drawer .nuva-menu,
  .nuva-mobile-menu-shell .nuva-menu,
  .nuva-menu[data-nuva-polished="1"] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 22px 0 0 !important;
    padding: 0 26px max(34px, env(safe-area-inset-bottom)) !important;
    list-style: none !important;
    display: block !important;
    background: transparent !important;
  }

  /* Remove the previous artificial MENU label completely. */
  .nuva-menu[data-nuva-polished="1"]::before,
  .nuva-menu[data-nuva-polished="1"]::after {
    content: none !important;
    display: none !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li {
    position: relative !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    background: transparent !important;
    list-style: none !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li:first-child {
    border-top: 1px solid rgba(255,255,255,.10) !important;
  }

  /* Kill theme decoration lines / pseudo-elements that were crossing the text. */
  .nuva-menu[data-nuva-polished="1"] > li::before,
  .nuva-menu[data-nuva-polished="1"] > li::after,
  .nuva-menu[data-nuva-polished="1"] > li > a::before,
  .nuva-menu[data-nuva-polished="1"] > li > a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li > a {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    color: #f7f4ed !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li > a:visited {
    color: #f7f4ed !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li > a[href*="gift"] {
    color: #d6b76d !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li > a[aria-current="page"] {
    color: #d6b76d !important;
  }

  .nuva-menu[data-nuva-polished="1"] > li > a:active,
  .nuva-menu[data-nuva-polished="1"] > li > a:focus-visible {
    color: #d6b76d !important;
    outline: none !important;
  }

  .nuva-menu-chevron {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    color: rgba(214,183,109,.82) !important;
    transform: translateY(-1px);
    pointer-events: none !important;
  }

  /* Keep very narrow phones clean and readable. */
  @media (max-width: 390px) {
    .nuva-mobile-drawer {
      width: 94vw !important;
    }
    .nuva-menu[data-nuva-polished="1"] {
      padding-left: 22px !important;
      padding-right: 22px !important;
    }
    .nuva-menu[data-nuva-polished="1"] > li > a {
      min-height: 56px !important;
      font-size: 16px !important;
    }
  }
}
