/*
 * DARK MODE overrides - Escortify NZ (docs/plans/dark-mode-plan-2026-08-31.md).
 * Every rule is scoped under html[data-theme="dark"]; without that attribute this
 * file is inert and light rendering is untouched by construction. The attribute is
 * set by the inline head script from the esc_theme cookie (common/head.php) and is
 * never set on light-locked upgrade/payment pages (html[data-theme-lock="light"]).
 *
 * Token map (from the three approved design canvases):
 *   page       #0F0F0F (item, dashboard, bands - uniform ground since 2026-09-01)
 *   sheet      #171717   cards #1C1C1C   inner #202020   pills #252525
 *   hairline   rgba(255,255,255,.08) / strong .12
 *   text       #f2f2f4   secondary #a1a7b3   muted #8b93a1
 *   brand pink #ff3366 / #fe4365 and all gradient CTAs: unchanged.
 *
 * Sections: [B1] base - [B2] category/search/home - [B3] item - [B4] dashboard/account
 *           [B5] auth/posting - [B6] secondary/overlays - [B7] toggle UI
 */

/* ============================== [B1] BASE ============================== */

html[data-theme="dark"] {
    color-scheme: dark;
    --esc-dk-page: #0F0F0F;
    --esc-dk-page2: #131313;
    --esc-dk-sheet: #171717;
    --esc-dk-card: #1C1C1C;
    --esc-dk-inner: #202020;
    --esc-dk-pill: #252525;
    --esc-dk-line: rgba(255, 255, 255, 0.08);
    --esc-dk-line-strong: rgba(255, 255, 255, 0.12);
    --esc-dk-text: #f2f2f4;
    --esc-dk-text-2: #a1a7b3;
    --esc-dk-muted: #8b93a1;
}

/* Conservative base fallback: an unaudited corner renders dark-with-light-text,
   never white-on-white. View batches override with exact surfaces. */
html[data-theme="dark"] body {
    background-color: var(--esc-dk-page2);
    color: var(--esc-dk-text);
}

/* §5C light island: the Post Video page chrome themes normally, but its compiled
   Shadow-DOM app stays light. color-scheme inherits THROUGH the shadow host, so the
   host gets an explicit light reset - native controls/scrollbars inside the app keep
   light UA styling while the document is dark. */
html[data-theme="dark"] body.post-video-page #root {
    color-scheme: light;
}

/* ================= [B2] CATEGORY / SEARCH + HOMEPAGE BANDS ================= */
/* Live light values audited on DDEV (category + homepage share these classes).
   Hero, Diamond strip, pagination and page body are #050505 on live - no-ops. */

/* Bands (owner 2026-09-01: uniform ground): VIP band, listing band and the SEO
   surface all sit on var(--esc-dk-page) like the item page - cards provide the
   elevation, not the bands. */
html[data-theme="dark"] .bg_vip {
    background-color: var(--esc-dk-page);
    color: var(--esc-dk-text);
}
html[data-theme="dark"] .bg_content {
    background-color: var(--esc-dk-page);
    color: var(--esc-dk-text);
}
html[data-theme="dark"] .search-footer-copy-surface {
    background-color: var(--esc-dk-page);
}

/* Band copy (live: #0b0b0f on the intros, #000 Switzer heading, #0f0f0f SEO copy).
   Pink section headings (#fe4365) are untouched. */
