/* TARAMAA FRONTEND — DARK MODE CONTRAST PASS
   Additive dark-mode-only accessibility/readability layer.
   IMPORTANT: no dimensions, spacing, layout, images, typography sizes or light-mode
   styles are changed here. This file only activates under data-tm-theme="dark".
*/

html[data-tm-theme="dark"]{
  --tm-dc-bg:#090b12;
  --tm-dc-surface:#171923;
  --tm-dc-surface-2:#202330;
  --tm-dc-surface-3:#292c3c;
  --tm-dc-text:#f7f5ff;
  --tm-dc-text-2:#e6e1f0;
  --tm-dc-muted:#bcb6ca;
  --tm-dc-faint:#9f98ad;
  --tm-dc-purple:#c6a5ff;
  --tm-dc-purple-strong:#d5bbff;
  --tm-dc-orange:#ffb84d;
  --tm-dc-green:#70dc9a;
  --tm-dc-red:#ff9fa8;
  --tm-dc-line:rgba(198,165,255,.30);
}

/* Universal text contrast on the public/master frontend. */
html[data-tm-theme="dark"] body,
html[data-tm-theme="dark"] .tm-shell,
html[data-tm-theme="dark"] main,
html[data-tm-theme="dark"] section,
html[data-tm-theme="dark"] article,
html[data-tm-theme="dark"] .tm-content,
html[data-tm-theme="dark"] .tm-page-content{
  color:var(--tm-dc-text);
}

html[data-tm-theme="dark"] p,
html[data-tm-theme="dark"] li,
html[data-tm-theme="dark"] dd,
html[data-tm-theme="dark"] dt,
html[data-tm-theme="dark"] td,
html[data-tm-theme="dark"] th,
html[data-tm-theme="dark"] label{
  color:var(--tm-dc-text-2);
}

html[data-tm-theme="dark"] small,
html[data-tm-theme="dark"] .muted,
html[data-tm-theme="dark"] .tm-muted,
html[data-tm-theme="dark"] .hint,
html[data-tm-theme="dark"] .helper,
html[data-tm-theme="dark"] .description,
html[data-tm-theme="dark"] .subtext{
  color:var(--tm-dc-muted)!important;
}

html[data-tm-theme="dark"] h1,
html[data-tm-theme="dark"] h2,
html[data-tm-theme="dark"] h3,
html[data-tm-theme="dark"] h4,
html[data-tm-theme="dark"] h5,
html[data-tm-theme="dark"] h6,
html[data-tm-theme="dark"] strong,
html[data-tm-theme="dark"] b{
  color:var(--tm-dc-text)!important;
}

html[data-tm-theme="dark"] a{color:var(--tm-dc-text-2);}
html[data-tm-theme="dark"] a:hover{color:var(--tm-dc-purple-strong);}

/* Main frontend cards and panels. */
html[data-tm-theme="dark"] .tm-card,
html[data-tm-theme="dark"] .tm-details-card,
html[data-tm-theme="dark"] .tm-payment-card,
html[data-tm-theme="dark"] .tm-summary-card,
html[data-tm-theme="dark"] .tm-trusted-card,
html[data-tm-theme="dark"] .tm-safe-card,
html[data-tm-theme="dark"] .tm-help-card,
html[data-tm-theme="dark"] .login-card,
html[data-tm-theme="dark"] .login-form-card,
html[data-tm-theme="dark"] .reg-card,
html[data-tm-theme="dark"] .profile-card,
html[data-tm-theme="dark"] .up-main-panel,
html[data-tm-theme="dark"] .up-side-card,
html[data-tm-theme="dark"] .up-card,
html[data-tm-theme="dark"] .up-filters,
html[data-tm-theme="dark"] .ep-filter-card,
html[data-tm-theme="dark"] .ep-puja-card,
html[data-tm-theme="dark"] .live-card,
html[data-tm-theme="dark"] .live-video-card,
html[data-tm-theme="dark"] .live-details-card,
html[data-tm-theme="dark"] .live-priest-card,
html[data-tm-theme="dark"] .live-action-card{
  color:var(--tm-dc-text);
}

