.products-menu-panel {
      display: none;
      background: rgba(7, 29, 58, 0.42);
      border-bottom: 1px solid rgba(7, 29, 58, 0.18);
      box-shadow: 0 22px 44px rgba(7, 29, 58, 0.18);
      position: relative;
      z-index: 40;
      padding: 0;
      margin: 0;
    }
    .products-menu-panel.open {
      display: block;
    }
    @media (min-width: 1051px) {
      .header {
        position: relative;
      }
      .products-menu-panel {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        margin-top: 0;
      }
      .products-menu-panel.open {
        padding-top: 8px;
        margin-top: -8px;
      }
      .products-menu-panel.open::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 8px;
        background: transparent;
      }
    }
    .products-mega {
      max-width: var(--max);
      margin: 0 auto;
      padding: 0 18px;
      display: grid;
      grid-template-columns: 280px;
      align-items: stretch;
      justify-content: flex-start;
      width: 100%;
      box-sizing: border-box;
    }
    .products-mega--taxonomy.is-groups-visible {
      grid-template-columns: 280px 300px;
    }
    .products-mega--taxonomy.is-models-visible {
      grid-template-columns: 280px 300px 300px;
    }
    .products-mega--taxonomy {
      min-height: 0;
    }
    .mega-column--groups,
    .mega-column--models {
      display: none;
    }
    .products-mega--taxonomy.is-groups-visible .mega-column--groups {
      display: block;
    }
    .products-mega--taxonomy.is-models-visible .mega-column--models {
      display: block;
    }
    .products-mega--two-col {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
    }
    .mega-column {
      background: var(--white);
      min-height: 420px;
      border-right: 1px solid var(--line);
      padding: 14px 0;
    }
    .mega-column--categories {
      padding-top: 8px;
    }
    .mega-column--categories .mega-link-list {
      padding-top: 4px;
    }
    .products-mega--two-col .mega-column {
      min-height: 0;
    }
    .products-mega--two-col .mega-link-list {
      max-height: min(52vh, 420px);
      overflow-y: auto;
    }
    .mega-column:first-child {
      border-radius: 0 0 0 20px;
    }
    .mega-column:last-child {
      border-right: 0;
      border-radius: 0 0 20px 0;
    }
    .mega-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 14px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
    }
    .mega-title h2,
    .mega-title h3 {
      margin: 0;
      color: var(--blue-950);
      font-size: 19px;
    }
    .mega-title a {
      color: var(--blue-800);
      font-weight: 800;
      font-size: 13px;
      text-decoration: underline;
    }
    .mega-feature-title {
      margin: 18px 0 10px;
      color: var(--blue-950);
      font-size: 16px;
    }
    .mega-link-list {
      display: grid;
      gap: 2px;
    }
    .mega-link,
    .mega-action {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      align-items: center;
      background: transparent;
      border: 0;
      border-radius: 0;
      padding: 9px 10px;
      color: var(--ink);
      text-align: left;
      font-weight: 500;
      cursor: pointer;
      text-decoration: none;
    }
    .mega-link:hover,
    .mega-link.active,
    .mega-action:hover,
    .mega-action.active {
      background: #eef2f7;
    }
    .mega-link strong,
    .mega-action strong {
      color: var(--blue-950);
      font-size: 14px;
    }
    .mega-link span,
    .mega-action span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.35;
    }
    .mega-arrow {
      color: var(--blue-950);
      font-weight: 900;
    }
    .mega-feature-link {
      display: block;
      padding: 7px 10px;
      color: var(--ink);
      font-size: 14px;
    }
    .mega-feature-link:hover {
      background: #eef2f7;
    }
    .mega-breadcrumb {
      color: var(--blue-800);
      font-size: 13px;
      font-weight: 900;
      margin-bottom: 10px;
    }
    .mega-description {
      color: var(--muted);
      line-height: 1.55;
      font-size: 14px;
      margin: 0 0 12px;
    }
    .mega-link-list--scroll {
      max-height: min(52vh, 420px);
      overflow-y: auto;
      padding-right: 4px;
    }
    .mega-back {
      margin-top: 12px;
      border: 0;
      background: transparent;
      color: var(--blue-800);
      font-weight: 800;
      font-size: 14px;
      cursor: pointer;
      padding: 8px 10px;
    }
    .mega-title--column {
      margin-bottom: 10px;
      padding: 0 12px 10px;
      border-bottom: 1px solid var(--line);
    }
    .mega-title--column h3 {
      font-size: 17px;
      font-weight: 800;
      text-decoration: none;
    }
    .mega-link-list .mega-action,
    .mega-link-list .mega-link {
      padding-left: 12px;
      padding-right: 12px;
    }
    .mega-close {
      display: none !important;
    }

    .location-bar {
      background: var(--blue-50);
      border-bottom: 1px solid var(--line);
    }
    .location-inner {
      max-width: var(--max);
      margin: 0 auto;
      padding: 12px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
      color: var(--blue-950);
    }
    .location-inner b { color: var(--blue-800); }
    .location-controls {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
    }
    .postal-input {
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 9px 13px;
      min-width: 170px;
      outline: none;
    }
    .small-button {
      border: 0;
      background: var(--blue-900);
      color: var(--white);
      border-radius: 999px;
      padding: 9px 14px;
      font-weight: 800;
      cursor: pointer;
    }

