:root {
  --nx-primary: #0a84ff;
  --nx-primary-dark: #0066cc;
  --nx-dark: #101114;
  --nx-text: #1a1a1a;
  --nx-muted: #6f7378;
  --nx-border: #e8eaed;
  --nx-bg: #ffffff;
  --nx-soft: #f6f8fb;
  --nx-container: 1440px;
  --nx-radius: 0px;
  --nx-shadow: 0 18px 50px rgba(16, 17, 20, 0.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--nx-bg);
  color: var(--nx-text);
  font-family: Inter, "IBM Plex Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.nx-container { width: min(calc(100% - 40px), var(--nx-container)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 9999; background: #fff; padding: 10px 14px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: 76px;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--nx-border); box-shadow: 0 8px 30px rgba(16,17,20,.05); }
.nx-header-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
.custom-logo { display: block; max-height: 46px; width: auto; }
.site-title { font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.primary-menu { list-style: none; display: flex; justify-content: center; gap: 30px; margin: 0; padding: 0; }
.primary-menu a { font-size: 14px; font-weight: 600; }
.header-actions { display: flex; align-items: center; gap: 4px; }
.nx-icon-button { width: 42px; height: 42px; border: 0; background: transparent; display: inline-grid; place-items: center; cursor: pointer; position: relative; }
.nx-icon-button:hover { background: var(--nx-soft); }
.cart-count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--nx-primary); color: #fff; font-size: 11px; display: grid; place-items: center; }
.nx-mobile-only { display: none; }
.mobile-menu-backdrop { display: none; }

.hero-section { min-height: calc(92vh - 76px); display: grid; align-items: center; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #f5f9ff 100%); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 60px; padding-block: 80px; }
.eyebrow { display: inline-block; color: var(--nx-primary); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-copy h1 { margin: 14px 0 18px; font-size: clamp(54px, 8vw, 126px); line-height: .92; letter-spacing: -.075em; }
.hero-copy p { max-width: 650px; margin: 0; color: var(--nx-muted); font-size: clamp(18px, 2vw, 23px); }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; flex-wrap: wrap; }
.nx-button { min-height: 50px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; border: 1px solid transparent; }
.nx-button-primary { background: var(--nx-primary); color: #fff; }
.nx-button-primary:hover { background: var(--nx-primary-dark); }
.nx-button-secondary { border-color: var(--nx-border); background: #fff; }
.hero-visual { min-height: 540px; display: grid; place-items: center; position: relative; }
.hero-orbit { width: 470px; height: 470px; border-radius: 50%; position: absolute; border: 1px solid rgba(10,132,255,.2); box-shadow: 0 0 0 80px rgba(10,132,255,.04), 0 0 0 160px rgba(10,132,255,.025); }
.hero-product-placeholder { width: 280px; height: 390px; background: linear-gradient(180deg, #12151a, #040506); color: #28a0ff; display: grid; place-items: center; font-size: 120px; font-weight: 900; letter-spacing: -.12em; box-shadow: 0 40px 90px rgba(0,0,0,.22); transform: perspective(900px) rotateY(-12deg) rotateX(3deg); }

.section-space { padding: 100px 0; }
.section-muted { background: var(--nx-soft); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 34px; }
.section-heading h2 { margin: 5px 0 0; font-size: clamp(34px, 4vw, 56px); line-height: 1; letter-spacing: -.05em; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--nx-border); }
.value-grid article { background: var(--nx-soft); padding: 40px; }
.value-grid strong { color: var(--nx-primary); }
.value-grid h3 { font-size: 24px; margin: 18px 0 10px; }
.value-grid p { color: var(--nx-muted); margin: 0; }
.site-main { padding-block: 60px; min-height: 60vh; }
.page-content { max-width: 980px; }
.content-card { padding: 30px 0; border-bottom: 1px solid var(--nx-border); }

.site-footer { background: var(--nx-dark); color: #fff; padding: 70px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; }
.footer-grid.footer-grid--widgets {
  grid-template-columns:
    minmax(170px, .78fr)
    minmax(230px, 1.45fr)
    minmax(190px, 1.05fr)
    minmax(150px, 1fr)
    minmax(160px, .92fr)
    minmax(210px, 1.18fr);
  gap: 34px;
}
.footer-brand { font-size: 24px; }
.site-footer p, .site-footer a { color: rgba(255,255,255,.68); }
.site-footer h2 { font-size: 14px; text-transform: uppercase; letter-spacing: .12em; }
.footer-menu { list-style: none; padding: 0; margin: 0; }
.footer-menu li { margin: 8px 0; }
.nx-footer-fallback { display: grid; gap: 10px; align-content: start; }
.nx-footer-fallback p { margin: 0; }
.footer-bottom { margin-top: 50px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); font-size: 13px; }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; border: 1px solid var(--nx-border); background: #fff; padding: 14px; transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--nx-shadow); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; color: var(--nx-text); }
.woocommerce ul.products li.product .price { color: var(--nx-dark); font-weight: 800; }
.woocommerce ul.products li.product .nexticoatx-product-stock-status {
  margin: 6px 0 0;
  color: #cf2d35;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius: 0; background: var(--nx-dark); color: #fff; }
@media (min-width: 768px) {
  body.woocommerce-shop .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button,
  body.tax-product_cat .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button,
  body.tax-product_tag .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button,
  body.post-type-archive-product .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { min-height: 420px; }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer-grid.footer-grid--widgets { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
}

@media (max-width: 820px) {
  .nx-container { width: min(calc(100% - 28px), var(--nx-container)); }
  .site-header { height: 66px; }
  .nx-header-row { grid-template-columns: auto 42px auto; gap: 6px; }
  .nx-mobile-only { display: inline-grid; }
  .site-branding { justify-self: center; }
  .custom-logo { max-height: 38px; }
  .primary-nav { position: fixed; inset: 66px auto 0 0; width: min(86vw, 360px); background: #fff; transform: translateX(-105%); transition: transform .25s ease; z-index: 1002; padding: 24px; }
  .primary-nav.is-open { transform: translateX(0); }
  .primary-menu { display: block; }
  .primary-menu li { border-bottom: 1px solid var(--nx-border); }
  .primary-menu a { display: block; padding: 15px 0; font-size: 17px; }
  .mobile-menu-backdrop { position: fixed; inset: 66px 0 0; background: rgba(0,0,0,.35); z-index: 1001; }
  .mobile-menu-backdrop.is-visible { display: block; }
  .header-actions .nx-icon-button:first-child, .header-actions .nx-icon-button:nth-child(2) { display: none; }
  .hero-section { min-height: auto; }
  .hero-grid { padding-block: 72px; }
  .hero-copy h1 { font-size: clamp(54px, 18vw, 82px); }
  .hero-visual { min-height: 350px; }
  .hero-orbit { width: 300px; height: 300px; }
  .hero-product-placeholder { width: 200px; height: 280px; font-size: 82px; }
  .section-space { padding: 72px 0; }
  .value-grid, .footer-grid { grid-template-columns: 1fr; }
  .footer-grid.footer-grid--widgets { grid-template-columns: 1fr; gap: 24px; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
}

/* Phase 2: navigation, live search and slide cart */
.nx-icon-button svg,
.nx-search-field-wrap svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nx-menu-lines { width: 22px; display: grid; gap: 4px; }
.nx-menu-lines i { display: block; height: 1.5px; background: currentColor; }
.nx-mobile-nav-head { display: none; }
.nx-panel-close { width: 42px; height: 42px; border: 0; background: transparent; cursor: pointer; font-size: 28px; line-height: 1; }
.nx-panel-close:hover { background: var(--nx-soft); }
.primary-menu > li { position: relative; }
.primary-menu > li > a { display: flex; align-items: center; min-height: 76px; }
.primary-menu .sub-menu { list-style: none; margin: 0; padding: 16px; }
.primary-menu > .menu-item-has-children > .sub-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  width: min(1040px, calc(100vw - 56px));
  max-height: min(72vh, 720px);
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 22px 22px 28px;
  border: 1px solid rgba(133, 160, 207, 0.24);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,252,255,0.98)),
    #fff;
  box-shadow: 0 26px 56px rgba(15, 23, 42, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 18px) scale(.985);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  z-index: 25;
}
.primary-menu > .menu-item-has-children:hover > .sub-menu,
.primary-menu > .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) scale(1);
}
.primary-menu > .menu-item-has-children > .sub-menu > li {
  position: relative;
  flex: 0 0 clamp(200px, 18vw, 260px);
  min-height: 206px;
  scroll-snap-align: start;
}
.primary-menu > .menu-item-has-children > .sub-menu > li + li { margin-left: -62px; }
.primary-menu > .menu-item-has-children > .sub-menu > li > a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
  min-height: 206px;
  padding: 20px 18px 18px;
  border: 1px solid rgba(133, 160, 207, 0.32);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.45), rgba(255,255,255,0.96)),
    var(--nx-menu-thumb, none) center 68% / 78% auto no-repeat,
    #fff;
  color: #101828;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.10);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  isolation: isolate;
}
.primary-menu > .menu-item-has-children > .sub-menu > li > a::after {
  content: '→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-top: auto;
  border-radius: 999px;
  background: rgba(10, 132, 255, 0.10);
  color: var(--nx-primary);
  font-size: 24px;
  line-height: 1;
}
.primary-menu > .menu-item-has-children > .sub-menu > li > a:hover,
.primary-menu > .menu-item-has-children > .sub-menu > li > a:focus-visible {
  transform: translateY(-8px);
  border-color: rgba(10, 132, 255, 0.45);
  box-shadow: 0 22px 42px rgba(15, 23, 42, 0.16);
}
.primary-menu > .menu-item-has-children > .sub-menu > li.current-menu-item > a,
.primary-menu > .menu-item-has-children > .sub-menu > li.current-menu-ancestor > a,
.primary-menu > .menu-item-has-children > .sub-menu > li.current_page_item > a {
  border-color: rgba(10, 132, 255, 0.85);
  box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.14), 0 20px 40px rgba(15, 23, 42, 0.14);
}
.primary-menu .sub-menu a { display: block; padding: 13px 14px; font-size: 14px; font-weight: 650; }
.primary-menu .sub-menu a:hover { background: var(--nx-soft); color: var(--nx-primary); }
.primary-menu .sub-menu .sub-menu { padding: 0 0 0 10px; }
.primary-menu .sub-menu .sub-menu a { color: var(--nx-muted); font-size: 13px; }
.nx-submenu-toggle { display: none; }

