/* Approved mobile/iPad v2. Desktop retains the established layout. */
.fego-responsive-heading { display:contents; }

@media (max-width:1024px), (max-width:1366px) and (pointer:coarse) {
  .fego-wrap { width:calc(100% - 48px); }
  .fego-section { padding-block:52px; }
  .fego-grid { gap:20px; }
  .fego-grid > *, .fego-fields > *, .fego-quick-fields > * { min-width:0; }
  .fego-grid-2, .fego-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fego-space-top { margin-top:28px!important; }
  .fego-row { flex-wrap:wrap; gap:20px; }
  .fego-page-intro { padding-block:36px 28px; }
  .fego-page-intro h1 { font-size:36px; }
  .fego-lead { font-size:16px; }

  /* One header row on iPad; two orderly rows on phones. Native WP menu stays intact. */
  .fego-header .fego-header-inner { display:grid; grid-template-columns:minmax(190px,1fr) auto auto 44px; align-items:center; min-height:86px; gap:16px; padding-block:12px; }
  .fego-header .fego-brand { grid-column:1; grid-row:1; width:219px; max-width:100%; margin:0!important; }
  .fego-header .fego-header-cta { display:block; grid-column:2; grid-row:1; margin:0!important; }
  .fego-header .fego-header-cta .wp-block-button__link { min-height:46px; font-size:13px; padding:12px 18px; white-space:nowrap; }
  .fego-header .fego-header-contact { grid-column:3; grid-row:1; width:auto; justify-content:flex-end; gap:6px; margin:0!important; }
  .fego-header-contact .fego-language a { width:44px; height:44px; }
  .fego-header-contact .fego-language { gap:0; }
  .fego-header .fego-navigation { grid-column:4; grid-row:1; margin:0!important; min-width:44px; width:44px; }
  .fego-header .fego-navigation .wp-block-navigation__responsive-container-open { display:flex!important; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; margin:0!important; }
  .fego-header .fego-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
  .fego-header .fego-navigation .wp-block-navigation__responsive-container.is-menu-open { padding:calc(24px + env(safe-area-inset-top)) 24px 100px; color:var(--navy); background:#fff; overflow-y:auto; }
  .fego-header .fego-navigation .is-menu-open .wp-block-navigation__container { align-items:stretch; width:100%; gap:12px; font-size:22px; }
  .fego-header .fego-navigation .is-menu-open .wp-block-navigation-item__content { display:flex; align-items:center; min-height:48px; white-space:normal; }
  .fego-header .wp-block-navigation__responsive-container-close { min-width:44px; min-height:44px; }

  /* Reflow the existing cover: title/photo/text/buttons. No duplicate heading or cropped car. */
  .fego-responsive-hero.wp-block-cover { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'photo' 'lead' 'buttons'; align-items:stretch; min-height:0!important; padding:0!important; background:#fff; color:var(--navy); }
  .fego-responsive-hero .wp-block-cover__inner-container,
  .fego-responsive-hero .fego-hero-copy { display:contents; }
  .fego-responsive-hero .wp-block-cover__background { display:none; }
  .fego-responsive-hero .fego-responsive-heading { display:block; grid-area:heading; padding:30px 28px 26px; background-image:linear-gradient(180deg,rgba(10,14,17,.86),rgba(10,14,17,.83)),var(--fego-hero-scene); background-color:#14191c; background-size:cover; background-position:center 25%; }
  .fego-responsive-hero .fego-responsive-heading h1 { color:#fff!important; -webkit-text-fill-color:#fff!important; font-size:38px; line-height:1.16; font-weight:600; max-width:none; margin:0!important; text-shadow:0 2px 8px #0008; }
  .fego-responsive-hero .fego-responsive-heading .fego-kicker { color:#e8d19b!important; -webkit-text-fill-color:#e8d19b!important; font-size:11px; line-height:1.5; margin:0 0 12px!important; }
  .fego-responsive-hero .wp-block-cover__image-background { display:block; grid-area:photo; position:static; inset:auto; width:100%; height:auto!important; min-height:0; max-height:none; aspect-ratio:12/5; object-fit:contain; object-position:center; z-index:auto; margin:0; }
  .fego-responsive-hero .fego-hero-place { position:static; grid-area:photo; align-self:end; justify-self:end; z-index:1; color:#fff; background:#101820cf; font-size:10px; line-height:1.4; padding:4px 6px; margin:0 10px 8px!important; }
  .fego-responsive-hero .fego-lead { grid-area:lead; color:var(--navy); -webkit-text-fill-color:var(--navy); width:calc(100% - 48px); max-width:none; font-size:16px; line-height:1.6; margin:22px auto 0!important; }
  .fego-responsive-hero .fego-lead br { display:none; }
  .fego-responsive-hero .wp-block-buttons { grid-area:buttons; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; width:calc(100% - 48px); margin:18px auto 24px!important; }
  .fego-responsive-hero .wp-block-button { width:100%; }
  .fego-responsive-hero .wp-block-button__link { width:100%; min-height:50px; padding:12px; font-size:14px; color:var(--navy); }
  .fego-responsive-hero .fego-button-plain .wp-block-button__link { border:1px solid var(--navy); border-radius:3px; padding:12px; }
  .fego-responsive-hero .fego-button-plain .wp-block-button__link::after { display:none; }
  .fego-booking-shell { margin-top:8px!important; }
  .fego-booking { padding:24px; }
  .fego-booking-heading { display:block; margin-bottom:20px; }
  .fego-booking-heading h2 { font-size:23px; margin-bottom:16px; }
  .fego-tabs, .fego-request-form .fego-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; }
  .fego-tabs label, .fego-request-form .fego-tabs label { display:flex; align-items:center; justify-content:center; text-align:center; min-height:48px; font-size:13px; line-height:1.4; padding:10px 8px; border:1px solid var(--line); border-radius:3px; }
  .fego-tabs label:has(input:checked) { border:1px solid var(--navy); background:var(--navy); color:#fff; }
  .fego-request-form .fego-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .fego-quick-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .fego-quick-fields .fego-button { grid-column:1/-1; }
  .fego-field { min-width:0; font-size:14px; color:var(--navy); gap:8px; }
  .fego-field input, .fego-field select, .fego-field textarea { font-size:16px!important; min-height:52px; max-width:100%; padding:13px 12px; }
  .fego-field input[type='datetime-local'], .fego-field input[type='date'] { -webkit-appearance:none; appearance:none; display:block; min-width:0; }
  .fego-field input::-webkit-date-and-time-value { text-align:left; min-height:1.5em; }
  .fego-request-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .fego-request-form { padding:26px; min-width:0; }
  .fego-request-form fieldset { min-width:0; margin-bottom:30px; }
  .fego-request-form legend { font-size:22px; line-height:1.4; margin-bottom:18px; }
  .fego-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
  .fego-request-form small { font-size:13px; }
  .fego-checkbox { min-height:44px; align-items:flex-start; font-size:14px; }
  .fego-checkbox input { width:22px; height:22px; margin-top:2px; }
  .fego-request-form > .fego-button { min-height:52px; width:100%; font-size:15px; }

  /* Equal picture slots, white backgrounds and consistent vehicle card baselines. */
  .fego-fleet-card { padding:22px; min-height:0; }
  .fego-fleet-card figure { height:140px; min-height:140px; max-height:140px; background:#fff; margin:0 0 22px!important; }
  .fego-fleet-card h3 { font-size:20px; min-height:2.5em; margin-bottom:0; }
  .fego-fleet-card .fego-kicker { font-size:11px; margin-bottom:16px!important; }
  .fego-fleet-card .fego-vehicle-capacity { font-size:15px; }
  .fego-fleet-card .fego-text-link { padding-top:22px; }
  .fego-fleet-card .fego-text-link a { min-height:44px; align-items:center; }
  .fego-detail-panel { grid-template-columns:minmax(0,1fr); gap:0; }
  .fego-detail-panel > figure, .fego-detail-panel > figure img { min-height:0; height:280px; max-height:280px; object-fit:contain; background:#fff; }
  .fego-detail-copy { padding:28px; }

  /* Progressive enhancement: without JS, every service remains expanded and linked. */
  .fego-service-card { min-height:0; }
  .fego-service-accordion { display:block; padding:0; }
  .fego-service-accordion h3 { margin:0; width:100%; }
  .fego-service-toggle { display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; min-height:68px; padding:20px; border:0; border-radius:3px; background:#fff; color:var(--navy); font:inherit; font-size:18px; text-align:left; letter-spacing:inherit; }
  .fego-service-toggle::after { content:'+'; flex:none; color:var(--gold); font-size:26px; font-weight:400; }
  .fego-service-toggle[aria-expanded='true']::after { content:'−'; }
  .fego-service-panel { padding:0 20px 20px; }
  .fego-service-panel .fego-route, .fego-service-panel .fego-route-number { display:none; }
  .fego-service-panel .fego-text-link { padding-top:18px; }
  .fego-service-panel .fego-text-link a { min-height:44px; align-items:center; }
  .fego-trust { padding-block:30px; }
  .fego-trust-item h3 { font-size:15px; }
  .fego-trust-item p { font-size:13px; }
  .fego-business { grid-template-columns:1fr; gap:28px; }
  .fego-concierge-box { grid-template-columns:1fr; gap:30px; padding:30px; }
  .fego-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .fego-footer a, .fego-email-contacts a { overflow-wrap:anywhere; }
  .fego-contact-rail { display:none!important; }
  .fego-mobile-action { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:40; gap:8px; margin:0!important; padding:10px 20px calc(10px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -2px 14px #07162f12; }
  .fego-mobile-action-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fego-mobile-action a { min-height:46px; min-width:0; font-size:13px; padding:10px 6px; white-space:normal; }
  .fego-footer { padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
  body.has-modal-open .fego-mobile-action { display:none; }
}

@media (max-width:619px) {
  .fego-wrap { width:calc(100% - 36px); }
  .fego-header .fego-header-inner { grid-template-columns:minmax(0,1fr) auto 44px; gap:10px 6px; min-height:0; padding-block:14px 10px; }
  .fego-header .fego-brand { grid-column:1/3; width:212px; }
  .fego-header .fego-navigation { grid-column:3; }
  .fego-header .fego-header-cta { grid-column:1; grid-row:2; }
  .fego-header .fego-header-cta .wp-block-button__link { width:100%; font-size:13px; padding:11px 12px; }
  .fego-header .fego-header-contact { grid-column:2/4; grid-row:2; gap:6px; }
  .fego-header .fego-header-contact .fego-language { gap:0; }
  .fego-header .fego-header-cta .wp-block-buttons, .fego-header .fego-header-cta .wp-block-button { width:100%; }
  .fego-responsive-hero .fego-responsive-heading { padding:25px 22px 23px; }
  .fego-responsive-hero .fego-responsive-heading h1 { font-size:29px; line-height:1.18; }
  .fego-responsive-hero .fego-lead, .fego-responsive-hero .wp-block-buttons { width:calc(100% - 36px); }
  .fego-responsive-hero .wp-block-buttons { gap:10px; }
  .fego-responsive-hero .wp-block-button__link { font-size:13px; padding:12px 8px; }
  .fego-section { padding-block:40px; }
  .fego-grid-2, .fego-grid-4, .fego-trust.fego-grid-3 { grid-template-columns:minmax(0,1fr); }
  .fego-trust { gap:20px!important; }
  .fego-trust-item p { margin-top:5px; }
  .fego-page-intro h1 { font-size:30px; }
  .fego-booking, .fego-request-form { padding:22px 16px; }
  .fego-booking .fego-tabs { gap:6px; }
  .fego-booking .fego-tabs label { font-size:12px; padding:10px 5px; overflow-wrap:anywhere; }
  .fego-request-form .fego-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fego-request-form .fego-tabs label { font-size:14px; }
  .fego-quick-fields, .fego-fields { grid-template-columns:minmax(0,1fr); gap:18px; }
  .fego-field-full { grid-column:1/-1; }
  .fego-request-form legend { font-size:20px; }
  .fego-fleet-card { padding:22px; }
  .fego-fleet-card figure { height:140px; min-height:140px; max-height:140px; }
  .fego-fleet-card h3 { min-height:0; }
  .fego-detail-panel > figure, .fego-detail-panel > figure img { height:210px; max-height:210px; }
  .fego-mobile-action { gap:6px; padding-inline:10px; }
  .fego-mobile-action a { font-size:12px; }
}
@media (max-width:340px) {
  .fego-responsive-hero .fego-responsive-heading { padding:22px 18px; }
  .fego-responsive-hero .fego-responsive-heading h1 { font-size:25px; line-height:1.2; }
  .fego-responsive-hero .fego-responsive-heading .fego-kicker { font-size:10px; letter-spacing:.025em; }
  .fego-header .fego-header-cta .wp-block-button__link { font-size:12px; padding-inline:7px; }
}
@media print { .fego-mobile-action, .fego-contact-rail { display:none!important; } }
