/* ============================================================
   NOTORIOUS BROADHEADS — Custom Theme Override v2
   Palette + fonts match Vercel reference site exactly.
   ============================================================ */

/* ── CSS Variables ─────────────────────────────────────────── */
:root {
  /* Backgrounds */
  --nb-ground:         #0f0d0a;
  --nb-ground-surface: #1b1713;
  /* Border */
  --nb-border:         #332c23;
  /* Accent — blade orange */
  --nb-blade:          #b5562b;
  --nb-blade-light:    #d97f4f;
  /* Text */
  --nb-bone:           #ede6d6;
  --nb-bone-dim:       #b8ae9a;
  --nb-bone-faint:     #766c5b;
  /* Brass / gold */
  --nb-brass:          #9c8552;
  --nb-brass-light:    #c7b07e;
  /* Fonts */
  --nb-font-display:   'Oswald', sans-serif;
  --nb-font-body:      'Inter', sans-serif;
  --nb-font-mono:      'JetBrains Mono', monospace;
  /* Backward-compat aliases */
  --nb-accent:         #b5562b;
  --nb-accent-hover:   #9a4522;
  --nb-text-light:     #ede6d6;
  --nb-text-muted:     #b8ae9a;
  --nb-bg-dark:        #0f0d0a;
  --nb-bg-darker:      #0a0806;
  --nb-bg-mid:         #1b1713;
  --nb-bg-card:        #1b1713;
  --nb-header-h:       64px;
}

/* ── Global reset / body ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html, body { overflow-x: hidden; }

body {
  background-color: var(--nb-ground);
  background-image: radial-gradient(ellipse 80% 50% at 50% -10%, rgba(181,86,43,.08), transparent);
  color: var(--nb-bone);
  font-family: var(--nb-font-body);
  font-size: 15px;
  line-height: 1.6;
}

/* Scrollbar */
body::-webkit-scrollbar { width: 5px; }
body::-webkit-scrollbar-track { background: var(--nb-ground); }
body::-webkit-scrollbar-thumb { background: var(--nb-border); border-radius: 3px; }
body::-webkit-scrollbar-thumb:hover { background: var(--nb-blade); }

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4 {
  font-family: var(--nb-font-display);
  color: var(--nb-bone);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* ── Utility classes (mirroring Vercel) ─────────────────────── */
.blade-corner {
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}
.eyebrow {
  font-family: var(--nb-font-mono) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--nb-brass) !important;
  display: block;
  margin-bottom: 0.5rem;
}
.card-surface {
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  background: var(--nb-ground-surface);
  border: 1px solid var(--nb-border);
}

/* ── Shared inner container ─────────────────────────────────── */
.nb-container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* ── Section heading pattern ────────────────────────────────── */
.nb-section-h2 {
  font-family: var(--nb-font-display);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  text-transform: uppercase;
  color: var(--nb-bone);
  margin-top: 0.25rem;
  margin-bottom: 2.5rem;
}

/* ── Hide PS legacy bars we no longer use ───────────────────*/
.header-banner, #header .header-banner { display: none !important; }
#_desktop_contact_link { display: none !important; }
#footer #_desktop_contact_link { display: none !important; }
/* header-nav is now display:none in template — belt+suspenders */
.header-nav, #header .header-nav { display: none !important; }

/* ── Section row: heading + View all link ───────────────────*/
.nb-section-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.nb-view-all-link {
  font-family: var(--nb-font-display);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--nb-brass) !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.2s;
}
.nb-view-all-link:hover { color: var(--nb-blade-light) !important; }

/* ═══════════════════════════════════════════════════════════
   HEADER / NAV — single-bar layout
   ═══════════════════════════════════════════════════════════ */

#header {
  background-color: rgba(15,13,10,0.96) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--nb-border) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* Brass animated rule line at header bottom */
#header::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 1px;
  background: linear-gradient(90deg, var(--nb-brass) 0%, rgba(156,133,82,0.3) 60%, transparent 100%);
  animation: nb-draw-line 0.9s ease-out forwards;
  transform-origin: left;
}
@keyframes nb-draw-line {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Single header bar wrapper */
.nb-header-wrap {
  width: 100%;
}
.nb-header-inner {
  display: flex;
  align-items: center;
  height: var(--nb-header-h);
  padding: 0 2rem;
  gap: 2rem;
}

/* Logo column */
.nb-header-logo { flex: 0 0 auto; }
#_desktop_logo a {
  display: inline-flex !important;
  align-items: center !important;
  font-family: var(--nb-font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  line-height: 1;
}
#_desktop_logo a img,
#_desktop_logo img.logo {
  display: block !important;
  height: 52px;
  width: auto;
  max-width: 220px;
}
#_desktop_logo a::before { content: none; }
#_desktop_logo a::after  { content: none; }