.primary-nav.nx-menu-drilldown { overflow: hidden; }
.primary-nav.nx-menu-drilldown .primary-menu { display: none !important; }
.primary-nav.nx-menu-drilldown .nx-mobile-nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  padding: 0 16px 0 20px;
  border-bottom: 1px solid var(--nx-border);
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(255,255,255,.98);
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-stage {
  position: relative;
  height: calc(100dvh - 64px);
  overflow: hidden;
  background: #fff;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panels {
  position: relative;
  width: 100%;
  height: 100%;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  transform: translateX(100%);
  transition: transform .34s cubic-bezier(.22,1,.36,1), opacity .2s ease;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel.is-left {
  transform: translateX(-18%);
  opacity: 0;
  pointer-events: none;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel.is-right {
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel.is-active {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 0 16px 0 18px;
  border-bottom: 1px solid var(--nx-border);
  flex: 0 0 auto;
}
.primary-nav.nx-menu-drilldown .nx-mobile-nav-head .nx-panel-close,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-head .nx-mobile-menu-back {
  position: relative;
  z-index: 6;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-back {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 10px;
  background: var(--nx-soft);
  color: #111827;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-title {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-title strong {
  color: #111827;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.15;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-title a {
  color: var(--nx-primary);
  font-size: 12px;
  font-weight: 700;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-body {
  min-height: 0;
  flex: 1;
  overflow: auto;
  padding: 14px 14px 22px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-items {
  display: grid;
  gap: 12px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 15px 16px;
  border: 1px solid var(--nx-border);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fbfcfe);
  color: #111827;
  text-align: left;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  cursor: pointer;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
  border-color: rgba(10, 132, 255, .35);
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item__copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item__copy strong {
  color: #111827;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item__copy small {
  color: #6b7280;
  font-size: 12px;
  font-weight: 500;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item__arrow {
  flex: 0 0 auto;
  color: var(--nx-primary);
  font-size: 28px;
  line-height: 1;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item--thumb {
  align-items: center;
  gap: 14px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item--thumb .nx-mobile-menu-item__media {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 78px;
  height: 78px;
  margin-left: auto;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7fbff, #edf5ff);
  overflow: hidden;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-item--thumb .nx-mobile-menu-item__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel.is-ready .nx-mobile-menu-item {
  animation: nx-menu-item-in .26s ease both;
  animation-delay: calc(var(--nx-item-index, 0) * 44ms);
}
.primary-nav.nx-menu-drilldown.is-leaving .nx-mobile-menu-stage {
  transform: scale(.94);
  opacity: 0;
  transform-origin: center center;
  transition: transform .18s ease, opacity .18s ease;
}
.primary-nav.nx-menu-drilldown.is-leaving {
  transform: translateX(0) scale(.94);
  opacity: 0;
  transform-origin: center center;
}
@keyframes nx-menu-item-in {
  from { opacity: 0; transform: translateX(22px) scale(.98); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@media (min-width: 1025px) {
  .primary-nav.nx-menu-drilldown {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    max-width: none;
    padding: 0;
    border: 0;
    background:
      radial-gradient(circle at 18% 14%, rgba(10, 132, 255, 0.08), transparent 24%),
      linear-gradient(180deg, #fbfdff 0%, #f5f8fc 100%);
    transform: none !important;
    box-shadow: none;
    z-index: 2400;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-nav-head {
    min-height: 72px;
    padding: 0 28px;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid rgba(133, 160, 207, 0.18);
    backdrop-filter: blur(18px);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-nav-head strong {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-stage {
    height: calc(100dvh - 72px);
    background:
      radial-gradient(circle at 20% 20%, rgba(10, 132, 255, 0.04), transparent 20%),
      linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="0"] .nx-mobile-menu-panel-head {
    display: none;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-items {
    position: relative;
    height: 100%;
    min-height: 680px;
    padding: 28px 32px 120px;
    overflow: visible;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item {
    position: absolute;
    width: clamp(250px, 22vw, 320px);
    height: clamp(176px, 18vw, 220px);
    margin: 0;
    padding: 20px 20px 18px;
    border-radius: 18px;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.96)),
      rgba(255,255,255,0.92);
    box-shadow: 0 22px 40px rgba(15, 23, 42, 0.12);
    border-color: rgba(133, 160, 207, 0.22);
    transform: translate(
      calc(var(--nx-item-index, 0) * clamp(185px, 16vw, 228px)),
      calc(var(--nx-item-index, 0) * clamp(16px, 1.4vw, 26px))
    );
    z-index: calc(90 - var(--nx-item-index, 0));
    overflow: hidden;
    animation: none !important;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:nth-child(3) {
    border-color: rgba(10, 132, 255, 0.92);
    box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.12), 0 26px 48px rgba(15, 23, 42, 0.16);
    transform: translate(
      calc(var(--nx-item-index, 0) * clamp(185px, 16vw, 228px)),
      calc(var(--nx-item-index, 0) * clamp(16px, 1.4vw, 26px))
    ) scale(1.02);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy {
    gap: 6px;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy small {
    display: none;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy strong {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__arrow {
    font-size: 30px;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    grid-template-rows: auto 1fr auto;
    align-items: start;
    gap: 14px 18px;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__copy {
    grid-column: 1;
    grid-row: 1;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__media {
    grid-column: 2;
    grid-row: 1 / span 3;
    width: 112px;
    height: 112px;
    margin-left: 0;
    border-radius: 18px;
    background: linear-gradient(180deg, #f7fbff, #edf5ff);
    align-self: end;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__arrow {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:hover {
    transform: translate(
      calc(var(--nx-item-index, 0) * clamp(185px, 16vw, 228px)),
      calc(var(--nx-item-index, 0) * clamp(16px, 1.4vw, 26px))
    ) translateY(-24px);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:nth-child(3):hover {
    transform: translate(
      calc(var(--nx-item-index, 0) * clamp(185px, 16vw, 228px)),
      calc(var(--nx-item-index, 0) * clamp(16px, 1.4vw, 26px))
    ) translateY(-24px) scale(1.02);
  }

.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item.is-hovered,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:hover,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:focus-within {
  z-index: 999;
}
}

.primary-nav.nx-menu-drilldown {
  background: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.primary-nav.nx-menu-drilldown.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-stage {
  background: transparent !important;
  overflow: visible;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel {
  background: transparent;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-items {
  display: grid !important;
  grid-template-columns: repeat(6, clamp(170px, 10.5vw, 210px));
  justify-content: center;
  align-items: start;
  gap: clamp(10px, 1.1vw, 18px);
  padding: 20px 10px 0;
  min-height: calc(100dvh - 170px);
  overflow: visible;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  min-width: 0;
  aspect-ratio: 3 / 4;
  height: auto !important;
  min-height: clamp(210px, 17vw, 270px);
  margin: 0 !important;
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.98));
  border-color: rgba(10,132,255,.66);
  box-shadow: 0 14px 28px rgba(15,23,42,.10), 0 0 0 1px rgba(10,132,255,.16);
  transform: translateY(calc(var(--nx-item-index, 0) * clamp(14px, 1.3vw, 24px))) !important;
  z-index: calc(90 - var(--nx-item-index, 0));
  overflow: hidden;
  animation: none !important;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  gap: 8px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:nth-child(3) {
  border-color: rgba(10,132,255,.92);
  box-shadow: 0 0 0 2px rgba(10,132,255,.20), 0 18px 34px rgba(15,23,42,.14), 0 0 28px rgba(10,132,255,.24);
  transform: translateY(calc(var(--nx-item-index, 0) * clamp(14px, 1.3vw, 24px))) scale(1.02) !important;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy {
  min-width: 0;
  gap: 4px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy small {
  display: none;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item__copy strong {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: clamp(12px, 0.85vw, 15px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  max-width: 100%;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__media {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  height: 100%;
  margin-left: 0;
  border-radius: 12px;
  background: transparent;
  align-self: stretch;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item--thumb .nx-mobile-menu-item__arrow {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 22px;
  line-height: 1;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:hover,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:focus-within {
  transform: translateY(calc(var(--nx-item-index, 0) * clamp(14px, 1.3vw, 24px) - 22px)) scale(1.02) !important;
  border-color: rgba(10,132,255,1);
  box-shadow: 0 0 0 2px rgba(10,132,255,.26), 0 22px 42px rgba(15,23,42,.16), 0 0 36px rgba(10,132,255,.34);
  z-index: 999;
}
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:nth-child(3):hover,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel[data-menu-level="1"] .nx-mobile-menu-item:nth-child(3):focus-within {
  transform: translateY(calc(var(--nx-item-index, 0) * clamp(14px, 1.3vw, 24px) - 22px)) scale(1.05) !important;
  border-color: rgba(10,132,255,1);
  box-shadow: 0 0 0 2px rgba(10,132,255,.30), 0 24px 48px rgba(15,23,42,.17), 0 0 42px rgba(10,132,255,.38);
}
.nx-interface-backdrop.is-visible {
  background: transparent;
}

.nx-search-panel { position: fixed; z-index: 1100; inset: 76px 0 auto; background: rgba(255,255,255,.985); border-bottom: 1px solid var(--nx-border); box-shadow: var(--nx-shadow); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: .2s ease; }
.nx-search-panel.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.nx-search-shell { padding-block: 28px 34px; }
.nx-search-field-wrap { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: 30px 1fr auto 42px; align-items: center; gap: 12px; border-bottom: 2px solid var(--nx-dark); }
.nx-search-field-wrap input { width: 100%; min-height: 64px; border: 0; outline: 0; background: transparent; font-size: clamp(22px,3vw,38px); font-weight: 700; letter-spacing: -.03em; }
.nx-search-results { max-width: 980px; max-height: min(62vh,620px); overflow: auto; margin: 22px auto 0; }
.nx-search-hint,.nx-search-empty { color: var(--nx-muted); padding: 22px 0; }
.nx-search-results-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--nx-border); border: 1px solid var(--nx-border); }
.nx-search-result { min-width: 0; display: grid; grid-template-columns: 74px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 12px; background: #fff; }
.nx-search-result:hover { background: var(--nx-soft); }
.nx-search-thumb { width: 74px; height: 74px; display: grid; place-items: center; background: var(--nx-soft); overflow: hidden; }
.nx-search-thumb img { width: 100%; height: 100%; object-fit: contain; }
.nx-search-result-copy { min-width: 0; display: grid; }
.nx-search-result-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nx-search-result-copy small { color: var(--nx-muted); }
.nx-search-price { font-weight: 800; white-space: nowrap; }
.nx-search-all { display: flex; justify-content: center; padding: 18px; margin-top: 12px; background: var(--nx-dark); color: #fff; font-weight: 750; }
.nx-search-spinner { width: 22px; height: 22px; border: 2px solid var(--nx-border); border-top-color: var(--nx-primary); border-radius: 50%; animation: nx-spin .7s linear infinite; }
@keyframes nx-spin { to { transform: rotate(360deg); } }

.nx-cart-drawer { position: fixed; z-index: 1200; top: 0; right: 0; width: min(480px,100%); height: 100dvh; display: flex; flex-direction: column; background: #fff; box-shadow: -18px 0 60px rgba(0,0,0,.14); transform: translateX(102%); transition: transform .26s ease; }
.nx-cart-drawer.is-open { transform: translateX(0); }
.nx-drawer-head { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid var(--nx-border); }
.nx-drawer-head h2 { margin: 4px 0 0; line-height: 1; font-size: 28px; letter-spacing: -.04em; }
.nx-mini-cart-content { min-height: 0; flex: 1; display: flex; flex-direction: column; }
.nx-mini-cart-content .widget_shopping_cart_content { height: 100%; display: flex; flex-direction: column; }
.nx-mini-cart-content .woocommerce-mini-cart { list-style: none; margin: 0; padding: 8px 24px; overflow: auto; flex: 1; }
.nx-mini-cart-content .woocommerce-mini-cart-item { position: relative; min-height: 96px; padding: 16px 28px 16px 86px !important; border-bottom: 1px solid var(--nx-border); }
.nx-mini-cart-content .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 16px; width: 70px !important; height: 70px !important; object-fit: contain; background: var(--nx-soft); float: none !important; margin: 0 !important; }
.nx-mini-cart-content .remove { position: absolute !important; right: 0; top: 14px; color: var(--nx-muted) !important; }
.nx-mini-cart-content .quantity { display: block; color: var(--nx-muted); font-size: 13px; margin-top: 5px; }
.nx-mini-cart-content .woocommerce-mini-cart__total { margin: 0; padding: 18px 24px; display: flex; justify-content: space-between; border-top: 1px solid var(--nx-border); }
.nx-mini-cart-content .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0 24px 24px; }
.nx-mini-cart-content .woocommerce-mini-cart__buttons .button { margin: 0 !important; min-height: 50px; display: flex; align-items: center; justify-content: center; }
.nx-mini-cart-content .woocommerce-mini-cart__empty-message { padding: 60px 24px; color: var(--nx-muted); text-align: center; }
.nx-interface-backdrop { position: fixed; z-index: 1050; inset: 0; background: rgba(6,10,16,.46); opacity: 0; visibility: hidden; transition: .2s ease; }
.nx-interface-backdrop.is-visible { opacity: 1; visibility: visible; }
body.nx-interface-open { overflow: hidden; }

@media (max-width: 820px) {
  .nx-mobile-nav-head { display: flex; align-items: center; justify-content: space-between; min-height: 66px; padding: 0 14px 0 20px; border-bottom: 1px solid var(--nx-border); }
  .primary-nav { inset: 0 auto 0 0; height: 100dvh; padding: 0; z-index: 1200; overflow: auto; }
  .primary-menu { padding: 8px 20px 40px; }
  .primary-menu li { position: relative; }
  .primary-menu > li > a { min-height: 56px; padding-right: 48px; }
  .primary-menu > .menu-item-has-children > .sub-menu,
  .primary-menu .sub-menu { position: static; width: auto; display: none; grid-template-columns: 1fr; padding: 0 0 8px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .primary-menu .is-submenu-open > .sub-menu { display: block; }
  .nx-submenu-toggle { display: grid; place-items: center; position: absolute; right: 0; top: 7px; width: 42px; height: 42px; border: 0; background: var(--nx-soft); cursor: pointer; }
  .nx-search-panel { inset: 66px 0 auto; }
  .nx-search-shell { padding-block: 14px 22px; }
  .nx-search-field-wrap { grid-template-columns: 24px 1fr auto 38px; gap: 6px; }
  .nx-search-field-wrap input { min-height: 54px; font-size: 20px; }
  .nx-search-results-list { grid-template-columns: 1fr; }
  .nx-search-result { grid-template-columns: 62px minmax(0,1fr); }
  .nx-search-thumb { width: 62px; height: 62px; }
  .nx-search-price { grid-column: 2; }
  .nx-account-button { display: inline-grid; }
}

/* Phase 3: Homepage */
.hero-product-image { position: relative; z-index: 2; width: min(100%, 560px); display: grid; place-items: center; }
.hero-product-image img { max-height: 600px; width: auto; object-fit: contain; filter: drop-shadow(0 42px 40px rgba(0,0,0,.18)); }
.hero-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--nx-border); }
.hero-metrics div { display: grid; gap: 2px; }
.hero-metrics strong { font-size: 22px; line-height: 1.1; }
.hero-metrics span { color: var(--nx-muted); font-size: 12px; }
.nx-text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.nx-text-link span { color: var(--nx-primary); transition: transform .2s ease; }
.nx-text-link:hover span { transform: translateX(4px); }
.nx-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.nx-category-card { min-height: 330px; display: grid; grid-template-rows: 1fr auto; background: var(--nx-soft); overflow: hidden; border: 1px solid transparent; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nx-category-card:hover { transform: translateY(-4px); border-color: var(--nx-border); box-shadow: var(--nx-shadow); }
.nx-category-image { min-height: 245px; display: grid; place-items: center; padding: 24px; overflow: hidden; }
.nx-category-image img { width: 100%; height: 240px; object-fit: contain; transition: transform .35s ease; }
.nx-category-card:hover img { transform: scale(1.035); }
.nx-category-copy { display: flex; justify-content: space-between; align-items: end; gap: 12px; padding: 22px; background: #fff; }
.nx-category-copy h3 { margin: 0; font-size: 20px; }
.nx-category-copy span { color: var(--nx-muted); font-size: 12px; white-space: nowrap; }
.nx-split-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 46px; }
.nx-split-heading h2 { margin: 8px 0 0; font-size: clamp(38px,5vw,72px); line-height: .98; letter-spacing: -.06em; }
.nx-split-heading p { margin: 0; color: var(--nx-muted); font-size: 18px; }
.nx-industries-section { background: var(--nx-dark); color: #fff; }
.nx-industries-section .eyebrow { color: #55b3ff; }
.nx-industries-section .nx-split-heading p { color: rgba(255,255,255,.62); }
.nx-industries-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid rgba(255,255,255,.13); }
.nx-industry-card { position: relative; isolation: isolate; aspect-ratio: 1 / 1; min-height: 0; display: grid; grid-template-rows: auto 1fr auto auto; padding: 32px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.13); background: #11151a var(--nx-industry-image) center/cover no-repeat; }
.nx-industry-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(3,6,10,.16),rgba(3,6,10,.78)); }
.nx-industry-card:last-child { border-right: 0; }
.nx-industry-card > span { color: #55b3ff; font-size: 12px; font-weight: 800; }
.nx-industry-card h3 { margin: 0 0 10px; font-size: 24px; text-shadow: 0 2px 18px rgba(0,0,0,.32); }
.nx-industry-card p { margin: 0; color: rgba(255,255,255,.78); font-size: 14px; text-shadow: 0 1px 14px rgba(0,0,0,.35); }
.value-grid { grid-template-columns: repeat(4,1fr); }
.nx-video-facade { width: 100%; aspect-ratio: 16/7; border: 0; padding: 0; cursor: pointer; display: grid; place-items: center; background: #0b0d10 var(--nx-video-thumb) center/cover no-repeat; position: relative; overflow: hidden; }
.nx-video-facade::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)); }
.nx-video-play { position: relative; z-index: 1; width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; padding-left: 5px; background: #fff; color: var(--nx-dark); font-size: 24px; box-shadow: 0 12px 38px rgba(0,0,0,.25); transition: transform .2s ease; }
.nx-video-facade:hover .nx-video-play { transform: scale(1.08); }
.nx-video-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.nx-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.nx-post-card { background: #fff; border: 1px solid var(--nx-border); }
.nx-post-image { display: block; aspect-ratio: 16/10; background: #eceff3; overflow: hidden; }
.nx-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.nx-post-card:hover .nx-post-image img { transform: scale(1.035); }
.nx-post-copy { padding: 24px; }
.nx-post-copy time { color: var(--nx-primary); font-size: 12px; font-weight: 700; }
.nx-post-copy h3 { margin: 10px 0; font-size: 23px; line-height: 1.25; }
.nx-post-copy p { color: var(--nx-muted); }
.nx-cta-section { background: var(--nx-primary); color: #fff; padding: 72px 0; }
.nx-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.nx-cta-section .eyebrow { color: rgba(255,255,255,.7); }
.nx-cta-section h2 { margin: 8px 0 0; max-width: 850px; font-size: clamp(34px,4vw,60px); line-height: 1; letter-spacing: -.05em; }
.nx-button-light { background: #fff; color: var(--nx-dark); white-space: nowrap; }

@media (max-width: 1024px) {
  .nx-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-industries-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-industry-card:nth-child(2) { border-right: 0; }
  .nx-industry-card:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
  .value-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .hero-metrics { grid-template-columns: 1fr; gap: 14px; margin-top: 34px; }
  .hero-metrics div { grid-template-columns: 60px 1fr; align-items: center; }
  .nx-category-grid, .nx-post-grid { grid-template-columns: 1fr; }
  .nx-category-card { min-height: 270px; }
  .nx-category-image { min-height: 200px; }
  .nx-split-heading { grid-template-columns: 1fr; gap: 20px; }
  .nx-industries-grid, .value-grid { grid-template-columns: 1fr; }
  .nx-industry-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .nx-video-facade { aspect-ratio: 16/10; }
  .nx-cta-inner { display: grid; }
}

/* Phase 4: compact product detail inspired by modern marketplace layouts */
.single-product { background: #f4f5f7; }
.single-product .site-main.woocommerce-main { width: min(calc(100% - 28px), 1180px); padding: 14px 0 48px; }
.single-product .woocommerce-breadcrumb { margin: 0 0 12px; color: #858b92; font-size: 11px; line-height: 1.5; }
.single-product .woocommerce-breadcrumb a { color: #626971; }
.single-product div.product { display: flow-root; }
.single-product div.product .nx-product-kicker { margin-bottom: 5px; color: #8a9097; font-size: 11px; }
.single-product div.product .nx-product-kicker a { color: inherit; }

.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > .summary {
  background: #fff;
  margin-bottom: 0 !important;
}
.single-product div.product > .woocommerce-product-gallery {
  width: 50% !important;
  padding: 24px 24px 20px;
  min-height: 565px;
  border-radius: 8px 0 0 8px;
}
.single-product div.product > .summary {
  width: 50% !important;
  padding: 30px 34px;
  min-height: 565px;
  border-left: 1px solid #edf0f2;
  border-radius: 0 8px 8px 0;
}
.single-product .woocommerce-product-gallery__wrapper { display: grid; place-items: center; min-height: 430px; }
.single-product .woocommerce-product-gallery__image a { display: grid; place-items: center; }
.single-product .woocommerce-product-gallery__image img { max-height: 430px; width: 100%; object-fit: contain; }
.single-product .flex-control-thumbs { display: flex; gap: 9px; margin-top: 14px !important; overflow-x: auto; padding-bottom: 3px !important; }
.single-product .flex-control-thumbs li { width: 56px !important; flex: 0 0 56px; border: 1px solid #e5e8eb; padding: 3px; border-radius: 5px; }
.single-product .flex-control-thumbs li img { aspect-ratio: 1; object-fit: contain; }
.single-product .flex-control-thumbs li img.flex-active { outline: 1px solid var(--nx-primary); }

.single-product div.product .product_title { margin: 0 0 9px; font-size: clamp(20px, 2vw, 27px); line-height: 1.35; letter-spacing: -.02em; font-weight: 750; }
.single-product .nx-product-quickmeta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 13px; color: #777e85; font-size: 11px; }
.single-product .nx-product-quickmeta b { color: #34383d; }
.single-product .nx-product-quickmeta .is-in-stock { color: #159447; }
.single-product .nx-product-quickmeta .is-out-of-stock { color: #cf2d35; }
.single-product div.product p.price,
.single-product div.product span.price { margin: 6px 0 15px; color: #e2292f; font-size: 27px; line-height: 1.15; font-weight: 800; }
.single-product div.product p.price del { color: #9ca1a6; font-size: 14px; font-weight: 500; }
.single-product div.product p.price ins { text-decoration: none; }
.single-product .woocommerce-product-details__short-description { color: #464c52; font-size: 13px; line-height: 1.65; }
.single-product .woocommerce-product-details__short-description ul { margin: 10px 0 14px; padding-left: 19px; }
.single-product .woocommerce-product-details__short-description p { margin: 8px 0; }

.single-product div.product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 20px 0 13px; padding-top: 18px; border-top: 1px solid #edf0f2; }
.single-product div.product form.cart .quantity { margin: 0 !important; }
.single-product div.product form.cart .qty { width: 72px; height: 44px; border: 1px solid #dfe3e7; border-radius: 999px; text-align: center; font-size: 13px; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 44px; margin: 0; border-radius: 999px; background: var(--nx-primary); font-size: 14px; font-weight: 750; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--nx-primary-dark); }
.single-product .product_meta { display: none; }

.nx-purchase-assurance { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 14px; }
.nx-purchase-assurance > div { display: flex; gap: 8px; padding: 10px; background: #f8f9fa; border-radius: 5px; }
.nx-purchase-assurance > div > span { color: var(--nx-primary); font-weight: 800; }
.nx-purchase-assurance p { display: grid; gap: 1px; margin: 0; line-height: 1.35; }
.nx-purchase-assurance strong { font-size: 11px; }
.nx-purchase-assurance small { color: #858b92; font-size: 9px; }

.nx-store-panel { clear: both; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0; padding: 14px 18px; background: #fff; border-radius: 8px; }
.nx-store-identity { display: flex; align-items: center; gap: 12px; }
.nx-store-logo { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e5e8eb; border-radius: 50%; }
.nx-store-logo .custom-logo-link { display: grid; place-items: center; }
.nx-store-logo img { max-width: 40px; max-height: 40px; width: auto; }
.nx-store-identity > div:last-child { display: grid; }
.nx-store-identity strong { font-size: 13px; }
.nx-store-identity span { color: #858b92; font-size: 10px; }
.nx-store-link { padding: 8px 16px; border: 1px solid var(--nx-primary); border-radius: 999px; color: var(--nx-primary); font-size: 11px; font-weight: 700; }

.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products { clear: both; margin: 10px 0 0; padding: 18px; background: #fff; border-radius: 8px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 24px; margin: 0 0 16px !important; padding: 0 !important; border-bottom: 1px solid #eceff1; }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; border-radius: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 0 0 10px !important; font-size: 12px; font-weight: 700; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--nx-primary); border-bottom: 2px solid var(--nx-primary); }
.single-product .woocommerce-Tabs-panel { max-width: none; color: #50565c; font-size: 12px; line-height: 1.75; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 16px; }
.single-product .related.products > h2,
.single-product .upsells.products > h2 { margin: 0 0 14px; font-size: 17px; }
.single-product .related.products ul.products,
.single-product .upsells.products ul.products { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; }
.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product { padding: 8px; border-radius: 6px; }
.single-product .related.products ul.products li.product:hover,
.single-product .upsells.products ul.products li.product:hover { transform: none; box-shadow: 0 8px 22px rgba(16,17,20,.08); }
.single-product .related.products .woocommerce-loop-product__title,
.single-product .upsells.products .woocommerce-loop-product__title { min-height: 34px; margin-top: 6px !important; font-size: 11px !important; line-height: 1.45; }
.single-product .related.products .price,
.single-product .upsells.products .price { font-size: 12px !important; color: #e2292f !important; }
.single-product .related.products .button,
.single-product .upsells.products .button { display: none; }

@media (max-width: 980px) {
  .single-product div.product > .woocommerce-product-gallery,
  .single-product div.product > .summary { width: 100% !important; min-height: 0; border-radius: 8px; }
  .single-product div.product > .summary { margin-top: 10px !important; border-left: 0; }
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .single-product .site-main.woocommerce-main { width: min(calc(100% - 16px), 1180px); padding-top: 8px; }
  .single-product div.product > .woocommerce-product-gallery { padding: 12px; }
  .single-product div.product > .summary { padding: 18px 15px; }
  .single-product .woocommerce-product-gallery__wrapper { min-height: 310px; }
  .single-product .woocommerce-product-gallery__image img { max-height: 310px; }
  .single-product div.product .product_title { font-size: 19px; }
  .single-product div.product p.price { font-size: 23px; }
  .nx-purchase-assurance { grid-template-columns: 1fr; }
  .nx-store-panel { align-items: flex-start; }
  .single-product .woocommerce-tabs,
  .single-product .related.products,
  .single-product .upsells.products { padding: 13px; }
  .single-product .woocommerce-tabs ul.tabs { gap: 16px; overflow-x: auto; }
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Phase 5 / v0.6 — compact Thai marketplace product layout */
:root { --nx-container: 1280px; }
html, body, button, input, select, textarea {
  font-family: "TH Sarabun New", "Sarabun", Tahoma, sans-serif;
}
body { font-size: 20px; line-height: 1.48; background: #f3f5f7; }
.nx-container { width: min(calc(100% - 48px), var(--nx-container)); }

.site-header {
  height: 70px;
  background: #0788eb;
  border: 0;
  color: #fff;
  backdrop-filter: none;
}
.site-header.is-scrolled { border: 0; box-shadow: 0 4px 18px rgba(0,55,105,.18); }
.nx-header-row { grid-template-columns: auto 42px minmax(280px, 650px) auto; gap: 14px; }
.custom-logo { max-height: 49px; max-width: 190px; filter: brightness(0) invert(1); }
.nx-header-menu-button { display: inline-grid; color: #fff; }
.nx-menu-lines { width: 21px; display: grid; gap: 4px; }
.nx-menu-lines i { display: block; height: 2px; background: currentColor; border-radius: 3px; }
.nx-icon-button { color: #fff; border-radius: 50%; }
.nx-icon-button:hover { background: rgba(255,255,255,.14); }
.nx-icon-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nx-header-search svg { display: none !important; }
.nx-header-search > svg { display: none !important; }
.cart-count { background: #ffca28; color: #07396a; font-family: Arial,sans-serif; font-size: 10px; }
.header-actions { gap: 2px; }

.nx-header-search { position: relative; width: 100%; justify-self: center; }
.nx-header-search > svg { position: absolute; left: 16px; top: 50%; z-index: 2; width: 18px; transform: translateY(-50%); color: #66727d; }
.nx-header-search input { width: 100%; height: 42px; padding: 0 48px 0 45px; border: 0; outline: 0; border-radius: 999px; background: #fff; color: #17212b; font-size: 19px; }
.nx-header-search input::placeholder { color: #87919b; }
.nx-header-search .nx-search-spinner { position: absolute; right: 16px; top: 12px; }
.nx-header-search-results { position: absolute; z-index: 1200; top: calc(100% + 8px); left: 0; right: 0; max-height: 480px; overflow: auto; padding: 8px; background: #fff; color: #17212b; border-radius: 8px; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.nx-header-search-results .nx-search-item { padding: 8px; }

.primary-nav { position: fixed; z-index: 1200; inset: 0 auto 0 0; width: min(88vw, 360px); padding: 22px; background: #fff; color: #17212b; transform: translateX(-105%); transition: transform .24s ease; overflow-y: auto; }
.primary-nav.is-open { transform: translateX(0); }
.primary-menu { display: block; margin-top: 20px; }
.primary-menu li { border-bottom: 1px solid #e8edf1; }
.primary-menu a { display: block; padding: 12px 2px; font-size: 21px; }
.nx-mobile-nav-head { display: flex; align-items: center; justify-content: space-between; font-size: 24px; }
.nx-submenu-toggle { position: absolute; right: 0; top: 8px; }

.site-footer { background: #0788eb; padding: 45px 0 20px; }
.site-footer p, .site-footer a { color: rgba(255,255,255,.9); font-size: 19px; }
.site-footer h2 { color: #fff; font-size: 19px; letter-spacing: 0; text-transform: none; }
.footer-brand { font-size: 25px; }
.footer-grid.footer-grid--widgets { gap: 22px; }

.single-product .site-main.woocommerce-main {
  width: min(calc(100% - 48px), 1280px);
  padding: 18px 0 42px;
}
.single-product .woocommerce-breadcrumb { font-size: 17px; }
.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
  align-items: stretch;
  gap: 0;
}
.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > .summary {
  float: none !important;
  width: 100% !important;
  min-height: 610px;
  margin: 0 !important;
}
.single-product div.product > .woocommerce-product-gallery {
  padding: 24px;
  border-radius: 9px 0 0 9px;
  opacity: 1 !important;
  overflow: hidden;
}
.single-product div.product > .summary { padding: 27px 34px; border-radius: 0 9px 9px 0; }
.single-product .woocommerce-product-gallery__wrapper { min-height: 475px; height: 475px; }
.single-product .woocommerce-product-gallery__image { width: 100% !important; }
.single-product .woocommerce-product-gallery__image a { height: 475px; }
.single-product .woocommerce-product-gallery__image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none;
  object-fit: contain;
}
.single-product .flex-viewport { min-height: 475px; }
.single-product .flex-control-thumbs { justify-content: flex-start; margin: 14px 0 0 !important; }
.single-product .flex-control-thumbs li { width: 62px !important; flex-basis: 62px; }
.single-product div.product .nx-product-kicker { font-size: 17px; }
.single-product div.product .product_title { margin-bottom: 8px; font-size: clamp(25px, 2vw, 31px); line-height: 1.22; font-weight: 700; }
.single-product .nx-product-quickmeta { font-size: 17px; }
.single-product div.product p.price,
.single-product div.product span.price { font-size: 32px; }
.single-product div.product p.price del { font-size: 20px; }
.single-product .woocommerce-product-details__short-description { font-size: 20px; line-height: 1.45; }
.single-product div.product form.cart .qty,
.single-product div.product form.cart .single_add_to_cart_button { font-size: 20px; }
.nx-purchase-assurance strong { font-size: 17px; }
.nx-purchase-assurance small { font-size: 15px; }
.nx-store-identity strong { font-size: 20px; }
.nx-store-identity span, .nx-store-link { font-size: 17px; }

.single-product .nx-store-panel,
.single-product .woocommerce-tabs,
.single-product .upsells.products,
.single-product .nx-random-related { grid-column: 1 / -1; width: 100%; }
.single-product .woocommerce-tabs { position: relative; }
.single-product .woocommerce-tabs ul.tabs li a { font-size: 20px; }
.single-product .woocommerce-Tabs-panel { position: relative; max-height: 280px; overflow: hidden; padding-bottom: 54px; font-size: 20px; line-height: 1.55; transition: max-height .35s ease; }
.single-product .woocommerce-Tabs-panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 100px; background: linear-gradient(transparent,#fff 72%); pointer-events: none; }
.single-product .woocommerce-Tabs-panel.is-expanded { max-height: none; }
.single-product .woocommerce-Tabs-panel.is-expanded::after { display: none; }
.nx-description-toggle { display: block; position: relative; z-index: 2; min-width: 150px; margin: -44px auto 10px; padding: 7px 20px; border: 1px solid #0788eb; border-radius: 999px; background: #fff; color: #0788eb; cursor: pointer; font-size: 19px; font-weight: 700; }
.single-product .woocommerce-Tabs-panel h2 { font-size: 25px; }

.single-product .nx-random-related { clear: both; margin-top: 10px; padding: 18px; background: #fff; border-radius: 8px; }
.single-product .nx-random-related > h2 { margin: 0 0 15px; font-size: 25px; }
.single-product .nx-random-related ul.products { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.single-product .nx-random-related ul.products li.product { padding: 10px; border: 1px solid #e8edf1; border-radius: 7px; }
.single-product .nx-random-related .woocommerce-loop-product__title { min-height: 52px; font-size: 19px !important; line-height: 1.3; }
.single-product .nx-random-related .price { font-size: 20px !important; color: #e2292f !important; }
.single-product .nx-random-related .button { display: none; }

@media (max-width: 980px) {
  .nx-header-row { grid-template-columns: auto 42px 1fr auto; }
  .single-product div.product { grid-template-columns: 1fr; }
  .single-product div.product > .woocommerce-product-gallery,
  .single-product div.product > .summary { min-height: auto; border-radius: 8px; }
  .single-product div.product > .summary { margin-top: 10px !important; }
  .single-product .nx-random-related ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .nx-container, .single-product .site-main.woocommerce-main { width: min(calc(100% - 16px), 1280px); }
  .site-header { height: 64px; }
  .nx-header-row { grid-template-columns: auto 38px auto; gap: 7px; }
  .site-branding { justify-self: start; }
  .custom-logo { max-width: 120px; max-height: 38px; }
  .nx-header-search { grid-column: 1 / -1; position: absolute; top: 68px; left: 8px; right: 8px; width: auto; display: none; }
  body.nx-mobile-search-open .nx-header-search { display: block; }
  .header-actions .nx-account-button { display: inline-grid; }
  .single-product .site-main.woocommerce-main { padding-top: 64px; }
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .flex-viewport { min-height: 330px; height: 330px; }
  .single-product .woocommerce-product-gallery__image a { height: 330px; }
  .single-product div.product .product_title { font-size: 25px; }
  .single-product .woocommerce-product-details__short-description,
  .single-product .woocommerce-Tabs-panel { font-size: 19px; }
  .single-product .nx-random-related ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* v0.7 — gallery stability, customizer and widget areas */
.nx-header-widget-bar { background: var(--nx-header-bg, #0788eb); color: var(--nx-header-text, #fff); border-bottom: 1px solid rgba(255,255,255,.18); }
.nx-header-widget-bar .nx-container { min-height: 34px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.nx-header-widget-bar .widget { margin: 0; }
.nx-header-widget-bar p { margin: 3px 0; }
.site-header .custom-logo { width: auto; object-fit: contain; }
.site-header .nx-header-search > svg,
.site-header .nx-header-search svg {
  display: none !important;
}
.nx-shop-category-strip {
  display: none;
}

@media (min-width: 768px) {
  .woocommerce-shop .nx-shop-category-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 122px;
    justify-content: center;
    gap: 14px;
    align-items: stretch;
    width: 100%;
    margin: 0 0 22px;
    padding: 0 0 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
  }

  .woocommerce-shop .nx-shop-category-strip::-webkit-scrollbar {
    height: 8px;
  }

  .woocommerce-shop .nx-shop-category-strip::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(15, 134, 235, 0.22);
  }

  .woocommerce-shop .nx-shop-category-pill {
    width: 122px;
    min-width: 122px;
    min-height: 173px;
    display: grid;
    grid-template-rows: 1fr auto;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--nx-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 14px rgba(18, 32, 47, 0.10);
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    scroll-snap-align: start;
  }

  .woocommerce-shop .nx-shop-category-pill:hover {
    transform: translateY(-2px);
    border-color: #d9e7f8;
    box-shadow: 0 8px 24px rgba(18, 32, 47, 0.14);
  }

  .woocommerce-shop .nx-shop-category-thumb {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 121px;
    border-radius: 10px;
    background: var(--nx-soft);
    overflow: hidden;
  }

  .woocommerce-shop .nx-shop-category-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .woocommerce-shop .nx-shop-category-thumb svg {
    width: 42px;
    height: 42px;
    fill: #667085;
  }

  .woocommerce-shop .nx-shop-category-pill > span:last-child {
    display: block;
    color: #111827;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
  }
}

.site-header {
  z-index: 1101;
}
.site-header .nx-header-search,
.site-header .nx-header-search-bar,
.site-header .nx-header-search input {
  pointer-events: auto !important;
}
.site-header .nx-header-search {
  z-index: 3;
}
.site-header .nx-header-search-bar {
  position: relative;
  z-index: 4;
}
.site-header .nx-header-search input {
  position: relative;
  z-index: 5;
}
.site-header .nx-header-search > svg,
.site-header .nx-search-spinner {
  pointer-events: none !important;
}

.site-branding, .custom-logo-link { display: flex; align-items: center; }
.primary-nav { background: var(--nx-menu-bg, #fff); color: var(--nx-menu-text, #17212b); }

.single-product div.product > .woocommerce-product-gallery { background: var(--nx-bg, #fff); }
.single-product .woocommerce-product-gallery__wrapper {
  display: block !important;
  min-height: var(--nx-gallery-height, 500px) !important;
  height: var(--nx-gallery-height, 500px) !important;
  margin: 0 !important;
}
.single-product .flex-viewport {
  min-height: var(--nx-gallery-height, 500px) !important;
  height: var(--nx-gallery-height, 500px) !important;
  overflow: hidden !important;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: var(--nx-gallery-height, 500px) !important;
  overflow: hidden;
}
.single-product .woocommerce-product-gallery__image img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(var(--nx-gallery-height, 500px) - 12px) !important;
  object-fit: contain !important;
  margin: auto !important;
}
.single-product .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:not(:first-child) { display: none !important; }
.single-product .flex-control-thumbs { align-items: center; }
.single-product .flex-control-thumbs li img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; }
.nx-store-logo { background: #fff; }
.nx-store-logo img, .nx-store-logo-image { display: block; max-width: 42px !important; max-height: 42px !important; width: auto !important; height: auto !important; object-fit: contain; filter: none !important; }

.single-product .woocommerce-tabs { padding-bottom: 26px; }
.single-product .woocommerce-Tabs-panel { padding-bottom: 18px; }
.single-product .woocommerce-Tabs-panel:not(.is-expanded) { max-height: 300px; }
.single-product .woocommerce-Tabs-panel::after { bottom: 0; }
.nx-description-toggle {
  position: static;
  margin: 14px auto 0;
  min-width: 180px;
  line-height: 1.2;
}

.nx-footer-widget-column .widget { margin-bottom: 20px; }
.nx-footer-widget-column .widget-title { margin: 0 0 10px; color: var(--nx-footer-text, #fff); }
.site-footer .widget ul { list-style: none; margin: 0; padding: 0; }
.site-footer .widget li { margin: 7px 0; }

@media (max-width: 720px) {
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .flex-viewport,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image a { height: 330px !important; min-height: 330px !important; }
  .single-product .woocommerce-product-gallery__image img { max-height: 318px !important; }
  .nx-header-widget-bar .nx-container { min-height: 30px; font-size: 16px; text-align: center; }
}

/* v0.7.2 — stable hover zoom and a single description control */
.single-product .woocommerce-product-gallery__image a {
  cursor: zoom-in;
}
.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
  transform: scale(1);
  transform-origin: center center;
  transition: transform .28s ease;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .single-product .woocommerce-product-gallery__image a:hover img:not(.zoomImg) {
    transform: scale(1.075);
  }
}
.single-product .woocommerce-product-gallery .zoomImg {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.single-product .woocommerce-tabs > .nx-description-toggle {
  display: none !important;
}
.single-product .woocommerce-tabs > .woocommerce-Tabs-panel--description + .nx-description-toggle,
.single-product .woocommerce-tabs > #tab-description + .nx-description-toggle,
.single-product .woocommerce-tabs > .woocommerce-Tabs-panel:first-of-type + .nx-description-toggle {
  display: block !important;
}
/* Even if an old cached script inserts another control, only the first adjacent control is visible. */
.single-product .woocommerce-tabs > .nx-description-toggle + .nx-description-toggle {
  display: none !important;
}

/* v0.7.3 — deterministic product gallery, collapsible short description and AJAX cart */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery * { box-sizing: border-box; }
.single-product .woocommerce-product-gallery { opacity: 1 !important; visibility: visible !important; }
.single-product .woocommerce-product-gallery .flex-viewport {
  overflow: hidden !important;
  height: var(--nx-gallery-height, 500px) !important;
  min-height: var(--nx-gallery-height, 500px) !important;
}
.single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: var(--nx-gallery-height, 500px) !important;
  min-height: var(--nx-gallery-height, 500px) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
.single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image {
  position: absolute !important;
  inset: 0 !important;
  float: none !important;
  display: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: none !important;
}
.single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image.nx-gallery-active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 2;
}
.single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image img:not(.zoomImg) {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 96% !important;
  max-height: calc(var(--nx-gallery-height, 500px) - 24px) !important;
  margin: auto !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.single-product .flex-control-thumbs img.nx-thumb-active,
.single-product .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  border: 1px solid var(--nx-primary, #0788eb) !important;
}

/* Compact short description: 4 lines by default, expand on hover, pin open on click. */
.single-product .woocommerce-product-details__short-description.nx-short-description-inline {
  position: relative;
  max-height: calc(1.55em * 4);
  margin: 12px 0 6px !important;
  overflow: hidden;
  cursor: pointer;
  transition: max-height .32s ease;
}
.single-product .woocommerce-product-details__short-description.nx-short-description-inline::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.35em;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 88%);
  transition: opacity .18s ease;
}
.single-product .woocommerce-product-details__short-description.nx-short-description-inline.is-open {
  max-height: 1200px;
}
.single-product .woocommerce-product-details__short-description.nx-short-description-inline.is-open::after {
  opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
  .single-product .woocommerce-product-details__short-description.nx-short-description-inline:not(.is-pinned):hover {
    max-height: 1200px;
  }
  .single-product .woocommerce-product-details__short-description.nx-short-description-inline:not(.is-pinned):hover::after {
    opacity: 0;
  }
}
.single-product .woocommerce-product-details__short-description.nx-short-description-inline p:first-child { margin-top: 0; }
.single-product .woocommerce-product-details__short-description.nx-short-description-inline p:last-child { margin-bottom: 0; }
.single-product .woocommerce-product-details__short-description.nx-short-description-inline:focus-visible {
  outline: 2px solid var(--nx-primary, #0788eb);
  outline-offset: 3px;
}
.single-product form.cart.nx-adding { opacity: .65; pointer-events: none; }
.single-product form.cart .single_add_to_cart_button.nx-loading::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: -2px;
  animation: nx-spin .7s linear infinite;
}
@keyframes nx-spin { to { transform: rotate(360deg); } }
@media (max-width: 720px) {
  .single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready,
  .single-product .woocommerce-product-gallery .flex-viewport { height: 330px !important; min-height: 330px !important; }
  .single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image img:not(.zoomImg) { max-height: 306px !important; }
}

/* v0.8.0 — Sukhumvit typography, marketplace shop grid and dual purchase actions. */
body,
button,
input,
select,
textarea,
.woocommerce {
  font-family: "Sukhumvit Set", "Sukhumvit", "Sarabun", Tahoma, sans-serif;
}

/* Shop / category archive */
.woocommerce-shop .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
  width: min(var(--nx-container, 1280px), calc(100% - 32px));
  margin-inline: auto;
}
.woocommerce-products-header {
  margin: 18px 0 20px;
}
.woocommerce-products-header__title.page-title {
  margin: 0;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.25;
}
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 36px !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 14px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(18, 32, 47, .10);
  transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(18, 32, 47, .14);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.woocommerce ul.products li.product a img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  padding: 0;
  object-fit: contain !important;
  object-position: center;
  background: #fff;
  border-radius: 16px 16px 0 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  min-height: 3.05em;
  margin: 10px 12px 4px !important;
  padding: 0 !important;
  overflow: hidden;
  color: #1b232b;
  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.woocommerce ul.products li.product .price {
  display: block;
  margin: 2px 12px 0 !important;
  color: #ef252a !important;
  font-size: 20px !important;
  font-weight: 700;
  line-height: 1.25;
}
.woocommerce ul.products li.product .price del {
  color: #98a0a8;
  font-size: .78em;
  font-weight: 400;
}
.woocommerce ul.products li.product .price ins { text-decoration: none; }
body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button,
body.nexticoatx-mobile-ui .woocommerce ul.products li.product .button.add_to_cart_button,
body.nexticoatx-mobile-ui .woocommerce ul.products li.product .button.product_type_variable {
  display: none !important;
}
@media (max-width: 1024px) {
  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button {
    position: absolute !important;
    right: 10px !important;
    bottom: 12px !important;
    z-index: 20 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #208fe8 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.button::before {
    content: none !important;
    display: none !important;
    width: 32px !important;
    height: 32px !important;
    background: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8h13l-1.4 7H8.2L6.6 4H4'/%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3Cpath d='M13 10v4M11 12h4'/%3E%3C/svg%3E") center/contain no-repeat !important;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8h13l-1.4 7H8.2L6.6 4H4'/%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='17' cy='20' r='1.4'/%3E%3Cpath d='M13 10v4M11 12h4'/%3E%3C/svg%3E") center/contain no-repeat !important;
  }

  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.product_type_variable::before,
  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart.nx-loop-action--options::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14'/%3E%3C/svg%3E") !important;
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14'/%3E%3C/svg%3E") !important;
  }

  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart .nx-loop-action-label {
    display: none !important;
  }

  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart .nx-loop-action-icon,
  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart .nx-loop-action-icon svg {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
  }

  body.nexticoatx-mobile-ui .woocommerce ul.products li.product .nexticoatx-mobile-loop-add-to-cart .nx-loop-action-icon svg {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.15 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
}
.woocommerce ul.products li.product .onsale {
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  min-width: 0;
  min-height: 0;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1;
}
.nx-shop-load-more-wrap {
  display: flex;
  justify-content: center;
  margin: 2px 0 52px;
}
.nx-shop-load-more {
  min-width: min(100%, 336px);
  min-height: 50px;
  padding: 10px 34px;
  border: 1px solid var(--nx-primary, #0a84ff);
  border-radius: 999px;
  background: #fff;
  color: var(--nx-primary, #0a84ff);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.nx-shop-load-more:hover,
.nx-shop-load-more:focus-visible {
  background: rgba(10, 132, 255, .06);
  box-shadow: 0 8px 22px rgba(10, 132, 255, .14);
  outline: 0;
}
.nx-shop-load-more:disabled {
  cursor: wait;
  opacity: .72;
}
.nx-shop-load-more.is-loading {
  background: rgba(10, 132, 255, .05);
}

/* Single product actions */
.single-product form.cart {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}
.single-product form.cart .quantity {
  width: 74px;
  margin: 0 !important;
}
.single-product form.cart .quantity .qty {
  width: 100%;
  height: 48px;
  border: 1px solid #dce2e8;
  border-radius: 24px;
  text-align: center;
}
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .nx-buy-now-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  height: 48px;
  margin: 0 !important;
  padding: 0 18px !important;
  border-radius: 24px !important;
  font: inherit;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}
.single-product form.cart .single_add_to_cart_button {
  border: 1px solid var(--nx-primary, #0788eb) !important;
  background: #fff !important;
  color: var(--nx-primary, #0788eb) !important;
}
.single-product form.cart .single_add_to_cart_button::before {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2l1.5 4H20l-2 8H9L6 2Z'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2l1.5 4H20l-2 8H9L6 2Z'/%3E%3Ccircle cx='10' cy='20' r='1'/%3E%3Ccircle cx='17' cy='20' r='1'/%3E%3C/svg%3E") center/contain no-repeat;
}
.single-product form.cart .nx-buy-now-button {
  border: 1px solid var(--nx-primary, #0788eb) !important;
  background: var(--nx-primary, #0788eb) !important;
  color: #fff !important;
}
.single-product form.cart .nx-buy-now-icon { display: inline-flex; }

@media (max-width: 1180px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .woocommerce-shop .site-main,
  .tax-product_cat .site-main,
  .tax-product_tag .site-main { width: min(100% - 20px, var(--nx-container, 1280px)); }
  .woocommerce ul.products,
  .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { margin-inline: 10px !important; font-size: 17px !important; }
  .woocommerce ul.products li.product .price { margin-inline: 10px !important; font-size: 19px !important; }
  .single-product form.cart { grid-template-columns: 68px minmax(0, 1fr); }
  .single-product form.cart .nx-buy-now-button { grid-column: 1 / -1; }
}

/* =========================================================
   Farmdii Commerce native product gallery
   ========================================================= */
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 55fr) minmax(360px, 45fr) !important;
  align-items: stretch;
  gap: 0;
}
.single-product div.product > .onsale { z-index: 8; }
.single-product div.product > .nx-product-gallery,
.single-product div.product > .summary {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  min-width: 0;
}
.single-product .nx-product-gallery {
  display: flex;
  flex-direction: column;
  min-height: 620px;
  padding: 3px;
  background: #fff;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
}
.single-product .nx-gallery-stage {
  position: relative;
  display: grid;
  place-items: center;
  flex: 1 1 auto;
  width: 100%;
  min-height: 520px;
  margin: 0;
  padding: 3px;
  border: 0;
  background: #fff;
  overflow: hidden;
  cursor: zoom-in;
}
.single-product .nx-gallery-stage.is-video-active {
  cursor: default;
}
.single-product .nx-gallery-main-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scale(1);
  transition: transform .28s ease, opacity .16s ease;
  user-select: none;
}
.single-product .nx-gallery-main-image[hidden] {
  display: none !important;
}
.single-product .nx-gallery-video-layer {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: stretch;
  background: #000;
}
.single-product .nx-gallery-video-layer[hidden] {
  display: none !important;
}
.single-product .nx-gallery-video-layer.is-video-fullscreen,
.single-product .nx-gallery-video-layer:fullscreen,
.single-product .nx-gallery-video-layer:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  aspect-ratio: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #000 !important;
}
.single-product .nx-gallery-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.single-product .nx-gallery-video-layer.is-video-fullscreen .nx-gallery-video,
.single-product .nx-gallery-video-layer:fullscreen .nx-gallery-video,
.single-product .nx-gallery-video-layer:-webkit-full-screen .nx-gallery-video {
  width: auto !important;
  height: 100% !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;
  object-fit: contain !important;
}
.single-product .nx-gallery-video-layer.is-video-fullscreen .nx-gallery-video-play,
.single-product .nx-gallery-video-layer:fullscreen .nx-gallery-video-play,
.single-product .nx-gallery-video-layer:-webkit-full-screen .nx-gallery-video-play {
  inset: 0;
}
.single-product .nx-gallery-video-layer.is-video-fullscreen .nx-gallery-video-fullscreen,
.single-product .nx-gallery-video-layer:fullscreen .nx-gallery-video-fullscreen,
.single-product .nx-gallery-video-layer:-webkit-full-screen .nx-gallery-video-fullscreen {
  top: 16px;
  right: 16px;
}
.single-product .nx-gallery-video-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  gap: 10px;
  border: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .38));
  color: #fff;
  cursor: pointer;
  z-index: 2;
}
.single-product .nx-gallery-video-play[hidden] {
  display: none !important;
}
.single-product .nx-gallery-video-play__icon {
  display: grid;
  place-items: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
  backdrop-filter: blur(3px);
}
.single-product .nx-gallery-video-play__icon svg {
  width: 34px;
  height: 34px;
  margin-left: 4px;
  fill: currentColor;
}
.single-product .nx-gallery-video-play__text {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.single-product .nx-gallery-video-fullscreen {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .42);
  color: #fff;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
}
.single-product .nx-gallery-video-fullscreen:hover {
  transform: scale(1.06);
  background: rgba(0, 0, 0, .58);
}
.single-product .nx-gallery-video-fullscreen[hidden] {
  display: none !important;
}
.single-product .nx-gallery-video-fullscreen__icon {
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
}
@media (hover:hover) {
  .single-product .nx-gallery-stage:hover .nx-gallery-main-image { transform: scale(1.055); }
}
.single-product .nx-gallery-main-image.is-changing { opacity: .25; }
.single-product .nx-gallery-expand {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: #111;
  font-size: 21px;
  box-shadow: 0 3px 16px rgba(0,0,0,.09);
}
.single-product .nx-gallery-expand[hidden] {
  display: none !important;
}
.single-product .nx-gallery-thumbs-shell {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  gap: 10px;
  align-items: center;
  margin-top: 10px;
}
.single-product .nx-gallery-thumbs {
  display: flex;
  gap: 7px;
  min-width: 0;
  min-height: 82px;
  padding: 7px 2px 9px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  user-select: none;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.single-product .nx-gallery-thumbs::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.single-product .nx-gallery-thumbs.is-dragging {
  cursor: grabbing;
}
.single-product .nx-gallery-thumbs-nav {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.76);
  color: rgba(17, 24, 39, 0.7);
  font-size: 24px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
  cursor: pointer;
}
.single-product .nx-gallery-thumbs-nav:hover {
  background: rgba(255, 255, 255, 0.94);
  color: rgba(17, 24, 39, 0.95);
}
.single-product .nx-gallery-thumbs-nav:disabled {
  opacity: 0.35;
  cursor: default;
}
.single-product .nx-gallery-thumb {
  flex: 0 0 74px;
  width: 74px;
  height: 74px;
  padding: 0;
  border: 1px solid #e1e5ea;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
}
.single-product .nx-gallery-thumb.is-active {
  border-color: var(--nx-primary);
  box-shadow: 0 0 0 1px var(--nx-primary);
}
.single-product .nx-gallery-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.single-product .nx-gallery-thumb--video {
  position: relative;
  overflow: hidden;
  padding: 0;
}
.single-product .nx-gallery-thumb-video {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.single-product .nx-gallery-thumb-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.single-product .nx-gallery-thumb-video__play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28));
  color: #fff;
}
.single-product .nx-gallery-thumb-video__play svg {
  width: 24px;
  height: 24px;
  margin-left: 2px;
  fill: currentColor;
}
.single-product .nx-gallery-thumb--video.is-active {
  border-color: var(--nx-primary);
  box-shadow: 0 0 0 1px var(--nx-primary);
}
.single-product .nx-gallery-dialog {
  width: min(96vw, 1280px);
  height: min(94vh, 920px);
  padding: 42px 12px 12px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.single-product .nx-gallery-dialog::backdrop { background: rgba(10,15,22,.82); }
.single-product .nx-gallery-dialog img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.single-product .nx-gallery-dialog-close {
  position: absolute;
  top: 7px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f1f3f5;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.single-product div.product > .summary {
  border-radius: 0 10px 10px 0 !important;
}
.single-product form.cart {
  display: grid !important;
  grid-template-columns: 76px minmax(0,1fr) minmax(0,1fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.single-product form.cart .quantity { grid-column: 1; }
.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .nx-buy-now-button {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  white-space: nowrap;
}
.single-product form.cart .single_add_to_cart_button { grid-column: 2; }
.single-product form.cart .nx-buy-now-button { grid-column: 3; }

@media (min-width: 1025px) {
  .single-product .nx-product-gallery {
    min-height: 740px;
  }

  .single-product .nx-gallery-stage {
    min-height: 640px;
    padding: 0;
  }

  .single-product .nx-gallery-main-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
  }

  .single-product .nx-gallery-thumbs-shell {
    margin-top: 14px;
  }

  .single-product .nx-gallery-thumb {
    flex-basis: 92px;
    width: 92px;
    height: 92px;
    padding: 0;
    overflow: hidden;
  }

  .single-product .nx-gallery-thumb img,
  .single-product .nx-gallery-thumb-video img {
    object-fit: cover;
    object-position: center center;
  }
}

@media (max-width: 900px) {
  .single-product div.product { grid-template-columns: 1fr !important; }
  .single-product .nx-product-gallery { min-height: 0; border-radius: 10px 10px 0 0; }
  .single-product .nx-gallery-stage { min-height: min(88vw, 540px); aspect-ratio: 1 / 1; }
  .single-product div.product > .summary { border-radius: 0 0 10px 10px !important; }
  .single-product .nx-gallery-thumbs-shell {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 8px;
  }
  .single-product .nx-gallery-thumbs-nav {
    width: 36px;
    height: 36px;
    font-size: 22px;
  }
}
@media (max-width: 560px) {
  .single-product .nx-gallery-stage { min-height: calc(100vw - 28px); }
  .single-product .nx-gallery-thumb { flex-basis: 62px; width: 62px; height: 62px; }
  .single-product .nx-gallery-thumb img,
  .single-product .nx-gallery-thumb-video img {
    object-fit: cover;
    object-position: center center;
  }
  .single-product .nx-gallery-thumbs-shell {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 6px;
  }
  .single-product .nx-gallery-thumbs-nav {
    width: 32px;
    height: 32px;
    font-size: 20px;
  }
  .single-product form.cart { grid-template-columns: 68px minmax(0,1fr) !important; }
  .single-product form.cart .single_add_to_cart_button { grid-column: 2; }
  .single-product form.cart .nx-buy-now-button { grid-column: 1 / -1; }
}

/* =========================================================
   v1.1.0 Cart, checkout and address book
   ========================================================= */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
  width: min(calc(100% - 32px), var(--nx-container, 1280px));
  margin-inline: auto;
  padding-block: 54px 72px;
}
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-cart input,
.woocommerce-checkout input,
.woocommerce-cart select,
.woocommerce-checkout select,
.woocommerce-cart textarea,
.woocommerce-checkout textarea,
.woocommerce-cart button,
.woocommerce-checkout button { font-size: 18px; }
.woocommerce-cart h1,
.woocommerce-checkout h1,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title { font-size: clamp(30px, 3vw, 42px); margin-bottom: 34px; }
.woocommerce-cart h2,
.woocommerce-checkout h2 { font-size: 27px; }
.woocommerce-cart h3,
.woocommerce-checkout h3 { font-size: 23px; }

/* Classic and WooCommerce Blocks fields. */
.woocommerce-checkout .form-row label,
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label { font-size: 16px !important; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox input {
  min-height: 52px;
  border-radius: 5px !important;
  font-size: 18px !important;
}
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout form.checkout {
  gap: 30px;
}
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid #dfe3e8;
  border-radius: 8px;
  padding: 18px;
}
.woocommerce-checkout .wc-block-components-totals-item,
.woocommerce-checkout .wc-block-components-order-summary-item,
.woocommerce-checkout table.shop_table { font-size: 17px !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order {
  min-height: 56px;
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--nx-primary, #0788eb) !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 700 !important;
}
.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart table.shop_table { background: #fff; font-size: 18px; }
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .checkout-button { min-height: 56px; font-size: 21px !important; }

.nx-checkout-address {
  margin: 0 0 26px;
  padding: 22px 26px;
  border-top: 3px solid var(--nx-primary, #0788eb);
  background: #fff;
  box-shadow: 0 4px 20px rgba(15,23,42,.05);
}
.nx-checkout-address__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.nx-checkout-eyebrow { color: var(--nx-primary, #0788eb); font-size: 16px; }
.nx-checkout-address h2 { margin: 3px 0 0; font-size: 26px; }
.nx-address-change,
.nx-address-item button {
  border: 0;
  background: transparent;
  color: var(--nx-primary, #0788eb);
  cursor: pointer;
  font-weight: 700;
}
.nx-address-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-top: 17px; font-size: 18px; }
.nx-address-summary strong { font-size: 20px; }
.nx-address-summary p { flex-basis: 100%; margin: 0; color: #3f4752; }
.nx-address-summary small { color: #68717d; }
.nx-tax-row { display: grid; grid-template-columns: minmax(190px, .45fr) minmax(260px, 1fr); align-items: center; gap: 18px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #e6e9ed; }
.nx-tax-row label { font-size: 18px; font-weight: 700; }
.nx-tax-row input { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #ccd2d9; border-radius: 4px; }
.nx-address-dialog { width: min(94vw, 620px); max-height: 88vh; padding: 0; border: 0; border-radius: 8px; box-shadow: 0 20px 70px rgba(0,0,0,.25); }
.nx-address-dialog::backdrop { background: rgba(15,18,24,.58); }
.nx-address-dialog__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid #e5e7eb; }
.nx-address-dialog__head h3 { margin: 0; }
.nx-address-dialog__head button { width: 38px; height: 38px; border: 0; background: transparent; font-size: 30px; cursor: pointer; }
.nx-address-list { max-height: 52vh; padding: 8px 24px; overflow: auto; }
.nx-address-item { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 17px 0; border-bottom: 1px solid #e8ebef; }
.nx-address-item label { display: flex; gap: 13px; cursor: pointer; }
.nx-address-item label > span { display: block; }
.nx-address-item strong { font-size: 19px; }
.nx-address-item em { margin-left: 8px; color: var(--nx-primary); font-style: normal; }
.nx-address-item small { display: block; color: #717986; }
.nx-address-item p { margin: 5px 0; }
.nx-address-item > div { display: flex; gap: 8px; }
.nx-address-add { width: calc(100% - 48px); min-height: 48px; margin: 16px 24px 22px; border: 0; border-radius: 4px; background: var(--nx-primary); color: #fff; font-weight: 700; cursor: pointer; }
.nx-address-form { padding: 18px 24px 24px; }
.nx-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.nx-form-grid p { margin: 0; }
.nx-form-grid label { display: grid; gap: 5px; font-size: 15px; }
.nx-form-grid input,
.nx-form-grid textarea { width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #cbd1d8; border-radius: 4px; font: inherit; }
.nx-form-grid textarea { min-height: 82px; resize: vertical; }
.nx-span-2 { grid-column: 1 / -1; }
.nx-address-check { display: flex; gap: 8px; margin-top: 14px; }
.nx-address-form__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.nx-button-secondary,
.nx-button-primary { min-width: 120px; min-height: 46px; border-radius: 4px; cursor: pointer; }
.nx-button-secondary { border: 1px solid #cbd1d8; background: #fff; }
.nx-button-primary { border: 0; background: var(--nx-primary); color: #fff; }
.nx-address-empty { padding: 25px 0; text-align: center; color: #6c7480; }

@media (max-width: 780px) {
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main,
  body.woocommerce-cart main,
  body.woocommerce-checkout main { width: min(calc(100% - 20px), var(--nx-container, 1280px)); padding-top: 28px; }
  .nx-checkout-address { padding: 17px; }
  .nx-tax-row,
  .nx-form-grid { grid-template-columns: 1fr; }
  .nx-span-2 { grid-column: auto; }
  .nx-address-item { grid-template-columns: 1fr; }
}

/* =========================================================
   v1.2.0 Mobile-card checkout
   ========================================================= */
body.woocommerce-checkout {
  --nx-checkout-card: #fff;
  --nx-checkout-soft: #f6f8fb;
  --nx-checkout-line: #e4e8ee;
  --nx-checkout-danger: #e5252a;
}
.woocommerce-checkout .site-main,
body.woocommerce-checkout main {
  width: min(calc(100% - 28px), 920px) !important;
  padding-top: 34px !important;
}
.woocommerce-checkout .entry-title,
.woocommerce-checkout h1.entry-title { text-align: center; font-size: 34px !important; margin-bottom: 24px !important; }
.nx-checkout-address,
.nx-checkout-products,
.nx-checkout-note,
.nx-checkout-total-card {
  background: var(--nx-checkout-card);
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(21,31,45,.07);
  margin: 0 0 18px;
}
.nx-checkout-address {
  padding: 0 !important;
  overflow: hidden;
  border-top: 4px solid var(--nx-primary, #0788eb) !important;
}
.nx-checkout-address.needs-address { border-top-color: var(--nx-checkout-danger) !important; }
.nx-checkout-address__head { padding: 18px 22px 8px; }
.nx-checkout-address__head h2 { font-size: 25px !important; }
.nx-checkout-eyebrow { font-size: 15px; }
.nx-address-card {
  width: 100%;
  min-height: 84px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 24px;
  align-items: center;
  gap: 12px;
  padding: 16px 22px;
  border: 0;
  border-top: 1px solid var(--nx-checkout-line);
  background: transparent;
  color: #151922;
  text-align: left;
  cursor: pointer;
}
.nx-address-card:hover { background: #fafcff; }
.nx-address-card__icon { font-size: 25px; color: var(--nx-primary); text-align: center; }
.needs-address .nx-address-card__icon { color: var(--nx-checkout-danger); }
.nx-address-card__content { min-width: 0; display: grid; gap: 4px; }
.nx-address-card__content strong { font-size: 21px; }
.nx-address-card__content span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #6a7280; font-size: 17px; }
.nx-address-card__arrow { font-size: 30px; color: #505966; }
.nx-address-required { margin: 0; padding: 12px 22px 17px; color: var(--nx-checkout-danger); font-size: 17px; font-weight: 700; border-top: 1px solid #fee0e0; }

.nx-checkout-products { overflow: hidden; }
.nx-checkout-products > header {
  display: flex; align-items: center; gap: 10px;
  padding: 17px 22px;
  background: var(--nx-primary, #0788eb); color: #fff;
}
.nx-checkout-products > header span { font-size: 27px; }
.nx-checkout-products > header h2 { margin: 0; color: inherit; font-size: 26px !important; }
.nx-checkout-products__list { padding: 8px 22px 12px; }
.nx-checkout-product {
  display: grid;
  grid-template-columns: 78px minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  padding: 14px 0;
  border-bottom: 1px solid var(--nx-checkout-line);
}
.nx-checkout-product:last-child { border-bottom: 0; }
.nx-checkout-product__image img { width: 72px; height: 72px; object-fit: contain; border-radius: 10px; background: #fff; }
.nx-checkout-product__info { min-width: 0; display: grid; gap: 3px; }
.nx-checkout-product__info strong { font-size: 19px; line-height: 1.35; }
.nx-checkout-product__info small,
.nx-checkout-product__info .variation { color: #858d99; font-size: 16px; }
.nx-checkout-product__price { font-size: 20px; font-weight: 700; white-space: nowrap; }

.nx-checkout-note { padding: 18px 22px; }
.nx-checkout-note label { display: flex; align-items: center; gap: 12px; font-size: 21px; }
.nx-checkout-note label span { color: var(--nx-primary); font-size: 17px; }
.nx-checkout-note textarea { width: 100%; margin-top: 12px; padding: 12px; border: 1px solid var(--nx-checkout-line); border-radius: 8px; resize: vertical; font: inherit; }
.nx-checkout-total-card { padding: 20px 22px; }
.nx-checkout-total-card h2 { margin: 0 0 16px; font-size: 27px !important; }
.nx-checkout-total-card > div { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; font-size: 19px; }
.nx-checkout-total-card__grand { margin-top: 10px; padding-top: 18px !important; border-top: 1px solid var(--nx-checkout-line); font-size: 23px !important; }
.nx-checkout-total-card__grand strong { color: var(--nx-primary); font-size: 28px; }

/* Hide WooCommerce's full address forms: the compact address dialog is the editor. */
.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields { display: none !important; }

/* Keep shipping/payment areas visible, but render them as clean cards. */
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout #payment {
  background: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 18px rgba(21,31,45,.07);
  padding: 20px 22px !important;
  margin-bottom: 18px !important;
}
.woocommerce-checkout .wc-block-components-checkout-step__heading h2,
.woocommerce-checkout #payment h3 { font-size: 25px !important; }

/* The theme provides its own visible product/total cards. */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review table.shop_table { display: none !important; }
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout form.checkout { display: block !important; }
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout form.checkout > .col2-set,
.woocommerce-checkout form.checkout > #order_review { width: 100% !important; max-width: none !important; float: none !important; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order {
  width: 100% !important;
  min-height: 62px !important;
  border-radius: 999px !important;
  font-size: 23px !important;
  margin-top: 18px !important;
}
.woocommerce-checkout .nx-address-missing .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .nx-address-missing #place_order,
.woocommerce-checkout button[data-nx-disabled-address="1"] { opacity: .45 !important; pointer-events: none !important; }

@media (max-width: 700px) {
  .woocommerce-checkout .site-main,
  body.woocommerce-checkout main { width: min(calc(100% - 18px), 920px) !important; padding-top: 20px !important; }
  .woocommerce-checkout .entry-title,
  .woocommerce-checkout h1.entry-title { font-size: 28px !important; }
  .nx-checkout-address__head { padding: 15px 16px 6px; }
  .nx-address-card { padding: 14px 16px; min-height: 76px; grid-template-columns: 32px minmax(0,1fr) 18px; }
  .nx-address-card__content strong { font-size: 19px; }
  .nx-address-card__content span { font-size: 15px; }
  .nx-checkout-products > header { padding: 14px 16px; }
  .nx-checkout-products > header h2 { font-size: 23px !important; }
  .nx-checkout-products__list { padding-inline: 16px; }
  .nx-checkout-product { grid-template-columns: 64px minmax(0,1fr) auto; gap: 10px; }
  .nx-checkout-product__image img { width: 58px; height: 58px; }
  .nx-checkout-product__info strong { font-size: 17px; }
  .nx-checkout-product__price { font-size: 17px; }
  .nx-checkout-note, .nx-checkout-total-card { padding: 17px 16px; }
  .nx-address-dialog { width: calc(100vw - 18px); }
}

/* v1.2.1 clarify saved-address nickname field */
.nx-address-form label small{display:block;margin-top:5px;color:#7a8492;font-size:.82em;font-weight:400;line-height:1.35}


/* =========================================================
   v1.2.2 Checkout order: payment before totals; hide shipping/note UI
   ========================================================= */
body.woocommerce-checkout .nx-checkout-note,
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-checkout__order-notes,
body.woocommerce-checkout .woocommerce-shipping-totals,
body.woocommerce-checkout .woocommerce-shipping-methods,
body.woocommerce-checkout #shipping_method,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout #order_comments_field {
  display: none !important;
}

.nx-checkout-payment-slot:empty { display: none; }
.nx-checkout-payment-slot {
  margin: 0 0 20px;
}
.nx-checkout-payment-slot > * {
  margin: 0 !important;
}
.nx-checkout-payment-slot .wc-block-checkout__payment-method,
.nx-checkout-payment-slot #payment,
.nx-checkout-payment-slot .nx-moved-payment {
  padding: 22px 24px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 5px 22px rgba(15, 23, 42, .07) !important;
}
.nx-checkout-payment-slot .wc-block-components-checkout-step__heading,
.nx-checkout-payment-slot .wc-block-components-title,
.nx-checkout-payment-slot h3,
.nx-checkout-payment-slot .wc-block-components-checkout-step__title {
  margin: 0 0 18px !important;
  color: #101820 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}
.nx-checkout-payment-slot .wc-block-components-radio-control__option,
.nx-checkout-payment-slot .payment_box,
.nx-checkout-payment-slot li.wc_payment_method {
  font-size: 18px !important;
}
.nx-checkout-payment-slot #payment .place-order {
  margin-top: 18px;
}

/* Classic checkout: when total card is placed inside payment, keep it flush. */
#payment .nx-checkout-total-card {
  margin: 22px 0 0;
  box-shadow: none;
  border: 1px solid #e6eaf0;
}

@media (max-width: 780px) {
  .nx-checkout-payment-slot .wc-block-checkout__payment-method,
  .nx-checkout-payment-slot #payment,
  .nx-checkout-payment-slot .nx-moved-payment { padding: 18px 16px !important; }
  .nx-checkout-payment-slot .wc-block-components-checkout-step__heading,
  .nx-checkout-payment-slot .wc-block-components-title,
  .nx-checkout-payment-slot h3,
  .nx-checkout-payment-slot .wc-block-components-checkout-step__title { font-size: 22px !important; }
}

/* v1.2.3 checkout refinements */
.woocommerce-checkout { font-size: 16px !important; }
.woocommerce-checkout h1.entry-title { font-size: 27px !important; }
.woocommerce-checkout h2, .woocommerce-checkout .nx-checkout-products > header h2,
.woocommerce-checkout .nx-checkout-total-card h2 { font-size: 22px !important; }
.nx-checkout-address__head h2 { font-size: 22px !important; }
.nx-address-card__content strong { font-size: 18px !important; }
.nx-address-card__content span { font-size: 15px !important; }
.nx-checkout-products > header { padding: 14px 18px !important; }
.nx-checkout-products > header h2 { font-size: 22px !important; }
.nx-checkout-product__info strong { font-size: 16px !important; }
.nx-checkout-product__price { font-size: 17px !important; }
.nx-checkout-total-card > div { font-size: 16px !important; }
.nx-checkout-total-card__grand { font-size: 19px !important; }
.nx-checkout-total-card__grand strong { font-size: 24px !important; }
.nx-same-address { display:flex; align-items:center; gap:9px; padding:12px 22px; border-top:1px solid #e8ebef; font-size:15px; cursor:pointer; }
.nx-same-address input { width:18px; height:18px; accent-color:var(--nx-primary,#0788eb); }
.nx-order-note-toggle { display:block !important; margin-top:14px; padding-top:14px !important; border-top:1px solid #e5e8ec; }
.nx-order-note-toggle label { display:flex; align-items:center; gap:9px; font-size:16px; cursor:pointer; }
.nx-order-note-toggle input { width:18px; height:18px; accent-color:var(--nx-primary,#0788eb); }
.nx-order-note-toggle textarea { width:100%; min-height:82px; margin-top:12px; padding:11px 13px; border:1px solid #ccd3db; border-radius:9px; background:#fff; font:inherit; resize:vertical; }
.nx-order-note-toggle textarea[hidden] { display:none !important; }
.nx-checkout-payment-slot:empty { display:none !important; }
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .woocommerce-shipping-totals,
body.woocommerce-checkout #shipping_method { display:none !important; }
@media (max-width: 767px) {
  .woocommerce-checkout { font-size:15px !important; }
  .woocommerce-checkout h1.entry-title { font-size:24px !important; }
  .nx-checkout-address__head h2, .woocommerce-checkout .nx-checkout-products > header h2, .woocommerce-checkout .nx-checkout-total-card h2 { font-size:20px !important; }
}

/* =========================================================
   v2.0 Cart cards + stable checkout payment UI
   ========================================================= */
body.woocommerce-cart { background:#f3f5f7 !important; }
body.woocommerce-cart .site-main,
body.woocommerce-cart main { width:min(calc(100% - 32px),1280px)!important; margin:0 auto!important; padding:48px 0 70px!important; }
body.woocommerce-cart .entry-title { font-size:30px!important; margin:0 0 24px!important; }
body.woocommerce-cart .woocommerce { display:grid!important; grid-template-columns:minmax(0,1.8fr) minmax(300px,.9fr); gap:24px; align-items:start; }
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-cart-form { grid-column:1; }
body.woocommerce-cart .cart-collaterals { grid-column:2; grid-row:1 / span 3; width:100%!important; }
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals { background:#fff; border-radius:18px; padding:22px; box-shadow:0 7px 28px rgba(15,23,42,.07); }
body.woocommerce-cart table.shop_table { border:0!important; border-collapse:collapse!important; margin:0!important; }
body.woocommerce-cart table.shop_table th { font-size:15px; color:#6d7683; border-bottom:1px solid #e7ebef!important; padding:12px!important; }
body.woocommerce-cart table.shop_table td { border-bottom:1px solid #e7ebef!important; padding:18px 12px!important; vertical-align:middle!important; font-size:16px; }
body.woocommerce-cart .product-thumbnail img { width:86px!important; height:86px!important; object-fit:contain; background:#fff; }
body.woocommerce-cart .product-name a { color:#111820; font-size:17px; font-weight:600; line-height:1.35; }
body.woocommerce-cart .quantity .qty { min-height:40px; border:1px solid #cfd6de; border-radius:10px; }
body.woocommerce-cart .cart_totals { width:100%!important; float:none!important; }
body.woocommerce-cart .cart_totals h2 { font-size:23px!important; margin:0 0 14px; }
body.woocommerce-cart .cart_totals table td,
body.woocommerce-cart .cart_totals table th { padding:14px 0!important; font-size:16px; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:var(--nx-primary,#0b8dea)!important; color:#fff!important; border-radius:12px!important; min-height:56px; display:flex!important; align-items:center; justify-content:center; font-size:19px!important; font-weight:700; }
body.woocommerce-cart .coupon .button,
body.woocommerce-cart button[name="update_cart"] { border-radius:10px!important; min-height:42px; }

/* Payment methods must reveal their descriptions when selected. */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { border:1px solid #d9dee5; border-radius:12px; margin:0 0 10px!important; padding:0!important; overflow:hidden; background:#fff; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input { margin-left:16px!important; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label { display:inline-block; padding:16px 12px; font-size:17px; font-weight:600; cursor:pointer; }
.woocommerce-checkout #payment div.payment_box { margin:0!important; padding:0 18px 18px!important; background:#fff!important; color:#4b5563!important; font-size:15px!important; }
.woocommerce-checkout #payment div.payment_box:before { display:none!important; }
.woocommerce-checkout #payment li.wc_payment_method:not(.nx-payment-selected) > .payment_box { display:none!important; }
.woocommerce-checkout #payment li.wc_payment_method.nx-payment-selected > .payment_box { display:block!important; }
.nx-promptpay-preview { display:flex; align-items:center; gap:12px; padding:12px; border-radius:12px; background:#f4f9fe; }
.nx-promptpay-preview .nx-promptpay-mark { width:46px; height:46px; border-radius:10px; display:grid; place-items:center; color:#fff; background:var(--nx-primary,#0b8dea); font-weight:800; }
.nx-promptpay-preview strong,.nx-promptpay-preview small { display:block; }
.nx-promptpay-preview small { margin-top:3px; color:#758091; }
.nx-promptpay-order-card { max-width:560px; margin:24px auto; padding:26px; text-align:center; background:#fff; border-radius:18px; box-shadow:0 8px 30px rgba(15,23,42,.09); }
.nx-promptpay-order-card h2 { margin:0 0 18px; font-size:25px; }
.nx-promptpay-order-card img { display:block; width:min(300px,100%); height:auto; margin:0 auto 16px; }
.nx-promptpay-order-total,.nx-promptpay-order-ref { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid #e6eaf0; font-size:17px; }
.nx-promptpay-order-total strong { color:var(--nx-primary,#0b8dea); font-size:23px; }

@media (max-width:900px){
 body.woocommerce-cart .woocommerce{grid-template-columns:1fr!important;}
 body.woocommerce-cart .woocommerce-cart-form,body.woocommerce-cart .cart-collaterals{grid-column:1!important;grid-row:auto!important;}
}
@media (max-width:600px){
 body.woocommerce-cart .site-main,body.woocommerce-cart main{width:calc(100% - 16px)!important;padding-top:24px!important;}
 body.woocommerce-cart .woocommerce-cart-form,body.woocommerce-cart .cart_totals{padding:14px;}
 body.woocommerce-cart table.shop_table thead{display:none;}
 body.woocommerce-cart table.shop_table tr{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid #e7ebef;}
 body.woocommerce-cart table.shop_table td{border:0!important;padding:4px!important;text-align:left!important;}
 body.woocommerce-cart td.product-thumbnail{grid-row:1/span 4;}
 body.woocommerce-cart td.product-remove{position:absolute;right:18px;}
}

/* ==========================================================
   v2.0.1 REAL CUSTOM CART + CHECKOUT
   ========================================================== */
.nx-real-cart,.nx-real-checkout{max-width:1180px;margin:0 auto;padding:42px 20px 70px;font-size:16px;color:var(--nx-text,#111827)}
.nx-page-heading{margin:0 0 24px}.nx-page-heading span{font-size:13px;color:var(--nx-primary,#0b8ff3)}.nx-page-heading h1{font-size:30px;line-height:1.2;margin:4px 0 0;font-weight:700}
.nx-real-cart__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:22px;align-items:start}
.nx-cart-card,.nx-real-checkout-card{background:#fff;border-radius:16px;box-shadow:0 7px 24px rgba(15,23,42,.055);overflow:hidden}
.nx-cart-card{padding:22px}.nx-card-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;padding-bottom:14px}.nx-card-title h2,.nx-real-checkout-card h2{font-size:21px;margin:0;font-weight:700}.nx-card-title span{font-size:14px;color:#6b7280}
.nx-cart-line{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid #eef0f3}.nx-cart-line:last-child{border-bottom:0}.nx-cart-line__image{display:block;width:96px;height:96px;border-radius:10px;overflow:hidden;background:#fff}.nx-cart-line__image img{width:100%;height:100%;object-fit:contain}.nx-cart-line__name{font-size:16px;font-weight:650;line-height:1.45;color:#111827;text-decoration:none}.nx-cart-line__unit{margin-top:5px;color:#6b7280;font-size:14px}.nx-cart-line__actions{display:flex;align-items:center;gap:15px;margin-top:10px}.nx-cart-qty .quantity{display:flex}.nx-cart-qty input.qty{width:64px;height:36px;border:1px solid #d8dde5;border-radius:9px;text-align:center;font-size:15px}.nx-cart-remove{font-size:14px;color:#ef4444!important;text-decoration:none!important}.nx-cart-line__subtotal{font-size:17px;white-space:nowrap}.nx-cart-hidden-actions{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nx-cart-card--summary{position:sticky;top:94px}.nx-cart-total-row,.nx-summary-row{display:flex;justify-content:space-between;gap:24px;padding:12px 0;font-size:15px}.nx-cart-total-row--grand,.nx-summary-row--grand{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:18px;font-size:19px}.nx-cart-total-row--grand strong,.nx-summary-row--grand strong{font-size:23px;color:var(--nx-primary,#0b8ff3)}.nx-cart-checkout-button,.nx-place-order-button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:54px!important;border:0!important;border-radius:999px!important;background:var(--nx-primary,#0b8ff3)!important;color:#fff!important;font-size:18px!important;font-weight:700!important;text-decoration:none!important;margin-top:20px!important}
.nx-real-checkout{max-width:980px}.nx-real-checkout .nx-checkout-address{margin-bottom:18px}.nx-native-checkout-fields{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.nx-checkout-review{display:grid;gap:18px}.nx-real-checkout-card{padding:0}.nx-checkout-products__header{display:flex;align-items:center;gap:10px;padding:18px 22px;background:var(--nx-primary,#0b8ff3);color:#fff}.nx-checkout-products__header h2{color:#fff}.nx-checkout-products__list{padding:5px 22px 12px}.nx-checkout-product{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #eef0f3}.nx-checkout-product:last-child{border-bottom:0}.nx-checkout-product__image{width:74px;height:74px}.nx-checkout-product__image img{width:100%;height:100%;object-fit:contain}.nx-checkout-product__info strong{font-size:15.5px;line-height:1.4;display:block}.nx-checkout-product__info small{display:block;color:#8a93a1;margin-top:5px}.nx-checkout-product__price{font-size:17px;font-weight:700;white-space:nowrap}
.nx-payment-card,.nx-checkout-summary-card{padding:22px}.nx-payment-card>h2,.nx-checkout-summary-card>h2{margin-bottom:16px}.nx-real-payment .wc_payment_methods{list-style:none;margin:0;padding:0;border:1px solid #dfe3e8;border-radius:12px;overflow:hidden}.nx-real-payment .wc_payment_method{padding:0!important;margin:0!important;border-bottom:1px solid #e6e9ed}.nx-real-payment .wc_payment_method:last-child{border-bottom:0}.nx-real-payment .wc_payment_method>label{display:flex!important;align-items:center;gap:9px;padding:15px 16px;font-size:15px;font-weight:650;cursor:pointer}.nx-real-payment .payment_box{margin:0!important;padding:0 16px 16px!important;background:#f7f9fb!important;font-size:14px;line-height:1.55}.nx-real-payment .payment_box:before{display:none!important}.nx-order-note-toggle{border-top:1px solid #e5e7eb;margin-top:13px;padding-top:14px}.nx-order-note-toggle label{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer}.nx-order-note-toggle textarea{display:block;width:100%;margin-top:10px;border:1px solid #d7dce3;border-radius:10px;padding:12px;font:inherit;resize:vertical}.nx-place-order{padding:0 2px}.nx-place-order .woocommerce-terms-and-conditions-wrapper{font-size:13px;line-height:1.55}.nx-place-order-button:disabled{opacity:.48;cursor:not-allowed}.woocommerce-checkout .blockUI.blockOverlay{border-radius:16px}
@media(max-width:820px){.nx-real-cart,.nx-real-checkout{padding:25px 14px 55px;font-size:15px}.nx-page-heading h1{font-size:25px}.nx-real-cart__grid{grid-template-columns:1fr}.nx-cart-card--summary{position:static}.nx-cart-line{grid-template-columns:80px minmax(0,1fr)}.nx-cart-line__image{width:80px;height:80px}.nx-cart-line__subtotal{grid-column:2;text-align:left}.nx-checkout-product{grid-template-columns:64px minmax(0,1fr)}.nx-checkout-product__image{width:64px;height:64px}.nx-checkout-product__price{grid-column:2}.nx-cart-card,.nx-payment-card,.nx-checkout-summary-card{padding:17px}.nx-checkout-products__list{padding-left:17px;padding-right:17px}}

/* ==========================================================
   v2.0.2 LAYOUT HOTFIX — isolate real Cart / Checkout templates
   from legacy WooCommerce grid and block styles.
   ========================================================== */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
  width: min(calc(100% - 32px), 1280px) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
  padding: 38px 0 64px !important;
}

/* The legacy v2.0 rule made the WooCommerce wrapper a two-column grid.
   Our real templates already contain their own grid, so the wrapper must
   be a normal block container. */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
body.woocommerce-cart .woocommerce > .nx-real-cart,
body.woocommerce-checkout .woocommerce > .nx-real-checkout {
  width: 100% !important;
  max-width: 1180px !important;
  min-width: 0 !important;
  grid-column: 1 / -1 !important;
  margin-inline: auto !important;
}

/* Remove classic-cart card rules that were being applied again inside
   the new custom card. */
body.woocommerce-cart .nx-cart-card .woocommerce-cart-form {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-column: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-cart .nx-real-cart__grid {
  width: 100% !important;
  min-width: 0 !important;
}
body.woocommerce-cart .nx-cart-card,
body.woocommerce-cart .nx-cart-items,
body.woocommerce-cart .nx-cart-line,
body.woocommerce-cart .nx-cart-line__body {
  min-width: 0 !important;
}
body.woocommerce-cart .nx-cart-line__name {
  overflow-wrap: anywhere;
}

/* Do not let legacy table/mobile selectors affect the component markup. */
body.woocommerce-cart .nx-real-cart table.shop_table,
body.woocommerce-cart .nx-real-cart .cart-collaterals,
body.woocommerce-cart .nx-real-cart .cart_totals {
  all: revert;
}

/* Checkout owns its own white cards. Remove the old outer review card. */
body.woocommerce-checkout .nx-real-checkout {
  max-width: 1040px !important;
  padding-inline: 0 !important;
}
body.woocommerce-checkout .nx-real-checkout #order_review {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  gap: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-checkout-address,
body.woocommerce-checkout .nx-real-checkout .nx-real-checkout-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .nx-real-checkout form,
body.woocommerce-checkout form.nx-real-checkout {
  width: 100% !important;
}

@media (max-width: 900px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-cart main,
  body.woocommerce-checkout main {
    width: min(calc(100% - 20px), 1280px) !important;
    padding-top: 24px !important;
  }
  body.woocommerce-cart .nx-real-cart__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.woocommerce-cart .nx-cart-card--summary {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 600px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-cart main,
  body.woocommerce-checkout main {
    width: calc(100% - 12px) !important;
    padding: 18px 0 42px !important;
  }
  .nx-real-cart,
  .nx-real-checkout {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .nx-real-cart .nx-page-heading,
  .nx-real-checkout .nx-page-heading {
    padding-inline: 8px;
  }
  .nx-cart-card {
    padding: 14px !important;
    border-radius: 13px !important;
  }
  .nx-cart-line {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: 11px !important;
    padding: 14px 0 !important;
  }
  .nx-cart-line__image {
    width: 74px !important;
    height: 74px !important;
  }
  .nx-cart-line__subtotal {
    grid-column: 2 !important;
    justify-self: start !important;
    font-size: 16px !important;
  }
  .nx-cart-line__actions {
    flex-wrap: wrap;
    gap: 10px !important;
  }
  .nx-cart-card--summary {
    margin-top: 0 !important;
  }
  body.woocommerce-checkout .nx-real-checkout #order_review {
    gap: 12px !important;
  }
}

/* ==========================================================
   v2.0.3 UI CLEANUP — remove nested WooCommerce cards/headings
   ========================================================== */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-cart .woocommerce > h2,
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h2,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  display: none !important;
}

/* Only Farmdii components own the card surface. */
body.woocommerce-cart .nx-real-cart .woocommerce-cart-form,
body.woocommerce-checkout .nx-real-checkout #order_review,
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .nx-real-checkout #payment,
body.woocommerce-checkout .nx-real-checkout .wc_payment_methods,
body.woocommerce-checkout .nx-real-checkout .payment_box,
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .nx-real-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .nx-real-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .nx-real-checkout #payment,
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-payment {
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-payment-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-summary-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-products,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-address {
  background: #fff !important;
  border: 0 !important;
  box-shadow: 0 7px 24px rgba(15,23,42,.055) !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-real-payment {
  display: grid !important;
  gap: 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-payment-card .wc_payment_methods {
  border-radius: 12px !important;
  overflow: hidden !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-payment-card .payment_box {
  padding: 0 16px 16px !important;
  background: #f7f9fb !important;
}

/* Checkout coupon belongs to the bottom of the product card. */
.nx-checkout-coupon {
  padding: 16px 22px 20px;
  border-top: 1px solid #e8ebef;
}
.nx-checkout-coupon > label {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 700;
}
.nx-checkout-coupon__row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 9px;
}
.nx-checkout-coupon input {
  width: 100%;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid #ccd3dc;
  border-radius: 9px;
  background: #fff;
  font: inherit;
}
.nx-checkout-coupon button {
  min-height: 42px;
  padding: 8px 18px;
  border: 0;
  border-radius: 9px;
  background: var(--nx-primary,#0b8ff3);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.nx-checkout-coupon button[disabled] { opacity: .55; cursor: wait; }
.nx-checkout-coupon__message { min-height: 18px; margin: 7px 0 0; font-size: 13px; color: #657083; }
.nx-checkout-coupon__message.is-error { color: #d92d20; }
.nx-checkout-coupon__message.is-success { color: #118847; }

/* Cart remove action: icon-only bin button. */
.nx-cart-remove {
  display: inline-grid !important;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  border: 1px solid #e2e6eb;
  border-radius: 9px;
  background: #fff;
  color: #354052 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
.nx-cart-remove:hover { border-color: #ef4444; color: #ef4444 !important; background: #fff7f7; }
.nx-cart-remove svg { width: 18px; height: 18px; fill: currentColor; pointer-events: none; }
.nx-cart-remove::before { display: none !important; content: none !important; }

@media (max-width: 600px) {
  .nx-checkout-coupon { padding: 14px 16px 17px; }
  .nx-checkout-coupon__row { grid-template-columns: 1fr; }
  .nx-checkout-coupon button { width: 100%; }
}

/* ==========================================================
   v2.0.4 CART / CHECKOUT CLEANUP
   ========================================================== */
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart main > article > header,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout main > article > header {
  display: none !important;
}

body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.nx-real-cart,
.nx-real-checkout {
  width: min(calc(100% - 48px), var(--nx-container, 1280px)) !important;
  max-width: var(--nx-container, 1280px) !important;
  margin-inline: auto !important;
  padding-top: 28px !important;
}

.nx-page-heading { margin: 0 0 18px !important; }
.nx-page-heading h1 {
  margin: 0 !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.2 !important;
}

/* Keep only one surface per component. */
body.woocommerce-checkout .nx-real-checkout,
body.woocommerce-checkout .nx-real-checkout form,
body.woocommerce-checkout .nx-real-checkout #order_review,
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .nx-real-checkout #payment,
body.woocommerce-checkout .nx-real-checkout .nx-real-payment,
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-payment,
body.woocommerce-cart .nx-real-cart,
body.woocommerce-cart .nx-real-cart form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.woocommerce-checkout .nx-real-checkout #order_review,
body.woocommerce-checkout .nx-real-checkout #payment,
body.woocommerce-checkout .nx-real-checkout .nx-real-payment {
  padding: 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .nx-real-checkout .nx-checkout-products,
body.woocommerce-checkout .nx-real-checkout .nx-payment-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-summary-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-address,
body.woocommerce-cart .nx-real-cart .nx-cart-card {
  background: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 7px 24px rgba(15,23,42,.055) !important;
}

/* Cart totals typography should stay compact. */
.nx-cart-total-row--grand,
.nx-summary-row--grand { font-size: 16px !important; }
.nx-cart-total-row--grand strong,
.nx-summary-row--grand strong {
  font-size: 20px !important;
  line-height: 1.3 !important;
  text-align: right;
}

/* Reliable native remove link: do not let WooCommerce's legacy AJAX handler hijack it. */
.nx-cart-remove {
  display: inline-grid !important;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #e11d48 !important;
  text-decoration: none !important;
  cursor: pointer;
}
.nx-cart-remove:hover { background: #fff1f2; }
.nx-cart-remove svg { width: 18px; height: 18px; fill: currentColor; pointer-events: none; }

/* Payment list and selected details. */
.nx-payment-card .wc_payment_methods {
  display: grid !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}
.nx-payment-card .wc_payment_method {
  border: 1px solid #dfe3e8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.nx-payment-card .wc_payment_method > label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 12px 15px !important;
  cursor: pointer;
  font-size: 15px !important;
  font-weight: 700;
}
.nx-payment-card .payment_box {
  margin: 0 !important;
  padding: 0 15px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7f9fb !important;
  font-size: 14px !important;
}
.nx-payment-card .nx-payment-selected { border-color: var(--nx-primary,#0b8ff3) !important; }

@media (max-width: 820px) {
  .nx-real-cart,
  .nx-real-checkout {
    width: min(calc(100% - 24px), var(--nx-container, 1280px)) !important;
    padding-top: 18px !important;
  }
  .nx-page-heading h1 { font-size: 24px !important; }
  .nx-cart-total-row--grand strong,
  .nx-summary-row--grand strong { font-size: 18px !important; }
}

/* ==========================================================
   v2.0.5 STRUCTURAL CART / CHECKOUT FIX
   ========================================================== */
body.woocommerce-cart .page-content > article > h1,
body.woocommerce-checkout .page-content > article > h1 {
  display: none !important;
}

body.woocommerce-cart .page-content,
body.woocommerce-checkout .page-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .page-content > article,
body.woocommerce-checkout .page-content > article {
  margin: 0 !important;
  padding: 0 !important;
}

.nx-real-cart,
.nx-real-checkout {
  width: min(calc(100% - 40px), var(--nx-container, 1280px)) !important;
  margin: 0 auto !important;
  padding: 28px 0 56px !important;
}

.nx-page-heading {
  margin: 0 0 16px !important;
}
.nx-page-heading h1 {
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

/* Prevent every legacy Woo wrapper from becoming a second card. */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .wc_payment_methods,
body.woocommerce-checkout .payment_box {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment {
  padding: 0 !important;
  margin: 0 !important;
}

/* Only these components are real cards. */
.nx-cart-card,
.nx-checkout-address,
.nx-checkout-products,
.nx-payment-card,
.nx-checkout-summary-card {
  background: #fff !important;
  border: 0 !important;
  border-radius: 15px !important;
  box-shadow: 0 7px 22px rgba(15, 23, 42, .055) !important;
}

/* Compact cart typography. */
.nx-cart-card .nx-card-title h2,
.nx-cart-card--summary .nx-card-title h2 {
  font-size: 21px !important;
  line-height: 1.25 !important;
}
.nx-cart-total-row {
  font-size: 15px !important;
}
.nx-cart-total-row--grand {
  font-size: 16px !important;
  line-height: 1.35 !important;
}
.nx-cart-total-row--grand strong {
  font-size: 21px !important;
  line-height: 1.25 !important;
}

/* Native WooCommerce remove link with a visible, clickable hit area. */
a.remove.nx-cart-remove {
  position: relative !important;
  z-index: 5 !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #dc2626 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
a.remove.nx-cart-remove:hover {
  background: #fff1f2 !important;
  color: #b91c1c !important;
}
a.remove.nx-cart-remove::before,
a.remove.nx-cart-remove::after {
  display: none !important;
  content: none !important;
}

/* Checkout headings appear once only. */
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h2,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3 {
  display: none !important;
}

.nx-checkout-address__head h2,
.nx-checkout-products__header h2,
.nx-payment-card > h2,
.nx-checkout-summary-card > h2 {
  font-size: 20px !important;
  line-height: 1.3 !important;
}

@media (max-width: 820px) {
  .nx-real-cart,
  .nx-real-checkout {
    width: min(calc(100% - 22px), var(--nx-container, 1280px)) !important;
    padding-top: 18px !important;
  }
  .nx-page-heading h1 { font-size: 24px !important; }
  .nx-cart-card .nx-card-title h2,
  .nx-cart-card--summary .nx-card-title h2,
  .nx-checkout-address__head h2,
  .nx-checkout-products__header h2,
  .nx-payment-card > h2,
  .nx-checkout-summary-card > h2 { font-size: 18px !important; }
  .nx-cart-total-row--grand strong { font-size: 19px !important; }
}


/* v2.0.6 — checkout uses the coupon field inside the product card only. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .wc-block-components-totals-coupon,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  display: none !important;
}

/* ==========================================================
   v2.0.7 CHECKOUT STRUCTURE FIX
   - no legacy the_content duplicate components
   - address dialog lives outside the native checkout form
   - all checkout components remain inside one centered shell
   ========================================================== */
body.woocommerce-checkout {
  overflow-x: hidden !important;
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .page-content > article,
body.woocommerce-checkout .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .nx-real-checkout {
  display: block !important;
  width: min(calc(100% - 40px), var(--nx-container, 1280px)) !important;
  max-width: var(--nx-container, 1280px) !important;
  margin: 0 auto !important;
  padding: 28px 0 58px !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .nx-real-checkout-form,
body.woocommerce-checkout .nx-real-checkout-form #order_review,
body.woocommerce-checkout .nx-real-checkout-form .nx-checkout-review,
body.woocommerce-checkout .nx-real-checkout-form #payment,
body.woocommerce-checkout .nx-real-checkout-form .nx-real-payment {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 18px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-checkout-address,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-products,
body.woocommerce-checkout .nx-real-checkout .nx-payment-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-summary-card,
body.woocommerce-checkout .nx-real-checkout .nx-place-order {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .nx-real-checkout .nx-checkout-products,
body.woocommerce-checkout .nx-real-checkout .nx-payment-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-summary-card,
body.woocommerce-checkout .nx-real-checkout .nx-checkout-address {
  border-radius: 15px !important;
  overflow: hidden !important;
}
body.woocommerce-checkout .nx-real-checkout .woocommerce-checkout-review-order-table {
  float: none !important;
  clear: both !important;
}
body.woocommerce-checkout .nx-order-note-toggle:has([data-nx-note-toggle]:checked) textarea[data-nx-order-note] {
  display: block !important;
}
body.woocommerce-cart .nx-cart-line__name,
body.woocommerce-checkout .nx-checkout-product__info strong {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}
body.woocommerce-cart .nx-cart-card--summary {
  font-size: 14px !important;
}
body.woocommerce-cart .nx-cart-coupon {
  margin: 14px 0 16px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #e5e7eb !important;
}
body.woocommerce-cart .nx-cart-coupon label {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}
body.woocommerce-cart .nx-cart-coupon__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}
body.woocommerce-cart .nx-cart-coupon input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 8px 11px !important;
  border: 1px solid #ccd3dc !important;
  border-radius: 9px !important;
  background: #fff !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}
body.woocommerce-cart .nx-cart-coupon button {
  min-height: 40px !important;
  padding: 8px 13px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--nx-primary,#0b8ff3) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
body.woocommerce-cart .nx-cart-card--summary .nx-cart-total-row {
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 9px 0 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}
body.woocommerce-cart .nx-cart-card--summary .nx-cart-total-row span {
  min-width: 0 !important;
  color: #111827 !important;
}
body.woocommerce-cart .nx-cart-card--summary .nx-cart-total-row strong {
  flex: 0 0 auto !important;
  max-width: 52% !important;
  text-align: right !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
body.woocommerce-cart .nx-cart-card--summary .nx-cart-total-row--grand {
  margin-top: 8px !important;
  padding-top: 14px !important;
  font-size: 15px !important;
}
body.woocommerce-cart .nx-cart-card--summary .nx-cart-total-row--grand strong {
  font-size: 20px !important;
  line-height: 1.2 !important;
}
body.single-product form.variations_form {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
}
body.single-product form.variations_form .variations {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  border: 0 !important;
}
body.single-product form.variations_form .single_variation_wrap {
  display: contents !important;
}
body.single-product form.variations_form .woocommerce-variation {
  grid-column: 1 / -1 !important;
}
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  display: contents !important;
}
body.single-product form.variations_form .variations tbody,
body.single-product form.variations_form .variations tr,
body.single-product form.variations_form .variations th,
body.single-product form.variations_form .variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}
body.single-product form.variations_form .variations tr {
  margin: 0 0 12px !important;
}
body.single-product form.variations_form .variations label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}
body.single-product form.variations_form .nx-native-variation-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
body.single-product .nx-variation-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
}
body.single-product .nx-variation-swatch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  min-width: 48px !important;
  padding: 8px 13px !important;
  border: 1px solid #d7dde6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}
body.single-product .nx-variation-swatch--image {
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  padding: 4px !important;
}
body.single-product .nx-variation-swatch--image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 7px !important;
}
body.single-product .nx-variation-swatch--image span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}
body.single-product .nx-variation-swatch.is-selected {
  border-color: var(--nx-primary,#0b8ff3) !important;
  box-shadow: 0 0 0 2px rgba(11,143,243,.16) !important;
}
body.single-product .nx-variation-swatch:disabled {
  opacity: .42 !important;
  cursor: not-allowed !important;
}
body.single-product form.variations_form .reset_variations {
  display: inline-block !important;
  margin-top: 8px !important;
  color: #6b7280 !important;
  font-size: 13px !important;
}
body.single-product .nx-product-gallery {
  position: relative !important;
}
body.single-product .nx-gallery-nav {
  position: absolute !important;
  top: min(50%, 250px) !important;
  z-index: 8 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(17,24,39,.12) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.92) !important;
  color: #111827 !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.12) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
}
body.single-product .nx-gallery-nav--prev {
  left: 14px !important;
}
body.single-product .nx-gallery-nav--next {
  right: 14px !important;
}
body.single-product .nx-gallery-nav:hover,
body.single-product .nx-gallery-dialog-nav:hover {
  border-color: var(--nx-primary,#0b8ff3) !important;
  color: var(--nx-primary,#0b8ff3) !important;
}
body.single-product .nx-gallery-dialog {
  width: min(96vw, 1180px) !important;
  height: min(92vh, 820px) !important;
  padding: 54px 68px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.28) !important;
}
body.single-product .nx-gallery-dialog img[data-nx-dialog-image] {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
body.single-product .nx-gallery-dialog-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid #d7dde6 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94) !important;
  color: #111827 !important;
  font-size: 32px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
}
body.single-product .nx-gallery-dialog-nav--prev {
  left: 14px !important;
}
body.single-product .nx-gallery-dialog-nav--next {
  right: 14px !important;
}
body.single-product .nx-gallery-dialog-close {
  z-index: 3 !important;
}
body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.8em !important;
  margin: 8px 11px 3px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
body.woocommerce-shop ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
  margin: 2px 11px 0 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
body.woocommerce-shop ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del {
  font-size: .82em !important;
  font-weight: 400 !important;
}
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-order-received .woocommerce-notices-wrapper {
  width: min(calc(100% - 40px), 1040px) !important;
  max-width: 1040px !important;
  margin: 18px auto 0 !important;
}
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-order-received .woocommerce-message,
body.woocommerce-order-received .woocommerce-info,
body.woocommerce-order-received .woocommerce-error {
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 14px 18px 14px 48px !important;
  border: 0 !important;
  border-left: 4px solid var(--nx-primary,#0b8ff3) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.06) !important;
  color: #17212b !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-order-received .woocommerce-message::before {
  top: 15px !important;
  left: 18px !important;
  color: #16a34a !important;
}
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-order-received .woocommerce-info::before {
  top: 15px !important;
  left: 18px !important;
  color: var(--nx-primary,#0b8ff3) !important;
}
body.woocommerce-cart .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-order-received .woocommerce-error::before {
  top: 15px !important;
  left: 18px !important;
  color: #dc2626 !important;
}
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .woocommerce-error .button {
  float: right !important;
  min-height: 34px !important;
  margin: -4px 0 -4px 12px !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: #f1f6fd !important;
  color: var(--nx-primary,#0b8ff3) !important;
  font-size: 14px !important;
}
body.woocommerce-cart .woocommerce {
  width: min(calc(100% - 40px), 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
body.woocommerce-cart .woocommerce:has(.nx-empty-cart) {
  display: block !important;
}
.nx-empty-cart {
  width: min(100%, 560px) !important;
  margin: 38px auto 90px !important;
  padding: 34px 28px !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.07) !important;
  text-align: center !important;
}
.nx-empty-cart__icon {
  display: grid !important;
  place-items: center !important;
  width: 66px !important;
  height: 66px !important;
  margin: 0 auto 16px !important;
  border-radius: 50% !important;
  background: #eef7ff !important;
  color: var(--nx-primary,#0b8ff3) !important;
}
.nx-empty-cart h1 {
  margin: 0 0 8px !important;
  color: #111827 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
}
.nx-empty-cart p {
  max-width: 420px !important;
  margin: 0 auto 22px !important;
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}
.nx-empty-cart__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--nx-primary,#0b8ff3) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.woocommerce-order-received {
  background: #f3f5f7 !important;
}
body.woocommerce-order-received .woocommerce,
body.woocommerce-order-received .page-content,
body.woocommerce-order-received .entry-content {
  display: block !important;
  width: min(calc(100% - 40px), 1040px) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.woocommerce-order-received main,
body.woocommerce-order-received .site-main {
  width: 100% !important;
  max-width: none !important;
  padding: 30px 0 64px !important;
}
body.woocommerce-order-received .woocommerce-order {
  display: grid !important;
  gap: 18px !important;
  font-size: 15px !important;
  color: #111827 !important;
}
body.woocommerce-order-received .woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-details,
body.woocommerce-order-received .nx-promptpay-order-card,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-bacs-bank-details {
  width: 100% !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15,23,42,.06) !important;
  box-sizing: border-box !important;
}
body.woocommerce-order-received .woocommerce-notice--success {
  border-left: 4px solid #16a34a !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
body.woocommerce-order-received ul.woocommerce-thankyou-order-details {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 12px !important;
  list-style: none !important;
}
body.woocommerce-order-received ul.woocommerce-thankyou-order-details li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
body.woocommerce-order-received ul.woocommerce-thankyou-order-details li strong {
  display: block !important;
  margin-top: 5px !important;
  color: #111827 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .wc-bacs-bank-details-heading,
body.woocommerce-order-received .nx-promptpay-order-card h2 {
  margin: 0 0 14px !important;
  color: #111827 !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
}
body.woocommerce-order-received table.shop_table {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  font-size: 14px !important;
}
body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td {
  padding: 13px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  text-align: left !important;
  vertical-align: top !important;
}
body.woocommerce-order-received table.shop_table th:last-child,
body.woocommerce-order-received table.shop_table td:last-child {
  text-align: right !important;
}
body.woocommerce-order-received table.shop_table tr:last-child th,
body.woocommerce-order-received table.shop_table tr:last-child td {
  border-bottom: 0 !important;
}
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address,
body.woocommerce-order-received .woocommerce-customer-details address {
  width: auto !important;
  padding: 16px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fbfcfe !important;
  line-height: 1.6 !important;
}

body.woocommerce-order-received .woocommerce-customer-details {
  overflow: hidden !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fbfcfe !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column address {
  position: relative !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1.65 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column.nx-address-collapsed {
  cursor: pointer;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column.nx-address-collapsed address {
  max-height: 118px !important;
  overflow: hidden !important;
  transition: max-height .22s ease;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column.nx-address-collapsed:not(.is-open) address::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 38px;
  background: linear-gradient(to bottom, rgba(251,252,254,0), #fbfcfe 85%);
  pointer-events: none;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column.nx-address-collapsed.is-open address {
  max-height: 560px !important;
}

body.woocommerce-order-received .nx-address-expand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin-top: 12px;
  padding: 0 14px;
  border: 1px solid #d8e6f7;
  border-radius: 999px;
  background: #fff;
  color: var(--nx-primary);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}

body.woocommerce-order-received .nx-address-expand:hover {
  background: #eef7ff;
  border-color: #a8d4ff;
}
body.woocommerce-order-received .nx-promptpay-order-card img {
  display: block !important;
  max-width: min(300px, 100%) !important;
  height: auto !important;
  margin: 12px auto 18px !important;
}
body.woocommerce-order-received .nx-promptpay-order-total,
body.woocommerce-order-received .nx-promptpay-order-ref {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 12px 0 !important;
  border-top: 1px solid #e5e7eb !important;
  font-size: 15px !important;
}

body.woocommerce-order-received .nx-order-received {
  display: grid;
  gap: 18px;
}

body.woocommerce-order-received .nx-order-received > .woocommerce-customer-details {
  display: none !important;
}

body.woocommerce-order-received .nx-order-track-card,
body.woocommerce-order-received .nx-order-panel,
body.woocommerce-order-received .nxpp-payment-card {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 24, 39, .06);
  overflow: hidden;
}

body.woocommerce-order-received .nx-order-track-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 24px;
  border-bottom: 1px solid #edf0f4;
}

body.woocommerce-order-received .nx-order-back {
  color: #667085;
  font-size: 15px;
  text-decoration: none;
}

body.woocommerce-order-received .nx-order-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #111827;
  font-size: 15px;
}

body.woocommerce-order-received .nx-order-heading b {
  color: #ef4444;
  font-weight: 600;
}

body.woocommerce-order-received .nx-order-status-track {
  --nx-step: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 42px 34px 34px;
}

body.woocommerce-order-received .nx-order-status-track::before,
body.woocommerce-order-received .nx-order-status-track::after {
  content: "";
  position: absolute;
  top: 72px;
  left: 88px;
  right: 88px;
  height: 4px;
  border-radius: 999px;
  background: #dedede;
}

body.woocommerce-order-received .nx-order-status-track::before {
  background: linear-gradient(to right, #25bf5b 0 var(--nx-progress), #dedede var(--nx-progress) 100%);
}

body.woocommerce-order-received .nx-order-status-track::after {
  display: none;
}

body.woocommerce-order-received .nx-order-status-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #a3a8ae;
  text-align: center;
  font-size: 14px;
}

body.woocommerce-order-received .nx-order-status-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 4px solid #dedede;
  border-radius: 50%;
  background: #fff;
  color: #b8bdc3;
  font-size: 25px;
  font-weight: 700;
}

body.woocommerce-order-received .nx-order-status-step strong {
  color: #121826;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

body.woocommerce-order-received .nx-order-status-step small {
  color: #a3a8ae;
  font-size: 13px;
}

body.woocommerce-order-received .nx-order-status-step.is-done .nx-order-status-icon,
body.woocommerce-order-received .nx-order-status-step.is-current .nx-order-status-icon {
  border-color: #25bf5b;
  color: #25bf5b;
}

body.woocommerce-order-received .nx-order-status-step.is-current .nx-order-status-icon {
  background: #25bf5b;
  color: #fff;
}

body.woocommerce-order-received .nx-order-status-step.is-muted .nx-order-status-icon,
body.woocommerce-order-received .nx-order-status-step.is-muted strong {
  color: #c2c7cf;
}

body.woocommerce-order-received .nx-order-delivery-note {
  padding: 16px 24px;
  border-top: 1px solid #f0eadc;
  border-bottom: 1px solid #f0eadc;
  background: #fffaf0;
  color: #6b7280;
  font-size: 14px;
}

body.woocommerce-order-received .nx-order-delivery-note p {
  margin: 0 0 4px;
}

body.woocommerce-order-received .nx-order-delivery-note p:last-child {
  margin-bottom: 0;
}

body.woocommerce-order-received .nx-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.woocommerce-order-received .nx-order-actions--right {
  justify-content: flex-end;
  padding: 18px 24px;
}

body.woocommerce-order-received .nx-order-primary,
body.woocommerce-order-received .nx-order-secondary,
body.woocommerce-order-received .nx-order-danger {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 42px;
  padding: 0 22px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.woocommerce-order-received .nx-order-primary {
  border: 1px solid var(--nx-primary) !important;
  background: var(--nx-primary) !important;
  color: #fff !important;
}

body.woocommerce-order-received .nx-order-secondary {
  border: 1px solid #d8dde6 !important;
  background: #fff !important;
  color: #111827 !important;
}

body.woocommerce-order-received .nx-order-danger {
  border: 1px solid #f3c1c1 !important;
  background: #fff !important;
  color: #b42318 !important;
}

body.woocommerce-order-received .nx-order-summary-panel,
body.woocommerce-order-received .nx-order-payment-panel,
body.woocommerce-order-received .nx-order-items-panel,
body.woocommerce-order-received .nx-order-panel--notice,
body.woocommerce-order-received .nx-order-panel--empty {
  padding: 22px;
}

body.woocommerce-order-received .nx-order-payment-panel h2 {
  margin: 0 0 16px;
  color: #111827;
  font-size: 22px;
  line-height: 1.35;
}

body.woocommerce-order-received .nx-order-payment-panel > p,
body.woocommerce-order-received .nx-order-payment-panel .woocommerce-bacs-bank-details > p,
body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details > p {
  max-width: 760px;
  margin: 0 0 12px;
  color: #111827;
  font-size: 15px;
  line-height: 1.75;
}

body.woocommerce-order-received .nx-order-payment-panel > p:last-child {
  margin-bottom: 0;
}

body.woocommerce-order-received .nx-order-payment-panel .woocommerce-bacs-bank-details,
body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details {
  margin-top: 18px !important;
  padding: 18px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  background: #fbfcfe !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details-heading,
body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details-account-name {
  margin: 0 0 14px !important;
  color: #111827 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
}

body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details {
  display: grid;
  gap: 10px 18px;
}

body.woocommerce-order-received .nx-order-payment-panel .wc-bacs-bank-details li {
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid #edf0f4 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

body.woocommerce-order-received .nx-order-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

body.woocommerce-order-received .nx-order-summary-grid > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  background: #fbfcfe;
}

body.woocommerce-order-received .nx-order-summary-grid > div > span {
  display: block;
  margin-bottom: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #667085;
  font-size: 13px;
}

body.woocommerce-order-received .nx-order-summary-grid strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
}

body.woocommerce-order-received .nx-order-summary-grid > div:nth-child(4) strong,
body.woocommerce-order-received .nx-order-summary-grid > div:nth-child(5) strong {
  font-size: 14px;
  font-weight: 700;
}

body.woocommerce-order-received .nx-order-summary-grid strong .woocommerce-Price-amount,
body.woocommerce-order-received .nx-order-summary-grid strong bdi,
body.woocommerce-order-received .nx-order-summary-grid strong span {
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: nowrap;
}

body.woocommerce-order-received .nx-order-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.woocommerce-order-received .nx-order-top-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

body.woocommerce-order-received .nx-order-address-card {
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fbfcfe;
  overflow: hidden;
}

body.woocommerce-order-received .nx-order-address-card summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 0 44px 0 16px;
  color: #111827;
  font-size: 19px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

body.woocommerce-order-received .nx-order-address-card summary::-webkit-details-marker {
  display: none;
}

body.woocommerce-order-received .nx-order-address-card summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  color: var(--nx-primary);
  font-size: 22px;
  font-weight: 700;
}

body.woocommerce-order-received .nx-order-address-card[open] summary::after {
  content: "-";
}

body.woocommerce-order-received .nx-order-address-card address {
  margin: 0;
  padding: 0 16px 18px;
  border: 0 !important;
  background: transparent !important;
  color: #111827;
  line-height: 1.7;
}

body.woocommerce-order-received .nx-order-address-card a {
  color: #111827;
  text-decoration: none;
}

body.woocommerce-order-received .nx-order-items-panel h2 {
  margin: 0 0 18px;
  font-size: 22px;
}

body.woocommerce-order-received .nx-order-item-list {
  display: grid;
  border-top: 1px solid #edf0f4;
}

body.woocommerce-order-received .nx-order-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #edf0f4;
}

body.woocommerce-order-received .nx-order-item-image img {
  width: 82px;
  height: 82px;
  object-fit: contain;
  border: 1px solid #edf0f4;
  border-radius: 8px;
  background: #fff;
}

body.woocommerce-order-received .nx-order-item h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

body.woocommerce-order-received .nx-order-item-main span,
body.woocommerce-order-received .nx-order-item-meta {
  color: #667085;
  font-size: 14px;
}

body.woocommerce-order-received .nx-order-item-meta ul,
body.woocommerce-order-received .nx-order-item-meta p {
  margin: 0;
}

body.woocommerce-order-received .nx-order-item > strong {
  color: #111827;
  font-size: 16px;
  white-space: nowrap;
}

body.woocommerce-order-received .nx-order-totals {
  display: grid;
  justify-content: end;
  margin-top: 10px;
}

body.woocommerce-order-received .nx-order-totals > div {
  display: grid;
  grid-template-columns: 180px 180px;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f4;
  color: #667085;
  font-size: 14px;
}

body.woocommerce-order-received .nx-order-totals strong {
  color: #111827;
  text-align: right;
}

body.woocommerce-order-received .nx-order-totals > div:last-child strong {
  color: #ef4444;
  font-size: 22px;
}

body.woocommerce-order-received .nxpp-payment-card {
  padding: 22px !important;
}
@media (max-width: 720px) {
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-checkout .woocommerce-notices-wrapper,
  body.woocommerce-order-received .woocommerce-notices-wrapper,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-order-received .woocommerce,
  body.woocommerce-order-received .page-content,
  body.woocommerce-order-received .entry-content {
    width: min(calc(100% - 22px), 1040px) !important;
  }
  body.woocommerce-order-received ul.woocommerce-thankyou-order-details {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
  body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-order-received .nx-order-track-head,
  body.woocommerce-order-received .nx-order-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  body.woocommerce-order-received .nx-order-status-track {
    grid-template-columns: repeat(5, 132px);
    overflow-x: auto;
    padding: 34px 18px 28px;
  }
  body.woocommerce-order-received .nx-order-status-track::before,
  body.woocommerce-order-received .nx-order-status-track::after {
    top: 64px;
    left: 84px;
    right: auto;
    width: 548px;
  }
  body.woocommerce-order-received .nx-order-status-icon {
    width: 56px;
    height: 56px;
    font-size: 22px;
  }
  body.woocommerce-order-received .nx-order-status-step strong {
    font-size: 13px;
  }
  body.woocommerce-order-received .nx-order-actions--right {
    justify-content: stretch;
  }
  body.woocommerce-order-received .nx-order-primary,
  body.woocommerce-order-received .nx-order-secondary,
  body.woocommerce-order-received .nx-order-danger {
    width: 100%;
    min-width: 0;
  }
  body.woocommerce-order-received .nx-order-address-grid,
  body.woocommerce-order-received .nx-order-top-address-grid {
    grid-template-columns: 1fr;
  }
  body.woocommerce-order-received .nx-order-item {
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: start;
  }
  body.woocommerce-order-received .nx-order-item-image img {
    width: 70px;
    height: 70px;
  }
  body.woocommerce-order-received .nx-order-item > strong {
    grid-column: 2;
    justify-self: start;
  }
  body.woocommerce-order-received .nx-order-totals {
    justify-content: stretch;
  }
  body.woocommerce-order-received .nx-order-totals > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.woocommerce-order-received .woocommerce-notice,
  body.woocommerce-order-received .woocommerce-thankyou-order-details,
  body.woocommerce-order-received .nx-promptpay-order-card,
  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-order-received .woocommerce-bacs-bank-details,
  .nx-empty-cart {
    padding: 18px !important;
    border-radius: 14px !important;
  }
  body.woocommerce-order-received table.shop_table th,
  body.woocommerce-order-received table.shop_table td {
    padding: 11px 10px !important;
    font-size: 13px !important;
  }
  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    margin-inline: 10px !important;
    font-size: 14px !important;
  }
  body.woocommerce-shop ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price,
  body.tax-product_tag ul.products li.product .price {
    margin-inline: 10px !important;
    font-size: 15px !important;
  }
  body.single-product .nx-gallery-nav {
    width: 36px !important;
    height: 36px !important;
    font-size: 26px !important;
  }
  body.single-product .nx-gallery-dialog {
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    padding: 54px 46px !important;
    border-radius: 0 !important;
  }
  body.single-product .nx-gallery-dialog-nav {
    width: 38px !important;
    height: 38px !important;
    font-size: 28px !important;
  }
}
@media (max-width: 460px) {
  body.woocommerce-cart .nx-cart-coupon__row {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-cart .nx-cart-coupon button {
    width: 100% !important;
  }
}
@media (max-width: 820px) {
  body.woocommerce-checkout .nx-real-checkout {
    width: min(calc(100% - 22px), var(--nx-container, 1280px)) !important;
    padding-top: 18px !important;
  }
}

/* v2.2: marketplace-style My Account */
body.woocommerce-account {
  background: #f5f5f5;
  --nx-account-blue: #1683e8;
  --nx-account-blue-dark: #0b5cab;
  --nx-account-blue-soft: #eaf5ff;
  --nx-account-blue-border: #cfe8ff;
}

body.woocommerce-account .site-main,
body.woocommerce-account .page-content,
body.woocommerce-account .entry-content,
body.woocommerce-account .woocommerce {
  width: min(calc(100% - 32px), 1180px);
  max-width: 1180px;
  margin-inline: auto;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-account.logged-in .woocommerce {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.nx-account-sidebar {
  position: sticky;
  top: 92px;
  padding-top: 10px;
}

.nx-account-profile-mini {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 0 18px;
  border-bottom: 1px solid #e6e6e6;
}

.nx-account-profile-mini strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-size: 14px;
}

.nx-account-profile-mini a {
  color: #7b7f86;
  font-size: 12px;
}

.nx-account-avatar {
  width: 46px;
  height: 46px;
  overflow: hidden;
  border: 1px solid #e4e7ec;
  border-radius: 50%;
  background: #fff;
}

.nx-account-avatar--large {
  width: 118px;
  height: 118px;
}

.nx-account-avatar img,
.nx-account-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: auto;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 1px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 32px;
  color: #111827;
  font-size: 13px;
  line-height: 1.25;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a span {
  color: var(--nx-account-blue);
  text-align: center;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active > a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: var(--nx-account-blue);
}

body.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
}

.nx-account-panel {
  min-height: 320px;
  background: #fff;
  border: 1px solid #ededed;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.nx-account-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 28px;
  border-bottom: 1px solid #edf0f4;
}

.nx-account-panel-head h2 {
  margin: 0 0 4px;
  color: #111827;
  font-size: 20px;
  font-weight: 600;
}

.nx-account-panel-head p {
  margin: 0;
  color: #7b7f86;
  font-size: 13px;
}

.nx-account-profile-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 28px;
  padding: 28px;
}

.nx-account-profile-main {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.nx-account-profile-main dl {
  display: grid;
  gap: 16px;
  margin: 0;
}

.nx-account-profile-main dl div {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.nx-account-profile-main dt {
  color: #667085;
  font-size: 14px;
}

.nx-account-profile-main dd {
  margin: 0;
  color: #111827;
  font-size: 14px;
}

.nx-account-quicklinks {
  display: grid;
  align-content: start;
  gap: 8px;
}

.nx-account-quicklinks a,
.nx-account-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #d8dde6;
  background: #fff;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.nx-account-btn--primary {
  border-color: var(--nx-account-blue);
  background: var(--nx-account-blue);
  color: #fff;
}

.nx-account-recent {
  padding: 0 28px 28px;
}

.nx-account-recent h3 {
  margin: 0 0 14px;
  font-size: 17px;
}

.nx-order-tabs {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-height: 54px;
  border-bottom: 1px solid #edf0f4;
  background: #fff;
}

.nx-order-tabs a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 10px;
  color: #111827;
  font-size: 14px;
  text-align: center;
}

.nx-order-tabs a > span {
  min-width: 0;
}

.nx-order-tab-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #f04438;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.nx-order-tabs a.is-active {
  color: var(--nx-account-blue);
}

.nx-order-tabs a.is-active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--nx-account-blue);
}

.nx-order-search {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  margin: 12px 0;
  background: #f0f1f3;
}

.nx-order-search span {
  color: #9aa1ad;
  text-align: center;
  font-size: 22px;
}

.nx-order-search input {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #111827;
  font-size: 13px;
}

.nx-account-orders-list {
  display: grid;
  gap: 10px;
  background: #f5f5f5;
}

.nx-account-order-card {
  background: #fff;
  border: 1px solid #edf0f4;
}

.nx-account-order-card--cancelled,
.nx-account-order-card--failed {
  border-color: rgba(239, 68, 68, .78);
  background: #fff6f6;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, .18), 0 0 22px rgba(239, 68, 68, .26);
}

.nx-account-order-store {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--nx-account-blue-dark);
  background: var(--nx-account-blue-dark);
  color: #fff;
  font-size: 13px;
}

.nx-account-order-card--cancelled .nx-account-order-store,
.nx-account-order-card--failed .nx-account-order-store {
  border-bottom-color: #b91c1c;
  background: linear-gradient(90deg, #b91c1c, #ef4444);
  box-shadow: 0 0 18px rgba(239, 68, 68, .55);
}

.nx-account-order-card--cancelled .nx-account-order-items,
.nx-account-order-card--cancelled .nx-account-order-foot,
.nx-account-order-card--failed .nx-account-order-items,
.nx-account-order-card--failed .nx-account-order-foot {
  background: #fff6f6;
}

.nx-account-order-store span {
  color: #fff;
  font-weight: 700;
}

.nx-account-order-items {
  display: grid;
}

.nx-account-order-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px 20px;
  border-bottom: 1px solid #edf0f4;
}

.nx-account-order-thumb {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 1px solid #edf0f4;
  background: #fff;
}

.nx-account-order-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nx-account-order-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.nx-account-order-copy a {
  overflow: hidden;
  color: #111827;
  font-size: 14px;
  line-height: 1.45;
  text-overflow: ellipsis;
}

.nx-account-order-copy small,
.nx-account-order-copy b,
.nx-account-order-foot small {
  color: #667085;
  font-size: 12px;
  font-weight: 400;
}

.nx-account-order-item > strong {
  color: #111827;
  font-size: 13px;
  white-space: nowrap;
}

.nx-account-order-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 20px 20px;
}

.nx-account-order-foot > div {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 10px;
  color: #111827;
}

.nx-account-order-foot > div strong {
  color: var(--nx-account-blue);
  font-size: 22px;
  font-weight: 500;
}

.nx-account-order-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.nx-account-order-loader,
.nx-account-empty {
  margin: 18px 0;
  padding: 34px 28px;
  border: 1px solid #edf0f4;
  background: #fff;
  color: #667085;
  text-align: center;
}

.nx-account-form {
  padding: 28px;
}

.nx-account-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.nx-account-form label,
.nx-account-form .form-row {
  display: grid;
  gap: 7px;
  margin: 0 !important;
  color: #667085;
  font-size: 14px;
}

.nx-account-form input,
.nx-account-form select,
.nx-account-form textarea {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d8dde6;
  background: #fff;
  color: #111827;
}

.nx-account-form fieldset {
  display: grid;
  gap: 16px;
  margin: 28px 0 0;
  padding: 22px;
  border: 1px solid #edf0f4;
}

.nx-account-form legend {
  padding: 0 8px;
  color: #111827;
  font-weight: 600;
}

.nx-address-card-grid {
  display: grid;
  gap: 0;
  padding: 10px 28px 28px;
}

.nx-address-card {
  padding: 22px 0;
  border-bottom: 1px solid #edf0f4;
}

.nx-address-card header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.nx-address-card h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.nx-address-card a {
  color: #1a73e8;
  font-size: 13px;
}

.nx-address-card address {
  color: #111827;
  font-style: normal;
  line-height: 1.65;
}

.nx-account-address-list {
  display: grid;
  padding: 6px 26px 26px;
  background: #fff;
}

.nx-account-saved-address {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid #edf0f4;
}

.nx-account-saved-address:last-child {
  border-bottom: 0;
}

.nx-account-address-radio {
  width: 14px;
  height: 14px;
  border: 1px solid #9aa1ad;
  border-radius: 50%;
  background: #fff;
}

.nx-account-saved-address.is-default .nx-account-address-radio {
  border-color: var(--nx-account-blue);
  box-shadow: inset 0 0 0 3px #fff;
  background: var(--nx-account-blue);
}

.nx-account-address-body {
  min-width: 0;
}

.nx-account-address-body h3 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin: 0 0 3px;
  color: #111827;
  font-size: 18px;
  line-height: 1.35;
}

.nx-account-address-body em {
  color: #1683e8;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
}

.nx-account-address-body p,
.nx-account-address-body small {
  display: block;
  margin: 0 0 3px;
  color: #667085;
  font-size: 14px;
  line-height: 1.45;
}

.nx-account-address-body p:nth-of-type(2) {
  color: #111827;
  font-size: 16px;
}

.nx-account-address-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}

.nx-account-address-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid var(--nx-account-blue);
  color: var(--nx-account-blue);
  font-size: 12px;
}

.nx-account-saved-address nav {
  display: flex;
  gap: 14px;
}

.nx-account-saved-address nav button {
  border: 0;
  background: transparent;
  color: #1683e8;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.nx-account-empty-card {
  margin: 20px 0 0;
  padding: 34px 28px;
  border: 1px solid #edf0f4;
  background: #fff;
  text-align: center;
}

.nx-account-empty-card h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 18px;
}

.nx-account-empty-card p {
  margin: 0;
  color: #667085;
  font-size: 14px;
}

.nx-account-address-dialog {
  width: min(94vw, 640px);
  max-height: 88vh;
  padding: 0;
  border: 0;
  background: #fff;
  box-shadow: 0 22px 70px rgba(15, 23, 42, .28);
}

.nx-account-address-dialog::backdrop {
  background: rgba(15, 23, 42, .58);
}

.nx-account-address-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 0 24px;
  border-bottom: 1px solid #edf0f4;
}

.nx-account-address-dialog h3 {
  margin: 0;
  color: #111827;
  font-size: 22px;
}

.nx-account-address-dialog > header button {
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #111827;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.nx-account-address-form {
  display: grid;
  gap: 14px;
  max-height: calc(88vh - 57px);
  padding: 22px 26px 26px;
  overflow: auto;
}

.nx-account-address-row {
  display: grid;
  gap: 14px;
}

.nx-account-address-row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nx-account-address-row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nx-account-address-form label {
  display: grid;
  gap: 6px;
  color: #667085;
  font-size: 13px;
}

.nx-account-address-form input {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d8dde6;
  background: #fff;
  color: #111827;
}

.nx-account-address-form .nx-account-check {
  display: flex;
  grid-template-columns: none;
  gap: 8px;
  align-items: center;
  color: #111827;
}

.nx-account-address-form .nx-account-check input {
  width: 16px;
  min-height: 16px;
}

.nx-account-address-form footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 4px;
}

.nx-account-pay-dialog {
  width: min(94vw, 620px);
  max-height: 88vh;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(15, 23, 42, .28);
  overflow: hidden;
}

.nx-account-pay-dialog::backdrop {
  background: rgba(15, 23, 42, .58);
}

.nx-account-pay-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 24px;
  background: var(--nx-account-blue-dark);
  color: #fff;
}

.nx-account-pay-dialog h3 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 22px;
  line-height: 1.3;
}

.nx-account-pay-dialog p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
  line-height: 1.55;
}

.nx-account-pay-dialog > header button {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.nx-account-pay-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  border-bottom: 1px solid #edf0f4;
  background: #fbfcfe;
}

.nx-account-pay-total span {
  color: #667085;
  font-size: 14px;
}

.nx-account-pay-total strong {
  color: var(--nx-account-blue);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.nx-account-pay-methods {
  display: grid;
  gap: 10px;
  max-height: 42vh;
  padding: 18px 24px;
  overflow: auto;
}

.nx-account-pay-method {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 76px;
  padding: 12px;
  border: 1px solid #d8dde6;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.nx-account-pay-method:hover {
  border-color: var(--nx-account-blue);
  background: #f4f9ff;
  transform: translateY(-1px);
}

.nx-account-pay-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid var(--nx-account-blue-border);
  border-radius: 8px;
  background: var(--nx-account-blue-soft);
  color: var(--nx-account-blue);
  font-size: 24px;
  font-weight: 800;
}

.nx-account-pay-icon img {
  max-width: 42px;
  max-height: 34px;
  object-fit: contain;
}

.nx-account-pay-method strong {
  display: block;
  margin-bottom: 3px;
  color: #111827;
  font-size: 16px;
}

.nx-account-pay-method small {
  display: -webkit-box;
  overflow: hidden;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.nx-account-pay-dialog > footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 16px 24px 22px;
  border-top: 1px solid #edf0f4;
}

@media (max-width: 860px) {
  body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr;
  }
  .nx-account-sidebar {
    position: static;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nx-order-tabs {
    display: flex;
    overflow-x: auto;
  }
  .nx-order-tabs a {
    min-width: 132px;
  }
  .nx-account-profile-card,
  .nx-account-profile-main,
  .nx-account-form-grid {
    grid-template-columns: 1fr;
  }
  .nx-account-order-item {
    grid-template-columns: 70px minmax(0, 1fr);
  }
  .nx-account-order-thumb {
    width: 70px;
    height: 70px;
  }
  .nx-account-order-item > strong {
    grid-column: 2;
  }
  .nx-account-order-foot {
    grid-template-columns: 1fr;
  }
  .nx-account-order-actions,
  .nx-account-order-foot > div {
    justify-content: stretch;
  }
  .nx-account-order-actions {
    flex-direction: column;
  }
  .nx-account-saved-address {
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
  }
  .nx-account-saved-address nav {
    grid-column: 2;
  }
  .nx-account-address-row,
  .nx-account-address-row--2,
  .nx-account-address-row--3 {
    grid-template-columns: 1fr;
  }
  .nx-account-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .nx-account-pay-total,
  .nx-account-pay-dialog > footer {
    align-items: stretch;
    flex-direction: column;
  }
  .nx-account-pay-dialog > footer .nx-account-btn {
    width: 100%;
  }
}

/* My Account order detail: reuse the thank-you order cards inside account pages. */
body.woocommerce-account .nx-account-view-order {
  display: grid;
  gap: 18px;
}

body.woocommerce-account .nx-account-view-order .nx-order-track-card,
body.woocommerce-account .nx-account-view-order .nx-order-panel {
  width: 100%;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(17, 24, 39, .06);
  overflow: hidden;
}

body.woocommerce-account .nx-account-view-order .nx-order-track-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--nx-account-blue-dark);
  background: var(--nx-account-blue-dark);
  color: #fff;
}

body.woocommerce-account .nx-account-view-order .nx-order-back {
  color: #fff;
  font-size: 15px;
  text-decoration: none;
}

body.woocommerce-account .nx-account-view-order .nx-order-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
  font-size: 15px;
}

body.woocommerce-account .nx-account-view-order .nx-order-heading b {
  color: #fff;
  font-weight: 700;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-track {
  --nx-step: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 42px 34px 34px;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-track::before {
  content: "";
  position: absolute;
  top: 72px;
  left: 88px;
  right: 88px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(to right, var(--nx-account-blue) 0 var(--nx-progress), #dedede var(--nx-progress) 100%);
}

body.woocommerce-account .nx-account-view-order .nx-order-status-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #a3a8ae;
  text-align: center;
  font-size: 14px;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 4px solid #dedede;
  border-radius: 50%;
  background: #fff;
  color: #b8bdc3;
  font-size: 25px;
  font-weight: 700;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-step strong {
  color: #121826;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-step small {
  color: #a3a8ae;
  font-size: 13px;
}

body.woocommerce-account .nx-account-view-order .nx-order-status-step.is-done .nx-order-status-icon,
body.woocommerce-account .nx-account-view-order .nx-order-status-step.is-current .nx-order-status-icon {
  border-color: var(--nx-account-blue);
  color: var(--nx-account-blue);
}

body.woocommerce-account .nx-account-view-order .nx-order-status-step.is-current .nx-order-status-icon {
  background: var(--nx-account-blue);
  color: #fff;
}

body.woocommerce-account .nx-account-view-order .nx-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.woocommerce-account .nx-account-view-order .nx-order-actions--right {
  justify-content: flex-end;
  padding: 18px 24px;
}

body.woocommerce-account .nx-account-view-order .nx-order-primary,
body.woocommerce-account .nx-account-view-order .nx-order-secondary,
body.woocommerce-account .nx-account-view-order .nx-order-danger {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  min-height: 42px;
  padding: 0 22px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.woocommerce-account .nx-account-view-order .nx-order-primary {
  border: 1px solid var(--nx-account-blue) !important;
  background: var(--nx-account-blue) !important;
  color: #fff !important;
}

body.woocommerce-account .nx-account-view-order .nx-order-secondary {
  border: 1px solid #d8dde6 !important;
  background: #fff !important;
  color: #111827 !important;
}

body.woocommerce-account .nx-account-view-order .nx-order-danger {
  border: 1px solid #d8dde6 !important;
  background: #fff !important;
  color: #b42318 !important;
}

body.woocommerce-account .nx-account-view-order .nx-order-summary-panel,
body.woocommerce-account .nx-account-view-order .nx-order-items-panel,
body.woocommerce-account .nx-account-view-order .nx-order-panel--empty {
  padding: 22px;
}

body.woocommerce-account .nx-account-view-order .nx-order-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

body.woocommerce-account .nx-account-view-order .nx-order-summary-grid > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e5e7eb;
  border-radius: 9px;
  background: #fbfcfe;
}

body.woocommerce-account .nx-account-view-order .nx-order-summary-grid > div > span {
  display: block;
  margin-bottom: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #667085;
  font-size: 13px;
}

body.woocommerce-account .nx-account-view-order .nx-order-summary-grid strong {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
}

body.woocommerce-account .nx-account-view-order .nx-order-top-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card {
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fbfcfe;
  overflow: hidden;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 0 44px 0 16px;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card summary::-webkit-details-marker {
  display: none;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  color: var(--nx-account-blue);
  font-size: 22px;
  font-weight: 700;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card[open] summary::after {
  content: "-";
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card address {
  margin: 0;
  padding: 0 16px 18px;
  border: 0 !important;
  background: transparent !important;
  color: #111827;
  line-height: 1.7;
}

body.woocommerce-account .nx-account-view-order .nx-order-address-card a {
  color: #111827;
  text-decoration: none;
}

body.woocommerce-account .nx-account-view-order .nx-order-items-panel h2 {
  margin: 0 0 18px;
  font-size: 22px;
}

body.woocommerce-account .nx-account-view-order .nx-order-item-list {
  display: grid;
  border-top: 1px solid #edf0f4;
}

body.woocommerce-account .nx-account-view-order .nx-order-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #edf0f4;
}

body.woocommerce-account .nx-account-view-order .nx-order-item-image img {
  width: 82px;
  height: 82px;
  object-fit: contain;
  border: 1px solid #edf0f4;
  border-radius: 8px;
  background: #fff;
}

body.woocommerce-account .nx-account-view-order .nx-order-item h3 {
  margin: 0 0 6px;
  color: #111827;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

body.woocommerce-account .nx-account-view-order .nx-order-item-main span,
body.woocommerce-account .nx-account-view-order .nx-order-item-meta {
  color: #667085;
  font-size: 14px;
}

body.woocommerce-account .nx-account-view-order .nx-order-item-meta ul,
body.woocommerce-account .nx-account-view-order .nx-order-item-meta p {
  margin: 0;
}

body.woocommerce-account .nx-account-view-order .nx-order-item > strong {
  color: #111827;
  font-size: 16px;
  white-space: nowrap;
}

body.woocommerce-account .nx-account-view-order .nx-order-totals {
  display: grid;
  justify-content: end;
  margin-top: 10px;
}

body.woocommerce-account .nx-account-view-order .nx-order-totals > div {
  display: grid;
  grid-template-columns: 180px 180px;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f4;
  color: #667085;
  font-size: 14px;
}

body.woocommerce-account .nx-account-view-order .nx-order-totals strong {
  color: #111827;
  text-align: right;
}

body.woocommerce-account .nx-account-view-order .nx-order-totals > div:last-child strong {
  color: var(--nx-account-blue);
  font-size: 22px;
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-track-card,
body.woocommerce-account .nx-account-view-order--cancelled .nx-order-panel,
body.woocommerce-account .nx-account-view-order--failed .nx-order-track-card,
body.woocommerce-account .nx-account-view-order--failed .nx-order-panel {
  border: 1px solid rgba(239, 68, 68, .78);
  background: #fff6f6;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, .16), 0 0 26px rgba(239, 68, 68, .26);
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-track-head,
body.woocommerce-account .nx-account-view-order--failed .nx-order-track-head {
  border-bottom-color: #b91c1c;
  background: linear-gradient(90deg, #b91c1c, #ef4444);
  box-shadow: 0 0 18px rgba(239, 68, 68, .55);
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-status-track::before,
body.woocommerce-account .nx-account-view-order--failed .nx-order-status-track::before {
  background: linear-gradient(to right, #ef4444 0 var(--nx-progress), #fecaca var(--nx-progress) 100%);
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-status-step.is-done .nx-order-status-icon,
body.woocommerce-account .nx-account-view-order--cancelled .nx-order-status-step.is-current .nx-order-status-icon,
body.woocommerce-account .nx-account-view-order--failed .nx-order-status-step.is-done .nx-order-status-icon,
body.woocommerce-account .nx-account-view-order--failed .nx-order-status-step.is-current .nx-order-status-icon {
  border-color: #ef4444;
  color: #ef4444;
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-status-step.is-current .nx-order-status-icon,
body.woocommerce-account .nx-account-view-order--failed .nx-order-status-step.is-current .nx-order-status-icon {
  background: #ef4444;
  color: #fff;
}

body.woocommerce-account .nx-account-view-order--cancelled .nx-order-summary-grid > div,
body.woocommerce-account .nx-account-view-order--cancelled .nx-order-address-card,
body.woocommerce-account .nx-account-view-order--cancelled .nx-order-item,
body.woocommerce-account .nx-account-view-order--failed .nx-order-summary-grid > div,
body.woocommerce-account .nx-account-view-order--failed .nx-order-address-card,
body.woocommerce-account .nx-account-view-order--failed .nx-order-item {
  border-color: rgba(239, 68, 68, .22);
  background: #fffafa;
}

@media (max-width: 860px) {
  body.woocommerce-account .nx-account-view-order .nx-order-track-head,
  body.woocommerce-account .nx-account-view-order .nx-order-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-status-track {
    grid-template-columns: repeat(5, 132px);
    overflow-x: auto;
    padding: 34px 18px 28px;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-status-track::before {
    top: 64px;
    left: 84px;
    right: auto;
    width: 548px;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-actions--right {
    justify-content: stretch;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-primary,
  body.woocommerce-account .nx-account-view-order .nx-order-secondary,
  body.woocommerce-account .nx-account-view-order .nx-order-danger {
    width: 100%;
    min-width: 0;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-summary-grid,
  body.woocommerce-account .nx-account-view-order .nx-order-top-address-grid {
    grid-template-columns: 1fr;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-item {
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: start;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-item-image img {
    width: 70px;
    height: 70px;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-item > strong {
    grid-column: 2;
    justify-self: start;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-totals {
    justify-content: stretch;
  }
  body.woocommerce-account .nx-account-view-order .nx-order-totals > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
/* v2.3 Mini cart drawer */
.nx-cart-drawer{width:min(420px,100%);background:#fff}.nx-cart-drawer .nx-drawer-head{min-height:64px;padding:14px 18px;border-bottom:0}.nx-cart-drawer .eyebrow{display:none}.nx-cart-drawer .nx-drawer-head h2{margin:0;color:#111827;font-size:17px;font-weight:800;letter-spacing:0}.nx-cart-drawer .nx-panel-close{color:#1f2937}.nx-mini-cart-ready{min-height:0;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto auto;background:#fff;color:#111827;font-size:14px;line-height:1.45}.nx-mini-cart-list{min-height:0;overflow:auto;padding:0 16px 18px}.nx-mini-cart-item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;padding:8px 0 16px}.nx-mini-cart-remove{position:absolute;top:3px;left:-8px;z-index:2;display:grid;place-items:center;width:16px;height:16px;border:1px solid #cfd6df;border-radius:999px;background:#f5f7fb;color:#111827;font-size:13px;line-height:1}.nx-mini-cart-thumb{display:grid;place-items:center;width:64px;height:64px;border:1px solid #dbe2ea;border-radius:6px;overflow:hidden;background:#fff}.nx-mini-cart-thumb img{width:100%;height:100%;object-fit:contain}.nx-mini-cart-info{min-width:0;display:grid;gap:10px}.nx-mini-cart-name{display:-webkit-box;overflow:hidden;color:#111827;font-size:15px;font-weight:800;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nx-mini-cart-qty{display:inline-grid;grid-template-columns:30px 32px 30px;width:max-content;height:26px;border:1px solid #dfe4eb;border-radius:6px;overflow:hidden;background:#fff}.nx-mini-cart-qty a,.nx-mini-cart-qty span{display:grid;place-items:center;min-width:0;color:#1f2937;font-size:15px;line-height:1}.nx-mini-cart-qty a{background:#fbfcfe;color:#6b7280}.nx-mini-cart-price{display:grid;justify-items:end;gap:2px;min-width:88px;text-align:right;white-space:nowrap}.nx-mini-cart-price del{color:#111827;font-size:12px}.nx-mini-cart-price strong{color:#111827;font-size:14px;font-weight:500}.nx-mini-cart-price small{color:#16a34a;font-size:12px}.nx-mini-cart-coupon{border-top:1px solid #e5e7eb;background:#fff}.nx-mini-cart-coupon summary{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 18px;color:#111827;font-size:14px;font-weight:800;cursor:pointer;list-style:none}.nx-mini-cart-coupon summary::-webkit-details-marker{display:none}.nx-mini-cart-coupon[open] summary b{transform:rotate(180deg)}.nx-mini-cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) 70px;padding:0 18px 12px}.nx-mini-cart-coupon-form input{width:100%;min-height:36px;padding:0 12px;border:1px solid #0b7fd0;border-right:0;border-radius:7px 0 0 7px;outline:0;font-size:13px}.nx-mini-cart-coupon-form button{min-height:36px;border:1px solid #0b7fd0;border-radius:0 7px 7px 0;background:#087dcc;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.nx-mini-cart-summary{padding:17px 18px 16px;border-top:1px solid #e5e7eb;background:#fff}.nx-mini-cart-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:2px;font-size:14px;font-weight:800}.nx-mini-cart-summary>div strong{font-size:15px;font-weight:800}.nx-mini-cart-summary p{margin:0 0 18px;color:#111827;font-size:12px;line-height:1.35}.nx-mini-cart-checkout{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;border-radius:3px;background:#087dcc;color:#fff;font-size:16px;font-weight:800;text-align:center}.nx-mini-cart-checkout:hover{background:#056bad;color:#fff}.nx-mini-cart-continue,.nx-mini-cart-empty a{display:flex;justify-content:center;margin-top:11px;color:#667085;font-size:13px;font-weight:600}.nx-mini-cart-empty{display:grid;place-items:center;align-content:center;min-height:360px;padding:30px;color:#667085;text-align:center}@media(max-width:520px){.nx-cart-drawer{width:min(100%,421px)}.nx-mini-cart-item{grid-template-columns:64px minmax(0,1fr) auto;gap:11px}.nx-mini-cart-price{min-width:76px}}.header-actions .nexticoatx-bell{display:inline-grid;color:#fff}.header-actions .nexticoatx-bell:hover{background:rgba(255,255,255,.12)}@media(max-width:820px){.header-actions .nx-account-button{display:none}.header-actions .nexticoatx-bell{display:inline-grid!important}.header-actions .nx-icon-button:first-child,.header-actions .nx-icon-button:nth-child(2){display:inline-grid}}
.header-actions .nx-account-button{display:inline-grid}
@media(max-width:820px){.header-actions .nx-account-button{display:none!important}.header-actions .nexticoatx-bell{display:inline-grid!important}}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.1em !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
}

.site-footer,
.site-footer p,
.site-footer a,
.site-footer h2,
.site-footer .widget,
.site-footer .widget-title,
.site-footer .footer-brand,
.footer-bottom {
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.25 !important;
}

@media (min-width: 1025px) {
  .site-footer .footer-grid,
  .site-footer .footer-grid.footer-grid--widgets {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

.primary-nav,
.primary-nav.nx-menu-drilldown,
.primary-nav.nx-menu-drilldown .nx-mobile-nav-head,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-stage,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel,
.primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-head,
.primary-menu {
  background: #f3f4f6 !important;
}

/* Desktop-only gallery tuning: make the main product image feel less cramped
   without changing the mobile presentation. */
@media (min-width: 1025px) {
  .single-product {
    --nx-gallery-height: 580px;
  }

  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery .flex-viewport,
  .single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image a {
    height: var(--nx-gallery-height, 580px) !important;
    min-height: var(--nx-gallery-height, 580px) !important;
  }

  .single-product .woocommerce-product-gallery__image img:not(.zoomImg),
  .single-product .woocommerce-product-gallery__wrapper.nx-gallery-ready .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(var(--nx-gallery-height, 580px) - 24px) !important;
    object-fit: contain !important;
  }
}

@media (min-width: 861px) {
  body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 184px minmax(0, 1fr) !important;
  }

  body.woocommerce-account .nx-account-sidebar,
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    display: block !important;
  }
}

@media (max-width: 860px) {
  body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-account .nx-account-sidebar,
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    display: none !important;
  }
}

body.nx-confirm-payment-page .entry-content {
  width: min(calc(100% - 32px), 1040px);
  margin: 56px auto 72px;
  padding: 28px 32px 32px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}

body.nx-confirm-payment-page .entry-content > h1,
body.nx-confirm-payment-page .entry-content > h2,
body.nx-confirm-payment-page .entry-content > h3 {
  margin: 0 0 22px;
  color: #111827;
  font-size: 26px;
  font-weight: 800;
  line-height: 1.25;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] {
  margin: 0;
  color: #111827;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 30px;
  margin: 0;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-group,
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-col-2 {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  flex: none;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-group:not(.wcp-col-2),
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-summary {
  grid-column: 1 / -1;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-label {
  margin: 0 0 7px;
  color: #1f2937;
  font-size: 14px;
  font-weight: 700;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-control {
  display: block;
  width: 100%;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid #cfd8e3;
  border-radius: 8px;
  background: #fff;
  color: #111827;
  font: inherit;
  line-height: 1.35;
  box-sizing: border-box;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] input[type="file"].wcp-form-control {
  height: auto;
  min-height: 46px;
  padding: 10px 13px;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-payment-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border: 1px solid #dbe7f5;
  border-radius: 10px;
  background: #f8fbff;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-payment-summary > div {
  min-width: 0;
  padding: 12px 14px;
  border-radius: 8px;
  background: #fff;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-payment-summary span {
  display: block;
  margin-bottom: 4px;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-payment-summary strong {
  display: block;
  color: #111827;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-input-radio,
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-account-detail-item,
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-account-detail-item ul {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-account-bank {
  display: grid;
  grid-template-columns: auto 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 72px;
  padding: 13px 15px;
  border: 1px solid #d5dce8;
  border-radius: 10px;
  background: #fbfcfe;
  color: #111827;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] li.wcp-account-bank img {
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 6px;
  border-radius: 999px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 3px 10px rgba(15, 23, 42, .08);
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-slip-preview {
  display: block;
  width: 100px;
  height: 120px;
  max-width: 100%;
  margin-top: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f8fafc;
  object-fit: cover;
  cursor: zoom-in;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-slip-preview[hidden] {
  display: none;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-response,
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-actions {
  grid-column: 1 / -1;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 8px;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-confirm,
body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-confirm {
  border: 1px solid #1683e8;
  background: #1683e8;
  color: #fff;
}

body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-back {
  border: 1px solid #cfd8e3;
  background: #fff;
  color: #111827;
}

@media (max-width: 720px) {
  body.nx-confirm-payment-page .entry-content {
    width: min(calc(100% - 22px), 1040px);
    margin: 26px auto 48px;
    padding: 20px 16px 22px;
    border-radius: 10px;
  }

  body.nx-confirm-payment-page .entry-content > h1,
  body.nx-confirm-payment-page .entry-content > h2,
  body.nx-confirm-payment-page .entry-content > h3 {
    font-size: 23px;
  }

  body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-inner,
  body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-payment-summary {
    grid-template-columns: 1fr;
  }

  body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-form-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-confirm,
  body.nx-confirm-payment-page .wcp-form[data-wcp-confirm-form] .wcp-button-back {
    width: 100%;
  }
}
.nx-cart-drawer .nx-mini-cart-quote-form{margin:8px 0 0}.nx-cart-drawer .nx-mini-cart-quote{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:40px;border:0;border-radius:3px;background:#e11d48;color:#fff;font-size:16px;font-weight:800;text-align:center;cursor:pointer}.nx-cart-drawer .nx-mini-cart-quote:hover{background:#be123c;color:#fff}
/* Farmdii visual refresh */
:root {
  --farmdii-green: #0b7a3b;
  --farmdii-green-dark: #073f25;
  --farmdii-green-soft: #eaf6ec;
  --farmdii-orange: #f26419;
  --farmdii-ink: #111827;
  --farmdii-muted: #5f6f63;
  --farmdii-line: #dbe9de;
}

body {
  background: #f5faf4;
  color: var(--farmdii-ink);
}

.site-header {
  background: var(--farmdii-green) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.custom-logo {
  max-width: 168px;
  object-fit: contain;
}

.nx-header-search input {
  color: var(--farmdii-ink);
}

.cart-count {
  background: var(--farmdii-orange);
  color: #fff;
}

.eyebrow {
  color: var(--farmdii-green);
  font-weight: 900;
  letter-spacing: .12em;
}

.nx-button {
  border-radius: 999px;
}

.nx-button-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--farmdii-green) !important;
  color: #fff !important;
}

.nx-button-primary:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--farmdii-green-dark) !important;
}

.nx-button-secondary {
  border: 1px solid var(--farmdii-green);
  background: #fff;
  color: var(--farmdii-green);
}

.nx-text-link {
  color: var(--farmdii-green);
}

.section-muted {
  background: #eef7ef;
}

.farmdii-home .section-heading h2,
.farmdii-home .nx-split-heading h2,
.farmdii-about h2,
.farmdii-cta h2 {
  color: var(--farmdii-ink);
  letter-spacing: 0;
}

.farmdii-hero {
  position: relative;
  min-height: clamp(440px, 36vw, 540px);
  display: grid;
  align-items: center;
  overflow: hidden;
  background-color: #f7fbf5;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 33%, rgba(255,255,255,.28) 58%, rgba(255,255,255,0) 100%),
    var(--farmdii-hero-image) calc(50% + clamp(210px, 19vw, 330px)) center / clamp(430px, 38vw, 640px) auto no-repeat;
}

.farmdii-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 110px;
  background: linear-gradient(180deg, rgba(245,250,244,0), #f5faf4);
  pointer-events: none;
}

.farmdii-hero__grid {
  position: relative;
  z-index: 1;
}

.farmdii-hero__copy {
  max-width: 650px;
  padding: clamp(56px, 5vw, 78px) 0 clamp(70px, 7vw, 96px);
}

.farmdii-hero h1 {
  margin: 12px 0 18px;
  color: var(--farmdii-ink);
  font-size: clamp(42px, 5vw, 76px);
  line-height: 1.02;
  letter-spacing: 0;
}

.farmdii-hero p {
  max-width: 590px;
  margin: 0 0 12px;
  color: #253128;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.55;
}

.farmdii-hero__copy > strong {
  display: block;
  color: var(--farmdii-green);
  font-size: clamp(17px, 1.7vw, 22px);
  line-height: 1.45;
}

.farmdii-hero .hero-actions {
  margin-top: 30px;
}

.farmdii-hero .hero-metrics {
  margin-top: 34px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.farmdii-hero .hero-metrics div {
  border: 1px solid rgba(11, 122, 59, .18);
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 42px rgba(7, 63, 37, .08);
}

.farmdii-hero .hero-metrics strong {
  color: var(--farmdii-orange);
}

.farmdii-group-grid,
.farmdii-application-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.farmdii-group-card {
  min-height: 210px;
  padding: 26px;
  border: 1px solid var(--farmdii-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(7, 63, 37, .07);
}

.farmdii-group-card span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: var(--farmdii-green-soft);
  color: var(--farmdii-green);
  font-size: 14px;
  font-weight: 900;
}

.farmdii-group-card h3,
.farmdii-application-card h3 {
  margin: 0 0 10px;
  color: var(--farmdii-ink);
  font-size: 22px;
  line-height: 1.2;
}

.farmdii-group-card p,
.farmdii-application-card p,
.farmdii-about p,
.farmdii-cta p {
  color: var(--farmdii-muted);
  line-height: 1.7;
}

.farmdii-application-card {
  overflow: hidden;
  border: 1px solid var(--farmdii-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(7, 63, 37, .07);
}

.farmdii-application-card__image {
  aspect-ratio: 4 / 3;
  background-image: var(--farmdii-app-image);
  background-size: 200% 200%;
  background-position: var(--farmdii-app-position);
}

.farmdii-application-card__copy {
  padding: 22px;
}

.farmdii-application-card__copy > span {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--farmdii-orange);
  font-weight: 900;
}

.farmdii-about__grid {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1fr);
  gap: 70px;
  align-items: start;
}

.farmdii-about h2 {
  margin: 10px 0 0;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.1;
}

.farmdii-about p {
  margin: 0;
  font-size: 21px;
}

.farmdii-about__points {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.farmdii-about__points span {
  padding: 16px 18px;
  border-left: 4px solid var(--farmdii-green);
  border-radius: 8px;
  background: #fff;
  color: var(--farmdii-ink);
  font-weight: 750;
  box-shadow: 0 14px 36px rgba(7, 63, 37, .06);
}

.farmdii-cta {
  padding: 66px 0;
  background: var(--farmdii-green-dark);
  color: #fff;
}

.farmdii-cta__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
}

.farmdii-cta .eyebrow,
.farmdii-cta h2,
.farmdii-cta p {
  color: #fff;
}

.farmdii-cta h2 {
  margin: 8px 0;
  font-size: clamp(30px, 4vw, 52px);
}

.farmdii-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.nx-button-outline-light {
  border: 1px solid rgba(255,255,255,.72);
  color: #fff;
}

.site-footer {
  background: var(--farmdii-green-dark) !important;
}

.woocommerce ul.products li.product {
  border-radius: 8px;
}

.woocommerce ul.products li.product .price {
  color: var(--farmdii-orange) !important;
}

.nx-cookie-consent,
.nx-cookie-modal,
[data-nexticoatx-cookie-consent],
[data-nexticoatx-cookie-modal] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.nx-cookie-modal-open {
  overflow: auto !important;
}

@media (max-width: 1180px) {
  .farmdii-hero {
    min-height: clamp(420px, 42vw, 520px);
    background-size: clamp(380px, 42vw, 560px) auto;
    background-position: calc(50% + clamp(180px, 22vw, 260px)) center;
  }

  .farmdii-group-grid,
  .farmdii-application-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .farmdii-about__grid {
    gap: 44px;
  }
}

@media (max-width: 860px) {
  .custom-logo {
    max-width: 128px;
  }

  .farmdii-hero {
    min-height: auto;
    background:
      linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 48%, rgba(255,255,255,.62) 100%),
      var(--farmdii-hero-image) center bottom / clamp(390px, 92vw, 620px) auto no-repeat;
  }

  .farmdii-hero__copy {
    padding: 54px 0 clamp(190px, 44vw, 260px);
  }

  .farmdii-hero h1 {
    font-size: 38px;
  }

  .farmdii-hero .hero-metrics {
    grid-template-columns: 1fr;
  }

  .farmdii-about__grid,
  .farmdii-cta__inner {
    grid-template-columns: 1fr;
    display: grid;
  }
}

@media (max-width: 620px) {
  .farmdii-hero__copy {
    padding-bottom: clamp(170px, 48vw, 220px);
  }

  .farmdii-hero h1 {
    font-size: 32px;
  }

  .farmdii-group-grid,
  .farmdii-application-grid {
    grid-template-columns: 1fr;
  }

  .farmdii-group-card {
    min-height: 0;
  }

  .farmdii-cta__actions,
  .farmdii-cta__actions .nx-button {
    width: 100%;
  }

  .farmdii-cta__actions .nx-button {
    justify-content: center;
  }
}

/* Lightweight eco header menu */
.site-header {
  background: rgba(255, 255, 255, .96) !important;
  color: var(--farmdii-ink);
  border-bottom: 1px solid rgba(11, 122, 59, .14);
  box-shadow: 0 10px 28px rgba(7, 63, 37, .07);
  backdrop-filter: saturate(130%) blur(10px);
}

.site-header.is-scrolled {
  box-shadow: 0 14px 34px rgba(7, 63, 37, .10);
}

.nx-header-row {
  grid-template-columns: auto auto minmax(220px, 1fr) auto;
  gap: 18px;
}

.site-header .nx-header-menu-button {
  display: none;
}

.farmdii-top-nav {
  min-width: 0;
}

.farmdii-top-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}

.farmdii-top-menu li {
  position: relative;
}

.farmdii-top-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  color: var(--farmdii-green-dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.farmdii-top-menu > li > a:hover,
.farmdii-top-menu > li > a:focus-visible,
.farmdii-top-menu > li.current-menu-item > a,
.farmdii-top-menu > li.current-menu-ancestor > a {
  background: var(--farmdii-green-soft);
  color: var(--farmdii-green);
}

.farmdii-top-menu > li > a::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 999px;
  background: #8cc63f;
  box-shadow: 0 0 0 3px rgba(140, 198, 63, .16);
}

.farmdii-top-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 1300;
  min-width: 220px;
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid var(--farmdii-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(7, 63, 37, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.farmdii-top-menu li:hover > .sub-menu,
.farmdii-top-menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.farmdii-top-menu .sub-menu a {
  display: block;
  padding: 11px 12px;
  border-radius: 6px;
  color: var(--farmdii-ink);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.farmdii-top-menu .sub-menu a:hover,
.farmdii-top-menu .sub-menu a:focus-visible {
  background: var(--farmdii-green-soft);
  color: var(--farmdii-green);
}

.site-header .nx-icon-button {
  color: var(--farmdii-green-dark);
}

.site-header .nx-icon-button:hover {
  background: var(--farmdii-green-soft);
}

body:not(.nx-mobile-menu-open) > .primary-nav {
  display: none;
}

@media (max-width: 1180px) {
  .nx-header-row {
    grid-template-columns: auto auto minmax(180px, 1fr) auto;
    gap: 10px;
  }

  .farmdii-top-menu {
    max-width: 42vw;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .farmdii-top-menu::-webkit-scrollbar {
    display: none;
  }

  .farmdii-top-menu > li > a {
    padding: 0 11px;
    font-size: 14px;
  }
}

@media (max-width: 860px) {
  .site-header {
    background: var(--farmdii-green) !important;
    color: #fff;
  }

  .nx-header-row {
    grid-template-columns: 42px 1fr auto;
  }

  .site-header .nx-header-menu-button {
    display: inline-grid;
  }

  .farmdii-top-nav {
    display: none;
  }

  body > .primary-nav {
    display: block;
  }

  .site-header .nx-icon-button {
    color: #fff;
  }
}

/* Empty five-column footer for user-managed content */
.site-footer {
  padding: 56px 0 20px;
}

.site-footer .footer-grid.footer-grid--five,
.site-footer .footer-grid.footer-grid--widgets.footer-grid--five {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 26px;
  align-items: start;
}

.site-footer .nx-footer-widget-column {
  min-width: 0;
}

.site-footer .nx-footer-widget-column:empty {
  min-height: 1px;
}

.site-footer .widget {
  margin: 0;
}

.site-footer .widget + .widget {
  margin-top: 18px;
}

@media (max-width: 1180px) {
  .site-footer .footer-grid.footer-grid--five,
  .site-footer .footer-grid.footer-grid--widgets.footer-grid--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .site-footer .footer-grid.footer-grid--five,
  .site-footer .footer-grid.footer-grid--widgets.footer-grid--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .site-footer .footer-grid.footer-grid--five,
  .site-footer .footer-grid.footer-grid--widgets.footer-grid--five {
    grid-template-columns: 1fr;
  }
}

/* Farmdii Woodmart-inspired eco header */
.site-header {
  height: auto !important;
  display: block !important;
  padding: 0 !important;
  background: #fff !important;
  color: var(--farmdii-ink);
  border-bottom: 1px solid #e5ece1;
  box-shadow: none;
  backdrop-filter: none;
}

.farmdii-utility-bar {
  min-height: 42px;
  background: #7fb72f;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.farmdii-utility-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 42px;
}

.farmdii-utility-left,
.farmdii-utility-right {
  display: flex;
  align-items: center;
  min-width: 0;
}

.farmdii-utility-left > *,
.farmdii-utility-right > * {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border-left: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  text-decoration: none;
}

.farmdii-utility-left > :first-child,
.farmdii-utility-right > :first-child {
  border-left: 0;
}

.farmdii-utility-left strong {
  letter-spacing: 0;
}

.farmdii-main-header {
  background: #fff;
}

.farmdii-main-header .nx-header-row {
  display: grid;
  grid-template-columns: auto minmax(520px, 1fr) auto;
  align-items: center;
  column-gap: 5px;
  min-height: 104px;
}

.farmdii-main-header .site-branding {
  justify-self: start;
  min-width: 0;
  padding-right: 0;
}

.farmdii-main-header .custom-logo {
  max-width: 92px;
  max-height: 68px;
}

.farmdii-main-header .nx-header-menu-button {
  display: none !important;
}

.farmdii-main-header .nx-header-search {
  position: relative;
  width: 100%;
  justify-self: stretch;
  margin-left: 0;
}

.farmdii-main-header .nx-header-search-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px auto 56px;
  align-items: center;
  min-height: 48px;
  border: 2px solid #e0e5df;
  background: #fff;
}

.farmdii-main-header .nx-header-search input {
  width: 100%;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--farmdii-ink) !important;
  font-size: 15px !important;
}

.farmdii-search-divider {
  width: 1px;
  height: 100%;
  background: #e0e5df;
}

.farmdii-search-category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  padding: 0 18px;
  color: #5b625c;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}

.farmdii-main-header .nx-header-search svg {
  display: block !important;
  position: static !important;
  width: 22px;
  height: 22px;
  margin: 0 auto;
  transform: none !important;
  color: #6d746e;
}

.farmdii-main-header .nx-search-spinner {
  right: 18px;
  top: 15px;
}

.farmdii-main-header .header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.farmdii-login-link {
  color: var(--farmdii-ink);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
}

.farmdii-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 210px;
  min-height: 38px;
  padding: 2px 10px 2px 3px;
  border: 1px solid var(--nx-header-bg, var(--farmdii-green, #0b7a3b));
  border-radius: 999px;
  background: var(--nx-header-bg, var(--farmdii-green, #0b7a3b));
  color: var(--nx-header-text, #fff);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.farmdii-user-chip:hover,
.farmdii-user-chip:focus-visible {
  border-color: #7fb72f;
  background: #f4fbef;
  color: var(--farmdii-green);
}

.farmdii-user-chip__avatar {
  width: 34px;
  height: 34px;
  border: 2px solid color-mix(in srgb, var(--nx-header-text, #fff) 76%, transparent);
  border-radius: 50%;
  background: var(--nx-header-text, #fff);
  object-fit: cover;
}

.farmdii-user-chip span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nx-mini-cart-qty button {
  display: grid;
  place-items: center;
  min-width: 0;
  border: 0;
  background: #fbfcfe;
  color: #6b7280;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}

.nx-mini-cart-qty button:hover,
.nx-mini-cart-qty button:focus-visible {
  background: var(--nx-primary, #0b7a3b);
  color: #fff;
}

.nx-mini-cart-content.is-updating {
  opacity: .62;
  pointer-events: none;
}

.farmdii-utility-bar,
.farmdii-utility-bar a,
.farmdii-utility-bar strong,
.farmdii-browse-button,
.farmdii-browse-button span,
.site-footer,
.site-footer a,
.site-footer p,
.site-footer li,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget,
.site-footer .widget-title {
  color: #fff !important;
}

.farmdii-main-header,
.farmdii-main-header a,
.farmdii-menu-bar,
.farmdii-menu-bar a,
.farmdii-browse-menu a {
  color: #111827 !important;
}

.farmdii-main-header .farmdii-user-chip,
.farmdii-main-header .farmdii-user-chip span {
  color: #fff !important;
}

.farmdii-menu-bar .farmdii-top-menu > li > a:hover,
.farmdii-menu-bar .farmdii-top-menu > li.current-menu-item > a,
.farmdii-menu-offers a,
.farmdii-browse-menu a:hover {
  color: #0b7a3b !important;
}

.farmdii-main-header .nx-icon-button {
  width: 36px;
  height: 36px;
  color: #202720;
}

.farmdii-main-header .nx-icon-button:hover {
  background: #eef7e8;
  color: var(--farmdii-green);
}

.farmdii-main-header .cart-count {
  top: -2px;
  right: -2px;
  background: #7fb72f;
  color: #fff;
}

.farmdii-cart-total {
  color: #2d332e;
  font-size: 13px;
  font-weight: 800;
}

.farmdii-menu-bar {
  border-top: 1px solid #e8eee5;
  border-bottom: 1px solid #e8eee5;
  background: #fff;
}

.farmdii-menu-row {
  display: grid;
  grid-template-columns: minmax(230px, 270px) minmax(0, 1fr) auto;
  align-items: center;
  min-height: 54px;
  gap: 18px;
}

.farmdii-browse {
  position: relative;
  align-self: stretch;
}

.farmdii-browse-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  height: 100%;
  min-height: 54px;
  padding: 0 18px;
  background: #7fb72f;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

.farmdii-browse-button .nx-menu-lines {
  width: 18px;
}

.farmdii-browse-button .nx-menu-lines i {
  height: 2px;
  background: currentColor;
}

.farmdii-browse-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1300;
  width: 100%;
  min-width: 250px;
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid #dfe9d9;
  background: #fff;
  box-shadow: 0 18px 40px rgba(31, 47, 22, .14);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.farmdii-browse:hover .farmdii-browse-menu,
.farmdii-browse:focus-within .farmdii-browse-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.farmdii-browse-menu a {
  display: block;
  padding: 11px 12px;
  color: var(--farmdii-ink);
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.farmdii-browse-menu a:hover,
.farmdii-browse-menu a:focus-visible {
  background: #eef7e8;
  color: var(--farmdii-green);
}

.farmdii-menu-bar .farmdii-top-nav {
  display: block;
  min-width: 0;
}

.farmdii-menu-bar .farmdii-top-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}

.farmdii-menu-bar .farmdii-top-menu > li > a {
  min-height: 54px;
  padding: 0 12px;
  border-radius: 0;
  color: #242c24;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.farmdii-menu-bar .farmdii-top-menu > li > a::before {
  display: none;
}

.farmdii-menu-bar .farmdii-top-menu > li > a:hover,
.farmdii-menu-bar .farmdii-top-menu > li > a:focus-visible,
.farmdii-menu-bar .farmdii-top-menu > li.current-menu-item > a,
.farmdii-menu-bar .farmdii-top-menu > li.current-menu-ancestor > a {
  background: transparent;
  color: #7fb72f;
}

.farmdii-menu-offers {
  display: flex;
  align-items: center;
  gap: 18px;
  white-space: nowrap;
}

.farmdii-menu-offers a {
  color: #6fa827;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .farmdii-utility-left strong {
    display: none;
  }

  .farmdii-main-header .nx-header-row {
    grid-template-columns: minmax(150px, 210px) minmax(260px, 1fr) auto;
    gap: 18px;
  }

  .farmdii-menu-row {
    grid-template-columns: minmax(210px, 240px) minmax(0, 1fr);
  }

  .farmdii-menu-offers {
    display: none;
  }

  .farmdii-menu-bar .farmdii-top-menu {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .farmdii-menu-bar .farmdii-top-menu::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 860px) {
  .farmdii-utility-bar,
  .farmdii-menu-bar {
    display: none;
  }

  .site-header {
    background: var(--farmdii-green) !important;
  }

  .farmdii-main-header .nx-header-row {
    grid-template-columns: 42px 1fr auto;
    min-height: 66px;
    gap: 8px;
  }

  .farmdii-main-header .nx-header-menu-button {
    display: inline-grid !important;
    color: #fff;
  }

  .farmdii-main-header .site-branding {
    justify-self: start;
  }

  .farmdii-main-header .custom-logo {
    max-width: 128px;
    max-height: 42px;
  }

  .farmdii-main-header .nx-header-search {
    grid-column: 1 / -1;
    position: absolute;
    top: 68px;
    left: 8px;
    right: 8px;
    display: none;
    width: auto;
  }

  body.nx-mobile-search-open .farmdii-main-header .nx-header-search {
    display: block;
  }

  .farmdii-main-header .nx-header-search-bar {
    grid-template-columns: 42px minmax(0, 1fr) 46px;
    min-height: 48px;
  }

  .farmdii-main-header .nx-search-close {
    display: inline-grid;
    grid-column: 1;
    grid-row: 1;
    color: var(--farmdii-ink);
  }

  .farmdii-main-header .nx-header-search input {
    grid-column: 2;
  }

  .farmdii-search-divider,
  .farmdii-search-category {
    display: none;
  }

  .farmdii-main-header .nx-header-search-bar > svg {
    grid-column: 3;
  }

  .farmdii-login-link,
  .farmdii-cart-total,
  .farmdii-main-header .nx-account-button {
    display: none;
  }

  .farmdii-main-header .header-actions .nx-icon-button {
    color: #fff;
  }
}

/* Mobile and tablet header polish */
@media (max-width: 1024px) {
  body > .primary-nav,
  body:not(.nx-mobile-menu-open) > .primary-nav {
    display: block;
  }

  body > .primary-nav:not(.is-open) {
    transform: translateX(-105%);
    pointer-events: none;
  }

  body > .primary-nav.is-open,
  body > .primary-nav.nx-menu-drilldown.is-open {
    transform: translateX(0) !important;
    pointer-events: auto;
  }

  .primary-nav.nx-menu-drilldown,
  body > .primary-nav {
    width: min(88vw, 390px);
    background: #f8fbf5 !important;
    color: var(--farmdii-ink);
    box-shadow: 18px 0 50px rgba(7, 63, 37, .16);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-nav-head,
  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-head {
    border-bottom-color: #dbe9de;
    background: #fff;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-nav-head strong,
  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-title strong {
    color: var(--farmdii-green-dark);
    font-size: 20px;
    letter-spacing: 0;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-stage,
  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel {
    background: #f8fbf5;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-body {
    padding: 14px 14px 26px;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-items {
    gap: 8px;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-item {
    border: 1px solid #dbe9de !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-item__copy strong {
    color: var(--farmdii-ink) !important;
    font-size: 17px;
    letter-spacing: 0;
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-item__copy small {
    color: var(--farmdii-muted);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-item__arrow,
  .primary-nav.nx-menu-drilldown .nx-mobile-menu-panel-title a {
    color: var(--farmdii-green);
  }

  .primary-nav.nx-menu-drilldown .nx-mobile-menu-back,
  .primary-nav.nx-menu-drilldown .nx-panel-close {
    border-radius: 8px;
    background: var(--farmdii-green-soft);
    color: var(--farmdii-green-dark);
  }
}

@media (min-width: 861px) and (max-width: 1024px) {
  .farmdii-utility-bar {
    display: none;
  }

  .farmdii-main-header .nx-header-row {
    grid-template-columns: 42px minmax(128px, 180px) minmax(260px, 1fr) auto;
    min-height: 76px;
    gap: 14px;
  }

  .farmdii-main-header .nx-header-menu-button {
    display: inline-grid !important;
    color: var(--farmdii-green-dark);
  }

  .farmdii-main-header .custom-logo {
    max-width: 165px;
    max-height: 50px;
  }

  .farmdii-main-header .farmdii-login-link,
  .farmdii-main-header .farmdii-cart-total {
    display: none;
  }

  .farmdii-menu-bar {
    display: none;
  }
}

@media (min-width: 861px) {
  body.woocommerce-account .farmdii-main-header .nx-header-row {
    grid-template-columns: auto minmax(560px, 1fr) auto !important;
    column-gap: 5px !important;
  }

  body.woocommerce-account .farmdii-main-header .nx-header-menu-button {
    display: none !important;
  }

  body.woocommerce-account .farmdii-main-header .site-branding {
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-account .farmdii-main-header .custom-logo {
    max-width: 92px !important;
    max-height: 68px !important;
  }

  body.woocommerce-account .farmdii-main-header .nx-header-search {
    display: block !important;
    width: 100% !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
  }

  body.woocommerce-account .farmdii-main-header .farmdii-user-chip {
    display: inline-flex !important;
  }
}

@media (max-width: 860px) {
  .site-header {
    background: #fff !important;
    border-bottom: 6px solid var(--farmdii-green);
  }

  .farmdii-main-header {
    background: #fff;
  }

  .farmdii-main-header .nx-header-row {
    grid-template-columns: 42px 40px minmax(0, 1fr) auto;
    min-height: 68px;
    gap: 8px;
  }

  .farmdii-main-header .nx-header-menu-button {
    color: var(--farmdii-green-dark);
  }

  .farmdii-main-header .site-branding {
    grid-column: 2;
    justify-self: center;
  }

  .farmdii-main-header .custom-logo {
    max-width: 32px;
    max-height: 32px;
  }

  .farmdii-main-header .nx-header-search {
    grid-column: 3;
    position: static;
    display: block;
    width: 100%;
  }

  .farmdii-main-header .nx-header-search-bar {
    display: flex;
    min-height: 46px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(17, 24, 39, .09);
  }

  .farmdii-main-header .nx-header-search input {
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 18px !important;
    color: #4b5563 !important;
    font-size: 15px !important;
  }

  .farmdii-main-header .nx-header-search-bar > svg,
  .farmdii-main-header .nx-search-close {
    display: none !important;
  }

  .farmdii-main-header .header-actions {
    grid-column: 4;
  }

  .farmdii-main-header .header-actions .nx-search-button {
    display: none !important;
  }

  .farmdii-main-header .header-actions .nx-icon-button {
    color: var(--farmdii-green-dark);
  }

  .farmdii-main-header .cart-count {
    top: -5px;
    right: -3px;
    background: #7fb72f;
  }

  .farmdii-hero {
    background:
      linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.82)),
      var(--farmdii-hero-image) center bottom / clamp(360px, 94vw, 560px) auto no-repeat;
  }

  .farmdii-hero__copy {
    padding: 58px 0 42px;
  }

  .farmdii-hero .eyebrow {
    color: var(--farmdii-green);
    font-size: 13px;
    letter-spacing: .14em;
  }

  .farmdii-hero h1 {
    color: #071529;
    font-size: clamp(31px, 8.4vw, 42px);
    line-height: 1.05;
    text-shadow: none;
  }

  .farmdii-hero p {
    color: #1f2937;
    font-size: 17px;
    line-height: 1.65;
  }

  .farmdii-hero__copy > strong {
    color: #087b3a;
    font-size: 16px;
    line-height: 1.65;
  }

  .farmdii-hero .hero-actions {
    gap: 10px;
  }

  .farmdii-hero .nx-button {
    min-height: 48px;
    padding-inline: 22px;
    font-size: 15px;
  }

  .farmdii-hero .hero-metrics {
    gap: 8px;
  }

  .farmdii-hero .hero-metrics div {
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    padding: 3px 8px;
    border-radius: 0;
    box-shadow: none;
  }

  .farmdii-hero .hero-metrics strong {
    color: var(--farmdii-orange);
    font-size: 17px;
  }

  .farmdii-hero .hero-metrics span {
    color: #4b5563;
    font-size: 12px;
  }
}

/* Desktop centering fix */
@media (min-width: 1025px) {
  :root {
    --nx-container: min(1280px, calc(100vw - 80px));
  }

  .nx-container,
  .farmdii-utility-row,
  .farmdii-main-header .nx-header-row,
  .farmdii-menu-row,
  .farmdii-hero__grid {
    width: min(calc(100% - 80px), 1280px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .farmdii-main-header .nx-header-row,
  .farmdii-menu-row {
    justify-content: center;
  }

  .farmdii-hero {
    min-height: clamp(440px, 34vw, 520px);
    background:
      linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.9) 34%, rgba(255,255,255,.38) 58%, rgba(255,255,255,0) 100%),
      var(--farmdii-hero-image) calc(50% + clamp(210px, 19vw, 330px)) center / clamp(430px, 38vw, 640px) auto no-repeat;
  }

  .farmdii-hero__grid {
    display: grid;
    grid-template-columns: minmax(460px, 620px) minmax(360px, 1fr);
    align-items: center;
    justify-content: center;
  }

  .farmdii-hero__copy {
    max-width: 620px;
    padding-top: 72px;
    padding-bottom: 96px;
  }
}

@media (min-width: 1600px) {
  .farmdii-hero {
    background-size: clamp(560px, 34vw, 680px) auto;
    background-position: calc(50% + 340px) center;
  }
}
