/* ============================================================
   NRH CHEMICALS — Design Layer
   Machined-industrial system on top of Bottle OS 3.0.
   Deep warm off-black, single orange accent, condensed display
   type, double-bezel surfaces, spring-motion micro-interactions.
   ============================================================ */

:root {
  --nrh-bg: #0d0c0a;
  --nrh-surface: #141210;
  --nrh-card: #1a1714;
  --nrh-card-2: #201c18;
  --nrh-line: rgba(255, 255, 255, 0.07);
  --nrh-line-strong: rgba(255, 255, 255, 0.14);
  --nrh-text: #f7f5f0;
  --nrh-text-dim: #a8a29a;
  --nrh-accent: #38b6ff;
  --nrh-accent-soft: rgba(56, 182, 255, 0.14);
  --nrh-ease: cubic-bezier(0.32, 0.72, 0, 1);
  --nrh-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --nrh-radius-lg: 18px;
  --nrh-radius-md: 14px;
  --nrh-radius-sm: 10px;
  /* Spacing scale — referenced by the footer/column rules below */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
}

/* ---------- Ambient texture: grain + warm glow ---------- */

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(900px 480px at 85% -5%, rgba(56, 182, 255, 0.07), transparent 60%),
    radial-gradient(700px 420px at -10% 40%, rgba(56, 182, 255, 0.04), transparent 60%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

body > *:not(theme-cart-drawer):not(theme-sticky-header):not(script):not(style) {
  position: relative;
  z-index: 1;
}

theme-cart-drawer {
  position: relative;
  z-index: 40;
}

::selection {
  background: var(--nrh-accent);
  color: #0d0c0a;
}

/* ---------- Typography ---------- */

h1, h2, h3, .title1, .title2, .title3, .title4 {
  text-wrap: balance;
}

.nrh-eyebrow,
.slideshow__group .body3 {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

p {
  text-wrap: pretty;
}

.price, .block-product-card__price {
  font-variant-numeric: tabular-nums;
}

/* ---------- Buttons: pill + nested arrow chip, spring motion ---------- */

.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  padding: 14px 26px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 13px;
  transition: transform 180ms var(--nrh-ease-out), background-color 180ms var(--nrh-ease-out),
    box-shadow 180ms var(--nrh-ease-out), color 180ms var(--nrh-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .button:hover {
    will-change: transform;
  }
}

.button:not(.button--secondary):not(.button--link) {
  box-shadow: 0 8px 28px -10px rgba(56, 182, 255, 0.45);
}

@media (hover: hover) and (pointer: fine) {
  .button:not(.button--secondary):not(.button--link):hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px -10px rgba(56, 182, 255, 0.55);
  }
}

.button:active {
  transform: scale(0.97);
}

.button--secondary {
  border-radius: 999px;
  background: transparent;
  border: 1px solid var(--nrh-line-strong);
  color: var(--nrh-text);
}

@media (hover: hover) and (pointer: fine) {
  .button--secondary:hover {
    border-color: var(--nrh-accent);
    color: var(--nrh-accent);
    transform: translateY(-2px);
  }
}

.button::after {
  content: "→";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  font-size: 12px;
  line-height: 1;
  transition: transform 180ms var(--nrh-ease-out), background-color 180ms var(--nrh-ease-out);
}

.button--secondary::after {
  background: rgba(255, 255, 255, 0.08);
}

@media (hover: hover) and (pointer: fine) {
  .button:hover::after {
    transform: translateX(3px) scale(1.08);
  }
}

.button--link::after {
  display: none;
}

/* Focus visibility: kill UA default rings; soft dark glow for keyboard focus only */
a:focus,
button:focus,
input:focus,
.button:focus {
  outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
.button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(13, 12, 10, 0.55);
}

.button:focus-visible {
  box-shadow: 0 0 0 2px rgba(13, 12, 10, 0.55), 0 8px 28px -10px rgba(56, 182, 255, 0.45);
}

/* ---------- Header & announcement ---------- */

.header-section {
  backdrop-filter: blur(14px);
  background: rgba(13, 12, 10, 0.72) !important;
  border-bottom: 1px solid var(--nrh-line);
}

.header-section a,
.header-section button {
  transition: color 160ms var(--nrh-ease-out);
}

.announcement-bar,
[class*="announcement"] {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* ---------- Hero (slideshow) ---------- */

.slideshow__item {
  min-height: min(78vh, 780px);
  max-height: min(78vh, 780px);
  overflow: hidden;
}

.slideshow__image,
.slideshow__image--desktop,
.slideshow__image--mobile {
  height: min(78vh, 780px) !important;
  max-height: min(78vh, 780px) !important;
}

.slideshow__image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13, 12, 10, 0.88) 0%, rgba(13, 12, 10, 0.45) 45%, rgba(13, 12, 10, 0.15) 75%, transparent 100%),
    linear-gradient(0deg, rgba(13, 12, 10, 0.85) 0%, transparent 40%);
  pointer-events: none;
}

.slideshow__image img {
  transform: scale(1.02);
  transition: transform 8s var(--nrh-ease);
}

@media (hover: hover) and (pointer: fine) {
  .slideshow__item:hover .slideshow__image img {
    transform: scale(1.07);
  }
}

.slideshow__image-container {
  justify-items: start !important;
  align-content: end !important;
  text-align: left !important;
  padding: clamp(24px, 6vw, 96px) !important;
  padding-bottom: clamp(48px, 7vh, 88px) !important;
  max-width: 780px;
  margin-inline: 0 !important;
}

.slideshow__group {
  text-align: left !important;
  position: relative;
  padding: 28px 32px;
  border-radius: var(--nrh-radius-lg);
  background: radial-gradient(closest-side, rgba(13, 12, 10, 0.85), rgba(13, 12, 10, 0.4) 78%, transparent);
}

.slideshow__group .body3 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.slideshow__group .body3::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  background: var(--nrh-accent);
}

.slideshow__group [class*="title"]:not(.body3):not(.body1) {
  font-size: clamp(40px, 5.4vw, 76px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 4px 40px rgba(0, 0, 0, 0.6);
}

.slideshow__group .body1 {
  max-width: 46ch;
  color: #d8d3cb;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.65;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.8);
}

/* Spec chips: glass pills with accent dot */
.slideshow__spec-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  margin: 6px 8px 0 0;
  border-radius: 999px;
  border: 1px solid var(--nrh-line-strong);
  background: rgba(20, 18, 16, 0.55);
  backdrop-filter: blur(8px);
  color: var(--nrh-text);
}

.slideshow__spec-item-icon {
  display: none;
}

.slideshow__spec-item .slideshow__spec-item-text {
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
}

.slideshow__spec-item .slideshow__spec-item-text::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nrh-accent);
  flex: none;
  align-self: center;
  box-shadow: 0 0 12px rgba(56, 182, 255, 0.8);
}

.slideshow__spec-item .slideshow__spec-item-text strong {
  font-size: 13px;
  letter-spacing: 0.03em;
}

.slideshow__spec-item .slideshow__spec-item-text small {
  font-size: 11px;
  color: var(--nrh-text-dim);
  letter-spacing: 0.16em;
}

/* Pager polish */
.slideshow__pager--dot,
.slideshow__pager--dots button {
  transition: transform 160ms var(--nrh-ease-out), background-color 160ms var(--nrh-ease-out);
}

/* ---------- Section rhythm ---------- */

.shopline-section {
  position: relative;
}

.shopline-section [class*="heading"],
.shopline-section h2 {
  letter-spacing: -0.01em;
}

/* ---------- Product cards: double-bezel machined cards ---------- */

.block-product-card {
  border-radius: var(--nrh-radius-lg);
}

.block-product-card__content {
  display: block;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  padding: 10px;
  transition: transform 220ms var(--nrh-ease-out), border-color 220ms var(--nrh-ease-out),
    box-shadow 220ms var(--nrh-ease-out), background-color 220ms var(--nrh-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .block-product-card__content:hover {
    transform: translateY(-4px);
    border-color: var(--nrh-line-strong);
    background: var(--nrh-card-2);
    box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.7);
  }
}

.block-product-card__image-wrapper,
.block-product-card__image {
  border-radius: var(--nrh-radius-md);
  overflow: hidden;
  background: var(--nrh-surface);
}

.block-product-card__content .block-product-card__image {
  transition: transform 0.9s var(--nrh-ease) !important;
  border-radius: var(--nrh-radius-md);
}

@media (hover: hover) and (pointer: fine) {
  .block-product-card__content:hover .block-product-card__image {
    transform: scale(1.05);
  }
}

.block-product-card__title {
  font-weight: 500;
  letter-spacing: 0.01em;
  padding-inline: 6px;
}

.block-product-card__price {
  padding-inline: 6px;
  font-weight: 600;
  color: var(--nrh-text);
}

/* Stock badge: glass pill */
.block-product-card .block-product-card__stock-badge {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 10px;
  letter-spacing: 0.1em;
  backdrop-filter: blur(6px);
}

.block-product-card .block-product-card__stock-badge--ok {
  background: rgba(46, 125, 50, 0.85);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

.block-product-card .block-product-card .block-product-card__stock-badge--low {
  background: rgba(217, 119, 6, 0.9);
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.35);
}

.block-product-card .block-product-card__discount-tag,
.block-product-card .block-product-card__sold-out {
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 10px;
  letter-spacing: 0.1em;
}

/* Quick add reveal */
.block-product-card__layer-wrapper {
  transition: opacity 200ms var(--nrh-ease-out), transform 200ms var(--nrh-ease-out);
}

/* ---------- Promo banner (image-banner) ---------- */

.image-banner__heading,
.image-banner__heading * {
  font-family: var(--sort-title-font) !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: -0.01em !important;
  font-size: clamp(34px, 4.4vw, 64px) !important;
  line-height: 1 !important;
}

.image-banner__subheading {
  font-size: 11px !important;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent) !important;
}

.image-banner__description {
  color: var(--nrh-text-dim);
  max-width: 52ch;
}

.image-banner__image-item img {
  transition: transform 8s var(--nrh-ease);
}

@media (hover: hover) and (pointer: fine) {
  .image-banner:hover .image-banner__image-item img {
    transform: scale(1.06);
  }
}

/* ---------- Featured collection headings ---------- */

.heading-with-link [class*="title"],
.shopline-section h2 {
  font-size: clamp(26px, 3vw, 44px) !important;
}

/* ---------- Footer ---------- */

.footer {
  border-top: 1px solid var(--nrh-line);
  background: var(--nrh-surface) !important;
}

.footer a {
  transition: color 160ms var(--nrh-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .footer a:hover {
    color: var(--nrh-accent);
  }
}

.footer input[type="email"],
.footer input[type="text"] {
  border-radius: 999px;
  border: 1px solid var(--nrh-line-strong);
  background: var(--nrh-card);
  padding: 12px 18px;
  color: var(--nrh-text);
  transition: border-color 0.3s var(--nrh-ease);
}

.footer input:focus {
  border-color: var(--nrh-accent);
}

.footer input:focus:not(:focus-visible) {
  outline: none;
}

/* ---------- Scroll reveal ---------- */

.nrh-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s var(--nrh-ease), transform 0.9s var(--nrh-ease);
}

