/*
 * Dark mode (html[data-theme="dark"]), comutat din meniul lateral și din subsol.
 *
 * În tema luminoasă, --c-ink e și culoarea textului, și fundalul zonelor închise (header, subsol,
 * hero, butoanele principale); --c-brand e și culoarea linkurilor, și fundalul unor insigne.
 * Aici inversăm doar rolul de text; zonele care trebuie să rămână închise primesc --c-night, iar
 * butoanele/chip-urile „pline” devin deschise cu text închis (modelul obișnuit în dark mode).
 */
html[data-theme="dark"] {
    color-scheme: dark;
    --c-night: #1E1019;          /* = --c-ink din tema luminoasă: header, subsol, hero */
    --c-bg: #141014;             /* fundalul paginii, negru cu nuanță de prună */
    --c-surface: #1F181E;        /* carduri, formulare, meniuri */
    --c-surface-2: #261D24;      /* zonele care pe luminos erau #F5F5F7 */
    --c-ink: #EFE7EC;            /* text (15:1 pe --c-bg) */
    --c-muted: #B0A6AD;          /* text secundar (8:1 pe --c-bg) */
    --c-line: #3A2E37;
    --c-line-soft: #231B21;
    --c-brand: #DD95C3;          /* linkuri și accente: prună deschisă, lizibilă pe fundal închis */
    --c-brand-dark: #ECB6D8;
    --c-brand-tint: #2D1B27;
    --c-brand-line: #503046;
    --c-brand-solid: #70265C;    /* prună originală, pentru fundaluri cu text alb */
    --bs-body-bg: var(--c-bg);
    --bs-body-color: var(--c-ink);
    --bs-secondary-color: var(--c-muted);
    --bs-link-color-rgb: 239, 231, 236;
    --bs-link-hover-color-rgb: 221, 149, 195;
    --bs-border-color: var(--c-line);
}
html[data-theme="dark"] body { background: var(--c-bg); color: var(--c-ink); }
html[data-theme="dark"] .text-muted { color: var(--c-muted) !important; }

/* suprafețele albe (carduri, formulare, meniuri, liste derulante) */
html[data-theme="dark"] :is(
    .btn-outline-dark, a.btn-outline-dark, button.btn-outline-dark,
    .psm-hero-search, .psm-hero-chips a:hover, .psm-rail-nav, .psm-category:hover, .psm-category:focus-visible,
    .psm-category-icon, .psm-toolbar-select, .psm-filter-chip, .psm-cal-sub-copy,
    .psm-input, .psm-textarea, .psm-select, .psm-onboarding-option, .psm-modal, .psm-autocomplete,
    .psm-empty-icon, .psm-course-meta-grid, .psm-session-card, .psm-drawer-panel, .psm-drawer-head,
    .psm-drawer-item:hover, .psm-drawer-item:focus, .psm-drawer-item-icon, .psm-drawer-lang:hover, .psm-drawer-auth-btn,
    .psm-bottom-nav, .psm-auth-card, .psm-reg-people select, .psm-resv, .psm-api-ep, .psm-session-people select,
    .psm-search-alt, .psm-org-avatar, .psm-org-stat, .psm-fav-btn:hover, .psm-hlang-list, .psm-cinema-time,
    .psm-cal-menu-list, .psm-about-card, .psm-about-sources li
) { background: var(--c-surface) !important; }

/* zonele care pe luminos erau gri foarte deschis (#F5F5F7) */
html[data-theme="dark"] :is(
    .psm-category, .psm-showcase, .psm-showcase-dark, .psm-tile-light, .psm-tile.psm-tile-even,
    .psm-cinema-day, .psm-cinema-film, .psm-about-stats dl > div, .psm-about-alt
) { background: var(--c-surface-2) !important; }

/* rămân închise, ca în tema luminoasă */
html[data-theme="dark"] :is(
    .psm-header, .psm-hero, .psm-footer, .psm-media, .psm-cancelled-banner, .psm-toast,
    .psm-event-status-banner, .psm-course-next-banner, .psm-drawer-user-card, .psm-skip-link,
    .psm-tile-dark, .psm-tile.psm-tile-odd, .psm-about-orgs
) { background-color: var(--c-night) !important; }
html[data-theme="dark"] .psm-header { border-bottom-color: var(--c-line); }

