/**
 * /fix-wordpress/ landing page styles.
 * Loaded conditionally in functions.php only when the page uses the
 * "Fix WordPress" template (page-fix-wordpress.php).
 */

/* Sections added in Tasks 2–7. */

/* ─────────────────────────────────────────────
 * Hero
 * ───────────────────────────────────────────── */
.fix-wp-hero {
	text-align: center;
	padding-top: var(--boltpress-spacing-4xl);
	padding-bottom: var(--boltpress-spacing-4xl);
}

.fix-wp-hero h1 {
	font-size: clamp(2rem, 5vw, var(--boltpress-typography-font-size-5xl));
	line-height: var(--boltpress-typography-line-height-tight);
	margin-bottom: var(--boltpress-spacing-lg);
}

.fix-wp-hero .hero__subtitle {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--boltpress-spacing-2xl);
	font-size: var(--boltpress-typography-font-size-md);
	color: var(--boltpress-colors-dark-text-muted);
}

.fix-wp-hero .hero__actions {
	display: flex;
	gap: var(--boltpress-spacing-base);
	justify-content: center;
	flex-wrap: wrap;
}

/* ─────────────────────────────────────────────
 * Problem / Solution Grid
 * (parent .section already sets white background; no override needed)
 * ───────────────────────────────────────────── */
.fix-wp-problem-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--boltpress-spacing-lg);
	margin-top: var(--boltpress-spacing-2xl);
}

@media (min-width: 768px) {
	.fix-wp-problem-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--boltpress-spacing-xl);
	}
}

.fix-wp-problem-card {
	background: var(--boltpress-colors-background-alt);
	border: 1px solid var(--boltpress-colors-border-light);
	border-radius: var(--boltpress-border-radius-lg);
	padding: var(--boltpress-spacing-xl);
	transition: var(--boltpress-transitions-base);
}

.fix-wp-problem-card:hover {
	border-color: var(--boltpress-colors-accent);
	transform: translateY(-2px);
	box-shadow: var(--boltpress-shadows-md);
}

.fix-wp-problem-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--boltpress-border-radius-md);
	background: var(--boltpress-colors-accent);
	color: var(--boltpress-colors-primary);
	margin-bottom: var(--boltpress-spacing-base);
}

.fix-wp-problem-card h3 {
	font-size: var(--boltpress-typography-font-size-lg);
	margin-bottom: var(--boltpress-spacing-sm);
	color: var(--boltpress-colors-primary);
}

.fix-wp-problem-card p {
	margin: 0;
	color: var(--boltpress-colors-text);
	line-height: var(--boltpress-typography-line-height-relaxed);
}

/* ─────────────────────────────────────────────
 * Fix Pricing
 * ───────────────────────────────────────────── */
.fix-wp-pricing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--boltpress-spacing-lg);
	margin-top: var(--boltpress-spacing-2xl);
}

@media (min-width: 768px) {
	.fix-wp-pricing-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--boltpress-spacing-xl);
	}
}

.fix-wp-pricing-card {
	background: var(--boltpress-colors-background);
	border: 1px solid var(--boltpress-colors-border);
	border-radius: var(--boltpress-border-radius-lg);
	padding: var(--boltpress-spacing-2xl);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--boltpress-spacing-sm);
	transition: var(--boltpress-transitions-base);
}

.fix-wp-pricing-card:hover {
	border-color: var(--boltpress-colors-accent);
	box-shadow: var(--boltpress-shadows-md);
}

.fix-wp-pricing-card__name {
	font-family: var(--boltpress-typography-font-family-heading);
	font-weight: var(--boltpress-typography-font-weight-bold);
	font-size: var(--boltpress-typography-font-size-lg);
	color: var(--boltpress-colors-primary);
}

.fix-wp-pricing-card__price {
	font-family: var(--boltpress-typography-font-family-heading);
	font-weight: var(--boltpress-typography-font-weight-bold);
	font-size: var(--boltpress-typography-font-size-5xl);
	line-height: 1;
	color: var(--boltpress-colors-primary);
}

.fix-wp-pricing-card__scope {
	flex-grow: 1;
	margin: var(--boltpress-spacing-sm) 0 var(--boltpress-spacing-base);
	color: var(--boltpress-colors-text);
	line-height: var(--boltpress-typography-line-height-relaxed);
}

.fix-wp-pricing-card__cta {
	align-self: stretch;
	text-align: center;
}

