body {
  margin: 0;
    background-color: rgba(0, 0, 0, 0.4); 
    background-image: url('images/bg.jpg');
    background-blend-mode: multiply;
    background-size: repeat;
    background-position: center;
  color: white;
  font-family: monospace;
  overflow-x: hidden;
}

/* HERO SECTION */
.hero {
  height: 80vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.car-container {
  position: relative;
}

.car-img {
  width: 600px;
  filter: contrast(1.1) brightness(0.9);
}

/* overlay UI */
.car-ui {
  position: absolute;
  top: 10px;
  left: -10px;
  font-size: 12px;
  opacity: 0.7;
}

/* clickable zones */
.hotspot {
  position: absolute;
  border: 1px solid rgba(255,255,255,0.2);
  cursor: pointer;
  transition: 0.2s;
}

.hotspot:hover {
  background: rgba(255,255,255,0.1);
  transform: scale(1.05);
}

/* rough placements (adjust later) */
.trunk { width: 100px; height: 60px; bottom: 20px; left: 50px; }
.seat { width: 120px; height: 80px; top: 100px; left: 200px; }
.radio { width: 80px; height: 50px; top: 120px; left: 300px; }

.hero-text {
  position: absolute;
  bottom: 40px;
  text-align: center;
}

.hero-text h1 {
  font-size: 48px;
  letter-spacing: 4px;
}

.hero-text p {
  opacity: 0.6;
}


/* ROAD TRANSITION */
.road {
  height: 200px;
  background: #111;
  position: relative;
  overflow: hidden;
}

.road-lines {
  position: absolute;
  width: 100%;
  height: 200%;
  background-image: repeating-linear-gradient(
    to bottom,
    white 0px,
    white 20px,
    transparent 20px,
    transparent 60px
  );
  animation: drive 2s linear infinite;
  opacity: 0.2;
}

@keyframes drive {
  from { transform: translateY(0); }
  to { transform: translateY(100px); }
}


/* GARAGE SECTION */
.garage {
  display: flex;
  overflow-x: auto;
  gap: 80px;
  padding: 100px;
}

.garage .info {
  text-align: center;
  margin-top: 20px;
}

/* CAR CARDS */
.car-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 40px;
  transition: 0.4s;
}

.car-card img {
  width: 100%;
  max-width: 600px;
  transition: 0.4s;
}

/* hover = expansion */
.car-card:hover {
  transform: scale(1.02);
  border-color: white;
}

.car-card:hover img {
  transform: scale(1.05);
}

/* themes */
.forest {
  background: radial-gradient(circle at center, #0a1a0a, black);
}

.night {
  background: radial-gradient(circle at center, #0a0a1a, black);
}

.showroom {
  background: radial-gradient(circle at center, #1a1a1a, black);
}

/* text overlay */
.info {
  margin-top: 20px;
}

.info h2 {
  margin: 0;
  letter-spacing: 2px;
}

.info p {
  opacity: 0.6;
}

.cd-rack {
  position: absolute;
  bottom: 20px;
  right: 40px;
  display: flex;
  gap: 10px;
}

.cd {
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}

.cd {
  position: relative;
}

.cd-info {
  position: absolute;
  bottom: -100px;
  left: 70px;
  font-size: 7px;
  opacity: 0;
  transition: 0.2s;
  background: rgba(0,0,0,0.8);
  padding: 5px;
  width: 170px;
}

.cd:hover .cd-info {
  opacity: 1;
}

.cd.active .cd-info {
  opacity: 1;
}

.accessible h2 {
  text-align: center;
}

.accessible h3 {
  margin-bottom: 20px;
  opacity: 0.6;
  text-align: center;
}

.accessible .info {
  text-align: center;
}

.cd img {
  width: 60px;
  opacity: 0.8;
}

.cd span {
  position: absolute;
  bottom: -20px;
  font-size: 10px;
  opacity: 0;
  transition: 0.2s;
}

.cd:hover {
  transform: translateY(-5px) scale(1.85);
}

.cd:hover span {
  opacity: 1;
}

.nickname {
  position: absolute;
  top: 20px;
  right: 20px;
  font-style: italic;
  opacity: 0.4;
}

.car-container:hover .nickname {
  opacity: 0.8;
  letter-spacing: 2px;
}

.panel {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}

.panel.hidden {
  display: none;
}

.panel-inner {
  width: 600px;
  height: 250px;
  background: black;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 20px;
  position: relative;
}
.trunk-items {
  display: flex;
  gap: 20px;
}

.trunk-items img {
  height: 150px;
}
.accessible h2 {
  margin-bottom: 40px;
  opacity: 0.6;
}

.accessible-row {
  display: flex;
  overflow-x: auto;
  gap: 80px;
  padding-bottom: 40px;
}

/* subtle difference from dream cars */
.accessible .car-card {
  opacity: 0.85;
}

.accessible .car-card:hover {
  opacity: 1;
}

.scroll-row {
  display: flex;
  overflow-x: auto;
  gap: 40px;
}

.car-tile {
  min-width: 500px;
  height: 150px;
  border: 1px solid rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}

.car-tile:hover {
  transform: scale(1.05);
  border-color: white;
}

.car-card {
  position: relative;
}

.bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.15;
  filter: blur(4px);
  z-index: 0;
}

.car-card img,
.car-card .info {
  position: relative;
  z-index: 1;
}
.more-link {
  display: inline-block;
  margin-top: 10px;
  font-size: 12px;
  opacity: 0.5;
  text-decoration: none;
  color: white;
  transition: 0.2s;
}

.more-link:hover {
  opacity: 1;
  letter-spacing: 2px;
}
.trunk-pile {
  position: relative;
  height: 160px;
}

.trunk-item {
  position: absolute;
  cursor: pointer;
  transition: 0.3s;
}

.trunk-item img {
  height: 80px;
  opacity: 0.8;
}

.trunk-item span {
  position: absolute;
  bottom: -15px;
  font-size: 10px;
  opacity: 0;
  transition: 0.2s;
}

/* interaction */
.trunk-item:hover {
  transform: scale(1.2) rotate(2deg);
  z-index: 10;
}

.trunk-item:hover span {
  opacity: 1;
}
.info p:first-of-type {
  font-size: 12px;
  opacity: 0.5;
}
.trunk {
  width: 30px;
  height: 50px;
  bottom: 160px;
  left: 40px;
  position: absolute;
  z-index: 5;
}
.hidden {
  display: none;
}
.headlights {
  position: absolute;
  width: 600px;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
}

.car-container:hover .headlights {
  opacity: 0.6;
}
.windshield {
  width: 190px;
  height: 80px;
  top: 40px;
  left: 220px;
  position: absolute;
  z-index: 5;
}
.panel-inner {
  width: 900px;
  height: 400px;
  background: black;
  border: 1px solid rgba(255,255,255,0.1);
  padding: 10px;
  display: flex;
  gap: 20px;
}

.panel-image {
  width: 60%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
}

#panel-content {
  flex: 1;
  position: relative;
}