/* butoane și chip-uri „pline”: deschise, cu text închis */
html[data-theme="dark"] :is(
    .btn-primary, a.btn-primary, button.btn-primary, .btn-outline-dark:hover, button.btn-outline-dark:hover,
    .psm-rail-nav:hover, .psm-active-chip, .psm-filter-chip.active, .psm-account-nav a.active,
    .psm-onboarding-option.selected, .psm-modal-option:has(input:checked), .psm-drawer-item.active,
    .psm-drawer-lang.active, .psm-drawer-auth-btn.primary, .psm-cinema-day.active
) { background: var(--c-ink) !important; color: var(--c-night) !important; border-color: var(--c-ink) !important; }
html[data-theme="dark"] :is(.psm-drawer-lang.active, .psm-drawer-item.active) * { color: var(--c-night) !important; }

/* fundaluri prună cu text alb: rămân pe pruna originală (cea deschisă n-ar avea contrast cu albul) */
html[data-theme="dark"] :is(
    .btn-primary:hover, a.btn-primary:hover, .btn-blue, a.btn-blue, .psm-category:hover .psm-category-icon,
    .psm-active-chip:hover, .psm-cal-sub-btn, .psm-onboarding-progress span.active, .psm-header-avatar,
    .psm-drawer-user-avatar, .psm-drawer-auth-btn.primary:hover, .psm-api-method, .psm-unread-pill,
    .psm-org-avatar img, .psm-org-avatar span
) { background: var(--c-brand-solid) !important; color: #fff !important; }
html[data-theme="dark"] ::selection { background: var(--c-brand-solid); color: #fff; }

/* logo-uri și ilustrații închise la culoare pe fundal închis: ușor deschise */
html[data-theme="dark"] img[src*="logo-mark.png"], html[data-theme="dark"] img[src*="logo-full.png"] { filter: invert(1) hue-rotate(180deg); }

/* comutatorul de temă (meniul lateral și subsolul) */
.psm-theme-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }

.psm-footer-theme {
    display: inline-flex; align-items: center; gap: 6px; margin-left: 14px; padding: 6px 12px;
    border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.22); background: transparent;
    color: rgba(255, 255, 255, 0.8); font-size: 13px; cursor: pointer;
}
.psm-footer-theme:hover, .psm-footer-theme:focus-visible { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
/* bannerul de cookie-uri are fundalul var(--c-ink) scris în HTML: în dark ar deveni deschis cu text alb */
html[data-theme="dark"] #psmCookieBanner { background: var(--c-night) !important; border: 1px solid var(--c-line); }

/* rezultatele verificării axe (contrast) în dark mode, 10.10 */
/* .btn-light (banner cookie, „Hartă” pe pagina locației, butoane pe hero): fundal alb, deci text închis */
html[data-theme="dark"] :is(.btn-light, a.btn-light) { color: var(--c-night) !important; }
/* newsletter-ul din subsol: câmpul are fundal alb și culoarea textului scrise în HTML */
html[data-theme="dark"] #footer-newsletter-email { background: var(--c-surface) !important; color: var(--c-ink) !important; border: 1px solid var(--c-line) !important; }
/* calendarul (stilurile sunt în calendar.php): zilele din alte luni, ziua de azi */
html[data-theme="dark"] .psm-cal-cell.out { background: var(--c-line-soft) !important; }
html[data-theme="dark"] .psm-cal-cell.out .psm-cal-date a { color: var(--c-muted) !important; }
html[data-theme="dark"] .psm-cal-cell.today { background: var(--c-brand-tint) !important; }
html[data-theme="dark"] .psm-cal-cell.today .psm-cal-date a { background: var(--c-brand-solid) !important; color: #fff !important; }
/* stelele din recenzii au culoarea prunei închise scrisă în HTML */
html[data-theme="dark"] [data-star] { color: var(--c-brand) !important; }
/* hero-ul paginilor de organizator/locație: gradient din --c-blue/--c-blue-dark, care în dark sunt
   nuanțe deschise (pentru text) => fundal roz cu text alb. Rămâne pe pruna originală. axe nu-l prinde
   (nu calculează contrastul pe gradienți), l-am văzut în captură. */
html[data-theme="dark"] .psm-org-hero { background: linear-gradient(135deg, #70265C 0%, #561D47 100%) !important; }
/* verificarea axe pe paginile rămase (10.10): <code> roz Bootstrap (3,86:1) pe /date-deschise;
   capul zilelor din calendarul pe săptămână (fundal --c-ink în calendar.php, text alb) */
html[data-theme="dark"] code { color: var(--c-brand) !important; }
html[data-theme="dark"] .psm-cal-week-head { background: var(--c-night) !important; color: #fff !important; }
/* butonul de ștergere a contului are fundal prună inline: textul rămâne alb (regula butoanelor principale îl închidea) */
html[data-theme="dark"] button.btn.btn-primary[name="delete_account"] { color: #fff !important; }  /* specificitate peste :is() de mai sus */