/* Nav — grows to fill space, pushes icons to the right */
.nb-header-nav {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  overflow: visible;
}
/* ps_mainmenu wraps in #_desktop_top_menu > .top-menu */
.nb-header-nav #_desktop_top_menu { display: flex; align-items: center; }
.nb-header-nav .top-menu {
  display: flex !important;
  align-items: center;
  gap: 1.6rem;
  list-style: none;
  margin: 0; padding: 0;
}
/* Strip ps_searchbar from displayTop — we want it in the icons col */
.nb-header-nav #search_widget,
.nb-header-nav #_desktop_search { display: none !important; }

/* Nav links */
.nb-header-nav .top-menu a,
.nb-header-nav .top-menu li > a {
  font-family: var(--nb-font-display) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--nb-bone-dim) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  white-space: nowrap;
}
.nb-header-nav .top-menu a:hover { color: var(--nb-blade-light) !important; }

/* Dropdown menus */
.top-menu .sub-menu, .top-menu .popover {
  background-color: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  border-radius: 0;
}
.top-menu .sub-menu a { color: var(--nb-bone-dim) !important; }
.top-menu .sub-menu a:hover { color: var(--nb-blade-light) !important; background: var(--nb-ground) !important; }

/* Right icon strip: search + account + cart */
.nb-header-icons {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Hide text labels inside account/cart, keep only icons */
.nb-header-icons .user-info .hidden-sm-down,
.nb-header-icons .blockcart .cart-products-count,
.nb-header-icons .user-info span:not(.material-icons):not(.svg-inline--fa),
.nb-header-icons .blockcart span:not(.material-icons):not(.cart-products-count):not(.svg-inline--fa) {
  display: none !important;
}
.nb-header-icons .cart-products-count {
  position: absolute !important;
  top: -6px; right: -6px;
  width: 16px; height: 16px;
  font-size: 10px; line-height: 16px;
  text-align: center;
  background: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
  border-radius: 50%;
}
.nb-header-icons #_desktop_user_info,
.nb-header-icons #_desktop_cart {
  display: flex;
  align-items: center;
  position: relative;
}
.nb-header-icons #_desktop_user_info a,
.nb-header-icons #_desktop_cart a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  color: var(--nb-bone-dim) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  position: relative;
}
.nb-header-icons #_desktop_user_info a:hover,
.nb-header-icons #_desktop_cart a:hover { color: var(--nb-blade-light) !important; }
/* Currency/language selectors in icons area — minimise */
.nb-header-icons .currency-selector,
.nb-header-icons .language-selector { display: none !important; }

/* Search icon button in icon strip */
.nb-header-icons #search_widget,
.nb-header-icons #_desktop_search { display: flex !important; align-items: center; }
#search_widget { position: relative; }
#search_widget form { display: flex; align-items: center; }
#search_widget input {
  background-color: var(--nb-ground-surface);
  border: 1px solid var(--nb-border);
  color: var(--nb-bone);
  border-radius: 0;
  width: 0; padding: 0;
  transition: width 0.3s, padding 0.3s;
  font-family: var(--nb-font-body);
  font-size: 13px;
}
#search_widget input:focus {
  width: 180px;
  padding: 6px 10px;
  outline: none;
  border-color: var(--nb-brass);
}
#search_widget input::placeholder { color: var(--nb-bone-faint); }
#search_widget button {
  background: none; border: none;
  color: var(--nb-bone-dim);
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  cursor: pointer;
  transition: color 0.2s;
}
#search_widget button:hover { color: var(--nb-blade-light); }

/* Transparent background for PS wrappers */
#_desktop_top_menu, #_desktop_user_info,
#_desktop_cart, #_desktop_search { background: transparent; }

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE WRAPPER — kill container constraints
   ═══════════════════════════════════════════════════════════ */

.page-home #content,
#content-wrapper,
section#content.page-home,
.page-home #main,
.page-home .page-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
  background-color: transparent !important;
}

/* ═══════════════════════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════════════════════ */

.nb-hero {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  height: calc(100vh - var(--nb-header-h));
  min-height: 580px;
  overflow: hidden;
  background-color: var(--nb-ground);
  display: flex;
  align-items: stretch;
}

/* Radial orange glow at top center */
.nb-hero-glow {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 50%;
  background: radial-gradient(ellipse 80% 100% at 50% 0%, rgba(181,86,43,0.14) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Two-column flex layout */
.nb-hero-container {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 100%;
}

/* Left text column */
.nb-hero-left {
  position: relative;
  z-index: 2;
  flex: 0 0 56%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 4rem 4rem 8%;
  gap: 0;
}

/* Right video panel — diagonal cut on the left edge */
.nb-hero-right {
  position: relative;
  flex: 1;
  overflow: hidden;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
}

.nb-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Gradient on left edge of right panel to blend with text */
.nb-hero-right-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(15,13,10,0.7) 0%, rgba(15,13,10,0.05) 50%, transparent 100%);
  z-index: 1;
}

/* ── Hero text ── */
.nb-hero-eyebrow {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--nb-brass);
  margin-bottom: 1rem;
}

