@media (max-width: 1200px) {
    .rb-home-hero-surface,
    .rb-results-layout,
    .rb-seat-layout,
    .checkout-layout,
    .support-layout,
    .rb-review-layout,
    .manage-layout,
    .rb-profile-shell,
    .rb-app-band,
    .rb-confirm-grid {
        grid-template-columns: 1fr;
    }

    .rb-section-head,
    .rb-feature-grid,
    .rb-offer-grid,
    .rb-testimonial-grid,
    .rb-journey-grid,
    .rb-profile-stat-grid,
    .rb-confirm-support-grid {
        grid-template-columns: 1fr;
    }

    .rb-home-hero-copy {
        min-height: auto;
    }

    .rb-search-panel-head,
    .rb-search-footer,
    .rb-offers-section .rb-offer-grid {
        grid-template-columns: 1fr;
    }

    .rb-result-meta,
    .rb-ticket-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .public-nav,
    .public-nav-actions .public-header-cta,
    .public-nav-actions .public-auth-trigger {
        display: none;
    }

    .public-mobile-toggle,
    .public-mobile-bottom-nav {
        display: inline-flex;
    }

    .public-header-shell {
        padding: 14px 16px 16px;
    }

    .rb-home {
        gap: 24px;
    }

    .rb-home-hero-surface {
        gap: 20px;
        padding: 24px;
        border-radius: 28px;
    }

    .rb-search-panel {
        order: -1;
        padding: 24px;
    }

    .rb-home-hero-copy {
        gap: 14px;
    }

    .rb-route-row,
    .rb-search-footer {
        grid-template-columns: 1fr;
    }

    .rb-search-action,
    .rb-payment-tabs,
    .rb-share-row {
        grid-template-columns: 1fr;
    }

    .rb-swap-btn {
        width: 100%;
        height: 56px;
        border-radius: 18px;
    }

    .rb-filter-panel {
        position: static;
    }

    .rb-sticky-search-shell {
        border-radius: 18px;
    }

    .rb-search-input-shell,
    .rb-search-btn {
        min-height: 64px;
    }

    .rb-city-input,
    .rb-date {
        font-size: 16px;
    }

    .rb-panel-note {
        flex-direction: column;
        align-items: flex-start;
    }

    .rb-section-head {
        gap: 12px;
    }

    .rb-search-panel-head {
        grid-template-columns: 1fr;
    }

    .rb-search-panel-tools {
        justify-items: start;
    }
}

