/**
 * Norsafe Public Website UI Kit v1.6.0
 * Parent theme: Astra
 * Layout editor: Elementor
 * Purpose: public website presentation only.
 */

:root{
    --norsafe-navy:#071827;
    --norsafe-navy-2:#0b2236;
    --norsafe-navy-3:#102f45;
    --norsafe-orange:#f58220;
    --norsafe-orange-2:#ff9b2f;
    --norsafe-green:#76b82a;
    --norsafe-silver:#eef3f7;
    --norsafe-silver-2:#f7f9fb;
    --norsafe-text:#102033;
    --norsafe-muted:#5c6b7b;
    --norsafe-white:#ffffff;
    --norsafe-dark:#07111f;
    --norsafe-radius:22px;
    --norsafe-shadow:0 18px 45px rgba(7,24,39,.16);
    --norsafe-shadow-soft:0 16px 36px rgba(7,24,39,.10);
    --norsafe-max:1180px;
}

html{scroll-behavior:smooth;}

body,
button,
input,
select,
textarea{font-family:"Manrope",Arial,sans-serif;}

body.norsafe-public-theme{color:var(--norsafe-text);background:var(--norsafe-silver);}

body.norsafe-public-theme h1,
body.norsafe-public-theme h2,
body.norsafe-public-theme h3,
body.norsafe-public-theme h4,
body.norsafe-public-theme h5,
body.norsafe-public-theme h6{letter-spacing:-.035em;color:var(--norsafe-text);}

body.norsafe-public-theme p{line-height:1.65;}
body.norsafe-public-theme a{color:var(--norsafe-orange);}
body.norsafe-public-theme a:hover{color:var(--norsafe-orange-2);}

/*
 * Rebuild-page safety.
 * Used for temporary /home-rebuild/ etc. pages produced by the public site builder.
 */
body.norsafe-rebuild-page .site-header,
body.norsafe-rebuild-page .ast-primary-header-bar,
body.norsafe-rebuild-page .ast-above-header-wrap,
body.norsafe-rebuild-page .ast-below-header-wrap,
body.norsafe-rebuild-page .entry-header,
body.norsafe-rebuild-page .site-footer{
    display:none!important;
}

