/**
 * Styles for the [fitrx_where_to_buy] shortcode. Shares the same "paper"
 * palette, Anton/Manrope type pairing, and 1520/20 container convention as
 * every other shortcode in this plugin, plus the exact button treatment
 * used for "Buy on Walmart" elsewhere (see .fitrx-sp-buy-btn in
 * single-product.css) — same red fill, same shadow, same hover — so this
 * page's CTA reads as the same button, not a lookalike.
 *
 * 'Anton' and 'Manrope' are the same two fonts every block/shortcode in
 * this plugin uses, loaded once site-wide by fitrx_blocks_enqueue_fonts()
 * in fitrx-blocks.php — not repeated here.
 */

.fitrx-wtb-page,
.fitrx-wtb-page *,
.fitrx-wtb-page *::before,
.fitrx-wtb-page *::after {
	box-sizing: border-box;
}

.fitrx-wtb-page {
	--ink: #181818;
	--ink-soft: rgba(24, 24, 24, 0.64);
	--ink-softer: rgba(24, 24, 24, 0.44);
	--line: rgba(24, 24, 24, 0.12);
	--red: #ce0e2d;
	--red-dim: #a80c25;
	--paper: #f7f3ee;
	--card: #ffffff;

	display: block;
	background: var(--paper);
	color: var(--ink);
	font-family: 'Manrope', -apple-system, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.fitrx-wtb-page a { color: inherit; text-decoration: none; }
.fitrx-wtb-page :focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

.fitrx-wtb-inner { max-width: 1520px; margin: 0 auto; padding: 20px; }

/* ---------- hero: text and photo each keep their own ground — no text
   ever sits on top of the image, so neither has to fight the other for
   legibility ---------- */
.fitrx-wtb-hero {
	display: grid;
	grid-template-columns: minmax(360px, 46%) 1fr;
	align-items: stretch;
	gap: 44px;
	padding: 72px 20px 0;
	max-width: 1520px;
	margin: 0 auto;
}

.fitrx-wtb-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding-bottom: 56px;
}

.fitrx-wtb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--red);
	margin: 0 0 18px;
}

.fitrx-wtb-eyebrow::before { content: ''; width: 16px; height: 2px; background: var(--red); }

.fitrx-wtb-heading {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	font-size: clamp(34px, 4.4vw, 54px);
	line-height: 1;
	text-transform: uppercase;
	margin: 0 0 20px;
}

.fitrx-wtb-heading em { font-style: normal; color: var(--red); }

.fitrx-wtb-sub { font-size: 15.5px; line-height: 1.7; color: var(--ink-soft); }
.fitrx-wtb-sub-primary { font-size: 17px; font-weight: 700; color: var(--ink); margin: 0 0 14px; }
.fitrx-wtb-sub-mission { max-width: 480px; font-size: 14px; color: var(--ink-softer); margin: 0 0 30px; }

/* Same fill, shadow, and hover as .fitrx-sp-buy-btn (single-product.css) —
   this is the same "Buy on Walmart" button, not a lookalike. */
/* Qualified as `.fitrx-wtb-page a.fitrx-wtb-cta` (0,2,1) — a plain
   `.fitrx-wtb-cta` (0,1,0) was losing its `color: #fff` to this very
   file's own `.fitrx-wtb-page a { color: inherit }` above (0,1,1), the
   same self-inflicted specificity issue fixed for .fitrx-quiz-cta in
   goal-quiz.css. */
.fitrx-wtb-page a.fitrx-wtb-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 17px 32px;
	border-radius: 999px;
	background: var(--red);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	box-shadow: 0 14px 28px -14px rgba(206, 14, 45, 0.7);
	transition: background 0.15s ease, transform 0.15s ease;
}

.fitrx-wtb-page a.fitrx-wtb-cta:hover { background: var(--red-dim); transform: translateY(-1px); }
.fitrx-wtb-cta svg { width: 18px; height: 18px; flex-shrink: 0; }

.fitrx-wtb-hero-foot {
	margin-top: 22px;
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 12.5px;
	color: var(--ink-softer);
	font-weight: 600;
}

.fitrx-wtb-badge {
	display: inline-flex;
	align-items: center;
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 5px 12px 5px 5px;
}

