/* Keep the landing headline readable inside constrained WordPress content columns. */
html:has(body.flnq-dark-page),
body.flnq-dark-page,
body.flnq-dark-page #page,
body.flnq-dark-page #content,
body.flnq-dark-page .site,
body.flnq-dark-page .site-content,
body.flnq-dark-page .content-area,
body.flnq-dark-page .site-main,
body.flnq-dark-page article,
body.flnq-dark-page .entry-content,
.flnq,
.flnq__quiz,
.flnq__result {
	background: #071426 !important;
	color: #f8f2e7 !important;
}

/* Stay inside the theme column; stack the hero so it never drifts off-screen. */
.flnq {
	width: 100%;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	overflow-x: hidden;
}

.flnq__landing {
	grid-template-columns: 1fr;
}

.flnq__landing-art {
	min-height: clamp(320px, 52vw, 620px);
}

/* Keep question copy wide and readable inside the theme's article column. */
.flnq__question-layout {
	grid-template-columns: 1fr !important;
	width: 100%;
}

.flnq__question-card h2 {
	max-width: none !important;
	font-size: clamp(1.75rem, 3.4vw, 2.8rem);
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.flnq__question-art {
	min-height: clamp(300px, 50vw, 540px);
}

/* Keep the complete result experience inside narrow article templates. */
.flnq__result {
	width: 100%;
	max-width: 100% !important;
	overflow-x: hidden;
}

.flnq__result-layout {
	grid-template-columns: minmax(0, 1fr) !important;
	width: 100%;
	max-width: 900px;
}

.flnq__portrait,
.flnq__story,
.flnq__conversion,
.flnq__conversion-grid,
.flnq__action,
.flnq__share {
	min-width: 0;
	max-width: 100%;
}

.flnq__portrait {
	min-height: clamp(480px, 72vw, 700px);
}

.flnq__portrait h2 {
	max-width: 14ch;
	font-size: clamp(2.35rem, 7vw, 4.8rem);
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

.flnq__conversion-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flnq__action {
	overflow-wrap: break-word;
}

.flnq__share {
	margin: 28px 0;
	padding: clamp(18px, 3vw, 28px);
	border: 1px solid rgba(202, 168, 93, .55);
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(202, 168, 93, .12), rgba(36, 90, 166, .12));
	box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
}

.flnq__share h3 {
	margin: .15em 0 .45em;
	font-size: clamp(2rem, 5vw, 3.5rem);
}

.flnq__share img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 630;
	object-fit: cover;
	border: 1px solid rgba(202, 168, 93, .5);
	border-radius: 14px;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .35);
}

.flnq__share-buttons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.flnq__share-button {
	display: grid;
	place-items: center;
	min-height: 58px;
	padding: 13px 16px;
	border: 0;
	border-radius: 10px;
	color: #fff !important;
	font-weight: 900;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}

.flnq__share-button--x { background: #050505; }
.flnq__share-button--facebook { background: #1877f2; }
.flnq__share-button--copy { background: #c93840; }
.flnq__share-note { margin: 12px 0 0; color: #cdd5df; font-size: .86rem; }

@media (max-width: 640px) {
	.flnq__conversion-grid,
	.flnq__traits,
	.flnq__share-buttons {
		grid-template-columns: minmax(0, 1fr);
	}
}

.flnq__question-card h2,
.flnq__story h3,
.flnq__conversion h3,
.flnq__form h3,
.flnq__share h3 {
	color: #f8f2e7 !important;
}

.flnq__question-card .flnq__context,
.flnq__progress-meta,
.flnq__story,
.flnq__form,
.flnq__delivery-note {
	color: #cdd5df !important;
}

.flnq__answer,
.flnq__action,
.flnq__form,
.flnq__notice,
.flnq__traits > div {
	background: #102844 !important;
	color: #f8f2e7 !important;
	border-color: #38516f !important;
}

.flnq__form input,
.flnq__form select,
.flnq__form textarea {
	background: #071426 !important;
	color: #f8f2e7 !important;
	border-color: #526985 !important;
}

.flnq__button--secondary {
	color: #f8f2e7 !important;
}

.flnq__progress {
	background: #38516f !important;
}

.flnq__landing-copy {
	min-width: 0;
}

.flnq__landing h1 {
	max-width: 17ch;
	font-size: clamp(2.35rem, 4.25vw, 4.75rem);
	line-height: 1.04;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-wrap: balance;
}

@media (max-width: 1100px) and (min-width: 851px) {
	.flnq__landing {
		grid-template-columns: 1fr;
	}

	.flnq__landing h1 {
		font-size: clamp(2.35rem, 4.8vw, 3.75rem);
	}
}

@media (max-width: 850px) {
	.flnq__landing h1 {
		max-width: 100%;
		font-size: clamp(2.15rem, 10vw, 3.35rem);
		line-height: 1.02;
	}
}
