/* ===== GLOBAL ===== */
body.tramezzino-body { background: #fafafa; font-family: 'Segoe UI', sans-serif; }

/* ===== NAVBAR ===== */
.navbar.bg-warning { background: linear-gradient(135deg, #ffc107, #ff9800) !important; }

/* ===== TRAFFIC LIGHT ===== */
.traffic-light-box { width: 120px; }
.tl-housing {
  background: #222;
  border-radius: 16px;
  padding: 12px 20px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.4);
}
.tl-light {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  box-shadow: inset 0 0 10px rgba(0,0,0,.5);
}
.tl-light.red   { background: #c0392b; }
.tl-light.green { background: #27ae60; }
.tl-light.off   { background: #333; box-shadow: inset 0 0 10px rgba(0,0,0,.7); }

@keyframes blink {
  0%, 100% { opacity: 1; box-shadow: 0 0 30px 10px #2ecc71, inset 0 0 10px rgba(0,0,0,.3); }
  50%       { opacity: .4; box-shadow: none; }
}
.tl-light.green.blink { animation: blink 1s ease-in-out infinite; }

/* Housing label for unpaid users */
.tl-label {
  color: #ffc107;
  font-size: .65rem;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  margin-bottom: 6px;
  text-transform: uppercase;
}

/* ===== STAR RATING ===== */
.star-rating { font-size: 2rem; cursor: pointer; user-select: none; }
.star-rating .star { color: #ccc; transition: color .15s; }
.star-rating .star.active,
.star-rating .star.hover { color: #ffc107; }

.star-rating.star-locked { cursor: default; }
.star-rating.star-locked .star { pointer-events: none; }
.star-rating.star-locked .star.active { color: #ffc107; }
.star-rating.star-locked .star:not(.active) { color: #e0e0e0; }

/* ===== CARDS ===== */
.card { border: none; border-radius: 12px; }
.card.shadow { box-shadow: 0 6px 30px rgba(0,0,0,.12) !important; }

.card-map-img {
    object-fit: cover;
    border-top-right-radius: .25rem;
    border-bottom-right-radius: .25rem;
}

@media only screen and (max-width: 767px) {
    /*.card-map-img {
        max-height: 50px;
    }*/
}
