/* ========== DARK THEME WEBSITE CSS ========== */
/* !important used throughout to override WordPress theme */
:root { --w-accent: #c9a84c; --w-bg: #0a0a0f; --w-card: #12121a; --w-card2: #16161f; --w-border: #1f1f2a; --w-text: #e8e6e1; --w-muted: #888; --w-dim: #555; --w-input: #0f0f17; --w-font: 'DM Sans', Arial, sans-serif; }

.rcs-site, .rcs-site * { box-sizing: border-box; }
.rcs-site { font-family: var(--w-font) !important; color: var(--w-text) !important; background: var(--w-bg) !important; line-height: 1.6 !important; }
.rcs-site h1, .rcs-site h2, .rcs-site h3, .rcs-site h4, .rcs-site h5 { color: var(--w-text) !important; }
.rcs-site p { color: var(--w-muted) !important; }
.rcs-site a { color: var(--w-accent) !important; text-decoration: none !important; }
.rcs-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.rcs-section { padding: 80px 0; background: var(--w-bg) !important; color: var(--w-text) !important; }
.rcs-section-alt { background: var(--w-card) !important; }
.rcs-section-title { font-family: 'DM Serif Display', serif !important; font-size: 36px !important; text-align: center; margin: 0 0 40px; color: var(--w-text) !important; }

/* Button — must override .rcs-site a rule */
.rcs-site a.rcs-site-btn, a.rcs-site-btn, .rcs-site-btn, button.rcs-site-btn { display: inline-block; padding: 14px 32px; background: var(--w-accent) !important; color: #fff !important; border-radius: 12px; font-weight: 600; font-size: 15px; text-decoration: none !important; transition: all .3s; border: 2px solid var(--w-accent) !important; cursor: pointer; font-family: inherit; }
.rcs-site a.rcs-site-btn:hover, a.rcs-site-btn:hover, .rcs-site-btn:hover { background: transparent !important; color: var(--w-accent) !important; }
.rcs-site-btn-sm { padding: 10px 20px; font-size: 13px; border-radius: 10px; }
.rcs-site a.rcs-site-btn-outline, .rcs-site-btn-outline { background: transparent !important; color: var(--w-accent) !important; }
.rcs-site a.rcs-site-btn-outline:hover, .rcs-site-btn-outline:hover { background: var(--w-accent) !important; color: #fff !important; }
.rcs-site-btn-full { width: 100%; text-align: center; }

/* ========== HEADER ========== */
.rcs-header { background: var(--w-bg) !important; padding: 0 24px; position: relative; z-index: 1000; border-bottom: 1px solid var(--w-border) !important; }
.rcs-header-sticky { position: sticky !important; top: 0 !important; z-index: 9990 !important; }
.rcs-header-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
.rcs-header-logo img { max-height: 44px; }
.rcs-header-logo-text { font-family: 'DM Serif Display', serif; font-size: 22px; color: var(--w-accent) !important; text-decoration: none !important; }
.rcs-header-logo { text-decoration: none !important; display: flex; align-items: center; }
.rcs-nav { display: flex; gap: 8px; }
.rcs-nav-link, .rcs-site a.rcs-nav-link { color: var(--w-muted) !important; text-decoration: none !important; padding: 8px 14px; font-size: 14px; font-weight: 500; border-radius: 8px; transition: all .2s; }
.rcs-nav-link:hover, .rcs-site a.rcs-nav-link:hover { color: var(--w-accent) !important; background: rgba(201,168,76,.06) !important; }
.rcs-header-right { display: flex; align-items: center; gap: 12px; }
.rcs-header-phone, .rcs-site a.rcs-header-phone { color: var(--w-muted) !important; text-decoration: none !important; font-size: 14px; }
.rcs-header-account, .rcs-site a.rcs-header-account { color: var(--w-text) !important; text-decoration: none !important; font-size: 13px; font-weight: 500; padding: 6px 14px; border: 1px solid var(--w-border) !important; border-radius: 8px; transition: all .2s; }
.rcs-header-account:hover, .rcs-site a.rcs-header-account:hover { border-color: var(--w-accent) !important; color: var(--w-accent) !important; }
.rcs-hamburger { display: none; background: none; border: none; color: var(--w-text) !important; font-size: 24px; cursor: pointer; }

/* ========== HERO ========== */
.rcs-hero { position: relative; height: 80vh; min-height: 500px; overflow: hidden; background: var(--w-bg) !important; }
.rcs-hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1s ease; }
.rcs-hero-slide.active { opacity: 1; }
.rcs-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,10,15,.6), rgba(10,10,15,.85)) !important; }
.rcs-hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-align: center; padding: 24px; }
.rcs-hero-content h1 { font-family: 'DM Serif Display', serif !important; font-size: 52px !important; margin: 0 0 16px; color: #fff !important; max-width: 700px; }
.rcs-hero-content p { font-size: 18px; color: rgba(255,255,255,.7) !important; margin: 0 0 30px; max-width: 500px; }
.rcs-hero-content a.rcs-site-btn { color: #fff !important; }
.rcs-hero-dots { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 3; }
.rcs-hero-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.3) !important; cursor: pointer; transition: all .3s; }
.rcs-hero-dot.active { background: var(--w-accent) !important; width: 28px; border-radius: 5px; }

