/* home-chrome — no legacy (legacy rules conflict ATF; keep chrome lean) */

/* --- tb-ui-polish.css --- */
/* Shared UI/UX polish — typography, a11y, contrast, hub consistency */
:root {
    --tb-ink: #12263a;
    --tb-ink-soft: #24272c;
    --tb-muted: #4b5563;
    --tb-muted-soft: #6b7280;
    --tb-red: #d81416;
    --tb-border: #e8ecf0;
    --tb-bg: #f5f6f8;
    --tb-focus: rgba(216, 20, 22, 0.35);
    --tb-h1: clamp(1.35rem, 2.5vw, 1.85rem);
    --tb-h2: clamp(1.15rem, 2vw, 1.35rem);
    --tb-h3: 1.05rem;
}

/* Skip link */
.tb-skip-link {
    position: absolute;
    left: 12px;
    top: 0;
    z-index: 100000;
    padding: 10px 14px;
    border-radius: 0 0 8px 8px;
    background: var(--tb-red);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transform: translateY(-120%);
    transition: transform .15s ease;
}

.tb-skip-link:focus,
.tb-skip-link:focus-visible {
    transform: translateY(0);
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--tb-red);
    outline-offset: 2px;
}

/* Typography scale for hubs */
.dl-page h1,
.bm-page h1,
.emi-page-hero h1,
.listing-page .tb-save-page-header h1,
.tb-compare-result .tb-cr-hero h1 {
    color: var(--tb-ink);
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.dl-page h1,
.bm-page h1,
.emi-page-hero h1,
.listing-page .tb-save-page-header h1 {
    font-size: var(--tb-h1);
    font-weight: 700;
}

.dl-section__title,
.bm-hero h1,
.tb-faq__heading,
.rm-footer__heading {
    font-size: var(--tb-h2);
    font-weight: 700;
    color: var(--tb-ink);
    line-height: 1.35;
}

/* Home titles already set in home-sections.css — skip redeclare (CLS). */

.dl-section__body,
.bm-hero__sub,
.home-section-sub,
.tb-save-page-header p,
.tb-cr-desc-body {
    color: var(--tb-muted);
}

/* Contrast: muted text slightly darker */
.home-section-sub,
.listing-compare-sub,
.tb-price-clarity,
.hero-price-meta,
.dl-hero__sub,
.bm-hero__sub,
.dl-locator__hint {
    color: #4b5563 !important;
}

/* Icon-only controls: ensure min touch target */
.tb-wish-btn,
.tb-nav-drawer-toggle,
.tb-nav-drawer-panel__close,
.listing-filter-native-back,
.scroltop {
    min-width: 44px;
    min-height: 44px;
}

/* Used detail — PDP-like CTA/hero polish */
.used-detail-ui .product-content {
    padding: 8px 0 0;
}

.used-detail-ui .product-title {
    font-size: var(--tb-h1);
    font-weight: 700;
    color: var(--tb-ink);
    line-height: 1.3;
    margin: 0 0 10px;
}

.used-detail-ui .product-price {
    color: var(--tb-red);
    font-weight: 700;
}

.used-detail-ui .purchase-info {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
}

.used-detail-ui .purchase-info .n-Button,
.used-detail-ui .purchase-info .site-button,
.used-detail-ui .purchase-info .btn-primary {
    width: 100%;
    max-width: none;
    min-height: 44px;
    border-radius: 10px;
    font-weight: 700;
}

.used-detail-ui .vehicle-meta-card {
    border: 1px solid var(--tb-border);
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(36, 39, 44, 0.05);
    background: #fff;
}

.used-detail-ui .btn-bottom-sticky {
    box-shadow: 0 -4px 16px rgba(18, 38, 58, 0.12);
}

/* Brand hub */
.brand-hub-page .breadCrumn {
    background: #fff;
    border-bottom: 1px solid var(--tb-border);
}

.brand-hub-page .listing-card {
    border-radius: 12px;
}

.brand-hub-hero {
    background: linear-gradient(135deg, #fff 0%, #fafbfc 55%, #fff5f5 100%);
    border-bottom: 1px solid var(--tb-border);
    padding: 20px 0 16px;
    margin-bottom: 12px;
}

.brand-hub-hero h1 {
    margin: 0 0 6px;
    font-size: var(--tb-h1);
    font-weight: 700;
    color: var(--tb-ink);
}

.brand-hub-hero p {
    margin: 0;
    max-width: 40rem;
    font-size: 14px;
    line-height: 1.5;
    color: var(--tb-muted);
}

/* Listing mobile filter polish */
.listing-filter-native-sheet {
    border-radius: 16px 16px 0 0 !important;
}

.listing-filter-native-header {
    border-bottom: 1px solid #eef1f4;
}

.listing-filter-native-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--tb-ink) !important;
}

.listing-filter-native-footer .listing-btn-apply {
    min-height: 48px;
    border-radius: 12px;
    font-weight: 700;
}

.listing-mobile-sticky-filter,
.listing-mobile-sticky-sort select {
    min-height: 40px;
}

/* Compare result polish */
.tb-cr-desc {
    position: relative;
    overflow: hidden;
}

.tb-cr-desc::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--tb-red) 0%, #f59e0b 100%);
}

.tb-cr-desc-body {
    font-size: 15px;
    line-height: 1.75;
    color: var(--tb-muted);
}

@media (max-width: 767px) {
    .tb-cr-desc {
        padding: 16px 16px 16px 18px;
        margin-top: 14px;
    }

    .tb-cr-desc h2 {
        font-size: 1.05rem;
    }

    .tb-cr-vehicles--mobile .tb-cr-vehicle-name {
        font-size: 13px;
        line-height: 1.35;
    }

    .tb-cr-vehicles--mobile .tb-cr-offer-btn {
        min-height: 40px;
        font-size: 13px;
        font-weight: 700;
    }
}

/* Home section hierarchy lives in home-sections.css (sync) — do not re-declare here (CLS). */

/* Wishlist / recently viewed empty + cards */
.tb-save-empty {
    padding: 40px 20px;
    border-radius: 12px;
    background: #fff;
    border: 1px dashed #d1d5db;
}

.tb-save-empty__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    color: var(--tb-ink);
}

.tb-save-empty__text {
    margin: 0 0 16px;
    font-size: 14px;
    color: var(--tb-muted);
    line-height: 1.5;
}

.tb-save-empty__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 10px;
    background: var(--tb-red);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.tb-save-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}

.tb-save-page-header h1 {
    margin: 0 0 6px;
}

.tb-save-page-header p {
    margin: 0;
    max-width: 36rem;
    line-height: 1.5;
}

/* News / blog cards unify */
.tb-news-card {
    border: 1px solid var(--tb-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 4px rgba(36, 39, 44, 0.05);
}

.tb-news-card-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--tb-ink);
    line-height: 1.35;
}

.tb-news-card-excerpt {
    color: var(--tb-muted);
    font-size: 13px;
    line-height: 1.5;
}

.tb-news-card-read {
    color: var(--tb-red);
    font-weight: 700;
    font-size: 13px;
}

.blog-listing-grid .blog-card,
.blog-card {
    border: 1px solid var(--tb-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(36, 39, 44, 0.05);
}

/* FAQ accordion — align with PDP detail-faq look */
.tb-faq__heading {
    font-size: var(--tb-h2);
    color: var(--tb-ink);
}

.tb-faq__accordion .panel {
    border-radius: 8px;
}

.tb-faq-section .tb-faq__accordion .acod-head .acod-title > a:hover,
.tb-faq-section .tb-faq__accordion .acod-head > a:hover {
    background: #fff8f8 !important;
}

.listing-faq-section {
    background: #fff;
    border: 1px solid var(--tb-border);
    border-radius: 12px;
    padding: 20px 22px;
    box-shadow: 0 1px 4px rgba(36, 39, 44, 0.05);
}

.listing-faq-heading {
    font-size: var(--tb-h2);
    font-weight: 700;
    color: var(--tb-ink);
}

/* Listing FAQ accordion — match Faq.ascx chevron pattern */
.listing-faq-accordion .panel {
    border: 1px solid #f0f2f5;
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
}

.listing-faq-accordion .acod-head a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px;
    position: relative;
    padding: 14px 44px 14px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    color: var(--tb-ink-soft) !important;
    text-decoration: none !important;
    background: #fafbfc;
}

.listing-faq-accordion .acod-head a:hover,
.listing-faq-accordion .acod-head a:focus {
    background: #fff8f8 !important;
    color: var(--tb-red) !important;
}

.listing-faq-accordion .acod-head a::after {
    font-family: inherit !important;
    content: "" !important;
    float: none !important;
    position: absolute;
    right: 18px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-right: 2px solid #6b7280;
    border-bottom: 2px solid #6b7280;
    transform: rotate(45deg);
    transition: transform 0.2s ease, border-color 0.15s ease;
}

.listing-faq-accordion .acod-head a:not(.collapsed)::after {
    transform: rotate(-135deg);
    margin-top: -2px;
    border-color: var(--tb-red);
}

.listing-faq-accordion .acod-content {
    padding: 12px 16px 16px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--tb-muted);
}

/* Brand hub extras */
.brand-hub-page .brand-hub-hero .card,
.brand-hub-page .brand-hub-hero .card-body {
    border: 0;
    box-shadow: none;
    background: transparent;
    padding-left: 0;
    padding-right: 0;
}

.brand-hub-page .brand-hub-hero h1.card-title,
.brand-hub-page .brand-hub-hero .card-title {
    font-size: var(--tb-h1);
    font-weight: 700;
    color: var(--tb-ink);
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.brand-hub-page .side-bar .widget {
    border: 1px solid var(--tb-border);
    border-radius: 12px;
    padding: 12px 14px;
    background: #fff;
}

.brand-hub-page .filterSticky .open {
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    background: transparent;
    font-weight: 800;
    color: var(--tb-ink);
}

.brand-hub-page #masonry .listing-card,
.brand-hub-page .listing-card-inner {
    border-radius: 12px;
}

.brand-hub-models-heading {
    font-size: var(--tb-h2) !important;
    font-weight: 700;
    color: var(--tb-ink);
}

/* Used detail CTA row */
.used-detail-ui .purchase-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.used-detail-ui .purchase-actions .action-item {
    flex: 1 1 140px;
}

.used-detail-ui .purchase-actions .action-item .card-link,
.used-detail-ui .purchase-actions .action-item .n-Button,
.used-detail-ui .purchase-actions .action-item .b-Button,
.used-detail-ui .purchase-actions .tb-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
}

.used-detail-ui .product-imgs {
    border-radius: 12px;
    overflow: hidden;
}

.used-detail-ui .product-title .widget-title,
.used-detail-ui .product-title h1 {
    font-size: var(--tb-h1);
    font-weight: 700;
    color: var(--tb-ink);
    line-height: 1.3;
    margin: 0;
}

/* Icon-only extras */
.tb-recent-remove,
.listing-filter-close,
.tb-account-chip {
    min-width: 44px;
    min-height: 44px;
}

/* Blog / news unify with home news cards */
.blog-listing-page .blog-card__title {
    font-size: 15px;
    font-weight: 700;
    color: var(--tb-ink);
    line-height: 1.35;
}

