/*
 * Storefront color modes. Layout stays feature-owned; this final cascade maps
 * every customer route to semantic colors and deliberately keeps legacy
 * product-photo wells dark in both modes.
 */
:root {
	color-scheme: dark;
	--kev-color-heading: #f7f1e8;
	--kev-color-text-strong: #fffaf3;
	--kev-color-surface-soft: #15191a;
	--kev-color-surface-subtle: #101415;
	--kev-color-field: #101516;
	--kev-color-border-strong: rgb(216 185 138 / 30%);
	--kev-color-link: #e0ad62;
	--kev-color-link-hover: #f0c17d;
	--kev-color-on-brand: #fffaf3;
	--kev-color-on-media: #fffaf3;
	--kev-color-on-media-muted: rgb(255 250 243 / 76%);
	--kev-color-media-surface: #050606;
	--kev-color-image-well: #050606;
	--kev-color-backdrop: rgb(3 4 5 / 72%);
	--kev-color-shadow: rgb(0 0 0 / 28%);
	--kev-color-shadow-soft: rgb(0 0 0 / 14%);
	--kev-color-sale: #c92f36;
	--kev-color-warning: #e0ad62;
	--kev-color-success: #78bd91;
	--kev-color-error: #ef8f76;
	--kev-color-info: #68a9b8;
	--kev-theme-control-surface: rgb(255 255 255 / 5%);
	--kev-theme-control-hover: rgb(216 185 138 / 14%);
	--kev-theme-control-icon: #eee7cb;
}

html[data-kevira-color-mode="light"] {
	color-scheme: light;
	--kev-color-canvas: #f4efe6;
	--kev-color-canvas-deep: #ebe3d6;
	--kev-color-surface: #fffdf9;
	--kev-color-surface-elevated: #ffffff;
	--kev-color-surface-soft: #f0e8dc;
	--kev-color-surface-subtle: #f8f3eb;
	--kev-color-field: #fffdf9;
	--kev-color-border: rgb(28 84 97 / 18%);
	--kev-color-border-strong: rgb(28 84 97 / 32%);
	--kev-color-heading: #173f47;
	--kev-color-text: #2d2925;
	--kev-color-text-strong: #171d1e;
	--kev-color-muted: #6d6963;
	--kev-color-link: #1c5461;
	--kev-color-link-hover: #123b44;
	--kev-color-on-brand: #fffaf3;
	--kev-color-on-media: #fffaf3;
	--kev-color-on-media-muted: rgb(255 250 243 / 78%);
	--kev-color-media-surface: #050606;
	--kev-color-image-well: #eee6da;
	--kev-color-backdrop: rgb(20 24 24 / 54%);
	--kev-color-shadow: rgb(45 33 24 / 15%);
	--kev-color-shadow-soft: rgb(45 33 24 / 8%);
	--kev-color-success: #247340;
	--kev-color-error: #b4232f;
	--kev-color-warning: #8b5c17;
	--kev-color-info: #245a70;
	--kev-theme-control-surface: rgb(28 84 97 / 7%);
	--kev-theme-control-hover: rgb(28 84 97 / 13%);
	--kev-theme-control-icon: #1c5461;
	--wp--preset--color--espresso: #f4efe6;
	--wp--preset--color--coffee: #2d2925;
	--wp--preset--color--oat: #2d2925;
	--wp--preset--color--porcelain: #2d2925;
	--kev-integration-heading: var(--kev-color-heading);
	--kev-integration-text: var(--kev-color-text);
	--kev-integration-muted: var(--kev-color-muted);
	--kev-integration-surface: var(--kev-color-surface);
	--kev-integration-field-surface: var(--kev-color-field);
	--kev-integration-border: var(--kev-color-border);
	--kev-integration-error: var(--kev-color-error);
	--kev-integration-error-surface: rgb(180 35 47 / 8%);
	--kev-integration-success: var(--kev-color-success);
	--kev-integration-success-surface: rgb(36 115 64 / 9%);
}

@media (prefers-color-scheme: light) {
	html:not([data-kevira-color-mode]) {
		color-scheme: light;
		--kev-color-canvas: #f4efe6;
		--kev-color-canvas-deep: #ebe3d6;
		--kev-color-surface: #fffdf9;
		--kev-color-surface-elevated: #ffffff;
		--kev-color-surface-soft: #f0e8dc;
		--kev-color-surface-subtle: #f8f3eb;
		--kev-color-field: #fffdf9;
		--kev-color-border: rgb(28 84 97 / 18%);
		--kev-color-border-strong: rgb(28 84 97 / 32%);
		--kev-color-heading: #173f47;
		--kev-color-text: #2d2925;
		--kev-color-text-strong: #171d1e;
		--kev-color-muted: #6d6963;
		--kev-color-link: #1c5461;
		--kev-color-link-hover: #123b44;
		--kev-color-media-surface: #050606;
		--kev-color-image-well: #eee6da;
		--kev-color-shadow: rgb(45 33 24 / 15%);
		--kev-color-shadow-soft: rgb(45 33 24 / 8%);
	}
}

