/* =================================================================
   Fertility Quiz — frontend
   Brand palette: #f6ede9 cream / #650000 deep red / #2a1009 dark
   Mobile-first, accessible, smooth transitions.
   ================================================================= */

.fq-quiz-root {
	--fq-cream: #f6ede9;
	--fq-cream-2: #efe2db;
	--fq-red: #650000;
	--fq-red-hover: #4d0000;
	--fq-dark: #2a1009;
	--fq-muted: #7a6962;
	--fq-border: #e0d2cb;
	--fq-radius: 14px;
	--fq-radius-sm: 8px;
	--fq-shadow: 0 8px 30px rgba(42, 16, 9, 0.08);
	--fq-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-family: var(--fq-font);
	color: var(--fq-dark);
	max-width: 720px;
	margin: 0 auto;
	box-sizing: border-box;
}
.fq-quiz-root *, .fq-quiz-root *::before, .fq-quiz-root *::after { box-sizing: border-box; }

.fq-quiz {
	background: var(--fq-cream);
	border-radius: var(--fq-radius);
	padding: 28px 24px;
	box-shadow: var(--fq-shadow);
}

/* ========================= Progress ========================= */
.fq-progress {
	height: 8px;
	background: var(--fq-cream-2);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 6px;
	position: relative;
}
.fq-progress__bar {
	height: 100%;
	background: linear-gradient(90deg, var(--fq-red) 0%, var(--fq-dark) 100%);
	border-radius: 999px;
	transition: width 360ms cubic-bezier(.4,.1,.3,1);
	width: 0%;
}
.fq-progress__label {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 8px 0 18px;
	min-height: 20px;
}
.fq-progress__pct {
	font-size: 16px;
	font-weight: 700;
	color: var(--fq-red);
	letter-spacing: 0.2px;
}
.fq-progress__steps {
	font-size: 13px;
	color: var(--fq-muted);
	margin-left: auto;
}

/* ========================= Stage / steps ========================= */
.fq-stage {
	min-height: 220px;
	padding: 8px 0;
}
.fq-stage--enter .fq-step {
	animation: fq-slide-in 360ms cubic-bezier(.4,.1,.3,1) both;
}
@keyframes fq-slide-in {
	from { opacity: 0; transform: translateX(20px); }
	to   { opacity: 1; transform: translateX(0); }
}

.fq-title {
	font-size: 26px;
	font-weight: 700;
	color: var(--fq-dark);
	margin: 0 0 12px;
	line-height: 1.2;
}
.fq-intro { font-size: 16px; color: var(--fq-dark); line-height: 1.6; }
.fq-intro p:last-child { margin-bottom: 0; }

.fq-question-label {
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 8px;
	line-height: 1.3;
}
.fq-required { color: var(--fq-red); }
.fq-help { color: var(--fq-muted); margin: 0 0 20px; font-size: 14px; }

/* Help tooltip (info icon next to question label) */
.fq-help-tip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: transparent;
	border: 0;
	padding: 0;
	margin-left: 8px;
	cursor: pointer;
	vertical-align: middle;
	font: inherit;
	line-height: 1;
}
.fq-help-tip__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--fq-cream-2, #f0e3dd);
	color: var(--fq-dark, #2a1009);
	font-size: 13px;
	font-weight: 700;
	font-style: italic;
	font-family: Georgia, serif;
	transition: background 150ms;
}
.fq-help-tip:hover .fq-help-tip__icon,
.fq-help-tip.is-open .fq-help-tip__icon {
	background: var(--fq-red, #650000);
	color: #fff;
}
.fq-help-tip__bubble {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(-50%);
	min-width: 240px;
	max-width: 320px;
	background: #2a1009;
	color: #fff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	padding: 10px 12px;
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.18);
	opacity: 0;
	visibility: hidden;
	transition: opacity 150ms, visibility 150ms;
	z-index: 20;
	white-space: normal;
	text-align: left;
	pointer-events: none;
}
.fq-help-tip__bubble::after {
	content: '';
	position: absolute;
	top: 100%; left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #2a1009;
}
.fq-help-tip:hover .fq-help-tip__bubble,
.fq-help-tip.is-open .fq-help-tip__bubble {
	opacity: 1;
	visibility: visible;
}
@media (max-width: 540px) {
	.fq-help-tip__bubble {
		min-width: 200px;
		max-width: 80vw;
		left: auto;
		right: 0;
		transform: none;
	}
	.fq-help-tip__bubble::after { left: auto; right: 8px; transform: none; }
}