body.norsafe-rebuild-page .site-content,
body.norsafe-rebuild-page .ast-container,
body.norsafe-rebuild-page .content-area,
body.norsafe-rebuild-page .entry-content,
body.norsafe-rebuild-page #primary,
body.norsafe-rebuild-page main.site-main{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

body.norsafe-rebuild-page .entry-content > *{max-width:none;}

/* Layout primitives */
.norsafe-section,
.nsf-section{padding:88px 24px;}

.norsafe-section--tight,
.nsf-section--tight{padding:56px 24px;}

.norsafe-container,
.nsf-container{max-width:var(--norsafe-max);margin:0 auto;}

.nsf-section-dark{background:linear-gradient(135deg,#071827,#081320);color:#fff;}
.nsf-section-dark h1,.nsf-section-dark h2,.nsf-section-dark h3,.nsf-section-dark p{color:#fff;}
.nsf-section-silver{background:var(--norsafe-silver);color:var(--norsafe-text);}
.nsf-section-silver h1,.nsf-section-silver h2,.nsf-section-silver h3{color:var(--norsafe-text);}
.nsf-section-silver p{color:var(--norsafe-muted);}

/* Brand promise */
.norsafe-brand-promise,
.nsf-brand-promise{display:flex;flex-direction:column;gap:6px;max-width:720px;}
.norsafe-brand-promise strong,
.nsf-brand-promise strong{font-size:clamp(24px,3vw,42px);line-height:1;color:var(--norsafe-orange);letter-spacing:-.045em;}
.norsafe-brand-promise span,
.nsf-brand-promise span{font-size:clamp(15px,1.6vw,18px);color:inherit;opacity:.88;}

/* Buttons */
.norsafe-btn,
.nsf-btn,
.elementor-button.norsafe-btn,
.elementor-button.nsf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:13px 20px;border-radius:999px;font-weight:900;text-decoration:none!important;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;color:inherit;}
.norsafe-btn:hover,.nsf-btn:hover{transform:translateY(-1px);}
.norsafe-btn--primary,.nsf-btn-primary{background:linear-gradient(135deg,var(--norsafe-orange),var(--norsafe-orange-2));color:#fff!important;box-shadow:0 14px 26px rgba(245,130,32,.28);}
.norsafe-btn--primary:hover,.nsf-btn-primary:hover{color:#fff!important;box-shadow:0 18px 36px rgba(245,130,32,.36);}
.norsafe-btn--secondary,.nsf-btn-secondary{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);color:#fff!important;}
.norsafe-btn--outline,.nsf-btn-outline{background:#fff;border:1px solid rgba(7,24,39,.12);color:var(--norsafe-text)!important;}

/* Badges / chips */
.norsafe-kicker,
.norsafe-badge,
.nsf-kicker{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 12px;border-radius:999px;background:rgba(245,130,32,.12);color:var(--norsafe-orange);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;line-height:1;}

.nsf-chip,.norsafe-chip{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(7,24,39,.09);color:var(--norsafe-text)!important;font-size:12px;font-weight:800;text-decoration:none!important;box-shadow:0 8px 18px rgba(7,24,39,.04);transition:transform .18s ease,border-color .18s ease;}
.nsf-chip:hover,.norsafe-chip:hover{transform:translateY(-1px);border-color:rgba(245,130,32,.34);color:var(--norsafe-orange)!important;}

/* Header used by generated rebuild pages */
.nsf-site-header{background:#061321;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);}
.nsf-site-header-inner{max-width:var(--norsafe-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 24px;}
.nsf-site-logo{display:inline-flex;align-items:center;text-decoration:none!important;}
.nsf-site-logo img{height:54px;width:auto;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));}
.nsf-site-nav{display:flex;align-items:center;gap:22px;}
.nsf-site-nav a{color:rgba(255,255,255,.86)!important;text-decoration:none!important;font-size:13px;font-weight:850;}
.nsf-site-nav a:hover{color:var(--norsafe-orange)!important;}
.nsf-site-header .nsf-btn{min-height:38px;padding:11px 16px;font-size:12px;}

/* Hero */
.nsf-hero{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center;background:#071827;color:#fff;}
.nsf-hero-media{position:absolute;inset:0;z-index:0;}
.nsf-hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.nsf-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,24,39,.88) 0%,rgba(7,24,39,.58) 42%,rgba(7,24,39,.32) 100%),linear-gradient(0deg,rgba(7,24,39,.55),rgba(7,24,39,.12));}
.nsf-hero-inner{position:relative;z-index:2;width:100%;max-width:var(--norsafe-max);margin:0 auto;padding:84px 24px 96px;}
.nsf-hero-content{max-width:600px;}
.nsf-hero h1{margin:14px 0 14px;color:#fff;font-size:clamp(42px,5.2vw,78px);line-height:.95;font-weight:950;letter-spacing:-.06em;}
.nsf-hero p{margin:0 0 24px;color:rgba(255,255,255,.88);font-size:clamp(16px,1.5vw,19px);max-width:560px;}
.nsf-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.nsf-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.nsf-trust-row span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);font-size:11px;font-weight:850;color:rgba(255,255,255,.88);}

/* RFQ strip */
.nsf-rfq-strip-wrap{position:relative;z-index:3;background:linear-gradient(90deg,#fff,#f7f2ed,#fff);padding:0 24px 36px;}
.nsf-rfq-strip{max-width:900px;margin:-34px auto 0;background:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 20px 42px rgba(7,24,39,.18);display:flex;align-items:center;justify-content:space-between;gap:18px;}
.nsf-rfq-strip h2{font-size:22px;margin:0 0 4px;color:var(--norsafe-orange);}
.nsf-rfq-strip p{margin:0;color:var(--norsafe-muted);font-size:12px;line-height:1.35;}
.nsf-rfq-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.nsf-rfq-pills a{display:inline-flex;padding:8px 11px;border-radius:999px;background:#f3f6f9;color:var(--norsafe-text)!important;text-decoration:none!important;font-size:11px;font-weight:850;}
.nsf-rfq-pills a:hover{color:var(--norsafe-orange)!important;}
.nsf-rfq-strip .nsf-btn{font-size:12px;min-height:38px;padding:11px 16px;white-space:nowrap;}

/* Cards */
.norsafe-card,
.nsf-card{background:#fff;border:1px solid rgba(7,24,39,.07);border-radius:var(--norsafe-radius);box-shadow:var(--norsafe-shadow-soft);padding:28px;}
.nsf-card h3{margin-top:0;}
.nsf-soft-card{background:#fff;border:1px solid rgba(7,24,39,.06);border-radius:18px;box-shadow:0 16px 32px rgba(7,24,39,.09);padding:28px;}
.nsf-soft-card .num{display:inline-flex;width:28px;height:28px;border-radius:9px;align-items:center;justify-content:center;background:rgba(245,130,32,.14);color:var(--norsafe-orange);font-weight:950;margin-bottom:16px;}

/* Category cards — plugin version moved into theme v1.6.0 */
/* =========================================================
   NORSAFE CATEGORY CARDS THEME SECTION v1.6.0
   Navy glass cards. Animated border glint with orange hover glow.
   Card presentation layer only. Imported from standalone plugin v1.2.0. No NIOS logic. No DB logic.
   ========================================================= */

:root {
  --norsafe-navy: #061724;
  --norsafe-navy-2: #0a2234;
  --norsafe-navy-glass: rgba(6, 23, 36, .62);
  --norsafe-navy-glass-2: rgba(10, 34, 52, .46);
  --norsafe-orange: #ff5400;
  --norsafe-gold: #febd01;
  --norsafe-white: #ffffff;
  --norsafe-soft-white: rgba(255,255,255,.78);
}

@keyframes norsafe-border-glint {
  0% { background-position: 0% 50%; filter: brightness(1); }
  50% { background-position: 100% 50%; filter: brightness(1.28); }
  100% { background-position: 0% 50%; filter: brightness(1); }
}

@keyframes norsafe-hover-glow-pulse {
  0%, 100% { opacity: .42; transform: scale(.98); }
  50% { opacity: .82; transform: scale(1.03); }
}

/* New shortcode rail */
.norsafe-category-card-rail {
  width: min(100%, 1120px) !important;
  margin: clamp(24px, 4vw, 44px) auto 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 18px !important;
  padding: 0 !important;
}

.norsafe-category-card-rail > p,
.norsafe-category-card-rail > br {
  display: none !important;
}

/* Existing builder markup rescue */
.nsf-section-dark .nsf-product-card-grid,
.nsf-section-dark .nsf-product-card-grid-textonly,
#categories .nsf-product-card-grid,
#categories .nsf-product-card-grid-textonly {
  width: min(100%, 1120px) !important;
  margin: clamp(24px, 4vw, 44px) auto 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 18px !important;
  padding: 0 !important;
  grid-template-columns: unset !important;
  justify-items: unset !important;
}

.nsf-product-card-grid-textonly > p,
.nsf-product-card-grid-textonly > br,
.nsf-product-card-grid > p,
.nsf-product-card-grid > br {
  display: none !important;
}

/* Remove abbreviation/kicker block at top */
.nsf-product-card-top,
.nsf-product-card-icon,
.nsf-product-card-kicker,
.norsafe-card-abbrev,
.norsafe-card-kicker {
  display: none !important;
}

/* Shared card styling: shortcode cards + existing builder cards */
.norsafe-category-card,
.nsf-product-card-grid-textonly > .nsf-product-card-content,
.nsf-product-card-grid > .nsf-product-card-content,
.nsf-product-card-textonly,
.nsf-product-card {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  flex: 0 0 190px !important;
  width: 190px !important;
  max-width: 190px !important;
  min-width: 190px !important;
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  padding: 16px 15px !important;
  overflow: hidden !important;
  color: var(--norsafe-white) !important;
  text-decoration: none !important;
  border-radius: 13px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.018)),
    linear-gradient(150deg, var(--norsafe-navy-glass), var(--norsafe-navy-glass-2)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow:
    -20px 28px 26px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(130%) !important;
  transform: skewX(8deg) !important;
  transition:
    height .38s ease,
    max-height .38s ease,
    transform .38s ease,
    box-shadow .38s ease,
    background .38s ease !important;
  cursor: pointer !important;
}

/* Animated border glint ONLY. No orange card fill. */
.norsafe-category-card::before,
.nsf-product-card-grid-textonly > .nsf-product-card-content::before,
.nsf-product-card-grid > .nsf-product-card-content::before,
.nsf-product-card-textonly::before,
.nsf-product-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: inherit !important;
  padding: 1.6px !important;
  background: linear-gradient(120deg, var(--norsafe-gold), var(--norsafe-orange), var(--norsafe-gold), var(--norsafe-orange)) !important;
  background-size: 300% 300% !important;
  animation: norsafe-border-glint 4.8s linear infinite !important;
  opacity: .82 !important;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  pointer-events: none !important;
}

/* Subtle glass sheen only, not orange/yellow */
.norsafe-category-card::after,
.nsf-product-card-grid-textonly > .nsf-product-card-content::after,
.nsf-product-card-grid > .nsf-product-card-content::after,
.nsf-product-card-textonly::after,
.nsf-product-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 1px !important;
  z-index: -2 !important;
  border-radius: 12px !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(145deg, rgba(7,24,37,.94), rgba(7,27,42,.74)) !important;
  pointer-events: none !important;
}

.norsafe-category-card:hover::after,
.nsf-product-card-grid-textonly > .nsf-product-card-content:hover::after,
.nsf-product-card-grid > .nsf-product-card-content:hover::after,
.nsf-product-card-textonly:hover::after,
.nsf-product-card:hover::after {
  background:
    radial-gradient(circle at 50% 110%, rgba(255,84,0,.38), transparent 46%),
    radial-gradient(circle at 100% 0%, rgba(254,189,1,.18), transparent 36%),
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(145deg, rgba(7,24,37,.96), rgba(7,27,42,.78)) !important;
  animation: norsafe-hover-glow-pulse 1.9s ease-in-out infinite !important;
}

.norsafe-category-card:hover,
.nsf-product-card-grid-textonly > .nsf-product-card-content:hover,
.nsf-product-card-grid > .nsf-product-card-content:hover,
.nsf-product-card-textonly:hover,
.nsf-product-card:hover {
  height: 254px !important;
  max-height: 254px !important;
  transform: skewX(0deg) translateY(-4px) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.025)),
    linear-gradient(150deg, rgba(6,23,36,.82), rgba(10,34,52,.62)) !important;
  box-shadow:
    0 0 0 1px rgba(254,189,1,.18),
    0 0 22px rgba(255,84,0,.42),
    0 0 52px rgba(254,189,1,.22),
    -24px 34px 32px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.2),
    inset 0 -1px 0 rgba(255,255,255,.06) !important;
}

.norsafe-category-card:hover::before,
.nsf-product-card-grid-textonly > .nsf-product-card-content:hover::before,
.nsf-product-card-grid > .nsf-product-card-content:hover::before,
.nsf-product-card-textonly:hover::before,
.nsf-product-card:hover::before {
  opacity: 1 !important;
  padding: 2px !important;
  animation-duration: 1.55s !important;
  filter: drop-shadow(0 0 10px rgba(255,84,0,.72)) drop-shadow(0 0 16px rgba(254,189,1,.35)) !important;
}

/* Undo skew for inner content so text remains readable */
.norsafe-category-card > *,
.nsf-product-card-grid-textonly > .nsf-product-card-content > *,
.nsf-product-card-grid > .nsf-product-card-content > *,
.nsf-product-card-textonly > *,
.nsf-product-card > * {
  transform: skewX(-8deg) !important;
  transition: transform .38s ease !important;
}

.norsafe-category-card:hover > *,
.nsf-product-card-grid-textonly > .nsf-product-card-content:hover > *,
.nsf-product-card-grid > .nsf-product-card-content:hover > *,
.nsf-product-card-textonly:hover > *,
.nsf-product-card:hover > * {
  transform: skewX(0deg) !important;
}

.norsafe-category-card h3,
.nsf-product-card-title,
.nsf-product-card-content h3 {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  color: var(--norsafe-white) !important;
  font-size: 24px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: -.03em !important;
  text-align: left !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.45) !important;
}