/* Scoped under .fitrx-wtb-page (0,2,1) so this beats Elementor's own
   `.elementor img { height: auto; max-width: 100%; ... }` (0,1,1) instead
   of depending on load order — same fix already applied in
   goal-quiz.css. */
.fitrx-wtb-page .fitrx-wtb-badge img { height: 15px; width: auto; display: block; }

.fitrx-wtb-hero-photo {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	min-height: 340px;
	background-size: cover;
	background-position: center 58%;
	box-shadow: 0 30px 60px -30px rgba(24, 24, 24, 0.35);
}

.fitrx-wtb-hero-photo-tag {
	position: absolute;
	left: 18px;
	bottom: 18px;
	background: rgba(255, 255, 255, 0.94);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.2px;
	color: var(--ink);
	box-shadow: 0 8px 18px -8px rgba(24, 24, 24, 0.35);
}

@media (max-width: 860px) {
	.fitrx-wtb-hero { grid-template-columns: 1fr; padding-top: 48px; }
	.fitrx-wtb-hero-copy { padding-bottom: 0; order: 2; }
	.fitrx-wtb-hero-photo { order: 1; min-height: 220px; }
}

/* ---------- the tagline, expanded — bridges hero and CTA with only
   claims FitRx itself can actually make (no shipping/returns promises,
   those are Walmart's to make) ---------- */
.fitrx-wtb-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--line);
	border-radius: 20px;
	overflow: hidden;
	margin: 72px 0 0;
}

.fitrx-wtb-pillar {
	background: var(--card);
	padding: 34px 30px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fitrx-wtb-pillar-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: rgba(206, 14, 45, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--red);
}

.fitrx-wtb-pillar-icon svg { width: 21px; height: 21px; }

.fitrx-wtb-pillar h3 {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: 19px;
	margin: 0;
	letter-spacing: 0.3px;
}

.fitrx-wtb-pillar p { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--ink-soft); }

@media (max-width: 860px) {
	.fitrx-wtb-pillars { grid-template-columns: 1fr; }
}

/* ---------- closing banner: a real product breaks the frame instead of
   a decorative glow ---------- */
.fitrx-wtb-banner {
	background: var(--ink);
	color: #fff;
	border-radius: 28px;
	padding: 56px 40px;
	margin: 56px 0 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	position: relative;
}

.fitrx-wtb-banner-copy { position: relative; max-width: 480px; }

.fitrx-wtb-banner-eyebrow {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--red);
	margin: 0 0 12px;
}

.fitrx-wtb-banner h2 {
	font-family: 'Anton', sans-serif;
	font-weight: 400;
	text-transform: uppercase;
	font-size: clamp(24px, 3.4vw, 38px);
	line-height: 1.05;
	margin: 0 0 12px;
}

.fitrx-wtb-banner p { margin: 0; color: rgba(255, 255, 255, 0.72); font-size: 14.5px; line-height: 1.6; }

.fitrx-wtb-banner-cta-col {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.fitrx-wtb-banner a.fitrx-wtb-cta { background: #fff; color: var(--ink); }
.fitrx-wtb-banner a.fitrx-wtb-cta:hover { background: var(--red); color: #fff; }
.fitrx-wtb-banner .fitrx-wtb-badge { background: #fff; border: none; padding: 6px 14px; }
.fitrx-wtb-page .fitrx-wtb-banner .fitrx-wtb-badge img { height: 16px; }

/* Scoped under .fitrx-wtb-page (0,2,0) for the same reason as
   .fitrx-wtb-badge img above — beats Elementor's `.elementor img`
   (0,1,1) on class-count alone. */
.fitrx-wtb-page .fitrx-wtb-banner-peek {
	position: absolute;
	top: -34px;
	right: 76px;
	width: 150px;
	height: 150px;
	object-fit: contain;
	filter: drop-shadow(0 18px 26px rgba(0, 0, 0, 0.5));
	pointer-events: none;
}

@media (max-width: 700px) {
	.fitrx-wtb-banner { padding: 40px 26px; flex-direction: column; align-items: flex-start; }
	.fitrx-wtb-banner-cta-col { align-items: flex-start; }
	.fitrx-wtb-banner-peek { display: none; }
}
