:root {
    --luna-navy: #162B4E;
    --luna-navy-deep: #0b172b;
    --luna-gold: #b88a45;
    --luna-gold-light: #d8bd83;
    --luna-ivory: #fbf8f1;
    --luna-ink: #172033;
    --luna-muted: #657085;
}

body {
    color: var(--luna-ink);
    background: #fff;
    font-family: "Manrope", sans-serif;
}

h1, h2, h3, h4, h5, h6, .rt-section-title-wrapper h2 {
    color: var(--luna-navy-deep);
    font-family: "Cormorant Garamond", serif;
    font-weight: 700;
    letter-spacing: -.02em;
}

.top-header {
    color: #fff;
    background: var(--luna-navy-deep) !important;
    border-bottom: 1px solid rgba(216, 189, 131, .24);
}

.top-header a, .top-header i { color: rgba(255, 255, 255, .86) !important; }
.top-header .luna-account-menu .dropdown-menu {
    min-width: 150px;
    margin-top: 6px;
    overflow: hidden;
    border: 1px solid rgba(22, 43, 78, .12);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(11, 23, 43, .18);
}
.top-header .luna-account-menu .dropdown-item {
    padding: 10px 16px;
    text-align: left !important;
    color: var(--luna-navy) !important;
    background: #fff;
}
.top-header .luna-account-menu .dropdown-item:hover,
.top-header .luna-account-menu .dropdown-item:focus {
    padding-left: 20px;
    color: #fff !important;
    background: var(--luna-navy) !important;
}
.main-header { background: rgba(255, 255, 255, .98) !important; box-shadow: 0 8px 35px rgba(11, 23, 43, .09); }
.main-header .navbar { min-height: 100px; }
@media (min-width: 1200px) {
    .main-header .navbar > .container {
        width: fit-content;
        min-width: 1140px;
        max-width: min(1600px, calc(100vw - 48px));
    }
    .main-header .main-menu > ul { white-space: nowrap; }
}
.luna-brand { display: block; width: 190px; height: 90px; overflow: hidden; }
.luna-brand img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.main-menu > ul > li > a { color: var(--luna-navy) !important; font-weight: 700; letter-spacing: .01em; }
.main-menu > ul > li > a:hover { color: var(--luna-gold) !important; }
.main-menu .sub-menu { border-top: 3px solid var(--luna-gold); }

.luna-nav-language {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    margin-right: 14px;
    padding: 0 12px;
    border: 1px solid rgba(22, 43, 78, .2);
    border-radius: 20px;
    color: var(--luna-muted);
    background: rgba(255, 255, 255, .76);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    white-space: nowrap;
}
.luna-nav-language i { margin-right: 1px; color: var(--luna-gold); }
.luna-nav-language a { color: var(--luna-muted); }
.luna-nav-language a:hover,
.luna-nav-language a.is-active { color: var(--luna-navy); }
.luna-nav-language a.is-active { text-decoration: underline; text-decoration-color: var(--luna-gold); text-underline-offset: 4px; }

.rt-btn, .rt-gradient, .rt-gradient2, button.rt-btn {
    border: 1px solid var(--luna-gold) !important;
    color: #fff !important;
    background: var(--luna-navy) !important;
    box-shadow: 0 12px 30px rgba(22, 43, 78, .22) !important;
}
.rt-btn:hover, button.rt-btn:hover { color: var(--luna-navy-deep) !important; background: var(--luna-gold-light) !important; transform: translateY(-2px); }

@media (max-width: 767.98px) {
    .luna-nav-language { min-height: 34px; margin-right: 10px; padding: 0 9px; gap: 5px; }
}