html[data-kevira-color-mode="light"],
html[data-kevira-color-mode="light"] body,
html[data-kevira-color-mode="light"] .wp-site-blocks,
html[data-kevira-color-mode="light"] main,
html[data-kevira-color-mode="light"] .content-area,
html[data-kevira-color-mode="light"] .wp-block-post-content {
	background-color: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(h1, h2, h3, h4, h5, h6) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(a) {
	color: var(--kev-color-link);
}

html[data-kevira-color-mode="light"] :where(a:hover, a:focus-visible) {
	color: var(--kev-color-link-hover);
}

html[data-kevira-color-mode="light"] :where(input, select, textarea) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-field) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(input, textarea)::placeholder {
	color: var(--kev-color-muted) !important;
	opacity: 0.82;
}

html[data-kevira-color-mode="light"] :where(
	button[type="submit"],
	input[type="submit"],
	.button,
	.wp-element-button,
	.wp-block-button__link,
	.add_to_cart_button,
	.single_add_to_cart_button,
	.kevira-checkout__primary,
	.kevira-checkout__payment-left #place_order
):not(.button-link):not(.button-link-delete):not(:disabled) {
	border-color: var(--kev-color-brand-primary) !important;
	background: var(--kev-color-brand-primary) !important;
	color: var(--kev-color-on-brand) !important;
}

html[data-kevira-color-mode="light"] :where(
	button[type="submit"],
	input[type="submit"],
	.button,
	.wp-element-button,
	.wp-block-button__link,
	.add_to_cart_button,
	.single_add_to_cart_button
):not(.button-link):not(.button-link-delete):not(:disabled):is(:hover, :focus-visible) {
	border-color: var(--kev-color-brand-primary) !important;
	background: var(--kev-color-brand-secondary) !important;
	color: var(--kev-color-brand-primary) !important;
}

/* Accessible synchronized header controls. */
.kev-coffee-color-mode-toggle {
	position: relative;
	display: inline-grid;
	width: 2.5rem;
	height: 2.5rem;
	flex: 0 0 auto;
	padding: 0;
	place-items: center;
	border: 1px solid var(--kev-color-border);
	border-radius: 999px;
	background: var(--kev-theme-control-surface);
	color: var(--kev-theme-control-icon);
	cursor: pointer;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.kev-coffee-color-mode-toggle:hover {
	border-color: var(--kev-color-border-strong);
	background: var(--kev-theme-control-hover);
	transform: translateY(-1px);
}

.kev-coffee-color-mode-toggle:focus-visible {
	outline: 2px solid var(--kev-color-brand-primary) !important;
	outline-offset: 2px;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--kev-color-brand-primary) 18%, transparent) !important;
}

.kev-coffee-color-mode-toggle__icon {
	position: absolute;
	width: 1.15rem;
	height: 1.15rem;
	fill: none;
	stroke: currentcolor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: opacity 160ms ease, transform 200ms ease;
}

html[data-kevira-color-mode="dark"] .kev-coffee-color-mode-toggle__icon--moon,
html[data-kevira-color-mode="light"] .kev-coffee-color-mode-toggle__icon--sun {
	opacity: 0;
	transform: rotate(-35deg) scale(0.65);
}

html[data-kevira-color-mode="dark"] .kev-coffee-color-mode-toggle__icon--sun,
html[data-kevira-color-mode="light"] .kev-coffee-color-mode-toggle__icon--moon {
	opacity: 1;
	transform: rotate(0) scale(1);
}

.kev-coffee-site-header__checkout-inner {
	position: relative;
}

.kev-coffee-color-mode-toggle--checkout {
	position: absolute;
	inset-inline-end: 0;
	top: 50%;
	transform: translateY(-50%);
}

.kev-coffee-color-mode-toggle--checkout:hover {
	transform: translateY(calc(-50% - 1px));
}

@media (max-width: 781px) {
	.kev-coffee-color-mode-toggle--mobile {
		width: 2.5rem;
		height: 2.5rem;
		border: 0;
		border-radius: 0.75rem;
	}

	.kev-coffee-color-mode-toggle--checkout {
		inset-inline-end: 0.5rem;
	}
}

