/**
 * ==============================================================================
 * ASSETTO REMOTE CLOUD — CARPLAY & COCKPIT OS
 * Layer 2: Porsche GT3 RS & MoTeC Digital Racing Cluster (app.css)
 * Palette: Carbon Obsidian (#07080B), Acid Gold (#FFB020), Guards Red (#FF334B), Ice Cyan (#00D2FF)
 * Features: Stealth Warning Arch, Rev Limiter Redline Aura, VFD LED MFD, Tactile 3D Buttons & Mobile Carousel
 * ==============================================================================
 */

/* ==============================================================================
   1. COCKPIT HERO BINNACLE & VIEWPORT CONTAINER
   ============================================================================== */
.cockpit-viewport {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: radial-gradient(ellipse at 50% 15%, #0F1422 0%, #06080C 75%);
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
  box-sizing: border-box;
}

/* MOBILE CAROUSEL NAVIGATION BAR (Visible <= 768px, Hidden on Desktop) */
.cockpit-carousel-nav {
  display: none;
}

/* CAROUSEL TRACK (Stacked on Desktop, Horizontal Swipe on Mobile) */
.cockpit-carousel-track {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* BINNACLE CONTAINER CARD */
.cockpit-binnacle-card {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  background: linear-gradient(180deg, #0B0E17 0%, #07090F 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 0 40px rgba(0, 0, 0, 0.5);
  position: relative;
  box-sizing: border-box;
}

/* ==============================================================================
   2. SHIFT LIGHT LED CROWN (16-Segment Formula/GT3 Tachometer LEDs)
   ============================================================================== */
.shift-light-crown {
  display: none !important;
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  gap: 5px;
  width: 100%;
  height: 15px;
  padding: 3px 5px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.8);
}

.shift-led {
  height: 100%;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.6);
  transition: all 0.07s ease-out;
}

/* 4-Pod Separators */
.shift-led:nth-child(4n):not(:last-child) {
  margin-right: 3px;
}

/* LED Color Groups when Active */
/* 1-4: Emerald Green */
.shift-led:nth-child(-n+4).active {
  background: #00E599;
  box-shadow: 0 0 14px rgba(0, 229, 153, 0.85), inset 0 1px 2px #FFFFFF;
  border-color: #34D399;
}
/* 5-8: Acid Gold / Supercar Amber */
.shift-led:nth-child(n+5):nth-child(-n+8).active {
  background: #FFB020;
  box-shadow: 0 0 16px rgba(255, 176, 32, 0.9), inset 0 1px 2px #FFFFFF;
  border-color: #FCD34D;
}
/* 9-12: Guards Red */
.shift-led:nth-child(n+9):nth-child(-n+12).active {
  background: #FF334B;
  box-shadow: 0 0 18px rgba(255, 51, 75, 0.95), inset 0 1px 2px #FFFFFF;
  border-color: #F87171;
}
/* 13-16: Flashing Shift-Now Strobe Cyan */
.shift-led:nth-child(n+13).active {
  background: #00D2FF;
  box-shadow: 0 0 22px rgba(0, 210, 255, 1), inset 0 1px 3px #FFFFFF;
  border-color: #FFFFFF;
  animation: shiftStrobe 0.09s infinite alternate;
}

@keyframes shiftStrobe {
  0% { opacity: 0.25; transform: scaleY(0.92); }
  100% { opacity: 1; transform: scaleY(1.08); }
}

/* ==============================================================================
   3. ISO 2575 CONTINUOUS CLUSTER WARNING ARCH (Stealth Siyah / Canlı OEM)
   ============================================================================== */
.cluster-warning-arch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.55);
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  margin: 0 auto;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.7);
  max-width: 680px;
}

.warn-lamp {
  width: 28px;
  height: 28px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #05080E; /* Gerçek araç kadranı gibi tamamen siyah sönük */
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.02);
  opacity: 0.35;
  transition: all 0.15s ease;
  position: relative;
}

.warn-lamp svg {
  width: 17px;
  height: 17px;
}

