:root {
    --primary: #0d6efd;
    --dark: #212529;
}

body {
    padding-top: 129px;
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

.hero-section {
    background: linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
                url('https://cdn11.bigcommerce.com/s-edzb51owdi/images/stencil/1280w/carousel/11/hcp-pexel-hero_1.png?c=1') center/cover no-repeat;
    min-height: 80vh;
}

.hero-section h1 {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1) !important;
}

.accordion-button:not(.collapsed) {
    background-color: var(--primary);
    color: white;
}

section {
    scroll-margin-top: 138px;
}

.navbar {
    background-color: #1A2552 !important;
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
}

.navbar-brand {
    font-size: 2rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.navbar .nav-link {
    font-size: 1.1rem;
}

.plan-item {
    background: #f8f9fa;
    transition: background 0.15s ease;
}
.plan-item:hover {
    background: #e9ecef;
}

.airport-header {
    min-height: 40vh;
    transition: background 0.5s ease;
}

.membership-hero {
    background: linear-gradient(#1a2552,rgba(73,110,156,0.21)),
                url('https://hotelcrashpads.com/product_images/uploaded_images/membershipbg.jpeg') center/cover no-repeat;
    min-height: 70vh;
}

.membership-hero h1,
.membership-hero .lead {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.become-member-section {
    background: linear-gradient(0deg, rgba(232, 208, 184, 0.85), rgba(232, 208, 184, 0.85)),
                url('https://hotelcrashpads.com/product_images/uploaded_images/e-connected-become-member-.jpg') center/cover no-repeat;
    min-height: 50vh;
}

.navbar-logo {
    height: 76px;
    width: auto;
    margin-right: 14px;
    vertical-align: middle;
    filter: brightness(0) invert(1);
}

.promo-banner {
    background: #1A2552;
    padding: 4.2rem 0;
}

.promo-banner--inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6rem;
    flex-wrap: wrap;
}

.promo-banner--img img {
    height: 135px;
    width: auto;
}

.promo-banner--text {
    display: flex;
    align-items: center;
    gap: 4rem;
    flex-wrap: wrap;
}

.promo-span {
    display: flex;
    flex-direction: column;
}

.promo-span p {
    margin: 0;
    color: #fff;
    font-size: 2.6rem;
    line-height: 1.3;
}

.promo-span strong {
    color: #f0c75e;
}

.promo-banner--text .btn {
    white-space: nowrap;
    font-size: 2rem;
    padding: 1.1rem 2.8rem;
}

footer.bg-dark {
    background-color: #1A2552 !important;
}
