/*
 * sote-readability.css
 * Comprehensive text readability fixes across the entire site.
 * Loaded last so it takes precedence over all other stylesheets.
 * Covers: topbar, header/nav, hero sections, page headers,
 *         footer, mobile nav, and all inner-page sections.
 */

/* ─────────────────────────────────────────────
   GLOBAL BASE
   Ensure body text is always legible
   ───────────────────────────────────────────── */
body {
  color: #3a3a3a;
}

/* ─────────────────────────────────────────────
   TOPBAR
   Yellow (#f7a600) background → needs dark text
   ───────────────────────────────────────────── */

/* Generic topbar (non-sote pages) */
.topbar .topbar__info li,
.topbar .topbar__info li a,
.topbar .topbar__info li address,
.topbar .topbar__right,
.topbar .topbar__login,
.topbar .topbar__login a {
  color: #17120d !important;
}

.topbar .topbar__info__icon {
  color: #17120d !important;
  border-color: rgba(23, 18, 13, 0.28) !important;
}

.topbar .topbar__info li a:hover,
.topbar .topbar__login a:hover {
  color: rgba(23, 18, 13, 0.65) !important;
}

/* Sote-home topbar has a dark gradient bg → keep white text */
.sote-topbar .topbar__info li,
.sote-topbar .topbar__info li a,
.sote-topbar .topbar__login a,
.sote-topbar .topbar__login__inner,
.sote-topbar .topbar__login__inner a {
  color: rgba(255, 255, 255, 0.9) !important;
}

