/*
 * RC105D dark-mode readability patch.
 * Scope: insurance, visa, and car rental service pages only.
 * No route, widget, partner link, iframe, API, or homepage changes.
 */

html[data-theme="dark"] body.tt-rc105d-darkmode-readability,
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability,
html.tt-dark-mode body.tt-rc105d-darkmode-readability,
body.dark.tt-rc105d-darkmode-readability,
body.dark-mode.tt-rc105d-darkmode-readability {
  --tt-rc105d-bg: #07111f;
  --tt-rc105d-surface: rgba(15, 23, 42, .92);
  --tt-rc105d-surface-strong: rgba(17, 24, 39, .96);
  --tt-rc105d-border: rgba(226, 232, 240, .16);
  --tt-rc105d-text: #f8fafc;
  --tt-rc105d-muted: #cbd5e1;
  --tt-rc105d-soft: #94a3b8;
  --tt-rc105d-accent: #fbbf24;
  --tt-rc105d-link: #fcd34d;
  --tt-rc105d-danger: #fecaca;
  background:
    radial-gradient(circle at 14% 10%, rgba(14, 165, 233, .13), transparent 28%),
    radial-gradient(circle at 86% 0%, rgba(251, 191, 36, .10), transparent 25%),
    linear-gradient(180deg, #07111f 0%, #0b1728 100%) !important;
  color: var(--tt-rc105d-text) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(h1,h2,h3,h4,h5,h6,strong,label,legend),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(h1,h2,h3,h4,h5,h6,strong,label,legend),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(h1,h2,h3,h4,h5,h6,strong,label,legend),
body.dark.tt-rc105d-darkmode-readability :where(h1,h2,h3,h4,h5,h6,strong,label,legend),
body.dark-mode.tt-rc105d-darkmode-readability :where(h1,h2,h3,h4,h5,h6,strong,label,legend) {
  color: var(--tt-rc105d-text) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(p,li,span,small,div),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(p,li,span,small,div),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(p,li,span,small,div),
body.dark.tt-rc105d-darkmode-readability :where(p,li,span,small,div),
body.dark-mode.tt-rc105d-darkmode-readability :where(p,li,span,small,div) {
  color: inherit;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(p,li,small,.description,.tt-muted),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(p,li,small,.description,.tt-muted),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(p,li,small,.description,.tt-muted),
body.dark.tt-rc105d-darkmode-readability :where(p,li,small,.description,.tt-muted),
body.dark-mode.tt-rc105d-darkmode-readability :where(p,li,small,.description,.tt-muted) {
  color: var(--tt-rc105d-muted) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability a:not(.tt-insurance-primary):not(.tt-visa-btn):not(.tt-primary),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability a:not(.tt-insurance-primary):not(.tt-visa-btn):not(.tt-primary),
html.tt-dark-mode body.tt-rc105d-darkmode-readability a:not(.tt-insurance-primary):not(.tt-visa-btn):not(.tt-primary),
body.dark.tt-rc105d-darkmode-readability a:not(.tt-insurance-primary):not(.tt-visa-btn):not(.tt-primary),
body.dark-mode.tt-rc105d-darkmode-readability a:not(.tt-insurance-primary):not(.tt-visa-btn):not(.tt-primary) {
  color: var(--tt-rc105d-link) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-hero,
  .tt-insurance-side,
  .tt-insurance-visual-card,
  .tt-insurance-language-note,
  .tt-insurance-card,
  .tt-insurance-chat,
  .tt-insurance-widget-card,
  .tt-insurance-guidance-list,
  .tt-insurance-disclaimer,
  .tt-visa-page,
  .tt-visa-hero,
  .tt-visa-copy,
  .tt-visa-points,
  .tt-visa-disclaimer,
  .tt-standalone-primary,
  .tt-v066-service-page,
  .tt-v066-service-hero > div,
  .tt-v066-service-hero > article,
  .tt-v066-service-grid article,
  .tt-car-v035-copy,
  .tt-car-v035-card,
  .tt-car-v035-panel,
  .tt-car-v035-widget,
  .tt-car-v035-search,
  .tt-car-v035-note,
  .tt-service-detail-card,
  .tt-service-detail-panel,
  .tt-service-note-card,
  .tt-service-cta-box
),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-hero,
  .tt-insurance-side,
  .tt-insurance-visual-card,
  .tt-insurance-language-note,
  .tt-insurance-card,
  .tt-insurance-chat,
  .tt-insurance-widget-card,
  .tt-insurance-guidance-list,
  .tt-insurance-disclaimer,
  .tt-visa-page,
  .tt-visa-hero,
  .tt-visa-copy,
  .tt-visa-points,
  .tt-visa-disclaimer,
  .tt-standalone-primary,
  .tt-v066-service-page,
  .tt-v066-service-hero > div,
  .tt-v066-service-hero > article,
  .tt-v066-service-grid article,
  .tt-car-v035-copy,
  .tt-car-v035-card,
  .tt-car-v035-panel,
  .tt-car-v035-widget,
  .tt-car-v035-search,
  .tt-car-v035-note,
  .tt-service-detail-card,
  .tt-service-detail-panel,
  .tt-service-note-card,
  .tt-service-cta-box
),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-hero,
  .tt-insurance-side,
  .tt-insurance-visual-card,
  .tt-insurance-language-note,
  .tt-insurance-card,
  .tt-insurance-chat,
  .tt-insurance-widget-card,
  .tt-insurance-guidance-list,
  .tt-insurance-disclaimer,
  .tt-visa-page,
  .tt-visa-hero,
  .tt-visa-copy,
  .tt-visa-points,
  .tt-visa-disclaimer,
  .tt-standalone-primary,
  .tt-v066-service-page,
  .tt-v066-service-hero > div,
  .tt-v066-service-hero > article,
  .tt-v066-service-grid article,
  .tt-car-v035-copy,
  .tt-car-v035-card,
  .tt-car-v035-panel,
  .tt-car-v035-widget,
  .tt-car-v035-search,
  .tt-car-v035-note,
  .tt-service-detail-card,
  .tt-service-detail-panel,
  .tt-service-note-card,
  .tt-service-cta-box
),
body.dark.tt-rc105d-darkmode-readability :where(
  .tt-insurance-hero,
  .tt-insurance-side,
  .tt-insurance-visual-card,
  .tt-insurance-language-note,
  .tt-insurance-card,
  .tt-insurance-chat,
  .tt-insurance-widget-card,
  .tt-insurance-guidance-list,
  .tt-insurance-disclaimer,
  .tt-visa-page,
  .tt-visa-hero,
  .tt-visa-copy,
  .tt-visa-points,
  .tt-visa-disclaimer,
  .tt-standalone-primary,
  .tt-v066-service-page,
  .tt-v066-service-hero > div,
  .tt-v066-service-hero > article,
  .tt-v066-service-grid article,
  .tt-car-v035-copy,
  .tt-car-v035-card,
  .tt-car-v035-panel,
  .tt-car-v035-widget,
  .tt-car-v035-search,
  .tt-car-v035-note,
  .tt-service-detail-card,
  .tt-service-detail-panel,
  .tt-service-note-card,
  .tt-service-cta-box
),
body.dark-mode.tt-rc105d-darkmode-readability :where(
  .tt-insurance-hero,
  .tt-insurance-side,
  .tt-insurance-visual-card,
  .tt-insurance-language-note,
  .tt-insurance-card,
  .tt-insurance-chat,
  .tt-insurance-widget-card,
  .tt-insurance-guidance-list,
  .tt-insurance-disclaimer,
  .tt-visa-page,
  .tt-visa-hero,
  .tt-visa-copy,
  .tt-visa-points,
  .tt-visa-disclaimer,
  .tt-standalone-primary,
  .tt-v066-service-page,
  .tt-v066-service-hero > div,
  .tt-v066-service-hero > article,
  .tt-v066-service-grid article,
  .tt-car-v035-copy,
  .tt-car-v035-card,
  .tt-car-v035-panel,
  .tt-car-v035-widget,
  .tt-car-v035-search,
  .tt-car-v035-note,
  .tt-service-detail-card,
  .tt-service-detail-panel,
  .tt-service-note-card,
  .tt-service-cta-box
) {
  background: linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(30, 41, 59, .86)) !important;
  border-color: var(--tt-rc105d-border) !important;
  color: var(--tt-rc105d-text) !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .34) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-card p,
  .tt-insurance-section-head p,
  .tt-insurance-disclaimer p,
  .tt-insurance-guidance-list p,
  .tt-insurance-widget-title,
  .tt-visa-copy p,
  .tt-visa-disclaimer p,
  .tt-v066-service-grid p,
  .tt-car-v035-copy p,
  .tt-car-v035-card p,
  .tt-car-v035-panel p,
  .tt-car-v035-note p,
  .tt-service-detail-copy p,
  .tt-service-note-card p,
  .tt-service-cta-box p
),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-card p,
  .tt-insurance-section-head p,
  .tt-insurance-disclaimer p,
  .tt-insurance-guidance-list p,
  .tt-insurance-widget-title,
  .tt-visa-copy p,
  .tt-visa-disclaimer p,
  .tt-v066-service-grid p,
  .tt-car-v035-copy p,
  .tt-car-v035-card p,
  .tt-car-v035-panel p,
  .tt-car-v035-note p,
  .tt-service-detail-copy p,
  .tt-service-note-card p,
  .tt-service-cta-box p
),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(
  .tt-insurance-card p,
  .tt-insurance-section-head p,
  .tt-insurance-disclaimer p,
  .tt-insurance-guidance-list p,
  .tt-insurance-widget-title,
  .tt-visa-copy p,
  .tt-visa-disclaimer p,
  .tt-v066-service-grid p,
  .tt-car-v035-copy p,
  .tt-car-v035-card p,
  .tt-car-v035-panel p,
  .tt-car-v035-note p,
  .tt-service-detail-copy p,
  .tt-service-note-card p,
  .tt-service-cta-box p
) {
  color: var(--tt-rc105d-muted) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-step,.tt-insurance-kicker,.tt-insurance-mini-kicker,.tt-visa-kicker,.tt-pill,.tt-badge),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-step,.tt-insurance-kicker,.tt-insurance-mini-kicker,.tt-visa-kicker,.tt-pill,.tt-badge),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(.tt-insurance-step,.tt-insurance-kicker,.tt-insurance-mini-kicker,.tt-visa-kicker,.tt-pill,.tt-badge),