/* ===== PUJA BOOKING — high priority because this page has many legacy light rules. ===== */
html[data-tm-theme="dark"] .tm-booking-page,
html[data-tm-theme="dark"] .tm-booking-page .tm-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-puja,
html[data-tm-theme="dark"] .tm-booking-page .tm-date-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-details-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-offerings-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-trusted-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-safe-card,
html[data-tm-theme="dark"] .tm-booking-page .tm-help-card{
  color:var(--tm-dc-text)!important;
}

html[data-tm-theme="dark"] .tm-booking-page .tm-breadcrumb,
html[data-tm-theme="dark"] .tm-booking-page .tm-breadcrumb span,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-info p,
html[data-tm-theme="dark"] .tm-booking-page .tm-rating,
html[data-tm-theme="dark"] .tm-booking-page .tm-form-grid label,
html[data-tm-theme="dark"] .tm-booking-page .tm-time-heading small,
html[data-tm-theme="dark"] .tm-booking-page .tm-encryption,
html[data-tm-theme="dark"] .tm-booking-page .tm-stars small,
html[data-tm-theme="dark"] .tm-booking-page .tm-help-card p,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-lines,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money,
html[data-tm-theme="dark"] .tm-booking-page .tm-receive-card li{
  color:var(--tm-dc-muted)!important;
}

html[data-tm-theme="dark"] .tm-booking-page .tm-page-title h1,
html[data-tm-theme="dark"] .tm-booking-page .tm-section-title h2,
html[data-tm-theme="dark"] .tm-booking-page .tm-section-title h2 small,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-info h3,
html[data-tm-theme="dark"] .tm-booking-page .tm-time-heading b,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-lines b,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money b,
html[data-tm-theme="dark"] .tm-booking-page .tm-trusted-title,
html[data-tm-theme="dark"] .tm-booking-page .tm-help-card h3,
html[data-tm-theme="dark"] .tm-booking-page .tm-receive-card h2,
html[data-tm-theme="dark"] .tm-booking-page .tm-safe-card h2,
html[data-tm-theme="dark"] .tm-booking-page .tm-offering b,
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-methods b{
  color:var(--tm-dc-text)!important;
}

/* Booking form controls */
html[data-tm-theme="dark"] .tm-booking-page .tm-input,
html[data-tm-theme="dark"] .tm-booking-page .tm-input input,
html[data-tm-theme="dark"] .tm-booking-page .tm-input textarea,
html[data-tm-theme="dark"] .tm-booking-page .tm-input select,
html[data-tm-theme="dark"] .tm-booking-page input,
html[data-tm-theme="dark"] .tm-booking-page textarea,
html[data-tm-theme="dark"] .tm-booking-page select{
  color:var(--tm-dc-text)!important;
  background:#202330!important;
  border-color:var(--tm-dc-line)!important;
}

html[data-tm-theme="dark"] .tm-booking-page input::placeholder,
html[data-tm-theme="dark"] .tm-booking-page textarea::placeholder{
  color:#918a9f!important;
  opacity:1!important;
}