html[data-theme="dark"] .vipgirlsintro,
html[data-theme="dark"] #main .vipgirlsintro,
html[data-theme="dark"] .introtxthome,
html[data-theme="dark"] #content .introtxthome {
    color: var(--esc-dk-text-2);
}
html[data-theme="dark"] #escortifyRegularSection h1,
html[data-theme="dark"] #escortifyRegularSection h2 {
    color: #f5f5f7;
}
html[data-theme="dark"] .search-footer-copy-surface h2,
html[data-theme="dark"] .search-footer-copy-surface h3 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .search-footer-copy-surface p,
html[data-theme="dark"] .search-footer-copy-surface li,
html[data-theme="dark"] .search-footer-copy-surface span {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .search-footer-copy-surface a {
    color: #e2e4e9 !important;
}

/* Category toolbar pills (sort / search / Filters / quick pills). The light styles
   live in search-discovery-hero-override.css behind high-specificity state selectors
   (body.search .cat-filter-bar:not(.sticky):not(.sticky-filters) ... for resting,
   separate .sticky-filters variants) - !important under the dark scope is the
   sanctioned way to win every state (plan §3.1). The sort dropdown menu
   (.cat-sort-menu/.cat-sort-option) is already dark glass on live - no-op. */
html[data-theme="dark"] .cat-sort-trigger-area,
html[data-theme="dark"] .cat-search-form,
html[data-theme="dark"] .cat-pill,
html[data-theme="dark"] .cat-all-filters {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: var(--esc-dk-text) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
}
html[data-theme="dark"] .cat-sort-trigger-area:hover,
html[data-theme="dark"] .cat-search-form:hover,
html[data-theme="dark"] .cat-search-form:focus-within,
html[data-theme="dark"] .cat-pill:hover,
html[data-theme="dark"] .cat-all-filters:hover,
html[data-theme="dark"] .cat-sort-dropdown.open .cat-sort-trigger-area {
    background: var(--esc-dk-pill) !important;
}
/* Active states keep the theme's dark-context pink tint (searchbar.css values). */
html[data-theme="dark"] .cat-pill.active,
html[data-theme="dark"] .cat-pill.active:hover,
html[data-theme="dark"] .cat-all-filters.has-filters {
    background: rgba(232, 99, 122, 0.2) !important;
    border-color: rgba(232, 99, 122, 0.4) !important;
    color: #ffffff !important;
}
html[data-theme="dark"] .cat-pill.active span {
    color: #ffffff !important;
}
/* Descendants carry their own direct colors in the resting-state override sheet
   (.cat-sort-trigger/-label/-value/-chevron, .cat-sort-icon-svg, .cat-search-icon
   = #141414; .cat-search-clear = #5f6670) - inherited color cannot beat them. */
html[data-theme="dark"] .cat-sort-trigger,
html[data-theme="dark"] .cat-sort-label,
html[data-theme="dark"] .cat-sort-trigger-value,
html[data-theme="dark"] .cat-sort-trigger-chevron,
html[data-theme="dark"] .cat-sort-icon-svg,
html[data-theme="dark"] .cat-search-icon {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .cat-search-clear {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .cat-search-input {
    color: var(--esc-dk-text) !important;
    background: transparent !important;
}
html[data-theme="dark"] .cat-search-input::placeholder {
    color: var(--esc-dk-muted) !important;
}

/* Homepage filter pills bar - same treatment as the category toolbar. Source rules
   (homepage-discovery.css) load earlier at lower specificity: no !important needed.
   Active class in markup is .is-active (main.php). */
html[data-theme="dark"] .home-filter-bar__location-trigger,
html[data-theme="dark"] .home-filter-bar__pill {
    background: var(--esc-dk-inner);
    border-color: var(--esc-dk-line-strong);
    color: var(--esc-dk-text);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
html[data-theme="dark"] .home-filter-bar__location-trigger:hover,
html[data-theme="dark"] .home-filter-bar__pill:hover {
    background: var(--esc-dk-pill);
}
html[data-theme="dark"] .home-filter-bar__pill.is-active {
    background: rgba(232, 99, 122, 0.2);
    border-color: rgba(232, 99, 122, 0.4);
    color: #ffffff;
}

/* Homepage location dropdown (homepage-discovery.css: white panel, #374151 items,
   #f3f4f6 hover; .is-selected pink #fe4365 works on dark - untouched). */
html[data-theme="dark"] .home-filter-bar__dropdown {
    background: var(--esc-dk-card);
    border-color: var(--esc-dk-line-strong);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}
html[data-theme="dark"] .home-filter-bar__dropdown-item {
    color: #d5d7dd;
}
html[data-theme="dark"] .home-filter-bar__dropdown-item:hover,
html[data-theme="dark"] .home-filter-bar__dropdown-item:focus {
    background: var(--esc-dk-pill);
    color: #ffffff;
}
html[data-theme="dark"] .home-filter-bar__dropdown-item.is-selected {
    color: #fe4365;
}

/* Listing cards (VIP band, regular band, homepage) - image chrome (tier/ago/fav/
   phone pills) is already dark glass on live; only the meta text flips. */
html[data-theme="dark"] .search-profile-card__name {
    color: var(--esc-dk-text);
}
html[data-theme="dark"] .search-profile-card__age,
html[data-theme="dark"] .search-profile-card__rate-text {
    color: var(--esc-dk-text);
}
html[data-theme="dark"] .search-profile-card__location-row,
html[data-theme="dark"] .search-profile-card__location-text,
html[data-theme="dark"] .search-profile-card__metadata-icon {
    color: var(--esc-dk-text-2);
}
html[data-theme="dark"] .search-profile-card__about {
    color: var(--esc-dk-muted);
}

/* "Girl of the Day" tab: white glass -> dark glass (live: rgba(255,255,255,.65) bg,
   #1a1a1a 10px letterspaced text, white ring). */
html[data-theme="dark"] .search-profile-card__badge-tab {
    background-color: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14),
                inset 0 1px 0 rgba(255, 255, 255, 0.10),
                0 10px 16px -12px rgba(0, 0, 0, 0.24);
}
html[data-theme="dark"] .search-profile-card__badge-text {
    color: #e2e4e9;
}

/* ======================== [B3] ITEM / PROFILE PAGE ======================== */
/* Values audited from the live page + approved profile canvas. Photo grid, tier
   pills, "Show all photos", swiper chrome and hero images are already dark glass. */

/* Page + content sheet */
html[data-theme="dark"] body.item {
    background-color: var(--esc-dk-page) !important;
}
html[data-theme="dark"] .whiteitem {
    background-color: var(--esc-dk-page) !important;
    color: var(--esc-dk-text) !important;
}

/* Desktop BACK/prev/next circles (live: rgba(0,0,0,.04) bg, #111 icon+labels) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-nav-ribbon__btn {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--esc-dk-text) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-nav-ribbon__btn--back::before,
html[data-theme="dark"] body.item.item-airbnb-layout .item-nav-ribbon__btn--prev::after,
html[data-theme="dark"] body.item.item-airbnb-layout .item-nav-ribbon__btn--next::after {
    color: var(--esc-dk-text) !important;
    background: rgba(23, 23, 28, 0.72) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Title block (mobile) + desktop head grid */
html[data-theme="dark"] .titlebox h1,
html[data-theme="dark"] .item-airbnb-mobile-title,
html[data-theme="dark"] .item-airbnb-desktop-title,
html[data-theme="dark"] .ihg-val {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .item-title-age {
    color: #9ca3af !important;
}
html[data-theme="dark"] .titlebox .punchline,
html[data-theme="dark"] .item-airbnb-mobile-subtitle,
html[data-theme="dark"] .item-airbnb-desktop-subtitle {
    color: var(--esc-dk-text-2) !important;
}
html[data-theme="dark"] .ihg-cur,
html[data-theme="dark"] .ihg-under,
html[data-theme="dark"] .item-airbnb-feature-subtitle {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .item-airbnb-feature-value,
html[data-theme="dark"] .item-airbnb-feature-icon {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .item-airbnb-feature-col--location {
    border-left-color: rgba(255, 255, 255, 0.1) !important;
}
/* the black "i" info chip inverts (canvas decision: solid black pills flip) */
html[data-theme="dark"] .item-airbnb-info-trigger {
    background: #FDFFF0 !important;
    color: #100E0E !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme="dark"] .item-airbnb-info-tooltip {
    background: var(--esc-dk-pill) !important;
    color: #d5d7dd !important;
    border-color: var(--esc-dk-line-strong) !important;
}

/* Mobile content sheet (white, radius 28) */
html[data-theme="dark"] .item-airbnb-card-shell {
    background-color: var(--esc-dk-sheet) !important;
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.06), 0 18px 40px rgba(0, 0, 0, 0.5) !important;
}

/* Section headings, about copy, np grids */
html[data-theme="dark"] body.item .about-header h2,
html[data-theme="dark"] .item-airbnb-about-mobile h2,
html[data-theme="dark"] .np-title,
html[data-theme="dark"] .mc-title-group h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .item-airbnb-about-desktop-text,
html[data-theme="dark"] .item-airbnb-about-mobile-text,
html[data-theme="dark"] .item-airbnb-about-modal-copy {
    color: #d5d7dd !important;
}
html[data-theme="dark"] .item-airbnb-about-readmore {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .item-airbnb-about-modal,
html[data-theme="dark"] .item-airbnb-about-modal-inner {
    background-color: var(--esc-dk-sheet) !important;
}
html[data-theme="dark"] .item-airbnb-about-modal-back {
    color: var(--esc-dk-text) !important;
    background: rgba(255, 255, 255, 0.06) !important;
}
html[data-theme="dark"] .nzbf-profile-btn {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item .np-section {
    border-top-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .np-label {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .np-value-row,
html[data-theme="dark"] .np-value-text {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .np-location-icon,
html[data-theme="dark"] .np-service-icon-circle {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #7D7466 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}
html[data-theme="dark"] .np-photo-collage-card {
    background-color: var(--esc-dk-card) !important;
}

/* Follow pill: ghost style matching the "My blog and feed" button (owner 2026-09-01;
   was an inverted white pill) */
html[data-theme="dark"] .nzbf-follow-btn--pill {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-follow-btn--pill .nzbf-fp-plus,
html[data-theme="dark"] .nzbf-follow-btn--pill span {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-follow-btn--pill:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}

/* Contact + rates cards (desktop white cards; mobile section variant) */
html[data-theme="dark"] .item-airbnb-contact-card,
html[data-theme="dark"] .np-section--rates-sidebar {
    background-color: var(--esc-dk-card) !important;
    border-color: var(--esc-dk-line) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.4) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .mc-footer,
html[data-theme="dark"] .mc-label {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .mc-value {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .mc-border-left {
    border-left-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .np-rate-icon {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .contact-banner.info-banner {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #bfdbfe !important;
}
html[data-theme="dark"] .contact-banner.info-banner .banner-icon {
    background: rgba(96, 165, 250, 0.22) !important;
    color: #93c5fd !important;
}
html[data-theme="dark"] .contact-banner.info-banner .banner-text,
html[data-theme="dark"] .contact-banner.info-banner .banner-text strong {
    color: #bfdbfe !important;
}
html[data-theme="dark"] .contact-banner.warning-banner,
html[data-theme="dark"] .contact-banner.warning-banner .banner-text,
html[data-theme="dark"] .contact-banner.warning-banner .banner-text strong,
html[data-theme="dark"] .contact-banner.warning-banner .banner-icon {
    color: #f87171 !important;
    background: transparent !important;
}
html[data-theme="dark"] .phone-cta-btn {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .phone-icon-box {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .phone-label {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .phone-number {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .mc-group {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
}
html[data-theme="dark"] .mc-action-row {
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}
html[data-theme="dark"] .mc-action-icon-box {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #877D6F !important;
}
html[data-theme="dark"] .mc-action-label {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .mc-action-value {
    color: #e2e4e9 !important;
}

/* Mobile contact list */
html[data-theme="dark"] .item-contact-prefline {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .item-contact-method-label {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] .item-contact-method-value {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .item-contact-method-icon,
html[data-theme="dark"] .item-contact-method {
    color: #e2e4e9 !important;
}

/* Engagement row: favourite pink is untouched !important; Like blue lightens */
html[data-theme="dark"] .engagement-footer-test {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .vote-text,
html[data-theme="dark"] .vote-text .vote-count {
    color: #7cb1f7 !important;
}

/* Report user (desktop pill + mobile block) */
html[data-theme="dark"] .report_user {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.55) !important;
}

/* Blog & feed band (white full-bleed section on live) */
html[data-theme="dark"] .np-section--feed {
    background-color: var(--esc-dk-page) !important;
}
html[data-theme="dark"] .nzbf-feed-title {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .nzbf-skel,
html[data-theme="dark"] .nzbf-skel span {
    background-color: rgba(255, 255, 255, 0.07) !important;
}
html[data-theme="dark"] .nzbf-more {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}

/* Related listings band on the item page (cards share B2's classes) */
html[data-theme="dark"] .similar_ads h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .search-profile-card__description,
html[data-theme="dark"] .search-profile-card__phone-value,
html[data-theme="dark"] .search-profile-card__phone {
    color: var(--esc-dk-text-2) !important;
}

/* S5C light islands: activation/renewal windows render inside the themed owner
   page but keep their own light design (owner D3). .agb-ia is the shared agency
   activate form - the same island also covers the dashboard Activate modal. */
html[data-theme="dark"] body.item .resp-wrapper,
html[data-theme="dark"] .escx-checkout,
html[data-theme="dark"] .agb-ia {
    color-scheme: light !important;
    background: #ffffff !important;
    color: #0f0f0f !important;
    border-radius: 16px;
}

/* Desktop subtitle renders as a light chip on live (bg #f4f4f5, radius 16) */
html[data-theme="dark"] .item-airbnb-desktop-subtitle {
    background: rgba(255, 255, 255, 0.07) !important;
}
/* Guest locked-feed teaser (nzbf-locked-skel): light word-chips + dark name text */
html[data-theme="dark"] .nzbf-lk-word {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .nzbf-lk-name,
html[data-theme="dark"] .nzbf-locked {
    color: #e2e4e9 !important;
}

/* Specificity boosters: these live rules are themselves !important at higher
   specificity in profile12.css, so the dark overrides must outrank them. */
html[data-theme="dark"] .new-profile-card .np-title,
html[data-theme="dark"] .np-section .np-title,
html[data-theme="dark"] body.item .similar_ads h2,
html[data-theme="dark"] #otherads h2,
html[data-theme="dark"] .modern-contact-card .mc-title-group h2,
html[data-theme="dark"] .mc-header .mc-title-group h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] .np-sub-card .np-value-text,
html[data-theme="dark"] .np-value-row .np-value-text,
html[data-theme="dark"] .new-profile-card .np-value-text,
html[data-theme="dark"] .np-service-row .np-value-text {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item a.report_user,
html[data-theme="dark"] .item-airbnb-rates-panel .report_user {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.55) !important;
}

/* profile12.css carries 5-6-compound !important rules for the np text
   (body.item.item-airbnb-layout .item-airbnb-body-panel .parameters ... !important)
   - these dark twins outrank them at equal importance. */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--photo-collage .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--photo-collage-desktop .np-title {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-value-text {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-label {
    color: var(--esc-dk-muted) !important;
}

html[data-theme="dark"] body.item.item-airbnb-layout .modern-contact-card .mc-header h2,
html[data-theme="dark"] body.item.item-airbnb-layout .mc-header--contact .mc-title-group h2,
html[data-theme="dark"] body.item.item-airbnb-layout .mc-header--info .mc-title-group h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout a.report_user,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar a.report_user {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.55) !important;
}

/* --- [B3] dark twins for item-contact-desktop.css (the >=769px contact-card skin
   shipped 2026-08-31: id-based selectors, mostly !important, monochrome ink
   #18181b / surface #f5f5f7 / line #e7e7ec). Same selector strength + same media
   query; solid-ink pills invert per the canvas decision. --- */
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card { border-color: var(--esc-dk-line-strong) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card > .mc-header--contact .mc-title-group h2 { color: #f5f5f7 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card > .mc-header--contact .mc-footer { color: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-banner { color: var(--esc-dk-text-2) !important; background: transparent !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-banner.warning-banner { color: #f87171 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-banner .banner-icon { color: var(--esc-dk-muted) !important; background: transparent !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper { background: transparent !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper a.wac-btn { background: #FDFFF0 !important; color: #100E0E !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper a.wac-btn:hover { background: #F2F4E4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn { background: #FDFFF0 !important; color: #100E0E !important; border-color: transparent !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn:hover { background: #F2F4E4 !important; color: #100E0E !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper { background: transparent !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn { background: rgba(255, 255, 255, 0.06) !important; border: 1px solid var(--esc-dk-line-strong) !important; color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn:hover { background: rgba(255, 255, 255, 0.1) !important; border-color: rgba(255, 255, 255, 0.2) !important; color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-sms-btn { background: rgba(255, 255, 255, 0.06) !important; border: 1px solid var(--esc-dk-line-strong) !important; color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-sms-btn:hover { background: rgba(255, 255, 255, 0.1) !important; border-color: rgba(255, 255, 255, 0.2) !important; color: #f2f2f4 !important; }
/* main pill is now light -> its SMS glyph goes dark; panel pill is now dark -> glyph light */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn[href^="sms:"] .phone-icon-box { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318181b' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6.5h14a2.5 2.5 0 0 1 2.5 2.5v6A2.5 2.5 0 0 1 19 17.5H10l-4.5 3v-3H5A2.5 2.5 0 0 1 2.5 15V9A2.5 2.5 0 0 1 5 6.5Z'/%3E%3Cpath d='M7.5 11h9'/%3E%3Cpath d='M7.5 14h5'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn[href^="sms:"] .phone-icon-box { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6.5h14a2.5 2.5 0 0 1 2.5 2.5v6A2.5 2.5 0 0 1 19 17.5H10l-4.5 3v-3H5A2.5 2.5 0 0 1 2.5 15V9A2.5 2.5 0 0 1 5 6.5Z'/%3E%3Cpath d='M7.5 11h9'/%3E%3Cpath d='M7.5 14h5'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .mc-group a.mc-action-row { color: var(--esc-dk-text-2) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .mc-group a.mc-action-row:hover { color: #f5f5f7 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .mc-group .mc-action-icon { color: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .mc-group a.mc-action-row:hover .mc-action-icon { color: #f5f5f7 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .engagement-footer-test { border-top-color: var(--esc-dk-line) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:not(.is_favorite) { color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:not(.is_favorite)::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:not(.is_favorite):hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:not(.is_favorite)::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:not(.is_favorite):hover::after { color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin a.aPs.vote5,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin a.aPs.vote5 .vote-text { color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin a.aPs.vote5 .vote-text::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin a.aPs.vote5 .vote-count { color: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin .votes_results,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin .votes_results span { color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin .votes_results span::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f2f2f4' stroke='%23f2f2f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-row.offline .contact-icon-circle { background: rgba(255, 255, 255, 0.07) !important; color: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-row.offline .contact-icon-circle svg { fill: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-row.offline .contact-value { color: #f2f2f4 !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-row.offline .contact-label { color: var(--esc-dk-muted) !important; }
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card a.phone-cta-btn:focus-visible,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card a.wac-btn:focus-visible,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card a.mc-action-row:focus-visible,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite:focus-visible,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card #voting_plugin a.aPs.vote5:focus-visible { outline-color: #f5f5f7 !important; }
/* status-note bubble dots (the bubble body is handled by the ihg-sub rules) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-head-grid .ihg-sub.item-airbnb-desktop-subtitle:not(:empty)::before,
html[data-theme="dark"] body.item.item-airbnb-layout .item-head-grid .ihg-sub.item-airbnb-desktop-subtitle:not(:empty)::after { background: rgba(255, 255, 255, 0.1) !important; }
}

/* Blog & feed guest teaser: white fade + CTA card (nzbf) */
html[data-theme="dark"] .nzbf-locked-fade {
    background: linear-gradient(rgba(18, 18, 22, 0) 0%, rgba(18, 18, 22, 0.25) 22%, rgba(18, 18, 22, 0.85) 60%, #171717 100%) !important;
}
html[data-theme="dark"] .nzbf-locked-cta {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-locked-sub,
html[data-theme="dark"] .nzbf-locked-card a:not(.nzbf-locked-cta) {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .nzbf-locked-card {
    background: transparent !important;
}

/* Mobile item-page compound twins (profile12.css mobile variants are !important) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-card-shell {
    background: var(--esc-dk-sheet) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-readmore {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-contact-card .mc-header h2,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-contact-card .mc-title-group h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-contact-prefline {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-contact-method-label {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-contact-method-value {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-contact-card .mc-value,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--rates-sidebar .mc-value {
    color: var(--esc-dk-text) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-contact-card .mc-label,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--rates-sidebar .mc-label {
    color: var(--esc-dk-muted) !important;
}

/* Mobile contact rows: profile12 keys these on #contact (id) - match it. */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .mc-header h2,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .mc-title-group h2 {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-prefline {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method-label {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method-value {
    color: var(--esc-dk-muted) !important;
}

/* B3 gate round-1 fixes */
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper a.wac-btn svg,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper a.wac-btn svg path {
    fill: #111111 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card a.phone-sms-btn:focus-visible {
    outline-color: #f5f5f7 !important;
}
}
/* desktop Read more (its own 5-deep !important selector in profile12.css) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-readmore--desktop {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-readmore--desktop:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-readmore--desktop:focus-visible {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #f5f5f7 !important;
}
/* About modal heading: Fancybox can move the modal out of its wrapper */
html[data-theme="dark"] .item-airbnb-about-modal h2,
html[data-theme="dark"] .fancybox__content .item-airbnb-about-modal-inner h2 {
    color: #f5f5f7 !important;
}
/* np icon glyphs (#1a1a1a in profile12): basics/appearance primaries + rate/service icons */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-rate-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section--rates .np-rate-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--services .np-service-icon-circle,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-feature-icon {
    color: #7D7466 !important;
}
/* rates subsection label (#4b5563 !important in profile12) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-rates-subsection-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section--rates .np-rates-subsection-label {
    color: var(--esc-dk-muted) !important;
}
/* guest feed teaser title carries direct #0D0808 */
html[data-theme="dark"] .nzbf-locked-title {
    color: #f2f2f4 !important;
}

/* hairlines: np-section top border keeps #ececec via a compound !important rule */
html[data-theme="dark"] body.item.item-airbnb-layout .np-section,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section,
html[data-theme="dark"] body.item.item-airbnb-layout .new-profile-card.np-section {
    border-top-color: var(--esc-dk-line) !important;
}
/* head-grid location pin + fi-icon glyphs inside np icons */
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-pin,
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-val--loc svg {
    color: #7D7466 !important;
    stroke: currentColor;
}
html[data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon .fi-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon svg,
html[data-theme="dark"] body.item.item-airbnb-layout .np-icon-primary .fi-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-value-row .fi-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-service-icon-circle .fi-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-location-icon .fi-icon {
    color: #7D7466 !important;
}

/* MOBILE: the contact + rates areas are FLAT sections on the sheet (hairline top),
   not boxed cards - the boxed look is desktop-only. */
@media (max-width: 768px) {
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-contact-card,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--rates-sidebar {
    background: transparent !important;
    box-shadow: none !important;
    border-color: var(--esc-dk-line) !important;
}
}
/* MOBILE engagement row (profile12 mobile rules paint it #0D0808): monochrome light,
   pink only for the saved state - matching the desktop skin's behavior. */
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .fi_make_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .fi_make_favorite span,
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test a.aPs,
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .vote-text,
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .vote-count {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .fi_make_favorite.is_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout .engagement-footer-test .fi_make_favorite.is_favorite span {
    color: #ff3366 !important;
}
/* related/search card name row (item-related variant sets #16161a on the row) */
html[data-theme="dark"] .search-profile-card__name-row,
html[data-theme="dark"] .search-profile-card__name {
    color: var(--esc-dk-text) !important;
}
/* logged-in blog/feed text (nzbf) */
html[data-theme="dark"] .nzbf-author-name {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-activity-summary {
    color: var(--esc-dk-text-2) !important;
}

/* ===== GENERATED dark twins: every dark-ink !important color rule in
   profile12.css (payment/island selectors excluded), emitted at higher
   specificity in the same media context. Regenerate when profile12 changes. ===== */
html[data-theme="dark"] #contact.modern-contact-card .mc-title-group h2 {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .new-profile-card .np-section--rates .np-rates-subsection-label,
html[data-theme="dark"] body.item #contact.modern-contact-card .aPs.vote5 .vote-text,
html[data-theme="dark"] body.item #contact.modern-contact-card .votes_results span,
html[data-theme="dark"] body.item #contact.modern-contact-card .aPs.vote5 .vote-count,
html[data-theme="dark"] /* Final rates subsection override */ body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-rates-subsection-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section--rates .np-rates-subsection-label {
    color: #c9cdd4 !important;
}
@media (max-width: 768px) {
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-mobile-title,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-prefline,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method-label,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method.wac-btn.wac-item:hover,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method:hover,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite span:before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite span::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:hover,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite:hover,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:hover::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite:hover::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:hover::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite:hover::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:hover span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite:hover span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .aPs.vote5.lottie-like-button,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .votes_results,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .aPs.vote5 .vote-text,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .votes_results span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card > .mc-header .mc-title-group h2,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore:focus,
html[data-theme="dark"] .item-airbnb-about-modal h2,
html[data-theme="dark"] .item-airbnb-about-modal-copy,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .mc-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-location-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-location-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-service-icon-circle,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-rate-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .mc-value {
    color: #f2f2f4 !important;
}
}
@media (max-width: 768px) {
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-prefline--warning,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .item-contact-method-value,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text-prices,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .mc-value,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-value-text-prices,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .mc-label {
    color: #a1a7b3 !important;
}
}
@media (min-width: 769px) {
html[data-theme="dark"] .item-about-fancybox .item-airbnb-about-modal h2,
html[data-theme="dark"] .item-about-fancybox .item-airbnb-about-modal-copy,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > h2,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:focus,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--basics-relocatable .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--photo-collage-desktop .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable .availability-card__title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability-legacy.np-section--availability-relocatable .np-title,
html[data-theme="dark"] body.item.item-airbnb-layout .banner_footer .similar_ads h2,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable.availability-card--desktop-touring .availability-card__title,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--basics-relocatable .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability-legacy.np-section--availability-relocatable .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card > .mc-header--contact .mc-title-group h2 {
    color: #f2f2f4 !important;
}
}
html[data-theme="dark"] body.item #contact.modern-contact-card .fi_make_favorite::after {
    color: #a1a7b3 !important;
}
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--basics-relocatable .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability-legacy.np-section--availability-relocatable .np-label {
    color: #a1a7b3 !important;
}
}

html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card {
    border-top-color: var(--esc-dk-line) !important;
}

/* Read more - hover/focus/active states (profile12 paints #e6e6e6 !important on
   focus, which reappears when the About modal closes and returns focus) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore:focus,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-about-mobile .item-airbnb-about-readmore:active,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:focus,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel > .parameters > .item-airbnb-about-readmore--desktop:active {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #f5f5f7 !important;
}

/* Saved-favourite state stays PINK in dark mode (desktop skin + mobile), outranking
   both the light outline twins and the generated block. */
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite span {
    color: #ff3366 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff3366' stroke='%23ff3366' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite::after,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .favbtn a.fi_make_favorite.is_favorite:hover::after {
    color: #ff3366 !important;
}
}
@media (max-width: 768px) {
/* mobile heart glyph is a hardcoded #0D0808-stroke data URI in profile12 */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:not(.is_favorite)::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite:not(.is_favorite):hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L4.22 13.45 12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite::before,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff3366' stroke='%23ff3366' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") !important;
}
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite span,
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .fi_make_favorite.is_favorite::after {
    color: #ff3366 !important;
}

/* Touring availability badge keeps its light chip (small element) - text back to ink.
   Placed after the generated block so it outranks the mapped light text. */
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout .availability-card--desktop-touring .availability-card__badge,
html[data-theme="dark"] body.item.item-airbnb-layout .availability-card--desktop-touring .availability-card__badge span,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.availability-card--desktop-touring .availability-card__badge,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.availability-card--desktop-touring .availability-card__badge span {
    color: #18181b !important;
}
}

/* Logged-in blog/feed post cards (nzbf.css: white cards, #0D0808 body) */
html[data-theme="dark"] .nzbf-post {
    background: var(--esc-dk-card) !important;
    border-color: var(--esc-dk-line-strong) !important;
}
html[data-theme="dark"] .nzbf-post-body {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-post-time,
html[data-theme="dark"] .nzbf-edited {
    color: var(--esc-dk-muted) !important;
    border-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .nzbf-pinned {
    border-color: rgba(255, 51, 102, 0.35) !important;
}
html[data-theme="dark"] .nzbf-menu-btn {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .nzbf-menu-btn:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-menu-pop {
    background: var(--esc-dk-pill) !important;
    border-color: var(--esc-dk-line-strong) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] .nzbf-menu-item {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-menu-item:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .nzbf-menu-item--danger {
    color: #f87171 !important;
}
html[data-theme="dark"] .nzbf-menu-item--danger:hover {
    background: rgba(248, 113, 113, 0.12) !important;
}
html[data-theme="dark"] .nzbf-more {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-more:hover {
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Report pill: profile12 mobile-block variant uses rgba(17,17,17,...) !important
   (missed by the hex-only generator) incl. hover + the flag pseudo glyph */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .report_user,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .report_user:hover,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .report_user:hover {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.55) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .report_user::before,
html[data-theme="dark"] body.item.item-airbnb-layout .report_user:hover::before {
    color: rgba(255, 255, 255, 0.55) !important;
}

/* warning icon must stay red on the desktop skin (outranks the generic icon twin) */
@media (min-width: 769px) {
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .contact-banner.warning-banner .banner-icon {
    color: #f87171 !important;
    background: transparent !important;
}
}

/* ==================== [B4] DASHBOARD + ACCOUNT + SIDEBARS ==================== */
/* Live class map audited on DDEV (esc-* sidebar, listing-card-new cards, tiles).
   Gradient CTAs (SUPERBOOST/UPGRADE/TOURING/CREATE PROFILE), the Verify Photos
   gradient banner and the amber VIP pill stay as-is. Dashboard styles are inline
   in templates (print after dark.css) - hence !important throughout. */

html[data-theme="dark"] .esc-dashboard-bg {
    /* owner 2026-09-01: dashboard joins the uniform #0F0F0F ground (was page2
       #131313, which made the header read as a darker band) */
    background-color: var(--esc-dk-page) !important;
    color: var(--esc-dk-text) !important;
}

/* sidebar */
html[data-theme="dark"] .esc-greeting-card,
html[data-theme="dark"] .esc-menu-item,
html[data-theme="dark"] .add-profile-box,
html[data-theme="dark"] .add-profile-box__content,
html[data-theme="dark"] .listing-card-new {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}
html[data-theme="dark"] .esc-greeting-name,
html[data-theme="dark"] .esc-greeting-card {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .esc-section-header {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .esc-menu-item,
html[data-theme="dark"] .esc-menu-item a {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .esc-menu-item.esc-danger,
html[data-theme="dark"] .esc-menu-item.esc-danger a {
    border-color: rgba(248, 113, 113, 0.35) !important;
    color: #f87171 !important;
}
html[data-theme="dark"] .section-title {
    color: #f2f2f4 !important;
}

/* add new profile box */
html[data-theme="dark"] .add-profile-box__btn {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] .add-profile-box__content,
html[data-theme="dark"] .add-profile-box__content * {
    color: #e2e4e9 !important;
}

/* listing card */
html[data-theme="dark"] .listing-card__profile {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] .listing-card__avatar {
    border-color: rgba(255, 255, 255, 0.15) !important;
}
html[data-theme="dark"] .listing-card__profile a,
html[data-theme="dark"] .listing-card__tagline {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .listing-card-new a:not([class]) {
    color: var(--esc-dk-text-2) !important;
}
/* neutral boost/expiry boxes only - semantic variants (god gradient, boosted green,
   hidden orange, expired red, expiry attention) keep their hue via dark twins below */
html[data-theme="dark"] .boost-status-box:not(.boost-status-box--god):not(.boost-status-box--boosted):not(.boost-status-box--hidden):not(.boost-status-box--expired),
html[data-theme="dark"] .listing-card__expiry-widget:not(.listing-card__expiry-widget--attention) {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .boost-status-box:not(.boost-status-box--god):not(.boost-status-box--boosted):not(.boost-status-box--hidden):not(.boost-status-box--expired) *,
html[data-theme="dark"] .listing-card__expiry-widget:not(.listing-card__expiry-widget--attention) * {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .boost-status-box:not(.boost-status-box--god):not(.boost-status-box--boosted):not(.boost-status-box--hidden):not(.boost-status-box--expired) .boost-status-box__icon {
    background: rgba(255, 255, 255, 0.07) !important;
}
html[data-theme="dark"] .listing-card__expiry-icon {
    background: rgba(99, 102, 241, 0.15) !important;
}
/* semantic variant dark twins (same hue, dark-alpha surfaces; --god untouched = live gradient) */
html[data-theme="dark"] .boost-status-box--boosted {
    background: rgba(16, 185, 129, 0.12) !important;
    border-color: rgba(52, 211, 153, 0.3) !important;
    color: #6ee7b7 !important;
}
html[data-theme="dark"] .boost-status-box--boosted .boost-status-box__title,
html[data-theme="dark"] .boost-status-box--boosted .boost-status-box__subtitle {
    color: #6ee7b7 !important;
}
html[data-theme="dark"] .boost-status-box--boosted .boost-status-box__icon {
    background: rgba(16, 185, 129, 0.18) !important;
    color: #34d399 !important;
}
html[data-theme="dark"] .boost-status-box--hidden {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(252, 211, 77, 0.3) !important;
    color: #fcd34d !important;
}
html[data-theme="dark"] .boost-status-box--hidden .boost-status-box__title,
html[data-theme="dark"] .boost-status-box--hidden .boost-status-box__subtitle {
    color: #fcd34d !important;
}
html[data-theme="dark"] .boost-status-box--hidden .boost-status-box__icon {
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fbbf24 !important;
}
html[data-theme="dark"] .boost-status-box--expired {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(252, 165, 165, 0.3) !important;
    color: #fca5a5 !important;
}
html[data-theme="dark"] .boost-status-box--expired .boost-status-box__title,
html[data-theme="dark"] .boost-status-box--expired .boost-status-box__subtitle {
    color: #fca5a5 !important;
}
html[data-theme="dark"] .boost-status-box--expired .boost-status-box__icon {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #f87171 !important;
}
html[data-theme="dark"] .listing-card__expiry-widget--attention {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: rgba(252, 165, 165, 0.3) !important;
}
html[data-theme="dark"] .listing-card__expiry-widget--attention .listing-card__expiry-icon {
    background: rgba(239, 68, 68, 0.18) !important;
    color: #f87171 !important;
}
html[data-theme="dark"] .listing-card__expiry-widget--attention .listing-card__expiry-label,
html[data-theme="dark"] .listing-card__expiry-widget--attention .listing-card__expiry-date {
    color: #fca5a5 !important;
}
html[data-theme="dark"] .listing-card__views {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .asb-btn {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}

/* secondary tiles: keep each hue at dark alpha */
html[data-theme="dark"] .listing-card__btn-secondary--story {
    background: rgba(99, 102, 241, 0.13) !important;
    border-color: rgba(129, 140, 248, 0.35) !important;
    color: #a5b4fc !important;
}
html[data-theme="dark"] .listing-card__btn-secondary--story * {
    color: #a5b4fc !important;
}
html[data-theme="dark"] .listing-card__btn-secondary--video {
    background: rgba(139, 92, 246, 0.13) !important;
    border-color: rgba(167, 139, 250, 0.35) !important;
    color: #c4b5fd !important;
}
html[data-theme="dark"] .listing-card__btn-secondary--video * {
    color: #c4b5fd !important;
}
html[data-theme="dark"] .listing-card__btn-secondary.nzbf-dtile {
    background: rgba(255, 51, 102, 0.11) !important;
    border-color: rgba(255, 51, 102, 0.22) !important;
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .nzbf-dtile-pill {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffb3c4 !important;
}
html[data-theme="dark"] .listing-card__btn-counter {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .listing-card__btn-tertiary,
html[data-theme="dark"] .listing-card__stats-link {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .listing-card__btn-tertiary:hover,
html[data-theme="dark"] .listing-card__stats-link:hover {
    color: #f2f2f4 !important;
}

/* D3 (rescoped r3): only purchase/upgrade/renewal/publish windows stay LIGHT
   (.upgrade-window, the Auto Superboost .asb-window, and the legacy independent-renew
   modal); ordinary modals (delete profile etc.) are dark like the page.
   .listing-modal itself is the full-viewport backdrop - translucent in both modes. */
/* (backdrop deliberately NOT overridden - light CSS renders the correct dims:
   0.5 default, 0.55 for the upgrade window, preserving D3 pixel identity) */
/* default (non-payment) modals: dark sheet */
html[data-theme="dark"] .listing-modal__content {
    background: var(--esc-dk-sheet) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .listing-modal__header,
html[data-theme="dark"] .listing-modal__footer {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .listing-modal__header h3 {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .listing-modal__close {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .listing-modal__close:hover {
    background: rgba(255, 255, 255, 0.18) !important;
}
html[data-theme="dark"] .listing-modal__header--gradient .listing-modal__close {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
}
html[data-theme="dark"] .listing-modal__body p {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .listing-modal__subtitle {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .listing-modal__icon--danger {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #f87171 !important;
}
html[data-theme="dark"] .listing-modal__btn--cancel {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .listing-modal__btn--cancel:hover {
    background: rgba(255, 255, 255, 0.14) !important;
}
/* __btn--danger keeps its light-CSS red (readable on dark) */
html[data-theme="dark"] .listing-modal .warning-box {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(252, 211, 77, 0.35) !important;
}
html[data-theme="dark"] .listing-modal .warning-title {
    color: #fcd34d !important;
}
html[data-theme="dark"] .listing-modal .warning-list,
html[data-theme="dark"] .listing-modal .warning-list li {
    color: #e8c986 !important;
}
/* D3 LIGHT ISLANDS: upgrade/superboost/renewal/publish + Auto Superboost windows */
html[data-theme="dark"] .listing-modal.upgrade-window,
html[data-theme="dark"] .listing-modal.asb-window {
    color-scheme: light !important;
    color: #0f0f0f !important;
}
html[data-theme="dark"] .listing-modal.upgrade-window .modal-container {
    background: #ffffff !important;
    color: #0f0f0f !important;
}
/* legacy independent-renew modal (renewal window, D3): restore its light skin */
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] {
    color-scheme: light !important;
    color: #0f0f0f !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__content {
    background: #ffffff !important;
    color: #0f0f0f !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__header h3 {
    color: #111827 !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__close {
    background: rgba(0, 0, 0, 0.1) !important;
    color: #6b7280 !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__body p,
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__subtitle {
    color: #6b7280 !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__btn--cancel {
    background: #f3f4f6 !important;
    color: #374151 !important;
}
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__header,
html[data-theme="dark"] .listing-modal[id^="independent-renew-"] .listing-modal__footer {
    border-color: #e5e7eb !important;
}

/* --- [B4] account pages (esc-* shell, blacklist, nzpc, delete, welcome, feed/blog) --- */

/* bare account H1s (profile, change email/password, alerts, saved videos, hot) */
html[data-theme="dark"] body.user h1 {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .esc-page-title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .esc-menu-link {
    color: #e2e4e9 !important;
}
/* active sidebar link: light pink wash -> dark pink tint */
html[data-theme="dark"] a.esc-menu-link[style],
html[data-theme="dark"] .esc-menu-link.is-active,
html[data-theme="dark"] .esc-menu-link.active {
    background: rgba(255, 51, 102, 0.14) !important;
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .esc-form-card,
html[data-theme="dark"] .blacklist-card,
html[data-theme="dark"] .nzpc-guide {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .esc-form-card p,
html[data-theme="dark"] .blacklist-card p,
html[data-theme="dark"] .nzpc-guide p,
html[data-theme="dark"] .nzpc-guide strong,
html[data-theme="dark"] .blacklist-card strong {
    color: #d5d7dd !important;
}
/* delete-account warning block: light red wash -> dark red tint */
html[data-theme="dark"] .esc-warning-icon {
    background: rgba(248, 113, 113, 0.15) !important;
}
html[data-theme="dark"] .esc-form-card h3,
html[data-theme="dark"] .esc-warning-icon ~ * h3 {
    color: #f87171 !important;
}
/* blacklist table + inputs */
html[data-theme="dark"] .blacklist-card table tr,
html[data-theme="dark"] .blacklist-card table td {
    background: transparent !important;
    color: #d5d7dd !important;
    border-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .blacklist-card table th,
html[data-theme="dark"] .blacklist-card table tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.04) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.user .esc-form-card input,
html[data-theme="dark"] body.user .esc-form-card select,
html[data-theme="dark"] body.user .esc-form-card textarea,
html[data-theme="dark"] .blacklist-card input {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #f2f2f4 !important;
}

/* welcome page (nzbf city onboarding) */
html[data-theme="dark"] .nzbf-welcome-title,
html[data-theme="dark"] .nzbf-welcome-title span {
    color: #f2f2f4 !important;
}

/* member feed page + advertiser blog manage page */
html[data-theme="dark"] .nzbf-tab {
    color: var(--esc-dk-text-2) !important;
}
html[data-theme="dark"] .nzbf-tab.is-active {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-ef-card,
html[data-theme="dark"] .nzbf-mz-card,
html[data-theme="dark"] .nzbf-mz-strip {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
}
html[data-theme="dark"] .nzbf-ef-name,
html[data-theme="dark"] .nzbf-mz-name,
html[data-theme="dark"] .nzbf-ef-h,
html[data-theme="dark"] .nzbf-mz-rowlbl {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-ef-browse {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-feed--manage {
    background: var(--esc-dk-page) !important;
}
/* media/avatar placeholder backdrops behind images */
html[data-theme="dark"] .nzbf-ef-av,
html[data-theme="dark"] .nzbf-mz-av,
html[data-theme="dark"] .nzbf-activity-thumb,
html[data-theme="dark"] .nzbf-media-cell,
html[data-theme="dark"] .nzbf-media-img {
    background-color: var(--esc-dk-inner) !important;
}

/* account sidebar active + danger-hover states (listing-card-new-3.css) */
html[data-theme="dark"] .esc-menu-item.esc-active .esc-menu-link {
    background: rgba(255, 51, 102, 0.14) !important;
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .esc-menu-item.esc-danger:hover {
    background: rgba(248, 113, 113, 0.12) !important;
}
/* sidebar icons (#1f1f1f in light) + hover/focus wash (#f1f3f4 in light) */
html[data-theme="dark"] .esc-menu-icon {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .esc-menu-item.esc-active .esc-menu-icon {
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .esc-menu-item.esc-danger .esc-menu-icon {
    color: #f87171 !important;
}
html[data-theme="dark"] .esc-menu-item:not(.esc-danger):not(.esc-active) .esc-menu-link:hover,
html[data-theme="dark"] .esc-menu-item:not(.esc-danger):not(.esc-active) .esc-menu-link:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #f2f2f4 !important;
}
/* mobile "Menu" pill - styled by an inline <style> in user-sidebar.php (non-important) */
html[data-theme="dark"] .esc-menu-toggle-inline {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="dark"] .esc-menu-toggle-inline:hover {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
html[data-theme="dark"] .esc-menu-toggle-inline .esc-menu-person {
    fill: #c9cdd4 !important;
}
html[data-theme="dark"] .esc-menu-toggle-inline .esc-menu-label {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .esc-menu-toggle-inline .esc-menu-arrow {
    stroke: #c9cdd4 !important;
}
/* 404 / bare intro pages */
html[data-theme="dark"] .intro_txt h1,
html[data-theme="dark"] .intro_txt h2,
html[data-theme="dark"] .intro_txt p {
    color: #e2e4e9 !important;
}
/* blacklist page shell */
html[data-theme="dark"] .blacklist-intro p {
    color: #d5d7dd !important;
}
html[data-theme="dark"] .blacklist-search input {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #f2f2f4 !important;
}
/* nzpc guide internals */
html[data-theme="dark"] .nzpc-guide h3 {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzpc-guide li {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .nzpc-guide h4 {
    color: #fbbf24 !important;
}
/* welcome page classless subtitle spans (scoped to the welcome card only - a broader
   account-wide span rule would clobber inline green/amber status spans in plugin views) */
html[data-theme="dark"] .nzbf-welcome span:not([class]) {
    color: #d5d7dd !important;
}
/* Fix 4: blacklist submission modal (plugins/block, hidden until opened) */
html[data-theme="dark"] .bl-modal-container {
    background: var(--esc-dk-sheet) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .bl-modal-title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bl-modal-subtitle {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .bl-modal-close {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .bl-modal-close:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bl-modal-form .bl-field label {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .bl-modal-form .bl-field input,
html[data-theme="dark"] .bl-modal-form .bl-field select,
html[data-theme="dark"] .bl-modal-form .bl-field textarea,
html[data-theme="dark"] .bl-modal-form .bl-field .select-box-trigger {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bl-modal-success p {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .bl-modal-error {
    background: rgba(239, 68, 68, 0.14) !important;
    color: #fca5a5 !important;
}
/* blog manage counts */
html[data-theme="dark"] .nzbf-mz-count {
    color: #f2f2f4 !important;
}

/* My Videos (plugins/video user dashboard, route /video/user/) */
html[data-theme="dark"] .vid-modern-dashboard {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .vid-modern-dashboard h3,
html[data-theme="dark"] .vid-modern-dashboard h3 a,
html[data-theme="dark"] .vid-card-title,
html[data-theme="dark"] .vid-card-title a {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .vid-stat-card,
html[data-theme="dark"] .vid-card {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
}
html[data-theme="dark"] .vid-card-header {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .vid-stat-value {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .vid-btn-secondary {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
/* stat icon chips: same hue at dark alpha (blue + purple chips are inline-styled) */
html[data-theme="dark"] .vid-stat-icon {
    background: rgba(255, 255, 255, 0.07) !important;
}
html[data-theme="dark"] .vid-icon-rose {
    background: rgba(244, 63, 94, 0.14) !important;
    color: #fda4af !important;
}
html[data-theme="dark"] .vid-icon-emerald {
    background: rgba(16, 185, 129, 0.14) !important;
    color: #6ee7b7 !important;
}
html[data-theme="dark"] .vid-stat-icon[style*="#eff6ff"] {
    background: rgba(59, 130, 246, 0.14) !important;
    color: #93c5fd !important;
}
html[data-theme="dark"] .vid-stat-icon[style*="#fdf4ff"] {
    background: rgba(168, 85, 247, 0.14) !important;
    color: #d8b4fe !important;
}
html[data-theme="dark"] .esc-greeting-text {
    color: #e2e4e9 !important;
}

/* ==================== [B5] AUTH (login / register / visitor-signup) ==================== */
/* body.login covers login + register + visitor-signup; page backdrops are already
   dark by design - only the white form card and register panel flip. Gradient LOG IN
   and pink CREATE ACCOUNT outline stay untouched. */

html[data-theme="dark"] body.login .form-container {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5) !important;
}
html[data-theme="dark"] body.login #main,
html[data-theme="dark"] body.login .reg-box {
    background: transparent !important;
}
html[data-theme="dark"] body.login .form-container label {
    color: #d5d7dd !important;
}
html[data-theme="dark"] body.login .form-container input[type="text"],
html[data-theme="dark"] body.login .form-container input[type="email"],
html[data-theme="dark"] body.login .form-container input[type="password"],
html[data-theme="dark"] body.login .form-container select,
html[data-theme="dark"] body.login .form-container textarea {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.login .form-container input::placeholder,
html[data-theme="dark"] body.login .form-container textarea::placeholder {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] body.login .form-container a:not([class]) {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.login .register-title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.login .welcomeback {
    color: var(--esc-dk-text-2) !important;
}
/* advertiser/visitor tab cards */
html[data-theme="dark"] body.login .usertype-tabs label {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
}
html[data-theme="dark"] body.login .usertype-opt-radio {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}
html[data-theme="dark"] body.login .usertype-opt-name {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.login .usertype-opt-desc {
    color: var(--esc-dk-text-2) !important;
}

/* --- [B5] posting forms (item-post / item-edit: .item-post-card family) --- */
html[data-theme="dark"] .item-post-card {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .item-post-card .form-field,
html[data-theme="dark"] .item-post-card .control-group {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .item-post-card label,
html[data-theme="dark"] .item-post-card .form-field label {
    color: #d5d7dd !important;
}
html[data-theme="dark"] .item-post-card input[type="text"],
html[data-theme="dark"] .item-post-card input[type="email"],
html[data-theme="dark"] .item-post-card input[type="number"],
html[data-theme="dark"] .item-post-card input[type="tel"],
html[data-theme="dark"] .item-post-card select,
html[data-theme="dark"] .item-post-card textarea,
html[data-theme="dark"] .item-post-card .select-box-trigger {
    background: var(--esc-dk-pill) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .item-post-card input::placeholder,
html[data-theme="dark"] .item-post-card textarea::placeholder {
    color: var(--esc-dk-muted) !important;
}
/* radio/checkbox option chips: white -> pill; selected pink wash -> dark pink tint */
html[data-theme="dark"] .item-post-card .control-group label {
    background: var(--esc-dk-pill) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .item-post-card .control-group label[style*="fff0f3"],
html[data-theme="dark"] .item-post-card .control-group input:checked + label,
html[data-theme="dark"] .item-post-card .control-group label.checked,
html[data-theme="dark"] .item-post-card .control-group label.is-selected {
    background: rgba(255, 51, 102, 0.16) !important;
    border-color: rgba(255, 51, 102, 0.4) !important;
    color: #ffb3c4 !important;
}
html[data-theme="dark"] .item-post-card .toggle-slider {
    background: rgba(255, 255, 255, 0.2) !important;
}
html[data-theme="dark"] .item-post-card .atr-prices-subsection-label {
    color: var(--esc-dk-muted) !important;
}
/* uploader */
html[data-theme="dark"] .qq-upload-button {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line-strong) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .qq-upload-list li,
html[data-theme="dark"] li.qq-upload-success {
    background: var(--esc-dk-inner) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .qq-upload-delete {
    background: rgba(23, 23, 28, 0.95) !important;
    color: #f2f2f4 !important;
}

html[data-theme="dark"] .item-post-card .select-box-label {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .item-post-card .toggle-label {
    color: var(--esc-dk-text-2) !important;
}
html[data-theme="dark"] .upload-instruction-title {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .upload-instruction-text,
html[data-theme="dark"] .upload-instruction-sub {
    color: var(--esc-dk-text-2) !important;
}
/* availability plugin enable card on item-edit */
html[data-theme="dark"] .availability-shell {
    background: var(--esc-dk-inner) !important;
    border-color: var(--esc-dk-line) !important;
}
html[data-theme="dark"] .availability-enable-card {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .availability-enable-switch {
    background: rgba(255, 255, 255, 0.2) !important;
}
html[data-theme="dark"] .availability-shell__title,
html[data-theme="dark"] .availability-enable-card__title {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .availability-shell__dots span {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* ==================== [B4/B5 gate r2] STATE-VARIANT FIXES ==================== */
/* Codex round-2 findings: interaction/conditional states the resting-state scans
   missed. Placed last so equal-specificity ties resolve to these rules. */

/* r2-1 D3: body.user h1 bled into the light purchase/upgrade modal heading -
   counter-rule restores the light-CSS value inside the LIGHT windows only */
html[data-theme="dark"] body.user .listing-modal.upgrade-window .header-title,
html[data-theme="dark"] body.user .listing-modal.upgrade-window h1,
html[data-theme="dark"] body.user .listing-modal.asb-window h1,
html[data-theme="dark"] body.user .listing-modal[id^="independent-renew-"] h1 {
    color: var(--color-neutral-900, #171717) !important;
}

/* r2-2 register/visitor-signup card inputs (register-usertype.css uses !important
   at higher specificity than the .form-container rules - mirror it) */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input[type="text"],
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input[type="password"],
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input[type="email"] {
    background: var(--esc-dk-inner) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}

/* r2-3a selected account-type card: light's near-black ring is invisible on dark -
   use the brand accent */
html[data-theme="dark"] body.login .bg-signup .register-form-card .usertype-tabs input[type="radio"]:checked + label {
    border-color: #ff8fa8 !important;
    box-shadow: 0 0 0 1px #ff8fa8 !important;
}
/* r2-3b checked radio dot (near-black in light CSS) */
html[data-theme="dark"] body.login .usertype-tabs input[type="radio"]:checked + label .usertype-opt-radio {
    border-color: #ff8fa8 !important;
}
html[data-theme="dark"] body.login .usertype-tabs input[type="radio"]:checked + label .usertype-opt-radio::after {
    background: #ff8fa8 !important;
}
/* r2-3c login/register invalid + server-error states (login.css:544); the first
   selector out-specifies the r2-2 register input rule so the error skin wins */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input.is-invalid,
html[data-theme="dark"] body.login input.is-invalid {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    box-shadow: 0 0 0 1px #f87171 !important;
}
html[data-theme="dark"] body.login div.is-invalid {
    color: #fca5a5 !important;
}

/* r2-4a WhatsApp/website toggle keeps its checked green (item-post.css:1254) */
html[data-theme="dark"] .toggle-switch input:checked + .toggle-slider {
    background-color: #25D366 !important;
}
/* r2-4b posting field error surfaces stay red */
html[data-theme="dark"] body.item-post input.field-error,
html[data-theme="dark"] body.item-post textarea.field-error,
html[data-theme="dark"] body.item-post select.field-error {
    border: 2px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
}
/* r2-4c incall/outcall suburb pills (item-post.css:1409 sets white !important) */
html[data-theme="dark"] body.item-post #atr-form .incall-suburbs-wrap .atr-input-box,
html[data-theme="dark"] body.item-post #atr-form .outcall-suburbs-wrap .atr-input-box {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
/* attribute pills: checked state keeps the pink identity at dark alpha */
html[data-theme="dark"] body.item-post #atr-form .atr-input-box input[type="radio"]:checked + label,
html[data-theme="dark"] body.item-post #atr-form .atr-input-box input[type="checkbox"]:checked + label {
    background-color: rgba(255, 51, 102, 0.14) !important;
    border-color: #ff3366 !important;
    color: #ff8fa8 !important;
}

/* r2-5 availability master switch ON state (light uses near-black - invisible here) */
html[data-theme="dark"] .availability-enable-switch.is-on {
    background: #ff3366 !important;
}

/* r2-6 My Videos conditional controls (video user.css:773+) */
html[data-theme="dark"] .vid-action-btn {
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .vid-btn-star:hover,
html[data-theme="dark"] .vid-btn-star.active {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #fbbf24 !important;
    border-color: rgba(252, 211, 77, 0.4) !important;
}
html[data-theme="dark"] .vid-btn-trash:hover {
    background: rgba(239, 68, 68, 0.14) !important;
    color: #f87171 !important;
    border-color: rgba(252, 165, 165, 0.35) !important;
}
html[data-theme="dark"] .vid-card-add {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .vid-card-add:hover {
    background: rgba(244, 63, 94, 0.1) !important;
    border-color: #f43f5e !important;
    color: #fda4af !important;
}
html[data-theme="dark"] .vid-add-icon {
    background: var(--esc-dk-pill) !important;
    color: #fda4af !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

/* r2-7 dashboard/account conditional surfaces */
html[data-theme="dark"] .listing-card__avatar--empty {
    background: var(--esc-dk-pill) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .listing-card__btn-tertiary:hover,
html[data-theme="dark"] .listing-card__stats-link:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .esc-menu-item.esc-danger:hover,
html[data-theme="dark"] .esc-menu-item.esc-danger:hover a {
    color: #fca5a5 !important;
}
html[data-theme="dark"] .esc-form-card .control-group {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] .esc-form-card .esc-current-email {
    background: var(--esc-dk-pill) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .esc-form-card .flashmessage-error {
    background-color: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.5) !important;
    color: #fca5a5 !important;
}
html[data-theme="dark"] .esc-form-card .flashmessage-ok {
    background-color: rgba(34, 197, 94, 0.12) !important;
    border-color: rgba(34, 197, 94, 0.45) !important;
    color: #86efac !important;
}
html[data-theme="dark"] .asb-btn .asb-btn__meta {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .asb-btn .asb-btn__meta b {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bl-modal-submit:disabled {
    background: rgba(255, 255, 255, 0.14) !important;
    color: rgba(255, 255, 255, 0.45) !important;
}
html[data-theme="dark"] .bl-modal-success .bl-check-icon {
    background: rgba(16, 185, 129, 0.16) !important;
}
html[data-theme="dark"] .bl-modal-success .bl-check-icon svg {
    stroke: #34d399 !important;
}

/* ==================== [B4/B5 gate r3 + owner reports] ==================== */

/* OWNER REPORT: desktop SMS/phone pill - the solid variant inverts to a white pill,
   but the generic ghost-pill child rules painted its label/number/icon near-white
   (white-on-white). Dark ink for the solid variant, light ink for the ghost variant. */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn .phone-number {
    color: #100E0E !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn .phone-label {
    color: #55606e !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .phone-wrapper a.phone-cta-btn .phone-icon-box {
    color: #18181b !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn .phone-number {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn .phone-label {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .whatsapp-wrapper + .phone-wrapper a.phone-cta-btn .phone-icon-box {
    color: #f2f2f4 !important;
}

/* OWNER REPORT: login "Create account" hover flips to near-black (#222) - invisible */
html[data-theme="dark"] .openaccountlogin:hover {
    border-color: #ff8fa8 !important;
    color: #ff8fa8 !important;
}

/* item page mobile info pills (profile12.css mobile block: #fbf7f8) */
@media (max-width: 768px) {
    html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .mc-stat-item {
        background: var(--esc-dk-inner) !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
    }
}

/* r3-1 auth: server-error twin, checkbox error keeps its no-border ring treatment,
   login flash banner */
html[data-theme="dark"] body.login input.server-error {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    box-shadow: 0 0 0 1px #f87171 !important;
}
html[data-theme="dark"] body.login input[type="checkbox"].is-invalid,
html[data-theme="dark"] body.login input[type="checkbox"].server-error {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: 2px solid #f87171 !important;
}
html[data-theme="dark"] body.login .flashmessage-error {
    background-color: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.5) !important;
    color: #fca5a5 !important;
}

/* r3-2 incall/outcall checked PARENT pill keeps its pink surface (item-post.css:1508) */
html[data-theme="dark"] body.item-post #atr-form .incall-suburbs-wrap .atr-input-box:has(input:checked),
html[data-theme="dark"] body.item-post #atr-form .outcall-suburbs-wrap .atr-input-box:has(input:checked),
html[data-theme="dark"] body.item-post #atr-form .incall-suburbs-wrap .atr-input-box.checked,
html[data-theme="dark"] body.item-post #atr-form .outcall-suburbs-wrap .atr-input-box.checked {
    border: 2px solid #ff3366 !important;
    background-color: rgba(255, 51, 102, 0.14) !important;
}

/* r3-3a My Statistics (hide_phone phone_stats view, --stx-* token flip) */
html[data-theme="dark"] .stx-title,
html[data-theme="dark"] .stx-wrap {
    --stx-ink: #f2f2f4;
    --stx-muted: #a1a7b3;
    --stx-pink-deep: #ff8fa8;
    --stx-blush: rgba(255, 51, 102, 0.14);
    --stx-grid: rgba(255, 255, 255, 0.1);
    --stx-card: #1C1C1C;
    --stx-shadow: 0 2px 4px rgba(0, 0, 0, 0.3), 0 14px 34px -24px rgba(0, 0, 0, 0.6);
}

/* r3-3b blog composer (/user/blog-new, nzbf-composer.css hardcoded whites) */
html[data-theme="dark"] .nzbf-composer {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .nzbf-compose-empty {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] .nzbf-compose-empty__title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-compose-empty__text,
html[data-theme="dark"] .nzbf-compose-sub {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .nzbf-pick-card {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-pick-thumb--blank {
    background: var(--esc-dk-pill) !important;
}
html[data-theme="dark"] .nzbf-btn--dark {
    background: #FDFFF0 !important;
    border-color: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-btn--dark:hover {
    background: #F2F4E4 !important;
    border-color: #e2e4e9 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-btn--brand:disabled,
html[data-theme="dark"] .nzbf-btn--dark:disabled {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: rgba(255, 255, 255, 0.4) !important;
}

/* r3-3c FAQ plugin (plugins/faq/css/user.css) */
html[data-theme="dark"] #faq-search-block input[name="pattern"] {
    background-color: var(--esc-dk-inner) !important;
    color: #f2f2f4 !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] #faq-search-block div.button > span > button {
    background: var(--esc-dk-pill) !important;
}
html[data-theme="dark"] #faq-category-block .faq-category {
    background: var(--esc-dk-card) !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] #faq-category-block .faq-category:hover {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] #faq-category-block .faq-category strong {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] #faq-category-block .faq-category span {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .faq-post-inside {
    background: var(--esc-dk-card) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .faq-title {
    color: #f2f2f4 !important;
}

/* r3-4a My Videos upload form (/video/new/{id}) */
html[data-theme="dark"] .vid-form-container {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .vid-upload-box {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .vid-upload-box:hover {
    background: rgba(244, 63, 94, 0.1) !important;
    border-color: #f43f5e !important;
    color: #fda4af !important;
}

/* r3-4b availability EDITOR token flip - scoped to the editor containers so the
   public profile availability card (which uses --avail-white as ink on its own
   dark "today" rows) is untouched; the is-on switch keeps its #ff3366 twin above */
html[data-theme="dark"] .availability-shell,
html[data-theme="dark"] .availability-editor,
html[data-theme="dark"] .availability-enable-card {
    --avail-bg: #191919;
    --avail-white: #1C1C1C;
    --avail-black: #f2f2f4;
    --avail-gray: #a1a7b3;
    --avail-border: rgba(255, 255, 255, 0.14);
    --avail-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
}

/* r3-5 item-send-friend / contact form (body.contact .form-container-box) */
html[data-theme="dark"] body.contact .form-container-box {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.contact .form-container-box .header {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] body.contact .form-container-box .header h1 {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.contact .form-container label {
    color: #d5d7dd !important;
}
html[data-theme="dark"] body.contact .form-container input[type="text"],
html[data-theme="dark"] body.contact .form-container input[type="email"],
html[data-theme="dark"] body.contact .form-container textarea {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}

/* r3-7 dashboard/account leftovers */
html[data-theme="dark"] .listing-card__btn-tertiary--danger i {
    color: #f87171 !important;
}
html[data-theme="dark"] .listing-card__btn-tertiary--danger:hover {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #fca5a5 !important;
    border-color: rgba(252, 165, 165, 0.3) !important;
}
html[data-theme="dark"] .esc-form-card .esc-current-email {
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .esc-warning-box {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: rgba(252, 165, 165, 0.3) !important;
}
html[data-theme="dark"] .esc-warning-icon {
    background: rgba(239, 68, 68, 0.16) !important;
    color: #f87171 !important;
}
html[data-theme="dark"] .esc-warning-content h3 {
    color: #fca5a5 !important;
}
html[data-theme="dark"] .esc-warning-content p {
    color: #f3b8b8 !important;
}

/* r3 stragglers (post-sweep) */
/* blog composer bar + byline */
html[data-theme="dark"] .nzbf-composer-for {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-composer-bar {
    background: var(--esc-dk-card) !important;
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
/* My Statistics: pieces the --stx token flip inverts wrongly */
html[data-theme="dark"] .stx-wrap .stx-hero {
    background: #252525 !important;
}
html[data-theme="dark"] .stx-title .stx-hl {
    background: rgba(255, 51, 102, 0.25) !important;
}
html[data-theme="dark"] .stx-wrap .stx-tgl {
    background: var(--esc-dk-pill) !important;
}
html[data-theme="dark"] .stx-wrap .stx-tgl button:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .stx-wrap .stx-tgl button.active {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
/* video plugin token flip (plugins/video/css/user.css :root) */
html[data-theme="dark"] {
    --vid-slate-50: #202020;
    --vid-slate-100: rgba(255, 255, 255, 0.08);
    --vid-slate-200: rgba(255, 255, 255, 0.14);
    --vid-slate-300: rgba(255, 255, 255, 0.22);
    --vid-slate-400: #8b93a1;
    --vid-slate-500: #a1a7b3;
    --vid-slate-800: #e2e4e9;
    --vid-slate-900: #f2f2f4;
    --vid-rose-50: rgba(244, 63, 94, 0.12);
    --vid-rose-100: rgba(244, 63, 94, 0.16);
    --vid-emerald-100: rgba(16, 185, 129, 0.18);
    --vid-white: #1C1C1C;
    --vid-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
    --vid-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
}
/* the rose primary button keeps white text (uses --vid-white as ink) */
html[data-theme="dark"] .vid-btn-primary {
    color: #ffffff !important;
}
/* FAQ headings */
html[data-theme="dark"] #faq-search-block h1,
html[data-theme="dark"] #faq-category-block h2,
html[data-theme="dark"] #faq-post-block h2 {
    color: #f2f2f4 !important;
}

/* ==================== [B4/B5 gate r4] ==================== */

/* r4-5a login-page error states: mirror the .form-container input specificity so
   the red skin beats the normal dark input rule (placed later = wins ties) */
html[data-theme="dark"] body.login .form-container input.is-invalid,
html[data-theme="dark"] body.login .form-container input.server-error {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    box-shadow: 0 0 0 1px #f87171 !important;
}
/* r4-5b register focus ring (light CSS uses near-black #1A1A1A - invisible here) */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input:focus {
    border-color: #ff8fa8 !important;
    box-shadow: 0 0 0 1px #ff8fa8 !important;
}
/* r4-5c register server-error joins the is-invalid mirror (after focus = wins tie) */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input.is-invalid,
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input.server-error {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    box-shadow: 0 0 0 1px #f87171 !important;
}
/* r4-5d password show/hide eye */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls .toggle-pass {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls .toggle-pass:hover {
    color: #f2f2f4 !important;
}

/* r4-6 recover-password page (body.recover, inline-styled light slabs) */
/* legacy inline light-canvas wrappers (recover, story item page, ...) - the
   pattern is <div style="background:#ebeced"> around the whole content area;
   light-locked pages never carry the dark attribute so payment routes are safe */
html[data-theme="dark"] div[style*="#ebeced"] {
    background: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.recover .form-container-box {
    background: var(--esc-dk-card) !important;
    box-shadow: none !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.recover .form-container-box h2.ads {
    color: #f2f2f4 !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] body.recover .control-label {
    color: #d5d7dd !important;
}
html[data-theme="dark"] body.recover .form-container input[type="text"],
html[data-theme="dark"] body.recover .form-container input[type="email"] {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}

/* r4-7 contact/send-friend validation bits (both routes share body.contact) */
html[data-theme="dark"] body.contact label.error,
html[data-theme="dark"] body.contact #error_list li {
    color: #fca5a5 !important;
}
html[data-theme="dark"] body.contact .flashmessage-error {
    background-color: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(248, 113, 113, 0.5) !important;
    color: #fca5a5 !important;
}

/* r4-8 incall/outcall unselected pill hover feedback (item-post.css:1427) */
html[data-theme="dark"] body.item-post #atr-form .incall-suburbs-wrap .atr-input-box:hover:not(.checked):not(:has(input:checked)),
html[data-theme="dark"] body.item-post #atr-form .outcall-suburbs-wrap .atr-input-box:hover:not(.checked):not(:has(input:checked)) {
    border-color: rgba(255, 255, 255, 0.28) !important;
    background-color: var(--esc-dk-inner) !important;
}

/* r4-2 blog composer active state (textarea, poll builder, tools) */
html[data-theme="dark"] .nzbf-composer-body {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-composer-body::placeholder {
    color: var(--esc-dk-muted) !important;
}
/* the theme's global textarea:focus (main.css:270) flips backgrounds to #FFF -
   the composer body is transparent over the dark card, so a click turned it
   white (owner 2026-09-01). Its own :focus rule already kills the border/shadow. */
html[data-theme="dark"] .nzbf-composer-body:focus {
    background: transparent !important;
}
html[data-theme="dark"] .nzbf-composer .nzbf-poll {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .nzbf-poll-x {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-poll-x:hover {
    background: #F2F4E4 !important;
}
html[data-theme="dark"] .nzbf-poll-in {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nzbf-poll-count {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .nzbf-tool {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .nzbf-tool:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .nzbf-tool:focus-visible {
    outline-color: #f2f2f4 !important;
}

/* r4-3 FAQ deep states: search band, category hero, answer rows, hover */
html[data-theme="dark"] #faq-search-block .faq-search-form {
    background: transparent !important;
}
html[data-theme="dark"] #faq-body.faq-category .faq-category-header {
    background: linear-gradient(135deg, #1C1C1C 0%, #171717 100%) !important;
}
html[data-theme="dark"] #faq-post-block .faq-post-inside {
    background: var(--esc-dk-card) !important;
}
html[data-theme="dark"] #faq-post-block .faq-row {
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] #faq-post-block .faq-row:not(.faq-expanded):last-child .faq-top {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] #faq-post-block .faq-row .faq-top {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] #faq-post-block .faq-row:not(.faq-expanded) .faq-top:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;
}
html[data-theme="dark"] #faq-post-block .faq-row .faq-content,
html[data-theme="dark"] #faq-post-block .faq-expanded {
    background: var(--esc-dk-card) !important;
    color: #c9cdd4 !important;
}
html[data-theme="dark"] #faq-body h1,
html[data-theme="dark"] #faq-body h2 {
    color: #f2f2f4 !important;
}

/* r4-4 video upload active/success states (inline-styled; !important beats the
   style attributes) - the Uppy dashboard itself now gets theme:'dark' via
   video_new.php and these back it up */
html[data-theme="dark"] .vid-upload-overlay {
    background: rgba(10, 10, 12, 0.96) !important;
}
html[data-theme="dark"] .uppy-Dashboard-inner {
    background-color: var(--esc-dk-sheet) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .vid-res-one {
    border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .vid-res-info {
    background: var(--esc-dk-card) !important;
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .vid-res-info .vid-res-file-name {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .vid-preview-trigger img {
    background: var(--esc-dk-inner) !important;
}

/* r4-9b public availability card on the item page (profile12.css skin: white
   badge/day pills + light dividers; the base --avail vars stay original here) */
@media (min-width: 769px) {
    html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__badge {
        color: #18181b !important;
    }
    html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__badge span,
    html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__badge * {
        color: #18181b !important;
    }
}
@media (max-width: 768px) {
    html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__badge,
    html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__badge * {
        color: rgba(255, 255, 255, 0.96) !important;
    }
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day {
    background: transparent !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day.is-open,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day.is-closed {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day + .availability-card__day {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-top,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-name {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-short,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-note {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-time,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-hours {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day.is-today {
    background: #252525 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.availability-card--desktop-touring {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}

/* ==================== [B4/B5 gate r5] ==================== */

/* r5-2 FAQ expanded answers use .faq-bottom (not .faq-content) + themed variants */
html[data-theme="dark"] #faq-post-block .faq-row .faq-bottom,
html[data-theme="dark"] #faq-body.faq-theme-alpha #faq-post-block .faq-bottom,
html[data-theme="dark"] #faq-body.faq-theme-beta #faq-post-block .faq-bottom,
html[data-theme="dark"] #faq-body.faq-theme-gamma #faq-post-block .faq-bottom {
    background: var(--esc-dk-inner) !important;
    color: #c9cdd4 !important;
}
html[data-theme="dark"] #faq-post-block .faq-row .faq-bottom .faq-description,
html[data-theme="dark"] #faq-post-block .faq-row .faq-bottom .faq-description p,
html[data-theme="dark"] #faq-post-block .faq-row .faq-bottom .faq-description li {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] #faq-post-block .faq-row.faq-expanded:last-child .faq-bottom {
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}
/* hero headings carry ID+!important light inks - mirror at ID specificity */
html[data-theme="dark"] #faq-body .faq-category-header h1,
html[data-theme="dark"] #faq-body.faq-category .faq-category-header h1 {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] #faq-body .faq-category-header h2,
html[data-theme="dark"] #faq-body.faq-category .faq-category-header h2 {
    color: #a1a7b3 !important;
}

/* r5-3 dashboard card details: description ink, card dividers, tile hovers */
html[data-theme="dark"] .listing-card__description,
html[data-theme="dark"] .listing-card__description a {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .listing-card__details {
    border-right-color: rgba(255, 255, 255, 0.08) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .add-profile-box__content {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] a.listing-card__views:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] a.listing-card__views:hover i {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .listing-card__btn-secondary--story:hover {
    background: rgba(99, 102, 241, 0.22) !important;
}
html[data-theme="dark"] .listing-card__btn-secondary--video:hover {
    background: rgba(139, 92, 246, 0.22) !important;
}

/* r5-4 account forms: labels, invalid states (mirror .esc-form-card specificity,
   placed after the normal input skin), show/hide password eye (login + account) */
html[data-theme="dark"] .esc-form-card .control-label {
    color: #d5d7dd !important;
}
html[data-theme="dark"] .esc-form-card input.is-invalid,
html[data-theme="dark"] .esc-form-card select.is-invalid,
html[data-theme="dark"] .esc-form-card textarea.is-invalid {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
}
html[data-theme="dark"] .esc-form-card div.is-invalid {
    color: #fca5a5 !important;
}
html[data-theme="dark"] a.toggle-pass {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] a.toggle-pass:hover {
    color: #f2f2f4 !important;
}
/* blacklist search focus + row hover */
html[data-theme="dark"] .blacklist-search input:focus {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}
html[data-theme="dark"] .blacklist-table tr:hover,
html[data-theme="dark"] .blacklist-table tr:hover td {
    background: rgba(255, 255, 255, 0.05) !important;
}

/* r5-5a business profile (companies list + /user/business-profile edit; the public
   /company/{slug} page shares these classes - no local data to render it) */
html[data-theme="dark"] .bpr-inside,
html[data-theme="dark"] .bpr-inside-all,
html[data-theme="dark"] .bpr-row-wrap,
html[data-theme="dark"] .bpr-box {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .bpr-msg {
    background: var(--esc-dk-inner) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .bpr-utitle,
html[data-theme="dark"] .bpr-about {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bpr-usubtitle,
html[data-theme="dark"] .bpr-empty {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] input.bpr-input,
html[data-theme="dark"] textarea.bpr-input,
html[data-theme="dark"] select.bpr-input {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}

/* r5-5b blog composer real active states */
html[data-theme="dark"] .nzbf-tool.is-active {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .nzbf-poll-len {
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .nzbf-poll-len-label {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .nzbf-poll-len select,
html[data-theme="dark"] .nzbf-poll-len .select-box select {
    color: #f2f2f4 !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    background: var(--esc-dk-pill) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 12px 12px !important;
}

/* r5-6 contact page card is .form-container (send-friend adds -box; both covered)
   + focus/error mirrors placed after the normal input skin */
html[data-theme="dark"] body.contact .form-container {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.contact .form-container input:focus,
html[data-theme="dark"] body.contact .form-container textarea:focus {
    border-color: #ff8fa8 !important;
    box-shadow: 0 0 0 1px #ff8fa8 !important;
}
html[data-theme="dark"] body.contact .form-container input.is-invalid,
html[data-theme="dark"] body.contact .form-container input.server-error,
html[data-theme="dark"] body.contact .form-container textarea.is-invalid {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
}

/* r5-7 register placeholder + sign-in footer link */
html[data-theme="dark"] body.login .bg-signup .register-form-card .controls input::placeholder {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] body.login .bg-signup .register-form-card .register-signin {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] body.login .bg-signup .register-form-card .register-signin a {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.login .bg-signup .register-form-card .register-signin a:hover {
    color: #ff8fa8 !important;
}

/* r5-8 video upload active overlay internals + Uppy status bar */
html[data-theme="dark"] .vid-overlay-box {
    background: var(--esc-dk-sheet) !important;
}
html[data-theme="dark"] .vid-overlay-warning {
    background: rgba(225, 29, 72, 0.14) !important;
    color: #fda4af !important;
}
html[data-theme="dark"] .uppy-StatusBar,
html[data-theme="dark"] .uppy-StatusBar-content {
    background-color: var(--esc-dk-sheet) !important;
    color: #e2e4e9 !important;
}

/* r5-9 availability day pill keyboard focus */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day:focus-visible {
    outline: 2px solid #ff8fa8 !important;
    outline-offset: 2px !important;
}

/* r5 homepage leftover: intro paragraph */
html[data-theme="dark"] .introtxthome {
    color: var(--esc-dk-muted) !important;
}

/* legacy "Add new profile" box on account pages (user-items.php #addnew, white via
   css). #addnew.paymentwindow on item-activate is a D3 LIGHT island - excluded. */
html[data-theme="dark"] #addnew:not(.paymentwindow) {
    background: var(--esc-dk-card) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] #addnew:not(.paymentwindow) h1,
html[data-theme="dark"] #addnew:not(.paymentwindow) h2,
html[data-theme="dark"] #addnew:not(.paymentwindow) h3,
html[data-theme="dark"] #addnew:not(.paymentwindow) p,
html[data-theme="dark"] #addnew:not(.paymentwindow) span:not([class]) {
    color: #e2e4e9 !important;
}
/* links inside FAQ answers (theme .decorated-link) */
html[data-theme="dark"] #faq-post-block .faq-bottom a,
html[data-theme="dark"] a.decorated-link {
    color: #ff8fa8 !important;
}

/* ==================== [B4/B5 gate r6] ==================== */

/* r6-3 /companies list cards (bpr-comp, white card + ellipse + icon disc) + the
   editor's unclassed legal textarea */
html[data-theme="dark"] .bpr-comp {
    background: var(--esc-dk-card) !important;
}
html[data-theme="dark"] .bpr-comp .bpr-cover .bpr-elip,
html[data-theme="dark"] .bpr-comp .bpr-icon-wrap .bpr-icon > div {
    /* background-COLOR only: the agency logo is an inline background-image on
       this very div - the background shorthand was wiping it (live logos were
       solid dark circles; DDEV had no company data to show it). */
    background-color: var(--esc-dk-card) !important;
}
html[data-theme="dark"] .bpr-comp .bpr-title,
html[data-theme="dark"] .bpr-comp:hover .bpr-title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .bpr-comp .bpr-loc {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .bpr-comp .bpr-count {
    background: var(--esc-dk-pill) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .bpr-inside textarea,
html[data-theme="dark"] .bpr-row-wrap textarea {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}

/* r6-4 agency billing wallet + auto-extend dashboard controls (chrome, not D3) */
html[data-theme="dark"] .agb-wallet {
    --agb-ink: #f2f2f4;
    --agb-muted: #a1a7b3;
    --agb-border: rgba(255, 255, 255, 0.12);
    --agb-border-hover: rgba(255, 255, 255, 0.2);
}
html[data-theme="dark"] .agb-card {
    background: var(--esc-dk-card) !important;
}
html[data-theme="dark"] .agb-wallet__buy:focus-visible {
    outline-color: #f2f2f4 !important;
}
html[data-theme="dark"] .agb-ae {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .agb-ae__toggle {
    color: #e2e4e9 !important;
}

/* r6-6 validation completeness */
html[data-theme="dark"] body.contact .form-container textarea.server-error {
    border: 1px solid #f87171 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
}
html[data-theme="dark"] body.contact div.is-invalid {
    color: #fca5a5 !important;
}
html[data-theme="dark"] body.item-post .field-error-msg,
html[data-theme="dark"] body.item-post div.is-invalid {
    color: #fca5a5 !important;
}

/* r6-7 video overlay close (inline body <style> uses !important - outrank it) */
html[data-theme="dark"] .vid-upload-overlay .vid-overlay-close {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .vid-upload-overlay .vid-overlay-close:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #f2f2f4 !important;
}

/* r6-8 composer error banner + image-poll control */
html[data-theme="dark"] .nzbf-composer-error {
    background: rgba(239, 68, 68, 0.12) !important;
    color: #fca5a5 !important;
}
html[data-theme="dark"] .nzbf-poll-img {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .nzbf-poll-img.is-loading::after {
    border-color: rgba(255, 255, 255, 0.25) !important;
    border-top-color: #ff3366 !important;
}

/* r6-9 availability day focus: mirror the higher-specificity light rule */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable.availability-card--desktop-touring .availability-card__day:focus-visible {
    outline: 2px solid #ff8fa8 !important;
    outline-offset: 4px !important;
}

/* ==================== [B6] SECONDARY / STATIC PAGES + OVERLAYS ==================== */

/* --- terms of service (terms-page.css is token-driven; flip tokens + the
   hardcoded translucent-white surfaces) --- */
html[data-theme="dark"] body.terms-page {
    --terms-bg-mid: #0F0F0F;
    --terms-bg-bottom: #131313;
    --terms-surface-strong: #1C1C1C;
    --terms-border: rgba(255, 255, 255, 0.08);
    --terms-border-strong: rgba(255, 255, 255, 0.12);
    --terms-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    --terms-shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.15);
    --terms-ink: #f2f2f4;
    --terms-muted: #c9cdd4;
    --terms-soft: #a1a7b3;
    --terms-accent-strong: #ff8fa8;
    --terms-accent-soft: rgba(255, 51, 102, 0.14);
}
html[data-theme="dark"] body.terms-page #page {
    background: linear-gradient(180deg, #0F0F0F 0%, #131313 100%) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__eyebrow {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__meta-card,
html[data-theme="dark"] body.terms-page .terms-page__rail-card {
    background: #1C1C1C !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__toc-link:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --- video gallery page (video-gallery-6.css: white pills/menus/cards) --- */
html[data-theme="dark"] .video-filter-bar-wrapper,
html[data-theme="dark"] .video-search-form,
html[data-theme="dark"] .video-gallery-container {
    background: var(--esc-dk-page2) !important;
}
html[data-theme="dark"] .video-page-title {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .sort-trigger,
html[data-theme="dark"] .location-trigger,
html[data-theme="dark"] .category-btn {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .sort-trigger-value,
html[data-theme="dark"] .location-trigger-value {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .sort-menu,
html[data-theme="dark"] .location-menu {
    background: var(--esc-dk-sheet) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .sort-option,
html[data-theme="dark"] .location-option {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .sort-option:hover,
html[data-theme="dark"] .location-option:hover {
    background: rgba(255, 255, 255, 0.06) !important;
}
html[data-theme="dark"] .sort-option.selected,
html[data-theme="dark"] .location-option.selected {
    background: rgba(255, 51, 102, 0.14) !important;
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .video-thumbnail {
    background: var(--esc-dk-inner) !important;
}

/* --- about page (body.about-page-revolut, inline design system: flip the
   light-band tokens so the light editorial bands become dark bands) --- */
html[data-theme="dark"] body.about-page-revolut {
    --light-bg: #191919;
    --light-surface: #1C1C1C;
    --light-text: #f2f2f4;
    --light-text-sub: #a1a7b3;
}
html[data-theme="dark"] body.about-page-revolut .rv-mission {
    background: #191919 !important;
}

/* --- small static-page fixes (banners table, guidelines dot, generic statics) --- */
html[data-theme="dark"] body.page h3,
html[data-theme="dark"] body.page:not(.terms-page) li strong {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.page :is(p, li) a:not([class]) {
    color: #ff8fa8 !important;
}
html[data-theme="dark"] .table-of-features,
html[data-theme="dark"] .table-of-features td,
html[data-theme="dark"] .table-of-features th {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .gd-hero-badge-dot {
    background: #ff8fa8 !important;
}

/* --- announcements popup (nz_announcements; tokens declared on .nza-overlay) --- */
html[data-theme="dark"] .nza-overlay {
    --nza-ink: #f2f2f4;
    --nza-ink-2: #c9cdd4;
    --nza-muted: #a1a7b3;
    --nza-surface: #1C1C1C;
    --nza-line: rgba(255, 255, 255, 0.12);
}
html[data-theme="dark"] .nza-close {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .nza-close:hover {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .nza-tag {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
}

/* --- age gate (age_warning_pro modal) --- */
html[data-theme="dark"] #awpModal {
    background: var(--esc-dk-sheet) !important;
}
html[data-theme="dark"] .awp-box .awp-header,
html[data-theme="dark"] .awp-box .awp-subheader {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .awp-box .awp-row {
    color: #c9cdd4 !important;
}

/* --- mobile menu premium links (theme-blue anchors on the dark glass) --- */
html[data-theme="dark"] .mobile-menu-premium-item,
html[data-theme="dark"] .mobile-menu-premium-item span {
    color: rgba(255, 255, 255, 0.92) !important;
}

html[data-theme="dark"] .video-avatar {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] a.video-title-link {
    color: #e2e4e9 !important;
}
/* generic static-page list items */
html[data-theme="dark"] body.page li {
    color: #c9cdd4 !important;
}

/* --- My Tours (plugins/touring tours-user.css: token flip on .touring-page +
   hardcoded white surfaces) --- */
html[data-theme="dark"] .touring-page {
    --page: #131313;
    --panel: #202020;
    --ink: #f2f2f4;
    --body: #c9cdd4;
    --muted: #a1a7b3;
    --line: rgba(255, 255, 255, 0.15);
    --line-soft: rgba(255, 255, 255, 0.09);
    --rose-tint: rgba(232, 99, 122, 0.14);
    --rose-deep: #ff8fa8;
    --indigo-tint: rgba(74, 84, 196, 0.18);
    --indigo: #a5b4fc;
    --green: #6ee7b7;
    --green-tint: rgba(16, 185, 129, 0.14);
    --shadow-rest: 0 1px 2px rgba(0, 0, 0, 0.2);
    --shadow-hover: 0 2px 6px rgba(0, 0, 0, 0.25);
}
html[data-theme="dark"] .touring-page .t-card {
    background: var(--esc-dk-card) !important;
}
html[data-theme="dark"] .touring-page .vcta__play {
    background: rgba(255, 255, 255, 0.92) !important;
}
html[data-theme="dark"] .touring-page .t-switch__track {
    background: rgba(255, 255, 255, 0.25) !important;
}
html[data-theme="dark"] .touring-page .t-switch input:checked + .t-switch__track {
    background: #ff3366 !important;
}
html[data-theme="dark"] .touring-page .t-savebar {
    background: var(--esc-dk-sheet) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
html[data-theme="dark"] .touring-page .t-chip-active i {
    background: #34d399 !important;
}

/* public advertiser profile (user-public-profile.php) */
html[data-theme="dark"] body.user-public-profile .user-card,
html[data-theme="dark"] body.user-public-profile .fix_col4 {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] body.user-public-profile .user-card a:not([class]) {
    color: #f2f2f4 !important;
}

/* My Stories (plugins/story user page, mirrors the video dashboard skin) */
html[data-theme="dark"] .str-stat-card,
html[data-theme="dark"] a.str-card {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .str-stat-card .value,
html[data-theme="dark"] a.str-card .cta-text {
    color: #f2f2f4 !important;
}
/* generic static h2 (links page etc.) */
html[data-theme="dark"] body.page h2 {
    color: #f2f2f4 !important;
}

/* [B6 r2] terms TOC active state (near-white gradient in light CSS) */
html[data-theme="dark"] body.terms-page .terms-page__toc-link.is-active {
    background: rgba(255, 51, 102, 0.14) !important;
    border-color: rgba(255, 143, 168, 0.35) !important;
}
/* [B6 r2] video gallery: typed search text, pagination, stories label, active category */
html[data-theme="dark"] .video-search-input {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .video-search-input::placeholder {
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .video-pagination-btn {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .video-stories-label {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .category-btn.active {
    background: #FDFFF0 !important;
    color: #100E0E !important;
    border-right-color: #f5f5f7 !important;
}
/* [B6 r2] My Tours: listing selector, timeline pins, editor inputs */
html[data-theme="dark"] .touring-page .t-selectw select,
html[data-theme="dark"] .touring-page input[type="text"],
html[data-theme="dark"] .touring-page input[type="date"],
html[data-theme="dark"] .touring-page select,
html[data-theme="dark"] .touring-page textarea {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .touring-page .t-tl__pin {
    background: var(--esc-dk-inner) !important;
}
/* [B6 r2] My Stories: item header band + inline empty-state text */
html[data-theme="dark"] .str-item-header {
    background: var(--esc-dk-inner) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .str-item-section.empty-state h2,
html[data-theme="dark"] .str-item-section.empty-state p {
    color: #c9cdd4 !important;
}

/* [B6 r3] */
/* My Tours stop cards */
html[data-theme="dark"] .touring-page .t-stopcard {
    background: var(--esc-dk-inner) !important;
}
/* My Stories profile-name link */
html[data-theme="dark"] .str-item-name a {
    color: #f2f2f4 !important;
}
/* video gallery: numbered pagination + story-short titles */
html[data-theme="dark"] .video-pagination-numbers a {
    background: var(--esc-dk-pill) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .video-pagination-numbers a.active,
html[data-theme="dark"] .video-pagination-numbers a.current {
    background: #FDFFF0 !important;
    color: #100E0E !important;
}
html[data-theme="dark"] .story-short-title {
    color: #f2f2f4 !important;
}
/* D5 guard: inline pink accents on static pages keep their brand color even where
   the generic static heading rules apply */
html[data-theme="dark"] body.page h1[style*="FE4365"],
html[data-theme="dark"] body.page h2[style*="FE4365"],
html[data-theme="dark"] body.page h3[style*="FE4365"],
html[data-theme="dark"] body.page h1[style*="ff3366"],
html[data-theme="dark"] body.page h2[style*="ff3366"],
html[data-theme="dark"] body.page h3[style*="ff3366"],
html[data-theme="dark"] body.page h1[style*="#f36"],
html[data-theme="dark"] body.page h2[style*="#f36"],
html[data-theme="dark"] body.page h3[style*="#f36"] {
    color: #FE4365 !important;
}
/* announcements secondary dismiss hover */
html[data-theme="dark"] .nza-dismiss:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}

/* ==================== [B7] THEME TOGGLE UI ==================== */
/* Deliberately UNGATED base styles: the toggle control itself exists in both
   modes (plan B7); everything else in this file stays html[data-theme=dark]-gated. */
button.esc-theme-toggle {
    background: none !important;
    background-image: none !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    line-height: 1 !important;
}
[data-esc-theme-toggle] .esc-tt-sun {
    display: none;
}
html[data-theme="dark"] [data-esc-theme-toggle] .esc-tt-moon {
    display: none;
}
html[data-theme="dark"] [data-esc-theme-toggle] .esc-tt-sun {
    display: block;
}
/* mobile-menu theme icon: compact circle in the header beside the close button
   (the menu is permanently dark glass - styled for both modes) */
.mobile-menu-theme-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 10px;
    background: rgba(255, 255, 255, 0.05) !important;
    background-image: none !important;
    border: 1px solid transparent !important;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.92) !important;
    cursor: pointer;
    padding: 0 !important;
    text-shadow: none !important;
    transition: all 0.2s ease;
}
.mobile-menu-theme-icon:hover {
    background: rgba(255, 255, 255, 0.1) !important;
}
/* the close button no longer needs to push itself right */
.mobile-menu-header .mobile-menu-theme-icon + .mobile-menu-close {
    margin-left: 0;
}
/* logged-in header carries two account pills + theme icon + X: let the pills
   shrink with ellipsis and tighten spacing on narrow phones so the row fits */
.mobile-menu-header .mobile-menu-login-btn {
    flex: 0 1 auto;
    min-width: 0;
}
.mobile-menu-header .mobile-menu-login-btn > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 430px) {
    .mobile-menu-header {
        gap: 8px;
    }
    .mobile-menu-theme-icon {
        margin-right: 0;
    }
    .mobile-menu-theme-icon,
    .mobile-menu-header .mobile-menu-close {
        width: 40px;
        height: 40px;
        flex: 0 0 auto;
    }
}

/* logged-in menu header carries 2 pills + Appearance + X (owner: ONE line,
   properly sized). With :has support, compact the pills so all four fit at
   390px-class widths; without :has, the single-row squeeze above still applies. */
@media (max-width: 480px) {
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) {
        gap: 8px;
    }
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) .mobile-menu-login-btn {
        flex: 0 1 auto;
        min-width: 0;
        gap: 7px;
        padding: 8px 11px;
        font-size: 12px;
        letter-spacing: 0.01em;
        box-sizing: border-box;
        white-space: nowrap;
    }
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) .mobile-menu-login-btn .icon-wrap {
        width: 22px;
        height: 22px;
        flex: 0 0 auto;
    }
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) .mobile-menu-theme-icon,
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) .mobile-menu-close {
        width: 38px;
        height: 38px;
        flex: 0 0 auto;
    }
}
@media (max-width: 374px) {
    /* very narrow phones: drop the pill icons, keep the labels */
    .mobile-menu-header:has(.mobile-menu-login-btn + .mobile-menu-login-btn) .mobile-menu-login-btn .icon-wrap {
        display: none;
    }
}

/* [B6 r4] My Stories secondary text token (4.45:1 -> passes at #a1a7b3) */
html[data-theme="dark"] {
    --str-text-light: #a1a7b3;
}

/* [B6 r5] terms hardcoded rgba(17,24,39,*) hairlines -> D6 white hairlines */
html[data-theme="dark"] body.terms-page .terms-page__meta-card {
    border-color: rgba(255, 255, 255, 0.09) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__document .terms-page__section + .terms-page__section {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__dropdown-trigger.is-open {
    border-color: rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__dropdown-label {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.terms-page .terms-page__dropdown-item:not(:last-child) {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

/* ==================== [B8] D6 CONTRAST FIXES (site-wide WCAG audit) ==================== */

/* touring weekly strip: closed/bare day pills stayed white at touring-variant
   specificity -> all non-selected days go dark inner (the black selected pill
   keeps its higher-specificity light-CSS skin) */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable.availability-card--desktop-touring .availability-card__day:not(.is-selected):not(.is-today) {
    background: var(--esc-dk-inner) !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable.availability-card--desktop-touring .availability-card__day .availability-card__day-time {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability.np-section--availability-relocatable.availability-card--desktop-touring .availability-card__day-short {
    color: #aab1bd !important;
}
/* day-short 3.09:1 -> 4.6:1 */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability .availability-card__day-short {
    color: #aab1bd !important;
}

/* dashboard listing-card meta spans (#6b7280 on dark card = 3.69:1) */
html[data-theme="dark"] .listing-card__phone,
html[data-theme="dark"] .listing-card__phone span,
html[data-theme="dark"] .listing-card__location,
html[data-theme="dark"] .listing-card__location span {
    color: #a1a7b3 !important;
}

/* nzbf counters + empty/skip text a notch under 4.5 */
html[data-theme="dark"] .nzbf-profile-btn-count {
    color: #3f4753 !important; /* dark ink on its light chip */
}
html[data-theme="dark"] .nzbf-like-n {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .nzbf-like.is-liked .nzbf-like-n {
    color: #ff3366 !important;
}
html[data-theme="dark"] .nzbf-empty2-title {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] .nzbf-welcome-skip {
    color: #a1a7b3 !important;
}

/* video gallery muted inks (3.06-3.99 on the dark surface) */
html[data-theme="dark"] .sort-label,
html[data-theme="dark"] .location-label {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] a.video-channel,
html[data-theme="dark"] .video-stats,
html[data-theme="dark"] .video-stats span,
html[data-theme="dark"] .video-stats-dot {
    color: #a1a7b3 !important;
}

/* My Videos muted span (3.67) - inline-colored status spans + add-card keep theirs */
html[data-theme="dark"] .vid-modern-dashboard span:not([class]):not([style*="color"]) {
    color: #a1a7b3 !important;
}
html[data-theme="dark"] .vid-modern-dashboard .vid-card-add span:not([class]) {
    color: inherit !important;
}


/* vid buttons: the blanket muted-span rule must not touch button labels
   (mirrored at the blanket rule's specificity) */
html[data-theme="dark"] .vid-modern-dashboard .vid-btn span:not([class]),
html[data-theme="dark"] .vid-modern-dashboard .vid-btn-primary span:not([class]) {
    color: inherit !important;
}
/* item-page tab count spans (#777 = 4.48:1) */
html[data-theme="dark"] body.item .tab-link span:not([class]) {
    color: #a1a7b3 !important;
}

/* item-page Photos/Videos tab bar (renders only when the profile has videos) */
html[data-theme="dark"] body.item .profile-tabs-nav {
    background: var(--esc-dk-sheet) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] body.item .profile-tabs-nav .tab-link {
    color: #c9cdd4 !important;
}
html[data-theme="dark"] body.item .profile-tabs-nav .tab-link.active {
    color: #f2f2f4 !important;
}

/* video gallery hover feedback (suppressed by the contrast inks) */
html[data-theme="dark"] a.video-channel:hover {
    color: #f2f2f4 !important;
}
html[data-theme="dark"] .sort-trigger-area:hover .sort-label,
html[data-theme="dark"] .location-trigger-area:hover .location-label {
    color: #e2e4e9 !important;
}

/* ==================== [owner round 2026-09-01] ==================== */

/* 1. Post-a-story page (story/new/{id}) */
html[data-theme="dark"] .str-form-container,
html[data-theme="dark"] .str-form-container.is-upload-empty {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.09) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .str-form-container label,
html[data-theme="dark"] .str-form-container strong {
    color: #d5d7dd !important;
}
html[data-theme="dark"] .str-form-container input[type="text"],
html[data-theme="dark"] .str-form-container textarea,
html[data-theme="dark"] .str-form-container select {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: #f2f2f4 !important;
}
html[data-theme="dark"] a.frm-upload-button {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] a.frm-upload-button:hover {
    background: rgba(244, 63, 94, 0.1) !important;
    border-color: #f43f5e !important;
    color: #fda4af !important;
}

/* 2. Add-profile box icon chip: pastel gradient -> dark pink-tint chip */
html[data-theme="dark"] .add-profile-box__icon {
    background: rgba(255, 51, 102, 0.12) !important;
    color: #ff8fa8 !important;
}

/* 3. Owner: NO white column dividers on the dashboard cards (reference: Hana card) */
html[data-theme="dark"] .listing-card__profile {
    border-right-color: transparent !important;
}
html[data-theme="dark"] .listing-card__details {
    border-right-color: transparent !important;
    border-bottom-color: transparent !important;
}
html[data-theme="dark"] .add-profile-box__btn {
    border-left-color: transparent !important;
}

/* 4. My Statistics: ALL tile labels take the hero's pink */
html[data-theme="dark"] .stx-wrap .stx-label {
    color: #FFB3C7 !important;
}

/* 5. dashboard status banners (.errornew family) - same hue, dark-alpha surfaces;
   the pink CTA button inside keeps its brand gradient */
html[data-theme="dark"] .errornew {
    background: rgba(255, 51, 102, 0.12) !important;
    border-color: rgba(255, 143, 168, 0.3) !important;
    color: #ffb3c4 !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .errornew .errornew__icon {
    background: rgba(255, 51, 102, 0.18) !important;
    color: #ff9fb3 !important;
}
html[data-theme="dark"] .errornew--expired {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(252, 165, 165, 0.3) !important;
    color: #fca5a5 !important;
}
html[data-theme="dark"] .errornew--expired .errornew__icon {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #fda4af !important;
}
html[data-theme="dark"] .errornew--expiring,
html[data-theme="dark"] .errornew--verify {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(252, 211, 77, 0.3) !important;
    color: #fcd34d !important;
}
html[data-theme="dark"] .errornew--expiring .errornew__icon,
html[data-theme="dark"] .errornew--verify .errornew__icon {
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fbbf24 !important;
}
html[data-theme="dark"] .errornew--unpublished {
    background: rgba(217, 70, 160, 0.13) !important;
    border-color: rgba(240, 171, 220, 0.3) !important;
    color: #f0abdc !important;
}
html[data-theme="dark"] .errornew--unpublished .errornew__icon {
    background: rgba(217, 70, 160, 0.2) !important;
    color: #f0abdc !important;
}
html[data-theme="dark"] .errornew--hidden {
    background: rgba(59, 130, 246, 0.13) !important;
    border-color: rgba(147, 197, 253, 0.3) !important;
    color: #93c5fd !important;
}
html[data-theme="dark"] .errornew--hidden .errornew__icon {
    background: rgba(59, 130, 246, 0.2) !important;
    color: #93c5fd !important;
}

/* [owner round r2 - gate findings on the shipped round] */
/* story inactive/expired upload state + post-upload preview card */
html[data-theme="dark"] a.error-upload-button,
html[data-theme="dark"] .error-upload-button {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: var(--esc-dk-muted) !important;
}
html[data-theme="dark"] .str-res-one {
    background: var(--esc-dk-card) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
/* banner metadata is colored directly in light CSS - inherit the variant hue */
html[data-theme="dark"] .errornew .errornew__meta,
html[data-theme="dark"] .errornew .errornew__meta * {
    color: inherit !important;
}
/* the icon svg was pinned #e2e4e9 by the add-profile content wildcard */
html[data-theme="dark"] .add-profile-box__icon svg {
    color: #ff8fa8 !important;
}

/* story tokens: dark ink + the upload preview's Remove control */
html[data-theme="dark"] {
    --str-text-dark: #e2e4e9;
}
html[data-theme="dark"] .str-res-one .str-res-file-name {
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .str-res-one .str-upload-delete,
html[data-theme="dark"] .str-res-one a[ajaxfile] {
    color: #a1a7b3 !important;
}

html[data-theme="dark"] .str-res-one .str-upload-delete:hover,
html[data-theme="dark"] .str-res-one a[ajaxfile]:hover {
    background: #c53030 !important;
    color: #ffffff !important;
}

/* [owner 2026-09-01] item-page dividers unified to the standard hairline */
html[data-theme="dark"] body.item .mc-stat-item.mc-border-left::before {
    background: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.item .new-profile-card,
html[data-theme="dark"] body.item .np-header-icon-box {
    border-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.item .np-section--feed::before {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] body.item .str-circle {
    border-color: rgba(255, 255, 255, 0.15) !important;
}
html[data-theme="dark"] body.item .ihg-val--loc,
html[data-theme="dark"] body.item .ihg-under--loc {
    border-left-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .nzbf-skel {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] body.recover a:not([class]) {
    color: #ff8fa8 !important;
}

/* story Creator Studio page: legacy gradient h2 strips + colorless borders that
   inherited the light ink (currentColor) */
html[data-theme="dark"] #str-item h2,
html[data-theme="dark"] .str-dashboard-header h2 {
    background: var(--esc-dk-inner) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #e2e4e9 !important;
}
html[data-theme="dark"] .cleaner {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .str-item-section {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
html[data-theme="dark"] .str-item-header {
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* UNGATED header-icon guard (not a dark rule): the compiled marketing-page resets
   (add-profile-27.css / pricing-page.css) declare svg{fill:currentColor}, which
   overrides the fill="none" attribute on the outline header icons and renders the
   heart/search solid on those pages. This restores the outline in both modes. */
.escortify-discovery-header__icon-link svg {
    fill: none;
}

/* Appearance popover (UNGATED: opens over the permanently-dark header/menu chrome
   in both modes; matches the owner's reference - dark panel, segmented pill,
   active option = light pill with dark ink) */
.esc-appearance {
    z-index: 100000;
    box-sizing: border-box;
    min-width: 248px;
    max-width: calc(100vw - 16px);
    padding: 14px 14px 12px;
    background: #1c1c21;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
    font-family: "S\00F6hne", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}
.esc-appearance__label {
    margin: 0 2px 10px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
}
.esc-appearance__row {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
}
.esc-appearance__opt {
    flex: 1 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 10px;
    background: none;
    border: 0;
    border-radius: 9px;
    color: rgba(255, 255, 255, 0.75);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.esc-appearance__opt svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}
.esc-appearance__opt:hover {
    color: rgba(255, 255, 255, 0.95);
    background: rgba(255, 255, 255, 0.07);
}
.esc-appearance__opt.is-active {
    background: #FDFFF0;
    color: #100E0E;
}

/* ==================== [ROLLOUT UI] ==================== */
/* Deliberately UNGATED launch elements (announcement sheet, header toggle
   nudge, night toast - js/dark-rollout.js): they render in LIGHT mode, so no
   html[data-theme="dark"] gate. Classes prefixed esc-ro-. Spec:
   docs/theme/dark-mode.md (rollout section). */

body.esc-ro-lock { overflow: hidden; }

/* announcement sheet */
.esc-ro-scrim {
    position: fixed;
    inset: 0;
    background: rgba(8, 8, 12, 0.32);
    z-index: 99990;
}
.esc-ro-sheet {
    outline: none;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(100%, 440px);
    box-sizing: border-box;
    background: rgba(13, 13, 17, 0.94);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    backdrop-filter: blur(24px) saturate(180%);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px 22px 0 0;
    padding: 12px 22px 20px;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    z-index: 99991;
    font-family: "S\00F6hne", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    animation: esc-ro-rise 0.28s ease-out;
}
.esc-ro-handle {
    width: 36px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    margin: 2px auto 16px;
}
.esc-ro-titlerow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.esc-ro-chip {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f2f2f4;
}
.esc-ro-chip svg { width: 17px; height: 17px; }
.esc-ro-title {
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -0.2px;
    color: #f2f2f4;
}
.esc-ro-lead {
    margin: 0 0 16px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #9aa1ad;
}
.esc-ro-tiles {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}
.esc-ro-tile {
    position: relative;
    flex: 1 1 0;
    border-radius: 14px;
    border: 1.5px solid rgba(255, 255, 255, 0.14);
    padding: 14px 14px 12px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    line-height: normal;
    text-shadow: none;
    width: auto;
    transition: border-color 0.12s ease;
}
.esc-ro-tile--dark:hover { border-color: rgba(255, 255, 255, 0.30); }
.esc-ro-tile--light { background: #ffffff; }
.esc-ro-tile--dark { background: #17171c; }
.esc-ro-tile.is-current { border-color: #ff3366; }
.esc-ro-tile__bars i {
    display: block;
    height: 4px;
    border-radius: 2px;
    margin-bottom: 4px;
}
.esc-ro-tile__bars i:first-child { height: 6px; width: 34%; margin-bottom: 7px; }
.esc-ro-tile__bars i:nth-child(2) { width: 88%; }
.esc-ro-tile__bars i:nth-child(3) { width: 62%; }
.esc-ro-tile--light .esc-ro-tile__bars i { background: #e9ebef; }
.esc-ro-tile--light .esc-ro-tile__bars i:first-child { background: #d7dae0; }
.esc-ro-tile--dark .esc-ro-tile__bars i { background: #303039; }
.esc-ro-tile--dark .esc-ro-tile__bars i:first-child { background: #41414c; }
.esc-ro-tile__label {
    margin-top: 12px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.1px;
}
.esc-ro-tile--light .esc-ro-tile__label { color: #16161a; }
.esc-ro-tile--dark .esc-ro-tile__label { color: #f2f2f4; }
.esc-ro-tile__check {
    position: absolute;
    top: -7px;
    right: -7px;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 2px solid rgba(13, 13, 17, 0.94);
    border-radius: 50%;
    background: #ff3366;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.esc-ro-tile__check svg { width: 10px; height: 10px; }
/* the theme's base button rules set width:100% at <=740px, line-height:43px,
   padding and a text-shadow (main*.css; docs/lessons.md) - reset them all on
   rollout controls so the owner tokens render as authored */
.esc-ro-cta, .esc-ro-later, .esc-ro-toast__switch, .esc-ro-toast__x, .esc-ro-tile {
    line-height: normal;
    text-shadow: none;
    box-sizing: border-box;
    outline: none;
}
/* our own focus ring (the default blue ring reads broken on the dark glass) */
.esc-ro-cta:focus-visible, .esc-ro-later:focus-visible, .esc-ro-tile:focus-visible,
.esc-ro-toast__switch:focus-visible, .esc-ro-toast__x:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.55);
    outline-offset: 2px;
}
.esc-ro-toast__switch, .esc-ro-toast__x { width: auto; }

.esc-ro-cta {
    display: block;
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 14px;
    background: #ff3366;
    color: #fff;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: -0.1px;
    cursor: pointer;
    transition: background-color 0.12s ease;
}
.esc-ro-cta:hover { background: #f02a5c; }
.esc-ro-later {
    display: block;
    width: 100%;
    height: 40px;
    padding: 0;
    margin-top: 4px;
    border: 0;
    background: none;
    color: #8b93a1;
    font-family: inherit;
    font-size: 13.5px;
    cursor: pointer;
}

/* header toggle nudge: pulse ring + tooltip */
.esc-ro-host { position: relative; }
.esc-ro-ring {
    position: absolute;
    inset: -7px;
    border: 2px solid #ff3366;
    border-radius: 50%;
    pointer-events: none;
    animation: esc-ro-pulse 1.8s ease-out infinite;
}
.esc-ro-tip {
    position: fixed;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(13, 13, 17, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 8px 12px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
    z-index: 99970;
    pointer-events: none;
    font-family: "S\00F6hne", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
}
.esc-ro-tip::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 50%;
    width: 9px;
    height: 9px;
    background: rgba(13, 13, 17, 0.96);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    transform: translateX(-50%) rotate(45deg);
}
.esc-ro-tip__new {
    background: #ff3366;
    color: #fff;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 1.2px;
    border-radius: 999px;
    padding: 3px 7px;
}
.esc-ro-tip__label {
    font-size: 12.5px;
    color: #f2f2f4;
}

/* night toast */
.esc-ro-toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    width: min(calc(100% - 28px), 420px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(13, 13, 17, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    padding: 12px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4);
    z-index: 99980;
    font-family: "S\00F6hne", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
    animation: esc-ro-rise 0.28s ease-out;
}
/* the has-mobile-bottom-nav body class is also set on desktop-eligible pages,
   but the nav itself only renders <=1023px (bottom-nav.css) - scope the offset
   to the same boundary so desktop keeps the 20px bottom */
@media (max-width: 1023px) {
    body.has-mobile-bottom-nav .esc-ro-toast {
        bottom: calc(108px + env(safe-area-inset-bottom, 0px));
    }
}
.esc-ro-toast__chip svg { width: 16px; height: 16px; }
.esc-ro-toast__copy { flex: 1 1 auto; min-width: 0; }
.esc-ro-toast__title {
    font-size: 13px;
    font-weight: 500;
    color: #f2f2f4;
}
.esc-ro-toast__sub {
    font-size: 11.5px;
    color: #a1a7b3;
}
.esc-ro-toast__switch {
    flex: 0 0 auto;
    border: 0;
    background: none;
    color: #ff3366;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 6px;
}
.esc-ro-toast__x {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none;
    color: rgba(255, 255, 255, 0.55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.esc-ro-toast__x svg { width: 12px; height: 12px; }

@keyframes esc-ro-pulse {
    0% { transform: scale(0.85); opacity: 1; }
    100% { transform: scale(1.45); opacity: 0; }
}
@keyframes esc-ro-rise {
    from { transform: translate(-50%, 12px); opacity: 0; }
    to { transform: translate(-50%, 0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .esc-ro-ring { animation: none; opacity: 0.8; }
    .esc-ro-sheet, .esc-ro-toast { animation: none; }
}
/* favourites title variant (logged-in / with-cards state): .fav-title ships
   #111114 and .fav-count rgba(0,0,0,.46) - invisible on the dark ground */
html[data-theme="dark"] body.escortify-favourites .fav-title {
    color: #f5f5f7 !important;
}
html[data-theme="dark"] body.escortify-favourites .fav-count {
    color: var(--esc-dk-muted) !important;
}
/* the broad body.page content-link rule (:is(p,li) a:not([class]) -> #ff8fa8)
   also catches the class-less city subnav anchors on .page bodies (favourites) -
   re-pin them to the chrome ink (owner 2026-09-02: white, not pink) */
html[data-theme="dark"] body.page .escortify-discovery-subnav__inner li a:not([class]) {
    color: rgba(255, 255, 255, 0.62) !important;
}
html[data-theme="dark"] body.page .escortify-discovery-subnav__inner li a:not([class]):hover,
html[data-theme="dark"] body.page .escortify-discovery-subnav__inner li a.pinkactive {
    color: #ffffff !important;
}

/* dashboard mobile: .listing-card__profile ships a light-mode #F3F4F6 bottom
   divider - blinding on dark; use the standard subtle hairline (owner 2026-09-02) */
html[data-theme="dark"] .listing-card__profile {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

/* ==================== [END ROLLOUT UI] ==================== */

/* [owner round 2026-09-02b] engagement-footer voted thumb + desktop icon boxes */
/* voted state ("Thanks, N likes"): profile12.css paints .votes_results
   span::before as a BLACK-filled data-URI thumb at #contact ID specificity -
   the earlier color override never applied (it is a background image). Same
   white filled thumb as the desktop #voting_plugin twin (dark.css B3). */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .engagement-footer-test .votes_results span::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f2f2f4' stroke='%23f2f2f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") !important;
}
/* desktop contact card: the light skin (item-contact-desktop.css:140-143)
   renders the website/X icon boxes INVISIBLE (transparent, borderless, 16px);
   the generic dark .mc-action-icon-box rule (:421, written for the mobile
   circle variant) re-boxed them with a fill + border - restore the desktop look */
@media (min-width: 769px) {
    html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card.item-airbnb-contact-card .mc-group .mc-action-icon-box {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
}

/* [owner round 2026-09-02] mobile item-page icon fixes */
/* the phone contact row's glyph is an <img> of a black SVG (icons8-phone.svg) -
   CSS color can't reach an image, so it stayed black on dark. Invert to the ash
   icon register. The WhatsApp img keeps its brand color (not targeted). */
html[data-theme="dark"] body.item.item-airbnb-layout .item-contact-method--phone .item-contact-method-icon img {
    filter: invert(0.55);
}
/* voted-state "Thanks, N likes" thumb: FontAwesome pseudo, #0062cc in light
   (profile12.css:745) - reads near-black on the dark card; match the ash icons */
html[data-theme="dark"] body.item.item-airbnb-layout .votes_results span::before {
    color: #808795 !important;
}
/* Like button (can-vote state): the Lottie artwork's idle frames are the same
   blue (rendered as path fill="rgb(0,97,204)") - invisible on the dark card.
   Recolor those idle paths to the engagement-footer ink; the attribute selector
   stops matching the moment the click animation shifts the fill, so the pink
   like animation plays with its native colors. */
/* mobile engagement footer: the visible Like thumb is .vote-text::before, a
   background-image SVG with a dark stroke from the light CSS (the Lottie
   container is 0x0 there). Swap in the same white-stroke thumb the desktop
   contact card already uses (rule above at #voting_plugin). */
html[data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .engagement-footer-test .aPs.vote5 .vote-text::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E") !important;
}
html[data-theme="dark"] body.item.item-airbnb-layout .lottie-like-full svg path[fill="rgb(0,97,204)"],
html[data-theme="dark"] body.item.item-airbnb-layout .lottie-like-full svg path:not([fill]) {
    /* attribute-less paths default to SVG black - the visible outline layer */
    fill: #f2f2f4;
}

/* [owner experiment 2026-09-01] profile-page headers/subheaders in warm ivory
   #FDFFF0 (rgb 253,255,240 - the supercut.ai foreground token). The repeated
   [data-theme] attribute chain deliberately out-specifies the earlier generated
   heading twins (up to ~(1,7,x)); the island counters below carry a longer chain
   so D3 surfaces keep their own ink. */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout h1,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout h2,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout h3,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-title,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .availability-card__title,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-mobile-title,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-desktop-title,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-desktop-title span,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout #otherads h2,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout #contact.modern-contact-card .mc-title-group h2 {
    color: #FDFFF0 !important;
}
/* D3 light islands keep their ink */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .escx-checkout:not(#esc-noid) h1,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .escx-checkout:not(#esc-noid) h2,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .escx-checkout:not(#esc-noid) h3,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .resp-wrapper:not(#esc-noid) h1,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .resp-wrapper:not(#esc-noid) h2,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .resp-wrapper:not(#esc-noid) h3,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .agb-ia:not(#esc-noid) h1,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .agb-ia:not(#esc-noid) h2,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .agb-ia:not(#esc-noid) h3 {
    color: #0f0f0f !important;
}

/* [owner 2026-09-01] the #050505 chrome joins the #0F0F0F ground in dark mode:
   global + category headers, the search canvas, and the hero/carousel fades
   (gradient stops re-tinted rgb(15,15,15) so the image blends stay seamless).
   The footer (.footer-modern) is already #0f0f0f - untouched. */
html[data-theme="dark"] body.escortify-global-discovery #header.escortify-discovery-header,
html[data-theme="dark"] body.search #header.escortify-discovery-header {
    background: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.search {
    background-color: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.search .intro_category.escortify-discovery-hero {
    background: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.search .intro_category.escortify-discovery-hero::after {
    background: linear-gradient(to bottom, rgba(15, 15, 15, 0) 0%, rgba(15, 15, 15, 0.78) 48%, #0F0F0F 100%) !important;
}
html[data-theme="dark"] body.search #carouselbox {
    background: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.search #carouselbox::before {
    background: linear-gradient(to bottom, #0F0F0F 0%, rgba(15, 15, 15, 0) 100%) !important;
}

/* [owner] remaining #050505 chrome -> #0F0F0F ground */
html[data-theme="dark"] body.escortify-global-discovery .escortify-global-discovery-spacer {
    background: var(--esc-dk-page) !important;
}
html[data-theme="dark"] body.search #contentStart + div {
    background: var(--esc-dk-page) !important;
}
/* profile Blog & feed wrapper (white card on mobile, tinted on desktop in light) */
html[data-theme="dark"] body.item .nzbf-feed {
    background: var(--esc-dk-page) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

/* [owner] Diamond row zone + mobile category chrome joins the ground */
html[data-theme="dark"] body.search #page {
    background-color: var(--esc-dk-page) !important;
    background-image: none !important;
}
/* mobile hero band + fades (the desktop twins exist above) */
html[data-theme="dark"] body.search .intro_category.escortify-discovery-hero::before {
    background:
        linear-gradient(180deg, rgba(15, 15, 15, 0) 0%, rgba(15, 15, 15, 0.04) 20%, rgba(15, 15, 15, 0.12) 50%, rgba(15, 15, 15, 0.5) 82%, #0F0F0F 100%) !important;
}
html[data-theme="dark"] body.search .escortify-discovery-hero__card {
    background: var(--esc-dk-page) !important;
}
/* item page sticky profile nav bar - MOBILE ONLY: on desktop .profile-nav is a
   transparent full-viewport overlay container (inset:0, z-52) and painting it
   opaque blankets the whole page */
@media (max-width: 768px) {
    html[data-theme="dark"] body.item.item-airbnb-layout .profile-nav {
        background: var(--esc-dk-page) !important;
    }
}

/* Diamond strip wrapper: a raw inline-styled <div style="background:#000;">
   around #carouselbox - joins the ground (scoped via :has so deliberate black
   overlays elsewhere keep their color) */
html[data-theme="dark"] div[style*="background:#000"]:has(> #carouselbox) {
    background: var(--esc-dk-page) !important;
}

/* [owner 2026-09-01] warm taupe icon tones on the profile page.
   #a99f90 = main glyphs (section headers, Basics/Appearance/Service/Location rows,
   Rates clocks, the $ / pin in the feature row);
   #b3a99a = the brighter contact icons (SMS bubble, globe, X, Like thumb). */
html[data-theme="dark"] body.item.item-airbnb-layout .np-header-icon-box svg,
html[data-theme="dark"] body.item.item-airbnb-layout svg.np-icon-primary,
html[data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon,
html[data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon svg,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-sub-card svg,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-basics-grid svg,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-value svg,
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-cur,
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-pin {
    color: #7D7466 !important;
}
html[data-theme="dark"] body.item .item-contact-method-icon,
html[data-theme="dark"] body.item .item-contact-method-icon svg,
html[data-theme="dark"] body.item .mc-action-icon-box,
html[data-theme="dark"] body.item .mc-action-icon,
html[data-theme="dark"] body.item .aPs.vote5 svg,
html[data-theme="dark"] body.item .lottie-like-full svg {
    color: #877D6F !important;
}

/* [owner] the small row headers (SERVICE TYPE / INCALL LOCATION / MEETING WITH,
   and the whole np-label family) match the main icon tone #a99f90.
   Selector list mirrors every earlier np-label rule so later-in-file wins ties. */
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-label,
html[data-theme="dark"] body.item.item-airbnb-layout .np-label {
    color: #a99f90 !important;
}

/* [owner] value text (Incall/Outcall, locations, meeting-with etc.) softened to
   warm parchment #D8D2C7 - brighter than the #a99f90 labels, softer than white.
   Mirrors every earlier np-value-text selector; later-in-file wins ties. */
html[data-theme="dark"] .new-profile-card .np-value-text,
html[data-theme="dark"] .np-service-row .np-value-text ,
html[data-theme="dark"] .np-sub-card .np-value-text,
html[data-theme="dark"] .np-value-row .np-value-text,
html[data-theme="dark"] .np-value-text ,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text-prices,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-value-text-prices,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability-legacy.np-section--availability-relocatable .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--basics-relocatable .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-value-text,
html[data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-value-text ,
html[data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-value-text {
    color: #D8D2C7 !important;
}

/* [owner] About me body copy joins the warm parchment */
html[data-theme="dark"] .item-airbnb-about-desktop-text,
html[data-theme="dark"] .item-airbnb-about-mobile-text,
html[data-theme="dark"] .item-airbnb-about-modal-copy {
    color: #D8D2C7 !important;
}

/* [owner] feature-row values ($ price + location) match the ivory name */
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-val,
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-val--price,
html[data-theme="dark"] body.item.item-airbnb-layout .ihg-val--loc {
    color: #FDFFF0 !important;
}

/* ==================== ASH EXPERIMENT (owner 2026-09-01) ====================
   Cool ash ink + icon system over the shipped warm set. Surfaces, hairlines and
   icon circles untouched - ink and icons only.
   ROLLBACK: delete this whole block (down to the END ASH marker); the warm
   ivory/taupe/parchment system underneath returns exactly as shipped. */

/* icons - main glyphs */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-header-icon-box svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout svg.np-icon-primary,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-icon-primary .fi-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-rate-icon .fi-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-value-row .fi-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-service-icon-circle,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-service-icon-circle .fi-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-location-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-location-icon .fi-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-feature-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-cur,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-pin,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-val--loc svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-sub-card svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-basics-grid svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section:not(.np-section--availability):not(.np-section--feed) .np-value svg {
    color: #767d8a !important;
}
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .np-location-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .np-service-icon-circle {
    color: #767d8a !important;
}
/* icons - contact + like */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .item-contact-method-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .item-contact-method-icon svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .mc-action-icon-box,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .mc-action-icon,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .aPs.vote5 svg,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item .lottie-like-full svg {
    color: #808795 !important;
}

/* headings: kept on the shipped warm ivory #FDFFF0 (owner) - no ash override */
/* strong text #E6E8ED (feature-row price/location only) */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-val,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-val--price,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-val--loc {
    color: #E6E8ED !important;
}

/* Rates prices = row-value tone #D8DAE0, matching Incall/Outcall, Women etc (owner) */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-value-text-prices,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .mc-price-value {
    color: #D8DAE0 !important;
}

/* body copy #B9BDC6 (About me, all renderings) */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .item-airbnb-about-desktop-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .item-airbnb-about-mobile-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .item-airbnb-about-modal-copy {
    color: #B9BDC6 !important;
}

/* row labels #9BA1AC */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-label {
    color: #9BA1AC !important;
}

/* row values #D8DAE0 */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .new-profile-card .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .np-service-row .np-value-text ,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .np-sub-card .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .np-value-row .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] .np-value-text ,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--appearance .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--basics .np-value-text-prices,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--location-mobile .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--rates .np-value-text-prices,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .np-section--services .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--availability-legacy.np-section--availability-relocatable .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-body-panel .parameters .np-section--basics-relocatable .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-section .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-sidebar .np-value-text ,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-value-text,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section--appearance-body-desktop .np-value-text  {
    color: #D8DAE0 !important;
}

/* secondary #9BA1AC (rates duration labels, desktop subtitle chip text) */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .np-section--rates .mc-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .mc-label,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-desktop-subtitle {
    color: #9BA1AC !important;
}

/* muted #7E848F (posted date, feature-row sublines) */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .mc-footer,
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .ihg-under {
    color: #7E848F !important;
}
/* MOBILE mirrors (owner 2026-09-01): the mobile item page's own classes get the
   same ash tones as their desktop twins so both widths read identically */
/* strong #E6E8ED - mobile feature-row value = desktop .ihg-val */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-feature-value {
    color: #E6E8ED !important;
}
/* row values #D8DAE0 - Info stats + mobile rates .mc-value = np-value-text/.mc-price-value */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .mc-value {
    color: #D8DAE0 !important;
}
/* secondary #9BA1AC - mobile city subtitle = desktop subtitle */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-mobile-subtitle {
    color: #9BA1AC !important;
}
/* muted #7E848F - mobile "per hour"/location subline = desktop .ihg-under */
html[data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"][data-theme="dark"] body.item.item-airbnb-layout .item-airbnb-feature-subtitle {
    color: #7E848F !important;
}

/* ==================== END ASH EXPERIMENT ==================== */

/* category/related card NAMES in ivory (owner 2026-09-01) - the ", 24" age span
   keeps its shipped ink (own direct rule re-pinned so it never inherits ivory) */
html[data-theme="dark"] .search-profile-card__name {
    color: #FDFFF0 !important;
}
html[data-theme="dark"] .search-profile-card__age {
    color: var(--esc-dk-text) !important;
}

/* category card price = same effective ink as the age (owner 2026-09-01):
   the age is var(--esc-dk-text) at opacity .72 (search-profile-card.css:409);
   give the price the same opacity so the pair matches exactly */
html[data-theme="dark"] .search-profile-card__rate-text {
    opacity: 0.72;
}