/* ========================= Options ========================= */
.fq-options { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.fq-options--row { flex-direction: row; gap: 12px; }
.fq-options--row .fq-option-card { flex: 1; }

.fq-option-card {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 2px solid var(--fq-border);
	border-radius: var(--fq-radius-sm);
	padding: 14px 16px;
	cursor: pointer;
	transition: border-color 180ms, background 180ms, transform 120ms;
	font-size: 16px;
	user-select: none;
}
.fq-option-card:hover { border-color: var(--fq-red); }
.fq-option-card:active { transform: scale(0.99); }
.fq-option-card input[type=radio],
.fq-option-card input[type=checkbox] {
	accent-color: var(--fq-red);
	width: 20px; height: 20px;
	flex-shrink: 0;
}
.fq-option-card:has(input:checked) {
	border-color: var(--fq-red);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(101, 0, 0, 0.12);
}
.fq-option-card span { flex: 1; }

/* ========================= Scale (discrete buttons 1-N) ========================= */
.fq-scale-grid {
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	gap: 6px;
	margin: 12px 0 8px;
}
.fq-scale-btn {
	font: inherit;
	cursor: pointer;
	background: #fff;
	border: 2px solid var(--fq-border);
	border-radius: var(--fq-radius-sm);
	padding: 14px 0;
	font-size: 17px;
	font-weight: 600;
	color: var(--fq-dark);
	transition: all 160ms;
	user-select: none;
}
.fq-scale-btn:hover { border-color: var(--fq-red); color: var(--fq-red); }
.fq-scale-btn.is-selected {
	background: var(--fq-red);
	border-color: var(--fq-red);
	color: #fff;
	box-shadow: 0 0 0 3px rgba(101, 0, 0, 0.12);
}
.fq-scale-hint {
	display: flex; justify-content: space-between;
	font-size: 13px; color: var(--fq-muted);
	padding: 0 6px;
}
.fq-scale-hint span { color: var(--fq-border); }
@media (max-width: 640px) {
	.fq-scale-grid { grid-template-columns: repeat(5, 1fr); }
	.fq-scale-btn { padding: 12px 0; font-size: 15px; }
}

/* ========================= Inputs / contact ========================= */
.fq-input,
.fq-field input[type=text],
.fq-field input[type=email],
.fq-field input[type=tel],
.fq-field input[type=date],
.fq-field textarea {
	width: 100%;
	border: 2px solid var(--fq-border);
	border-radius: var(--fq-radius-sm);
	padding: 12px 14px;
	font-size: 16px;
	font-family: inherit;
	background: #fff;
	color: var(--fq-dark);
	transition: border-color 180ms;
}
.fq-input:focus,
.fq-field input:focus,
.fq-field textarea:focus {
	outline: none;
	border-color: var(--fq-red);
	box-shadow: 0 0 0 3px rgba(101, 0, 0, 0.12);
}

.fq-field { display: block; margin-bottom: 14px; }
.fq-field > span { display: block; font-size: 14px; color: var(--fq-muted); margin-bottom: 6px; }

.fq-contact-intro { color: var(--fq-muted); margin: 0 0 16px; font-size: 14px; }
.fq-contact-fields {
	display: flex; flex-direction: column; gap: 10px;
	margin-bottom: 14px;
}
.fq-contact-fields .fq-input { padding: 12px 14px; }
.fq-contact-fields .fq-input::placeholder { color: var(--fq-muted); opacity: 0.85; }

.fq-field--check {
	display: flex; gap: 12px; align-items: flex-start; padding: 12px;
	background: #fff; border-radius: var(--fq-radius-sm); border: 2px solid var(--fq-border);
	font-size: 14px; line-height: 1.4; color: var(--fq-dark);
	cursor: pointer;
}
.fq-field--check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--fq-red); flex-shrink: 0; }
.fq-field--check a { color: var(--fq-red); text-decoration: underline; }

