/* ========== RESPONSIVE BREAKPOINTS ========== */

@media (max-width: 992px) {
    .mt-header-inner {
        gap: 16px;
    }

    .mt-nav {
        gap: 18px;
    }

    .hero-heading {
        font-size: 36px;
        letter-spacing: 0.14em;
    }
}

@media (max-width: 768px) {

    /* topbar stack + hide socials */
    .mt-topbar-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        justify-content: flex-start;
    }

    .mt-topbar-right {
        display: none;
    }

    /* hide desktop nav, show burger */
    .mt-nav {
        display: none;
    }

    .mt-nav-toggle {
        display: flex;
    }

    .mt-btn-quote {
        padding: 8px 16px;
        font-size: 12px;
    }

    .hero-inner {
        padding: 110px 18px 50px;
    }

    .hero-heading {
        font-size: 30px;
        letter-spacing: 0.12em;
    }

    .hero-subtitle {
        font-size: 14px;
    }

    /* show follow-us block in mobile nav */
    .mt-nav-mobile-social {
        display: flex;
        flex-direction: column;
        gap: 6px;
        margin-top: 12px;
        padding: 10px 18px 0;
        border-top: 1px solid rgba(30, 41, 59, 0.9);
    }

    .mt-nav-mobile-social-label {
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.18em;
        color: #9ca3af;
    }

    .mt-nav-mobile-social-icons {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 4px;
    }

    .mt-nav-mobile-social-icons a {
        width: 40px;
        height: 40px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(15, 23, 42, 1);
        border: 1px solid rgba(148, 163, 184, 0.8);
        color: #f9fafb;
        font-size: 14px;
        transition: 0.2s ease;
    }

    .mt-nav-mobile-social-icons a:hover {
        background: #d60d45;
        border-color: #d60d45;
    }

}

/* Responsive */
@media (max-width: 768px) {
    .mt-intro {
        padding: 40px 0 35px;
    }

    .mt-intro-title {
        font-size: 28px;
    }

    .mt-intro-title span {
        font-size: 20px;
    }

    .mt-intro-sub {
        font-size: 16px;
    }
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .mt-taxi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .mt-taxi-grid {
        grid-template-columns: 1fr;
    }

    .mt-taxi-actions {
        flex-direction: row;
        justify-content: flex-end;
    }
}

/* Responsive */
@media(max-width:992px) {
    .nx-tour-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:640px) {
    .nx-tour-grid {
        grid-template-columns: 1fr;
    }

    .nx-topline {
        flex-direction: column;
    }

    .nx-name {
        max-width: 100%;
    }

    .nx-foot {
        flex-direction: column;
        align-items: flex-start;
    }

    .nx-actions {
        justify-content: flex-start;
    }
}

/* ===== MOBILE: PRICE + BUTTONS IN ONE ROW ===== */
@media (max-width: 640px) {
    .nx-foot {
        flex-direction: row;
        /* force row */
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .nx-price {
        text-align: left;
    }

    .nx-actions {
        flex-direction: row;
        /* buttons side by side */
        justify-content: flex-end;
        gap: 8px;
    }

    .nx-btn {
        padding: 8px 14px;
        /* slightly compact for mobile */
        font-size: 12.5px;
    }
}

/* responsive */
@media(max-width:992px) {
    .nx-sec-title {
        font-size: 32px;
    }

    .nx-sec-para {
        font-size: 15.5px;
    }
}

@media(max-width:640px) {
    .nx-sec-title {
        font-size: 24px;
        line-height: 1.25;
    }

    .nx-sec-line {
        width: 44px;
    }
}

/* ===== MOBILE: CENTER ONLY HEADINGS ===== */
@media (max-width: 640px) {

    .nx-sec-head {
        text-align: center;
        /* center heading block */
    }

    .nx-sec-kicker {
        display: inline-block;
    }

    .nx-sec-kicker::before,
    .nx-sec-kicker::after {
        display: inline-block;
        /* show side lines again on mobile */
        width: 22px;
    }

    .nx-sec-title {
        text-align: center;
    }

    .nx-sec-ornament {
        justify-content: center;
        /* ornament centered */
    }

    /* IMPORTANT: paragraph stays left */
    .nx-sec-para {
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }
}

/* about us */
/* ================== abtX – MOBILE RESPONSIVE PATCH (ADD AT END) ================== */
/* Tablet & down */
@media (max-width: 992px) {

    .abtX {
        padding: 46px 0 54px;
    }

    .abtX-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: stretch;
    }

    .abtX-title {
        font-size: 28px;
        line-height: 1.18;
    }

    .abtX-para {
        font-size: 15.5px;
        line-height: 1.75;
    }

    /* Trust pills: 2 columns on tablet */
    .abtX-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .abtX-pill {
        min-height: auto;
        padding: 12px 12px;
        border-radius: 16px;
    }

    .abtX-pill i {
        width: 40px;
        height: 40px;
        border-radius: 14px;
    }

    /* Right card spacing */
    .abtX-card {
        border-radius: 22px;
        padding: 14px 14px 12px;
    }

    .abtX-cardTitle {
        font-size: 17px;
    }

    .abtX-blob {
        width: 180px;
        height: 180px;
        right: -14px;
        top: -14px;
        border-radius: 46px;
    }
}