.blog-listing-page .blog-card__excerpt {
    color: var(--tb-muted);
    font-size: 13px;
    line-height: 1.5;
}

.blog-listing-page .blog-card__cta-text {
    color: var(--tb-red);
    font-weight: 700;
    font-size: 13px;
}

.blog-listing-page .blog-listing-section-head__sub {
    color: #4b5563 !important;
}

/* =========================================================
   Mobile UX Batch A (2026-07-11) — safe, mobile-only overrides
   Do not change desktop layout; loaded after page CSS where linked.
   ========================================================= */

/* =========================================================
   Enquiry modal — desktop + shared (must sit above sticky header ~10010)
   Mobile bottom-sheet rules follow in the max-width:767px block.
   ========================================================= */
#exampleModal,
#exampleModal.tb-enq-native,
#exampleModalRating {
    z-index: 10060 !important;
}

#exampleModal.fade.in,
#exampleModal.in,
#exampleModal.show,
#exampleModalRating.fade.in,
#exampleModalRating.in,
#exampleModalRating.show {
    display: block !important;
    opacity: 1 !important;
}

#exampleModal .modal-dialog,
#exampleModalRating .modal-dialog {
    z-index: 10061;
}

.modal-backdrop,
.modal-backdrop.in {
    z-index: 10055 !important;
}

@media (min-width: 768px) {
    #exampleModal .marginModal {
        margin: 0 !important;
        padding: 40px 16px !important;
        min-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #exampleModal .modal-dialog {
        position: relative !important;
        width: 380px !important;
        max-width: calc(100vw - 32px);
        margin: 0 auto !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    #exampleModal.fade .modal-dialog {
        -webkit-transform: translate(0, -12px) !important;
        transform: translate(0, -12px) !important;
        transition: transform 0.2s ease-out !important;
    }

    #exampleModal.fade.in .modal-dialog,
    #exampleModal.in .modal-dialog,
    #exampleModal.show .modal-dialog {
        -webkit-transform: none !important;
        transform: none !important;
    }

    #exampleModal .modal-content {
        border-radius: 12px !important;
        overflow: hidden;
        box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25) !important;
    }

    #exampleModal iframe#Enquiry,
    #exampleModal iframe {
        width: 100% !important;
        height: 420px !important;
        border: 0;
        display: block;
    }

    #exampleModalRating .marginModal {
        margin: 0 !important;
        padding: 40px 16px !important;
        min-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #exampleModalRating .modal-dialog {
        position: relative !important;
        width: 380px !important;
        max-width: calc(100vw - 32px);
        margin: 0 auto !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    #exampleModalRating iframe#EnquiryRating,
    #exampleModalRating iframe {
        width: 100% !important;
        height: 420px !important;
        border: 0;
        display: block;
        position: relative;
        z-index: 1;
        pointer-events: auto;
    }
}

/* Fluid lead / banner modals on small screens — enquiry becomes native bottom sheet */
@media (max-width: 767px) {
    /* Sit above mobile nav drawer (z-index ~10010) and page-wraper overflow clipping */
    #exampleModal,
    #exampleModal.tb-enq-native,
    #exampleModalRating {
        padding: 0 !important;
        z-index: 10060 !important;
    }

    /* Homepage critical CSS omits Bootstrap fade opacity; force visible when open */
    #exampleModal.fade.in,
    #exampleModal.in,
    #exampleModal.show,
    #exampleModalRating.fade.in,
    #exampleModalRating.in,
    #exampleModalRating.show {
        display: block !important;
        opacity: 1 !important;
    }

    #exampleModal .marginModal {
        margin: 0 !important;
        padding: 0 !important;
        height: 100%;
        display: flex;
        align-items: flex-end;
    }

    /* Closed: parked below viewport. Open (.in/.show): slides up. */
    #exampleModal.fade .modal-dialog {
        -webkit-transform: translate3d(0, 100%, 0) !important;
        transform: translate3d(0, 100%, 0) !important;
        transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1) !important;
    }

    #exampleModal.fade.in .modal-dialog,
    #exampleModal.in .modal-dialog,
    #exampleModal.show .modal-dialog {
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    #exampleModal .modal-dialog {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #exampleModal .modal-content {
        position: relative;
        border: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.22) !important;
        max-height: min(92vh, 720px);
        overflow: hidden;
        background: #fff;
    }

    /* Grab handle — native sheet cue */
    #exampleModal .modal-content::before {
        content: "";
        display: block;
        width: 40px;
        height: 4px;
        margin: 10px auto 0;
        border-radius: 999px;
        background: #d1d5db;
    }

    #exampleModal .modal-header {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 16px 8px !important;
        border: 0 !important;
        min-height: 44px;
    }

    #exampleModal .modal-header::before {
        content: "Get on-road price";
        font-size: 16px;
        font-weight: 700;
        color: #0f172a;
        letter-spacing: -0.01em;
        line-height: 1.2;
    }

    #exampleModal .modal-header .close {
        position: static !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #f3f4f6 !important;
        opacity: 1 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

    #exampleModal .modal-header .close span {
        font-size: 22px !important;
        font-weight: 400;
        color: #374151;
        line-height: 1;
    }

    #exampleModal .modal-body {
        padding: 0 12px 12px !important;
        max-height: calc(92vh - 72px);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    #exampleModal iframe#Enquiry,
    #exampleModal iframe {
        width: 100% !important;
        max-width: 100%;
        height: min(70vh, 560px) !important;
        border: 0;
        display: block;
    }

    /* Dim backdrop feels like an app sheet — above drawer, below sheet */
    .modal-backdrop,
    .modal-backdrop.in {
        z-index: 10055 !important;
        background: rgba(15, 23, 42, 0.5) !important;
    }

    body.tb-enq-sheet-open {
        overflow: hidden !important;
        touch-action: none;
        position: relative;
    }

    /* Rating modal — same native sheet treatment */
    #exampleModalRating .marginModal {
        margin: 0 !important;
        padding: 0 !important;
        height: 100%;
        display: flex;
        align-items: flex-end;
    }

    #exampleModalRating.fade .modal-dialog {
        -webkit-transform: translate3d(0, 100%, 0) !important;
        transform: translate3d(0, 100%, 0) !important;
        transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1) !important;
    }

    #exampleModalRating.in .modal-dialog,
    #exampleModalRating.show .modal-dialog {
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    #exampleModalRating .modal-dialog {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    #exampleModalRating .modal-content {
        border: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.22) !important;
        max-height: min(92vh, 720px);
        overflow: hidden;
    }

    #exampleModalRating .modal-content::before {
        content: "";
        display: block;
        width: 40px;
        height: 4px;
        margin: 10px auto 0;
        border-radius: 999px;
        background: #d1d5db;
    }

    #exampleModalRating iframe#EnquiryRating,
    #exampleModalRating iframe {
        width: 100% !important;
        height: min(70vh, 420px) !important;
        border: 0;
        display: block;
        position: relative;
        z-index: 1;
        pointer-events: auto;
    }

    #bannerModal .modal-dialog {
        width: auto !important;
        max-width: calc(100vw - 24px) !important;
        margin: 12px auto !important;
    }
}

/* Listing readability + secondary CTA touch */
@media (max-width: 767px) {
    .listing-spec-label {
        font-size: 9px !important;
        letter-spacing: 0 !important;
        color: #6b7280 !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .listing-spec-value {
        font-size: 12px !important;
        min-height: 0 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block !important;
    }

    .listing-card-specs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 2px !important;
        padding: 8px 6px !important;
    }

    .listing-cta-secondary {
        min-height: 44px;
        padding: 12px 8px !important;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .listing-card-actions .listing-cta-primary {
        min-height: 44px !important;
        font-size: 14px !important;
    }

    .listing-sticky-bar,
    .listing-sticky-bar select,
    .listing-sticky-bar button,
    .listing-filter-sort-bar,
    .listing-mobile-sticky {
        font-size: 14px !important;
    }
}

/* PDP hero + sticky CTA — mobile type/touch floor */
@media (max-width: 767px) {
    .n-Button,
    .b-Button {
        min-height: 44px !important;
        height: auto !important;
        line-height: 1.25 !important;
        font-size: 14px !important;
        padding: 10px 12px !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        white-space: normal;
    }

    .detail-sticky-cta__primary,
    .detail-sticky-cta__wa,
    .detail-sticky-cta__compare,
    .detail-sticky-cta__secondary,
    .detail-sticky-cta__ghost {
        font-size: 14px !important;
        min-height: 48px;
    }
}

@media (max-width: 380px) {
    .detail-sticky-cta {
        gap: 8px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .detail-sticky-cta__primary,
    .detail-sticky-cta__wa,
    .detail-sticky-cta__compare,
    .detail-sticky-cta__secondary,
    .detail-sticky-cta__ghost {
        font-size: 13px !important;
        padding: 0 6px;
    }
}

/* Home carousel hit-areas live in home-sections/critical (sync) — avoid late resize CLS. */

/* Search suggestions — easier tap */
@media (max-width: 991px) {
    .tt-suggestion,
    .tb-search-field .tt-suggestion {
        padding: 12px 16px !important;
        min-height: 44px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
    }
}

/* Reduce motion for decorative shine */
@media (prefers-reduced-motion: reduce) {
    .shine {
        animation: none !important;
        background-image: none !important;
    }
}

/* =========================================================
   Mobile UX Batch B (2026-07-11) — contrast, FAB clearance
   ========================================================= */

@media (max-width: 767px) {
    /* Contrast: muted chrome readable on bright outdoor screens */
    .listing-hero-meta,
    .listing-spec-label,
    .listing-brand-no-match,
    .listing-intro-meta,
    .listing-card-meta,
    .listing-result-count,
    .hero-price-meta,
    .tb-price-clarity {
        color: #6b7280 !important;
    }

    .detail-hero-info [style*="rgba(36,39,44,.5)"],
    .detail-hero-info [style*="rgba(36, 39, 44, .5)"],
    .detail-hero-info .text-muted,
    .n-detail-meta,
    .detail-section-note {
        color: #6b7280 !important;
    }

    /* FAB + sticky filter clearance so last cards stay tappable */
    .listing-page .blog-post,
    .listing-page #masonry,
    .listing-page .listing-load-more,
    .listing-page .listing-faq-heading {
        scroll-margin-bottom: 96px;
    }

    .listing-page .content-inner,
    .listing-page .section-content,
    .listing-page #loadMoreWrap,
    .listing-page .listing-load-more {
        margin-bottom: 0;
    }

    .listing-page {
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body:has(.listing-filter-fab) .page-content.listing-page,
    .page-content:has(.listing-filter-fab) {
        padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
    }
}



/* --- tb-footer.css --- */
/* TrucksBuses — modern site footer (CommonFooter.ascx) */
.tb-footer-tools {
    /* Prefer CLS stability — content-visibility under-reserve shifted footer into CrUX CLS. */
    content-visibility: visible;
    contain-intrinsic-size: none;
    min-height: 0;
}

.tb-footer {
    --tb-footer-red: #d81416;
    --tb-footer-text: #12263a;
    --tb-footer-muted: #6b7280;
    --tb-footer-border: #e5e7eb;
    --tb-footer-bg: #f3f4f6;
    --tb-footer-bottom-bg: #e8eaed;
    background: var(--tb-footer-bg);
    color: #4b5563;
    font-size: 14px;
    line-height: 1.55;
}

.tb-footer a {
    color: #4b5563;
    text-decoration: none;
    transition: color .2s ease;
}

.tb-footer a:hover,
.tb-footer a:focus {
    color: var(--tb-footer-red);
}

.tb-footer-main {
    padding: 48px 0 32px;
    border-bottom: 1px solid var(--tb-footer-border);
    background: var(--tb-footer-bg);
}

.tb-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr;
    gap: 28px 24px;
}

.tb-footer-brand .tb-footer-logo {
    display: inline-block;
    margin-bottom: 16px;
}

/* Override legacy site-footer / footer-image rules */
footer.tb-footer,
footer.tb-footer p,
footer.tb-footer h4,
footer.tb-footer .widget_services ul li a {
    color: inherit;
}

footer.tb-footer.footer-image .footer-top,
footer.tb-footer.footer-image .footer-bottom {
    background: transparent;
    padding: 0;
    border: none;
}

footer.tb-footer.footer-image h4 {
    color: var(--tb-footer-text);
}

.tb-footer-brand .tb-footer-logo img {
    max-width: 200px;
    height: auto;
    display: block;
}

.tb-footer-tagline {
    margin: 0 0 20px;
    color: var(--tb-footer-muted);
    max-width: 280px;
}

.tb-footer-contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.tb-footer-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--tb-footer-text);
    font-weight: 500;
}

