/*
 * NYLON — Complete Theme v4
 * Kernel spoofer / anti-cheat bypass
 * Aesthetic: Precision Monochrome
 */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

/* ─── Tokens ─────────────────────────────── */
:root {
  --bg:        #000;
  --bg-1:      #070707;
  --bg-2:      #0c0c0c;
  --bg-3:      #111;
  --border:    rgba(255,255,255,.055);
  --border-2:  rgba(255,255,255,.11);
  --border-3:  rgba(255,255,255,.22);
  --text:      #fff;
  --text-2:    #a1a1aa;
  --text-3:    #3f3f46;
  --green:     #22c55e;
  --green-dim: rgba(34,197,94,.15);
  --sans:      'Geist', system-ui, sans-serif;
  --mono:      'IBM Plex Mono', monospace;
  --r:         8px;
  --r-lg:      14px;
  --r-xl:      18px;
  --r-2xl:     24px;
  --ease:      cubic-bezier(.23,1,.32,1);
  /* accent line gradient used in section separators */
  --grad-h:    linear-gradient(90deg, transparent, rgba(255,255,255,.12) 50%, transparent);
  --grad-v:    linear-gradient(180deg, rgba(255,255,255,.1), transparent);
}

/* ─── Base ───────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--sans) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: rgba(255,255,255,.13); }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 2px; }

/* ─── Keyframes ──────────────────────────── */
@keyframes fadeUp   { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn   { from { opacity:0; } to { opacity:1; } }
@keyframes spin     { to { transform:rotate(360deg); } }
@keyframes glow     { 0%,100% { box-shadow:0 0 4px var(--green); } 50% { box-shadow:0 0 12px var(--green), 0 0 24px rgba(34,197,94,.2); } }
@keyframes scanline { 0% { transform:translateY(-100%); } 100% { transform:translateY(500%); } }
@keyframes shimmer  { 0% { background-position: -200% center; } 100% { background-position: 200% center; } }
@keyframes float    { 0%,100% { transform:translateY(0px); } 50% { transform:translateY(-6px); } }
@keyframes marquee  { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes pulse-dot { 0%,100% { opacity:1; } 50% { opacity:.35; } }

/* ─── Navbar ─────────────────────────────── */
.navbar {
  background: rgba(0,0,0,.8) !important;
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-bottom: 1px solid var(--border) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.navbar .container { min-height: 62px; }

.navbar .navbar-brand, .navbar .navbar-brand span {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  letter-spacing: -.025em;
  color: var(--text) !important;
}

.navbar .nav-link {
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-3) !important;
  padding: .5rem 0 !important;
  position: relative;
  transition: color .18s;
}
.navbar .nav-link:hover,
.navbar .nav-link.active { color: var(--text) !important; }
.navbar .nav-link::after {
  content: '';
  position: absolute; bottom: 0; left: 0;
  width: 0; height: 1px;
  background: var(--text);
  transition: width .22s var(--ease);
}
.navbar .nav-link:hover::after,
.navbar .nav-link.active::after { width: 100%; }

.navbar .btn-outline-primary {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: transparent !important;
  border: 1px solid var(--border-2) !important;
  color: var(--text) !important;
  border-radius: var(--r) !important;
  padding: .44rem 1rem !important;
  transition: all .18s;
}
.navbar .btn-outline-primary:hover {
  background: rgba(255,255,255,.06) !important;
  border-color: var(--border-3) !important;
}

/* ─── Hero ───────────────────────────────── */
.hero {
  background: var(--bg) !important;
  background-image: none !important;
  min-height: 100vh !important;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Dot grid */
.hero-bg-grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none; z-index: 0;
}

/* Vignette */
.hero-bg-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 95% 75% at 50% 50%, transparent 15%, #000 100%);
  pointer-events: none; z-index: 1;
}

/* Moving scanline */
.hero-bg-vignette::after {
  content: '';
  position: absolute; left: 0; right: 0;
  height: 30%; top: 0;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.008), transparent);
  animation: scanline 10s linear infinite;
  pointer-events: none;
}

/* Corner brackets */
.hero-bracket {
  position: absolute; width: 20px; height: 20px;
  pointer-events: none; z-index: 2; opacity: .15;
}
.hero-bracket--tl { top:18px; left:18px; border-top:1px solid #fff; border-left:1px solid #fff; }
.hero-bracket--tr { top:18px; right:18px; border-top:1px solid #fff; border-right:1px solid #fff; }
.hero-bracket--bl { bottom:18px; left:18px; border-bottom:1px solid #fff; border-left:1px solid #fff; }
.hero-bracket--br { bottom:18px; right:18px; border-bottom:1px solid #fff; border-right:1px solid #fff; }
@media (max-width: 880px) { .hero-bracket { display: none; } }

/* Container */
.hero-container {
  position: relative; z-index: 3;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4rem;
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

/* Left */
.hero-left {
  flex: 1; max-width: 530px;
  animation: fadeUp .75s var(--ease) forwards;
}

/* Eyebrow */
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  margin-bottom: 28px;
  padding: 5px 13px 5px 10px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 100px;
  backdrop-filter: blur(8px);
}
.hero-eyebrow-dot {
  width: 5px; height: 5px;
  background: var(--green); border-radius: 50%;
  box-shadow: 0 0 6px var(--green);
  animation: glow 2.2s ease infinite;
}
.hero-eyebrow-text {
  font-family: var(--mono) !important;
  font-size: .56rem; font-weight: 700; letter-spacing: .14em;
  color: rgba(255,255,255,.38);
}

/* H1 */
.hero-left h1 {
  font-family: var(--sans) !important;
  font-size: clamp(2.9rem, 5.8vw, 5.1rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.06em !important;
  line-height: .98 !important;
  color: var(--text) !important;
  margin-bottom: 1.1rem !important;
}
/* Underline accent on hero title */
.hero-left h1::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: rgba(255,255,255,.18);
  margin-top: 18px;
}

/* Subtitle */
.hero-left p {
  font-size: .92rem !important;
  color: rgba(161,161,170,.85) !important;
  line-height: 1.8 !important;
  margin-bottom: 2.2rem !important;
  max-width: 400px;
  font-weight: 400;
  letter-spacing: -.005em;
}

/* Actions */
.hero-actions {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 2.4rem; flex-wrap: wrap;
}

.hero-btn-primary {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--mono) !important;
  font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  background: var(--text); color: #000;
  border: none; padding: 12px 22px;
  border-radius: var(--r);
  text-decoration: none;
  position: relative; overflow: hidden;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}
/* shimmer on hover */
.hero-btn-primary::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.25) 50%, transparent 100%);
  background-size: 200% 100%;
  opacity: 0;
  transition: opacity .2s;
}
.hero-btn-primary:hover::before { opacity: 1; animation: shimmer .7s ease forwards; }
.hero-btn-primary svg { width:.78rem; height:.78rem; flex-shrink:0; }
.hero-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(255,255,255,.18);
  color: #000; text-decoration: none;
}

