/* Company website and member portal surfaces in night mode. Artwork keeps its colors. */
html[data-theme="night"] body[data-page] :is(.site-header, .main-nav, .site-dialog, .perks-dialog) {
  background: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .topbar,
    .site-footer,
    .values-section,
    .bottom-cta,
    .home-tracking,
    .track-help,
    .login-layout,
    .contact-intro,
    .perks-activity-filter
  ) {
  background: var(--theme-soft);
  color: var(--theme-text);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .service-teaser:hover,
    .branch-short:hover,
    .login-link:hover,
    .login-link[aria-current="page"],
    .main-nav a[aria-current="page"],
    .hero-copy > .eyebrow,
    .member-notice,
    .photo-note,
    .bubble-label
  ) {
  background: #3c322c;
  color: var(--theme-accent);
  border-color: #73513a;
}
html[data-theme="night"]
  body[data-page]
  :is(
    .perks-login-card,
    .perks-points-card,
    .perks-credit-card,
    .perks-highlight,
    .perks-reward,
    .perks-wallets article,
    .perks-table-scroll,
    .realtime-card,
    .realtime-form,
    .realtime-results,
    .track-card
  ) {
  background: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(
    p,
    label,
    h1,
    h2,
    h3,
    h4,
    .lead,
    .hero-note,
    .brand-kicker,
    .breadcrumb,
    .inline-stat > span,
    .perks-help,
    .perks-tags,
    .perks-login-note,
    .perks-summary,
    .perks-greeting,
    .perks-balance,
    .perks-points,
    .perks-credit,
    .perks-reward-cost
  ) {
  color: var(--theme-text);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .eyebrow,
    .text-link,
    .accent,
    .perks-intro > div > span,
    .perks-points-card strong,
    .perks-credit-card strong,
    .perks-highlight strong
  ) {
  color: var(--theme-accent);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .service-teaser p,
    .branch-short small,
    .footer-contact small,
    .footer-bottom,
    .perks-wallets small,
    .perks-reward p,
    .perks-login-note,
    .perks-help,
    .perks-status-label
  ) {
  color: var(--theme-muted);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .branch-short,
    .perks-intro,
    .perks-intro > div,
    .service-teaser,
    .service-strip,
    .branch-card,
    .branch-actions,
    .footer-bottom,
    .perks-table-scroll td
  ) {
  border-color: var(--theme-line);
}
html[data-theme="night"] body[data-page] :is(.button-white, .perks-logout, .perks-dialog-close) {
  color: var(--theme-text);
  background: var(--theme-surface);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .button-orange,
    .button-line,
    .care-ribbon,
    .perks-login-button,
    .perks-redeem,
    .perks-submit
  ) {
  color: #24180e;
}
html[data-theme="night"] body[data-page] :is(.perks-notice, .perks-expiry-warning, .perks-pending) {
  background: #46371e;
  color: #ffe2a7;
  border-color: #977345;
}
html[data-theme="night"]
  body[data-page]
  :is(.perks-table-scroll th, .perks-gift, .perks-reward-placeholder) {
  background: var(--theme-soft);
  color: var(--theme-accent);
  border-color: var(--theme-line);
}
html[data-theme="night"] body[data-page] .perks-table-scroll tr:nth-child(even) {
  background: #2b323b;
}
html[data-theme="night"] body[data-page] .login-art-copy :is(h1, .small-label) {
  color: #fff9e9;
}
html[data-theme="night"]
  body[data-page]
  :is(.art-caption, .perks-art-note, .experience-stamp, .experience-stamp span) {
  color: #694831;
}
html[data-theme="night"] body[data-page] .experience-stamp strong {
  color: #ab4313;
}
html[data-theme="night"] body[data-page] :is(.perks-error, .form-error) {
  color: #ffb6b6;
}
html[data-theme="night"] body[data-page] :is(.realtime-status, .realtime-stage, .realtime-empty) {
  color: var(--theme-text);
  background: var(--theme-soft);
  border-color: var(--theme-line);
}

html[data-theme="night"]
  body[data-page]
  :is(.cms-theme-cream, .cms-theme-white, .cms-theme-orange) {
  background: var(--theme-soft);
  color: var(--theme-text);
}

@media (min-width: 1061px) {
  html[data-theme="night"] body[data-page] .main-nav a[aria-current="page"] {
    background: transparent;
    color: var(--theme-accent);
  }
}

/* Pair inherited light text with explicit night surfaces. */
html[data-theme="night"]
  body[data-page]
  :is(
    .service-note,
    .contact-banner,
    .tracking-form-wrap,
    .service-jump a,
    .branch-selector button,
    .location-tag
  ) {
  background: var(--theme-soft);
  color: var(--theme-text);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(
    .footer-links > a,
    .footer-contact > a,
    .footer-contact > a > strong,
    .branch-phone,
    .small-label,
    .perks-login-card small,
    .perks-updated,
    .perks-section-heading > span,
    .perks-pagination,
    .perks-table-scroll td,
    .perks-table-scroll small
  ) {
  color: var(--theme-muted);
}
html[data-theme="night"]
  body[data-page]
  :is(.footer-line, .line-id, .line-id > .icon-button, .perks-wallets strong) {
  color: #a1e9cf;
}
html[data-theme="night"]
  body[data-page]
  :is(
    .service-book,
    .dialog-branches a strong,
    .dialog-branches a .icon,
    .location-tag,
    .service-jump .icon
  ) {
  color: var(--theme-accent);
}
html[data-theme="night"] body[data-page] label > span {
  color: inherit;
}
html[data-theme="night"] body[data-page] .button-dark {
  background: #614328;
  color: #fff9ed;
  border-color: #aa7d55;
}
html[data-theme="night"] body[data-page] .button-line {
  color: #fff;
}
html[data-theme="night"] body[data-page] .branch-selector button[aria-pressed="true"] {
  color: #24180e;
  background: var(--theme-accent);
  border-color: var(--theme-accent);
}
html[data-theme="night"] body[data-page] .branch-mark {
  background: var(--theme-soft);
}
html[data-theme="night"] body[data-page] .branch-mark > span {
  color: var(--theme-muted);
}
html[data-theme="night"] body[data-page] .branch-mark > .icon {
  color: var(--theme-accent);
}
html[data-theme="night"] body[data-page] .perks-hero-art::before {
  color: #a04414;
}
html[data-theme="night"] body[data-page] :is(.perks-reward-cost, .perks-expiry-badge, .perks-chip) {
  color: var(--theme-accent);
  background: var(--theme-soft);
}
html[data-theme="night"] body[data-page] .perks-positive {
  color: #a1e9cf !important;
}
html[data-theme="night"] body[data-page] .perks-form-status {
  color: #ffb6b6 !important;
}
html[data-theme="night"] body[data-page] .service-note > div > .icon {
  color: var(--theme-accent);
}
html[data-theme="night"] body[data-page] .contact-banner > div > .icon {
  color: #a1e9cf;
}

/* Authenticated real-time tracking uses the same surfaces as the customer forms. */
html[data-theme="night"] body[data-page] .realtime-dashboard {
  color: var(--theme-text);
  background: var(--theme-surface);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(.realtime-details, .realtime-live-tag, .realtime-stage) {
  color: var(--theme-text);
  background: var(--theme-soft);
  border-color: var(--theme-line);
}
html[data-theme="night"]
  body[data-page]
  :is(.realtime-details dt, .realtime-legend, .realtime-stage-number, .realtime-updated > span) {
  color: var(--theme-muted);
}
html[data-theme="night"] body[data-page] :is(.realtime-live-tag, .realtime-stage-icon > .icon) {
  color: var(--theme-accent);
}
html[data-theme="night"] body[data-page] .realtime-current-box,
html[data-theme="night"] body[data-page] .realtime-stage.is-done {
  color: #a1e9cf;
  background: #1b4037;
  border-color: #597e70;
}
html[data-theme="night"]
  body[data-page]
  :is(
    .realtime-current-box > span,
    .realtime-current-box > strong,
    .realtime-stage.is-done .realtime-stage-icon > .icon,
    .realtime-progress strong
  ) {
  color: #a1e9cf;
}