.norsafe-category-card p,
.nsf-product-card-text,
.nsf-product-card-content p {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  color: var(--norsafe-soft-white) !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
  text-align: left !important;
}

.norsafe-category-card span,
.nsf-product-card-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  margin-top: auto !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--norsafe-gold) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: 0 0 10px rgba(254,189,1,.18) !important;
}

.norsafe-category-card:hover span,
.nsf-product-card-content:hover .nsf-product-card-action,
.nsf-product-card:hover .nsf-product-card-action {
  color: var(--norsafe-orange) !important;
}

/* Homepage heading correction if it sits on dark section */
#categories .nsf-section-title,
.nsf-section-dark .nsf-section-title,
.nsf-section-dark h2 {
  color: var(--norsafe-orange) !important;
}

@media (prefers-reduced-motion: reduce) {
  .norsafe-category-card::before,
  .nsf-product-card-grid-textonly > .nsf-product-card-content::before,
  .nsf-product-card-grid > .nsf-product-card-content::before,
  .nsf-product-card-textonly::before,
  .nsf-product-card::before {
    animation: none !important;
  }

  .norsafe-category-card:hover::after,
  .nsf-product-card-grid-textonly > .nsf-product-card-content:hover::after,
  .nsf-product-card-grid > .nsf-product-card-content:hover::after,
  .nsf-product-card-textonly:hover::after,
  .nsf-product-card:hover::after {
    animation: none !important;
  }
}