.tb-footer-contact-item i {
    width: 18px;
    color: var(--tb-footer-red);
    text-align: center;
}

.tb-footer-heading {
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: var(--tb-footer-text);
    letter-spacing: .02em;
}

.tb-footer-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tb-footer-nav li {
    margin: 0 0 8px;
    padding: 0;
    border: none;
}

.tb-footer-nav li::before {
    display: none !important;
}

.tb-footer-nav a {
    color: var(--tb-footer-muted);
    font-size: 13px;
}

.tb-footer-nav a:hover {
    color: var(--tb-footer-red);
}

.tb-footer-app-badge {
    display: inline-block;
    margin-bottom: 18px;
    transition: opacity .2s ease;
}

.tb-footer-app-badge:hover {
    opacity: .88;
}

.tb-footer-app-badge img {
    max-width: 148px;
    height: auto;
    display: block;
}

.tb-footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.tb-footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #ffffff;
    border: 1px solid var(--tb-footer-border);
    color: #4b5563;
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
}

.tb-footer-social a .fa {
    display: inline-block;
    line-height: 1;
}

.tb-footer-social a:hover {
    background: var(--tb-footer-red);
    border-color: var(--tb-footer-red);
    color: #fff;
}

.tb-footer-whatsapp {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    color: var(--tb-footer-text);
    transition: background .2s ease, border-color .2s ease;
}

.tb-footer-whatsapp:hover {
    background: #dcfce7;
    border-color: #86efac;
    color: var(--tb-footer-text);
}

.tb-footer-whatsapp img {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.tb-footer-whatsapp-text {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.tb-footer-whatsapp-text span {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #16a34a;
    margin-top: 2px;
}

.tb-footer-bottom {
    padding: 20px 0;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    background: var(--tb-footer-bottom-bg);
    border-top: 1px solid var(--tb-footer-border);
}

.tb-footer-bottom-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
}

.tb-footer-copy {
    margin: 0;
    font-size: 13px;
    color: var(--tb-footer-muted);
}

.tb-footer-copy strong {
    color: var(--tb-footer-text);
    font-weight: 600;
}

.tb-footer-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tb-footer-legal a {
    font-size: 13px;
    color: var(--tb-footer-muted);
}

.tb-footer-legal a:hover {
    color: var(--tb-footer-red);
}

/* Accordion toggle — desktop hidden */
.tb-footer-toggle {
    display: none;
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.tb-footer-toggle:focus {
    outline: none;
}

.tb-footer-toggle:focus-visible {
    outline: 2px solid var(--tb-footer-red);
    outline-offset: 2px;
    border-radius: 4px;
}

.tb-footer-panel {
    display: block;
}

/* Override legacy footer-image rules inside new footer */
.tb-footer.footer-image .footer-top,
.tb-footer .widget_services ul li {
    border: none;
    padding: 0;
}

@media (max-width: 1199px) {
    .tb-footer-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .tb-footer-brand {
        grid-column: 1 / -1;
    }

    .tb-footer-app-col {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        align-items: start;
    }
}

@media (max-width: 991px) {
    .tb-footer-main {
        padding: 36px 0 24px;
    }

    .tb-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px 16px;
    }

    .tb-footer-app-col {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .tb-footer-main {
        padding: 28px 0 8px;
    }

    .tb-footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .tb-footer-brand {
        grid-column: 1 / -1;
        text-align: center;
        padding: 0 0 20px;
        margin-bottom: 4px;
        border-bottom: 1px solid var(--tb-footer-border);
    }

    .tb-footer-brand .tb-footer-logo {
        margin-left: auto;
        margin-right: auto;
    }

    .tb-footer-brand .tb-footer-logo img {
        max-width: 160px;
    }

    .tb-footer-tagline {
        max-width: 320px;
        margin: 0 auto 16px;
        font-size: 13px;
        line-height: 1.5;
    }

    .tb-footer-contact {
        align-items: stretch;
        max-width: 320px;
        margin: 0 auto;
        gap: 8px;
    }

    .tb-footer-contact-item {
        justify-content: center;
        min-height: 44px;
        padding: 10px 14px;
        background: #ffffff;
        border: 1px solid var(--tb-footer-border);
        border-radius: 10px;
        font-size: 14px;
    }

    /* Accordion columns */
    .tb-footer-col {
        grid-column: 1 / -1;
        padding: 0;
        border-bottom: 1px solid var(--tb-footer-border);
    }

    .tb-footer-col .tb-footer-heading {
        display: none;
    }

    .tb-footer-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        min-height: 48px;
        padding: 12px 2px;
        font-size: 15px;
        font-weight: 700;
        color: var(--tb-footer-text);
        transition: color .2s ease;
    }

    .tb-footer-col.is-open .tb-footer-toggle {
        color: var(--tb-footer-red);
    }

    .tb-footer-toggle::after {
        content: "";
        width: 8px;
        height: 8px;
        flex-shrink: 0;
        border-right: 2px solid #6b7280;
        border-bottom: 2px solid #6b7280;
        transform: rotate(45deg);
        margin-top: -4px;
        transition: transform .25s ease, border-color .2s ease, margin-top .25s ease;
    }

    .tb-footer-col.is-open .tb-footer-toggle::after {
        transform: rotate(-135deg);
        margin-top: 4px;
        border-color: var(--tb-footer-red);
    }

    .tb-footer-panel {
        display: block;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        padding: 0;
        transition: max-height .28s ease, opacity .2s ease, padding .2s ease;
    }

    .tb-footer-col.is-open .tb-footer-panel {
        max-height: 480px;
        opacity: 1;
        padding: 0 0 12px;
    }

    .tb-footer-nav li {
        margin: 0;
    }

    .tb-footer-nav a {
        display: block;
        padding: 11px 4px;
        font-size: 14px;
        color: #4b5563;
        border-top: 1px solid #f3f4f6;
        min-height: 44px;
        line-height: 22px;
    }

    .tb-footer-nav a:active {
        background: #f9fafb;
        color: var(--tb-footer-red);
    }

    /* App / social / WhatsApp — always visible */
    .tb-footer-app-col {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 20px 0 8px;
        border-bottom: none;
        text-align: center;
    }

    .tb-footer-app-col .tb-footer-heading {
        display: block;
        margin-bottom: 12px;
        font-size: 14px;
    }

    .tb-footer-app-col .tb-footer-toggle {
        display: none;
    }

    .tb-footer-app-col .tb-footer-panel {
        display: block !important;
        padding: 0;
    }

    .tb-footer-app-badge {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 14px;
    }

    .tb-footer-app-badge img {
        max-width: 160px;
    }

    .tb-footer-social {
        justify-content: center;
        gap: 10px;
        margin-bottom: 0;
    }

    .tb-footer-social a {
        width: 44px;
        height: 44px;
        font-size: 18px;
        border-radius: 10px;
    }

    .tb-footer-whatsapp {
        max-width: 340px;
        margin: 0 auto;
        min-height: 56px;
        padding: 12px 16px;
        text-align: left;
    }

    .tb-footer-bottom {
        padding: 18px 0;
        padding-bottom: max(18px, env(safe-area-inset-bottom));
    }

    .tb-footer-bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 14px;
    }

    .tb-footer-copy {
        font-size: 12px;
        line-height: 1.5;
        padding: 0 8px;
    }

    .tb-footer-legal {
        justify-content: center;
        gap: 8px 0;
        width: 100%;
    }

    .tb-footer-legal a {
        flex: 1 1 40%;
        min-width: 120px;
        padding: 10px 8px;
        font-size: 13px;
        font-weight: 500;
        background: #fff;
        border: 1px solid var(--tb-footer-border);
        border-radius: 8px;
        margin: 0 4px;
        text-align: center;
    }
}


