.fara-consent {
	position: fixed;
	z-index: 100000;
	inset: auto 16px calc(16px + env(safe-area-inset-bottom, 0px)) 16px;
	max-width: 880px;
	margin-inline: auto;
	max-height: calc(100vh - 32px);
	overflow: auto;
	background: #fff;
	color: #221519;
	border: 2px solid #5A1530;
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(34, 21, 25, 0.28);
	font-family: var(--wp--preset--font-family--body, system-ui, sans-serif);
	font-size: 1rem;
	line-height: 1.55;
}
.fara-consent[hidden] { display: none; }
.fara-consent__inner { padding: 20px 24px; display: grid; gap: 12px; }
.fara-consent__title { margin: 0; font-size: 1.25rem; font-family: var(--wp--preset--font-family--display, Georgia, serif); color: #221519; }
.fara-consent__title:focus { outline: 3px solid #5A1530; outline-offset: 3px; }
.fara-consent__text { margin: 0; }
.fara-consent a { color: #8E1D3B; text-decoration: underline; }
.fara-consent fieldset { border: 1px solid #EADFD2; border-radius: 12px; padding: 12px 16px; margin: 0; display: grid; gap: 10px; }
.fara-consent legend { font-weight: 700; padding: 0 6px; }
.fara-consent__opt { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: start; }
.fara-consent__opt input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: #AE2448; }
.fara-consent__opt label { font-weight: 600; }
.fara-consent__opt p { grid-column: 2; margin: 0; font-size: 0.9rem; color: #4E3F43; }
.fara-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fara-consent__btn {
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	border: 2px solid #AE2448;
}
.fara-consent__btn.is-primary { background: #AE2448; color: #fff; }
.fara-consent__btn.is-secondary { background: #fff; color: #8E1D3B; }
.fara-consent__btn:hover { background: #8E1D3B; border-color: #8E1D3B; color: #fff; }
.fara-consent__btn:focus-visible { outline: 3px solid #5A1530; outline-offset: 2px; }
.fara-consent__btn[hidden] { display: none; }

.fara-embed-gate {
	display: grid;
	gap: 12px;
	justify-items: start;
	padding: 24px;
	background: #F1E7DA;
	color: #221519;
	border-radius: 12px;
	aspect-ratio: 16 / 9;
	align-content: center;
	max-width: 100%;
}
.fara-embed-gate p { margin: 0; max-width: 46ch; }

@media (max-width: 600px) {
	.fara-consent__inner { padding: 16px; }
	.fara-consent__btn { flex: 1 1 100%; }
	.fara-embed-gate { aspect-ratio: auto; }
}
@media (prefers-color-scheme: dark) {
	/* The theme is light-only; keep the banner readable regardless of OS theme. */
}
