/* ============================================================
   Thrive theme — layout & polish beyond theme.json tokens
   ============================================================ */


html {
	scroll-behavior: smooth;
}

::selection {
	background: var(--wp--preset--color--sage-light);
	color: var(--wp--preset--color--evergreen-deep);
}

/* ---- Header ---------------------------------------------- */

.thrive-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--ivory) 88%, transparent);
	border-bottom: 1px solid rgb(var(--t-teal-legacy-rgb) / 0.08);
}

/* Blur lives on a pseudo-element: backdrop-filter on the header itself would
   become the containing block for the nav overlay's position:fixed and break it */
.thrive-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.thrive-header .wp-block-navigation a {
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.thrive-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--gold);
}

.thrive-topbar {
	background: var(--wp--preset--color--evergreen-deep);
	color: var(--wp--preset--color--sage-light);
	font-size: 0.82rem;
	letter-spacing: 0.03em;
}

.thrive-topbar a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

@media (max-width: 600px) {
	/* Address hidden on phones — it's in the footer and schema; phone + portal stay */
	.thrive-topbar p:first-child {
		display: none;
	}

	/* !important needed: WP preset font-size classes are themselves !important */
	.thrive-header .wp-block-site-title {
		font-size: 1.2rem !important;
	}

	.thrive-header .wp-block-group {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		flex-wrap: nowrap;
	}

	.thrive-header .wp-block-site-title {
		flex: 1;
		min-width: 0;
	}
}

.thrive-brand {
	gap: 0.65rem;
	align-items: center;
}

.thrive-brand-logo {
	display: flex;
	line-height: 0;
}

.thrive-brand-logo img {
	height: 42px !important;
	width: auto !important;
	max-width: 240px !important;
	display: block !important;
	filter: none !important;
}

/* Header CTA only where it fits on one row; mobile sticky bar covers small screens */
@media (max-width: 1120px) {
	.thrive-header .wp-block-buttons {
		display: none;
	}
}

/* ---- Buttons ---------------------------------------------- */

.wp-block-button__link {
	transition: background-color 0.25s var(--thrive-ease), transform 0.25s var(--thrive-ease), box-shadow 0.25s var(--thrive-ease);
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px -12px rgb(var(--t-teal-legacy-rgb) / 0.45);
}

.is-style-outline .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--evergreen);
	color: var(--wp--preset--color--evergreen);
	background: transparent;
}

.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--evergreen);
	color: var(--wp--preset--color--white);
}

/* Outline buttons on dark backgrounds */
.thrive-hero .is-style-outline .wp-block-button__link,
.wp-block-cover .is-style-outline .wp-block-button__link,
.thrive-section-dark .is-style-outline .wp-block-button__link,
.has-evergreen-background-color .is-style-outline .wp-block-button__link,
.has-evergreen-deep-background-color .is-style-outline .wp-block-button__link {
	border-color: rgb(var(--t-white-rgb) / 0.6);
	color: var(--wp--preset--color--white);
}

.thrive-hero .is-style-outline .wp-block-button__link:hover,
.wp-block-cover .is-style-outline .wp-block-button__link:hover,
.thrive-section-dark .is-style-outline .wp-block-button__link:hover,
.has-evergreen-background-color .is-style-outline .wp-block-button__link:hover,
.has-evergreen-deep-background-color .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--evergreen);
}

/* ---- Hero -------------------------------------------------- */

.thrive-hero {
	position: relative;
	overflow: hidden;
}

.thrive-hero .thrive-eyebrow {
	display: inline-block;
}

.thrive-kicker,
.thrive-eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--t-gold-ink-legacy); /* A2: legible gold on light bg (WCAG AA) */
}

.thrive-hero h1 em,
h2 em {
	font-style: italic;
	font-weight: 350;
	color: var(--wp--preset--color--gold);
}

/* ---- Cards ------------------------------------------------- */

.thrive-card {
	background: var(--wp--preset--color--white);
	border: 1px solid rgb(var(--t-teal-legacy-rgb) / 0.07);
	border-radius: var(--thrive-radius);
	box-shadow: 0 4px 18px -10px rgb(var(--t-ink-legacy-rgb) / 0.12);
	transition: transform 0.3s var(--thrive-ease), box-shadow 0.3s var(--thrive-ease);
	overflow: hidden;
}

.thrive-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--thrive-shadow);
}

.thrive-card .wp-block-image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	filter: saturate(0.95) contrast(1.02); /* B11: cohesive warm grade */
}