/* Mobile/touch: do not require hover to read cards. */
@media (hover: none), (max-width: 760px) {
  .norsafe-category-card-rail,
  .nsf-section-dark .nsf-product-card-grid,
  .nsf-section-dark .nsf-product-card-grid-textonly,
  #categories .nsf-product-card-grid,
  #categories .nsf-product-card-grid-textonly {
    gap: 14px !important;
  }

  .norsafe-category-card,
  .nsf-product-card-grid-textonly > .nsf-product-card-content,
  .nsf-product-card-grid > .nsf-product-card-content,
  .nsf-product-card-textonly,
  .nsf-product-card {
    flex: 1 1 min(100%, 290px) !important;
    width: min(100%, 290px) !important;
    min-width: 0 !important;
    max-width: 320px !important;
    height: auto !important;
    min-height: 178px !important;
    max-height: none !important;
    transform: none !important;
  }

  .norsafe-category-card > *,
  .nsf-product-card-grid-textonly > .nsf-product-card-content > *,
  .nsf-product-card-grid > .nsf-product-card-content > *,
  .nsf-product-card-textonly > *,
  .nsf-product-card > * {
    transform: none !important;
  }
}

/* Light silver lower homepage rule */
.nsf-home-lower,
.nsf-section-silver{background:var(--norsafe-silver)!important;}
.nsf-section-silver a:not(.nsf-btn):not(.norsafe-btn){color:var(--norsafe-orange)!important;font-weight:850;}