.hero-btn-secondary {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--mono) !important;
  font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-2);
  border: 1px solid var(--border-2); padding: 11px 18px;
  border-radius: var(--r);
  text-decoration: none;
  transition: border-color .18s, color .18s;
}
.hero-btn-secondary-dot {
  width: 5px; height: 5px;
  background: var(--green); border-radius: 50%;
  box-shadow: 0 0 5px var(--green);
  animation: glow 2.2s ease infinite;
}
.hero-btn-secondary:hover {
  border-color: var(--border-3); color: var(--text); text-decoration: none;
}

/* Stats */
.hero-stats {
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 11px 18px;
  gap: 18px;
}
.hero-stat { display: flex; flex-direction: column; }
.hero-stat-value {
  font-family: var(--sans) !important;
  font-size: .92rem; font-weight: 800; color: var(--text); line-height: 1;
}
.hero-stat-label {
  font-family: var(--mono) !important;
  font-size: .52rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--text-3); margin-top: 4px;
}
.hero-stat-divider { width: 1px; height: 24px; background: var(--border-2); }

/* ─── Hero status card ───────────────────── */
.hero-status-card {
  width: 318px; flex-shrink: 0;
  background: rgba(7,7,7,.95);
  border: 1px solid var(--border-2);
  border-radius: var(--r-2xl);
  padding: 20px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 60px 120px rgba(0,0,0,.9),
    0 0 80px rgba(34,197,94,.03),
    inset 0 1px 0 rgba(255,255,255,.07);
  position: relative; overflow: hidden;
  animation: fadeUp .75s .14s var(--ease) both;
  backdrop-filter: blur(20px);
}
/* Subtle scanline overlay inside the card */
.hero-status-card::after {
  content: '';
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255,255,255,.008) 2px,
    rgba(255,255,255,.008) 4px
  );
  pointer-events: none;
  z-index: 0;
}
.hero-status-card > * { position: relative; z-index: 1; }
/* top gradient line */
.hero-status-card::before {
  content: '';
  position: absolute; top:0; left:12%; right:12%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent);
}

.hsc-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.hsc-header-left { display: flex; align-items: center; gap: 10px; }
.hsc-icon {
  width: 30px; height: 30px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border-2);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.55);
}
.hsc-title {
  font-family: var(--mono) !important;
  font-size: .63rem; font-weight: 700; letter-spacing: .07em; color: var(--text);
}
.hsc-subtitle {
  font-family: var(--mono) !important;
  font-size: .5rem; font-weight: 600; letter-spacing: .09em; color: var(--text-3); margin-top: 2px;
}
.hsc-spinner {
  width: 13px; height: 13px;
  border: 1.5px solid rgba(255,255,255,.08);
  border-top-color: rgba(255,255,255,.45);
  border-radius: 50%;
  animation: spin 1.1s linear infinite;
}

.hsc-fields {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 7px; margin-bottom: 14px;
}
.hsc-field {
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 9px 10px;
  display: flex; flex-direction: column; gap: 4px;
}
.hsc-field--full { grid-column: 1 / -1; }
.hsc-field-label {
  font-family: var(--mono) !important;
  font-size: .46rem; font-weight: 700; letter-spacing: .14em;
  color: var(--text-3); text-transform: uppercase;
}
.hsc-field-value {
  font-family: var(--mono) !important;
  font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  color: rgba(255,255,255,.78);
  transition: opacity .28s ease;
}
.hsc-field-value--green {
  color: var(--green) !important;
  text-shadow: 0 0 12px rgba(34,197,94,.3);
}

.hsc-ac-row { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 2px; }
.hsc-ac-tag {
  font-family: var(--mono) !important;
  font-size: .48rem; font-weight: 700; letter-spacing: .1em;
  padding: 2px 6px; border-radius: 3px;
  background: var(--green-dim);
  border: 1px solid rgba(34,197,94,.22);
  color: var(--green);
}

.hsc-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.hsc-status-row { display: flex; align-items: center; gap: 7px; }
.hsc-dot {
  width: 6px; height: 6px; border-radius: 50%;
  position: relative;
}
.hsc-dot--green {
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  animation: glow 2.2s ease infinite;
}
.hsc-status-label {
  font-family: var(--mono) !important;
  font-size: .52rem; font-weight: 700; letter-spacing: .09em; color: var(--text-3);
}
.hsc-badge {
  font-family: var(--mono) !important;
  font-size: .5rem; font-weight: 700; letter-spacing: .13em;
  color: var(--green);
  border: 1px solid rgba(34,197,94,.25);
  padding: 3px 8px; border-radius: 4px;
  background: var(--green-dim);
}

/* ─── Trust bar (between hero and shop) ───── */
.nylon-trust-bar {
  background: var(--bg-1);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 0;
  position: relative;
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
}
/* Fade edges */
.nylon-trust-bar::before,
.nylon-trust-bar::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.nylon-trust-bar::before { left: 0;  background: linear-gradient(to right,  var(--bg-1), transparent); }
.nylon-trust-bar::after  { right: 0; background: linear-gradient(to left, var(--bg-1), transparent); }
/* Scrolling track */
.nylon-trust-bar .trust-track {
  display: flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
  animation: marquee 28s linear infinite;
  will-change: transform;
}
.nylon-trust-bar .trust-track:hover { animation-play-state: paused; }
.trust-item {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0 28px;
  border-right: 1px solid var(--border);
  height: 44px;
  flex-shrink: 0;
}
.trust-item:last-child { border-right: 1px solid var(--border); }
.trust-item svg { color: var(--green); width: 13px; height: 13px; flex-shrink: 0; }
.trust-item span {
  font-family: var(--mono) !important;
  font-size: .58rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-2);
  white-space: nowrap;
}

/* ─── Section titles ─────────────────────── */
.section-title {
  position: relative;
}
.section-title h1, .section-title h2 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  letter-spacing: -.038em !important;
  font-size: 1.75rem !important;
  color: var(--text) !important;
  display: flex;
  align-items: center;
  gap: 14px;
}
/* Short accent bar before section headings */
.section-title h1::before, .section-title h2::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: rgba(255,255,255,.22);
  border-radius: 2px;
  flex-shrink: 0;
}
.section-title p {
  font-family: var(--mono) !important;
  font-size: .63rem !important; letter-spacing: .08em; color: var(--text-3) !important;
  margin-left: 36px;
}