.nb-hero-h1 {
  font-family: var(--nb-font-display) !important;
  font-size: clamp(2.4rem, 4.5vw, 4rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.02em !important;
  color: var(--nb-bone) !important;
  text-transform: uppercase !important;
  margin-bottom: 1.5rem !important;
}
.nb-hero-accent {
  color: var(--nb-blade-light);
}

.nb-hero-sub {
  color: var(--nb-bone-dim);
  font-family: var(--nb-font-body);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 440px;
  margin-bottom: 2rem;
}

.nb-hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}

/* Hero stats row */
.nb-hero-stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--nb-border);
}
.nb-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nb-stat-label {
  font-family: var(--nb-font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
}
.nb-stat-value {
  font-family: var(--nb-font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--nb-bone);
}
.nb-stat-divider {
  width: 1px;
  height: 36px;
  background: var(--nb-border);
}

/* ── Global buttons ─────────────────────────────────────────── */
.nb-btn-primary {
  display: inline-block;
  background-color: var(--nb-blade);
  color: var(--nb-bone) !important;
  font-family: var(--nb-font-display);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.85rem 2rem;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  line-height: 1;
}
.nb-btn-primary:hover {
  background-color: var(--nb-blade-light) !important;
  color: var(--nb-bone) !important;
  text-decoration: none !important;
  opacity: 0.95;
}

.nb-btn-outline {
  display: inline-block;
  background: transparent;
  color: var(--nb-bone-dim) !important;
  font-family: var(--nb-font-display);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.85rem 2rem;
  text-decoration: none !important;
  border: 1px solid var(--nb-border);
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  line-height: 1;
}
.nb-btn-outline:hover {
  border-color: var(--nb-blade) !important;
  color: var(--nb-blade-light) !important;
  text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════
   SHOP BY CATEGORY
   ═══════════════════════════════════════════════════════════ */

.nb-categories {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--nb-ground-surface);
  border-top: 1px solid var(--nb-border);
  border-bottom: 1px solid var(--nb-border);
  padding: 5rem 0;
}
.nb-categories .nb-container { padding-bottom: 0; }

.nb-category-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--nb-border);
  margin-top: 2.5rem;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}

.nb-cat-tile {
  display: block;
  text-decoration: none !important;
  aspect-ratio: 3/4;
  overflow: hidden;
  position: relative;
  clip-path: none;
}
.nb-cat-tile-inner {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-color: var(--nb-ground);
  display: flex;
  align-items: flex-end;
  padding: 1.25rem;
  position: relative;
}
.nb-cat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15,13,10,0.88) 0%, rgba(15,13,10,0.2) 60%, transparent 100%);
  transition: background 0.3s;
}
.nb-cat-tile:hover .nb-cat-overlay {
  background: linear-gradient(to top, rgba(181,86,43,0.55) 0%, rgba(15,13,10,0.25) 60%, transparent 100%);
}
.nb-cat-name {
  font-family: var(--nb-font-display);
  font-size: 0.88rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--nb-bone);
  position: relative;
  z-index: 1;
  transition: color 0.2s;
}
.nb-cat-tile:hover .nb-cat-name { color: var(--nb-brass-light); }

/* ═══════════════════════════════════════════════════════════
   PRODUCTS SECTION (wraps PS featured-products hook)
   ═══════════════════════════════════════════════════════════ */

.nb-products-section {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--nb-ground);
  padding: 5rem 0;
  border-bottom: 1px solid var(--nb-border);
}

/* Featured header (our own eyebrow + section-row above hook) */
.nb-featured-header {
  margin-bottom: 2rem;
}
.nb-featured-header .eyebrow { margin-bottom: 0.4rem; }

/* PS section headings — hide PS module's built-in h2 */
section.featured-products {
  padding: 0 !important;
  background: transparent !important;
}
section.featured-products > .container > h2,
section.featured-products .products-section-title {
  display: none !important;
}

/* Product cards — Vercel card-surface style */
.product-miniature .card,
.product-miniature article.card {
  background-color: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  border-radius: 0 !important;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  transition: border-color 0.2s, box-shadow 0.2s;
  overflow: hidden;
}
.product-miniature .card:hover {
  border-color: var(--nb-blade) !important;
  box-shadow: 0 4px 24px rgba(181,86,43,0.15) !important;
}
.product-miniature .card-body,
.product-miniature .product-description {
  background-color: var(--nb-ground-surface) !important;
  border-top: 1px solid var(--nb-border) !important;
  padding: 1rem !important;
}
.product-miniature .thumbnail-container {
  background-color: var(--nb-ground) !important;
  padding: 0 !important;
}
.product-miniature .thumbnail-container img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

/* Category eyebrow on product cards */
.product-miniature .product-description::before {
  content: attr(data-category);
  display: block;
  font-family: var(--nb-font-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nb-brass);
  margin-bottom: 0.4rem;
}