.nrh-reveal.nrh-in {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .nrh-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ---------- Scrollbar ---------- */

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: var(--nrh-bg);
}

::-webkit-scrollbar-thumb {
  background: #1e2a38;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--nrh-accent);
}

/* ============================================================
   Composition fixes (self-audit round)
   ============================================================ */

/* --- Hero: editorial glass panel, lower-left --- */

.slideshow__image-container {
  align-items: flex-start !important;
}

.slideshow__group {
  max-width: 580px;
  padding: clamp(24px, 3vw, 40px);
  background: rgba(13, 12, 10, 0.58);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.slideshow__group .text-center,
.slideshow__group .text-left,
.slideshow__group .text-right {
  text-align: left !important;
}

.slideshow__group .body1 {
  color: var(--nrh-text-dim);
  text-shadow: none;
}

.slideshow__group [class*="button-group"],
.slideshow__group .button-group {
  justify-content: flex-start !important;
}

/* --- Promo banner: capped height, glass content panel --- */

.image-banner__image,
.image-banner__image-item {
  max-height: 560px;
  overflow: hidden;
}

.image-banner__image img {
  object-position: center 32%;
}

.image-banner__content {
  justify-items: start !important;
  padding-inline: clamp(24px, 6vw, 96px) !important;
}

.image-banner__container {
  text-align: left !important;
  align-items: flex-start !important;
  background: rgba(13, 12, 10, 0.6) !important;
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  padding: clamp(24px, 3vw, 40px) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.image-banner__container .image-banner__button-group {
  justify-content: flex-start !important;
}

/* Banner CTA must be the blue pill regardless of scheme context */
.image-banner__content .button:not(.button--link),
.image-banner__container .button:not(.button--link) {
  background: #38b6ff !important;
  color: #0d0c0a !important;
  border: none !important;
}

/* --- Product card price presence --- */

.block-product-card__price {
  font-size: 15px;
  font-weight: 700;
  color: var(--nrh-text) !important;
}

.block-product-card__price [class*="compare"],
.block-product-card__price del,
.block-product-card__price s {
  color: var(--nrh-text-dim) !important;
  font-weight: 400;
}

/* --- Section headings: brighten + tighten --- */

.heading-with-link,
.heading-with-link a {
  color: var(--nrh-text) !important;
}

.heading-with-link a:hover {
  color: var(--nrh-accent) !important;
}

/* ============================================================
   CROSSOVER LAYER — Bowden's Own composition on NRH dark metal
   Layout patterns from bowdensown.com.au; NRH palette + finish.
   ============================================================ */

/* --- Section headings: Bowden's "Our Car Care Range" pattern ---
   Centered, huge condensed uppercase, accent dash underneath. */

.shopline-section .heading-with-link {
  text-align: center;
  margin-bottom: clamp(28px, 4vw, 52px);
}

.shopline-section .heading-with-link [class*="title"],
.shopline-section h2.heading-with-link {
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 0.95;
}

.heading-with-link::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 18px auto 0;
  background: var(--nrh-accent);
  border-radius: 2px;
  box-shadow: 0 0 14px rgba(56, 182, 255, 0.55);
}

/* --- Hero: Bowden's headline scale --- */

.slideshow__group [class*="title"]:not(.body3):not(.body1) {
  font-size: clamp(46px, 6.6vw, 96px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.02em !important;
}

.slideshow__group {
  border-left: 3px solid var(--nrh-accent);
}

@media (min-width: 1024px) {
  .slideshow__image-container {
    max-width: 860px;
  }
}

/* --- Split promos (image-banner): Bowden's "play dirty" split ---
   Hard-working glass panel with accent spine, image side dominant. */

.image-banner__container {
  background: rgba(13, 12, 10, 0.78) !important;
  border-left: 3px solid var(--nrh-accent);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.8);
}

.image-banner__heading,
.image-banner__heading * {
  letter-spacing: -0.015em !important;
}

.image-banner__container .button:not(.button--link)::after {
  background: rgba(13, 12, 10, 0.18);
}

/* --- Product cards: Bowden's corner flag + bigger presence --- */

.block-product-card__content {
  padding: 14px;
}

.block-product-card .block-product-card__discount-tag,
.block-product-card .block-product-card__sold-out {
  position: absolute;
  top: 12px;
  right: -1px;
  z-index: 3;
  border-radius: 0;
  padding: 6px 12px 6px 14px;
  clip-path: polygon(14% 0, 100% 0, 100% 100%, 14% 100%, 0 50%);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.block-product-card .block-product-card__stock-badge {
  top: 12px;
  left: 12px;
}

.block-product-card__image-wrapper,
.block-product-card__image {
  aspect-ratio: 1 / 1;
}

.block-product-card__title {
  font-size: 15px;
  line-height: 1.35;
}

.block-product-card__price {
  font-size: 17px;
  letter-spacing: 0.01em;
}

/* --- Section rhythm: generous vertical breathing room --- */

@media (min-width: 1024px) {
  .shopline-section {
    padding-top: clamp(56px, 7vw, 110px);
    padding-bottom: clamp(56px, 7vw, 110px);
  }
}

/* --- Category tiles: bigger ghost type (Bowden's confidence) --- */

.nrh-category-tiles__tile [class*="label"],
.nrh-category-tiles__tile .body2 {
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

@media (hover: hover) and (pointer: fine) {
  .nrh-category-tiles__tile {
    transition: transform 220ms var(--nrh-ease-out), border-color 220ms var(--nrh-ease-out),
      box-shadow 220ms var(--nrh-ease-out);
  }

  .nrh-category-tiles__tile:hover {
    transform: translateY(-4px);
    border-color: rgba(56, 182, 255, 0.45);
    box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(56, 182, 255, 0.12);
  }
}

/* --- Crossover patch: clean button edges (no inherited borders) --- */

.button,
.image-banner__content .button:not(.button--link),
.image-banner__container .button:not(.button--link) {
  border: none !important;
}

/* --- Crossover: dropdown menus in NRH glass --- */

.header-nav-dropdown-menu__menu {
  background: rgba(20, 18, 16, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--nrh-line);
  border-radius: 0 0 var(--nrh-radius-md) var(--nrh-radius-md);
  padding-block: 12px;
  box-shadow: 0 24px 48px -20px rgba(0, 0, 0, 0.8);
}

.header-nav-dropdown-panel__menu {
  background: rgba(20, 18, 16, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--nrh-line);
  border-block-start: 2px solid var(--nrh-accent);
  box-shadow: 0 30px 60px -24px rgba(0, 0, 0, 0.85);
}

@media (hover: hover) and (pointer: fine) {
  .header-nav-dropdown-menu__hero:hover,
  .header-nav-dropdown-panel__hero:hover,
  .header-nav-dropdown-panel__link:hover {
    color: var(--nrh-accent) !important;
  }
}

/* --- Crossover: product titles tinted by label color (data-label-color) --- */

.block-product-card__title[data-label-color="yellow"] {
  color: #ffd23f !important;
}

.block-product-card__title[data-label-color="orange"] {
  color: #ff9436 !important;
}

.block-product-card__title[data-label-color="red"] {
  color: #ff5a52 !important;
}

.block-product-card__title[data-label-color="green"] {
  color: #3ddc84 !important;
}

.block-product-card__title[data-label-color="blue"] {
  color: #38b6ff !important;
}

/* --- Crossover patch: centered section headings (flex-aware) --- */

.heading-with-link {
  display: block !important;
  position: relative;
  text-align: center;
  width: 100%;
}

.heading-with-link::after {
  margin: 18px auto 0;
}

.heading-with-link__title {
  display: inline-block;
}

.heading-with-link__view-more {
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
  min-width: 0;
}

@media (max-width: 959px) {
  .heading-with-link__view-more {
    position: static;
    transform: none;
    margin-top: 12px;
    justify-content: center;
  }
}

/* --- Crossover patch: sold-out tag as muted red glass --- */

.block-product-card .block-product-card__sold-out {
  background: rgba(255, 90, 82, 0.16) !important;
  color: #ff5a52 !important;
  border: 1px solid rgba(255, 90, 82, 0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* --- Crossover patch: align theme button radius (fixes ::after ring corners) --- */

:root {
  --button-border-radius: 999px;
}

.button::after,
.shopline-element-buy-now::after {
  border-radius: inherit !important;
}

/* ============================================================
   CROSSOVER: header drawer menu (Bowden's-style, NRH dark glass)
   ============================================================ */

/* no arrow chip on icon-only buttons */
.button--icon::after,
.button--icon .button::after {
  display: none !important;
  content: none !important;
}

.header-nav-drawer,
.header-nav-drawer__backdrop,
.header-nav-drawer__content {
  background-color: #0d0c0a !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.header-nav-drawer__content {
  border-inline-end: 1px solid var(--nrh-line-strong);
  box-shadow: 30px 0 60px -30px rgba(0, 0, 0, 0.8);
}

.header-nav-drawer__header {
  border-bottom: 1px solid var(--nrh-line);
  padding-block: 4px;
}

.header-nav-drawer__login {
  color: var(--nrh-text);
  gap: 12px;
}

.header-nav-drawer__login .header-nav-drawer__icon {
  color: var(--nrh-accent);
}

.header-nav-drawer__menu > ul > li {
  border-bottom: 1px solid var(--nrh-line);
}

.header-nav-drawer__menu-control {
  padding: 18px 20px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: 600;
  color: var(--nrh-text) !important;
}

.header-nav-drawer__menu-control > a {
  color: inherit !important;
}

.header-nav-drawer__menu-icon {
  margin-inline-end: 16px;
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--nrh-line-strong) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--nrh-text) !important;
  transition: transform 200ms var(--nrh-ease-out), color 200ms var(--nrh-ease-out),
    border-color 200ms var(--nrh-ease-out);
}

.header-nav-drawer__menu-control .header-nav-drawer__menu-icon > svg {
  color: currentColor;
}

.header-nav-drawer details[open] .header-nav-drawer__menu-icon {
  color: var(--nrh-accent) !important;
  border-color: rgba(56, 182, 255, 0.5) !important;
}

.header-nav-drawer__submenu {
  background: #080706 !important;
  border-top: 1px solid var(--nrh-line);
}

.header-nav-drawer__submenu .header-nav-drawer__menu-control {
  padding-block: 15px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #cfccc6 !important;
}

.header-nav-drawer__submenu li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.header-nav-drawer__submenu .header-nav-drawer__menu-control:active {
  color: var(--nrh-accent) !important;
}

@media (hover: hover) and (pointer: fine) {
  .header-nav-drawer__menu-control:hover {
    color: var(--nrh-accent) !important;
  }

  .header-nav-drawer__menu-icon:hover {
    border-color: rgba(56, 182, 255, 0.5) !important;
    color: var(--nrh-accent) !important;
  }
}

.header-nav-drawer__footer {
  border-top: 1px solid var(--nrh-line);
}

/* --- mobile header: fix squeezed/vertical logo --- */

@media (max-width: 959px) {
  .header__container-top-wrap {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "action-bar-left logo action-bar-right" !important;
  }

  .header__logo-link {
    white-space: nowrap;
    overflow: hidden;
    font-size: 18px;
    letter-spacing: 0.04em;
    padding-inline: 8px;
  }

  .header-action-bar.left {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .header-action-bar__menu {
    color: var(--nrh-text);
  }
}

/* tighten announcement bar on small screens */
@media (max-width: 959px) {
  .announcement-bar,
  [class*="announcement"] {
    font-size: 10px;
    letter-spacing: 0.1em;
    padding-block: 8px;
  }
}

/* --- Crossover patch: rescue header icon buttons (content box was 0) --- */

header.header-section .header-action-bar .button--icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  flex: 0 0 40px !important;
  box-sizing: border-box !important;
}

header.header-section .header-action-bar .button--icon svg {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
}

/* --- Crossover patch: mobile header breathing room --- */

@media (max-width: 959px) {
  .header-action-bar.left .header-action-bar__search {
    display: none !important;
  }

  .header__logo-link {
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
  }
}

@media (max-width: 959px) {
  .header-action-bar .plugin-isv-multiLanguage {
    display: none !important;
  }

  .header__logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .header__logo-link {
    font-size: 16px !important;
    letter-spacing: 0.08em !important;
  }
}

/* --- Crossover patch: kill decorative button ring for good --- */

.button::after,
.shopline-element-buy-now::after {
  box-shadow: none !important;
}

/* --- NRH: hide sold-out badges on product cards --- */

.block-product-card__sold-out {
  display: none !important;
}

/* --- NRH: hide stock quantity badges (distributor model) --- */

.block-product-card__stock-badge {
  display: none !important;
}

/* --- NRH: root color fallbacks (un-schemed sections: pages, rte, forms) --- */

:root {
  --color-page-background: 13 12 10;
  --color-background: 20 18 16;
  --color-card-background: 26 23 20;
  --color-media-background: 26 23 20;
  --color-text: 242 242 242;
  --color-light-text: 168 162 154;
  --color-entry-line: 42 38 34;
  --color-button-background: 56 182 255;
  --color-button-text: 13 12 10;
  --color-button-secondary-background: 0 0 0;
  --color-button-secondary-text: 242 242 242;
  --color-button-secondary-border: 42 38 34;
  --color-button-text-link: 56 182 255;
}

.block-product-card__title[data-label-color="purple"] {
  color: #a78bfa !important;
}

.block-product-card__title[data-label-color="brown"] {
  color: #c08552 !important;
}

/* ============================================================
   NRH PRODUCT TABS — Bowden's-style tabbed product info
   ============================================================ */

.nrh-tabs {
  display: block;
  padding: var(--space-6) 0 var(--space-10);
}

.nrh-tabs__bar {
  display: flex;
  gap: 4px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  border-bottom: 1px solid var(--nrh-line);
  margin-bottom: var(--space-6);
}

.nrh-tabs__bar::-webkit-scrollbar {
  display: none;
}

.nrh-tabs__tab {
  appearance: none;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--nrh-text-dim);
  font-family: var(--font-family, inherit);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 18px;
  white-space: nowrap;
  cursor: pointer;
  transition: color 180ms var(--nrh-ease-out), border-color 180ms var(--nrh-ease-out);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.nrh-tabs__tab:hover {
  color: var(--nrh-text);
}

.nrh-tabs__tab.is-active {
  color: var(--nrh-accent);
  border-bottom-color: var(--nrh-accent);
}

.nrh-tabs__panel {
  display: none;
}

.nrh-tabs__panel.is-active {
  display: block;
  animation: nrh-fade-up 0.35s var(--nrh-ease-out);
}

@keyframes nrh-fade-up {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nrh-tabs__rte {
  max-width: 860px;
  color: var(--nrh-text-dim);
  font-size: 15px;
  line-height: 1.7;
}

.nrh-tabs__rte h2,
.nrh-tabs__rte h3 {
  color: var(--nrh-text);
  margin: var(--space-6) 0 var(--space-3);
}

.nrh-tabs__rte p {
  margin-bottom: var(--space-4);
}

.nrh-tabs__rte ul,
.nrh-tabs__rte ol {
  margin: 0 0 var(--space-5) var(--space-5);
}

.nrh-tabs__rte li {
  margin-bottom: var(--space-2);
}

.nrh-tabs__video {
  position: relative;
  aspect-ratio: 16 / 9;
  max-width: 900px;
  border-radius: var(--nrh-radius-lg);
  overflow: hidden;
  border: 1px solid var(--nrh-line);
  background: #000;
}

.nrh-tabs__video iframe,
.nrh-tabs__video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.nrh-tabs__placeholder {
  margin: 0;
  padding: 28px 32px;
  max-width: 720px;
  border: 1px dashed var(--nrh-line-strong, rgba(255, 255, 255, 0.14));
  border-radius: var(--nrh-radius-lg);
  color: var(--nrh-text-dim);
  font-size: 15px;
  line-height: 1.7;
}

.nrh-tabs__video .nrh-tabs__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: none;
  border: 0;
}

/* SDS panel */
.nrh-sds {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex-wrap: wrap;
  padding: var(--space-6);
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
}

.nrh-sds__icon {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--nrh-radius-md);
  background: var(--nrh-accent-soft);
  color: var(--nrh-accent);
  border: 1px solid rgba(56, 182, 255, 0.25);
}

.nrh-sds__meta {
  flex: 1;
  min-width: 240px;
}

.nrh-sds__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--nrh-text);
  margin-bottom: 6px;
}

