/*
 * Global typography + text color standardization.
 * Scope: front-end only (child theme), no parent theme changes.
 */

:root,
body,
.elementor-kit-5934,
[class*="elementor-kit-"] {
	--e-global-color-primary: #fff;
	--e-global-color-secondary: #fff;
	--e-global-color-text: #fff;
	--e-global-color-accent: #fff;
}

/* Base text color system */
body:not(.wp-admin),
body:not(.wp-admin) .site,
body:not(.wp-admin) .site-main,
body:not(.wp-admin) .site-content,
body:not(.wp-admin) #primary,
body:not(.wp-admin) #container {
	color: #fff !important;
}

/* Headings */
body:not(.wp-admin) :is(
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	.hero-title,
	.post-title,
	.entry-title,
	.section-title,
	.wvc-custom-heading,
	.wolf-core-heading,
	.elementor-widget-heading .elementor-heading-title
) {
	font-family: var(--av-font-heading, "Staatliches", "Helvetica Neue", Arial, sans-serif) !important;
	font-weight: 400 !important;
	letter-spacing: var(--av-heading-track, 0.024em) !important;
	color: #fff !important;
}

/* Body text */
body:not(.wp-admin) :is(
	p,
	li,
	dt,
	dd,
	blockquote,
	cite,
	small,
	label,
	figcaption,
	caption,
	.entry-summary,
	.entry-excerpt,
	.post-excerpt,
	.widget,
	.widget p,
	.widget li,
	.elementor-widget-text-editor,
	.elementor-widget-text-editor p,
	.elementor-widget-text-editor li,
	.elementor-widget-theme-post-content,
	.elementor-widget-theme-post-content p,
	.elementor-widget-theme-post-content li,
	.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
	.elementor-widget-icon-list .elementor-icon-list-item > a
) {
	font-family: var(--av-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
	font-weight: 400 !important;
	line-height: 1.45;
	letter-spacing: 0.003em !important;
	color: #fff !important;
}

/* Meta/small text must stay white (no faded gray). */
body:not(.wp-admin) :is(
	.post-meta,
	.post-meta-container,
	.post-secondary-meta-container,
	.entry-meta,
	.entry-taxonomy,
	.entry-date,
	.entry-author,
	.entry-category,
	.breadcrumb,
	.breadcrumbs,
	.nav-label,
	.nav-subtitle,
	.meta,
	[class*="meta"],
	[class*="taxonomy"],
	[class*="breadcrumb"],
	[class*="caption"],
	[class*="subtitle"]
) {
	color: #fff !important;
	opacity: 1 !important;
}

/* Links are white by default, but exclude CTA/button links. */
body:not(.wp-admin) a:not(.button):not(.button-secondary):not(.button-download):not(.added_to_cart):not(.wolf-button):not(.wvc-button):not(.wolf-core-button):not(.elementor-button):not(.collab-btn):not(.collab-btn--sm):not([class*="theme-button-"]) {
	color: #fff !important;
	text-decoration-color: currentColor;
}

body:not(.wp-admin) a:not(.button):not(.button-secondary):not(.button-download):not(.added_to_cart):not(.wolf-button):not(.wvc-button):not(.wolf-core-button):not(.elementor-button):not(.collab-btn):not(.collab-btn--sm):not([class*="theme-button-"]):hover,
body:not(.wp-admin) a:not(.button):not(.button-secondary):not(.button-download):not(.added_to_cart):not(.wolf-button):not(.wvc-button):not(.wolf-core-button):not(.elementor-button):not(.collab-btn):not(.collab-btn--sm):not([class*="theme-button-"]):focus-visible {
	color: #fff !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

/* Keep button-like links decoration-free (hover/focus). */
body:not(.wp-admin) :is(
	a.button,
	a.button-secondary,
	a.button-download,
	a.wolf-button,
	a.wvc-button,
	a.wolf-core-button,
	a.collab-btn,
	a.collab-btn--sm,
	a[class*="theme-button-"]
) {
	text-decoration: none !important;
}

/* Light CTA surfaces need dark, readable text/icon in normal + hover states. */
body:not(.wp-admin) :is(
	a.collab-btn,
	a.collab-btn--sm,
	button.theme-button-special,
	a.theme-button-special,
	a.wolf-button.theme-button-special,
	a.wvc-button.theme-button-special,
	a.wolf-core-button.theme-button-special,
	a.elementor-button.theme-button-special
),
body:not(.wp-admin) :is(
	a.collab-btn,
	a.collab-btn--sm,
	button.theme-button-special,
	a.theme-button-special,
	a.wolf-button.theme-button-special,
	a.wvc-button.theme-button-special,
	a.wolf-core-button.theme-button-special,
	a.elementor-button.theme-button-special
) :is(
	.collab-text,
	.menu-item-text-container,
	.elementor-button-text,
	span,
	i,
	svg
) {
	color: #0a0f10 !important;
	fill: currentColor !important;
	stroke: currentColor;
}

body:not(.wp-admin) :is(
	a.collab-btn,
	a.collab-btn--sm,
	button.theme-button-special,
	a.theme-button-special,
	a.wolf-button.theme-button-special,
	a.wvc-button.theme-button-special,
	a.wolf-core-button.theme-button-special,
	a.elementor-button.theme-button-special
) .collab-arrow path {
	stroke: #0a0f10 !important;
}

body:not(.wp-admin) :is(
	a.collab-btn,
	a.collab-btn--sm,
	button.theme-button-special,
	a.theme-button-special,
	a.wolf-button.theme-button-special,
	a.wvc-button.theme-button-special,
	a.wolf-core-button.theme-button-special,
	a.elementor-button.theme-button-special
):hover,
body:not(.wp-admin) :is(
	a.collab-btn,
	a.collab-btn--sm,
	button.theme-button-special,
	a.theme-button-special,
	a.wolf-button.theme-button-special,
	a.wvc-button.theme-button-special,
	a.wolf-core-button.theme-button-special,
	a.elementor-button.theme-button-special
):focus-visible {
	color: #0a0f10 !important;
}

/* Header CTA buttons must stay white on dark glass states (desktop + mobile). */
body:not(.wp-admin) :is(
	#desktop-navigation .nav-menu-desktop li.menu-button-primary > a:first-child > .menu-item-inner,
	#desktop-navigation .nav-menu-desktop li.menu-button-secondary > a:first-child > .menu-item-inner,
	#desktop-navigation .nav-menu-desktop li.nav-button > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.menu-button-primary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.menu-button-secondary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.nav-button > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.menu-button-primary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.menu-button-secondary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.nav-button > a:first-child > .menu-item-inner
),
body:not(.wp-admin) :is(
	#desktop-navigation .nav-menu-desktop li.menu-button-primary > a:first-child > .menu-item-inner,
	#desktop-navigation .nav-menu-desktop li.menu-button-secondary > a:first-child > .menu-item-inner,
	#desktop-navigation .nav-menu-desktop li.nav-button > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.menu-button-primary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.menu-button-secondary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-mobile li.nav-button > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.menu-button-primary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.menu-button-secondary > a:first-child > .menu-item-inner,
	#mobile-menu-panel--inner .nav-menu-vertical li.nav-button > a:first-child > .menu-item-inner
) :is(.menu-item-text-container, span, i, svg) {
	color: #fff !important;
	fill: currentColor !important;
	stroke: currentColor;
	text-decoration: none !important;
}

/* Footer text and links must be pure white. */
body:not(.wp-admin) :is(
	.site-footer,
	.site-footer *,
	#colophon,
	#colophon *,
	.sidebar-footer,
	.sidebar-footer *,
	.site-infos,
	.site-infos *
) {
	color: #fff !important;
	opacity: 1 !important;
}

/* Forms */
body:not(.wp-admin) :is(input, textarea, select) {
	color: #fff !important;
}

body:not(.wp-admin) :is(input, textarea)::placeholder {
	color: #fff !important;
	opacity: 1 !important;
}

/* Keep light CTA buttons readable (dark text on light surfaces). */
body:not(.wp-admin) :is(.collab-btn, .collab-btn--sm),
body:not(.wp-admin) :is(.collab-btn, .collab-btn--sm) :is(.collab-text, .menu-item-text-container, span, i, svg),
body:not(.wp-admin) :is(.collab-btn, .collab-btn--sm) .collab-arrow path {
	color: #0a0f10 !important;
	fill: #0a0f10 !important;
	stroke: #0a0f10 !important;
}

/* Artist single: compact horizontal cards for CTA + infos + socials. */
@media screen and (min-width: 800px) {
	body.single-artist.single-artist-layout-centered .artist-excerpt-container,
	body.single-artist.single-artist-layout-centered .artist-meta-container {
		float: none !important;
		width: 100% !important;
	}
}

body.single-artist .artist-meta-container {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 12px;
	align-items: stretch;
}

body.single-artist .artist-meta-container > .artist-meta-card {
	grid-column: span 12;
	margin: 0 !important;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: linear-gradient(160deg, rgba(6, 15, 18, 0.9), rgba(5, 8, 10, 0.9));
}

body.single-artist .artist-meta-container .artist-meta-card h3 {
	margin: 0 0 6px;
	font-size: 12px;
	font-family: var(--av-font-heading, "Staatliches", "Helvetica Neue", Arial, sans-serif);
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.single-artist .artist-meta-container .artist-meta-card p,
body.single-artist .artist-meta-container .artist-meta-card span,
body.single-artist .artist-meta-container .artist-meta-card a {
	font-family: var(--av-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--cta {
	grid-column: span 12;
	display: flex;
	align-items: center;
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials {
	grid-column: span 12;
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials .artist-socials-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials .artist-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(255, 255, 255, 0.02);
	text-decoration: none !important;
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials .artist-social-link:hover,
body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials .artist-social-link:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	opacity: 1;
}

body.single-artist .artist-meta-container .artist-meta-card.artist-meta-card--socials .artist-social-link i {
	font-size: 15px;
}

@media screen and (min-width: 980px) {
	body.single-artist .artist-meta-container > .artist-meta-card {
		grid-column: span 6;
	}
}

@media screen and (min-width: 1280px) {
	body.single-artist .artist-meta-container > .artist-meta-card {
		grid-column: span 4;
	}
}

/* Artist single CTA: premium white pill button. */
body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(255, 255, 255, 0.85);
	color: #0a0f10 !important;
	text-decoration: none !important;
	font-family: var(--av-font-body, "Helvetica Neue", Helvetica, Arial, sans-serif);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn .collab-arrow {
	width: 18px;
	height: 18px;
}

body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn .collab-arrow path {
	stroke-width: 2;
}

body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn:hover,
body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn:focus-visible {
	background: #f5f8f7;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
	text-decoration: none !important;
	transform: translateY(-1px);
}

body.single-artist .artist-services-cta .artist-services-cta__button.collab-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
