/* ============================================================
   Theme Switch Pro – Mobile & Desktop
   Paletă de variabile CSS pentru fiecare temă + aplicarea
   temelor pe conținutul site-ului (body, link-uri, formulare…).
   ============================================================ */

/* ---------- Teme (variabile) ---------- */

/* Fallback (dacă atributul data-theme lipsește momentan) = Light */
html {
	--tsp-bg: #f6f7fb;
	--tsp-surface: #ffffff;
	--tsp-surface-2: #eef0f6;
	--tsp-text: #111827;
	--tsp-text-muted: #5b6472;
	--tsp-border: #e3e6ee;
	--tsp-primary: #2563eb;
	--tsp-primary-contrast: #ffffff;
	--tsp-link: #2563eb;
	--tsp-code: #f1f2f7;
	--tsp-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] {
	--tsp-bg: #f6f7fb;
	--tsp-surface: #ffffff;
	--tsp-surface-2: #eef0f6;
	--tsp-text: #111827;
	--tsp-text-muted: #5b6472;
	--tsp-border: #e3e6ee;
	--tsp-primary: #2563eb;
	--tsp-primary-contrast: #ffffff;
	--tsp-link: #2563eb;
	--tsp-code: #f1f2f7;
	--tsp-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

html[data-theme="dark"] {
	--tsp-bg: #0b1220;
	--tsp-surface: #111a2c;
	--tsp-surface-2: #182338;
	--tsp-text: #e7edf7;
	--tsp-text-muted: #9aa7bd;
	--tsp-border: #223049;
	--tsp-primary: #5b8cff;
	--tsp-primary-contrast: #0b1220;
	--tsp-link: #7ba4ff;
	--tsp-code: #0f1829;
	--tsp-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark-hc"] {
	--tsp-bg: #000000;
	--tsp-surface: #0a0a0a;
	--tsp-surface-2: #161616;
	--tsp-text: #ffffff;
	--tsp-text-muted: #d4d4d4;
	--tsp-border: #454545;
	--tsp-primary: #ffd60a;
	--tsp-primary-contrast: #000000;
	--tsp-link: #ffd60a;
	--tsp-code: #101010;
	--tsp-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
}

html[data-theme="sepia"] {
	--tsp-bg: #f1e7d0;
	--tsp-surface: #faf3e3;
	--tsp-surface-2: #ecdfc3;
	--tsp-text: #4a3b28;
	--tsp-text-muted: #7a6850;
	--tsp-border: #ddcb9f;
	--tsp-primary: #a05a2c;
	--tsp-primary-contrast: #fdf6e9;
	--tsp-link: #8a4f24;
	--tsp-code: #ead9b8;
	--tsp-shadow: 0 10px 30px rgba(74, 59, 40, 0.18);
}

html[data-theme="nord"] {
	--tsp-bg: #2e3440;
	--tsp-surface: #3b4252;
	--tsp-surface-2: #434c5e;
	--tsp-text: #eceff4;
	--tsp-text-muted: #a7b1c2;
	--tsp-border: #4c566a;
	--tsp-primary: #88c0d0;
	--tsp-primary-contrast: #2e3440;
	--tsp-link: #81a1c1;
	--tsp-code: #353c4a;
	--tsp-shadow: 0 10px 30px rgba(46, 52, 64, 0.55);
}

html[data-theme="ocean"] {
	--tsp-bg: #071a2b;
	--tsp-surface: #0c2438;
	--tsp-surface-2: #123049;
	--tsp-text: #d9ecfb;
	--tsp-text-muted: #8fb3cc;
	--tsp-border: #1b3f5e;
	--tsp-primary: #00b4d8;
	--tsp-primary-contrast: #03202e;
	--tsp-link: #48cae4;
	--tsp-code: #0a2136;
	--tsp-shadow: 0 10px 30px rgba(3, 32, 46, 0.6);
}

/* ---------- Aplicarea pe conținutul site-ului ----------
   Activă doar când html poartă data-tsp-content="1"
   (setarea „Aplică temele pe tot site-ul”).                */

html[data-tsp-content="1"] {
	color-scheme: light;
}

html[data-tsp-content="1"][data-theme="dark"],
html[data-tsp-content="1"][data-theme="dark-hc"],
html[data-tsp-content="1"][data-theme="nord"],
html[data-tsp-content="1"][data-theme="ocean"] {
	color-scheme: dark;
}

html[data-tsp-content="1"] body {
	background-color: var(--tsp-bg);
	color: var(--tsp-text);
}

html[data-tsp-content="1"] a {
	color: var(--tsp-link);
}

html[data-tsp-content="1"] a:hover,
html[data-tsp-content="1"] a:focus {
	color: var(--tsp-primary);
}

html[data-tsp-content="1"] h1,
html[data-tsp-content="1"] h2,
html[data-tsp-content="1"] h3,
html[data-tsp-content="1"] h4,
html[data-tsp-content="1"] h5,
html[data-tsp-content="1"] h6 {
	color: var(--tsp-text);
}

html[data-tsp-content="1"] .site-header,
html[data-tsp-content="1"] .site-footer,
html[data-tsp-content="1"] #colophon,
html[data-tsp-content="1"] .widget {
	background-color: var(--tsp-surface);
	color: var(--tsp-text);
}

html[data-tsp-content="1"] .widget-title {
	color: var(--tsp-text);
}

html[data-tsp-content="1"] blockquote {
	border-left: 4px solid var(--tsp-primary);
	background: var(--tsp-surface);
	color: var(--tsp-text-muted);
}

html[data-tsp-content="1"] code,
html[data-tsp-content="1"] kbd,
html[data-tsp-content="1"] pre,
html[data-tsp-content="1"] samp,
html[data-tsp-content="1"] tt {
	background: var(--tsp-code);
	color: var(--tsp-text);
	border: 1px solid var(--tsp-border);
	border-radius: 6px;
}

html[data-tsp-content="1"] pre {
	padding: 1em;
	overflow: auto;
}

html[data-tsp-content="1"] hr {
	background: var(--tsp-border);
	border: 0;
	height: 1px;
}

html[data-tsp-content="1"] table,
html[data-tsp-content="1"] th,
html[data-tsp-content="1"] td {
	border-color: var(--tsp-border);
	color: var(--tsp-text);
}

html[data-tsp-content="1"] th {
	background: var(--tsp-surface-2);
}

html[data-tsp-content="1"] input[type="text"],
html[data-tsp-content="1"] input[type="email"],
html[data-tsp-content="1"] input[type="url"],
html[data-tsp-content="1"] input[type="password"],
html[data-tsp-content="1"] input[type="search"],
html[data-tsp-content="1"] input[type="tel"],
html[data-tsp-content="1"] input[type="number"],
html[data-tsp-content="1"] input[type="date"],
html[data-tsp-content="1"] textarea,
html[data-tsp-content="1"] select {
	background-color: var(--tsp-surface);
	border: 1px solid var(--tsp-border);
	color: var(--tsp-text);
}

html[data-tsp-content="1"] button,
html[data-tsp-content="1"] .button,
html[data-tsp-content="1"] input[type="submit"],
html[data-tsp-content="1"] input[type="button"],
html[data-tsp-content="1"] .wp-block-button__link {
	background-color: var(--tsp-surface-2);
	border: 1px solid var(--tsp-border);
	color: var(--tsp-text);
}

/* Imaginile se atenuează ușor în temele întunecate. */
html[data-tsp-dark="1"] img:not(.tsp-keep) {
	filter: brightness(0.92) contrast(0.98);
}

/* Selecția de text urmează culoarea accent a temei. */
html[data-theme] ::selection {
	background: var(--tsp-primary);
	color: var(--tsp-primary-contrast);
}

/* Bara de derulare (WebKit) în temele întunecate. */
html[data-tsp-dark="1"] ::-webkit-scrollbar {
	background: var(--tsp-bg);
}
html[data-tsp-dark="1"] ::-webkit-scrollbar-thumb {
	background: var(--tsp-border);
	border-radius: 8px;
}

/* Tranziția globală la schimbarea temei (clasa e pusă temporar de JS). */
html.tsp-switching,
html.tsp-switching *,
html.tsp-switching *::before,
html.tsp-switching *::after {
	transition:
		background-color var(--tsp-dur, 350ms) ease,
		color var(--tsp-dur, 350ms) ease,
		border-color var(--tsp-dur, 350ms) ease,
		box-shadow var(--tsp-dur, 350ms) ease,
		fill var(--tsp-dur, 350ms) ease,
		stroke var(--tsp-dur, 350ms) ease,
		filter var(--tsp-dur, 350ms) ease !important;
}

/* View Transitions API – cercul în expansiune. */
::view-transition-old(root),
::view-transition-new(root) {
	animation: none;
	mix-blend-mode: normal;
}

::view-transition-old(root) {
	z-index: 1;
}

::view-transition-new(root) {
	z-index: 2147483646;
}