/* ─── Product cards ──────────────────────── */
.products .card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  overflow: hidden;
  transition: border-color .3s, transform .38s var(--ease), box-shadow .38s !important;
  position: relative;
}
/* top shimmer line on hover */
.products .card::before {
  content: '';
  position: absolute; top:0; left:20%; right:20%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
  opacity: 0;
  transition: opacity .3s;
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  .products .card:hover::before { opacity: 1; }
  .products .card:hover {
    border-color: var(--border-2) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06) !important;
  }
}
.products .card .card-img-top {
  background: var(--bg-2) !important;
  border-bottom: none;
  position: relative;
  overflow: hidden;
}
/* Bottom fade on image to bleed into card body */
.products .card .card-img-top::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 36px;
  background: linear-gradient(to top, var(--bg-1), transparent);
  pointer-events: none;
  z-index: 1;
}
.product-img-placeholder { display: flex; align-items: center; justify-content: center; }
.product-img-placeholder svg { color: var(--text-3) !important; opacity: .35; }
.products .card .card-body {
  padding: 16px 18px 0 !important;
}
.products .card .info {
  font-family: var(--mono) !important;
  font-size: .65rem !important; color: var(--text-3) !important; margin-bottom: 0 !important;
  display: flex; align-items: center; justify-content: space-between;
  padding: 11px 0 10px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}
.products .card .info .price {
  font-weight: 700 !important; color: var(--text) !important;
  font-size: .78rem !important; font-family: var(--sans) !important;
  letter-spacing: -.02em !important;
}
.products .card .info .price s { opacity: .38; font-size: .68rem !important; margin-left: 4px; }
.products .card .card-title {
  font-family: var(--sans) !important;
  font-size: 1rem !important; font-weight: 700 !important;
  letter-spacing: -.022em !important; color: var(--text) !important;
  line-height: 1.25; padding-bottom: 14px;
}
/* Card inner layout: flex column so info bar sticks to bottom */
.products .card .card-body {
  display: flex !important;
  flex-direction: column !important;
}
.products .card .card-img-top .overlay .btn {
  font-family: var(--mono) !important;
  font-size: .58rem !important; font-weight: 700 !important;
  letter-spacing: .12em; text-transform: uppercase;
  background: rgba(0,0,0,.72) !important;
  color: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 100px !important;
  padding: 7px 18px !important;
  backdrop-filter: blur(8px);
  transition: background .15s, border-color .15s !important;
}
.products .card .card-img-top .overlay .btn:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.products .card .card-img-top .badges div {
  font-family: var(--mono) !important;
  font-size: .55rem !important; font-weight: 700 !important;
  letter-spacing: .09em; text-transform: uppercase;
  border-radius: 4px !important; padding: 2px 7px !important;
}
.text-primary { color: var(--text-2) !important; }
.stock-unlimited { color: var(--green) !important; font-weight: 600; }
.stock-unlimited svg { color: var(--green) !important; animation: glow 2.2s ease infinite; }

/* ─── Features ───────────────────────────── */
.features { background: var(--bg) !important; }
.features .list .feature {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  padding: 28px !important;
  text-align: left !important;
  position: relative; overflow: hidden;
  transition: border-color .28s, transform .3s var(--ease);
}
.features .list .feature::before {
  content: '';
  position: absolute; top:0; left:20%; right:20%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}
.features .list .feature:hover {
  border-color: var(--border-2) !important;
  transform: translateY(-4px);
}
.features .list .feature i,
.features .list .feature svg {
  color: var(--text) !important; opacity: .5; margin-bottom: 1.1rem !important;
  font-size: 1.6rem !important;
}
.features .list .feature svg { width: 28px; height: 28px; }
.features .list .feature .title {
  font-family: var(--sans) !important; font-weight: 700 !important;
  font-size: .9rem !important; letter-spacing: -.01em;
  color: var(--text) !important; margin-bottom: .45rem !important;
}
.features .list .feature .description {
  font-family: var(--sans) !important; font-size: .8rem !important;
  line-height: 1.68 !important; color: var(--text-2) !important; padding: 0 !important;
}

/* ─── Testimonials ───────────────────────── */
.testimonial {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  transition: border-color .28s, transform .28s var(--ease);
}
.testimonial:hover {
  border-color: var(--border-2) !important;
  transform: translateY(-3px);
}
.testimonial .content .message {
  font-family: var(--sans) !important; font-size: .85rem !important;
  line-height: 1.68 !important; color: var(--text-2) !important;
}
.testimonial .footer {
  background: rgba(255,255,255,.015) !important;
  border-top: 1px solid var(--border) !important;
  font-family: var(--mono) !important; font-size: .6rem !important; letter-spacing: .05em;
}
.testimonial .header svg { color: rgba(255,255,255,.06) !important; }
.testimonial .stars svg { color: #f59e0b !important; }

/* ─── Socials ────────────────────────────── */
.socials {
  background: var(--bg-1) !important;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.socials .list .social {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  transition: border-color .2s, transform .22s var(--ease);
}
.socials .list .social:hover {
  border-color: var(--border-2) !important;
  transform: translateY(-2px); color: var(--text) !important;
}
.socials .list .social .left svg {
  background: rgba(255,255,255,.07) !important;
}

/* ─── Footer ─────────────────────────────── */
footer.footer {
  background: var(--bg-1) !important;
  border-top: 1px solid var(--border) !important;
  position: relative; overflow: hidden;
}
footer.footer::before {
  content: '';
  position: absolute; top:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
}
footer.footer h5 {
  font-family: var(--mono) !important; font-size: .56rem !important; font-weight: 700 !important;
  letter-spacing: .16em; text-transform: uppercase; color: var(--text-3) !important; margin-bottom: 1rem !important;
}
footer.footer .nav li a {
  font-family: var(--sans) !important; font-size: .82rem !important;
  color: var(--text-2) !important; transition: color .18s; padding: .2rem 0;
}
footer.footer .nav li a:hover { color: var(--text) !important; }
footer.footer .logo p {
  font-family: var(--sans) !important; font-weight: 800 !important;
  font-size: .95rem !important; letter-spacing: -.02em;
}
/* Footer tagline rendered via Nunjucks template variable */
.footer-tagline {
  font-family: var(--mono) !important;
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .15em;
  color: var(--text-3);
  margin-top: 6px;
  text-transform: uppercase;
}

/* ─── Product page ───────────────────────── */
.product-wrapper .badges div, .product-wrapper .badges a {
  font-family: var(--mono) !important; font-size: .56rem !important;
  font-weight: 700 !important; letter-spacing: .1em;
  text-transform: uppercase; border-radius: 4px !important;
}
.variants .variant {
  background: var(--bg-1) !important;
  border-color: var(--border) !important;
  border-radius: var(--r) !important;
  transition: border-color .18s;
}
.variants .variant:hover { border-color: var(--border-2) !important; }
.variants .variant.active { border-color: var(--border-3) !important; }
.variants .variant .name { font-family: var(--sans) !important; font-weight: 700 !important; font-size: .88rem !important; }
.variants .variant .price {
  font-family: var(--mono) !important; font-weight: 700 !important;
  font-size: .76rem !important; color: var(--text) !important;
  background: rgba(255,255,255,.05) !important;
}
.variants .variant .description { font-size: .8rem !important; color: var(--text-2) !important; }

/* ─── Status page ────────────────────────── */
.status-card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  transition: border-color .2s;
}
.status-card:hover { border-color: var(--border-2) !important; }
.status-group h2, .status-card h3 {
  font-family: var(--sans) !important; font-weight: 800 !important; letter-spacing: -.02em !important;
}
.status .label { font-family: var(--mono) !important; font-size: .7rem !important; letter-spacing: .06em; }

/* ─── FAQ ────────────────────────────────── */
.faq .accordion-button {
  font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: -.01em !important;
}
.faq .accordion-body {
  font-family: var(--sans) !important; font-size: .86rem !important;
  line-height: 1.72 !important; color: var(--text-2) !important;
}
.faq .accordion-item { border-radius: var(--r-lg) !important; overflow: hidden; }

/* ─── Forms & buttons ────────────────────── */
.form-control, .form-select {
  font-family: var(--sans) !important; background: var(--bg-1) !important;
  border-color: var(--border) !important; color: var(--text) !important;
  border-radius: var(--r) !important; transition: border-color .18s !important;
}
.form-control:focus, .form-select:focus {
  background: var(--bg-1) !important; border-color: var(--border-3) !important;
  box-shadow: none !important; color: var(--text) !important;
}
.btn-primary {
  font-family: var(--mono) !important; font-size: .68rem !important; font-weight: 700 !important;
  letter-spacing: .1em; text-transform: uppercase;
  border-radius: var(--r) !important; transition: all .2s !important;
}
.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(255,255,255,.12) !important;
}