.product-miniature .product-title a {
  font-family: var(--nb-font-display) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--nb-bone) !important;
  line-height: 1.25;
  text-decoration: none !important;
}
.product-miniature .product-title a:hover { color: var(--nb-blade-light) !important; }

.product-miniature .price {
  font-family: var(--nb-font-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--nb-bone) !important;
}
.product-miniature .regular-price {
  font-size: 0.8rem !important;
  color: var(--nb-bone-faint) !important;
  text-decoration: line-through !important;
}

.product-miniature .add-to-cart,
.product-miniature .btn-product {
  font-family: var(--nb-font-display) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  background: transparent !important;
  border: none !important;
  color: var(--nb-blade-light) !important;
  padding: 0.4rem 0 !important;
  cursor: pointer;
}
.product-miniature .add-to-cart:hover { text-decoration: underline !important; }

/* "NEW" / sale badge */
.product-flag.new,
.product-flag.on-sale,
span.new {
  font-family: var(--nb-font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  background-color: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px);
  border-radius: 0 !important;
  padding: 3px 8px !important;
}

.product-miniature .highlighted-informations,
.product-miniature .product-list-reviews { display: none !important; }

/* Featured products section (overridden template) */
.nb-featured-products {
  padding: 0;
}
.nb-featured-products .nb-section-h2 {
  margin-bottom: 2rem;
}

/* Products grid — 4 columns */
.nb-featured-products .products.row,
.nb-featured-products .products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1px !important;
  background: var(--nb-border) !important;
  margin: 0 !important;
  padding: 0 !important;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}
.nb-featured-products .products .js-product {
  background: var(--nb-ground) !important;
  padding: 0 !important;
}
/* Remove Bootstrap col-* width/float from product wrapper */
.nb-featured-products .js-product {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  max-width: none !important;
  flex: none !important;
}
.nb-featured-products .product-miniature {
  height: 100%;
}
.nb-featured-products .product-miniature .card {
  height: 100% !important;
}

.nb-view-all-wrap {
  text-align: center;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--nb-border);
}

@media (max-width: 991px) {
  .nb-featured-products .products.row,
  .nb-featured-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 575px) {
  .nb-featured-products .products.row,
  .nb-featured-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   TESTIMONIALS
   ═══════════════════════════════════════════════════════════ */

.nb-testimonials {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--nb-ground-surface);
  border-top: 1px solid var(--nb-border);
  border-bottom: 1px solid var(--nb-border);
  padding: 5rem 0;
}

.nb-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.nb-testimonial {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}

.nb-quote {
  font-family: var(--nb-font-body);
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--nb-bone-dim);
  margin: 0;
  flex: 1;
}
.nb-quote::before { content: '\201C'; color: var(--nb-brass); font-size: 1.5rem; line-height: 0; vertical-align: -0.5rem; }

.nb-reviewer { display: flex; flex-direction: column; gap: 2px; }
.nb-reviewer-name {
  font-family: var(--nb-font-display);
  font-size: 0.88rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--nb-bone);
}
.nb-reviewer-detail {
  font-family: var(--nb-font-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
}

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER
   ═══════════════════════════════════════════════════════════ */

.nb-newsletter {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--nb-ground);
  padding: 5rem 0;
  border-bottom: 1px solid var(--nb-border);
}

.nb-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  flex-wrap: wrap;
}

.nb-newsletter-text { flex: 1; min-width: 260px; }
.nb-newsletter-text .nb-section-h2 { margin-bottom: 0.75rem; }
.nb-newsletter-sub {
  color: var(--nb-bone-faint);
  font-size: 0.9rem;
  margin: 0;
}

.nb-newsletter-form {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  gap: 1rem;
  flex: 0 0 auto;
}
.nb-email-input {
  font-family: var(--nb-font-body);
  font-size: 0.9rem;
  padding: 0.85rem 1.25rem;
  background: var(--nb-ground-surface);
  border: 1px solid var(--nb-border);
  color: var(--nb-bone);
  outline: none;
  min-width: 240px;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  transition: border-color 0.2s;
}
.nb-email-input::placeholder { color: var(--nb-bone-faint); }
.nb-email-input:focus { border-color: var(--nb-blade); }

/* ═══════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════ */

.nb-faq {
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--nb-ground-surface);
  border-top: 1px solid var(--nb-border);
  padding: 5rem 0;
}

.nb-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 720px;
}

.nb-faq-item {
  border-bottom: 1px solid var(--nb-border);
}
.nb-faq-item:first-child { border-top: 1px solid var(--nb-border); }

.nb-faq-q {
  font-family: var(--nb-font-display);
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nb-bone);
  padding: 1.25rem 0;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.nb-faq-q::-webkit-details-marker { display: none; }
.nb-faq-q::after {
  content: '+';
  font-family: var(--nb-font-body);
  font-size: 1.25rem;
  font-weight: 300;
  color: var(--nb-brass);
  transition: transform 0.2s;
}
.nb-faq-item[open] .nb-faq-q::after {
  transform: rotate(45deg);
  color: var(--nb-blade-light);
}

