@media (max-width: 1180px) {
  .products-mega,
  .products-mega--taxonomy.is-groups-visible,
  .products-mega--taxonomy.is-models-visible {
    grid-template-columns: 1fr;
  }
  .mega-column {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    display: none !important;
    padding: 14px 0;
  }
  .mega-column.is-active {
    display: block !important;
  }
  .mega-column:first-child,
  .mega-column:last-child {
    border-radius: 0;
  }
  .mega-back {
    display: inline-flex;
    margin-left: 12px;
  }
}

@media (max-width: 1050px) {
  body.nd-layout {
    overflow-x: hidden;
  }

  .nd-layout,
  .nd-layout .page {
    max-width: 100%;
    overflow-x: clip;
  }

  .header-inner {
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "brand actions menu-toggle"
      "search search search";
    align-items: center;
    gap: 10px 8px;
  }
  .brand {
    grid-area: brand;
    min-width: 0;
  }
  .header-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
    flex-wrap: nowrap;
  }
  .nd-search-wrapper {
    grid-area: search;
  }
  .nd-menu-toggle {
    grid-area: menu-toggle;
    display: inline-flex;
    flex: 0 0 auto;
  }
  .nav {
    display: none;
  }
  .products-menu-panel {
    display: none !important;
  }

  .nd-lang-switch-toggle {
    padding: 8px 10px;
    font-size: 13px;
    gap: 6px;
  }
  .nd-signin-text {
    padding: 0 10px;
    font-size: 13px;
  }
  .nd-signin-arrow {
    width: 36px;
  }

  .shop-layout {
    grid-template-columns: 1fr;
  }
  .nd-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nd-footer-locations {
    column-count: 1;
    column-rule: none;
  }
  .nd-footer-map-slot {
    max-width: 100%;
    width: 100%;
  }
  .filter-panel {
    position: static;
  }
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {
  .header-inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "brand cart menu-toggle"
      "search search search";
    gap: 10px;
    padding: 10px 12px;
    align-items: center;
  }
  .brand {
    grid-area: brand;
    min-width: 0;
    overflow: hidden;
  }
  .brand-logo {
    height: 40px;
    max-width: min(132px, 46vw);
    width: auto;
  }
  .header-actions {
    display: contents;
  }
  .header-actions .nd-header-lang,
  .header-actions .nd-header-signin {
    display: none !important;
  }
  .nd-cart-btn {
    grid-area: cart;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    flex-shrink: 0;
  }
  .nd-cart-icon {
    width: 24px;
    height: 24px;
  }
  .nd-menu-toggle {
    grid-area: menu-toggle;
    width: 44px;
    height: 44px;
    flex-shrink: 0;
  }
  .nd-search-wrapper {
    grid-area: search;
    width: 100%;
    min-width: 0;
  }
  .search-box {
    display: grid;
    grid-template-columns: minmax(72px, 29%) minmax(0, 1fr) auto;
    grid-template-rows: 1fr;
    border-radius: 12px;
    min-height: 44px;
    width: 100%;
  }
  .search-box select {
    border-right: 1px solid var(--line);
    border-bottom: 0;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 700;
    min-width: 0;
    max-width: 100%;
  }
  .search-box input {
    padding: 0 10px;
    font-size: 14px;
    min-width: 0;
    width: 100%;
  }
  .search-box button {
    padding: 0 14px;
    min-height: 44px;
    min-width: 44px;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
  }
  .nd-drawer-toolbar {
    display: block;
  }
  .product-grid,
  .nd-footer-grid {
    grid-template-columns: 1fr;
  }
  .nd-footer-shell {
    padding: 28px 14px 24px;
  }
  .results-toolbar,
  .bundle-actions {
    align-items: start;
    flex-direction: column;
  }
  .category-carousel {
    grid-auto-columns: 84%;
  }
  .bundle-actions {
    display: flex;
  }
  .top-strip-inner {
    justify-content: center;
    text-align: center;
  }
}

/* ================================================================== */
/* KGS-AMELECO-FRONTEND-THEME-20261020-01                               */
/* Approved theme overrides (STAGING ONLY). Scoped to .nd-layout.       */
/* Remove this whole block to roll back.                              */
/* ================================================================== */

