/* Global Executive Cars - page design system (2026-10). Scoped to .gx so header/footer styles are untouched. */
.gx { --gold:#EDBC4B; --gold-d:#c99a2e; --ink:#0d0d0f; --ink-2:#1c1c21; --text:#2b2b31; --muted:#6b6b75; --line:#e7e5df; --soft:#f7f5f0; --white:#fff; --r:14px; --sh:0 10px 30px rgba(13,13,15,.08);
  font-family:"Open Sans",Arial,sans-serif; color:var(--text); font-size:16px; line-height:1.7; }
.gx *, .gx *::before, .gx *::after { box-sizing:border-box; }
.gx h1, .gx h2, .gx h3, .gx h4 { font-family:"Catamaran","Open Sans",Arial,sans-serif; color:var(--ink); line-height:1.2; margin:0 0 .5em; letter-spacing:-.01em; text-transform:none; }
.gx h1 { font-size:clamp(32px,4.6vw,52px); font-weight:800; }
.gx h2 { font-size:clamp(26px,3.2vw,38px); font-weight:800; }
.gx h3 { font-size:20px; font-weight:700; }
.gx p { margin:0 0 1em; color:var(--text); }
.gx a { color:var(--gold-d); }
.gx img { max-width:100%; height:auto; display:block; }
.gx-wrap { max-width:1180px; margin:0 auto; padding:0 20px; }
.gx-section { padding:72px 0; }
.gx-soft { background:var(--soft); }
.gx-dark { background:var(--ink); color:#d9d9de; }
.gx-dark h2, .gx-dark h3 { color:#fff; }
.gx-dark p { color:#c9c9cf; }
.gx-center { text-align:center; }
.gx-narrow { max-width:760px; margin-left:auto; margin-right:auto; }
.gx-eyebrow { display:inline-block; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-d); margin-bottom:10px; }
.gx-dark .gx-eyebrow, .gx-hero .gx-eyebrow { color:var(--gold); }
.gx-lead { font-size:18px; color:var(--muted); }

/* Buttons */
.gx-btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:999px; font-weight:700; font-size:16px; text-decoration:none !important; border:2px solid transparent; transition:transform .15s, background .15s, color .15s; cursor:pointer; }
.gx-btn:hover { transform:translateY(-1px); }
.gx-btn-gold { background:var(--gold); color:var(--ink) !important; }
.gx-btn-gold:hover { background:#f3c95f; }
.gx-btn-ghost { border-color:rgba(255,255,255,.7); color:#fff !important; }
.gx-btn-ghost:hover { background:rgba(255,255,255,.1); }
.gx-btn-dark { background:var(--ink); color:#fff !important; }
.gx-btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

/* Breadcrumbs */
.gx-crumbs { list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0 0 14px; font-size:14px; color:#cfcfd4; }
.gx-crumbs li + li::before { content:"›"; margin-right:6px; color:var(--gold); }
.gx-crumbs a { color:#fff; text-decoration:none; }

/* Hero */
.gx-hero { position:relative; color:#fff; background:#111 url("../images/slider.jpg") center/cover no-repeat; }
.gx-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(10,10,12,.92) 0%, rgba(10,10,12,.78) 45%, rgba(10,10,12,.45) 100%); }
.gx-hero > .gx-wrap { position:relative; z-index:1; padding-top:64px; padding-bottom:64px; }
.gx-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; }
.gx-hero h1 { color:#fff; }
.gx-hero p { color:#e4e4e8; font-size:18px; }
.gx-hero-small > .gx-wrap { padding-top:56px; padding-bottom:56px; }
.gx-ticks { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.gx-ticks li { position:relative; padding-left:30px; font-weight:600; color:#fff; }
.gx-ticks li::before { content:"✓"; position:absolute; left:0; top:0; width:21px; height:21px; border-radius:50%; background:var(--gold); color:var(--ink); font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.gx-section .gx-ticks li { color:var(--text); }
.gx-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; font-size:14px; color:#d6d6db; }
.gx-trust a { color:#fff; font-weight:700; text-decoration:none; }

/* Booking card */
.gx-quote { background:#fff; color:var(--text); border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:24px 24px 20px; }
.gx-quote h2 { font-size:22px; margin:0 0 4px; }
.gx-quote .gx-quote-sub { font-size:14px; color:var(--muted); margin:0 0 14px; }
.gx-quote label { color:var(--ink) !important; font-weight:600; font-size:13px; margin-bottom:4px; display:inline-block; }
.gx-quote .radio-inline { font-weight:600; font-size:14px; margin-right:12px; padding-left:20px; }
.gx-quote .form-control { padding:10px 12px; height:46px; border-radius:10px; border:1px solid #d9d6cf; box-shadow:none; font-size:15px; color:var(--ink); background:#fff !important; padding-right:40px; }
.gx-quote .form-control:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(237,188,75,.25); }
.gx-quote select.form-control { padding-right:12px; }
.gx-field { position:relative; margin-bottom:12px; }
.gx-field-row { display:flex; justify-content:space-between; align-items:center; margin:2px 0 6px; }
.gx .gx-quote input.form-control[readonly], .gx .gx-quote input.form-control { background-color:#fff !important; cursor:text; }
.gx .gx-quote input.datepicker1 { cursor:pointer; }
.gx #qmyDate, .gx #qmyDate_ret, .gx #my_time, .gx #my_time_ret { background-color:#fff !important; color:#0d0d0f !important; }
.gx-quote .errspan { position:absolute; right:14px; top:39px; cursor:pointer; color:var(--ink); font-size:17px; z-index:3; float:none; margin:0; }
.gx-quote .fa-exchange { cursor:pointer; font-size:18px; color:var(--ink); padding:4px 6px; }
.gx-quote ul.list, .gx-quote ul.list1 { position:absolute; z-index:999; left:0; right:0; width:auto; max-height:220px; height:auto; overflow-y:auto; margin:4px 0 0; padding:6px; list-style:none; background:var(--ink); border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.3); }
.gx-quote ul.list li, .gx-quote ul.list1 li { padding:9px 12px; border-radius:7px; color:#fff; cursor:pointer; font-size:14px; }
.gx-quote ul.list li:hover, .gx-quote ul.list1 li:hover { background:var(--gold); color:var(--ink); }
.gx-quote .gx-two { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gx-quote .gx-via { display:none; margin-bottom:10px; }
.gx-quote .gx-via-row { display:flex; gap:8px; align-items:center; }
.gx-quote .gx-via-row .form-control { padding-right:12px; }
.gx-quote .gx-via-rem { display:none; cursor:pointer; font-size:18px; }
.gx-quote #via_button { cursor:pointer; font-weight:700; color:var(--gold-d) !important; font-size:14px; }
.gx-quote input[type=submit] { width:100%; height:52px; border:0; border-radius:12px; background:var(--gold); color:var(--ink) !important; font-weight:800; font-size:17px; letter-spacing:.02em; margin-top:6px; }
.gx-quote input[type=submit]:hover { background:#f3c95f; }
.gx-quote input[type=submit]:disabled { opacity:.55; }
.gx-quote .gx-quote-foot { font-size:13px; color:var(--muted); margin:10px 0 0; text-align:center; }

/* Grids and cards */
.gx-grid { display:grid; gap:22px; }
.gx-g2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gx-g3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gx-g4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gx-card { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--sh); height:100%; }
.gx-card p:last-child { margin-bottom:0; }
.gx-dark .gx-card { background:var(--ink-2); border-color:#2c2c33; box-shadow:none; }
.gx-ico { width:52px; height:52px; border-radius:14px; background:rgba(237,188,75,.16); color:var(--gold-d); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; }
.gx-dark .gx-ico { color:var(--gold); }
.gx-card-img { padding:0; overflow:hidden; }
.gx-card-img img { width:100%; height:200px; object-fit:cover; }
.gx-card-img .gx-card-body { padding:22px; }
.gx-split { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.gx-split img { border-radius:18px; box-shadow:var(--sh); width:100%; object-fit:cover; }
.gx-head { margin-bottom:34px; }

/* Facts strip */
.gx-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; background:#fff; border-radius:var(--r); box-shadow:var(--sh); margin-top:-38px; position:relative; z-index:2; }
.gx-facts div { padding:22px 20px; text-align:center; border-right:1px solid var(--line); }
.gx-facts div:last-child { border-right:0; }
.gx-facts strong { display:block; font-family:"Catamaran",sans-serif; font-size:24px; color:var(--ink); }
.gx-facts span { font-size:14px; color:var(--muted); }

/* Route table */
.gx-table-wrap { overflow-x:auto; border-radius:var(--r); border:1px solid var(--line); background:#fff; }
.gx-table { width:100%; border-collapse:collapse; font-size:15px; }
.gx-table th, .gx-table td { padding:14px 18px; text-align:left; border-bottom:1px solid var(--line); }
.gx-table th { background:var(--ink); color:#fff; font-weight:700; }
.gx-table tr:last-child td { border-bottom:0; }
.gx-table td a { font-weight:700; text-decoration:none; }
.gx-note { font-size:14px; color:var(--muted); margin-top:12px; }

/* Chips */
.gx-chips { list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:18px 0 0; }
.gx-chips li, .gx-chips a { background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600; color:var(--ink); text-decoration:none; }
.gx-chips a:hover { border-color:var(--gold); }
.gx-dark .gx-chips li, .gx-dark .gx-chips a { background:var(--ink-2); border-color:#34343c; color:#fff; }

/* Steps */
.gx-steps { counter-reset:step; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.gx-step { position:relative; padding:24px; border-radius:var(--r); background:#fff; border:1px solid var(--line); }
.gx-step::before { counter-increment:step; content:counter(step); width:38px; height:38px; border-radius:50%; background:var(--ink); color:var(--gold); font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:12px; font-family:"Catamaran",sans-serif; font-size:18px; }

/* Fleet */
.gx-fleet .gx-card { text-align:center; }
.gx-fleet img { height:150px; width:auto; margin:0 auto 14px; object-fit:contain; }
.gx-spec { list-style:none; padding:0; margin:12px 0 0; display:flex; justify-content:center; gap:16px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.gx-spec i { color:var(--gold-d); margin-right:4px; }

/* Airports strip */
.gx-airports { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; align-items:center; }
.gx-airports div { background:#fff; border:1px solid var(--line); border-radius:12px; height:84px; display:flex; align-items:center; justify-content:center; padding:12px; }
.gx-airports img { max-height:56px; width:auto; }

/* Reviews */
.gx-review { display:flex; flex-direction:column; }
.gx-stars { color:var(--gold); letter-spacing:2px; font-size:16px; margin-bottom:10px; }
.gx-review p { font-style:italic; }
.gx-review .gx-who { margin-top:auto; display:flex; align-items:center; gap:12px; font-weight:700; color:var(--ink); }
.gx-review .gx-who img { width:44px; height:44px; border-radius:50%; object-fit:cover; }

/* FAQ */
.gx-faq details { background:#fff; border:1px solid var(--line); border-radius:12px; margin-bottom:12px; padding:0 22px; }
.gx-faq summary { cursor:pointer; list-style:none; padding:18px 0; font-weight:700; color:var(--ink); font-family:"Catamaran",sans-serif; font-size:18px; position:relative; padding-right:30px; }
.gx-faq summary::-webkit-details-marker { display:none; }
.gx-faq summary::after { content:"+"; position:absolute; right:0; top:14px; font-size:24px; color:var(--gold-d); }
.gx-faq details[open] summary::after { content:"–"; }
.gx-faq details p { padding-bottom:18px; margin:0; }

/* CTA band */
.gx-cta { background:linear-gradient(120deg,#0d0d0f 0%, #24242b 100%); border-radius:22px; padding:44px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.gx-cta h2 { color:#fff; margin:0 0 6px; }
.gx-cta p { color:#cfcfd5; margin:0; }

/* Apps */
.gx-apps { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.gx-apps img { height:48px; width:auto; border-radius:8px; }

/* Forms on content pages (contact / corporate) */
.gx-form .form-control { background:#fff; color:#0d0d0f; padding:10px 12px; height:46px; border-radius:10px; border:1px solid #d9d6cf; box-shadow:none; font-size:15px; }
.gx-form textarea.form-control { height:auto; }
.gx-form label { font-weight:600; font-size:14px; color:var(--ink); }
.gx-form .form-group { margin-bottom:16px; }
.gx-form h3 { margin-top:10px; padding-top:14px; border-top:1px solid var(--line); }
.gx-form h3:first-child { border-top:0; padding-top:0; margin-top:0; }
.gx-form .gx-submit { border:0; background:var(--gold); color:var(--ink); font-weight:800; border-radius:12px; padding:14px 34px; font-size:16px; }
.gx-contact-list { list-style:none; padding:0; margin:0; }
.gx-contact-list li { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid #2c2c33; }
.gx-contact-list li:last-child { border-bottom:0; }
.gx-contact-list i { color:var(--gold); font-size:20px; width:24px; margin-top:3px; }
.gx-contact-list a, .gx-contact-list span { color:#fff; text-decoration:none; font-weight:600; }
.gx-contact-list small { display:block; color:#a9a9b1; font-weight:400; }
.gx-map iframe { width:100%; height:380px; border:0; display:block; border-radius:18px; }

/* Responsive */
@media (max-width:991px) {
  .gx-hero-grid, .gx-split { grid-template-columns:1fr; gap:30px; }
  .gx-g3, .gx-g4, .gx-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gx-airports { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gx-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gx-facts div:nth-child(2) { border-right:0; }
  .gx-facts div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}
@media (max-width:640px) {
  .gx-section { padding:52px 0; }
  .gx-g2, .gx-g3, .gx-g4, .gx-steps { grid-template-columns:1fr; }
  .gx-ticks { grid-template-columns:1fr; }
  .gx-airports { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gx-hero > .gx-wrap { padding-top:36px; padding-bottom:40px; }
  .gx-quote { padding:20px 16px 16px; }
  .gx-quote .gx-two { grid-template-columns:1fr; }
  .gx-cta { padding:30px 22px; }
  .gx-facts { margin-top:24px; }
  .gx-hero .gx-trust { display:none; }
  .gx-hero p { font-size:16px; }
}