.nb-faq-a {
  color: var(--nb-bone-dim);
  font-size: 0.92rem;
  line-height: 1.75;
  padding-bottom: 1.25rem;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */

#footer {
  background-color: var(--nb-ground-surface) !important;
  border-top: 1px solid var(--nb-border) !important;
  color: var(--nb-bone-faint);
  padding-top: 3rem;
}
#footer h4, #footer .block-title, #footer .h4 {
  font-family: var(--nb-font-display) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--nb-bone) !important;
  border-bottom: 1px solid var(--nb-border) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1rem !important;
}
#footer a {
  color: var(--nb-bone-faint) !important;
  font-size: 0.88rem !important;
  line-height: 2.2 !important;
  transition: color 0.2s;
}
#footer a:hover { color: var(--nb-blade-light) !important; }

/* Footer bottom bar */
.footer-container .row:last-child,
.footer-bottom {
  border-top: 1px solid var(--nb-border) !important;
  color: var(--nb-bone-faint) !important;
  font-size: 0.78rem !important;
  padding: 1rem 0 !important;
  margin-top: 2rem !important;
}

/* Footer logo */
.nb-footer-logo-text {
  font-family: var(--nb-font-display);
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: block;
  margin-bottom: 0.75rem;
  text-decoration: none !important;
}
.nb-footer-logo-text .text-blade { color: var(--nb-blade); }
.nb-footer-tagline {
  font-size: 0.82rem;
  color: var(--nb-bone-faint);
  margin-bottom: 1.5rem;
  max-width: 220px;
}

/* ═══════════════════════════════════════════════════════════
   INNER PAGES (category, product, etc.)
   ═══════════════════════════════════════════════════════════ */

/* Main content area */
#main, #content, .page-wrapper, main {
  background-color: var(--nb-ground);
}

/* Breadcrumb */
.breadcrumb {
  background-color: var(--nb-ground-surface) !important;
  border-bottom: 1px solid var(--nb-border) !important;
  border-radius: 0 !important;
}
.breadcrumb-item a { color: var(--nb-bone-faint) !important; }
.breadcrumb-item.active { color: var(--nb-blade) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--nb-bone-faint) !important; }

/* Global btn-primary (PS default) */
.btn-primary, .btn-primary:not(:disabled):not(.disabled) {
  background-color: var(--nb-blade) !important;
  border-color: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
  font-family: var(--nb-font-display) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  border-radius: 0 !important;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}
.btn-primary:hover {
  background-color: var(--nb-blade-light) !important;
  border-color: var(--nb-blade-light) !important;
}
.btn-secondary, .btn-outline-secondary {
  border-color: var(--nb-border) !important;
  color: var(--nb-bone-dim) !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-family: var(--nb-font-display) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.btn-secondary:hover { border-color: var(--nb-blade) !important; color: var(--nb-blade-light) !important; }

/* Product page */
.product-price .current-price span,
.product-price .price {
  color: var(--nb-bone) !important;
  font-family: var(--nb-font-display) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
}
.product-description { color: var(--nb-bone-dim) !important; }
.product-add-to-cart .add-to-cart {
  font-family: var(--nb-font-display) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

/* Category page grid */
#js-product-list .product-miniature .card,
#js-product-list .product-miniature article.card {
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
}

/* Forms */
.form-control {
  background-color: var(--nb-ground-surface) !important;
  border-color: var(--nb-border) !important;
  color: var(--nb-bone) !important;
  border-radius: 0 !important;
}
.form-control:focus {
  border-color: var(--nb-blade) !important;
  box-shadow: 0 0 0 2px rgba(181,86,43,0.2) !important;
  background-color: var(--nb-ground-surface) !important;
  color: var(--nb-bone) !important;
}
.form-control::placeholder { color: var(--nb-bone-faint) !important; }

/* Pagination */
.pagination .page-link {
  background-color: var(--nb-ground-surface);
  border-color: var(--nb-border);
  color: var(--nb-bone-dim);
  border-radius: 0 !important;
}
.pagination .page-item.active .page-link {
  background-color: var(--nb-blade);
  border-color: var(--nb-blade);
  color: var(--nb-bone);
}

/* Alerts */
.alert-success { background: #0d2e0d; border-color: #1a5c1a; color: #a8d5a8; }
.alert-danger  { background: #2e0d0d; border-color: #5c1a1a; color: #d5a8a8; }

/* Reassurance */
.blockreassurance_product, #blockreassurance {
  background-color: var(--nb-ground-surface) !important;
  border-top: 1px solid var(--nb-border) !important;
  border-bottom: 1px solid var(--nb-border) !important;
}
.blockreassurance_product p, #blockreassurance p { color: var(--nb-bone-faint) !important; }

/* PS email subscription module */
#ps_emailsubscription_displayHome,
#ps_emailsubscription_displayFooterBefore,
.ps_emailsubscription {
  background: var(--nb-ground) !important;
  border-top: 1px solid var(--nb-border) !important;
  padding: 3rem 0 !important;
}
.ps_emailsubscription .block-title, .ps_emailsubscription h4 {
  font-family: var(--nb-font-display) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--nb-bone) !important;
}
.ps_emailsubscription .input-group input[type="email"] {
  background: var(--nb-ground-surface) !important;
  border-color: var(--nb-border) !important;
  color: var(--nb-bone) !important;
  border-radius: 0 !important;
}
.ps_emailsubscription .input-group .btn,
.ps_emailsubscription button[type="submit"] {
  background-color: var(--nb-blade) !important;
  border-color: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
  font-family: var(--nb-font-display) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

/* Wrapper and content backgrounds */
.page-home #content, #content-wrapper, .container-fluid,
section.featured-products, #main > .container, #wrapper {
  background-color: transparent !important;
}

/* Hide old imageslider on homepage */
.page-home #homeslider,
.page-home .ps_imageslider,
.page-home .slider-container { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   CUSTOM FOOTER
   ═══════════════════════════════════════════════════════════ */

/* Hide the PS default footer shell (our custom replaces it) */
#footer {
  background: var(--nb-ground-surface) !important;
  border-top: none !important;
  padding: 0 !important;
}
#footer .footer-container,
#footer > .container { display: none !important; }

/* Custom footer wrapper */
.nb-footer-wrap {
  background: var(--nb-ground-surface);
  border-top: 1px solid var(--nb-border);
}

.nb-footer-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.nb-footer-top { padding: 4rem 0; }

.nb-footer-top .nb-footer-container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
}

