/**
 * Homepage contrast fixes — light layout identities need dark text tokens.
 */

/* ── Light identities: semantic tokens ───────────────────────────────── */

body.llw-identity-mode-light,
body.llw-identity-mode-paper,
body.llw-identity-mode-brutal {
	--llw-color-text: #1e293b;
	--llw-color-text-muted: #64748b;
	--llw-color-surface: #f1f5f9;
	--llw-color-surface-elevated: #ffffff;
	--llw-color-border-subtle: rgba(15, 23, 42, 0.12);
}

body.llw-identity-mode-gradient {
	--llw-color-text: #2b2d42;
	--llw-color-text-muted: rgba(43, 45, 66, 0.72);
	--llw-color-surface: #f9f9f9;
	--llw-color-surface-elevated: #ffffff;
	--llw-color-border-subtle: rgba(43, 45, 66, 0.12);
}

body.llw-identity-mode-mono {
	--llw-color-text: #111111;
	--llw-color-text-muted: #525252;
	--llw-color-surface: #fafafa;
	--llw-color-surface-elevated: #ffffff;
	--llw-color-border-subtle: rgba(17, 17, 17, 0.15);
}

body.llw-identity-mode-light .llw-home,
body.llw-identity-mode-gradient .llw-home,
body.llw-identity-mode-mono .llw-home,
body.llw-identity-mode-paper .llw-home,
body.llw-identity-mode-brutal .llw-home {
	color: var(--llw-color-text);
}

/* ── Theme chips (explore) ───────────────────────────────────────────── */