/* Phones */
@media (max-width: 640px) {

    .abtX {
        padding: 40px 0 48px;
    }

    .abtX-kicker {
        font-size: 11px;
        letter-spacing: .16em;
        margin-bottom: 8px;
    }

    .abtX-title {
        font-size: 24px;
        line-height: 1.22;
        letter-spacing: -.1px;
    }

    .abtX-hl::before {
        height: 10px;
        bottom: 1px;
    }

    .abtX-para {
        font-size: 15px;
        line-height: 1.78;
    }

    /* Trust pills: 1 column on mobile */
    .abtX-trust {
        grid-template-columns: 1fr;
        gap: 10px;
        margin: 14px 0 14px;
    }

    /* Buttons: stack & full width */
    .abtX-ctaRow {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 12px;
    }

    .abtX-btn {
        width: 100%;
        justify-content: center;
        padding: 11px 14px;
        font-size: 13px;
    }

    /* Right card top row wraps nicely */
    .abtX-cardTop {
        flex-wrap: wrap;
        gap: 8px;
    }

    .abtX-badge {
        font-size: 10.5px;
        padding: 6px 10px;
    }

    .abtX-mini {
        font-size: 12px;
        width: 100%;
    }

    /* Steps: tighten + prevent overflow */
    .abtX-step {
        padding: 12px 12px;
        border-radius: 16px;
        gap: 10px;
    }

    .abtX-ic {
        width: 44px;
        height: 44px;
        border-radius: 16px;
        flex: 0 0 44px;
    }

    .abtX-stepText strong {
        font-size: 13.4px;
    }

    .abtX-stepText span {
        font-size: 12.4px;
    }

    .abtX-num {
        padding: 5px 9px;
        font-size: 11px;
    }

    /* Footer becomes stacked */
    .abtX-cardFoot {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .abtX-tags span {
        font-size: 12px;
        padding: 6px 9px;
    }

    /* Decorative blob stays behind but not too big */
    .abtX-blob {
        width: 150px;
        height: 150px;
        right: -10px;
        top: -10px;
        border-radius: 40px;
        opacity: .8;
    }
}

/* Extra-small phones */
@media (max-width: 420px) {

    .abtX-title {
        font-size: 22px;
    }

    .abtX-step {
        padding: 11px;
    }

    .abtX-ic {
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 15px;
    }

    .abtX-num {
        display: none;
        /* cleaner on very small screens */
    }
}


/* Responsive */
@media(max-width:992px) {
    .wcuX4 {
        padding: 46px 0;
    }

    .wcuX4-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .wcuX4-title {
        font-size: 28px;
    }

    .wcuX4-proof {
        grid-template-columns: 1fr;
    }
}

@media(max-width:640px) {
    .wcuX4 {
        padding: 40px 0;
    }

    .wcuX4-title {
        font-size: 22px;
        line-height: 1.2;
    }
}

/* Responsive */
@media(max-width:992px) {
    .spdX-inner {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .spdX-title {
        font-size: 28px;
    }
}

@media(max-width:640px) {
    .spdX {
        padding: 46px 0;
    }

    .spdX-title {
        font-size: 22px;
    }
}

/* ================== RESPONSIVE ================== */
@media (max-width:980px) {
    .sdeals-track>.dealCard {
        flex-basis: 86%;
    }

    .dealCard-media {
        height: 460px;
    }

    .sdeals-viewport {
        border-radius: 22px;
    }
}

@media (max-width:520px) {
    .dealCard-title {
        font-size: 18px;
    }

    .dealCard-now {
        font-size: 20px;
    }
}

/* responsive */
@media (max-width:920px) {
    .rfare-grid {
        grid-template-columns: 1fr;
    }
}

/* responsive */
@media (max-width:980px) {
    .mhx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width:620px) {
    .mhx-grid {
        grid-template-columns: 1fr;
    }

    .mhx-media {
        height: 230px;
    }
}

/* Tablets */
@media (max-width: 980px) {
    .mhx-rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
}

/* Mobile */
@media (max-width: 620px) {
    .mhx-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        /* 2 per row */
        gap: 10px;
    }

    .mhx-railItem {
        padding: 10px 10px;
        min-height: 50px;
        border-radius: 14px;
    }

    .mhx-railIcon {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    .mhx-railText b {
        font-size: 12px;
        line-height: 1.1;
    }

    .mhx-railText span {
        font-size: 11px;
    }

    /* Buttons full width for better mobile UX */
    .mhx-actions {
        grid-template-columns: 1fr;
    }

    .mhx-btn {
        height: 46px;
    }
}

/* Very small phones */
@media (max-width: 380px) {
    .mhx-rail {
        grid-template-columns: 1fr;
        /* 1 per row */
    }
}

/* Mobile */
@media (max-width: 768px) {
    .mt-review-title {
        font-size: 24px;
    }

    .mt-review-section {
        padding: 40px 0;
    }
}

/* responsive */
@media (max-width: 980px) {
    .mt-route-sideA {
        min-height: auto;
    }
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
    .mt-routes-v2 .mt-routes-wrap {
        grid-template-columns: 1fr;
    }

    .mt-map-canvas {
        height: 250px;
    }
}

@media (max-width: 560px) {
    .mt-routes-v2 {
        padding: 58px 0;
    }

    .mt-routes-v2 .mt-routes-title {
        font-size: 24px;
    }

    .mt-route-item {
        padding: 14px 14px 14px 12px;
    }

    .mt-route-ic {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 14px;
    }

    .mt-route-go {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .mt-route-meta {
        gap: 10px;
    }

    .mt-map-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .mt-map-pills {
        justify-content: flex-start;
    }
}

/* ================================
   POPULAR ROUTES – MOBILE FIXES
   Works with left route list + Right Option A panel
================================ */

/* 1) Tablet and below: stack columns */
@media (max-width: 980px) {
    .mt-routes-wrap {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    /* Right panel comes after list */
    .mt-route-sideA {
        order: 2;
    }

    .mt-route-list {
        order: 1;
    }
}

/* 2) Mobile: tighten spacing + better typography */
@media (max-width: 600px) {
    .mt-routes {
        padding: 40px 0 !important;
    }

    .mt-routes-head {
        margin-bottom: 22px !important;
        padding: 0 2px;
    }

    .mt-routes-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    .mt-routes-sub {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    /* Meta pills wrap nicely */
    .mt-routes-metaLine {
        gap: 8px !important;
    }

    .mt-metaPill {
        font-size: 12px !important;
        padding: 7px 10px !important;
    }

    /* ROUTE ITEM: reduce height and prevent overflow */
    .mt-route-item {
        padding: 13px 12px 13px 11px !important;
        gap: 12px !important;
        border-radius: 14px !important;
    }

    .mt-route-accent {
        width: 5px !important;
    }

    .mt-route-ic {
        width: 44px !important;
        height: 44px !important;
        border-radius: 14px !important;
        flex: 0 0 44px !important;
    }

    .mt-route-ic i {
        font-size: 16px !important;
    }

    /* Title + pill stack (so it doesn't squeeze) */
    .mt-route-top {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }

    .mt-route-name {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .mt-route-pill {
        font-size: 11px !important;
        padding: 6px 10px !important;
    }

    /* meta lines become 2 rows neatly */
    .mt-route-meta {
        gap: 8px 12px !important;
        font-size: 12.5px !important;
    }

    .mt-route-go {
        width: 38px !important;
        height: 38px !important;
        border-radius: 13px !important;
        flex: 0 0 38px !important;
    }

    /* Right Panel Option A */
    .mt-route-sideA {
        border-radius: 16px !important;
    }

    .mt-sideA-hero {
        min-height: 165px !important;
        padding: 14px !important;
        background-position: center top !important;
    }

    .mt-sideA-title {
        max-width: 100% !important;
    }

    .mt-sideA-title h3 {
        font-size: 16px !important;
    }

    .mt-sideA-title p {
        font-size: 12.5px !important;
    }

    .mt-sideA-body {
        padding: 12px !important;
    }

    /* Chips: 2 per row feel */



    /* Help box: tighter */
    .mt-sideA-help {
        padding: 12px !important;
        border-radius: 14px !important;
        gap: 10px !important;
    }

    .mt-sideA-help-ic {
        width: 44px !important;
        height: 44px !important;
        border-radius: 14px !important;
        flex: 0 0 44px !important;
    }

    .mt-sideA-help-txt strong {
        font-size: 13.5px !important;
    }

    .mt-sideA-help-txt span {
        font-size: 12.5px !important;
    }

    .mt-sideA-help-go {
        width: 36px !important;
        height: 36px !important;
        border-radius: 13px !important;
        flex: 0 0 36px !important;
    }
}




/* mobile */
@media (max-width: 560px) {
    .mt-faqNoIcon {
        padding: 58px 0;
    }

    .mt-faqNoIcon-title {
        font-size: 24px;
    }

    .mt-faqNoIcon-q {
        padding: 14px 14px 14px 12px;
    }

    .mt-faqNoIcon-a {
        padding: 0 14px 14px 14px;
    }

    .mt-faqNoIcon-num {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        flex-basis: 46px;
        font-size: 13px;
    }

    .mt-faqNoIcon-toggle {
        width: 40px;
        height: 40px;
        border-radius: 14px;
        flex-basis: 40px;
    }
}

/* gallery */
/* Responsive */
@media (max-width: 980px) {
    .mt-gs-arrow {
        display: none;
    }

    /* swipe on mobile */
    .mt-gs-card {
        width: 320px;
        height: 240px;
    }
}

@media (max-width: 560px) {
    .mt-gs {
        padding: 56px 0;
    }

    .mt-gs-title {
        font-size: 24px;
    }

    .mt-gs-card {
        width: 78vw;
        height: 230px;
        border-radius: 12px;
    }
}

/* blogs */
/* Responsive */
@media (max-width: 980px) {
    .mt-blog2-headRow {
        flex-direction: column;
        align-items: flex-start;
    }

    .mt-blog2-wrap {
        grid-template-columns: 1fr;
    }

    .mt-blog2-featureLink {
        grid-template-rows: 240px auto;
    }
}

@media (max-width: 560px) {
    .mt-blog2 {
        padding: 40px 0;
    }

    .mt-blog2-title {
        font-size: 24px;
    }

    .mt-blog2-allBtn {
        width: 100%;
        justify-content: center;
    }

    .mt-blog2-feature {
        border-radius: 16px;
    }

    .mt-blog2-featureLink {
        grid-template-rows: 210px auto;
    }

    .mt-blog2-cardLink {
        grid-template-columns: 110px 1fr;
        min-height: 118px;
    }
}

@media (max-width: 560px) {

    /* Make card layout flush */
    .mt-blog2-card {
        padding: 0;
    }

    .mt-blog2-cardLink {
        grid-template-columns: 120px 1fr;
        gap: 0;
        /* REMOVE gap */
        min-height: 120px;
    }

    /* Image touches card border */
    .mt-blog2-thumb {
        width: 120px;
        min-width: 120px;
        height: 100%;
        border-radius: 16px 0 0 16px;
        /* match card */
        overflow: hidden;
    }

    .mt-blog2-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* Content spacing only on right */
    .mt-blog2-cardBody {
        padding: 12px 14px;
    }
}

/* Responsive */
@media (max-width: 980px) {
    .mtf-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .mtf-main {
        padding: 52px 0 34px;
    }

    .mtf-grid {
        grid-template-columns: 1fr;
    }

    .mtf-logo img {
        height: 44px;
    }

    .mtf-btn {
        width: 100%;
    }
}

/* pages hero */
/* Responsive */
@media (max-width: 768px) {
    .itHeroX {
        padding: 52px 0 44px;
    }

    .itHeroX-title {
        font-size: 32px;
    }

    .itHeroX-inner {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .itHeroX {
        padding: 40px 0 42px;
    }

    .itHeroX-title {
        font-size: 28px;
    }

    .itHeroX-btn {
        width: 100%;
        min-width: 100%;
    }

    .itHeroX-meta .dot {
        display: none;
    }
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
    .it-grid {
        grid-template-columns: 1fr
    }

    .side {
        position: relative;
        top: auto
    }

    .overview-grid {
        grid-template-columns: 1fr
    }

    .inc-grid {
        grid-template-columns: 1fr
    }
}

@media (max-width: 520px) {
    .stop {
        grid-template-columns: 78px 1fr
    }

    .it-nav ul {
        gap: 6px
    }

    .it-nav a {
        padding: 9px 9px
    }
}

/* MOBILE */
@media (max-width: 560px) {
    .day-top {
        grid-template-columns: 1fr 42px;
    }

    .day-badge {
        margin-bottom: 6px;
    }

    .day-top>div:nth-child(2) {
        grid-column: 1 / -1;
    }

    .stop {
        grid-template-columns: 1fr;
    }

    .time {
        display: inline-flex;
        margin-bottom: 2px;
    }
}

@media (max-width: 640px) {
    .fareTableV3 {
        min-width: 720px
    }

    /* slightly smaller swipe width */
}

/* mobile: remove fixed height */
@media (max-width: 920px) {
    .sideTourX-list {
        max-height: unset;
    }
}

/* ===== Sticky mini nav (base stays same) ===== */
/* Keep your existing .it-nav styles */

/* ===== Make nav slideable on mobile ===== */
@media (max-width: 768px) {

    .it-nav {
        padding: 10px 10px 8px;
    }

    .it-nav ul {
        flex-wrap: nowrap;
        /* IMPORTANT: single row */
        overflow-x: auto;
        /* scroll horizontally */
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        /* smooth snap */
        gap: 10px;
        padding: 2px 2px 6px;
    }

    .it-nav ul::-webkit-scrollbar {
        height: 6px;
    }

    .it-nav ul::-webkit-scrollbar-track {
        background: transparent;
    }

    .it-nav ul::-webkit-scrollbar-thumb {
        background: rgba(11, 18, 32, .18);
        border-radius: 999px;
    }

    .it-nav li {
        flex: 0 0 auto;
        /* prevent shrinking */
        scroll-snap-align: start;
    }

    .it-nav a {
        white-space: nowrap;
        /* keep text in one line */
        padding: 11px 12px;
    }
}

/* responsive */
@media (max-width: 1024px) {
    .amGridX {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width: 720px) {
    .amGridX {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width: 420px) {
    .amGridX {
        grid-template-columns: 1fr
    }
}

/* Responsive */
@media (max-width: 980px) {
    .gsl-figure img {
        height: 360px
    }
}

@media (max-width: 640px) {
    .gsl-main {
        grid-template-columns: 1fr
    }

    .gsl-nav {
        display: none
    }

    .gsl-figure img {
        height: 280px
    }

    .gsl-thumb {
        width: 104px;
        height: 68px
    }
}

/* Responsive */
@media (max-width: 900px) {
    .singleImgWrap img {
        max-height: 320px
    }
}

@media (max-width: 520px) {
    .singleImgWrap img {
        max-height: 240px
    }
}

/* Responsive */
@media (max-width: 980px) {
    .tfGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width: 560px) {
    .tfGrid {
        grid-template-columns: 1fr
    }

    .tfCard {
        padding: 15px
    }
}

/* Responsive */
@media (max-width: 980px) {
    .wbX {
        grid-template-columns: 1fr
    }
}

@media (max-width: 560px) {
    .wbX-title {
        font-size: 20px
    }

    .wbX-strip {
        padding: 13px
    }
}

/* mobile */
@media (max-width: 520px) {
    .route-mini {
        gap: 6px 10px;
    }

    .route-mini a {
        font-size: 12.5px;
        padding: 7px 10px;
    }
}

/* Responsive */
@media (max-width: 980px) {
    .ho-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .ho-row {
        grid-template-columns: 1fr;
    }

    .ho-tag {
        justify-content: flex-start;
        padding: 0 12px;
        width: max-content;
    }
}

/* responsive */
@media (max-width:980px) {
    .roomPro-card {
        grid-template-columns: 1fr
    }

    .roomPro-img {
        height: 240px
    }
}

@media (max-width:520px) {
    .roomPro-title {
        font-size: 22px
    }

    .roomPro-rate {
        left: 12px;
        right: auto
    }

    .roomPro-actions {
        flex-direction: column;
        align-items: stretch
    }

    .rbtn {
        width: 100%
    }
}

/* Mobile: single column + sticky CTA */
@media (max-width: 520px) {
    .mt-popup-box {
        padding: 20px 16px 16px;
        border-radius: 16px;
    }

    .mt-popup-title {
        font-size: 24px;
    }

    .mt-popup-sub {
        font-size: 13px;
    }

    .mt-popup-form {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mt-popup-btn {
        position: sticky;
        bottom: 0;
        z-index: 2;
        box-shadow: 0 -10px 20px rgba(0, 0, 0, .25);
    }
}

/* Mobile captcha stacking */
@media (max-width: 520px) {
    .mt-captcha-row {
        grid-template-columns: 1fr 44px;
        grid-template-areas:
            "code refresh"
            "input input";
    }

    .mt-captcha-code {
        grid-area: code;
    }

    .mt-captcha-refresh {
        grid-area: refresh;
    }

    .mt-captcha-input {
        grid-area: input;
    }
}

/* =========================
   FIX: Day header spacing on mobile
   (removes the fixed 86px column)
========================= */
@media (max-width: 560px) {

    .day-top {
        /* remove 86px column */
        grid-template-columns: 1fr 46px;
        gap: 10px;
        padding: 12px 12px;
        align-items: start;
    }

    /* Badge goes on its own line (left) */
    .day-badge {
        grid-column: 1;
        grid-row: 1;
        width: max-content;
        padding: 8px 10px;
        border-radius: 12px;
    }

    /* Title/subtitle block goes below badge */
    .day-top>div:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    /* Toggle stays right, vertically centered, no extra space */
    .day-toggle {
        grid-column: 2;
        /* grid-row: 1 / span 2; */
        align-self: center;
        justify-self: end;
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

}

@media(max-width:1024px){
  .mt-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .mt-grid{ grid-template-columns:1fr; }
}

@media (max-width: 768px){

  .mt-taxi-bottom{
    display: flex;
    flex-direction: column;   /* price upar, buttons niche */
    align-items: stretch;
    gap: 10px;
  }

  .mt-taxi-price{
    width: 100%;
    order: 1;
    text-align: left;
  }

  .mt-taxi-actions{
    width: 100%;
    order: 2;
    display: flex;
    gap: 10px;                /* same row buttons */
  }

  .mt-taxi-actions a{
    flex: 1;                  /* 50%-50% fit */
    text-align: center;
    padding: 12px 0;
  }
}
