
:root{
  --bg:#0a0a0b;
  --bg-alt:#111113;
  --card:#161618;
  --card-2:#1c1c1f;
  --red:#e11d2e;
  --red-dark:#8f0f1d;
  --text:#f5f5f6;
  --muted:#9a9aa1;
  --border:#26262a;
}
*{box-sizing:border-box;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Segoe UI',Arial,sans-serif;
}
h1,h2,h3,h4,.brand-font{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:900;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.eyebrow{
  color:var(--red);
  font-weight:700;
  letter-spacing:2px;
  font-size:.8rem;
  text-transform:uppercase;
}
a{text-decoration:none;}

/* NAVBAR */
.navbar-custom{
  background:#000;
  padding:16px 0;
  border-bottom:1px solid var(--border);
}
.navbar-custom .logo-s1{color:#fff;font-weight:900;font-size:1.3rem;letter-spacing:1px;}
.navbar-custom .logo-s1 span{color:var(--red);}
.navbar-custom .nav-link{
  color:#d7d7db!important;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:1px;
  text-transform:uppercase;
  margin:0 14px;
}
.navbar-custom .nav-link:hover{color:var(--red)!important;}
.icon-btn{
  width:40px;height:40px;border-radius:50%;
  background:#1a1a1c;border:1px solid var(--border);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
}

/* HERO */
.hero{
  background:
    radial-gradient(ellipse 900px 500px at 15% 20%, rgba(225,29,46,.16), transparent 60%),
    linear-gradient(180deg,#120809 0%, #0a0a0b 55%, #0a0a0b 100%);
  padding:90px 0 60px;
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.hero h1{
  font-size:3.4rem;
  line-height:1.05;
  margin-bottom:20px;
}
.hero h1 .accent{color:var(--red);}
.hero p.lead-text{
  color:var(--muted);
  font-size:1.02rem;
  max-width:520px;
  margin-bottom:28px;
}
.btn-s1-red{
  background:var(--red);
  color:#fff;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:.82rem;
  padding:13px 26px;
  border-radius:6px;
  border:none;
}
.btn-s1-red:hover{background:#c31626;color:#fff;}
.btn-s1-outline{
  background:transparent;
  color:#fff;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:.82rem;
  padding:13px 26px;
  border-radius:6px;
  border:1px solid #3a3a3f;
}
.btn-s1-outline:hover{border-color:#fff;color:#fff;}
.hero-stats{margin-top:50px;}
.hero-stats .stat-num{font-size:1.7rem;font-weight:900;color:#fff;}
.hero-stats .stat-label{font-size:.72rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;}
.gauge-wrap{
  display:flex;align-items:center;justify-content:center;
  height:100%;
  opacity:.9;
}

/* CATEGORY BAR */
.cat-bar{
  background:var(--bg-alt);
  border-bottom:1px solid var(--border);
  padding:26px 0;
}
.cat-item{
  text-align:center;color:#c9c9cd;font-weight:700;font-size:.85rem;
  letter-spacing:.5px;
}
.cat-item svg{display:block;margin:0 auto 10px;width:30px;height:30px;color:var(--red);}
.cat-item:hover{color:#fff;cursor:pointer;}

/* SHOP SECTION */
.shop-section{padding:70px 0;}
.section-title{font-size:2rem;margin-bottom:8px;}
.section-sub{color:var(--muted);max-width:600px;margin-bottom:40px;}

.product-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  height:100%;
  display:flex;flex-direction:column;
  transition:transform .2s ease, border-color .2s ease;
}
.product-card:hover{transform:translateY(-4px);border-color:#3a3a3f;}
.product-media{
  height:200px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,#2a0d10,#161618 65%);
}
.product-media img{
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.product-media .icon-fallback{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.product-media .icon-fallback svg{width:56px;height:56px;color:rgba(255,255,255,.85);}
.badge-cat{
  position:absolute;top:12px;left:12px;
  background:rgba(0,0,0,.65);
  color:#fff;font-size:.65rem;font-weight:800;
  letter-spacing:1px;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;
  border:1px solid rgba(255,255,255,.15);
}
.badge-fav{
  position:absolute;top:10px;right:10px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;
  color:#fff;border:1px solid rgba(255,255,255,.15);
}
.product-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex-grow:1;}
.product-body h3{font-size:1.05rem;margin-bottom:4px;letter-spacing:.3px;}
.product-body .tagline{color:var(--muted);font-size:.83rem;margin-bottom:12px;}
.chip{
  display:inline-block;background:var(--card-2);border:1px solid var(--border);
  color:#d1d1d5;font-size:.68rem;font-weight:700;
  padding:4px 9px;border-radius:5px;margin:0 6px 6px 0;
  letter-spacing:.3px;
}
.price-row{margin-top:auto;padding-top:10px;}
.price-row .price{font-size:1.35rem;font-weight:900;color:#fff;}
.price-row .price-label{font-size:.68rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;}
.btn-add{
  width:100%;background:var(--red);color:#fff;font-weight:800;
  letter-spacing:1px;font-size:.78rem;text-transform:uppercase;
  padding:11px 0;border-radius:6px;border:none;
}
.btn-add:hover{background:#c31626;color:#fff;}

/* DYNO BOOKING */
.dyno-section{
  background:linear-gradient(180deg,#140708,#0a0a0b);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:70px 0;
}
.dyno-section .form-control, .dyno-section .form-select{
  background:#1c1c1f;border:1px solid var(--border);color:#fff;
  padding:12px 14px;border-radius:6px;
}
.dyno-section .form-control::placeholder{color:#8a8a90;}
.dyno-section .form-control:focus, .dyno-section .form-select:focus{
  background:#1c1c1f;color:#fff;border-color:var(--red);
  box-shadow:0 0 0 .2rem rgba(225,29,46,.2);
}

/* FAQ */
.faq-section{padding:70px 0;}
.accordion-item{
  background:var(--card);border:1px solid var(--border)!important;
  margin-bottom:10px;border-radius:8px!important;overflow:hidden;
}
.accordion-button{
  background:var(--card);color:#fff;font-weight:700;font-size:.92rem;
  box-shadow:none!important;
}
.accordion-button:not(.collapsed){background:var(--card-2);color:#fff;}
.accordion-button::after{filter:invert(1);}
.accordion-body{color:var(--muted);font-size:.9rem;}

/* FOOTER */
footer{
  background:#000;border-top:1px solid var(--border);
  padding:50px 0 20px;
}
footer h6{
  color:#fff;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  font-size:.8rem;margin-bottom:16px;
}
footer a.footer-link{
  display:block;color:var(--muted);font-size:.88rem;margin-bottom:10px;
}
footer a.footer-link:hover{color:var(--red);}
footer p{color:var(--muted);font-size:.85rem;}
.footer-bottom{
  border-top:1px solid var(--border);
  margin-top:30px;padding-top:20px;
  text-align:center;color:#6b6b70;font-size:.78rem;
}