.nrh-sds__sub {
  color: var(--nrh-text-dim);
}

.nrh-sds--empty {
  border-style: dashed;
}

.nrh-sds--empty p {
  margin-top: 8px;
  max-width: 60ch;
}

/* Question panel */
.nrh-question {
  display: grid;
  gap: var(--space-6);
  max-width: 720px;
}

.nrh-question__intro .title4 {
  margin-bottom: var(--space-2);
}

.nrh-question__intro .body2 {
  color: var(--nrh-text-dim);
}

.nrh-question__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

@media (max-width: 640px) {
  .nrh-question__grid {
    grid-template-columns: 1fr;
  }
}

.nrh-input {
  width: 100%;
  padding: 14px 16px;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line-strong);
  border-radius: var(--nrh-radius-md);
  color: var(--nrh-text);
  font-family: inherit;
  font-size: 14px;
  transition: border-color 180ms var(--nrh-ease-out), box-shadow 180ms var(--nrh-ease-out);
}

.nrh-input::placeholder {
  color: var(--nrh-text-dim);
}

.nrh-input:focus {
  outline: none;
  border-color: var(--nrh-accent);
  box-shadow: 0 0 0 3px rgba(56, 182, 255, 0.18);
}

.nrh-input--area {
  margin-bottom: var(--space-5);
  resize: vertical;
  min-height: 120px;
}

.nrh-tabs__reviews-anchor {
  scroll-margin-top: 140px;
}

@media (max-width: 959px) {
  .nrh-tabs__tab {
    font-size: 13px;
    padding: 12px 14px;
  }
}

.nrh-tabs__tab[hidden] {
  display: none !important;
}

/* ============================================================
   NRH FOOTER REDESIGN — Bowden's structure, NRH dark metal
   ============================================================ */

.footer {
  border-top: 1px solid var(--nrh-line);
  background: var(--nrh-surface);
}

.footer__inner {
  display: flex;
  flex-direction: column;
  row-gap: 0;
}

/* 1 — Newsletter band (full bleed, template-hardcoded) */
.footer__band {
  background:
    radial-gradient(700px 200px at 15% 0%, rgba(56, 182, 255, 0.12), transparent 65%),
    linear-gradient(180deg, rgba(56, 182, 255, 0.07), rgba(0, 0, 0, 0.3));
  border-bottom: 1px solid var(--nrh-line);
}

.footer__band-inner {
  display: flex;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  flex-wrap: wrap;
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}

.footer__band-title {
  flex: 1 1 320px;
  margin: 0;
}

.footer__band-heading {
  display: block !important;
  font-family: var(--sort-title-font, inherit);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--nrh-text) !important;
}

.footer__band-sub {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--nrh-text-dim) !important;
}

.footer__band form,
.footer__band .field {
  flex: 2 1 400px;
}

/* 2 — Retailer strip */
.footer__retailers {
  order: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  flex-wrap: wrap;
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--nrh-line);
}

.footer__retailers-links {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.footer__retailers-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 14px 26px;
  background: var(--nrh-accent);
  color: #0d0c0a !important;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 999px;
  transition: transform 180ms var(--nrh-ease-out), box-shadow 180ms var(--nrh-ease-out);
  box-shadow: 0 8px 28px -10px rgba(56, 182, 255, 0.45);
}

.footer__retailers-cta--apply {
  background: transparent;
  color: var(--nrh-accent) !important;
  border: 1px solid var(--nrh-accent);
  box-shadow: none;
}

.footer__retailers-cta--apply:hover {
  background: var(--nrh-accent-soft);
  box-shadow: 0 8px 28px -10px rgba(56, 182, 255, 0.25);
}

.footer__retailers-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px -10px rgba(56, 182, 255, 0.6);
}

.footer__connect {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.footer__connect-label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nrh-text-dim);
}

.footer__social {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__social li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--nrh-line-strong);
  color: var(--nrh-text);
  transition: all 180ms var(--nrh-ease-out);
}

.footer__social li a:hover {
  border-color: var(--nrh-accent);
  color: var(--nrh-accent);
  transform: translateY(-2px);
}

/* 3 — Link columns */
.footer__inner > .footer__group:nth-of-type(1) {
  order: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 64px);
  width: 100%;
  padding: var(--space-10) 0;
}

@media (max-width: 767px) {
  .footer__inner > .footer__group:nth-of-type(1) {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
}

.footer__navigation-title,
.footer__custom-text-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  margin-bottom: var(--space-5);
}

.footer__navigation-content {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__navigation-item {
  margin-bottom: 10px;
}

.footer__navigation-item a {
  font-size: 14px;
  color: var(--nrh-text-dim);
  transition: color 160ms var(--nrh-ease-out);
}

.footer__navigation-item a:hover {
  color: var(--nrh-accent);
}

.footer__custom-text-content,
.footer__custom-text-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--nrh-text-dim);
}