/* --- header-drawer.css --- */
/* Mobile drawer — overrides master.css nav styles */
@media (max-width: 991px) {
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-drawer-link__label,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li a {
        font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    }

    .tb-nav-drawer-backdrop {
        position: fixed;
        inset: 0;
        z-index: 9998;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.25s ease, visibility 0.25s ease;
    }

    body.tb-nav-drawer-open .tb-nav-drawer-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        /* Dim only the page — not the drawer panel */
        left: min(86vw, 320px);
        right: 0;
        width: auto;
    }

    body.tb-nav-drawer-open {
        overflow: hidden;
    }

    body.tb-nav-drawer-open .site-header {
        z-index: 10050;
    }

    .site-header .main-bar .container.clearfix {
        position: relative;
        z-index: 10053;
    }

    /* Hamburger — top-right, red button, white bars */
    .tb-header .navbar-toggle.tb-nav-drawer-toggle,
    .site-header .navbar-toggle.tb-nav-drawer-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 8px !important;
        background: #c92127 !important;
        float: none !important;
        position: relative;
        z-index: 10055;
        pointer-events: auto !important;
        cursor: pointer;
        box-shadow: 0 2px 8px rgba(201, 33, 39, 0.35) !important;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        font-size: 0 !important;
        line-height: 0 !important;
        flex-shrink: 0;
    }

    .tb-header .navbar-toggle.tb-nav-drawer-toggle:active,
    .site-header .navbar-toggle.tb-nav-drawer-toggle:active {
        background: #a81b20 !important;
    }

    .tb-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars,
    .site-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 22px !important;
        height: 16px !important;
        pointer-events: none;
    }

    .tb-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span,
    .site-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span {
        display: block !important;
        height: 2px !important;
        width: 22px !important;
        min-height: 2px !important;
        background: #fff !important;
        border-radius: 1px !important;
        opacity: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    body.tb-nav-drawer-open .tb-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(1),
    body.tb-nav-drawer-open .site-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    body.tb-nav-drawer-open .tb-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(2),
    body.tb-nav-drawer-open .site-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(2) {
        opacity: 0;
    }

    body.tb-nav-drawer-open .tb-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(3),
    body.tb-nav-drawer-open .site-header .navbar-toggle.tb-nav-drawer-toggle .tb-nav-drawer-toggle__bars span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Panel shell — portaled to body, off-canvas until open */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel {
        display: flex !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: min(86vw, 320px) !important;
        max-width: 320px;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        clear: none !important;
        border: none !important;
        background: #fff !important;
        z-index: 10052;
        overflow: hidden;
        flex-direction: column;
        transform: translateX(-105%) !important;
        transition: transform 0.28s ease, visibility 0.28s ease;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
        visibility: hidden !important;
        pointer-events: none !important;
        font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
        isolation: isolate;
    }

    body.tb-nav-drawer-open #tbNavDrawer.header-nav.tb-nav-drawer-panel,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
        z-index: 10052 !important;
    }

    body.tb-nav-drawer-open #tbNavDrawer .tb-nav-drawer-panel__body,
    body.tb-nav-drawer-open #tbNavDrawer .nav,
    body.tb-nav-drawer-open #tbNavDrawer .sub-menu,
    body.tb-nav-drawer-open #tbNavDrawer .sub-menu li,
    body.tb-nav-drawer-open #tbNavDrawer .sub-menu li a {
        pointer-events: auto !important;
    }

    /* Header bar */
    .tb-nav-drawer-panel__head {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
        min-height: 56px;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 16px 8px;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb;
    }

    .tb-nav-drawer-panel__brand {
        display: flex !important;
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    .tb-nav-drawer-panel__logo {
        height: 28px;
        width: auto;
        display: block;
    }

    .tb-nav-drawer-panel__title {
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #111827 !important;
        text-transform: none !important;
        letter-spacing: 0;
        line-height: 1.2;
    }

    .tb-nav-drawer-panel__close {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 8px !important;
        background: #f3f4f6 !important;
        color: #4b5563 !important;
        font-size: 22px !important;
        line-height: 1 !important;
        cursor: pointer;
        float: none !important;
    }

    .tb-nav-drawer-panel__close span {
        display: block;
        margin-top: -2px;
    }

    /* CTA actions */
    .tb-nav-drawer-panel__actions {
        display: flex !important;
        flex-direction: column;
        gap: 8px;
        flex-shrink: 0;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb;
    }

    .tb-nav-drawer-cta,
    .tb-nav-drawer-link-secondary {
        display: block !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        text-transform: none !important;
        line-height: 1.3 !important;
    }

    .tb-nav-drawer-cta {
        background: #fef2f2 !important;
        color: #c92127 !important;
    }

    .tb-nav-drawer-link-secondary {
        background: #f9fafb !important;
        color: #374151 !important;
    }

    /* Scrollable list — flex-basis:0 + min-height:0 so content scrolls inside the panel */
    .tb-nav-drawer-panel__body {
        flex: 1 1 0% !important;
        min-height: 0 !important;
        max-height: 100%;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding: 8px 0 24px;
    }

    /* Section labels — New / Used / Tools / Content (drawer only) */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-label {
        display: block !important;
        list-style: none !important;
        margin: 14px 16px 4px !important;
        padding: 0 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        letter-spacing: 0.06em !important;
        text-transform: uppercase !important;
        color: #9ca3af !important;
        line-height: 1.2 !important;
        pointer-events: none;
        border: none !important;
        background: transparent !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-label:first-child {
        margin-top: 4px !important;
    }

    /* === master.css reset inside drawer === */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-header__menu,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav {
        display: block !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        width: 100% !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-header__menu > .tb-nav-item,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-transform: none !important;
        font-weight: 400 !important;
        position: static !important;
        background: transparent !important;
        border: none !important;
        list-style: none !important;
        flex-shrink: 1 !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-item--desktop {
        display: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > .tb-nav-link,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a:hover,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a:focus,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a:active {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 0 16px !important;
        margin: 0 !important;
        border: none !important;
        border-top: none !important;
        border-radius: 0 !important;
        background: #fff !important;
        color: #1f2937 !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        text-decoration: none !important;
        letter-spacing: 0 !important;
        line-height: 1.3 !important;
        cursor: pointer;
        box-shadow: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open > a {
        background: #fafafa !important;
        color: #c92127 !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-active > a {
        color: #c92127 !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-active .tb-drawer-link__icon {
        background: #fef2f2;
        color: #c92127;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li {
        border-bottom: 1px solid #f3f4f6 !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav i,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a i,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a .fa {
        float: none !important;
        margin: 0 !important;
        opacity: 1 !important;
        vertical-align: middle !important;
        position: static !important;
    }

    /* Row layout */
    .tb-drawer-link__left {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        flex: 1;
        min-width: 0;
    }

    .tb-drawer-link__icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        flex-shrink: 0;
        border-radius: 8px;
        background: #f3f4f6;
        color: #6b7280;
        font-size: 14px;
        line-height: 1;
    }

    .tb-drawer-link__icon--sell {
        background: #fef2f2;
        color: #c92127;
    }

    .tb-drawer-link__label {
        display: block !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: inherit !important;
        text-transform: none !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tb-drawer-link__caret {
        flex-shrink: 0;
        font-size: 14px !important;
        color: #9ca3af !important;
        transition: transform 0.2s ease;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > a .tb-nav-caret,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li > .tb-nav-link .tb-nav-caret {
        margin-left: auto;
        font-size: 16px !important;
        color: #9ca3af !important;
        transition: transform 0.2s ease;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open > a .tb-nav-caret,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open > .tb-nav-link .tb-nav-caret {
        transform: rotate(180deg);
        color: #c92127 !important;
    }

    /* Submenus */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .mega-menu {
        display: none !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 8px 0 !important;
        background: #fafafa !important;
        border: none !important;
        box-shadow: none !important;
        list-style: none !important;
        pointer-events: auto !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open > .sub-menu,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open > .mega-menu {
        display: block !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li:hover > .sub-menu,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li:hover > .mega-menu {
        display: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li.tb-nav-item-open:hover > .sub-menu {
        display: block !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu > li {
        float: none !important;
        margin: 0 !important;
        border: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li a,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li a:hover {
        display: block !important;
        position: relative !important;
        z-index: 3 !important;
        padding: 12px 16px 12px 32px !important;
        margin: 0 !important;
        border: none !important;
        background: transparent !important;
        color: #1f2937 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        text-decoration: none !important;
        letter-spacing: 0 !important;
        line-height: 1.3 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(201, 33, 39, 0.1);
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li a:active,
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .nav > li .sub-menu li a:focus {
        color: #c92127 !important;
        background: #fff !important;
    }
}

/* ============================================================
   Mobile drawer v3 — intent-first navigation
   (max-width 991px only; desktop nav untouched)
   ============================================================ */
@media (max-width: 991px) {
    body.tb-nav-drawer-open .tb-nav-drawer-backdrop {
        left: min(90vw, 380px);
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel {
        width: min(90vw, 380px) !important;
        max-width: 380px;
    }

    /* Panel children order: head, intents, scroll area, quiet footer */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-panel__head { order: 0; }
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-drawer-quick { order: 1; }
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-panel__body {
        order: 2;
        flex: 1 1 0% !important;
        min-height: 0 !important;
        max-height: none;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding: 0 0 12px !important;
    }
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-panel__actions {
        order: 3;
        flex-shrink: 0 !important;
    }

    /* --- Search + three primary intents --- */
    #tbNavDrawer .tb-drawer-quick {
        display: block !important;
        flex-shrink: 0;
        padding: 12px 16px 14px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }

    #tbNavDrawer .tb-drawer-quick__chips {
        display: grid;
        grid-template-columns: 1fr 1fr 0.82fr;
        gap: 8px;
    }

    #tbNavDrawer .tb-drawer-chip {
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 8px 10px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        background: #fff !important;
        color: #1f2937 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-align: center;
        text-decoration: none !important;
        text-transform: none !important;
        line-height: 1.2 !important;
        -webkit-tap-highlight-color: rgba(201, 33, 39, 0.08);
    }

    #tbNavDrawer .tb-drawer-chip:active {
        background: #f3f4f6 !important;
    }

    #tbNavDrawer .tb-drawer-chip--sell {
        background: #c92127 !important;
        border-color: #c92127 !important;
        color: #fff !important;
        box-shadow: 0 2px 8px rgba(201, 33, 39, 0.25);
    }

    #tbNavDrawer .tb-drawer-chip--sell:active {
        background: #a81b20 !important;
    }

    /* --- Purpose-built Used/New mobile navigation --- */
    #tbNavDrawer .tb-drawer-mobile-nav {
        display: block !important;
    }

    #tbNavDrawer .tb-drawer-destinations,
    #tbNavDrawer .tb-drawer-new {
        padding: 18px 16px;
        border-bottom: 1px solid #e5e7eb;
        background: #fff;
    }

    #tbNavDrawer .tb-drawer-section-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 8px;
    }

    #tbNavDrawer .tb-drawer-section-head h2 {
        margin: 0 !important;
        color: #111827 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    #tbNavDrawer .tb-drawer-section-head > a {
        flex-shrink: 0;
        padding: 4px 0 !important;
        color: #c92127 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    #tbNavDrawer .tb-drawer-used-list {
        display: block;
    }

    #tbNavDrawer .tb-drawer-used-list > a {
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) 16px;
        align-items: center;
        gap: 10px;
        min-height: 50px;
        padding: 5px 0 !important;
        border: none !important;
        border-bottom: 1px solid #f0f1f3 !important;
        background: transparent !important;
        color: #1f2937 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    #tbNavDrawer .tb-drawer-used-list > a:last-child {
        border-bottom: none !important;
    }

    #tbNavDrawer .tb-drawer-list-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #fef2f2;
        color: #c92127;
        font-size: 13px;
    }

    /* When FA loads on menu open, force icon webfont (beats parent Roboto !important). */
    html.tb-fa-ready #tbNavDrawer .fa,
    html.tb-fa-ready #tbNavDrawer .tb-drawer-list-icon.fa {
        font-family: FontAwesome !important;
        font-style: normal !important;
        font-weight: normal !important;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    #tbNavDrawer .tb-drawer-used-list > a > i {
        color: #a5acb5 !important;
        font-size: 14px !important;
    }

    #tbNavDrawer .tb-drawer-new {
        padding-bottom: 16px;
    }

    #tbNavDrawer .tb-drawer-new-chips {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 2px 0 3px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    #tbNavDrawer .tb-drawer-new-chips::-webkit-scrollbar {
        display: none;
    }

    #tbNavDrawer .tb-drawer-new-chips > a {
        display: inline-flex !important;
        align-items: center;
        min-height: 38px;
        padding: 7px 14px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        background: #f9fafb !important;
        color: #374151 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap;
    }

    /* The original full navigation remains desktop-only */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-header__menu {
        display: none !important;
    }

    /* One compact More disclosure replaces four nested accordions */
    #tbNavDrawer .tb-drawer-more {
        border-bottom: 1px solid #e5e7eb;
        background: #fff;
    }

    #tbNavDrawer .tb-drawer-more > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 52px;
        padding: 0 16px;
        color: #1f2937;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        list-style: none;
        -webkit-tap-highlight-color: rgba(201, 33, 39, 0.08);
    }

    #tbNavDrawer .tb-drawer-more > summary::-webkit-details-marker {
        display: none;
    }

    #tbNavDrawer .tb-drawer-more > summary i {
        color: #9ca3af !important;
        transition: transform 0.2s ease;
    }

    #tbNavDrawer .tb-drawer-more[open] > summary {
        color: #c92127;
    }

    #tbNavDrawer .tb-drawer-more[open] > summary i {
        transform: rotate(180deg);
        color: #c92127 !important;
    }

    #tbNavDrawer .tb-drawer-more__links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        padding: 0 16px 12px;
    }

    #tbNavDrawer .tb-drawer-more__links > a {
        display: flex !important;
        align-items: center;
        min-height: 42px;
        padding: 7px 10px !important;
        border: none !important;
        color: #4b5563 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        text-transform: none !important;
    }

    #tbNavDrawer .tb-drawer-more__links > a:active {
        color: #c92127 !important;
        background: #fef2f2 !important;
        border-radius: 8px;
    }

    /* --- Footer: pinned, compact text links --- */
    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-panel__actions {
        flex-direction: row !important;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 0;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
        border-bottom: none !important;
        border-top: 1px solid #e5e7eb !important;
        box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.04);
    }

    #tbNavDrawer .tb-nav-drawer-panel__actions .tb-nav-drawer-cta,
    #tbNavDrawer .tb-nav-drawer-panel__actions .tb-nav-drawer-link-secondary {
        flex: 1 1 auto;
        min-width: 0;
        padding: 8px 6px !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #4b5563 !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-align: center;
        line-height: 1.2 !important;
    }

    #tbNavDrawer .tb-nav-drawer-panel__actions a + a {
        border-left: 1px solid #e5e7eb !important;
    }
}