/* Lamp Active States & Ambient Glows (Oyundaki Gerçek Renkler) */
.warn-lamp.active {
  opacity: 1 !important;
}
.warn-lamp.lamp-green.active {
  color: #00E599 !important;
  background: rgba(0, 229, 153, 0.12) !important;
  border-color: rgba(0, 229, 153, 0.4) !important;
  filter: drop-shadow(0 0 10px rgba(0, 229, 153, 0.9));
}
.warn-lamp.lamp-red.active {
  color: #FF334B !important;
  background: rgba(255, 51, 75, 0.12) !important;
  border-color: rgba(255, 51, 75, 0.4) !important;
  filter: drop-shadow(0 0 10px rgba(255, 51, 75, 0.95));
}
.warn-lamp.lamp-amber.active {
  color: #FFB020 !important;
  background: rgba(255, 176, 32, 0.12) !important;
  border-color: rgba(255, 176, 32, 0.4) !important;
  filter: drop-shadow(0 0 10px rgba(255, 176, 32, 0.9));
}
.warn-lamp.lamp-blue.active {
  color: #00D2FF !important;
  background: rgba(0, 210, 255, 0.12) !important;
  border-color: rgba(0, 210, 255, 0.4) !important;
  filter: drop-shadow(0 0 10px rgba(0, 210, 255, 0.95));
}

.warn-lamp.blinking {
  animation: warnBlink 0.38s infinite alternate ease-in-out;
}
@keyframes warnBlink {
  0% { opacity: 0.15; }
  100% { opacity: 1; }
}

/* ==============================================================================
   4. 3-ZONE MAIN STAGE (Wings + Center Focus)
   ============================================================================== */
.cluster-stage-3zone {
  display: grid;
  grid-template-columns: 280px 1fr 280px;
  gap: 16px;
  align-items: stretch;
  min-height: 270px;
}

/* WING GAUGES (Left: Boost & Thermals, Right: Fluids & Powertrain) */
.cluster-wing {
  background: linear-gradient(180deg, rgba(14, 18, 28, 0.75) 0%, rgba(9, 12, 18, 0.9) 100%);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.subgauge-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sg-label-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}
.sg-label-wrap svg {
  width: 14px;
  height: 14px;
}
.sg-val {
  font-family: var(--font-telemetry);
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
  font-feature-settings: "tnum" 1;
}
.sg-val small {
  font-size: 10px;
  font-weight: 400;
  color: var(--text-muted);
  margin-left: 2px;
}
.sg-val-sub {
  font-size: 9px;
  font-weight: 700;
  color: #4A5568;
  letter-spacing: 0.06em;
}