/* Brand column */
.nb-footer-logo-text {
  font-family: var(--nb-font-display);
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nb-bone) !important;
  text-decoration: none !important;
  display: inline-block;
  margin-bottom: 0.75rem;
}
.nb-footer-logo-text .text-blade { color: var(--nb-blade); }
.nb-footer-tagline {
  font-size: 0.85rem;
  line-height: 1.65;
  color: var(--nb-bone-faint);
  max-width: 260px;
  margin: 0;
}

/* Nav columns */
.nb-footer-col-title {
  font-family: var(--nb-font-display) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: var(--nb-bone) !important;
  margin-bottom: 1rem !important;
  border: none !important;
  padding: 0 !important;
}

.nb-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.nb-footer-links a {
  font-size: 0.88rem !important;
  color: var(--nb-bone-faint) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  line-height: 1.5 !important;
}
.nb-footer-links a:hover { color: var(--nb-blade-light) !important; }

/* Bottom bar */
.nb-footer-bottom {
  border-top: 1px solid var(--nb-border);
  padding: 1.5rem 0;
}
.nb-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.nb-footer-copyright {
  font-size: 0.78rem;
  color: var(--nb-bone-faint);
  margin: 0;
}
.nb-footer-legal {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.nb-footer-legal a {
  font-size: 0.78rem;
  color: var(--nb-bone-faint) !important;
  text-decoration: none !important;
}
.nb-footer-legal a:hover { color: var(--nb-blade-light) !important; }
.nb-footer-sep { color: var(--nb-border); font-size: 0.7rem; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
  .nb-hero-left { padding-left: 4%; }
  .nb-category-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY PAGE
   ═══════════════════════════════════════════════════════════ */

/* ── Kill sidebars everywhere — make content full-width ───── */
#left-column,
#right-column { display: none !important; }

/* Expand content-wrapper to full width when sidebars hidden */
#content-wrapper.js-content-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Full-width fallback */
#main .col-md-9, #main .col-md-8 { flex: 0 0 100%; max-width: 100%; }
#main .col-md-3, #main .col-md-4 { display: none; }

/* Category header */
.nb-cat-header {
  padding: 3rem 0 2rem;
  border-bottom: 1px solid var(--nb-border);
  margin-bottom: 2.5rem;
}
.nb-cat-h1 {
  font-family: var(--nb-font-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--nb-bone) !important;
  margin: 0.25rem 0 0 !important;
}
.nb-cat-desc {
  color: var(--nb-bone-dim);
  font-size: 0.95rem;
  margin-top: 0.75rem;
  max-width: 600px;
}

/* Sort/filter bar */
.nb-products-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid var(--nb-border);
  margin-bottom: 2rem;
}
.nb-product-count {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
  margin: 0;
}
.nb-products-top-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.nb-sort-label {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
}
.nb-sort-btn {
  background: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-bone-dim) !important;
  font-family: var(--nb-font-body) !important;
  font-size: 0.85rem !important;
  padding: 0.45rem 1rem !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  white-space: nowrap;
}
.nb-sort-btn:hover { border-color: var(--nb-blade) !important; color: var(--nb-bone) !important; }