/* ─── Cart ───────────────────────────────── */
.cart .product, .cart .form {
  background: var(--bg-1) !important; border-radius: var(--r-xl) !important;
}
.cart-item-bg { border-radius: var(--r) !important; }

/* ─── Modals ─────────────────────────────── */
.modal-content {
  background: var(--bg-1) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: var(--r-2xl) !important;
}
.modal-header { border-bottom: 1px solid var(--border) !important; }
.modal-footer { border-top: 1px solid var(--border) !important; }

/* ─── Announcement ───────────────────────── */
.announcement {
  font-family: var(--mono) !important; font-size: .6rem !important;
  font-weight: 700 !important; letter-spacing: .13em; text-transform: uppercase;
}

/* ─── Pagination ─────────────────────────── */
.pagination .page-link {
  font-family: var(--mono) !important; font-size: .68rem !important; font-weight: 600 !important;
  border-radius: var(--r) !important; background: var(--bg-1) !important;
  border-color: var(--border) !important;
}

/* ─── Responsive ─────────────────────────── */
@media (max-width: 880px) {
  .hero-container {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2.5rem;
    padding-top: 5.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .hero-status-card { width: 100%; max-width: 360px; animation: fadeIn .6s .2s both; }
  .hero-left { max-width: 100%; }
  .trust-item { padding: 8px 14px; }
  .trust-item span { font-size: .55rem; }
}

@media (max-width: 576px) {
  .hero-left h1 { font-size: 2.5rem !important; }
  /* trust bar uses marquee — no overflow scroll needed on mobile */
  .nylon-trust-bar .trust-track { animation-duration: 20s; }
}

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

.product-wrapper {
  background: var(--bg) !important;
}

.product-wrapper .container > section {
  padding-top: calc(62px + 3rem) !important;
  padding-bottom: 4rem !important;
}

/* Image area */
.product-wrapper .carousel,
.product-wrapper .card-img-top,
.product-wrapper .product-img-placeholder {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  overflow: hidden;
}

.product-wrapper .thumbnails {
  margin-top: 10px !important;
  gap: 8px !important;
}

.product-wrapper .thumbnails button {
  border-radius: var(--r) !important;
  border: 1px solid var(--border) !important;
  overflow: hidden;
  transition: border-color .2s, opacity .2s !important;
}

.product-wrapper .thumbnails button.active,
.product-wrapper .thumbnails button:hover {
  border-color: var(--border-3) !important;
  opacity: 1 !important;
}

/* Product title */
.product-wrapper h1.display-6 {
  font-family: var(--sans) !important;
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  line-height: 1.1 !important;
  color: var(--text) !important;
  margin-bottom: .75rem !important;
}

/* Status indicator */
.product-wrapper .status {
  margin-bottom: 1rem !important;
}
.product-wrapper .status .label {
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
}

/* Price display */
.product-wrapper .fs-5 {
  font-family: var(--sans) !important;
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  color: var(--text) !important;
}

/* Stock badge */
.product-wrapper .stock-indicator {
  font-family: var(--mono) !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 3px 9px !important;
  border-color: rgba(34,197,94,.3) !important;
  color: var(--green) !important;
  background: var(--green-dim) !important;
}

/* Form labels */
.product-wrapper .form-label {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  margin-bottom: .6rem !important;
}

/* Quantity input group */
.product-wrapper .input-group {
  max-width: 140px;
}
.product-wrapper .input-group .btn-outline-primary {
  background: var(--bg-1) !important;
  border-color: var(--border-2) !important;
  color: var(--text) !important;
  border-radius: var(--r) !important;
  width: 36px;
  padding: 0 !important;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s;
}
.product-wrapper .input-group .btn-outline-primary:hover:not(:disabled) {
  background: rgba(255,255,255,.1) !important;
  border-color: var(--border-3) !important;
}
.product-wrapper .input-group .form-control {
  text-align: center !important;
  font-family: var(--mono) !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  border-left: none !important;
  border-right: none !important;
}

/* Buy buttons */
.product-wrapper .buy-buttons .btn {
  font-family: var(--mono) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: 13px 24px !important;
  border-radius: var(--r) !important;
  transition: all .22s var(--ease) !important;
}

.product-wrapper .buy-buttons .btn-primary {
  background: var(--text) !important;
  color: #000 !important;
  border: none !important;
}
.product-wrapper .buy-buttons .btn-primary:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255,255,255,.15) !important;
}

.product-wrapper .buy-buttons .btn-outline-primary {
  background: transparent !important;
  border: 1px solid var(--border-2) !important;
  color: var(--text) !important;
}
.product-wrapper .buy-buttons .btn-outline-primary:hover:not(:disabled) {
  border-color: var(--border-3) !important;
  background: rgba(255,255,255,.06) !important;
  transform: translateY(-2px) !important;
}

/* Description / tabs */
.product-wrapper .product-tabs .btn {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: var(--r) !important;
  padding: 6px 14px !important;
}

.product-wrapper .editor {
  font-family: var(--sans) !important;
  font-size: .88rem !important;
  line-height: 1.75 !important;
  color: var(--text-2) !important;
}