/* ─────────────────────────────────────────────
 * "Or free with a plan" button — the Value Unlock
 *
 * This is the upsell pivot moment: "you're about to pay $149… or you
 * could get it for free." The treatment is a 1.5px gradient frame
 * (accent yellow → accent-gradient-end orange — same gradient as the
 * homepage .cta__gradient-text) around a white interior, with a
 * floating "→" arrow that slides right on hover while the interior
 * fills with the gradient — a literal "unlock" reveal.
 *
 * Technique: two stacked backgrounds clipped to different boxes.
 * The border-box layer holds the gradient; the padding-box layer
 * covers the inside with the card's white fill, leaving only 1.5px
 * of gradient visible around the edge. On hover, the padding-box
 * fill becomes the gradient too, so the whole button becomes solid
 * gradient.
 * ───────────────────────────────────────────── */
/* Height + shape match the sibling .btn .btn--primary in the card:
 * same padding (md xl), 2px border, border-radius-md. Font size
 * drops to size-sm to make room for the "FREE" badge and tighten
 * the overall look. Distinction comes from typography (Urbanist
 * uppercase tracked), the gradient frame, and the badge itself. */
.fix-wp-pricing-card__plan-btn {
	align-self: stretch;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--boltpress-spacing-sm);
	padding: var(--boltpress-spacing-md) var(--boltpress-spacing-xl);
	font-family: var(--boltpress-typography-font-family-heading);
	font-size: var(--boltpress-typography-font-size-xs);
	font-weight: var(--boltpress-typography-font-weight-semibold);
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--boltpress-colors-primary);
	border: 2px solid transparent;
	border-radius: var(--boltpress-border-radius-md);
	background:
		linear-gradient(var(--boltpress-colors-background), var(--boltpress-colors-background)) padding-box,
		linear-gradient(90deg, var(--boltpress-colors-accent), var(--boltpress-colors-accent-gradient-end)) border-box;
	transition:
		background var(--boltpress-transitions-base),
		color var(--boltpress-transitions-base),
		transform var(--boltpress-transitions-base);
}

/* The label wrapper exists so the inline badge sits on the same
 * baseline as the surrounding text, with consistent word-spacing
 * that isn't warped by the parent's 0.12em tracking. */
.fix-wp-pricing-card__plan-btn__label {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

/* The badge — solid accent "FREE" pill inside the button. Tighter
 * tracking than the surrounding text, smaller font, and a fill that
 * makes it read as a promo sticker stuck to the button. */
.fix-wp-pricing-card__plan-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	font-size: 10px;
	font-weight: var(--boltpress-typography-font-weight-bold);
	letter-spacing: 0.08em;
	color: var(--boltpress-colors-primary);
	background: var(--boltpress-colors-accent);
	border-radius: var(--boltpress-border-radius-sm);
	transition:
		background var(--boltpress-transitions-base),
		color var(--boltpress-transitions-base);
}

/* Arrow lives in a pseudo-element so the tracked letter-spacing on the
 * label doesn't warp the glyph, and the slide animation is pure CSS. */
.fix-wp-pricing-card__plan-btn::after {
	content: "→";
	display: inline-block;
	letter-spacing: 0;
	transition: transform var(--boltpress-transitions-base);
}

.fix-wp-pricing-card__plan-btn:hover,
.fix-wp-pricing-card__plan-btn:focus-visible {
	color: var(--boltpress-colors-primary);
	background:
		linear-gradient(90deg, var(--boltpress-colors-accent), var(--boltpress-colors-accent-gradient-end)) padding-box,
		linear-gradient(90deg, var(--boltpress-colors-accent), var(--boltpress-colors-accent-gradient-end)) border-box;
	transform: translateY(-2px);
}

/* On hover the button fills with the same yellow/orange gradient, so the
 * badge would blend in. Invert the badge to dark navy on accent so it
 * stays visible and the transition reads as "promo → unlocked". */
.fix-wp-pricing-card__plan-btn:hover .fix-wp-pricing-card__plan-badge,
.fix-wp-pricing-card__plan-btn:focus-visible .fix-wp-pricing-card__plan-badge {
	background: var(--boltpress-colors-primary);
	color: var(--boltpress-colors-accent);
}

.fix-wp-pricing-card__plan-btn:hover::after,
.fix-wp-pricing-card__plan-btn:focus-visible::after {
	transform: translateX(4px);
}

.fix-wp-pricing-card__plan-btn:focus-visible {
	outline: 2px solid var(--boltpress-colors-accent);
	outline-offset: 3px;
}