/* Dimension engine (from bundle prototype) */



  

.dimension-engine{margin:22px 0;background:#f8fbff;border:1px solid #c8d8ea;border-radius:16px;padding:18px;box-shadow:0 8px 20px rgba(7,29,58,.06)}


.engine-title{margin:0 0 6px;color:#071d3a;font-size:18px;font-weight:900}


.engine-intro{margin:0 0 14px;color:#45607f;line-height:1.45;font-size:13px}


.engine-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}


.engine-field label{display:block;color:#071d3a;font-size:12px;font-weight:800;margin-bottom:6px}


.engine-field input{width:100%;min-height:38px;border:1px solid #c8d8ea;border-radius:10px;padding:8px 10px;outline:none;background:#fff;color:#071d3a}


.engine-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}


.engine-button{border:0;border-radius:999px;background:#0f3b78;color:#fff;padding:10px 14px;font-weight:900;cursor:pointer}


.engine-button.secondary{background:#e8f0f9;color:#0f3b78;border:1px solid #c7d8ea}


.engine-results{margin-top:14px;display:none;border:1px solid #c8d8ea;border-radius:14px;overflow:hidden;background:#fff}


.engine-results.visible{display:block}


.engine-results-header{background:#e7f0fa;color:#071d3a;padding:10px 12px;font-weight:900;font-size:13px;border-bottom:1px solid #c8d8ea}


.engine-result-row{display:grid;grid-template-columns:1fr 74px 140px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #eef3f8;font-size:13px}


.engine-result-row:last-child{border-bottom:0}

.engine-result-row b{color:#071d3a}

.engine-result-row span{color:#5d718d;display:block;margin-top:2px;font-size:12px}


.engine-qty{text-align:center;border-radius:999px;background:#eef5ff;color:#0f3b78;font-weight:900;padding:6px 8px}

.engine-status{color:#246447;font-weight:900;font-size:12px}


.engine-note{margin-top:10px;color:#5d718d;line-height:1.45;font-size:12px}

.mega-link--model {
  grid-template-columns: 1fr;
}

.mega-link--model .mega-arrow {
  display: none;
}

/* Legacy storefront utilities (from main.css) used by product/cart markup */
.width50px {
  width: 50px !important;
  min-width: 50px;
  max-width: 50px;
  box-sizing: border-box;
}

.width60px {
  width: 60px !important;
  min-width: 60px;
  max-width: 60px;
  box-sizing: border-box;
}

.nd-flash {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 18px;
}

.nd-flash__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 0;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.nd-flash-success .nd-flash__inner {
  background: #ecfdf5;
  border-color: #6ee7b7;
  color: #065f46;
}

.nd-flash-error .nd-flash__inner {
  background: #fef2f2;
  border-color: #fca5a5;
  color: #991b1b;
}

.nd-flash__text {
  margin: 0;
  flex: 1;
}

.nd-flash__close {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 0 2px;
  opacity: 0.7;
}

.nd-flash__close:hover {
  opacity: 1;
}