/* Live stats */
.product-wrapper .live-stats p {
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  letter-spacing: .04em !important;
  color: var(--text-3) !important;
}
.product-wrapper .live-stats strong {
  color: var(--text) !important;
  font-weight: 700 !important;
}

/* Sale notification popup */
.notification-content {
  background: var(--bg-1) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: var(--r-xl) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,.6) !important;
}
.notification-text-primary { font-family: var(--mono) !important; font-size: .58rem !important; }
.notification-text-secondary { font-family: var(--sans) !important; font-weight: 700 !important; }
.notification-text-tertiary { font-family: var(--mono) !important; font-size: .55rem !important; color: var(--text-3) !important; }

/* ═══════════════════════════════════════════
   FEATURES SECTION — NYLON STYLE
   ═══════════════════════════════════════════ */

/* Override the default centered layout with a number-tag style */
.features .list .feature {
  position: relative;
}

/* Small numbered tag top-left */
.features .list .feature::after {
  content: attr(data-index);
  position: absolute;
  top: 18px; right: 18px;
  font-family: var(--mono) !important;
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--text-3);
}

/* Icon wrapper — make it look like a terminal badge */
.features .list .feature i,
.features .list .feature svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border-2);
  border-radius: var(--r);
  padding: 10px;
  width: 44px !important;
  height: 44px !important;
  font-size: .9rem !important;
  opacity: 1 !important;
}

/* ═══════════════════════════════════════════
   FOOTER STATUS INDICATOR
   ═══════════════════════════════════════════ */

.footer-status-bar {
  background: var(--bg) !important;
  border-top: 1px solid var(--border);
  padding: 14px 0;
}

.footer-status-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-status-live {
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  animation: glow 2.2s ease infinite;
  flex-shrink: 0;
}

.footer-status-text {
  font-family: var(--mono) !important;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--green);
  text-transform: uppercase;
}

.footer-status-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-status-tag {
  font-family: var(--mono) !important;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-3);
  display: flex;
  align-items: center;
  gap: 5px;
}

.footer-status-tag::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--text-3);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════
   SCROLL FADE-UP ANIMATIONS
   ═══════════════════════════════════════════ */

.scroll-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .65s var(--ease), transform .65s var(--ease);
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for grid children */
.scroll-reveal-stagger > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}

.scroll-reveal-stagger.is-visible > *:nth-child(1) { opacity:1; transform:translateY(0); transition-delay:.05s; }
.scroll-reveal-stagger.is-visible > *:nth-child(2) { opacity:1; transform:translateY(0); transition-delay:.12s; }
.scroll-reveal-stagger.is-visible > *:nth-child(3) { opacity:1; transform:translateY(0); transition-delay:.19s; }
.scroll-reveal-stagger.is-visible > *:nth-child(4) { opacity:1; transform:translateY(0); transition-delay:.26s; }
.scroll-reveal-stagger.is-visible > *:nth-child(5) { opacity:1; transform:translateY(0); transition-delay:.33s; }
.scroll-reveal-stagger.is-visible > *:nth-child(6)  { opacity:1; transform:translateY(0); transition-delay:.40s; }
.scroll-reveal-stagger.is-visible > *:nth-child(7)  { opacity:1; transform:translateY(0); transition-delay:.46s; }
.scroll-reveal-stagger.is-visible > *:nth-child(8)  { opacity:1; transform:translateY(0); transition-delay:.52s; }
.scroll-reveal-stagger.is-visible > *:nth-child(9)  { opacity:1; transform:translateY(0); transition-delay:.58s; }
.scroll-reveal-stagger.is-visible > *:nth-child(10) { opacity:1; transform:translateY(0); transition-delay:.64s; }
.scroll-reveal-stagger.is-visible > *:nth-child(11) { opacity:1; transform:translateY(0); transition-delay:.70s; }
.scroll-reveal-stagger.is-visible > *:nth-child(12) { opacity:1; transform:translateY(0); transition-delay:.76s; }
.scroll-reveal-stagger.is-visible > *:nth-child(n+13) { opacity:1; transform:translateY(0); transition-delay:.76s; }

/* ═══════════════════════════════════════════
   REVIEW CARDS
   ═══════════════════════════════════════════ */

.nylon-review-card {
  background: var(--bg-1);
  border: 1px solid var(--border);
  border-radius: var(--r-2xl);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: border-color .28s, transform .28s var(--ease);
}

.nylon-review-card::before {
  content: '';
  position: absolute; top:0; left:15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
}

.nylon-review-card:hover {
  border-color: var(--border-2);
  transform: translateY(-3px);
}

/* Stars + verified row */
.nrc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.nrc-stars {
  display: flex;
  align-items: center;
  gap: 2px;
}

.nrc-stars svg {
  width: 13px;
  height: 13px;
}

.nrc-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--mono) !important;
  font-size: .48rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--green);
  background: var(--green-dim);
  border: 1px solid rgba(34,197,94,.2);
  padding: 2px 7px;
  border-radius: 3px;
}

/* Message */
.nrc-message p {
  font-family: var(--sans) !important;
  font-size: .84rem;
  line-height: 1.7;
  color: var(--text-2);
  margin: 0;
}

.nrc-expand {
  font-family: var(--mono) !important;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--text-3) !important;
  margin-left: 4px;
  text-decoration: none !important;
  transition: color .15s;
}
.nrc-expand:hover { color: var(--text) !important; }

/* Reply block */
.nrc-reply {
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 10px 12px;
}

.nrc-reply-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--mono) !important;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 6px;
}

.nrc-reply-text {
  font-family: var(--sans) !important;
  font-size: .8rem;
  line-height: 1.65;
  color: var(--text-2);
  margin: 0;
}

/* Footer */
.nrc-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  margin-top: auto;
}

.nrc-product {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--mono) !important;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .07em;
  color: var(--text-3);
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nrc-date {
  font-family: var(--mono) !important;
  font-size: .52rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--text-3);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════ */

.cart.component > div,
.cart .cart {
  padding-top: calc(62px + 2rem);
}

/* Page title */
.cart .section-title h1 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 1.9rem !important;
  letter-spacing: -.04em !important;
}

/* Cart item row */
.cart-item-bg {
  background: var(--bg-1) !important;
  border-color: var(--border) !important;
  border-radius: var(--r-xl) !important;
  transition: border-color .2s;
}
.cart-item-bg:hover {
  border-color: var(--border-2) !important;
}

/* Product name in cart */
.cart-product-link {
  font-family: var(--sans) !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  color: var(--text) !important;
}
.cart-product-link:hover { color: var(--text) !important; text-decoration: underline !important; }

/* Variant name */
.cart-variant-text {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  color: var(--text-3) !important;
  text-transform: uppercase;
}

