/* Mobile menu fix: ensure inline dropdown menu opens on mobile */
@media (max-width: 800px) {
  #site-navigation.toggled .main-nav > ul,
  .main-navigation.toggled .main-nav > ul {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Logo alignment: right for Arabic (RTL), left for English (LTR) */
body.rtl .inside-header {
  flex-direction: row-reverse;
}
body.rtl .inside-header .main-navigation:not(.mobile-menu-control-wrapper) {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Slightly larger main navigation menu font */
.main-navigation .main-nav ul li a,
#menu-home-arabic li a {
  font-size: 16px !important;
}

/* Feature-card Lucide icons: restore outline style + slightly larger size */
.gb-shape svg.lucide {
  width: 1.7em !important;
  height: 1.7em !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
}

/* ===== Contact page professional layout (Arabic 21138 + English 21441) ===== */
.page-id-21138 .entry-content,
.page-id-21441 .entry-content {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

/* Intro heading + paragraph spacing */
.page-id-21138 .entry-content > h2:first-child,
.page-id-21441 .entry-content > h2:first-child {
  text-align: center;
  margin-bottom: 14px;
}
.page-id-21138 .entry-content > h2:first-child + p,
.page-id-21441 .entry-content > h2:first-child + p {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 10px;
  color: #4b5563;
  line-height: 1.9;
}

/* Two-column form + info: align to top, add breathing room */
.gb-element-4048722b {
  align-items: stretch !important;
}
.gb-element-4048722b > * {
  align-self: start;
}

/* The form column card: pad nicely and don't stretch empty space */
.gb-element-329348a9 {
  align-self: start !important;
  height: auto !important;
}

/* Prevent address / info text from wrapping into ugly narrow column */
.gb-element-dc3dab4b,
.gb-element-9f63ea1f,
.gb-element-7afcf0c7 {
  margin-bottom: 14px !important;
}

/* ===== FAQ heading (Rank Math) ===== */
/* Add a section title above the FAQ (per language) */
.rank-math-block::before {
  display: block;
  text-align: center;
  font-size: 28px;
  font-weight: 800;
  color: #0f2a37;
  margin-bottom: 26px;
}
.page-id-21138 .rank-math-block::before { content: "الأسئلة الشائعة"; }
.page-id-21441 .rank-math-block::before { content: "Frequently Asked Questions"; }

/* Address block fix: text was display:flex causing per-word wrapping */
.gb-element-44c4334c { align-items: flex-start !important; }
.gb-element-44c4334c .gb-text.gb-text-4b2d3f81 {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0;
  font-size: 16px !important;
  line-height: 1.9;
  white-space: normal !important;
}
.gb-element-44c4334c .gb-text.gb-text-4b2d3f81 strong { font-size: 18px; display: inline-block; margin-bottom: 6px; }
.gb-element-44c4334c .gb-shape { flex: 0 0 auto !important; }
/* Contact info rows: consistent vertical alignment */
.gb-element-dc3dab4b, .gb-element-9f63ea1f, .gb-element-7afcf0c7 {
  align-items: center !important;
}

/* ===== Intro hero refinement (contact page) ===== */
.page-id-21138 .entry-content > h2:first-child,
.page-id-21441 .entry-content > h2:first-child {
  position: relative;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  color: #0f2a37;
  text-align: center;
  margin: 8px auto 22px;
  padding-bottom: 20px;
  letter-spacing: -0.3px;
}
.page-id-21138 .entry-content > h2:first-child::before,
.page-id-21441 .entry-content > h2:first-child::before {
  content: "";
  display: block;
  width: 46px;
  height: 4px;
  border-radius: 4px;
  background: #16a085;
  margin: 0 auto 16px;
}
.page-id-21138 .entry-content > h2:first-child::after,
.page-id-21441 .entry-content > h2:first-child::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 120px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d1d5db, transparent);
}
.page-id-21138 .entry-content > h2:first-child + p,
.page-id-21441 .entry-content > h2:first-child + p {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 40px;
  color: #52606d;
  font-size: 18px;
  line-height: 2;
}
@media (max-width: 880px) {
  .page-id-21138 .entry-content > h2:first-child + p,
  .page-id-21441 .entry-content > h2:first-child + p { font-size: 16px; line-height: 1.9; margin-bottom: 28px; }
}
 
/* ===== Arabic contact header overlap fix (retired 21 Jul 2026) =====
   The root cause was the site-wide GP "Header merge" element (1774) floating
   the header over content; merge is now disabled so the old 150px compensation
   would just create a huge gap. Keep a small comfortable offset instead. */
.page-id-21138 .site-main {
  padding-top: 30px;
}
 

/* ===== Fix: bare internal-links paragraph outside GenerateBlocks container (all pages) ===== */
@media (max-width: 767px) {
  
}

/* Orphan content fix — align stray blocks to the 1200px reading column like the EN pages */
.inside-article > p,
.inside-article > .wp-block-paragraph {
  max-width: 1200px;
  margin-inline: auto;
  padding: 0 40px;
  box-sizing: border-box;
}
@media (max-width: 880px) {
  .inside-article > p,
  .inside-article > .wp-block-paragraph {
    padding: 0 20px;
  }
}

/* Fix: GenerateBlocks stats grid + CTA spacing on fleet pages (missing generated CSS) */
.gb-element-28553a40{column-gap:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0px;padding-left:0px;row-gap:2rem}
.gb-element-284c4993{margin-bottom:3rem}

/* Fix: GenerateBlocks 2-column layouts (Numbers + CTA) & list styling on fleet pages */
.gb-element-1b9104c5{column-gap:5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;margin-right:auto}
.gb-element-c5036809{align-items:center;column-gap:5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;margin-right:auto}
@media (max-width:1024px){.gb-element-1b9104c5{grid-template-columns:1fr}.gb-element-c5036809{display:block}}
.gb-element-dbf9a553,.gb-element-e812687d,.gb-element-baf3d3ca,.gb-element-3a3b1a71{list-style-type:none}
.gb-element-0e5134f0{column-gap:1rem;display:flex;margin-top:2rem}
/* language-scoped (2026-07-22): these GB uniqueIds are SHARED by the AR and EN
   fleet pages — right stays for Arabic, English reads left */
body.rtl .gb-element-b9568293, body.rtl .gb-element-05b53aaf{text-align:right}
body:not(.rtl) .gb-element-b9568293, body:not(.rtl) .gb-element-05b53aaf{text-align:left}

/* Fix: GenerateBlocks layouts for Range Rover, V-Class, E-Class & Fleet listing pages */
.gb-element-16179d63{column-gap:5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:auto;margin-right:auto}@media (max-width:1024px){.gb-element-16179d63{grid-template-columns:1fr;margin-left:auto;margin-right:auto}}
.gb-element-d8c684bb{column-gap:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0px;padding-left:0px;row-gap:2rem}
.gb-element-8a8350d2,.gb-element-619db6d3,.gb-element-cd777e1a,.gb-element-44b2e535{list-style-type:none}
.gb-element-ff7d3313{margin-bottom:3rem}
.gb-element-8443debc{margin-bottom:3rem}
.gb-element-de19e44c{column-gap:1rem;display:flex;margin-top:2rem}
.gb-element-4a99d122{column-gap:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0px;padding-left:0px;row-gap:2rem}
body.rtl .gb-element-4a99d122{text-align:right}
body:not(.rtl) .gb-element-4a99d122{text-align:left}
.gb-element-d9238fd1,.gb-element-78374b78,.gb-element-b1784138,.gb-element-508a5cb7{list-style-type:none}
.gb-element-ce5ecdde{margin-bottom:3rem}
.gb-element-adf2e76c{align-items:center;column-gap:2rem;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-items:center;margin-left:auto;margin-right:auto;max-width:var(--gb-container-width);row-gap:3rem}@media (max-width:1024px){.gb-element-adf2e76c{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.gb-element-adf2e76c{grid-template-columns:1fr}}
/* EN LTR fix - added 2026-07-15 */
html:not([dir="rtl"]) .has-text-align-right { text-align: left; }

/* Hero spacing fix v2 — 21 Jul 2026: AR homepage hero uses different GB ids
   (section a2fd9f9c / inner b6649bb9) than EN (86361667 / d2862f5d); apply
   the same measurements to both so the booking widget sits identically. */
.gb-element-d2862f5d,
.gb-element-b6649bb9 {
  top: 0 !important;
  bottom: 0 !important;
}
section.gb-element-86361667,
section.gb-element-a2fd9f9c {
  padding-top: 24px;
  padding-bottom: 40px;
}
section.gb-element-86361667 .gb-element-d2862f5d > .wp-block-group,
section.gb-element-a2fd9f9c .gb-element-b6649bb9 > .wp-block-group {
  margin-top: 0 !important;
}
section.gb-element-86361667 .wp-block-group__inner-container,
section.gb-element-a2fd9f9c .wp-block-group__inner-container {
  padding-top: 8px;
  padding-bottom: 16px;
}
section.gb-element-86361667 .chbs-main .chbs-main-content,
section.gb-element-a2fd9f9c .chbs-main .chbs-main-content {
  margin-top: 0 !important;
}
@media (max-width: 768px) {
  section.gb-element-86361667,
  section.gb-element-a2fd9f9c {
    padding-top: 32px;
    padding-bottom: 24px;
    padding-left: 2px;
    padding-right: 2px;
  }
  section.gb-element-86361667 .wp-block-group__inner-container,
  section.gb-element-a2fd9f9c .wp-block-group__inner-container {
    padding-top: 4px;
    padding-left: 10px;
    padding-right: 10px;
  }
}


/* =========================================================================
   Tripyana — Arabic booking page (/ar/online-bookings/) RTL fixes
   Scoped to Arabic (body.rtl) and/or the AR booking page (.page-id-21145).
   Does NOT affect the English version.
   ========================================================================= */

/* Task 2a — Price summary total: separate label and amount in RTL */
body.rtl .chbs-summary-price-element-total {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body.rtl .chbs-summary-price-element-total > span:last-child {
  position: static !important;
  right: auto !important;
  left: auto !important;
  margin-inline-start: auto;
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* Task 2b — Quantity counter (booking extras): clear label + buttons in RTL */
body.rtl .chbs-form-field > label {
  display: block;
  float: none;
  width: 100%;
  margin: 0 0 8px 0;
  text-align: right;
}
body.rtl .chbs-quantity-section {
  width: 130px;
  height: 40px;
}
body.rtl .chbs-quantity-section input {
  text-align: center;
  padding: 0 40px !important;
  height: 40px;
  box-sizing: border-box;
}
/* Place +/- buttons side by side on the left of the input, vertically centered */
body.rtl .chbs-quantity-section .chbs-quantity-section-button {
  top: 0 !important;
  bottom: auto !important;
  height: 40px !important;
  line-height: 40px !important;
}
body.rtl .chbs-quantity-section .chbs-meta-icon-plus {
  right: auto !important;
  left: 0 !important;
}
body.rtl .chbs-quantity-section .chbs-meta-icon-minus {
  right: 0 !important;
  left: auto !important;
}

/* Task 3a — Payment method label inside the box next to the wallet icon (RTL) */
body.rtl ul.chbs-payment .chbs-payment-name {
  display: inline !important;
  position: relative !important;
  top: -15px !important;
  left: 10px !important;
  right: auto !important;
  margin-top: 0 !important;
  margin-inline-start: 14px !important;
  line-height: 130px !important;
  font-size: 18px !important;
  text-align: center;
}
/* Task 3b — Payment boxes width aligned with the other boxes */
body.rtl ul.chbs-payment {
  position: relative;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

/* Task 4 — Space between "تعديل" (edit) button and section headings */
body.rtl .chbs-summary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
body.rtl .chbs-summary-header > a {
  float: none !important;
  margin: 0 0 0 4px;
}

/* Task 5 — Booking page intro paragraph: smaller font size */
.page-id-21145 .entry-content > p.wp-block-paragraph {
  font-size: 17px;
  line-height: 1.6;
}

/* Task 6 — Discount bar at top not clipped under the sticky header */
.page-id-21145 .entry-content > div:first-child {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .page-id-21145 .entry-content > div:first-child {
    margin-top: 30px;
  }
}


/* ==================================================================
   CLAUDE FIXES 2026-07-16  (appended; remove this block to revert)
   ================================================================== */

/* Fix #1: Fleet card buttons vertical spacing on mobile */
@media (max-width: 768px) {
  .gbp-button--primary + .gbp-button--primary {
    margin-top: 12px !important;
  }
}

/* Fix #4: Center footer content horizontally (both LTR & RTL) */
footer.gb-element-42095101 > .wp-block-group {
  margin-left: auto !important;
  margin-right: auto !important;
}
footer.gb-element-42095101 .gb-element-df22f01d {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fix #5: Slightly larger, more comfortable body text site-wide
   (overrides existing body:not(.rtl)/html[lang] 16px rules) */
body:not(.rtl),
html[lang="en"] body,
body.rtl,
html body {
  font-size: 17.5px;
  line-height: 1.7;
}
.entry-content p:not(.rank-math-breadcrumb p),
.entry-content li,
p.wp-block-paragraph {
  font-size: 17.5px;
  line-height: 1.7;
}
/* keep breadcrumbs at their original size */
.rank-math-breadcrumb, .rank-math-breadcrumb p, .rank-math-breadcrumb a,
.rank-math-breadcrumb span { font-size: 13px; }
@media (max-width: 768px) {
  body:not(.rtl), html[lang="en"] body, body.rtl, html body {
    font-size: 17px;
    line-height: 1.7;
  }
  .entry-content p:not(.rank-math-breadcrumb p), .entry-content li, p.wp-block-paragraph {
    font-size: 17px;
    line-height: 1.7;
  }
}

/* Fix #6 (retired 21 Jul 2026): step-button arrow flip is now handled by the
   plugin's own public.rtl.css (enqueued via "CHBS RTL Stylesheet Enqueue"
   snippet) which flips next and keeps prev — our unconditional double flip
   here would point the prev arrow the wrong way. */

/* Fix #8: Trust signals - 3 styled cards with icons (matches brand) */
.tripyana-trust-section {
  margin: 30px 0;
}
.tripyana-trust-grid-simple {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.tripyana-trust-signal {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 26px 20px;
  background: #ffffff;
  border: 1px solid rgba(16,56,45,0.12);
  border-radius: 15px;
  box-shadow: 0 4px 14px rgba(16,56,45,0.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tripyana-trust-signal:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(16,56,45,0.12);
}
.tripyana-trust-signal::before {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 6px;
  border-radius: 50%;
  background: #10382D;
  color: #E3C47F;
  font-size: 26px;
  line-height: 1;
}
.tripyana-trust-signal:nth-child(1)::before { content: "\2713"; }   /* check - officially registered */
.tripyana-trust-signal:nth-child(2)::before { content: "\21BA"; }   /* refresh/cancel - free cancellation */
.tripyana-trust-signal:nth-child(3)::before { content: "\260E"; }   /* phone - 24/7 support */
.tripyana-trust-signal strong {
  font-size: 18px;
  font-weight: 700;
  color: #10382D;
}
.tripyana-trust-signal span {
  font-size: 15.5px;
  line-height: 1.55;
  color: #61626f;
}
@media (max-width: 768px) {
  .tripyana-trust-grid-simple {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}


/* Task 4a — RTL: add spacing between vehicle label and its price in summary */
body.rtl .chbs-summary-price-element-vehicle-fee {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Fix: remove default bottom margin on footer copyright paragraph to eliminate small empty space below footer (mobile & desktop) */
.gb-element-b16196a8 > p:last-child,
.gb-element-b16196a8 .gb-text-eb4a8fa5 {
  margin-bottom: 0 !important;
}

/* CLS fix: reserve booking-form space while it initializes (added 2026-07-20) */
.chbs-main[class*="chbs-booking-form-id"].chbs-hidden {
	display: block !important;
	visibility: hidden !important;
}


/* A11y fix (2026-07-20): footer green links were 4.25:1 on the light lavender bg — darken to ~5.5:1. Icon links (gb-text-*) excluded to keep their own styling */
footer.gb-element-42095101 a:not([class*="gb-text-"]) {
	color: #276A25 !important;
}

/* A11y fix (2026-07-20): in-content links relied on colour alone — add underline (buttons excluded) */
p.gb-text a:not(.gb-button) {
	text-decoration: underline !important;
}


/* CLS fix #2 (2026-07-20): pre-init, BOTH booking-form tab panels render stacked (974px) while the initialized form shows one (632px) — the 342px collapse was desktop lab CLS 0.36. Hide non-first panels only while the form still has .chbs-hidden (pre-init); the plugin manages them afterwards. */
.chbs-main .chbs-tab > div:not(:first-of-type):not(.ui-tabs-panel) {
	display: none !important;
}



/* LCP (2026-07-20): serve the 28KB 1024w hero variant on phones instead of the 67KB original; preload with matching media queries lives in mu-plugins/font-loading-fixes.php */
@media (max-width: 600px) {
	.gb-element-86361667,
	.gb-element-a2fd9f9c {
		background-image: url(https://tripyana.com/wp-content/uploads/2026/01/Mercedes-Benz-S-Class-1024x574.webp) !important;
	}
}


/* Perf option-1 (2026-07-20): on phones, skip layout/paint of below-fold homepage sections until the user scrolls near them (cuts "element render delay"). First .entry-content child = hero + booking form, stays fully rendered. */
@media (max-width: 768px) {
	body.home .entry-content > *:not(:first-child):not(script),
	body.home .site-footer {
		content-visibility: auto;
		contain-intrinsic-size: auto 800px;
	}
}


/* --- Pre-init booking form skeleton (2026-07-20) ---
   Approximates the final tab-bar look before jquery.chauffeurBookingForm
   builds the UI on cold first visits. Every rule is scoped to
   .chbs-tab:not(.ui-tabs) so it stops applying the instant jQuery UI
   initializes the tabs (values mirror the initialized computed styles). */
.chbs-tab:not(.ui-tabs) > ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.chbs-tab:not(.ui-tabs) > ul li {
  margin: 0;
  padding: 0;
  flex: 1;
  list-style: none;
}
.chbs-tab:not(.ui-tabs) > ul li a {
  display: block;
  text-align: center;
  padding: 20px 10px;
  font-size: 13px;
  letter-spacing: .35px;
  text-transform: uppercase;
  text-decoration: none;
  background: #fff;
  color: #778591;
  border-bottom: 2px solid #338c83;
}
.chbs-tab:not(.ui-tabs) > ul li:first-child a {
  background: #338c83;
  color: #fff;
}
.chbs-tab:not(.ui-tabs) select {
  border: 0;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  color: inherit;
  padding: 0;
}


/* Task 6 (20 Jul 2026) — AR booking form polish:
   labels were flush against the field edge in RTL; dropdown text a bit large. */
body.rtl .chbs-main .chbs-form-field > label {
  padding-inline: 20px;
  box-sizing: border-box;
}
/* Slightly smaller, lighter selected-value text in dropdown buttons (was 18px bold 700) */
body.rtl .chbs-main .ui-selectmenu-button .ui-selectmenu-text {
  font-size: 16px;
  font-weight: 400;
}
/* Slightly smaller items in the open dropdown list (was 18px) */
body.rtl .chbs-main .ui-selectmenu-menu .ui-menu,
body.rtl .chbs-main .ui-selectmenu-menu .ui-menu .ui-menu-item,
body.rtl .chbs-main .ui-selectmenu-menu .ui-menu .ui-menu-item-wrapper {
  font-size: 15px;
}

/* Task 6b (20 Jul 2026) — RTL: mirror the LTR dropdown layout.
   English: value bottom-left, arrow far right. Arabic mirror: value on the
   right (under the label), arrow far LEFT. Covers both the pre-init jQuery UI
   icon class and the chbs replacement icon class. */
body.rtl .chbs-main .ui-selectmenu-button .ui-selectmenu-icon,
body.rtl .chbs-main .ui-selectmenu-button [class*="chbs-meta-icon-arrow"] {
  float: left;
}
body.rtl .chbs-main .ui-selectmenu-button .ui-selectmenu-text {
  text-align: right;
}

/* Task 7 (21 Jul 2026) — AR booking widget consistency pass */
/* 7a: "Book Now" button on the LEFT in RTL (mirror of the LTR bottom-right).
   Selector strength must beat .chbs-main.chbs-widget.chbs-widget-style-1 .chbs-button-widget-submit */
body.rtl .chbs-main.chbs-widget a.chbs-button-widget-submit {
  float: left;
}
/* 7b: calendar prev/next arrows were stacked on the same corner in RTL —
   pin them to opposite corners (prev on the right, next on the left) */
body.rtl .ui-datepicker .ui-datepicker-prev {
  right: 2px !important;
  left: auto !important;
}
body.rtl .ui-datepicker .ui-datepicker-next {
  left: 2px !important;
  right: auto !important;
}
/* 7c: entered text (locations, date, time) matches dropdown values: 16px regular */
body.rtl .chbs-main .chbs-form-field input[type="text"] {
  font-size: 16px;
  font-weight: 400;
}
/* 7d: stronger section tab titles (توصيل المطار / سائق خاص بالساعة).
   Selector strength must beat .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li > a */
body.rtl .chbs-main .chbs-tab.ui-tabs .ui-tabs-nav > li > a {
  font-weight: 700;
  font-size: 14px;
}

/* 7b-2: clean chevron arrows inside the calendar prev/next circles (RTL).
   The jQuery UI sprite icon renders as a stray glyph; hide it and draw a
   border-based chevron instead. prev sits on the right → points right,
   next sits on the left → points left. */
body.rtl .ui-datepicker .ui-datepicker-prev span.ui-icon,
body.rtl .ui-datepicker .ui-datepicker-next span.ui-icon {
  text-indent: -9999px;
  overflow: hidden;
  background: none;
}
body.rtl .ui-datepicker .ui-datepicker-prev::before,
body.rtl .ui-datepicker .ui-datepicker-next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #338c83;
  border-right: 2px solid #338c83;
  transform: translate(-60%, -50%) rotate(45deg);
}
body.rtl .ui-datepicker .ui-datepicker-next::before {
  transform: translate(-40%, -50%) rotate(-135deg);
}
body.rtl .ui-datepicker .ui-datepicker-prev.ui-state-disabled::before,
body.rtl .ui-datepicker .ui-datepicker-next.ui-state-disabled::before {
  border-color: #c8cdd2;
}

/* 7b-3: RTL stylesheets flip the datepicker prev/next anchors with scaleX(-1)
   (meant for the old sprite icon) which would mirror our drawn chevrons —
   neutralize the transform on both; our ::before chevrons already point the
   correct way per corner. */
body.rtl .ui-datepicker .ui-datepicker-prev,
body.rtl .ui-datepicker .ui-datepicker-next {
  transform: none !important;
}

/* Task 8 (21 Jul 2026) — header merge disabled (GP element 1774): the header
   is back in normal flow, content no longer hides behind it site-wide. */

/* 8a: hero headline readability — service pages open with a dark image hero
   (.gbp-section pattern) whose headline/sub-text were dark-on-dark. Make the
   FIRST section's text white; sibling sections restore the original colors. */
.entry-content > .gbp-section .gbp-section__headline {
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
.entry-content > .gbp-section .gbp-section__text {
  color: #f3f4f6;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}
.entry-content > .gbp-section ~ .gbp-section .gbp-section__headline,
.entry-content > section ~ .gbp-section .gbp-section__headline,
body.home .entry-content > .gbp-section .gbp-section__headline {
  color: #2d2f43;
  text-shadow: none;
}
.entry-content > .gbp-section ~ .gbp-section .gbp-section__text,
.entry-content > section ~ .gbp-section .gbp-section__text,
body.home .entry-content > .gbp-section .gbp-section__text {
  color: #1f2937;
  text-shadow: none;
}
/* 8a-fix (21 Jul 2026): the white-headline rule is meant ONLY for pages that
   OPEN with a dark gbp-section hero (service/fleet/VIP pages). The homepage's
   first gbp-section is the light "fleet" section (its hero is a different
   <section> pattern) — the two extra selectors above restore its dark text:
   any gbp-section preceded by a <section> sibling, and anything on body.home. */

/* Task 9 (21 Jul 2026) — tighten the big empty band between page body and
   footer: the last CTA gbp-section carries 112px bottom padding and the
   footer wrapper 80px top padding. Both languages. */
.entry-content > div.gbp-section:last-of-type {
  padding-bottom: 28px !important;
}
.site-footer > [class*="gb-element"]:first-child {
  padding-top: 36px !important;
}

/* Range Rover card book button (695bd56f): the London pricing widget styles
   a.lonw-open-wa with 15px radius !important — outrank it so this card button
   keeps the same 999px pill as the other fleet cards. */
a.gb-text-695bd56f.lonw-open-wa,
.gb-text-695bd56f {
  border-radius: 999px !important;
}

/* Remove the gray band between page content and the footer (22 Jul 2026):
   the article's theme bottom-padding exposed the light-gray body
   background (#f7f8fa) as a full-width strip above the lavender footer. */
.site-main > article.page { padding-bottom: 0 !important; }

/* Homepage services cards equal height — the Learn-more buttons sit on one
   horizontal line (22 Jul 2026). Same block ids on AR (page 2) and EN (48).
   Cards are flex columns; margin-top:auto pins the button to the bottom. */
@media (min-width: 768px) {
  .gb-element-746b7b6c { align-items: stretch !important; }
  .gb-element-746b7b6c > [class*="gb-element"] { height: 100% !important; }
  .gb-element-746b7b6c a.gb-text.gbp-button--primary { margin-top: auto !important; }
}

/* ===== Travel-guide hub page redesign (page 25326, 22 Jul 2026) =====
   Destination cards + service chips + dark CTA, matching the homepage
   card language (white cards, 1.5rem radius, brand green #10382D /
   gold family). Buttons reuse the global gbp-button--primary system. */
.page-id-25326 .tg-intro { max-width: 860px; margin: 0 auto 2.5rem; }
.page-id-25326 .tg-lead { font-size: 1.06rem; line-height: 1.9; color: #1f2937; text-align: center; }

.page-id-25326 .tg-grid > .wp-block-group__inner-container {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem; align-items: stretch; max-width: 1300px; margin: 0 auto 3rem;
}
@media (max-width: 1024px) { .page-id-25326 .tg-grid > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .page-id-25326 .tg-grid > .wp-block-group__inner-container { grid-template-columns: 1fr; } }

.page-id-25326 .tg-card {
  display: flex; flex-direction: column; height: 100%;
  background: #ffffff; border: 1px solid rgba(45, 47, 67, 0.12);
  border-radius: 1.5rem; overflow: hidden;
  box-shadow: 0px 1px 2px 1px rgba(186, 182, 191, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.page-id-25326 .tg-card:hover {
  transform: translate3d(0, -0.4rem, 0);
  box-shadow: 0px 20px 25px -6px rgba(186, 182, 191, 0.35);
}
.page-id-25326 .tg-card > .wp-block-group__inner-container { display: flex; flex-direction: column; height: 100%; }
.page-id-25326 .tg-card-media { margin: 0; }
.page-id-25326 .tg-card-media img { width: 100%; height: 210px; object-fit: cover; display: block; }
.page-id-25326 .tg-card-title { font-size: 1.3rem; color: #10382D; margin: 1.25rem 1.5rem 0.5rem; }
.page-id-25326 .tg-card-sub { color: #4b5563; font-size: 0.95rem; margin: 0 1.5rem 0.75rem; }
.page-id-25326 .tg-links { list-style: none; margin: 0 1.5rem 1.25rem; padding: 0; }
.page-id-25326 .tg-links li { margin: 0; padding: 0.6rem 0; border-bottom: 1px solid rgba(45, 47, 67, 0.08); }
.page-id-25326 .tg-links li:last-child { border-bottom: 0; }
.page-id-25326 .tg-links a { color: #1f2937; text-decoration: none; font-size: 0.95rem; display: block; transition: color 0.15s ease, padding 0.15s ease; }
.page-id-25326 .tg-links a:hover { color: #10382D; padding-inline-start: 4px; }
.page-id-25326 .tg-card-btn { margin: auto 1.5rem 1.5rem !important; text-align: center; }

.page-id-25326 .tg-services {
  background: #EDE9F7; border-radius: 1.5rem;
  padding: 2.5rem clamp(1.2rem, 4vw, 3rem); margin: 0 auto 3rem; max-width: 1300px;
  text-align: center;
}
.page-id-25326 .tg-section-title { color: #10382D; font-size: 1.5rem; margin-bottom: 0.5rem; }
.page-id-25326 .tg-section-sub { color: #1f2937; max-width: 760px; margin: 0 auto 1.5rem; }
.page-id-25326 .tg-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin: 0; padding: 0; }
.page-id-25326 .tg-chips li { margin: 0; }
.page-id-25326 .tg-chips a {
  display: inline-block; background: #ffffff; color: #10382D; font-weight: 500;
  border: 1px solid rgba(16, 56, 45, 0.25); border-radius: 9999px;
  padding: 0.55rem 1.15rem; font-size: 0.9rem; text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.page-id-25326 .tg-chips a:hover { background: #10382D; color: #E3C47F; border-color: #10382D; }

.page-id-25326 .tg-cta {
  background: linear-gradient(135deg, #0d2b23, #10382D); border-radius: 1.5rem;
  padding: 3rem clamp(1.2rem, 4vw, 3rem); margin: 0 auto 1rem; max-width: 1300px;
  text-align: center;
}
.page-id-25326 .tg-cta-title { color: #E3C47F; font-size: 1.6rem; margin-bottom: 0.75rem; }
.page-id-25326 .tg-cta-sub { color: #f3f4f6; max-width: 700px; margin: 0 auto 1.5rem; }
.page-id-25326 .tg-cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.page-id-25326 .tg-cta-buttons a {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 9999px !important; padding: 0.8rem 1.9rem !important;
  font-weight: 700 !important; text-decoration: none !important;
  transition: filter 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.page-id-25326 .tg-cta-buttons a[href*="online-booking"] {
  background: #d4af37 !important;
  color: #0c211a !important; border: 1px solid transparent !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
}
.page-id-25326 .tg-cta-buttons a[href*="online-booking"]:hover { filter: brightness(1.08); }
.page-id-25326 .tg-cta-buttons a[href*="wa.me"] {
  background: transparent !important; color: #d4af37 !important;
  border: 1.5px solid #d4af37 !important; box-shadow: none !important;
}
.page-id-25326 .tg-cta-buttons a[href*="wa.me"]:hover { background: rgba(201, 162, 75, 0.15) !important; }

/* ===== Archive pagination polish (Claude 2026-07-22) =====
   Category/tag archives (GP .paging-navigation). The numbered bar already
   contains prev/next links, so GP's separate chevron + "older/newer posts"
   row above it is hidden as a duplicate. */
.paging-navigation .nav-previous,
.paging-navigation .nav-next { display: none !important; }
.paging-navigation {
  display: flex; justify-content: center;
  padding: 14px 0 6px; margin-top: 10px;
}
.paging-navigation .nav-links {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 8px;
}
.paging-navigation .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 14px; gap: 6px;
  border-radius: 9999px; border: 1px solid #d9d4e3; background: #fff;
  color: #2D2F43; font-weight: 600; line-height: 1; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.paging-navigation a.page-numbers:hover {
  background: #14432f; border-color: #14432f; color: #fff;
}
.paging-navigation .page-numbers.current {
  background: #14432f; border-color: #14432f; color: #d4af37;
}
.paging-navigation .page-numbers.dots {
  border: none; background: transparent; min-width: 24px; padding: 0;
}
@media (max-width: 480px) {
  .paging-navigation .page-numbers { min-width: 38px; height: 38px; padding: 0 11px; }
}
/* RTL: mirror the ← / → glyphs inside the numbered bar so "next" points left */
body.rtl .paging-navigation .nav-links span[aria-hidden="true"] {
  display: inline-block; transform: scaleX(-1);
}

/* RTL: mirror the right-pointing arrow icon on card read-more links
   (archive template "اقرأ المزيد" + blog loop "تابع قراءة المقال") */
body.rtl a.gb-text-1aa96799 .gb-shape svg,
body.rtl a.gb-text-15420da3 .gb-shape svg { transform: scaleX(-1); }

/* ===== FAQ contact button → inquiry-form opener (Claude 2026-07-22) ===== */
/* center the converted button whatever the parent layout is */
a.lonw-faq-center {
  width: fit-content !important;
  margin-left: auto !important; margin-right: auto !important;
  justify-self: center !important;
}
/* colors/radius intentionally NOT set here — the button inherits the approved
   gold form-trigger pill (bg #C9A24B, text #10382D) from snippet 25926's
   a.lonw-open-form x4 rule, same as the landing-page أرسل استفسارك buttons.
   Only layout belongs here. */
a.lonw-open-form.lonw-open-form.lonw-open-form.lonw-faq-center {
  display: flex !important; align-items: center !important;
  font-size: 17px !important;
}

/* ===== Booking form: date/time pair flush with row edge (Claude 2026-07-22) =====
   CHBS widget rule `.chbs-widget .chbs-form-field-pickup-date-time>div+div`
   pulls the 2nd field 1px (border-collapse trick) leaving a 1px background
   sliver at the row's outer edge (left in RTL, right in LTR). The adjacent
   border is already single (2nd field's inner border-width is 0), so the
   negative margin is unnecessary. */
.chbs-main.chbs-widget .chbs-form-field-pickup-date-time > div + div { margin-right: 0 !important; }

/* ===== أرسل استفسارك modal: submit button (Claude 2026-07-22) =====
   Fluent Forms' stylesheet is not loaded anywhere on this site, so the
   modal's submit button fell back to an invisible white-on-white default
   (landing pages included). Brand gold pill, same as the CHBS submit. */
#lonw-form-overlay .ff-btn-submit {
  display: block; width: 100%;
  background: linear-gradient(135deg, #D9B45E, #C9A24B) !important;
  background-color: #C9A24B !important;
  color: #10382D !important; -webkit-text-fill-color: #10382D !important;
  border: 1px solid #B8912F !important; border-radius: 12px !important;
  font-weight: 800 !important; font-size: 16px !important;
  padding: 13px 20px !important; margin-top: 8px; cursor: pointer;
  box-shadow: 0 6px 20px rgba(201, 162, 75, 0.3);
}
#lonw-form-overlay .ff-btn-submit:hover { filter: brightness(1.06); }

/* unify form-opener button layout: icon-first markup + flex gap (Claude 2026-07-22) */
a.lonw-open-form.lonw-open-form.lonw-open-form.lonw-open-form {
  display: inline-flex !important; align-items: center; justify-content: center;
  gap: .45em;
  /* deterministic icon-left placement: icon is first in markup; ltr flex row
     puts it visually left in BOTH language contexts (Arabic label is a single
     bidi run, unaffected). */
  direction: ltr;
}

/* re-center the post-FAQ button: the unification rule above forces inline-flex
   on all opener buttons, which makes auto margins inert (inline flow follows
   RTL text-align → button drifted right). 5-class specificity restores
   block-level flex so margin:auto centering works again. */
a.lonw-open-form.lonw-open-form.lonw-open-form.lonw-open-form.lonw-faq-center {
  display: flex !important;
}

/* ===== License badge: sit tight under the licence line (Claude 2026-07-22) =====
   The licence <p> carries the theme's 25px bottom margin; pull the badge up
   so the pair reads as one trust unit (~11px visual gap), both footers. */
.site-footer .gb-media-011a739f,
.site-footer .gb-media-c11a739e {
  margin-top: -14px !important;
}

/* Task 8: this CTA sits on a DARK panel — the global :has() demotion would
   paint an invisible emerald outline here; (0,4,1) re-assert keeps the gold
   dark-background secondary variant. */
body.page-id-25326 .tg-cta-buttons.tg-cta-buttons.tg-cta-buttons a.gbp-button--primary[href*="wa.me"] {
  background: transparent !important; color: #d4af37 !important;
  border: 1.5px solid #d4af37 !important; box-shadow: none !important;
}
body.page-id-25326 .tg-cta-buttons.tg-cta-buttons.tg-cta-buttons a.gbp-button--primary[href*="wa.me"] * { color: #d4af37 !important; }


/* Fix: Heathrow pricing section (.gb-element-e8a8c89a) text was cream on a white background */
.entry-content .gb-element-e8a8c89a .gb-text,
.entry-content .gb-element-e8a8c89a strong {
  color: #1F2937;
}
.entry-content .gb-element-e8a8c89a .gbp-section__headline,
.entry-content .gb-element-e8a8c89a .gbp-section__headline strong {
  color: #0C211A;
}
.entry-content .gb-element-e8a8c89a a {
  color: #1F6F3D;
}
.entry-content .gb-element-e8a8c89a .gb-text-0306c176,
.entry-content .gb-element-e8a8c89a .gb-text-0306c176 strong {
  color: #F7F5EF;
}
.entry-content .gb-element-e8a8c89a .gb-text-0306c176 a {
  color: #D4AF37;
}
.entry-content .gb-element-e8a8c89a .gbp-button--primary,
.entry-content .gb-element-e8a8c89a .tp-fleet__book {
  color: #0C211A;
}
