/* Mobile usability layer for the website. The map keeps its own layout. */
.mobile-site-menu-toggle,
.mobile-site-drawer { display: none; }

.search-discovery {
    padding: 26px;
    border: 1px solid #e1e7ec;
    border-radius: 24px;
    background: #fff;
}
.search-discovery h2 { color: #172d38; font-size: 22px; font-weight: 850; }
.search-discovery p { margin-top: 6px; color: #60707e; font-size: 15px; line-height: 1.5; }
.search-discovery__suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.search-discovery__suggestions a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid #efd1c1;
    border-radius: 999px;
    color: #9e481e;
    background: #fff8f3;
    font-size: 13px;
    font-weight: 700;
}
.search-discovery__destinations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.search-discovery__destinations a {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    border-radius: 14px;
    color: #20343f;
    background: #f4f7f8;
    font-weight: 750;
}
html[data-theme="dark"] .search-discovery { border-color: #30404b; background: #13232b; }
html[data-theme="dark"] .search-discovery h2,
html[data-theme="dark"] .search-discovery__destinations a { color: #edf3f7; }
html[data-theme="dark"] .search-discovery p { color: #bac8d1; }
html[data-theme="dark"] .search-discovery__destinations a { background: #1d303a; }
html[data-theme="dark"] .search-discovery__suggestions a { border-color: #6b483b; color: #ffbd99; background: #332820; }

@media (max-width: 767px) {
    html:has(body.page-site-redesign:not(.page-map):not(.page-messages)) {
        scroll-padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    body.page-site-redesign:not(.page-map):not(.page-messages) {
        padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.page-site-redesign:not(.page-map):has(.mobile-create-menu-wrap):not(.page-route-detail):not(.page-post-detail) {
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.mobile-site-drawer-open { overflow: hidden !important; }

    .mobile-site-menu-toggle {
        position: fixed;
        z-index: 390;
        top: calc(16px + env(safe-area-inset-top, 0px));
        left: calc(14px + env(safe-area-inset-left, 0px));
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        border: 1px solid rgba(213, 221, 227, .85);
        border-radius: 15px;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 6px 20px rgba(15, 23, 42, .13);
        color: #1b2833;
        backdrop-filter: blur(14px);
    }
    .mobile-site-menu-toggle svg { width: 22px; height: 22px; }
    .mobile-site-menu-toggle:focus-visible,
    .mobile-site-drawer :focus-visible { outline: 3px solid #ff8b5a; outline-offset: 2px; }

    .mobile-site-drawer {
        position: fixed;
        z-index: 800;
        inset: 0;
        display: block;
        visibility: hidden;
        pointer-events: none;
        transition: visibility .25s ease;
    }
    .mobile-site-drawer.is-open { visibility: visible; pointer-events: auto; }
    .mobile-site-drawer__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(9, 17, 26, .58);
        opacity: 0;
        transition: opacity .25s ease;
    }
    .mobile-site-drawer.is-open .mobile-site-drawer__backdrop { opacity: 1; }
    .mobile-site-drawer__panel {
        position: absolute;
        inset: 8px auto 8px 10px;
        display: flex;
        width: min(280px, 72vw);
        max-height: calc(100dvh - 16px);
        flex-direction: column;
        border-radius: 12px;
        background: #fff;
        box-shadow: 18px 0 48px rgba(10, 23, 34, .2);
        transform: translateX(-105%);
        transition: transform .28s cubic-bezier(.22, .75, .25, 1);
    }
    .mobile-site-drawer.is-open .mobile-site-drawer__panel { transform: translateX(0); }
    .mobile-site-drawer__header {
        display: flex;
        min-height: calc(62px + env(safe-area-inset-top, 0px));
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: calc(12px + env(safe-area-inset-top, 0px)) 12px 10px 16px;
        border-bottom: 1px solid #e8edf0;
    }
    .mobile-site-drawer__header img { display: block; width: 138px; max-height: 32px; object-fit: contain; object-position: left; }
    .mobile-site-drawer__header button {
        display: grid;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        place-items: center;
        border-radius: 13px;
        background: #f2f5f6;
        color: #263843;
    }
    .mobile-site-drawer__header button svg { width: 20px; height: 20px; }
    .mobile-site-drawer__scroll {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 6px 12px calc(20px + env(safe-area-inset-bottom, 0px));
    }
    .mobile-site-drawer__label {
        margin: 17px 8px 7px;
        color: #a54c27;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .09em;
        text-transform: uppercase;
    }
    .mobile-site-drawer__scroll > a,
    .mobile-site-drawer__scroll > button {
        display: flex;
        width: 100%;
        min-height: 42px;
        align-items: center;
        justify-content: space-between;
        padding: 9px 10px;
        border: 0;
        border-radius: 11px;
        background: transparent;
        color: #24333f;
        font-size: 12.5px;
        font-weight: 700;
        text-align: left;
        text-decoration: none;
    }
    .mobile-site-drawer__scroll > a[aria-current="page"] { background: #fff1e9; color: #bd4f20; }
    .mobile-site-drawer__scroll > a:active,
    .mobile-site-drawer__scroll > button:active { background: #f2f5f6; }
    .mobile-site-drawer__scroll > .mobile-site-drawer__logout { color: #bb4949; }
    .mobile-site-drawer__language {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 6px 14px;
        color: #24333f;
        font-size: 14px;
        font-weight: 700;
    }
    .mobile-site-drawer__language select {
        max-width: 130px;
        min-height: 38px;
        padding: 6px 9px;
        border: 1px solid #dce4e8;
        border-radius: 10px;
        background: #fff;
        color: inherit;
        font-size: 13px;
    }
    body.page-site-redesign #notifDropdown:not(.hidden) {
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
        z-index: 900 !important;
    }
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .site-topbar-left { margin-left: 48px !important; }
    body.page-site-redesign:not(.page-home-redesign) > .site-topbar .mobile-notif-wrap {
        position: static !important;
        transform: none !important;
    }
    body.page-home-redesign .tt-home-nav__mobile-menu { display: none !important; }
    body.page-home-redesign .tt-home-nav__logo { margin-left: 58px; }
    body.page-home-redesign .tt-home-featured { display: none !important; }
    body.page-home-redesign .tt-home-featured__badge { top: 18px; left: 18px; }
    body.page-home-redesign .tt-home-featured__content > strong { font-size: 18px; }
    body.page-home-redesign .tt-home-featured__content > p { -webkit-line-clamp: 2; font-size: 12px; }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo__callouts {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        display: grid;
        width: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 0 16px 16px;
    }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo__callout {
        min-height: 98px;
        padding: 10px;
        border-width: 1px;
        border-radius: 15px;
        opacity: 1;
        transform: none;
        animation: none;
    }
    body.page-home-redesign .tt-home-promos .tt-home-app-promo { overflow: hidden; }
    body.page-home-redesign .tt-home-region-list .region-showcase-card__tag:nth-child(n + 5),
    body.page-regions-index .region-showcase-card__tag:nth-child(n + 4) { display: inline-flex; }
    body.page-regions-index .region-showcase-card { height: auto !important; min-height: 300px; }
    body.page-regions-index .region-showcase-card__tags { overflow: visible; }
    body.page-site-redesign .mobile-create-menu-wrap { bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important; }

    body.page-site-redesign #mobile-bottom-nav > div {
        height: 64px !important;
        border-radius: 22px !important;
    }

    body.page-site-redesign #mobile-bottom-nav a {
        gap: 2px !important;
        min-height: 56px;
    }

    body.page-site-redesign #mobile-bottom-nav a span:last-child {
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        text-transform: none !important;
    }
    html[data-theme="dark"] body.page-site-redesign #mobile-bottom-nav .nav-icon-bg img {
        filter: brightness(0) invert(1);
    }
    html[data-theme="dark"] body.page-site-redesign #mobile-bottom-nav .nav-item-active .nav-icon-bg img {
        filter: none;
    }

    body.page-site-redesign:has(.site-main-offset :is(input, textarea, select):focus) .mobile-create-menu-wrap:not(:has(.mobile-create-menu-panel.is-open)) {
        opacity: 0;
        pointer-events: none;
    }

    body.page-routes-index .mobile-create-menu-wrap:not(.mobile-create-menu-wrap--search-clear) {
        opacity: 0;
        pointer-events: none;
    }
    body.page-routes-index .mobile-create-menu-wrap {
        transition: opacity .2s ease, transform .2s ease;
    }

    /* Route actions are the relevant controls here; a second floating action obscures them. */
    body.page-route-detail .mobile-create-menu-wrap { display: none !important; }
    body.page-route-detail .route-mobile-action-bar {
        z-index: 105;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.page-route-detail .route-elevation-extremes {
        position: relative;
        inset: auto;
        display: flex;
        padding: 16px 18px 4px;
    }
    body.page-post-detail .mobile-route-story-bar { bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; }
    body.page-route-detail.mobile-ux-ready .route-mobile-action-bar:not(.mobile-ux-after-hero),
    body.page-post-detail.mobile-ux-ready .mobile-route-story-bar:not(.mobile-ux-after-hero) {
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
    }
    body.page-route-detail .route-mobile-action-bar,
    body.page-post-detail .mobile-route-story-bar {
        transition: opacity .2s ease, transform .2s ease;
    }
    body.page-route-detail .route-detail-anchor-nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        overflow: visible;
    }
    body.page-route-detail .route-detail-anchor-nav a {
        display: flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 6px 4px;
        text-align: center;
        white-space: normal;
    }

    /* A full-length article heading and summary must never escape a fixed-height cover. */
    body.page-post-detail .article-hero-card--cover {
        height: auto !important;
        min-height: 540px;
        overflow: hidden;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-title {
        width: 100%;
        max-width: 100%;
        font-size: clamp(27px, 7.7vw, 33px) !important;
        line-height: 1.12 !important;
        overflow-wrap: normal;
        hyphens: auto;
        text-wrap: pretty;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-subtitle {
        width: 100%;
        max-width: 100%;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    body.page-post-detail .article-hero-card--cover .article-hero-author-row { margin-top: 18px; }
    body.page-post-detail .article-hero-card--cover .article-hero-footer { margin-top: 18px; }

    /* The AI-guide help control is placed in normal flow instead of on the title. */
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro {
        display: flex;
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 24px 20px 20px;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro h1 {
        font-size: clamp(30px, 8vw, 36px);
        line-height: 1.08;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro p {
        font-size: 14px;
        line-height: 1.5;
    }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro-mark,
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__intro::after { display: none; }
    body.page-ai-guide .ai-guide:not(.is-result-view) .ai-guide__how-button {
        position: static;
        min-height: 44px;
        margin-top: 2px;
        align-self: flex-start;
        font-size: 12px;
    }

    /* One readable set of metrics, without a horizontal scrollbar or duplicate row. */
    body.page-profile .profile-hero-stats-card {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0;
        overflow: hidden !important;
    }
    body.page-profile .profile-hero-stat {
        width: 100%;
        min-width: 0;
        min-height: 66px;
        padding: 8px 10px;
        border-right: 0 !important;
    }
    body.page-profile .profile-hero-stat:nth-child(odd) { border-right: 1px solid #e5e7eb !important; }
    body.page-profile .profile-hero-stat:nth-child(-n + 2) { border-bottom: 1px solid #e5e7eb; }
    body.page-profile .profile-hero-stat span {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: break-word;
    }
    body.page-profile .profile-mobile-stats { display: none; }
    body.page-profile .profile-mobile-rank__title { flex-wrap: wrap; gap: 4px 6px; }
    body.page-profile .profile-mobile-rank__title > span {
        flex: 0 0 auto !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
    }
    body.page-profile .profile-mobile-hub { display: none !important; }
    body.page-profile .profile-mobile-summary:not(:has(.profile-mobile-visitor-actions)) { display: none !important; }

    body.page-profile .profile-page .profile-content-layout > .profile-mobile-sidebar-toggle {
        display: flex !important;
        order: -2;
        width: 100%;
        min-height: 84px;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 15px 18px;
        border: 1px solid #e4e8ed;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 8px 28px rgba(22, 35, 49, .06);
        color: #1b2734;
        text-align: left;
    }
    body.page-profile .profile-mobile-sidebar-toggle__copy { display: grid; min-width: 0; gap: 3px; }
    body.page-profile .profile-mobile-sidebar-toggle__eyebrow {
        color: #ad633d;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    body.page-profile .profile-mobile-sidebar-toggle__copy strong { font-size: 16px; line-height: 1.25; }
    body.page-profile .profile-mobile-sidebar-toggle__copy small { color: #657383; font-size: 11px; line-height: 1.35; }
    body.page-profile .profile-mobile-sidebar-toggle__icon {
        display: grid;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        place-items: center;
        border-radius: 12px;
        background: #fff3eb;
        color: #d46b36;
    }
    body.page-profile .profile-mobile-sidebar-toggle__icon svg { width: 20px; height: 20px; transition: transform .2s ease; }
    body.page-profile .profile-mobile-sidebar-toggle[aria-expanded="true"] .profile-mobile-sidebar-toggle__icon svg { transform: rotate(180deg); }
    body.page-profile .profile-page .profile-content-layout > aside.profile-sidebar {
        display: none !important;
        order: -1;
        position: static !important;
        top: auto !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: auto !important;
        align-self: stretch !important;
    }
    body.page-profile .profile-page .profile-content-layout > aside.profile-sidebar.is-open { display: grid !important; }

    body.page-search .search-results-page { min-height: 0 !important; }
    .search-discovery {
        padding: 22px 20px;
    }
    .search-discovery h2 { font-size: 20px; }
    .search-discovery p { font-size: 14px; }
    .search-discovery__destinations { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    html[data-theme="dark"] .mobile-site-menu-toggle {
        border-color: #3b4b56;
        background: rgba(23, 39, 49, .95);
        color: #f0f4f6;
    }
    html[data-theme="dark"] .mobile-site-drawer__panel { background: #13232d; }
    html[data-theme="dark"] .mobile-site-drawer__header { border-color: #32434e; }
    html[data-theme="dark"] .mobile-site-drawer__header img { filter: brightness(0) invert(1); }
    html[data-theme="dark"] .mobile-site-drawer__header button { background: #253843; color: #f2f5f7; }
    html[data-theme="dark"] .mobile-site-drawer__scroll > a,
    html[data-theme="dark"] .mobile-site-drawer__scroll > button,
    html[data-theme="dark"] .mobile-site-drawer__language { color: #eef3f6; }
    html[data-theme="dark"] .mobile-site-drawer__scroll > a[aria-current="page"] { background: #47352d; color: #ffb58e; }
    html[data-theme="dark"] .mobile-site-drawer__language select {
        border-color: #3b4c57 !important;
        background: #20323c !important;
        color: #eef3f6 !important;
    }
    html[data-theme="dark"] .mobile-site-drawer__scroll > .mobile-site-drawer__logout { color: #ff9999; }
    html[data-theme="dark"] body.page-profile .profile-page .profile-content-layout > .profile-mobile-sidebar-toggle {
        border-color: #354450;
        background: #1a2933;
        color: #f2f5f7;
    }
    html[data-theme="dark"] body.page-profile .profile-header-name {
        color: #1b2833 !important;
        text-shadow: none !important;
    }
    html[data-theme="dark"] body.page-profile .profile-mobile-sidebar-toggle__copy small { color: #b9c5ce; }
    html[data-theme="dark"] body.page-profile .profile-mobile-sidebar-toggle__icon { background: #493226; color: #ffb182; }
}

@media (prefers-reduced-motion: reduce) {
    body.page-routes-index .mobile-create-menu-wrap,
    body.page-route-detail .route-mobile-action-bar,
    body.page-post-detail .mobile-route-story-bar { transition: none; }
}

@media (max-width: 359px) {
    body.page-site-redesign #mobile-bottom-nav a span:last-child { font-size: 8.5px !important; }
    body.page-route-detail .route-detail-anchor-nav a { font-size: 11px; }
    body.page-route-detail .route-detail-hero-media { min-height: 520px !important; }
    body.page-post-detail .article-hero-card--cover .article-hero-author-row { flex-wrap: wrap; }
    body.page-post-detail .article-hero-card--cover .article-hero-follow { width: 100%; justify-content: center; }
    body.page-site-redesign .site-logo-link { width: 44px !important; flex-basis: 44px !important; justify-content: center; }
    body.page-site-redesign .site-logo-icon { width: 30px !important; height: 30px !important; }
    body.page-site-redesign .site-logo-mark { display: none !important; }
}

@media (max-width: 767px) {
    .mobile-site-drawer__profile {
        padding: 12px 8px 14px;
        border-bottom: 1px solid #edf0f2;
    }
    .mobile-site-drawer__identity {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 11px;
        color: #1c2932;
        text-decoration: none;
    }
    .mobile-site-drawer__avatar {
        display: grid;
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        place-items: center;
        overflow: hidden;
        border-radius: 50%;
        background: #fff0e8;
        color: #ca5524;
        font-size: 18px;
        font-weight: 850;
    }
    .mobile-site-drawer__avatar .subscription-avatar-frame { display: grid; width: 100%; height: 100%; place-items: center; overflow: hidden; border-radius: inherit; }
    .mobile-site-drawer__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .mobile-site-drawer__identity-copy { display: grid; min-width: 0; gap: 2px; }
    .mobile-site-drawer__identity-copy strong { overflow: hidden; color: #1c2932; font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy > span { overflow: hidden; color: #78838b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__identity-copy small { overflow: hidden; color: #a2512e; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
    .mobile-site-drawer__profile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
    .mobile-site-drawer__profile-action {
        display: flex;
        min-width: 0;
        min-height: 38px;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 6px 7px;
        border: 1px solid #e8eaeb;
        border-radius: 10px;
        background: #fff;
        color: #35424b;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
    }
    .mobile-site-drawer__profile-action svg { width: 16px; height: 16px; flex: 0 0 16px; color: #d45a2a; }
    .mobile-site-drawer__profile-action [data-messages-menu-badge]:not(:empty) { color: #d45a2a; font-size: 10px; font-weight: 800; }
    .mobile-site-drawer__chevron { width: 14px; height: 14px; margin-left: auto; transition: transform .18s ease; }
    [data-mobile-settings-toggle][aria-expanded="true"] .mobile-site-drawer__chevron { transform: rotate(180deg); }
    .mobile-site-drawer__settings { margin-top: 8px; padding: 5px 9px; border-radius: 10px; background: #f7f8f8; }
    .mobile-site-drawer__settings > button,
    .mobile-site-drawer__settings > form { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 4px; border: 0; background: transparent; color: #33414a; font-size: 12px; font-weight: 650; text-align: left; }
    .mobile-site-drawer__settings > button strong { color: #ad552e; font-size: 11px; }
    .mobile-site-drawer__settings .mobile-site-drawer__language { padding: 2px 4px; }
    .mobile-site-drawer__settings .mobile-site-drawer__language select { min-height: 32px; border-color: #e1e4e5; font-size: 11px; }
    .mobile-site-drawer__create {
        display: flex;
        width: 100%;
        min-height: 40px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-top: 9px;
        border: 1px solid #f6c9b3;
        border-radius: 11px;
        background: #fff4ee;
        color: #bc4e22;
        font-size: 12px;
        font-weight: 800;
    }
    .mobile-site-drawer__create svg { width: 17px; height: 17px; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__guest-title { color: #1b252b; font-size: 18px; font-weight: 850; }
    .mobile-site-drawer__profile--guest .mobile-site-drawer__profile-action { min-height: 40px; }

    .mobile-site-create-dialog {
        width: min(420px, calc(100vw - 32px));
        max-width: none;
        max-height: min(78dvh, 620px);
        margin: auto;
        padding: 18px;
        overflow: auto;
        border: 1px solid #e9ecee;
        border-radius: 20px;
        background: #fff;
        color: #202b31;
        box-shadow: 0 24px 70px rgba(9, 17, 26, .28);
    }
    .mobile-site-create-dialog::backdrop { background: rgba(9, 17, 26, .58); backdrop-filter: blur(3px); }
    .mobile-site-create-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
    .mobile-site-create-dialog__header > div > span { color: #ad552e; font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
    .mobile-site-create-dialog__header h2 { margin: 3px 0 0; color: #1d272d; font-size: 21px; font-weight: 850; }
    .mobile-site-create-dialog__header button { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 11px; background: #f2f4f5; color: #3c4950; }
    .mobile-site-create-dialog__header button svg { width: 18px; height: 18px; }
    .mobile-site-create-dialog__items { display: grid; gap: 7px; }
    .mobile-site-create-dialog__items > a { display: flex; min-height: 57px; align-items: center; gap: 10px; padding: 8px; border: 1px solid #eceeef; border-radius: 13px; color: #26343c; text-decoration: none; }
    .mobile-site-create-dialog__items > a:active { background: #fff4ee; }
    .mobile-site-create-dialog__icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #fff0e8; }
    .mobile-site-create-dialog__icon img { width: 19px; height: 19px; object-fit: contain; }
    .mobile-site-create-dialog__items > a > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
    .mobile-site-create-dialog__items strong { font-size: 12px; font-weight: 800; }
    .mobile-site-create-dialog__items small { color: #7a858b; font-size: 10px; }
    .mobile-site-create-dialog__items b { margin-left: auto; color: #89939a; font-size: 22px; font-weight: 400; }

    body.page-home-redesign .tt-home-nav { position: relative; height: 62px; min-height: 62px; padding: 0 14px; }
    body.page-home-redesign .tt-home-nav__logo { position: absolute; top: 50%; left: 50%; width: 178px; height: 32px; margin: 0; transform: translate(-50%, -50%); }
    body.page-home-redesign .tt-home-nav__actions { position: absolute; top: 50%; right: 14px; display: flex; align-items: center; gap: 8px; transform: translateY(-50%); }
    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search,
    body.page-home-redesign .tt-home-nav__notif-wrap > .tt-home-nav__notif { display: inline-flex; box-sizing: border-box; width: 38px !important; min-width: 38px !important; max-width: 38px !important; height: 38px !important; flex: 0 0 38px !important; padding: 0; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, .38); border-radius: 12px; background: rgba(12, 20, 25, .12); }
    body.page-home-redesign .tt-home-nav__notif-wrap { display: inline-flex; }
    body.page-home-redesign .tt-home-nav__user-wrap,
    body.page-home-redesign .tt-home-nav__mobile-menu,
    body.page-home-redesign .tt-home-nav__create-wrap,
    body.page-home-redesign .tt-home-nav__actions > a.tt-home-nav__profile { display: none !important; }
    body.page-home-redesign .tt-home-nav__icon { width: 38px; height: 38px; border-radius: 12px; }
    body.page-home-redesign .tt-home-nav__search svg,
    body.page-home-redesign .tt-home-nav__notif svg { width: 18px; height: 18px; stroke-width: 1.8; }
    body.page-home-redesign .tt-home-benefits { display: none !important; }
    body.page-home-redesign .tt-home-reports .tt-home-content-list,
    body.page-home-redesign .tt-home-publications .tt-home-content-list { gap: 14px; margin: 0; padding: 2px 2px 16px; scroll-snap-type: x mandatory; }
    body.page-home-redesign .tt-home-reports .tt-home-content-card,
    body.page-home-redesign .tt-home-publications .tt-home-content-card { width: 290px; min-width: 0; flex: 0 0 290px; scroll-snap-align: start; }
    body.page-home-redesign .tt-home-hero { display: flex; min-height: 520px; flex-direction: column; }
    body.page-home-redesign .tt-home-hero__body { display: flex; min-height: 0; flex: 1; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 18px 16px 16px; }
    body.page-home-redesign .tt-home-hero__copy { display: flex; max-width: none; flex: 1; flex-direction: column; }
    body.page-home-redesign .tt-home-hero__buttons { display: grid; width: 100%; max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 10px; margin: auto auto 0; padding-top: 28px; }
    body.page-home-redesign .tt-home-button { min-width: 0; min-height: 46px; gap: 6px; padding: 0 8px; font-size: 11px; white-space: nowrap; }
    body.page-home-redesign .tt-home-button img { width: 16px; height: 16px; flex: 0 0 16px; }

    html[data-theme="dark"] .mobile-site-drawer__profile { border-color: #32434e; }
    html[data-theme="dark"] .mobile-site-drawer__identity,
    html[data-theme="dark"] .mobile-site-drawer__identity-copy strong,
    html[data-theme="dark"] .mobile-site-create-dialog__header h2 { color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-drawer__profile-action,
    html[data-theme="dark"] .mobile-site-drawer__settings,
    html[data-theme="dark"] .mobile-site-create-dialog { border-color: #354853; background: #1a2d37; color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-drawer__settings > button,
    html[data-theme="dark"] .mobile-site-drawer__settings > form { color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-create-dialog__items > a { border-color: #354853; color: #edf3f7; }
    html[data-theme="dark"] .mobile-site-create-dialog__header button { background: #2a3b45; color: #edf3f7; }
}

@media (max-width: 359px) {
    body.page-home-redesign .tt-home-nav__logo { width: 142px; }
    body.page-home-redesign .tt-home-nav__actions { right: 10px; gap: 5px; }
    body.page-home-redesign .tt-home-nav__actions > .tt-home-nav__search,
    body.page-home-redesign .tt-home-nav__notif-wrap > .tt-home-nav__notif { width: 32px !important; min-width: 32px !important; max-width: 32px !important; height: 32px !important; flex: 0 0 32px !important; }
}

@media (max-width: 620px) {
    body.page-home-redesign .tt-home-reports .tt-home-content-card,
    body.page-home-redesign .tt-home-publications .tt-home-content-card { width: 82vw; flex-basis: 82vw; }
}

@media (max-width: 767px) {
    body.page-route-detail #main-content.site-main-offset {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: clip !important;
    }

    body.page-route-detail .route-detail-page {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 calc(var(--mobile-page-bottom-clearance, 98px) + 44px) !important;
        border-radius: 0 !important;
    }

    body.page-route-detail .route-detail-desktop-content,
    body.page-route-detail .route-detail-hero-card,
    body.page-route-detail .route-detail-hero-media {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }

    body.page-route-detail .route-detail-hero-card {
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.page-route-detail .route-detail-hero-media,
    body.page-route-detail .route-detail-hero-media::after,
    body.page-route-detail .route-detail-hero-image,
    body.page-route-detail .route-detail-hero-fallback {
        border-radius: 0 !important;
    }

    body.page-route-detail .route-detail-hero-media { padding: 14px 0 !important; }

    body.page-route-detail .route-detail-hero-chips { padding-inline: 16px !important; }

    body.page-route-detail .route-detail-hero-copy {
        position: relative !important;
        inset: auto !important;
        align-self: stretch !important;
        width: auto !important;
        max-width: none !important;
        margin: 32px 16px 0 !important;
    }

    body.page-route-detail .route-detail-hero-stats {
        box-sizing: border-box !important;
        width: 100% !important;
        margin-inline: auto !important;
        justify-content: center !important;
    }

    body.page-route-detail .route-detail-hero-stat {
        box-sizing: border-box !important;
        grid-template-columns: 25px auto !important;
        justify-content: center !important;
        padding-inline: 6px !important;
    }

    body.page-route-detail .route-detail-hero-actions {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        justify-content: center !important;
    }
}

@media (max-width: 767px) {
    body.page-post-detail #main-content.site-main-offset {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-inline: 0 !important;
        overflow-x: clip !important;
    }

    body.page-post-detail .post-detail-layout {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-inline: 0 !important;
        gap: 0 !important;
    }

    body.page-post-detail .post-detail-layout.has-route > .article-hero-card,
    body.page-post-detail .post-detail-main,
    body.page-post-detail .post-detail-lower,
    body.page-post-detail .post-detail-main > article,
    body.page-post-detail #post-detail-article {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        border-radius: 0 !important;
    }

    body.page-post-detail .post-detail-layout.has-route > .article-hero-card {
        border-inline: 0 !important;
        box-shadow: none !important;
    }

    body.page-post-detail #post-detail-article {
        border-inline: 0 !important;
        box-shadow: none !important;
    }

    body.page-post-detail .article-hero-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover {
        height: auto !important;
        min-height: 540px !important;
        padding: 16px !important;
        border-radius: 0 !important;
        clip-path: none !important;
    }

    body.page-post-detail .article-hero-card--cover::before,
    body.page-post-detail .article-hero-card--cover::after {
        border-radius: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-topline {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) 40px !important;
        align-items: start !important;
        gap: 8px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chips {
        box-sizing: border-box !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
        align-content: flex-start !important;
        gap: 6px !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chip {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 30px !important;
        flex: 0 1 auto !important;
        padding-inline: 9px !important;
        font-size: 9px !important;
        letter-spacing: .035em !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-chip > span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-options {
        position: relative !important;
        inset: auto !important;
        z-index: 4 !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        flex: 0 0 40px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-icon-button {
        width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        border-radius: 14px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-title {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 16px !important;
        font-size: clamp(28px, 8.2vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
        text-wrap: pretty !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-subtitle {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 10px !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
        overflow-wrap: anywhere !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-row {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-items: center !important;
        flex-direction: row !important;
        gap: 8px !important;
        margin-top: 18px !important;
        margin-bottom: 10px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 auto !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-copy {
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-author-copy strong {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-follow {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 44% !important;
        flex: 0 0 auto !important;
        gap: 5px !important;
        padding-inline: 9px !important;
        font-size: 10px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-follow-text {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-footer,
    body.page-post-detail .article-hero-card--cover .article-hero-footer > .article-hero-route-summary {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 0 !important;
        padding: 12px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat {
        box-sizing: border-box !important;
        min-width: 0 !important;
        gap: 6px !important;
        padding-inline: 8px !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat > span {
        display: block !important;
        min-width: 0 !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat strong,
    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat small {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat strong {
        white-space: nowrap !important;
    }

    body.page-post-detail .article-hero-card--cover .article-hero-route-summary .article-hero-stat small {
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}