/* Addon badge */
.cart-addon-badge {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border) !important;
  border-radius: 4px !important;
  color: var(--text-3) !important;
  padding: 2px 7px !important;
}

/* Qty controls */
.cart-qty-btn {
  background: rgba(255,255,255,.05) !important;
  border-radius: var(--r) !important;
  color: var(--text) !important;
  transition: background .15s !important;
}
.cart-qty-btn:hover:not(:disabled) {
  background: rgba(255,255,255,.12) !important;
}
.cart-qty-input {
  background: rgba(255,255,255,.03) !important;
  color: var(--text) !important;
  font-family: var(--mono) !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  border: none !important;
}

/* Price text */
.cart-price-text {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: var(--text) !important;
}

/* Remove button */
.cart-remove-mobile,
.cart-remove-desktop {
  color: var(--text-3) !important;
  transition: color .15s !important;
}
.cart-remove-mobile:hover,
.cart-remove-desktop:hover {
  color: #ef4444 !important;
}

/* Order summary panel */
.cart .form {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  position: relative;
  overflow: hidden;
}
.cart .form::before {
  content: '';
  position: absolute; top:0; left:15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
}

/* Summary label */
.cart .form .form-label {
  font-family: var(--mono) !important;
  font-size: .58rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  display: block;
  margin-bottom: .75rem !important;
}

/* Subtotal row */
.cart .form .text-muted {
  font-family: var(--mono) !important;
  font-size: .68rem !important;
  letter-spacing: .06em;
  color: var(--text-3) !important;
}
.cart .form .fw-bold {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
  color: var(--text) !important;
}

.cart .form .border-bottom {
  border-color: var(--border) !important;
  padding-bottom: 14px !important;
  margin-bottom: 14px;
}

/* Checkout button */
.cart .form .btn-outline-primary {
  font-family: var(--mono) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--text) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 13px 24px !important;
  transition: all .22s var(--ease) !important;
  margin-top: .5rem !important;
}
.cart .form .btn-outline-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,255,255,.15) !important;
}
.cart .form .btn-outline-primary:disabled {
  opacity: .35 !important;
}

/* Empty cart state */
.cart .border.rounded.text-center {
  background: var(--bg-1) !important;
  border-color: var(--border) !important;
  border-radius: var(--r-xl) !important;
  padding: 3rem !important;
}
.cart .border.rounded.text-center .text-muted {
  font-family: var(--mono) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
}
.cart .border.rounded.text-center .text-muted::before {
  content: '// ';
  color: var(--text-3);
}

/* Loading spinner */
.cart .spinner-border {
  color: var(--text-3) !important;
  width: 1.2rem;
  height: 1.2rem;
  border-width: 2px;
}

/* Discount nudge */
.cart-discount-text {
  font-family: var(--mono) !important;
  font-size: .58rem !important;
  letter-spacing: .05em;
  color: var(--text-3) !important;
}

/* Image placeholder in cart */
.cart-placeholder-svg { color: var(--text-3) !important; opacity: .3; }

/* ═══════════════════════════════════════════
   MOBILE NAV
   ═══════════════════════════════════════════ */

@media (max-width: 991px) {
  .navbar-collapse {
    background: rgba(0,0,0,.97) !important;
    border: 1px solid var(--border-2) !important;
    border-radius: var(--r-xl) !important;
    margin-top: 10px !important;
    padding: 20px !important;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
  }

  /* Divider between left and right link groups */
  .navbar-collapse .navbar-nav.me-auto {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border);
  }

  .navbar .nav-link {
    font-size: .68rem !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--border);
    color: var(--text-2) !important;
  }

  /* Remove bottom border on last item */
  .navbar .navbar-nav > li:last-child .nav-link {
    border-bottom: none;
  }

  /* Hide the underline slide-in on mobile — not needed */
  .navbar .nav-link::after { display: none; }

  /* Active state on mobile */
  .navbar .nav-link:hover,
  .navbar .nav-link.active {
    color: var(--text) !important;
    padding-left: 6px !important;
  }

  /* Right-side buttons */
  .navbar-collapse .navbar-nav:not(.me-auto) {
    padding-top: 14px;
    gap: 10px !important;
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  .navbar-collapse .btn-outline-primary {
    flex: 1;
    text-align: center;
    min-width: 100px;
  }
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — SIDEBAR
   ═══════════════════════════════════════════ */

/* Sidebar card */
.customer-sidebar-card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  padding: 20px !important;
  position: relative;
  overflow: hidden;
}

.customer-sidebar-card::before {
  content: '';
  position: absolute; top:0; left:15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
}

/* Email tag */
.customer-sidebar-email {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: var(--text-3) !important;
  margin-bottom: 16px !important;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Sidebar heading */
.customer-sidebar-card h5 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
  letter-spacing: -.02em !important;
  color: var(--text) !important;
  margin-bottom: 4px !important;
}

/* Sidebar divider */
.customer-sidebar-card hr {
  border-color: var(--border) !important;
  margin: 14px 0 16px !important;
  opacity: 1 !important;
}

/* Sidebar nav links */
.customer-sidebar-card .nav-link {
  font-family: var(--mono) !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  padding: 9px 12px !important;
  border-radius: var(--r) !important;
  transition: background .15s, color .15s !important;
  text-align: left !important;
  width: 100%;
  border: none;
  background: transparent;
}

.customer-sidebar-card .nav-link:hover {
  background: rgba(255,255,255,.05) !important;
  color: var(--text) !important;
}

.customer-sidebar-card .nav-link.active {
  background: rgba(255,255,255,.08) !important;
  color: var(--text) !important;
}

/* Override Bootstrap nav-pills active */
.customer-sidebar-card .nav-pills .nav-link.active,
.customer-sidebar-card .nav-pills .show > .nav-link {
  background: rgba(255,255,255,.08) !important;
  color: var(--text) !important;
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — STAT CARDS
   ═══════════════════════════════════════════ */

/* Generic card base used across dashboard */
.customer-area .card,
.py-5-nav .card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  transition: border-color .25s;
  position: relative;
  overflow: hidden;
}

.customer-area .card::before,
.py-5-nav .card::before {
  content: '';
  position: absolute; top:0; left:15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.07), transparent);
}

.customer-area .card:hover,
.py-5-nav .card:hover {
  border-color: var(--border-2) !important;
}

/* Stat card headings */
.py-5-nav .card h4 {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  margin-bottom: 10px !important;
}

/* Stat values */
.py-5-nav .card p.mb-0 {
  font-family: var(--sans) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  color: var(--text) !important;
}

/* Latest order card */
.py-5-nav .card h5.mb-0 {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
}

.py-5-nav .card h4:not(:first-child) {
  font-family: var(--sans) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  color: var(--text) !important;
  margin-top: 8px !important;
  text-transform: none !important;
}