/* Compact footer */
.nsf-footer{background:#061321;color:#fff;padding:32px 24px 18px;border-top:1px solid rgba(255,255,255,.08);}
.nsf-footer-inner{max-width:var(--norsafe-max);margin:0 auto;display:grid;grid-template-columns:1.7fr .9fr .9fr .9fr .9fr;gap:30px;align-items:start;}
.nsf-footer img{height:28px;width:auto;margin-bottom:10px;}
.nsf-footer p,.nsf-footer li,.nsf-footer a{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72)!important;text-decoration:none!important;}
.nsf-footer a:hover{color:var(--norsafe-orange)!important;}
.nsf-footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.92);margin:0 0 8px;}
.nsf-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;}
.nsf-footer-bottom{max-width:var(--norsafe-max);margin:24px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:rgba(255,255,255,.50);}
.nsf-footer .brand-line strong{display:block;color:#fff;font-size:15px;margin-bottom:4px;}
.nsf-footer .brand-line span{display:block;color:rgba(255,255,255,.72);font-size:12px;max-width:360px;}

/* Public RFQ plugin compatibility */
.norsafe-rfq-wrap input,
.norsafe-rfq-wrap select,
.norsafe-rfq-wrap textarea{font-family:"Manrope",Arial,sans-serif;}

/* Lists */
.norsafe-product-list ul,
.norsafe-check-list ul{margin-left:0;padding-left:0;list-style:none;}
.norsafe-product-list li,
.norsafe-check-list li{position:relative;padding-left:28px;margin-bottom:12px;}
.norsafe-product-list li:before,
.norsafe-check-list li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--norsafe-orange);}

/* Responsive */
@media(max-width:1180px){
    #categories .nsf-flip-card-grid,.nsf-flip-card-grid{grid-template-columns:repeat(3,190px)!important;max-width:650px!important;}
    .nsf-footer-inner{grid-template-columns:1fr 1fr 1fr;}
}

@media(max-width:900px){
    .nsf-site-header-inner{flex-wrap:wrap;justify-content:center;}
    .nsf-site-nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:14px;}
    .nsf-hero{min-height:500px;}
    .nsf-rfq-strip{align-items:flex-start;flex-direction:column;}
    .nsf-rfq-pills{width:100%;}
}

@media(max-width:720px){
    .norsafe-section,.nsf-section{padding:64px 18px;}
    #categories .nsf-flip-card-grid,.nsf-flip-card-grid{grid-template-columns:repeat(2,minmax(0,190px))!important;gap:16px!important;max-width:410px!important;}
    .nsf-footer-inner{grid-template-columns:1fr 1fr;gap:22px;}
}