.fq-honeypot { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; }

/* ========================= Buttons / nav ========================= */
.fq-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 24px; }
.fq-nav[hidden] { display: none !important; }
.fq-nav [data-action="next"] { margin-left: auto; }

.fq-btn {
	font: inherit;
	cursor: pointer;
	border-radius: var(--fq-radius-sm);
	padding: 14px 28px;
	font-size: 16px;
	font-weight: 600;
	border: 2px solid transparent;
	transition: background 180ms, border-color 180ms, transform 120ms, box-shadow 180ms;
	display: inline-flex; align-items: center; gap: 8px;
	text-decoration: none;
}
.fq-btn:focus-visible { outline: 3px solid rgba(101, 0, 0, 0.4); outline-offset: 2px; }
.fq-btn:active:not(:disabled) { transform: translateY(1px); }
.fq-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.fq-btn--primary {
	background: var(--fq-red);
	color: #fff;
	border-color: var(--fq-red);
}
.fq-btn--primary:hover { background: var(--fq-red-hover); border-color: var(--fq-red-hover); }

.fq-btn--ghost {
	background: transparent;
	color: var(--fq-dark);
	border-color: var(--fq-border);
}
.fq-btn--ghost:hover { border-color: var(--fq-dark); }

/* ========================= Result ========================= */
.fq-step--result { text-align: left; }
.fq-step--result h2,
.fq-step--result h3 { text-align: left; }
.fq-result__image { margin: 0 auto 20px; max-width: 280px; }
.fq-result__image img { width: 100%; height: auto; border-radius: var(--fq-radius-sm); }
.fq-result__label {
	font-size: 28px; font-weight: 700; color: var(--fq-red);
	margin: 8px 0 10px; line-height: 1.2;
}
.fq-result__score { color: var(--fq-muted); font-size: 16px; margin-bottom: 16px; }
.fq-result__text {
	font-size: 16px; line-height: 1.6; color: var(--fq-dark);
	max-width: 560px; margin: 0 auto 20px; text-align: left;
}
.fq-result__text p:first-child { margin-top: 0; }
.fq-result__text p:last-child { margin-bottom: 0; }

.fq-result__summary {
	font-size: 16px; line-height: 1.6; color: var(--fq-dark);
	max-width: 560px; margin: 0 auto 14px; text-align: left;
	background: #fff; border: 1px solid var(--fq-border);
	border-radius: var(--fq-radius-sm); padding: 16px 18px;
}
.fq-result__hint {
	font-size: 14px; color: var(--fq-muted);
	margin: 0 0 18px; text-align: left;
	font-style: italic;
}
.fq-result__cta {
	margin: 0 auto 8px; max-width: 560px; text-align: left;
}
.fq-result__cta .fq-btn { padding: 13px 26px; }

/* ========================= Booking ========================= */
.fq-booking {
	margin-top: 28px; padding-top: 24px;
	border-top: 1px solid var(--fq-border);
	text-align: left;
}
.fq-booking h3 { font-size: 20px; margin: 0 0 16px; color: var(--fq-dark); }

.fq-slot-day { margin-bottom: 18px; }
.fq-slot-day h4 {
	font-size: 14px; text-transform: capitalize;
	color: var(--fq-muted); font-weight: 600;
	margin: 0 0 10px;
}
.fq-slot-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 8px;
}
.fq-slot {
	font: inherit; cursor: pointer;
	background: #fff;
	border: 2px solid var(--fq-border);
	border-radius: var(--fq-radius-sm);
	padding: 10px 12px;
	font-size: 15px; font-weight: 600;
	color: var(--fq-dark);
	transition: all 160ms;
}
.fq-slot:hover { border-color: var(--fq-red); color: var(--fq-red); }
.fq-slot:focus-visible { outline: 3px solid rgba(101, 0, 0, 0.4); outline-offset: 2px; }

.fq-confirmation {
	background: #fff; border: 2px solid var(--fq-red); border-radius: var(--fq-radius-sm);
	padding: 18px; text-align: center; color: var(--fq-dark);
}
.fq-confirmation strong { color: var(--fq-red); font-size: 18px; }

