/**
 * Site-wide light-mode overrides + the light/dark toggle button.
 *
 * Loaded on every page. The landing page has its own, richer token system in
 * landing.css; this file handles the REST of the site (blog, single posts,
 * archives, etc.) which still renders through the Softy Solutions parent
 * templates.
 *
 * The switch is `html[data-theme="light"]`. Overrides target the raw Elementor
 * global-color variables (`--e-global-color-*`) rather than only the theme's
 * `--cmsmasters-colors-*` aliases, because page content built with the builder
 * can bind a global colour to a widget directly.
 *
 * `--e-global-color-background` is deliberately NOT overridden — the parent
 * reuses it as an "ink" colour on brand-coloured surfaces. The real page
 * canvas is `--cmsmasters-body-bg-color`, which IS overridden.
 */

/* Brand palette override — mode-independent. The Elementor kit ships a violet
   primary (#a900ff); the Prime Consulting brand is petrol-navy + gold, drawn
   from the logo mockup's painterly background. Re-point the kit's global
   colours so the blog, archives, single posts and any builder widgets that
   bind a global colour directly all pick up the brand palette. This also
   stops the landing tokens ever inheriting the kit's purple. */
:root {
	--e-global-color-primary: #274c63;
	--e-global-color-accent: #c6a15c;
	--cmsmasters-colors-primary: #274c63;
}

html[data-theme="light"] {
	--cmsmasters-body-bg-color: #ffffff;
	--e-global-color-alternate: #f2efe6;
	--e-global-color-text: #3a3935;
	--e-global-color-secondary: #0a0a08;
	--e-global-color-border: #e3ddcd;
}

/* Elements that use --cmsmasters-colors-bg as a literal page-canvas background
   rather than as ink-on-a-bright-surface — point them at the real canvas colour
   so they don't stay dark in light mode. */
html[data-theme="light"] .cmsmasters-pagination ul .page-numbers,
html[data-theme="light"] .cmsmasters-subpage-nav__items .page-numbers,
html[data-theme="light"] .cmsmasters-header-mid {
	background-color: var( --cmsmasters-body-bg-color );
}

/* The footer copyright text colour resolves through --e-global-color-alternate,
   which is used elsewhere in this file as a light section BACKGROUND. Force it
   back to a readable muted tone here. */
html[data-theme="light"] .cmsmasters-footer-copyright__inner {
	color: var( --e-global-color-text );
}

/* The full-screen search overlay keeps its dark tint in light mode (it derives
   from --cmsmasters-colors-heading). Keep the ink painted on it light so it
   still contrasts. */
html[data-theme="light"] .cmsmasters-header-search-form__close,
html[data-theme="light"] .cmsmasters-header-search-form__input,
html[data-theme="light"] .cmsmasters-header-search-form__input::-webkit-input-placeholder,
html[data-theme="light"] .cmsmasters-header-search-form__input:-moz-placeholder,
html[data-theme="light"] .cmsmasters-header-search-form__button {
	color: #ffffff;
}

/* Smooth cross-fade between modes. */
@media ( prefers-reduced-motion: no-preference ) {
	html {
		scroll-behavior: smooth;
	}

	body,
	body * {
		transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out,
			border-color 0.25s ease-in-out;
	}
}

html {
	scroll-padding-top: 100px;
}

/* ------------------------------------------------------------- toggle button */
.pc-theme-toggle {
	position: fixed;
	/* Bottom-left: keeps clear of the iubenda privacy widget (bottom-right). */
	left: clamp( 1rem, 3vw, 1.75rem );
	bottom: clamp( 1rem, 3vw, 1.75rem );
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var( --cmsmasters-colors-bd, rgba( 128, 128, 128, 0.4 ) );
	border-radius: 50%;
	background-color: var( --cmsmasters-colors-alternate, #101010 );
	color: var( --cmsmasters-colors-heading, #ffffff );
	cursor: pointer;
	box-shadow: 0 2px 12px rgba( 0, 0, 0, 0.28 );
}

.pc-theme-toggle:hover {
	opacity: 0.88;
}

.pc-theme-toggle:focus-visible {
	outline: 2px solid var( --cmsmasters-colors-primary, #274c63 );
	outline-offset: 2px;
}

.pc-theme-toggle__icon {
	position: absolute;
	display: inline-flex;
	width: 22px;
	height: 22px;
}

.pc-theme-toggle__icon svg {
	width: 100%;
	height: 100%;
}

/* Default (dark): show the sun (click to go light). */
.pc-theme-toggle__icon--sun {
	opacity: 1;
	transform: scale( 1 ) rotate( 0deg );
}

.pc-theme-toggle__icon--moon {
	opacity: 0;
	transform: scale( 0.6 ) rotate( -45deg );
}

@media ( prefers-reduced-motion: no-preference ) {
	.pc-theme-toggle__icon--sun,
	.pc-theme-toggle__icon--moon {
		transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
	}
}

/* Light: show the moon (click to go back to dark). */
html[data-theme="light"] .pc-theme-toggle__icon--sun {
	opacity: 0;
	transform: scale( 0.6 ) rotate( 45deg );
}

html[data-theme="light"] .pc-theme-toggle__icon--moon {
	opacity: 1;
	transform: scale( 1 ) rotate( 0deg );
}