/* Sort dropdown */
.nb-sort-dropdown .dropdown-menu {
  background: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  border-radius: 0 !important;
  min-width: 180px;
  padding: 0.25rem 0;
}
.nb-sort-option {
  display: block;
  padding: 0.5rem 1rem;
  font-family: var(--nb-font-body);
  font-size: 0.85rem;
  color: var(--nb-bone-dim) !important;
  text-decoration: none !important;
}
.nb-sort-option:hover, .nb-sort-option.current {
  background: var(--nb-ground) !important;
  color: var(--nb-blade-light) !important;
}

/* ── Product grid (4-col CSS grid) ────────────────────────── */
.nb-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--nb-border);
}

/* ── Product card (Vercel card-surface style) ─────────────── */
.nb-product-item {
  background: var(--nb-ground);
}

.nb-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  background: var(--nb-ground-surface);
  border: none; /* gap in grid creates the border effect */
  clip-path: none; /* on individual card, let the grid handle edges */
  transition: box-shadow 0.2s;
}
.nb-card:hover { box-shadow: inset 0 0 0 1px var(--nb-blade); }

/* Image link — square aspect ratio */
.nb-card-img {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--nb-ground);
  overflow: hidden;
  text-decoration: none !important;
}
.nb-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}
.nb-card:hover .nb-card-img img { transform: scale(1.04); }

/* No-image placeholder */
.nb-card-no-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--nb-bone-faint);
}

/* Save badge — top-left, blade-corner */
.nb-save-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--nb-blade);
  color: var(--nb-bone);
  font-family: var(--nb-font-mono);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 0 100%, 0 10px);
  z-index: 2;
}

/* Info area */
.nb-card-info {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1rem;
  flex: 1;
}
.nb-card-info .eyebrow { margin-bottom: 0 !important; }

.nb-card-name {
  font-family: var(--nb-font-display);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nb-bone) !important;
  line-height: 1.25;
  text-decoration: none !important;
}
.nb-card-name:hover { color: var(--nb-blade-light) !important; }

/* Price + Add button row */
.nb-card-footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.75rem;
}
.nb-card-prices {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}
.nb-card-price {
  font-family: var(--nb-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--nb-bone);
}
.nb-card-regular-price {
  font-size: 0.78rem;
  color: var(--nb-bone-faint);
  text-decoration: line-through;
}
.nb-card-add {
  font-family: var(--nb-font-display);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--nb-blade-light) !important;
  text-decoration: none !important;
  transition: text-decoration 0.15s;
}
.nb-card-add:hover { text-decoration: underline !important; color: var(--nb-blade-light) !important; }

/* Pagination */
#js-product-list .pagination {
  border-top: 1px solid var(--nb-border);
  padding-top: 2rem;
  margin-top: 2rem;
  justify-content: center;
}
.pagination .page-link {
  background: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-bone-dim) !important;
  border-radius: 0 !important;
  font-family: var(--nb-font-display) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 0 100%, 0 8px);
  margin: 0 2px;
}
.pagination .page-item.active .page-link {
  background: var(--nb-blade) !important;
  border-color: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
}
.pagination .page-link:hover { border-color: var(--nb-blade) !important; color: var(--nb-blade-light) !important; }

/* Breadcrumb styling */
nav.breadcrumb {
  background: transparent !important;
  border-bottom: 1px solid var(--nb-border) !important;
  padding: 0.75rem 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}
.breadcrumb-item {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.breadcrumb-item a { color: var(--nb-bone-faint) !important; }
.breadcrumb-item.active { color: var(--nb-brass) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--nb-border) !important; }

/* ═══════════════════════════════════════════════════════════
   PRODUCT PAGE
   ═══════════════════════════════════════════════════════════ */

#product #main, #product .container { max-width: 1280px; }

/* 2-column layout */
#product .product-container .col-md-6:first-child {
  padding-right: 2.5rem;
}

/* Product title */
#product h1.h1 {
  font-family: var(--nb-font-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--nb-bone) !important;
  line-height: 1.1 !important;
  margin-bottom: 1rem !important;
}

/* SKU / reference */
.product-reference, #product .product-manufacturer {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
  margin-bottom: 0.5rem;
}

/* Price block */
.product-prices .current-price {
  font-family: var(--nb-font-display) !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--nb-bone) !important;
}
.product-prices .regular-price {
  font-size: 1rem !important;
  color: var(--nb-bone-faint) !important;
  text-decoration: line-through !important;
}
.product-prices .discount-percentage {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  background: var(--nb-blade);
  color: var(--nb-bone);
  padding: 2px 8px;
  clip-path: polygon(8px 0, 100% 0, 100% 100%, 0 100%, 0 8px);
}
.product-prices .price-unavailable { color: var(--nb-bone-faint) !important; }