.home-hero .single-rt-banner {
    position: relative;
    background-image: linear-gradient(90deg, rgba(8, 19, 37, .96) 0%, rgba(11, 25, 47, .82) 36%, rgba(11, 25, 47, .12) 69%), url('../images/luna/punta-cana-luxury-transfer-hero.png') !important;
    background-position: center;
    background-size: cover;
}
.home-hero .single-rt-banner:after { position: absolute; right: 0; bottom: 0; left: 0; height: 5px; content: ''; background: linear-gradient(90deg, var(--luna-gold), #ead59f, var(--luna-gold)); }
.home-hero .rt-banner-content { max-width: 720px; padding: 60px 0 30px; }
.home-hero .rt-banner-content:before { display: inline-block; margin-bottom: 20px; padding: 8px 14px; content: 'PRIVATE TRANSPORTATION • PUNTA CANA'; color: var(--luna-gold-light); border: 1px solid rgba(216,189,131,.5); border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.home-hero .rt-banner-content h1 { max-width: 680px; margin-bottom: 20px; font-size: clamp(46px, 5vw, 76px) !important; line-height: .98; }
.home-hero .rt-banner-content p { max-width: 650px; font-size: 17px; line-height: 1.75; color: rgba(255,255,255,.86) !important; }
.home-hero-actions { padding: 15px 0 0 !important; }
.home-hero-actions .rt-btn { min-width: 210px; text-align: center; }
.home-hero-actions .luna-secondary { margin-left: 10px; border-color: rgba(255,255,255,.42) !important; background: rgba(255,255,255,.08) !important; box-shadow: none !important; backdrop-filter: blur(6px); }

.home-booking-section { background-color: var(--luna-ivory) !important; background-image: radial-gradient(circle at 8% 10%, rgba(184,138,69,.10), transparent 27%), radial-gradient(circle at 90% 82%, rgba(22,43,78,.09), transparent 31%) !important; }
.booking-eyebrow { color: var(--luna-gold) !important; border-color: rgba(184,138,69,.38) !important; background: #fff !important; }
.booking-section-heading h2 { color: var(--luna-navy-deep) !important; font-family: "Cormorant Garamond", serif; }
.booking-step { border-color: rgba(22,43,78,.11) !important; box-shadow: 0 12px 28px rgba(22,43,78,.07) !important; }
.booking-step-number { color: var(--luna-navy-deep) !important; background: var(--luna-gold-light) !important; box-shadow: none !important; }
.home-booking-card.flight-list-box { border: 1px solid rgba(22,43,78,.13) !important; box-shadow: 0 30px 75px rgba(22,43,78,.15) !important; }
.booking-card-heading { background: var(--luna-navy) !important; }
.home-booking-card .booking-type-option:has(input:checked) { border-color: var(--luna-gold) !important; box-shadow: 0 0 0 3px rgba(184,138,69,.14) !important; }
.home-booking-card .booking-type-option input { accent-color: var(--luna-navy) !important; }
.home-booking-card .form-control:focus, .home-booking-card .select2-container--focus .select2-selection { border-color: var(--luna-gold) !important; box-shadow: 0 0 0 4px rgba(184,138,69,.12) !important; }
.booking-return-heading { border-left-color: var(--luna-gold) !important; }

.home-section, .home-feature-section, .home-tours-intro, .home-cta, .home-testimonials, .home-faq { position: relative; }
.home-fleet { background: #fff; }
.services-box-1 { overflow: hidden; border: 1px solid rgba(22,43,78,.10); border-radius: 18px; background: #fff; box-shadow: 0 16px 45px rgba(22,43,78,.09); }
.services-box-1 .services-thumb img { transition: transform .5s ease; }
.services-box-1:hover .services-thumb img { transform: scale(1.04); }
.home-feature-section.is-dark, .home-cta, .home-transfer-gallery, .rt-footer-area { background-color: var(--luna-navy-deep) !important; }
.home-cta { background-image: linear-gradient(120deg, var(--luna-navy-deep), var(--luna-navy)) !important; }
.primary-color { color: var(--luna-gold) !important; }
.rt-footer-area { border-top: 4px solid var(--luna-gold); }
.rt-footer-area a:hover { color: var(--luna-gold-light) !important; }
.sanwatsapp { filter: drop-shadow(0 10px 16px rgba(11,23,43,.24)); }

.rt-breadcump {
    background-image: linear-gradient(90deg, rgba(11,23,43,.92), rgba(22,43,78,.48)), url('../images/luna/punta-cana-luxury-transfer-hero.png') !important;
    background-position: center !important;
    background-size: cover !important;
}

@media (max-width: 991px) {
    .main-header .navbar { min-height: 90px; }
    .luna-brand { width: 152px; height: 84px; }
    .home-hero .single-rt-banner { background-position: 63% center; }
    .home-hero .rt-banner-content { padding-top: 95px; }
    .home-hero .rt-banner-content h1 { font-size: 50px !important; }
}

@media (max-width: 575px) {
    .home-hero .single-rt-banner { background-image: linear-gradient(90deg, rgba(8,19,37,.94), rgba(8,19,37,.74)), url('../images/luna/punta-cana-luxury-transfer-hero.png') !important; }
    .home-hero .rt-banner-content h1 { font-size: 41px !important; }
    .home-hero .rt-banner-content p { font-size: 15px; }
    .home-hero-actions .rt-btn { display: block; width: 100%; margin: 10px 0 0 !important; }
}
