/* ==========================================================================
   Human-Crafted Travel Agency Mobile Navigation (<= 960px)
   ========================================================================== */
@media (max-width: 960px) {
  /* Prevent background page scroll when navigation is open */
  body.menu-open {
    overflow: hidden !important;
  }

  /* Frosted Backdrop Overlay */
  .menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(10, 24, 18, 0.45) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 98 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .22s ease !important;
  }
  .menu-backdrop.open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Sticky Navigation Header on Mobile */
  .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #ffffff !important;
  }
  .site-header.is-scrolled {
    box-shadow: 0 4px 16px rgba(0, 30, 20, 0.08) !important;
  }

  /* Ensure drawer stretches 100% full-bleed from screen edge to screen edge */
  .nav-shell {
    position: relative !important;
  }
  .nav-inner {
    position: static !important;
  }

  /* Refined, Human-Crafted Menu Toggle Button */
  .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #00564a !important;
    border: 1px solid #d4dfd8 !important;
    transition: all .2s ease !important;
    cursor: pointer !important;
  }
  .menu-toggle:hover {
    background: #f4f8f5 !important;
    border-color: #00564a !important;
  }
  .menu-toggle[aria-expanded="true"] {
    background: #f0f7f3 !important;
    color: #00564a !important;
    border-color: #00564a !important;
  }
  .menu-toggle[aria-expanded="true"] .menu-open {
    display: none !important;
  }
  .menu-toggle[aria-expanded="true"] .menu-close {
    display: inline-flex !important;
  }
  .menu-toggle:not([aria-expanded="true"]) .menu-close {
    display: none !important;
  }
  .nav-cta {
    display: none !important;
  }

  /* Full-Width Clean Drawer (No weird margins or side gaps) */
  .primary-nav {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-top: 1px solid #e8ede9 !important;
    border-bottom: 3px solid #00564a !important;
    border-radius: 0 0 16px 16px !important;
    box-shadow: 0 20px 45px rgba(0, 30, 20, 0.16) !important;
    max-height: calc(100vh - 72px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 120 !important;
    transform: translateY(-6px) !important;
    opacity: 0 !important;
    transition: opacity .2s ease, transform .2s ease !important;
  }
  .primary-nav.open {
    display: flex !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  /* Clean, Human-Crafted Navigation Links */
  .mobile-nav-links {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    padding: 4px 0 !important;
    gap: 0 !important;
    background: #ffffff !important;
  }
  .mobile-nav-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 13px 22px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: var(--font-body) !important;
    color: #213028 !important;
    text-decoration: none !important;
    min-height: 48px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2ef !important;
    border-left: 4px solid transparent !important;
    background: transparent !important;
    transition: background .15s ease, color .15s ease, padding-left .15s ease, border-left-color .15s ease !important;
  }
  .mobile-nav-links a:last-child {
    border-bottom: 0 !important;
  }
  .mobile-nav-links a::after {
    display: none !important;
  }
  .mobile-nav-links a:hover {
    background: #f6faf7 !important;
    color: #00564a !important;
    padding-left: 25px !important;
  }
  .mobile-nav-links a.active {
    background: #f4f8f5 !important;
    color: #00564a !important;
    font-weight: 700 !important;
    border-left-color: #f15a24 !important;
    padding-left: 22px !important;
  }

  /* Text & Right Chevron */
  .nav-item-text {
    flex: 1 !important;
    text-align: left !important;
    letter-spacing: 0.01em !important;
  }
  .nav-item-arrow {
    display: inline-flex !important;
    align-items: center !important;
    color: #b2c0b8 !important;
    font-size: 11px !important;
    transition: transform .18s ease, color .18s ease !important;
  }
  .mobile-nav-links a:hover .nav-item-arrow {
    transform: translateX(3px) !important;
    color: #00564a !important;
  }
  .mobile-nav-links a.active .nav-item-arrow {
    color: #f15a24 !important;
  }

  /* Concierge Action Footer - Slim, Elegant, Proportional */
  .mobile-nav-footer {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    gap: 8px !important;
    padding: 12px 18px 14px !important;
    background: #fbfdfc !important;
    border-top: 1px solid #e8ede9 !important;
  }
  .mobile-menu-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    background: #f15a24 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: 1px solid transparent !important;
    box-shadow: 0 2px 8px rgba(241, 90, 36, 0.22) !important;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
  }
  .mobile-menu-cta:hover {
    background: #d94813 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(241, 90, 36, 0.32) !important;
  }
  .mobile-menu-cta .icon {
    font-size: 12px !important;
    --icon-size: 12px !important;
    transition: transform .2s ease !important;
  }
  .mobile-menu-cta:hover .icon {
    transform: translateX(3px) !important;
  }

  /* Quick Contacts Grid - Slim, Sleek, Not Bulky */
  .mobile-menu-contacts {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .mobile-menu-call,
  .mobile-menu-wa {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: background .18s ease, border-color .18s ease !important;
  }
  .mobile-menu-call {
    background: #ffffff !important;
    color: #00564a !important;
    border: 1px solid #ccd8d1 !important;
  }
  .mobile-menu-call:hover {
    background: #eef5f1 !important;
    border-color: #00564a !important;
  }
  .mobile-menu-call .icon {
    font-size: 11px !important;
    --icon-size: 11px !important;
  }
  .mobile-menu-wa {
    background: #ffffff !important;
    color: #177a33 !important;
    border: 1px solid #c4dfca !important;
  }
  .mobile-menu-wa:hover {
    background: #eaf8ee !important;
    border-color: #177a33 !important;
  }
  .mobile-menu-wa .icon {
    font-size: 13px !important;
    --icon-size: 13px !important;
  }

  /* Guarantee Trust Strip */
  .mobile-menu-guarantee {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding-top: 3px !important;
    font-size: 10.5px !important;
    color: #687a72 !important;
    font-weight: 500 !important;
    text-align: center !important;
  }
  .mobile-menu-guarantee span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .mobile-menu-guarantee .dot {
    color: #b6c4bd !important;
  }
  .mobile-menu-guarantee .icon {
    color: #00564a !important;
    font-size: 10px !important;
    --icon-size: 10px !important;
  }
}

