/* Napalmi child theme. Load after Classic 3.1.2 and module styles.
 * These rules style existing controls; product visibility and stock belong
 * to PrestaShop and its modules, never to the presentation layer.
 */

@font-face {
  font-family: Hind;
  src: url("../fonts/Hind-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Hind;
  src: url("../fonts/Hind-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: Hind;
  src: url("../fonts/Hind-SemiBold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: Hind;
  src: url("../fonts/Hind-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --napalmi-background: #f5f4ef;
  --napalmi-surface: #fff;
  --napalmi-ink: #292b29;
  --napalmi-muted: #625f59;
  --napalmi-line: #e2dfd8;
  --napalmi-accent: #dc4b1d;
  --napalmi-action: #cf4218;
  --napalmi-action-hover: #ab3512;
  --napalmi-secondary: #474747;
  --napalmi-focus: #762b13;
  --napalmi-radius: 4px;
  --napalmi-footer: #282927;
}

html { scroll-padding-top: 1rem; }

body {
  color: var(--napalmi-ink);
  background: var(--napalmi-background);
  font-family: Hind, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

button, input, select, textarea { font-family: inherit; }
p { color: inherit; }
a { color: var(--napalmi-action); }
a:hover { color: var(--napalmi-action-hover); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--napalmi-ink);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

h1, .h1 { text-transform: none; font-size: clamp(1.75rem, 2.6vw, 2.65rem); font-weight: 600; }
h2, .h2 { font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 600; }
.text-muted, .text-secondary { color: var(--napalmi-muted) !important; }

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--napalmi-focus);
  outline-offset: 3px;
}

.btn {
  min-height: 44px;
  padding: .65rem 1.15rem;
  border-radius: 0;
  box-shadow: none;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

.btn-primary, .btn-primary:focus, .btn-primary.focus {
  color: #fff;
  background: var(--napalmi-action);
  border-color: var(--napalmi-action);
}

.btn-primary:hover, .btn-primary:active, .btn-primary.active,
.btn-primary:active:focus, .btn-primary:active:hover {
  color: #fff;
  background: var(--napalmi-action-hover);
  border-color: var(--napalmi-action-hover);
}

.btn-secondary, .btn-secondary:focus, .btn-secondary.focus {
  color: #fff;
  background: var(--napalmi-secondary);
  border-color: var(--napalmi-secondary);
}

.btn-secondary:hover, .btn-secondary:active, .btn-secondary.active {
  color: #fff;
  background: #292929;
  border-color: #292929;
}

.btn-tertiary, .btn-tertiary:focus {
  color: var(--napalmi-ink);
  background: #fff;
  border: 1px solid #8d8880;
  box-shadow: none;
}

.btn-primary.disabled, .btn-primary:disabled, .btn-primary[disabled],
.btn-secondary.disabled, .btn-secondary:disabled, .btn-secondary[disabled] {
  color: #fff;
  background: #666;
  border-color: #666;
  opacity: .7;
  cursor: not-allowed;
}

.form-control, .input-group .form-control, .custom-select {
  min-height: 44px;
  color: var(--napalmi-ink);
  background-color: #fff;
  border: 1px solid #918b82;
  border-radius: 0;
}

.form-control:focus {
  border-color: var(--napalmi-focus);
  outline: 2px solid var(--napalmi-focus);
  outline-offset: 1px;
}

.form-control::placeholder { color: #716b64; opacity: 1; }
.custom-checkbox input[type="checkbox"] + span { border-color: #77716a; }
.custom-checkbox input[type="checkbox"]:checked + span,
.custom-radio input[type="radio"]:checked + span { background-color: var(--napalmi-action); }
.custom-radio input[type="radio"]:checked + span { border-color: var(--napalmi-action); }

/* Shared company identity, followed by the shop's search and catalog. */
#header {
  color: var(--napalmi-ink);
  background: #fff;
  box-shadow: none;
  border-bottom: 1px solid #e7e7e5;
}

#header a { color: var(--napalmi-ink); }
#header a:hover { color: var(--napalmi-action-hover); }
.napalmi-local-note {
  padding: .35rem 1rem;
  color: #4b3d24;
  background: #fff0ce;
  border-bottom: 1px solid #d8c99d;
  font-size: .875rem;
  line-height: 1.4;
  text-align: center;
}
#header .header-nav {
  max-height: none;
  color: #fff;
  background: #262626;
  border: 0;
  font-size: .9375rem;
}

#header .header-nav a, #header .header-nav .blockcart a,
#header .header-nav .cart-preview .shopping-cart { color: #fff; }
#header .header-nav a:hover { color: #ffd5c7; }
#header .header-nav #_desktop_contact_link #contact-link { margin: .8rem 0; }
#header .header-nav .right-nav { flex-wrap: wrap; align-items: center; }
#header .header-nav .user-info,
#header .header-nav .currency-selector,
#header .header-nav .language-selector { margin-top: 0; margin-bottom: 0; }
#header .header-nav .user-info { margin-left: 1rem; }
#header .header-nav .blockcart {
  height: auto;
  min-height: 48px;
  padding: .7rem 1rem;
  background: var(--napalmi-secondary);
}

#header .header-nav .cart-preview.active { background: var(--napalmi-action); }
#header .header-nav .blockcart .header { margin-top: 0; }
#header .header-nav .dropdown-menu { border-radius: 0; }
#header .header-nav .dropdown-menu a { color: var(--napalmi-ink); }
#header .header-nav a:focus-visible { outline-color: #fff; }
#header .header-top { padding: 1rem 0 0; }
#header .header-top > .container > .row:first-of-type {
  flex-wrap: wrap;
  align-items: center;
}

#header #_desktop_logo { width: 180px; flex: 0 0 180px; }
#header #_desktop_logo .logo { width: 150px; max-height: 88px; object-fit: contain; }
#header #_desktop_logo h1 { line-height: 1; }
#header .napalmi-company-nav {
  display: flex;
  flex: 1 1 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .15rem 1.2rem;
  min-width: 0;
  padding: .5rem 15px;
}

#header .napalmi-company-nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .15rem 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

#header .napalmi-company-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 3px solid transparent;
  font-weight: 600;
}

#header .napalmi-company-nav a[aria-current="page"],
#header .napalmi-company-nav a[aria-current="location"],
#header .napalmi-company-nav .active > a,
#header .napalmi-company-nav a.active {
  color: var(--napalmi-action-hover);
  border-bottom-color: var(--napalmi-accent);
}

#header .napalmi-company-nav a.btn-primary,
#header .napalmi-company-mobile a.btn-primary { color: #fff; border-color: var(--napalmi-action); }
#header .napalmi-company-nav a.btn-primary:hover,
#header .napalmi-company-mobile a.btn-primary:hover { color: #fff; border-color: var(--napalmi-action-hover); }

#header .header-top-right {
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  width: 100%;
  min-width: 0;
  margin-top: .6rem;
  padding-top: .85rem;
  padding-bottom: .3rem;
  border-top: 1px solid var(--napalmi-line);
}

#header .header-top-right > * { min-width: 0; }
#header #search_widget {
  order: -2;
  flex: 1 1 100%;
  float: none;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  overflow: visible;
}

#search_widget form { position: relative; width: 100%; }
#header #search_widget form input[type="text"] {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: .7rem 3rem .7rem 2.9rem;
  color: var(--napalmi-ink);
  background: #f8f7f3;
  border: 1px solid #aca69d;
  border-radius: 0;
  font-size: 1rem;
}

#header #search_widget form input[type="text"]:focus {
  background: #fff;
  border-color: var(--napalmi-focus);
  outline: 2px solid var(--napalmi-focus);
  outline-offset: 1px;
}

#search_widget form i { top: 50%; padding: 0; transform: translateY(-50%); }
#search_widget form i.search { left: .85rem; color: var(--napalmi-muted); }
#search_widget form i.clear { right: .85rem; cursor: pointer; }
#search_widget form button[type="submit"] { min-width: 44px; min-height: 44px; }
#header #search_widget form:has(.napalmi-search-submit) { display: flex; align-items: stretch; }
#header #search_widget form:has(.napalmi-search-submit) input[type="text"] {
  flex: 1 1 0;
  padding: .7rem 1rem;
  border-right: 0;
}
#header #search_widget form .napalmi-search-submit {
  position: static;
  flex: 0 0 auto;
  min-width: 70px;
  min-height: 48px;
  padding: .65rem 1.15rem;
  color: #fff;
  background: var(--napalmi-action);
  border: 1px solid var(--napalmi-action);
  transform: none;
}
#header #search_widget form .napalmi-search-submit:hover { background: var(--napalmi-action-hover); border-color: var(--napalmi-action-hover); }
.ui-autocomplete.searchbar-autocomplete {
  max-width: calc(100vw - 30px);
  min-height: 0;
  padding: .25rem;
  color: var(--napalmi-ink);
  background: #fff;
  border: 1px solid var(--napalmi-line);
  border-radius: 0;
  box-shadow: 0 8px 24px #0002;
}

.ui-autocomplete.searchbar-autocomplete li a {
  min-height: 52px;
  color: var(--napalmi-ink);
  white-space: normal;
  overflow-wrap: anywhere;
}

#header .header-top #_desktop_top_menu {
  flex: 1 1 100%;
  width: 100%;
  padding: 0;
}

#header #_desktop_top_menu > .top-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .7rem;
  margin: 0;
}

#header .header-top a[data-depth="0"] {
  padding: .85rem .65rem;
  color: var(--napalmi-ink);
  font-size: 1.02rem;
  font-weight: 600;
  text-transform: none;
}

#header .top-menu a[data-depth="0"]:hover,
#header .top-menu .current > a[data-depth="0"] { color: var(--napalmi-action-hover); }
/* Keep the catalog part of the white header; highlight links without
 * changing their dimensions or the native submenu/touch targets. */
#header .top-menu a[data-depth="0"]:hover,
#header .top-menu a[data-depth="0"]:focus-visible,
#header .napalmi-catalog-links a:hover,
#header .napalmi-catalog-links a:focus-visible,
#header .napalmi-catalog-links-mobile a:hover,
#header .napalmi-catalog-links-mobile a:focus-visible { background: #f5f5f3; }
#header #top-menu > li.category:is(.current, :has(li.current)) > a[data-depth="0"],
#header .napalmi-catalog-links a[aria-current="page"],
#header .napalmi-catalog-links-mobile a[aria-current="page"] {
  color: var(--napalmi-action-hover);
  box-shadow: inset 0 -3px 0 var(--napalmi-accent);
}
#header .top-menu .sub-menu {
  padding: 1rem;
  border: 1px solid var(--napalmi-line);
  border-top: 3px solid var(--napalmi-accent);
  box-shadow: 0 10px 22px #0002;
  transition: none;
}

#header .top-menu .sub-menu a { color: var(--napalmi-ink); white-space: normal; }
#header .top-menu .sub-menu a:hover { color: var(--napalmi-action-hover); }
#header #_desktop_top_menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; }

/* The homepage introduces computers without pushing products far below it. */
#wrapper { padding-top: 1.6rem; background: var(--napalmi-background); }
#wrapper .breadcrumb { margin-bottom: 1.35rem; font-size: .9375rem; overflow-wrap: anywhere; }
#wrapper .breadcrumb li a { color: var(--napalmi-ink); }
#wrapper .breadcrumb li a:hover { color: var(--napalmi-action-hover); }
#content-wrapper, #main, #left-column, #right-column { min-width: 0; }
.napalmi-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  margin-bottom: 1.2rem;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background: #e6e2d8;
  border-left: 5px solid var(--napalmi-accent);
}