@media(max-width:560px){
    .nsf-site-logo img{height:44px;}
    .nsf-site-nav a{font-size:12px;}
    .nsf-hero-inner{padding:64px 18px 90px;}
    .nsf-rfq-strip-wrap{padding-left:18px;padding-right:18px;}
    .nsf-rfq-strip{margin-top:-26px;}
    .nsf-footer-inner{grid-template-columns:1fr;}
}

@media(max-width:480px){
    #categories .nsf-flip-card-grid,.nsf-flip-card-grid{grid-template-columns:1fr!important;max-width:100%!important;}
    #categories .flip.nsf-category-flip-card,.flip.nsf-category-flip-card{width:100%!important;min-width:0!important;max-width:100%!important;height:230px!important;min-height:230px!important;}
}

@media(hover:none){
    #categories .flip.nsf-category-flip-card:hover,
    .flip.nsf-category-flip-card:hover{transform:none!important;}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
    #categories .flip.nsf-category-flip-card:hover,
    .flip.nsf-category-flip-card:hover{transform:none!important;}
}


/* v1.4.0 — Home rebuild visual cleanup: RFQ seam, category title colour, branding bullet spacing. */
body.norsafe-rebuild-page .nsf-page .nsf-rfq-strip,
body.nsf-builder-page .nsf-page .nsf-rfq-strip,
body .nsf-page .nsf-rfq-strip{
    margin-top:-42px!important;
    margin-bottom:0!important;
    padding:0!important;
    position:relative!important;
    z-index:6!important;
    background:linear-gradient(180deg, transparent 0 40px, #071827 40px 100%)!important;
}
body.norsafe-rebuild-page .nsf-page .nsf-rfq-strip + #categories,
body.nsf-builder-page .nsf-page .nsf-rfq-strip + #categories,
body .nsf-page .nsf-rfq-strip + #categories{
    margin-top:0!important;
    padding-top:104px!important;
}
body.norsafe-rebuild-page #categories .nsf-h2,
body.nsf-builder-page #categories .nsf-h2,
body #categories .nsf-h2{
    color:#f58220!important;
    opacity:1!important;
    text-shadow:none!important;
}
body.norsafe-rebuild-page #categories .nsf-lead,
body.nsf-builder-page #categories .nsf-lead,
body #categories .nsf-lead{
    color:rgba(255,255,255,.88)!important;
    opacity:1!important;
}
body.norsafe-rebuild-page .nsf-highlight-list,
body.norsafe-rebuild-page .nsf-highlight-list-light,
body.nsf-builder-page .nsf-highlight-list,
body.nsf-builder-page .nsf-highlight-list-light,
body .nsf-highlight-list,
body .nsf-highlight-list-light{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:22px!important;
    margin-bottom:0!important;
    padding:0!important;
}
body.norsafe-rebuild-page .nsf-highlight-list span,
body.norsafe-rebuild-page .nsf-highlight-list-light span,
body.nsf-builder-page .nsf-highlight-list span,
body.nsf-builder-page .nsf-highlight-list-light span,
body .nsf-highlight-list span,
body .nsf-highlight-list-light span{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    color:#20344c!important;
    font-size:16px!important;
    line-height:1.55!important;
    margin:0!important;
    padding:0!important;
}
body.norsafe-rebuild-page .nsf-highlight-list span::before,
body.norsafe-rebuild-page .nsf-highlight-list-light span::before,
body.nsf-builder-page .nsf-highlight-list span::before,
body.nsf-builder-page .nsf-highlight-list-light span::before,
body .nsf-highlight-list span::before,
body .nsf-highlight-list-light span::before{
    content:""!important;
    width:7px!important;
    min-width:7px!important;
    height:7px!important;
    margin-top:.55em!important;
    border-radius:50%!important;
    background:#f58220!important;
    box-shadow:0 0 12px rgba(245,130,32,.45)!important;
}
@media(max-width:820px){
    body.norsafe-rebuild-page .nsf-page .nsf-rfq-strip,
    body.nsf-builder-page .nsf-page .nsf-rfq-strip,
    body .nsf-page .nsf-rfq-strip{
        margin-top:0!important;
        background:#071827!important;
    }
    body.norsafe-rebuild-page .nsf-page .nsf-rfq-strip + #categories,
    body.nsf-builder-page .nsf-page .nsf-rfq-strip + #categories,
    body .nsf-page .nsf-rfq-strip + #categories{
        padding-top:78px!important;
    }
}