@media (min-width: 992px) {
    .tb-nav-drawer-panel__actions,
    .tb-nav-drawer-panel__head,
    .tb-nav-drawer-backdrop,
    .tb-nav-drawer-toggle,
    .tb-drawer-quick,
    .tb-drawer-mobile-nav {
        display: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel {
        display: block !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        left: auto !important;
        overflow: visible !important;
        box-shadow: none !important;
        pointer-events: auto !important;
        clear: none !important;
        margin: 0 !important;
        background: transparent !important;
        visibility: visible !important;
        transform: none !important;
    }

    #tbNavDrawer.header-nav.tb-nav-drawer-panel .tb-nav-drawer-panel__body {
        overflow: visible;
        padding: 0;
        display: block !important;
    }
}


/* --- tb-location.css --- */
/* Location chip, soft prompt, city picker */

.tb-loc-chip {
    appearance: none;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #24272c;
    border-radius: 999px;
    min-height: 36px;
    height: 36px;
    padding: 0 12px 0 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    width: 148px;
    max-width: 160px;
    flex-shrink: 0;
    box-sizing: border-box;
    overflow: hidden;
    transition: border-color .15s, color .15s, background .15s;
}

.tb-loc-chip:hover,
.tb-loc-chip:focus {
    border-color: #d81416;
    color: #d81416;
    outline: none;
}

.tb-loc-chip__pin {
    width: 14px;
    height: 14px;
    border-radius: 0;
    background: #9ca3af;
    flex-shrink: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.tb-loc-chip.is-set .tb-loc-chip__pin,
.tb-loc-chip:hover .tb-loc-chip__pin,
.tb-loc-chip:focus .tb-loc-chip__pin {
    background: #d81416;
}

.tb-loc-chip__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tb-loc-chip__caret {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    margin-top: -3px;
    opacity: 0.7;
    flex-shrink: 0;
}

.tb-header__loc {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 8px;
}

/* Soft bottom prompt */
.tb-loc-soft {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 1150;
    pointer-events: none;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .22s ease, transform .22s ease;
}

.tb-loc-soft.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.tb-loc-soft__inner {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(18, 24, 38, 0.16);
    padding: 14px 14px 12px;
    max-width: 520px;
    margin: 0 auto;
}

.tb-loc-soft__title {
    margin: 0 0 2px;
    font-size: 15px;
    font-weight: 700;
    color: #12263a;
}

.tb-loc-soft__sub {
    margin: 0 0 12px;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
}

.tb-loc-soft__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tb-loc-btn {
    appearance: none;
    border: 0;
    border-radius: 10px;
    min-height: 40px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}

.tb-loc-btn--primary {
    background: #d81416;
    color: #fff;
}

.tb-loc-btn--secondary {
    background: #fff;
    color: #d81416;
    border: 1.5px solid #d81416;
}

.tb-loc-btn--ghost {
    background: transparent;
    color: #6b7280;
    font-weight: 600;
}

/* Sheet */
.tb-loc-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background: rgba(18, 24, 38, 0.45);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.tb-loc-overlay[hidden] {
    display: none !important;
}

.tb-loc-sheet {
    width: min(480px, 100%);
    max-height: min(88vh, 640px);
    background: #fff;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.14);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.tb-loc-sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f2f5;
}

.tb-loc-sheet__title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #12263a;
}

.tb-loc-sheet__close {
    appearance: none;
    border: 0;
    background: #f3f4f6;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    color: #4b5563;
    cursor: pointer;
}

.tb-loc-sheet__body {
    padding: 14px 16px 20px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.tb-loc-gps-row {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    appearance: none;
    border: 1px solid #e8ecf0;
    background: #fafbfc;
    border-radius: 12px;
    padding: 12px;
    cursor: pointer;
    margin-bottom: 14px;
}

.tb-loc-gps-row strong {
    display: block;
    font-size: 14px;
    color: #12263a;
}

.tb-loc-gps-row small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #6b7280;
}

.tb-loc-gps-row__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff5f5;
    border: 1px solid #f3c6c7;
    position: relative;
    flex-shrink: 0;
}

.tb-loc-gps-row__icon::before {
    content: "";
    position: absolute;
    inset: 11px;
    border-radius: 50%;
    background: #d81416;
}

.tb-loc-sheet__label {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #9ca3af;
}

.tb-loc-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.tb-loc-city {
    appearance: none;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #24272c;
    border-radius: 999px;
    min-height: 36px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.tb-loc-city:hover,
.tb-loc-city:focus {
    border-color: #d81416;
    color: #d81416;
}

.tb-loc-search-label {
    display: block;
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 600;
    color: #6b7280;
}

.tb-loc-search {
    width: 100%;
    min-height: 42px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 14px;
    margin-bottom: 8px;
}

.tb-loc-search:focus {
    outline: none;
    border-color: #d81416;
}

.tb-loc-search-results {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 8px;
}

.tb-loc-search-item {
    appearance: none;
    border: 0;
    background: #f8f9fb;
    text-align: left;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #12263a;
    cursor: pointer;
}

.tb-loc-search-item span {
    font-weight: 400;
    color: #6b7280;
    margin-left: 6px;
    font-size: 12px;
}

.tb-loc-search-empty {
    margin: 0;
    padding: 8px 4px;
    font-size: 13px;
    color: #6b7280;
}

.tb-loc-search-loading {
    margin: 6px 0 0;
    padding: 4px;
    font-size: 12px;
    color: #9ca3af;
}

.tb-loc-status {
    margin: 10px 0 0;
    font-size: 13px;
    color: #059669;
}

.tb-loc-status.is-error {
    color: #d81416;
}

body.tb-loc-open {
    overflow: hidden;
}

/* Detail price city affordance */
.hero-price-meta[data-tb-loc-open],
.tb-loc-price-link {
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (min-width: 768px) {
    .tb-loc-overlay {
        align-items: center;
        padding: 24px;
    }

    .tb-loc-sheet {
        border-radius: 16px;
        max-height: 80vh;
    }

    .tb-loc-soft {
        left: auto;
        right: 24px;
        bottom: 24px;
        width: 380px;
    }
}

@media (max-width: 767px) {
    .tb-header__loc {
        margin-left: 0;
        max-width: 120px;
    }

    .tb-loc-chip {
        max-width: 100%;
        width: auto;
        min-width: 44px;
        min-height: 44px;
        height: 44px;
        padding: 0 10px 0 8px;
        font-size: 12px;
        box-sizing: border-box;
    }

    body.has-detail-sticky-cta .tb-loc-soft {
        bottom: 76px;
    }
}


/* --- tb-auth-modal.css --- */
/* Login / Register auth modal — TrucksBuses */

.tb-auth-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(15, 23, 42, 0.55);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    -webkit-overflow-scrolling: touch;
}

.tb-auth-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.tb-auth-modal {
    position: relative;
    width: 100%;
    max-width: 720px;
    max-height: calc(100vh - 32px);
    overflow: auto;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    background: #f7f8fa;
    border-radius: 18px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.22s ease;
}

.tb-auth-overlay.is-open .tb-auth-modal {
    transform: translateY(0) scale(1);
}

.tb-auth-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #6b7280;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.tb-auth-modal__close:hover {
    color: #c92127;
}