.thrive-faq-q {
	margin-top: 1.25rem;
	font-size: 1.05rem;
}

/* Path cards (Men / Women start here) */
.thrive-path-card {
	border-radius: var(--thrive-radius);
	overflow: hidden;
	min-height: 380px;
}

/* ---- Sections ---------------------------------------------- */

.thrive-section-dark {
	background: var(--wp--preset--color--evergreen);
	color: var(--wp--preset--color--ivory);
}

.thrive-section-dark h2,
.thrive-section-dark h3 {
	color: var(--wp--preset--color--white);
}

.thrive-section-dark p {
	color: var(--wp--preset--color--sage-light);
}

/* ============================================================
   ULTIMATE YOLO POLISH — conversion, cards, sticky, premium
   ============================================================ */

/* Stronger card polish + consistent image treatment */
.thrive-card .wp-block-group {
	background: var(--wp--preset--color--white);
}
.thrive-card h3 {
	color: var(--wp--preset--color--evergreen);
	margin-bottom: 0.5rem;
}
.thrive-card a {
	color: var(--t-gold-ink-legacy); /* A2: legible gold read-more on light card */
	font-weight: 600;
}

/* Lotus premium path cards (women/men start) */
.thrive-path-lotus {
	box-shadow: 0 30px 70px -20px rgb(var(--t-ink-legacy-rgb) / 0.5);
}
.thrive-path-lotus:hover img {
	transform: scale(1.03);
	transition: transform 1.2s var(--thrive-ease);
}

/* Final CTA band */
.thrive-final-cta-band h3 {
	font-size: var(--wp--preset--font-size--x-large);
}
.thrive-final-cta-band p {
	font-size: 1.05rem;
}

/* (A7/B13: removed the never-rendered .thrive-sticky-cta bar + its off-brand var(--t-gold-warm)) */
@media (max-width: 820px) {
	/* Hide the header book button more aggressively on small */
	.thrive-header .wp-block-buttons { display: none !important; }
}

/* Service grid upgrade — tighter, more premium */
.thrive-card {
	position: relative;
}
.thrive-card:after {
	content: "";
	position: absolute;
	bottom: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(to right, var(--wp--preset--color--gold), var(--wp--preset--color--evergreen));
	opacity: 0;
	transition: opacity 0.3s var(--thrive-ease);
}
.thrive-card:hover:after {
	opacity: 1;
}

/* Hero buttons stronger */
.thrive-hero .wp-block-button__link {
	font-size: 0.98rem;
	padding-left: 1.9rem;
	padding-right: 1.9rem;
}
.thrive-cta-primary .wp-block-button__link {
	box-shadow: 0 10px 30px -12px rgb(var(--t-gold-amber-rgb) / 0.5);
}

/* Accessibility + micro polish */
a:focus-visible,
.wp-block-button__link:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px rgb(var(--t-forest-deep-rgb) / 0.85); /* A4: dark halo so the ring reads on cream */
}

/* Print / performance niceties */
@media print {
	.thrive-sticky-cta, .thrive-topbar, .thrive-header { display: none !important; }
}

/* ---- Testimonials ------------------------------------------ */

.thrive-quote {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 350;
	line-height: 1.45;
	font-style: italic;
}

.thrive-stars {
	color: var(--wp--preset--color--gold);
	letter-spacing: 0.15em;
	font-size: 1.05rem;
}

/* ---- Blog / content ----------------------------------------- */

.wp-block-post-title a {
	text-decoration: none;
}

.wp-block-post-title a:hover {
	color: var(--wp--preset--color--gold);
}

/* ---- Footer -------------------------------------------------- */

.thrive-footer {
	background: var(--wp--preset--color--evergreen-deep);
	color: var(--wp--preset--color--sage-light);
}

.thrive-footer a {
	color: var(--wp--preset--color--ivory);
	text-decoration: none;
}

.thrive-footer a:hover {
	color: var(--wp--preset--color--gold);
}

.thrive-footer a[href^="mailto:"] {
	word-break: break-all;
}

.thrive-footer .wp-block-heading {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* (A7: removed the never-rendered .thrive-mobile-cta bar + its dead 4.2rem body padding-bottom) */

/* ---- Motion safety -------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.wp-block-button__link,
	.thrive-card {
		transition: none;
	}
}


/* B13: removed unused off-brand --brand-green:var(--t-evergreen-pop) token */
.thrive-hero, .thrive-page-hero { background-color: var(--wp--preset--color--evergreen-deep); }