/* ========== BOOKING FORM ========== */
.rcs-quick-book-card { background: var(--w-card) !important; border-radius: 20px; padding: 40px; border: 1px solid var(--w-border) !important; margin-top: -60px; position: relative; z-index: 10; }
.rcs-qb-field { margin-bottom: 16px; }
.rcs-qb-field label { display: block; font-size: 11px !important; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--w-muted) !important; margin-bottom: 8px; }
.rcs-qb-field input { width: 100%; padding: 14px 16px; background: var(--w-input) !important; border: 1.5px solid var(--w-border) !important; border-radius: 12px; color: var(--w-text) !important; font-size: 15px; font-family: var(--w-font); outline: none; transition: border .2s; }
.rcs-qb-field input:focus { border-color: rgba(201,168,76,.4) !important; }
.rcs-qb-field input::placeholder { color: var(--w-dim) !important; }
.rcs-qb-row { display: flex; gap: 16px; }

/* Pickup Type Buttons */
.rcs-qb-type-btns { display: flex; gap: 10px; }
.rcs-qb-type { flex: 1; padding: 14px; background: var(--w-input) !important; border: 1.5px solid var(--w-border) !important; border-radius: 12px; color: var(--w-muted) !important; font-size: 14px; font-family: var(--w-font); cursor: pointer; text-align: center; transition: all .2s; }
.rcs-qb-type:hover { border-color: rgba(201,168,76,.3) !important; color: var(--w-text) !important; }
.rcs-qb-type.active { border-color: var(--w-accent) !important; color: var(--w-accent) !important; background: rgba(201,168,76,.06) !important; }

/* Trip Type Buttons */
.rcs-qb-trip-btns { display: flex; gap: 10px; }
.rcs-qb-trip { flex: 1; padding: 14px; background: var(--w-input) !important; border: 1.5px solid var(--w-border) !important; border-radius: 12px; color: var(--w-muted) !important; font-size: 15px; font-family: var(--w-font); cursor: pointer; text-align: center; transition: all .2s; font-weight: 500; }
.rcs-qb-trip:hover { border-color: rgba(201,168,76,.3) !important; }
.rcs-qb-trip.active { border-color: var(--w-accent) !important; color: var(--w-accent) !important; background: rgba(201,168,76,.06) !important; }
.rcs-qb-hint { font-size: 11px; color: var(--w-dim); margin-top: 6px; display: block; }

/* Airport/Hotel Sections */
.rcs-qb-section { margin-bottom: 4px; }
.rcs-qb-card { background: var(--w-card2) !important; border: 1px solid var(--w-border) !important; border-radius: 14px; padding: 18px; margin-bottom: 12px; }
.rcs-qb-card-header { display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 500; color: var(--w-text) !important; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--w-border); }
.rcs-qb-select { width: 100%; padding: 14px 16px; background: var(--w-input) !important; border: 1.5px solid var(--w-border) !important; border-radius: 12px; color: var(--w-text) !important; font-size: 15px; font-family: var(--w-font); outline: none; appearance: auto; -webkit-appearance: auto; }
.rcs-qb-select option { background: var(--w-card) !important; color: var(--w-text) !important; }
.rcs-qb-flight-row { display: flex; gap: 10px; align-items: center; }
.rcs-qb-flight-row input { flex: 1; }
.rcs-fetch-flight-btn, .rcs-site a.rcs-fetch-flight-btn { white-space: nowrap; padding: 14px 16px !important; font-size: 13px !important; border-radius: 12px; flex-shrink: 0; }
.rcs-qb-airport-name { font-size: 13px; color: var(--w-accent) !important; font-weight: 400; }