.sote-topbar .topbar__info li a:hover,
.sote-topbar .topbar__login a:hover {
  color: var(--sote-base, #f7a600) !important;
}

/* ─────────────────────────────────────────────
   HEADER / MAIN NAVIGATION
   Light (#fff9f0) background → dark text
   ───────────────────────────────────────────── */
.main-header,
.sote-header {
  background-color: rgba(255, 249, 240, 0.96);
}

/* Nav links */
.main-menu .main-menu__list > li > a,
.sote-home .main-menu .main-menu__list > li > a {
  color: #17120d !important;
}

.main-menu .main-menu__list > li > a:hover,
.main-menu .main-menu__list > li.current > a,
.sote-home .main-menu .main-menu__list > li > a:hover,
.sote-home .main-menu .main-menu__list > li.current > a {
  color: var(--sote-base-deep, #db7600) !important;
}

/* Dropdown menus */
.main-menu .main-menu__list ul li a {
  color: #17120d !important;
}

.main-menu .main-menu__list ul li a:hover {
  color: var(--sote-base-deep, #db7600) !important;
}

/* Sticky cloned header */
.sticky-header--cloned .main-menu .main-menu__list > li > a {
  color: #17120d !important;
}

/* Search + cart icons in header */
.main-header__search,
.main-header__cart {
  color: #17120d !important;
}

/* ─────────────────────────────────────────────
   HERO SECTIONS (dark overlay background)
   Always white/near-white text
   ───────────────────────────────────────────── */

/* Generic main-slider hero */
.main-slider-one__item,
.main-slider-two__item,
.main-slider-three__item {
  /* Dark bg is set inline; text should be white */
}

.main-slider-one__title,
.main-slider-two__title,
.main-slider-three__title {
  color: #ffffff !important;
}

.main-slider-one__text,
.main-slider-two__text,
.main-slider-three__text {
  color: rgba(255, 255, 255, 0.88) !important;
}

.main-slider-one__sub-title,
.main-slider-two__sub-title,
.main-slider-three__sub-title {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Shared image hero copy */
.sote-city-hero__content h1,
.sote-cities-hero__content h1,
.sote-services-hero__content h1,
.sote-about-hero__content h1,
.sote-contact-hero__content h1,
.sote-faq-hero__content h1,
.sote-blog-hero__content h1,
.sote-news-hero__content h1,
.sote-article-hero__content h1 {
  color: #ffffff !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.55) !important;
}

.sote-city-hero__content p,
.sote-cities-hero__content p,
.sote-services-hero__content p,
.sote-about-hero__content p,
.sote-contact-hero__content p,
.sote-faq-hero__content p,
.sote-blog-hero__content p,
.sote-news-hero__content p,
.sote-article-hero__content p {
  color: rgba(255, 255, 255, 0.94) !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.46) !important;
}

.sote-city-hero__link,
.sote-cities-link,
.sote-services-hero .sote-text-link,
.sote-about-hero .sote-text-link,
.sote-contact-hero .sote-text-link,
.sote-faq-hero .sote-text-link,
.sote-blog-hero .sote-text-link,
.sote-news-hero .sote-text-link,
.sote-article-hero .sote-text-link {
  color: #ffffff !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.46) !important;
}

/* Sote hero (v1) */
.sote-hero__content h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}

.sote-hero__content p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.sote-hero__trust li {
  color: rgba(255, 255, 255, 0.95) !important;
}

.sote-stat strong {
  color: #ffffff !important;
}

.sote-stat span {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-service-pill {
  color: rgba(255, 255, 255, 0.92) !important;
}

.sote-link-btn {
  color: #ffffff !important;
}

/* Eyebrow labels on dark/hero sections */
.sote-hero .sote-eyebrow,
.sote-services-hero .sote-eyebrow,
.sote-about-hero .sote-eyebrow,
.sote-contact-hero .sote-eyebrow,
.sote-faq-hero .sote-eyebrow,
.sote-blog-hero .sote-eyebrow,
.sote-news-hero .sote-eyebrow,
.sote-article-hero .sote-eyebrow,
.sote-cta .sote-eyebrow,
.sote-footer .sote-eyebrow {
  color: #ffffff !important;
}

/* Sote hero v2 */
.sote-v2-hero__content h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}

.sote-v2-hero__content p {
  color: rgba(255, 255, 255, 0.9) !important;
}

.sote-v2-hero__service-tags span {
  color: rgba(255, 255, 255, 0.92) !important;
}

.sote-v2-metric strong {
  color: #ffffff !important;
}

.sote-v2-metric span {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ─────────────────────────────────────────────
   PAGE HEADER (dark overlay bg)
   ───────────────────────────────────────────── */
.page-header__title {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

/* Breadcrumbs */
.cityride-breadcrumb li {
  color: rgba(255, 255, 255, 0.9) !important;
}

.cityride-breadcrumb li:not(:last-of-type)::after {
  color: rgba(255, 255, 255, 0.7) !important;
}

.cityride-breadcrumb li .cityride-breadcrumb__icon {
  color: rgba(255, 255, 255, 0.9) !important;
}

.cityride-breadcrumb li a {
  color: rgba(255, 255, 255, 0.82) !important;
}

.cityride-breadcrumb li a:hover {
  color: var(--cityride-base, #f89c10) !important;
}

.cityride-breadcrumb li:last-child span {
  color: var(--cityride-base, #f89c10) !important;
}

/* ─────────────────────────────────────────────
   SECTION HEADINGS AND BODY TEXT (light bg)
   ───────────────────────────────────────────── */
.sote-section__head h2,
.sote-spotlight__content h2,
.sote-operations__lead h2,
.sote-v2-section__head h2,
.sote-v2-app h2,
.sote-v2-cta__inner h2,
.sote-v2-showcase__top h2,
.sote-v2-overview__card h2 {
  color: #0b0b0b !important;
}

.sote-section__head p,
.sote-spotlight__content p,
.sote-operations__lead p,
.sote-v2-section__head p,
.sote-v2-overview__card p,
.sote-v2-city-card__body p,
.sote-v2-service-card p,
.sote-v2-platform__content p,
.sote-v2-platform__item p,
.sote-v2-expansion__card p,
.sote-feature-card p,
.sote-process__content p {
  color: #52565a !important;
}

/* Card headings on light backgrounds */
.sote-feature-card h3,
.sote-process__content h3,
.sote-v2-city-card__body h3,
.sote-v2-service-card h3,
.sote-v2-platform__item h3,
.sote-v2-expansion__card h3,
.sote-v2-overview__card h2,
.sote-testimonial-card__quote {
  color: #0b0b0b !important;
}

/* Muted labels / uppercase eyebrows on light bg */
.sote-process__content span,
.sote-spotlight__badge span,
.sote-hero__signal span,
.sote-hero__route__label,
.sote-v2-showcase__focus span,
.sote-v2-showcase__item span,
.sote-v2-city-card__body span,
.sote-v2-platform__note span {
  color: #767b80 !important;
}

/* Strong / values on light cards */
.sote-hero__signal strong,
.sote-hero__route__value,
.sote-spotlight__badge strong,
.sote-v2-showcase__focus strong,
.sote-v2-showcase__item strong {
  color: #0b0b0b !important;
}

/* ─────────────────────────────────────────────
   DARK SECTION OVERRIDES
   Audiences, app panel, expansion hero
   ───────────────────────────────────────────── */
.sote-audiences .sote-section__head h2,
.sote-audiences .sote-audience-card h3 {
  color: #ffffff !important;
}

.sote-audiences .sote-section__head p,
.sote-audiences .sote-audience-card p {
  color: rgba(255, 255, 255, 0.80) !important;
}

.sote-audience-card li {
  color: rgba(255, 255, 255, 0.92) !important;
}

.sote-app__content h2 {
  color: #ffffff !important;
}

.sote-app__content p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-check-list__item {
  color: rgba(255, 255, 255, 0.92) !important;
}

.sote-store-btn span {
  color: rgba(255, 255, 255, 0.72) !important;
}

.sote-store-btn strong {
  color: #ffffff !important;
}

.sote-v2-section--dark .sote-v2-section__head h2 {
  color: #ffffff !important;
}

.sote-v2-section--dark .sote-v2-section__head p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-v2-expansion__copy h3 {
  color: #ffffff !important;
}

.sote-v2-expansion__copy p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-v2-expansion__meta-item strong {
  color: #ffffff !important;
}

.sote-v2-expansion__meta-item span {
  color: rgba(255, 255, 255, 0.78) !important;
}

.sote-v2-expansion__card h3,
.sote-v2-expansion__card p,
.sote-v2-expansion__card a {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Platform overlay note */
.sote-v2-platform__note span {
  color: rgba(255, 255, 255, 0.75) !important;
}

.sote-v2-platform__note strong {
  color: #ffffff !important;
}

/* Booking card (dark) */
.sote-booking-card__title {
  color: #ffffff !important;
}

.sote-booking-card__text {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-booking-card__footer p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.sote-field label {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* ─────────────────────────────────────────────
   CTA SECTION (yellow gradient bg)
   ───────────────────────────────────────────── */
.sote-cta__content h2,
.sote-v2-cta__inner h2 {
  color: #17120d !important;
}

.sote-cta__content p {
  color: rgba(23, 18, 13, 0.82) !important;
}

/* ─────────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────────── */

/* Sote-footer (custom dark footer) */
.sote-footer h3 {
  color: #ffffff !important;
}

.sote-footer a {
  color: rgba(255, 255, 255, 0.88) !important;
}

.sote-footer a:hover {
  color: var(--sote-base, #f7a600) !important;
}

.sote-footer__brand p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.sote-footer__contact-card strong {
  color: #ffffff !important;
}

.sote-footer__contact-card p {
  color: rgba(255, 255, 255, 0.86) !important;
}

.sote-footer__social a {
  color: rgba(255, 255, 255, 0.92) !important;
}

.sote-footer__bottom,
.sote-footer__bottom p,
.sote-footer__bottom a {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Generic main-footer (dark bg) */
.main-footer__inner .footer-widget__about-text,
.main-footer__inner .footer-widget__links li,
.main-footer__inner .footer-widget__info li,
.main-footer__inner .footer-widget__info li address {
  color: rgba(255, 255, 255, 0.88) !important;
}

.main-footer__inner .footer-widget__post__title {
  color: rgba(255, 255, 255, 0.94) !important;
}

.main-footer__inner .footer-widget__post__meta a {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Footer bottom bar — yellow bg */
.main-footer__bottom .main-footer__copyright,
.main-footer__bottom .main-footer__bottom__list li a {
  color: rgba(23, 18, 13, 0.85) !important;
}

.main-footer__bottom .main-footer__bottom__list li a:hover {
  color: #17120d !important;
}

/* Widget headings inside dark footer */
.main-footer .widget-title,
.main-footer .footer-widget__title {
  color: #ffffff !important;
}

/* ─────────────────────────────────────────────
   MOBILE NAV
   ───────────────────────────────────────────── */
.mobile-nav__content {
  background: #ffffff;
}

.mobile-nav__content .main-menu__list > li > a,
.mobile-nav__content .main-menu__list li a {
  color: #17120d !important;
}

.mobile-nav__content .main-menu__list > li > a:hover {
  color: var(--sote-base-deep, #db7600) !important;
}

/* ─────────────────────────────────────────────
   SECTION: PROOF / TESTIMONIALS / CARDS (light)
   ───────────────────────────────────────────── */
.sote-testimonial-card__stars {
  color: var(--sote-base-deep, #db7600) !important;
}

.sote-testimonial-card__quote {
  color: #17120d !important;
}

.sote-testimonial-card__author strong {
  color: #0b0b0b !important;
}

.sote-testimonial-card__author span {
  color: #767b80 !important;
}

/* City cards */
.sote-city-card__content h3 {
  color: #0b0b0b !important;
}

.sote-city-card__content p {
  color: #52565a !important;
}

.sote-city-card__link {
  color: #0b0b0b !important;
}

.sote-v2-city-card__body h3 {
  color: #0b0b0b !important;
}

/* Presence items */
.sote-presence__item strong {
  color: #0b0b0b !important;
}

.sote-presence__item span {
  color: #767b80 !important;
}

/* ─────────────────────────────────────────────
   INNER PAGE: ABOUT, SERVICES, CONTACT, FAQ etc.
   (page-header is dark; content sections are light)
   ───────────────────────────────────────────── */
.sote-about-section h2,
.sote-about-section h3,
.sote-services-section h2,
.sote-services-section h3,
.sote-contact-main h2,
.sote-contact-main h3,
.sote-faq-main h2,
.sote-faq-main h3,
.sote-blog-main h2,
.sote-blog-main h3,
.sote-news-main h2,
.sote-news-main h3 {
  color: #0b0b0b !important;
}

.sote-about-section p,
.sote-services-section p,
.sote-contact-main p,
.sote-faq-main p,
.sote-blog-main p,
.sote-news-main p {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   BOOKING / FORM ELEMENTS (dark bg forms)
   ───────────────────────────────────────────── */
.sote-field input,
.sote-field select {
  color: #ffffff !important;
}

.sote-field input::placeholder {
  color: rgba(255, 255, 255, 0.52) !important;
}

/* ─────────────────────────────────────────────
   DRIVER SECTION
   ───────────────────────────────────────────── */
.sote-driver-clean-section h2,
.sote-driver-clean-section h3 {
  color: #0b0b0b !important;
}

.sote-driver-clean-section p {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   GENERIC BODY TEXT FALLBACK
   Ensure adequate contrast on all standard pages
   ───────────────────────────────────────────── */
p {
  color: inherit;
}

h1, h2, h3, h4, h5, h6 {
  color: inherit;
}

/* Prevent transparent / invisible text globally */
[style*="color: transparent"],
[style*="color:transparent"] {
  color: inherit !important;
}

/* ─────────────────────────────────────────────
   HERO EYEBROW — v2 eyebrow on dark hero bg
   Default .sote-v2-eyebrow color is #7c5200
   (dark amber) — invisible on dark backgrounds.
   ───────────────────────────────────────────── */
.sote-v2-hero .sote-v2-eyebrow,
.sote-booking-shell .sote-v2-eyebrow,
.sote-driver-hero .sote-v2-eyebrow,
.sote-driver-page .sote-v2-eyebrow {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

/* ─────────────────────────────────────────────
   CTA SECTION — yellow gradient bg (#f4b400)
   Body rule `color: #3a3a3a` provides adequate
   contrast here; ensure h2/p are not overridden
   to white by readability dark-section rules.
   ───────────────────────────────────────────── */
.sote-v2-cta__inner h2,
.sote-v2-cta__inner p,
.sote-v2-cta__inner span:not(.cityride-btn__icon) {
  color: #17120d !important;
}

/* Eyebrow inside yellow CTA = amber dot on white pill */
.sote-v2-cta__inner .sote-v2-eyebrow {
  background: rgba(23, 18, 13, 0.1) !important;
  border-color: rgba(23, 18, 13, 0.12) !important;
  color: #17120d !important;
}

/* ─────────────────────────────────────────────
   BOOKING CARD — white card on dark hero
   Tag contrast: amber text on amber bg is low
   ───────────────────────────────────────────── */
.sote-booking-tag {
  background: rgba(201, 141, 0, 0.14) !important;
  color: #4a2d00 !important;
}

.sote-booking-card__status {
  background: rgba(23, 18, 13, 0.07) !important;
  color: #0b0b0b !important;
}

.sote-booking-card__head h2 {
  color: #0b0b0b !important;
}

.sote-booking-card__head p {
  color: #52565a !important;
}

.sote-booking__qr-panel h3,
.sote-booking__qr-panel .sote-booking-tag {
  color: #0b0b0b !important;
}

.sote-booking-form__note strong {
  color: #0b0b0b !important;
}

/* ─────────────────────────────────────────────
   DRIVER PAGE HERO — same issue as rides hero
   ───────────────────────────────────────────── */
.sote-driver-hero__content h1,
.sote-driver-clean__hero h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}

.sote-driver-hero__content p,
.sote-driver-clean__hero p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* ─────────────────────────────────────────────
   ABOUT PAGE — "Build with Sote" dark CTA
   The .sote-readability body rule + WOW
   animation can sometimes reset color.
   ───────────────────────────────────────────── */
.sote-about-cta__inner h2 {
  color: #ffffff !important;
}

.sote-about-cta__inner .sote-eyebrow {
  color: rgba(255, 255, 255, 0.88) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

/* ─────────────────────────────────────────────
   GLOBAL: prevent body `color: #3a3a3a` from
   leaking into explicitly dark sections
   ───────────────────────────────────────────── */
.sote-v2-section--dark,
.sote-v2-section--dark h2,
.sote-v2-section--dark h3,
.sote-v2-section--dark p {
  color: inherit;
}

.sote-v2-section--dark .sote-v2-section__head h2 {
  color: #ffffff !important;
}

.sote-v2-section--dark .sote-v2-section__head p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ─────────────────────────────────────────────
   HEADER APP PANEL dropdown — text contrast
   ───────────────────────────────────────────── */
.sote-header__app-panel h3,
.sote-header__app-panel p,
.sote-header__app-panel strong {
  color: #0b0b0b !important;
}

.sote-header__app-panel .sote-header__app-desc {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   STEP CARDS (rides page) — labels contrast
   ───────────────────────────────────────────── */
.sote-booking-step-card__label {
  background: rgba(244, 180, 0, 0.14) !important;
  color: #5a3c00 !important;
}

.sote-booking-step-card h3 {
  color: #0b0b0b !important;
}

.sote-booking-step-card p {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   FEATURE CARDS (rides page)
   ───────────────────────────────────────────── */
.sote-booking-feature-card h3 {
  color: #0b0b0b !important;
}

.sote-booking-feature-card p,
.sote-booking-feature-card__list li {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   SECTION HEADS (light bg pages)
   ───────────────────────────────────────────── */
.sote-booking-section-head h2 {
  color: #0b0b0b !important;
}

.sote-booking-section-head p {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   BOTTOM CTA PANEL (dark bg on rides page)
   ───────────────────────────────────────────── */
.sote-booking-bottom__copy h2 {
  color: #ffffff !important;
}

.sote-booking-bottom__copy p {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* ─────────────────────────────────────────────
   ABOUT PAGE HERO — ensure white text on dark
   overlay is not overridden by body color rule
   ───────────────────────────────────────────── */
.sote-about-hero__content h1 {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.2);
}

.sote-about-hero__content p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.sote-about-hero__content .sote-eyebrow {
  color: rgba(255, 255, 255, 0.92) !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

/* ─────────────────────────────────────────────
   ABOUT HERO ACTION LINKS
   ───────────────────────────────────────────── */
.sote-about-hero .sote-text-link,
.sote-about-hero .sote-text-link span {
  color: #ffffff !important;
}

/* ─────────────────────────────────────────────
   ABOUT SECTION (light bg) — body text
   ───────────────────────────────────────────── */
.sote-about-section h2,
.sote-about-section h3 {
  color: #0b0b0b !important;
}

.sote-about-section p,
.sote-about-section li {
  color: #52565a !important;
}

/* ─────────────────────────────────────────────
   V2 HERO COPY — left side on booking/driver
   shells that share the .sote-booking-copy class
   ───────────────────────────────────────────── */
.sote-booking-copy h1 {
  color: #ffffff !important;
}

.sote-booking-copy p {
  color: rgba(255, 255, 255, 0.82) !important;
}

.sote-booking-copy .sote-v2-eyebrow {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Public cleanup and final readability safeguards */
.megamenu-clickable--toggler,
.mobile-nav__content .megamenu-clickable--toggler {
  display: none !important;
}

.sote-booking-page .sote-booking-shell .sote-booking-card,
.sote-driver-page .sote-booking-shell .sote-booking-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}

.sote-booking-page .sote-booking-card__head h2,
.sote-driver-page .sote-booking-card__head h2,
.sote-booking-page .sote-booking__qr-panel h3,
.sote-driver-page .sote-booking__qr-panel h3,
.sote-booking-page .sote-booking-form__note strong,
.sote-driver-page .sote-booking-form__note strong {
  color: #0b0b0b !important;
}

.sote-booking-page .sote-booking-card__head p,
.sote-driver-page .sote-booking-card__head p {
  color: #4d5358 !important;
}

.sote-booking-page .sote-booking-form__note,
.sote-driver-page .sote-booking-form__note {
  background: rgba(23, 18, 13, 0.06) !important;
  border-color: rgba(23, 18, 13, 0.08) !important;
}

.sote-booking-page .sote-booking__app-links .cityride-btn--border,
.sote-driver-page .sote-booking__app-links .cityride-btn--border {
  background: #ffffff !important;
  border-color: rgba(244, 180, 0, 0.82) !important;
  color: #17120d !important;
}

.sote-booking-page .sote-booking__app-links .cityride-btn--border span,
.sote-driver-page .sote-booking__app-links .cityride-btn--border span {
  color: #17120d !important;
}

@media (max-width: 575px) {
  #scroll-top,
  .scroll-top {
    display: none !important;
  }
}

/* Final dark safety panel contrast: driver and rider pages */
.sote-driver-safety-panel .sote-driver-safety-copy h2,
.sote-rider-safety-panel .sote-rider-safety-copy h2 {
  color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.35);
}

.sote-driver-safety-panel .sote-driver-safety-copy p,
.sote-rider-safety-panel .sote-rider-safety-copy p {
  color: rgba(255, 255, 255, 0.86) !important;
}

.sote-driver-safety-panel .sote-driver-safety-copy .sote-eyebrow,
.sote-rider-safety-panel .sote-rider-safety-copy .sote-v2-eyebrow {
  color: #ffffff !important;
  background: rgba(248, 156, 16, 0.24) !important;
  border-color: rgba(248, 156, 16, 0.34) !important;
}

.sote-driver-safety-panel .sote-driver-safety-copy .sote-eyebrow::before,
.sote-rider-safety-panel .sote-rider-safety-copy .sote-v2-eyebrow::before {
  background-color: #f89c10 !important;
  box-shadow: 0 0 0 6px rgba(248, 156, 16, 0.16) !important;
}

/* SOTE typography scale normalization */
:root {
  --sote-type-body: 16px;
  --sote-type-small: 14px;
  --sote-type-label: 12px;
  --sote-weight-regular: 400;
  --sote-weight-medium: 500;
  --sote-weight-semibold: 600;
  --sote-weight-bold: 700;
  --sote-leading-body: 1.68;
  --sote-leading-heading: 1.12;
}

html {
  font-size: 16px !important;
}

html body {
  font-family: var(--sote-font, "Plus Jakarta Sans", "Manrope", Arial, sans-serif) !important;
  font-size: var(--sote-type-body) !important;
  font-weight: var(--sote-weight-regular) !important;
  line-height: var(--sote-leading-body) !important;
  color: #41464b !important;
  letter-spacing: 0 !important;
}

html body p,
html body li,
html body address,
html body input,
html body select,
html body textarea {
  font-size: 1rem !important;
  font-weight: var(--sote-weight-regular) !important;
  line-height: 1.72 !important;
  letter-spacing: 0 !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  font-family: var(--sote-font, "Plus Jakarta Sans", "Manrope", Arial, sans-serif) !important;
  font-weight: var(--sote-weight-bold) !important;
  letter-spacing: 0 !important;
  line-height: var(--sote-leading-heading) !important;
}

html body h1,
html body .page-header__title,
html body .sote-v2-hero__content h1,
html body .sote-hero__content h1,
html body .sote-city-hero__content h1,
html body .sote-cities-hero__content h1,
html body .sote-services-hero__content h1,
html body .sote-about-hero__content h1,
html body .sote-contact-hero__content h1,
html body .sote-faq-hero__content h1,
html body .sote-blog-hero__content h1,
html body .sote-news-hero__content h1,
html body .sote-article-hero__content h1,
html body .sote-booking-copy h1,
html body .sote-driver-hero__content h1 {
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: var(--sote-weight-bold) !important;
  line-height: 1.06 !important;
}

html body h2,
html body .sote-section__head h2,
html body .sote-v2-section__head h2,
html body .sote-booking-section-head h2,
html body .sote-v2-cta__inner h2,
html body .sote-v2-showcase__top h2,
html body .sote-v2-platform__content h2,
html body .sote-v2-expansion__copy h3 {
  font-size: clamp(28px, 3.2vw, 42px) !important;
  font-weight: var(--sote-weight-bold) !important;
  line-height: 1.14 !important;
}

html body h3,
html body .sote-feature-card h3,
html body .sote-process__content h3,
html body .sote-v2-city-card__body h3,
html body .sote-v2-service-card h3,
html body .sote-v2-platform__item h3,
html body .sote-v2-expansion__card h3,
html body .sote-booking-feature-card h3,
html body .sote-booking-step-card h3,
html body .sote-header__app-headline,
html body .sote-footer__heading {
  font-size: clamp(20px, 1.7vw, 24px) !important;
  font-weight: var(--sote-weight-bold) !important;
  line-height: 1.24 !important;
}

html body h4,
html body h5,
html body h6 {
  font-size: 18px !important;
  font-weight: var(--sote-weight-bold) !important;
  line-height: 1.28 !important;
}

html body .main-menu .main-menu__list > li > a {
  font-size: 15px !important;
  font-weight: var(--sote-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .main-menu .main-menu__list ul li a,
html body .mobile-nav__content .main-menu__list li a {
  font-size: 14px !important;
  font-weight: var(--sote-weight-medium) !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .topbar,
html body .topbar a,
html body .topbar span,
html body .sote-footer a,
html body .sote-footer p,
html body .sote-footer li,
html body .sote-footer__copyright {
  font-size: 14px !important;
  font-weight: var(--sote-weight-medium) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

html body .cityride-btn,
html body button,
html body input[type="submit"],
html body .sote-v2-link-btn,
html body .sote-text-link,
html body .sote-header__link,
html body .sote-footer__app-actions a {
  font-size: 15px !important;
  font-weight: var(--sote-weight-semibold) !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .sote-v2-eyebrow,
html body .sote-eyebrow,
html body .sote-header__app-eyebrow,
html body [class*="__label"],
html body [class*="__tag"] {
  font-size: var(--sote-type-label) !important;
  font-weight: var(--sote-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.08em !important;
}

html body strong,
html body b {
  font-weight: var(--sote-weight-bold) !important;
}

html body .sote-v2-overview__card h2,
html body .sote-home-app-strip__item h2,
html body .sote-contact-lane h2,
html body .sote-city-card h2,
html body .sote-city-focus__item h3,
html body .sote-airport-card h2,
html body .sote-service-card h2 {
  font-size: clamp(20px, 1.7vw, 24px) !important;
  font-weight: var(--sote-weight-bold) !important;
  line-height: 1.24 !important;
}

html body .sote-v2-overview__card p,
html body .sote-home-app-strip__item p,
html body .sote-contact-lane p,
html body .sote-v2-service-card p,
html body .sote-booking-feature-card p,
html body .sote-booking-step-card p,
html body .sote-city-card p,
html body .sote-airport-card p {
  font-size: 15px !important;
  line-height: 1.68 !important;
  font-weight: var(--sote-weight-regular) !important;
}

@media (max-width: 767px) {
  html {
    font-size: 15px !important;
  }

  html body h1,
  html body .page-header__title,
  html body .sote-v2-hero__content h1,
  html body .sote-hero__content h1,
  html body .sote-city-hero__content h1,
  html body .sote-cities-hero__content h1,
  html body .sote-services-hero__content h1,
  html body .sote-about-hero__content h1,
  html body .sote-contact-hero__content h1,
  html body .sote-faq-hero__content h1,
  html body .sote-blog-hero__content h1,
  html body .sote-news-hero__content h1,
  html body .sote-article-hero__content h1,
  html body .sote-booking-copy h1,
  html body .sote-driver-hero__content h1 {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  html body h2,
  html body .sote-section__head h2,
  html body .sote-v2-section__head h2,
  html body .sote-booking-section-head h2,
  html body .sote-v2-cta__inner h2 {
    font-size: clamp(26px, 8vw, 34px) !important;
  }
}

/* Airport pages use shorter type measures than generic marketing pages. */
html body .sote-airport-main .sote-airport-quick-grid h2 {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

html body .sote-airport-main .sote-city-service-card h3,
html body .sote-airport-main .sote-city-focus__card h3,
html body .sote-airport-main .sote-city-related__card h3 {
  font-size: 21px !important;
  line-height: 1.3 !important;
}

html body .sote-airport-main p,
html body .sote-airport-main li,
html body .sote-airport-main + .sote-seo-faq p {
  font-size: 15px !important;
  line-height: 1.68 !important;
}

@media (max-width: 767px) {
  html body .sote-airport-main .sote-airport-quick-grid h2,
  html body .sote-airport-main .sote-city-service-card h3,
  html body .sote-airport-main .sote-city-focus__card h3,
  html body .sote-airport-main .sote-city-related__card h3 {
    font-size: 20px !important;
  }
}

/* Contact page polish */
.sote-contact-page .sote-contact-hero {
  min-height: 540px !important;
  padding: 96px 0 74px !important;
  background:
    linear-gradient(120deg, rgba(16, 13, 10, 0.88) 0%, rgba(16, 13, 10, 0.7) 54%, rgba(16, 13, 10, 0.28) 100%),
    url("../images/backgrounds/taxi-banner2.jpg") center/cover no-repeat !important;
}

.sote-contact-page .sote-contact-hero__content {
  max-width: 780px !important;
  padding: 34px 36px !important;
  border-radius: 24px !important;
  background: rgba(16, 13, 10, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2) !important;
}

.sote-contact-page .sote-contact-hero__content p {
  max-width: 680px !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

.sote-contact-page .sote-contact-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 30px;
}

.sote-contact-page .sote-contact-hero__call {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.sote-contact-page .sote-contact-lane {
  border-radius: 18px !important;
  box-shadow: 0 16px 42px rgba(23, 18, 13, 0.07) !important;
}

.sote-contact-page .sote-contact-lane h2 {
  margin: 20px 0 10px !important;
  font-size: 22px !important;
}

.sote-contact-page .sote-contact-form-wrap__head h2,
.sote-contact-page .sote-contact-side__content h2,
.sote-contact-page .sote-contact-coverage__content h2,
.sote-contact-page .sote-contact-faq-strip__copy h2 {
  font-size: clamp(30px, 3.2vw, 40px) !important;
  font-weight: 700 !important;
}

.sote-contact-page .sote-contact-form-wrap,
.sote-contact-page .sote-contact-side,
.sote-contact-page .sote-contact-coverage__inner {
  border-radius: 22px !important;
}

.sote-contact-page .sote-contact-form__field label,
.sote-contact-page .sote-contact-hero__list span {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

.sote-contact-page .sote-contact-form__field input,
.sote-contact-page .sote-contact-form__field select,
.sote-contact-page .sote-contact-form__field textarea {
  border-radius: 12px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.sote-contact-page .sote-contact-form__field input:focus,
.sote-contact-page .sote-contact-form__field select:focus,
.sote-contact-page .sote-contact-form__field textarea:focus {
  border-color: rgba(248, 156, 16, 0.72) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(248, 156, 16, 0.14) !important;
  outline: none !important;
}

.sote-contact-page .sote-contact-side--contact .sote-contact-hero__list a,
.sote-contact-page .sote-contact-side--contact .sote-contact-hero__list strong {
  font-size: 16px !important;
  font-weight: 600 !important;
}

.sote-contact-page .sote-contact-faq-strip__inner {
  border-radius: 22px !important;
}

@media (max-width: 767px) {
  .sote-contact-page .sote-contact-hero {
    min-height: auto !important;
    padding: 72px 0 52px !important;
  }

  .sote-contact-page .sote-contact-hero__content {
    padding: 24px !important;
  }

  .sote-contact-page .sote-contact-hero__actions .cityride-btn,
  .sote-contact-page .sote-contact-hero__call {
    width: 100%;
    justify-content: center;
  }
}
/* Home-style first hero normalization */
html body .page-wrapper > :is(header, .main-header) + main > section:first-child,
html body .page-wrapper > :is(header, .main-header) + section.page-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 690px !important;
  padding: 126px 0 106px !important;
  overflow: hidden !important;
  background:
    linear-gradient(105deg, rgba(13, 10, 8, 0.88) 0%, rgba(13, 10, 8, 0.68) 38%, rgba(13, 10, 8, 0.24) 68%, rgba(13, 10, 8, 0.42) 100%),
    url("../images/resources/sote-taxi-banner.png") center right / cover no-repeat !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child::before,
html body .page-wrapper > :is(header, .main-header) + main > section:first-child::after,
html body .page-wrapper > :is(header, .main-header) + section.page-header::before,
html body .page-wrapper > :is(header, .main-header) + section.page-header::after {
  display: none !important;
  content: none !important;
}

html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__bg,
html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__element-one,
html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__element-two {
  display: none !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child .container,
html body .page-wrapper > :is(header, .main-header) + section.page-header .container {
  position: relative !important;
  z-index: 2 !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-city-hero__panel, .sote-service-v2__hero-card) {
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child .sote-city-hero__panel::before,
html body .page-wrapper > :is(header, .main-header) + main > section:first-child .sote-city-hero__panel::after {
  display: none !important;
  content: none !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy),
html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__content {
  max-width: 780px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: left !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.46) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy) :is(h1, .page-header__title),
html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__title {
  max-width: 780px !important;
  margin: 18px 0 !important;
  color: #ffffff !important;
  font-family: var(--cityride-heading-font, "Lexend", serif) !important;
  font-size: clamp(42px, 5.6vw, 76px) !important;
  font-weight: 700 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.46) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy) p,
html body .page-wrapper > :is(header, .main-header) + section.page-header .cityride-breadcrumb,
html body .page-wrapper > :is(header, .main-header) + section.page-header .cityride-breadcrumb :is(a, span, li) {
  max-width: 660px !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.42) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-eyebrow, .sote-eyebrow, .sote-service-v2__eyebrow, .sote-city-hero__meta-label),
html body .page-wrapper > :is(header, .main-header) + section.page-header .cityride-breadcrumb__icon {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__service-tags, .sote-city-hero__chips, .sote-contact-hero__chips, .sote-faq-hero__chips, .sote-news-hero__signals, .sote-services-hero__highlights, .sote-fleet-hero__points) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  max-width: 720px !important;
  margin-top: 26px !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__service-tags span, .sote-city-hero__chips span, .sote-contact-hero__chips span, .sote-faq-hero__chips span, .sote-news-hero__signals span, .sote-services-hero__highlights li, .sote-fleet-hero__points li) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__actions, .sote-about-hero__actions, .sote-services-hero__actions, .sote-cities-hero__actions, .sote-city-hero__actions, .sote-airport-hero__actions, .sote-contact-hero__actions, .sote-faq-hero__actions, .sote-fleet-hero__actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child .cityride-btn--secondary {
  background: #ffffff !important;
  color: var(--sote-ink, #17120d) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child .cityride-btn--border,
html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-link-btn, .sote-city-hero__link, .sote-fleet-hero__link, .sote-contact-hero__call, .sote-news-link) {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.32) !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.42) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-about-hero__panel, .sote-services-hero__panel, .sote-city-hero__meta, .sote-faq-hero__panel, .sote-news-hero__feature, .sote-fleet-hero__panel) {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  background: rgba(16, 13, 10, 0.34) !important;
  box-shadow: none !important;
  color: #ffffff !important;
  backdrop-filter: blur(4px) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-about-hero__panel, .sote-services-hero__panel, .sote-city-hero__meta, .sote-faq-hero__panel, .sote-news-hero__feature, .sote-fleet-hero__panel) :is(h2, h3, p, a, strong, span, small, li) {
  color: rgba(255, 255, 255, 0.94) !important;
}

html body .page-wrapper > :is(header, .main-header) + main > section:first-child .sote-city-hero__stat,
html body .page-wrapper > :is(header, .main-header) + main > section:first-child .sote-services-hero__panel__card {
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  html body .page-wrapper > :is(header, .main-header) + main > section:first-child,
  html body .page-wrapper > :is(header, .main-header) + section.page-header {
    min-height: 620px !important;
    padding: 104px 0 92px !important;
    background-position: center center !important;
  }
}

@media (max-width: 767px) {
  html body .page-wrapper > :is(header, .main-header) + main > section:first-child,
  html body .page-wrapper > :is(header, .main-header) + section.page-header {
    min-height: 560px !important;
    padding: 88px 0 74px !important;
    background-position: 58% center !important;
  }

  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy),
  html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__content {
    padding: 22px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 18px !important;
    background: rgba(16, 13, 10, 0.34) !important;
    backdrop-filter: blur(4px) !important;
  }

  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-about-hero__panel, .sote-services-hero__panel, .sote-city-hero__meta, .sote-faq-hero__panel, .sote-news-hero__feature, .sote-fleet-hero__panel) {
    margin-top: 24px !important;
  }
}

@media (max-width: 575px) {
  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy) :is(h1, .page-header__title),
  html body .page-wrapper > :is(header, .main-header) + section.page-header .page-header__title {
    font-size: 34px !important;
    line-height: 1.04 !important;
  }

  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__content, .sote-hero__content, .sote-about-hero__content, .sote-services-hero__content, .sote-cities-hero__content, .sote-city-hero__content, .sote-contact-hero__content, .sote-faq-hero__content, .sote-news-hero__content, .sote-article-hero__content, .sote-fleet-hero__content, .sote-service-v2__hero-card, .sote-booking-copy) p,
  html body .page-wrapper > :is(header, .main-header) + section.page-header .cityride-breadcrumb,
  html body .page-wrapper > :is(header, .main-header) + section.page-header .cityride-breadcrumb :is(a, span, li) {
    font-size: 15px !important;
  }

  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-v2-hero__actions, .sote-about-hero__actions, .sote-services-hero__actions, .sote-cities-hero__actions, .sote-city-hero__actions, .sote-airport-hero__actions, .sote-contact-hero__actions, .sote-faq-hero__actions, .sote-fleet-hero__actions) .cityride-btn,
  html body .page-wrapper > :is(header, .main-header) + main > section:first-child :is(.sote-contact-hero__call, .sote-city-hero__link, .sote-fleet-hero__link) {
    width: 100% !important;
    justify-content: center !important;
  }
}
/* WhatsApp floating action */
.whatsapp-float {
  position: fixed !important;
  right: max(20px, env(safe-area-inset-right)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  width: 60px !important;
  height: 60px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #25d366 !important;
  color: #ffffff !important;
  font-size: 34px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
  z-index: 99999 !important;
  transform: translateZ(0) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease !important;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  color: #ffffff !important;
  background: #1ebe5d !important;
  transform: translateZ(0) scale(1.08) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.3) !important;
  outline: none !important;
}

.whatsapp-float i {
  display: block !important;
  line-height: 1 !important;
}

.scroll-top.active ~ .whatsapp-float {
  bottom: 124px !important;
}

@media (max-width: 575px) {
  .whatsapp-float {
    width: 54px !important;
    height: 54px !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    font-size: 30px !important;
  }
}

/* Keep long airport names in the same visual scale as the rest of the site. */
html body .page-wrapper > header + .sote-airport-main > .sote-airport-hero:first-child .sote-city-hero__content h1 {
  font-size: clamp(38px, 4vw, 54px) !important;
  line-height: 1.08 !important;
}

html body .sote-airport-main .sote-city-section__head h2,
html body .sote-airport-main .sote-city-split__content h2,
html body .sote-airport-main .sote-city-cta__inner h2,
html body .sote-airport-main + .sote-seo-faq .sote-seo-faq__head h2 {
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.16 !important;
}

@media (max-width: 767px) {
  html body .page-wrapper > header + .sote-airport-main > .sote-airport-hero:first-child .sote-city-hero__content h1 {
    font-size: clamp(32px, 9vw, 40px) !important;
  }

  html body .sote-airport-main .sote-city-section__head h2,
  html body .sote-airport-main .sote-city-split__content h2,
  html body .sote-airport-main .sote-city-cta__inner h2,
  html body .sote-airport-main + .sote-seo-faq .sote-seo-faq__head h2 {
    font-size: clamp(26px, 7.5vw, 32px) !important;
  }
}
