/*
 * Page styles: product pages (/gravity-forms/ and /cf7/).
 * Design: "Formsieve Product GF.dc.html" / "Formsieve Product CF7.dc.html"
 * (desktop 1440) and "Formsieve Mobile Pages.dc.html" 13b (phone 390).
 * Loaded only on those pages (see formsieve_current_page_css() in functions.php).
 *
 * Phones (≤ 690 px) follow 13b: the entry panel becomes the compact card inside
 * the hero, outcome cards show "Delivered · below 50%" chips without the
 * threshold heading, "In the box" is the short 7-item list, and the navy
 * data block and the FAQ are not shown (rows with class fs-hide-mobile).
 */

/* ------------------------------------------------------------------ */
/* Hero (violet block)                                                  */
/* ------------------------------------------------------------------ */

body.fs-site .fs-prod-crumb,
body.fs-site .row .col .fs-prod-crumb {
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
}

body.fs-site .fs-prod-title,
body.fs-site .row .col .fs-prod-title {
	font-family: var(--fs-font-display);
	font-size: 60px;
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.035em;
}

body.fs-site .fs-prod-price,
body.fs-site .row .col .fs-prod-price {
	display: flex;
	align-items: baseline;
	gap: 14px;
	line-height: normal;
}

body.fs-site .fs-prod-price__amount {
	font-family: var(--fs-font-display);
	font-size: 48px;
	font-weight: 800;
	line-height: 1;
}

body.fs-site .fs-prod-price__amount {
	flex: none;
}

body.fs-site .fs-prod-price__note {
	font-size: 17px;
}

body.fs-site .wpb_row.fs-prod-hero .fs-small.fs-prod-fineprint {
	font-size: 14px;
	line-height: 1.5;
}

/* ------------------------------------------------------------------ */
/* Requirements line                                                    */
/* ------------------------------------------------------------------ */

body.fs-site .wpb_row.fs-prod-reqs .wpb_text_column p {
	font-size: 17px;
	font-weight: 500;
	line-height: normal;
}

/* ------------------------------------------------------------------ */
/* Section headings                                                     */
/* ------------------------------------------------------------------ */

body.fs-site .fs-prod-h2,
body.fs-site .row .col .fs-prod-h2 {
	font-family: var(--fs-font-display);
	font-size: 48px;
	font-weight: 800;
	line-height: normal;
	letter-spacing: -.03em;
}

body.fs-site .fs-prod-h2--44,
body.fs-site .row .col .fs-prod-h2--44 {
	font-size: 44px;
}

body.fs-site .wpb_row.fs-prod-inbox .fs-prod-h2 {
	line-height: 1.08;
}

/* ------------------------------------------------------------------ */
/* What happens to each entry: three lavender outcome cards             */
/* ------------------------------------------------------------------ */

body.fs-site .wpb_column.fs-prod-outcome {
	padding: 32px 28px;
}

body.fs-site .fs-prod-outcome .fs-chip {
	align-self: flex-start;
}