.py-5-nav .card .text-muted {
  font-family: var(--mono) !important;
  font-size: .58rem !important;
  letter-spacing: .06em !important;
  color: var(--text-3) !important;
}

/* Invoice link */
.py-5-nav .card .text-primary {
  color: var(--text) !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — TABLES
   ═══════════════════════════════════════════ */

.py-5-nav .table {
  color: var(--text) !important;
  font-family: var(--sans) !important;
  font-size: .84rem !important;
  --bs-table-bg: transparent !important;
  --bs-table-border-color: var(--border) !important;
}

.py-5-nav .table thead th {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 10px 12px !important;
}

.py-5-nav .table tbody td {
  border-color: var(--border) !important;
  padding: 12px !important;
  vertical-align: middle !important;
  color: var(--text-2) !important;
}

.py-5-nav .table tbody tr:hover td {
  background: rgba(255,255,255,.02) !important;
}

/* Invoice ID link */
.py-5-nav .table .text-accent-500 {
  font-family: var(--mono) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: color .15s;
}
.py-5-nav .table .text-accent-500:hover { color: var(--text-2) !important; }

/* Status text */
.py-5-nav .table .text-capitalize {
  font-family: var(--mono) !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  color: var(--text) !important;
}

.py-5-nav .table small.text-muted {
  font-family: var(--mono) !important;
  font-size: .52rem !important;
  letter-spacing: .06em !important;
  color: var(--text-3) !important;
}

/* Table action buttons */
.py-5-nav table td .btn.btn-link {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--text-2) !important;
  text-decoration: none !important;
  padding: 4px 10px !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  transition: border-color .15s, color .15s !important;
}
.py-5-nav table td .btn.btn-link:hover {
  border-color: var(--border-2) !important;
  color: var(--text) !important;
}

/* Empty state */
.py-5-nav .table td[colspan] {
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
  padding: 32px !important;
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — TICKET DETAIL
   ═══════════════════════════════════════════ */

/* Ticket header card */
.ticket .card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
}

.ticket .card h3 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  font-size: 1.15rem !important;
}

/* Status badges */
.ticket .badge {
  font-family: var(--mono) !important;
  font-size: .5rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  border-radius: 4px !important;
  padding: 3px 8px !important;
}

.ticket .badge.bg-warning { background: rgba(251,191,36,.15) !important; color: #fbbf24 !important; border: 1px solid rgba(251,191,36,.25) !important; }
.ticket .badge.bg-primary { background: rgba(255,255,255,.08) !important; color: var(--text) !important; border: 1px solid var(--border-2) !important; }
.ticket .badge.bg-success { background: var(--green-dim) !important; color: var(--green) !important; border: 1px solid rgba(34,197,94,.25) !important; }
.ticket .badge.bg-secondary { background: rgba(255,255,255,.05) !important; color: var(--text-3) !important; border: 1px solid var(--border) !important; }
.ticket .badge.bg-light { background: rgba(255,255,255,.06) !important; color: var(--text-2) !important; border: 1px solid var(--border) !important; }

/* Messages area */
.ticket .ticket-messages-container {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
}

.ticket .ticket-sender-name {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  color: var(--text-2) !important;
}

.ticket .ticket-sender-name.text-accent-500,
.ticket .text-accent-500 { color: var(--text) !important; }

.ticket .ticket-time-ago {
  font-family: var(--mono) !important;
  font-size: .52rem !important;
  color: var(--text-3) !important;
  opacity: 1 !important;
}

.ticket .ticket-message-content p {
  font-family: var(--sans) !important;
  font-size: .84rem !important;
  line-height: 1.65 !important;
  color: var(--text-2) !important;
}

/* Avatar */
.ticket .ticket-avatar-placeholder {
  background: rgba(255,255,255,.06) !important;
  color: var(--text-3) !important;
}

.ticket .ticket-avatar-img {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border) !important;
}

/* Input area */
.ticket .ticket-input-area {
  background: var(--bg-1) !important;
  border-top: 1px solid var(--border) !important;
}

.ticket .ticket-textarea {
  font-family: var(--sans) !important;
  font-size: .88rem !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  color: var(--text) !important;
  resize: none;
  transition: border-color .15s !important;
}

.ticket .ticket-textarea:focus {
  background: rgba(255,255,255,.05) !important;
  border-color: var(--border-3) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}

.ticket .ticket-send-btn {
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--text) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 10px 18px !important;
  transition: all .2s var(--ease) !important;
}

.ticket .ticket-send-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255,255,255,.12) !important;
}

/* Closed ticket message */
.ticket .text-center.text-muted {
  font-family: var(--mono) !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — TICKETS LIST
   ═══════════════════════════════════════════ */

/* Info alert */
.py-5-nav .alert-info {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  color: var(--text-2) !important;
  font-family: var(--sans) !important;
  font-size: .82rem !important;
}

.py-5-nav .alert-info a { color: var(--text) !important; font-weight: 700 !important; }

/* Tickets table heading */
.py-5-nav .card h3 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  font-size: 1.1rem !important;
  color: var(--text) !important;
}

/* ═══════════════════════════════════════════
   CUSTOMER DASHBOARD — DELETE ACCOUNT BUTTON
   ═══════════════════════════════════════════ */

.py-5-nav .btn-outline-danger {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-color: rgba(239,68,68,.3) !important;
  color: #ef4444 !important;
  background: transparent !important;
  border-radius: var(--r) !important;
  padding: 8px 16px !important;
  transition: all .18s !important;
}
.py-5-nav .btn-outline-danger:hover {
  background: rgba(239,68,68,.08) !important;
  border-color: rgba(239,68,68,.5) !important;
}

/* ═══════════════════════════════════════════
   PRODUCT PAGE — IMAGE
   ═══════════════════════════════════════════ */

/* Main carousel — clean dark container, no padding */
.product-wrapper .carousel {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  overflow: hidden;
  margin-bottom: 0 !important;
}

/* Images contained — full visibility, no cropping */
.product-wrapper .carousel img {
  width: 100% !important;
  max-height: 420px !important;
  object-fit: contain !important;
  display: block !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: var(--bg-1) !important;
}

/* Single image (no carousel) */
.product-wrapper .card-img-top.aspect-product-page-image {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  overflow: hidden;
  padding: 0 !important;
}

.product-wrapper .card-img-top.aspect-product-page-image img {
  width: 100% !important;
  max-height: 420px !important;
  object-fit: contain !important;
  display: block !important;
  padding: 12px !important;
}

/* Thumbnails — equal small squares */
.product-wrapper .thumbnails {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  margin-top: 8px !important;
}

.product-wrapper .thumbnails button {
  width: 80px !important;
  height: 80px !important;
  flex-shrink: 0 !important;
  border-radius: var(--r) !important;
  border: 1px solid var(--border) !important;
  overflow: hidden;
  padding: 0 !important;
  background: var(--bg-1) !important;
  transition: border-color .18s, opacity .18s !important;
}