/* Stock availability */
.product-availability {
  font-family: var(--nb-font-mono);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.product-availability .label-success,
.product-available { color: #7c8c61 !important; }
.product-unavailable { color: var(--nb-bone-faint) !important; }

/* Short description */
.product-description-short {
  color: var(--nb-bone-dim);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
  border-top: 1px solid var(--nb-border);
  padding-top: 1.25rem;
}

/* Product details/specs table */
.product-features {
  border-top: 1px solid var(--nb-border);
  padding-top: 1.25rem;
  margin-bottom: 1.5rem;
}
.product-features dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.product-features dt {
  font-family: var(--nb-font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nb-bone-faint);
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--nb-border);
}
.product-features dd {
  font-family: var(--nb-font-body);
  font-size: 0.88rem;
  color: var(--nb-bone-dim);
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--nb-border);
  margin: 0;
}

/* Quantity + Add to cart */
.product-add-to-cart {
  border-top: 1px solid var(--nb-border);
  padding-top: 1.5rem;
}
.product-quantity #quantity_wanted {
  background: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-bone) !important;
  border-radius: 0 !important;
  font-family: var(--nb-font-display) !important;
  font-size: 1rem !important;
  text-align: center;
  width: 56px;
}
.input-group .btn-touchspin {
  background: var(--nb-ground-surface) !important;
  border: 1px solid var(--nb-border) !important;
  color: var(--nb-bone-dim) !important;
  border-radius: 0 !important;
}
.product-add-to-cart .add-to-cart {
  font-family: var(--nb-font-display) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  background: var(--nb-blade) !important;
  border-color: var(--nb-blade) !important;
  color: var(--nb-bone) !important;
  border-radius: 0 !important;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  padding: 0.875rem 2rem !important;
  transition: background 0.2s;
  margin-left: 0.75rem;
}
.product-add-to-cart .add-to-cart:hover { background: var(--nb-blade-light) !important; }

/* Product images */
.product-cover img {
  width: 100%;
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  background: var(--nb-ground-surface);
}
.js-qv-product-cover { background: var(--nb-ground-surface) !important; }
#product .scroll-box { background: var(--nb-ground) !important; }

/* Thumbnails strip */
#product .product-images img {
  border: 1px solid var(--nb-border) !important;
  background: var(--nb-ground-surface);
}
#product .product-images img.selected,
#product .product-images img:hover { border-color: var(--nb-blade) !important; }

/* Product tabs (description / details) */
.tabs.product-description-none { border: none; }
.nav-tabs { border-bottom: 1px solid var(--nb-border) !important; }
.nav-tabs .nav-link {
  font-family: var(--nb-font-display) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--nb-bone-faint) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: none !important;
  padding: 0.75rem 1.25rem !important;
}
.nav-tabs .nav-link.active {
  color: var(--nb-bone) !important;
  border-bottom-color: var(--nb-blade) !important;
}
.tab-content { padding: 1.5rem 0 !important; color: var(--nb-bone-dim) !important; }

/* Related products */
.crossselling-product, .featured-products section { background: transparent !important; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — inner pages
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .nb-footer-top .nb-footer-container { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .nb-product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 991px) {
  .nb-testimonial-grid { grid-template-columns: repeat(2, 1fr); }
  .nb-newsletter-inner { flex-direction: column; align-items: flex-start; }
  .nb-newsletter-form { width: 100%; }
  .nb-email-input { min-width: 0; flex: 1; }
  .nb-category-grid { grid-template-columns: repeat(3, 1fr); }
  .nb-product-grid { grid-template-columns: repeat(2, 1fr); }
  #product .product-container .col-md-6:first-child { padding-right: 1rem; }
}

@media (max-width: 767px) {
  .nb-hero {
    height: auto;
    min-height: 100vh;
    flex-direction: column;
  }
  .nb-hero-container { flex-direction: column; }
  .nb-hero-left {
    flex: 0 0 auto;
    padding: 4rem 1.5rem 2.5rem;
    order: 1;
  }
  .nb-hero-right {
    flex: 0 0 320px;
    clip-path: none;
    order: 0;
  }
  .nb-hero-right-overlay {
    background: linear-gradient(to bottom, rgba(15,13,10,0.3) 0%, rgba(15,13,10,0.8) 100%);
  }
  .nb-category-grid { grid-template-columns: repeat(2, 1fr); }
  .nb-testimonial-grid { grid-template-columns: 1fr; }
  .nb-hero-stats { flex-wrap: wrap; }
  .nb-hero-actions { flex-direction: column; }
  .nb-btn-primary, .nb-btn-outline { text-align: center; }
}

@media (max-width: 767px) {
  .nb-footer-top .nb-footer-container { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .nb-footer-brand { grid-column: 1 / -1; }
  .nb-product-grid { grid-template-columns: repeat(2, 1fr); }
  #product .product-container { flex-direction: column; }
  #product .product-container .col-md-6 { width: 100%; max-width: 100%; padding: 0; }
}
@media (max-width: 480px) {
  .nb-hero-h1 { font-size: 2.2rem !important; }
  .nb-category-grid { grid-template-columns: repeat(2, 1fr); }
  .nb-footer-top .nb-footer-container { grid-template-columns: 1fr; }
}