/* Final small-screen readability and target sizing; desktop compositions stay intact. */
@media (max-width:640px) {
  body {font-size:16px;line-height:1.5}
  main .container>*,.r-enquiry>*,.trust-fleet-stage>*,.catalog-comparison-layout>* {min-width:0}
  .r-enquiry,.trust-route-fleet,.catalog-comparison-layout {grid-template-columns:minmax(0,1fr)}
  .trust-fleet-stage .trust-actions{flex-direction:column;align-items:stretch}
  .trust-fleet-tabs{gap:8px;overflow-x:auto;justify-content:flex-start}
  .trust-fleet-tabs button{flex:0 0 auto!important;min-width:max-content!important;padding:10px 12px;font-size:14px;white-space:nowrap}
  /* Vehicles by Journey Mobile Polish */
  .r-fleet-tabs {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    width: 100% !important;
    border-bottom: 2px solid #dde4dc !important;
    gap: 0 !important;
    padding: 0 4px !important;
    margin: 8px 0 18px !important;
    justify-content: flex-start !important;
  }
  .r-fleet-tabs::-webkit-scrollbar {
    display: none !important;
  }
  .r-fleet-tabs button {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    white-space: nowrap !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #4a564e !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    background: transparent !important;
    margin-bottom: -2px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    line-height: 1.2 !important;
  }
  .r-fleet-tabs button[aria-selected="true"] {
    color: #d94813 !important;
    font-weight: 700 !important;
    border-bottom-color: #f15a24 !important;
  }
  .r-fleet-lineup {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }
  .r-fleet-lineup a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 10px !important;
    padding: 12px 8px 10px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(0, 30, 20, 0.04) !important;
    min-height: 140px !important;
    transition: all 0.2s ease !important;
  }
  .r-fleet-lineup a:hover,
  .r-fleet-lineup a:active {
    border-color: #00564a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 86, 74, 0.12) !important;
  }
  .r-fleet-lineup a.selected {
    border-color: #f15a24 !important;
    background: #fff9f6 !important;
    box-shadow: 0 4px 14px rgba(241, 90, 36, 0.18) !important;
  }
  .r-fleet-lineup img {
    width: 100% !important;
    height: 85px !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    display: block !important;
    margin: 0 auto !important;
  }
  .r-fleet-lineup span {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e2b22 !important;
    line-height: 1.25 !important;
    margin-top: 8px !important;
    min-height: auto !important;
  }
  .r-fleet-lineup a.selected span {
    color: #d94813 !important;
  }
  .r-fleet-captions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-top: 1px solid #dde4dc !important;
    margin-top: 16px !important;
    padding-top: 14px !important;
  }
  .r-fleet-captions p {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    background: #f7faf7 !important;
    border: 1px solid #e3ebe3 !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e2c22 !important;
    margin: 0 !important;
    text-align: left !important;
  }
  .r-fleet-captions p .icon {
    color: #00564a !important;
    font-size: 18px !important;
    --icon-size: 18px !important;
    flex-shrink: 0 !important;
  }
  .r-fleet-captions small {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #596b5e !important;
    margin-top: 2px !important;
  }
  .r-fleet-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-top: 16px !important;
    text-align: center !important;
  }
  .r-fleet-bottom p {
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #4a564e !important;
    margin: 0 !important;
  }
  .r-fleet-bottom .button {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .catalog-route-line{flex-wrap:wrap;justify-content:flex-start;gap:14px 20px}
  .catalog-route-line>span{flex:none;min-width:0}

  /* The reference layouts use dense desktop copy. Mobile prose has a 16px floor. */
  body main p,
  body .final-cta p,
  body .site-footer p,
  body .catalog-page .catalog-image-note {font-size:16px!important;line-height:1.5!important}
  .catalog-travel-quote p {font-size:19px!important}
  .r-pin-list li,
  .r-home-confidence li,
  .r-detail-benefits span,
  .r-fleet-captions small,
  .catalog-trip-steps li strong,
  .catalog-mini-fleet-cards strong,
  .catalog-mini-fleet-cards small,
  .catalog-day-title strong,
  .catalog-day-title small,
  .catalog-overview-features span,
  .catalog-at-glance strong,
  .catalog-table th,
  .catalog-table td {font-size:16px!important;line-height:1.5}

  body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body select,
  body textarea {font-size:16px!important;min-height:44px!important;max-width:100%}
  body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body select {height:auto}
  body textarea {min-height:88px!important}
  body input[type="checkbox"],body input[type="radio"] {width:20px;height:20px;min-height:20px;flex-shrink:0}
  .consent,.trust-general-consent {min-height:44px!important;align-items:center;line-height:1.5}
  .consent span,.trust-general-consent span {font-size:16px!important}

  body button,
  body [role="button"],
  body summary,
  body .button {min-width:44px!important;min-height:44px!important}
  body .button,
  .catalog-chips button,
  .catalog-category-nav>button,
  .catalog-mini-styles button,
  .catalog-journey-tabs button,
  .catalog-viewer-tabs button,
  .r-trip-tabs button,
  .trust-trip-type-tabs button {font-size:14px!important;line-height:1.35;white-space:normal}
  body summary {display:flex;align-items:center}
  .catalog-day summary {display:grid}
  .catalog-day-title {min-width:0}
  .catalog-day-title strong,.catalog-day-title small {display:block}
  .catalog-day summary {padding-block:0}

  /* Standalone navigation and card actions receive full touch targets. */
  .site-navigation a,
  .site-footer a,
  .footer-bottom a,
  .r-tile-link,
  .r-service-small a,
  .r-route-band li a,
  .r-detail-nav a,
  .text-link,
  .catalog-tile-actions>a,
  .catalog-table td>a,
  .catalog-detail-nav a,
  .catalog-explore-links a>span,
  .trust-journey-cards a,
  .trust-contact-form-tabs a {min-width:44px;min-height:44px;display:inline-flex;align-items:center;font-size:14px;line-height:1.35}
  .service-strip {padding:10px 0 0!important}
  .service-strip .container {display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none!important;width:calc(100% - 24px)!important;border-radius:25px!important;background:#f0f4ef!important;min-height:48px!important;padding:0 4px!important}
  .service-strip .container::-webkit-scrollbar {display:none!important}
  .service-strip a,.service-strip span {flex:0 0 auto!important;min-width:max-content!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:8px 16px!important;min-height:46px!important;font-size:13px!important;font-weight:500!important;color:#27362c!important;border-right:1px solid #ccd6c8!important;border-bottom:0!important;margin:0!important;text-decoration:none!important}
  .service-strip a:last-child,.service-strip span:last-child {border-right:0!important}
  .service-strip a .icon,.service-strip span .icon {flex-shrink:0!important;font-size:18px!important;--icon-size:18px!important;color:#3b5742!important}
  .r-route-band li a {display:flex}
  .r-tile-copy h3 a,.catalog-tile-copy h3 a {display:inline-flex;align-items:center;min-height:44px}
  .r-tile-link,.catalog-tile-actions>a,.trust-journey-cards a {font-size:14px!important}
  .r-tile-copy p a,.catalog-tile-copy p a {display:inline}

  /* Allow image overlays to grow with readable copy and full-size actions. */
  .r-tile {height:auto!important;min-height:240px}
  .r-tile-copy {position:relative;inset:auto;height:auto;min-height:inherit;width:100%;padding:18px 14px;display:flex;flex-direction:column;justify-content:flex-end}
  .r-tile p {max-width:none}
  .r-service-images,.r-service-catalog {grid-template-rows:none;grid-auto-rows:minmax(240px,auto)}
  .r-service-catalog .r-tile,.r-service-catalog .r-tile:nth-child(n) {min-height:280px}
  .r-destinations-mosaic {grid-template-rows:none;grid-auto-rows:minmax(200px,auto)}
  .r-destinations-mosaic .r-tile {min-height:200px}
  .r-package-strip {grid-template-columns:repeat(5,220px)}
  .r-package-strip .r-tile {min-height:245px}
  .r-route-cards .r-tile {min-height:275px}
  .r-home-fleet .r-heading {max-width:none}
  .r-fleet-bottom p,.r-process-note {max-width:none}
  .r-service-small article,.r-home-confidence li {min-width:0}
  /* Enquiry Section Hero Image Card Mobile Overhaul (<= 640px) */
  .r-enquiry-image {
    height: auto !important;
    min-height: 290px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #0d1c16 !important;
    box-shadow: 0 4px 18px rgba(0, 30, 20, 0.12) !important;
  }
  .r-enquiry-image picture,
  .r-enquiry-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }
  .r-enquiry-image::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
      180deg,
      rgba(8, 22, 17, 0.94) 0%,
      rgba(8, 22, 17, 0.82) 42%,
      rgba(8, 22, 17, 0.45) 70%,
      rgba(8, 22, 17, 0.18) 88%,
      rgba(8, 22, 17, 0.40) 100%
    ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  .r-enquiry-image > div {
    position: relative !important;
    z-index: 2 !important;
    padding: 24px 20px 28px !important;
    max-width: 320px !important;
  }
  .r-enquiry-image .eyebrow {
    color: #ff9356 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
  }
  .r-enquiry-image h2 {
    font-family: var(--font-display) !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    line-height: 1.18 !important;
    color: #ffffff !important;
    margin: 0 0 8px 0 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65) !important;
  }
  .r-enquiry-image p {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
    color: #e5f0ea !important;
    margin: 0 !important;
    max-width: 290px !important;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55) !important;
  }
  .r-intro-copy .r-heading p { max-width: none; }

  /* Home Intro Section Mobile Alignment & Symmetry */
  .r-home-intro {
    grid-template-columns: 1fr !important;
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-top: 20px !important;
    padding-inline: 0 !important;
    gap: 0 !important;
  }
  .r-intro-photo {
    height: 240px !important;
    max-height: 60vw !important;
    min-height: 210px !important;
    width: 100% !important;
    margin: 0 auto !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-sm) !important;
  }
  .r-intro-photo picture,
  .r-intro-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 54% !important;
    display: block !important;
  }
  .r-intro-copy {
    padding: 20px 0 5px !important;
    max-width: none !important;
  }
  .r-intro-copy .r-heading {
    margin-bottom: 12px !important;
  }
  .r-intro-copy .r-heading h2 {
    font-size: 28px !important;
    line-height: 1.15 !important;
    margin-bottom: 8px !important;
  }
  .r-intro-copy .r-heading p {
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #434a45 !important;
    max-width: none !important;
  }
  .r-pin-list {
    gap: 10px !important;
    margin: 14px 0 20px !important;
  }
  .r-pin-list li {
    font-size: 14px !important;
    gap: 10px !important;
  }
  .r-intro-copy .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
  }
  .r-footer-cta-copy {padding-inline:22px}
  .footer-brand {display:block}
  .footer-brand img {margin-bottom:15px}
  .footer-brand p {max-width:none}
  .footer-grid {gap:24px 18px}
  .footer-grid>div,.footer-grid>section {min-width:0}

  /* Quick Enquiry Form Mobile Perfection */
  .floating-form {
    margin-top: -24px !important;
    width: calc(100% - 24px) !important;
    max-width: 520px !important;
    margin-inline: auto !important;
  }
  .enquiry-form.quick-form,
  .floating-form .enquiry-form {
    padding: 16px 14px 18px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid #dce4d9 !important;
    box-shadow: 0 8px 24px rgba(18, 44, 32, 0.12) !important;
  }
  .r-trip-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    padding: 5px !important;
    background: #eef3ed !important;
    border-radius: 10px !important;
    border: 1px solid #d9e2d7 !important;
    margin: -4px 0 16px !important;
    overflow: visible !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.04) !important;
  }
  .r-trip-tabs button {
    min-height: 40px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #3b473f !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 7px !important;
    text-align: center !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: all 0.15s ease !important;
  }
  .r-trip-tabs button.active {
    background: #00564a !important;
    color: #fff !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(0, 45, 35, 0.22) !important;
  }
  .r-trip-tabs p {
    display: none !important;
  }

  .quick-form .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .quick-form .form-grid label {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 58px !important;
    border: 1.5px solid #dbe3d9 !important;
    border-radius: 9px !important;
    background: #fafcfa !important;
    padding: 8px 14px 8px 46px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  }
  .quick-form .form-grid label:focus-within {
    border-color: #00564a !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.12) !important;
  }
  .quick-form .r-field-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    color: #00564a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    --icon-size: 17px !important;
    pointer-events: none !important;
  }
  .quick-form .form-grid label > span:not(.field-error) {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #637267 !important;
    line-height: 1.2 !important;
    margin-bottom: 3px !important;
  }
  .quick-form .form-grid input,
  .quick-form .form-grid select {
    width: 100% !important;
    min-height: 24px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a251e !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    line-height: 1.35 !important;
  }
  .quick-form .form-grid input::placeholder {
    color: #79867d !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
  }
  .quick-form .form-grid select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300564a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 2px center !important;
    padding-right: 22px !important;
    cursor: pointer !important;
  }
  .quick-form .form-grid [data-return-field] {
    grid-column: 1 / -1 !important;
    padding-top: 8px !important;
    border: 1.5px solid #dbe3d9 !important;
  }

  .quick-form .r-form-extra {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #e2e8df !important;
  }
  .quick-form .r-form-extra label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #637267 !important;
  }
  .quick-form .r-form-extra input[type="text"],
  .quick-form .r-form-extra input[type="tel"] {
    width: 100% !important;
    min-height: 48px !important;
    border: 1.5px solid #dbe3d9 !important;
    border-radius: 8px !important;
    background: #fafcfa !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #1a251e !important;
    box-sizing: border-box !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
  }
  .quick-form .r-form-extra input:focus {
    border-color: #00564a !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.12) !important;
  }
  .quick-form .r-form-extra .consent {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: #4b584f !important;
    padding-top: 4px !important;
  }
  .quick-form .r-form-extra .consent input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    accent-color: #00564a !important;
    flex-shrink: 0 !important;
  }

  .form-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 16px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }
  .form-actions .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    letter-spacing: 0.01em !important;
    padding: 12px 16px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s cubic-bezier(.2,.8,.2,1), background-color .2s ease, border-color .2s ease !important;
  }
  .form-actions .button:hover {
    transform: translateY(-2px) !important;
  }
  .form-actions .button:active {
    transform: translateY(0) scale(.98) !important;
    transition-duration: .08s !important;
  }
  .form-actions .button-outline {
    border: 1.5px solid #e75a24 !important;
    background: #fff !important;
    color: #1a251e !important;
  }
  .form-actions .button-outline:hover {
    background: #fff6f2 !important;
    border-color: #d94813 !important;
    color: #d94813 !important;
    box-shadow: 0 4px 14px rgba(241, 90, 36, 0.22) !important;
  }
  .form-actions .button-green {
    border: 0 !important;
    background: #00564a !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(0, 86, 74, 0.25) !important;
  }
  .form-actions .button-green:hover {
    background: #004538 !important;
    box-shadow: 0 5px 18px rgba(0, 86, 74, 0.38) !important;
  }
  .form-actions .button .icon {
    font-size: 18px !important;
    --icon-size: 18px !important;
    flex-shrink: 0 !important;
  }
  .form-grid label,.r-form-extra label,.catalog-filter-fields label {min-width:0}

  .catalog-filter-fields>label {min-height:66px;gap:7px;padding:8px}
  .catalog-filter-fields small {font-size:12px}
  .catalog-filter-fields input,.catalog-filter-fields select {padding-block:7px}
  .catalog-filter-fields label>.icon {width:20px;flex-shrink:0}
  .catalog-filter-footer,.catalog-finder-bottom {gap:16px}
  .catalog-filter-footer .catalog-small,.catalog-finder-bottom p {align-items:flex-start}
  .catalog-filter-footer .catalog-small>.icon,.catalog-finder-bottom p>.icon {flex-shrink:0}
  .catalog-mini-styles button {min-width:135px!important}
  .catalog-category-nav>button {flex-basis:160px;min-width:160px!important}
  .catalog-category-nav>button>span {max-width:100px;font-size:14px}
  .catalog-journey-tabs button {min-width:150px!important}
  .catalog-vehicle-finder-top .catalog-chips button {font-size:14px;min-width:135px!important}
  .catalog-chips button {padding:10px 14px}
  .catalog-table {min-width:680px}
  .catalog-table td,.catalog-table th {padding:12px}
  .catalog-table td>a {font-size:16px}

  .catalog-tile {display:flex;align-items:flex-end;min-height:260px}
  .catalog-tile-copy {position:relative;inset:auto;width:100%;padding:18px 14px;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end}
  .catalog-tile-copy p {margin-bottom:12px;max-width:none}
  .catalog-tile-actions {flex-wrap:wrap;gap:8px 14px}
  .catalog-tile-actions .button {padding:10px 13px}
  .catalog-destination-top,.catalog-destination-bottom {height:auto;grid-template-columns:1fr 1fr;grid-template-rows:none}
  .catalog-destination-stack {grid-template-rows:none;grid-template-columns:1fr 1fr}
  .catalog-destination-top>.catalog-tile,.catalog-destination-stack>.catalog-tile,.catalog-destination-bottom>.catalog-tile {min-height:275px}
  .catalog-city-grid {grid-template-columns:1fr 1fr}
  .catalog-city-grid .catalog-tile {min-height:260px}
  .catalog-city-grid .catalog-tile-copy {inset:auto}
  .catalog-package-mosaic {grid-template-rows:auto}
  .catalog-package-mosaic>.catalog-tile:nth-child(n) {min-height:280px}
  .catalog-page.is-filtered .catalog-destination-mosaic .catalog-tile,
  .catalog-packages.is-filtered .catalog-package-mosaic>.catalog-tile {min-height:280px}
  .catalog-long-grid {grid-template-columns:repeat(4,220px)}
  .catalog-long-grid .catalog-tile {min-height:290px}
  .catalog-long-grid .catalog-tile-copy {inset:auto}
  .catalog-long-journeys p {max-width:none}
  .catalog-experiences {grid-template-columns:1fr 1fr}
  .catalog-experiences button {padding:22px 15px}
  .catalog-journey-options {grid-template-columns:1fr 1fr;gap:24px 10px}
  .catalog-journey-options p {max-width:none}
  .catalog-destination-plan-grid,.catalog-custom-grid,.catalog-package-custom-grid {grid-template-columns:1fr}
  .catalog-mini-fleet {border-right:0;padding-right:0}
  .catalog-mini-fleet-cards {grid-template-columns:1fr 1fr}
  .catalog-package-points {grid-template-columns:1fr 1fr}
  .catalog-organised {grid-template-columns:1fr}
  .catalog-organised-intro {padding:20px 18px 0}
  .catalog-package-points {padding:0 18px 20px}
  .catalog-organised-image {grid-column:auto}
  .catalog-vehicle-overview>div:first-child {grid-template-columns:1fr}
  .catalog-vehicle-mosaic {grid-template-columns:1fr}

  .catalog-package-overview,.catalog-itinerary-grid,.catalog-quote-details {grid-template-columns:1fr}
  .catalog-overview-features {grid-template-columns:1fr 1fr}
  .catalog-at-glance {grid-column:auto}
  .catalog-itinerary-card>div {align-items:flex-start}
  .catalog-package-request {grid-template-columns:1fr 1fr}
  .catalog-package-request>p {grid-column:1/-1}
  .catalog-map-panel {min-height:0}
  .catalog-quote-details>div:first-child {height:auto;min-height:255px}
  .catalog-quote-accordion summary {font-size:16px}
  .catalog-related-packages>.container {grid-template-columns:1fr 1fr}
  .catalog-related-packages a {min-width:0}
}