.footer__custom-text-content a {
  color: var(--nrh-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer__custom-text-content a:hover {
  color: var(--nrh-accent);
}

/* 4 — Utility bar: market selector + payment icons */
.footer__inner > .footer__group:nth-of-type(2) {
  order: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  flex-wrap: wrap;
  width: 100%;
  padding: var(--space-5) 0;
  border-top: 1px solid var(--nrh-line);
}

/* 5 — Legal bar */
.footer__legal {
  border-top: 1px solid var(--nrh-line);
  padding: var(--space-5) 0;
  background: rgba(0, 0, 0, 0.25);
}

.footer__legal-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.footer__legal-copy {
  font-size: 12px;
  color: var(--nrh-text-dim);
}

.footer__legal-links {
  display: flex;
  gap: var(--space-5);
  flex-wrap: wrap;
}

.footer__legal-links a {
  font-size: 12px;
  color: var(--nrh-text-dim);
  transition: color 160ms var(--nrh-ease-out);
}

.footer__legal-links a:hover {
  color: var(--nrh-accent);
}

@media (max-width: 767px) {
  .footer__retailers,
  .footer__legal-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.footer__inner {
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.nrh-sds__map-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--nrh-accent);
  transition: color 160ms var(--nrh-ease-out);
}

.nrh-sds__map-link:hover {
  color: var(--nrh-text);
}

/* ============================================================
   HERO OVERLAY — header floats over full-bleed hero (home)
   ============================================================ */

body.template-index .slideshow {
  margin-top: -142px;
}

body.template-index .slideshow__item,
body.template-index .slideshow__image,
body.template-index .slideshow__image--desktop,
body.template-index .slideshow__image--mobile {
  min-height: 88vh;
  max-height: 88vh;
}

body.template-index .announcement-bar {
  background: rgba(13, 12, 10, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.template-index .header-section {
  background: linear-gradient(180deg, rgba(13, 12, 10, 0.85) 0%, rgba(13, 12, 10, 0.4) 62%, transparent 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none;
}

/* solid again once stuck on scroll */
.theme-sticky-header--sticky .header-section {
  background: rgba(13, 12, 10, 0.92) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid var(--nrh-line);
}

/* Logo stack: mark + wordmark + tagline */
.header__logo {
  flex-direction: column;
  gap: 6px;
  line-height: 1;
}

.header__logo-tagline {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-text-dim);
  white-space: nowrap;
}

@media (max-width: 959px) {
  body.template-index .slideshow {
    margin-top: -118px;
  }
  .header__logo-tagline {
    font-size: 9px;
    letter-spacing: 0.16em;
  }
}

/* Hero overlay: let the workshop image breathe */
body.template-index .slideshow__image::after {
  background:
    linear-gradient(90deg, rgba(13, 12, 10, 0.8) 0%, rgba(13, 12, 10, 0.3) 45%, rgba(13, 12, 10, 0.05) 75%, transparent 100%),
    linear-gradient(0deg, rgba(13, 12, 10, 0.85) 0%, transparent 30%) !important;
}

body.template-index .slideshow__image img {
  object-position: center 32%;
  filter: brightness(1.12);
}

/* ============================================================
   NRH DISTRIBUTOR MAP — postcode + radius search
   ============================================================ */

.nrh-map {
  display: block;
  padding-top: var(--space-8);
  padding-bottom: var(--space-12);
}

.nrh-map__header {
  text-align: center;
  margin-bottom: var(--space-6);
}

.nrh-map__header .body2 {
  color: var(--nrh-text-dim);
  margin-top: var(--space-2);
}

.nrh-map__search {
  display: flex;
  gap: var(--space-3);
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}

.nrh-map__postcode {
  width: 160px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.nrh-map__distance,
.nrh-map__group {
  width: 220px;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--nrh-text-dim) 50%),
    linear-gradient(135deg, var(--nrh-text-dim) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.nrh-map__group {
  width: 250px;
}

.nrh-map__hint {
  text-align: center;
  color: var(--nrh-accent);
  margin-bottom: var(--space-3);
}

.nrh-map__layout {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-5);
  align-items: start;
}

@media (max-width: 959px) {
  .nrh-map__layout {
    grid-template-columns: 1fr;
  }
}

.nrh-map__canvas {
  height: 540px;
  border-radius: var(--nrh-radius-lg);
  border: 1px solid var(--nrh-line);
  overflow: hidden;
  background: var(--nrh-card);
  z-index: 1;
}

@media (max-width: 959px) {
  .nrh-map__canvas {
    height: 420px;
  }
}

.nrh-map__results {
  max-height: 540px;
  overflow-y: auto;
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  background: var(--nrh-card);
  padding: var(--space-4);
}

.nrh-map__count {
  color: var(--nrh-text-dim);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--nrh-line);
  margin-bottom: var(--space-3);
  position: sticky;
  top: 0;
  background: var(--nrh-card);
}

.nrh-map__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nrh-map__item {
  padding: var(--space-3) var(--space-2);
  border-bottom: 1px solid var(--nrh-line);
  cursor: pointer;
  transition: background-color 160ms var(--nrh-ease-out);
}

.nrh-map__item:hover {
  background: var(--nrh-card-2);
}

.nrh-map__item-name {
  font-weight: 600;
  font-size: 14px;
  color: var(--nrh-text);
}

.nrh-map__item-meta {
  color: var(--nrh-text-dim);
  margin-top: 2px;
}

.nrh-map__item-meta a {
  color: var(--nrh-accent);
}

.nrh-map__dist {
  color: var(--nrh-accent);
  font-weight: 600;
  white-space: nowrap;
}

.nrh-map__popup {
  font-size: 13px;
  line-height: 1.5;
  color: #1a1a2e;
}

.nrh-map__popup strong {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}

/* Leaflet dark-theme controls */
.nrh-map .leaflet-bar a {
  background: var(--nrh-card-2);
  color: var(--nrh-text);
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-map .leaflet-bar a:hover {
  background: var(--nrh-surface-hover);
}

.nrh-map .leaflet-popup-content-wrapper,
.nrh-map .leaflet-popup-tip {
  background: #f7f5f0;
  color: #1a1a2e;
}

.nrh-map .leaflet-popup-content a {
  color: #0a6fd6;
}


/* ---------- SDS library (Safety & First Aid page) ---------- */

.nrh-sdslib__header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto var(--space-6);
}

.nrh-sdslib__header .title3 {
  margin-bottom: var(--space-3);
}

.nrh-sdslib__note {
  margin-top: var(--space-3);
  color: var(--nrh-text-dim);
}

.nrh-sdslib__note a {
  color: var(--nrh-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nrh-sdslib__list {
  max-width: 980px;
  margin: 0 auto;
  border-top: 1px solid var(--nrh-line);
}

.nrh-sdslib__letter {
  padding: var(--space-4) var(--space-2) var(--space-2);
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--nrh-accent);
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-sdslib__row {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: var(--space-4);
  padding: 12px var(--space-2);
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-sdslib__media {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: var(--nrh-radius-sm);
  overflow: hidden;
  border: 1px solid var(--nrh-line);
  background: #fff;
  text-decoration: none;
}

.nrh-sdslib__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.nrh-sdslib__img--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9aa0a6;
  background: #f2f2f2;
}

.nrh-sdslib__product {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--nrh-text);
  text-decoration: none;
}

.nrh-sdslib__product:hover {
  color: var(--nrh-accent);
}

.nrh-sdslib__formats {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  letter-spacing: 0.06em;
  color: var(--nrh-text-dim);
}

.nrh-sdslib__actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}

.nrh-sdslib__dl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 13px;
}

@media (max-width: 749px) {
  .nrh-sdslib__row {
    grid-template-columns: 56px 1fr;
    grid-template-areas:
      "media info"
      "media actions";
    gap: 8px 12px;
  }

  .nrh-sdslib__media {
    grid-area: media;
    width: 56px;
    height: 56px;
  }

  .nrh-sdslib__info {
    grid-area: info;
  }

  .nrh-sdslib__actions {
    grid-area: actions;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}


/* ---------- Applications grid (homepage) ---------- */

.nrh-apps {
  padding-block: clamp(40px, 6vw, 72px);
}

.nrh-apps__header {
  text-align: center;
  margin-bottom: var(--space-6);
}

.nrh-apps__heading {
  font-size: clamp(28px, 4vw, 44px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.nrh-apps__sub {
  margin-top: var(--space-3);
  color: var(--nrh-text-dim);
}

.nrh-apps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.nrh-apps__tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  min-height: 150px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  background: linear-gradient(160deg, var(--nrh-card) 0%, var(--nrh-surface) 100%);
  text-decoration: none;
  transition: border-color 220ms var(--nrh-ease-out), transform 220ms var(--nrh-ease-out);
}

.nrh-apps__tile::before {
  content: attr(data-ghost);
  position: absolute;
  top: -8px;
  right: -4px;
  font-family: var(--font-heading-family, inherit);
  font-size: 74px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.045);
  pointer-events: none;
  white-space: nowrap;
}

.nrh-apps__tile-title {
  position: relative;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-apps__tile-tagline {
  position: relative;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--nrh-text-dim);
}

.nrh-apps__tile-arrow {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--nrh-line-strong);
  color: var(--nrh-text-dim);
  transition: color 220ms var(--nrh-ease-out), border-color 220ms var(--nrh-ease-out),
    background 220ms var(--nrh-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .nrh-apps__tile:hover {
    border-color: rgba(56, 182, 255, 0.45);
    transform: translateY(-3px);
  }

  .nrh-apps__tile:hover .nrh-apps__tile-arrow {
    color: #0a1420;
    border-color: var(--nrh-accent);
    background: var(--nrh-accent);
  }

  .nrh-apps__tile:hover .nrh-apps__tile-title {
    color: var(--nrh-accent);
  }
}

.nrh-apps__tile:active {
  border-color: rgba(56, 182, 255, 0.45);
}

@media (max-width: 959px) {
  .nrh-apps__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nrh-apps__tile {
    min-height: 128px;
  }
}


/* ---------- Footer Company dropdown ---------- */

.footer__company {
  position: relative;
  display: inline-flex;
  text-decoration: none;
}

.footer__company:hover .footer__company-summary {
  border-color: rgba(56, 182, 255, 0.5);
}

.footer__company:hover .footer__company-chevron {
  transform: translateX(2px);
  color: var(--nrh-accent);
}

.footer__company-summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  padding: 10px 16px;
  border: 1px solid var(--nrh-line-strong);
  border-radius: 999px;
  user-select: none;
  background: rgba(255, 255, 255, 0.03);
  transition: border-color 180ms var(--nrh-ease-out);
}

.footer__company-summary::-webkit-details-marker {
  display: none;
}

.footer__company[open] .footer__company-summary {
  border-color: rgba(56, 182, 255, 0.5);
}

.footer__company-chevron {
  flex: 0 0 auto;
  color: var(--nrh-text-dim);
  transition: transform 200ms var(--nrh-ease-out);
}

.footer__company[open] .footer__company-chevron {
  transform: rotate(180deg);
  color: var(--nrh-accent);
}

.footer__company-list {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  z-index: 20;
  list-style: none;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--nrh-line-strong);
  border-radius: var(--nrh-radius-md);
  background: #141210;
  box-shadow: 0 18px 50px -12px rgba(0, 0, 0, 0.7);
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  width: max-content;
  max-width: min(560px, 90vw);
}

.footer__company-list li {
  break-inside: avoid;
}

.footer__company-list a {
  display: block;
  padding: 7px 4px;
  font-size: 13.5px;
  color: var(--nrh-text-dim);
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms var(--nrh-ease-out);
}

.footer__company-list a:hover {
  color: var(--nrh-accent);
}

@media (min-width: 960px) {
  .footer__company-list {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 749px) {
  .footer__retailers {
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
  }

  .footer__company-list {
    left: 50%;
    transform: translateX(-50%);
  }
}


/* Applications tile photo variant */

.nrh-apps__tile--has-image {
  background: #000;
}

.nrh-apps__tile-img {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.nrh-apps__tile-img img,
.nrh-apps__tile-img .theme-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nrh-apps__tile-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(8, 7, 6, 0.92) 0%, rgba(8, 7, 6, 0.45) 45%, rgba(8, 7, 6, 0.15) 100%);
}

.nrh-apps__tile--has-image::before {
  z-index: 1;
}

.nrh-apps__tile--has-image .nrh-apps__tile-title,
.nrh-apps__tile--has-image .nrh-apps__tile-tagline {
  z-index: 2;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

.nrh-apps__tile--has-image .nrh-apps__tile-arrow {
  z-index: 2;
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  background: rgba(0, 0, 0, 0.25);
}

@media (hover: hover) and (pointer: fine) {
  .nrh-apps__tile--has-image:hover .nrh-apps__tile-img img {
    transform: scale(1.04);
  }
}

.nrh-apps__tile-img,
.nrh-apps__tile-img img {
  transition: transform 400ms var(--nrh-ease-out);
}

.nrh-sdslib__media .theme-image,
.nrh-sdslib__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  display: block;
}

/* Drawer: let the menu scroll so expanded submenus show all items */
.header-nav-drawer__content {
  overflow: hidden;
}

.header-nav-drawer__menu {
  min-height: 0 !important;
  overscroll-behavior: contain;
}

/* Drawer fix: the sticky-header transform makes itself the containing block
   for the fixed drawer, clipping it to header height. Disable the transform
   animation so the drawer can cover the full viewport. Sticky positioning
   still works; only the slide animation is lost. */
theme-sticky-header {
  animation: none !important;
  transform: none !important;
}


/* Drawer: force full-viewport geometry (vh/dvh can misbehave in preview iframes) */
.header-nav-drawer.open {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1020 !important;
}

.header-nav-drawer__backdrop {
  position: fixed !important;
  inset: 0 !important;
}

.header-nav-drawer__content {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  height: auto !important;
  width: 340px !important;
  max-width: 88vw !important;
}

/* While the drawer is open, stretch its containing block so the fixed
   drawer children can cover the full viewport (a transformed/positioned
   ancestor otherwise clips them to header height). */
html.nrh-drawer-open theme-sticky-header {
  height: 100vh;
  height: 100dvh;
}


/* Desktop nav dropdown: ensure the full child list is visible */
.header-nav,
.header-nav__menu,
.header-nav__menu-item,
.header-nav-dropdown-menu-scope,
.header-nav-dropdown-menu,
.header-nav-dropdown-menu__menu {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  contain: none !important;
}

.header-nav-dropdown-menu-scope {
  z-index: 60;
}

/* Desktop nav dropdown is rendered by nav.js as a fixed-position host (data-nrh-dropdown-host). */
/* ---------- NRH Retailer application form ---------- */

.nrh-apply {
  padding-top: 72px;
  padding-bottom: 72px;
  background: var(--nrh-bg);
}

.nrh-apply__inner {
  max-width: 860px;
  margin: 0 auto;
}

.nrh-apply__header {
  margin-bottom: 36px;
  text-align: center;
}

.nrh-apply__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-apply__title {
  margin-bottom: 12px;
  color: var(--nrh-text);
}

.nrh-apply__sub {
  max-width: 620px;
  margin: 0 auto;
  color: var(--nrh-text-dim);
}

.nrh-apply__formwrap form {
  padding: 36px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
}

.nrh-apply__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}