@media (max-width: 767px) {
    .public-announcement {
        display: none;
    }

    .public-header {
        padding-top: 10px;
    }

    .public-footer-bottom {
        display: grid;
    }

    .public-footer-grid,
    .public-modal-grid,
    .public-nav-row,
    .success-banner {
        display: grid;
    }

    .public-footer-grid {
        gap: 24px;
    }

    .public-mobile-bottom-nav {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;
        z-index: 35;
        justify-content: space-around;
        align-items: center;
        gap: 10px;
        min-height: 68px;
        padding: 0 14px;
        border-radius: 24px;
        background: rgba(16, 31, 50, 0.92);
        box-shadow: 0 18px 40px rgba(9, 16, 28, 0.24);
        backdrop-filter: blur(12px);
    }

    .public-mobile-bottom-nav a {
        display: grid;
        justify-items: center;
        gap: 4px;
        color: rgba(255, 255, 255, 0.88);
        font-size: 0.76rem;
        font-weight: 700;
    }

    .public-mobile-bottom-nav i {
        font-size: 1rem;
    }

    .rb-home,
    .rb-results-page,
    .rb-seat-page,
    .rb-review-page,
    .manage-layout,
    .checkout-layout,
    .support-layout {
        gap: 18px;
        padding-top: 18px;
    }

    .rb-home-hero-surface,
    .rb-results-hero,
    .rb-seat-coach,
    .rb-review-card,
    .rb-payment-panel,
    .support-layout .panel,
    .checkout-layout .panel,
    .manage-layout .summary-card,
    .manage-layout .grid-card,
    .hero-card {
        padding: 22px;
        border-radius: 24px;
    }

    .rb-step-progress,
    .rb-seat-journey-grid,
    .rb-boarding-row {
        grid-template-columns: 1fr;
    }

    .rb-seat-journey-grid > div:not(.rb-seat-bus-type) {
        padding-right: 0;
        border-right: 0;
    }

    .rb-seat-bus-type {
        justify-items: start;
    }

    .rb-coach-surface {
        padding: 26px 20px 54px;
    }

    .rb-coach-front-marker {
        right: 18px;
        top: auto;
        bottom: 14px;
        transform: none;
    }

    .seat-layout {
        grid-template-columns: repeat(4, 48px);
        gap: 14px 24px;
    }

    .rb-home-hero-copy {
        gap: 12px;
    }

    .rb-search-panel {
        padding: 22px;
        border-radius: 18px;
    }

    .rb-search-panel-head h2 {
        font-size: 1.6rem;
    }

    .rb-search-panel-head p,
    .rb-home-hero-copy p,
    .rb-section-head .muted {
        font-size: 0.94rem;
        line-height: 1.65;
    }

    .rb-home-hero-copy h1 {
        max-width: none;
        font-size: clamp(2.4rem, 10vw, 3.6rem);
    }

    .rb-trust-row {
        gap: 8px;
    }

    .rb-trust-row span {
        min-height: 40px;
        padding: 0 14px;
        font-size: 0.82rem;
    }

    .rb-search-input-shell {
        min-height: 60px;
        padding: 0 16px;
        border-radius: 18px;
    }

    .rb-field-help {
        font-size: 0.8rem;
    }

    .rb-search-btn {
        min-height: 60px;
        border-radius: 18px;
    }

    .rb-quick-chip {
        min-height: 42px;
        padding: 0 14px;
    }

    .rb-journey-card,
    .rb-journey-action {
        min-height: 210px;
    }

    .rb-journey-action,
    .rb-feature-card,
    .rb-offer-card,
    .rb-testimonial-card {
        padding: 20px;
    }

    .rb-journey-footer {
        align-items: center;
    }

    .rb-offer-meta,
    .rb-testimonial-author,
    .rb-app-downloads {
        display: grid;
        gap: 10px;
    }

    .rb-store-badge,
    .rb-offer-meta .btn.secondary {
        width: 100%;
        justify-content: center;
    }

    .rb-app-band {
        gap: 20px;
        padding: 24px 22px;
    }

    .rb-results-badges,
    .rb-result-actions,
    .rb-profile-hero {
        justify-content: start;
    }

    .rb-route-strip,
    .rb-result-top,
    .rb-result-actions,
    .rb-confirm-grid,
    .rb-profile-hero {
        grid-template-columns: 1fr;
    }

    .rb-result-meta,
    .rb-ticket-grid,
    .rb-confirm-support-grid,
    .rb-share-row {
        grid-template-columns: 1fr;
    }

    .rb-payment-method {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .rb-payment-method strong {
        grid-column: 1 / -1;
    }

    .seat-layout {
        gap: 10px;
    }

    .seat {
        width: 48px;
        height: 48px;
        border-radius: 8px;
        font-size: 0.82rem;
    }

    .rb-search-btn,
    .btn.primary,
    .btn.secondary {
        width: 100%;
    }

    .rb-sticky-search-dock {
        top: auto;
        bottom: 94px;
        padding: 0 12px;
    }

    .rb-sticky-search-shell,
    .rb-sticky-search-values {
        display: grid;
    }

    .rb-sticky-search-shell {
        gap: 12px;
        padding: 12px 14px;
    }

    .rb-sticky-search-values {
        gap: 6px;
    }

    .rb-sticky-search-values i {
        display: none;
    }

    .rb-sticky-search-date {
        margin-left: 0;
    }

    .rb-sticky-search-cta {
        min-width: 0;
    }

    .rb-result-shell,
    .rb-result-title-row,
    .rb-route-strip-results,
    .rb-result-meta-compact {
        grid-template-columns: 1fr;
    }

    .rb-result-price-panel {
        justify-items: start;
        border-left: 0;
        border-top: 1px solid rgba(212, 87, 92, 0.18);
    }

    .rb-result-seat-btn {
        min-width: 0;
    }
}