.napalmi-hero-copy, .napalmi-hero-art { min-width: 0; }
.napalmi-hero .eyebrow, .napalmi-hero .napalmi-eyebrow {
  margin-bottom: .75rem;
  color: #8a3013;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.napalmi-hero h1 {
  max-width: 16ch;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4.15vw, 3.6rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.025em;
}

.napalmi-hero-copy > p { max-width: 48ch; font-size: 1.1rem; line-height: 1.6; }
.napalmi-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }
.napalmi-hero-actions a { display: inline-flex; align-items: center; justify-content: center; }
.napalmi-hero-actions .napalmi-help-link { min-height: 44px; padding: .65rem .3rem; color: #873516; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.napalmi-hero-art { padding: 1.5rem 0; text-align: center; }
.napalmi-laptop-screen {
  position: relative;
  width: 88%;
  aspect-ratio: 16 / 10;
  margin: 0 auto;
  overflow: hidden;
  background: linear-gradient(145deg, #26282a 25%, #47413c 65%, #a84b28);
  border: 10px solid #292929;
  border-bottom-width: 16px;
  border-radius: 9px 9px 0 0;
  box-shadow: 0 14px 30px #40302020;
}

.napalmi-laptop-screen::before {
  position: absolute;
  inset: 15% 12%;
  content: "";
  border: 1px solid #ffffff30;
  background: linear-gradient(140deg, #ffffff08, #ffffff00);
}

.napalmi-laptop-base {
  width: 100%;
  height: 14px;
  background: linear-gradient(#d6d5d0, #8b8b86);
  border-radius: 0 0 45% 45%;
  box-shadow: 0 14px 15px #40302025;
}

.napalmi-service-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .7rem 2rem;
  margin-bottom: 2.5rem;
  padding: 1.1rem 1.4rem;
  background: #fff;
  border: 1px solid var(--napalmi-line);
}

.napalmi-service-strip p { margin: 0; }
.napalmi-service-strip a { font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.napalmi-help-section { margin: 2.5rem 0; padding: clamp(1.4rem, 3vw, 2.5rem); background: #e6e2d8; border-left: 5px solid var(--napalmi-accent); }
.napalmi-help-section h2 { max-width: 30ch; margin-bottom: .8rem; }
.napalmi-help-section p { max-width: 58ch; }

/* Actual product miniatures, including variants, reviews and pricing hooks. */
#products .products, .featured-products .products, .product-accessories .products {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 1.25rem;
  margin: 0;
}

#products .products > .product, .featured-products .products > .product,
.product-accessories .products > .product {
  display: flex;
  float: none;
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 0;
  margin: 0;
}

.product-miniature {
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.product-miniature .thumbnail-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: auto;
  margin: 0;
  overflow: visible;
  background: #fff;
  border: 1px solid var(--napalmi-line);
  box-shadow: none;
}

.product-miniature .thumbnail-container:hover { border-color: #aaa297; }
.product-miniature .thumbnail-top { padding: 1rem 1rem 0; overflow: visible; }
.product-miniature .thumbnail-container .product-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  aspect-ratio: 4 / 3;
  padding: .5rem;
  background: #fff;
}

.product-miniature .product-thumbnail picture { display: flex; justify-content: center; width: 100%; height: 100%; }
.product-miniature .thumbnail-container .product-thumbnail img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}

.product-miniature .highlighted-informations,
.product-miniature .thumbnail-container:hover .highlighted-informations,
.product-miniature .thumbnail-container:focus .highlighted-informations,
.product-miniature .thumbnail-container:hover .highlighted-informations.no-variants,
.product-miniature .thumbnail-container:focus .highlighted-informations.no-variants {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  padding: .2rem 0;
  background: #fff;
  transition: none;
}

.product-miniature .highlighted-informations .quick-view {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .4rem .25rem;
  color: var(--napalmi-muted);
  font-size: .9rem;
}

.product-miniature .highlighted-informations .quick-view:hover { color: var(--napalmi-action-hover); }
.product-miniature .variant-links { top: auto; padding: .5rem; }
.product-miniature .product-description {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: auto;
  height: auto;
  padding: .75rem 1.25rem 1.25rem;
  text-align: left;
}

.product-miniature .thumbnail-container:hover .product-description::after,
.product-miniature .thumbnail-container:focus .product-description::after { content: none; }
.product-miniature .product-title {
  margin: 0 0 .8rem;
  font-size: 1.12rem;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
}

.product-miniature .product-title a {
  color: var(--napalmi-ink);
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.product-miniature .product-title a:hover { color: var(--napalmi-action-hover); }
.product-miniature .product-price-and-shipping {
  margin: .75rem 0;
  color: var(--napalmi-ink);
  font-size: 1.55rem;
  text-align: left;
  overflow-wrap: anywhere;
}

.product-miniature .regular-price { color: var(--napalmi-muted); font-size: .95rem; }
.product-miniature .product-price-and-shipping .discount-product {
  display: inline-block;
  padding: .15rem .35rem;
  color: #fff;
  background: var(--napalmi-action);
  font-size: .85rem;
}

.product-flags li.product-flag {
  padding: .35rem .6rem;
  color: #fff;
  background: var(--napalmi-secondary);
  box-shadow: none;
  font-size: .8rem;
  line-height: 1.35;
}

.product-flags li.product-flag.discount,
.product-flags li.product-flag.on-sale { background: var(--napalmi-action); }
.product-flags li.product-flag.napalmi-in-cart { color: var(--napalmi-ink); background: var(--napalmi-background); border: 1px solid var(--napalmi-line); }
.product-miniature .product-flags { top: .75rem; left: .75rem; }
.product-miniature .product-flags li.product-flag { min-height: 0; }
.product-miniature .comments_note { text-align: left; }
.napalmi-card-facts { color: var(--napalmi-muted); font-size: .9rem; }
.napalmi-card-facts dl, .napalmi-product-facts dl,
dl.napalmi-card-facts, dl.napalmi-product-facts {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr);
  gap: .4rem .7rem;
  margin: 0;
}

.napalmi-card-facts dl > div, .napalmi-product-facts dl > div,
dl.napalmi-card-facts > div, dl.napalmi-product-facts > div {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr);
  gap: .4rem .7rem;
}

.napalmi-card-facts dt, .napalmi-product-facts dt { font-weight: 400; overflow-wrap: anywhere; }
.napalmi-card-facts dd, .napalmi-product-facts dd { margin: 0; color: var(--napalmi-ink); font-weight: 600; overflow-wrap: anywhere; }
/* Only the four overview values are clipped; full strings remain in the DOM
   and their escaped title. Expanded details and product-page values stay full. */
.product-miniature .napalmi-card-facts--primary dt { font-size: .8rem; line-height: 1.45; }
.product-miniature .napalmi-card-facts--primary > div:not(.napalmi-card-condition) > dd { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.napalmi-card-assurance { display: flex; flex-wrap: wrap; gap: .2rem .65rem; margin: .65rem 0 .15rem; padding-top: .55rem; border-top: 1px solid var(--napalmi-line); color: var(--napalmi-muted); font-size: .85rem; line-height: 1.4; }
.napalmi-card-assurance > div { display: flex; flex-wrap: wrap; gap: .2rem; min-width: 0; }
.napalmi-card-assurance dt { margin: 0; font-weight: 400; }
.napalmi-card-assurance dt::after { content: ':'; }
.napalmi-card-assurance dd { margin: 0; color: var(--napalmi-ink); font-weight: 600; overflow-wrap: anywhere; }
.napalmi-more-facts { margin: .45rem 0 .75rem; }
.napalmi-more-facts > summary {
  display: list-item;
  min-height: 44px;
  padding: .6rem 0;
  color: var(--napalmi-action-hover);
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}
.napalmi-more-facts > summary::marker { color: var(--napalmi-action); }
.napalmi-more-facts > summary:focus-visible { outline: 3px solid var(--napalmi-focus); outline-offset: 3px; }
.napalmi-more-facts[open] > summary { margin-bottom: .35rem; }
.napalmi-card-availability { margin: 0 0 .85rem; color: var(--napalmi-muted); font-size: .9rem; }
.napalmi-disc-facts { display: flex; flex-wrap: wrap; gap: .25rem .7rem; margin: .7rem 0; color: var(--napalmi-muted); font-size: .9rem; }
.napalmi-disc-facts span { overflow-wrap: anywhere; }
.product-miniature .napalmi-card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: auto;
  padding: .65rem .8rem;
  color: #fff;
  background: var(--napalmi-action);
  font-weight: 600;
  text-align: center;
}

.product-miniature .napalmi-card-link:hover { color: #fff; background: var(--napalmi-action-hover); }
/* The cart recommendations module owns its Add / View action. Keep the product
 * name link and every other miniature context; hide only its duplicate CTA.
 */
.napalmi-recommendations .product-miniature .napalmi-card-link { display: none; }
#products .products-section-title, .featured-products .products-section-title,
.product-accessories .products-section-title {
  margin: 2.5rem 0 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: left;
  text-transform: none;
}

.featured-products .all-product-link { margin-top: 1.25rem; color: var(--napalmi-action-hover); font-weight: 600; }
.featured-products { margin-bottom: 2.5rem; }

/* Listing controls remain the native faceted-search and sorting controls. */
.block-category, #search_filters, #search_filters_brands, #search_filters_suppliers,
.block-categories, .card, .page-content.page-cms {
  border: 1px solid var(--napalmi-line);
  border-radius: 0;
  box-shadow: none;
}

.block-category { min-height: 0; padding: 1.5rem; }
.block-category h1 { margin-bottom: .75rem; text-transform: none; }
.block-category #category-description p { color: var(--napalmi-muted); }
#search_filters .facet .facet-label a { color: var(--napalmi-ink); overflow-wrap: anywhere; }
#search_filters .facet .facet-title { color: var(--napalmi-ink); }
.products-selection { padding: .75rem 0; }
.products-sort-order .select-title { min-height: 44px; border-color: #918b82; box-shadow: none; }
.products-sort-order .dropdown-menu { border: 1px solid var(--napalmi-line); box-shadow: 0 6px 18px #0002; }
.products-sort-order .select-list:hover { color: #fff; background: var(--napalmi-action); }
.active_filters { background: #e4e0d6; box-shadow: none; }
.active_filters .filter-block { box-shadow: none; }
.pagination { margin-top: 1.5rem; }
.pagination .page-list { padding: .3rem .65rem; background: #fff; border: 1px solid var(--napalmi-line); }
.pagination .page-list li { display: inline-block; }
.pagination .page-list a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 44px; }
.pagination .current a { color: var(--napalmi-action-hover); text-decoration: underline; text-underline-offset: .3em; }

/* Product detail: large imagery, legible facts and the untouched buy form. */
#product #main > .product-container { margin-top: .5rem; }
#product .product-container h1 { margin-bottom: 1.3rem; text-transform: none; }
#product .product-cover { padding: 1.25rem; background: #fff; border: 1px solid var(--napalmi-line); }
#product .product-cover img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover { border-color: var(--napalmi-accent); }
.product-prices { margin: 1.25rem 0; }
.product-price { color: var(--napalmi-ink); }
.product-prices .current-price { font-size: 2rem; font-weight: 600; }
.has-discount .discount { color: #fff; background: var(--napalmi-action); }
.product-information { color: var(--napalmi-ink); font-size: 1rem; }
.product-information .product-description p,
.product-information .product-description li { color: var(--napalmi-ink); font-size: 1rem; }
.napalmi-product-facts, dl.napalmi-product-facts { margin: 1.25rem 0; padding: 1.25rem; background: #fff; border: 1px solid var(--napalmi-line); }
.napalmi-product-facts h2, .napalmi-product-facts h3 { margin-bottom: 1rem; font-size: 1.2rem; }
.product-variants > .product-variants-item select { max-width: 100%; }
.product-actions .product-quantity { gap: .5rem; align-items: stretch; }
.product-quantity .qty, .product-quantity .add { margin: 0 0 .75rem; }
.product-quantity #quantity_wanted { min-height: 50px; height: 50px; }
.bootstrap-touchspin .input-group-btn-vertical .btn,
.product-quantity .input-group-btn-vertical .btn { min-height: 0; height: 25px; padding: .35rem .6875rem; }
.product-quantity .add-to-cart { min-height: 50px; }
.product-quantity .add { min-width: 0; }
.product-quantity .add-to-cart .material-icons { margin-right: .25rem; }
#product-availability { margin: .5rem 0; }
#product-availability .alert { padding: .9rem 1rem; border-radius: 0; }
.napalmi-product-content { margin: 1.5rem 0; overflow-wrap: anywhere; }
.tabs { padding: 1.5rem; border: 1px solid var(--napalmi-line); }
.tabs .nav-tabs { display: flex; flex-wrap: wrap; gap: .3rem .7rem; border-bottom-color: var(--napalmi-line); }
.tabs .nav-tabs .nav-item { margin-left: 0; }
.tabs .nav-tabs .nav-link { padding: .75rem .25rem; color: var(--napalmi-muted); }
.tabs .nav-tabs .nav-link.active, .tabs .nav-tabs .nav-link:hover { color: var(--napalmi-action-hover); border-bottom-color: var(--napalmi-accent); }
.product-features > dl.data-sheet dt.name, .product-features > dl.data-sheet dd.value { color: var(--napalmi-ink); background: #f3f1eb; text-transform: none; overflow-wrap: anywhere; }

/* Restrained styling for inherited checkout, account and modal pages. */
body#checkout, body#checkout #wrapper { background: var(--napalmi-background); }
body#checkout section.checkout-step { border: 1px solid var(--napalmi-line); box-shadow: none; }
body#checkout section.checkout-step .step-title { font-size: 1.25rem; text-transform: none; }
body#checkout section.checkout-step.-current .step-number { background: var(--napalmi-secondary); }
.cart-summary, .cart-grid-body .card { border-radius: 0; box-shadow: none; }
.cart-summary .card-block, .cart-grid-body .card-block { padding: 1.25rem; }
.product-line-grid-body > .product-line-info > .label { color: var(--napalmi-ink); overflow-wrap: anywhere; white-space: normal; }
.cart-summary-line .value { color: var(--napalmi-ink); }
.cart-summary-line.cart-total { background: #e8e4da; }
.cart-grid-body > a.label { display: inline-block; padding: .75rem 0; color: var(--napalmi-action-hover); }
.modal-content { border-radius: 0; }
#blockcart-modal .modal-header { background: var(--napalmi-secondary); }
#blockcart-modal .product-name { color: var(--napalmi-ink); }
.modal-header .close { min-width: 44px; min-height: 44px; opacity: 1; }
.page-my-account #content .links a span.link-item { border: 1px solid var(--napalmi-line); box-shadow: none; }
.page-my-account #content .links a:hover i { color: var(--napalmi-action-hover); }

/* Existing footer hooks and collapsible link groups retain their behavior. */
#footer { padding-top: 2.5rem; background: #fff; }
#footer > .container { padding-bottom: 1.5rem; }
.footer-container { margin-top: 0; padding: 2.5rem 0 1rem; background: #e7e4dc; border-top: 1px solid #d4cfc4; box-shadow: none; }
.footer-container .h3, .footer-container .h4 { color: var(--napalmi-ink); font-size: 1.12rem; text-transform: none; }
.footer-container li a, .block-contact, .account-list a { color: #59554f; font-size: .98rem; line-height: 1.7; }
.footer-container li { margin-bottom: .35rem; }
.footer-container li a:hover { color: var(--napalmi-action-hover); text-decoration: underline; }
.block_newsletter { margin-bottom: 1rem; }
.block_newsletter #block-newsletter-label { color: var(--napalmi-ink); font-size: 1.15rem; }
.block_newsletter form input[type="email"], .block_newsletter form input[type="text"] { min-width: 0; min-height: 44px; color: var(--napalmi-ink); border: 1px solid #918b82; border-radius: 0; }
.block_newsletter form input { font-family: inherit; }
.block-social { padding-top: .5rem; }

@media (min-width: 768px) {
  #products .products, .featured-products .products, .product-accessories .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  #products .products, .featured-products .products, .product-accessories .products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #content-wrapper.left-column #products .products,
  #content-wrapper.right-column #products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .container { width: 1200px; max-width: 100%; }
  #products .products, .featured-products .products, .product-accessories .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #content-wrapper.left-column #products .products,
  #content-wrapper.right-column #products .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 768px) and (max-width: 991px) {
  #header .header-top a[data-depth="0"] { padding: .7rem .4rem; }
  .napalmi-hero { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 1rem; }
  .napalmi-hero h1 { font-size: 2.5rem; }
}

@media (max-width: 767px) {
  #header .header-nav { color: var(--napalmi-ink); background: #fff; border-bottom: 1px solid var(--napalmi-line); }
  #header .header-nav .mobile { display: grid; grid-template-columns: 76px minmax(0, 1fr) 76px; align-items: center; min-height: 84px; padding: .4rem 0; }
  #header .header-nav .mobile > .clearfix { grid-column: 1 / -1; height: 0; }
  #header #_mobile_logo { grid-column: 2; grid-row: 1; min-width: 0; }
  #header .header-nav a, #header .header-nav .blockcart a,
  #header .header-nav .cart-preview .shopping-cart { color: var(--napalmi-ink); }
  #header .header-nav a:focus-visible { outline-color: var(--napalmi-focus); }
  #header .header-nav #menu-icon { display: inline-flex; grid-column: 1; grid-row: 1; align-items: center; gap: .1rem; min-width: 44px; min-height: 44px; margin: 0 .4rem 0 0; padding: 0; color: var(--napalmi-ink); background: none; border: 0; font-size: .875rem; }
  #header .header-nav #menu-icon .material-icons { height: 24px; line-height: 24px; }
  #header .top-logo { min-height: 72px; justify-content: center; }
  #header .top-logo a { display: block; max-width: 100%; }
  #header .top-logo img { width: 120px; max-width: 100%; max-height: 70px; object-fit: contain; }
  #header .header-nav .user-info { margin: 0 .2rem; }
  #header .header-nav .user-info a { display: inline-flex; align-items: center; min-height: 44px; }
  #header .header-nav .blockcart { min-height: 44px; height: auto; margin: 0 0 0 .25rem; padding: .65rem .5rem; background: #f0efe9; }
  #header .header-nav .cart-preview.active { background: var(--napalmi-action); }
  #header .header-nav .cart-preview.active a,
  #header .header-nav .cart-preview.active i { color: #fff; }
  #header .header-top { padding-top: 0; padding-bottom: .85rem; }
  #header .header-top-right { gap: .65rem; margin-top: 0; padding-top: .85rem; padding-bottom: 0; border-top: 0; }
  #header #search_widget { margin: 0; }
  #header .napalmi-company-nav { flex-basis: 100%; }
  #header .napalmi-company-nav ul { justify-content: flex-start; gap: .2rem 1rem; }
  #header .napalmi-company-nav a { min-height: 44px; }
  #header #mobile_top_menu_wrapper { margin-top: .85rem; padding: .4rem 15px 1rem; background: #fff; border-top: 1px solid var(--napalmi-line); }
  #header #mobile_top_menu_wrapper .top-menu { margin-bottom: 0; }
  #header #mobile_top_menu_wrapper .top-menu a[data-depth="0"] { min-height: 48px; padding: .8rem 0; border-bottom: 1px solid var(--napalmi-line); }
  #header #mobile_top_menu_wrapper .top-menu .sub-menu { padding: .25rem .75rem; border: 0; box-shadow: none; }
  #header #mobile_top_menu_wrapper .top-menu .sub-menu li > a { min-height: 44px; padding: .65rem .4rem; }
  #header #mobile_top_menu_wrapper .top-menu .navbar-toggler { min-width: 44px; min-height: 44px; margin-top: -.6rem; padding: .65rem; }
  #header #mobile_top_menu_wrapper .js-top-menu-bottom { margin-top: 1rem; }
  #header .napalmi-company-mobile { display: flex; flex-direction: column; align-items: flex-start; gap: .1rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--napalmi-line); }
  #header .napalmi-company-mobile .h5 { margin: .25rem 0 .65rem; }
  #header .napalmi-company-mobile a { display: inline-flex; align-items: center; min-height: 44px; }
  #header .napalmi-company-mobile .napalmi-current { color: var(--napalmi-action-hover); font-weight: 600; }
  #header .napalmi-company-mobile a.btn { margin-top: .5rem; }
  #wrapper { padding-top: 1.1rem; }
  #wrapper .breadcrumb { margin-bottom: 1rem; }
  .napalmi-hero { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.5rem; }
  .napalmi-hero h1 { max-width: 18ch; font-size: clamp(2rem, 7.5vw, 3rem); }
  .napalmi-hero-copy > p { font-size: 1.02rem; }
  /* The decorative device stays on desktop; mobile puts the catalog sooner. */
  .napalmi-hero-art { display: none; }
  .napalmi-service-strip { padding: 1rem; margin-bottom: 1.75rem; }
  .napalmi-laptop-screen { border-width: 7px; border-bottom-width: 10px; }
  .napalmi-laptop-base { height: 10px; }
  .product-miniature .thumbnail-container .product-thumbnail { aspect-ratio: 16 / 10; }
  .product-miniature .product-description { padding: .75rem 1.25rem 1.25rem; }
  .product-miniature .product-title { font-size: 1.2rem; }
  .product-miniature .product-price-and-shipping { font-size: 1.65rem; }
  .product-miniature .napalmi-card-link { margin-top: .5rem; }
  #products .products-section-title, .featured-products .products-section-title { margin-top: 1.75rem; font-size: 1.6rem; }
  .block-category { padding: 1.1rem; }
  #category #left-column #search_filters_wrapper { margin-right: 0; margin-left: 0; }
  #category #left-column #search_filters { border: 1px solid var(--napalmi-line); }
  #category #left-column #search_filters .facet .h6 { padding: 1rem; }
  #category #left-column #search_filters .facet ul li { padding: .85rem 1rem; }
  .products-selection .sort-by-row { margin-left: -15px; margin-right: -15px; }
  #product #main > .product-container { margin-top: 0; }
  #product .product-cover { padding: .85rem; }
  #product .product-container h1 { margin-top: 1rem; font-size: 1.85rem; }
  .product-prices .current-price { font-size: 1.85rem; }
  .napalmi-product-facts, dl.napalmi-product-facts { padding: 1rem; }
  .tabs { padding: 1rem; }
  .tabs .nav-tabs .nav-link { font-size: .95rem; }
  .product-features > dl.data-sheet dt.name,
  .product-features > dl.data-sheet dd.value { padding: .6rem; }
  .cart-summary .card-block, .cart-grid-body .card-block { padding: 1rem; }
  body#checkout section.checkout-step { padding: 1rem; }
  body#checkout section.checkout-step .content { padding: 0; }
  #blockcart-modal .cart-content-btn { display: flex; flex-wrap: wrap; gap: .5rem; }
  #blockcart-modal .cart-content-btn .btn { margin: 0; max-width: 100%; }
  #footer { padding-top: 1.75rem; }
  .footer-container { padding-top: 1.5rem; }
  .footer-container .links .title { min-height: 48px; padding: .8rem 15px; }
  .footer-container .links .title .h3 { margin: 0; }
  .footer-container .links ul { background: #f0ede6; }
  .footer-container .links ul > li { padding: .6rem 15px; font-weight: 400; border-bottom-color: #e1dcd1; }
  .footer-container .links ul > li a { color: #59554f; }
  .block-contact { margin-top: 1.5rem; }
}

@media (max-width: 374px) {
  #header .top-logo img { width: 102px; }
  #header .header-nav #menu-icon { margin-right: 0; }
  .napalmi-hero { padding: 1.25rem; }
  .napalmi-hero-actions { flex-direction: column; }
  .napalmi-hero-actions a { width: 100%; }
  .product-actions .product-quantity .add { flex-basis: 100%; }
  .product-actions .product-quantity .add-to-cart { width: 100%; }
  .product-miniature .product-description { padding: .75rem 1rem 1rem; }
  .napalmi-card-facts dl, .napalmi-product-facts dl,
  .napalmi-card-facts dl > div, .napalmi-product-facts dl > div,
  dl.napalmi-card-facts, dl.napalmi-product-facts,
  dl.napalmi-card-facts > div, dl.napalmi-product-facts > div { column-gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-cover .layer, .top-menu .sub-menu, .product-miniature .highlighted-informations { transition: none; }
}

/* Only the category tree is disclosed; neighboring filters are independent. */
.napalmi-category-tree {
  margin-bottom: 1.563rem;
  color: var(--napalmi-ink);
  background: #fff;
  border: 1px solid var(--napalmi-line);
}

.napalmi-category-tree > summary {
  display: list-item;
  min-height: 48px;
  padding: .8rem 1.2rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
}

.napalmi-category-tree > summary::marker { color: var(--napalmi-action); }
.napalmi-category-tree > summary:hover { color: var(--napalmi-action-hover); }
.napalmi-category-tree > summary:focus-visible { outline: 3px solid var(--napalmi-focus); outline-offset: 3px; }
.napalmi-category-tree > .block-categories { padding: .3rem 1.2rem 1.2rem; margin-bottom: 0; border: 0; }
.napalmi-category-tree .category-top-menu { margin-bottom: 0; }

@media (max-width: 767px) {
  .napalmi-category-tree { margin-bottom: 1rem; }
}

/* November 2026 storefront: shared design tokens and the four approved layouts.
 * Keep native commerce/facet selectors and AJAX replacement roots intact.
 */
.btn, .form-control, .custom-select { border-radius: var(--napalmi-radius); }
.card, .product-miniature .thumbnail-container { border-radius: var(--napalmi-radius); }
.product-miniature .thumbnail-top { padding: .8rem .8rem 0; }
.product-miniature .product-description { padding: .65rem 1rem 1rem; }
.product-miniature .product-title { margin-bottom: .55rem; font-size: 1.12rem; }
.product-miniature .product-price-and-shipping { margin: .6rem 0; font-weight: 600; }
.product-miniature .napalmi-card-link { border-radius: 3px; }
.product-miniature .highlighted-informations .quick-view { min-height: 36px; font-size: .85rem; }
.product-flags li.product-flag { border-radius: 3px; }
.napalmi-card-facts { line-height: 1.4; }
.napalmi-card-facts .napalmi-grade dd, .napalmi-card-facts .napalmi-warranty dd { color: #42372a; }
.napalmi-card-facts .napalmi-grade, .napalmi-card-facts .napalmi-warranty { padding-top: .15rem; }

/* Compact company row, clear search, then the complete core category menu. */
#header .header-nav .blockcart { min-height: 40px; padding: .45rem .8rem; }
#header .header-nav #_desktop_contact_link #contact-link { margin: .55rem 0; }
#header .header-top { padding-top: .4rem; }
#header #search_widget form input[type="text"] { border-color: var(--napalmi-line); background: #f7f7f5; }
#header #search_widget form:has(.napalmi-search-submit) input[type="text"] { border-radius: 4px 0 0 4px; }
#header #search_widget form .napalmi-search-submit { border-radius: 0 4px 4px 0; }
#header .header-top a[data-depth="0"] { font-weight: 500; }
#header .napalmi-company-nav a { font-size: .95rem; font-weight: 500; }
#header .top-menu .sub-menu a:focus-visible { outline-offset: 1px; }

/* Category descriptions stay editable in core; only the short intro is above products. */
.napalmi-category-heading { margin-bottom: 1rem; }
.napalmi-category-heading h1 { margin: 0 0 .4rem; }
.napalmi-category-intro { max-width: 80ch; margin: 0; color: var(--napalmi-muted); font-size: 1.12rem; }
#subcategories.napalmi-category-shortcuts { margin: 0 0 1.5rem; padding: 0; border: 0; background: none; }
#subcategories.napalmi-category-shortcuts .subcategories-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; margin: 0; }
#subcategories.napalmi-category-shortcuts li { float: none; min-width: 0; width: 100%; max-width: 100%; margin: 0; text-align: center; }
#subcategories.napalmi-category-shortcuts .subcategory-name { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .65rem; width: 100%; min-width: 0; height: 100%; min-height: 166px; padding: .7rem .45rem .85rem; color: var(--napalmi-ink); background: #fff; border: 1px solid #e6d7ca; border-radius: var(--napalmi-radius); font-size: .95rem; font-weight: 600; line-height: 1.25; text-transform: none; white-space: normal; }
#subcategories.napalmi-category-shortcuts .subcategory-name > span { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; word-break: normal; hyphens: auto; }
#subcategories.napalmi-category-shortcuts .napalmi-shortcut-image { display: block; width: 100%; height: 110px; object-fit: contain; }
#subcategories.napalmi-category-shortcuts .napalmi-shortcut-icon { display: flex; align-items: center; justify-content: center; width: 100%; height: 110px; color: #8d6953; background: #f7f3ed; border-radius: 4px; }
#subcategories.napalmi-category-shortcuts .napalmi-shortcut-icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 2; }
#subcategories.napalmi-category-shortcuts .napalmi-shortcut-arrow { display: none; }
#subcategories.napalmi-category-shortcuts .subcategory-name:hover { color: var(--napalmi-action-hover); border-color: var(--napalmi-action); }
.napalmi-category-description { display: flow-root; margin: 1.7rem 0; padding: 1.4rem; }
.napalmi-category-description #category-description > :last-child { margin-bottom: 0; }
.napalmi-category-image { float: right; max-width: 30%; height: auto; margin: 0 0 1rem 1.5rem; border-radius: var(--napalmi-radius); }
.napalmi-category-benefit { margin: 1.5rem 0; }
#search_filters { padding: 1.1rem; }
#search_filters .facet { margin-bottom: 1.1rem; }
#search_filters .facet .facet-title { margin-bottom: .6rem; font-weight: 600; text-transform: none; }
#search_filters .facet .facet-label { min-height: 32px; }
.products-selection { margin-bottom: .7rem; padding-top: 0; }
.products-sort-order .select-title { border-color: var(--napalmi-line); border-radius: var(--napalmi-radius); }
.pagination .page-list { border: 0; background: none; }
.pagination .page-list a { min-width: 42px; border: 1px solid var(--napalmi-line); border-radius: 3px; background: #fff; }
.pagination .current a { color: #fff; background: var(--napalmi-action); border-color: var(--napalmi-action); text-decoration: none; }

/* Full-width product explanation begins after the untouched purchase columns. */
#product .product-container h1 { margin-bottom: .9rem; font-weight: 600; }
#product .product-cover { border-radius: var(--napalmi-radius); }
#product .product-prices .current-price { color: var(--napalmi-action); font-size: clamp(1.9rem, 2.5vw, 2.5rem); }
.napalmi-product-facts, dl.napalmi-product-facts { padding: 1rem; border-radius: var(--napalmi-radius); }
.napalmi-product-details-wide { clear: both; margin: 1.5rem 0; }
.napalmi-product-details-wide .tabs { margin-top: 0; padding: 1.4rem 1.6rem; background: #fff; border-radius: var(--napalmi-radius); }
.napalmi-product-details-wide .tab-content { padding-top: 1.2rem; }
.napalmi-product-details-wide .product-description { max-width: 90ch; }
.napalmi-product-details-wide .product-description img { max-width: 100%; height: auto; }
.napalmi-product-benefit-summary,
.napalmi-product-condition,
.napalmi-product-media-overview,
.napalmi-product-media-getting-started,
.napalmi-product-benefit-full { clear: both; margin: 1.5rem 0; min-width: 0; overflow-wrap: anywhere; }
.napalmi-product-benefit-summary { margin-top: 1rem; }
/* Keep empty module roots mounted for variant refresh, without their wrapper gap.
 * :only-child leaves another hook contributor visible. When AJAX fills/unhides
 * the root these selectors stop matching; media siblings are never selected.
 */
:is(.napalmi-product-condition, .napalmi-product-benefit-summary, .napalmi-product-benefit-full):has(> .npc-content-root:only-child:is(:empty, [hidden])),
.napalmi-product-content:not([data-content-url]):has(> .napalmi-product-content[data-content-url]:only-child:is(:empty, [hidden])) {
  display: none;
}
.product-accessories { margin: 2rem 0; }
.product-accessories > .h5 { margin-bottom: 1rem; font-size: 1.5rem; font-weight: 600; text-transform: none !important; }

/* Cart is the native checkout contract in a calm two-column layout. */
.napalmi-cart-heading h1 { margin-bottom: 1.4rem; }
.napalmi-cart-progress { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.napalmi-cart-progress li { display: flex; align-items: center; gap: .65rem; color: var(--napalmi-muted); line-height: 1.3; }
.napalmi-cart-progress li:not(:last-child)::after { content: ''; flex: 1 1 1rem; height: 1px; margin-left: .5rem; background: #d6d3cc; }
.napalmi-cart-progress li > span { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; color: #444; background: #e3e1db; border-radius: 50%; font-weight: 600; }
.napalmi-cart-progress li[aria-current] { color: var(--napalmi-action-hover); font-weight: 600; }
.napalmi-cart-progress li[aria-current] > span { color: #fff; background: var(--napalmi-action); }
#cart .cart-grid { margin-top: 0; }
#cart .cart-container, #cart .cart-summary { border-color: var(--napalmi-line); }
#cart .cart-container > .card-block { padding-bottom: 1rem; }
#cart .cart-container h2, #cart .napalmi-cart-summary-title h2 { margin: 0; font-size: 1.35rem; }
#cart .cart-container .separator { margin: 0 1.25rem; }
#cart .cart-item { padding: 1.5rem 1.25rem; }
#cart .product-line-grid-left img { max-height: 160px; object-fit: contain; }
#cart .product-line-grid-body > .product-line-info > .label { font-weight: 600; font-size: 1.12rem; }
#cart .cart-summary .napalmi-cart-summary-title { padding-bottom: .6rem; }
#cart .cart-summary-line.cart-total { margin: .7rem 0 0; padding-top: 1.1rem; background: #fff; border-top: 1px solid var(--napalmi-line); }
#cart .cart-summary-line.cart-total .label, #cart .cart-summary-line.cart-total .value { font-size: 1.25rem; font-weight: 600; }
#cart .checkout .btn-primary { width: 100%; min-height: 52px; font-size: 1.12rem; }
#cart .cart-grid-right #block-reassurance { margin-top: 1rem; }

/* Accessories stay secondary to the basket and checkout. Keep every fact and
 * core action visible; compact the image space without cropping the product.
 */
.napalmi-recommendations > h2 { margin-bottom: .8rem; font-size: 1.25rem; line-height: 1.4; }
.napalmi-recommendations .napalmi-recommendations__items { gap: .75rem; }
.napalmi-recommendations .product-miniature .thumbnail-top { padding: .6rem .6rem 0; }
.napalmi-recommendations .product-miniature .thumbnail-container .product-thumbnail { height: 112px; aspect-ratio: auto; padding: .25rem; }
.napalmi-recommendations .product-miniature .product-description { padding: .5rem .8rem .8rem; }
.napalmi-recommendations .product-miniature .product-title { margin-bottom: .4rem; font-size: 1rem; }
.napalmi-recommendations .product-miniature .product-price-and-shipping { margin: .4rem 0; font-size: 1.25rem; }
.napalmi-recommendations .napalmi-card-availability { margin-bottom: .5rem; }
.napalmi-recommendations .product-miniature .highlighted-informations .quick-view { min-height: 44px; }
.napalmi-recommendations .napalmi-recommendations__action { margin-bottom: 0; }
.napalmi-recommendations .napalmi-recommendations__action.btn,
.napalmi-recommendations .napalmi-recommendations__action .btn { min-height: 44px; padding: .6rem .75rem; font-size: .95rem; white-space: normal; }

/* Real logo + existing editable footer modules, with their native mobile disclosure. */
#footer { margin-top: 2rem; padding-top: 1.8rem; background: #fff; }
.footer-container { padding-top: 2.2rem; color: #e8e6e0; background: var(--napalmi-footer); border-top: 0; }
.footer-container .h3, .footer-container .h4, .footer-container .h5,
.footer-container .block-contact .block-contact-title { color: #fff; }
.footer-container a, .footer-container li a, .footer-container .block-contact, .footer-container .account-list a { color: #d8d7d1; }
.footer-container a:hover, .footer-container li a:hover { color: #fff; }
.footer-container a:focus-visible { outline-color: #ffb79d; }
.napalmi-footer-brand { padding-top: .1rem; padding-bottom: 1.5rem; }
.napalmi-footer-brand a { display: inline-block; }
.napalmi-footer-brand img { display: block; width: 145px; max-width: 100%; height: auto; }
.napalmi-footer-links { min-width: 0; }
.napalmi-footer-links > .links { padding-left: 0; }
.footer-container > .container > .row:last-child { margin-top: 1.3rem; padding-top: 1rem; border-top: 1px solid #464742; }
.footer-container > .container > .row:last-child p { margin-bottom: .5rem; color: #cbc9c3; font-size: .9rem; text-align: left !important; }

@media (min-width: 992px) {
  #cart .cart-grid-right .cart-summary { position: sticky; top: 1.2rem; }
}
@media (max-width: 767px) {
  .napalmi-category-intro { font-size: 1rem; }
  #subcategories.napalmi-category-shortcuts .subcategories-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  #subcategories.napalmi-category-shortcuts .subcategory-name { min-height: 150px; padding: .6rem .4rem .7rem; gap: .45rem; font-size: .88rem; }
  #subcategories.napalmi-category-shortcuts .napalmi-shortcut-image,
  #subcategories.napalmi-category-shortcuts .napalmi-shortcut-icon { height: 100px; }
  .napalmi-category-image { float: none; max-width: 100%; max-height: 220px; margin: 0 0 1rem; object-fit: contain; }
  .napalmi-product-details-wide .tabs { padding: 1rem; }
  .napalmi-product-details-wide .nav-tabs { column-gap: 1rem; }
  .napalmi-cart-progress { gap: .5rem; margin-bottom: 1.3rem; }
  .napalmi-cart-progress li { flex-direction: column; align-items: flex-start; gap: .4rem; font-size: .875rem; }
  .napalmi-cart-progress li:not(:last-child)::after { display: none; }
  .napalmi-cart-progress li > span { flex-basis: 32px; width: 32px; height: 32px; }
  #cart .cart-item { padding: 1.2rem 1rem; }
  #cart .cart-grid-right { margin-top: 1.1rem; }
  .napalmi-footer-brand { padding-left: 15px; padding-bottom: 1rem; }
  .napalmi-footer-brand img { width: 130px; }
  .napalmi-footer-links { padding-right: 0; padding-left: 0; }
  .footer-container .links .title { border-bottom: 1px solid #464742; }
  .footer-container .links .title .collapse-icons { color: #fff; }
  .footer-container .links ul { background: #32332f; }
  .footer-container .links ul > li { border-bottom-color: #464742; }
  .footer-container .links ul > li a { color: #e3e1db; }
  .footer-container .block-contact { border-color: #464742; }
}

/* Commerce header: services belong to the small utility bar; search, account
 * and cart share the logo row. Keep Classic's exact 768px DOM relocation. */
#header .header-top { padding: .75rem 0 0; }
#header .napalmi-utility-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 1.5rem; }
#header .napalmi-utility-contact, #header .napalmi-utility-links { min-width: 0; }
#header .napalmi-utility-contact #contact-link { margin: 0; padding: .35rem 0; font-size: .85rem; }
#header .napalmi-utility-links { display: flex; flex-wrap: wrap; gap: 0 1.15rem; }
#header .napalmi-utility-links a { display: inline-flex; align-items: center; min-height: 36px; font-size: .85rem; }
#header .napalmi-header-grid { min-width: 0; }
#header #_desktop_logo { width: auto; min-width: 0; padding: 0; }
#header #_desktop_logo .logo { display: block; width: 136px; height: auto; max-height: 84px; }
#header .napalmi-header-actions { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .2rem .85rem; }
#header .napalmi-header-actions > * { min-width: 0; max-width: 100%; }
#header .napalmi-header-actions .user-info, #header .napalmi-header-actions .blockcart,
#header .napalmi-header-actions .language-selector, #header .napalmi-header-actions .currency-selector { margin: 0; padding: 0; height: auto; background: transparent; }
#header .napalmi-header-actions .blockcart .header { margin: 0; }
#header .napalmi-header-actions .user-info { display: flex; flex-wrap: wrap; gap: .25rem .7rem; }
#header .napalmi-header-actions a { display: inline-flex; align-items: center; gap: .25rem; min-height: 44px; font-size: .95rem; line-height: 1.25; overflow-wrap: anywhere; }
#header .napalmi-header-actions .shopping-cart { color: var(--napalmi-action); }
#header .napalmi-header-actions .material-icons { flex-shrink: 0; }
#header .napalmi-header-actions .dropdown-menu { min-width: 110px; }
#header .napalmi-header-actions .dropdown-menu a { padding: .4rem .75rem; }
#header .napalmi-header-actions #_desktop_language_selector,
#header .napalmi-header-actions #_desktop_currency_selector { order: 2; font-size: .8rem; }
#header .napalmi-catalog-links, #header .napalmi-catalog-links-mobile { display: flex; flex-wrap: wrap; align-items: center; gap: 0 1.2rem; }
#header .napalmi-catalog-links a, #header .napalmi-catalog-links-mobile a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 500; }
#header .napalmi-catalog-links a:hover, #header .napalmi-catalog-links-mobile a:hover { text-decoration: none; }
@media (min-width: 768px) {
  #header .napalmi-header-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 1rem; align-items: center; }
  #header #_desktop_logo { grid-column: 1 / 3; grid-row: 1; padding-bottom: .75rem; }
  #header .napalmi-header-actions { grid-column: 10 / -1; grid-row: 1; padding-bottom: .75rem; }
  #header .header-top-right { display: contents; }
  #header .header-top-right > * { grid-column: 1 / -1; }
  #header #search_widget { grid-column: 3 / 10; grid-row: 1; width: 100%; max-width: none; margin: 0 0 .75rem; }
  #header .header-top #_desktop_top_menu { grid-column: 1 / 11; grid-row: 2; width: auto; min-width: 0; padding: 0 .35rem; margin: 0; position: relative !important; }
  #header #_desktop_top_menu > .top-menu { justify-content: flex-start; gap: 0 .45rem; }
  #header .header-top a[data-depth="0"] { min-height: 48px; padding: .8rem .5rem; font-size: 1rem; white-space: normal; overflow-wrap: anywhere; }
  #header #_desktop_top_menu .top-menu > li { min-width: 0; max-width: 100%; }
  #header .napalmi-catalog-background { grid-column: 1 / -1; grid-row: 2; align-self: stretch; background: #fff; }
  #header .napalmi-catalog-links { grid-column: 11 / -1; grid-row: 2; position: relative; justify-content: flex-end; min-width: 0; padding-right: .5rem; font-size: .9rem; }
  #header .top-menu .sub-menu { left: 0; width: max-content; max-width: min(70vw, 900px); }
  .napalmi-footer-links { border-left: 1px solid #464742; }
}
@media (min-width: 1200px) {
  #header #_desktop_logo .logo { width: 150px; max-height: 91px; }
  #header .header-top a[data-depth="0"] { padding-inline: .85rem; }
  #header #_desktop_top_menu > .top-menu { gap: 0 .75rem; }
}
@media (max-width: 767px) {
  #header .header-top { padding: .3rem 0 .6rem; }
  #header .header-nav .mobile { grid-template-columns: 76px minmax(0, 1fr) 76px; min-height: 80px; margin: 0; padding: .25rem 0; }
  #header #_mobile_cart { grid-column: 3; grid-row: 1; }
  #header .top-logo { display: flex; align-items: center; min-height: 70px; }
  #header .top-logo img { width: 120px; max-height: 70px; }
  #header .header-nav .blockcart { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: .35rem .4rem; border-radius: 4px; }
  #header .header-nav .blockcart a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; gap: .15rem; }
  #header .header-top-right { display: block; margin: 0; padding: 0; border: 0; }
  #header #search_widget { margin: 0; }
  #header .napalmi-catalog-links { display: none; }
  #header .napalmi-mobile-account { margin-top: .75rem; padding: .75rem 0; border-block: 1px solid var(--napalmi-line); }
  #header .napalmi-mobile-account .user-info { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; }
  #header .napalmi-mobile-account a { display: inline-flex; align-items: center; min-height: 44px; gap: .35rem; }
  #header .napalmi-mobile-account .hidden-sm-down { display: inline !important; }
  #header .napalmi-company-mobile { margin-top: .5rem; padding-top: .5rem; border: 0; }
}

/* Editable home sections use the same modest corners, rhythm and typography
 * as the catalog. Content, order, crop positions and links remain module-owned.
 */
.napalmi-home .nh-section { margin-bottom: 2.75rem; }
.napalmi-home .nh-hero, .napalmi-home .nh-help, .napalmi-home .nh-item { border-radius: var(--napalmi-radius); }
.napalmi-home .nh-hero .nh-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 390px; }
.napalmi-home .nh-hero-copy { padding: 2.4rem 2.5rem; }
.napalmi-home .nh-hero .nh-inner:not(:has(> .nh-hero-image)),
.napalmi-home .nh-help .nh-inner:not(:has(> .nh-help-image)) { grid-template-columns: minmax(0, 1fr); min-height: 0; }
.napalmi-home .nh-copy h1 { font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.12; margin-bottom: 1rem; }
.napalmi-home .nh-copy h2 { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
.napalmi-home .nh-hero .nh-body { max-width: 46ch; }
.napalmi-home .nh-hero .nh-actions { gap: .65rem; margin-top: 1.25rem; }
.napalmi-home .nh-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.napalmi-home .nh-trust { margin-top: -1.5rem; padding-bottom: 1rem; }
.napalmi-home .nh-trust .nh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.napalmi-home .nh-trust .nh-item { padding: 1rem 1.3rem; }
.napalmi-home .nh-trust .nh-item h3 { font-size: 1.1rem; }
.napalmi-home .nh-trust .nh-item:nth-child(3) { border-left: 1px solid var(--napalmi-line); }
.napalmi-home .nh-products .nh-products-copy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; max-width: none; }
.napalmi-home .nh-products .nh-products-copy h2 { margin: 0; }
.napalmi-home .nh-products .nh-products-copy .nh-actions { margin: 0; }
.napalmi-home .nh-help-copy { padding: 2rem 2.5rem; }
.napalmi-home .nh-help-image { min-height: 270px; }
.napalmi-home .nh-guides .nh-item, .napalmi-guide-links a { border-radius: var(--napalmi-radius); }
.napalmi-home .nh-guides .nh-item { border-top: 3px solid var(--napalmi-accent); }
.napalmi-home .nh-benefit .napalmi-product-content__benefit { border-radius: var(--napalmi-radius); }
.napalmi-home .nh-benefit .napalmi-product-content { margin: 0; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit { padding: 1.5rem 2rem; color: #fff; background: #b83b17; border: 0; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit h2, .napalmi-home .nh-benefit .napalmi-product-content__benefit p { color: inherit; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit h2 { font-size: clamp(1.4rem, 2vw, 1.8rem); }

/* Compact, aligned commerce surfaces; no price, stock or buying decisions here. */
.napalmi-category-heading h1, #cart h1, #cart .cart-container h2, #cart .napalmi-cart-summary-title h2,
.block-categories .h6, #search_filters > .h6 { text-transform: none !important; }
.product-miniature .thumbnail-top { position: relative; padding: .65rem .65rem 0; }
.product-miniature .thumbnail-container .product-thumbnail { aspect-ratio: 3 / 2; }
.product-miniature .highlighted-informations .quick-view { min-height: 36px; padding: .3rem .5rem; border-radius: 3px; background: #f5f4ef; }
.product-miniature .highlighted-informations { text-align: right; }
.product-miniature .product-price-and-shipping { margin-top: auto; padding-top: .65rem; }
.product-miniature .product-description:has(> .product-price-and-shipping) > .napalmi-card-link { margin-top: .3rem; }
.product-miniature .product-description { gap: .15rem; }
.napalmi-card-facts { margin-bottom: .4rem; }
.products-selection { display: flex; flex-wrap: wrap; align-items: center; row-gap: .5rem; margin-bottom: 1rem; }
.products-selection > .total-products { padding-top: 0; }
.products-selection > .total-products p { margin: 0; }
.products-sort-order .select-title { min-height: 44px; padding: .6rem .85rem; }
.napalmi-category-tree > .block-categories { padding: .3rem 1rem 1rem; }
.napalmi-category-tree .block-categories .h6 { font-size: 1rem; }
#product .product-container h1 { margin-bottom: .65rem; }
#product .product-prices { margin: .8rem 0; }
#product .product-variants > .product-variants-item { margin: .8rem 0; }
#product .product-actions .product-quantity { display: flex; flex-wrap: wrap; }
#product .product-quantity .add { flex: 1 1 160px; }
#product .product-quantity .add-to-cart { width: 100%; }
.napalmi-product-details-wide .product-description { max-width: 74ch; }
.npm-video { padding: 1.6rem; border: 1px solid var(--napalmi-line); border-radius: var(--napalmi-radius); background: #fff; }
.npm-video__stage { border-radius: var(--napalmi-radius); }
/* A narrow landscape player keeps YouTube's 200px minimum height. The player
   can letterbox its video; portrait stages retain their native 9:16 ratio. */
.npm-video .npm-video__stage, .npm-video .npm-video__stage img,
.npm-video .npm-video__stage iframe, .npm-video .npm-video__placeholder { min-height: 200px; }
.npm-video--portrait .npm-video__stage, .npm-video--portrait .npm-video__stage img,
.npm-video--portrait .npm-video__stage iframe, .npm-video--portrait .npm-video__placeholder { min-height: 0; }
.napalmi-product-media .npm-video__stage img { object-fit: cover; object-position: center; }
.npm-video__text { max-width: 65ch; }
.npm-video--portrait .npm-video__player { max-width: 250px; }
.npm-video__load, .npm-video__stop { background: var(--napalmi-action); border-color: var(--napalmi-action); }
.napalmi-product-benefit-full .napalmi-product-content__benefit { color: #fff; background: #b83b17; border: 0; border-radius: var(--napalmi-radius); }
.napalmi-product-benefit-full .npc-benefit-link { background: #fff; color: #8b2e14; }
.napalmi-product-benefit-full .npc-benefit-link:focus-visible { outline-color: #fff; }
/* ps_categoryproducts currently emits an unnamed section/div. Keep its full
 * selection and native cards, but give that direct listing a bounded grid too.
 */
#product #main > section > div:has(> .js-product) { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1.25rem; }
#product #main > section > div > .js-product { display: flex; width: 100%; max-width: 100%; min-width: 0; padding: 0; margin: 0; }
#product #main > section:has(> div > .js-product) > h2 { margin: 2rem 0 1rem; font-size: 1.6rem; text-transform: none; }
#cart .cart-summary .cart-detailed-subtotals { padding-bottom: .5rem; }
#cart .cart-summary .cart-summary-totals { padding-top: .25rem; padding-bottom: .5rem; }
.products-selection .sort-by-row { display: flex; align-items: center; margin: 0; }
.products-selection .sort-by { width: auto; flex: 0 0 auto; padding: 0 .8rem 0 0; margin: 0; }
.products-selection .products-sort-order { flex: 1 1 0; width: auto; padding: 0; }
.napalmi-recommendations__item { padding: .65rem; border: 1px solid var(--napalmi-line); border-radius: var(--napalmi-radius); background: #fff; }
.napalmi-recommendations .thumbnail-container { border: 0; }
.napalmi-recommendations .napalmi-recommendations__action { margin-bottom: 0; }
.footer-container .myaccount-title a, .footer-container #block_myaccount_infos .myaccount-title a { color: #fff; text-transform: none !important; }
#footer > .container:not(:has(*)) { display: none; }
#footer:has(> .container:not(:has(*))) { padding-top: 0; }
@media (min-width: 768px) and (max-width: 1199px) {
  #content-wrapper.left-column #products .products, #content-wrapper.right-column #products .products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .napalmi-home .nh-section { margin-bottom: 2rem; }
  .napalmi-home .nh-hero .nh-inner { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .napalmi-home .nh-hero-copy, .napalmi-home .nh-help-copy { padding: 1.4rem 1.2rem; }
  .napalmi-home .nh-copy h1 { font-size: clamp(1.9rem, 7vw, 2.4rem); }
  .napalmi-home .nh-hero-image { height: 200px; min-height: 0; }
  .napalmi-home .nh-trust { margin-top: -.75rem; padding-bottom: .6rem; }
  .napalmi-home .nh-trust .nh-grid { grid-template-columns: minmax(0, 1fr); }
  .napalmi-home .nh-trust .nh-item { padding: .8rem .3rem; border: 0; }
  .napalmi-home .nh-trust .nh-item + .nh-item { border-left: 0; border-top: 1px solid var(--napalmi-line); }
  .napalmi-home .nh-trust .nh-item h3 { margin-bottom: .25rem; }
  .napalmi-home .nh-help-image { min-height: 0; max-height: 250px; }
  .napalmi-home .nh-benefit .napalmi-product-content__benefit { padding: 1.25rem; }
  #product .product-quantity .add { flex-basis: 100%; }
  .npm-video { padding: 1rem; }
}

/* Commerce layouts 0.2.8. Only presentation: preserve all native products,
 * facets, counts and pagination, including the final card on a short page. */
#products .products.row::after, .featured-products .products.row::after,
.product-accessories .products.row::after { content: none; }
.product-miniature .thumbnail-top { padding: .35rem .4rem 0; }
.product-miniature .thumbnail-container .product-thumbnail { aspect-ratio: 4 / 3; padding: 0; }
.product-miniature .product-thumbnail img { object-fit: contain; }
.product-miniature .product-description { padding: .8rem 1rem 1rem; }
.product-miniature .product-title { margin-bottom: .45rem; font-size: 1.18rem; line-height: 1.22; }
.product-miniature .napalmi-card-specs { margin: 0 0 .7rem; color: var(--napalmi-muted); font-size: .94rem; line-height: 1.5; overflow-wrap: anywhere; }
.product-miniature .price { font-size: 1.75rem; line-height: 1.2; font-weight: 700; }
.product-miniature .product-price-and-shipping { margin-bottom: .65rem; }
.product-miniature .napalmi-card-cart { width: 100%; margin: .3rem 0 0; }
.product-miniature .napalmi-card-add, .product-miniature .napalmi-card-link { width: 100%; min-height: 46px; border-radius: var(--napalmi-radius); text-align: center; }
.product-miniature .napalmi-card-add:disabled { cursor: wait; }
/* Recommendation modules own their one action per card. */
.napalmi-recommendations .product-miniature .napalmi-card-cart { display: none; }

.products-selection { margin-inline: 0; gap: .75rem 1rem; }
.products-selection > * { min-width: 0; max-width: 100%; padding-inline: 0; }
.products-selection > .total-products { flex: 1 1 180px; width: auto; }
.products-selection > div:not(.total-products):not(.showing) { flex: 1 1 300px; width: auto; }
.products-selection > .showing { flex: 1 1 100%; }
.products-selection .sort-by-row { min-width: 0; flex-wrap: wrap; gap: .5rem; }
.products-selection .sort-by { min-width: 0; padding-right: .4rem; }
.products-selection .products-sort-order { min-width: 0; flex-basis: 170px; }
.products-sort-order .select-title { display: flex; align-items: center; justify-content: space-between; gap: .35rem; width: 100%; white-space: normal; overflow-wrap: anywhere; }
.products-sort-order .select-title .material-icons { flex-shrink: 0; }
.products-sort-order .dropdown-menu { width: 100%; min-width: 0; }
.products-sort-order .dropdown-menu a { white-space: normal; overflow-wrap: anywhere; }
.products-selection .filter-button { width: auto; padding: 0; }
#left-column .block-categories a, #left-column .facet-label { overflow-wrap: anywhere; }
#left-column .block-categories, #left-column #search_filters_wrapper,
#left-column #search_filters, #left-column .facet { min-width: 0; max-width: 100%; }

.napalmi-computers-intro, .napalmi-computers-landing, #left-column.napalmi-landing-filter-column { width: 100%; min-width: 0; }
.napalmi-computers-intro .napalmi-category-heading { margin-bottom: 1.25rem; }
.napalmi-computers-intro .napalmi-category-heading h1 { font-size: clamp(2rem, 3.2vw, 2.8rem); }
.napalmi-computers-intro .napalmi-category-intro { max-width: 75ch; }
#left-column.napalmi-landing-filter-column { margin-bottom: 1.1rem; }
.napalmi-landing-filters { border: 1px solid var(--napalmi-line); border-radius: var(--napalmi-radius); background: #fff; }
.napalmi-landing-filters > summary { display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; gap: 1rem; min-height: 48px; padding: .55rem 1rem; color: var(--napalmi-ink); font-weight: 600; line-height: 1.35; cursor: pointer; list-style: none; }
.napalmi-landing-filters > summary::-webkit-details-marker { display: none; }
.napalmi-landing-filters > summary::marker { content: ''; }
.napalmi-landing-filters > summary::after { content: ''; flex: 0 0 .6rem; width: .6rem; height: .6rem; margin-right: .2rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.napalmi-landing-filters > summary:focus-visible { outline: 3px solid var(--napalmi-focus); outline-offset: -3px; }
.napalmi-landing-filters[open] > summary { border-bottom: 1px solid var(--napalmi-line); }
.napalmi-landing-filters[open] > summary::after { transform: rotate(225deg); }
/* The landing uses this one native details disclosure. Keep the facet inputs,
   clear-all links and AJAX intact; hide only Classic's separate mobile panel UI. */
.napalmi-computers-landing .filter-button,
.napalmi-computers-landing #search_filter_toggler,
.napalmi-landing-filters #search_filter_controls { display: none !important; }
.napalmi-landing-filters > .napalmi-category-tree { margin: 1rem; }
.napalmi-landing-filters #search_filters { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 1rem 1.5rem; margin: 0; padding: 1rem; border: 0; box-shadow: none; }
.napalmi-landing-filters #search_filters > .h6,
.napalmi-landing-filters #search_filters > .clear-all-wrapper { flex: 1 1 100%; margin-bottom: 0; }
.napalmi-landing-filters #search_filters .facet { flex: 1 1 200px; min-width: 0; margin: 0; }
/* Preserve the availability form, live status and catalogue link; compact only
   their layout on the configured computer landing. No control is hidden. */
.napalmi-computers-landing .napalmi-availability { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; padding: .6rem .85rem; margin-bottom: 1rem; font-size: .9rem; }
.napalmi-computers-landing .napalmi-availability > form { flex: 0 1 auto; min-width: 0; margin: 0; }
.napalmi-computers-landing .napalmi-availability p { margin: 0; font-size: inherit; line-height: 1.35; }
.napalmi-computers-landing .napalmi-availability form > p { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem .7rem; }
.napalmi-computers-landing .napalmi-availability label { display: flex; align-items: center; gap: .4rem; min-height: 44px; margin: 0; text-align: left; }
.napalmi-computers-landing .napalmi-availability label input { flex: 0 0 auto; margin: 0; }
.napalmi-computers-landing .napalmi-availability .btn { min-height: 44px; padding: .45rem .65rem; font-size: .85rem; white-space: normal; }
.napalmi-computers-landing .napalmi-availability #na-selection-status { flex: 1 1 220px; }
.napalmi-computers-landing .napalmi-availability > p:has([data-na-catalog]) { flex: 0 1 auto; }
.napalmi-computers-landing .napalmi-availability [data-na-catalog] { display: inline-block; padding-block: .25rem; text-decoration: underline; text-underline-offset: .15em; }
.napalmi-computers-landing .napalmi-category-benefit { margin: 2rem 0 1.25rem; }
.napalmi-computers-landing .napalmi-category-benefit .napalmi-product-content { margin: 0; }
.napalmi-computers-landing .napalmi-product-content__benefit { padding: 1.5rem 2rem; color: #fff; background: #b83b17; border: 0; border-radius: var(--napalmi-radius); }
.napalmi-computers-landing .napalmi-product-content__benefit h2,
.napalmi-computers-landing .napalmi-product-content__benefit p { color: inherit; }
.napalmi-computers-landing .napalmi-product-content__benefit .npc-benefit-link { color: #8b2e14; background: #fff; }
.napalmi-computers-landing .napalmi-help-section { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; margin: 1.25rem 0 2rem; padding: 1.4rem 1.6rem; border: 1px solid var(--napalmi-line); background: #fff; }
.napalmi-computers-landing .napalmi-help-section h2 { margin-bottom: .35rem; font-size: 1.6rem; }
.napalmi-computers-landing .napalmi-help-section p { margin-bottom: 0; }
.napalmi-computers-landing .napalmi-help-section > div { min-width: 0; flex: 1 1 320px; }
.napalmi-computers-landing .napalmi-category-description { margin: 1.25rem 0 2rem; }
@media (min-width: 992px) {
  .napalmi-computers-landing #products .products { grid-template-columns: repeat(4, minmax(0, 1fr)); }

}
@media (min-width: 768px) and (max-width: 991px) {
  #subcategories.napalmi-category-shortcuts .subcategories-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .napalmi-computers-landing .napalmi-availability { display: grid; grid-template-columns: minmax(0, 1fr); gap: .4rem; }
  .napalmi-computers-landing .napalmi-availability > form { width: 100%; }
  .napalmi-landing-filters #search_filters_wrapper.hidden-sm-down { display: block !important; }
  .napalmi-landing-filters #search_filters { display: block; padding: 0; }
  .napalmi-computers-landing .napalmi-product-content__benefit { padding: 1.25rem; }
  .napalmi-computers-landing .napalmi-help-section { padding: 1.25rem; }
  .napalmi-computers-landing .napalmi-help-section .btn { width: 100%; }
}

/* 0.2.10: give the managed promo images real visual weight. The mobile
 * image stays at the existing 130 px, with copy and CTA alongside it. */
.napalmi-home .nh-promos .nh-promo { box-shadow: inset 0 3px 0 #de6c3b; }
.napalmi-home .nh-promos .nh-promo-media { overflow: hidden; border-radius: 4px; }
.napalmi-home .nh-promos .nh-promo--wide .nh-promo-media img { object-fit: cover; }
@media (min-width: 992px) {
  .napalmi-home .nh-promos .nh-promo { padding: .75rem; }
  .napalmi-home .nh-promos .nh-promo-media { margin-block: .25rem; }
  .napalmi-home .nh-promos .nh-promo-media img { height: 120px; }
  .napalmi-home .nh-promos .nh-promo--wide:not(.nh-promo--no-image) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
  .napalmi-home .nh-promos .nh-promo--wide .nh-promo-media { align-self: stretch; }
  .napalmi-home .nh-promos .nh-promo--wide .nh-promo-media img { height: 100%; min-height: 190px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  /* Tablet stays a three-promo layout without the tall desktop copy stack. */
  #header #_desktop_top_menu > .top-menu { gap: 0 .15rem; }
  #header #_desktop_top_menu > .top-menu > li > a[data-depth="0"] { padding: .45rem .4375rem; font-size: .875rem; }
  #header .napalmi-catalog-links { gap: .35rem; padding-right: .35rem; font-size: .8125rem; }
  .napalmi-home .nh-promos .nh-promo { padding: .75rem; }
  .napalmi-home .nh-promos .nh-promo h2 { font-size: 1.0625rem; line-height: 1.2; margin-bottom: .35rem; }
  .napalmi-home .nh-promos .nh-promo--wide h2 { font-size: 1.125rem; }
  .napalmi-home .nh-promos .nh-promo-label { margin-bottom: .35rem; font-size: .75rem; }
  .napalmi-home .nh-promos .nh-promo--wide .nh-promo-body { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; font-size: .9rem; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-body { display: none; }
  .napalmi-home .nh-promos .nh-promo-media { min-height: 0; margin: .25rem 0; }
  .napalmi-home .nh-promos .nh-promo-media img,
  .napalmi-home .nh-promos .nh-promo--wide .nh-promo-media img { height: 125px; }
  .napalmi-home .nh-promos .nh-promo-footer { display: flex; align-items: center; gap: .4rem; }
  .napalmi-home .nh-promos .nh-promo-price { margin: 0; font-size: 1.25rem; white-space: nowrap; }
  .napalmi-home .nh-promos .nh-promo .btn { min-width: 0; min-height: 44px; padding: .4rem .45rem; font-size: .82rem; }
  .napalmi-home .nh-promos .nh-promo-footer:has(.nh-promo-price) .btn { flex: 1; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item { min-width: 0; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item h3 { font-size: .8125rem; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item a { min-height: 44px; padding: .45rem .6rem; gap: .35rem; justify-content: space-between; }
}
@media (max-width: 767px) {
  .napalmi-home .nh-promos .nh-promo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .napalmi-home .nh-promos .nh-promo { min-width: 0; padding: .75rem; }
  .napalmi-home .nh-promos .nh-promo--wide { grid-column: 1 / -1; }
  .napalmi-home .nh-promos .nh-promo--wide .nh-promo-body { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) { display: flex; flex-direction: column; gap: .3rem; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) h2 { font-size: 1rem; line-height: 1.2; margin-bottom: .2rem; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-label { margin-bottom: .35rem; font-size: .7rem; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-body { display: none; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-media { flex: 0 0 auto; margin: .1rem 0; min-height: 0; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-media img { height: 85px; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-footer { display: flex; flex-direction: column; align-items: stretch; gap: .35rem; margin-top: auto; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .nh-promo-price { margin: 0; font-size: 1.25rem; }
  .napalmi-home .nh-promos .nh-promo:not(.nh-promo--wide) .btn { min-height: 44px; padding: .45rem .35rem; font-size: .82rem; }
  .napalmi-home .nh-section.nh-layout-quicklinks { margin-bottom: 1rem; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item { min-width: 0; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item h3 { font-size: .85rem; }
  .napalmi-home .nh-section.nh-layout-quicklinks .nh-item a { min-height: 44px; padding: .4rem .55rem; justify-content: space-between; overflow-wrap: anywhere; }
  .napalmi-home .nh-products .nh-products-copy { gap: .25rem .65rem; margin-bottom: .8rem; }
  .napalmi-home .nh-products .nh-products-copy h2 { flex: 1 1 170px; font-size: 1.45rem; line-height: 1.2; }
  .napalmi-home .nh-products .nh-products-copy > .nh-body { display: none; }
  .napalmi-home .nh-products .nh-products-copy .nh-actions { display: flex; flex: 0 1 auto; }
  .napalmi-home .nh-products .nh-products-copy .nh-actions .btn { min-height: 44px; padding: .35rem 0; border: 0; color: var(--napalmi-action-hover); background: transparent; box-shadow: none; font-size: .9rem; text-decoration: underline; text-underline-offset: .18em; }
}
/* The approved general homepage ends in a compact benefit strip and one
 * helpful contact row. All copy, images and destinations remain module-owned. */
.napalmi-home .nh-section.nh-benefit { margin-bottom: .7rem; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(80px, 150px) auto;
  align-items: center; gap: .15rem 1.5rem; min-height: 0; padding: .85rem 1.5rem;
  color: #302b26; background: #fff0e1; border: 1px solid #ecd0b7;
}
.napalmi-home .nh-benefit .napalmi-product-content__benefit:not(:has(> .npc-benefit-image)) { grid-template-columns: minmax(0, 1fr) auto; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit > h2,
.napalmi-home .nh-benefit .napalmi-product-content__benefit > p { grid-column: 1; margin: 0; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit > h2 { font-size: 1.55rem; line-height: 1.2; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit > p { font-size: .98rem; line-height: 1.35; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit > .napalmi-product-content__eyebrow { color: #ae3711; font-size: .8rem !important; line-height: 1.2; text-transform: uppercase; }
.napalmi-home .nh-benefit .npc-benefit-image { grid-column: 2; grid-row: 1 / 4; justify-self: center; width: auto; max-width: 100%; height: 76px; max-height: 76px; margin: 0; object-fit: contain; }
.napalmi-home .nh-benefit .napalmi-product-content__benefit > p:has(> .npc-benefit-link) { grid-column: -2 / -1; grid-row: 1 / 4; align-self: center; padding-left: 1.4rem; border-left: 1px solid #dcb799; }
.napalmi-home .nh-benefit .npc-benefit-link { display: inline-flex; align-items: center; gap: .7rem; padding: .5rem 0; color: #a8320d; background: transparent; border-radius: 0; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.napalmi-home .nh-benefit .npc-benefit-link::after { content: '\2192'; text-decoration: none; }
.napalmi-home .nh-section.nh-help { margin-bottom: 1rem; color: var(--napalmi-ink); background: transparent; border: 0; border-radius: 0; overflow: visible; }
.napalmi-home .nh-help .nh-inner { display: block; min-height: 0; }
.napalmi-home .nh-help .nh-help-copy { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.4rem; max-width: none; margin: 0; padding: .5rem .25rem; }
.napalmi-home .nh-help .nh-help-copy h2 { flex: 0 1 auto; margin: 0; font-size: 1.8rem; }
.napalmi-home .nh-help .nh-help-copy .nh-body { flex: 1 1 260px; margin: 0; font-size: 1rem; line-height: 1.4; }
.napalmi-home .nh-help .nh-help-copy .nh-actions { flex: 0 1 auto; margin: 0; }
.napalmi-home .nh-help .nh-help-copy .nh-actions .btn { min-height: 44px; padding: .5rem 1.1rem; }
.napalmi-home .nh-help .nh-inner:has(> .nh-help-image) { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: 1rem; }
.napalmi-home .nh-help .nh-help-image { min-height: 0; height: 100px; max-height: 100px; }
.napalmi-home .nh-help .nh-help-image img { height: 100%; object-fit: contain; }

/* An explicit dark footer surface avoids dependence on parent Bootstrap
 * row/column dimensions. Native account/contact/linklist hooks remain intact. */
#footer { margin-top: 1rem; padding-top: 0; background: var(--napalmi-footer); }
#footer .napalmi-footer-before { padding-top: 1.5rem; padding-bottom: 1rem; }
#footer .napalmi-footer-surface { margin: 0; padding: 1.6rem 0 .7rem; color: #eeeae3; background: var(--napalmi-footer); border: 0; }
.napalmi-footer-grid { display: grid; grid-template-columns: minmax(160px, .85fr) minmax(0, 3fr); gap: 1.5rem 2rem; }
/* Each native link/account/contact group gets one track, even when the
   optional category navigation is absent. Extra hook output stays present. */
.napalmi-footer-grid:has(> .napalmi-footer-catalog) { grid-template-columns: minmax(140px, .8fr) minmax(130px, .8fr) minmax(0, 3fr); }
.napalmi-footer-grid > * { min-width: 0; }
.napalmi-footer-grid .napalmi-footer-brand { margin: 0; padding: 0 1.2rem 0 0; border-right: 1px solid #686861; }
.napalmi-footer-grid .napalmi-footer-brand img { width: 140px; height: auto; filter: brightness(0) invert(1); }
.napalmi-footer-grid .napalmi-footer-brand p { max-width: 24ch; margin: .5rem 0 0; font-size: .9rem; line-height: 1.4; }
.napalmi-footer-grid .napalmi-footer-catalog h2 { margin: .2rem 0 .6rem; color: #fff; font-size: 1.1rem; line-height: 1.2; }
.napalmi-footer-grid .napalmi-footer-catalog ul { margin: 0; padding: 0; list-style: none; }
.napalmi-footer-grid .napalmi-footer-catalog li { margin: 0; }
.napalmi-footer-grid .napalmi-footer-catalog a { display: inline-block; padding: .14rem 0; line-height: 1.35; }
.napalmi-footer-grid .napalmi-footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; gap: 1.5rem 1.5rem; margin: 0; padding: 0; border: 0; }
.napalmi-footer-grid .napalmi-footer-links > .links { float: none; width: 100%; margin: 0; padding: 0; }
.napalmi-footer-grid .napalmi-footer-links .h3,
.napalmi-footer-grid .napalmi-footer-links .h4 { margin-top: .2rem; margin-bottom: .6rem; font-size: 1.1rem; line-height: 1.2; }
.napalmi-footer-grid .napalmi-footer-links .account-list { margin-bottom: 0; }
.napalmi-footer-grid .napalmi-footer-links .account-list li { margin-bottom: .1rem; }
.napalmi-footer-grid .napalmi-footer-links .block-contact-title { text-transform: none !important; }
.napalmi-footer-grid .napalmi-footer-links #contact-infos,
.napalmi-footer-grid .napalmi-footer-links #contact-infos a { font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
#footer .napalmi-footer-brand a, #footer .napalmi-footer-catalog a,
#footer .napalmi-footer-links > .links a { color: #e8e6e0; }
#footer .napalmi-footer-brand a:hover, #footer .napalmi-footer-catalog a:hover,
#footer .napalmi-footer-links > .links a:hover { color: #fff; }
.napalmi-footer-after:empty { display: none; }
.napalmi-footer-copyright { margin-top: 1.15rem; padding-top: .65rem; color: #d8d6d0; border-top: 1px solid #686861; font-size: .85rem; }
@media (min-width: 768px) and (max-width: 991px) {
  .napalmi-footer-grid,
  .napalmi-footer-grid:has(> .napalmi-footer-catalog) { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .napalmi-footer-grid .napalmi-footer-brand { padding: 0; border: 0; }
  .napalmi-footer-grid .napalmi-footer-brand p { max-width: none; }
}
@media (max-width: 767px) {
  .napalmi-home .nh-benefit .napalmi-product-content__benefit,
  .napalmi-home .nh-benefit .napalmi-product-content__benefit:not(:has(> .npc-benefit-image)) { grid-template-columns: minmax(0, 1fr); padding: 1rem; gap: .25rem; }
  .napalmi-home .nh-benefit .napalmi-product-content__benefit > h2 { font-size: 1.35rem; }
  .napalmi-home .nh-benefit .npc-benefit-image { grid-column: 1; grid-row: auto; height: 64px; margin-top: .5rem; justify-self: start; }
  .napalmi-home .nh-benefit .napalmi-product-content__benefit > p:has(> .npc-benefit-link) { grid-column: 1; grid-row: auto; padding-left: 0; border-left: 0; }
  .napalmi-home .nh-help .nh-help-copy { gap: .6rem; padding: .6rem 0; }
  .napalmi-home .nh-help .nh-help-copy h2 { flex-basis: 100%; font-size: 1.6rem; }
  .napalmi-home .nh-help .nh-help-copy .nh-actions { width: 100%; display: flex; flex-wrap: wrap; }
  .napalmi-home .nh-help .nh-inner:has(> .nh-help-image) { grid-template-columns: minmax(0, 1fr) 90px; }
  .napalmi-footer-grid,
  .napalmi-footer-grid:has(> .napalmi-footer-catalog) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .napalmi-footer-grid .napalmi-footer-brand { padding-right: .5rem; border: 0; }
  .napalmi-footer-grid .napalmi-footer-links { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); gap: .4rem; }
  .napalmi-footer-grid .napalmi-footer-links .title { padding-inline: 0; }
  .napalmi-footer-grid .napalmi-footer-links .block-contact { padding-bottom: .7rem; }
  .napalmi-footer-grid .napalmi-footer-catalog a { min-height: 36px; padding-block: .4rem; }
}

/* The service site's verified guide collection, after the core category list. */
.napalmi-category-guides{margin:2.5rem 0}.napalmi-category-guides h2{text-transform:none;font-size:1.8rem}.napalmi-guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.napalmi-guide-links a{padding:1.5rem;background:#fff;border:1px solid #deddd6;border-radius:var(--napalmi-radius);color:#343434;font-weight:600;font-size:1.15rem}.napalmi-guide-links a:hover{border-color:#c43d13;text-decoration:underline}@media(max-width:767px){.napalmi-guide-links{grid-template-columns:1fr}}

/* Full native category tree: bounded desktop groups and mobile disclosures.
 * Do not flatten, hide or replace category links, including depth three. */
@media (min-width: 768px) {
  #header #_desktop_top_menu > .top-menu > li > .sub-menu {
    /* Classic writes an inline top on hover. Use the whole menu row as the
       anchor for both mouse and keyboard, including a wrapped top-level row. */
    top: 100% !important;
    left: 0;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0;
    max-height: calc(100vh - 16rem);
    max-height: calc(100dvh - 16rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  #header #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 1.25rem 1rem;
    margin: 0;
  }
  #header #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] > li {
    float: none;
    min-width: 0;
    margin: 0;
  }
  #header #_desktop_top_menu .sub-menu a {
    min-height: 36px;
    padding: .45rem .3rem;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #header #_desktop_top_menu .sub-menu a[data-depth="1"] {
    margin-bottom: .35rem;
    border-bottom: 1px solid var(--napalmi-line);
    font-weight: 600;
    text-transform: none;
  }
  #header #_desktop_top_menu .sub-menu .top-menu[data-depth="3"] {
    margin: 0 0 .4rem .45rem;
    padding-left: .65rem;
    border-left: 2px solid var(--napalmi-line);
  }
  #header #_desktop_top_menu .sub-menu a:focus-visible { outline-offset: -2px; }
  #header #_desktop_top_menu > .top-menu > li.napalmi-submenu-dismissed > .sub-menu {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none;
  }
}
@media (min-width: 1200px) {
  #header #_desktop_top_menu .sub-menu > .top-menu[data-depth="1"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  #header #mobile_top_menu_wrapper .top-menu li.napalmi-has-submenu { position: relative; }
  #header #mobile_top_menu_wrapper .top-menu li.napalmi-has-submenu > a { padding-right: 3.25rem; }
  #header #mobile_top_menu_wrapper .top-menu .napalmi-submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    color: var(--napalmi-ink);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--napalmi-radius);
    cursor: pointer;
  }
  #header #mobile_top_menu_wrapper .top-menu .napalmi-submenu-toggle:focus-visible {
    outline: 3px solid var(--napalmi-focus);
    outline-offset: -3px;
  }
  #header #mobile_top_menu_wrapper .top-menu .sub-menu .top-menu[data-depth="2"] > li > a {
    padding-left: .8rem;
  }
  #header #mobile_top_menu_wrapper .top-menu .sub-menu .top-menu[data-depth="3"] > li > a {
    padding-left: 1.6rem;
  }
}

/* Optional module-owned shopping links; absent modules leave no empty strip. */
#header .napalmi-shopping-tools{background:#fff;border-top:1px solid #eeece7;border-bottom:1px solid #e5e2db}
#header .napalmi-shopping-tools>.container{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;padding-top:2px;padding-bottom:2px}
#header .napalmi-shopping-tools .n-shopping-link,#header .napalmi-shopping-tools .np-shopping-link,#header .napalmi-shopping-tools .nb-shopping-link{display:block;width:auto;flex:0 1 auto;margin:0;padding:0;min-width:0}
.n-shopping-form label{text-align:left}
#footer .napalmi-footer-links>.n-shopping-link{margin:0;padding:0;align-self:start}
#footer .napalmi-footer-links>.n-shopping-link a{display:inline-flex;min-height:44px;align-items:center;font-weight:400}
#footer .napalmi-footer-links>.nw-footer{margin:0;padding:0;align-self:start}
#header .napalmi-shopping-tools a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;color:#4a4540;font-size:14px;font-weight:500;text-decoration:none;overflow-wrap:anywhere}
#header .napalmi-shopping-tools a:hover{color:#b83a12;text-decoration:underline}
#header .napalmi-shopping-tools a:focus-visible{outline:3px solid #b83a12;outline-offset:3px}
@media(max-width:575px){#header .napalmi-shopping-tools>.container{gap:0 18px}#header .napalmi-shopping-tools a{font-size:13px;min-height:44px}}

/* Existing editor YouTube embeds: keep their authored maximum width and ratio.
   JS only marks real YouTube embeds in rich content, never module/payment frames.
   The height variable is used only by the no-aspect-ratio browser fallback. */
iframe.napalmi-responsive-youtube {
  display: block;
  box-sizing: border-box;
  width: var(--napalmi-video-width, 100%) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: var(--napalmi-video-height, auto) !important;
  min-height: 0 !important;
  aspect-ratio: var(--napalmi-video-ratio, 16 / 9);
}
iframe.napalmi-responsive-youtube[hidden] { display: none !important; }
