/*
 * AdeptDEV / NANU Market — Header Core
 * Safe refactor pass: extracted verbatim from current header.twig.
 * Do not reorder against later inline component fixes until runtime QA is complete.
 * AdeptDEV — https://t.me/adeptdevs
 */

:root {
      --nx-accent: #ec6608;
      --nx-accent-hover: #ec6608;
      --nx-accent-soft: rgba(236,102,8,.10);
      --nx-accent-ring: rgba(236,102,8,.20);
      --nx-bg: #ffffff;
      --nx-bg-elevated: #ffffff;
      --nx-bg-soft: #ffffff;
      --nx-bg-dark: #373636;
      --nx-text: #373636;
      --nx-text-soft: #373636;
      --nx-line: #ffffff;
      --nx-positive: #ec6608;
      --nx-warning: #ec6608;
      --nx-negative: #ec6608;
      --nx-shadow-sm: 0 8px 24px rgba(55,54,54,.08);
      --nx-shadow-lg: 0 24px 80px rgba(55,54,54,.16);
      --nx-radius-sm: 12px;
      --nx-radius-md: 18px;
      --nx-radius-lg: 26px;
      --nx-container: 1440px;
      --nx-transition: .24s cubic-bezier(.2, .8, .2, 1);
      --primary-primary2: var(--nx-accent);
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      font-family: "Onest", Arial, sans-serif;
      color: var(--nx-text);
      background: var(--nx-bg);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.nx-no-scroll {
      overflow: hidden;
      touch-action: none;
    }

    body.nx-dark {
      --nx-bg: #373636;
      --nx-bg-elevated: #373636;
      --nx-bg-soft: #373636;
      --nx-text: #ffffff;
      --nx-text-soft: #ffffff;
      --nx-line: #373636;
      --nx-shadow-sm: 0 8px 24px rgba(55,54,54,.24);
      --nx-shadow-lg: 0 24px 80px rgba(55,54,54,.42);
      background: var(--nx-bg);
      color: var(--nx-text);
    }

    .nx-header,
    .nx-header * {
      box-sizing: border-box;
    }

    .nx-header {
      position: relative;
      z-index: 1000;
      width: 100%;
      color: var(--nx-text);
    }

    .nx-shell {
      width: min(var(--nx-container), calc(100% - 32px));
      margin: 0 auto;
    }

    .nx-visually-hidden {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    .nx-icon {
      width: 21px;
      height: 21px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .nx-topbar {
      background: var(--nx-bg-dark);
      color: #ffffff;
    }

    .nx-topbar__inner {
      min-height: 42px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .nx-topbar__links,
    .nx-topbar__tools {
      display: flex;
      align-items: center;
      gap: 22px;
      min-width: 0;
    }

    .nx-topbar a,
    .nx-topbar button {
      color: rgba(255,255,255,.78);
      text-decoration: none;
      transition: color var(--nx-transition), opacity var(--nx-transition), transform var(--nx-transition);
    }

    .nx-topbar a:hover,
    .nx-topbar button:hover {
      color: #ffffff;
      transform: translateY(-1px);
    }

    .nx-topbar__link {
      font-size: 13px;
      font-weight: 500;
      white-space: nowrap;
    }

    .nx-topbar__button {
      border: 0;
      background: transparent;
      padding: 0;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font: inherit;
      cursor: pointer;
    }

    .nx-topbar__phone {
      font-size: 13px;
      font-weight: 700;
      color: #ffffff !important;
      white-space: nowrap;
    }

    .nx-language {
      position: relative;
    }

    .nx-language > div,
    .nx-language form {
      margin: 0;
    }

    .nx-language .dropdown-toggle,
    .nx-language button {
      min-height: 30px;
      border: 0 !important;
      background: transparent !important;
      color: #ffffff !important;
      box-shadow: none !important;
    }

    .nx-language .dropdown-menu {
      right: 0;
      left: auto;
      min-width: 150px;
      padding: 8px;
      margin-top: 10px;
      border: 1px solid var(--nx-line);
      border-radius: var(--nx-radius-sm);
      background: var(--nx-bg-elevated);
      box-shadow: var(--nx-shadow-sm);
    }

    .nx-language .dropdown-menu a,
    .nx-language .dropdown-menu button {
      width: 100%;
      display: block;
      padding: 9px 10px;
      border-radius: 8px;
      color: var(--nx-text) !important;
      text-align: left;
    }

    .nx-language .dropdown-menu a:hover,
    .nx-language .dropdown-menu button:hover {
      background: var(--nx-accent-soft) !important;
      color: var(--nx-accent) !important;
      transform: none;
    }

    .nx-statusbar {
      border-bottom: 1px solid var(--nx-line);
      background: var(--nx-bg-elevated);
    }

    .nx-statusbar__inner {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      color: var(--nx-text-soft);
      font-size: 13px;
    }

    .nx-statusbar__dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: #ffffff;
      box-shadow: 0 0 0 4px rgba(255,255,255,.13);
      animation: nxPulse 2s infinite;
    }

    .nx-statusbar__dot.is-open {
      background: var(--nx-positive);
      box-shadow: 0 0 0 4px rgba(236,102,8,.13);
    }

    .nx-statusbar__dot.is-closing {
      background: var(--nx-warning);
      box-shadow: 0 0 0 4px rgba(236,102,8,.13);
    }

    .nx-statusbar__dot.is-opening {
      background: #ec6608;
      box-shadow: 0 0 0 4px rgba(236,102,8,.14);
    }

    .nx-statusbar__dot.is-closed {
      background: var(--nx-negative);
      box-shadow: 0 0 0 4px rgba(236,102,8,.13);
      animation: none;
    }

    @keyframes nxPulse {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.15); }
    }

    .nx-main {
      position: relative;
      background: var(--nx-bg-elevated);
      border-bottom: 1px solid transparent;
      transition: box-shadow var(--nx-transition), border-color var(--nx-transition), transform var(--nx-transition);
    }

    .nx-main.is-fixed {
      position: fixed;
      top: 0;
      right: 0;
      left: 0;
      z-index: 1020;
      border-color: var(--nx-line);
      box-shadow: var(--nx-shadow-sm);
      animation: nxHeaderDown .3s cubic-bezier(.2, .8, .2, 1);
    }

    @keyframes nxHeaderDown {
      from { transform: translateY(-100%); }
      to { transform: translateY(0); }
    }

    .nx-main__inner {
      min-height: 92px;
      display: grid;
      grid-template-columns: minmax(150px, 205px) minmax(300px, 1fr) auto;
      align-items: center;
      gap: 24px;
    }

    .nx-logo {
      display: inline-flex;
      align-items: center;
      min-width: 0;
      text-decoration: none;
    }

    .nx-logo img {
      display: block;
      width: auto;
      max-width: 190px;
      max-height: 62px;
      object-fit: contain;
    }

    .nx-search-zone {
      position: relative;
      min-width: 0;
      z-index: 20;
    }

    .nx-search-zone #search,
    .nx-search-zone .search,
    .nx-search-zone > div {
      width: 100%;
    }

    .nx-search-zone .input-group {
      display: flex;
      width: 100%;
    }

    .nx-search-zone input[type="text"],
    .nx-search-zone input[type="search"] {
      width: 100% !important;
      height: 54px !important;
      padding: 0 66px 0 20px !important;
      border: 1px solid var(--nx-line) !important;
      border-radius: 16px !important;
      background: var(--nx-bg-soft) !important;
      color: var(--nx-text) !important;
      font-size: 14px !important;
      outline: none !important;
      box-shadow: none !important;
      transition: background var(--nx-transition), border-color var(--nx-transition), box-shadow var(--nx-transition);
    }

    .nx-search-zone input::placeholder {
      color: var(--nx-text-soft);
    }

    .nx-search-zone input:focus {
      background: var(--nx-bg-elevated) !important;
      border-color: rgba(236,102,8,.55) !important;
      box-shadow: 0 0 0 5px var(--nx-accent-ring) !important;
    }

    .nx-search-zone .input-group-btn,
    .nx-search-zone .btn-group {
      position: static !important;
    }

    .nx-search-zone button,
    .nx-search-zone .btn {
      position: absolute !important;
      top: 5px !important;
      right: 5px !important;
      z-index: 4;
      width: 44px !important;
      min-width: 44px !important;
      height: 44px !important;
      padding: 0 !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      border: 0 !important;
      border-radius: 12px !important;
      background: var(--nx-accent) !important;
      color: #ffffff !important;
      box-shadow: none !important;
      transition: background var(--nx-transition), transform var(--nx-transition), box-shadow var(--nx-transition);
    }

    .nx-search-zone button:hover,
    .nx-search-zone .btn:hover {
      background: var(--nx-accent-hover) !important;
      transform: scale(1.04);
      box-shadow: 0 9px 22px rgba(236,102,8,.24) !important;
    }

    .nx-search-zone .dropdown-menu,
    .nx-search-zone .live-search,
    .nx-search-zone .search-result {
      z-index: 1005 !important;
      width: 100% !important;
      margin-top: 10px !important;
      padding: 10px !important;
      border: 1px solid var(--nx-line) !important;
      border-radius: 18px !important;
      background: var(--nx-bg-elevated) !important;
      box-shadow: var(--nx-shadow-lg) !important;
      overflow: hidden;
    }

    .nx-ajax-results {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      left: 0;
      z-index: 1010;
      display: none;
      max-height: min(520px, 70vh);
      padding: 10px;
      overflow-y: auto;
      border: 1px solid var(--nx-line);
      border-radius: 18px;
      background: var(--nx-bg-elevated);
      box-shadow: var(--nx-shadow-lg);
    }

    .nx-ajax-results.is-visible {
      display: block;
      animation: nxDropdown .22s ease both;
    }

    @keyframes nxDropdown {
      from { opacity: 0; transform: translateY(8px) scale(.985); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .nx-ajax-results__state {
      padding: 22px 16px;
      color: var(--nx-text-soft);
      text-align: center;
      font-size: 14px;
    }

    .nx-ajax-results__item {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr) auto;
      align-items: center;
      gap: 13px;
      padding: 10px;
      border-radius: 13px;
      color: var(--nx-text);
      text-decoration: none;
      transition: background var(--nx-transition), transform var(--nx-transition);
    }

    .nx-ajax-results__item:hover,
    .nx-ajax-results__item.is-active {
      background: var(--nx-accent-soft);
      color: var(--nx-text);
      transform: translateX(2px);
    }

    .nx-ajax-results__image {
      width: 64px;
      height: 64px;
      object-fit: contain;
      border-radius: 10px;
      background: #ffffff;
      border: 1px solid var(--nx-line);
    }

    .nx-ajax-results__name {
      display: block;
      overflow: hidden;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.35;
      text-overflow: ellipsis;
    }

    .nx-ajax-results__copy {
      min-width: 0;
      display: block;
    }

    .nx-ajax-results__model {
      display: block;
      margin-top: 4px;
      overflow: hidden;
      color: var(--nx-text-soft);
      font-size: 11px;
      font-weight: 600;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .nx-ajax-results__prices {
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 7px;
      white-space: nowrap;
    }

    .nx-ajax-results__price-old {
      color: #373636;
      font-size: 13px;
      font-weight: 400;
      line-height: 1;
      text-decoration: line-through;
      text-decoration-thickness: 1px;
      text-decoration-color: currentColor;
      opacity: .72;
    }

    .nx-ajax-results__price-new {
      color: var(--nx-accent);
      font-size: 14px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
    }

    body.nx-dark .nx-ajax-results__price-old {
      color: #ffffff;
    }

    .nx-ajax-results__footer {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      margin-top: 7px;
      border-top: 1px solid var(--nx-line);
      color: var(--nx-accent);
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
    }

    .nx-actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 9px;
    }

    .nx-action {
      position: relative;
      width: 48px;
      height: 48px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      border: 1px solid var(--nx-line);
      border-radius: 14px;
      background: var(--nx-bg-elevated);
      color: var(--nx-text);
      text-decoration: none;
      cursor: pointer;
      transition: color var(--nx-transition), border-color var(--nx-transition), background var(--nx-transition), transform var(--nx-transition), box-shadow var(--nx-transition);
    }

    .nx-action:hover,
    .nx-action:focus {
      color: var(--nx-accent);
      border-color: rgba(236,102,8,.34);
      background: var(--nx-accent-soft);
      box-shadow: 0 10px 26px rgba(236,102,8,.12);
      transform: translateY(-2px);
      text-decoration: none;
    }

    .nx-action__count {
      position: absolute;
      top: -7px;
      right: -7px;
      min-width: 21px;
      height: 21px;
      padding: 0 5px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 2px solid var(--nx-bg-elevated);
      border-radius: 999px;
      background: var(--nx-accent);
      color: #ffffff;
      font-size: 10px;
      font-weight: 800;
      line-height: 1;
    }

    .nx-cart-slot {
      position: relative;
    }

    .nx-cart-slot #cart {
      margin: 0;
    }

    .nx-cart-slot #cart > button,
    .nx-cart-slot #cart .btn {
      width: 48px !important;
      height: 48px !important;
      min-width: 48px !important;
      padding: 0 !important;
      border: 1px solid var(--nx-line) !important;
      border-radius: 14px !important;
      background: var(--nx-bg-elevated) !important;
      color: var(--nx-text) !important;
      box-shadow: none !important;
      font-size: 0 !important;
      transition: var(--nx-transition) !important;
    }

    .nx-cart-slot #cart > button:before,
    .nx-cart-slot #cart .btn:before {
      content: "\f07a";
      font-family: FontAwesome;
      font-size: 18px;
    }

    .nx-cart-slot #cart > button:hover,
    .nx-cart-slot #cart .btn:hover {
      border-color: rgba(236,102,8,.34) !important;
      background: var(--nx-accent-soft) !important;
      color: var(--nx-accent) !important;
      transform: translateY(-2px);
    }

    .nx-cart-slot #cart .dropdown-menu {
      right: 0;
      left: auto;
      min-width: 360px;
      margin-top: 12px;
      padding: 16px;
      border: 1px solid var(--nx-line);
      border-radius: 18px;
      background: var(--nx-bg-elevated);
      color: var(--nx-text);
      box-shadow: var(--nx-shadow-lg);
    }

    .nx-nav {
      position: relative;
      z-index: 15;
      border-top: 1px solid var(--nx-line);
      border-bottom: 1px solid var(--nx-line);
      background: var(--nx-bg-elevated);
    }

    .nx-nav__inner {
      min-height: 66px;
      display: flex;
      align-items: center;
      gap: 18px;
    }

    .nx-catalog-button {
      min-width: 190px;
      height: 48px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 11px;
      border: 0;
      border-radius: 14px;
      background: var(--nx-accent);
      color: #ffffff;
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      box-shadow: 0 10px 24px rgba(236,102,8,.22);
      transition: background var(--nx-transition), transform var(--nx-transition), box-shadow var(--nx-transition);
    }

    .nx-catalog-button:hover,
    .nx-catalog-button[aria-expanded="true"] {
      background: var(--nx-accent-hover);
      box-shadow: 0 15px 32px rgba(236,102,8,.28);
      transform: translateY(-2px);
    }

    .nx-burger {
      position: relative;
      width: 19px;
      height: 14px;
    }

    .nx-burger span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
      transition: var(--nx-transition);
    }

    .nx-burger span:nth-child(1) { top: 0; }
    .nx-burger span:nth-child(2) { top: 6px; }
    .nx-burger span:nth-child(3) { top: 12px; }

    .nx-catalog-button[aria-expanded="true"] .nx-burger span:nth-child(1) {
      top: 6px;
      transform: rotate(45deg);
    }

    .nx-catalog-button[aria-expanded="true"] .nx-burger span:nth-child(2) {
      opacity: 0;
      transform: translateX(-5px);
    }

    .nx-catalog-button[aria-expanded="true"] .nx-burger span:nth-child(3) {
      top: 6px;
      transform: rotate(-45deg);
    }

    .nx-primary-links {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 26px;
      flex: 1;
      overflow: hidden;
    }

    .nx-primary-links a {
      position: relative;
      padding: 23px 0;
      color: var(--nx-text);
      font-size: 14px;
      font-weight: 650;
      white-space: nowrap;
      text-decoration: none;
      transition: color var(--nx-transition);
    }

    .nx-primary-links a:after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 16px;
      left: 0;
      height: 2px;
      border-radius: 999px;
      background: var(--nx-accent);
      transform: scaleX(0);
      transform-origin: center;
      transition: transform var(--nx-transition);
    }

    .nx-primary-links a:hover {
      color: var(--nx-accent);
    }

    .nx-primary-links a:hover:after {
      transform: scaleX(1);
    }

    .nx-primary-links .nx-sale {
      margin-left: auto;
      color: var(--nx-accent);
      font-weight: 800;
    }


    .nx-primary-links .nx-sale-button {
      border: 0;
      padding: 0;
      background: transparent;
      color: var(--nx-accent);
      font: inherit;
      font-weight: 800;
      cursor: pointer;
      transition: color var(--nx-transition), transform var(--nx-transition);
    }

    .nx-primary-links .nx-sale-button:hover {
      color: var(--nx-accent-dark);
      transform: translateY(-1px);
    }

    /* AdeptDEV — compact localized discount CTA in the free right side of desktop nav.
       Text comes only from the OpenCart common/header language files. */
    .nx-sale-cta {
      flex: 0 0 auto;
      min-height: 40px;
      padding: 0 9px 0 15px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border: 1px solid rgba(236,102,8,.16);
      border-radius: 13px;
      background: #ec6608 !important;
      color: #ffffff !important;
      box-shadow: 0 8px 20px rgba(236,102,8,.18);
      font-size: 12px;
      font-weight: 800;
      line-height: 1;
      white-space: nowrap;
      text-decoration: none !important;
      transition: transform var(--nx-transition), box-shadow var(--nx-transition), background-color var(--nx-transition);
    }

    .nx-sale-cta__icon {
      width: 24px;
      height: 24px;
      display: grid;
      place-items: center;
      border-radius: 8px;
      background: rgba(255,255,255,.14);
    }

    .nx-sale-cta__icon .nx-icon {
      width: 14px;
      height: 14px;
      stroke-width: 2;
    }

    .nx-sale-cta:hover,
    .nx-sale-cta:focus {
      background: #f06b0d !important;
      color: #ffffff !important;
      text-decoration: none !important;
      transform: translateY(-1px);
      box-shadow: 0 11px 25px rgba(236,102,8,.24);
    }

    .nx-sale-cta:focus-visible {
      outline: 3px solid rgba(236,102,8,.22);
      outline-offset: 3px;
    }

    @media (max-width: 1180px) and (min-width: 901px) {
      .nx-sale-cta {
        min-height: 38px;
        padding-left: 12px;
        font-size: 11.5px;
      }
    }
    .nx-phone {
      position: relative;
      flex: 0 0 auto;
    }

    .nx-phone__button {
      height: 48px;
      padding: 0 16px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 1px solid var(--nx-line);
      border-radius: 14px;
      background: var(--nx-bg-elevated);
      color: var(--nx-text);
      font-size: 13px;
      font-weight: 750;
      cursor: pointer;
      transition: var(--nx-transition);
    }

    .nx-phone__button:hover,
    .nx-phone.is-open .nx-phone__button {
      border-color: rgba(236,102,8,.34);
      background: var(--nx-accent-soft);
      color: var(--nx-accent);
    }

    .nx-phone__panel {
      position: absolute;
      top: calc(100% + 12px);
      right: 0;
      width: 360px;
      padding: 22px;
      visibility: hidden;
      border: 1px solid var(--nx-line);
      border-radius: 20px;
      background: var(--nx-bg-elevated);
      box-shadow: var(--nx-shadow-lg);
      opacity: 0;
      transform: translateY(10px) scale(.98);
      transform-origin: top right;
      transition: opacity var(--nx-transition), transform var(--nx-transition), visibility var(--nx-transition);
    }

    .nx-phone.is-open .nx-phone__panel {
      visibility: visible;
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .nx-phone__title {
      margin: 0 0 4px;
      color: var(--nx-text);
      font-size: 18px;
      font-weight: 800;
    }

    .nx-phone__subtitle {
      margin: 0 0 17px;
      color: var(--nx-text-soft);
      font-size: 13px;
    }

    .nx-phone__list {
      display: grid;
      gap: 9px;
    }

    .nx-phone__link {
      min-height: 49px;
      padding: 0 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border: 1px solid var(--nx-line);
      border-radius: 13px;
      color: var(--nx-text);
      font-size: 14px;
      font-weight: 750;
      text-decoration: none;
      transition: var(--nx-transition);
    }

    .nx-phone__link:hover {
      border-color: rgba(236,102,8,.35);
      background: var(--nx-accent-soft);
      color: var(--nx-accent);
      transform: translateX(2px);
    }

    .nx-phone__schedule {
      margin-top: 16px;
      padding: 14px;
      border-radius: 13px;
      background: var(--nx-bg-soft);
      color: var(--nx-text-soft);
      font-size: 12px;
      line-height: 1.65;
    }

    .nx-catalog-overlay,
    .nx-drawer-overlay {
      position: fixed;
      inset: 0;
      z-index: 1030;
      visibility: hidden;
      background: rgba(55,54,54,.54);
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      opacity: 0;
      transition: opacity var(--nx-transition), visibility var(--nx-transition);
    }

    .nx-catalog-overlay.is-open,
    .nx-drawer-overlay.is-open {
      visibility: visible;
      opacity: 1;
    }

    .nx-catalog-panel {
      position: fixed;
      z-index: 10030;
      left: 50%;
      top: var(--nx-catalog-top, 176px);
      width: min(1180px, calc(100vw - 48px));
      height: var(--nx-catalog-height, calc(100dvh - 194px));
      max-height: var(--nx-catalog-height, calc(100dvh - 194px));
      background: var(--nx-surface);
      border: 1px solid var(--nx-border);
      border-radius: 24px;
      box-shadow: 0 30px 90px rgba(236,102,8,.30);
      opacity: 0;
      visibility: hidden;
      transform: translateX(-50%) translateY(14px) scale(.985);
      transform-origin: top center;
      transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1), visibility .28s ease;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .nx-catalog-panel.is-open {
      opacity: 1;
      visibility: visible;
      transform: translateX(-50%) translateY(0) scale(1);
    }

    .nx-catalog-panel__header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 24px;
      padding-bottom: 18px;
      border-bottom: 1px solid var(--nx-line);
    }

    .nx-catalog-panel__title {
      margin: 0;
      color: var(--nx-text);
      font-size: clamp(24px, 3vw, 36px);
      font-weight: 800;
      letter-spacing: -.03em;
    }

    .nx-close {
      width: 44px;
      height: 44px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--nx-line);
      border-radius: 13px;
      background: var(--nx-bg-soft);
      color: var(--nx-text);
      cursor: pointer;
      transition: var(--nx-transition);
    }

    .nx-close:hover {
      border-color: rgba(236,102,8,.35);
      background: var(--nx-accent-soft);
      color: var(--nx-accent);
      transform: rotate(4deg) scale(1.04);
    }

    .nx-catalog-content {
      color: var(--nx-text);
    }

    .nx-catalog-empty {
      padding: 36px;
      border: 1px dashed var(--nx-border);
      border-radius: 16px;
      text-align: center;
      color: var(--nx-muted);
      background: var(--nx-soft);
    }

    .nx-catalog-content > ul,
    .nx-catalog-content .nav,
    .nx-catalog-content .navbar-nav,
    .nx-catalog-content #menu > ul {
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      float: none !important;
      width: 100%;
      margin: 0 !important;
      padding: 0 !important;
      list-style: none;
    }

    .nx-catalog-content li {
      float: none !important;
      list-style: none;
    }

    .nx-catalog-content > ul > li,
    .nx-catalog-content .navbar-nav > li,
    .nx-catalog-content #menu > ul > li {
      position: relative;
      min-width: 0;
      padding: 14px;
      border: 1px solid var(--nx-line);
      border-radius: 16px;
      background: var(--nx-bg-soft);
      transition: var(--nx-transition);
    }

    .nx-catalog-content > ul > li:hover,
    .nx-catalog-content .navbar-nav > li:hover,
    .nx-catalog-content #menu > ul > li:hover {
      border-color: rgba(236,102,8,.3);
      background: var(--nx-accent-soft);
      transform: translateY(-2px);
      box-shadow: var(--nx-shadow-sm);
    }

    .nx-catalog-content a {
      color: var(--nx-text) !important;
      text-decoration: none !important;
    }

    .nx-catalog-content > ul > li > a,
    .nx-catalog-content .navbar-nav > li > a,
    .nx-catalog-content #menu > ul > li > a {
      display: block;
      padding: 0 !important;
      background: transparent !important;
      font-size: 15px;
      font-weight: 800;
      line-height: 1.35;
    }

    .nx-catalog-content .dropdown-menu,
    .nx-catalog-content .dropdown-inner {
      position: static !important;
      display: block !important;
      float: none !important;
      min-width: 0 !important;
      margin: 10px 0 0 !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
    }

    .nx-catalog-content .dropdown-menu a,
    .nx-catalog-content .dropdown-inner a {
      display: block;
      padding: 5px 0 !important;
      color: var(--nx-text-soft) !important;
      font-size: 13px;
      font-weight: 500;
    }

    .nx-catalog-content .dropdown-menu a:hover,
    .nx-catalog-content .dropdown-inner a:hover {
      color: var(--nx-accent) !important;
    }

    /* AdeptDEV: make the native OpenCart catalog render as static content inside the new modal */
    .nx-catalog-panel {
      padding: 24px !important;
      background: var(--nx-surface, #ffffff) !important;
    }

    .nx-catalog-panel__header {
      flex: 0 0 auto;
      margin: 0 0 18px !important;
    }

    .nx-catalog-content {
      position: relative !important;
      flex: 1 1 auto;
      min-height: 0;
      width: 100% !important;
      overflow: auto !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      background: var(--nx-surface, #ffffff) !important;
    }

    .nx-catalog-content > * {
      position: relative !important;
      inset: auto !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;
      width: 100% !important;
      max-width: none !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      display: block !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    /* Never render executable/template nodes as catalogue content. */
    .nx-catalog-content > script,
    .nx-catalog-content > style,
    .nx-catalog-content > template,
    .nx-catalog-content script,
    .nx-catalog-content style,
    .nx-catalog-content template {
      display: none !important;
      visibility: hidden !important;
      pointer-events: none !important;
      width: 0 !important;
      height: 0 !important;
      overflow: hidden !important;
    }

    .nx-catalog-content .catalog-menu,
    .nx-catalog-content .menu-catalog,
    .nx-catalog-content .catalog-wrapper,
    .nx-catalog-content .menu-wrapper,
    .nx-catalog-content .mm-menu,
    .nx-catalog-content .mobile-menu,
    .nx-catalog-content #menu,
    .nx-catalog-content nav {
      position: relative !important;
      inset: auto !important;
      width: 100% !important;
      max-width: none !important;
      height: auto !important;
      min-height: 0 !important;
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      overflow: visible !important;
      background: transparent !important;
    }

    /* Hide only native overlays/close controls duplicated inside our modal */
    .nx-catalog-content .overlay,
    .nx-catalog-content .menu-overlay,
    .nx-catalog-content .catalog-overlay,
    .nx-catalog-content .mm-wrapper__blocker,
    .nx-catalog-content .close-menu,
    .nx-catalog-content .menu-close,
    .nx-catalog-content [class*="backdrop"] {
      display: none !important;
    }

    .nx-catalog-content ul {
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
    }

    .nx-mobile-trigger {
      display: none;
    }

    .nx-mobile-drawer {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 1050;
      width: min(420px, 92vw);
      height: 100%;
      overflow-y: auto;
      background: var(--nx-bg-elevated);
      box-shadow: var(--nx-shadow-lg);
      transform: translateX(104%);
      transition: transform .34s cubic-bezier(.2, .8, .2, 1);
    }

    .nx-mobile-drawer.is-open {
      transform: translateX(0);
    }

    .nx-mobile-drawer__header {
      position: sticky;
      top: 0;
      z-index: 2;
      padding: 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      border-bottom: 1px solid var(--nx-line);
      background: var(--nx-bg-elevated);
    }

    .nx-mobile-drawer__body {
      padding: 18px;
    }

    .nx-mobile-drawer__search {
      margin-bottom: 18px;
    }

    .nx-mobile-drawer__nav {
      display: grid;
      gap: 8px;
      margin-bottom: 20px;
    }

    .nx-mobile-drawer__nav a {
      min-height: 48px;
      padding: 0 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border: 1px solid var(--nx-line);
      border-radius: 13px;
      color: var(--nx-text);
      font-size: 14px;
      font-weight: 700;
      text-decoration: none;
      transition: var(--nx-transition);
    }

    .nx-mobile-drawer__nav a:hover {
      border-color: rgba(236,102,8,.3);
      background: var(--nx-accent-soft);
      color: var(--nx-accent);
    }

    .nx-mobile-bottom {
      display: none;
    }

    .nx-header-spacer {
      display: none;
    }

    @media (max-width: 1180px) {
      .nx-main__inner {
        grid-template-columns: 165px minmax(260px, 1fr) auto;
        gap: 16px;
      }

      .nx-actions .nx-action--compare,
      .nx-actions .nx-action--account {
        display: none;
      }

      .nx-primary-links {
        gap: 18px;
      }

      .nx-primary-links a:nth-child(n+6):not(.nx-sale) {
        display: none;
      }

      .nx-catalog-content > ul,
      .nx-catalog-content .nav,
      .nx-catalog-content .navbar-nav,
      .nx-catalog-content #menu > ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    
.nx-search-panel__products .nx-search-panel__scroll {
  max-height: min(510px, calc(100vh - 260px));
}

.nx-search-panel__head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: inherit;
}

.nx-search-panel__footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
}

@media (max-width: 900px) {
      .nx-topbar__links {
        display: none;
      }

      .nx-topbar__inner {
        justify-content: flex-end;
      }

      .nx-statusbar__inner {
        justify-content: flex-start;
      }

      .nx-main__inner {
        min-height: 76px;
        grid-template-columns: auto minmax(0, 1fr) auto;
      }

      .nx-logo img {
        max-width: 140px;
        max-height: 48px;
      }

      .nx-search-zone {
        display: none;
      }

      .nx-actions .nx-action--wishlist,
      .nx-actions .nx-action--compare,
      .nx-actions .nx-action--account,
      .nx-cart-slot {
        display: none;
      }

      /* AdeptDEV — mobile navigation lives in the premium bottom nav/catalog UI. */
      .nx-mobile-trigger {
        display: none;
      }

      .nx-nav {
        display: none;
      }

      .nx-catalog-panel {
        width: min(92vw, 720px);
      }

      .nx-catalog-content > ul,
      .nx-catalog-content .nav,
      .nx-catalog-content .navbar-nav,
      .nx-catalog-content #menu > ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .nx-mobile-bottom {
        position: fixed;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        left: 10px;
        z-index: 2147483000 !important;
        isolation: isolate;
        pointer-events: auto !important;
        touch-action: manipulation;
        min-height: 66px;
        padding: 7px;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        border: 1px solid rgba(255,255,255,.65);
        border-radius: 20px;
        background: rgba(255,255,255,.9);
        box-shadow: 0 18px 55px rgba(55,54,54,.2);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
      }

      body.nx-dark .nx-mobile-bottom {
        border-color: rgba(255,255,255,.08);
        background: rgba(55,54,54,.9);
      }

      .nx-mobile-bottom a,
      .nx-mobile-bottom button {
        position: relative;
        min-width: 0;
        padding: 5px 2px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 0;
        border-radius: 14px;
        background: transparent;
        color: var(--nx-text-soft);
        font: inherit;
        font-size: 10px;
        font-weight: 650;
        text-decoration: none;
        pointer-events: auto !important;
        touch-action: manipulation;
        cursor: pointer;
      }

      .nx-mobile-bottom a:hover,
      .nx-mobile-bottom button:hover {
        background: var(--nx-accent-soft);
        color: var(--nx-accent);
      }

      .nx-mobile-bottom .nx-mobile-bottom__catalog {
        color: #ffffff;
        background: var(--nx-accent);
      }

      .nx-mobile-bottom .nx-icon {
        width: 20px;
        height: 20px;
      }

      body {
        padding-bottom: 86px;
      }
    }

    @media (max-width: 560px) {
      .nx-shell {
        width: min(100% - 20px, var(--nx-container));
      }

      .nx-topbar__tools {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
      }

      .nx-topbar__phone {
        font-size: 12px;
      }

      .nx-statusbar__inner {
        min-height: 36px;
        overflow: hidden;
        font-size: 11px;
        white-space: nowrap;
        text-overflow: ellipsis;
      }

      .nx-main__inner {
        min-height: 70px;
        gap: 10px;
      }

      .nx-logo img {
        max-width: 126px;
      }

      .nx-action {
        width: 44px;
        height: 44px;
        border-radius: 13px;
      }

      .nx-catalog-panel {
        width: 100%;
        padding: 18px;
      }

      .nx-catalog-content > ul,
      .nx-catalog-content .nav,
      .nx-catalog-content .navbar-nav,
      .nx-catalog-content #menu > ul {
        grid-template-columns: 1fr;
      }

      .nx-phone__panel {
        position: fixed;
        top: 86px;
        right: 10px;
        left: 10px;
        width: auto;
      }

      .nx-cart-slot #cart .dropdown-menu {
        position: fixed;
        right: 10px;
        left: 10px;
        min-width: 0;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *:before,
      *:after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }
  

    /* AdeptDEV catalog scroll/layout stabilization */
    .nx-catalog-panel {
      overscroll-behavior: contain;
    }

    .nx-catalog-panel__header {
      position: relative !important;
      z-index: 5;
      flex: 0 0 auto !important;
      background: var(--nx-surface, #ffffff) !important;
    }

    .nx-catalog-content {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      padding: 2px 10px 10px 2px !important;
      scroll-behavior: smooth;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
      -webkit-overflow-scrolling: touch;
    }

    .nx-catalog-content::-webkit-scrollbar {
      width: 8px;
    }

    .nx-catalog-content::-webkit-scrollbar-track {
      background: transparent;
    }

    .nx-catalog-content::-webkit-scrollbar-thumb {
      border: 2px solid transparent;
      border-radius: 999px;
      background: rgba(55,54,54,.55);
      background-clip: padding-box;
    }

    /* Remove duplicated native menu decoration inside the new modal */
    .nx-catalog-content > img,
    .nx-catalog-content img[src=""],
    .nx-catalog-content img:not([src]),
    .nx-catalog-content .menu-logo,
    .nx-catalog-content .catalog-logo,
    .nx-catalog-content .close,
    .nx-catalog-content .close-btn,
    .nx-catalog-content [class*="close-menu"],
    .nx-catalog-content [class*="menu-close"] {
      display: none !important;
    }

    /* Masonry-like category cards: prevents giant empty columns while scrolling */
    .nx-catalog-content > ul,
    .nx-catalog-content .nav,
    .nx-catalog-content .navbar-nav,
    .nx-catalog-content #menu > ul {
      display: block !important;
      columns: 4;
      column-gap: 14px;
      width: 100% !important;
      height: auto !important;
      overflow: visible !important;
    }

    .nx-catalog-content > ul > li,
    .nx-catalog-content .navbar-nav > li,
    .nx-catalog-content #menu > ul > li {
      display: inline-block !important;
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      margin: 0 0 14px !important;
      vertical-align: top;
      break-inside: avoid;
      page-break-inside: avoid;
      overflow: hidden !important;
    }

    .nx-catalog-content .dropdown-menu,
    .nx-catalog-content .dropdown-inner,
    .nx-catalog-content .dropdown-menu ul,
    .nx-catalog-content .dropdown-inner ul {
      height: auto !important;
      max-height: none !important;
      overflow: visible !important;
    }

    .nx-catalog-content li,
    .nx-catalog-content a {
      transform: none !important;
    }

    @media (max-width: 1100px) {
      .nx-catalog-content > ul,
      .nx-catalog-content .nav,
      .nx-catalog-content .navbar-nav,
      .nx-catalog-content #menu > ul {
        columns: 3;
      }
    }

    @media (max-width: 760px) {
      .nx-catalog-panel {
        top: 10px !important;
        width: calc(100vw - 20px) !important;
        height: calc(100dvh - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        padding: 16px !important;
        border-radius: 18px !important;
      }

      .nx-catalog-content > ul,
      .nx-catalog-content .nav,
      .nx-catalog-content .navbar-nav,
      .nx-catalog-content #menu > ul {
        columns: 1;
      }
    }


    /* FINAL FIX: keep only the native desktop catalogue layer.
       The theme outputs an additional mobile catalogue below it; when the
       modal was scrolled that duplicate became visible. */
    .nx-catalog-content {
      overflow: hidden !important;
    }

    .nx-catalog-content > .nx-native-catalog-primary {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      max-height: 100% !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      overscroll-behavior: contain;
      scrollbar-gutter: stable;
    }

    .nx-catalog-content > .nx-native-catalog-duplicate {
      display: none !important;
    }


    /* FINAL: mobile catalogue button + desktop phone placement */
    @media (min-width: 901px) {
      /* Keep the phone only in the lower navigation row on desktop. */
      .nx-topbar__phone {
        display: none !important;
      }

      .nx-nav {
        position: relative;
      }

      .nx-nav .nx-phone {
        position: absolute;
        top: 50%;
        right: 24px;
        z-index: 3;
        margin: 0 !important;
        transform: translateY(-50%);
      }

      /* Leave room so navigation links cannot overlap the phone. */
      .nx-nav__inner {
        padding-right: 170px;
      }
    }

    @media (max-width: 900px) {
      /* The top phone remains visible on mobile exactly as before. */
      .nx-topbar__phone {
        display: inline-flex !important;
      }
    }


    /* FINAL ALIGNMENT: desktop phone beside wishlist + clean white search icon */
    .nx-search-zone button svg,
    .nx-search-zone .btn svg,
    .nx-search-zone button i,
    .nx-search-zone .btn i,
    .nx-search-zone button .fa,
    .nx-search-zone .btn .fa {
      color: #ffffff !important;
      fill: none !important;
      stroke: #ffffff !important;
      opacity: 1 !important;
    }

    .nx-search-zone button svg,
    .nx-search-zone .btn svg {
      width: 21px !important;
      height: 21px !important;
      stroke-width: 2 !important;
    }

    .nx-search-zone button::before,
    .nx-search-zone button::after,
    .nx-search-zone .btn::before,
    .nx-search-zone .btn::after {
      color: #ffffff !important;
      border-color: #ffffff !important;
    }



    /* AdeptDEV orange search button: draw one clean white magnifier regardless of module icon markup. */
    .nx-search-zone button,
    .nx-search-zone .btn {
      overflow: hidden !important;
      font-size: 0 !important;
    }

    .nx-search-zone button > *,
    .nx-search-zone .btn > * {
      display: none !important;
    }

    .nx-search-zone button::before,
    .nx-search-zone .btn::before {
      content: "" !important;
      position: absolute !important;
      width: 14px !important;
      height: 14px !important;
      left: 13px !important;
      top: 12px !important;
      border: 2px solid #ffffff !important;
      border-radius: 50% !important;
      background: transparent !important;
      transform: none !important;
      opacity: 1 !important;
    }

    .nx-search-zone button::after,
    .nx-search-zone .btn::after {
      content: "" !important;
      position: absolute !important;
      width: 9px !important;
      height: 2px !important;
      left: 26px !important;
      top: 27px !important;
      border: 0 !important;
      border-radius: 2px !important;
      background: #ffffff !important;
      transform: rotate(45deg) !important;
      transform-origin: left center !important;
      opacity: 1 !important;
    }
    @media (min-width: 901px) {
      .nx-main__inner {
        grid-template-columns: minmax(150px, 180px) minmax(360px, 1fr) auto !important;
      }

      .nx-actions {
        gap: 9px;
        white-space: nowrap;
      }

      .nx-actions .nx-phone {
        display: block !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        margin: 0 2px 0 0 !important;
        transform: none !important;
      }

      .nx-actions .nx-phone__button {
        height: 48px;
        padding: 0 15px;
        border-radius: 14px;
      }

      .nx-nav .nx-phone {
        display: none !important;
      }

      .nx-nav__inner {
        padding-right: var(--nx-gutter) !important;
      }
    }

    @media (max-width: 900px) {
      /* Mobile keeps the existing top-bar phone; avoid duplicating it in actions. */
      .nx-actions .nx-phone {
        display: none !important;
      }
    }


    /* Clean header separators and clickable weekly schedule */
    .nx-statusbar,
    .nx-main,
    .nx-nav {
      border-top: 0 !important;
      border-bottom: 0 !important;
      box-shadow: none;
    }

    .nx-work {
      position: relative;
      display: inline-flex;
      justify-content: center;
    }

    .nx-work__button {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 7px 12px;
      border: 0;
      border-radius: 12px;
      background: transparent;
      color: var(--nx-text-soft);
      font: inherit;
      cursor: pointer;
      transition: background var(--nx-transition), color var(--nx-transition);
    }

    .nx-work__button:hover,
    .nx-work.is-open .nx-work__button {
      background: var(--nx-accent-soft);
      color: var(--nx-text);
    }

    .nx-work__chevron {
      width: 15px;
      height: 15px;
      transition: transform var(--nx-transition);
    }

    .nx-work.is-open .nx-work__chevron { transform: rotate(180deg); }

    .nx-work__panel {
      position: absolute;
      top: calc(100% + 10px);
      left: 50%;
      z-index: 1060;
      width: min(340px, calc(100vw - 30px));
      padding: 14px;
      border: 1px solid var(--nx-line);
      border-radius: 18px;
      background: var(--nx-bg-elevated);
      box-shadow: var(--nx-shadow-md);
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -8px);
      transition: opacity var(--nx-transition), transform var(--nx-transition), visibility var(--nx-transition);
    }

    .nx-work.is-open .nx-work__panel {
      opacity: 1;
      visibility: visible;
      transform: translate(-50%, 0);
    }

    .nx-work__title {
      margin: 0 0 9px;
      font-size: 15px;
      color: var(--nx-text);
    }

    .nx-work__row {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      padding: 8px 4px;
      border-bottom: 1px solid var(--nx-line);
      color: var(--nx-text-soft);
    }

    .nx-work__row:last-child { border-bottom: 0; }
    .nx-work__row strong { color: var(--nx-text); white-space: nowrap; }

    .nx-work__day {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }

    .nx-work__day-dot {
      width: 8px;
      height: 8px;
      flex: 0 0 8px;
      border-radius: 50%;
      background: transparent;
      box-shadow: 0 0 0 3px transparent;
      transition: background var(--nx-transition), box-shadow var(--nx-transition);
    }

    .nx-work__row.is-today {
      margin-inline: -4px;
      padding-inline: 10px;
      border-radius: 12px;
      background: var(--nx-accent-soft);
      color: var(--nx-text);
      font-weight: 700;
    }

    .nx-work__row.is-today .nx-work__day-dot {
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(255,255,255,.16);
    }

    .nx-work__row.is-today.is-open-now .nx-work__day-dot {
      background: #ec6608;
      box-shadow: 0 0 0 3px rgba(236,102,8,.16);
    }

    .nx-work__row.is-today.is-closing-now .nx-work__day-dot {
      background: #ec6608;
      box-shadow: 0 0 0 3px rgba(236,102,8,.16);
    }

    .nx-work__row.is-today.is-opening-now .nx-work__day-dot {
      background: #ec6608;
      box-shadow: 0 0 0 3px rgba(236,102,8,.16);
    }

    .nx-work__row.is-today.is-closed-now .nx-work__day-dot {
      background: #ec6608;
      box-shadow: 0 0 0 3px rgba(236,102,8,.14);
    }

    @media (max-width: 700px) {
      .nx-work__button { padding-inline: 5px; font-size: 12px; }
      .nx-work__panel { top: calc(100% + 7px); }
    }


    /* Mobile interaction fixes: schedule popup and bottom search */
    @media (max-width: 900px) {
      .nx-statusbar,
      .nx-statusbar__inner,
      .nx-work,
      .nx-work__button {
        position: relative;
        z-index: 1045;
        pointer-events: auto !important;
        touch-action: manipulation;
      }

      .nx-work__button {
        width: 100%;
        min-height: 36px;
        justify-content: center;
      }

      .nx-work__panel {
        position: fixed;
        top: 50px;
        right: 12px;
        left: 12px;
        z-index: 5005;
        width: auto;
        max-height: calc(100dvh - 120px);
        overflow-y: auto;
        transform: translateY(-8px);
      }

      .nx-work.is-open .nx-work__panel {
        transform: translateY(0);
      }

      .nx-mobile-drawer {
        z-index: 5000;
      }

      .nx-drawer-overlay {
        z-index: 4990;
      }

      #nxMobileSearchButton {
        pointer-events: auto !important;
        touch-action: manipulation;
      }

      #nxMobileSearch input[type="text"],
      #nxMobileSearch input[type="search"] {
        display: block !important;
        width: 100% !important;
        min-height: 48px;
      }
    }


    /* Final mobile UX fixes: isolated search, smooth account window, schedule portal */
    .nx-mobile-search-modal {
      position: fixed;
      inset: 0;
      z-index: 2147483500;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      padding: max(18px, env(safe-area-inset-top)) 14px 100px;
      background: rgba(55,54,54,.58);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .25s ease, visibility .25s ease;
    }
    .nx-mobile-search-modal.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
    .nx-mobile-search-card {
      width: min(100%, 620px);
      margin-top: 44px;
      padding: 14px;
      border: 1px solid rgba(255,255,255,.65);
      border-radius: 22px;
      background: var(--nx-bg-elevated);
      box-shadow: 0 24px 80px rgba(55,54,54,.26);
      transform: translateY(-16px) scale(.98);
      transition: transform .28s cubic-bezier(.2,.8,.2,1);
    }
    .nx-mobile-search-modal.is-open .nx-mobile-search-card { transform: translateY(0) scale(1); }
    .nx-mobile-search-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
    .nx-mobile-search-title { margin:0; font-size:18px; font-weight:800; color:var(--nx-text); }
    .nx-mobile-search-close { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--nx-line); border-radius:12px; background:var(--nx-bg-soft); color:var(--nx-text); }
    .nx-mobile-search-body .input-group { display:flex !important; width:100% !important; }
    .nx-mobile-search-body input[type="text"],
    .nx-mobile-search-body input[type="search"] { display:block !important; width:100% !important; height:52px !important; padding:0 60px 0 16px !important; border:1px solid var(--nx-line) !important; border-radius:15px !important; background:var(--nx-bg-soft) !important; color:var(--nx-text) !important; }
    .nx-mobile-search-body button { width:46px !important; height:46px !important; margin:3px !important; border:0 !important; border-radius:13px !important; background:var(--nx-accent) !important; color:#ffffff !important; }
    body.nx-search-modal-open { overflow:hidden !important; }

    /* The login/registration module already uses #rega.active. Add motion without changing its logic. */
    #rega { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(14px) scale(.975); transition:opacity .28s ease, transform .32s cubic-bezier(.2,.8,.2,1), visibility .28s ease !important; }
    #rega.active { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); }

    /* Schedule is moved to body, outside all header stacking contexts. */
    .nx-work__panel.nx-work-portal {
      position:fixed !important;
      z-index:2147483600 !important;
      left:auto !important;
      top:auto;
      width:min(340px, calc(100vw - 24px)) !important;
      opacity:0 !important;
      visibility:hidden !important;
      pointer-events:none !important;
      transform:translateY(-10px) scale(.98) !important;
      transition:opacity .22s ease, transform .25s cubic-bezier(.2,.8,.2,1), visibility .22s ease !important;
    }
    .nx-work__panel.nx-work-portal.is-open {
      opacity:1 !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transform:translateY(0) scale(1) !important;
    }
    @media (max-width:900px) {
      .nx-work__panel.nx-work-portal { top:52px !important; right:12px !important; left:12px !important; width:auto !important; max-height:calc(100dvh - 125px); overflow:auto; }
    }


    /* Mobile interaction polish: real login motion and top-layer schedule */
    @keyframes nxLoginBackdropIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes nxLoginCardIn {
      from { opacity: 0; transform: translateY(28px) scale(.965); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    #rega.nx-login-opening.active {
      animation: nxLoginBackdropIn .28s ease both !important;
    }
    #rega.nx-login-opening.active > div,
    #rega.nx-login-opening.active .popup,
    #rega.nx-login-opening.active .modal-dialog,
    #rega.nx-login-opening.active .login-register,
    #rega.nx-login-opening.active [class*="modal-content"] {
      animation: nxLoginCardIn .38s cubic-bezier(.2,.8,.2,1) both !important;
      transform-origin: center bottom;
    }
    .nx-work__panel.nx-work-portal {
      z-index: 2147483646 !important;
    }


    /* FINAL MOBILE FIX: aligned search, correct brand icon, stable schedule and login toggles */
    .nx-mobile-search-body form,
    .nx-mobile-search-body .input-group,
    .nx-mobile-search-body #search,
    .nx-mobile-search-body .search {
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
    }
    .nx-mobile-search-body input[type="text"],
    .nx-mobile-search-body input[type="search"],
    .nx-mobile-search-body input[name="search"] {
      flex: 1 1 auto !important;
      min-width: 0 !important;
      width: 100% !important;
      height: 54px !important;
      margin: 0 !important;
      padding: 0 64px 0 16px !important;
      line-height: 54px !important;
      box-sizing: border-box !important;
    }
    .nx-mobile-search-body .input-group-btn,
    .nx-mobile-search-body .btn-group {
      position: absolute !important;
      top: 4px !important;
      right: 4px !important;
      bottom: 4px !important;
      z-index: 3 !important;
      display: flex !important;
      align-items: center !important;
      width: 46px !important;
      height: 46px !important;
      margin: 0 !important;
    }
    .nx-mobile-search-body button,
    .nx-mobile-search-body .btn {
      position: relative !important;
      inset: auto !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex: 0 0 46px !important;
      width: 46px !important;
      min-width: 46px !important;
      height: 46px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 13px !important;
      background: #ec6608 !important;
      color: #ffffff !important;
      font-size: 0 !important;
      line-height: 1 !important;
      box-shadow: 0 8px 20px rgba(236,102,8,.22) !important;
      overflow: hidden !important;
    }
    .nx-mobile-search-body button > *,
    .nx-mobile-search-body .btn > * { display: none !important; }
    .nx-mobile-search-body button::before,
    .nx-mobile-search-body .btn::before {
      content: "" !important;
      display: block !important;
      width: 15px !important;
      height: 15px !important;
      border: 2px solid #ffffff !important;
      border-radius: 50% !important;
      box-sizing: border-box !important;
    }
    .nx-mobile-search-body button::after,
    .nx-mobile-search-body .btn::after {
      content: "" !important;
      position: absolute !important;
      width: 8px !important;
      height: 2px !important;
      left: 27px !important;
      top: 28px !important;
      right: auto !important;
      bottom: auto !important;
      border: 0 !important;
      border-radius: 2px !important;
      background: #ffffff !important;
      transform: rotate(45deg) !important;
      transform-origin: center !important;
    }
    .nx-mobile-search-body button:hover,
    .nx-mobile-search-body .btn:hover { background: #ec6608 !important; }

    /* AdeptDEV — the existing desktop AJAX result panel is portaled here on mobile. */
    .nx-mobile-search-modal #nxAjaxResults {
      position: relative !important;
      inset: auto !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;
      width: 100% !important;
      max-width: none !important;
      max-height: calc(100dvh - 190px) !important;
      margin: 12px 0 0 !important;
      border-radius: 16px !important;
      box-shadow: 0 18px 42px rgba(55,54,54,.18) !important;
      transform-origin: top center !important;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel {
      min-height: 0 !important;
      height: auto !important;
      max-height: calc(100dvh - 192px) !important;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel {
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      touch-action: pan-y;
    }
    /* AdeptDEV — mobile search prioritises category discovery without duplicating the AJAX engine. */
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories {
      order: 1;
      display: flex !important;
      flex: 0 0 auto !important;
      min-height: 0 !important;
      max-height: none !important;
      border-top: 0 !important;
      border-bottom: 1px solid var(--nx-line);
      background: var(--nx-bg-soft);
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-panel__head {
      min-height: 48px;
      padding: 11px 14px 8px;
      border-bottom: 0;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-panel__scroll {
      display: flex !important;
      gap: 8px;
      padding: 0 12px 12px;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      overscroll-behavior-x: contain;
      scroll-snap-type: x proximity;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-x;
      scrollbar-width: none;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-panel__scroll::-webkit-scrollbar {
      display: none;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-category {
      flex: 0 0 auto !important;
      width: auto !important;
      max-width: min(78vw, 290px) !important;
      min-height: 42px;
      padding: 9px 11px 9px 13px !important;
      gap: 10px;
      border: 1px solid var(--nx-line) !important;
      border-radius: 12px;
      background: var(--nx-bg-elevated);
      scroll-snap-align: start;
      box-shadow: 0 5px 14px rgba(55,54,54,.06);
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-category__name {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__products {
      order: 2;
      flex: 1 1 auto !important;
      min-height: 0 !important;
      max-height: none !important;
      border-right: 0 !important;
    }
    .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__products .nx-search-panel__scroll {
      min-height: 0;
      max-height: calc(100dvh - 385px) !important;
      overflow-y: auto !important;
      overscroll-behavior-y: contain;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-y;
    }
    @media (max-width: 390px) {
      .nx-mobile-search-card {
        margin-top: 22px;
        padding: 12px;
      }
      .nx-mobile-search-modal #nxAjaxResults {
        max-height: calc(100dvh - 166px) !important;
      }
      .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__products {
        max-height: none !important;
      }
      .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__products .nx-search-panel__scroll {
        max-height: calc(100dvh - 360px) !important;
      }
      .nx-mobile-search-modal #nxAjaxResults .nx-search-panel__categories .nx-search-category {
        max-width: 82vw !important;
      }
    }

    #rega.nx-login-closing {
      opacity: 0 !important;
      pointer-events: none !important;
      transition: opacity .24s ease !important;
    }
    #rega.nx-login-closing > div,
    #rega.nx-login-closing .popup,
    #rega.nx-login-closing .modal-dialog,
    #rega.nx-login-closing .login-register,
    #rega.nx-login-closing [class*="modal-content"] {
      opacity: 0 !important;
      transform: translateY(24px) scale(.97) !important;
      transition: opacity .24s ease, transform .28s cubic-bezier(.2,.8,.2,1) !important;
    }

    @media (max-width:900px) {
      .nx-work__panel.nx-work-portal {
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
        max-height: min(520px, calc(100dvh - 110px)) !important;
        overflow: auto !important;
        overscroll-behavior: contain !important;
      }
    }



    /* FINAL: mobile schedule position, smooth login closing and animated top phone */
    .nx-topbar__phone--animated {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      white-space: nowrap;
    }
    .nx-topbar__phone--animated .nx-icon {
      width: 16px;
      height: 16px;
      flex: 0 0 16px;
    }
    @keyframes nxPhoneRing {
      0%, 55%, 100% { transform: rotate(0deg); }
      60% { transform: rotate(16deg); }
      65% { transform: rotate(-14deg); }
      70% { transform: rotate(12deg); }
      75% { transform: rotate(-8deg); }
      80% { transform: rotate(0deg); }
    }
    .nx-phone-ring-icon {
      transform-origin: 50% 55%;
      animation: nxPhoneRing 2.4s ease-in-out infinite;
    }

    #rega {
      transition: opacity .32s ease, visibility .32s ease !important;
    }
    #rega.nx-login-closing {
      display: block !important;
      visibility: visible !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    #rega.nx-login-closing > * {
      transform: translateY(28px) scale(.965) !important;
      opacity: 0 !important;
      transition: transform .34s cubic-bezier(.22,.8,.24,1), opacity .28s ease !important;
    }

    @media (max-width:900px) {
      .nx-work__panel.nx-work-portal {
        top: 112px !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
        max-height: calc(100dvh - 132px) !important;
        z-index: 2147483646 !important;
      }
    }


    /* Stable final interaction layer */
    @media (max-width:900px) {
      #nxMobileBottomNav { z-index:2147483647 !important; }
    }
    #rega.nx-login-closing.active {
      display:block !important;
      visibility:visible !important;
      opacity:0 !important;
      pointer-events:none !important;
      transition:opacity .34s ease, visibility .34s ease !important;
    }
    #rega.nx-login-closing.active > div,
    #rega.nx-login-closing.active .popup,
    #rega.nx-login-closing.active .modal-dialog,
    #rega.nx-login-closing.active .login-register,
    #rega.nx-login-closing.active [class*="modal-content"] {
      opacity:0 !important;
      transform:translateY(30px) scale(.96) !important;
      transition:opacity .28s ease, transform .36s cubic-bezier(.22,.8,.24,1) !important;
    }
    .nx-work__panel.nx-work-portal {
      margin:0 !important;
      transform-origin:top center !important;
    }



    /* AdeptDEV premium brand top bar — desktop + mobile */
    .nx-topbar {
      position: relative;
      isolation: isolate;
      overflow: visible;
      background:
        radial-gradient(circle at 18% -70%, rgba(255,255,255,.24), transparent 38%),
        linear-gradient(115deg, #ec6608 0%, #ec6608 42%, #ec6608 100%) !important;
      color: #ffffff;
      box-shadow: 0 8px 24px rgba(236,102,8,.18);
    }

    .nx-topbar::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      opacity: .28;
      background-image:
        linear-gradient(120deg, transparent 0 38%, rgba(255,255,255,.13) 48%, transparent 58%);
      background-size: 240% 100%;
      animation: nxTopbarSheen 9s ease-in-out infinite;
    }

    .nx-topbar::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      height: 1px;
      background: rgba(255,255,255,.24);
      pointer-events: none;
    }

    @keyframes nxTopbarSheen {
      0%, 68%, 100% { background-position: 130% 0; }
      78% { background-position: -80% 0; }
    }

    .nx-topbar__inner {
      min-height: 44px;
    }

    .nx-topbar a,
    .nx-topbar button {
      color: rgba(255,255,255,.9) !important;
    }

    .nx-topbar__link,
    .nx-topbar__button,
    .nx-topbar__phone {
      position: relative;
      border-radius: 10px;
    }

    .nx-topbar__link {
      padding: 7px 9px;
      margin: 0 -9px;
      font-weight: 600;
    }

    .nx-topbar__button,
    .nx-topbar__phone {
      padding: 7px 9px;
      margin: 0 -9px;
    }

    .nx-topbar__link:hover,
    .nx-topbar__button:hover,
    .nx-topbar__phone:hover {
      color: #ffffff !important;
      background: rgba(255,255,255,.12);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
    }

    .nx-topbar__phone {
      text-shadow: 0 1px 1px rgba(236,102,8,.25);
    }

    .nx-topbar__phone .nx-icon,
    .nx-topbar__button .nx-icon {
      filter: drop-shadow(0 1px 1px rgba(236,102,8,.25));
    }

    .nx-topbar .nx-language,
    .nx-topbar .nx-language button,
    .nx-topbar .nx-language a {
      color: #ffffff !important;
      font-weight: 700;
    }

    .nx-statusbar {
      background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
    }

    .nx-statusbar__dot {
      box-shadow: 0 0 0 4px rgba(236,102,8,.12), 0 0 14px rgba(236,102,8,.28);
    }

    @media (max-width: 900px) {
      .nx-topbar {
        box-shadow: 0 6px 18px rgba(236,102,8,.2);
      }

      .nx-topbar__inner {
        min-height: 48px;
        padding-left: 12px;
        padding-right: 12px;
      }

      .nx-topbar__tools {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
      }

      .nx-topbar__phone,
      .nx-topbar__button {
        padding: 8px 7px;
        margin: 0;
      }

      .nx-topbar__phone {
        font-size: 13px;
        letter-spacing: .01em;
      }

      .nx-topbar__phone--animated .nx-icon {
        width: 17px;
        height: 17px;
      }

      .nx-statusbar {
        box-shadow: 0 5px 16px rgba(236,102,8,.05);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .nx-topbar::before,
      .nx-phone-ring-icon {
        animation: none !important;
      }
    }

    /* AdeptDEV NEXUS isolated catalogue host */
    .nx-catalog-content {
      display: block !important;
      min-height: 0 !important;
      height: 100% !important;
      overflow: hidden !important;
      padding: 0 !important;
      background: transparent !important;
    }
    .nx-catalog-content > .nxc-mount {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      overflow: hidden !important;
    }
    .nx-catalog-content > template {
      display: none !important;
    }

  
    /* SAFE CART: stable link to the real OpenCart cart page.
       Native cart HTML stays in DOM only for AJAX count updates. */
    .nx-cart-safe {
      position: relative;
      flex: 0 0 auto;
    }

    .nx-cart-safe__button {
      overflow: visible;
    }

    .nx-cart-safe__button:hover {
      color: #ffffff;
      border-color: var(--nx-accent);
      background: var(--nx-accent);
      box-shadow: 0 14px 34px rgba(236,102,8,.28);
      transform: translateY(-2px) scale(1.03);
    }

    .nx-cart-safe__count {
      position: absolute;
      top: -8px;
      right: -8px;
      min-width: 22px;
      height: 22px;
      padding: 0 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 2px solid var(--nx-bg-elevated);
      border-radius: 999px;
      background: var(--nx-accent);
      color: #ffffff;
      font-size: 10px;
      font-weight: 850;
      line-height: 1;
      box-shadow: 0 5px 14px rgba(236,102,8,.30);
    }

    .nx-cart-safe__count.is-bump {
      animation: nxCartSafeBump .45s cubic-bezier(.2,.9,.25,1.3);
    }

    @keyframes nxCartSafeBump {
      0% { transform: scale(1); }
      45% { transform: scale(1.35) rotate(-7deg); }
      75% { transform: scale(.93) rotate(2deg); }
      100% { transform: scale(1); }
    }

    .nx-cart-safe__native {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      overflow: hidden !important;
      clip: rect(0 0 0 0) !important;
      white-space: nowrap !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }


    /* AdeptDEV LUXURY CART PANEL — isolated component */
    .nx-luxcart-backdrop {
      position: fixed;
      inset: 0;
      z-index: 2147483400;
      background: rgba(55,54,54,.56);
      -webkit-backdrop-filter: blur(10px);
      backdrop-filter: blur(10px);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .28s ease, visibility .28s ease;
    }

    .nx-luxcart-backdrop.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }

    .nx-luxcart {
      position: fixed;
      top: 16px;
      right: 16px;
      bottom: 16px;
      z-index: 2147483500;
      width: min(470px, calc(100vw - 32px));
      display: flex;
      flex-direction: column;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.72);
      border-radius: 28px;
      background:
        radial-gradient(circle at 100% 0, rgba(236,102,8,.12), transparent 34%),
        var(--nx-bg-elevated, #ffffff);
      box-shadow: 0 38px 120px rgba(236,102,8,.36);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translateX(44px) scale(.985);
      transform-origin: right center;
      transition:
        opacity .24s ease,
        visibility .24s ease,
        transform .38s cubic-bezier(.16,1,.3,1);
    }

    .nx-luxcart.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(0) scale(1);
    }

    .nx-luxcart__header {
      flex: 0 0 auto;
      padding: 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      border-bottom: 1px solid var(--nx-line);
      background: rgba(255,255,255,.82);
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px);
    }

    body.nx-dark .nx-luxcart__header {
      background: rgba(55,54,54,.88);
    }

    .nx-luxcart__eyebrow {
      margin-bottom: 4px;
      color: var(--nx-accent);
      font-size: 10px;
      font-weight: 850;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .nx-luxcart__title {
      margin: 0;
      color: var(--nx-text);
      font-size: 24px;
      font-weight: 900;
      letter-spacing: -.04em;
    }

    .nx-luxcart__close {
      width: 46px;
      height: 46px;
      padding: 0;
      display: grid;
      place-items: center;
      border: 1px solid var(--nx-line);
      border-radius: 15px;
      background: var(--nx-bg-soft);
      color: var(--nx-text);
      cursor: pointer;
      transition: var(--nx-transition);
    }

    .nx-luxcart__close:hover {
      color: #ffffff;
      border-color: var(--nx-accent);
      background: var(--nx-accent);
      transform: rotate(5deg) scale(1.04);
    }

    .nx-luxcart__content {
      flex: 1 1 auto;
      min-height: 0;
      padding: 16px;
      overflow-y: auto;
      overflow-x: hidden;
      overscroll-behavior: contain;
      scrollbar-width: thin;
    }

    .nx-luxcart__loading,
    .nx-luxcart__empty,
    .nx-luxcart__error {
      min-height: 360px;
      padding: 28px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 14px;
      color: var(--nx-text-soft);
      text-align: center;
      font-size: 13px;
      font-weight: 650;
    }

    .nx-luxcart__spinner {
      width: 38px;
      height: 38px;
      border: 3px solid rgba(236,102,8,.14);
      border-top-color: var(--nx-accent);
      border-radius: 50%;
      animation: nxLuxCartSpin .8s linear infinite;
    }

    @keyframes nxLuxCartSpin {
      to { transform: rotate(360deg); }
    }

    .nx-luxcart__content .dropdown-menu,
    .nx-luxcart__content #cart {
      position: static !important;
      display: block !important;
      float: none !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
    }

    .nx-luxcart__content #cart > button,
    .nx-luxcart__content #cart > .btn,
    .nx-luxcart__content #cart > .dropdown-toggle {
      display: none !important;
    }

    .nx-luxcart__content table {
      width: 100%;
      margin: 0 !important;
      border-collapse: separate;
      border-spacing: 0 9px;
      background: transparent !important;
    }

    .nx-luxcart__content table td {
      padding: 9px 7px !important;
      border: 0 !important;
      vertical-align: middle !important;
      color: var(--nx-text);
      background: transparent !important;
    }

    .nx-luxcart__content table tr {
      transition: background var(--nx-transition), transform var(--nx-transition);
    }

    .nx-luxcart__content table tr:hover {
      background: var(--nx-accent-soft);
      transform: translateX(2px);
    }

    .nx-luxcart__content img,
    .nx-luxcart__content .img-thumbnail {
      width: 68px !important;
      height: 68px !important;
      padding: 6px !important;
      object-fit: contain;
      border: 1px solid var(--nx-line) !important;
      border-radius: 15px !important;
      background: #ffffff !important;
    }

    .nx-luxcart__content a {
      color: var(--nx-text) !important;
      font-size: 13px;
      font-weight: 730;
      line-height: 1.35;
      text-decoration: none !important;
      transition: color var(--nx-transition);
    }

    .nx-luxcart__content a:hover {
      color: var(--nx-accent) !important;
    }

    .nx-luxcart__content .text-right {
      color: var(--nx-text);
      font-weight: 800;
      white-space: nowrap;
    }

    .nx-luxcart__content .btn-danger,
    .nx-luxcart__content button {
      width: 34px !important;
      min-width: 34px !important;
      height: 34px !important;
      padding: 0 !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      border: 0 !important;
      border-radius: 11px !important;
      background: rgba(236,102,8,.10) !important;
      color: var(--nx-accent) !important;
      box-shadow: none !important;
      transition: var(--nx-transition);
    }

    .nx-luxcart__content .btn-danger:hover,
    .nx-luxcart__content button:hover {
      background: var(--nx-accent) !important;
      color: #ffffff !important;
      transform: rotate(5deg) scale(1.05);
    }

    .nx-luxcart__content .btn-primary,
    .nx-luxcart__content .btn-default,
    .nx-luxcart__content a.btn-primary,
    .nx-luxcart__content a.btn-default {
      width: auto !important;
      min-width: 0 !important;
      min-height: 46px !important;
      padding: 0 17px !important;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      border-radius: 14px !important;
      font-size: 12px !important;
      font-weight: 850 !important;
      transform: none !important;
    }

    .nx-luxcart__content .btn-primary,
    .nx-luxcart__content a.btn-primary {
      border: 1px solid var(--nx-accent) !important;
      background: var(--nx-accent) !important;
      color: #ffffff !important;
      box-shadow: 0 12px 28px rgba(236,102,8,.24) !important;
    }

    .nx-luxcart__content .btn-default,
    .nx-luxcart__content a.btn-default {
      border: 1px solid var(--nx-line) !important;
      background: var(--nx-bg-soft) !important;
      color: var(--nx-text) !important;
    }

    @media (max-width: 560px) {
      .nx-luxcart {
        top: 8px;
        right: 8px;
        bottom: 8px;
        width: calc(100vw - 16px);
        border-radius: 20px;
      }

      .nx-luxcart__header {
        padding: 15px;
      }

      .nx-luxcart__content {
        padding: 12px;
      }
    }


    /* FIX: legacy "product added" popup is replaced by our luxury cart panel. */
    .adev-hide-legacy-cart-popup,
    .adev-hide-legacy-cart-backdrop {
      display: none !important;
      width: 0 !important;
      height: 0 !important;
      min-width: 0 !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      pointer-events: none !important;
      overflow: hidden !important;
    }


    /* Clean product cards inside Luxury Cart */
    .nx-luxcart__product-list {
      display: grid;
      gap: 12px;
    }

    .nx-luxcart__product {
      position: relative;
      min-width: 0;
      padding: 12px;
      display: grid;
      grid-template-columns: 74px minmax(0, 1fr) auto;
      align-items: center;
      gap: 12px;
      border: 1px solid var(--nx-line);
      border-radius: 17px;
      background: rgba(255,255,255,.76);
      transition:
        border-color var(--nx-transition),
        background var(--nx-transition),
        transform var(--nx-transition),
        box-shadow var(--nx-transition);
    }

    body.nx-dark .nx-luxcart__product {
      background: rgba(255,255,255,.035);
    }

    .nx-luxcart__product:hover {
      border-color: rgba(236,102,8,.28);
      background: var(--nx-accent-soft);
      box-shadow: 0 12px 30px rgba(55,54,54,.08);
      transform: translateY(-2px);
    }

    .nx-luxcart__product-image {
      width: 74px;
      height: 74px;
      padding: 7px;
      display: grid;
      place-items: center;
      border: 1px solid var(--nx-line);
      border-radius: 15px;
      background: #ffffff;
      overflow: hidden;
    }

    .nx-luxcart__product-image img {
      width: 100% !important;
      height: 100% !important;
      max-width: 100% !important;
      max-height: 100% !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      object-fit: contain !important;
      background: transparent !important;
    }

    .nx-luxcart__product-info {
      min-width: 0;
    }

    .nx-luxcart__product-name {
      display: -webkit-box;
      overflow: hidden;
      color: var(--nx-text);
      font-size: 13px;
      font-weight: 760;
      line-height: 1.35;
      text-decoration: none;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }

    .nx-luxcart__product-name:hover {
      color: var(--nx-accent);
    }

    .nx-luxcart__product-meta {
      margin-top: 6px;
      color: var(--nx-text-soft);
      font-size: 11px;
      line-height: 1.4;
    }

    .nx-luxcart__product-side {
      min-width: 92px;
      display: grid;
      justify-items: end;
      gap: 7px;
    }

    .nx-luxcart__product-price {
      color: var(--nx-text);
      font-size: 16px;
      font-weight: 900;
      line-height: 1.15;
      text-align: right;
      white-space: nowrap;
    }

    .nx-luxcart__product-old-price {
      color: var(--nx-text-soft);
      font-size: 11px;
      font-weight: 550;
      text-decoration: line-through;
      white-space: nowrap;
    }

    .nx-luxcart__product-remove {
      width: 32px;
      height: 32px;
      padding: 0;
      display: grid;
      place-items: center;
      border: 0;
      border-radius: 10px;
      background: rgba(236,102,8,.10);
      color: var(--nx-accent);
      cursor: pointer;
      transition: var(--nx-transition);
    }

    .nx-luxcart__product-remove:hover {
      color: #ffffff;
      background: var(--nx-accent);
      transform: rotate(5deg) scale(1.05);
    }

    .nx-luxcart__product-remove svg {
      width: 16px;
      height: 16px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
    }

    /* Hide raw checkout-table controls if fallback HTML is rendered. */
    .nx-luxcart__content .table-responsive {
      width: 100% !important;
      overflow: hidden !important;
    }

    .nx-luxcart__content table {
      table-layout: fixed !important;
    }

    .nx-luxcart__content .input-group,
    .nx-luxcart__content input[name*="quantity"],
    .nx-luxcart__content [data-original-title*="Обнов"],
    .nx-luxcart__content [title*="Обнов"] {
      display: none !important;
    }

    .nx-luxcart__footer {
      flex: 0 0 auto;
      padding: 14px 16px 16px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
      gap: 10px;
      border-top: 1px solid var(--nx-line);
      background: rgba(255,255,255,.88);
      -webkit-backdrop-filter: blur(18px);
      backdrop-filter: blur(18px);
    }

    body.nx-dark .nx-luxcart__footer {
      background: rgba(55,54,54,.92);
    }

    .nx-luxcart__footer-btn {
      min-height: 50px;
      padding: 0 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      border-radius: 15px;
      font-size: 12px;
      font-weight: 850;
      text-decoration: none !important;
      transition: var(--nx-transition);
    }

    .nx-luxcart__footer-btn--ghost {
      border: 1px solid var(--nx-line);
      background: var(--nx-bg-soft);
      color: var(--nx-text) !important;
    }

    .nx-luxcart__footer-btn--ghost:hover {
      border-color: rgba(236,102,8,.34);
      background: var(--nx-accent-soft);
      color: var(--nx-accent) !important;
      transform: translateY(-2px);
    }

    .nx-luxcart__footer-btn--primary {
      border: 1px solid var(--nx-accent);
      background: var(--nx-accent);
      color: #ffffff !important;
      box-shadow: 0 12px 28px rgba(236,102,8,.25);
    }

    .nx-luxcart__footer-btn--primary:hover {
      background: var(--nx-accent-hover);
      color: #ffffff !important;
      box-shadow: 0 16px 34px rgba(236,102,8,.31);
      transform: translateY(-2px);
    }

    @media (max-width: 420px) {
      .nx-luxcart__product {
        grid-template-columns: 64px minmax(0,1fr);
      }

      .nx-luxcart__product-image {
        width: 64px;
        height: 64px;
      }

      .nx-luxcart__product-side {
        grid-column: 2;
        min-width: 0;
        width: 100%;
        grid-template-columns: 1fr auto;
        align-items: center;
        justify-items: start;
      }

      .nx-luxcart__product-price {
        text-align: left;
      }

      .nx-luxcart__footer {
        grid-template-columns: 1fr;
      }
    }


    /* FINAL CART RIGHT-EDGE FIX:
       hide legacy quantity/action controls that are clipped outside the drawer. */
    .nx-luxcart__content {
      overflow-x: hidden !important;
      padding-right: 18px !important;
    }

    .nx-luxcart__content table {
      width: 100% !important;
      max-width: 100% !important;
      table-layout: fixed !important;
    }

    .nx-luxcart__content table td {
      min-width: 0 !important;
      overflow: hidden !important;
    }

    .nx-luxcart__content table td:last-child,
    .nx-luxcart__content table td .input-group,
    .nx-luxcart__content table td input[name*="quantity"],
    .nx-luxcart__content table td button[title*="Обнов"],
    .nx-luxcart__content table td button[title*="Удал"],
    .nx-luxcart__content table td [data-original-title*="Обнов"],
    .nx-luxcart__content table td [data-original-title*="Удал"] {
      display: none !important;
    }

    .nx-luxcart__content table td:nth-last-child(2) {
      width: 118px !important;
      max-width: 118px !important;
      text-align: right !important;
      white-space: normal !important;
      overflow: visible !important;
    }

    .nx-luxcart__content table td:nth-child(1) {
      width: 82px !important;
    }

    .nx-luxcart__content table td:nth-child(2) {
      width: auto !important;
    }

    .nx-luxcart__product {
      overflow: hidden;
    }

    .nx-luxcart__product-side {
      padding-right: 2px;
    }

    @media (max-width: 560px) {
      .nx-luxcart__content {
        padding-right: 12px !important;
      }

      .nx-luxcart__content table td:nth-last-child(2) {
        width: 108px !important;
        max-width: 108px !important;
      }
    }


    /* FINAL COMPACT CART — styled like the real cart page, but cleaner */
    .nx-luxcart__content {
      padding: 12px 14px 16px !important;
      overflow-x: hidden !important;
    }

    .nx-luxcart__product-list {
      gap: 8px !important;
    }

    .nx-luxcart__product {
      width: 100%;
      min-height: 92px;
      padding: 10px !important;
      grid-template-columns: 62px minmax(0, 1fr) 104px !important;
      gap: 10px !important;
      overflow: hidden !important;
      border-radius: 15px !important;
      background: rgba(255,255,255,.82) !important;
    }

    .nx-luxcart__product-image {
      width: 62px !important;
      height: 62px !important;
      padding: 6px !important;
      border-radius: 13px !important;
    }

    .nx-luxcart__product-name {
      font-size: 12px !important;
      line-height: 1.3 !important;
      -webkit-line-clamp: 2 !important;
    }

    .nx-luxcart__product-details {
      margin-top: 6px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 5px 8px;
    }

    .nx-luxcart__product-meta {
      margin: 0 !important;
      color: var(--nx-text-soft);
      font-size: 10px !important;
    }

    .nx-luxcart__product-qty {
      padding: 3px 7px;
      border-radius: 999px;
      background: var(--nx-bg-soft);
      color: var(--nx-text-soft);
      font-size: 10px;
      font-weight: 750;
      white-space: nowrap;
    }

    .nx-luxcart__product-side {
      min-width: 0 !important;
      width: 104px;
      padding: 0 !important;
      grid-template-columns: 1fr 30px;
      align-items: center;
      justify-items: end;
      gap: 6px !important;
    }

    .nx-luxcart__product-prices {
      min-width: 0;
      text-align: right;
    }

    .nx-luxcart__product-price {
      max-width: 100%;
      font-size: 14px !important;
      line-height: 1.15 !important;
      white-space: normal !important;
      overflow-wrap: anywhere;
    }

    .nx-luxcart__product-old-price {
      margin-top: 3px;
      font-size: 10px !important;
      white-space: normal !important;
    }

    .nx-luxcart__product-remove {
      width: 30px !important;
      height: 30px !important;
      min-width: 30px !important;
      border-radius: 10px !important;
    }

    .nx-luxcart__footer {
      grid-template-columns: .86fr 1.14fr !important;
    }

    @media (max-width: 430px) {
      .nx-luxcart__content {
        padding-right: 10px !important;
        padding-left: 10px !important;
      }

      .nx-luxcart__product {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        min-height: 88px;
      }

      .nx-luxcart__product-image {
        width: 56px !important;
        height: 56px !important;
      }

      .nx-luxcart__product-side {
        grid-column: 2;
        width: 100%;
        grid-template-columns: minmax(0,1fr) 30px;
        justify-items: start;
      }

      .nx-luxcart__product-prices {
        text-align: left;
      }

      .nx-luxcart__footer {
        grid-template-columns: 1fr !important;
      }
    }


    /* REFERENCE-STYLE PREMIUM CART */
    .nx-luxcart {
      top: 58px !important;
      right: 24px !important;
      bottom: auto !important;
      width: min(430px, calc(100vw - 28px)) !important;
      max-height: calc(100dvh - 82px) !important;
      border-radius: 22px !important;
      box-shadow: 0 30px 90px rgba(236,102,8,.28) !important;
    }

    .nx-luxcart__header {
      min-height: 74px !important;
      padding: 16px 18px !important;
    }

    .nx-luxcart__eyebrow {
      display: none !important;
    }

    .nx-luxcart__title {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 20px !important;
      letter-spacing: -.025em !important;
      text-transform: uppercase;
    }

    .nx-luxcart__title-icon {
      color: var(--nx-accent);
    }

    .nx-luxcart__title-icon .nx-icon {
      width: 22px;
      height: 22px;
    }

    .nx-luxcart__title-count {
      font-size: 15px;
      font-weight: 700;
      color: var(--nx-text);
    }

    .nx-luxcart__content {
      flex: 0 1 auto !important;
      max-height: min(430px, calc(100dvh - 340px)) !important;
      padding: 12px 18px 6px !important;
      background: var(--nx-bg-elevated);
    }

    .nx-luxcart__product-list {
      gap: 0 !important;
    }

    .nx-luxcart__product {
      min-height: 108px !important;
      padding: 14px 0 !important;
      grid-template-columns: 76px minmax(0,1fr) 112px !important;
      gap: 14px !important;
      border: 0 !important;
      border-bottom: 1px dashed var(--nx-line) !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      transform: none !important;
    }

    .nx-luxcart__product:last-child {
      border-bottom: 0 !important;
    }

    .nx-luxcart__product-image {
      width: 76px !important;
      height: 76px !important;
      padding: 5px !important;
      border: 0 !important;
      border-radius: 13px !important;
    }

    .nx-luxcart__product-name {
      font-size: 13px !important;
      font-weight: 730 !important;
      line-height: 1.35 !important;
      -webkit-line-clamp: 2 !important;
    }

    .nx-luxcart__product-details {
      margin-top: 8px !important;
    }

    .nx-luxcart__product-meta {
      font-size: 10px !important;
    }

    .nx-luxcart__product-qty {
      padding: 0 !important;
      background: transparent !important;
      color: var(--nx-text);
      font-size: 12px !important;
      font-weight: 650 !important;
    }

    .nx-luxcart__product-side {
      width: 112px !important;
      grid-template-columns: 1fr 28px !important;
      gap: 5px !important;
      align-items: start !important;
    }

    .nx-luxcart__product-price {
      font-size: 17px !important;
      line-height: 1.15 !important;
      white-space: normal !important;
    }

    .nx-luxcart__product-old-price {
      margin-top: 4px !important;
      font-size: 11px !important;
    }

    .nx-luxcart__product-remove {
      width: 28px !important;
      min-width: 28px !important;
      height: 28px !important;
      border-radius: 9px !important;
      background: transparent !important;
      color: var(--nx-text-soft) !important;
    }

    .nx-luxcart__product-remove:hover {
      background: var(--nx-accent-soft) !important;
      color: var(--nx-accent) !important;
    }

    .nx-luxcart__summary {
      padding: 16px 18px 4px;
      border-top: 1px solid var(--nx-line);
      background: var(--nx-bg-elevated);
    }

    .nx-luxcart__summary-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 16px;
      color: var(--nx-text);
      font-size: 14px;
    }

    .nx-luxcart__summary-row strong {
      font-size: 28px;
      font-weight: 900;
      letter-spacing: -.04em;
      white-space: nowrap;
    }

    .nx-luxcart__summary-saving {
      margin-top: 4px;
      color: var(--nx-text);
      font-size: 13px;
      text-align: right;
    }

    .nx-luxcart__summary-saving strong {
      font-size: 15px;
      font-weight: 850;
    }

    .nx-luxcart__footer {
      padding: 16px 18px 18px !important;
      grid-template-columns: 1fr !important;
      gap: 10px !important;
      background: var(--nx-bg-elevated) !important;
    }

    .nx-luxcart__footer-btn {
      min-height: 54px !important;
      padding: 0 18px !important;
      justify-content: space-between !important;
      border-radius: 12px !important;
      font-size: 13px !important;
      text-transform: uppercase;
    }

    .nx-luxcart__footer-arrow {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 1px solid currentColor;
      border-radius: 50%;
      font-size: 18px;
      transition: transform var(--nx-transition);
    }

    .nx-luxcart__footer-btn:hover .nx-luxcart__footer-arrow {
      transform: translateX(3px);
    }

    @media (max-width: 560px) {
      .nx-luxcart {
        top: 8px !important;
        right: 8px !important;
        width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
      }

      .nx-luxcart__content {
        max-height: calc(100dvh - 345px) !important;
      }
    }


    /* FINAL PREMIUM PRODUCT-CARD REDESIGN */
    .nx-luxcart__content {
      padding: 10px 16px 8px !important;
    }

    .nx-luxcart__product {
      position: relative !important;
      min-height: 104px !important;
      padding: 14px 36px 14px 0 !important;
      grid-template-columns: 70px minmax(0, 1fr) 118px !important;
      align-items: center !important;
      gap: 14px !important;
      overflow: visible !important;
    }

    .nx-luxcart__product-image {
      width: 70px !important;
      height: 70px !important;
      border: 1px solid var(--nx-line) !important;
      background: #ffffff !important;
    }

    .nx-luxcart__product-info {
      min-width: 0 !important;
      padding-right: 2px;
    }

    .nx-luxcart__product-name {
      display: -webkit-box !important;
      max-width: 100%;
      overflow: hidden !important;
      color: var(--nx-text) !important;
      font-size: 13px !important;
      font-weight: 760 !important;
      line-height: 1.34 !important;
      letter-spacing: -.01em;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2 !important;
    }

    .nx-luxcart__product-details {
      margin-top: 8px !important;
      gap: 6px !important;
    }

    .nx-luxcart__product-meta {
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .nx-luxcart__product-qty {
      min-width: 28px;
      padding: 3px 8px !important;
      border: 1px solid var(--nx-line);
      border-radius: 999px !important;
      background: var(--nx-bg-soft) !important;
      color: var(--nx-text-soft) !important;
      text-align: center;
    }

    .nx-luxcart__product-side {
      width: 118px !important;
      min-width: 118px !important;
      display: block !important;
      padding: 0 !important;
      text-align: right;
    }

    .nx-luxcart__product-prices {
      width: 100%;
      min-width: 0;
      text-align: right;
    }

    .nx-luxcart__product-price {
      display: block !important;
      width: 100%;
      color: var(--nx-text) !important;
      font-size: 17px !important;
      font-weight: 900 !important;
      line-height: 1.08 !important;
      letter-spacing: -.025em;
      white-space: nowrap !important;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .nx-luxcart__product-old-price {
      display: block !important;
      width: 100%;
      margin-top: 5px !important;
      color: var(--nx-text-soft) !important;
      font-size: 11px !important;
      line-height: 1 !important;
      text-align: right;
      white-space: nowrap !important;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .nx-luxcart__product-remove {
      position: absolute !important;
      top: 12px;
      right: 0;
      width: 28px !important;
      min-width: 28px !important;
      height: 28px !important;
      display: grid !important;
      place-items: center;
      border: 0 !important;
      border-radius: 9px !important;
      background: transparent !important;
      color: var(--nx-text-soft) !important;
      opacity: .72;
    }

    .nx-luxcart__product:hover .nx-luxcart__product-remove {
      opacity: 1;
    }

    .nx-luxcart__product-remove:hover {
      color: var(--nx-accent) !important;
      background: var(--nx-accent-soft) !important;
      transform: rotate(4deg) scale(1.06) !important;
    }

    .nx-luxcart__product-list {
      overflow: hidden;
    }

    @media (max-width: 430px) {
      .nx-luxcart__product {
        min-height: 98px !important;
        padding: 12px 34px 12px 0 !important;
        grid-template-columns: 60px minmax(0,1fr) 98px !important;
        gap: 11px !important;
      }

      .nx-luxcart__product-image {
        width: 60px !important;
        height: 60px !important;
      }

      .nx-luxcart__product-side {
        width: 98px !important;
        min-width: 98px !important;
      }

      .nx-luxcart__product-price {
        font-size: 15px !important;
      }

      .nx-luxcart__product-name {
        font-size: 12px !important;
      }
    }


    /* STABLE PRODUCT LAYOUT:
       prices move below the title so long MDL values never overflow. */
    .nx-luxcart__product {
      min-height: 106px !important;
      padding: 14px 36px 14px 0 !important;
      grid-template-columns: 70px minmax(0, 1fr) !important;
      grid-template-areas:
        "image info"
        "image price" !important;
      align-items: start !important;
      column-gap: 14px !important;
      row-gap: 8px !important;
      overflow: hidden !important;
    }

    .nx-luxcart__product-image {
      grid-area: image;
      align-self: start;
    }

    .nx-luxcart__product-info {
      grid-area: info;
      min-width: 0 !important;
      padding-right: 0 !important;
    }

    .nx-luxcart__product-side {
      grid-area: price;
      width: 100% !important;
      min-width: 0 !important;
      display: flex !important;
      align-items: flex-end !important;
      justify-content: space-between !important;
      gap: 12px !important;
      padding: 0 !important;
      text-align: left !important;
    }

    .nx-luxcart__product-prices {
      width: 100% !important;
      min-width: 0 !important;
      display: flex !important;
      align-items: baseline !important;
      flex-wrap: wrap !important;
      gap: 4px 10px !important;
      text-align: left !important;
    }

    .nx-luxcart__product-price {
      display: inline-block !important;
      width: auto !important;
      max-width: 100% !important;
      font-size: 16px !important;
      line-height: 1.1 !important;
      text-align: left !important;
      white-space: nowrap !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }

    .nx-luxcart__product-old-price {
      display: inline-block !important;
      width: auto !important;
      max-width: 100% !important;
      margin-top: 0 !important;
      font-size: 11px !important;
      line-height: 1 !important;
      text-align: left !important;
      white-space: nowrap !important;
      overflow: visible !important;
      text-overflow: clip !important;
    }

    .nx-luxcart__product-remove {
      top: 10px !important;
      right: 0 !important;
    }

    @media (max-width: 430px) {
      .nx-luxcart__product {
        grid-template-columns: 60px minmax(0, 1fr) !important;
        grid-template-areas:
          "image info"
          "image price" !important;
        column-gap: 11px !important;
      }

      .nx-luxcart__product-price {
        font-size: 15px !important;
      }
    }

/* ===== Pass 2 global foundation ===== */
/* Source: adeptdev-strict-palette-20260814 */
/* AdeptDEV strict palette: White / #ec6608 / #373636 — https://t.me/adeptdevs */
:root{--adev-white:#ffffff;--adev-orange:#ec6608;--adev-gray:#373636}
html,body{background:#ffffff;color:#373636}
a{color:#373636}a:hover,a:focus{color:#ec6608}
::selection{background:#ec6608;color:#ffffff}
input:focus,textarea:focus,select:focus,button:focus{border-color:#ec6608!important;box-shadow:0 0 0 3px rgba(236,102,8,.16)!important}
html{background:#ffffff!important}