.tb-auth-modal__art {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px 20px;
    background: linear-gradient(160deg, #fff 0%, #f3f4f6 100%);
    border-right: 1px solid #e8ecf0;
    border-radius: 18px 0 0 18px;
}

.tb-auth-modal__art-inner {
    text-align: center;
    max-width: 220px;
}

.tb-auth-modal__art svg {
    width: 160px;
    height: auto;
    display: block;
    margin: 0 auto 12px;
}

.tb-auth-modal__art-caption {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    line-height: 1.4;
}

.tb-auth-modal__form {
    padding: 36px 28px 28px;
    background: #fff;
    border-radius: 0 18px 18px 0;
}

.tb-auth-modal__title {
    margin: 0 0 6px;
    font-size: 1.5rem;
    font-weight: 800;
    color: #1a1d21;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.tb-auth-modal__sub {
    margin: 0 0 22px;
    font-size: 13px;
    line-height: 1.45;
    color: #6b7280;
}

.tb-auth-field {
    position: relative;
    margin-bottom: 14px;
}

.tb-auth-field label {
    position: absolute;
    top: -7px;
    left: 12px;
    padding: 0 4px;
    background: #fff;
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    z-index: 1;
}

.tb-auth-field__row {
    display: flex;
    align-items: center;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    min-height: 52px;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.tb-auth-field__row:focus-within {
    border-color: #c92127;
    box-shadow: 0 0 0 3px rgba(201, 33, 39, 0.12);
}

.tb-auth-field__prefix {
    flex-shrink: 0;
    padding: 0 4px 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: #24272c;
}

.tb-auth-field input {
    flex: 1;
    min-width: 0;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 16px;
    font-weight: 600;
    color: #1a1d21;
    padding: 14px 14px 14px 6px;
    min-height: 50px;
    letter-spacing: 0.02em;
}

.tb-auth-field--otp input {
    letter-spacing: 0.35em;
    text-align: center;
    padding-left: 14px;
}

.tb-auth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin-top: 4px;
    border: 0;
    border-radius: 10px;
    background: #c92127;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}

.tb-auth-btn:hover:not(:disabled) {
    background: #a81b20;
}

.tb-auth-btn:disabled {
    background: #c5cad3;
    cursor: not-allowed;
    opacity: 1;
}

.tb-auth-btn.is-loading {
    opacity: 0.75;
    pointer-events: none;
}

.tb-auth-msg {
    min-height: 18px;
    margin: 10px 0 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.tb-auth-msg.is-error { color: #c92127; }
.tb-auth-msg.is-ok { color: #15803d; }

.tb-auth-legal {
    margin: 14px 0 0;
    font-size: 11px;
    line-height: 1.45;
    color: #9ca3af;
}

.tb-auth-legal a {
    color: #6b7280;
    text-decoration: underline;
}

.tb-auth-back {
    display: inline-block;
    margin-top: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #c92127;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 0;
}

.tb-auth-resend {
    margin-top: 10px;
    font-size: 13px;
    color: #6b7280;
}

.tb-auth-resend button {
    background: none;
    border: 0;
    color: #c92127;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
    font-size: 13px;
}

.tb-auth-resend button:disabled {
    color: #9ca3af;
    cursor: default;
}

body.tb-auth-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .tb-auth-overlay {
        padding: 0;
        align-items: flex-end;
    }

    .tb-auth-modal {
        grid-template-columns: 1fr;
        max-width: none;
        width: 100%;
        max-height: 92vh;
        border-radius: 18px 18px 0 0;
        transform: translateY(24px);
    }

    .tb-auth-overlay.is-open .tb-auth-modal {
        transform: translateY(0);
    }

    .tb-auth-modal__art {
        display: none;
    }

    .tb-auth-modal__form {
        border-radius: 18px 18px 0 0;
        padding: 28px 20px calc(20px + env(safe-area-inset-bottom, 0px));
    }

    .tb-auth-modal__title {
        font-size: 1.35rem;
    }
}


/* --- tb-save.css --- */
/* Recently Viewed + Wishlist UI */
.tb-wish-btn {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 5;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: #6b7280;
    box-shadow: 0 2px 8px rgba(17, 24, 39, 0.16);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
}

.tb-wish-btn:hover,
.tb-wish-btn:focus {
    color: #d81416;
    outline: none;
}

.tb-wish-btn.is-active {
    color: #d81416;
}

.tb-wish-btn .fa {
    font-size: 16px;
}

.listing-card-media,
.tb-home-product-card,
.tb-detail-wish-wrap {
    position: relative;
}

.tb-home-product-wish {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
}

.tb-home-product-card {
    position: relative;
}

.tb-detail-wish-wrap {
    display: inline-flex;
    margin-left: 8px;
    vertical-align: middle;
}

.tb-detail-wish-wrap .tb-wish-btn {
    position: static;
    width: 40px;
    height: 40px;
}

.tb-save-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
    width: 100%;
    margin: 0 0 8px;
}

.tb-save-list > .listing-card,
.tb-save-list > .tb-save-card {
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.tb-save-list .listing-card-inner {
    height: 100%;
}

.tb-save-list > .tb-save-empty {
    grid-column: 1 / -1;
}

.listing-page .home-section-footer {
    margin-top: 16px;
}

.listing-page .home-section-view-all {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 600;
    color: #d81517;
    text-decoration: none;
}

.listing-page .home-section-view-all:hover,
.listing-page .home-section-view-all:focus {
    color: #b81214;
    text-decoration: underline;
}

.tb-save-empty {
    padding: 40px 20px;
    text-align: center;
    color: #4b5563;
    font-size: 14px;
    background: #fff;
    border: 1px dashed #d1d5db;
    border-radius: 12px;
}

.tb-save-page-header {
    margin: 12px 0 18px;
}

.tb-save-page-header h1 {
    margin: 0 0 6px;
    font-size: 24px;
    font-weight: 700;
    color: #111827;
}

.tb-save-page-header p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

#tbContinueBrowsing .tb-home-product-track,
#tbYourWishlist .tb-home-product-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
}

#tbContinueBrowsing .tb-home-product-card,
#tbYourWishlist .tb-home-product-card {
    flex: 0 0 220px;
    scroll-snap-align: start;
}

.tb-save-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.tb-save-page-header__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.tb-recent-remove {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 4;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: rgba(17, 24, 39, 0.72);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
}

.tb-recent-remove:hover,
.tb-recent-remove:focus {
    background: #111827;
    outline: none;
}

.tb-recent-remove .fa {
    font-size: 12px;
}

.tb-recent-clear {
    flex-shrink: 0;
    margin-top: 4px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    padding: 8px 12px;
    border-radius: 8px;
    cursor: pointer;
}

.tb-recent-clear:hover,
.tb-recent-clear:focus {
    color: #d81416;
    border-color: #d81416;
    outline: none;
}

@media (max-width: 575px) {
    .tb-save-section-header,
    .tb-save-page-header__row {
        flex-direction: column;
        align-items: stretch;
    }

    .tb-recent-clear {
        align-self: flex-start;
    }
}


/* --- read-more-footer.css --- */
/* Read-more content blocks — shared by ReadMore*.ascx controls */

.rm-footer-wrap {
    margin-bottom: 20px;
}

.rm-footer {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(36, 39, 44, 0.06);
    overflow: hidden;
}

.rm-footer--hero {
    margin-bottom: 12px;
}

.rm-footer--plain {
    border: none;
    box-shadow: none;
    background: transparent;
}

.rm-footer__inner {
    padding: 20px 22px;
}

.rm-footer--plain .rm-footer__inner {
    padding: 16px 0;
}

.rm-footer__heading {
    margin: 0 0 14px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #24272c;
    line-height: 1.35;
    letter-spacing: -0.01em;
}

.rm-footer__heading--page {
    font-size: 1.375rem;
}

.rm-footer__subheading {
    margin: 20px 0 12px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #24272c;
    line-height: 1.35;
}

.rm-footer__meta {
    margin: 0 0 10px;
    font-size: 12px;
    color: #888;
    line-height: 1.4;
}

.rm-footer__preview,
.rm-footer__full,
.rm-footer__content {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.7;
}

.rm-footer__preview p,
.rm-footer__full p,
.rm-footer__content p {
    margin: 0 0 12px;
    text-align: left !important;
}

.rm-footer__preview p:last-child,
.rm-footer__full p:last-child,
.rm-footer__content p:last-child {
    margin-bottom: 0;
}

.rm-footer__preview a,
.rm-footer__full a,
.rm-footer__content a,
.rm-footer__preview a span,
.rm-footer__full a span,
.rm-footer__content a span,
.rm-footer__preview a strong,
.rm-footer__full a strong,
.rm-footer__content a strong {
    color: #c92127 !important;
    text-decoration: none;
    font-weight: 600;
}

.rm-footer__preview a:hover,
.rm-footer__full a:hover,
.rm-footer__content a:hover {
    text-decoration: underline;
}

.rm-footer__cms-title,
.rm-footer__preview h2,
.rm-footer__full h2,
.rm-footer__content h2,
.rm-footer__preview h3,
.rm-footer__full h3,
.rm-footer__content h3 {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #12263a !important;
    margin: 18px 0 8px !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em;
}

.rm-footer__cms-title:first-child,
.rm-footer__full > h2:first-child,
.rm-footer__full > .rm-footer__cms-title:first-child {
    margin-top: 0 !important;
}

.rm-footer__preview ul,
.rm-footer__full ul,
.rm-footer__content ul,
.rm-footer__preview ol,
.rm-footer__full ol,
.rm-footer__content ol {
    margin: 0 0 12px;
    padding-left: 20px;
}

.rm-footer__preview li,
.rm-footer__full li,
.rm-footer__content li {
    margin-bottom: 6px;
}

.rm-footer__preview div,
.rm-footer__full div,
.rm-footer__content div {
    text-align: left !important;
}

.rm-footer__preview table,
.rm-footer__full table,
.rm-footer__content table,
.rm-footer__table-wrap table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
    font-size: 13px;
}

.rm-footer__preview table th,
.rm-footer__full table th,
.rm-footer__content table th,
.rm-footer__table-wrap table th {
    background: #f8f9fb;
    font-weight: 600;
    color: #24272c;
    text-align: left;
    padding: 10px 12px;
    border: 1px solid #e8ecf0;
}

.rm-footer__preview table td,
.rm-footer__full table td,
.rm-footer__content table td,
.rm-footer__table-wrap table td {
    padding: 10px 12px;
    border: 1px solid #e8ecf0;
    vertical-align: top;
}

.rm-footer__preview--full {
    display: block;
}

.rm-footer__full {
    display: none;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #f0f2f5;
}

.rm-footer.is-expanded .rm-footer__full {
    display: block;
}

.rm-footer__actions {
    margin-top: 12px;
    padding-top: 4px;
}

.rm-footer__toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 2px;
    border: none;
    background: none;
    color: #c92127;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    line-height: 1.4;
    transition: color 0.15s;
}

.rm-footer__toggle:hover,
.rm-footer__toggle:focus {
    color: #a81b20;
    text-decoration: underline;
    outline: none;
}

.rm-footer__toggle::after {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin-top: -3px;
    transition: transform 0.2s ease;
}

.rm-footer.is-expanded .rm-footer__toggle::after {
    transform: rotate(-135deg);
    margin-top: 3px;
}

.rm-footer__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 8px;
}

/* Price list accordion (ReadMoreCategories) */
.rm-footer__price-section {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f0f2f5;
}

.rm-footer__price-accordion .panel {
    border: 1px solid #f0f2f5;
    border-radius: 10px;
    overflow: hidden;
    margin: 0;
}

.rm-footer__price-accordion .acod-head {
    margin: 0;
    padding: 0;
}

.rm-footer__price-accordion .acod-title {
    margin: 0;
}

.rm-footer-section .rm-footer__price-accordion .acod-head a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #24272c !important;
    text-decoration: none !important;
    background: #fafbfc;
}

.rm-footer-section .rm-footer__price-accordion .acod-head a:hover,
.rm-footer-section .rm-footer__price-accordion .acod-head a:focus {
    color: #c92127 !important;
    background: #f3f4f6;
}

.rm-footer-section .rm-footer__price-accordion .acod-head a::after {
    font-family: inherit !important;
    content: "" !important;
    position: static !important;
    float: none !important;
    width: 8px;
    height: 8px;
    margin: 0;
    border-right: 2px solid #6b7280;
    border-bottom: 2px solid #6b7280;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.rm-footer-section .rm-footer__price-accordion .acod-head a:not(.collapsed)::after {
    transform: rotate(-135deg);
}

.rm-footer__price-accordion .acod-body {
    border-top: 1px solid #f0f2f5;
    border-left: 0;
    border-right: 0;
    margin-top: 0;
}

.rm-footer__price-accordion .acod-body.collapse:not(.in):not(.show),
.rm-footer__price-accordion .acod-body[hidden] {
    display: none !important;
}

.rm-footer__price-accordion .acod-body.collapse.in,
.rm-footer__price-accordion .acod-body.collapse.show {
    display: block !important;
}

.rm-footer__price-accordion .acod-content {
    padding: 0 !important;
}

