

/* ============================================================
   YomRide Global Readable Typography v3
   Applied after page-specific styles so tiny legacy text cannot
   override the accessible/readable site-wide scale.
   ============================================================ */
html { font-size: 16px !important; }

body {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

body p,
body li,
body td,
body th,
body label,
body input,
body select,
body textarea,
body button,
body .form-control,
body .form-select {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

body a {
    line-height: 1.5;
}

/* Never allow secondary/interface text to collapse into 8–10px legacy sizes. */
body small,
body .small,
body .meta,
body .sub,
body .subtitle,
body .helper-text,
body .text-muted,
body .form-text,
body .trip-meta,
body .request-meta,
body .stat-label,
body .eyebrow {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

body h1, body .h1 { font-size: 34px !important; line-height: 1.16 !important; }
body h2, body .h2 { font-size: 26px !important; line-height: 1.22 !important; }
body h3, body .h3 { font-size: 20px !important; line-height: 1.28 !important; }
body h4, body .h4 { font-size: 17px !important; line-height: 1.32 !important; }
body h5, body .h5 { font-size: 15px !important; line-height: 1.35 !important; }
body h6, body .h6 { font-size: 14px !important; line-height: 1.4 !important; }

body .nav-link,
body .dropdown-item,
body .mobile-links a,
body .mobile-bottom-nav a,
body .footer-links a,
body nav a {
    font-size: 14px !important;
}

body .btn,
body button,
body [type="button"],
body [type="submit"],
body .cmn--btn,
body .ridex-hero__fare-btn {
    font-size: 14px !important;
    font-weight: 700;
}

body input,
body select,
body textarea,
body .form-control,
body .form-select {
    min-height: 44px;
}

/* Dashboard / ride cards */
body .card strong,
body .stat-card strong,
body .trip-card strong,
body .request-card strong,
body .ride-card strong {
    font-size: 16px !important;
}

/* Preserve icon sizing where icons inherit font-size from their parent. */
body i[class*="bi-"],
body i[class*="la-"],
body i[class*="las "],
body i[class*="lar "] {
    line-height: 1;
}

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

    body h1, body .h1 { font-size: 28px !important; }
    body h2, body .h2 { font-size: 22px !important; }
    body h3, body .h3 { font-size: 18px !important; }
    body h4, body .h4 { font-size: 16px !important; }

    body p,
    body li,
    body td,
    body th,
    body label,
    body input,
    body select,
    body textarea,
    body button,
    body .btn,
    body .form-control,
    body .form-select,
    body .nav-link,
    body .dropdown-item,
    body .mobile-links a,
    body .mobile-bottom-nav a {
        font-size: 14px !important;
    }

    body small,
    body .small,
    body .meta,
    body .sub,
    body .subtitle,
    body .helper-text,
    body .text-muted,
    body .form-text,
    body .trip-meta,
    body .request-meta,
    body .stat-label {
        font-size: 12px !important;
    }
}

/* ============================================================
   YomRide Global Readable Typography v4 — STRONG OVERRIDE
   ============================================================ */

:root {
    --yom-font-body: 16px;
    --yom-font-ui: 15px;
    --yom-font-small: 13px;
    --yom-font-micro: 12px;
    --yom-font-h1: 36px;
    --yom-font-h2: 28px;
    --yom-font-h3: 21px;
    --yom-font-h4: 18px;
}

/* Core */
html body.rydex-app-body,
html body {
    font-size: var(--yom-font-body) !important;
    line-height: 1.6 !important;
}

/* General readable text */
html body.rydex-app-body p,
html body.rydex-app-body li,
html body.rydex-app-body label,
html body.rydex-app-body input,
html body.rydex-app-body select,
html body.rydex-app-body textarea,
html body.rydex-app-body button,
html body.rydex-app-body a,
html body.rydex-app-body .form-control,
html body.rydex-app-body .form-select,
html body.rydex-app-body .btn {
    font-size: var(--yom-font-ui) !important;
}

/* Explicitly lift tiny legacy component text */
html body.rydex-app-body small,
html body.rydex-app-body .small,
html body.rydex-app-body .eyebrow,
html body.rydex-app-body .sub,
html body.rydex-app-body .subtitle,
html body.rydex-app-body .meta,
html body.rydex-app-body .text-muted,
html body.rydex-app-body .helper-text,
html body.rydex-app-body .form-text,
html body.rydex-app-body .stat-top small,
html body.rydex-app-body .stat-card span,
html body.rydex-app-body .request-label,
html body.rydex-app-body .request-meta small,
html body.rydex-app-body .request-meta span,
html body.rydex-app-body .vehicle-main span,
html body.rydex-app-body .profile-copy span,
html body.rydex-app-body .status-copy span,
html body.rydex-app-body .footer-brand p,
html body.rydex-app-body .footer-links a,
html body.rydex-app-body .ridex-book-payment__label,
html body.rydex-app-body .ridex-book-field label,
html body.rydex-app-body .rdx-book-mini small,
html body.rydex-app-body .trip-card small,
html body.rydex-app-body .trip-card span,
html body.rydex-app-body .trip-meta,
html body.rydex-app-body .ride-meta,
html body.rydex-app-body .earn-card small,
html body.rydex-app-body .perf-top span {
    font-size: var(--yom-font-small) !important;
    line-height: 1.5 !important;
}

/* Headings */
html body.rydex-app-body h1 { font-size: var(--yom-font-h1) !important; }
html body.rydex-app-body h2 { font-size: var(--yom-font-h2) !important; }
html body.rydex-app-body h3 { font-size: var(--yom-font-h3) !important; }
html body.rydex-app-body h4 { font-size: var(--yom-font-h4) !important; }

/* Navigation */
html body.rydex-app-body .desktop-nav .nav-link,
html body.rydex-app-body .mobile-links a,
html body.rydex-app-body .rydex-mobile-bottom-nav a,
html body.rydex-app-body .rydex-mobile-bottom-nav b,
html body.rydex-app-body .dropdown a,
html body.rydex-app-body .footer-links a {
    font-size: 14px !important;
}

/* Buttons */
html body.rydex-app-body button,
html body.rydex-app-body .btn,
html body.rydex-app-body .accept,
html body.rydex-app-body .cmn--btn,
html body.rydex-app-body .cmn--btn2,
html body.rydex-app-body .ridex-hero__fare-btn,
html body.rydex-app-body .rdx-book-mini__cta,
html body.rydex-app-body .ridex-book-schedule-btn {
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Inputs */
html body.rydex-app-body input,
html body.rydex-app-body select,
html body.rydex-app-body textarea,
html body.rydex-app-body .form-control,
html body.rydex-app-body .form-select {
    font-size: 15px !important;
    min-height: 46px;
}

/* Dashboard stats */
html body.rydex-app-body .stat-card strong,
html body.rydex-app-body .earn-card strong,
html body.rydex-app-body .request-card h2,
html body.rydex-app-body .card-head h3,
html body.rydex-app-body .vehicle-main strong,
html body.rydex-app-body .stop strong {
    font-size: 17px !important;
}

/* Homepage booking / hero */
html body.rydex-app-body .ridex-hero__field-body label,
html body.rydex-app-body .ridex-hero__field-body input,
html body.rydex-app-body .ridex-hero__option-btn,
html body.rydex-app-body .ridex-hero__payment-label,
html body.rydex-app-body .ridex-hero__location-status {
    font-size: 14px !important;
}

/* Rider mini booking */
html body.rydex-app-body .rdx-book-mini__field input,
html body.rydex-app-body .rdx-book-mini__secondary,
html body.rydex-app-body .rdx-book-mini__modes button,
html body.rydex-app-body .rdx-book-mini__schedule input {
    font-size: 14px !important;
}

/* Driver online card */
html body.rydex-app-body .status-copy strong {
    font-size: 16px !important;
}
html body.rydex-app-body .status-copy span {
    font-size: 13px !important;
}

/* Mobile: keep readable, don't shrink excessively */
@media (max-width: 767px) {
    :root {
        --yom-font-body: 16px;
        --yom-font-ui: 15px;
        --yom-font-small: 13px;
        --yom-font-h1: 30px;
        --yom-font-h2: 24px;
        --yom-font-h3: 20px;
        --yom-font-h4: 17px;
    }

    html body.rydex-app-body .desktop-nav .nav-link,
    html body.rydex-app-body .mobile-links a,
    html body.rydex-app-body .rydex-mobile-bottom-nav a,
    html body.rydex-app-body .rydex-mobile-bottom-nav b,
    html body.rydex-app-body button,
    html body.rydex-app-body .btn,
    html body.rydex-app-body input,
    html body.rydex-app-body select,
    html body.rydex-app-body textarea {
        font-size: 14px !important;
    }
}
