/* Customer UI final type scale. Loaded last to normalize legacy micro typography. */
:root{--customer-caption:12px;--customer-small:13px;--customer-body:15px;--customer-control:15px;--customer-title:22px}
body{font-family:Inter,"Segoe UI",sans-serif}
body:not(.admin-body){font-size:var(--customer-body);line-height:1.55}

/* Shared header, account and footer */
.customer-header,.site-header{font-size:15px}
.customer-header nav a,.site-header nav a,.account-link{font-size:15px}
.customer-account-dropdown{font-size:14px}
.account-dropdown-head strong{font-size:15px!important}.account-dropdown-head small{font-size:13px!important}
.customer-account-dropdown>a,.customer-account-dropdown button{font-size:14px!important;line-height:1.4}
.customer-account-dropdown button.account-admin-switch::before,.customer-account-dropdown>a.account-admin-link::before{font-size:11px!important}
footer{font-size:13px!important}

/* Public homepage and trip cards */
.booking-pill{font-size:13px!important}
.hero-copy p,.hero-content p{font-size:16px!important;line-height:1.65}
.search-field small{font-size:13px!important}.search-field input,.search-field select{font-size:15px!important}
.hero-search button{font-size:15px!important}
.feature-row h3{font-size:17px!important}.feature-row p{font-size:14px!important;line-height:1.6}
.seat-legend,.legend{font-size:13px!important}.seat-title small,.seat-help{font-size:13px!important}
.seat-row>b,.driver,.trip-meta{font-size:13px!important}
.route small,.trip-bottom small{font-size:12px!important}.trip-bottom a,.primary-action{font-size:14px!important}

/* Authentication */
.auth-visual-copy>span,.auth-card-heading>span,.portal-page-heading>span,.portal-card-form header>span{font-size:12px!important}
.auth-visual-copy p{font-size:16px!important}.auth-benefits b{font-size:12px!important}
.auth-benefits strong{font-size:14px!important}.auth-benefits small{font-size:12px!important}
.auth-back{font-size:14px!important}.auth-card-heading p{font-size:15px!important}
.google-auth-button{font-size:15px!important}.auth-separator{font-size:12px!important}
.auth-switch,.portal-alert{font-size:13px!important}

/* Forms and controls */
.portal-form label,.lookup-premium-card form label,.customer-portal-body .booking-summary label{font-size:13px!important}
.portal-form input,.portal-form textarea,.portal-form select,.danger-zone input,
.lookup-premium-card form input,.customer-portal-body .booking-summary input,.customer-portal-body .booking-summary textarea{font-size:15px!important}
.portal-primary,.portal-primary-link,.portal-card-form footer .portal-primary,.lookup-premium-card form button{font-size:14px!important}
.proof-upload small,.hold-note{font-size:12px!important}

/* Buyer dashboard */
.portal-hero span,.portal-panel-head>div>span,.upcoming-label span{font-size:12px!important}
.portal-hero p{font-size:15px!important}.portal-hero-actions a{font-size:14px!important}
.portal-stat-grid small{font-size:13px!important}.portal-stat-grid p{font-size:12px!important}
.upcoming-label b{font-size:14px!important}.upcoming-route small{font-size:12px!important}
.upcoming-route span{font-size:13px!important}.upcoming-trip-card>a{font-size:14px!important}
.portal-panel-head p{font-size:14px!important}.portal-status-filter select{font-size:14px!important}
.portal-booking-row small{font-size:12px!important}.portal-booking-row strong{font-size:15px!important}
.portal-booking-row>div>span{font-size:13px!important}.row-action{font-size:14px!important}
.portal-status{font-size:12px!important}.portal-empty p{font-size:14px!important}.portal-empty a{font-size:14px!important}

/* Profile and settings */
.portal-page-heading>a{font-size:14px!important}.portal-page-heading p{font-size:15px!important}
.profile-summary-card>p,.profile-summary-card small{font-size:13px!important}
.profile-summary-card>span,.profile-summary-card strong{font-size:14px!important}
.portal-card-form header p,.danger-zone p{font-size:14px!important}
.danger-zone summary,.danger-zone button{font-size:14px!important}

/* Trip search, results, seat selection */
.journey-heading>span,.journey-result-head span,.seat-panel-heading>div:first-child>small{font-size:12px!important}
.journey-heading p,.seat-panel-heading p,.customer-portal-body .trip-head p{font-size:15px!important}
.journey-search small{font-size:13px!important}.journey-search input{font-size:15px!important}.journey-search button{font-size:14px!important}
.journey-result-head>b,.journey-card-top span,.journey-bus strong{font-size:14px!important}
.journey-card-top b,.journey-route small,.journey-bus small{font-size:12px!important}
.journey-route span{font-size:15px!important}.route-line small{font-size:11px!important}
.journey-card footer small,.journey-card footer span{font-size:12px!important}.journey-card footer>a{font-size:14px!important}
.customer-portal-body .trip-head>a{font-size:14px!important}
.customer-portal-body .login-required p{font-size:14px!important}.customer-portal-body .login-required a{font-size:14px!important}
.seat-panel-heading h2{font-size:25px!important}.customer-portal-body .legend{font-size:13px!important}
.layout-front-label{font-size:10px!important}.seat-layout-note p{font-size:13px!important}
.selected-list>div{font-size:14px!important}.book-button{font-size:15px!important}

/* Booking detail and payment */
.booking-detail-heading>a{font-size:14px!important}.booking-detail-heading>div>span{font-size:12px!important}
.booking-detail-heading p{font-size:14px!important}.route-ticket-card header span,.payment-upload-card header>span,.booking-history-card header span{font-size:12px!important}
.route-ticket-card header strong{font-size:14px!important}.ticket-route small{font-size:12px!important}.ticket-route p{font-size:14px!important}
.route-ticket-card footer span{font-size:13px!important}.route-ticket-card footer strong{font-size:15px!important}
.payment-upload-card header p{font-size:14px!important}.payment-countdown small{font-size:12px!important}.payment-countdown strong{font-size:15px!important}
.payment-method-info strong,.payment-method-info b{font-size:14px!important}.payment-method-info span,.payment-method-info p{font-size:13px!important}
.cancel-booking-form button{font-size:13px!important}.booking-state-card p{font-size:14px!important}
.booking-timeline strong{font-size:14px!important}.booking-timeline small{font-size:12px!important}.booking-timeline p{font-size:13px!important}
.booking-history-card>a{font-size:14px!important}

/* Booking lookup */
.lookup-premium-card>div>small{font-size:12px!important}.lookup-premium-card>div>p{font-size:14px!important}
.lookup-login-note{font-size:13px!important}.lookup-dashboard-link{font-size:14px!important}

/* Laravel pagination */
body:not(.admin-body) nav[role="navigation"]{font-size:14px}
body:not(.admin-body) nav[role="navigation"] a,body:not(.admin-body) nav[role="navigation"] span{font-size:13px!important}

@media(max-width:620px){:root{--customer-body:14px}.customer-header nav a,.site-header nav a,.account-link{font-size:14px}.feature-row p{font-size:13px!important}}