.product-wrapper .thumbnails button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  padding: 0 !important;
}

.product-wrapper .thumbnails button.active {
  border-color: var(--border-3) !important;
  opacity: 1 !important;
}

.product-wrapper .thumbnails button:not(.active) {
  opacity: .45 !important;
}

.product-wrapper .thumbnails button:hover {
  border-color: var(--border-2) !important;
  opacity: 1 !important;
}

/* No placeholder weirdness */
.product-wrapper .product-img-placeholder.aspect-product-page-image {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}

.product-wrapper .product-img-placeholder svg.large {
  color: var(--text-3) !important;
  opacity: .25 !important;
}

/* ═══════════════════════════════════════════
   PRODUCT PAGE — PRICE, LIVE STATS, SPACING
   ═══════════════════════════════════════════ */

/* Tighten top spacing */
.product-wrapper .container > section {
  padding-top: calc(62px + 2rem) !important;
  padding-bottom: 3rem !important;
}

/* Big bold price */
.product-wrapper .fs-5 {
  font-family: var(--sans) !important;
  font-size: 2.2rem !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  color: var(--text) !important;
  line-height: 1 !important;
}

/* Price + stock row alignment */
.product-wrapper .mb-4 .d-flex.align-items-center.gap-3 {
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 1.25rem !important;
}

/* Live stats — views + purchases */
.product-wrapper .live-stats {
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 12px 16px;
  margin-bottom: 1.25rem !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-wrapper .live-stats > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.product-wrapper .live-stats svg {
  width: 13px !important;
  height: 13px !important;
  color: var(--text-3) !important;
  flex-shrink: 0;
}

.product-wrapper .live-stats p {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  color: var(--text-3) !important;
  margin: 0 !important;
}

.product-wrapper .live-stats strong {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: .75rem !important;
  color: var(--text) !important;
}

/* ═══════════════════════════════════════════
   REVIEWS LISTING PAGE
   ═══════════════════════════════════════════ */

.feedback-page-wrapper,
.feedback-page-wrapper .py-5-nav {
  padding-top: calc(62px + 2.5rem) !important;
}

/* Reviews page section title */
.feedback-page-wrapper .section-title h1 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 2rem !important;
  letter-spacing: -.04em !important;
  color: var(--text) !important;
}

/* Reviews grid spacing */
.feedback-page-wrapper .testimonials.row {
  row-gap: 16px !important;
}

/* Add padding under each card */
.feedback-page-wrapper .testimonials .col-12 {
  margin-bottom: 0 !important;
}

/* ═══════════════════════════════════════════
   BLOG CARDS
   ═══════════════════════════════════════════ */

/* Blog card — matches product card style */
.products .card[href*="/blog/"] ,
div.col-12.col-md-6.col-lg-4.col-xl-3.mb-4 > a[href*="/blog/"] .card,
.blog-post-card-link .card,
.row.products a.card {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-2xl) !important;
  overflow: hidden;
  transition: border-color .3s, transform .35s var(--ease), box-shadow .35s !important;
  text-decoration: none !important;
}

/* Blog post card image area */
.row.products .card .card-img-top.aspect-blog-card-image {
  background: var(--bg-2) !important;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}

.row.products .card .card-img-top img {
  transition: transform .4s var(--ease);
}

.row.products .card:hover .card-img-top img {
  transform: scale(1.03);
}

/* Blog card body */
.row.products .card .card-body {
  padding: 18px 20px 20px !important;
}

/* Blog title */
.row.products .card .card-title {
  font-family: var(--sans) !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  color: var(--text) !important;
  margin-bottom: 6px !important;
  line-height: 1.3;
}

/* Blog summary */
.row.products .card .card-body p.text-muted small {
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  color: var(--text-2) !important;
  line-height: 1.5;
}

/* Blog date */
.row.products .card .card-body p.text-muted:last-child small {
  font-family: var(--mono) !important;
  font-size: .55rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--text-3) !important;
}

/* Blog "Read More" overlay */
.row.products .card .card-img-top .overlay .btn {
  font-family: var(--mono) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: rgba(255,255,255,.88) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--r) !important;
}

/* Blog page section title */
.blog-section .section-title h2,
section .section-title h2 {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  color: var(--text) !important;
}

/* No posts state */
.alert.alert-info {
  background: var(--bg-1) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r-lg) !important;
  color: var(--text-3) !important;
  font-family: var(--mono) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════
   MAINTENANCE PAGE
   ═══════════════════════════════════════════ */

.maintenance {
  background: var(--bg) !important;
  position: relative;
  overflow: hidden;
}

/* Dot grid background */
.maintenance::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none; z-index: 0;
}

/* Vignette */
.maintenance::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 90% 70% at 50% 50%, transparent 20%, #000 100%);
  pointer-events: none; z-index: 0;
}

.maintenance .container {
  position: relative; z-index: 1;
}

/* Icon wrapper */
.maintenance-icon-wrapper {
  width: 72px !important;
  height: 72px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: var(--r-xl) !important;
  position: relative;
}

.maintenance-icon-wrapper::before {
  content: '';
  position: absolute; top:0; left:15%; right:15%; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
}

.maintenance-icon-wrapper svg {
  width: 28px !important;
  height: 28px !important;
  color: var(--text-3) !important;
}

/* Eyebrow pill */
.maintenance .container::before {
  content: '⬤  MAINTENANCE_MODE // TEMPORARY';
  display: block;
  text-align: center;
  font-family: var(--mono);
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  padding: 5px 14px;
  margin: 0 auto 28px;
  width: fit-content;
}

/* Heading */
.maintenance h1.display-4 {
  font-family: var(--sans) !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  color: var(--text) !important;
  margin-bottom: .75rem !important;
}

.maintenance-accent {
  color: var(--text-2) !important;
}

/* Subtext */
.maintenance .lead {
  font-family: var(--sans) !important;
  font-size: .9rem !important;
  color: var(--text-2) !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
}

/* Admin button */
.maintenance .btn-primary {
  font-family: var(--mono) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--text) !important;
  color: #000 !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: 12px 24px !important;
  transition: all .22s var(--ease) !important;
}

.maintenance .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255,255,255,.15) !important;
}

/* Bottom status strip on maintenance page */
.maintenance .container::after {
  content: '⬤  ALL ISSUES BEING RESOLVED · BACK SHORTLY';
  display: block;
  text-align: center;
  font-family: var(--mono);
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--green);
  margin-top: 36px;
}

/* ─── Empty reviews state ───────────────────────────────────────────────── */
.nylon-empty-reviews {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 48px 24px;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  color: var(--text-3);
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 8px;
}
.nylon-empty-reviews svg { opacity: .4; }