.nrh-apply__field--wide {
  grid-column: 1 / -1;
}

.nrh-apply__field .field__input {
  color: var(--nrh-text);
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line-strong);
  border-radius: var(--nrh-radius-sm);
}

.nrh-apply__field .field__input:focus {
  border-color: var(--nrh-accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--nrh-accent-soft);
}

.nrh-apply__field .field__label {
  color: var(--nrh-text-dim);
}

.nrh-apply__select-label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--nrh-text-dim);
}

.nrh-apply__select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  appearance: none;
}

.nrh-apply__radios {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}

.nrh-apply__radio {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  color: var(--nrh-text);
  cursor: pointer;
}

.nrh-apply__radio input {
  accent-color: var(--nrh-accent);
  width: 16px;
  height: 16px;
}

.nrh-apply__accounts {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--nrh-line);
}

.nrh-apply__accounts .nrh-apply__grid {
  margin-top: 14px;
}

.nrh-apply__hint {
  font-weight: 400;
  opacity: 0.75;
}

.nrh-apply form > .field,
.nrh-apply form > .nrh-apply__accounts + .field {
  margin-top: 18px;
}

.nrh-apply__consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 24px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--nrh-text-dim);
  cursor: pointer;
}

.nrh-apply__consent input {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: var(--nrh-accent);
}

.nrh-apply__consent a {
  color: var(--nrh-accent);
  text-decoration: underline;
}

.nrh-apply__button {
  margin-top: 28px;
  text-align: center;
}

.nrh-apply__submit {
  min-width: 240px;
  min-height: 52px;
  font-weight: 700;
}

.nrh-apply__success {
  padding: 28px;
  text-align: center;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
}

.nrh-apply__success-note {
  margin-top: 12px;
  color: var(--nrh-text-dim);
}

/* CTA banner linking to the form */
.nrh-apply-cta {
  padding-top: 56px;
  padding-bottom: 8px;
  background: var(--nrh-bg);
  text-align: center;
}

.nrh-apply-cta__title {
  margin-bottom: 8px;
  color: var(--nrh-text);
}

.nrh-apply-cta__sub {
  margin-bottom: 20px;
  color: var(--nrh-text-dim);
}

.nrh-apply-cta .button {
  min-height: 48px;
  padding: 0 28px;
  font-weight: 700;
}

@media (max-width: 749px) {
  .nrh-apply {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .nrh-apply__formwrap form {
    padding: 22px 18px;
  }

  .nrh-apply__grid {
    grid-template-columns: 1fr;
  }
}
/* ---------- NRH Company index page ---------- */

.nrh-compidx {
  padding-top: 48px;
  padding-bottom: 80px;
  background: var(--nrh-bg);
}

.nrh-compidx__inner {
  max-width: 960px;
  margin: 0 auto;
}

.nrh-compidx__header {
  margin-bottom: 40px;
  text-align: center;
}

.nrh-compidx__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-compidx__title {
  margin-bottom: 12px;
  color: var(--nrh-text);
}

.nrh-compidx__sub {
  max-width: 560px;
  margin: 0 auto;
  color: var(--nrh-text-dim);
}

.nrh-compidx__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nrh-compidx__card {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding: 20px 22px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
  transition: border-color 180ms var(--nrh-ease-out), transform 180ms var(--nrh-ease-out), background-color 180ms var(--nrh-ease-out);
}

.nrh-compidx__card:hover {
  background: var(--nrh-card);
  border-color: var(--nrh-accent);
  transform: translateY(-2px);
}

.nrh-compidx__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  color: var(--nrh-accent);
  background: var(--nrh-accent-soft);
  border-radius: 12px;
}

.nrh-compidx__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.nrh-compidx__name {
  font-size: 15px;
  font-weight: 700;
  color: var(--nrh-text);
}

.nrh-compidx__desc {
  font-size: 13px;
  line-height: 1.45;
  color: var(--nrh-text-dim);
}

.nrh-compidx__arrow {
  flex-shrink: 0;
  color: var(--nrh-text-dim);
  transition: transform 180ms var(--nrh-ease-out), color 180ms var(--nrh-ease-out);
}

.nrh-compidx__card:hover .nrh-compidx__arrow {
  color: var(--nrh-accent);
  transform: translateX(3px);
}

@media (max-width: 749px) {
  .nrh-compidx {
    padding-top: 32px;
    padding-bottom: 56px;
  }

  .nrh-compidx__grid {
    grid-template-columns: 1fr;
  }
}
/* ---------- NRH Sustainability report ---------- */

.nrh-sus {
  padding-top: 72px;
  padding-bottom: 80px;
  background: var(--nrh-bg);
}

.nrh-sus__article {
  max-width: 860px;
  margin: 0 auto;
}

