/*
Theme Name: VIP Luxury Transportation
Description: WordPress theme for VIP Luxury Transportation.
Version: 0.1.5
Text Domain: vip-luxury
*/
.vip-page-hero { background:#f5f3ee; padding:90px 5%; }
.vip-page-hero h1,.vip-section h2,.vip-card h3 { font-family:Georgia,serif; font-weight:400; }
.vip-section { padding:70px 5%; }
.vip-card-grid { display:flex; flex-wrap:wrap; gap:24px; padding:60px 5%; }
.vip-card-grid > .e-con { flex:1 1 300px; border:1px solid #e4e1db; border-radius:12px; overflow:hidden; padding:20px; }
.vip-card img { width:100%; height:220px; object-fit:cover; }
@media (max-width:767px) { .vip-page-hero,.vip-section,.vip-card-grid { padding:45px 5%; } }
.vip-home-hero { padding:110px 5%; min-height:600px; color:#fff; background:linear-gradient(90deg,#0a0b0ddd,#0a0b0d65), url('assets/images/houston-limo.webp') center/cover; }
.vip-home-hero h1 { max-width:680px; color:#fff; font-family:Georgia,serif; font-size:clamp(38px,4.2vw,64px); font-weight:400; line-height:1.15; }
@media (max-width:767px) { .vip-home-hero { padding:70px 5%; min-height:0; } }
.vip-pricing .elementor-widget-text-editor:has(table) { overflow-x:auto; }
.vip-pricing-table { min-width:720px; border-collapse:collapse; width:100%; }
.vip-pricing-table th,.vip-pricing-table td { padding:12px; text-align:left; border-bottom:1px solid #e4e1db; }
.vip-header { background:#f6f4ef; border-bottom:1px solid #dedbd5; display:flex; flex-direction:row; align-items:center; gap:12px; padding:8px 4.5%; }
.vip-header .elementor-widget-image { width:174px; margin-right:auto; }
.vip-header .elementor-button { background:transparent; color:#191a1e; font-size:13px; padding:12px 8px; }
.vip-footer { background:#18191d; color:#eee; padding:65px 5%; }
.vip-footer .elementor-widget-image { width:174px; }
.vip-footer .elementor-button { background:transparent; color:#eee; padding:5px 0; }
@media(max-width:767px){ .vip-header { flex-wrap:wrap; } .vip-header .elementor-widget-image { width:130px; } }
.vip-booking { background:#fff; color:#191a1e; border-radius:20px; padding:28px; box-shadow:0 12px 50px #0002; }
.vip-booking label { display:block; margin:12px 0; font-weight:600; }
.vip-booking input:not([type=checkbox]),.vip-booking select,.vip-booking textarea { box-sizing:border-box; display:block; width:100%; margin:6px 0; padding:12px; border:1px solid #d3d1cd; border-radius:6px; background:white; color:#191a1e; }
.vip-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.vip-booking button { cursor:pointer; padding:12px 20px; border:0; border-radius:6px; background:#191a1e; color:white; }
.vip-suggestions { display:block; } .vip-suggestions button { width:100%; text-align:left; background:#f6f4ef; color:#191a1e; border-bottom:1px solid #ddd; }
.vip-booking-notice { color:#8d382b; } .vip-booking [hidden] { display:none; }
@media(max-width:430px){.vip-fields{grid-template-columns:1fr}}
/* Booking page: preserve existing Elementor elements and improve their layout. */
.elementor-12{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 7%;padding:70px 5%;background:#f6f4ef;align-items:start}
.elementor-12>.elementor-element-b66af7cd{grid-column:1;grid-row:1}
.elementor-12>.elementor-element-b66af7cd>.e-con-inner{padding:0;max-width:none}
.elementor-12>.elementor-element-b66af7cd .elementor-widget-heading .elementor-heading-title{font:400 clamp(38px,4vw,64px)/1.15 Georgia,serif;letter-spacing:-2px;color:#191a1e}
.elementor-12>.elementor-element-b66af7cd .elementor-widget-text-editor:first-child{font:700 11px Arial,sans-serif;letter-spacing:2.3px;color:#9a7b3b}
.elementor-12>.elementor-element-164f5795,.elementor-12>.elementor-element-164f5795>.e-con-inner{display:contents}
.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-image{grid-column:1;grid-row:2;width:100%}
.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-image img{width:100%;height:auto;max-height:410px;object-fit:cover;border-radius:12px}
.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-vip_booking{grid-column:2;grid-row:1 / span 2;width:100%}
.vip-booking h2{font:400 28px/1.15 Georgia,serif;color:#191a1e}.vip-booking label{font-size:10px;letter-spacing:1px;text-transform:uppercase}.vip-booking .vip-quote{background:#f6f4ef;border:1px solid #e4ded0;border-radius:8px;padding:15px 16px;margin:14px 0;color:#292620;display:flex;flex-direction:column;gap:3px;font-size:12px}.vip-booking .vip-quote small{font-size:10px;letter-spacing:1px;color:#92743a;font-weight:700}.vip-booking .vip-quote strong{font-size:24px;font-family:Georgia,serif}.vip-booking button[type=submit]{width:100%;margin-top:12px}
@media(max-width:767px){.elementor-12{display:flex;flex-direction:column;padding:45px 5%;gap:22px}.elementor-12>.elementor-element-b66af7cd,.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-image,.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-vip_booking{width:100%}.elementor-12>.elementor-element-164f5795>.e-con-inner>.elementor-widget-image img{max-height:260px}}