@media(max-width:430px){
  .r-hero .hero-actions{flex-direction:column;align-items:stretch;gap:8px}
  .r-hero .hero-actions .button{flex:none;width:100%;white-space:normal;min-height:44px}
  .r-hero .hero-content{padding-top:20px;padding-bottom:80px}
  .r-hero .hero-content h1,.r-hero .hero-content h2,.r-hero-home .hero-content h1{font-size:32px}
  .r-hero,.r-hero-about{height:610px;min-height:610px}
  .r-service-catalog,.r-service-images{grid-template-columns:1fr}
  .r-service-catalog .r-tile{grid-column:auto!important}
  .catalog-package-mosaic,.catalog-destination-top,.catalog-destination-bottom,.catalog-destination-stack{grid-template-columns:1fr}
  .catalog-package-mosaic>.catalog-tile{grid-area:auto!important}
}

/* ==========================================================================
   Travel Search & Filter Panel Mobile Overhaul (<= 640px)
   Eliminates text truncation, provides full-width inputs, prominent CTA,
   and a swipeable pill strip for categories.
   ========================================================================== */
@media (max-width: 640px) {
  /* Floating Filter Card Container */
  .catalog-filter-panel {
    margin-top: -16px !important;
    padding: 18px 14px 16px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid #dce4dc !important;
    box-shadow: 0 4px 20px rgba(0, 40, 30, 0.08) !important;
  }
  .catalog-filter-panel h2 {
    font-size: 21px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    margin: 0 0 14px 0 !important;
    color: #172c20 !important;
  }

  /* Single-Column Stack for All Search Form Fields */
  .catalog-package-fields,
  .catalog-destination-fields,
  .catalog-vehicle-fields {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Form Label Cards */
  .catalog-filter-fields > label {
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: 8px 14px !important;
    background: #fdfdfd !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 8px !important;
    gap: 12px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  }
  .catalog-filter-fields > label:focus-within {
    border-color: #00564a !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.12) !important;
    background: #ffffff !important;
  }
  .catalog-filter-fields > label > .icon {
    font-size: 18px !important;
    --icon-size: 18px !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #00564a !important;
    flex-shrink: 0 !important;
  }
  .catalog-filter-fields label > span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  .catalog-filter-fields small {
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #5d7267 !important;
    line-height: 1.2 !important;
    margin-bottom: 2px !important;
  }
  .catalog-filter-fields input,
  .catalog-filter-fields select {
    width: 100% !important;
    min-height: 26px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1a2b23 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit !important;
  }
  .catalog-filter-fields select {
    cursor: pointer !important;
  }
  .catalog-filter-fields input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer !important;
    opacity: 0.75 !important;
  }

  /* Full-Width Authoritative Primary CTA Button */
  .catalog-package-fields > .button,
  .catalog-destination-fields > .button,
  .catalog-filter-fields > .button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 4px 0 0 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    border-radius: 8px !important;
    background: #00564a !important;
    color: #ffffff !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 14px rgba(0, 86, 74, 0.28) !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, background-color 0.15s ease !important;
  }
  .catalog-package-fields > .button:active,
  .catalog-destination-fields > .button:active,
  .catalog-filter-fields > .button:active {
    transform: scale(0.98) !important;
    background: #00453a !important;
  }

  /* Filter Panel Footer */
  .catalog-filter-footer {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid #edf2ed !important;
  }
  .catalog-filter-footer .button {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    background: #00564a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 86, 74, 0.28) !important;
    align-self: stretch !important;
  }

  /* Horizontal Swipeable Chip Carousel */
  .catalog-chips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 8px !important;
    padding: 2px 2px 4px 2px !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .catalog-chips::-webkit-scrollbar {
    display: none !important;
  }
  .catalog-chips button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 20px !important;
    background: #f1f4f1 !important;
    color: #2b3b33 !important;
    border: 1px solid #dce4dc !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }
  .catalog-chips button:hover {
    background: #e6ede6 !important;
  }
  .catalog-chips button.is-active {
    background: #00564a !important;
    color: #ffffff !important;
    border-color: #00564a !important;
    box-shadow: 0 2px 8px rgba(0, 86, 74, 0.25) !important;
  }

  /* Disclaimer / Trust Note */
  .catalog-filter-footer .catalog-small {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: #5c6e64 !important;
  }
  .catalog-filter-footer .catalog-small > .icon {
    width: 16px !important;
    height: 16px !important;
    margin-top: 1px !important;
    color: #00564a !important;
    flex-shrink: 0 !important;
  }

  /* Vehicle Finder Bottom Actions on Mobile */
  .catalog-finder-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 14px !important;
  }
  .catalog-finder-bottom .button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    background: #00564a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 86, 74, 0.28) !important;
    order: 1 !important;
  }
  .catalog-finder-bottom p {
    font-size: 12px !important;
    color: #5c6e64 !important;
    order: 2 !important;
    margin: 0 !important;
  }
  .catalog-finder-bottom p > .icon {
    color: #00564a !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
  }

  /* ==========================================================================
     Home Fleet Showcase Mobile Overhaul (<= 640px)
     ========================================================================== */
  .r-home-fleet {
    padding-block: 22px 18px !important;
  }
  .r-home-fleet > .container {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    border: 0 !important;
    border-top: 1px solid #e2e8e2 !important;
    border-bottom: 1px solid #e2e8e2 !important;
    padding: 18px 0 20px !important;
  }
  .r-home-fleet .r-heading {
    margin-bottom: 2px !important;
  }
  .r-home-fleet h2 {
    font-size: 27px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  /* Fleet Strip: Category Tabs at Top, Featured Card Below */
  .r-fleet-strip {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }

  /* Horizontal Scrolling Vehicle Selector Tabs */
  .r-fleet-strip .r-fleet-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 8px !important;
    padding: 2px 2px 8px 2px !important;
    margin: 0 !important;
    border: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .r-fleet-strip .r-fleet-tabs::-webkit-scrollbar {
    display: none !important;
  }

  /* Each Vehicle Tab Button as a Clean Automotive Pill Card */
  .r-fleet-strip .r-fleet-tabs button {
    flex: 0 0 102px !important;
    width: 102px !important;
    min-width: 102px !important;
    max-width: 102px !important;
    min-height: 80px !important;
    height: 80px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 4px 6px 7px 6px !important;
    position: relative !important;
    background: #ffffff !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(0, 30, 20, 0.04) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
    white-space: normal !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #243329 !important;
    text-align: center !important;
  }
  .r-fleet-strip .r-fleet-tabs button:active {
    transform: scale(0.96) !important;
  }
  .r-fleet-strip .r-fleet-tabs button[aria-selected="true"] {
    border-color: #f15a24 !important;
    background: #fff8f5 !important;
    color: #d94813 !important;
    box-shadow: 0 3px 10px rgba(241, 90, 36, 0.2) !important;
  }

  /* Miniature Vehicle Illustration on the Tab */
  .r-fleet-strip .r-fleet-tabs button::before {
    content: '' !important;
    position: absolute !important;
    top: 5px !important;
    left: 6px !important;
    right: 6px !important;
    height: 38px !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
  }

  /* Featured Vehicle Showcase Card (The Stage) */
  .r-fleet-strip .r-fleet-stage {
    width: 100% !important;
    background: #ffffff !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 18px rgba(0, 35, 25, 0.07) !important;
    padding: 18px 16px !important;
    box-sizing: border-box !important;
  }
  .r-fleet-strip .r-fleet-stage > [data-fleet-panel] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    gap: 0 !important;
  }
  .r-fleet-strip .r-fleet-stage > [data-fleet-panel][hidden] {
    display: none !important;
  }
  .r-fleet-strip .r-fleet-stage picture,
  .r-fleet-strip .r-fleet-stage img {
    width: 100% !important;
    max-width: 280px !important;
    height: 150px !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    margin: 0 auto 12px auto !important;
    display: block !important;
  }
  .r-fleet-strip .r-fleet-stage > [data-fleet-panel] > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }
  .r-fleet-strip .r-fleet-stage h3 {
    font-family: var(--font-display, Georgia, serif) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #172c20 !important;
    margin: 0 0 6px 0 !important;
  }
  .r-fleet-strip .r-fleet-stage p {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #55695d !important;
    margin: 0 0 16px 0 !important;
    max-width: 320px !important;
  }
  .r-fleet-strip .r-fleet-stage .button {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    border-radius: 8px !important;
    background: #f15a24 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 14px rgba(241, 90, 36, 0.28) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: transform 0.15s ease, background-color 0.15s ease !important;
  }
  .r-fleet-strip .r-fleet-stage .button:active {
    transform: scale(0.98) !important;
    background: #d94813 !important;
  }

  /* ==========================================================================
     Site Footer Mobile Overhaul (<= 640px)
     ========================================================================== */
  .site-footer {
    padding: 38px 0 88px !important;
    background: #141f1c !important;
    color: #dbe3e1 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  }
  .site-footer .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 18px !important;
    align-items: start !important;
  }
  .site-footer .footer-brand {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 4px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    max-width: 100% !important;
  }
  .site-footer .footer-brand img {
    width: 175px !important;
    height: auto !important;
    margin-bottom: 4px !important;
    display: block !important;
  }
  .site-footer .footer-brand p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #9cb2a8 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .site-footer h2 {
    color: #ffffff !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 6px !important;
    border-bottom: 1.5px solid rgba(241, 90, 36, 0.45) !important;
    display: block !important;
    width: 100% !important;
  }
  .site-footer a,
  .site-footer p {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 30px !important;
    margin: 0 0 6px 0 !important;
    padding: 2px 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #c2d3cb !important;
    text-decoration: none !important;
    white-space: normal !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
  }
  .site-footer a:active {
    color: #f15a24 !important;
    transform: translateX(2px) !important;
  }
  .site-footer a .icon,
  .site-footer p .icon {
    margin-right: 8px !important;
    color: #f15a24 !important;
    flex-shrink: 0 !important;
    font-size: 14px !important;
  }
  .site-footer .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 30px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    font-size: 12px !important;
    color: #8da499 !important;
    width: 100% !important;
  }
  .site-footer .footer-bottom nav {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
  }
  .site-footer .footer-bottom nav a {
    display: inline-block !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    font-size: 12px !important;
    color: #a4b8af !important;
  }
  .site-footer .footer-bottom nav a:active {
    color: #f15a24 !important;
  }

  /* ==========================================================================
     Package Detail Navigation & Request Card Mobile Overhaul (<= 640px)
     ========================================================================== */
  .catalog-detail-nav {
    background: #f4f7f4 !important;
    border-bottom: 1px solid #dce4dc !important;
    position: relative !important;
  }
  .catalog-detail-nav > .container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 4px !important;
    padding: 0 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .catalog-detail-nav > .container::-webkit-scrollbar {
    display: none !important;
  }
  .catalog-detail-nav a {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #4a5950 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-bottom: 2.5px solid transparent !important;
    transition: color 0.15s ease, border-color 0.15s ease !important;
  }
  .catalog-detail-nav a.is-active {
    color: #d94813 !important;
    font-weight: 700 !important;
    border-bottom-color: #f15a24 !important;
  }
  .catalog-detail-nav a .icon {
    font-size: 14px !important;
    color: inherit !important;
    flex-shrink: 0 !important;
  }

  /* Request Card Overhaul */
  .catalog-package-request {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 10px !important;
    padding: 18px 16px !important;
    margin: 16px auto 20px auto !important;
    background: #ffffff !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 18px rgba(0, 30, 20, 0.08) !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
  }
  .catalog-package-request > div:first-child {
    grid-column: 1 / -1 !important;
    border: 0 !important;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #edf2ec !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  }
  .catalog-package-request > div:first-child small {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #e64f1c !important;
    margin: 0 !important;
  }
  .catalog-package-request > div:first-child strong {
    font-family: var(--font-display, Georgia, serif) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #172c20 !important;
    white-space: normal !important;
  }
  .catalog-package-request > label {
    border: 1.5px solid #dce4dc !important;
    border-radius: 8px !important;
    background: #fafcfa !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    min-height: 52px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
  }
  .catalog-package-request > label:focus-within {
    border-color: #00564a !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.12) !important;
  }
  .catalog-package-request > label small {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #5c6e64 !important;
    margin: 0 0 3px 0 !important;
    display: block !important;
    line-height: 1 !important;
  }
  .catalog-package-request input,
  .catalog-package-request select {
    width: 100% !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #1c2b22 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 24px !important;
    outline: none !important;
  }
  .catalog-package-request > label:nth-of-type(3) {
    grid-column: 1 / -1 !important;
  }
  .catalog-package-request > .button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    border-radius: 8px !important;
    background: #00564a !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 4px 0 0 0 !important;
    padding: 10px 16px !important;
    box-shadow: 0 4px 14px rgba(0, 86, 74, 0.28) !important;
    text-decoration: none !important;
    border: 0 !important;
    cursor: pointer !important;
    transition: transform 0.15s ease, background-color 0.15s ease !important;
  }
  .catalog-package-request > .button:active {
    transform: scale(0.98) !important;
    background: #00453b !important;
  }
  .catalog-package-request > .button > .icon {
    width: 18px !important;
    height: 18px !important;
    color: #ffffff !important;
  }
  .catalog-package-request > p {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 6px 0 0 0 !important;
    padding: 10px 0 0 0 !important;
    border-top: 1px solid #edf2ec !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    color: #5c6e64 !important;
    text-align: left !important;
  }
  .catalog-package-request > p > .icon {
    width: 16px !important;
    height: 16px !important;
    color: #00564a !important;
    flex-shrink: 0 !important;
  }

  /* ==========================================================================
     Package Itinerary Day Cards Mobile Overhaul (<= 640px)
     Transforms cramped 4-column layout into a clean, modern card with a
     panoramic landscape image, frosted day badge, and full-width typography.
     ========================================================================== */
  .catalog-itinerary-section {
    padding-block: 24px 28px !important;
  }
  .catalog-itinerary-heading {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    border-top: 1px solid #dce2d8 !important;
    padding-top: 18px !important;
  }
  .catalog-route-line {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    margin: 4px 0 16px 0 !important;
    font-size: 13px !important;
    white-space: normal !important;
  }
  .catalog-route-line > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 600 !important;
    color: #1a2f23 !important;
  }
  .catalog-route-line > span:not(:last-child):after {
    content: "›" !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #f15a24 !important;
    margin-left: 6px !important;
  }
  .catalog-route-line .icon {
    color: #00564a !important;
    width: 17px !important;
    height: 17px !important;
    flex-shrink: 0 !important;
  }

  .catalog-itinerary-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    width: 100% !important;
  }
  .catalog-day-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }
  .catalog-day {
    border: 1.5px solid #dce4dc !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    box-shadow: 0 3px 12px rgba(0, 30, 20, 0.05) !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  }
  .catalog-day[open] {
    border-color: #00564a !important;
    box-shadow: 0 6px 20px rgba(0, 86, 74, 0.1) !important;
  }
  .catalog-day summary {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    list-style: none !important;
    outline: none !important;
    background: #ffffff !important;
    align-items: start !important;
    gap: 0 !important;
  }
  .catalog-day summary::-webkit-details-marker {
    display: none !important;
  }

  /* Landscape Image Banner (No more stretching/squashing) */
  .catalog-day summary > picture {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 145px !important;
    min-height: 145px !important;
    max-height: 145px !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    background: #e9efe9 !important;
    margin: 0 !important;
    border-bottom: 1px solid #edf2ec !important;
  }
  .catalog-day summary > picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  /* Frosted Day Badge Overlaid on Top-Left of Image */
  .catalog-day-number {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 2 !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    background: rgba(10, 32, 24, 0.9) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    width: auto !important;
    height: auto !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  }
  .catalog-day-number b {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ff9356 !important;
  }

  /* Title & Summary Text */
  .catalog-day-title {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 14px 6px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
  }
  .catalog-day-title strong {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #172c20 !important;
    display: block !important;
    margin: 0 !important;
  }
  .catalog-day-title small {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #55665b !important;
    display: block !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }

  /* Chevron Toggle Button */
  .catalog-day-toggle {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 14px 14px 0 6px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f0f4f0 !important;
    border: 1px solid #dce4dc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    color: #00564a !important;
    flex-shrink: 0 !important;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease !important;
  }
  .catalog-day[open] .catalog-day-toggle {
    transform: rotate(180deg) !important;
    background: #00564a !important;
    color: #ffffff !important;
    border-color: #00564a !important;
  }

  /* Expanded Note */
  .catalog-day > p {
    padding: 13px 16px !important;
    margin: 0 !important;
    background: #f6f8f5 !important;
    border-top: 1px solid #e5ece4 !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #43544a !important;
    display: block !important;
  }

  /* Itinerary Sidebar Card on Mobile */
  .catalog-itinerary-card {
    border-radius: 12px !important;
    border: 1.5px dashed #bed0be !important;
    background: #f3f7f3 !important;
    overflow: hidden !important;
  }
  .catalog-itinerary-card > div {
    padding: 16px 14px !important;
    gap: 12px !important;
    display: flex !important;
    align-items: flex-start !important;
  }
  .catalog-itinerary-card > picture {
    width: 100% !important;
    height: 175px !important;
    min-height: 0 !important;
    display: block !important;
  }
  .catalog-itinerary-card > picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .catalog-itinerary-card > .button {
    margin: 12px 14px 16px 14px !important;
    width: calc(100% - 28px) !important;
    min-height: 46px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ==========================================================================
     Customise Your Trip Card Mobile Overhaul (<= 640px)
     Replaces awkward chart gridlines & dotted arc with authentic Google Maps
     cartography, destination chips, structured perks, and WhatsApp link.
     ========================================================================== */
  .catalog-package-customise {
    padding-block: 20px 28px !important;
  }
  .catalog-package-custom-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  .catalog-map-panel {
    position: relative !important;
    overflow: hidden !important;
    background-color: #f5f8f5 !important;
    background-image: none !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 12px !important;
    padding: 20px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    box-shadow: 0 4px 18px rgba(0, 30, 20, 0.05) !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
  }
  .catalog-map-panel::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: url('../images/brand/map-route-bg.webp') !important;
    background-image: image-set(
      url('../images/brand/map-route-bg.webp') type('image/webp'),
      url('../images/brand/map-route-bg.jpg') type('image/jpeg')
    ) !important;
    background-position: center 30% !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    opacity: 0.28 !important;
    filter: saturate(0.85) contrast(0.96) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }
  .catalog-map-panel::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(253, 255, 253, 0.94) 0%, rgba(247, 250, 246, 0.82) 42%, rgba(242, 248, 244, 0.94) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
  .catalog-map-panel > * {
    position: relative !important;
    z-index: 2 !important;
  }
  .catalog-map-panel .r-heading {
    margin: 0 !important;
  }
  .catalog-map-panel h2 {
    font-family: var(--font-display, Georgia, serif) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #172c20 !important;
    margin: 0 0 6px 0 !important;
  }
  .catalog-map-panel p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #4a5c51 !important;
    margin: 0 !important;
    max-width: none !important;
  }
  .catalog-map-destinations {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    align-items: center !important;
    margin: 2px 0 2px 0 !important;
  }
  .catalog-map-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #ffffff !important;
    border: 1.5px solid #d0dcd2 !important;
    border-radius: 999px !important;
    padding: 5px 11px 5px 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #172c20 !important;
    box-shadow: 0 2px 6px rgba(0, 30, 20, 0.05) !important;
  }
  .catalog-map-chip .icon {
    color: #00564a !important;
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
  }
  .catalog-custom-perks {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
  }
  .catalog-custom-perks li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    border: 1px solid rgba(220, 230, 222, 0.9) !important;
    border-radius: 9px !important;
    padding: 10px 12px !important;
    box-shadow: 0 2px 6px rgba(0, 25, 18, 0.03) !important;
  }
  .catalog-custom-perks .perk-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 7px !important;
    background: #e8f2ec !important;
    color: #00564a !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
  }
  .catalog-custom-perks .perk-icon .icon {
    width: 16px !important;
    height: 16px !important;
  }
  .catalog-custom-perks strong {
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #172c20 !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
  }
  .catalog-custom-perks p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: #55665b !important;
  }
  .catalog-custom-quick {
    margin-top: 2px !important;
    padding-top: 4px !important;
  }
  .catalog-whatsapp-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #0d4b2d !important;
    text-decoration: none !important;
    background: #e9f6ef !important;
    border: 1.5px solid #bfe3ca !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
  }
  .catalog-whatsapp-link:active {
    background: #d4ebd9 !important;
    transform: scale(0.98) !important;
  }
  .catalog-whatsapp-link .icon {
    color: #25d366 !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
  }
  .catalog-whatsapp-link b {
    font-weight: 700 !important;
    color: #083820 !important;
  }
}