.nrh-sus__header {
  margin-bottom: 48px;
  padding-bottom: 32px;
  text-align: center;
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-sus__eyebrow {
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-sus__title {
  margin-bottom: 18px;
  font-size: clamp(28px, 4.5vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-sus__meta {
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--nrh-text-dim);
}

.nrh-sus__tagline {
  font-size: 15px;
  font-style: italic;
  color: var(--nrh-text-dim);
}

.nrh-sus__block {
  margin-bottom: 40px;
}

.nrh-sus__block h2 {
  margin-bottom: 16px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-sus__num {
  color: var(--nrh-accent);
}

.nrh-sus__block p {
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.75;
  color: var(--nrh-text-dim);
}

.nrh-sus__block ul {
  margin: 0 0 16px;
  padding-left: 4px;
  list-style: none;
}

.nrh-sus__block li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 24px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
}

.nrh-sus__block li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 4px;
  width: 7px;
  height: 7px;
  background: var(--nrh-accent);
  border-radius: 2px;
  transform: rotate(45deg);
}

.nrh-sus__priorities strong {
  color: var(--nrh-text);
  font-weight: 700;
}

.nrh-sus__signoff {
  margin-top: 20px;
  padding: 16px 20px;
  font-weight: 700;
  text-align: center;
  color: var(--nrh-accent) !important;
  background: var(--nrh-accent-soft);
  border: 1px solid rgba(56, 182, 255, 0.25);
  border-radius: var(--nrh-radius-md);
}

.nrh-sus__disclaimer {
  padding-top: 24px;
  border-top: 1px solid var(--nrh-line);
}

.nrh-sus__disclaimer p {
  margin-bottom: 8px;
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
  opacity: 0.75;
}

.nrh-sus__disclaimer p:first-child {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
}

@media (max-width: 749px) {
  .nrh-sus {
    padding-top: 44px;
    padding-bottom: 56px;
  }

  .nrh-sus__header {
    margin-bottom: 36px;
  }
}
/* ---------- NRH Terms & Conditions document ---------- */

.nrh-terms {
  padding-top: 72px;
  padding-bottom: 80px;
  background: var(--nrh-bg);
}

.nrh-terms__article {
  max-width: 860px;
  margin: 0 auto;
}

.nrh-terms__header {
  margin-bottom: 48px;
  padding-bottom: 32px;
  text-align: center;
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-terms__eyebrow {
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-terms__title {
  margin-bottom: 18px;
  font-size: clamp(28px, 4.5vw, 40px);
  font-weight: 600;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-terms__effective {
  display: inline-block;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--nrh-accent);
  background: var(--nrh-accent-soft);
  border: 1px solid rgba(56, 182, 255, 0.25);
  border-radius: 999px;
}

.nrh-terms__block {
  margin-bottom: 40px;
}

.nrh-terms__block h2 {
  margin-bottom: 16px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-terms__block h3 {
  margin: 22px 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--nrh-text);
}

.nrh-terms__num {
  color: var(--nrh-accent);
}

.nrh-terms__block p {
  margin-bottom: 12px;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--nrh-text-dim);
}

.nrh-terms__block a {
  color: var(--nrh-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nrh-terms__block ul {
  margin: 0 0 14px;
  padding-left: 4px;
  list-style: none;
}

.nrh-terms__block li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 24px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
}

.nrh-terms__block li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 4px;
  width: 7px;
  height: 7px;
  background: var(--nrh-accent);
  border-radius: 2px;
  transform: rotate(45deg);
}

.nrh-terms__contact {
  margin-top: 18px;
  padding: 20px 24px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-terms__contact p {
  margin-bottom: 8px;
  font-size: 14px;
}

.nrh-terms__contact p:last-child {
  margin-bottom: 0;
}

.nrh-terms__contact-name {
  font-size: 16px !important;
  font-weight: 700;
  color: var(--nrh-text) !important;
}

.nrh-terms__contact a {
  color: var(--nrh-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nrh-terms__docfooter {
  padding-top: 24px;
  border-top: 1px solid var(--nrh-line);
}

.nrh-terms__docfooter p {
  margin-bottom: 6px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--nrh-text-dim);
  opacity: 0.75;
}

.nrh-terms__docfooter p:first-child {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
}

.nrh-terms__docnote {
  margin-top: 10px;
  font-style: italic;
}

@media (max-width: 749px) {
  .nrh-terms {
    padding-top: 44px;
    padding-bottom: 56px;
  }

  .nrh-terms__header {
    margin-bottom: 36px;
  }
}
/* Bold lead-in lists (e.g. Responsible Sourcing policy, section 4) */
.nrh-terms__leadins strong {
  color: var(--nrh-text);
  font-weight: 700;
}
/* Group headings on the Policies & Procedures index */
.nrh-polidx__group {
  margin: 40px 0 18px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-polidx__group:first-of-type {
  margin-top: 0;
}
/* ---------- NRH policy documents (hub page & policy branches) ---------- */

.nrh-policy-docs {
  padding-top: 24px;
}

.nrh-doc {
  margin-bottom: 24px;
  padding: 48px 44px 40px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
}

.nrh-doc__header {
  margin-bottom: 36px;
  padding-bottom: 28px;
}

.nrh-doc__title {
  font-size: clamp(24px, 3.5vw, 32px);
}

.nrh-doc__block h3 {
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-doc__contact {
  margin-top: 24px;
}

.nrh-doc__footer {
  margin-top: 24px;
}

.nrh-doc__top {
  margin: 20px 0 0;
  text-align: right;
}

.nrh-doc__top a {
  font-size: 13px;
  font-weight: 600;
  color: var(--nrh-accent);
  text-decoration: none;
}

.nrh-doc__top a:hover {
  text-decoration: underline;
}

@media (max-width: 749px) {
  .nrh-doc {
    padding: 28px 20px 24px;
  }
}
/* ---------- Footer refresh: cleaner action bar, columns, utility strip ---------- */

/* 2 — Retailer strip: give it room and treat it as a distinct action bar */
.footer__retailers {
  gap: 24px;
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

.footer__retailers-links {
  gap: 12px;
}

.footer__retailers-cta {
  padding: 12px 22px;
  font-size: 13px;
  letter-spacing: 0.1em;
}

.footer__connect {
  margin-left: auto;
}

/* 3 — Link columns: more breathing room, tighter type */
.footer__inner > .footer__group:nth-of-type(1) {
  padding-top: var(--space-10);
  padding-bottom: var(--space-10);
}

.footer__navigation-title,
.footer__custom-text-title {
  font-size: 13px;
  letter-spacing: 0.18em;
  margin-bottom: var(--space-5);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--nrh-line);
}

.footer__navigation-item {
  margin-bottom: 8px;
}

.footer__navigation-item a {
  font-size: 13.5px;
}

/* 4 — Utility bar: compact, quiet selectors */
.footer__inner > .footer__group:nth-of-type(2) {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
  border-top: 1px solid var(--nrh-line);
}

.footer__inner > .footer__group:nth-of-type(2) select,
.footer__inner > .footer__group:nth-of-type(2) .footer__market-selector,
.footer__additional-group select {
  min-height: 38px;
  padding: 0 34px 0 14px;
  font-size: 12.5px;
  color: var(--nrh-text-dim);
  background-color: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--nrh-line);
  border-radius: 10px;
}

.footer__inner > .footer__group:nth-of-type(2) select:hover,
.footer__additional-group select:hover {
  border-color: var(--nrh-line-strong);
  color: var(--nrh-text);
}

/* 5 — Legal bar: quieter */
.footer__legal {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.footer__legal-copy,
.footer__legal-links a {
  font-size: 11.5px;
}

.footer__legal-links {
  gap: var(--space-5);
}

.footer__legal-links a {
  opacity: 0.8;
}

/* Medium screens: stack the action bar gracefully before the mobile breakpoint */
@media (min-width: 768px) and (max-width: 1100px) {
  .footer__retailers {
    justify-content: center;
    text-align: center;
  }

  .footer__connect {
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .footer__retailers {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }

  .footer__retailers-links {
    flex-direction: column;
    align-items: stretch;
  }

  .footer__retailers-cta {
    justify-content: center;
  }

  .footer__connect {
    justify-content: center;
    margin-left: 0;
  }
}
/* Compact localization selectors in the footer utility bar */
.footer__inner > .footer__group:nth-of-type(2) theme-select,
.footer__additional-group theme-select {
  --input-border-radius: 10px;
  --input-border-thickness: 1px;
  --input-border-opacity: 0.16;
  font-size: 12.5px;
  color: var(--nrh-text-dim);
  background: rgba(255, 255, 255, 0.02);
  border-radius: 10px;
  transition: border-color 160ms var(--nrh-ease-out), color 160ms var(--nrh-ease-out);
}

.footer__inner > .footer__group:nth-of-type(2) theme-select:hover,
.footer__additional-group theme-select:hover {
  color: var(--nrh-text);
}

.footer__inner > .footer__group:nth-of-type(2) theme-select > select,
.footer__additional-group theme-select > select {
  height: 36px;
  padding-left: 14px;
  padding-right: 32px;
  background: transparent;
}
/* ---------- NRH mega menu (Company "Information Hub" style) ---------- */

.nrh-mega {
  display: grid;
  grid-template-columns: 200px 1fr;
  width: 620px;
  max-width: calc(100vw - 16px);
  background: #141210;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
}

.nrh-mega__cats {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.nrh-mega__cat {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 10px 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: #a8a29a;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease;
}

.nrh-mega__cat svg {
  opacity: 0;
  transition: opacity 150ms ease;
}

.nrh-mega__cat:hover {
  color: #f2efe9;
  background: rgba(255, 255, 255, 0.04);
}

.nrh-mega__cat.is-active {
  color: #38b6ff;
  background: rgba(56, 182, 255, 0.12);
}

.nrh-mega__cat.is-active svg {
  opacity: 1;
}

.nrh-mega__panel {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-left: 14px;
  min-height: 100%;
}

.nrh-mega__panel a {
  display: block;
  padding: 8px 12px;
  font-size: 13.5px;
  line-height: 1.45;
  color: #d8d4cd;
  text-decoration: none;
  border-radius: 8px;
  transition: background-color 150ms ease, color 150ms ease;
}

.nrh-mega__panel a:hover {
  color: #ffffff;
  background: rgba(56, 182, 255, 0.1);
}
/* ---------- NRH About page ---------- */

.nrh-sus__block strong {
  color: var(--nrh-text);
  font-weight: 700;
}

.nrh-about__signoff {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--nrh-text);
}

.nrh-about__signoff em {
  color: var(--nrh-text-dim);
}

.nrh-about__footerline {
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}
/* ---------- Header nav: keep items on one line at mid widths ---------- */

@media (min-width: 960px) {
  .header-nav__menu {
    flex-wrap: nowrap;
  }
}

@media (min-width: 960px) and (max-width: 1280px) {
  .header-nav__menu-item {
    margin-inline: 9px;
  }

  .header-nav__menu-item > a {
    font-size: 13px;
  }

  .header-nav__menu-item > a > span {
    padding-block: 10px;
  }
}
/* ---------- Retailers page refresh: unified search bar + cleaner results ---------- */

.nrh-map__header {
  margin-bottom: var(--space-8);
}

.nrh-map__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-map__title {
  margin: 0;
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--nrh-text);
}

/* One unified pill-shaped toolbar instead of separate inputs */
.nrh-map__search {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  max-width: 880px;
  margin: 0 auto var(--space-5);
  padding: 6px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: 999px;
  box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.8);
}

.nrh-map__search .nrh-input {
  height: 46px;
  width: auto;
  background: transparent;
  border: 0;
  border-radius: 999px;
  font-size: 13.5px;
  transition: background-color 150ms ease;
}

.nrh-map__search .nrh-input:focus {
  outline: none;
  background: var(--nrh-card);
}

.nrh-map__postcode {
  flex: 1 1 220px;
  padding-left: 20px;
  text-align: left;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.nrh-map__distance,
.nrh-map__group {
  flex: 0 1 180px;
  padding-right: 34px;
}

.nrh-map__group {
  flex-basis: 200px;
}

.nrh-map__search .button {
  height: 46px;
  padding: 0 30px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* Results list: card-like rows with accent hover */
.nrh-map__results {
  background: var(--nrh-surface);
}

.nrh-map__count {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--nrh-surface);
}

.nrh-map__item {
  padding: 12px 14px;
  margin-bottom: 3px;
  border-bottom: 0;
  border-left: 2px solid transparent;
  border-radius: 12px;
}

.nrh-map__item:hover {
  background: var(--nrh-accent-soft);
  border-left-color: var(--nrh-accent);
}

@media (max-width: 959px) {
  .nrh-map__search {
    flex-wrap: wrap;
    border-radius: 20px;
  }

  .nrh-map__search .nrh-input {
    flex: 1 1 100%;
    background: var(--nrh-card);
  }

  .nrh-map__search .button {
    flex: 1 1 100%;
  }
}
/* Sticky count must paint above scrolling list items */
.nrh-map__count {
  z-index: 2;
}
/* ---------- Company index: about brief + section divider ---------- */

.nrh-compidx__brief {
  max-width: 680px;
  margin: 22px auto 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--nrh-text-dim);
}

.nrh-compidx__divider {
  margin: 56px 0 30px;
  padding-top: 40px;
  border-top: 1px solid var(--nrh-line);
  text-align: center;
}

.nrh-compidx__section-title {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-compidx__section-sub {
  margin: 0;
  font-size: 14px;
  color: var(--nrh-text-dim);
}
/* ---------- NRH SDS library v2 (WD-40 style) ---------- */

.nrh-sds {
  padding-top: 56px;
  padding-bottom: 72px;
  background: var(--nrh-bg);
}

.nrh-sds__header {
  margin-bottom: 28px;
  text-align: center;
}

.nrh-sds__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-sds__title {
  margin: 0 0 12px;
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-sds__sub {
  max-width: 620px;
  margin: 0 auto;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--nrh-text-dim);
}

.nrh-sds__toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 720px;
  margin: 0 auto 22px;
}

.nrh-sds__filter {
  flex: 1;
  height: 46px;
  padding: 0 20px;
  font-size: 14px;
  color: var(--nrh-text);
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: 999px;
  transition: border-color 150ms ease;
}

.nrh-sds__filter:focus {
  outline: none;
  border-color: var(--nrh-accent);
}

.nrh-sds__count {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nrh-text-dim);
  white-space: nowrap;
}

.nrh-sds__list {
  max-width: 900px;
  margin: 0 auto;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  overflow: hidden;
}

.nrh-sds__row {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 14px 22px;
  border-bottom: 1px solid var(--nrh-line);
  transition: background-color 150ms ease;
}

.nrh-sds__row:last-child {
  border-bottom: 0;
}

.nrh-sds__row:hover {
  background: var(--nrh-accent-soft);
}

.nrh-sds__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-sm);
  overflow: hidden;
}

.nrh-sds__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.nrh-sds__img--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--nrh-text-dim);
}

.nrh-sds__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.nrh-sds__product {
  font-size: 15.5px;
  font-weight: 700;
  color: var(--nrh-text);
  text-decoration: none;
}

.nrh-sds__product:hover {
  color: var(--nrh-accent);
}

.nrh-sds__formats {
  font-size: 12.5px;
  color: var(--nrh-text-dim);
}

.nrh-sds__actions {
  display: flex;
  gap: 10px;
}

.nrh-sds__dl {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 0 16px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 999px;
  text-decoration: none;
}

.nrh-sds__note {
  max-width: 620px;
  margin: 26px auto 0;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
  color: var(--nrh-text-dim);
}

.nrh-sds__note a {
  color: var(--nrh-accent);
}

@media (max-width: 749px) {
  .nrh-sds {
    padding-top: 36px;
    padding-bottom: 48px;
  }

  .nrh-sds__row {
    grid-template-columns: 64px 1fr;
    gap: 14px;
    padding: 12px 14px;
  }

  .nrh-sds__media {
    width: 64px;
    height: 64px;
  }

  .nrh-sds__actions {
    grid-column: 1 / -1;
  }

  .nrh-sds__dl {
    flex: 1;
    justify-content: center;
  }
}
/* ---------- SDS library v3: 4 product cards per row ---------- */

.nrh-sds__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 1200px;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.nrh-sds__row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  padding: 16px;
  margin: 0;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-sds__row:hover {
  background: var(--nrh-surface);
  border-color: rgba(56, 182, 255, 0.4);
}

.nrh-sds__media {
  width: 100%;
  height: 140px;
  flex-shrink: 0;
}

.nrh-sds__info {
  align-items: center;
  text-align: center;
  gap: 6px;
}

.nrh-sds__product {
  font-size: 14.5px;
  line-height: 1.35;
}

.nrh-sds__formats {
  font-size: 11.5px;
}

.nrh-sds__actions {
  display: flex;
  gap: 8px;
  width: 100%;
  margin-top: auto;
}

.nrh-sds__dl {
  flex: 1;
  justify-content: center;
  min-height: 36px;
  padding: 0 8px;
}

@media (max-width: 959px) {
  .nrh-sds__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 599px) {
  .nrh-sds__list {
    grid-template-columns: 1fr;
  }

  .nrh-sds__media {
    height: 160px;
  }
}
/* SDS grid: 4 columns from 800px up, 2 on small tablets, 1 on phones */
@media (min-width: 800px) {
  .nrh-sds__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 560px) and (max-width: 799px) {
  .nrh-sds__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 559px) {
  .nrh-sds__list {
    grid-template-columns: 1fr;
  }
}
/* ---------- NRH article extras (meta, callout, table, checklist) ---------- */

.nrh-article__meta {
  margin-top: 14px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-article__meta::before {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 0 auto 12px;
  background: var(--nrh-accent);
}

.nrh-sus__block a {
  color: var(--nrh-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nrh-sus__block h3 {
  margin: 22px 0 10px;
  font-size: 16px;
  font-weight: 700;
  color: var(--nrh-text);
}

.nrh-article__callout {
  margin-top: 16px;
  padding: 12px 18px;
  text-align: center;
  background: var(--nrh-accent-soft);
  border: 1px solid rgba(56, 182, 255, 0.3);
  border-radius: var(--nrh-radius-sm);
}

.nrh-article__tablewrap {
  margin: 18px 0;
  overflow-x: auto;
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-article__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.nrh-article__table th {
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: left;
  text-transform: uppercase;
  color: var(--nrh-text);
  background: var(--nrh-card);
  border-bottom: 1px solid var(--nrh-line-strong);
}

.nrh-article__table td {
  padding: 11px 16px;
  color: var(--nrh-text-dim);
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-article__table tr:last-child td {
  border-bottom: 0;
}

.nrh-article__table tbody tr:hover td {
  background: var(--nrh-accent-soft);
}

.nrh-article__table a {
  color: var(--nrh-accent);
  text-decoration: none;
  font-weight: 600;
}

.nrh-article__table a:hover {
  text-decoration: underline;
}

.nrh-article__checklist li::before {
  background: transparent;
  border: 2px solid var(--nrh-accent);
  border-radius: 50%;
  transform: none;
  width: 8px;
  height: 8px;
  top: 0.5em;
}

.nrh-article__disclaimer {
  padding: 22px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-article__disclaimer .nrh-terms__docnote {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-style: normal;
  opacity: 1;
  color: var(--nrh-accent);
}
/* ---------- NRH Reports (guides & reports with pinning) ---------- */

.nrh-reports {
  padding-top: 56px;
  padding-bottom: 24px;
}

.nrh-reports__header {
  margin-bottom: 26px;
  text-align: center;
}

.nrh-reports__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-reports__title {
  margin: 0 0 10px;
  font-size: clamp(24px, 3.5vw, 34px);
  font-weight: 600;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-reports__sub {
  max-width: 560px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
}

.nrh-reports__pinned {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-bottom: 26px;
  padding: 18px;
  background: rgba(56, 182, 255, 0.05);
  border: 1px solid rgba(56, 182, 255, 0.25);
  border-radius: var(--nrh-radius-lg);
}

.nrh-reports__pinned-label {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-reports__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.nrh-reports__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 22px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
  text-decoration: none;
  transition: border-color 180ms var(--nrh-ease-out), transform 180ms var(--nrh-ease-out);
}

.nrh-reports__card:hover {
  border-color: var(--nrh-accent);
  transform: translateY(-2px);
}

.nrh-reports__card.is-pinned::after {
  content: "PINNED";
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 3px 9px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--nrh-accent);
  background: var(--nrh-accent-soft);
  border: 1px solid rgba(56, 182, 255, 0.3);
  border-radius: 999px;
}

.nrh-reports__thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: var(--nrh-radius-sm);
  overflow: hidden;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
}

.nrh-reports__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrh-reports__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.nrh-reports__name {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--nrh-text);
}

.nrh-reports__desc {
  font-size: 13px;
  line-height: 1.5;
  color: var(--nrh-text-dim);
}

.nrh-reports__arrow {
  flex-shrink: 0;
  color: var(--nrh-text-dim);
  transition: transform 180ms var(--nrh-ease-out), color 180ms var(--nrh-ease-out);
}

.nrh-reports__card:hover .nrh-reports__arrow {
  color: var(--nrh-accent);
  transform: translateX(3px);
}

@media (max-width: 749px) {
  .nrh-reports {
    padding-top: 36px;
  }
}
/* ---------- NRH News (foldered: Safety / Company / Product) ---------- */

.nrh-news {
  padding-top: 56px;
  padding-bottom: 72px;
  background: var(--nrh-bg);
}

.nrh-news__header {
  margin-bottom: 40px;
  text-align: center;
}

.nrh-news__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-news__title {
  margin: 0 0 12px;
  font-size: clamp(30px, 4.5vw, 44px);
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-news__sub {
  max-width: 600px;
  margin: 0 auto;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--nrh-text-dim);
}

.nrh-news__group {
  margin-bottom: 44px;
}

.nrh-news__group-title {
  margin: 0 0 18px;
  padding-bottom: 12px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  border-bottom: 1px solid var(--nrh-line);
}

.nrh-news__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 16px;
}

.nrh-news__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
  transition: border-color 180ms var(--nrh-ease-out), transform 180ms var(--nrh-ease-out);
}

.nrh-news__card:hover {
  border-color: rgba(56, 182, 255, 0.4);
  transform: translateY(-2px);
}

.nrh-news__thumb {
  display: block;
  height: 160px;
  margin: -6px -6px 4px;
  border-radius: var(--nrh-radius-sm);
  overflow: hidden;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
}

.nrh-news__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nrh-news__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
}

.nrh-news__date {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-news__name {
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--nrh-text);
}

.nrh-news__desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--nrh-text-dim);
}