/* Graduation Scale Ticks */
.sg-scale-ticks {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-telemetry);
  font-size: 11px;
  font-weight: 700;
  color: #94A3B8;
  margin: 4px 0 3px 0;
  padding: 0 1px;
  letter-spacing: 0.02em;
}
.sg-scale-ticks .scale-norm { color: #00E599; font-weight: 700; text-shadow: 0 0 6px rgba(0, 229, 153, 0.35); }
.sg-scale-ticks .scale-crit { color: #FF334B; font-weight: 700; text-shadow: 0 0 6px rgba(255, 51, 75, 0.35); }
.sg-scale-ticks .scale-peak { color: #00D2FF; font-weight: 700; text-shadow: 0 0 6px rgba(0, 210, 255, 0.35); }

.sg-bar-track {
  width: 100%;
  height: 9px;
  background: rgba(0, 0, 0, 0.65);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.8);
}
.sg-bar-fill {
  height: 100%;
  border-radius: 4px;
  width: 0%;
  transition: width 0.15s ease-out;
}
.sg-bar-cyan { background: linear-gradient(90deg, #0284C7 0%, var(--accent-cyan) 100%); }
.sg-bar-amber { background: linear-gradient(90deg, #00E599 0%, var(--accent-amber) 70%, var(--accent-red) 100%); }
.sg-bar-red { background: linear-gradient(90deg, #00E599 0%, var(--accent-amber) 60%, var(--accent-red) 100%); }
.sg-bar-green { background: linear-gradient(90deg, var(--accent-red) 0%, var(--accent-amber) 18%, var(--accent-green) 100%); }

.sg-footer-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  color: #94A3B8;
  margin-top: 4px;
}
.sg-pill-cyan {
  background: rgba(0, 210, 255, 0.12);
  color: #00D2FF;
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid rgba(0, 210, 255, 0.3);
  font-family: var(--font-telemetry);
  font-size: 10.5px;
  font-weight: 700;
}
.sg-pill-green {
  background: rgba(0, 229, 153, 0.12);
  color: #00E599;
  padding: 2px 7px;
  border-radius: 4px;
  border: 1px solid rgba(0, 229, 153, 0.3);
  font-family: var(--font-telemetry);
  font-size: 10.5px;
  font-weight: 700;
}

/* MIDDLE PODS: Pedals & Powertrain Meters */
.pedal-meters-grid,
.powertrain-meters-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 4px;
}

.pedal-meter-item,
.powertrain-meter-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: rgba(0, 0, 0, 0.35);
  padding: 5px 8px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.pedal-meter-header,
.pt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.throttle-col { color: #00E599; }
.brake-col { color: #FF334B; }
.pt-name { color: var(--text-muted); }

.pedal-val,
.pt-val {
  font-family: var(--font-telemetry);
  font-size: 11px;
  font-weight: 700;
  color: #FFFFFF;
}

.pedal-track,
.pt-track {
  height: 6px;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.throttle-fill {
  height: 100%;
  background: linear-gradient(90deg, #059669 0%, #00E599 100%);
  transition: width 0.1s linear;
}
.brake-fill {
  height: 100%;
  background: linear-gradient(90deg, #DC2626 0%, #FF334B 100%);
  transition: width 0.1s linear;
}
.volt-fill {
  height: 100%;
  width: 0%;
  border-radius: 4px;
  background: linear-gradient(90deg, #0284C7 0%, #00D2FF 100%);
  transition: width 0.15s ease-out;
}
.pres-fill {
  height: 100%;
  width: 0%;
  border-radius: 4px;
  background: linear-gradient(90deg, #059669 0%, #00E599 100%);
  transition: width 0.15s ease-out;
}

/* ==============================================================================
   5. CENTER BINNACLE (Tachometer Sweep, Hero Gear & Digital Speed)
   ============================================================================== */
.center-binnacle {
  background: linear-gradient(180deg, rgba(16, 22, 34, 0.85) 0%, rgba(8, 11, 18, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 16px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.center-binnacle::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-amber), transparent);
}

/* TACHOMETER SWEEP */
.tacho-ribbon-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.tacho-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  padding: 0 2px;
}
.tacho-header-title {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.tacho-lbl {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}
.tacho-sub {
  font-size: 8.5px;
  font-weight: 600;
  color: #4A5568;
  letter-spacing: 0.06em;
}
.tacho-rpm-num {
  font-family: var(--font-telemetry);
  font-size: 17px;
  font-weight: 700;
  color: #FFFFFF;
  font-feature-settings: "tnum" 1;
}
.tacho-unit {
  font-size: 10px;
  font-weight: 400;
  color: var(--text-muted);
  margin-left: 3px;
}

.tacho-scale-indices {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  color: #64748B;
  padding: 0 4px;
  margin: 3px 0 2px 0;
  box-sizing: border-box;
}
.tacho-idx-warn { color: var(--accent-amber); }
.tacho-idx-red { color: var(--accent-red); }

.tacho-progress-track {
  width: 100%;
  height: 13px;
  background: rgba(0, 0, 0, 0.7);
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.85);
}
.tacho-progress-fill {
  height: 100%;
  width: 0%;
  border-radius: 6px;
  background: linear-gradient(90deg, #00E599 0%, #10B981 40%, #FFB020 70%, #FF334B 88%, #00D2FF 100%);
  transition: width 0.08s linear;
  position: relative;
}
.tacho-needle-glow {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #FFFFFF;
  box-shadow: 0 0 10px #FFFFFF, 0 0 16px var(--accent-amber);
}

/* GEAR & SPEEDOMETER DUO */
.center-main-telemetry {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  width: 100%;
  margin: 6px 0;
}

/* MOTORSPORT GEAR READOUT BOX */
.gear-display-box {
  min-width: 95px;
  padding: 6px 16px;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 30%, rgba(255, 176, 32, 0.08), rgba(0, 0, 0, 0.7));
  border: 1px solid rgba(255, 176, 32, 0.35);
  box-shadow: inset 0 0 16px rgba(0, 0, 0, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.15s ease;
}
.gear-val {
  font-family: var(--font-telemetry);
  font-size: clamp(4.5rem, 7.5vw, 6.2rem);
  font-weight: 800;
  line-height: 0.9;
  color: var(--accent-amber);
  text-shadow: 0 0 28px var(--accent-amber-glow);
  letter-spacing: -0.04em;
}
.gear-sub {
  font-family: var(--font-display);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-top: 4px;
}

/* KESİCİ (REV LIMITER) NEFES ALIP VEREN KIRMIZI UYARI DAĞILIMI ANİMASYONU */
.gear-display-box.redline-alert {
  border-color: #FF334B !important;
  background: radial-gradient(circle at 50% 30%, rgba(255, 51, 75, 0.45), rgba(0, 0, 0, 0.85)) !important;
  animation: gearRedlineBreathing 0.16s infinite alternate ease-in-out !important;
}
@keyframes gearRedlineBreathing {
  0% {
    transform: scale(0.97);
    box-shadow: 0 0 16px rgba(255, 51, 75, 0.5), inset 0 0 12px rgba(255, 51, 75, 0.4);
  }
  100% {
    transform: scale(1.05);
    box-shadow: 0 0 38px rgba(255, 51, 75, 1), 0 0 64px rgba(255, 51, 75, 0.6), inset 0 0 24px rgba(255, 51, 75, 0.85);
  }
}

/* SPEEDOMETER READOUT */
.speed-display-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.speed-val {
  font-family: var(--font-telemetry);
  font-size: clamp(4.2rem, 7vw, 5.8rem);
  font-weight: 800;
  line-height: 0.9;
  color: #FFFFFF;
  letter-spacing: -0.03em;
  font-feature-settings: "tnum" 1;
}
.speed-unit {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 800;
  color: #00D2FF;
  background: rgba(0, 210, 255, 0.1);
  border: 1px solid rgba(0, 210, 255, 0.3);
  border-radius: 6px;
  padding: 2px 10px;
  margin-top: 4px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* MOTORSPORT PERFORMANCE BADGES (ABS, TC, DRS, PIT, LAUNCH) */
.cluster-chips-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 4px;
}
.cluster-chip {
  font-family: var(--font-telemetry);
  font-size: 10.5px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.03);
  color: #475569;
  border: 1px solid rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: all 0.15s ease;
}
.cluster-chip.active {
  background: rgba(0, 229, 153, 0.15) !important;
  color: #00E599 !important;
  border-color: rgba(0, 229, 153, 0.5) !important;
  box-shadow: 0 0 12px rgba(0, 229, 153, 0.4) !important;
}

/* ==============================================================================
   6. REAL AUTOMOTIVE LED / VFD MULTIFUNCTION TRIP COMPUTER DISPLAY
   ============================================================================== */
.cluster-mfd-display {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  background: linear-gradient(180deg, #03080E 0%, #010306 100%);
  border-radius: 12px;
  border: 1px solid rgba(0, 229, 255, 0.15);
  padding: 10px 14px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.9), 0 0 16px rgba(0, 229, 255, 0.04);
}

.mfd-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid rgba(0, 229, 255, 0.08);
  padding: 4px 6px;
  background: rgba(0, 229, 255, 0.015);
  border-radius: 6px;
  transition: all 0.15s ease;
}
.mfd-cell:last-child {
  border-right: none;
}
.mfd-cell:hover {
  background: rgba(0, 229, 255, 0.04);
}

.mfd-label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  color: #4A6B82;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.mfd-label svg {
  color: #4A6B82;
}

/* Authentic Phosphor Cyan VFD / LED Digital Readout */
.mfd-value {
  font-family: var(--font-telemetry);
  font-size: 14px;
  font-weight: 700;
  color: #00E5FF;
  text-shadow: 0 0 8px rgba(0, 229, 255, 0.75), 0 0 16px rgba(0, 229, 255, 0.35);
  letter-spacing: 0.08em;
  margin-top: 3px;
  font-feature-settings: "tnum" 1, "zero" 1;
}

/* ==============================================================================
   7. MOTORSPORT SWITCHBOARD DECK (Real 3D Tactile Buttons)
   ============================================================================== */
.cockpit-switchboard-card {
  padding: 16px 20px;
  margin-top: 2px;
}

.sb-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 2px;
}
.sb-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sb-title {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-pure);
}
.sb-badge {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  background: rgba(255, 176, 32, 0.1);
  border: 1px solid rgba(255, 176, 32, 0.35);
  color: #FFB82E;
  letter-spacing: 0.06em;
}
.sb-indicator-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  color: var(--accent-green);
  background: rgba(0, 229, 153, 0.08);
  border: 1px solid rgba(0, 229, 153, 0.2);
  border-radius: 6px;
  padding: 3px 8px;
}
.sb-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00E599;
  box-shadow: 0 0 6px #00E599;
  animation: pulseDot 1s infinite alternate;
}
@keyframes pulseDot {
  0% { opacity: 0.4; }
  100% { opacity: 1; }
}

/* BUTTON ROWS */
.sb-btn-row {
  width: 100%;
  box-sizing: border-box;
}

/* Row 1: Sinyaller & Dörtlü (3 Butonlu Simetrik Sıra) */
.sb-row-signals {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr;
  gap: 12px;
  margin-top: 10px;
}

/* Row 2: Farlar, Selektör & Silecekler (3 Butonlu Simetrik Sıra) */
.sb-row-lighting {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.2fr;
  gap: 12px;
  margin-top: 12px;
}

/* Row 3: Sürüş & Hız Asistanları (4 Butonlu Simetrik Sıra) */
.sb-row-assists {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 12px;
}

/* Row 4: Araç Fonksiyonları (2 Butonlu Simetrik Sıra: Korna & Kamera) */
.sb-row-vehicle {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin-top: 12px;
}

/* 3D TACTILE MECHANICAL BUTTON CORE */
.tactile-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  min-height: 52px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.12s ease-out;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  user-select: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0.6);
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.18), inset 0 -2px 0 rgba(0, 0, 0, 0.5);
}

.tactile-btn:active,
.tactile-btn.is-pressed {
  transform: translateY(2px);
  border-bottom-width: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.8), inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

.t-btn-icon-box {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}
.t-btn-icon-box svg {
  width: 18px;
  height: 18px;
}

.t-btn-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  overflow: hidden;
}

.t-btn-label {
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.1;
  white-space: nowrap;
}

.t-btn-status {
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  opacity: 0.75;
  text-transform: uppercase;
}

/* Stepper Dots */
.t-stepper-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}
.t-step-dots {
  display: flex;
  align-items: center;
  gap: 3px;
}
.step-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transition: all 0.15s ease;
}
.step-dot.active {
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
}

