/**
 * Block patterns — supplemental styles.
 *
 * Component CSS that pattern markup hooks into. Most styling is inline in the
 * pattern files (so a pattern looks correct on any theme); this file adds
 * affordances that benefit from real CSS — hover states, accordion polish,
 * responsive tweaks, focus rings.
 *
 * Loaded after components.css so it can override.
 */

/* ── Hero ── */
.le-hero { position: relative; }
.le-hero--white-fade .has-hero-white-fade-gradient-background {
	background: linear-gradient(90deg, #FAF7F2 0%, rgba(250,247,242,0.92) 38%, rgba(250,247,242,0.55) 60%, rgba(250,247,242,0) 88%) !important;
}
@media (max-width: 781px) {
	.le-hero { min-height: 480px !important; }
	.le-hero--white-fade .has-hero-white-fade-gradient-background {
		background: linear-gradient(180deg, rgba(250,247,242,0.96) 50%, rgba(250,247,242,0.75) 100%) !important;
	}
}

/* ── Hero — page (centered) ── */
.le-hero-page { border-bottom: 1px solid #E8E2D5; }

/* ── Trust strip ── */
.le-trust-strip .wp-block-columns { align-items: center; gap: 24px; }
@media (max-width: 781px) {
	.le-trust-strip .wp-block-columns { flex-wrap: wrap !important; }
	.le-trust-strip .wp-block-column { flex-basis: 50% !important; padding: 8px 0; }
}

/* ── Featured products ── */
.le-featured-card { display: flex; flex-direction: column; }
.le-featured-card__link { display: block; overflow: hidden; border-radius: 4px; background: #F7F2E7; }
.le-featured-card__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform .4s ease;
}
.le-featured-card__link:hover .le-featured-card__img { transform: scale(1.03); }

/* ── Testimonials ── */
.le-testimonial-stars { display: flex; gap: 2px; }

/* ── Articles teaser ── */
.le-articles-teaser .wp-block-post-featured-image img {
	border-radius: 4px;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.le-articles-teaser .wp-block-post-title a {
	text-decoration: none;
	transition: color .15s ease;
}
.le-articles-teaser .wp-block-post-title a:hover { color: #C8941A !important; }

/* ── Inline product CTA ── */
.le-inline-cta__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
	background: #FFFFFF;
}

/* ── Bundle CTA ── */
.le-bundle-cta__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
	background: #FFFFFF;
}

/* ── Authority portrait ── */
.le-authority-portrait img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: 0 18px 36px -24px rgba(14, 26, 43, 0.4);
}

/* ── FAQ accordion ── */
.le-faq__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid #E8E2D5;
}
.le-faq__item {
	border-bottom: 1px solid #E8E2D5;
	padding: 0;
}
.le-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 20px 32px 20px 0;
	font-size: 17px;
	font-weight: 600;
	color: #0E1A2B;
	font-family: 'Newsreader', Georgia, serif;
	letter-spacing: -0.005em;
	position: relative;
	transition: color .15s ease;
}
.le-faq__q::-webkit-details-marker { display: none; }
.le-faq__q::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 12px;
	height: 12px;
	border-right: 2px solid #C8941A;
	border-bottom: 2px solid #C8941A;
	transform: translateY(-70%) rotate(45deg);
	transition: transform .25s ease;
}
.le-faq__item[open] > .le-faq__q::after {
	transform: translateY(-30%) rotate(-135deg);
}
.le-faq__q:hover { color: #C8941A; }
.le-faq__q:focus-visible {
	outline: 2px solid #C8941A;
	outline-offset: 4px;
	border-radius: 2px;
}
.le-faq__a {
	padding: 0 32px 20px 0;
	color: #3A4658;
	font-size: 16px;
	line-height: 1.6;
}
.le-faq__a p:last-child { margin-bottom: 0; }

/* ── Email capture form ── */
.le-email-capture .gform_wrapper { max-width: 480px; margin: 16px auto 0; }
.le-email-capture .gform_fields { gap: 8px; }
.le-email-capture input[type="email"],
.le-email-capture input[type="text"] {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(250,247,242,0.25);
	color: #FAF7F2;
	padding: 14px 16px;
	border-radius: 4px;
	font-size: 16px;
	width: 100%;
}
.le-email-capture input::placeholder { color: rgba(250,247,242,0.55); }
.le-email-capture input:focus {
	outline: none;
	border-color: #C8941A;
	background: rgba(255,255,255,0.12);
}
.le-email-capture .gform_button {
	background: #C8312D;
	color: #FAF7F2;
	border: 0;
	padding: 14px 28px;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background .15s ease;
}
.le-email-capture .gform_button:hover { background: #b62925; }

/* ── Pull quote ── */
.le-pull-quote p { margin: 0; }

/* ── Articles teaser flex header on mobile ── */
@media (max-width: 781px) {
	.le-articles-teaser > .wp-block-group { flex-direction: column !important; align-items: flex-start !important; }
}

/* ── Authority + bundle CTA stack on mobile ── */
@media (max-width: 781px) {
	.le-dr-dave-authority .wp-block-columns,
	.le-bundle-cta .wp-block-columns,
	.le-inline-product-cta .wp-block-columns {
		flex-direction: column !important;
	}
	.le-dr-dave-authority .wp-block-column,
	.le-bundle-cta .wp-block-column,
	.le-inline-product-cta .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}