/* --- Announcement strip: white bg, title black, tagline amber --- */
.nd-layout .top-strip {
  background: #ffffff;
  color: #ffb400; /* tagline text + separator */
  border-bottom: 1px solid #e5e5e5;
}
.nd-layout .top-strip strong { color: #000000; }
.nd-layout .top-strip-support { color: #333333; }
.nd-layout .top-strip-support:hover { color: #000000; }

/* --- Search: neutral border at rest, 2px corners, visible focus --- */
.nd-layout .search-box {
  border: 2px solid #d5d5d5;
  border-radius: 2px;
}
.nd-layout .search-box:focus-within {
  border-color: #525252;
  box-shadow: 0 0 0 2px rgba(82, 82, 82, 0.35);
}
.nd-layout .search-box button {
  background: #ffb400;
  color: #000000;
}

/* --- Navigation: gray bar, white text, amber active indicator.
   Long-path selectors must outrank nd-legacy-compat.css nav rules. --- */
.nd-layout .nav { background: #525252; }
.nd-layout .header > .nav > .nav-inner > a.active,
.nd-layout .header > .nav > .nav-inner > a:hover,
.nd-layout .header > .nav > .nav-inner > button.active,
.nd-layout .header > .nav > .nav-inner > button:hover,
.nd-layout .header > .nav > .nav-inner > .nav-products-wrap > .nav-products-link.active,
.nd-layout .header > .nav > .nav-inner > .nav-products-wrap > .nav-products-link:hover,
.nd-layout .header > .nav > .nav-inner > .nav-products-wrap.is-open > .nav-products-link {
  background: #404040;
  border-bottom-color: #ffb400;
}

/* --- Footer: charcoal, white text --- */
.nd-layout .footer {
  background: #222222;
}
body.nd-layout .footer .nd-footer-heading,
body.nd-layout .footer .nd-footer-follow,
body.nd-layout .footer h3 {
  color: #ffffff !important; /* checkout.css sets these amber with !important */
}
.nd-layout .footer .nd-footer-links a:hover,
.nd-layout .footer .nd-footer-links a.is-active {
  color: #ffffff;
  text-decoration: underline;
}

/* --- Promise banner: approved white gradient + dark text.
   MISSING APPROVED ASSET: clean light-bulb photograph (no embedded
   text/buttons) not found in uploads or prior theme work; when
   supplied, save as assets/new-design/images/promise_banner_bulb.jpg
   and add it as a second background-image layer after the gradient. --- */
.nd-layout .hero-main {
  background-color: #eef1f4;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.88) 38%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.05) 100%),
    url("../images/promise_banner_bulb.jpg");
  background-size: cover, cover;
  background-position: center 53%;
  background-repeat: no-repeat;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  box-shadow: none;
}
.nd-layout .hero-main::after { display: none; }
.nd-layout .hero-main .eyebrow {
  background: #f3f3f3;
  border-color: #d9d9d9;
  color: #333333;
  border-radius: 2px;
}
.nd-layout .hero-action {
  border-radius: 2px;
  box-shadow: none;
}
.nd-layout .hero-action:hover {
  transform: none;
  box-shadow: none;
}
.nd-layout .hero-action-primary {
  background: #004ffe;
  color: #ffffff;
  border-color: #004ffe;
}
.nd-layout .hero-action-primary:hover { background: #0040d0; }
.nd-layout .hero-panel {
  border-radius: 4px;
  box-shadow: none;
}
.nd-layout .quick-search-card { border-radius: 4px; }
.nd-layout .quick-search-card label,
.nd-layout .quick-search-card input,
.nd-layout .quick-search-card button { border-radius: 2px; }

/* --- House bundles section: solid gray, white heading/intro --- */
.nd-layout #bundle-section {
  background: #525252;
  border: 1px solid #525252;
  border-radius: 4px;
  box-shadow: none;
}
.nd-layout #bundle-section .section-title { color: #ffffff; }
.nd-layout #bundle-section .section-subtitle { color: rgba(255,255,255,0.9); }

/* --- Bundle cards: white, dark gray text, 4px corners --- */
.nd-layout .bundle-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: none;
  color: #333333;
}
.nd-layout .bundle-top {
  background: #ffffff;
  color: #333333;
  border-bottom: 1px solid #e8e8e8;
}
.nd-layout .bundle-top h3 { color: #333333; }
.nd-layout .bundle-top p { color: #333333; }
.nd-layout .bundle-top .tag {
  background: #f3f3f3;
  color: #333333;
  border: 1px solid #e0e0e0;
  border-radius: 2px;
}
.nd-layout .bundle-link:hover {
  transform: none;
  box-shadow: none;
  border-color: #004ffe;
}
.nd-layout .bundle-card-arrow { color: #004ffe; }

/* --- Support band: charcoal, white text, amber CTA --- */
.nd-layout .support-band {
  background: #222222;
  border: 1px solid #222222;
  border-radius: 4px;
  box-shadow: none;
}
.nd-layout .support-band button,
.nd-layout .support-band .action-pill,
.nd-layout .support-band__cta {
  background: #ffb400;
  color: #000000;
  border-radius: 2px;
}

/* --- Responsive crop/readability for the promise banner --- */
@media (max-width: 768px) {
  .nd-layout .hero-main {
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(255,255,255,0.92) 55%, rgba(255,255,255,0.6) 100%),
      url("../images/promise_banner_bulb.jpg");
    background-size: cover, cover;
    background-position: center 40%, center 53%;
  }
}

/* --- Product listing pages (.nd-products: All Products + taxonomy PLPs) --- */
.nd-layout .page.nd-products {
  background: #ffffff;
}
.nd-layout .nd-products .product-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  box-shadow: none;
}
.nd-layout .nd-products .nd-product-card-wrap h3 a {
  color: #333333;
}
.nd-layout .nd-products .promo-card__description {
  color: #333333;
}
.nd-layout .nd-products .promo-price {
  color: #333333; /* red reserved for real discounts/alerts */
}
.nd-layout .nd-products .nd-product-more-link {
  color: #004ffe;
}
.nd-layout .nd-products .add-button {
  background: #004ffe;
  color: #ffffff;
  border-radius: 2px;
}
.nd-layout .nd-products .add-button:hover {
  background: #0040d0;
}
.nd-layout .nd-products .add-button.add-cart-grey {
  background: #e8e8e8;
  color: #4d4d4d;
  border: 1px solid #d0d0d0;
  opacity: 1;
}
.nd-layout .nd-products .promo-ribbon {
  background: #ffb400;
  color: #000000;
  border-radius: 2px;
}
.nd-layout .nd-products .promo-ribbon--muted {
  background: #e8e8e8;
  color: #333333;
}

/* --- Cart related-products section (KGS-AMELECO-CART-RELATED-PRODUCTS-STYLE-20261020-01):
   mirrors product_detail.css .nd-related-products chrome; the .nd-products wrapper in
   cart.php reuses the card rules above so cards match the PDP exactly. --- */
.nd-layout .nd-checkout .nd-related-products {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--border, #e5e7eb);
}
.nd-layout .nd-checkout .nd-related-products__title {
  margin: 0 0 20px;
  color: var(--blue-950, #071d3a);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 900;
  line-height: 1.2;
}
.nd-layout .nd-checkout .nd-related-products__grid-wrap {
  width: 100%;
}
.nd-layout .nd-checkout .nd-related-products #menu_product_list_block {
  float: none !important;
  width: 100%;
}
@media (max-width: 767px) {
  .nd-layout .nd-checkout .nd-related-products {
    margin-top: 28px;
    padding-top: 22px;
  }
}
/* Centered container + legacy-asset overrides so the cart section renders
   identically to the PDP related-products section at the same viewport.
   Cart loads legacy main.css/cart.css which restyle shared classes
   (.add-cart-link, h3, .promo-card__description); pin the PDP values. */
.nd-layout .nd-checkout .nd-cart-related {
  box-sizing: border-box;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 8px;
  padding-right: 8px;
}
.nd-layout .nd-checkout .nd-related-products .AllProducts {
  margin-left: 0;
  margin-right: 0;
}
.nd-layout .nd-checkout .nd-related-products .nd-product-card-wrap h3 {
  font-weight: 700;
}
.nd-layout .nd-checkout .nd-cart-related .nd-related-products p.promo-card__description {
  color: #333333 !important; /* cart.css p:not(...) is !important */
}
.nd-layout .nd-checkout .nd-related-products .add-button {
  min-height: 42px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 900;
}
.nd-layout .nd-checkout .nd-related-products #menu_product_list_block .add-cart-link {
  margin-bottom: 0;
}