/* ========== SERVICES ========== */
.rcs-services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.rcs-service-card { background: var(--w-card) !important; border-radius: 16px; padding: 32px 24px; transition: transform .3s, border-color .3s; border: 1px solid var(--w-border) !important; }
.rcs-service-card:hover { transform: translateY(-4px); border-color: rgba(201,168,76,.2) !important; }
.rcs-service-img { height: 160px; background-size: cover; background-position: center; border-radius: 12px; margin-bottom: 16px; }
.rcs-service-icon { font-size: 40px; margin-bottom: 16px; }
.rcs-service-card h3 { font-family: 'DM Serif Display', serif !important; font-size: 20px; margin: 0 0 8px; color: var(--w-text) !important; }
.rcs-service-card p { color: var(--w-muted) !important; font-size: 14px; line-height: 1.6; margin: 0; }
.rcs-service-card a.rcs-site-btn, .rcs-service-card a.rcs-site-btn-sm { color: #fff !important; }

/* ========== FLEET ========== */
.rcs-fleet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.rcs-vehicle-card { background: var(--w-card) !important; border-radius: 16px; overflow: hidden; border: 1px solid var(--w-border) !important; transition: transform .3s; }
.rcs-vehicle-card:hover { transform: translateY(-4px); }
.rcs-vehicle-img { height: 180px; background-size: cover; background-position: center; background-color: var(--w-card2) !important; }
.rcs-vehicle-img-placeholder { display: flex; align-items: center; justify-content: center; font-size: 60px; background: var(--w-card2) !important; }
.rcs-vehicle-body { padding: 20px 24px; background: var(--w-card) !important; }
.rcs-vehicle-body h3 { font-family: 'DM Serif Display', serif !important; font-size: 20px; margin: 0 0 4px; color: var(--w-text) !important; }
.rcs-vehicle-type { color: var(--w-muted) !important; font-size: 13px; margin-bottom: 12px; }
.rcs-vehicle-meta, .rcs-vehicle-specs { display: flex; gap: 16px; font-size: 13px; color: var(--w-muted) !important; margin-bottom: 12px; }
.rcs-vehicle-price { font-size: 18px; font-weight: 700; color: var(--w-accent) !important; margin-bottom: 16px; }
.rcs-vehicle-card a.rcs-site-btn, .rcs-vehicle-card a.rcs-site-btn-sm { color: #fff !important; }

/* ========== TESTIMONIALS ========== */
.rcs-testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.rcs-testimonial-card { background: var(--w-card) !important; border-radius: 16px; padding: 28px; border: 1px solid var(--w-border) !important; }
.rcs-test-stars { color: var(--w-accent) !important; font-size: 18px; margin-bottom: 12px; }
.rcs-test-review { font-size: 15px; line-height: 1.7; color: var(--w-muted) !important; font-style: italic; margin: 0 0 16px; }
.rcs-test-author { display: flex; align-items: center; gap: 12px; }
.rcs-test-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.rcs-test-avatar-placeholder { width: 44px; height: 44px; border-radius: 50%; background: var(--w-card2) !important; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.rcs-test-author strong { font-size: 14px; color: var(--w-text) !important; }
.rcs-test-author span { font-size: 12px; color: var(--w-dim) !important; }

/* ========== CTA BANNER ========== */
.rcs-cta-banner { background: linear-gradient(135deg, #12121a 0%, #1a1a2e 100%) !important; padding: 80px 24px; border-top: 1px solid var(--w-border) !important; border-bottom: 1px solid var(--w-border) !important; }
.rcs-cta-banner h2 { font-family: 'DM Serif Display', serif !important; font-size: 36px !important; margin: 0 0 12px; color: #fff !important; }
.rcs-cta-banner p { font-size: 16px; color: var(--w-muted) !important; margin: 0 0 30px; }
.rcs-cta-banner a.rcs-site-btn { color: #fff !important; }
.rcs-cta-banner a.rcs-site-btn-outline { color: var(--w-accent) !important; }
.rcs-cta-banner a.rcs-site-btn-outline:hover { color: #fff !important; }
.rcs-cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ========== FOOTER ========== */
.rcs-footer { background: var(--w-bg) !important; color: var(--w-muted) !important; padding: 60px 0 0; border-top: 1px solid var(--w-border) !important; }
.rcs-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.rcs-footer-logo { max-height: 40px; margin-bottom: 12px; }
.rcs-footer h3 { font-family: 'DM Serif Display', serif !important; color: var(--w-accent) !important; font-size: 20px; margin: 0 0 12px; }
.rcs-footer h4 { color: var(--w-text) !important; font-size: 15px; margin: 0 0 16px; }
.rcs-footer p { font-size: 14px; line-height: 1.7; margin: 0 0 8px; color: var(--w-muted) !important; }
.rcs-footer a { color: var(--w-accent) !important; text-decoration: none !important; }
.rcs-footer ul { list-style: none; padding: 0; margin: 0; }
.rcs-footer ul li { margin-bottom: 8px; }
.rcs-footer ul li a, .rcs-site .rcs-footer ul li a { color: var(--w-muted) !important; font-size: 14px; transition: color .2s; }
.rcs-footer ul li a:hover, .rcs-site .rcs-footer ul li a:hover { color: var(--w-accent) !important; }
.rcs-social-links { display: flex; flex-direction: column; gap: 8px; }
.rcs-footer-bottom { border-top: 1px solid var(--w-border) !important; padding: 20px 0; text-align: center; background: var(--w-bg) !important; }
.rcs-footer-bottom p { font-size: 13px; color: var(--w-dim) !important; margin: 0; }

/* WhatsApp Float */
.rcs-wa-float { position: fixed; bottom: 24px; right: 24px; width: 56px; height: 56px; background: #25D366 !important; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; text-decoration: none !important; box-shadow: 0 4px 20px rgba(37,211,102,.3); z-index: 9999; transition: transform .3s; }
.rcs-wa-float:hover { transform: scale(1.1); }

/* ========== PAGES ========== */
.rcs-page-content { line-height: 1.8; font-size: 16px; color: var(--w-muted) !important; background: var(--w-bg) !important; }
.rcs-page-content img { max-width: 100%; height: auto; border-radius: 12px; }
.rcs-page-content h2, .rcs-page-content h3, .rcs-page-content h4 { color: var(--w-text) !important; }
.rcs-page-content p { color: var(--w-muted) !important; }
.rcs-page-content a { color: var(--w-accent) !important; }
.rcs-page-content div { color: var(--w-muted) !important; }
.rcs-page-content strong { color: var(--w-text) !important; }

/* About page grid items */
.rcs-page-content div[style*="background:#f8f8f5"],
.rcs-page-content div[style*="background: #f8f8f5"] { background: var(--w-card) !important; border: 1px solid var(--w-border) !important; }

.rcs-contact-grid { display: grid; gap: 30px; }
.rcs-contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-top: 24px; }
.rcs-contact-card { background: var(--w-card) !important; border-radius: 14px; padding: 24px; text-align: center; border: 1px solid var(--w-border) !important; }
.rcs-cc-icon { font-size: 32px; margin-bottom: 8px; }
.rcs-contact-card h4 { margin: 0 0 4px; font-size: 14px; color: var(--w-text) !important; }
.rcs-contact-card p { margin: 0; font-size: 14px; color: var(--w-muted) !important; }
.rcs-contact-card a, .rcs-site .rcs-contact-card a { color: var(--w-accent) !important; text-decoration: none !important; }

/* Login Modal */
.rcs-login-modal { position: fixed; inset: 0; background: rgba(0,0,0,.7) !important; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.rcs-login-modal-card { background: var(--w-card) !important; border-radius: 20px; padding: 40px; max-width: 400px; width: 100%; text-align: center; border: 1px solid var(--w-border) !important; }
.rcs-login-modal-card h2 { font-family: 'DM Serif Display', serif !important; margin: 0 0 12px; color: var(--w-text) !important; }
.rcs-login-modal-card p { color: var(--w-muted) !important; margin: 0 0 24px; }

/* ========== WORDPRESS THEME OVERRIDE ========== */
/* Force dark on the page wrapper and body when our content is active */
body .rcs-site,
.entry-content .rcs-site,
.page-content .rcs-site,
article .rcs-site,
.site-content .rcs-site,
main .rcs-site { background: var(--w-bg) !important; color: var(--w-text) !important; }

/* Override any theme max-width restrictions — use overflow hidden instead of calc */
.rcs-site { overflow-x: hidden !important; max-width: 100% !important; }

/* ========== GOOGLE PLACES AUTOCOMPLETE DROPDOWN ========== */
.pac-container { background: #12121a !important; border: 1px solid #1f1f2a !important; border-radius: 12px !important; box-shadow: 0 8px 30px rgba(0,0,0,.5) !important; margin-top: 4px !important; z-index: 100001 !important; font-family: 'DM Sans', Arial, sans-serif !important; padding: 4px !important; }
.pac-item { border-top: 1px solid #1f1f2a !important; padding: 10px 14px !important; cursor: pointer !important; color: #e8e6e1 !important; font-size: 14px !important; background: transparent !important; line-height: 1.4 !important; }
.pac-item:first-child { border-top: none !important; }
.pac-item:hover, .pac-item-selected { background: rgba(201,168,76,.08) !important; }
.pac-item-query { color: #e8e6e1 !important; font-weight: 500 !important; font-size: 14px !important; }
.pac-icon { background-image: none !important; width: 0 !important; margin: 0 !important; padding: 0 !important; display: none !important; }
.pac-icon-marker { display: none !important; }
.pac-matched { color: #c9a84c !important; font-weight: 600 !important; }
.pac-logo::after, .hdpi.pac-logo::after { display: none !important; }
.pac-item span { color: #888 !important; font-size: 12px !important; }
.pac-item .pac-item-query span { color: #e8e6e1 !important; font-size: 14px !important; }

/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
    .rcs-nav { display: none; position: fixed; top: 64px; left: 0; right: 0; background: var(--w-bg) !important; flex-direction: column; padding: 16px; border-top: 1px solid var(--w-border) !important; z-index: 9999; }
    .rcs-nav.open { display: flex; }
    .rcs-hamburger { display: block; }
    .rcs-header-phone { display: none; }
    .rcs-header-inner { height: 64px; gap: 10px; padding: 0 4px; }
    .rcs-header-logo img { max-height: 32px; }
    .rcs-header-logo-text { font-size: 16px; }
    .rcs-header-right { gap: 8px; }
    .rcs-header-account, .rcs-site a.rcs-header-account { font-size: 11px; padding: 5px 8px; }
    .rcs-site-btn-sm { padding: 8px 12px; font-size: 11px; }
    .rcs-hero { height: 55vh; min-height: 350px; }
    .rcs-hero-content h1 { font-size: 26px !important; }
    .rcs-hero-content p { font-size: 14px; }
    .rcs-qb-type-btns { flex-direction: row; }
    .rcs-qb-type { padding: 10px 8px; font-size: 12px; }
    .rcs-qb-row { flex-direction: column; }
    .rcs-qb-row .rcs-qb-field { flex: 1 !important; }
    .rcs-quick-book-card { margin-top: -30px; padding: 20px; border-radius: 16px; }
    .rcs-section { padding: 40px 0; }
    .rcs-section-title { font-size: 24px !important; margin-bottom: 24px; }
    .rcs-services-grid { grid-template-columns: 1fr; }
    .rcs-fleet-grid { grid-template-columns: 1fr; }
    .rcs-testimonials-grid { grid-template-columns: 1fr; }
    .rcs-footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .rcs-cta-banner { padding: 40px 20px; }
    .rcs-cta-banner h2 { font-size: 24px !important; }
    .rcs-cta-buttons { flex-direction: column; align-items: center; }
    .rcs-cta-buttons .rcs-site-btn { width: 100%; text-align: center; }
    .rcs-container { padding: 0 16px; }
    .rcs-contact-cards { grid-template-columns: 1fr; }
    .rcs-qb-flight-row { flex-direction: column; }
    .rcs-fetch-flight-btn, .rcs-site a.rcs-fetch-flight-btn { width: 100%; text-align: center; padding: 12px 16px !important; }
    .rcs-qb-card { padding: 14px; }
    .rcs-qb-card-header { flex-direction: column; gap: 4px; font-size: 13px; }
}