/* ==========================================================================
   Vehicle Showcase & Fleet Cards Mobile Overhaul (<= 640px)
   Eliminates vertical cropping of vehicles, full-width responsive cards,
   unobstructed vehicle display with natural aspect ratio & clean action buttons.
   ========================================================================== */
@media (max-width: 640px) {
  .catalog-vehicle-overview > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
  }
  .catalog-vehicle-overview .catalog-image-note {
    margin: 8px 0 16px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
  }

  /* Vehicle Mosaic Stacks as 1 Clean Column */
  .catalog-vehicle-mosaic,
  .catalog-vehicle-mosaic-rest,
  .catalog-vehicle-mosaic-rest > div,
  .catalog-vehicle-mosaic-rest > div:last-child {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
  }

  /* Card Container */
  .catalog-vehicle-card,
  .catalog-vehicle-featured,
  .catalog-vehicle-mosaic-rest > div:first-child > .catalog-vehicle-card,
  .catalog-vehicle-mosaic-rest > div:last-child > .catalog-vehicle-card,
  .catalog-vehicle-mosaic-rest > div:last-child > .catalog-vehicle-card:last-child {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 1.5px solid #dce4dc !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(18, 44, 32, 0.06) !important;
    grid-column: auto !important;
  }

  /* Remove Dark Desktop Gradient Vignette Overlay */
  .catalog-vehicle-card::after {
    display: none !important;
  }

  /* Header (Order 1) */
  .catalog-vehicle-card-heading,
  .catalog-vehicle-mosaic-rest > div:last-child .catalog-vehicle-card-heading,
  .catalog-vehicle-mosaic-rest > div:first-child .catalog-vehicle-card-heading {
    position: relative !important;
    inset: auto !important;
    order: 1 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 16px 12px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f0f4f0 !important;
    z-index: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  .catalog-vehicle-card-heading h3,
  .catalog-vehicle-mosaic-rest > div:last-child .catalog-vehicle-card-heading h3,
  .catalog-vehicle-mosaic-rest > div:first-child .catalog-vehicle-card-heading h3 {
    font-family: var(--font-display) !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #16261c !important;
    margin: 0 !important;
    line-height: 1.25 !important;
  }
  .catalog-vehicle-card-heading span,
  .catalog-vehicle-mosaic-rest > div:last-child .catalog-vehicle-card-heading span,
  .catalog-vehicle-mosaic-rest > div:first-child .catalog-vehicle-card-heading span {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    color: #00564a !important;
    background: #e8f3ee !important;
    border: 1px solid #cce4d7 !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  /* Picture & Image Framing (Order 2) */
  .catalog-vehicle-card > picture {
    position: relative !important;
    inset: auto !important;
    order: 2 !important;
    width: 100% !important;
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(180deg, #f7faf7 0%, #edf3ee 100%) !important;
    padding: 14px 20px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .catalog-vehicle-card > picture > img {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 155px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.08)) !important;
  }

  /* Action Buttons (Order 3) */
  .catalog-vehicle-card-actions,
  .catalog-vehicle-mosaic-rest > div:last-child .catalog-vehicle-card-actions,
  .catalog-vehicle-mosaic-rest > div:first-child .catalog-vehicle-card-actions {
    position: relative !important;
    inset: auto !important;
    order: 3 !important;
    display: grid !important;
    grid-template-columns: 1fr 1.15fr !important;
    gap: 10px !important;
    padding: 12px 14px 14px !important;
    background: #fafcfa !important;
    border-top: 1px solid #eef2ee !important;
    z-index: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
  }
  .catalog-vehicle-card-actions .button,
  .catalog-vehicle-mosaic-rest > div:last-child .button,
  .catalog-vehicle-mosaic-rest > div:first-child .button {
    min-height: 44px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 12px !important;
    text-align: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
  }
  .catalog-vehicle-card-actions .button .icon {
    display: inline-flex !important;
  }
  .catalog-vehicle-card-actions .button-outline {
    background: #ffffff !important;
    border: 1.5px solid #d5dfd5 !important;
    color: #1b2b21 !important;
  }
  .catalog-vehicle-card-actions .button-outline:active {
    background: #f0f4f0 !important;
  }
  .catalog-vehicle-card-actions .button-primary {
    background: #eb5927 !important;
    border: 1.5px solid #eb5927 !important;
    color: #ffffff !important;
  }
  .catalog-vehicle-card-actions .button-primary:active {
    background: #d44919 !important;
  }
}

/* ==========================================================================
   Vehicle Gallery & Viewer Mobile Overhaul (<= 640px)
   Pill tab strip, uncropped vehicle photo, clean arrows, and horizontal thumbnails.
   ========================================================================== */
@media (max-width: 640px) {
  .catalog-vehicle-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }
  .catalog-vehicle-gallery > div:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .catalog-vehicle-gallery > div:first-child .button {
    align-self: flex-start !important;
    margin-top: 6px !important;
    margin-bottom: 8px !important;
  }

  /* Vehicle Title in Viewer */
  .catalog-vehicle-viewer h3 {
    font-family: var(--font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #16261c !important;
    margin: 0 0 10px !important;
  }

  /* Viewer Tabs */
  .catalog-viewer-tabs {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 8px !important;
    padding: 4px 2px 10px !important;
    scrollbar-width: none !important;
    border-bottom: 2px solid #e0e6df !important;
  }
  .catalog-viewer-tabs::-webkit-scrollbar {
    display: none !important;
  }
  .catalog-viewer-tabs button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    background: #eef3ee !important;
    color: #435449 !important;
    border: 1px solid #d5ded5 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }
  .catalog-viewer-tabs button.is-active {
    background: #00564a !important;
    color: #ffffff !important;
    border-color: #00564a !important;
    box-shadow: 0 2px 8px rgba(0, 86, 74, 0.25) !important;
  }

  /* Main Picture Frame */
  .catalog-viewer-main {
    height: 225px !important;
    min-height: 225px !important;
    background: linear-gradient(180deg, #f7faf7 0%, #edf3ee 100%) !important;
    border-radius: 12px !important;
    border: 1.5px solid #dce4dc !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    box-sizing: border-box !important;
    margin-top: 10px !important;
  }
  .catalog-viewer-main > div[hidden] {
    display: none !important;
  }
  .catalog-viewer-main > div:not([hidden]),
  .catalog-viewer-main picture {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .catalog-viewer-main img {
    max-width: 100% !important;
    max-height: 100% !important;
    height: auto !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.08)) !important;
  }

  /* Circular Arrow Buttons */
  .catalog-gallery-arrow {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #d2ded2 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12) !important;
    color: #00564a !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    cursor: pointer !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  .catalog-gallery-arrow.previous {
    left: 10px !important;
  }
  .catalog-gallery-arrow.next {
    right: 10px !important;
  }

  /* Note Box */
  .catalog-viewer-note {
    font-size: 12px !important;
    color: #55665b !important;
    background: #f2f7f3 !important;
    border-left: 3px solid #00564a !important;
    padding: 8px 12px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 10px 0 0 !important;
    line-height: 1.45 !important;
  }

  /* Horizontal Thumbnails Strip */
  .catalog-vehicle-thumbnails {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 10px !important;
    padding: 12px 2px 14px !important;
    scrollbar-width: none !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .catalog-vehicle-thumbnails::-webkit-scrollbar {
    display: none !important;
  }
  .catalog-vehicle-thumbnails button {
    flex: 0 0 118px !important;
    width: 118px !important;
    height: 98px !important;
    border-radius: 10px !important;
    border: 1.5px solid #dce4dc !important;
    background: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(18, 44, 32, 0.05) !important;
    transition: all 0.2s ease !important;
  }
  .catalog-vehicle-thumbnails button[aria-pressed="true"] {
    border-color: #00564a !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.18) !important;
  }
  .catalog-vehicle-thumbnails picture,
  .catalog-vehicle-thumbnails img {
    width: 100% !important;
    height: 66px !important;
    object-fit: contain !important;
    padding: 4px 6px !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  .catalog-vehicle-thumbnails span {
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 26px !important;
    line-height: 26px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    background: rgba(245, 248, 245, 0.95) !important;
    border-top: 1px solid #e0e6df !important;
    color: #172c20 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 0 4px !important;
    display: block !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   Detailed Booking & Enquiry Form Mobile Overhaul (<= 640px)
   Single-column spacious form, zero text truncation, full touch-target controls,
   and executive card framing.
   ========================================================================== */
@media (max-width: 640px) {
  /* Form Card Framing */
  .enquiry-form.detailed-form,
  .catalog-inline-enquiry .detailed-form {
    padding: 20px 16px 22px !important;
    border-radius: 14px !important;
    border: 1px solid #dce4dc !important;
    background: #ffffff !important;
    box-shadow: 0 6px 22px rgba(18, 44, 32, 0.08) !important;
  }

  /* Form Heading */
  .detailed-form .form-heading h2 {
    font-family: var(--font-display) !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #15261c !important;
    margin: 0 0 14px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e8ece6 !important;
    line-height: 1.25 !important;
  }

  /* Trip Type Tabs */
  .detailed-form .r-trip-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-bottom: 18px !important;
    background: #f0f4ef !important;
    padding: 5px !important;
    border-radius: 10px !important;
    border: 1px solid #dce4dc !important;
  }
  .detailed-form .r-trip-tabs button {
    min-height: 42px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #435449 !important;
    padding: 8px 10px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  }
  .detailed-form .r-trip-tabs button.active {
    background: #00564a !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 86, 74, 0.25) !important;
    font-weight: 700 !important;
  }

  /* Form Grid Stacks as Single 1fr Column */
  .detailed-form .form-grid,
  .catalog-inline-enquiry .detailed-form .form-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    width: 100% !important;
  }

  /* All Form Labels Span Full Width */
  .detailed-form .form-grid label,
  .detailed-form .form-grid label:nth-of-type(n),
  .detailed-form .form-grid .field-wide,
  .catalog-inline-enquiry .detailed-form .form-grid > label {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #172c20 !important;
    margin: 0 !important;
  }
  .detailed-form .form-grid label:not(.consent) > span {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #172c20 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
  }
  .detailed-form .form-grid label:not(.consent) > span .optional {
    color: #79887e !important;
    font-weight: 400 !important;
    font-size: 12px !important;
  }

  /* Inputs, Selects & Textarea */
  .detailed-form .form-grid input,
  .detailed-form .form-grid select,
  .detailed-form .form-grid textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #172c20 !important;
    background: #ffffff !important;
    border: 1.5px solid #d8ded5 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
  }
  .detailed-form .form-grid select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300564a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 38px !important;
    cursor: pointer !important;
  }
  .detailed-form .form-grid input:focus,
  .detailed-form .form-grid select:focus,
  .detailed-form .form-grid textarea:focus {
    border-color: #00564a !important;
    box-shadow: 0 0 0 3px rgba(0, 86, 74, 0.15) !important;
    outline: none !important;
  }
  .detailed-form .form-grid input::placeholder,
  .detailed-form .form-grid textarea::placeholder {
    color: #79887e !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }
  .detailed-form .form-grid textarea {
    min-height: 96px !important;
    resize: vertical !important;
    line-height: 1.45 !important;
    font-family: inherit !important;
  }

  /* Consent Checkbox */
  .detailed-form .form-grid .consent,
  .catalog-inline-enquiry .detailed-form .form-grid .consent {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 6px 0 !important;
    min-height: 0 !important;
  }
  .detailed-form .form-grid .consent input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    accent-color: #00564a !important;
    border-radius: 4px !important;
    cursor: pointer !important;
  }
  .detailed-form .form-grid .consent span,
  .catalog-inline-enquiry .detailed-form .form-grid .consent span {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #384a3e !important;
    line-height: 1.45 !important;
    flex: 1 1 auto !important;
  }
  .detailed-form .form-grid .consent a {
    color: #00564a !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
  }

  /* Form Actions (Buttons) */
  .detailed-form .form-actions,
  .catalog-inline-enquiry .detailed-form .form-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 12px !important;
    margin-bottom: 10px !important;
  }
  .detailed-form .form-actions .button,
  .catalog-inline-enquiry .detailed-form .form-actions .button {
    width: 100% !important;
    min-height: 48px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
  }
  .detailed-form .form-actions .button-outline {
    background: #ffffff !important;
    border: 1.5px solid #eb5927 !important;
    color: #eb5927 !important;
  }
  .detailed-form .form-actions .button-outline:active {
    background: #fdf5f2 !important;
  }
  .detailed-form .form-actions .button-green {
    background: #00564a !important;
    border: 1.5px solid #00564a !important;
    color: #ffffff !important;
  }
  .detailed-form .form-actions .button-green:active {
    background: #00433a !important;
  }

  /* Footnote */
  .detailed-form .r-form-footnote {
    font-size: 12px !important;
    color: #627267 !important;
    text-align: center !important;
    margin: 6px 0 0 !important;
  }
}