body.llw-identity-mode-light .llw-home .home-theme-chip,
body.llw-identity-mode-gradient .llw-home .home-theme-chip,
body.llw-identity-mode-mono .llw-home .home-theme-chip,
body.llw-identity-mode-paper .llw-home .home-theme-chip,
body.llw-identity-mode-brutal .llw-home .home-theme-chip {
	background: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 12%, #ffffff);
	border-color: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 28%, #ffffff);
	color: var(--llw-brand-primary, #046bd2);
}

body.llw-identity-mode-light .llw-home .home-theme-chip:hover,
body.llw-identity-mode-gradient .llw-home .home-theme-chip:hover,
body.llw-identity-mode-mono .llw-home .home-theme-chip:hover,
body.llw-identity-mode-paper .llw-home .home-theme-chip:hover,
body.llw-identity-mode-brutal .llw-home .home-theme-chip:hover {
	background: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 18%, #ffffff);
	border-color: var(--llw-brand-primary, #046bd2);
	color: var(--llw-brand-primary-dark, var(--llw-brand-primary, #046bd2));
}

body.llw-identity-mode-light .llw-home .home-theme-chip__count,
body.llw-identity-mode-gradient .llw-home .home-theme-chip__count,
body.llw-identity-mode-mono .llw-home .home-theme-chip__count,
body.llw-identity-mode-paper .llw-home .home-theme-chip__count,
body.llw-identity-mode-brutal .llw-home .home-theme-chip__count {
	background: rgba(15, 23, 42, 0.08);
	color: var(--llw-color-text-muted);
}

body.llw-identity-mode-light .llw-home .home-theme-group__link,
body.llw-identity-mode-gradient .llw-home .home-theme-group__link,
body.llw-identity-mode-mono .llw-home .home-theme-group__link,
body.llw-identity-mode-paper .llw-home .home-theme-group__link,
body.llw-identity-mode-brutal .llw-home .home-theme-group__link {
	color: var(--llw-brand-primary, #046bd2);
}

/* ── Office cards ────────────────────────────────────────────────────── */

body.llw-identity-mode-light .llw-home .home-office-card,
body.llw-identity-mode-gradient .llw-home .home-office-card,
body.llw-identity-mode-mono .llw-home .home-office-card,
body.llw-identity-mode-paper .llw-home .home-office-card,
body.llw-identity-mode-brutal .llw-home .home-office-card {
	background: #ffffff;
	border: 1px solid var(--llw-color-border-subtle);
	color: var(--llw-color-text);
}

body.llw-identity-mode-light .llw-home .home-office-card__title,
body.llw-identity-mode-gradient .llw-home .home-office-card__title,
body.llw-identity-mode-mono .llw-home .home-office-card__title,
body.llw-identity-mode-paper .llw-home .home-office-card__title,
body.llw-identity-mode-brutal .llw-home .home-office-card__title {
	color: var(--llw-color-text);
}

body.llw-identity-mode-light .llw-home .home-office-card__details p,
body.llw-identity-mode-light .llw-home .home-office-card__hours p,
body.llw-identity-mode-gradient .llw-home .home-office-card__details p,
body.llw-identity-mode-gradient .llw-home .home-office-card__hours p,
body.llw-identity-mode-mono .llw-home .home-office-card__details p,
body.llw-identity-mode-mono .llw-home .home-office-card__hours p,
body.llw-identity-mode-paper .llw-home .home-office-card__details p,
body.llw-identity-mode-paper .llw-home .home-office-card__hours p,
body.llw-identity-mode-brutal .llw-home .home-office-card__details p,
body.llw-identity-mode-brutal .llw-home .home-office-card__hours p {
	color: var(--llw-color-text-muted);
}

body.llw-identity-mode-light .llw-home .home-office__map-title,
body.llw-identity-mode-gradient .llw-home .home-office__map-title,
body.llw-identity-mode-mono .llw-home .home-office__map-title,
body.llw-identity-mode-paper .llw-home .home-office__map-title,
body.llw-identity-mode-brutal .llw-home .home-office__map-title {
	color: var(--llw-color-text);
}

/* ── Match marquee — readable on any brand primary ───────────────────── */

body.llw-identity-mode-light .llw-home .home-match-marquee,
body.llw-identity-mode-gradient .llw-home .home-match-marquee {
	background: var(--llw-color-surface-elevated);
	border-block: 1px solid var(--llw-color-border-subtle);
}

body.llw-identity-mode-light .llw-home .home-match-marquee .home-section-title,
body.llw-identity-mode-gradient .llw-home .home-match-marquee .home-section-title {
	color: var(--llw-color-text);
}

body.llw-identity-mode-light .llw-home .home-match-marquee .home-section-description,
body.llw-identity-mode-gradient .llw-home .home-match-marquee .home-section-description {
	color: var(--llw-color-text-muted);
}

body.llw-identity-mode-gradient .llw-home .home-match-marquee .home-section-title::after {
	background: var(--llw-brand-primary, #2f7cff);
}

/* ── Secondary buttons / footer links on light surfaces ──────────────── */

body.llw-identity-mode-light .llw-home .home-btn--secondary,
body.llw-identity-mode-gradient .llw-home .home-btn--secondary,
body.llw-identity-mode-mono .llw-home .home-btn--secondary,
body.llw-identity-mode-paper .llw-home .home-btn--secondary,
body.llw-identity-mode-brutal .llw-home .home-btn--secondary {
	border-color: var(--llw-brand-primary, #046bd2);
	color: var(--llw-brand-primary, #046bd2);
	background: transparent;
}

body.llw-identity-mode-light .llw-home .home-section__footer-link a:not(.home-btn),
body.llw-identity-mode-paper .llw-home .home-section__footer-link a:not(.home-btn),
body.llw-identity-mode-mono .llw-home .home-section__footer-link a:not(.home-btn),
body.llw-identity-mode-gradient .llw-home .home-section__footer-link a:not(.home-btn),
/* ── Light surfaces — badges, hero panel, accent links ───────────────── */

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-section-badge {
	background: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 12%, #ffffff);
	border: 1px solid color-mix(in srgb, var(--llw-brand-primary, #046bd2) 28%, #ffffff);
	color: var(--llw-brand-primary, #046bd2);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono) .llw-home .home-hero__badge {
	background: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 12%, #ffffff);
	border: 1px solid color-mix(in srgb, var(--llw-brand-primary, #046bd2) 30%, #ffffff);
	color: var(--llw-brand-primary, #046bd2);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-live-data__title,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-highlights__title {
	color: var(--llw-color-text);
	font-weight: 700;
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-live-data__item {
	background: var(--llw-color-surface-elevated, #ffffff);
	border: 1px solid var(--llw-color-border-subtle, rgba(15, 23, 42, 0.12));
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-live-data__number {
	color: var(--llw-brand-primary, #046bd2);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-live-data__label,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-hero-card .home-highlights__list li {
	color: var(--llw-color-text-muted);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-section .home-gradient-text {
	color: var(--llw-brand-primary, #046bd2);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-feature-card__link,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-promo-card__value,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-faq__question:hover,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-faq__icon {
	color: var(--llw-brand-primary, #046bd2);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-section-description--rich a,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-info-card__text a {
	color: var(--llw-brand-primary-dark, var(--llw-brand-primary, var(--llw-color-text, #111111)));
	text-decoration-color: color-mix(in srgb, var(--llw-brand-primary-dark, var(--llw-brand-primary, #046bd2)) 45%, transparent);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-section-description--rich a:hover,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-info-card__text a:hover {
	color: var(--llw-brand-primary, var(--llw-color-text, #111111));
}

/* Ratings / review scores — accent yellow fails on white cards */
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-ratings__score,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-ratings-card__score,
body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-review-card__rating {
	color: var(--llw-brand-primary-dark, var(--llw-brand-primary, var(--llw-color-text, #111111)));
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-promo-card--featured {
	border-color: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 45%, #ffffff);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--llw-brand-primary, #046bd2) 20%, transparent);
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-promo-card__badge {
	background: var(--llw-brand-primary, #046bd2);
	color: #fff;
}

body:is(.llw-identity-mode-light, .llw-identity-mode-paper, .llw-identity-mode-mono, .llw-identity-mode-gradient) .llw-home .home-feature-card:hover {
	border-color: color-mix(in srgb, var(--llw-brand-primary, #046bd2) 40%, #ffffff);
}

/* ── Classic (dark green) — explore themes + section CTAs ───────────── */

body.llw-layout-classic .llw-home .home-section-badge {
	color: #ffffff;
	background: rgba(255, 242, 0, 0.14);
	border-color: rgba(255, 242, 0, 0.55);
}

body.llw-layout-classic .llw-home .home-theme-chip {
	border-color: rgba(255, 242, 0, 0.45);
	background: rgba(0, 0, 0, 0.28);
	color: #ffffff;
}

body.llw-layout-classic .llw-home .home-theme-chip:hover {
	background: rgba(255, 242, 0, 0.16);
	border-color: var(--llw-brand-accent, #fff200);
	color: var(--llw-brand-accent, #fff200);
}

body.llw-layout-classic .llw-home .home-theme-group__link {
	color: var(--llw-brand-accent, #fff200);
	text-decoration: underline;
	text-decoration-color: rgba(255, 242, 0, 0.45);
	text-underline-offset: 0.18em;
}

body.llw-layout-classic .llw-home .home-theme-group__link:hover {
	color: #ffffff;
	text-decoration-color: #ffffff;
}

body.llw-layout-classic .llw-home .home-btn--secondary {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.65);
	color: #ffffff;
}

body.llw-layout-classic .llw-home .home-btn--secondary:hover {
	border-color: var(--llw-brand-accent, #fff200);
	color: var(--llw-brand-accent, #fff200);
}

/* ── Split / brutal — accent must not hide brand copy ─────────────────── */

body.llw-identity-mode-brutal .llw-home .home-section-badge,
body.llw-identity-mode-brutal .llw-home .home-hero__badge {
	background: #111;
	border-color: #111;
	color: var(--llw-color-accent, #fff200);
}

body.llw-identity-mode-brutal .llw-home .home-gradient-text {
	background: #111;
	color: var(--llw-color-accent, #fff200);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

body.llw-identity-mode-brutal .site-header__logo,
body.llw-identity-mode-brutal .site-header__logo .custom-logo-link {
	padding: 0.35rem 0.55rem;
	border: 3px solid #111;
	background: #111;
	box-shadow: 4px 4px 0 var(--llw-color-accent, #fff200);
}

body.llw-identity-mode-brutal .llw-home .home-btn--secondary {
	border-color: #111;
	color: #111;
}

body.llw-identity-mode-brutal .llw-home .home-hero-card .home-live-data__title,
body.llw-identity-mode-brutal .llw-home .home-hero-card .home-highlights__title {
	color: #111111;
}

body.llw-identity-mode-brutal .llw-home .home-hero-card .home-live-data__number {
	color: #111111;
}

body.llw-identity-mode-brutal .llw-home .home-hero-card .home-live-data__label,
body.llw-identity-mode-brutal .llw-home .home-hero-card .home-highlights__list li {
	color: #333333;
}

body.llw-identity-mode-brutal .llw-home .llw-shell-brutal-hero__stamp .home-live-data__title {
	color: #111111;
}

body.llw-identity-mode-brutal .llw-home .home-feature-card__link {
	color: #111111;
	text-decoration: underline;
	text-decoration-color: rgba(17, 17, 17, 0.35);
	text-underline-offset: 0.18em;
}

body.llw-identity-mode-brutal .llw-home .home-promo-card__value,
body.llw-identity-mode-brutal .llw-home .home-ratings__score,
body.llw-identity-mode-brutal .llw-home .home-ratings-card__score,
body.llw-identity-mode-brutal .llw-home .home-review-card__rating {
	color: #111111;
}

body.llw-identity-mode-brutal .llw-home .home-info-card__text a,
body.llw-identity-mode-brutal .llw-home .home-section-description--rich a {
	color: #111111;
	text-decoration: underline;
	text-decoration-color: rgba(17, 17, 17, 0.35);
	text-underline-offset: 0.15em;
}