.fix-wp-pricing__below {
	margin-top: var(--boltpress-spacing-2xl);
	text-align: center;
}

.fix-wp-pricing__unsure,
.fix-wp-pricing__plans-link {
	font-size: var(--boltpress-typography-font-size-md);
	color: var(--boltpress-colors-text);
	margin: 0 0 var(--boltpress-spacing-sm);
}

.fix-wp-pricing__unsure a,
.fix-wp-pricing__plans-link a {
	color: var(--boltpress-colors-primary);
	font-weight: var(--boltpress-typography-font-weight-bold);
	text-decoration-color: var(--boltpress-colors-accent);
	margin-left: var(--boltpress-spacing-xs);
}

/* ─────────────────────────────────────────────
 * How It Works (3 steps)
 * (parent .section already sets white background; .section--alt is used
 *  by the pricing + FAQ sections, so plain .section here gives the
 *  alternating white/cream/white/cream contrast across the page)
 * ───────────────────────────────────────────── */
.fix-wp-steps {
	list-style: none;
	margin: var(--boltpress-spacing-2xl) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--boltpress-spacing-2xl);
}

@media (min-width: 768px) {
	.fix-wp-steps {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--boltpress-spacing-xl);
	}
}

.fix-wp-step {
	text-align: center;
	padding: 0 var(--boltpress-spacing-base);
}

.fix-wp-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--boltpress-colors-accent);
	color: var(--boltpress-colors-primary);
	font-family: var(--boltpress-typography-font-family-heading);
	font-weight: var(--boltpress-typography-font-weight-bold);
	font-size: var(--boltpress-typography-font-size-2xl);
	margin-bottom: var(--boltpress-spacing-base);
}

.fix-wp-step__title {
	font-size: var(--boltpress-typography-font-size-lg);
	margin: 0 0 var(--boltpress-spacing-sm);
	color: var(--boltpress-colors-primary);
}

.fix-wp-step__desc {
	margin: 0;
	color: var(--boltpress-colors-text);
	line-height: var(--boltpress-typography-line-height-relaxed);
}

/* ─────────────────────────────────────────────
 * FAQ
 * ───────────────────────────────────────────── */
.fix-wp-faq {
	margin-top: var(--boltpress-spacing-2xl);
	display: flex;
	flex-direction: column;
	gap: var(--boltpress-spacing-sm);
}

.fix-wp-faq__item {
	background: var(--boltpress-colors-background);
	border: 1px solid var(--boltpress-colors-border);
	border-radius: var(--boltpress-border-radius-md);
	overflow: hidden;
}

.fix-wp-faq__item[open] {
	border-color: var(--boltpress-colors-accent);
}

.fix-wp-faq__q {
	font-family: var(--boltpress-typography-font-family-heading);
	font-weight: var(--boltpress-typography-font-weight-bold);
	font-size: var(--boltpress-typography-font-size-md);
	color: var(--boltpress-colors-primary);
	padding: var(--boltpress-spacing-base) var(--boltpress-spacing-lg);
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--boltpress-spacing-base);
	transition: var(--boltpress-transitions-base);
}

.fix-wp-faq__q::-webkit-details-marker {
	display: none;
}

/* Single chevron, rotated when the item opens — keeps the transition
 * animatable. (`transform` IS animatable; `content` is not, which is
 * why a "+" / "−" content-swap approach would flash instead of
 * animating.) Closed: 45deg = points right ">". Open: 135deg = points
 * down "v". 90deg rotation = smooth affordance. */
.fix-wp-faq__q::after {
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--boltpress-colors-accent);
	border-bottom: 2px solid var(--boltpress-colors-accent);
	transform: rotate(-45deg);
	transform-origin: center;
	transition: transform var(--boltpress-transitions-base);
	flex-shrink: 0;
}

.fix-wp-faq__item[open] .fix-wp-faq__q::after {
	transform: rotate(45deg);
}

.fix-wp-faq__a {
	padding: 0 var(--boltpress-spacing-lg) var(--boltpress-spacing-lg);
	color: var(--boltpress-colors-text);
	line-height: var(--boltpress-typography-line-height-relaxed);
}

.fix-wp-faq__a p {
	margin: 0;
}

/* Final CTA uses the parent theme's .section--cta + .cta pattern
 * (dark-bg, gradient accent span, .cta__actions wrapper,
 * .btn--ghost-dark secondary). No local overrides needed. */