/* ==========================================================================
   Trust Process 4-Step Flow Overhaul (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  .trust-process {
    padding-block: 32px 28px !important;
  }
  .trust-process-contact {
    padding-block: 30px 28px !important;
  }
  .trust-process-header {
    text-align: left !important;
    margin-bottom: 20px !important;
  }
  .trust-process-header .eyebrow {
    font-size: 11px !important;
    margin-bottom: 6px !important;
  }
  .trust-process-header h2 {
    font-size: 24px !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }
  .trust-process-sub {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  .trust-process-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .trust-process-card {
    display: grid !important;
    grid-template-columns: 46px 1fr !important;
    grid-template-areas:
      "symbol badge"
      "symbol title"
      "symbol desc" !important;
    row-gap: 3px !important;
    column-gap: 14px !important;
    padding: 15px 14px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid #dce5df !important;
    box-shadow: 0 2px 10px rgba(18, 44, 32, 0.04) !important;
    align-items: start !important;
  }
  .trust-process-card::after,
  .trust-process-layout li::after {
    display: none !important;
    content: none !important;
  }
  .trust-step-symbol {
    grid-area: symbol !important;
    width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 10px !important;
    background: #eef5f1 !important;
    color: #00564a !important;
    border: 1px solid #d7e5dc !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    font-size: 20px !important;
  }
  .trust-process-contact .trust-step-symbol {
    background: #f8f2df !important;
    color: #78580b !important;
    border-color: #eadcba !important;
  }
  .trust-step-badge-wrap {
    grid-area: badge !important;
    justify-self: start !important;
  }
  .trust-step-badge {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    color: #ef6631 !important;
    background: #fff2ec !important;
    border: 1px solid #fedbd0 !important;
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
  }
  .trust-process-contact .trust-step-badge {
    color: #87640f !important;
    background: #faf3dc !important;
    border-color: #ecdcb4 !important;
  }
  .trust-step-title {
    grid-area: title !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #122c20 !important;
    margin: 2px 0 0 !important;
    min-height: 0 !important;
    line-height: 1.3 !important;
  }
  .trust-step-desc {
    grid-area: desc !important;
    font-size: 12px !important;
    color: #55665a !important;
    line-height: 1.45 !important;
    margin-top: 2px !important;
  }
  .trust-process-caption {
    font-size: 12px !important;
    margin: 20px 0 12px !important;
    text-align: left !important;
    line-height: 1.5 !important;
    color: #55665a !important;
  }
  .trust-process-action {
    text-align: stretch !important;
  }
  .trust-process-action .button {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ==========================================================================
   Mobile Footer & Legal Navigation Refinement (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  .site-footer {
    /* Generous bottom padding so content never touches or hides behind fixed bottom actions */
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-top: 22px !important;
    padding-top: 16px !important;
    padding-bottom: 8px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  }

  .footer-bottom > span:first-child {
    font-size: 11.5px !important;
    color: #cad5d0 !important;
    line-height: 1.4 !important;
  }

  .footer-credit {
    font-size: 11.5px !important;
    color: #a4b8af !important;
    display: inline-block !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
  }

  .footer-credit a {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ff9356 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    font-weight: 600 !important;
  }

  .footer-bottom nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 14px !important;
    margin-top: 4px !important;
  }

  .footer-bottom nav a {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    color: #9cb1a6 !important;
    line-height: 1.4 !important;
  }

  .footer-bottom nav a:hover {
    color: #ffffff !important;
  }
}


