/* ==========================================================================
   X-Air — aviation theme on top of Bootstrap 5
   ========================================================================== */

:root{
  --navy: #101823;
  --navy-2: #17212E;
  --orange: #D8531F;
  --orange-dark: #B8441A;
  --blueprint: #34506B;
  --steel: #5C6670;
  --paper: #EDEFEE;
  --font-display: 'Space Grotesk', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
}

body{
  background: var(--paper);
  font-family: 'IBM Plex Sans', sans-serif;
}

h1, h2, h3, h4, h5, .font-display{
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--navy);
}

.mono{ font-family: var(--font-mono); }

a{ text-decoration: none; }

/* buttons */
.btn-orange{ background: var(--orange); border-color: var(--orange); color: #fff; }
.btn-orange:hover{ background: var(--orange-dark); border-color: var(--orange-dark); color:#fff; }
.btn-outline-navy{ border-color: var(--navy); color: var(--navy); }
.btn-outline-navy:hover{ background: var(--navy); border-color: var(--navy); color: #fff; }

/* utility bar */
.utility-bar{ background: var(--navy); color: #C9CFD3; font-family: var(--font-mono); font-size: .75rem; }

/* navbar */
.navbar-aero{ background: #d2c5c5; border-bottom: 1px solid #dee2e6; }
.navbar-aero .navbar-brand{ font-family: var(--font-display); font-weight: 700; color: var(--navy); }
.navbar-aero .brand-sub{ font-family: var(--font-mono); font-size: .6rem; letter-spacing: .08em; color: var(--steel); display:block; }
.navbar-aero .nav-link{ font-weight: 500; color: #23282D; }
.navbar-aero .nav-link.active,
.navbar-aero .nav-link:hover{ color: var(--orange) !important; }
.cart-badge{ font-family: var(--font-mono); font-size: .65rem; }

/* hero */
.hero-aero{
  background: var(--navy);
  background-image:
    linear-gradient(180deg, rgba(16,24,35,0.2), rgba(16,24,35,0.9)),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 56px);
  color: #fff;
}
.hero-eyebrow{ font-family: var(--font-mono); font-size: .75rem; letter-spacing: .08em; color: var(--orange); }
.hero-eyebrow .rule{ display:inline-block; width: 28px; height: 1px; background: var(--orange); margin-right: 8px; vertical-align: middle; }
.hero-stat strong{ display:block; font-family: var(--font-display); font-size: 1.4rem; }
.hero-stat span{ font-family: var(--font-mono); font-size: .68rem; color: #9AA3AA; letter-spacing: .05em; }

/* section labels */
.section-tag{ font-family: var(--font-mono); font-size: .75rem; color: var(--blueprint); letter-spacing: .06em; }

/* category tiles */
.cat-tile{
  background:#fff; border: 1px solid #dee2e6; padding: 1.5rem; height: 100%;
  transition: background .15s ease;
}
.cat-tile:hover{ background: var(--navy); }
.cat-tile:hover .cat-name, .cat-tile:hover .cat-count{ color:#fff; }
.cat-tile:hover .cat-arrow{ color: var(--orange); }
.cat-name{ font-family: var(--font-display); font-weight:600; color: var(--navy); }
.cat-count{ font-family: var(--font-mono); font-size:.75rem; color: var(--steel); }
.cat-arrow{ font-family: var(--font-mono); font-size:.75rem; color:#adb5bd; }

/* product cards */
.product-card{ border: 1px solid #dee2e6; height:100%; }
.product-media{ position:relative; background:#E2E5E6; aspect-ratio: 4/3; padding: .75rem; }
.product-media img{ width:100%; height:100%; object-fit:contain; }
.product-tag{ position:absolute; top:8px; left:8px; background: var(--navy); color:#fff; font-family: var(--font-mono); font-size:.65rem; padding: .15rem .4rem; }
.product-sku{ position:absolute; bottom:8px; right:8px; font-family: var(--font-mono); font-size:.65rem; color: var(--steel); }
.product-cat{ font-family: var(--font-mono); font-size: .68rem; color: var(--blueprint); }
.product-name{ font-family: var(--font-display); font-weight:600; font-size: .95rem; color: var(--navy); }
.product-price{ font-family: var(--font-mono); font-weight:600; color: var(--navy); }

/* filters */
.filter-card{ border:1px solid #dee2e6; background:#fff; }
.filter-card .card-header{ background: var(--navy); color:#fff; font-family: var(--font-mono); font-size:.75rem; letter-spacing:.05em; }

/* spec plate */
.spec-plate{ border: 1px solid #dee2e6; }
.spec-plate-head{ background: var(--navy); color:#fff; font-family: var(--font-mono); font-size:.75rem; letter-spacing:.05em; padding:.6rem 1rem; }
.spec-row{ display:flex; justify-content:space-between; padding:.6rem 1rem; border-top: 1px solid #e9ecef; font-size:.85rem; }
.spec-row dt{ color: var(--steel); font-family: var(--font-mono); font-size:.72rem; }
.spec-row dd{ margin:0; font-weight:500; }

/* order summary */
.summary-card .card-header{ background: var(--navy); color:#fff; font-family: var(--font-mono); font-size:.75rem; letter-spacing:.05em; }
.summary-total{ font-family: var(--font-mono); font-weight:700; font-size:1.2rem; color: var(--navy); }

/* trust strip */
.trust-strip{ background: var(--navy-2); color:#C9CFD3; }
.trust-strip svg{ color: var(--orange); }

/* footer */
.footer-aero{ background: var(--navy); color:#C9CFD3; }
.footer-aero h6{ font-family: var(--font-mono); font-size:.75rem; letter-spacing:.06em; color:#fff; }
.footer-aero a{ color:#9AA3AA; }
.footer-aero a:hover{ color: var(--orange); }

/* misc */
.breadcrumb-aero{ background:#fff; border-bottom:1px solid #dee2e6; font-family: var(--font-mono); font-size:.75rem; }
.badge-instock{ background: #3E7C5A; }
.form-label-mono{ font-family: var(--font-mono); font-size: .7rem; letter-spacing:.04em; color: var(--steel); }