body.dark.tt-rc105d-darkmode-readability :where(.tt-insurance-step,.tt-insurance-kicker,.tt-insurance-mini-kicker,.tt-visa-kicker,.tt-pill,.tt-badge),
body.dark-mode.tt-rc105d-darkmode-readability :where(.tt-insurance-step,.tt-insurance-kicker,.tt-insurance-mini-kicker,.tt-visa-kicker,.tt-pill,.tt-badge) {
  background: rgba(251, 191, 36, .15) !important;
  border-color: rgba(251, 191, 36, .32) !important;
  color: #fde68a !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-primary,.tt-visa-btn,.tt-primary,.tt-car-v035-inline-link,.tt-service-cta-box a),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-primary,.tt-visa-btn,.tt-primary,.tt-car-v035-inline-link,.tt-service-cta-box a),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(.tt-insurance-primary,.tt-visa-btn,.tt-primary,.tt-car-v035-inline-link,.tt-service-cta-box a),
body.dark.tt-rc105d-darkmode-readability :where(.tt-insurance-primary,.tt-visa-btn,.tt-primary,.tt-car-v035-inline-link,.tt-service-cta-box a),
body.dark-mode.tt-rc105d-darkmode-readability :where(.tt-insurance-primary,.tt-visa-btn,.tt-primary,.tt-car-v035-inline-link,.tt-service-cta-box a) {
  background: linear-gradient(135deg, #f59e0b, #ea580c) !important;
  border-color: rgba(255, 255, 255, .18) !important;
  color: #ffffff !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .25);
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-secondary,.tt-service-header-link,.tt-service-header-control),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-secondary,.tt-service-header-link,.tt-service-header-control),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(.tt-insurance-secondary,.tt-service-header-link,.tt-service-header-control),
body.dark.tt-rc105d-darkmode-readability :where(.tt-insurance-secondary,.tt-service-header-link,.tt-service-header-control),
body.dark-mode.tt-rc105d-darkmode-readability :where(.tt-insurance-secondary,.tt-service-header-link,.tt-service-header-control) {
  background: rgba(15, 23, 42, .72) !important;
  border-color: var(--tt-rc105d-border) !important;
  color: var(--tt-rc105d-text) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(input,select,textarea,button),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(input,select,textarea,button),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(input,select,textarea,button),
body.dark.tt-rc105d-darkmode-readability :where(input,select,textarea,button),
body.dark-mode.tt-rc105d-darkmode-readability :where(input,select,textarea,button) {
  color-scheme: dark;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(input:not([type="submit"]),select,textarea),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(input:not([type="submit"]),select,textarea),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(input:not([type="submit"]),select,textarea),
body.dark.tt-rc105d-darkmode-readability :where(input:not([type="submit"]),select,textarea),
body.dark-mode.tt-rc105d-darkmode-readability :where(input:not([type="submit"]),select,textarea) {
  background: rgba(15, 23, 42, .96) !important;
  border-color: rgba(148, 163, 184, .32) !important;
  color: var(--tt-rc105d-text) !important;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability ::placeholder,
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability ::placeholder,
html.tt-dark-mode body.tt-rc105d-darkmode-readability ::placeholder,
body.dark.tt-rc105d-darkmode-readability ::placeholder,
body.dark-mode.tt-rc105d-darkmode-readability ::placeholder {
  color: var(--tt-rc105d-soft) !important;
  opacity: 1;
}

html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-widget-frame,.tt-expedia-widget-wrap,.tt-qeeq-widget-wrap,.tt-car-v035-widget-frame),
html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-widget-frame,.tt-expedia-widget-wrap,.tt-qeeq-widget-wrap,.tt-car-v035-widget-frame),
html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(.tt-insurance-widget-frame,.tt-expedia-widget-wrap,.tt-qeeq-widget-wrap,.tt-car-v035-widget-frame),
body.dark.tt-rc105d-darkmode-readability :where(.tt-insurance-widget-frame,.tt-expedia-widget-wrap,.tt-qeeq-widget-wrap,.tt-car-v035-widget-frame),
body.dark-mode.tt-rc105d-darkmode-readability :where(.tt-insurance-widget-frame,.tt-expedia-widget-wrap,.tt-qeeq-widget-wrap,.tt-car-v035-widget-frame) {
  background: rgba(248, 250, 252, .06) !important;
  border: 1px solid var(--tt-rc105d-border) !important;
}

body.tt-rc105d-darkmode-readability iframe,
body.tt-rc105d-darkmode-readability img {
  filter: none !important;
}

@media (max-width: 700px) {
  html[data-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-hero,.tt-visa-hero,.tt-v066-service-hero),
  html[data-tt-theme="dark"] body.tt-rc105d-darkmode-readability :where(.tt-insurance-hero,.tt-visa-hero,.tt-v066-service-hero),
  html.tt-dark-mode body.tt-rc105d-darkmode-readability :where(.tt-insurance-hero,.tt-visa-hero,.tt-v066-service-hero) {
    border-radius: 22px !important;
  }
}