.fq-loading { color: var(--fq-muted); font-style: italic; }
.fq-error, .fq-error-msg {
	color: var(--fq-red); font-size: 14px;
	min-height: 18px;
	margin-top: 12px;
}

/* ========================= Mobile tweaks ========================= */
@media (max-width: 640px) {
	.fq-quiz { padding: 20px 16px; border-radius: 0; }
	.fq-title { font-size: 22px; }
	.fq-question-label { font-size: 19px; }
	.fq-btn { padding: 12px 20px; font-size: 15px; }
	.fq-options--row { flex-direction: column; }
	.fq-result__label { font-size: 24px; }
	.fq-slot-grid { grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); }
}

/* ========================= Inline help (replaces tooltip) ========================= */
.fq-q-help-inline {
	background: var(--fq-cream-2, #f7eee9);
	border-left: 3px solid var(--fq-red, #650000);
	padding: 12px 14px;
	border-radius: 6px;
	color: var(--fq-dark, #2a1009);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 16px;
}
.fq-multi-hint {
	font-size: 13px;
	color: var(--fq-muted, #7a6660);
	margin: 0 0 10px;
	font-style: italic;
}

/* ========================= Info step (mid-quiz explanation) ========================= */
.fq-step--info .fq-info-title {
	font-size: 22px;
	font-weight: 600;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 16px;
	line-height: 1.3;
}
.fq-info-content {
	background: var(--fq-cream-2, #f7eee9);
	border-left: 3px solid var(--fq-red, #650000);
	padding: 18px 20px;
	border-radius: 8px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--fq-dark, #2a1009);
}
.fq-info-content p:first-child { margin-top: 0; }
.fq-info-content p:last-child { margin-bottom: 0; }

/* ========================= Per-category results ========================= */
.fq-result__title {
	font-size: 26px;
	font-weight: 600;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 20px;
	text-align: left;
}
.fq-result__categories {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0 0 22px;
}
.fq-result__category {
	background: #fff;
	border: 1px solid var(--fq-border, #e8d8d2);
	border-radius: 10px;
	padding: 20px 22px;
	text-align: left;
}
.fq-result__cat-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
	flex-wrap: wrap;
}
.fq-result__cat-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--fq-dark, #2a1009);
	margin: 0;
}
.fq-result__cat-badge {
	display: inline-block;
	background: var(--fq-red, #650000);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}
.fq-result__cat-image { max-width: 200px; margin: 0 0 12px; }
.fq-result__cat-image img { width: 100%; height: auto; border-radius: 6px; }
.fq-result__cat-score {
	color: var(--fq-muted, #7a6660);
	font-size: 14px;
	margin: 0 0 10px;
}
.fq-result__cat-summary {
	font-size: 15px;
	line-height: 1.55;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 12px;
}
.fq-result__cat-cta { margin: 12px 0 0; }
.fq-result__cat-cta .fq-btn { padding: 10px 18px; font-size: 14px; }
@media (max-width: 640px) {
	.fq-result__title { font-size: 22px; }
	.fq-result__category { padding: 16px 16px; }
}

/* ========================= Result accordion (v1.2) ========================= */
/* Phase card on top (no dot). Score cards below as collapsible accordion items, one open at a time. */
.fq-result__phase {
	background: #fff;
	border: 1px solid var(--fq-border, #e8d8d2);
	border-left: 4px solid var(--fq-red, #650000);
	border-radius: 10px;
	padding: 22px 24px;
	margin: 0 0 22px;
	text-align: left;
}
.fq-result__phase-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--fq-red, #650000);
	margin: 0 0 12px;
	line-height: 1.3;
}
.fq-result__phase-text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--fq-dark, #2a1009);
	text-align: left;
}
.fq-result__phase-text p { text-align: left; margin: 0 0 12px; }
.fq-result__phase-text p:first-child { margin-top: 0; }
.fq-result__phase-text p:last-child { margin-bottom: 0; }

.fq-acc {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 22px;
}
.fq-acc-item {
	background: #fff;
	border: 1px solid var(--fq-border, #e8d8d2);
	border-radius: 10px;
	overflow: hidden;
	transition: box-shadow 180ms;
}
.fq-acc-item.is-open {
	box-shadow: 0 6px 20px rgba(42, 16, 9, 0.08);
	border-color: var(--fq-red, #650000);
}
.fq-acc__head {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	background: transparent;
	border: 0;
	padding: 16px 18px;
	cursor: pointer;
	font: inherit;
	text-align: left;
	color: var(--fq-dark, #2a1009);
}
.fq-acc__head:hover { background: #ffffff; }
.fq-acc__head:focus-visible {
	outline: 3px solid rgba(101, 0, 0, 0.35);
	outline-offset: -3px;
}
.fq-acc__dot {
	display: inline-block;
	width: 16px; height: 16px;
	border-radius: 50%;
	flex-shrink: 0;
	background: #c9c2bd;
	box-shadow: inset 0 0 0 2px rgba(255,255,255,0.4);
}
.fq-acc-item.is-green  .fq-acc__dot { background: #3ea864; }
.fq-acc-item.is-orange .fq-acc__dot { background: #e8a23a; }
.fq-acc-item.is-red    .fq-acc__dot { background: #c84a3a; }

.fq-acc__title {
	flex: 1;
	font-size: 16px;
	font-weight: 600;
	color: var(--fq-dark, #2a1009);
}
.fq-acc__badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--fq-cream-2, #efe2db);
	color: var(--fq-dark, #2a1009);
	white-space: nowrap;
}
.fq-acc-item.is-green  .fq-acc__badge { background: #e1f1e7; color: #1f6b3c; }
.fq-acc-item.is-orange .fq-acc__badge { background: #fbeed3; color: #7d4b08; }
.fq-acc-item.is-red    .fq-acc__badge { background: #f7dcd6; color: #7f2418; }

.fq-acc__score {
	font-size: 13px;
	color: var(--fq-muted, #7a6660);
	margin-left: 4px;
}
.fq-acc__chevron {
	width: 12px; height: 12px;
	border-right: 2px solid var(--fq-dark, #2a1009);
	border-bottom: 2px solid var(--fq-dark, #2a1009);
	transform: rotate(45deg);
	margin-left: 8px;
	transition: transform 200ms ease;
	flex-shrink: 0;
}
.fq-acc-item.is-open .fq-acc__chevron { transform: rotate(-135deg); }

.fq-acc__panel {
	padding: 0 18px 18px;
	border-top: 1px solid var(--fq-border, #e8d8d2);
	background: #ffffff;
}
.fq-acc__body {
	font-size: 15px;
	line-height: 1.6;
	color: var(--fq-dark, #2a1009);
	padding: 14px 0 0;
}
.fq-acc__body p:first-child { margin-top: 0; }
.fq-acc__body p:last-child  { margin-bottom: 0; }
.fq-acc__cta { margin: 14px 0 0; text-align: left; }
.fq-acc__cta .fq-btn { padding: 11px 22px; font-size: 14px; }
/* Force white text on the primary CTA inside accordion bodies — overrides any WP-theme
   "a" color rules that would otherwise turn the label dark against the red background. */
.fq-acc__cta a.fq-btn,
.fq-acc__cta a.fq-btn:hover,
.fq-acc__cta a.fq-btn:visited,
.fq-acc__cta a.fq-btn:focus,
.fq-acc__cta .fq-btn--primary {
	color: #ffffff !important;
	background: var(--fq-red, #650000) !important;
	border-color: var(--fq-red, #650000) !important;
	text-decoration: none !important;
}
.fq-acc__cta a.fq-btn:hover { background: var(--fq-red-hover, #4d0000) !important; border-color: var(--fq-red-hover, #4d0000) !important; }
.fq-acc__body { text-align: left; }
.fq-acc__body p { text-align: left; margin: 0 0 12px; }
.fq-acc__body p:last-child { margin-bottom: 0; }

@media (max-width: 640px) {
	.fq-acc__head { padding: 14px 14px; gap: 10px; flex-wrap: wrap; }
	.fq-acc__title { flex-basis: 100%; order: 1; margin-bottom: 4px; }
	.fq-acc__dot { order: 0; }
	.fq-acc__badge { order: 2; }
	.fq-acc__score { order: 3; }
	.fq-acc__chevron { order: 4; margin-left: auto; }
}

/* ========================= Reduced motion ========================= */
@media (prefers-reduced-motion: reduce) {
	.fq-stage--enter .fq-step { animation: none; }
	.fq-progress__bar { transition: none; }
	.fq-acc__chevron { transition: none; }
}

/* === v1.3.2: submit spinner === */
@keyframes fq-spin { to { transform: rotate(360deg); } }
.fq-submit-error { animation: fq-shake 0.4s; }
@keyframes fq-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-4px); }
	75% { transform: translateX(4px); }
}


/* === v1.3.14: input field-error highlight + spinner === */
.fq-input-error {
	border-color: #b54040 !important;
	box-shadow: 0 0 0 3px rgba(181, 64, 64, 0.12) !important;
	background: #fff8f8 !important;
}


/* ========================= v1.4: Thank-you screen + share buttons ========================= */
.fq-step--thanks { text-align: left; }
.fq-thanks__title {
	font-size: 26px;
	font-weight: 700;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 14px;
	line-height: 1.3;
}
.fq-thanks__lead {
	font-size: 17px;
	line-height: 1.55;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 14px;
}
.fq-thanks__lead strong { color: var(--fq-red, #650000); }
.fq-thanks__spam-note {
	background: #ffffff;
	border: 1px solid var(--fq-border, #e8d8d2);
	border-left: 3px solid var(--fq-red, #650000);
	border-radius: 8px;
	padding: 13px 16px;
	font-size: 14px;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 28px;
	line-height: 1.55;
}
.fq-thanks__spam-note strong { color: var(--fq-red, #650000); }
.fq-thanks__spam-note em { font-style: normal; font-weight: 700; }

.fq-share {
	background: #fff;
	border: 1px solid var(--fq-border, #e8d8d2);
	border-radius: 10px;
	padding: 22px 24px;
	margin: 0 0 28px;
}
.fq-share__title {
	font-size: 19px;
	font-weight: 700;
	color: var(--fq-dark, #2a1009);
	margin: 0 0 8px;
}
.fq-share__intro {
	font-size: 14px;
	line-height: 1.55;
	color: var(--fq-muted, #7a6660);
	margin: 0 0 16px;
}
.fq-share__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 12px;
}
/* Uniform share buttons — one brand style for all three (no rainbow). */
.fq-btn--share,
.fq-btn--share-wa,
.fq-btn--share-mail,
.fq-btn--share-copy {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: #ffffff !important;
	color: var(--fq-dark, #2a1009) !important;
	border: 2px solid var(--fq-border, #e8d8d2) !important;
	padding: 12px 18px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none !important;
	cursor: pointer;
	transition: all 160ms;
}
.fq-btn--share:hover,
.fq-btn--share-wa:hover,
.fq-btn--share-mail:hover,
.fq-btn--share-copy:hover {
	background: var(--fq-red, #650000) !important;
	border-color: var(--fq-red, #650000) !important;
	color: #ffffff !important;
}
.fq-share__icon { font-size: 17px; line-height: 1; }
.fq-share__url-line {
	margin: 8px 0 0;
	color: var(--fq-muted, #7a6660);
	font-size: 12px;
	word-break: break-all;
}
.fq-share__url-line code {
	background: var(--fq-cream-2, #efe2db);
	padding: 2px 6px;
	border-radius: 3px;
	font-family: monospace;
}

.fq-thanks__cta {
	background: var(--fq-cream-2, #efe2db);
	border-radius: 10px;
	padding: 22px 24px;
	text-align: left;
}
.fq-thanks__cta p {
	margin: 0 0 14px;
	font-size: 15px;
	color: var(--fq-dark, #2a1009);
}
.fq-btn--cta-large {
	padding: 14px 28px !important;
	font-size: 16px !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

@media (max-width: 540px) {
	.fq-share__buttons { flex-direction: column; }
	.fq-btn--share { width: 100%; justify-content: center; }
}