.nrh-news__more {
  margin-top: auto;
  padding-top: 8px;
}

.nrh-news__more a {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  text-decoration: none;
}

.nrh-news__more a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 749px) {
  .nrh-news {
    padding-top: 36px;
    padding-bottom: 48px;
  }
}
/* Numbered lists + owner line for policy v2 documents */
.nrh-terms__ol {
  margin: 0 0 14px;
  padding-left: 0;
  list-style: none;
  counter-reset: nrh-ol;
}

.nrh-terms__ol li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 34px;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
  counter-increment: nrh-ol;
}

.nrh-terms__ol li::before {
  content: counter(nrh-ol);
  position: absolute;
  top: 0.12em;
  left: 0;
  width: 22px;
  height: 22px;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  color: var(--nrh-accent);
  background: var(--nrh-accent-soft);
  border-radius: 50%;
}

.nrh-terms__owner {
  margin-top: 12px;
  font-size: 12.5px;
  color: var(--nrh-text-dim);
}
/* ---------- NRH Supplier Agreement (web version) ---------- */

.nrh-agree-page {
  padding-top: 56px;
  padding-bottom: 48px;
  background: var(--nrh-bg);
}

.nrh-agree-page__header {
  max-width: 860px;
  margin: 0 auto 36px;
  text-align: center;
}

.nrh-agree-page__eyebrow {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-agree-page__title {
  margin: 0 0 12px;
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 600;
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-agree-page__meta {
  font-size: 12.5px;
  color: var(--nrh-text-dim);
}

.nrh-agree-page__actions {
  margin-top: 22px;
}

.nrh-agree-page__dl {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 50px;
  padding: 0 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.nrh-agree-page__howto {
  max-width: 620px;
  margin: 18px auto 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--nrh-text-dim);
}

.nrh-agree-page__howto a {
  color: var(--nrh-accent);
}

.nrh-agree {
  max-width: 860px;
  margin: 0 auto;
  padding: 40px 44px;
  background: var(--nrh-surface);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-lg);
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--nrh-text-dim);
}

