@layer base {
  html { scroll-behavior:smooth; }
  body { font-family:'Gilroy',ui-sans-serif,system-ui,sans-serif; background:#080b10; color:#f8fafc; }
  ::selection { background:#e21b2d; color:#fff; }
}
@layer components {
  .btl-shell { width:100%; max-width:1320px; margin:0 auto; padding-left:1rem; padding-right:1rem; }
  .btl-btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border-radius:.85rem; background:#e21b2d !important; color:#fff; font-weight:900; padding:.9rem 1.25rem; transition:.2s ease; box-shadow:0 12px 30px rgba(226,27,45,.22); }
  .btl-btn-primary:hover { background:#ff2b3d; transform:translateY(-1px); box-shadow:0 16px 36px rgba(226,27,45,.3); }
  .btl-btn-dark { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border-radius:.85rem; background:#f8fafc; color:#090c12; font-weight:900; padding:.9rem 1.25rem; transition:.2s ease; }
  .btl-btn-dark:hover { background:#fff; transform:translateY(-1px); }
  .btl-btn-soft { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border-radius:.85rem; background:#171c25; border:1px solid #29313d; color:#e5e7eb; font-weight:800; padding:.78rem 1rem; transition:.2s ease; }
  .btl-btn-soft:hover { background:#202733; border-color:#3a4452; }
  .btl-input { width:100%; border:1px solid #303845; background:#11161f; color:#f8fafc; border-radius:.85rem; padding:.85rem .95rem; outline:none; transition:.2s; }
  .btl-input::placeholder { color:#64748b; }
  .btl-input:focus { border-color:#e21b2d; box-shadow:0 0 0 4px rgba(226,27,45,.12); }
  .btl-card { border:1px solid #202733; background:#10151d; border-radius:1.15rem; box-shadow:0 18px 50px rgba(0,0,0,.24); }
  .btl-eyebrow { color:#ff4050; font-size:.72rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
  .btl-muted { color:#94a3b8; }
  .btl-panel { background:#0d1219; border:1px solid #202733; }
  .btl-divider { border-color:#202733; }
}
.btl-glass { background:rgba(10,14,20,.76); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.10); }
.btl-hero-grid { background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:32px 32px; }
.btl-shadow-red { box-shadow:0 28px 75px rgba(226,27,45,.17); }
.btl-scrollbar::-webkit-scrollbar { width:6px; }
.btl-scrollbar::-webkit-scrollbar-thumb { background:#374151; border-radius:99px; }
.btl-drawer { transform:translateX(100%); transition:transform .25s ease; }
.btl-drawer.is-open { transform:translateX(0); }
.btl-overlay { opacity:0; pointer-events:none; transition:opacity .25s ease; }
.btl-overlay.is-open { opacity:1; pointer-events:auto; }
.btl-mobile-menu { transform:translateY(-10px); opacity:0; pointer-events:none; transition:.2s ease; }
.btl-mobile-menu.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }
.btl-sticky-buy { padding-bottom:env(safe-area-inset-bottom); }
.btl-filter-fab { box-shadow:0 18px 45px rgba(0,0,0,.45),0 10px 25px rgba(226,27,45,.22); }
.btl-tire-stage { background:radial-gradient(circle at 50% 42%,rgba(226,27,45,.14),transparent 34%),radial-gradient(circle at 50% 50%,#171d27 0,#0d1219 55%,#0a0e14 100%); }
.btl-tire-stage::after { content:''; position:absolute; left:10%; right:10%; bottom:7%; height:1px; background:linear-gradient(90deg,transparent,#3b4654,transparent); }
.btl-spec { background:#0c1118; border:1px solid #202733; }
.btl-recommend-card { background:linear-gradient(145deg,#111720,#0d1219); border:1px solid #252d39; }
.btl-recommend-card:hover { border-color:#4a5565; transform:translateY(-2px); }
.btl-stock-low { background:rgba(245,158,11,.10); color:#fbbf24; border:1px solid rgba(245,158,11,.22); }
.btl-stock-ok { background:rgba(16,185,129,.10); color:#34d399; border:1px solid rgba(16,185,129,.22); }
.d-none{display:none!important}.is-invalid{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.1)!important}
@media (min-width:1024px){ .btl-shell{padding-left:2rem;padding-right:2rem;} }
@media (max-width:640px){ .btl-shell{padding-left:.875rem;padding-right:.875rem;} }