@media (max-width: 767px) {
    .rm-footer__inner {
        padding: 16px;
    }

    .rm-footer__heading {
        font-size: 1.125rem;
    }

    .rm-footer__heading--page {
        font-size: 1.25rem;
    }

    .rm-footer:not(.is-expanded) .rm-footer__preview:not(.rm-footer__preview--full) {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Dealer/page hero intros must always show full text */
    .dl-hero .rm-footer__preview,
    .dl-hero .rm-footer__preview--full,
    .rm-footer__preview--full {
        display: block !important;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        -webkit-box-orient: initial !important;
        overflow: visible !important;
        max-height: none !important;
        height: auto !important;
    }
}

@media (min-width: 768px) {
    .rm-footer__preview table,
    .rm-footer__full table,
    .rm-footer__content table,
    .rm-footer__table-wrap table {
        display: table;
    }
}


/* --- tb-msearch-ui17.css --- */
/* ── Mobile full-screen search (app-like) — desktop unchanged ── */
.tb-msearch { display: none; }

@media (max-width: 767px) {
    body.tb-msearch-open {
        overflow: hidden !important;
        overscroll-behavior: none;
        /* Do NOT set touch-action:none — it breaks result scrolling */
    }

    .tb-msearch {
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        z-index: 100120;
        flex-direction: column;
        background: #eef1f4;
        transform: translate3d(0, 100%, 0);
        transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
        padding-bottom: env(safe-area-inset-bottom, 0);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        /* Isolate scrolling to results pane */
        touch-action: manipulation;
    }

    .tb-msearch.is-open {
        display: flex;
        transform: translate3d(0, 0, 0);
    }

    .tb-msearch__chrome {
        flex-shrink: 0;
        background: #fff;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
        z-index: 3;
    }

    .tb-msearch__bar {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
        padding: 10px 12px 6px;
        padding-top: max(10px, env(safe-area-inset-top, 0px));
        background: #fff;
    }

    .tb-msearch__back {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border: none;
        border-radius: 12px;
        background: #f3f4f6;
        color: #111827;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .tb-msearch__back:active { transform: scale(0.96); }

    .tb-msearch__back svg {
        width: 20px;
        height: 20px;
        display: block;
        pointer-events: none;
    }

    .tb-msearch__field {
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 2px;
        height: 44px;
        padding: 0 4px 0 12px;
        border: 1.5px solid #e5e7eb;
        border-radius: 12px;
        background: #f8fafc;
        box-shadow: none;
    }

    .tb-msearch__field:focus-within {
        border-color: #c92127;
        background: #fff;
        box-shadow: 0 0 0 3px rgba(201, 33, 39, 0.12);
    }

    .tb-msearch__field.is-listening {
        border-color: #c92127;
        background: #fff8f8;
    }

    .tb-msearch__field.is-requesting {
        border-color: #f59e0b;
        background: #fffbeb;
    }

    .tb-msearch__field.is-voice-error {
        border-color: #ef4444;
    }

    .tb-msearch__input {
        flex: 1;
        min-width: 0;
        height: 42px;
        border: none !important;
        outline: none !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 16px !important;
        font-weight: 500;
        color: #111827;
        -webkit-appearance: none;
        appearance: none;
    }

    .tb-msearch__input::-webkit-search-decoration,
    .tb-msearch__input::-webkit-search-cancel-button,
    .tb-msearch__input::-webkit-search-results-button,
    .tb-msearch__input::-webkit-search-results-decoration {
        -webkit-appearance: none !important;
        appearance: none !important;
        display: none !important;
    }

    .tb-msearch__mic,
    .tb-msearch__clear,
    .tb-msearch__lang {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border: none;
        border-radius: 10px;
        background: transparent;
        color: #6b7280;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.04em;
    }

    .tb-msearch__mic svg,
    .tb-msearch__clear svg {
        width: 20px;
        height: 20px;
        display: block;
        pointer-events: none;
    }

    .tb-msearch__mic.is-listening {
        color: #fff;
        background: #c92127;
        animation: tb-msearch-pulse 1.1s ease-in-out infinite;
    }

    .tb-msearch__mic.is-requesting {
        color: #b45309;
        background: #fef3c7;
    }

    .tb-msearch__mic[hidden],
    .tb-msearch__clear[hidden] {
        display: none !important;
    }

    @keyframes tb-msearch-pulse {
        0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(201, 33, 39, 0.35); }
        50% { transform: scale(1.05); box-shadow: 0 0 0 8px rgba(201, 33, 39, 0); }
    }

    .tb-msearch__tools {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
        padding: 4px 12px 8px;
        background: #fff;
    }

    .tb-msearch__brands {
        flex-shrink: 0;
        padding: 0 0 10px;
        background: #fff;
        max-height: 56px;
        opacity: 1;
        overflow: hidden;
        transition: max-height 0.18s ease, opacity 0.15s ease, padding 0.15s ease;
    }

    /* Typing / keyboard: free vertical space for results */
    .tb-msearch.is-typing .tb-msearch__brands,
    .tb-msearch.is-keyboard .tb-msearch__brands {
        max-height: 0;
        opacity: 0;
        padding-top: 0;
        padding-bottom: 0;
        pointer-events: none;
    }

    .tb-msearch.is-keyboard .tb-msearch__tools {
        padding-bottom: 6px;
    }

    .tb-msearch__brands-inner {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 0 12px;
        min-width: 0;
    }

    .tb-msearch__brands-label {
        flex: 0 0 auto;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #9ca3af;
    }

    .tb-msearch__brands .tb-msearch__chips {
        flex: 1;
        min-width: 0;
        padding-bottom: 0;
    }

    .tb-msearch__brands .tb-msearch__chips a {
        min-height: 32px;
        padding: 6px 11px;
        font-size: 12px;
        box-shadow: none;
        border: 1px solid #e5e7eb;
        background: #fff;
    }

    .tb-msearch__brands .tb-msearch__chips a:active {
        background: #111827;
        border-color: #111827;
        color: #fff !important;
    }

    .tb-msearch__filters {
        display: flex;
        gap: 6px;
        flex: 1;
        min-width: 0;
    }

    .tb-msearch__filters button {
        flex: 1;
        min-height: 34px;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px;
        background: #fff !important;
        color: #4b5563 !important;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .tb-msearch__filters button.is-active {
        background: #c92127 !important;
        border-color: #c92127 !important;
        color: #fff !important;
    }

    .tb-msearch__filters button:active { transform: scale(0.97); }

    .tb-msearch__listen {
        /* Screen-reader / fallback; visual UI is .tb-msearch__voice */
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        border: 0 !important;
    }

    /* ── Voice listening overlay (CarDekho-style curved sheet + richer viz) ── */
    .tb-msearch__voice {
        display: none;
        position: absolute;
        inset: 0;
        z-index: 30;
        pointer-events: none;
    }

    .tb-msearch.is-voice-on .tb-msearch__voice {
        display: block;
        pointer-events: auto;
    }

    .tb-msearch__voice-backdrop {
        position: absolute;
        inset: 0;
        border: none;
        padding: 0;
        margin: 0;
        background: rgba(55, 65, 81, 0.28);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        animation: tb-voice-fade-in 0.22s ease-out;
    }

    .tb-msearch__voice-sheet {
        position: relative;
        z-index: 1;
        background: #fff;
        text-align: center;
        padding: calc(18px + env(safe-area-inset-top, 0px)) 24px 56px;
        min-height: 38vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        border-radius: 0 0 50% 50% / 0 0 72px 72px;
        box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
        animation: tb-voice-sheet-in 0.32s cubic-bezier(0.32, 0.72, 0, 1);
    }

    .tb-msearch__voice-close {
        position: absolute;
        top: calc(10px + env(safe-area-inset-top, 0px));
        right: 12px;
        width: 40px;
        height: 40px;
        border: none;
        border-radius: 50%;
        background: transparent;
        color: #111827;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .tb-msearch__voice-close svg {
        width: 22px;
        height: 22px;
        display: block;
        pointer-events: none;
    }

    .tb-msearch__voice-close:active {
        background: rgba(0, 0, 0, 0.06);
    }

    .tb-msearch__voice-status {
        margin: 8px 0 0;
        font-size: 18px;
        font-weight: 500;
        letter-spacing: 0.01em;
        color: #9ca3af;
    }

    .tb-msearch__voice-viz {
        position: relative;
        width: 120px;
        height: 120px;
        margin: 28px auto 8px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tb-msearch__voice-ring {
        position: absolute;
        inset: 18px;
        border-radius: 50%;
        border: 2px solid rgba(201, 33, 39, 0.28);
        animation: tb-voice-ring 1.8s ease-out infinite;
    }

    .tb-msearch__voice-ring--late {
        animation-delay: 0.9s;
    }

    .tb-msearch__voice-dots {
        position: relative;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
    }

    .tb-msearch__voice-dots i {
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #c92127;
        display: block;
        animation: tb-voice-dot 0.9s ease-in-out infinite;
        box-shadow: 0 4px 14px rgba(201, 33, 39, 0.35);
    }

    .tb-msearch__voice-dots i:last-child {
        animation-delay: 0.2s;
    }

    .tb-msearch__voice-bars {
        position: absolute;
        left: 50%;
        bottom: 6px;
        transform: translateX(-50%);
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: 4px;
        height: 22px;
        opacity: 0.9;
    }

    .tb-msearch__voice-bars i {
        width: 3px;
        height: 8px;
        border-radius: 2px;
        background: #c92127;
        display: block;
        animation: tb-voice-bar 0.85s ease-in-out infinite;
    }

    .tb-msearch__voice-bars i:nth-child(1) { animation-delay: 0s; height: 6px; }
    .tb-msearch__voice-bars i:nth-child(2) { animation-delay: 0.12s; height: 12px; }
    .tb-msearch__voice-bars i:nth-child(3) { animation-delay: 0.24s; height: 18px; }
    .tb-msearch__voice-bars i:nth-child(4) { animation-delay: 0.12s; height: 12px; }
    .tb-msearch__voice-bars i:nth-child(5) { animation-delay: 0s; height: 6px; }

    .tb-msearch__voice-hint {
        margin: 4px 0 0;
        max-width: 280px;
        min-height: 1.3em;
        font-size: 14px;
        font-weight: 500;
        color: #6b7280;
        line-height: 1.35;
        padding: 0 8px;
    }

    .tb-msearch.is-voice-error .tb-msearch__voice-status { color: #ef4444; }
    .tb-msearch.is-voice-error .tb-msearch__voice-dots i,
    .tb-msearch.is-voice-error .tb-msearch__voice-bars i { background: #ef4444; animation: none; }
    .tb-msearch.is-voice-error .tb-msearch__voice-ring { border-color: rgba(239, 68, 68, 0.3); animation: none; }

    .tb-msearch.is-voice-requesting .tb-msearch__voice-status { color: #d97706; }
    .tb-msearch.is-voice-requesting .tb-msearch__voice-dots i { background: #f59e0b; }
    .tb-msearch.is-voice-requesting .tb-msearch__voice-bars { display: none; }

    @keyframes tb-voice-fade-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    @keyframes tb-voice-sheet-in {
        from { transform: translate3d(0, -18%, 0); opacity: 0.85; }
        to { transform: translate3d(0, 0, 0); opacity: 1; }
    }

    @keyframes tb-voice-dot {
        0%, 100% { transform: scale(0.72); opacity: 0.55; }
        50% { transform: scale(1.18); opacity: 1; }
    }

    @keyframes tb-voice-ring {
        0% { transform: scale(0.72); opacity: 0.55; }
        100% { transform: scale(1.45); opacity: 0; }
    }

    @keyframes tb-voice-bar {
        0%, 100% { transform: scaleY(0.45); opacity: 0.55; }
        50% { transform: scaleY(1.35); opacity: 1; }
    }

    .tb-msearch__live {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .tb-msearch__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding: 10px 12px calc(24px + env(safe-area-inset-bottom, 0px));
        scroll-padding-top: 8px;
    }

    .tb-msearch__offline {
        margin: 0 0 12px;
        padding: 10px 12px;
        border-radius: 12px;
        background: #fff7ed;
        border: 1px solid #fed7aa;
        color: #9a3412;
        font-size: 13px;
        font-weight: 600;
    }

    .tb-msearch__group + .tb-msearch__group { margin-top: 18px; }

    .tb-msearch__label-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 10px;
    }

    .tb-msearch__label-row .tb-msearch__label { margin-bottom: 0; }

    .tb-msearch__clear-recent {
        border: none;
        background: transparent;
        color: #c92127;
        font-size: 12px;
        font-weight: 700;
        padding: 6px 8px;
        min-height: 36px;
        cursor: pointer;
        touch-action: manipulation;
    }

    .tb-msearch__label {
        margin: 0 4px 10px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #9ca3af;
    }

    .tb-msearch__label--sticky {
        position: sticky;
        top: 0;
        z-index: 2;
        background: linear-gradient(#eef1f4 72%, rgba(238, 241, 244, 0));
        padding: 4px 4px 8px;
        margin-left: 0;
        margin-right: 0;
    }

    .tb-msearch__chips {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
        scrollbar-width: none;
    }

    .tb-msearch__chips::-webkit-scrollbar { display: none; }

    .tb-msearch__chips a {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        padding: 10px 14px;
        min-height: 40px;
        border-radius: 999px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1f2937 !important;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none !important;
        line-height: 1.2;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
        touch-action: manipulation;
        cursor: pointer;
    }

    .tb-msearch__chips a:active { transform: scale(0.97); }

    .tb-msearch__chips--cats a {
        background: #1a1f2c;
        border-color: #1a1f2c;
        color: #fff !important;
    }

    .tb-msearch__chips--brands a {
        background: #fff;
        border-color: transparent;
        color: #111827 !important;
        font-weight: 700;
        box-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
    }

    .tb-msearch__list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .tb-msearch__card {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 12px !important;
        border-radius: 18px !important;
        background: #fff !important;
        border: 1px solid rgba(16, 24, 40, 0.05) !important;
        box-shadow:
            0 1px 2px rgba(16, 24, 40, 0.04),
            0 8px 20px rgba(16, 24, 40, 0.04) !important;
        color: #111827 !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        cursor: pointer;
        transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
        position: relative;
        overflow: hidden;
        flex-direction: row !important;
    }

    .tb-msearch__card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(201, 33, 39, 0.035), transparent 42%);
        pointer-events: none;
    }

    .tb-msearch__card:active {
        transform: scale(0.985);
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
    }

    .tb-msearch__card.is-active {
        border-color: rgba(201, 33, 39, 0.45);
        box-shadow: 0 0 0 3px rgba(201, 33, 39, 0.14), 0 8px 20px rgba(16, 24, 40, 0.06);
    }

    .tb-msearch__media {
        position: relative;
        flex: 0 0 88px;
        width: 88px;
        height: 68px;
        border-radius: 14px;
        background:
            radial-gradient(circle at 30% 20%, #ffffff 0%, transparent 55%),
            linear-gradient(160deg, #f4f6f8 0%, #e8ecf1 100%);
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }

    .tb-msearch__media.is-empty::after {
        content: "";
        width: 36px;
        height: 22px;
        border-radius: 6px;
        background: linear-gradient(135deg, #d1d5db, #e5e7eb);
        opacity: 0.7;
    }

    .tb-msearch__media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        padding: 4px;
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.08));
    }

    .tb-msearch__meta {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 3px;
        z-index: 1;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        font-size: inherit !important;
        font-weight: inherit !important;
    }

    .tb-msearch__media,
    .tb-msearch__brand,
    .tb-msearch__title,
    .tb-msearch__facts,
    .tb-msearch__price,
    .tb-msearch__pills,
    .tb-msearch__pill,
    .tb-msearch__go {
        text-transform: none;
        letter-spacing: normal;
    }

    .tb-msearch__brand {
        margin: 0 !important;
        color: #9aa3af !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }

    .tb-msearch__title {
        margin: 0 !important;
        color: #111827 !important;
        text-transform: none !important;
        letter-spacing: -0.01em !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.28;
    }

    .tb-msearch__list a.tb-msearch__card span {
        display: initial;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__media,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__meta,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__go,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__brand,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__title,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__facts,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__pills {
        display: flex;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__brand,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__title,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__price,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__pill {
        display: inline-flex;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__brand,
    .tb-msearch__list a.tb-msearch__card .tb-msearch__title {
        display: block !important;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__title {
        display: -webkit-box !important;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__media {
        display: flex !important;
        margin: 0 !important;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__go {
        display: inline-flex !important;
        margin: 0 !important;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__facts {
        display: flex !important;
        margin: 4px 0 0 !important;
        color: inherit !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        font-size: inherit !important;
        font-weight: inherit !important;
    }

    .tb-msearch__list a.tb-msearch__card .tb-msearch__badge {
        display: inline-flex !important;
        position: absolute !important;
        top: 6px !important;
        left: 6px !important;
        margin: 0 !important;
        color: #fff !important;
        text-transform: uppercase !important;
    }

    .tb-msearch__title mark {
        background: linear-gradient(180deg, transparent 55%, #fde68a 55%);
        color: inherit;
        padding: 0;
        border-radius: 0;
    }

    .tb-msearch__facts {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        margin-top: 4px;
    }

    .tb-msearch__price {
        font-size: 13px;
        font-weight: 800;
        color: #c92127;
        letter-spacing: -0.01em;
    }

    .tb-msearch__pills {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    .tb-msearch__pill {
        display: inline-flex;
        align-items: center;
        padding: 2px 8px;
        border-radius: 999px;
        background: #f3f4f6;
        color: #4b5563;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.4;
    }

    .tb-msearch__badge {
        position: absolute;
        top: 6px;
        left: 6px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 18px;
        padding: 0 7px;
        border-radius: 999px;
        background: rgba(6, 95, 70, 0.92);
        color: #fff;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        line-height: 1;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    }

    .tb-msearch__badge--used {
        background: rgba(30, 64, 175, 0.92);
        color: #fff;
    }

    .tb-msearch__go {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        border-radius: 999px;
        background: #f3f4f6;
        color: #6b7280;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
    }

    .tb-msearch__card:active .tb-msearch__go,
    .tb-msearch__card.is-active .tb-msearch__go {
        background: #c92127;
        color: #fff;
    }

    .tb-msearch__go svg {
        display: block;
    }

    /* legacy aliases kept for any residual markup */
    .tb-msearch__list a:not(.tb-msearch__card) {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        border-radius: 14px;
        background: #fff;
        color: #111827 !important;
        text-decoration: none !important;
    }

    .tb-msearch__thumb { display: none; }
    .tb-msearch__sub { display: none; }
    .tb-msearch__chev { display: none; }
    .tb-msearch__badge-ico { display: none; }

    .tb-msearch__empty {
        padding: 32px 18px;
        text-align: center;
        color: #6b7280;
        font-size: 14px;
        background: #fff;
        border-radius: 18px;
        border: 1px solid rgba(16, 24, 40, 0.05);
        box-shadow: 0 8px 20px rgba(16, 24, 40, 0.04);
    }

    .tb-msearch__dym {
        margin-top: 12px;
        text-align: center;
        font-size: 14px;
        color: #374151;
        font-weight: 600;
    }

    .tb-msearch__dym-btn {
        border: none;
        background: transparent;
        color: #c92127;
        font: inherit;
        font-weight: 800;
        text-decoration: underline;
        cursor: pointer;
        padding: 4px;
        min-height: 36px;
    }

    .tb-msearch__seeall {
        margin-top: 16px;
    }

    .tb-msearch__seeall a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
        padding: 12px 14px;
        border-radius: 16px;
        background: linear-gradient(180deg, #fff, #f8fafc);
        border: 1px solid rgba(16, 24, 40, 0.08);
        color: #111827 !important;
        font-size: 14px;
        font-weight: 750;
        text-decoration: none !important;
        text-align: center;
        touch-action: manipulation;
        box-shadow: 0 4px 12px rgba(16, 24, 40, 0.04);
    }

    .tb-msearch__seeall a:active { transform: scale(0.985); }

    .tb-msearch__skel {
        height: 92px;
        border-radius: 18px;
        background: linear-gradient(90deg, #e5e9ef 25%, #f7f9fb 37%, #e5e9ef 63%);
        background-size: 400% 100%;
        animation: tb-msearch-skel 1.2s ease infinite;
        margin-bottom: 10px;
        box-shadow: inset 0 0 0 1px rgba(16, 24, 40, 0.03);
    }

    @keyframes tb-msearch-skel {
        0% { background-position: 100% 0; }
        100% { background-position: 0 0; }
    }
}


/* icon fallbacks — keep in sync with header-modern-v4 (unicode, no webfont) */
.fa{display:inline-block;font-style:normal;font-weight:400;line-height:1;width:1em;text-align:center}
.fa-chevron-up::before,.scroltop::before{content:"\25B2";font-size:14px}
.fa-heart-o::before{content:"\2661"}
.fa-heart::before{content:"\2665"}
.fa-angle-right::before{content:"\203A";font-weight:700}
.fa-bars::before{content:"\2630"}
.fa-times::before{content:"\00D7";font-size:1.2em}
.fa-search::before{content:"\2315"}
.fa-user::before{content:"\263A"}
.fa-phone::before{content:"\260E"}
.fa-envelope-o::before,.fa-envelope::before{content:"\2709"}
.fa-map-marker::before{content:"\25CF"}
.fa-twitter::before{content:"\1D54F";font-weight:700}
.fa-facebook::before{content:"f";font-family:Arial,Helvetica,sans-serif;font-weight:700}
.fa-youtube-play::before,.fa-youtube::before{content:"\25B6"}
.fa-instagram::before{content:"\25A1";font-weight:700}
.fa-linkedin::before{content:"in";font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:.75em}
/* bootstrap modal minimal (enquiry) */
.modal{display:none;position:fixed;left:0;top:0;right:0;bottom:0;z-index:1050;outline:0}
.modal.in,.modal.show{display:block}
.modal-dialog{position:relative;width:auto;margin:30px auto;max-width:350px}
.modal-backdrop{position:fixed;inset:0;background:#000;opacity:.5;z-index:1040}
.fade{opacity:0;transition:opacity .15s}
.fade.in,.fade.show{opacity:1}
