/* ── Hero banner ─────────────────────────────────────────────────── */
.hero-banner {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    min-height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ── Ride / Park cards ───────────────────────────────────────────── */
.ride-card {
    transition: transform .15s ease, box-shadow .15s ease;
    border: 1px solid rgba(0,0,0,.1);
}
.ride-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.15);
}

.ride-card-img {
    height: 160px;
    object-fit: cover;
}
.ride-card-img-placeholder {
    height: 160px;
}

.park-card {
    transition: transform .15s ease, box-shadow .15s ease;
    border: 1px solid rgba(0,0,0,.1);
}
.park-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* ── Star picker ─────────────────────────────────────────────────── */
.star-picker {
    display: flex;
    gap: 4px;
}
.star-btn {
    background: none;
    border: none;
    padding: 0;
    font-size: 1.75rem;
    cursor: pointer;
    line-height: 1;
}
.star-btn:focus-visible {
    outline: 2px solid #0d6efd;
    border-radius: 3px;
}

/* ── Navbar tweaks ───────────────────────────────────────────────── */
.navbar-brand { letter-spacing: -.5px; }

/* ── Utility ─────────────────────────────────────────────────────── */
@media (max-width: 767.98px) {
    .hero-banner { padding: 2rem 1.25rem !important; }
    .hero-banner h1 { font-size: 1.75rem; }
}