body.fs-site .fs-prod-outcome__title,
body.fs-site .row .col .fs-prod-outcome__title {
	font-family: var(--fs-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
}

body.fs-site .fs-prod-outcome__text,
body.fs-site .row .col .fs-prod-outcome__text {
	font-size: 16px;
	line-height: 1.55;
}

/* Keeps "[Possible spam 62%]" together so the opening quote never ends a line
   in the narrow 3-up cards; inline-block still wraps inside if the card is
   narrower than the tag. */
body.fs-site .fs-prod-outcome__tag {
	display: inline-block;
}

/* ------------------------------------------------------------------ */
/* Your visitors' data (navy block)                                     */
/* ------------------------------------------------------------------ */

body.fs-site .fs-prod-data__title,
body.fs-site .row .col .fs-prod-data__title {
	font-family: var(--fs-font-display);
	font-size: 36px;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.03em;
}

body.fs-site .fs-prod-data__text,
body.fs-site .row .col .fs-prod-data__text {
	font-size: 16px;
	line-height: 1.55;
}

body.fs-site .fs-btn.fs-prod-data__link {
	font-size: 16px;
	text-decoration-thickness: auto;
}

/* ------------------------------------------------------------------ */
/* FAQ: answers use the full column (Home's are capped at 680 px)       */
/* ------------------------------------------------------------------ */

body.fs-site .wpb_row.fs-prod-faq .fs-faq__a {
	max-width: none;
}

/* ------------------------------------------------------------------ */
/* Closing call to action (violet block, 40 px above the footer)        */
/* ------------------------------------------------------------------ */

/* Beats Salient's ".container-wrap .row > .wpb_row:last-child { margin-bottom: 0 }". */
body.fs-site .container-wrap .row > .wpb_row.fs-prod-cta {
	margin-bottom: 40px;
	text-align: center;
}

body.fs-site .fs-prod-cta__title,
body.fs-site .row .col .fs-prod-cta__title {
	font-family: var(--fs-font-display);
	font-size: 52px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.035em;
	text-align: center;
}

/* ------------------------------------------------------------------ */
/* Narrower desktops and tablets                                        */
/* ------------------------------------------------------------------ */

@media (max-width: 1199px) {
	body.fs-site .fs-prod-title,
	body.fs-site .row .col .fs-prod-title {
		font-size: 52px;
	}
}

@media (max-width: 999px) {
	body.fs-site .fs-prod-h2,
	body.fs-site .row .col .fs-prod-h2 {
		font-size: 40px;
	}

	body.fs-site .wpb_column.fs-prod-outcome {
		padding: 28px 22px;
	}
}

/* ------------------------------------------------------------------ */
/* Phones (13b)                                                         */
/* ------------------------------------------------------------------ */

@media (max-width: 690px) {
	/* One 18 px rhythm down the hero, including the compact entry card. */
	body.fs-site .wpb_row.fs-prod-hero {
		--fs-grid-row-gap: 18px;
	}

	body.fs-site .fs-prod-crumb,
	body.fs-site .row .col .fs-prod-crumb {
		font-size: 14px;
	}

	/* 13b shows the crumb as plain bold text; it stays a link, underlined on hover/focus. */
	body.fs-site .fs-prod-crumb a {
		text-decoration: none;
	}

	body.fs-site .fs-prod-crumb a:hover,
	body.fs-site .fs-prod-crumb a:focus-visible {
		text-decoration: underline;
	}

	body.fs-site .fs-prod-title,
	body.fs-site .row .col .fs-prod-title {
		font-size: 34px;
		line-height: 1.08;
	}

	body.fs-site .wpb_row.fs-prod-hero .fs-lead.fs-prod-intro {
		font-size: 16px;
		line-height: 1.55;
	}

	body.fs-site .fs-prod-price,
	body.fs-site .row .col .fs-prod-price {
		gap: 10px;
	}

	body.fs-site .fs-prod-price__amount {
		font-size: 36px;
		line-height: normal;
	}

	body.fs-site .fs-prod-price__note {
		font-size: 15px;
	}

	body.fs-site .fs-prod-hero .fs-btn--text-light.fs-btn--lg {
		font-size: 16px;
		text-decoration-thickness: auto;
	}

	body.fs-site .wpb_row.fs-prod-hero .fs-small.fs-prod-fineprint {
		font-size: 13px;
	}

	body.fs-site .fs-prod-reqs .wpb_text_column {
		padding: 0 4px;
	}

	body.fs-site .wpb_row.fs-prod-reqs .wpb_text_column p {
		font-size: 15px;
	}

	body.fs-site .fs-prod-h2,
	body.fs-site .row .col .fs-prod-h2 {
		font-size: 26px;
	}

	body.fs-site .wpb_row.fs-prod-outcomes .wpb_text_column > .wpb_wrapper > .fs-prod-h2 {
		margin-bottom: 6px;
	}

	body.fs-site .wpb_row.fs-prod-inbox .fs-prod-h2 {
		line-height: normal;
	}

	body.fs-site .wpb_column.fs-prod-outcome {
		padding: 20px;
	}

	body.fs-site .fs-prod-outcome__text,
	body.fs-site .row .col .fs-prod-outcome__text {
		font-size: 15px;
		line-height: 1.5;
	}

	body.fs-site .container-wrap .row > .wpb_row.fs-prod-cta {
		margin-bottom: 12px;
	}

	/* Full-width pill in the centred button wrapper (a flex row). */
	body.fs-site .fs-prod-cta .fs-btn-wrap--block-mobile .fs-btn {
		flex: 1 1 auto;
	}

	body.fs-site .fs-prod-cta__title,
	body.fs-site .row .col .fs-prod-cta__title {
		font-size: 28px;
		line-height: 1.1;
		letter-spacing: -.03em;
	}
}