/* Calendar: circles remain circles and all dates stay readable. */
html[data-tm-theme="dark"] .tm-booking-page .tm-calendar-box{
  background:#171923!important;
  border-color:var(--tm-dc-line)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-calendar-top strong,
html[data-tm-theme="dark"] .tm-booking-page .tm-calendar-top button,
html[data-tm-theme="dark"] .tm-booking-page .tm-week span{
  color:var(--tm-dc-text-2)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-days i,
html[data-tm-theme="dark"] .tm-booking-page .tm-days button{
  color:var(--tm-dc-text)!important;
  background:#292c3c!important;
  border:1px solid rgba(198,165,255,.18)!important;
  border-radius:50%!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-days i:nth-child(-n+4){color:#8f899d!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-days button.selected{
  color:#fff!important;
  background:#5b2bd0!important;
  border-color:#b58cff!important;
  box-shadow:0 0 0 2px rgba(181,140,255,.14)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-date,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-time{
  color:var(--tm-dc-purple-strong)!important;
  background:#202330!important;
  border-color:var(--tm-dc-line)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-date small,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-time small{
  color:var(--tm-dc-muted)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-date b,
html[data-tm-theme="dark"] .tm-booking-page .tm-selected-time b{
  color:var(--tm-dc-text)!important;
}

/* Time slots — disabled slots must never disappear into the panel. */
html[data-tm-theme="dark"] .tm-booking-page .tm-time-grid button{
  color:var(--tm-dc-text-2)!important;
  background:#202330!important;
  border-color:rgba(198,165,255,.28)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-time-grid button:hover,
html[data-tm-theme="dark"] .tm-booking-page .tm-time-grid button.selected{
  color:#1a1207!important;
  background:#fff0bf!important;
  border-color:#ffb52e!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-time-grid button:disabled,
html[data-tm-theme="dark"] .tm-booking-page .tm-time-grid button.disabled{
  color:#777184!important;
  background:#151721!important;
  border-color:rgba(159,152,173,.16)!important;
  opacity:.72!important;
}

/* Family members / offerings */
html[data-tm-theme="dark"] .tm-booking-page .tm-family-member,
html[data-tm-theme="dark"] .tm-booking-page .family-member,
html[data-tm-theme="dark"] .tm-booking-page .family-members-empty,
html[data-tm-theme="dark"] .tm-booking-page .tm-offering{
  color:var(--tm-dc-text-2)!important;
  background:#202330!important;
  border-color:rgba(198,165,255,.24)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-offering strong{color:var(--tm-dc-orange)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-offering span{color:var(--tm-dc-purple-strong)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-add-family,
html[data-tm-theme="dark"] .tm-booking-page .add-family-member,
html[data-tm-theme="dark"] .tm-booking-page button[data-action*="family"]{
  color:var(--tm-dc-purple-strong)!important;
}

/* Payment method cards and security text. */
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-methods button{
  color:var(--tm-dc-text)!important;
  background:#202330!important;
  border-color:rgba(198,165,255,.24)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-methods button.selected{
  border-color:#ffb42f!important;
  box-shadow:0 0 0 2px rgba(255,180,47,.10)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-methods small{
  color:var(--tm-dc-muted)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-payment-methods i{color:var(--tm-dc-purple)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-secure-badge{color:var(--tm-dc-green)!important;background:#17251d!important;border-color:rgba(112,220,154,.35)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-secure-badge b{color:var(--tm-dc-text-2)!important;}

/* Booking summary and amounts. */
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-lines,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money,
html[data-tm-theme="dark"] .tm-booking-page .tm-total{
  border-color:rgba(198,165,255,.25)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-lines > div,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money > div{
  color:var(--tm-dc-text-2)!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money > div b{color:var(--tm-dc-text)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money > div:nth-child(3) b,
html[data-tm-theme="dark"] .tm-booking-page .tm-summary-money > div:nth-child(4) b{color:var(--tm-dc-purple-strong)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-total strong{color:var(--tm-dc-orange)!important;}
html[data-tm-theme="dark"] .tm-booking-page .tm-receive-card li{color:var(--tm-dc-text-2)!important;}

/* Buttons: preserve existing visual treatment, only correct text/icon contrast. */
html[data-tm-theme="dark"] .tm-booking-page .tm-change-puja,
html[data-tm-theme="dark"] .tm-booking-page .tm-help-card button{
  color:var(--tm-dc-purple-strong)!important;
  background:#202330!important;
  border-color:#9273e8!important;
}
html[data-tm-theme="dark"] .tm-booking-page .tm-proceed,
html[data-tm-theme="dark"] .tm-booking-page .tm-gold-mini,
html[data-tm-theme="dark"] .tm-booking-page .tm-register{
  color:#17120a!important;
}

/* ===== Explore / upcoming / live / profile / information pages ===== */
html[data-tm-theme="dark"] .ep-results-head,
html[data-tm-theme="dark"] .ep-card-body,
html[data-tm-theme="dark"] .ep-card-body p,
html[data-tm-theme="dark"] .up-card-body,
html[data-tm-theme="dark"] .up-card-body p,
html[data-tm-theme="dark"] .up-side-card p,
html[data-tm-theme="dark"] .up-subscribe p,
html[data-tm-theme="dark"] .up-why small,
html[data-tm-theme="dark"] .profile-meta,
html[data-tm-theme="dark"] .profile-location,
html[data-tm-theme="dark"] .profile-bio,
html[data-tm-theme="dark"] .live-action-card p,
html[data-tm-theme="dark"] .live-feature-row small,
html[data-tm-theme="dark"] .live-detail-main dt,
html[data-tm-theme="dark"] .live-detail-main dd,
html[data-tm-theme="dark"] .chat-row p,
html[data-tm-theme="dark"] .chat-row time{
  color:var(--tm-dc-text-2)!important;
}

html[data-tm-theme="dark"] .ep-search input,
html[data-tm-theme="dark"] .ep-filter-card select,
html[data-tm-theme="dark"] .ep-results-head select,
html[data-tm-theme="dark"] .up-field input,
html[data-tm-theme="dark"] .up-field select,
html[data-tm-theme="dark"] .tm-faq-search input,
html[data-tm-theme="dark"] .tm-contact-form input,
html[data-tm-theme="dark"] .tm-contact-form textarea,
html[data-tm-theme="dark"] .tm-contact-form select{
  color:var(--tm-dc-text)!important;
  background:#202330!important;
  border-color:var(--tm-dc-line)!important;
}

/* Login/register/profile form readability. */
html[data-tm-theme="dark"] .login-field>span,
html[data-tm-theme="dark"] .reg-field>span,
html[data-tm-theme="dark"] .reg-login-copy,
html[data-tm-theme="dark"] .reg-secure-note,
html[data-tm-theme="dark"] .login-heading p,
html[data-tm-theme="dark"] .login-message,
html[data-tm-theme="dark"] .profile-card p{
  color:var(--tm-dc-muted)!important;
}
html[data-tm-theme="dark"] .login-input,
html[data-tm-theme="dark"] .reg-input,
html[data-tm-theme="dark"] .reg-select{
  color:var(--tm-dc-text)!important;
  background:#202330!important;
  border-color:var(--tm-dc-line)!important;
}
html[data-tm-theme="dark"] .login-input input,
html[data-tm-theme="dark"] .reg-input input,
html[data-tm-theme="dark"] .reg-select input,
html[data-tm-theme="dark"] .reg-select select{
  color:var(--tm-dc-text)!important;
  background:transparent!important;
}

/* Alerts and validation messages. */
html[data-tm-theme="dark"] .login-alert,
html[data-tm-theme="dark"] .reg-alert,
html[data-tm-theme="dark"] .tm-alert,
html[data-tm-theme="dark"] .alert-error{
  color:var(--tm-dc-red)!important;
  background:#351b22!important;
  border-color:rgba(255,159,168,.40)!important;
}
html[data-tm-theme="dark"] .alert-success,
html[data-tm-theme="dark"] .tm-success{
  color:var(--tm-dc-green)!important;
  background:#17261e!important;
  border-color:rgba(112,220,154,.35)!important;
}

/* Footer and legal/information pages. */
html[data-tm-theme="dark"] .tm-footer-bottom,
html[data-tm-theme="dark"] .tm-page-footer-bottom,
html[data-tm-theme="dark"] .refund-breadcrumb,
html[data-tm-theme="dark"] .refund-breadcrumb a,
html[data-tm-theme="dark"] .commitment-copy p,
html[data-tm-theme="dark"] .eligibility-card p,
html[data-tm-theme="dark"] .process-step p,
html[data-tm-theme="dark"] .help-copy p{
  color:var(--tm-dc-muted)!important;
}

/* Never let common legacy white/light controls produce low-contrast dark text. */
html[data-tm-theme="dark"] button,
html[data-tm-theme="dark"] .tm-outline-button,
html[data-tm-theme="dark"] .up-reset,
html[data-tm-theme="dark"] .up-view-all,
html[data-tm-theme="dark"] .ep-reset,
html[data-tm-theme="dark"] .ep-load{
  text-shadow:none;
}

html[data-tm-theme="dark"] ::selection{background:#6a3bd6;color:#fff;}


/* Repair: keep every booking calendar day geometrically circular at all widths. */
html[data-tm-theme="dark"] .tm-booking-page .tm-days{align-items:center;}
html[data-tm-theme="dark"] .tm-booking-page .tm-days button,
html[data-tm-theme="dark"] .tm-booking-page .tm-days i{
  width:27px!important;height:27px!important;min-width:27px!important;max-width:27px!important;
  min-height:27px!important;max-height:27px!important;
  aspect-ratio:1/1!important;
  padding:0!important;margin:0 auto!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
html[data-tm-theme="dark"] .tm-booking-page .tm-days button,
html[data-tm-theme="dark"] .tm-booking-page .tm-days i{width:29px!important;height:29px!important;min-width:29px!important;max-width:29px!important;min-height:29px!important;max-height:29px!important;}
}
