/**
 * Dark-theme integration layer.
 *
 * Component colors come from foundation.css. These selectors cover WordPress
 * generated styles, legacy one-off artwork colors, and state-specific accents.
 */

html[data-theme="dark"] body,
html[data-theme="dark"] .wp-site-blocks,
html[data-theme="dark"] main {
	background-color: var(--aditi-page-background);
	color: var(--aditi-text-primary);
}

html[data-theme="dark"] {
	--wp--preset--color--primary: var(--aditi-brand-orange);
	--wp--preset--color--secondary: var(--aditi-brand-orange-bright);
	--wp--preset--color--navy: var(--aditi-text-heading);
	--wp--preset--color--body: var(--aditi-text-primary);
	--wp--preset--color--muted: var(--aditi-text-muted);
	--wp--preset--color--light: var(--aditi-surface-subtle);
	--wp--preset--color--peach: var(--aditi-brand-orange-soft);
	--wp--preset--color--blue: var(--aditi-surface-info);
	--wp--preset--color--border: var(--aditi-border-default);
	--wp--preset--color--white: var(--aditi-surface-primary);
}

html[data-theme="dark"] :where(.has-white-background-color) { background-color: var(--aditi-surface-primary) !important; }
html[data-theme="dark"] :where(.has-light-background-color) { background-color: var(--aditi-surface-subtle) !important; }
html[data-theme="dark"] :where(.has-peach-background-color) { background-color: var(--aditi-brand-orange-soft) !important; }
html[data-theme="dark"] :where(.has-blue-background-color) { background-color: var(--aditi-surface-info) !important; }
html[data-theme="dark"] :where(.has-navy-color) { color: var(--aditi-text-heading) !important; }
html[data-theme="dark"] :where(.has-body-color) { color: var(--aditi-text-primary) !important; }
html[data-theme="dark"] :where(.has-muted-color) { color: var(--aditi-text-muted) !important; }

html[data-theme="dark"] :where(input, textarea, select, button) {
	color-scheme: dark;
}
html[data-theme="dark"] :where(input, textarea, select)::placeholder {
	color: var(--aditi-text-placeholder);
	opacity: 1;
}
html[data-theme="dark"] :where(input, textarea, select):-webkit-autofill {
	-webkit-text-fill-color: var(--aditi-text-heading);
	box-shadow: 0 0 0 1000px var(--aditi-surface-primary) inset;
}

/* Shared shell, header, navigation, and footer. */
html[data-theme="dark"] .site-header {
	border-color: var(--aditi-border-default);
	background: var(--aditi-surface-glass-96);
	box-shadow: var(--aditi-shadow-sm);
	backdrop-filter: blur(16px);
}
html[data-theme="dark"] .site-search input,
html[data-theme="dark"] .mobile-menu {
	border-color: var(--aditi-border-default);
	background: var(--aditi-surface-primary);
	color: var(--aditi-text-heading);
}
html[data-theme="dark"] .site-footer {
	border-color: var(--aditi-border-default);
	background: var(--aditi-surface-primary);
}
html[data-theme="dark"] .cart-count {
	border-color: var(--aditi-surface-primary);
}