/* Header and footer. */
html[data-kevira-color-mode="light"] :where(.kev-coffee-site-header, .kev-coffee-mobile-header) {
	border-color: var(--kev-color-border) !important;
	background: color-mix(in srgb, var(--kev-color-surface) 94%, transparent) !important;
	box-shadow: 0 0.5rem 1.75rem var(--kev-color-shadow-soft) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__announcement,
	.kev-coffee-site-header__inner,
	.kev-coffee-site-header__checkout-inner
) {
	border-color: var(--kev-color-border) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__menu a,
	.kev-coffee-site-header__action,
	.kev-coffee-mobile-header__action,
	.kev-coffee-mobile-header__menu a,
	.kev-coffee-category-nav__summary,
	.kev-coffee-category-nav__all
) {
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__menu a:hover,
	.kev-coffee-site-header__menu .current-menu-item > a,
	.kev-coffee-site-header__menu .current-menu-ancestor > a,
	.kev-coffee-mobile-header__action:hover,
	.kev-coffee-mobile-header__disclosure[open] > .kev-coffee-mobile-header__action,
	.kev-coffee-mobile-header__menu a:hover,
	.kev-coffee-mobile-header__menu .current-menu-item > a,
	.kev-coffee-category-nav__disclosure[open] > .kev-coffee-category-nav__summary,
	.kev-coffee-category-nav__all.is-current
) {
	background: var(--kev-theme-control-hover) !important;
	color: var(--kev-color-brand-primary) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-category-nav__panel,
	.kev-coffee-mobile-header__panel,
	.kev-coffee-live-search__results,
	.kev-coffee-site-header__cart-panel
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-elevated) !important;
	box-shadow: 0 1rem 2.75rem var(--kev-color-shadow) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-category-nav__group,
	.kev-coffee-category-nav__group--mobile,
	.kev-coffee-live-search__result,
	.kev-coffee-site-header__cart-item
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-subtle) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-live-search__title,
	.kev-coffee-live-search__meta,
	.kev-coffee-live-search__price,
	.kev-coffee-site-header__cart-copy dl,
	.kev-coffee-site-header__cart-quantity,
	.kev-coffee-site-header__cart-empty
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__search .search-form,
	.kev-coffee-mobile-header__panel .search-form
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-field) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__search .search-field,
	.kev-coffee-mobile-header__panel .search-field
) {
	background: transparent !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-header__brand .custom-logo,
	.kev-coffee-mobile-header__brand .custom-logo,
	.kev-coffee-site-header__checkout-logo img,
	.kev-coffee-site-footer .custom-logo
) {
	filter: saturate(1.08) contrast(1.14) brightness(0.82) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-site-footer {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-canvas-deep) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-footer__heading,
	.kev-coffee-site-footer__wordmark,
	.kev-coffee-site-footer__contact-value
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-footer__tagline,
	.kev-coffee-site-footer__contact-text,
	.kev-coffee-site-footer__copyright
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-site-footer__menu a,
	.kev-coffee-site-footer__social-menu a
) {
	border-color: var(--kev-color-border) !important;
	background: transparent !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-mobile-bottom-nav {
	border-color: var(--kev-color-border) !important;
	background: color-mix(in srgb, var(--kev-color-surface) 96%, transparent) !important;
	box-shadow: 0 -0.5rem 1.75rem var(--kev-color-shadow-soft) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-mobile-bottom-nav a {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-mobile-bottom-nav a[aria-current="page"] {
	background: var(--kev-color-surface-soft) !important;
	color: var(--kev-color-brand-primary) !important;
}

/* Homepage: image-led hero/banner/CTA intentionally retain dark overlays. */
html[data-kevira-color-mode="light"] :where(
	.wp-block-kevira-coffee-hero,
	.wp-block-kevira-coffee-banner,
	.wp-block-kevira-coffee-cta
) {
	background-color: var(--kev-color-media-surface) !important;
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-home-hero__headline,
	.kev-coffee-banner__title,
	.kev-coffee-cta__title
) {
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-home-hero__description,
	.kev-coffee-banner__description,
	.kev-coffee-cta__description
) {
	color: var(--kev-color-on-media-muted) !important;
}

html[data-kevira-color-mode="light"] .wp-block-post-content.kev-coffee-front-page-composition,
html[data-kevira-color-mode="light"] .wp-block-post-content.kev-coffee-front-page-composition > [class*="wp-block-kevira-"]:not(.wp-block-kevira-coffee-hero):not(.wp-block-kevira-coffee-banner):not(.wp-block-kevira-coffee-cta),
html[data-kevira-color-mode="light"] :where(
	.kev-coffee-benefits,
	.kev-coffee-faq,
	.kev-coffee-testimonials,
	.kev-featured-products,
	.kev-latest-articles,
	.kev-product-categories
) {
	background: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-benefits__title,
	.kev-coffee-benefits__item-title,
	.kev-coffee-faq__title,
	.kev-coffee-faq__question-text,
	.kev-coffee-testimonials__title,
	.kev-coffee-testimonials__name,
	.kev-featured-products__title,
	.kev-featured-products__product-title,
	.kev-latest-articles__title,
	.kev-latest-articles__article-title,
	.kev-product-categories__title,
	.kev-product-categories__category-name
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-benefits__description,
	.kev-coffee-benefits__item-description,
	.kev-coffee-faq__description,
	.kev-coffee-faq__answer,
	.kev-coffee-testimonials__description,
	.kev-coffee-testimonials__review,
	.kev-coffee-testimonials__role,
	.kev-featured-products__description,
	.kev-latest-articles__description,
	.kev-latest-articles__excerpt,
	.kev-latest-articles__date,
	.kev-product-categories__description
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-benefits__item,
	.kev-coffee-faq__item,
	.kev-coffee-testimonials__item,
	.kev-featured-products__product,
	.kev-latest-articles__article,
	.kev-product-categories__category,
	.kev-featured-products__arrow,
	.kev-latest-articles__arrow,
	.kev-product-categories__arrow
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface) !important;
	box-shadow: 0 0.75rem 2rem var(--kev-color-shadow-soft) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-benefits__item:hover,
	.kev-coffee-faq__item[open],
	.kev-coffee-testimonials__item:hover,
	.kev-featured-products__product:hover,
	.kev-latest-articles__article:hover,
	.kev-product-categories__category:hover
) {
	border-color: var(--kev-color-border-strong) !important;
	box-shadow: 0 1rem 2.5rem var(--kev-color-shadow) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-featured-products__image,
	.kev-coffee-product-card__media
) {
	background: var(--kev-color-image-well) !important;
}

html[data-kevira-color-mode="light"] .kev-product-categories__icon {
	background: #ffffff !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-featured-products__price,
	.kev-featured-products__view-all,
	.kev-latest-articles__category,
	.kev-latest-articles__action
) {
	color: var(--kev-color-brand-primary) !important;
}

/* Shop, categories and shared product cards. */
html[data-kevira-color-mode="light"] body:has(.kev-coffee-product-catalog),
html[data-kevira-color-mode="light"] body:has(.kev-coffee-product-catalog) .wp-site-blocks,
html[data-kevira-color-mode="light"] .kev-coffee-product-catalog {
	--kev-catalog-accent: var(--kev-color-brand-primary);
	--kev-catalog-border: var(--kev-color-border);
	background: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__header {
	border-color: var(--kev-color-border) !important;
	background-color: var(--kev-color-media-surface) !important;
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-catalog__title,
	.kev-coffee-product-catalog__description
) {
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-catalog__filters,
	.kev-coffee-product-catalog__filters-panel,
	.kev-coffee-product-catalog__empty,
	.kev-coffee-shop-filter,
	.kev-coffee-product-card
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface) !important;
	box-shadow: 0 0.75rem 2rem var(--kev-color-shadow-soft) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-shop-filter.wc-block-product-filters {
	--wc-product-filters-text-color: var(--kev-color-text) !important;
	--wc-product-filters-background-color: transparent !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-shop-filter :where(
	.accordion-item__toggle,
	.accordion-content__wrapper,
	.wc-block-product-filter-checkbox-list__item,
	.wc-block-product-filter-checkbox-list__label,
	.wc-block-product-filter-checkbox-list__count,
	.wc-block-product-filter-price__range-text,
	.wc-block-product-filter-status__label
) {
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-shop-filter :where(
	.wc-block-product-filter-checkbox-list__count,
	.wc-block-product-filter-price__range-text
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-catalog__filters-summary,
	.kev-coffee-shop-filter h3,
	.kev-coffee-product-card__title,
	.kev-coffee-product-card__title a,
	.kev-coffee-product-catalog__empty-title
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-card__stock,
	.kev-coffee-product-card__meta,
	.kev-coffee-product-catalog__result-count,
	.kev-coffee-shop-filter label
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-card__media,
	.kev-coffee-product-card__image,
	.kev-coffee-product-catalog .kev-coffee-product-card__media
) {
	background: var(--kev-color-image-well) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-card__price,
	.kev-coffee-product-card__price ins,
	.kev-coffee-product-catalog__pagination .current
) {
	color: var(--kev-color-brand-primary) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-product-card__price del {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-catalog__active-filter,
	.kev-coffee-product-catalog__pagination .page-numbers,
	.kev-coffee-shop-filter .chosen > a
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-subtle) !important;
	color: var(--kev-color-text) !important;
}

@media (max-width: 52rem) {
	html[data-kevira-color-mode="light"] :where(
		.kev-coffee-product-catalog__filters,
		.kev-coffee-product-catalog__filters-panel
	) {
		background: var(--kev-color-surface-elevated) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__filters-summary,
	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__filters[open] .kev-coffee-product-catalog__filters-summary,
	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__filters[open] .kev-coffee-product-catalog__filters-panel {
		border-color: var(--kev-color-border) !important;
		background: var(--kev-color-surface-elevated) !important;
		color: var(--kev-color-heading) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__filters[open] {
		background: var(--kev-color-backdrop) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__active-filters {
		border-color: var(--kev-color-brand-primary) !important;
		background: var(--kev-color-surface-elevated) !important;
		color: var(--kev-color-text) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-catalog__filters::backdrop {
		background: var(--kev-color-backdrop) !important;
	}
}

/* Single product: keep artwork wells dark, move all surrounding UI to light surfaces. */
html[data-kevira-color-mode="light"] .single-product :where(.wp-site-blocks, .wp-block-woocommerce-legacy-template),
html[data-kevira-color-mode="light"] .single-product.woocommerce div.product {
	background: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] .single-product .woocommerce-product-gallery :where(
	.flex-viewport,
	.woocommerce-product-gallery__wrapper,
	.woocommerce-product-gallery__image,
	.woocommerce-product-gallery__image--placeholder,
	.flex-control-thumbs img
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-image-well) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-information__title,
	.kev-coffee-product-information__selected-variation,
	.kev-coffee-product-information__section-title,
	.kev-coffee-product-service-benefits__item strong,
	.woocommerce div.product .woocommerce-tabs .panel h2,
	.woocommerce div.product .woocommerce-tabs .panel h3
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-information__subtitle,
	.kev-coffee-product-information__rating-empty,
	.kev-coffee-product-information__review-count,
	.kev-coffee-product-taste-profile__label,
	.kev-coffee-product-service-benefits__item small,
	.woocommerce div.product .woocommerce-tabs,
	.woocommerce div.product .woocommerce-tabs .panel
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-information__price,
	.kev-coffee-product-information__rating,
	.kev-coffee-product-information__subtitle-toggle,
	.kev-coffee-product-service-benefits__item,
	.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover
) {
	color: var(--kev-color-brand-primary) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-purchase .quantity,
	.kev-coffee-product-purchase .variations select,
	.kev-coffee-variation-choice,
	.woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-purchase .kev-coffee-quantity-step,
	.kev-coffee-product-purchase .quantity .qty,
	.kev-coffee-product-purchase .variations label,
	.kev-coffee-variation-choice
) {
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-service-benefits,
	.kev-coffee-product-service-benefits__item + .kev-coffee-product-service-benefits__item,
	.woocommerce div.product .woocommerce-tabs ul.tabs
) {
	border-color: var(--kev-color-border) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-variation-choice[aria-pressed="true"] {
	border-color: var(--kev-color-brand-primary) !important;
	background: var(--kev-color-brand-primary) !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px var(--kev-color-surface);
}

html[data-kevira-color-mode="light"] .woocommerce div.product .woocommerce-tabs .woocommerce-product-attributes tr:nth-child(even) :is(th, td) {
	background: var(--kev-color-surface-subtle) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-product-recommendations,
	.single-product .related,
	.single-product .upsells
) {
	border-color: var(--kev-color-border) !important;
	color: var(--kev-color-text) !important;
}

/* Blog, article, search and information pages. */
html[data-kevira-color-mode="light"] :where(
	.kev-coffee-blog-archive,
	.kev-coffee-search,
	.kev-coffee-single-article,
	.kev-coffee-informational-page__content,
	.kev-coffee-guide
) {
	background: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-article-card__card,
	.kev-coffee-blog-archive__empty,
	.kev-coffee-search__form,
	.kev-coffee-search__empty,
	.kev-coffee-single-article__sharing,
	.kev-coffee-single-article__related,
	.kev-coffee-informational-page__content blockquote,
	.kev-coffee-informational-page__content figure,
	.kev-coffee-informational-page__content table,
	.kev-coffee-info-card-grid article,
	.kev-coffee-contact-grid article,
	.kev-coffee-contact-addresses article,
	.kev-coffee-about-feature__note,
	.kev-coffee-about-relationship,
	.kev-coffee-guide__progress,
	.kev-coffee-guide__question,
	.kev-coffee-guide__choice,
	.kev-coffee-guide__knowledge details,
	.kev-coffee-guide__product-group
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface) !important;
	box-shadow: 0 0.75rem 2rem var(--kev-color-shadow-soft) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-article-card__title,
	.kev-coffee-article-card__title a,
	.kev-coffee-blog-archive__title,
	.kev-coffee-search__title,
	.kev-coffee-single-article__title,
	.kev-coffee-single-article__content h2,
	.kev-coffee-single-article__content h3,
	.kev-coffee-informational-page__content h2,
	.kev-coffee-informational-page__content h3,
	.kev-coffee-info-card-grid h3,
	.kev-coffee-contact-grid h3,
	.kev-coffee-guide__results-heading h2,
	.kev-coffee-guide__question legend,
	.kev-coffee-guide__choice-copy strong,
	.kev-coffee-guide__product-group-heading h3,
	.kev-coffee-guide__knowledge summary
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-article-card__excerpt,
	.kev-coffee-article-card__meta,
	.kev-coffee-blog-archive__description,
	.kev-coffee-search__description,
	.kev-coffee-single-article__meta,
	.kev-coffee-single-article__content,
	.kev-coffee-informational-page__content p,
	.kev-coffee-informational-page__content li,
	.kev-coffee-info-card-grid p,
	.kev-coffee-contact-grid p,
	.kev-coffee-guide__results-heading p,
	.kev-coffee-guide__choice-copy small,
	.kev-coffee-guide__hint p,
	.kev-coffee-guide__knowledge-body
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-single-article__content {
	--kevira-content-accent: var(--kev-color-brand-primary);
	--kevira-content-button-ink: var(--kev-color-on-brand);
	--kevira-content-ink: var(--kev-color-text-strong);
	--kevira-content-line: var(--kev-color-border);
	--kevira-content-muted: var(--kev-color-muted);
	--kevira-content-surface: var(--kev-color-surface);
	--kevira-content-surface-raised: var(--kev-color-surface-soft);
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-single-article__featured-image,
	.kev-coffee-article-card__media
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-image-well) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-informational-page__hero,
	.kev-coffee-guide__hero,
	.kev-coffee-info-quote,
	.kev-coffee-about-closing
) {
	border-color: var(--kev-color-border-strong) !important;
	background-color: var(--kev-color-media-surface) !important;
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-informational-page__hero h1,
	.kev-coffee-guide__hero h1,
	.kev-coffee-info-quote strong,
	.kev-coffee-about-closing h2
) {
	color: var(--kev-color-on-media) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-informational-page__hero p:last-child,
	.kev-coffee-guide__hero > p:not(.kev-coffee-guide__eyebrow),
	.kev-coffee-info-quote p,
	.kev-coffee-about-closing p
) {
	color: var(--kev-color-on-media-muted) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide {
	--guide-bg: var(--kev-color-canvas);
	--guide-surface: var(--kev-color-surface);
	--guide-surface-raised: var(--kev-color-surface-soft);
	--guide-text: var(--kev-color-heading);
	--guide-muted: var(--kev-color-muted);
	--guide-border: var(--kev-color-border);
	--guide-accent: var(--kev-color-brand-primary);
	--guide-brand: var(--kev-color-brand-primary);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__hero {
	--guide-text: var(--kev-color-heading);
	--guide-muted: var(--kev-color-text);
	margin-block-start: 1rem;
	border: 1px solid var(--kev-color-border);
	border-radius: 1.5rem;
	overflow: hidden;
	background: var(--kev-color-surface-soft) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__hero::before {
	background: radial-gradient(ellipse at 10% 25%, rgb(28 84 97 / 30%), transparent 48%), var(--kev-color-surface-soft);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__hero h1 {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__hero > p:not(.kev-coffee-guide__eyebrow) {
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] body.kev-coffee-guide-page :is(.wp-site-blocks, .wp-block-post-content),
html[data-kevira-color-mode="light"] body.kev-coffee-guide-page {
	background: var(--kev-color-canvas);
	color: var(--kev-color-text);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide .kev-coffee-product-card__content {
	background: var(--kev-color-surface);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide .kev-coffee-product-card__price del {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide :is(.kev-coffee-guide__next, .kev-coffee-guide__hero > a) {
	background: var(--kev-color-link);
	color: var(--kev-color-on-brand);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__choice:has(input:checked) {
	border-color: var(--kev-color-link) !important;
	background: var(--kev-color-surface-soft) !important;
	box-shadow: inset 0 0 0 1px var(--kev-color-link) !important;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__choice-indicator {
	border-color: var(--kev-color-border-strong);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__choice input:checked + .kev-coffee-guide__choice-copy + .kev-coffee-guide__choice-indicator::after {
	border-color: var(--kev-color-on-brand);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide .kev-coffee-guide__progress-track {
	background: var(--kev-color-surface-soft);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide__hero::after {
	background: transparent;
	border-color: var(--kev-color-border);
}

html[data-kevira-color-mode="light"] .kev-coffee-guide :is(.kev-coffee-guide__choice-copy small, .kev-coffee-guide__hint p, .kev-coffee-guide__knowledge-body) {
	color: var(--kev-color-text) !important;
	font-size: 0.9375rem;
	line-height: 1.9;
}

html[data-kevira-color-mode="light"] .kev-coffee-guide :is(button, a, .kev-coffee-guide__choice:has(input:focus-visible)):focus-visible,
html[data-kevira-color-mode="light"] .kev-coffee-guide__choice:has(input:focus-visible) {
	outline: 2px solid var(--kev-color-link);
	outline-offset: 3px;
}

/* Account, Cart, Checkout, payment, shipping and authentication integrations. */
html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-page main,
	.kev-coffee-account-page main.wp-block-group,
	.kev-coffee-account-page .woocommerce,
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout .woocommerce,
	body.kevira-order-result,
	body.kevira-order-result .woocommerce
) {
	background: var(--kev-color-canvas) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-shell,
	.kev-coffee-account-shell__body,
	.kev-coffee-account-page .woocommerce-MyAccount-navigation ul,
	.kev-coffee-account-page .woocommerce-MyAccount-content,
	.kev-coffee-account-page .kevira-auth-account-prompt,
	.kev-coffee-account-page .woocommerce-table,
	.kev-coffee-account-page .woocommerce-Address,
	.kev-coffee-order-progress,
	.kevira-checkout__step,
	.kevira-checkout__summary,
	.kevira-checkout__delivery-module,
	.kevira-checkout__payment-card,
	.kevira-checkout__cart-item,
	.kevira-checkout__choice,
	.kevira-checkout__modal-dialog,
	.woocommerce-checkout #payment,
	.woocommerce-checkout #payment .wc_payment_method,
	.woocommerce-checkout #payment .payment_box,
	.kevira-auth-modal__card,
	.kevira-auth-account-prompt,
	.kevira-auth-email-status,
	.kevsh-address-modal__dialog,
	.kevsh-recipient,
	.kevsh-address-map,
	.kevira-order-result :where(.woocommerce-order-details, .woocommerce-customer-details)
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface) !important;
	box-shadow: 0 0.75rem 2rem var(--kev-color-shadow-soft) !important;
	color: var(--kev-color-text) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-shell__header,
	.kevira-checkout__section-heading,
	.kevira-checkout__module-title,
	.kevsh-address-modal__header,
	.kevira-checkout__offline-modal-header
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-subtle) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-shell__header h1,
	.kev-coffee-account-page .woocommerce-MyAccount-content h2,
	.kev-coffee-order-progress__header h2,
	.kevira-checkout__section-heading,
	.kevira-checkout__module-title h2,
	.kevira-checkout__payment-card > h2,
	.kevira-auth-modal h2,
	.kevsh-address-modal__header h2,
	.kevira-order-result h2,
	.kevira-order-result h3
) {
	color: var(--kev-color-heading) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-shell__header p,
	.kev-coffee-order-progress__header p,
	.kevira-checkout__choice-meta,
	.kevira-checkout__summary dt,
	.kevira-auth-modal__message,
	.kevsh-recipient__summary,
	.kevira-order-result__shipping-meta dt
) {
	color: var(--kev-color-muted) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-page .woocommerce-MyAccount-navigation a,
	.kev-coffee-order-filters a,
	.kev-coffee-account-page .woocommerce-pagination :where(a, span),
	.kevira-checkout__quantity,
	.kevira-checkout__quantity :where(button, input),
	.kevira-checkout__payment-step .button:not(#place_order),
	.woocommerce-checkout #payment .wc_payment_method > label,
	.kevsh-address-manual,
	.kevira-auth-modal__close,
	.kevira-checkout__modal-close
) {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-subtle) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kev-coffee-account-page .woocommerce-MyAccount-navigation .is-active a,
	.kev-coffee-order-filters a[aria-current="page"],
	.kevira-checkout__choice[aria-pressed="true"],
	.woocommerce-checkout #payment .wc_payment_method:has(> input[type="radio"]:checked)
) {
	border-color: var(--kev-color-brand-primary) !important;
	background: color-mix(in srgb, var(--kev-color-brand-primary) 10%, var(--kev-color-surface)) !important;
	color: var(--kev-color-brand-primary) !important;
}

html[data-kevira-color-mode="light"] .kevira-checkout__steps li.is-active {
	color: var(--kev-color-heading) !important;
}

@media (max-width: 47.9375rem) {
	html[data-kevira-color-mode="light"] .kev-coffee-product-purchase-bar {
		border-color: var(--kev-color-border) !important;
		background: color-mix(in srgb, var(--kev-color-surface-elevated) 96%, transparent) !important;
		box-shadow: 0 -0.5rem 1.5rem var(--kev-color-shadow-soft) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-purchase-bar__price {
		color: var(--kev-color-brand-accent) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-purchase-bar__quantity {
		border-color: var(--kev-color-border) !important;
		background: var(--kev-color-surface-subtle) !important;
	}

	html[data-kevira-color-mode="light"] :where(
		.kev-coffee-product-purchase-bar__step,
		.kev-coffee-product-purchase-bar__value
	) {
		color: var(--kev-color-text-strong) !important;
	}

	html[data-kevira-color-mode="light"] .kev-coffee-product-purchase-bar__action {
		background: var(--kev-color-brand-primary) !important;
		color: var(--kev-color-on-brand) !important;
	}
}

html[data-kevira-color-mode="light"] :where(
	.kevira-checkout__modal-backdrop,
	.kevsh-address-modal__backdrop,
	.kevira-auth-modal__backdrop,
	.kevira-checkout__offline-modal-backdrop
) {
	background: var(--kev-color-backdrop) !important;
}

html[data-kevira-color-mode="light"] :where(
	.kevira-checkout__product-image a,
	.kevira-order-result__product-image,
	.kev-coffee-account-page .kevira-order-result__product-image
) {
	background: var(--kev-color-image-well) !important;
}

html[data-kevira-color-mode="light"] :where(
	.woocommerce-message,
	.kevira-auth-email-status.is-verified
) {
	border-color: color-mix(in srgb, var(--kev-color-success) 35%, transparent) !important;
	background: color-mix(in srgb, var(--kev-color-success) 9%, var(--kev-color-surface)) !important;
	color: var(--kev-color-success) !important;
}

html[data-kevira-color-mode="light"] :where(.woocommerce-error, .is-error, [aria-invalid="true"]) {
	border-color: color-mix(in srgb, var(--kev-color-error) 35%, transparent) !important;
}

/* Toasts and small feedback layers. */
html[data-kevira-color-mode="light"] .kev-toast .kev-toast__body,
html[data-kevira-color-mode="light"] .kev-toast .kev-toast__body :is(p,span,div,li,strong) {
	color: #173e43 !important;
}
html[data-kevira-color-mode="light"] .kevira-checkout__message,
html[data-kevira-color-mode="light"] .kevira-checkout__message :is(p,span,strong) {
	color: #173e43 !important;
	background-color: #fffdf9;
}
html[data-kevira-color-mode="light"] .kev-coffee-mobile-bottom-nav__cart-count {
	background: #1c515c !important;
	color: #fffdf9 !important;
	font-weight: 800;
}
html[data-kevira-color-mode="light"] .kev-toast {
	border-color: var(--kev-color-border) !important;
	background: var(--kev-color-surface-elevated) !important;
	box-shadow: 0 1rem 3rem var(--kev-color-shadow) !important;
	color: var(--kev-color-text-strong) !important;
}

html[data-kevira-color-mode="light"] .kev-toast__close {
	color: var(--kev-color-muted) !important;
}

/* Mode changes are deliberate and bounded; initial paint never animates. */
html.kev-coffee-color-mode-ready :where(
	body,
	.wp-site-blocks,
	.kev-coffee-site-header,
	.kev-coffee-mobile-header,
	.kev-coffee-site-footer,
	.kev-coffee-mobile-bottom-nav,
	.kev-coffee-product-card,
	.kev-coffee-article-card__card,
	.kevira-checkout__step,
	.woocommerce-MyAccount-content
) {
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

@media (prefers-reduced-motion: reduce) {
	.kev-coffee-color-mode-toggle,
	.kev-coffee-color-mode-toggle__icon,
	html.kev-coffee-color-mode-ready :where(
		body,
		.wp-site-blocks,
		.kev-coffee-site-header,
		.kev-coffee-mobile-header,
		.kev-coffee-site-footer,
		.kev-coffee-mobile-bottom-nav,
		.kev-coffee-product-card,
		.kev-coffee-article-card__card,
		.kevira-checkout__step,
		.woocommerce-MyAccount-content
	) {
		transition: none !important;
	}
}

/* Search results are inserted after the initial page audit. */
html[data-kevira-color-mode="light"] .kev-coffee-live-search__all {
	color: var(--kev-color-link) !important;
}