.nrh-agree__doc-brand {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-align: center;
  color: var(--nrh-accent);
}

.nrh-agree__doc-title {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  color: var(--nrh-text);
  margin: 6px 0 10px;
}

.nrh-agree__doc-meta {
  text-align: center;
  font-size: 12px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--nrh-line);
  margin-bottom: 24px;
}

.nrh-agree__part {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin: 32px 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--nrh-line-strong);
  color: var(--nrh-accent);
}

.nrh-agree h2 {
  margin: 22px 0 10px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--nrh-text);
}

.nrh-agree p,
.nrh-agree li {
  margin-bottom: 10px;
}

.nrh-agree ul,
.nrh-agree ol {
  margin: 0 0 12px;
  padding-left: 22px;
}

.nrh-agree__field {
  margin: 8px 0;
}

.nrh-agree__field > span:first-child {
  font-weight: 600;
  color: var(--nrh-text);
}

.nrh-agree__blank {
  display: inline-block;
  min-width: 240px;
  border-bottom: 1px solid var(--nrh-line-strong);
  height: 1.1em;
  vertical-align: baseline;
}

.nrh-agree__blank--block {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 6px 0;
}

.nrh-agree__blank--short {
  min-width: 120px;
}

.nrh-agree__checklist {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 16px;
  font-size: 13px;
}

.nrh-agree__checklist th,
.nrh-agree__checklist td {
  border: 1px solid var(--nrh-line);
  padding: 8px 12px;
  text-align: left;
}

.nrh-agree__checklist th {
  background: var(--nrh-card);
  color: var(--nrh-text);
  font-size: 11.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nrh-agree__checklist .nrh-agree__cb {
  text-align: center;
  width: 52px;
}

.nrh-agree__sigblock {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-agree__sigblock h3 {
  margin: 0 0 10px;
  font-size: 14.5px;
  color: var(--nrh-text);
}

.nrh-agree__sigline {
  display: block;
  border-bottom: 1px solid var(--nrh-line-strong);
  height: 26px;
  margin-top: 16px;
}

.nrh-agree__siglabel {
  font-size: 11px;
  color: var(--nrh-text-dim);
}

.nrh-agree__commit {
  text-align: center;
  margin: 30px 0;
  padding: 22px;
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
}

.nrh-agree__commit h2 {
  margin-top: 0;
}

.nrh-agree__footer-meta {
  border-top: 1px solid var(--nrh-line-strong);
  margin-top: 28px;
  padding-top: 14px;
  font-size: 12px;
}

@media (max-width: 749px) {
  .nrh-agree {
    padding: 24px 18px;
  }

  .nrh-agree__blank {
    min-width: 140px;
  }
}

/* ── Contact page header (nrh-contact-page section) ─────────────────── */
.nrh-contactpage {
  padding: 56px 0 8px;
}

.nrh-contactpage__eyebrow {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  margin: 0 0 10px;
}

.nrh-contactpage__title {
  font-size: clamp(30px, 5vw, 44px);
  line-height: 1.08;
  margin: 0 0 14px;
}

.nrh-contactpage__sub {
  max-width: 640px;
  color: var(--nrh-text-dim);
  margin: 0 0 30px;
}

.nrh-contactpage__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 12px;
}

.nrh-contactpage__card {
  background: var(--nrh-card);
  border: 1px solid var(--nrh-line);
  border-radius: var(--nrh-radius-md);
  padding: 18px 18px 16px;
}

.nrh-contactpage__card-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nrh-accent);
  margin: 0 0 8px;
}

.nrh-contactpage__card-value {
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

.nrh-contactpage__card-value a {
  color: var(--nrh-text);
  text-decoration: none;
  border-bottom: 1px solid var(--nrh-line-strong);
  transition: color 180ms var(--nrh-ease-out), border-color 180ms var(--nrh-ease-out);
}

.nrh-contactpage__card-value a:hover {
  color: var(--nrh-accent);
  border-color: var(--nrh-accent);
}

@media (max-width: 989px) {
  .nrh-contactpage__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 599px) {
  .nrh-contactpage {
    padding: 40px 0 4px;
  }

  .nrh-contactpage__cards {
    grid-template-columns: 1fr;
  }
}

/* ── Festive layer — modern holiday treatment (seasonal: remove after) ── */
.nrh-holidaybar {
  position: relative;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 44px;
  background: rgba(8, 14, 22, 0.55);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  color: var(--nrh-text);
  overflow: hidden;
}

.nrh-holidaybar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 210, 150, 0.7) 28%,
    rgba(56, 182, 255, 0.6) 50%,
    rgba(255, 210, 150, 0.7) 72%,
    transparent
  );
}

.nrh-holidaybar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 42%,
    rgba(255, 255, 255, 0.05) 50%,
    transparent 58%
  );
  transform: translateX(-100%);
  animation: nrh-sheen 7s ease-in-out infinite;
}

@keyframes nrh-sheen {
  0% {
    transform: translateX(-100%);
  }

  55%,
  100% {
    transform: translateX(100%);
  }
}

.nrh-holidaybar--pinned {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.nrh-holidaybar__text {
  margin: 0;
  text-align: center;
  line-height: 1.25;
}

.nrh-holidaybar__script {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 20px;
  letter-spacing: 0.01em;
  background: linear-gradient(92deg, #ffd9a0, #fff3e0 38%, #ffc9a3 72%, #ffd9a0);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.nrh-holidaybar__caps {
  display: block;
  margin-top: 4px;
  font-size: 10.5px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--nrh-text-dim);
}

.nrh-holidaybar__close {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--nrh-text-dim);
  cursor: pointer;
  transition:
    color 180ms var(--nrh-ease-out),
    border-color 180ms var(--nrh-ease-out);
}

.nrh-holidaybar__close:hover {
  color: var(--nrh-accent);
  border-color: var(--nrh-line-strong);
}

/* Aurora glow behind the header */
.nrh-aurora {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.nrh-aurora i {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
}

.nrh-aurora i:nth-child(1) {
  width: 62vw;
  height: 360px;
  left: -12vw;
  top: -140px;
  background: radial-gradient(
    closest-side,
    rgba(255, 190, 110, 0.2),
    rgba(255, 190, 110, 0)
  );
  animation: nrh-aurora-drift 15s ease-in-out infinite alternate;
}

.nrh-aurora i:nth-child(2) {
  width: 48vw;
  height: 320px;
  right: -8vw;
  top: -110px;
  background: radial-gradient(
    closest-side,
    rgba(56, 182, 255, 0.16),
    rgba(56, 182, 255, 0)
  );
  animation: nrh-aurora-drift 19s ease-in-out infinite alternate-reverse;
}

.nrh-aurora i:nth-child(3) {
  width: 40vw;
  height: 260px;
  left: 30vw;
  top: -160px;
  background: radial-gradient(
    closest-side,
    rgba(255, 226, 170, 0.13),
    rgba(255, 226, 170, 0)
  );
  animation: nrh-aurora-drift 23s ease-in-out infinite alternate;
  animation-delay: -8s;
}

@keyframes nrh-aurora-drift {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(7vw, 26px, 0);
  }
}

/* Sparkle field under the bar */
.nrh-sparkles {
  position: relative;
  height: 64px;
  line-height: 0;
  pointer-events: none;
  z-index: 55;
}

.nrh-sparkle {
  position: absolute;
  opacity: 0;
  animation: nrh-sparkle 3.2s ease-in-out infinite;
  will-change: transform, opacity;
}

.nrh-sparkle--big {
  filter: drop-shadow(0 0 6px rgba(200, 232, 255, 0.6));
}

@keyframes nrh-sparkle {
  0%,
  100% {
    opacity: 0;
    transform: scale(0.15) rotate(0deg);
  }

  50% {
    opacity: 0.95;
    transform: scale(1) rotate(90deg);
  }
}

/* Snowfall canvas */
.nrh-snow {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 50;
}

@media (prefers-reduced-motion: reduce) {
  .nrh-holidaybar::after,
  .nrh-aurora i,
  .nrh-sparkle,
  .nrh-snowflake,
  .nrh-botanical {
    animation: none;
  }
}

/* Modern-Christmas additions: spruce sprigs, line snowflakes, cranberry veil */
.nrh-snowflake {
  position: absolute;
  opacity: 0.6;
  animation: nrh-spin 18s linear infinite;
  will-change: transform;
}

.nrh-snowflake svg {
  display: block;
  width: 100%;
  height: 100%;
}

.nrh-botanical {
  position: absolute;
  opacity: 0.85;
  animation: nrh-spin 20s linear infinite;
  will-change: transform;
}

.nrh-botanical svg {
  display: block;
  width: 100%;
  height: 100%;
}

@keyframes nrh-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.nrh-sprig {
  position: absolute;
  bottom: -6px;
  width: 150px;
  pointer-events: none;
}

.nrh-sprig--left {
  left: -4px;
}

.nrh-sprig--right {
  right: -4px;
  transform: scaleX(-1);
}

.nrh-sprig svg {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 8px rgba(169, 200, 180, 0.25));
}

.nrh-aurora i:nth-child(4) {
  width: 44vw;
  height: 280px;
  left: 52vw;
  top: -130px;
  background: radial-gradient(
    closest-side,
    rgba(255, 150, 110, 0.1),
    rgba(255, 150, 110, 0)
  );
  animation: nrh-aurora-drift 17s ease-in-out infinite alternate-reverse;
  animation-delay: -5s;
}

@media (max-width: 749px) {
  .nrh-sprig {
    width: 108px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nrh-snowflake {
    animation: none;
  }
}

/* Festive layers yield to the nav drawer */
.nrh-festive-hidden .nrh-holidaybar,
.nrh-festive-hidden .nrh-sparkles,
.nrh-festive-hidden .nrh-snow {
  display: none;
}

.header-nav-drawer.open {
  z-index: 1020;
}

body:has(.header-nav-drawer.open) .nrh-holidaybar,
body:has(.header-nav-drawer.open) .nrh-sparkles,
body:has(.header-nav-drawer.open) .nrh-snow {
  display: none;
}

/* ── Social share row (nrh-share section) ─────────────────────────────── */
.nrh-share {
  padding: 10px 0 56px;
}

.nrh-share__label {
  margin: 0 0 16px;
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nrh-accent);
}

.nrh-share__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.nrh-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid var(--nrh-line-strong);
  border-radius: 999px;
  background: var(--nrh-card);
  color: var(--nrh-text);
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  transition:
    color 180ms var(--nrh-ease-out),
    border-color 180ms var(--nrh-ease-out),
    background-color 180ms var(--nrh-ease-out);
}

.nrh-share__btn:hover {
  border-color: var(--nrh-accent);
  color: var(--nrh-accent);
}

.nrh-share__btn svg {
  flex: none;
}

.nrh-share__btn--ghost {
  background: transparent;
}

.nrh-share__hint {
  margin: 16px auto 0;
  max-width: 520px;
  text-align: center;
  font-size: 12.5px;
  color: var(--nrh-text-dim);
}