/* Home page legacy artwork accents. */
html[data-theme="dark"] .hero-section__image { filter:saturate(1.05) contrast(1.025); }
html[data-theme="dark"] .hero-section__shade {
	background:
		radial-gradient(circle at 53% -9%, transparent 0 18%, color-mix(in srgb, var(--aditi-brand-orange) 18%, transparent) 18.2% 23%, transparent 23.2%),
		radial-gradient(circle at -8% 69%, transparent 0 22%, color-mix(in srgb, var(--aditi-brand-orange) 14%, transparent) 22.2% 28%, transparent 28.2%),
		linear-gradient(90deg, var(--aditi-surface-glass-99) 0%, var(--aditi-surface-glass-98) 28%, var(--aditi-surface-glass-90) 41%, var(--aditi-surface-glass-45) 56%, var(--aditi-surface-glass-07) 69%, transparent 77%);
}
html[data-theme="dark"] .hero-visual::before { background: rgb(var(--aditi-shadow-rgb) / .45); }
html[data-theme="dark"] .hero-orbit { border-color: color-mix(in srgb, var(--aditi-brand-orange) 42%, transparent); }
html[data-theme="dark"] .product-icon { background: color-mix(in srgb, var(--aditi-accent-purple) 16%, var(--aditi-surface-primary)); color: var(--aditi-accent-purple-soft); }
html[data-theme="dark"] .product-card--study .product-icon { background: color-mix(in srgb, var(--aditi-accent-pink) 15%, var(--aditi-surface-primary)); color: var(--aditi-accent-pink-soft); }
html[data-theme="dark"] .product-card--survey .product-icon { background: var(--aditi-brand-orange-soft); }
html[data-theme="dark"] .product-card--doc .product-icon { background: var(--aditi-surface-info); }
html[data-theme="dark"] .service-icon--green { border-color: color-mix(in srgb, var(--aditi-success) 42%, transparent); background: color-mix(in srgb, var(--aditi-success) 12%, var(--aditi-surface-primary)); }
html[data-theme="dark"] .service-icon--navy { border-color: var(--aditi-border-strong); background: var(--aditi-surface-subtle); }
html[data-theme="dark"] .why-section { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .cta-section__icon { border-color: var(--aditi-border-info-strong); }

@media (max-width: 780px) {
	html[data-theme="dark"] .hero-section__shade {
		background: linear-gradient(180deg, var(--aditi-surface-glass-99) 0%, var(--aditi-surface-glass-94) 56%, var(--aditi-surface-glass-45) 84%, var(--aditi-surface-glass-20) 100%);
	}
}

/* About, service, product, contact, and legal pages. */
html[data-theme="dark"] .about-hero,
html[data-theme="dark"] .products-hero { border-color: var(--aditi-border-soft); }
html[data-theme="dark"] :is(.about-feature-card__icon, .about-value-icon, .about-why__items article > span) {
	background: var(--aditi-brand-orange-soft);
}
html[data-theme="dark"] .about-why__items article > span { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .services-offering__icon { border-color: var(--aditi-border-info-strong); background: var(--aditi-surface-info); }
html[data-theme="dark"] .services-offering--ios .services-offering__icon { border-color: var(--aditi-border-strong); background: var(--aditi-surface-subtle); color: var(--aditi-text-heading); }
html[data-theme="dark"] .services-offering--android .services-offering__icon { border-color: var(--aditi-success-border); background: var(--aditi-success-surface); }
html[data-theme="dark"] .services-process__icon { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .services-cta__icon { border-color: var(--aditi-border-info-strong); }
html[data-theme="dark"] .services-process {
	border: 1px solid var(--aditi-brand-orange-border-soft);
	background: linear-gradient(100deg, var(--aditi-surface-secondary) 0%, var(--aditi-brand-orange-soft-4) 55%, var(--aditi-brand-orange-soft-6) 100%);
	box-shadow: 0 8px 24px rgb(var(--aditi-shadow-rgb) / .12);
}
html[data-theme="dark"] .services-process__intro { border-color: var(--aditi-brand-orange-border-soft); }
html[data-theme="dark"] .products-cta {
	background: linear-gradient(100deg, var(--aditi-surface-secondary) 0%, var(--aditi-brand-orange-soft-4) 52%, var(--aditi-brand-orange-soft-5) 100%);
}
html[data-theme="dark"] .products-cta__icon { border-color: var(--aditi-border-default); }
html[data-theme="dark"] .products-card--doc {
	border-color: color-mix(in srgb, var(--aditi-info-bright) 42%, var(--aditi-border-medium));
	box-shadow: inset 0 0 70px color-mix(in srgb, var(--aditi-info-bright) 5%, transparent), 0 2px 10px rgb(var(--aditi-shadow-rgb) / .08);
}
html[data-theme="dark"] .products-card__action--stores { border-color: var(--aditi-border-default); }
html[data-theme="dark"] .contact-field { border-color: var(--aditi-border-strong); }
html[data-theme="dark"] .legal-hero { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .legal-definition-grid div { background: var(--aditi-surface-secondary); }

/* Account shell, forms, profile, tables, and actions. */
html[data-theme="dark"] .aditisoft-account,
html[data-theme="dark"] .aditisoft-account--dashboard {
	background: linear-gradient(135deg, var(--aditi-surface-subtle), var(--aditi-page-background) 58%, var(--aditi-surface-primary));
}
html[data-theme="dark"] :is(
	.aditisoft-account__card,
	.aditisoft-dashboard__support,
	.aditisoft-account-home__sidebar,
	.aditisoft-account-home__card,
	.aditisoft-password__sidebar,
	.aditisoft-password__panel
) {
	border-color: var(--aditi-border-default);
}
html[data-theme="dark"] .aditisoft-account__aside {
	background: linear-gradient(125deg, var(--aditi-brand-orange-soft-8), var(--aditi-surface-primary) 65%, var(--aditi-surface-secondary));
}
html[data-theme="dark"] .aditisoft-account__benefits { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .aditisoft-account__control input:hover { border-color: var(--aditi-border-strong); }
html[data-theme="dark"] .aditisoft-account__password-toggle:hover { background: var(--aditi-brand-orange-soft); }
html[data-theme="dark"] .aditisoft-account__password-note {
	background: linear-gradient(90deg, color-mix(in srgb, var(--aditi-accent-purple) 13%, var(--aditi-surface-primary)), var(--aditi-surface-secondary));
	color: var(--aditi-text-primary);
}
html[data-theme="dark"] .aditisoft-account__password-note .aditisoft-account__icon { color: var(--aditi-accent-purple); }
html[data-theme="dark"] .aditisoft-account__divider::after,
html[data-theme="dark"] :is(.aditisoft-dashboard__nav-rule, .aditisoft-account-nav__rule) { background: var(--aditi-border-default); }
html[data-theme="dark"] .aditisoft-account__signup { background: linear-gradient(90deg, var(--aditi-brand-orange-soft-8), var(--aditi-surface-primary)); }
html[data-theme="dark"] .aditisoft-account__notice--error { border-color: color-mix(in srgb, var(--aditi-danger) 50%, transparent); background: var(--aditi-danger-surface); color: var(--aditi-danger-strong); }
html[data-theme="dark"] .aditisoft-account__notice--success { border-color: var(--aditi-success-border); background: var(--aditi-success-surface); color: var(--aditi-success); }
html[data-theme="dark"] .aditisoft-account__notice--info { border-color: var(--aditi-border-info-strong); background: var(--aditi-info-surface); color: var(--aditi-info); }
html[data-theme="dark"] .aditisoft-dashboard__sidebar a:hover { background: var(--aditi-brand-orange-soft-4); }
html[data-theme="dark"] .aditisoft-dashboard__sidebar a.is-active,
html[data-theme="dark"] .aditisoft-account-home__sidebar a.is-active,
html[data-theme="dark"] .aditisoft-password__tip {
	background: linear-gradient(90deg, var(--aditi-brand-orange-soft-2), var(--aditi-brand-orange-soft-3));
}
html[data-theme="dark"] .aditisoft-profile__form .aditisoft-account__control.is-readonly { background: var(--aditi-surface-subtle); }
html[data-theme="dark"] .aditisoft-password__sidebar a:hover,
html[data-theme="dark"] .aditisoft-profile-picture__upload label:focus-within { background: var(--aditi-brand-orange-soft); }
html[data-theme="dark"] .aditisoft-password__meter i { background: var(--aditi-border-medium); }
html[data-theme="dark"] .aditisoft-password__tip { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .aditisoft-password__actions a { border-color: var(--aditi-border-strong); }
html[data-theme="dark"] .aditisoft-delete__header { border-color: var(--aditi-border-default); }
html[data-theme="dark"] .aditisoft-delete__warning {
	border-color: color-mix(in srgb, var(--aditi-danger) 45%, transparent);
	background: linear-gradient(90deg, var(--aditi-danger-surface), var(--aditi-surface-primary));
}
html[data-theme="dark"] .aditisoft-delete__actions a:hover { background: var(--aditi-danger-surface); }
html[data-theme="dark"] :is(.aditisoft-downloads__search, .aditisoft-downloads__filter, .aditisoft-downloads__table) { border-color: var(--aditi-border-medium); }
html[data-theme="dark"] :is(.aditisoft-downloads__row, .aditisoft-dashboard__orders td) { border-color: var(--aditi-border-subtle); }
html[data-theme="dark"] .aditisoft-downloads__name em { border-color: var(--aditi-brand-orange-border); }
html[data-theme="dark"] .aditisoft-profile-picture .aditisoft-account-home__avatar { box-shadow: 0 0 0 1px var(--aditi-border-medium), var(--aditi-shadow-sm); }
html[data-theme="dark"] .aditisoft-profile-picture__error { background: var(--aditi-danger-surface); }

/* Account text that was historically expressed as one-off light-theme colors. */
html[data-theme="dark"] :is(
	.aditisoft-account__heading span,
	.aditisoft-account__main > header p,
	.aditisoft-account__password-toggle,
	.aditisoft-account__password-note,
	.aditisoft-account__check,
	.aditisoft-account__signup > span,
	.aditisoft-dashboard__identity small,
	.aditisoft-dashboard__actions small,
	.aditisoft-dashboard__support small,
	.aditisoft-account--account-home .aditisoft-dashboard__heading p,
	.aditisoft-account-home__user em,
	.aditisoft-account-home__details dt,
	.aditisoft-account-home__details dt small,
	.aditisoft-password__tip small,
	.aditisoft-delete__lead,
	.aditisoft-delete__warning small,
	.aditisoft-delete__consent,
	.aditisoft-downloads__search,
	.aditisoft-downloads__filter,
	.aditisoft-downloads__date small,
	.aditisoft-profile-picture__upload small
) {
	color: var(--aditi-text-secondary);
}

/* Status and file-type colors use dark tinted surfaces with accessible text. */
html[data-theme="dark"] :is(.aditisoft-dashboard__stat-icon.is-green, .aditisoft-dashboard__action-icon.is-green, .aditisoft-account-home__user small.is-active, .aditisoft-downloads__file-icon.is-green) {
	background: color-mix(in srgb, var(--aditi-success) 13%, var(--aditi-surface-primary));
	color: var(--aditi-success);
}
html[data-theme="dark"] :is(.aditisoft-dashboard__stat-icon.is-blue, .aditisoft-dashboard__action-icon.is-blue, .aditisoft-downloads__file-icon.is-blue) {
	background: var(--aditi-info-surface);
	color: var(--aditi-info);
}
html[data-theme="dark"] :is(.aditisoft-dashboard__stat-icon.is-purple, .aditisoft-dashboard__action-icon.is-purple, .aditisoft-downloads__file-icon.is-purple) {
	background: color-mix(in srgb, var(--aditi-accent-purple) 13%, var(--aditi-surface-primary));
	color: var(--aditi-accent-purple);
}
html[data-theme="dark"] :is(.aditisoft-dashboard__action-icon.is-red, .aditisoft-downloads__file-icon.is-red) {
	background: var(--aditi-danger-surface);
	color: var(--aditi-danger);
}
html[data-theme="dark"] .aditisoft-downloads__file-icon.is-orange { background: var(--aditi-brand-orange-soft); }
html[data-theme="dark"] .aditisoft-downloads__file-icon.is-yellow { background: var(--aditi-warning-surface); color: var(--aditi-warning); }
html[data-theme="dark"] .aditisoft-account-home__user small { background: var(--aditi-surface-subtle); color: var(--aditi-text-secondary); }

html[data-theme="dark"] :is(.aditisoft-dashboard__status, .aditisoft-orders__status .is-completed) {
	border-color: var(--aditi-success-border);
	background: var(--aditi-success-surface);
	color: var(--aditi-success);
}
html[data-theme="dark"] :is(.aditisoft-dashboard__status.is-on-hold) {
	border-color: var(--aditi-border-info-strong);
	background: var(--aditi-info-surface);
	color: var(--aditi-info);
}
html[data-theme="dark"] :is(.aditisoft-orders__status .is-processing) {
	border-color: color-mix(in srgb, var(--aditi-warning) 42%, transparent);
	background: var(--aditi-warning-surface);
	color: var(--aditi-warning);
}
html[data-theme="dark"] :is(.aditisoft-dashboard__status.is-refunded, .aditisoft-orders__status .is-cancelled) {
	border-color: color-mix(in srgb, var(--aditi-danger) 45%, transparent);
	background: var(--aditi-danger-surface);
	color: var(--aditi-danger);
}
html[data-theme="dark"] .aditisoft-orders__status .is-refunded {
	border-color: color-mix(in srgb, var(--aditi-accent-purple) 45%, transparent);
	background: color-mix(in srgb, var(--aditi-accent-purple) 13%, var(--aditi-surface-primary));
	color: var(--aditi-accent-purple);
}

@media (forced-colors: active) {
	.theme-toggle { forced-color-adjust: auto; }
}