/* BUTTON THEME COLOR SCHEMES */
/* Green Turn Signals */
.tactile-btn-green {
  background: linear-gradient(180deg, #132B20 0%, #0A1710 100%);
  border: 1px solid rgba(0, 229, 153, 0.3);
  color: #00E599;
}
.tactile-btn-green.active {
  animation: pulseGreenBtn 0.4s infinite alternate;
  box-shadow: 0 0 16px rgba(0, 229, 153, 0.4), inset 0 0 12px rgba(0, 229, 153, 0.2);
}
@keyframes pulseGreenBtn {
  0% { border-color: rgba(0, 229, 153, 0.4); opacity: 0.8; }
  100% { border-color: #00E599; opacity: 1; box-shadow: 0 0 20px rgba(0, 229, 153, 0.6); }
}

/* Crimson Hazard Emergency */
.tactile-btn-hazard {
  background: linear-gradient(180deg, #400E14 0%, #200609 100%);
  border: 1px solid rgba(255, 51, 75, 0.45);
  color: #FF334B;
}
.tactile-btn-hazard.active {
  animation: pulseHazardBtn 0.4s infinite alternate;
  box-shadow: 0 0 20px rgba(255, 51, 75, 0.55), inset 0 0 14px rgba(255, 51, 75, 0.3);
}
@keyframes pulseHazardBtn {
  0% { border-color: rgba(255, 51, 75, 0.4); opacity: 0.75; }
  100% { border-color: #FF334B; opacity: 1; box-shadow: 0 0 24px rgba(255, 51, 75, 0.85); }
}

/* Amber Headlights */
.tactile-btn-amber {
  background: linear-gradient(180deg, #302008 0%, #181003 100%);
  border: 1px solid rgba(255, 176, 32, 0.35);
  color: #FFB020;
}
.tactile-btn-green.mode-low {
  border-color: #10B981 !important;
  color: #34D399 !important;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.4), inset 0 0 12px rgba(16, 185, 129, 0.25) !important;
}
.tactile-btn-green.mode-high {
  border-color: #3B82F6 !important;
  color: #60A5FA !important;
  box-shadow: 0 0 18px rgba(59, 130, 246, 0.5), inset 0 0 14px rgba(59, 130, 246, 0.3) !important;
}

.tactile-btn-amber.mode-low {
  border-color: #00E599 !important;
  color: #00E599 !important;
  box-shadow: 0 0 14px rgba(0, 229, 153, 0.35);
}
.tactile-btn-amber.mode-high {
  border-color: #00D2FF !important;
  color: #00D2FF !important;
  box-shadow: 0 0 16px rgba(0, 210, 255, 0.45);
}

/* Electric Blue Selektör Flash */
.tactile-btn-flash {
  background: linear-gradient(180deg, #0D2040 0%, #061020 100%);
  border: 1px solid rgba(59, 130, 246, 0.4);
  color: #60A5FA;
}
.tactile-btn-flash.flash-pulse {
  animation: flashBurst 0.35s ease-out;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 28px #60A5FA, inset 0 0 16px #60A5FA !important;
}
@keyframes flashBurst {
  0% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

/* Cyan Wipers */
.tactile-btn-cyan {
  background: linear-gradient(180deg, #092834 0%, #04141A 100%);
  border: 1px solid rgba(0, 210, 255, 0.35);
  color: #00D2FF;
}
.tactile-btn-cyan.wiping {
  box-shadow: 0 0 14px rgba(0, 210, 255, 0.4);
}

/* Orange Speed Limiter */
.tactile-btn-orange {
  background: linear-gradient(180deg, #331A08 0%, #1A0D03 100%);
  border: 1px solid rgba(255, 122, 0, 0.35);
  color: #FF7A00;
}
.tactile-btn-orange.active {
  border-color: #FF7A00 !important;
  box-shadow: 0 0 16px rgba(255, 122, 0, 0.5);
  background: linear-gradient(180deg, #4A260C 0%, #291404 100%);
}

/* Blue Pit Limiter */
.tactile-btn-blue {
  background: linear-gradient(180deg, #0C233C 0%, #06121F 100%);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38BDF8;
}
.tactile-btn-blue.active {
  border-color: #38BDF8 !important;
  box-shadow: 0 0 18px rgba(56, 189, 248, 0.6);
}

/* Fire Overboost */
.tactile-btn-fire {
  background: linear-gradient(180deg, #3C1208 0%, #200803 100%);
  border: 1px solid rgba(255, 87, 34, 0.4);
  color: #FF5722;
}
.tactile-btn-fire.active {
  border-color: #FF5722 !important;
  animation: boostPulse 0.15s infinite alternate;
  box-shadow: 0 0 20px rgba(255, 87, 34, 0.7);
}
@keyframes boostPulse {
  0% { transform: scale(0.98); }
  100% { transform: scale(1.02); }
}

/* Titanium Metal Horn */
.tactile-btn-metal {
  background: linear-gradient(180deg, #222733 0%, #12151D 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #E2E8F0;
}
.tactile-btn-metal.active {
  border-color: #FFFFFF !important;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.5);
  transform: translateY(2px);
}

/* Danger Handbrake */
.tactile-btn-danger {
  background: linear-gradient(180deg, #380B0F 0%, #1C0406 100%);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #EF4444;
}
.tactile-btn-danger.active {
  border-color: #EF4444 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.65), inset 0 0 12px rgba(239, 68, 68, 0.4);
  background: linear-gradient(180deg, #5A1117 0%, #300609 100%);
}

/* Purple Camera Angle */
.tactile-btn-purple {
  background: linear-gradient(180deg, #26133D 0%, #13091F 100%);
  border: 1px solid rgba(139, 92, 246, 0.4);
  color: #A78BFA;
}
.tactile-btn-purple.active {
  border-color: #A78BFA !important;
  box-shadow: 0 0 16px rgba(139, 92, 246, 0.5);
}



/* ==============================================================================
   8. RESPONSIVE ARCHITECTURE BREAKPOINTS (Desktop, Tablet & Mobile Carousel)
   ============================================================================== */

/* TABLET / SİM RİG LANDSCAPE MODE (768px - 1024px) */
@media (max-width: 1024px) {
  .desktop-sidebar {
    display: none;
  }

  .cockpit-viewport {
    padding: 10px;
    height: 100vh;
    justify-content: flex-start;
  }

  .cockpit-binnacle-card {
    max-width: 100%;
    padding: 14px 18px;
    gap: 12px;
  }

  .cluster-stage-3zone {
    grid-template-columns: 220px 1fr 220px;
    gap: 12px;
    min-height: 230px;
  }

  .shift-light-crown {
  display: none !important;
    height: 13px;
    gap: 4px;
  }
}

/* MOBILE STEERING-WHEEL MOUNT MODE (<= 768px) — ZERO VERTICAL SCROLL CAROUSEL */
@media (max-width: 768px) {
  .desktop-sidebar {
    display: none !important;
  }

  .cockpit-viewport {
    padding: 8px 6px !important;
    height: auto !important;
    min-height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }

  /* HORIZONTAL CAROUSEL NAVIGATION BAR */
  .cockpit-carousel-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
  }
  .cc-nav-btn {
    height: 40px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: var(--text-muted) !important;
    font-family: var(--font-display) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
  }
  .cc-nav-btn.active {
    background: rgba(255, 176, 32, 0.15) !important;
    border-color: rgba(255, 176, 32, 0.5) !important;
    color: var(--accent-amber) !important;
    box-shadow: 0 0 14px rgba(255, 176, 32, 0.25) !important;
  }

  /* HORIZONTAL CAROUSEL TRACK (SWIPE SNAP) */
  .cockpit-carousel-track {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 12px !important;
    box-sizing: border-box !important;
  }
  .cockpit-carousel-track::-webkit-scrollbar {
    display: none !important;
  }

  /* SLIDES FIT 100% WIDTH */
  #cockpitBinnacleCard,
  #vehicleControlDeck {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    border-radius: var(--radius-lg) !important;
    gap: 10px !important;
    overflow: hidden !important;
  }

  /* 16-Segment Shift Light Crown */
  .shift-light-crown {
  display: none !important;
    display: flex !important;
    gap: 2px !important;
    height: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .shift-led {
    flex: 1 !important;
    min-width: 0 !important;
    height: 100% !important;
    border-radius: 2px !important;
  }

  /* 12-Lamp Warning Cluster Ribbon (Wrap into 2 Symmetrical Rows of 6) */
  .cluster-warning-arch {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 5px 6px !important;
    padding: 6px 8px !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: var(--radius-md) !important;
  }
  .warn-lamp {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
  }
  .warn-lamp svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Vertical Stack for 3-Zone Stage */
  .cluster-stage-3zone {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Move Center Telemetry to Top */
  .center-binnacle {
    order: 1 !important;
    padding: 14px 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .center-main-telemetry {
    gap: 14px !important;
    width: 100% !important;
    justify-content: center !important;
  }

  .gear-val {
    font-size: clamp(3.2rem, 15vw, 4.2rem) !important;
  }
  .speed-val {
    font-size: clamp(2.6rem, 12vw, 3.4rem) !important;
  }
  .tacho-ribbon-group {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Wings: 2-Column Grid on Mobile instead of stacked blocks */
  .cluster-wing {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 10px 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .cluster-wing.wing-left {
    order: 2 !important;
  }
  .cluster-wing.wing-right {
    order: 3 !important;
  }
  .telemetry-pedals-block,
  .powertrain-metrics-block {
    display: none !important;
  }

  /* MFD Trip Computer (Compact 3-col on phone) */
  .cluster-mfd-display {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    padding: 8px 6px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .mfd-cell {
    padding: 2px 4px !important;
  }
  .mfd-label {
    font-size: 8px !important;
  }
  .mfd-value {
    font-size: 11px !important;
  }
  .mfd-cell:nth-child(n+4) {
    display: none !important;
  }

  /* MOBILE SWITCHBOARD ADAPTATIONS (2-Column Balanced Matrices) */
  .sb-row-signals {
    grid-template-columns: 1fr 1.3fr 1fr !important;
    gap: 6px !important;
  }
  .sb-row-lighting {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 6px !important;
  }
  .sb-row-assists {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
  .sb-row-vehicle {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  .tactile-btn {
    min-height: 46px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  .t-btn-icon-box {
    width: 26px !important;
    height: 26px !important;
  }
  .t-btn-icon-box svg {
    width: 14px !important;
    height: 14px !important;
  }
  .t-btn-label {
    font-size: 9.5px !important;
  }
  .t-btn-status {
    font-size: 8px !important;
  }
}

/* ULTRA-COMPACT MOBILE (<= 420px) */
@media (max-width: 420px) {
  .gear-val {
    font-size: 3.2rem !important;
  }
  .speed-val {
    font-size: 2.6rem !important;
  }
  .shift-light-crown {
  display: none !important;
    gap: 2px !important;
    height: 7px !important;
  }
}
