/**
 * Bharat Ratna Poll – Frontend (Perspective Orange — lite, validated)
 */

.brp-poll {
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
	--brp-saffron: #FF671F;
	--brp-green: #046A38;
	--brp-text: #1a1a2e;
	--brp-muted: #6b7280;
	--brp-border: #e5e7eb;
	color: var(--brp-text);
	line-height: 1.45;
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}
.brp-poll *,
.brp-poll *::before,
.brp-poll *::after { box-sizing: border-box; }

.brp-req { color: #dc2626; }

.brp-input,
.brp-select,
.brp-layout-perspective-orange select,
.brp-layout-perspective-flat select {
	width: 100%;
	height: 44px;
	padding: 0 0.85rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	font-size: 0.88rem;
	background: #f8fafc;
	color: #0f172a;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.brp-select,
.brp-layout-perspective-orange select,
.brp-layout-perspective-flat select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 2.1rem;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EA580C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	background-size: 15px;
}
.brp-input:focus,
.brp-select:focus,
.brp-layout-perspective-orange select:focus,
.brp-layout-perspective-flat select:focus {
	outline: none;
	background: #fff;
	border-color: #EA580C;
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.18);
}

/* Match empty select placeholder text color */
.brp-layout-perspective-orange select:invalid,
.brp-layout-perspective-orange select.brp-placeholder,
.brp-layout-perspective-flat select:invalid,
.brp-layout-perspective-flat select.brp-placeholder {
	color: #94a3b8;
}
.brp-layout-perspective-orange select option,
.brp-layout-perspective-flat select option {
	color: #0f172a;
}


/* Field icons */
.brp-layout-perspective-orange .brp-field-input-wrap,
.brp-layout-perspective-flat .brp-field-input-wrap { position: relative; }
.brp-layout-perspective-orange .brp-field-icon,
.brp-layout-perspective-flat .brp-field-icon {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: #94a3b8;
	pointer-events: none;
	transition: color 0.15s ease;
	z-index: 1;
}
.brp-layout-perspective-orange .brp-field-check,
.brp-layout-perspective-flat .brp-field-check {
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: #16a34a;
	opacity: 0;
	transition: opacity 0.15s ease;
	pointer-events: none;
}
.brp-layout-perspective-orange .brp-input.brp-has-icon,
.brp-layout-perspective-orange .brp-select.brp-has-icon,
.brp-layout-perspective-flat .brp-input.brp-has-icon,
.brp-layout-perspective-flat .brp-select.brp-has-icon {
	padding-left: 2.35rem;
}
.brp-layout-perspective-orange .brp-field-input-wrap:has(.brp-select.brp-has-icon) .brp-field-check,
.brp-layout-perspective-flat .brp-field-input-wrap:has(.brp-select.brp-has-icon) .brp-field-check {
	right: 2.15rem;
}
.brp-layout-perspective-orange .brp-field-input-wrap:has(.brp-has-value) .brp-field-icon,
.brp-layout-perspective-flat .brp-field-input-wrap:has(.brp-has-value) .brp-field-icon { color: #16a34a; }
.brp-layout-perspective-orange .brp-field-input-wrap:has(.brp-has-value) .brp-field-check,
.brp-layout-perspective-flat .brp-field-input-wrap:has(.brp-has-value) .brp-field-check { opacity: 1; }

/* Validation */
.brp-field-error {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
	background-color: #fef2f2 !important;
}
.brp-pc-stances.brp-field-error {
	border-radius: 14px;
	box-shadow: 0 0 0 2px #dc2626;
}
.brp-turnstile-wrap.brp-field-error {
	box-shadow: 0 0 0 2px #dc2626;
	border-radius: 8px;
	padding: 0.25rem;
}
.brp-field-error-msg {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: #dc2626;
	line-height: 1.3;
}
.brp-msg-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c;
	border-radius: 8px;
	padding: 0.55rem 0.75rem;
	font-size: 0.85rem;
	margin: 0.5rem 0 0;
}
.brp-msg-success {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #047857;
	border-radius: 8px;
	padding: 0.55rem 0.75rem;
}

/* Share */
.brp-share { width: 100%; max-width: 460px; margin: 0.5rem auto 0; }
.brp-share-heading {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	text-align: left;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: #64748b;
	margin: 0 0 0.7rem;
}
.brp-share-heading::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #e2e8f0;
}
.brp-share-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 0.35rem;
}
.brp-share-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
	border: 1px solid #e2e8f0;
	background: #fff;
	border-radius: 10px;
	padding: 0.45rem 0.25rem;
	cursor: pointer;
	font-size: 0.65rem;
	color: #334155;
}
.brp-share-btn:hover { border-color: #cbd5e1; background: #f8fafc; }
.brp-share-icon { display: flex; align-items: center; justify-content: center; }
.brp-share-icon svg { width: 18px; height: 18px; }
.brp-share-label { font-weight: 600; }
.brp-share-toast {
	text-align: center;
	font-size: 0.75rem;
	color: #047857;
	margin-top: 0.4rem;
}

/* ==========================================================================
   Perspective Orange
   ========================================================================== */
.brp-layout-perspective-orange {
	--pc-orange: #EA580C;
	--pc-orange-hover: #c2410c;
	--pc-green: #16a34a;
	--pc-red: #dc2626;
	--pc-border: #c5d0e0;
	--pc-text: #0f172a;
	--pc-muted: #64748b;
	--brp-form-width: 560px;
	--brp-form-min-height: auto;
	max-width: var(--brp-form-width);
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--pc-text);
}

.brp-layout-perspective-orange .brp-pc-card {
	background: #FFFCF5;
	border: 1.5px solid var(--pc-border);
	border-radius: 18px;
	box-shadow:
		0 1px 3px rgba(15, 23, 42, 0.05),
		0 4px 12px rgba(15, 23, 42, 0.06);
	padding: 0 0 1.35rem;
	position: relative;
	overflow: hidden;
	min-height: var(--brp-form-min-height);
	width: 100%;
	margin: 0;
}

.brp-layout-perspective-orange .brp-pc-header-dark {
	margin: 0;
	padding: 1rem 1.85rem 0.95rem;
	background: #0F172A;
	border-radius: 18px 18px 0 0;
	position: relative;
	overflow: hidden;
}
.brp-layout-perspective-orange .brp-pc-header-dark::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, #334155, #64748b, #334155);
}
.brp-layout-perspective-orange .brp-pc-header-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}
/* Shrink-wrap so the underline matches the exact text width of the heading */
.brp-layout-perspective-orange .brp-pc-header-left {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	width: max-content;
	max-width: 100%;
	min-width: 0;
}
.brp-layout-perspective-orange .brp-pc-header-dark .brp-pc-title {
	margin: 0;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.25;
	color: #ffffff;
	text-align: left;
	width: max-content;
	max-width: 100%;
}
.brp-layout-perspective-orange .brp-pc-title-underline {
	display: block;
	width: 100%; /* exactly matches "Cast Your Vote" (parent is max-content) */
	height: 3.5px;
	margin: 0.18rem 0 0;
	border-radius: 3px;
	background: #ffffff;
	box-shadow: none;
	transform-origin: left center; /* expands from start of title text */
	animation: brp-title-underline-expand 2.4s ease-in-out infinite;
}
@keyframes brp-title-underline-expand {
	0%, 100% { transform: scaleX(0.55); opacity: 0.75; }
	50%      { transform: scaleX(1);    opacity: 1; }
}
.brp-layout-perspective-orange .brp-pc-verified {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex-shrink: 0;
	margin-top: 0.15rem;
	padding: 0.28rem 0.75rem;
	border-radius: 999px;
	background: transparent;
	border: 2px solid #34d399;
	color: #34d399;
	font-size: 0.72rem;
	font-weight: 600;
	box-shadow: none;
	text-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-verified-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #10b981;
	color: #fff;
	font-size: 0.55rem;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
	text-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-tagline { display: none; }

.brp-layout-perspective-orange .brp-pc-form { padding: 0 1.15rem; }

.brp-layout-perspective-orange .brp-pc-intro {
	margin: 1rem 0 1.1rem;
	text-align: left;
}
.brp-layout-perspective-orange .brp-pc-poll-title {
	margin: 0 0 0.15rem;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1.28rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #0f172a;
	line-height: 1.3;
	text-align: left;
}
.brp-layout-perspective-orange .brp-pc-poll-q {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
	color: #64748b;
	font-weight: 400;
	text-align: left;
}

.brp-layout-perspective-orange .brp-pc-stance-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #334155;
	margin-bottom: 0.55rem;
	text-align: left;
}

.brp-layout-perspective-orange .brp-pc-stances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: stretch;
	align-items: stretch;
	gap: 0.55rem;
	margin-bottom: 1.35rem;
	width: 100%;
	border: none;
	border-radius: 0;
	overflow: visible;
	background: transparent;
	box-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-stance {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.65rem 0.5rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 999px;
	cursor: pointer;
	text-align: center;
	background: #fff;
	transition: background 0.18s, color 0.18s, border-color 0.18s, box-shadow 0.18s;
	user-select: none;
	position: relative;
	min-height: 44px;
	width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	flex: 1 1 0;
}
.brp-layout-perspective-orange .brp-pc-stance:last-child {
	border-right-width: 1.5px;
}
.brp-layout-perspective-orange .brp-pc-stance:hover {
	transform: none;
	background: #f8fafc;
}
.brp-layout-perspective-orange .brp-pc-stance input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.brp-layout-perspective-orange .brp-pc-stance-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-bottom: 0;
	flex-shrink: 0;
}
.brp-layout-perspective-orange .brp-pc-stance-icon svg { width: 16px; height: 16px; }
.brp-layout-perspective-orange .brp-pc-stance-main {
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1.15;
	white-space: nowrap;
}
.brp-layout-perspective-orange .brp-pc-stance-sub {
	display: none;
}

/* Support */
.brp-layout-perspective-orange .brp-pc-stance-support {
	border-color: #86efac;
	background: #f0fdf4;
}
.brp-layout-perspective-orange .brp-pc-stance-support .brp-pc-stance-icon { color: #16a34a; }
.brp-layout-perspective-orange .brp-pc-stance-support .brp-pc-stance-main { color: #15803d; }
.brp-layout-perspective-orange .brp-pc-stance-support:hover {
	background: #dcfce7;
	border-color: #4ade80;
	box-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-stance-support:has(input:checked),
.brp-layout-perspective-orange .brp-pc-stance-support.is-selected {
	background: #16a34a !important;
	border-color: #15803d !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(22, 163, 74, 0.28) !important;
}
.brp-layout-perspective-orange .brp-pc-stance-support:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-support:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-orange .brp-pc-stance-support.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-support.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

/* Neutral */
.brp-layout-perspective-orange .brp-pc-stance-neutral {
	border-color: #e2e8f0;
	background: #fff;
}
.brp-layout-perspective-orange .brp-pc-stance-neutral .brp-pc-stance-icon { color: #64748b; }
.brp-layout-perspective-orange .brp-pc-stance-neutral .brp-pc-stance-main { color: #475569; }
.brp-layout-perspective-orange .brp-pc-stance-neutral:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	box-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-stance-neutral:has(input:checked),
.brp-layout-perspective-orange .brp-pc-stance-neutral.is-selected {
	background: #475569 !important;
	border-color: #334155 !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(71, 85, 105, 0.25) !important;
}
.brp-layout-perspective-orange .brp-pc-stance-neutral:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-neutral:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-orange .brp-pc-stance-neutral.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-neutral.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

/* Oppose */
.brp-layout-perspective-orange .brp-pc-stance-oppose {
	border-color: #fecaca;
	background: #fef2f2;
}
.brp-layout-perspective-orange .brp-pc-stance-oppose .brp-pc-stance-icon { color: #dc2626; }
.brp-layout-perspective-orange .brp-pc-stance-oppose .brp-pc-stance-main { color: #b91c1c; }
.brp-layout-perspective-orange .brp-pc-stance-oppose:hover {
	background: #fee2e2;
	border-color: #f87171;
	box-shadow: none;
}
.brp-layout-perspective-orange .brp-pc-stance-oppose:has(input:checked),
.brp-layout-perspective-orange .brp-pc-stance-oppose.is-selected {
	background: #dc2626 !important;
	border-color: #b91c1c !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(220, 38, 38, 0.28) !important;
}
.brp-layout-perspective-orange .brp-pc-stance-oppose:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-oppose:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-orange .brp-pc-stance-oppose.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-orange .brp-pc-stance-oppose.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

.brp-layout-perspective-orange .brp-pc-stances:has(input:checked) .brp-pc-stance:not(:has(input:checked)):not(.is-selected) {
	opacity: 0.85;
}



/* Fields */
.brp-layout-perspective-orange .brp-pc-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
	margin-bottom: 1.15rem;
}
.brp-layout-perspective-orange .brp-field label,
.brp-layout-perspective-orange .brp-field .brp-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.35rem;
	text-align: left;
}

/* Gender: pills desktop, select mobile */
.brp-layout-perspective-orange .brp-pc-field-gender { margin-bottom: 1.2rem; }
.brp-layout-perspective-orange .brp-gender-pills {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.3rem;
	align-items: stretch;
}
.brp-layout-perspective-orange .brp-gender-select {
	display: none;
	width: 100%;
}
.brp-layout-perspective-orange .brp-gender-opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.28rem;
	padding: 0.4rem 0.45rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	font-size: 0.88rem;
	font-weight: 400;
	color: #94a3b8;
	cursor: pointer;
	flex: 1 1 0;
	min-width: 0;
	white-space: nowrap;
	line-height: 1;
	vertical-align: middle;
}
.brp-layout-perspective-orange .brp-gender-opt input {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	accent-color: #16a34a;
	vertical-align: middle;
	align-self: center;
}
.brp-layout-perspective-orange .brp-gender-opt > span {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}
.brp-layout-perspective-orange .brp-gender-opt:has(input:checked),
.brp-layout-perspective-orange .brp-gender-opt.is-selected {
	border-color: #16a34a !important;
	background: rgba(22, 163, 74, 0.08) !important;
	box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.15);
	color: #15803d !important;
	font-weight: 500;
}

/* Green border when field has value */
.brp-layout-perspective-orange select.brp-has-value,
.brp-layout-perspective-orange .brp-input.brp-has-value,
.brp-layout-perspective-orange .brp-select.brp-has-value {
	border-color: #16a34a !important;
	background: #f0fdf4;
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}

/* Terms + security + submit stack (uniform gaps) */
.brp-layout-perspective-orange .brp-terms {
	margin: 1.1rem 0 0;
	font-size: 0.68rem;
	font-weight: 400;
	color: #64748b;
	line-height: 1.45;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	overflow: visible;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.brp-layout-perspective-orange .brp-terms-text {
	color: #64748b;
	font-weight: 400;
	flex: 1 1 0%;
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
	overflow: visible;
}
.brp-layout-perspective-orange .brp-terms-line {
	display: block;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: normal;
	white-space: normal;
}
.brp-layout-perspective-orange .brp-terms-line-2 {
	/* keep "Read full notice" on same line when possible */
}
.brp-layout-perspective-orange .brp-security-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0.85rem 0 0;
}
/* Turnstile — horizontal normal widget (~300x65) */
.brp-layout-perspective-orange .brp-turnstile-wrap {
	display: block;
	margin: 0;
	line-height: 0;
	overflow: visible;
	width: 100%;
	min-width: 300px;
	max-width: 100%;
}
.brp-layout-perspective-orange .brp-turnstile-wrap .cf-turnstile {
	width: 300px !important;
	max-width: 100%;
}
.brp-layout-perspective-orange .brp-turnstile-wrap iframe {
	width: 300px !important;
	max-width: 100%;
	max-height: none !important;
}
/* Simple Google reCAPTCHA line (no pill/badge) */
.brp-layout-perspective-orange .brp-recaptcha-note {
	margin: 0;
	padding: 0;
	font-size: 0.7rem;
	line-height: 1.3;
	color: #94a3b8;
	letter-spacing: 0.01em;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	display: block;
}
.brp-layout-perspective-orange .brp-terms + .brp-pc-submit,
.brp-layout-perspective-orange .brp-security-row + .brp-pc-submit {
	margin-top: 0.85rem;
}
.brp-layout-perspective-orange .brp-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.brp-layout-perspective-orange .brp-terms-checkbox {
	margin-top: 0.2rem;
	width: 15px;
	height: 15px;
	accent-color: var(--pc-orange);
	flex-shrink: 0;
}
.brp-layout-perspective-orange .brp-terms-toggle {
	display: inline;
	border: none;
	background: none;
	color: #ea580c;
	font-size: inherit;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	margin: 0 0 0 0.25rem;
	text-decoration: none;
	font-family: inherit;
	white-space: nowrap;
	vertical-align: baseline;
}
.brp-layout-perspective-orange .brp-terms-toggle:hover {
	text-decoration: underline;
}
.brp-layout-perspective-orange .brp-terms.is-error {
	outline: 1px solid #dc2626;
	border-radius: 8px;
	padding: 0.35rem;
}

/* Submit */
.brp-layout-perspective-orange .brp-pc-submit {
	width: 100%;
	height: 52px;
	border: none;
	border-radius: 14px;
	background: linear-gradient(180deg, #f97316 0%, #ea580c 100%);
	color: #ffffff;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.28);
	transition: background 0.15s, transform 0.1s, box-shadow 0.15s;
	margin-top: 0.85rem;
}
.brp-layout-perspective-orange .brp-pc-submit:hover {
	background: linear-gradient(180deg, #ea580c 0%, #c2410c 100%);
	box-shadow: 0 5px 14px rgba(234, 88, 12, 0.35);
}
.brp-layout-perspective-orange .brp-pc-submit:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}
.brp-layout-perspective-orange .brp-submit-icon {
	flex-shrink: 0;
}

.brp-layout-perspective-orange .brp-pc-trust {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
	font-size: 0.75rem;
	color: #64748b;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-layout-perspective-orange .brp-pc-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}
.brp-layout-perspective-orange .brp-pc-trust-sep {
	color: #94a3b8;
	font-size: 0.65rem;
	line-height: 1;
	user-select: none;
}
.brp-layout-perspective-orange .brp-pc-trust-icon {
	font-size: 0.85rem;
	line-height: 1;
}

/* Confirmation */
.brp-layout-perspective-orange .brp-pc-confirmation {
	display: none;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 18px;
	padding: 1.5rem 1.5rem 1.35rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 5;
}
.brp-layout-perspective-orange.is-voted .brp-pc-confirmation {
	display: flex;
}
.brp-layout-perspective-orange.is-voted .brp-pc-step1,
.brp-layout-perspective-orange.is-voted .brp-pc-header-dark {
	display: none;
}
.brp-layout-perspective-orange .brp-pc-conf-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 1.15rem;
	border-radius: 50%;
	background: rgba(22, 163, 74, 0.12);
	color: #16a34a;
	font-size: 2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	box-shadow: 0 0 0 8px rgba(22, 163, 74, 0.06);
	transform: scale(0);
	animation: brp-conf-ring-in 0.45s 0.1s cubic-bezier(.34,1.56,.64,1) forwards;
}
.brp-pc-conf-check path {
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: brp-conf-check-draw 0.35s 0.5s ease-out forwards;
}
@keyframes brp-conf-ring-in { to { transform: scale(1); } }
@keyframes brp-conf-check-draw { to { stroke-dashoffset: 0; } }
.brp-layout-perspective-orange .brp-pc-conf-title {
	margin: 0 0 0.4rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #0f172a;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.45s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-pc-conf-text {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.5;
	max-width: 320px;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.52s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-pc-conf-choice-wrap {
	margin: 0 0 0.6rem;
	font-size: 0.95rem;
	color: #334155;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.59s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-pc-conf-choice {
	font-weight: 700;
	color: var(--pc-orange);
}
.brp-layout-perspective-orange .brp-pc-conf-meta {
	margin: 0 0 1rem;
	font-size: 0.78rem;
	color: #94a3b8;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.65s cubic-bezier(.16,.84,.32,1) forwards;
}
@keyframes brp-conf-reveal {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share {
	width: 100%;
	max-width: 340px;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.7s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-btn {
	opacity: 0;
	transform: translateY(8px) scale(.96);
	animation: brp-conf-chip-in 0.4s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(1) { animation-delay: 0.78s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(2) { animation-delay: 0.82s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(3) { animation-delay: 0.86s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(4) { animation-delay: 0.9s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(5) { animation-delay: 0.94s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(6) { animation-delay: 0.98s; }
.brp-layout-perspective-orange .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(7) { animation-delay: 1.02s; }
@keyframes brp-conf-chip-in { to { opacity: 1; transform: translateY(0) scale(1); } }
.brp-layout-perspective-orange .brp-share-privacy,
.brp-layout-perspective-orange .brp-donate-btn {
	opacity: 0;
	animation: brp-conf-reveal 0.5s 1.08s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-orange .brp-donate-btn { animation-delay: 1.16s; }

/* ---- Optional post-vote email receipt (email is never collected at vote time) ---- */
.brp-receipt-wrap {
	width: 100%;
	max-width: 460px;
	margin: 0 0 0.6rem;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.68s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-receipt-box {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 0.7rem 0.85rem;
	text-align: left;
}
.brp-receipt-title {
	margin: 0 0 2px;
	font-size: 0.8rem;
	font-weight: 700;
	color: #0f172a;
}
.brp-receipt-sub {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	color: #6b7280;
	line-height: 1.4;
	white-space: nowrap;
}
.brp-receipt-email {
	width: 100%;
	box-sizing: border-box;
	padding: 0.42rem 0.65rem;
	border: 1px solid #d8d0bc;
	border-radius: 8px;
	font-size: 0.8rem;
	color: #1a1a2e;
	margin-bottom: 0.45rem;
}
.brp-receipt-email:focus {
	outline: none;
	border-color: var(--pc-orange, #ea580c);
	box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12);
}
.brp-receipt-send {
	width: 100%;
	box-sizing: border-box;
	padding: 0.48rem;
	background: var(--pc-orange, #ea580c);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background .15s ease, transform .1s ease;
}
.brp-receipt-send:hover { background: #c2410c; }
.brp-receipt-send:active { transform: scale(.98); }
.brp-receipt-send:disabled { opacity: .75; cursor: default; }
.brp-receipt-spinner {
	display: none;
	width: 13px;
	height: 13px;
	border: 2px solid rgba(255,255,255,.4);
	border-top-color: #fff;
	border-radius: 50%;
}
.brp-receipt-send.is-loading .brp-receipt-spinner { display: inline-block; animation: brp-receipt-spin .7s linear infinite; }
@keyframes brp-receipt-spin { to { transform: rotate(360deg); } }
.brp-receipt-note {
	margin: 0.45rem 0 0;
	font-size: 0.66rem;
	color: #94a3b8;
	text-align: center;
	line-height: 1.4;
}
.brp-receipt-error {
	margin: 0.5rem 0 0;
	font-size: 0.72rem;
	color: #dc2626;
	text-align: center;
}
.brp-receipt-sent {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 12px;
	padding: 0.85rem 0.9rem 0.8rem;
	text-align: center;
}
.brp-receipt-sent-icon { display: none; }
.brp-receipt-sent-title { margin: 0 0 4px; font-size: 0.9rem; font-weight: 700; color: #064e3b; }
.brp-receipt-sent-sub { margin: 0; font-size: 0.78rem; color: #047857; line-height: 1.4; }
.brp-receipt-sent-junk {
	margin: 10px 0 0;
	padding: 8px 10px;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #d1fae5;
	border-radius: 8px;
	font-size: 0.72rem;
	color: #065f46;
	line-height: 1.4;
	display: flex;
	align-items: flex-start;
	gap: 7px;
	text-align: left;
}
.brp-receipt-sent-junk svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: #059669;
}
.brp-receipt-sent-junk strong { font-weight: 700; }
.brp-receipt-wa { display: none !important; }


/* Native brand colors for share icons */
.brp-share-icon--wa { color: #25D366; }
.brp-share-icon--x { color: #000000; }
.brp-share-icon--fb { color: #1877F2; }
.brp-share-icon--li { color: #0A66C2; }
.brp-share-icon--ig svg path { fill: url(#brp-ig-gradient); }
.brp-share-icon--email,
.brp-share-icon--copy,
.brp-share-icon--native { color: #64748b; }

/* Privacy note */
.brp-layout-perspective-orange .brp-share-privacy {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	text-align: left;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	padding: 0.8rem 0.95rem;
	margin: 0.75rem 0 0;
	font-size: 0.78rem;
	line-height: 1.55;
	color: #64748b;
}
.brp-layout-perspective-orange .brp-share-privacy-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(234, 88, 12, 0.1);
	color: #ea580c;
}
.brp-layout-perspective-orange .brp-share-privacy-body {
	flex: 1 1 auto;
	min-width: 0;
}
.brp-layout-perspective-orange .brp-share-privacy strong {
	display: block;
	color: #334155;
	font-weight: 700;
	margin-bottom: 0.15rem;
}

/* Donate button */
.brp-layout-perspective-orange .brp-donate-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: 0.85rem;
	padding: 0.8rem 1.1rem;
	background: var(--pc-orange);
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 12px;
	transition: background 0.15s ease, transform 0.15s ease;
}
.brp-layout-perspective-orange .brp-donate-btn:hover {
	background: var(--pc-orange-hover);
	transform: translateY(-1px);
	color: #ffffff;
}
.brp-layout-perspective-orange .brp-donate-icon { display: flex; align-items: center; }

.brp-layout-perspective-orange .brp-messages {
	margin-top: 0.65rem;
	font-size: 0.85rem;
}

/* Mobile */
@media (max-width: 480px) {
	.brp-layout-perspective-orange { max-width: 100%; }
	.brp-layout-perspective-orange .brp-pc-poll-title { font-size: 1.18rem; }
	.brp-layout-perspective-orange .brp-pc-fields { grid-template-columns: 1fr; }
	.brp-layout-perspective-orange .brp-pc-stances { gap: 0.45rem; }
	.brp-layout-perspective-orange .brp-pc-stance { padding: 0.85rem 0.35rem 0.75rem; }
	.brp-layout-perspective-orange .brp-pc-stance-main { font-size: 0.9rem; font-weight: 650; }
	.brp-layout-perspective-orange .brp-pc-stance-sub { font-size: 0.72rem; }
	.brp-layout-perspective-orange .brp-pc-stance-icon svg { width: 26px; height: 26px; }
}

/* Sentiment + vote-stats */
.brp-pc-sentiment,
.brp-pc-sentiment-standalone,
.brp-vote-stats {
	max-width: 480px;
	margin: 0 auto;
	background: #fff;
	border: 1.5px solid #c5d0e0;
	border-radius: 16px;
	padding: 1rem 1.15rem 1.1rem;
	box-shadow: 0 1px 2px rgba(15,23,42,.03), 0 3px 8px rgba(15,23,42,.05);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-pc-sentiment-head,
.brp-vote-stats-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.7rem;
}
.brp-pc-sentiment-title,
.brp-vote-stats-title {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #334155;
}
.brp-pc-sentiment-dot,
.brp-vote-stats-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 3px rgba(34,197,94,.25);
}
.brp-pc-sentiment-bar,
.brp-vote-stats-bar {
	display: flex;
	height: 10px;
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
	margin-bottom: 0.8rem;
}
.brp-pc-bar-support,
.brp-vs-bar-support { background: linear-gradient(90deg,#22c55e,#16a34a); min-width: 0; }
.brp-pc-bar-neutral,
.brp-vs-bar-neutral { background: #94a3b8; min-width: 0; }
.brp-pc-bar-oppose,
.brp-vs-bar-oppose { background: linear-gradient(90deg,#f87171,#dc2626); min-width: 0; }
.brp-pc-sentiment-legend,
.brp-vote-stats-legend {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	text-align: center;
}
.brp-pc-leg,
.brp-vs-leg { border-radius: 10px; padding: 0.5rem 0.25rem; }
.brp-pc-leg-support,
.brp-vs-leg-support { background: rgba(22,163,74,.08); }
.brp-pc-leg-neutral,
.brp-vs-leg-neutral { background: rgba(100,116,139,.08); }
.brp-pc-leg-oppose,
.brp-vs-leg-oppose { background: rgba(220,38,38,.08); }
.brp-pc-leg-label,
.brp-vs-leg-label { display: block; font-size: 0.7rem; font-weight: 600; color: #475569; }
.brp-pc-leg-pct,
.brp-vs-leg-pct { display: block; font-size: 0.95rem; font-weight: 700; }
.brp-pc-leg-support .brp-pc-leg-pct,
.brp-vs-leg-support .brp-vs-leg-pct { color: #16a34a; }
.brp-pc-leg-oppose .brp-pc-leg-pct,
.brp-vs-leg-oppose .brp-vs-leg-pct { color: #dc2626; }

.brp-counters { max-width: 480px; margin: 0 auto; }
.brp-counter {
	background: #0F172A;
	color: #fff;
	border-radius: 14px;
	padding: 1rem 1.25rem;
	text-align: center;
}
.brp-counter-label { display: block; font-size: 0.75rem; color: #94a3b8; margin-bottom: 0.25rem; }
.brp-counter-num { font-size: 1.75rem; font-weight: 800; }

/* ==========================================================================
   Poll Details widget (fluid + popup)
   ========================================================================== */
.brp-pd {
	--pd-pad-x: 1rem;
	--pd-pad-y: clamp(0.5rem, 1.8cqi, 0.7rem);
	--pd-radius: clamp(10px, 2cqi, 14px);
	--pd-title: clamp(0.82rem, 2.2cqi + 0.3rem, 0.95rem);
	--pd-q: clamp(0.8rem, 2cqi + 0.3rem, 0.95rem);
	--pd-pct: clamp(0.95rem, 2.6cqi + 0.2rem, 1.1rem);
	--pd-main: clamp(0.65rem, 1.5cqi + 0.3rem, 0.8rem);
	--pd-sub: clamp(0.55rem, 1.2cqi + 0.2rem, 0.65rem);
	--pd-gap: clamp(0.3rem, 1.4cqi, 0.55rem);
	--pd-icon: clamp(18px, 5cqi, 26px);
	--brp-pd-width: 100%;
	--brp-pd-min-height: auto;
	container-type: inline-size;
	container-name: brp-pd;
	width: 100%;
	max-width: var(--brp-pd-width);
	min-width: 0;
	min-height: var(--brp-pd-min-height);
	margin: 0;
	padding: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-pd-card {
	background: #fff;
	border: 1.5px solid #c5d0e0;
	border-radius: var(--pd-radius);
	box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 4px 10px rgba(15,23,42,.05);
	overflow: hidden;
	width: 100%;
	min-height: var(--brp-pd-min-height);
	margin: 0;
	position: relative;
	transition: box-shadow 0.2s, transform 0.15s;
}
.brp-pd-card:focus-visible {
	outline: 2px solid #EA580C;
	outline-offset: 3px;
}
.brp-pd-expand-hint {
	position: absolute;
	top: 0.55rem;
	right: 0.55rem;
	z-index: 2;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	border: none;
	background: rgba(255,255,255,0.92);
	color: #EA580C;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.brp-pd-expand-hint svg { width: 15px; height: 15px; }
.brp-pd-head {
	background: #EA580C;
	padding: var(--pd-pad-y) var(--pd-pad-x) calc(var(--pd-pad-y) * 0.9);
	color: #fff;
	position: relative;
}
.brp-pd-head::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #fff7ed, #fdba74, #fbbf24);
}
.brp-pd-head-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.5rem;
	padding-right: 0;
}
.brp-pd-widget-title {
	margin: 0;
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: var(--pd-title);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.25;
	color: #fff;
}

.brp-pd-refresh {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,0.95);
	color: #c2410c;
	font-size: 0;
	font-weight: 700;
	padding: 0.28rem;
	width: 28px;
	height: 28px;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.15s, opacity 0.15s;
}
.brp-pd-refresh:hover { background: #ffffff; color: #c2410c !important; }
.brp-pd-refresh:disabled { opacity: 0.7; cursor: wait; }
.brp-pd-refresh svg { width: 14px; height: 14px; flex-shrink: 0; }
.brp-pd-refresh-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.brp-pd-refresh.is-spinning svg { animation: brp-pd-spin 0.7s linear infinite; }
@keyframes brp-pd-spin { to { transform: rotate(360deg); } }
.brp-pd-updated {
	display: none;
}
.brp-pd-expand-hint,
.brp-pd-click-hint,
.brp-pd-live { display: none !important; }

.brp-pd-live {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: rgba(255,255,255,0.95);
	color: #047857;
	font-size: clamp(0.6rem, 1.5cqi + 0.35rem, 0.7rem);
	font-weight: 700;
	padding: 0.22rem 0.5rem;
	border-radius: 999px;
	flex-shrink: 0;
	white-space: nowrap;
}
.brp-pd-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 2px rgba(34,197,94,0.25);
}
.brp-pd-tagline {
	margin: 0.45rem 0 0;
	font-size: clamp(0.72rem, 1.8cqi + 0.3rem, 0.85rem);
	color: rgba(255,255,255,0.9);
	line-height: 1.4;
}
.brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x) calc(var(--pd-pad-y) * 0.95);
}
.brp-pd-tagline,
.brp-pd-question {
	display: none !important;
}
.brp-pd-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.4rem;
	margin-bottom: 0.3rem;
}
.brp-pd-total-label {
	font-size: clamp(0.62rem, 1.4cqi + 0.3rem, 0.72rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #64748b;
}
.brp-pd-total-num {
	font-size: clamp(1.05rem, 3cqi + 0.4rem, 1.4rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}
.brp-pd-total-suffix {
	font-size: 0.72em;
	font-weight: 600;
	color: #94a3b8;
	margin-left: 0.2rem;
}
.brp-pd-bar {
	display: flex;
	height: clamp(8px, 1.8cqi, 10px);
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
	margin-bottom: 0.55rem;
}
.brp-pd-bar-agree { background: linear-gradient(90deg, #22c55e, #16a34a); min-width: 0; transition: width 0.4s ease; }
.brp-pd-bar-later { background: #94a3b8; min-width: 0; transition: width 0.4s ease; }
.brp-pd-bar-oppose { background: linear-gradient(90deg, #f87171, #dc2626); min-width: 0; transition: width 0.4s ease; }
.brp-pd-legend {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.4rem;
}
.brp-pd-leg {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}
.brp-pd-leg-top {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: clamp(0.68rem, 1.5cqi + 0.25rem, 0.74rem);
	font-weight: 700;
	color: #334155;
}
.brp-pd-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.brp-pd-leg-agree .brp-pd-dot { background: #16a34a; }
.brp-pd-leg-later .brp-pd-dot { background: #94a3b8; }
.brp-pd-leg-oppose .brp-pd-dot { background: #dc2626; }
.brp-pd-leg .brp-pd-stance-pct {
	margin-top: 0.1rem;
	font-size: var(--pd-pct);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
}
.brp-pd-leg-agree .brp-pd-stance-pct { color: #16a34a; }
.brp-pd-leg-later .brp-pd-stance-pct { color: #475569; }
.brp-pd-leg-oppose .brp-pd-stance-pct { color: #dc2626; }
.brp-pd-leg .brp-pd-stance-count {
	font-size: clamp(0.62rem, 1.3cqi + 0.2rem, 0.7rem);
	color: #94a3b8;
	font-weight: 600;
	margin-top: 0;
}

.brp-pd-stances {
	display: none;
}
.brp-pd-stance {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(0.4rem, 1.5cqi, 0.7rem) clamp(0.15rem, 0.8cqi, 0.3rem);
	border-radius: clamp(8px, 1.6cqi, 12px);
	border: 1.5px solid #e5e7eb;
	background: #fff;
	min-width: 0;
}
.brp-pd-stance-agree { border-color: #16a34a; border-width: 1.5px; background: #f0fdf4; }
.brp-pd-stance-later { border-color: #e2e8f0; }
.brp-pd-stance-oppose { border-color: #fecaca; }
.brp-pd-stance-icon {
	width: var(--pd-icon);
	height: var(--pd-icon);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.15rem;
}
.brp-pd-stance-icon svg { width: 100%; height: 100%; }
.brp-pd-stance-agree .brp-pd-stance-icon { color: #16a34a; }
.brp-pd-stance-later .brp-pd-stance-icon { color: #64748b; }
.brp-pd-stance-oppose .brp-pd-stance-icon { color: #dc2626; }
.brp-pd-stance-main {
	font-size: var(--pd-main);
	font-weight: 700;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}
.brp-pd-stance-agree .brp-pd-stance-main { color: #15803d; }
.brp-pd-stance-later .brp-pd-stance-main { color: #475569; }
.brp-pd-stance-oppose .brp-pd-stance-main { color: #b91c1c; }
.brp-pd-stance-sub {
	font-size: var(--pd-sub);
	margin-top: 0.08rem;
	line-height: 1.2;
	color: #94a3b8;
}
.brp-pd-stance-agree .brp-pd-stance-sub { color: #4ade80; }
.brp-pd-stance-oppose .brp-pd-stance-sub { color: #f87171; }
.brp-pd-stance-pct {
	margin-top: 0.35rem;
	font-size: var(--pd-pct);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}
.brp-pd-stance-agree .brp-pd-stance-pct { color: #16a34a; }
.brp-pd-stance-later .brp-pd-stance-pct { color: #475569; }
.brp-pd-stance-oppose .brp-pd-stance-pct { color: #dc2626; }
.brp-pd-stance-count {
	font-size: clamp(0.58rem, 1.3cqi + 0.25rem, 0.7rem);
	color: #94a3b8;
	margin-top: 0.15rem;
	font-weight: 600;
}
.brp-pd-meta {
	display: none;
}
.brp-pd-click-hint {
	text-align: center;
	font-size: 0.68rem;
	color: #94a3b8;
	margin-top: 0.55rem;
	font-weight: 500;
}

@container brp-pd (max-width: 320px) {
	.brp-pd-stances { grid-template-columns: 1fr; gap: 0.4rem; }
	.brp-pd-stance {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		text-align: left;
		gap: 0.35rem 0.55rem;
		padding: 0.55rem 0.7rem;
	}
	.brp-pd-stance-icon { margin-bottom: 0; width: 22px; height: 22px; }
	.brp-pd-stance-main { font-size: 0.8rem; }
	.brp-pd-stance-sub { display: none; }
	.brp-pd-stance-pct { margin-top: 0; margin-left: auto; font-size: 1.05rem; }
	.brp-pd-stance-count { width: 100%; margin-top: 0; padding-left: calc(22px + 0.55rem); }
	.brp-pd-meta { display: none; }
}
@container brp-pd (min-width: 321px) and (max-width: 420px) {
	.brp-pd-stance-sub { display: none; }
}

/* Modal */
.brp-pd-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s;
}
.brp-pd-modal.is-open {
	opacity: 1;
	visibility: visible;
}
.brp-pd-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(4px);
	cursor: pointer;
}
.brp-pd-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(520px, 100%);
	max-height: min(92vh, 720px);
	overflow-y: auto;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.18);
	transform: translateY(12px) scale(0.97);
	transition: transform 0.22s ease;
}
.brp-pd-modal.is-open .brp-pd-modal-dialog {
	transform: translateY(0) scale(1);
}
.brp-pd-modal-close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 3;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 10px;
	background: rgba(255,255,255,0.95);
	color: #0f172a;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 6px rgba(0,0,0,0.12);
}
.brp-pd-modal-close:hover { color: #EA580C; }
.brp-pd-modal .brp-pd {
	--pd-pad-x: 1.05rem;
	--pd-pad-y: 0.9rem;
	--pd-title: 1.1rem;
	--pd-q: 0.95rem;
	--pd-pct: 1.2rem;
	--pd-main: 0.82rem;
	--pd-sub: 0.65rem;
	--pd-gap: 0.55rem;
	--pd-icon: 26px;
	container-type: normal;
}
.brp-pd-modal .brp-pd-card {
	cursor: default;
	transform: none !important;
	box-shadow: none;
	border: none;
	border-radius: 20px;
}
.brp-pd-modal .brp-pd-expand-hint,
.brp-pd-modal .brp-pd-click-hint { display: none !important; }
.brp-pd-modal .brp-pd-stances { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.brp-pd-modal .brp-pd-stance {
	flex-direction: column;
	text-align: center;
	padding: 1rem 0.5rem;
}
.brp-pd-modal .brp-pd-stance-sub { display: block; }
.brp-pd-modal .brp-pd-stance-pct { margin-left: 0; margin-top: 0.4rem; }
.brp-pd-modal .brp-pd-stance-count { width: auto; padding-left: 0; }
.brp-pd-modal .brp-pd-meta { display: flex; }
.brp-pd-modal .brp-pd-head-top { padding-right: 2.5rem; }
body.brp-pd-modal-open { overflow: hidden; }

/* --------------------------------------------------------------------------
   Mobile overflow hardening (v1.9.3)
   Scoped to the poll only; desktop layout is unchanged.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.brp-layout-perspective-orange,
	.brp-layout-perspective-orange .brp-pc-card,
	.brp-layout-perspective-orange .brp-pc-header-dark,
	.brp-layout-perspective-orange .brp-pc-form,
	.brp-layout-perspective-orange .brp-pc-step1,
	.brp-layout-perspective-orange .brp-field,
	.brp-layout-perspective-orange .brp-pc-fields,
	.brp-layout-perspective-orange .brp-pc-stances,
	.brp-layout-perspective-orange .brp-pc-field-gender {
		min-width: 0;
		max-width: 100%;
	}

	/* Prevent an Elementor flex/grid parent from being widened by the poll. */
	.brp-layout-perspective-orange {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
		overflow-x: clip;
	}

	.brp-layout-perspective-orange .brp-pc-card {
		width: 100%;
		box-sizing: border-box;
	}

	/* The title + Verified badge must be allowed to wrap on narrow phones. */
	.brp-layout-perspective-orange .brp-pc-header-top {
		min-width: 0;
		max-width: 100%;
		flex-wrap: wrap;
		align-items: center;
	}

	.brp-layout-perspective-orange .brp-pc-header-left {
		min-width: 0;
		max-width: 100%;
		/* Keep shrink-wrap so underline stays text-width; allow grow only if needed */
		flex: 0 1 auto;
		width: max-content;
	}

	.brp-layout-perspective-orange .brp-pc-title {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
		width: max-content;
	}

	/* Reduce only mobile horizontal padding so the content always fits. */
	.brp-layout-perspective-orange .brp-pc-header-dark,
	.brp-layout-perspective-orange .brp-pc-form {
		padding-left: clamp(0.85rem, 4vw, 1.25rem);
		padding-right: clamp(0.85rem, 4vw, 1.25rem);
	}

	/* Mobile: hide poll intro (title + subtitle) to focus on stances */
	.brp-layout-perspective-orange .brp-pc-intro {
		display: none !important;
	}
	/* Restore breathing room between header and SELECT YOUR STANCE */
	.brp-layout-perspective-orange .brp-pc-form {
		padding-top: 1.15rem;
	}
	.brp-layout-perspective-orange .brp-pc-stance-label {
		margin-top: 0.15rem;
		margin-bottom: 0.75rem;
	}

	/* Grid tracks must be allowed to shrink below their intrinsic content width. */
	.brp-layout-perspective-orange .brp-pc-stances,
	.brp-layout-perspective-orange .brp-pc-fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.brp-layout-perspective-orange .brp-pc-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brp-layout-perspective-orange .brp-pc-stance,
	.brp-layout-perspective-orange .brp-gender-opt {
		min-width: 0;
		max-width: 100%;
	}

	.brp-layout-perspective-orange .brp-pc-stance-main,
	.brp-layout-perspective-orange .brp-pc-stance-sub,
	.brp-layout-perspective-orange .brp-gender-opt > span {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.brp-layout-perspective-orange select,
	.brp-layout-perspective-orange input,
	.brp-layout-perspective-orange button,
	.brp-layout-perspective-orange textarea {
		max-width: 100%;
	}

	/* Switch from the unwrappable pill row to the dropdown at the same
	   breakpoint as the rest of the mobile layout (was 480px, which left
	   481–767px showing pills that could overflow the viewport). */
	.brp-layout-perspective-orange .brp-gender-pills {
		display: none !important;
		flex-wrap: wrap; /* belt-and-braces if display is ever overridden */
	}
	.brp-layout-perspective-orange .brp-gender-select {
		display: block !important;
	}
	.brp-layout-perspective-orange .brp-gender-opt {
		white-space: normal; /* belt-and-braces if display is ever overridden */
	}
}

/* Phones: the existing single-column field layout remains, while stance cards
   stay three-across but can shrink safely. */
@media (max-width: 480px) {
	.brp-layout-perspective-orange .brp-pc-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.brp-layout-perspective-orange .brp-pc-stances {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Ensure stance sub-label stays fully legible against the solid fill once selected */
.brp-layout-perspective-orange .brp-pc-stance:has(input:checked) .brp-pc-stance-sub,
.brp-layout-perspective-orange .brp-pc-stance.is-selected .brp-pc-stance-sub {
	color: #ffffff !important;
	opacity: 1 !important;
}

/* ==========================================================================
   Poll Details — compact layout variants (inline-total, segmented-hero, chip-row)
   Share .brp-pd-card / .brp-pd-head chrome above; only the body markup differs.
   ========================================================================== */

.brp-pd-head-right {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex-shrink: 0;
}
.brp-pd-head-total {
	font-size: 0.72rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88);
	white-space: nowrap;
}
.brp-pd-head-total span { font-weight: 800; color: #fff; }

/* -------- Inline Total -------- */
.brp-pd--inline-total .brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x);
}
.brp-pd-bar--thin {
	height: 5px;
	margin-bottom: 0.65rem;
}
.brp-pd-inline-stats {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
}
.brp-pd-inline-stat { flex: 1; text-align: left; }
.brp-pd-inline-lbl {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.15rem;
}
.brp-pd-inline-pct {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
}
.brp-pd-inline-cnt {
	display: block;
	font-size: 0.64rem;
	color: #64748b;
	margin-top: 0.2rem;
}
.brp-pd-inline-stat--agree .brp-pd-inline-pct { color: #16a34a; }
.brp-pd-inline-stat--later .brp-pd-inline-pct { color: #475569; }
.brp-pd-inline-stat--oppose .brp-pd-inline-pct { color: #dc2626; }
.brp-pd-inline-stat--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-inline-stat--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-inline-stat--oppose .brp-pd-dot { background: #dc2626; }

/* -------- Segmented Hero -------- */
.brp-pd--segmented-hero .brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x);
}
.brp-pd-bar--hero {
	height: 14px;
	border-radius: 7px;
	margin-bottom: 0.55rem;
}
.brp-pd-seg-legend {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
}
.brp-pd-seg-item {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: #334155;
}
.brp-pd-seg-item b {
	font-size: 0.68rem;
	font-weight: 800;
	color: #0f172a;
}
.brp-pd-seg-item--agree .brp-pd-dot,
.brp-pd-seg-item--agree b { color: #16a34a; }
.brp-pd-seg-item--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-seg-item--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-seg-item--later b { color: #475569; }
.brp-pd-seg-item--oppose .brp-pd-dot { background: #dc2626; }
.brp-pd-seg-item--oppose b { color: #dc2626; }
.brp-pd-seg-counts {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* -------- Chip Row -------- */
.brp-pd--chip-row .brp-pd-chips {
	display: flex;
}
.brp-pd-chip {
	flex: 1;
	text-align: center;
	padding: 0.65rem 0.5rem 0.75rem;
	border-right: 1px solid var(--pc-border, #e2e8f0);
}
.brp-pd-chip:last-child { border-right: none; }
.brp-pd-chip-lbl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	font-size: 0.64rem;
	font-weight: 700;
	color: #334155;
	margin-bottom: 0.2rem;
}
.brp-pd-chip-pct {
	display: block;
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1;
}
.brp-pd-chip-cnt {
	display: block;
	font-size: 0.62rem;
	color: #64748b;
	margin-top: 0.2rem;
}
.brp-pd-chip--agree .brp-pd-chip-pct { color: #16a34a; }
.brp-pd-chip--later .brp-pd-chip-pct { color: #475569; }
.brp-pd-chip--oppose .brp-pd-chip-pct { color: #dc2626; }
.brp-pd-chip--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-chip--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-chip--oppose .brp-pd-dot { background: #dc2626; }

@media (max-width: 420px) {
	.brp-pd-inline-stats,
	.brp-pd-chips { gap: 0.35rem; }
	.brp-pd-head-total { font-size: 0.66rem; }
}

/* ========== Perspective_Flat layout (FFFCF5, no floating outer panel) ========== */
.brp-layout-perspective-flat {
	--pc-orange: #EA580C;
	--pc-orange-hover: #c2410c;
	--pc-green: #16a34a;
	--pc-red: #dc2626;
	--pc-border: #c5d0e0;
	--pc-text: #0f172a;
	--pc-muted: #64748b;
	--brp-form-width: 560px;
	--brp-form-min-height: auto;
	max-width: var(--brp-form-width);
	width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--pc-text);
}

.brp-layout-perspective-flat .brp-pc-card {
	background: #FFFCF5;
	border: 1.5px solid var(--pc-border);
	border-radius: 18px;
	box-shadow:
		0 1px 3px rgba(15, 23, 42, 0.05),
		0 4px 12px rgba(15, 23, 42, 0.06);
	padding: 0 0 1.35rem;
	position: relative;
	overflow: hidden;
	min-height: var(--brp-form-min-height);
	width: 100%;
	margin: 0;
}

.brp-layout-perspective-flat .brp-pc-header-dark {
	margin: 0;
	padding: 1rem 1.85rem 0.95rem;
	background: #0F172A;
	border-radius: 18px 18px 0 0;
	position: relative;
	overflow: hidden;
}
.brp-layout-perspective-flat .brp-pc-header-dark::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, #334155, #64748b, #334155);
}
.brp-layout-perspective-flat .brp-pc-header-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}
/* Shrink-wrap so the underline matches the exact text width of the heading */
.brp-layout-perspective-flat .brp-pc-header-left {
	display: inline-flex;
	flex-direction: column;
	align-items: stretch;
	width: max-content;
	max-width: 100%;
	min-width: 0;
}
.brp-layout-perspective-flat .brp-pc-header-dark .brp-pc-title {
	margin: 0;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.25;
	color: #ffffff;
	text-align: left;
	width: max-content;
	max-width: 100%;
}
.brp-layout-perspective-flat .brp-pc-title-underline {
	display: block;
	width: 100%;
	height: 3.5px;
	margin: 0.18rem 0 0; /* tight gap so heading + underline read as one unit */
	border-radius: 3px;
	background: #ffffff;
	box-shadow: none;
	transform-origin: left center; /* expands from start of title text */
	animation: brp-title-underline-expand 2.4s ease-in-out infinite;
}
@keyframes brp-title-underline-expand {
	0%, 100% { transform: scaleX(0.55); opacity: 0.75; }
	50%      { transform: scaleX(1);    opacity: 1; }
}
.brp-layout-perspective-flat .brp-pc-verified {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	flex-shrink: 0;
	margin-top: 0.15rem;
	padding: 0.28rem 0.75rem;
	border-radius: 999px;
	background: transparent;
	border: 2px solid #34d399;
	color: #34d399;
	font-size: 0.72rem;
	font-weight: 600;
	box-shadow: none;
	text-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-verified-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #10b981;
	color: #fff;
	font-size: 0.55rem;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
	text-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-tagline { display: none; }

.brp-layout-perspective-flat .brp-pc-form { padding: 0 1.15rem; }

.brp-layout-perspective-flat .brp-pc-intro {
	margin: 1rem 0 1.1rem;
	text-align: left;
}
.brp-layout-perspective-flat .brp-pc-poll-title {
	margin: 0 0 0.15rem;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1.28rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #0f172a;
	line-height: 1.3;
	text-align: left;
}
.brp-layout-perspective-flat .brp-pc-poll-q {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
	color: #64748b;
	font-weight: 400;
	text-align: left;
}

.brp-layout-perspective-flat .brp-pc-stance-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #334155;
	margin-bottom: 0.55rem;
	text-align: left;
}

.brp-layout-perspective-flat .brp-pc-stances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	justify-content: stretch;
	align-items: stretch;
	gap: 0.55rem;
	margin-bottom: 1.15rem;
	width: 100%;
	border: none;
	border-radius: 0;
	overflow: visible;
	background: transparent;
	box-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-stance {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.65rem 0.5rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 999px;
	cursor: pointer;
	text-align: center;
	background: #fff;
	transition: background 0.18s, color 0.18s, border-color 0.18s, box-shadow 0.18s;
	user-select: none;
	position: relative;
	min-height: 44px;
	width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	flex: 1 1 0;
}
.brp-layout-perspective-flat .brp-pc-stance:last-child {
	border-right-width: 1.5px;
}
.brp-layout-perspective-flat .brp-pc-stance:hover {
	transform: none;
	background: #f8fafc;
}
.brp-layout-perspective-flat .brp-pc-stance input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.brp-layout-perspective-flat .brp-pc-stance-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-bottom: 0;
	flex-shrink: 0;
}
.brp-layout-perspective-flat .brp-pc-stance-icon svg { width: 16px; height: 16px; }
.brp-layout-perspective-flat .brp-pc-stance-main {
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1.15;
	white-space: nowrap;
}
.brp-layout-perspective-flat .brp-pc-stance-sub {
	display: none;
}

/* Support */
.brp-layout-perspective-flat .brp-pc-stance-support {
	border-color: #86efac;
	background: #f0fdf4;
}
.brp-layout-perspective-flat .brp-pc-stance-support .brp-pc-stance-icon { color: #16a34a; }
.brp-layout-perspective-flat .brp-pc-stance-support .brp-pc-stance-main { color: #15803d; }
.brp-layout-perspective-flat .brp-pc-stance-support:hover {
	background: #dcfce7;
	border-color: #4ade80;
	box-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-stance-support:has(input:checked),
.brp-layout-perspective-flat .brp-pc-stance-support.is-selected {
	background: #16a34a !important;
	border-color: #15803d !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(22, 163, 74, 0.28) !important;
}
.brp-layout-perspective-flat .brp-pc-stance-support:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-support:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-flat .brp-pc-stance-support.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-support.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

/* Neutral */
.brp-layout-perspective-flat .brp-pc-stance-neutral {
	border-color: #e2e8f0;
	background: #fff;
}
.brp-layout-perspective-flat .brp-pc-stance-neutral .brp-pc-stance-icon { color: #64748b; }
.brp-layout-perspective-flat .brp-pc-stance-neutral .brp-pc-stance-main { color: #475569; }
.brp-layout-perspective-flat .brp-pc-stance-neutral:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	box-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-stance-neutral:has(input:checked),
.brp-layout-perspective-flat .brp-pc-stance-neutral.is-selected {
	background: #475569 !important;
	border-color: #334155 !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(71, 85, 105, 0.25) !important;
}
.brp-layout-perspective-flat .brp-pc-stance-neutral:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-neutral:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-flat .brp-pc-stance-neutral.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-neutral.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

/* Oppose */
.brp-layout-perspective-flat .brp-pc-stance-oppose {
	border-color: #fecaca;
	background: #fef2f2;
}
.brp-layout-perspective-flat .brp-pc-stance-oppose .brp-pc-stance-icon { color: #dc2626; }
.brp-layout-perspective-flat .brp-pc-stance-oppose .brp-pc-stance-main { color: #b91c1c; }
.brp-layout-perspective-flat .brp-pc-stance-oppose:hover {
	background: #fee2e2;
	border-color: #f87171;
	box-shadow: none;
}
.brp-layout-perspective-flat .brp-pc-stance-oppose:has(input:checked),
.brp-layout-perspective-flat .brp-pc-stance-oppose.is-selected {
	background: #dc2626 !important;
	border-color: #b91c1c !important;
	border-width: 1.5px !important;
	box-shadow: 0 2px 8px rgba(220, 38, 38, 0.28) !important;
}
.brp-layout-perspective-flat .brp-pc-stance-oppose:has(input:checked) .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-oppose:has(input:checked) .brp-pc-stance-main,
.brp-layout-perspective-flat .brp-pc-stance-oppose.is-selected .brp-pc-stance-icon,
.brp-layout-perspective-flat .brp-pc-stance-oppose.is-selected .brp-pc-stance-main {
	color: #ffffff !important;
}

.brp-layout-perspective-flat .brp-pc-stances:has(input:checked) .brp-pc-stance:not(:has(input:checked)):not(.is-selected) {
	opacity: 0.85;
}



/* Fields */
.brp-layout-perspective-flat .brp-pc-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9rem;
	margin-bottom: 1.15rem;
}
.brp-layout-perspective-flat .brp-field label,
.brp-layout-perspective-flat .brp-field .brp-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.35rem;
	text-align: left;
}

/* Gender: pills desktop, select mobile */
.brp-layout-perspective-flat .brp-pc-field-gender { margin-bottom: 1.2rem; }
.brp-layout-perspective-flat .brp-gender-pills {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.3rem;
	align-items: stretch;
}
.brp-layout-perspective-flat .brp-gender-select {
	display: none;
	width: 100%;
}
.brp-layout-perspective-flat .brp-gender-opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.28rem;
	padding: 0.4rem 0.45rem;
	border: 1.5px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	font-size: 0.88rem;
	font-weight: 400;
	color: #94a3b8;
	cursor: pointer;
	flex: 1 1 0;
	min-width: 0;
	white-space: nowrap;
	line-height: 1;
	vertical-align: middle;
}
.brp-layout-perspective-flat .brp-gender-opt input {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	accent-color: #16a34a;
	vertical-align: middle;
	align-self: center;
}
.brp-layout-perspective-flat .brp-gender-opt > span {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}
.brp-layout-perspective-flat .brp-gender-opt:has(input:checked),
.brp-layout-perspective-flat .brp-gender-opt.is-selected {
	border-color: #16a34a !important;
	background: rgba(22, 163, 74, 0.08) !important;
	box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.15);
	color: #15803d !important;
}

/* Green border when field has value */
.brp-layout-perspective-flat select.brp-has-value,
.brp-layout-perspective-flat .brp-input.brp-has-value,
.brp-layout-perspective-flat .brp-select.brp-has-value {
	border-color: #16a34a !important;
	background: #f0fdf4;
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}

/* Terms + security + submit stack (uniform gaps) */
.brp-layout-perspective-flat .brp-terms {
	margin: 1.1rem 0 0;
	font-size: 0.68rem;
	font-weight: 400;
	color: #64748b;
	line-height: 1.5;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	overflow: visible;
}
.brp-layout-perspective-flat .brp-terms-text {
	color: #64748b;
	font-weight: 400;
	flex: 1 1 0%;
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
	overflow: visible;
}
.brp-layout-perspective-flat .brp-terms-line {
	display: block;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: normal;
	white-space: normal;
}
.brp-layout-perspective-flat .brp-terms-line-2 {
	/* keep "Read full notice" on same line when possible */
}
.brp-layout-perspective-flat .brp-security-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0.85rem 0 0;
}
/* Turnstile — horizontal normal widget (~300x65) */
.brp-layout-perspective-flat .brp-turnstile-wrap {
	display: block;
	margin: 0;
	line-height: 0;
	overflow: visible;
	width: 100%;
	min-width: 300px;
	max-width: 100%;
}
.brp-layout-perspective-flat .brp-turnstile-wrap .cf-turnstile {
	width: 300px !important;
	max-width: 100%;
}
.brp-layout-perspective-flat .brp-turnstile-wrap iframe {
	width: 300px !important;
	max-width: 100%;
	max-height: none !important;
}
/* Simple Google reCAPTCHA line (no pill/badge) */
.brp-layout-perspective-flat .brp-recaptcha-note {
	margin: 0;
	padding: 0;
	font-size: 0.7rem;
	line-height: 1.3;
	color: #94a3b8;
	letter-spacing: 0.01em;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	display: block;
}
.brp-layout-perspective-flat .brp-terms + .brp-pc-submit,
.brp-layout-perspective-flat .brp-security-row + .brp-pc-submit {
	margin-top: 0.55rem;
}
.brp-layout-perspective-flat .brp-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.brp-layout-perspective-flat .brp-terms-checkbox {
	margin-top: 0.2rem;
	width: 15px;
	height: 15px;
	accent-color: var(--pc-orange);
	flex-shrink: 0;
}
.brp-layout-perspective-flat .brp-terms-toggle {
	display: inline;
	border: none;
	background: none;
	color: #ea580c;
	font-size: inherit;
	font-weight: 600;
	cursor: pointer;
	padding: 0;
	margin: 0 0 0 0.25rem;
	text-decoration: none;
	font-family: inherit;
	white-space: nowrap;
	vertical-align: baseline;
}
.brp-layout-perspective-flat .brp-terms-toggle:hover {
	text-decoration: underline;
}
.brp-layout-perspective-flat .brp-terms.is-error {
	outline: 1px solid #dc2626;
	border-radius: 8px;
	padding: 0.35rem;
}

/* Submit */
.brp-layout-perspective-flat .brp-pc-submit {
	width: 100%;
	height: 52px;
	border: none;
	border-radius: 14px;
	background: linear-gradient(180deg, #f97316 0%, #ea580c 100%);
	color: #ffffff;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-shadow: 0 4px 12px rgba(234, 88, 12, 0.28);
	transition: background 0.15s, transform 0.1s, box-shadow 0.15s;
	margin-top: 0.85rem;
}
.brp-layout-perspective-flat .brp-pc-submit:hover {
	background: linear-gradient(180deg, #ea580c 0%, #c2410c 100%);
	box-shadow: 0 5px 14px rgba(234, 88, 12, 0.35);
}
.brp-layout-perspective-flat .brp-pc-submit:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}
.brp-layout-perspective-flat .brp-submit-icon {
	flex-shrink: 0;
}

.brp-layout-perspective-flat .brp-pc-trust {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1rem;
	font-size: 0.75rem;
	color: #64748b;
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-layout-perspective-flat .brp-pc-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}
.brp-layout-perspective-flat .brp-pc-trust-sep {
	color: #94a3b8;
	font-size: 0.65rem;
	line-height: 1;
	user-select: none;
}
.brp-layout-perspective-flat .brp-pc-trust-icon {
	font-size: 0.85rem;
	line-height: 1;
}

/* Confirmation */
.brp-layout-perspective-flat .brp-pc-confirmation {
	display: none;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: #ffffff;
	border-radius: 18px;
	padding: 1.5rem 1.5rem 1.35rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 5;
}
.brp-layout-perspective-flat.is-voted .brp-pc-confirmation {
	display: flex;
}
.brp-layout-perspective-flat.is-voted .brp-pc-step1,
.brp-layout-perspective-flat.is-voted .brp-pc-header-dark {
	display: none;
}
.brp-layout-perspective-flat .brp-pc-conf-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 1.15rem;
	border-radius: 50%;
	background: rgba(22, 163, 74, 0.12);
	color: #16a34a;
	font-size: 2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	box-shadow: 0 0 0 8px rgba(22, 163, 74, 0.06);
	transform: scale(0);
	animation: brp-conf-ring-in 0.45s 0.1s cubic-bezier(.34,1.56,.64,1) forwards;
}
.brp-pc-conf-check path {
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: brp-conf-check-draw 0.35s 0.5s ease-out forwards;
}
@keyframes brp-conf-ring-in { to { transform: scale(1); } }
@keyframes brp-conf-check-draw { to { stroke-dashoffset: 0; } }
.brp-layout-perspective-flat .brp-pc-conf-title {
	margin: 0 0 0.4rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #0f172a;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.45s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-pc-conf-text {
	margin: 0 0 1rem;
	font-size: 0.92rem;
	color: #475569;
	line-height: 1.5;
	max-width: 320px;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.52s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-pc-conf-choice-wrap {
	margin: 0 0 0.6rem;
	font-size: 0.95rem;
	color: #334155;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.59s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-pc-conf-choice {
	font-weight: 700;
	color: var(--pc-orange);
}
.brp-layout-perspective-flat .brp-pc-conf-meta {
	margin: 0 0 1rem;
	font-size: 0.78rem;
	color: #94a3b8;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.65s cubic-bezier(.16,.84,.32,1) forwards;
}
@keyframes brp-conf-reveal {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share {
	width: 100%;
	max-width: 340px;
	opacity: 0;
	animation: brp-conf-reveal 0.5s 0.7s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-btn {
	opacity: 0;
	transform: translateY(8px) scale(.96);
	animation: brp-conf-chip-in 0.4s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(1) { animation-delay: 0.78s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(2) { animation-delay: 0.82s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(3) { animation-delay: 0.86s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(4) { animation-delay: 0.9s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(5) { animation-delay: 0.94s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(6) { animation-delay: 0.98s; }
.brp-layout-perspective-flat .brp-pc-confirmation .brp-share-grid .brp-share-btn:nth-child(7) { animation-delay: 1.02s; }
@keyframes brp-conf-chip-in { to { opacity: 1; transform: translateY(0) scale(1); } }
.brp-layout-perspective-flat .brp-share-privacy,
.brp-layout-perspective-flat .brp-donate-btn {
	opacity: 0;
	animation: brp-conf-reveal 0.5s 1.08s cubic-bezier(.16,.84,.32,1) forwards;
}
.brp-layout-perspective-flat .brp-donate-btn { animation-delay: 1.16s; }

/* Native brand colors for share icons */
.brp-share-icon--wa { color: #25D366; }
.brp-share-icon--x { color: #000000; }
.brp-share-icon--fb { color: #1877F2; }
.brp-share-icon--li { color: #0A66C2; }
.brp-share-icon--ig svg path { fill: url(#brp-ig-gradient); }
.brp-share-icon--email,
.brp-share-icon--copy,
.brp-share-icon--native { color: #64748b; }

/* Privacy note */
.brp-layout-perspective-flat .brp-share-privacy {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	text-align: left;
	background: #f8fafc;
	border: 1px solid #eef2f7;
	border-radius: 12px;
	padding: 0.8rem 0.95rem;
	margin: 0.75rem 0 0;
	font-size: 0.78rem;
	line-height: 1.55;
	color: #64748b;
}
.brp-layout-perspective-flat .brp-share-privacy-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(234, 88, 12, 0.1);
	color: #ea580c;
}
.brp-layout-perspective-flat .brp-share-privacy-body {
	flex: 1 1 auto;
	min-width: 0;
}
.brp-layout-perspective-flat .brp-share-privacy strong {
	display: block;
	color: #334155;
	font-weight: 700;
	margin-bottom: 0.15rem;
}

/* Donate button */
.brp-layout-perspective-flat .brp-donate-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: 0.85rem;
	padding: 0.8rem 1.1rem;
	background: var(--pc-orange);
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 12px;
	transition: background 0.15s ease, transform 0.15s ease;
}
.brp-layout-perspective-flat .brp-donate-btn:hover {
	background: var(--pc-orange-hover);
	transform: translateY(-1px);
	color: #ffffff;
}
.brp-layout-perspective-flat .brp-donate-icon { display: flex; align-items: center; }

.brp-layout-perspective-flat .brp-messages {
	margin-top: 0.65rem;
	font-size: 0.85rem;
}

/* Mobile */
@media (max-width: 767px) {
	.brp-layout-perspective-flat .brp-pc-intro {
		display: none !important;
	}
}
@media (max-width: 480px) {
	.brp-layout-perspective-flat { max-width: 100%; }
	.brp-layout-perspective-flat .brp-pc-poll-title { font-size: 1.18rem; }
	.brp-layout-perspective-flat .brp-pc-fields { grid-template-columns: 1fr; }
	.brp-layout-perspective-flat .brp-pc-stances { gap: 0.45rem; }
	.brp-layout-perspective-flat .brp-pc-stance { padding: 0.75rem 0.3rem; }
	.brp-layout-perspective-flat .brp-pc-stance-main { font-size: 0.78rem; }
	.brp-layout-perspective-flat .brp-pc-stance-sub { font-size: 0.62rem; }
}

/* Sentiment + vote-stats */
.brp-pc-sentiment,
.brp-pc-sentiment-standalone,
.brp-vote-stats {
	max-width: 480px;
	margin: 0 auto;
	background: #fff;
	border: 1.5px solid #c5d0e0;
	border-radius: 16px;
	padding: 1rem 1.15rem 1.1rem;
	box-shadow: 0 1px 2px rgba(15,23,42,.03), 0 3px 8px rgba(15,23,42,.05);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-pc-sentiment-head,
.brp-vote-stats-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.7rem;
}
.brp-pc-sentiment-title,
.brp-vote-stats-title {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #334155;
}
.brp-pc-sentiment-dot,
.brp-vote-stats-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 3px rgba(34,197,94,.25);
}
.brp-pc-sentiment-bar,
.brp-vote-stats-bar {
	display: flex;
	height: 10px;
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
	margin-bottom: 0.8rem;
}
.brp-pc-bar-support,
.brp-vs-bar-support { background: linear-gradient(90deg,#22c55e,#16a34a); min-width: 0; }
.brp-pc-bar-neutral,
.brp-vs-bar-neutral { background: #94a3b8; min-width: 0; }
.brp-pc-bar-oppose,
.brp-vs-bar-oppose { background: linear-gradient(90deg,#f87171,#dc2626); min-width: 0; }
.brp-pc-sentiment-legend,
.brp-vote-stats-legend {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	text-align: center;
}
.brp-pc-leg,
.brp-vs-leg { border-radius: 10px; padding: 0.5rem 0.25rem; }
.brp-pc-leg-support,
.brp-vs-leg-support { background: rgba(22,163,74,.08); }
.brp-pc-leg-neutral,
.brp-vs-leg-neutral { background: rgba(100,116,139,.08); }
.brp-pc-leg-oppose,
.brp-vs-leg-oppose { background: rgba(220,38,38,.08); }
.brp-pc-leg-label,
.brp-vs-leg-label { display: block; font-size: 0.7rem; font-weight: 600; color: #475569; }
.brp-pc-leg-pct,
.brp-vs-leg-pct { display: block; font-size: 0.95rem; font-weight: 700; }
.brp-pc-leg-support .brp-pc-leg-pct,
.brp-vs-leg-support .brp-vs-leg-pct { color: #16a34a; }
.brp-pc-leg-oppose .brp-pc-leg-pct,
.brp-vs-leg-oppose .brp-vs-leg-pct { color: #dc2626; }

.brp-counters { max-width: 480px; margin: 0 auto; }
.brp-counter {
	background: #0F172A;
	color: #fff;
	border-radius: 14px;
	padding: 1rem 1.25rem;
	text-align: center;
}
.brp-counter-label { display: block; font-size: 0.75rem; color: #94a3b8; margin-bottom: 0.25rem; }
.brp-counter-num { font-size: 1.75rem; font-weight: 800; }

/* ==========================================================================
   Poll Details widget (fluid + popup)
   ========================================================================== */
.brp-pd {
	--pd-pad-x: 1rem;
	--pd-pad-y: clamp(0.5rem, 1.8cqi, 0.7rem);
	--pd-radius: clamp(10px, 2cqi, 14px);
	--pd-title: clamp(0.82rem, 2.2cqi + 0.3rem, 0.95rem);
	--pd-q: clamp(0.8rem, 2cqi + 0.3rem, 0.95rem);
	--pd-pct: clamp(0.95rem, 2.6cqi + 0.2rem, 1.1rem);
	--pd-main: clamp(0.65rem, 1.5cqi + 0.3rem, 0.8rem);
	--pd-sub: clamp(0.55rem, 1.2cqi + 0.2rem, 0.65rem);
	--pd-gap: clamp(0.3rem, 1.4cqi, 0.55rem);
	--pd-icon: clamp(18px, 5cqi, 26px);
	--brp-pd-width: 100%;
	--brp-pd-min-height: auto;
	container-type: inline-size;
	container-name: brp-pd;
	width: 100%;
	max-width: var(--brp-pd-width);
	min-width: 0;
	min-height: var(--brp-pd-min-height);
	margin: 0;
	padding: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.brp-pd-card {
	background: #fff;
	border: 1.5px solid #c5d0e0;
	border-radius: var(--pd-radius);
	box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 4px 10px rgba(15,23,42,.05);
	overflow: hidden;
	width: 100%;
	min-height: var(--brp-pd-min-height);
	margin: 0;
	position: relative;
	transition: box-shadow 0.2s, transform 0.15s;
}
.brp-pd-card:focus-visible {
	outline: 2px solid #EA580C;
	outline-offset: 3px;
}
.brp-pd-expand-hint {
	position: absolute;
	top: 0.55rem;
	right: 0.55rem;
	z-index: 2;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	border: none;
	background: rgba(255,255,255,0.92);
	color: #EA580C;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.brp-pd-expand-hint svg { width: 15px; height: 15px; }
.brp-pd-head {
	background: #EA580C;
	padding: var(--pd-pad-y) var(--pd-pad-x) calc(var(--pd-pad-y) * 0.9);
	color: #fff;
	position: relative;
}
.brp-pd-head::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #fff7ed, #fdba74, #fbbf24);
}
.brp-pd-head-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.5rem;
	padding-right: 0;
}
.brp-pd-widget-title {
	margin: 0;
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: var(--pd-title);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.25;
	color: #fff;
}

.brp-pd-refresh {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,0.95);
	color: #c2410c;
	font-size: 0;
	font-weight: 700;
	padding: 0.28rem;
	width: 28px;
	height: 28px;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.15s, opacity 0.15s;
}
.brp-pd-refresh:hover { background: #ffffff; color: #c2410c !important; }
.brp-pd-refresh:disabled { opacity: 0.7; cursor: wait; }
.brp-pd-refresh svg { width: 14px; height: 14px; flex-shrink: 0; }
.brp-pd-refresh-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.brp-pd-refresh.is-spinning svg { animation: brp-pd-spin 0.7s linear infinite; }
@keyframes brp-pd-spin { to { transform: rotate(360deg); } }
.brp-pd-updated {
	display: none;
}
.brp-pd-expand-hint,
.brp-pd-click-hint,
.brp-pd-live { display: none !important; }

.brp-pd-live {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	background: rgba(255,255,255,0.95);
	color: #047857;
	font-size: clamp(0.6rem, 1.5cqi + 0.35rem, 0.7rem);
	font-weight: 700;
	padding: 0.22rem 0.5rem;
	border-radius: 999px;
	flex-shrink: 0;
	white-space: nowrap;
}
.brp-pd-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 0 2px rgba(34,197,94,0.25);
}
.brp-pd-tagline {
	margin: 0.45rem 0 0;
	font-size: clamp(0.72rem, 1.8cqi + 0.3rem, 0.85rem);
	color: rgba(255,255,255,0.9);
	line-height: 1.4;
}
.brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x) calc(var(--pd-pad-y) * 0.95);
}
.brp-pd-tagline,
.brp-pd-question {
	display: none !important;
}
.brp-pd-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.4rem;
	margin-bottom: 0.3rem;
}
.brp-pd-total-label {
	font-size: clamp(0.62rem, 1.4cqi + 0.3rem, 0.72rem);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #64748b;
}
.brp-pd-total-num {
	font-size: clamp(1.05rem, 3cqi + 0.4rem, 1.4rem);
	font-weight: 800;
	letter-spacing: -0.02em;
}
.brp-pd-total-suffix {
	font-size: 0.72em;
	font-weight: 600;
	color: #94a3b8;
	margin-left: 0.2rem;
}
.brp-pd-bar {
	display: flex;
	height: clamp(8px, 1.8cqi, 10px);
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
	margin-bottom: 0.55rem;
}
.brp-pd-bar-agree { background: linear-gradient(90deg, #22c55e, #16a34a); min-width: 0; transition: width 0.4s ease; }
.brp-pd-bar-later { background: #94a3b8; min-width: 0; transition: width 0.4s ease; }
.brp-pd-bar-oppose { background: linear-gradient(90deg, #f87171, #dc2626); min-width: 0; transition: width 0.4s ease; }
.brp-pd-legend {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.4rem;
}
.brp-pd-leg {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}
.brp-pd-leg-top {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: clamp(0.68rem, 1.5cqi + 0.25rem, 0.74rem);
	font-weight: 700;
	color: #334155;
}
.brp-pd-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	flex-shrink: 0;
}
.brp-pd-leg-agree .brp-pd-dot { background: #16a34a; }
.brp-pd-leg-later .brp-pd-dot { background: #94a3b8; }
.brp-pd-leg-oppose .brp-pd-dot { background: #dc2626; }
.brp-pd-leg .brp-pd-stance-pct {
	margin-top: 0.1rem;
	font-size: var(--pd-pct);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
}
.brp-pd-leg-agree .brp-pd-stance-pct { color: #16a34a; }
.brp-pd-leg-later .brp-pd-stance-pct { color: #475569; }
.brp-pd-leg-oppose .brp-pd-stance-pct { color: #dc2626; }
.brp-pd-leg .brp-pd-stance-count {
	font-size: clamp(0.62rem, 1.3cqi + 0.2rem, 0.7rem);
	color: #94a3b8;
	font-weight: 600;
	margin-top: 0;
}

.brp-pd-stances {
	display: none;
}
.brp-pd-stance {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(0.4rem, 1.5cqi, 0.7rem) clamp(0.15rem, 0.8cqi, 0.3rem);
	border-radius: clamp(8px, 1.6cqi, 12px);
	border: 1.5px solid #e5e7eb;
	background: #fff;
	min-width: 0;
}
.brp-pd-stance-agree { border-color: #16a34a; border-width: 1.5px; background: #f0fdf4; }
.brp-pd-stance-later { border-color: #e2e8f0; }
.brp-pd-stance-oppose { border-color: #fecaca; }
.brp-pd-stance-icon {
	width: var(--pd-icon);
	height: var(--pd-icon);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.15rem;
}
.brp-pd-stance-icon svg { width: 100%; height: 100%; }
.brp-pd-stance-agree .brp-pd-stance-icon { color: #16a34a; }
.brp-pd-stance-later .brp-pd-stance-icon { color: #64748b; }
.brp-pd-stance-oppose .brp-pd-stance-icon { color: #dc2626; }
.brp-pd-stance-main {
	font-size: var(--pd-main);
	font-weight: 700;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}
.brp-pd-stance-agree .brp-pd-stance-main { color: #15803d; }
.brp-pd-stance-later .brp-pd-stance-main { color: #475569; }
.brp-pd-stance-oppose .brp-pd-stance-main { color: #b91c1c; }
.brp-pd-stance-sub {
	font-size: var(--pd-sub);
	margin-top: 0.08rem;
	line-height: 1.2;
	color: #94a3b8;
}
.brp-pd-stance-agree .brp-pd-stance-sub { color: #4ade80; }
.brp-pd-stance-oppose .brp-pd-stance-sub { color: #f87171; }
.brp-pd-stance-pct {
	margin-top: 0.35rem;
	font-size: var(--pd-pct);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}
.brp-pd-stance-agree .brp-pd-stance-pct { color: #16a34a; }
.brp-pd-stance-later .brp-pd-stance-pct { color: #475569; }
.brp-pd-stance-oppose .brp-pd-stance-pct { color: #dc2626; }
.brp-pd-stance-count {
	font-size: clamp(0.58rem, 1.3cqi + 0.25rem, 0.7rem);
	color: #94a3b8;
	margin-top: 0.15rem;
	font-weight: 600;
}
.brp-pd-meta {
	display: none;
}
.brp-pd-click-hint {
	text-align: center;
	font-size: 0.68rem;
	color: #94a3b8;
	margin-top: 0.55rem;
	font-weight: 500;
}

@container brp-pd (max-width: 320px) {
	.brp-pd-stances { grid-template-columns: 1fr; gap: 0.4rem; }
	.brp-pd-stance {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		text-align: left;
		gap: 0.35rem 0.55rem;
		padding: 0.55rem 0.7rem;
	}
	.brp-pd-stance-icon { margin-bottom: 0; width: 22px; height: 22px; }
	.brp-pd-stance-main { font-size: 0.8rem; }
	.brp-pd-stance-sub { display: none; }
	.brp-pd-stance-pct { margin-top: 0; margin-left: auto; font-size: 1.05rem; }
	.brp-pd-stance-count { width: 100%; margin-top: 0; padding-left: calc(22px + 0.55rem); }
	.brp-pd-meta { display: none; }
}
@container brp-pd (min-width: 321px) and (max-width: 420px) {
	.brp-pd-stance-sub { display: none; }
}

/* Modal */
.brp-pd-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s;
}
.brp-pd-modal.is-open {
	opacity: 1;
	visibility: visible;
}
.brp-pd-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
	backdrop-filter: blur(4px);
	cursor: pointer;
}
.brp-pd-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(520px, 100%);
	max-height: min(92vh, 720px);
	overflow-y: auto;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.18);
	transform: translateY(12px) scale(0.97);
	transition: transform 0.22s ease;
}
.brp-pd-modal.is-open .brp-pd-modal-dialog {
	transform: translateY(0) scale(1);
}
.brp-pd-modal-close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 3;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 10px;
	background: rgba(255,255,255,0.95);
	color: #0f172a;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 6px rgba(0,0,0,0.12);
}
.brp-pd-modal-close:hover { color: #EA580C; }
.brp-pd-modal .brp-pd {
	--pd-pad-x: 1.05rem;
	--pd-pad-y: 0.9rem;
	--pd-title: 1.1rem;
	--pd-q: 0.95rem;
	--pd-pct: 1.2rem;
	--pd-main: 0.82rem;
	--pd-sub: 0.65rem;
	--pd-gap: 0.55rem;
	--pd-icon: 26px;
	container-type: normal;
}
.brp-pd-modal .brp-pd-card {
	cursor: default;
	transform: none !important;
	box-shadow: none;
	border: none;
	border-radius: 20px;
}
.brp-pd-modal .brp-pd-expand-hint,
.brp-pd-modal .brp-pd-click-hint { display: none !important; }
.brp-pd-modal .brp-pd-stances { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.brp-pd-modal .brp-pd-stance {
	flex-direction: column;
	text-align: center;
	padding: 1rem 0.5rem;
}
.brp-pd-modal .brp-pd-stance-sub { display: block; }
.brp-pd-modal .brp-pd-stance-pct { margin-left: 0; margin-top: 0.4rem; }
.brp-pd-modal .brp-pd-stance-count { width: auto; padding-left: 0; }
.brp-pd-modal .brp-pd-meta { display: flex; }
.brp-pd-modal .brp-pd-head-top { padding-right: 2.5rem; }
body.brp-pd-modal-open { overflow: hidden; }

/* --------------------------------------------------------------------------
   Mobile overflow hardening (v1.9.3)
   Scoped to the poll only; desktop layout is unchanged.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.brp-layout-perspective-flat,
	.brp-layout-perspective-flat .brp-pc-card,
	.brp-layout-perspective-flat .brp-pc-header-dark,
	.brp-layout-perspective-flat .brp-pc-form,
	.brp-layout-perspective-flat .brp-pc-step1,
	.brp-layout-perspective-flat .brp-field,
	.brp-layout-perspective-flat .brp-pc-fields,
	.brp-layout-perspective-flat .brp-pc-stances,
	.brp-layout-perspective-flat .brp-pc-field-gender {
		min-width: 0;
		max-width: 100%;
	}

	/* Prevent an Elementor flex/grid parent from being widened by the poll. */
	.brp-layout-perspective-flat {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
		overflow-x: clip;
	}

	.brp-layout-perspective-flat .brp-pc-card {
		width: 100%;
		box-sizing: border-box;
	}

	/* The title + Verified badge must be allowed to wrap on narrow phones. */
	.brp-layout-perspective-flat .brp-pc-header-top {
		min-width: 0;
		max-width: 100%;
		flex-wrap: wrap;
		align-items: center;
	}

	.brp-layout-perspective-flat .brp-pc-header-left {
		min-width: 0;
		max-width: 100%;
		/* Keep shrink-wrap so underline stays text-width; allow grow only if needed */
		flex: 0 1 auto;
		width: max-content;
	}

	.brp-layout-perspective-flat .brp-pc-title {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
		width: max-content;
	}

	/* Reduce only mobile horizontal padding so the content always fits. */
	.brp-layout-perspective-flat .brp-pc-header-dark,
	.brp-layout-perspective-flat .brp-pc-form {
		padding-left: clamp(0.85rem, 4vw, 1.25rem);
		padding-right: clamp(0.85rem, 4vw, 1.25rem);
	}

	/* Grid tracks must be allowed to shrink below their intrinsic content width. */
	.brp-layout-perspective-flat .brp-pc-stances,
	.brp-layout-perspective-flat .brp-pc-fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.brp-layout-perspective-flat .brp-pc-fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.brp-layout-perspective-flat .brp-pc-stance,
	.brp-layout-perspective-flat .brp-gender-opt {
		min-width: 0;
		max-width: 100%;
	}

	.brp-layout-perspective-flat .brp-pc-stance-main,
	.brp-layout-perspective-flat .brp-pc-stance-sub,
	.brp-layout-perspective-flat .brp-gender-opt > span {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.brp-layout-perspective-flat select,
	.brp-layout-perspective-flat input,
	.brp-layout-perspective-flat button,
	.brp-layout-perspective-flat textarea {
		max-width: 100%;
	}

	/* Switch from the unwrappable pill row to the dropdown at the same
	   breakpoint as the rest of the mobile layout (was 480px, which left
	   481–767px showing pills that could overflow the viewport). */
	.brp-layout-perspective-flat .brp-gender-pills {
		display: none !important;
		flex-wrap: wrap; /* belt-and-braces if display is ever overridden */
	}
	.brp-layout-perspective-flat .brp-gender-select {
		display: block !important;
	}
	.brp-layout-perspective-flat .brp-gender-opt {
		white-space: normal; /* belt-and-braces if display is ever overridden */
	}
}

/* Phones: the existing single-column field layout remains, while stance cards
   stay three-across but can shrink safely. */
@media (max-width: 480px) {
	.brp-layout-perspective-flat .brp-pc-fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.brp-layout-perspective-flat .brp-pc-stances {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Ensure stance sub-label stays fully legible against the solid fill once selected */
.brp-layout-perspective-flat .brp-pc-stance:has(input:checked) .brp-pc-stance-sub,
.brp-layout-perspective-flat .brp-pc-stance.is-selected .brp-pc-stance-sub {
	color: #ffffff !important;
	opacity: 1 !important;
}

/* ==========================================================================
   Poll Details — compact layout variants (inline-total, segmented-hero, chip-row)
   Share .brp-pd-card / .brp-pd-head chrome above; only the body markup differs.
   ========================================================================== */

.brp-pd-head-right {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex-shrink: 0;
}
.brp-pd-head-total {
	font-size: 0.72rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88);
	white-space: nowrap;
}
.brp-pd-head-total span { font-weight: 800; color: #fff; }

/* -------- Inline Total -------- */
.brp-pd--inline-total .brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x);
}
.brp-pd-bar--thin {
	height: 5px;
	margin-bottom: 0.65rem;
}
.brp-pd-inline-stats {
	display: flex;
	justify-content: space-between;
	gap: 0.5rem;
}
.brp-pd-inline-stat { flex: 1; text-align: left; }
.brp-pd-inline-lbl {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: #334155;
	margin-bottom: 0.15rem;
}
.brp-pd-inline-pct {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
}
.brp-pd-inline-cnt {
	display: block;
	font-size: 0.64rem;
	color: #64748b;
	margin-top: 0.2rem;
}
.brp-pd-inline-stat--agree .brp-pd-inline-pct { color: #16a34a; }
.brp-pd-inline-stat--later .brp-pd-inline-pct { color: #475569; }
.brp-pd-inline-stat--oppose .brp-pd-inline-pct { color: #dc2626; }
.brp-pd-inline-stat--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-inline-stat--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-inline-stat--oppose .brp-pd-dot { background: #dc2626; }

/* -------- Segmented Hero -------- */
.brp-pd--segmented-hero .brp-pd-body {
	padding: var(--pd-pad-y) var(--pd-pad-x);
}
.brp-pd-bar--hero {
	height: 14px;
	border-radius: 7px;
	margin-bottom: 0.55rem;
}
.brp-pd-seg-legend {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
}
.brp-pd-seg-item {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: #334155;
}
.brp-pd-seg-item b {
	font-size: 0.68rem;
	font-weight: 800;
	color: #0f172a;
}
.brp-pd-seg-item--agree .brp-pd-dot,
.brp-pd-seg-item--agree b { color: #16a34a; }
.brp-pd-seg-item--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-seg-item--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-seg-item--later b { color: #475569; }
.brp-pd-seg-item--oppose .brp-pd-dot { background: #dc2626; }
.brp-pd-seg-item--oppose b { color: #dc2626; }
.brp-pd-seg-counts {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* -------- Chip Row -------- */
.brp-pd--chip-row .brp-pd-chips {
	display: flex;
}
.brp-pd-chip {
	flex: 1;
	text-align: center;
	padding: 0.65rem 0.5rem 0.75rem;
	border-right: 1px solid var(--pc-border, #e2e8f0);
}
.brp-pd-chip:last-child { border-right: none; }
.brp-pd-chip-lbl {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	font-size: 0.64rem;
	font-weight: 700;
	color: #334155;
	margin-bottom: 0.2rem;
}
.brp-pd-chip-pct {
	display: block;
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1;
}
.brp-pd-chip-cnt {
	display: block;
	font-size: 0.62rem;
	color: #64748b;
	margin-top: 0.2rem;
}
.brp-pd-chip--agree .brp-pd-chip-pct { color: #16a34a; }
.brp-pd-chip--later .brp-pd-chip-pct { color: #475569; }
.brp-pd-chip--oppose .brp-pd-chip-pct { color: #dc2626; }
.brp-pd-chip--agree .brp-pd-dot { background: #16a34a; }
.brp-pd-chip--later .brp-pd-dot { background: #94a3b8; }
.brp-pd-chip--oppose .brp-pd-dot { background: #dc2626; }

@media (max-width: 420px) {
	.brp-pd-inline-stats,
	.brp-pd-chips { gap: 0.35rem; }
	.brp-pd-head-total { font-size: 0.66rem; }
}


/* ==========================================================================
   Live Public Sentiment (brp-lps) — Perspective Orange theme, same width as form
   ========================================================================== */
.brp-lps {
	--brp-lps-green: #15803d;
	--brp-lps-amber: #ea580c;
	--brp-lps-red: #dc2626;
	--brp-lps-track: #e9edf4;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--brp-form-width, 560px);
	margin: 1rem auto 0;
	padding: 1.25rem 1.5rem 1.5rem;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 1rem;
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: #0f172a;
}
.brp-lps *, .brp-lps *::before, .brp-lps *::after { box-sizing: border-box; }
@media (min-width: 640px) { .brp-lps { padding: 1.5rem 2rem 1.75rem; } }
.brp-lps-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1.1rem;
}
.brp-lps-title {
	margin: 0;
	padding: 0;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #0f172a;
	line-height: 1.2;
}
.brp-lps-live {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--brp-lps-green);
	white-space: nowrap;
}
.brp-lps-live-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #10b981;
	animation: brp-lps-ping 2s ease-out infinite;
}
.brp-lps.is-refreshing .brp-lps-live-dot { background: #f97316; }
@keyframes brp-lps-ping {
	0%   { box-shadow: 0 0 0 0 rgba(16,185,129,0.55); }
	70%, 100% { box-shadow: 0 0 0 8px rgba(16,185,129,0); }
}
.brp-lps-cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}
.brp-lps-col { min-width: 0; }
.brp-lps-label {
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.brp-lps-pct {
	margin: 0.2rem 0 0.55rem;
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.03em;
	font-variant-numeric: tabular-nums;
	transform-origin: left center;
}
.brp-lps-track {
	height: 8px;
	border-radius: 9999px;
	background: var(--brp-lps-track);
	overflow: hidden;
}
.brp-lps-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	transition: width 1s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.brp-lps-votes {
	margin-top: 0.6rem;
	font-size: 0.78rem;
	font-weight: 500;
	color: #64748b;
	font-variant-numeric: tabular-nums;
}
.brp-lps-col-support .brp-lps-label, .brp-lps-col-support .brp-lps-pct { color: var(--brp-lps-green); }
.brp-lps-col-neutral .brp-lps-label, .brp-lps-col-neutral .brp-lps-pct { color: var(--brp-lps-amber); }
.brp-lps-col-oppose  .brp-lps-label, .brp-lps-col-oppose  .brp-lps-pct { color: var(--brp-lps-red); }
.brp-lps-col-support .brp-lps-fill { background: var(--brp-lps-green); }
.brp-lps-col-neutral .brp-lps-fill { background: #f97316; }
.brp-lps-col-oppose  .brp-lps-fill { background: var(--brp-lps-red); }
.brp-lps-col.is-bumped .brp-lps-pct { animation: brp-lps-bump 0.7s ease; }
@keyframes brp-lps-bump {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.1); }
	100% { transform: scale(1); }
}
.brp-lps-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1.25rem;
	padding: 0.95rem 1.1rem;
	background: #eaf1ff;
	border: 1px solid #cfdcf7;
	border-radius: 0.85rem;
	color: #2563eb;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.15s, background 0.15s;
}
.brp-lps-cta:hover { background: #e0ebff; transform: translateY(-1px); color: #1d4ed8; }
.brp-lps-cta:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(249,115,22,0.35); }
.brp-lps-cta-left { display: inline-flex; align-items: center; gap: 0.6rem; }
.brp-lps-cta-text { text-decoration: underline; }
.brp-lps-cta-arrow { font-size: 1.4rem; line-height: 1; text-decoration: underline; }
.brp-lps-sr {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
@media (max-width: 420px) {
	.brp-lps { padding: 1.1rem 1rem 1.25rem; }
	.brp-lps-cols { gap: 0.6rem; }
	.brp-lps-pct { font-size: 1.5rem; }
	.brp-lps-label { font-size: 0.68rem; }
	.brp-lps-votes { font-size: 0.68rem; }
	.brp-lps-cta { font-size: 0.85rem; padding: 0.8rem 0.9rem; }
}
@media (prefers-reduced-motion: reduce) {
	.brp-lps-live-dot, .brp-lps-col.is-bumped .brp-lps-pct { animation: none; }
	.brp-lps-fill { transition: none; }
}

/* Animated flow strip under the "Cast Your Vote" header */
.brp-layout-cast-vote-clean .brp-cvc-flow {
	position: relative;
	height: 4px;
	background: #0f172a;
	overflow: hidden;
}
.brp-layout-cast-vote-clean .brp-cvc-flow::before {
	content: "";
	position: absolute;
	inset: 0;
	width: 200%;
	background: linear-gradient(90deg, #ff671f 0, #ff9a5a 16%, #fff 33%, #3ddc97 50%, #046a38 66%, #ff671f 100%);
	background-size: 50% 100%;
	animation: brp-cvc-flow 3.2s linear infinite;
}
.brp-layout-cast-vote-clean .brp-cvc-flow::after {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	width: 22%;
	left: -22%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.75), transparent);
	animation: brp-cvc-sweep 2.4s ease-in-out infinite;
}
@keyframes brp-cvc-flow  { to { transform: translateX(-50%); } }
@keyframes brp-cvc-sweep { 0% { left: -22%; } 70%, 100% { left: 100%; } }
@media (prefers-reduced-motion: reduce) {
	.brp-layout-cast-vote-clean .brp-cvc-flow::before,
	.brp-layout-cast-vote-clean .brp-cvc-flow::after { animation: none; }
}


/* Primary WhatsApp share CTA (share-only, no API) */
.brp-share-lead {
	margin: 0 0 0.65rem;
	font-size: 0.78rem;
	line-height: 1.45;
	color: #64748b;
	text-align: center;
}
.brp-share-wa-primary { display: none !important; /* removed clutter CTA */ }
.brp-share-wa-primary-disabled {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 320px;
	margin: 0 auto 0.85rem;
	padding: 0.7rem 1rem !important;
	border-radius: 10px !important;
	border: none !important;
	background: #25D366 !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.brp-share-wa-primary:hover {
	background: #1ebe57 !important;
	filter: brightness(1.02);
}
.brp-share-wa-primary .brp-share-icon--wa { color: #fff !important; }
.brp-share-wa-primary .brp-share-label { color: #fff !important; font-weight: 700; }

.brp-receipt-wa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 0.55rem 1rem;
	border-radius: 8px;
	border: none;
	background: #25D366;
	color: #fff !important;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
}
.brp-receipt-wa:hover { background: #1ebe57; }

/* Hide large WhatsApp CTA — keep small grid icon only */
.brp-share-wa-primary,
.brp-share-lead { display: none !important; }
.brp-receipt-wa { display: none !important; }


/* ==========================================================================
   Desktop height optimization — v1.9.28
   Keeps the existing Perspective_Flat layout and mobile styling unchanged.
   The goal is to fit the complete voting form inside a typical desktop
   viewport with less vertical scrolling.
   ========================================================================== */
@media (min-width: 768px) {
	.brp-layout-perspective-flat .brp-pc-header-dark {
		padding-top: 0.78rem;
		padding-bottom: 0.72rem;
	}

	.brp-layout-perspective-flat .brp-pc-form {
		padding-top: 0;
		padding-bottom: 0;
	}

	.brp-layout-perspective-flat .brp-pc-intro {
		margin-top: 0.68rem;
		margin-bottom: 0.78rem;
	}

	.brp-layout-perspective-flat .brp-pc-stance-label {
		margin-bottom: 0.48rem;
	}

	/* Compact stance selector: same 3-column layout, smaller vertical footprint. */
	.brp-layout-perspective-flat .brp-pc-stances {
		gap: 0.55rem;
		margin-bottom: 0.82rem;
	}

	.brp-layout-perspective-flat .brp-pc-stance {
		padding-top: 0.62rem;
		padding-bottom: 0.58rem;
		gap: 0.12rem;
		border-radius: 12px;
	}

	.brp-layout-perspective-flat .brp-pc-stance-icon {
		width: 30px;
		height: 30px;
		margin-bottom: 0.08rem;
	}

	.brp-layout-perspective-flat .brp-pc-stance-icon svg {
		width: 24px;
		height: 24px;
	}

	/* Keep text legible while removing a little vertical line-height. */
	.brp-layout-perspective-flat .brp-pc-stance-main {
		font-size: 0.80rem;
		line-height: 1.15;
	}

	.brp-layout-perspective-flat .brp-pc-stance-sub {
		font-size: 0.64rem;
		line-height: 1.15;
	}

	.brp-layout-perspective-flat .brp-pc-fields {
		gap: 0.58rem;
		margin-bottom: 0.68rem;
	}

	.brp-layout-perspective-flat .brp-pc-field-gender {
		margin-bottom: 0.68rem;
	}

	/* Slightly tighter field labels without changing field dimensions. */
	.brp-layout-perspective-flat .brp-field label,
	.brp-layout-perspective-flat .brp-field .brp-label {
		margin-bottom: 0.28rem;
	}

	/* Reduce the final action-area whitespace, not the button usability. */
	.brp-layout-perspective-flat .brp-terms {
		margin-top: 0.2rem;
	}
	.brp-layout-perspective-flat .brp-security-row {
		margin-top: 0.5rem;
		gap: 0.5rem;
	}
	.brp-layout-perspective-flat .brp-pc-submit {
		height: 46px;
		margin-top: 0.5rem;
	}
	.brp-layout-perspective-flat .brp-pc-trust {
		margin-top: 0.6rem;
	}

	.brp-layout-perspective-flat .brp-pc-card {
		padding-bottom: 0.88rem;
	}

	/* Same compaction, mirrored for Perspective_Orange (the two layouts share
	   near-identical markup/classes, and either may be the one actually in use). */
	.brp-layout-perspective-orange .brp-pc-header-dark {
		padding-top: 0.78rem;
		padding-bottom: 0.72rem;
	}

	.brp-layout-perspective-orange .brp-pc-form {
		padding-top: 0;
		padding-bottom: 0;
	}

	.brp-layout-perspective-orange .brp-pc-intro {
		margin-top: 0.68rem;
		margin-bottom: 0.78rem;
	}

	.brp-layout-perspective-orange .brp-pc-stance-label {
		margin-bottom: 0.48rem;
	}

	.brp-layout-perspective-orange .brp-pc-stances {
		gap: 0.55rem;
		margin-bottom: 0.82rem;
	}

	.brp-layout-perspective-orange .brp-pc-stance {
		padding-top: 0.62rem;
		padding-bottom: 0.58rem;
		gap: 0.12rem;
		border-radius: 12px;
	}

	.brp-layout-perspective-orange .brp-pc-stance-icon {
		width: 30px;
		height: 30px;
		margin-bottom: 0.08rem;
	}

	.brp-layout-perspective-orange .brp-pc-stance-icon svg {
		width: 24px;
		height: 24px;
	}

	.brp-layout-perspective-orange .brp-pc-stance-main {
		font-size: 0.80rem;
		line-height: 1.15;
	}

	.brp-layout-perspective-orange .brp-pc-stance-sub {
		font-size: 0.64rem;
		line-height: 1.15;
	}

	.brp-layout-perspective-orange .brp-pc-fields {
		gap: 0.58rem;
		margin-bottom: 0.68rem;
	}

	.brp-layout-perspective-orange .brp-pc-field-gender {
		margin-bottom: 0.68rem;
	}

	.brp-layout-perspective-orange .brp-field label,
	.brp-layout-perspective-orange .brp-field .brp-label {
		margin-bottom: 0.28rem;
	}

	.brp-layout-perspective-orange .brp-terms {
		margin-top: 0.2rem;
	}
	.brp-layout-perspective-orange .brp-security-row {
		margin-top: 0.5rem;
		gap: 0.5rem;
	}
	.brp-layout-perspective-orange .brp-pc-submit {
		height: 46px;
		margin-top: 0.5rem;
	}
	.brp-layout-perspective-orange .brp-pc-trust {
		margin-top: 0.6rem;
	}

	.brp-layout-perspective-orange .brp-pc-card {
		padding-bottom: 0.88rem;
	}
}

/* v1.9.30 — standalone post-vote confirmation + certificate popup */
body.brp-confirmation-modal-open{overflow:hidden!important}
.brp-pc-confirmation.brp-pc-confirmation-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;margin:0!important;background:transparent!important;box-sizing:border-box!important}
.brp-pc-confirmation.brp-pc-confirmation-modal[hidden]{display:none!important}
.brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-confirmation-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.brp-pc-confirmation-modal-card{position:relative;z-index:2;width:min(1160px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #d8dee8;border-radius:20px;box-shadow:0 25px 80px rgba(15,23,42,.3);box-sizing:border-box;animation:brpPopupIn .35s cubic-bezier(.16,.84,.32,1) both}
.brp-pc-modal-head{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;border-bottom:1px solid #e5e7eb;background:#fffaf5;border-radius:20px 20px 0 0;box-sizing:border-box}
.brp-pc-modal-head>div{display:flex;flex-direction:column;gap:2px}.brp-pc-modal-kicker{font-size:10px;letter-spacing:1.7px;color:#ea580c;font-weight:800}.brp-pc-modal-head strong{font-size:17px;color:#172033}
.brp-pc-confirmation-close{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border:1px solid #d8dee8!important;border-radius:50%!important;background:#fff!important;color:#334155!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.brp-pc-confirmation-grid{display:grid;grid-template-columns:minmax(420px,520px) minmax(360px,1fr);gap:20px;padding:18px;box-sizing:border-box;align-items:stretch}
.brp-pc-certificate-panel{min-width:0;background:#f8fafc;border:1px solid #d5dce6;border-radius:16px;padding:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brp-pc-certificate-slot{width:100%;display:flex;justify-content:center}.brp-live-certificate{width:min(520px,100%);background:#fffef9;border:2px solid #0b1b33;box-sizing:border-box;color:#0b1b33}.brp-live-cert-tricolor{height:6px;display:grid;grid-template-columns:1fr 1fr 1fr}.brp-live-cert-tricolor i:nth-child(1){background:#ff9933}.brp-live-cert-tricolor i:nth-child(2){background:#fff}.brp-live-cert-tricolor i:nth-child(3){background:#138808}.brp-live-cert-inner{margin:10px;border:1px solid #c4b896;text-align:center;padding:25px 20px 0;font-family:Georgia,'Times New Roman',serif}.brp-live-cert-kicker{font:700 9px Arial,sans-serif;letter-spacing:3px;color:#6b7280}.brp-live-cert-brand{margin-top:7px;font:600 10px Arial,sans-serif;letter-spacing:2px;color:#b48c32}.brp-live-cert-inner h2{margin:15px 0 0;font-size:26px;font-weight:400;line-height:1.2}.brp-live-cert-subtitle{margin:7px 0 0;font-size:12px;font-style:italic;color:#6b7280}.brp-live-cert-seal{display:block;width:96px;height:96px;object-fit:contain;margin:18px auto 8px}.brp-live-cert-copy{margin:0 auto;max-width:380px;font:11px/1.5 Arial,sans-serif;color:#475569}.brp-live-cert-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:17px;font-family:Arial,sans-serif}.brp-live-cert-fields>div{background:#f8fafc;border:1px solid #e2e8f0;padding:10px 5px;min-width:0}.brp-live-cert-fields span{display:block;font-size:8px;letter-spacing:1px;color:#94a3b8;font-weight:700}.brp-live-cert-fields strong{display:block;margin-top:5px;font-size:10px;line-height:1.3;overflow-wrap:anywhere}.brp-live-cert-notice{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb;font:10px/1.45 Arial,sans-serif;color:#64748b}.brp-live-cert-notice strong{display:block;color:#1e293b;margin-bottom:4px}.brp-live-cert-footer{margin:16px -20px 0;padding:12px 14px;background:#0b1b33;color:#c2ccdc;font:500 11.5px/1.6 Arial,sans-serif;letter-spacing:.1px}.brp-live-cert-footer b{color:#f1f5f9;font-weight:700}
.brp-pc-confirmation-content{min-width:0;text-align:center;padding:14px 16px;border:1px solid #e2e8f0;border-radius:16px;box-sizing:border-box;overflow:visible}.brp-pc-confirmation-content .brp-pc-conf-icon{margin-left:auto;margin-right:auto}.brp-pc-confirmation-content .brp-pc-conf-text{max-width:420px;margin-left:auto;margin-right:auto}.brp-pc-confirmation-content .brp-share{max-width:100%;width:100%}.brp-pc-confirmation-content .brp-share-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.brp-pc-confirmation-content .brp-share-btn{min-height:38px;padding:4px 2px}.brp-pc-confirmation-content .brp-share-label{font-size:9px}
@keyframes brpPopupIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
/* Desktop-only: trim the certificate's vertical footprint so the modal fits inside a normal
   browser viewport without an inner scrollbar. Mobile has its own stacked layout (below) and is
   untouched by this rule. */
@media(min-width:761px){
	.brp-pc-confirmation-modal-card{max-height:calc(100vh - 24px)}
	.brp-pc-modal-head{height:52px}
	.brp-pc-confirmation-grid{padding:14px;gap:16px}
	.brp-live-cert-inner{padding:16px 18px 0}
	.brp-live-cert-inner h2{margin-top:10px;font-size:22px}
	.brp-live-cert-subtitle{margin-top:4px}
	.brp-live-cert-seal{width:68px;height:68px;margin:12px auto 6px}
	.brp-live-cert-copy{margin-top:0}
	.brp-live-cert-fields{margin-top:12px}
	.brp-live-cert-fields>div{padding:8px 5px}
	.brp-live-cert-notice{margin-top:12px;padding-top:10px}
	.brp-live-cert-footer{margin-top:12px;padding:10px 14px}
}
@media(max-width:900px){.brp-pc-confirmation-modal-card{width:min(900px,calc(100vw - 24px));max-height:calc(100vh - 24px)}.brp-pc-confirmation-grid{grid-template-columns:minmax(300px,1fr) minmax(290px,1fr);gap:12px;padding:12px}}
@media(max-width:760px){.brp-pc-confirmation.brp-pc-confirmation-modal{padding:0!important}.brp-pc-confirmation-modal-card{width:100%;max-height:100vh;height:100vh;border-radius:0;overflow:auto}.brp-pc-modal-head{border-radius:0;height:58px}.brp-pc-confirmation-grid{grid-template-columns:1fr;padding:10px;gap:10px}.brp-pc-confirmation-content{order:1}.brp-pc-certificate-panel{order:2}.brp-live-certificate-inner{padding:20px 14px 0}.brp-live-cert-inner h2{font-size:23px}.brp-live-cert-seal{width:82px;height:82px}.brp-live-cert-fields strong{font-size:9px}}
@media(max-width:430px){.brp-pc-confirmation-content{padding:11px 9px}.brp-live-cert-copy{font-size:10px}.brp-live-cert-fields strong{font-size:8px}.brp-live-cert-inner h2{font-size:20px}.brp-live-cert-footer{margin-left:-14px;margin-right:-14px}}
/* Detached confirmation inherits no .brp-layout-* selector, so preserve its original visual system. */
.brp-pc-confirmation-modal .brp-pc-conf-icon{width:72px;height:72px;margin:0 auto 1.05rem;border-radius:50%;background:rgba(22,163,74,.12);color:#16a34a;font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 8px rgba(22,163,74,.06);animation:brp-conf-ring-in .45s .1s cubic-bezier(.34,1.56,.64,1) both}.brp-pc-confirmation-modal .brp-pc-conf-title{margin:0 0 .4rem;font-size:1.35rem;font-weight:700;color:#0f172a}.brp-pc-confirmation-modal .brp-pc-conf-text{margin:0 0 .9rem;font-size:.9rem;color:#475569;line-height:1.5}.brp-pc-confirmation-modal .brp-pc-conf-choice-wrap{margin:0 0 .55rem;font-size:.92rem;color:#334155}.brp-pc-confirmation-modal .brp-pc-conf-choice{font-weight:700;color:#ea580c}.brp-pc-confirmation-modal .brp-pc-conf-meta{margin:0 0 .85rem;font-size:.76rem;color:#94a3b8}.brp-pc-confirmation-modal .brp-pc-conf-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:brp-conf-check-draw .35s .5s ease-out forwards}
.brp-pc-confirmation-modal .brp-pc-confirmation-content .brp-share-heading{font-size:.7rem;margin:.45rem 0 .35rem}.brp-pc-confirmation-modal .brp-pc-confirmation-content .brp-share-privacy{margin:.55rem 0 0;padding:.55rem .65rem;font-size:.67rem;line-height:1.4}.brp-pc-confirmation-modal .brp-pc-confirmation-content .brp-donate-btn{margin-top:.55rem;padding:.62rem .8rem;font-size:.76rem}

/* v1.9.32 — popup polish */
.brp-pc-confirmation-modal .brp-pc-modal-head{
	display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
	min-height:64px!important;height:auto!important;padding:12px 16px 12px 22px!important;box-sizing:border-box!important;
}
.brp-pc-confirmation-modal .brp-pc-confirmation-close{
	display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 38px!important;
	width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
	margin:0!important;padding:0!important;appearance:none!important;-webkit-appearance:none!important;
	font-family:Arial,sans-serif!important;font-size:25px!important;font-weight:400!important;line-height:38px!important;
	text-align:center!important;border-radius:50%!important;box-sizing:border-box!important;
	transform:none!important;position:relative!important;top:auto!important;right:auto!important;
}
.brp-pc-confirmation-modal .brp-pc-confirmation-close:hover{background:#f8fafc!important;border-color:#cbd5e1!important;transform:rotate(90deg)!important;transition:transform .2s ease,background .15s ease!important}
.brp-pc-confirmation-modal .brp-pc-confirmation-backdrop{opacity:0;animation:brpPopupBackdropIn .28s ease-out forwards}
.brp-pc-confirmation-modal .brp-pc-confirmation-modal-card{animation:brpPopupCardIn .42s cubic-bezier(.16,.84,.32,1) both}
.brp-pc-confirmation-modal.is-closing .brp-pc-confirmation-backdrop{animation:brpPopupBackdropOut .22s ease forwards}
.brp-pc-confirmation-modal.is-closing .brp-pc-confirmation-modal-card{animation:brpPopupCardOut .22s ease forwards}
@keyframes brpPopupBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes brpPopupBackdropOut{from{opacity:1}to{opacity:0}}
@keyframes brpPopupCardIn{from{opacity:0;transform:translateY(22px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes brpPopupCardOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(14px) scale(.98)}}

.brp-pc-confirmation-modal .brp-certificate-actions{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:.5rem 0 .55rem}
.brp-pc-confirmation-modal .brp-certificate-download{
	display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
	width:100%!important;min-height:40px!important;margin:0!important;padding:8px 12px!important;
	border:1px solid #d97706!important;border-radius:9px!important;background:#f59e0b!important;color:#fff!important;
	font-size:.78rem!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important;
	box-sizing:border-box!important;box-shadow:none!important;transform:none!important;
}
.brp-pc-confirmation-modal .brp-certificate-download:hover{background:#d97706!important;border-color:#b45309!important;transform:translateY(-1px)!important}
.brp-certificate-email-note{font-size:10px;color:#64748b;line-height:1.35;text-align:center}

/* Email receipt/certificate must remain visible after the confirmation is moved out of the Elementor tree. */
.brp-pc-confirmation-modal .brp-receipt-wrap{width:100%;max-width:none;margin:0 0 .55rem;opacity:1;animation:none}
.brp-pc-confirmation-modal .brp-receipt-box{padding:9px 10px;border-radius:10px;text-align:left;background:#fff;border:1px solid #e5e7eb}
.brp-pc-confirmation-modal .brp-receipt-title{font-size:11px;margin:0 0 3px}
.brp-pc-confirmation-modal .brp-receipt-sub{font-size:9px;white-space:normal;margin:0 0 6px}
.brp-pc-confirmation-modal .brp-receipt-email{padding:7px 8px;font-size:11px;margin-bottom:5px}
.brp-pc-confirmation-modal .brp-receipt-send{min-height:34px;padding:7px;font-size:10px;border-radius:7px}
.brp-pc-confirmation-modal .brp-receipt-note{font-size:8px;margin-top:5px}
.brp-pc-confirmation-modal .brp-receipt-error{font-size:9px;margin-top:5px}
.brp-pc-confirmation-modal .brp-receipt-sent{padding:9px;border-radius:9px}
.brp-pc-confirmation-modal .brp-receipt-sent-title{font-size:11px}
.brp-pc-confirmation-modal .brp-receipt-sent-sub,.brp-pc-confirmation-modal .brp-receipt-sent-junk{font-size:9px}

/* Six social actions in one row, with strong native icon visibility. */
.brp-pc-confirmation-modal .brp-share{width:100%;max-width:none;margin:.55rem auto 0}
.brp-pc-confirmation-modal .brp-share-heading{font-size:10px!important;margin:.35rem 0 .45rem!important}
.brp-pc-confirmation-modal .brp-share-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important;width:100%!important}
.brp-pc-confirmation-modal .brp-share-btn{
	display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
	gap:3px!important;min-width:0!important;min-height:48px!important;padding:5px 2px!important;
	border:1px solid #e2e8f0!important;border-radius:8px!important;background:#fff!important;color:#334155!important;
	box-sizing:border-box!important;line-height:1!important;overflow:hidden!important;
}
.brp-pc-confirmation-modal .brp-share-icon{width:22px!important;height:22px!important;min-width:22px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.brp-pc-confirmation-modal .brp-share-icon svg{display:block!important;width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;visibility:visible!important;opacity:1!important}
.brp-pc-confirmation-modal .brp-share-label{display:block!important;font-size:7.5px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.brp-pc-confirmation-modal .brp-share-icon--wa{color:#25D366!important}.brp-pc-confirmation-modal .brp-share-icon--x{color:#000!important}.brp-pc-confirmation-modal .brp-share-icon--fb{color:#1877F2!important}.brp-pc-confirmation-modal .brp-share-icon--li{color:#0A66C2!important}.brp-pc-confirmation-modal .brp-share-icon--copy,.brp-pc-confirmation-modal .brp-share-icon--native{color:#64748b!important}
.brp-pc-confirmation-modal .brp-share-icon--ig svg path{fill:url(#brp-ig-gradient)!important}
.brp-pc-confirmation-modal .brp-share-privacy{margin:.45rem 0 0!important}

/* Donate stays inside the confirmation panel and never floats outside it. */
.brp-pc-confirmation-modal .brp-donate-btn{
	display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
	width:100%!important;box-sizing:border-box!important;margin:.55rem 0 0!important;padding:9px 12px!important;
	background:#ea580c!important;color:#fff!important;border:0!important;border-radius:9px!important;
	font-size:10px!important;font-weight:700!important;line-height:1.2!important;text-decoration:none!important;
	position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
	transform:none!important;float:none!important;clear:both!important;
}
.brp-pc-confirmation-modal .brp-donate-btn:hover{background:#c2410c!important;color:#fff!important;transform:translateY(-1px)!important}
.brp-pc-confirmation-modal .brp-donate-icon{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}
.brp-pc-confirmation-modal .brp-donate-icon svg{display:block!important;width:15px!important;height:15px!important}

@media(max-width:760px){
	.brp-pc-confirmation-modal .brp-share-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
	.brp-pc-confirmation-modal .brp-share-btn{min-height:44px!important}
	.brp-pc-confirmation-modal .brp-share-icon{width:20px!important;height:20px!important;min-width:20px!important}
	.brp-pc-confirmation-modal .brp-share-icon svg{width:18px!important;height:18px!important}
	.brp-pc-confirmation-modal .brp-share-label{font-size:7px!important}
}

/* v1.9.32 — compact confirmation polish */
.brp-pc-confirmation-modal .brp-pc-modal-head > div{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0!important;flex-wrap:nowrap!important}
.brp-pc-confirmation-modal .brp-pc-modal-kicker{display:inline!important;white-space:nowrap!important;flex:0 0 auto!important}
.brp-pc-confirmation-modal .brp-pc-modal-head strong{display:inline!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.brp-pc-confirmation-modal .brp-pc-conf-meta{display:flex!important;flex-direction:column!important;gap:2px!important;margin:.15rem 0 .65rem!important}
.brp-pc-confirmation-modal .brp-pc-conf-meta span{display:block!important;line-height:1.25!important}
.brp-pc-confirmation-modal .brp-certificate-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;align-items:stretch!important;margin:.4rem 0 .5rem!important}
.brp-pc-confirmation-modal .brp-certificate-download,
.brp-pc-confirmation-modal .brp-certificate-email-toggle{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;min-height:38px!important;padding:7px 8px!important;box-sizing:border-box!important;border-radius:8px!important;font-size:.72rem!important;font-weight:700!important;line-height:1.15!important;cursor:pointer!important}
.brp-pc-confirmation-modal .brp-certificate-email-toggle{border:1px solid #cbd5e1!important;background:#fff!important;color:#334155!important}
.brp-pc-confirmation-modal .brp-certificate-email-toggle:hover,
.brp-pc-confirmation-modal .brp-certificate-email-toggle.is-active{background:#f8fafc!important;border-color:#94a3b8!important}
.brp-pc-confirmation-modal .brp-receipt-slot .brp-receipt-wrap[hidden]{display:none!important}
.brp-pc-confirmation-modal .brp-share-privacy{display:flex!important;align-items:flex-start!important;gap:7px!important}
.brp-pc-confirmation-modal .brp-share-privacy-icon{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 16px!important;width:16px!important;height:16px!important;margin-top:1px!important;line-height:0!important}
.brp-pc-confirmation-modal .brp-share-privacy-icon svg{display:block!important;width:16px!important;height:16px!important;margin:0!important}
.brp-pc-confirmation-modal .brp-share-privacy-body{display:block!important;min-width:0!important}
.brp-pc-confirmation-modal .brp-share-privacy-body strong{display:block!important;margin-bottom:1px!important}
.brp-pc-confirmation-modal .brp-share-icon--ig{color:#E1306C!important}
.brp-pc-confirmation-modal .brp-share-icon--ig svg{display:block!important;visibility:visible!important;opacity:1!important;fill:#E1306C!important}
.brp-pc-confirmation-modal .brp-share-icon--ig svg path{fill:#E1306C!important}
@media(max-width:760px){
 .brp-pc-confirmation-modal .brp-pc-modal-head > div{gap:6px!important}
 .brp-pc-confirmation-modal .brp-pc-modal-kicker{font-size:9px!important}
 .brp-pc-confirmation-modal .brp-pc-modal-head strong{font-size:13px!important}
 .brp-pc-confirmation-modal .brp-certificate-actions{grid-template-columns:1fr 1fr!important}
}

/* v1.9.33 popup compact text + working email certificate controls */
.brp-pc-confirmation-modal .brp-pc-modal-head > div{
	display:flex!important;
	align-items:center!important;
	gap:8px!important;
	min-width:0!important;
	white-space:nowrap!important;
}
.brp-pc-confirmation-modal .brp-pc-modal-kicker{
	display:inline-block!important;
	flex:0 0 auto!important;
	margin:0!important;
	white-space:nowrap!important;
}
.brp-pc-confirmation-modal .brp-pc-modal-head strong{
	display:inline-block!important;
	margin:0!important;
	white-space:nowrap!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
}
.brp-pc-confirmation-modal .brp-pc-conf-text{
	white-space:nowrap!important;
	max-width:none!important;
	font-size:.78rem!important;
	line-height:1.3!important;
	margin:.15rem 0 .45rem!important;
}
.brp-pc-confirmation-modal .brp-pc-conf-meta{
	display:block!important;
	white-space:nowrap!important;
	margin:.15rem 0 .55rem!important;
	font-size:.72rem!important;
	line-height:1.25!important;
}
.brp-pc-confirmation-modal .brp-pc-conf-meta span{
	display:inline!important;
	white-space:nowrap!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle{
	border:1px solid #2563eb!important;
	background:#2563eb!important;
	color:#fff!important;
	box-shadow:0 2px 6px rgba(37,99,235,.18)!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle:hover,
.brp-pc-confirmation-modal .brp-certificate-email-toggle.is-active{
	background:#1d4ed8!important;
	border-color:#1d4ed8!important;
	color:#fff!important;
}
.brp-pc-confirmation-modal .brp-share-privacy{
	align-items:center!important;
	flex-wrap:nowrap!important;
	white-space:nowrap!important;
	gap:7px!important;
	padding:.55rem .7rem!important;
	font-size:.68rem!important;
	line-height:1.25!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-icon{
	flex:0 0 16px!important;
	width:16px!important;
	height:16px!important;
	margin:0!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-body{
	flex:1 1 auto!important;
	min-width:0!important;
	white-space:nowrap!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-body strong{
	display:inline!important;
	margin:0 4px 0 0!important;
	font-weight:700!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-body br{display:none!important}
@media(max-width:760px){
	.brp-pc-confirmation-modal .brp-pc-modal-head > div{gap:5px!important}
	.brp-pc-confirmation-modal .brp-pc-modal-kicker{font-size:8px!important}
	.brp-pc-confirmation-modal .brp-pc-modal-head strong{font-size:11px!important}
	.brp-pc-confirmation-modal .brp-pc-conf-text{font-size:.7rem!important}
	.brp-pc-confirmation-modal .brp-pc-conf-meta{font-size:.66rem!important}
	.brp-pc-confirmation-modal .brp-share-privacy{font-size:.61rem!important}
}


/* v1.9.34 — final popup readability, email emphasis and soft CTA polish */
.brp-pc-confirmation-modal .brp-pc-modal-head > div{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.brp-pc-confirmation-modal .brp-pc-modal-kicker{
  flex:0 0 auto!important;
  font-size:10px!important;
  letter-spacing:1.25px!important;
  white-space:nowrap!important;
}
.brp-pc-confirmation-modal .brp-pc-modal-head strong{
  flex:0 1 auto!important;
  min-width:0!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:.05px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.brp-pc-confirmation-modal .brp-pc-confirmation-close{
  flex:0 0 34px!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  font-size:22px!important;line-height:32px!important;
}

/* Compact single-line confirmation messages. */
.brp-pc-confirmation-modal .brp-pc-conf-text{
  white-space:nowrap!important;
  overflow:visible!important;
  max-width:none!important;
  margin:.1rem 0 .4rem!important;
  font-size:.74rem!important;
  line-height:1.25!important;
}
.brp-pc-confirmation-modal .brp-pc-conf-meta{
  display:block!important;
  white-space:nowrap!important;
  margin:.1rem 0 .45rem!important;
  font-size:.68rem!important;
  line-height:1.2!important;
  color:#7b8794!important;
}
.brp-pc-confirmation-modal .brp-pc-conf-meta span{display:inline!important;white-space:nowrap!important}

/* Softer, lighter certificate CTA treatment. */
.brp-pc-confirmation-modal .brp-certificate-actions{gap:7px!important;margin:.35rem 0 .5rem!important}
.brp-pc-confirmation-modal .brp-certificate-download,
.brp-pc-confirmation-modal .brp-certificate-email-toggle{
  min-height:36px!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:.70rem!important;
  font-weight:500!important;
  letter-spacing:.05px!important;
  line-height:1.1!important;
  box-shadow:none!important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important;
}
.brp-pc-confirmation-modal .brp-certificate-download{
  background:#f8efe6!important;
  color:#8a4f20!important;
  border:1px solid #ead6c2!important;
}
.brp-pc-confirmation-modal .brp-certificate-download:hover{
  background:#f4e5d7!important;color:#75421b!important;border-color:#dfc4aa!important;transform:translateY(-1px)!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle{
  background:#eef5fb!important;
  color:#315b7d!important;
  border:1px solid #cddfeb!important;
  box-shadow:none!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle:hover,
.brp-pc-confirmation-modal .brp-certificate-email-toggle.is-active{
  background:#e3eff8!important;color:#274e6d!important;border-color:#b9d1e2!important;transform:translateY(-1px)!important;
}

/* Email certificate area: visually separated, but still compact. */
.brp-pc-confirmation-modal .brp-receipt-wrap{
  width:100%!important;
  max-width:none!important;
  margin:.1rem 0 .55rem!important;
  opacity:1!important;
  animation:none!important;
}
.brp-pc-confirmation-modal .brp-receipt-box{
  padding:11px 12px!important;
  border:1px solid #c9d8e5!important;
  border-left:3px solid #8eb6d2!important;
  border-radius:10px!important;
  background:#f7fbfe!important;
  box-shadow:0 3px 12px rgba(30,64,96,.07)!important;
}
.brp-pc-confirmation-modal .brp-receipt-title{
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:11px!important;font-weight:600!important;color:#274e6d!important;margin:0 0 3px!important;
}
.brp-pc-confirmation-modal .brp-receipt-sub{
  font-size:9px!important;color:#64748b!important;margin:0 0 7px!important;line-height:1.35!important;white-space:normal!important;
}
.brp-pc-confirmation-modal .brp-receipt-email{
  display:block!important;width:100%!important;height:36px!important;min-height:36px!important;box-sizing:border-box!important;
  padding:8px 10px!important;margin:0 0 6px!important;border:1px solid #b7c9d8!important;border-radius:8px!important;
  background:#fff!important;color:#1e293b!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:11px!important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.03)!important;
}
.brp-pc-confirmation-modal .brp-receipt-email::placeholder{color:#94a3b8!important;opacity:1!important}
.brp-pc-confirmation-modal .brp-receipt-email:focus{
  border-color:#7fa8c6!important;box-shadow:0 0 0 3px rgba(127,168,198,.14)!important;outline:none!important;
}
.brp-pc-confirmation-modal .brp-receipt-send{
  min-height:34px!important;padding:7px 10px!important;border-radius:8px!important;
  background:#dfeef7!important;color:#315b7d!important;border:1px solid #c1d9e9!important;
  font-family:"Segoe UI",Arial,sans-serif!important;font-size:10px!important;font-weight:500!important;letter-spacing:.05px!important;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease!important;
}
.brp-pc-confirmation-modal .brp-receipt-send:hover{background:#d3e7f3!important;border-color:#aecfe2!important;color:#274e6d!important}
.brp-pc-confirmation-modal .brp-receipt-note{
  font-size:8px!important;line-height:1.35!important;color:#718096!important;margin:6px 0 0!important;text-align:left!important;
}

/* Smooth reveal for the email form instead of an abrupt display. */
.brp-pc-confirmation-modal .brp-receipt-wrap{max-height:0!important;overflow:hidden!important;transform:translateY(-5px);opacity:0!important;transition:max-height .34s ease,opacity .28s ease,transform .34s ease!important}
.brp-pc-confirmation-modal .brp-receipt-wrap.brp-email-revealed{max-height:260px!important;opacity:1!important;transform:translateY(0)!important}
.brp-pc-confirmation-modal .brp-receipt-wrap[hidden]{display:none!important}

/* Keep the privacy icon immediately beside the sentence. */
.brp-pc-confirmation-modal .brp-share-privacy{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;
  gap:4px!important;padding:.45rem .55rem!important;margin:.4rem 0 0!important;white-space:nowrap!important;
  text-align:left!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-icon{
  flex:0 0 14px!important;width:14px!important;height:14px!important;margin:0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;line-height:0!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-icon svg{width:14px!important;height:14px!important;margin:0!important;display:block!important}
.brp-pc-confirmation-modal .brp-share-privacy-body{
  flex:0 1 auto!important;min-width:0!important;display:block!important;white-space:nowrap!important;
  line-height:1.2!important;font-size:.66rem!important;
}
.brp-pc-confirmation-modal .brp-share-privacy-body strong{display:inline!important;margin:0 3px 0 0!important}

@media(max-width:760px){
  .brp-pc-confirmation-modal .brp-pc-modal-head{gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .brp-pc-confirmation-modal .brp-pc-modal-kicker{font-size:8px!important;letter-spacing:1px!important}
  .brp-pc-confirmation-modal .brp-pc-modal-head strong{font-size:10px!important}
  .brp-pc-confirmation-modal .brp-pc-conf-text{font-size:.66rem!important}
  .brp-pc-confirmation-modal .brp-pc-conf-meta{font-size:.60rem!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body{font-size:.58rem!important}
}

/* v1.9.35 — mobile popup optimization */
@media (max-width:760px){
  /* Give the popup breathing room instead of locking it edge-to-edge. */
  .brp-pc-confirmation.brp-pc-confirmation-modal{padding:12px!important;box-sizing:border-box!important}
  .brp-pc-confirmation-modal-card{
    width:min(100%,520px)!important;
    height:auto!important;
    max-height:calc(100vh - 24px)!important;
    margin:auto!important;
    border-radius:18px!important;
    overflow:auto!important;
    box-shadow:0 18px 50px rgba(15,23,42,.18)!important;
  }

  /* Compact but fully visible header. */
  .brp-pc-confirmation-modal .brp-pc-modal-head{
    min-height:54px!important;height:54px!important;padding:9px 10px 9px 14px!important;
    gap:6px!important;overflow:visible!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-head>div{
    gap:5px!important;min-width:0!important;flex:1 1 auto!important;overflow:visible!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-kicker{
    font-size:7px!important;letter-spacing:.7px!important;line-height:1!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-head strong{
    font-size:9.5px!important;letter-spacing:0!important;line-height:1.1!important;
    overflow:visible!important;text-overflow:clip!important;
  }
  .brp-pc-confirmation-modal .brp-pc-confirmation-close{
    flex:0 0 30px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
    font-size:20px!important;line-height:28px!important;
  }

  /* Keep confirmation content first and make it comfortably padded. */
  .brp-pc-confirmation-grid{grid-template-columns:1fr!important;padding:12px!important;gap:12px!important}
  .brp-pc-confirmation-content{order:1!important;padding:15px 13px!important;border-radius:14px!important}
  .brp-pc-certificate-panel{order:2!important;padding:0!important}

  /* Make the certificate controls clearly visible in the mobile viewport. */
  .brp-pc-confirmation-modal .brp-certificate-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin:.55rem 0 .65rem!important;
  }
  .brp-pc-confirmation-modal .brp-certificate-download,
  .brp-pc-confirmation-modal .brp-certificate-email-toggle{
    min-height:38px!important;font-size:.68rem!important;padding:7px 5px!important;
  }

  /* Mobile social sharing: icons only, all six in one row. */
  .brp-pc-confirmation-modal .brp-share-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important}
  .brp-pc-confirmation-modal .brp-share-btn{min-height:38px!important;height:38px!important;padding:4px 1px!important;border-radius:8px!important}
  .brp-pc-confirmation-modal .brp-share-icon{width:22px!important;height:22px!important;min-width:22px!important}
  .brp-pc-confirmation-modal .brp-share-icon svg{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important}
  .brp-pc-confirmation-modal .brp-share-label{display:none!important}

  /* Privacy row: lock icon sits directly beside the sentence. */
  .brp-pc-confirmation-modal .brp-share-privacy{
    display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;
    padding:7px 8px!important;margin:.5rem 0 0!important;white-space:nowrap!important;overflow:hidden!important;
  }
  .brp-pc-confirmation-modal .brp-share-privacy-icon{flex:0 0 15px!important;width:15px!important;height:15px!important;margin:0!important}
  .brp-pc-confirmation-modal .brp-share-privacy-icon svg{width:15px!important;height:15px!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body{font-size:8px!important;line-height:1.2!important;white-space:nowrap!important;min-width:0!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body strong{margin-right:3px!important}

  /* Softer desktop-matching donate treatment, always visible. */
  .brp-pc-confirmation-modal .brp-donate-btn{
    display:flex!important;width:100%!important;min-height:38px!important;margin:.55rem 0 0!important;
    padding:8px 10px!important;border-radius:9px!important;background:#f3e5d7!important;color:#7a4b2a!important;
    border:1px solid #e5cfb8!important;font-size:10px!important;font-weight:500!important;
    box-shadow:none!important;position:relative!important;transform:none!important;visibility:visible!important;opacity:1!important;
  }
  .brp-pc-confirmation-modal .brp-donate-btn:hover{background:#eddbc8!important;color:#694022!important;transform:none!important}

  /* Mobile confirmation copy: exactly two lines. */
  .brp-pc-confirmation-modal .brp-pc-conf-text{
    white-space:normal!important;font-size:.70rem!important;line-height:1.45!important;margin:.15rem 0 .5rem!important;
  }
  .brp-pc-confirmation-modal .brp-pc-conf-text::first-line{white-space:nowrap!important}
  .brp-pc-confirmation-modal .brp-pc-conf-meta{font-size:.63rem!important;line-height:1.25!important}
}

@media (max-width:360px){
  .brp-pc-confirmation.brp-pc-confirmation-modal{padding:8px!important}
  .brp-pc-confirmation-modal-card{max-height:calc(100vh - 16px)!important}
  .brp-pc-confirmation-modal .brp-pc-modal-head{padding-left:10px!important;padding-right:7px!important}
  .brp-pc-confirmation-modal .brp-pc-modal-kicker{font-size:6.5px!important}
  .brp-pc-confirmation-modal .brp-pc-modal-head strong{font-size:8.7px!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body{font-size:7.5px!important}
}

/* v1.9.36 — definitive mobile popup layout override.
   These rules intentionally come last so older popup refinements cannot override them. */
@media (max-width:760px){
  .brp-pc-confirmation.brp-pc-confirmation-modal{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .brp-pc-confirmation-modal-card{
    position:relative!important;
    width:100%!important;
    max-width:520px!important;
    height:auto!important;
    max-height:calc(100dvh - 20px)!important;
    min-height:0!important;
    margin:0 auto!important;
    border-radius:18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-shadow:0 18px 55px rgba(15,23,42,.24)!important;
  }
  .brp-pc-modal-head{
    min-height:58px!important;
    height:auto!important;
    padding:11px 12px 11px 14px!important;
    gap:8px!important;
    align-items:center!important;
    background:#fffaf5!important;
    border-radius:18px 18px 0 0!important;
  }
  .brp-pc-modal-head>div{
    min-width:0!important;
    flex:1 1 auto!important;
    display:block!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  .brp-pc-modal-kicker{
    display:inline!important;
    font-size:9px!important;
    letter-spacing:1.1px!important;
    white-space:nowrap!important;
    margin-right:5px!important;
  }
  .brp-pc-modal-head strong{
    display:inline!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:#172033!important;
  }
  .brp-pc-confirmation-close{
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    font-size:21px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    margin:0!important;
  }
  .brp-pc-confirmation-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    padding:12px!important;
    align-items:stretch!important;
  }
  .brp-pc-confirmation-content{
    order:1!important;
    width:100%!important;
    min-width:0!important;
    padding:16px 13px 14px!important;
    border-radius:14px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .brp-pc-certificate-panel{
    order:2!important;
    width:100%!important;
    min-width:0!important;
    padding:8px!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
  }

  /* Keep the confirmation block compact but breathable. */
  .brp-pc-confirmation-modal .brp-pc-conf-icon{
    width:52px!important;height:52px!important;
    margin:0 auto 9px!important;
    box-shadow:0 0 0 6px rgba(22,163,74,.06)!important;
  }
  .brp-pc-confirmation-modal .brp-pc-conf-title{
    font-size:1.05rem!important;
    margin:0 0 6px!important;
  }
  .brp-pc-confirmation-modal .brp-pc-conf-text{
    max-width:none!important;
    margin:0 auto 9px!important;
    font-size:.76rem!important;
    line-height:1.45!important;
  }
  .brp-pc-confirmation-modal .brp-pc-conf-text::first-line{white-space:normal!important}
  .brp-pc-confirmation-modal .brp-pc-conf-choice-wrap{
    margin:0 0 7px!important;
    font-size:.78rem!important;
  }
  .brp-pc-confirmation-modal .brp-pc-conf-meta{
    display:block!important;
    margin:0 0 9px!important;
    font-size:.67rem!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }

  /* Certificate actions must always be visible and usable on mobile. */
  .brp-pc-confirmation-modal .brp-certificate-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
    gap:8px!important;
    margin:8px 0 9px!important;
    min-height:40px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .brp-pc-confirmation-modal .brp-certificate-download,
  .brp-pc-confirmation-modal .brp-certificate-email-toggle{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    margin:0!important;
    padding:7px 6px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    box-sizing:border-box!important;
    border-radius:9px!important;
    font-family:"Segoe UI",Arial,sans-serif!important;
    font-size:11px!important;
    font-weight:600!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .brp-pc-confirmation-modal .brp-certificate-download{
    background:#f8eee3!important;
    border:1px solid #ead8c5!important;
    color:#76543a!important;
  }
  .brp-pc-confirmation-modal .brp-certificate-email-toggle{
    background:#eaf3f8!important;
    border:1px solid #c9dfe9!important;
    color:#3c6173!important;
  }

  /* Email area is a distinct expandable card. */
  .brp-pc-confirmation-modal .brp-receipt-slot{width:100%!important;min-width:0!important}
  .brp-pc-confirmation-modal .brp-receipt-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0 0 10px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .brp-pc-confirmation-modal .brp-receipt-box{
    width:100%!important;
    box-sizing:border-box!important;
    padding:11px!important;
    border:1px solid #c8dce8!important;
    border-left:4px solid #86b8d1!important;
    border-radius:11px!important;
    background:#f4f9fc!important;
    box-shadow:0 4px 14px rgba(61,99,120,.08)!important;
  }
  .brp-pc-confirmation-modal .brp-receipt-title{
    color:#294e61!important;
    font-size:11px!important;
    font-weight:700!important;
  }
  .brp-pc-confirmation-modal .brp-receipt-sub{font-size:9px!important;line-height:1.35!important}
  .brp-pc-confirmation-modal .brp-receipt-email{
    width:100%!important;
    min-height:38px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    border:1px solid #b9cedb!important;
    border-radius:7px!important;
    font-size:12px!important;
  }
  .brp-pc-confirmation-modal .brp-receipt-send{
    width:100%!important;
    min-height:36px!important;
    background:#d9ebf4!important;
    border:1px solid #bdd7e5!important;
    color:#31586b!important;
  }

  /* Social icons only: six equal touch targets in one row. */
  .brp-pc-confirmation-modal .brp-share{width:100%!important;margin:8px 0 0!important}
  .brp-pc-confirmation-modal .brp-share-heading{font-size:9px!important;margin:0 0 6px!important}
  .brp-pc-confirmation-modal .brp-share-grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }
  .brp-pc-confirmation-modal .brp-share-btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    border-radius:9px!important;
    align-items:center!important;
    justify-content:center!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
  }
  .brp-pc-confirmation-modal .brp-share-icon{
    width:22px!important;height:22px!important;min-width:22px!important;
  }
  .brp-pc-confirmation-modal .brp-share-icon svg{
    display:block!important;width:21px!important;height:21px!important;
    visibility:visible!important;opacity:1!important;
  }
  .brp-pc-confirmation-modal .brp-share-label{display:none!important}
  .brp-pc-confirmation-modal .brp-share-icon--ig{color:#E1306C!important}
  .brp-pc-confirmation-modal .brp-share-icon--ig svg,
  .brp-pc-confirmation-modal .brp-share-icon--ig svg path{fill:#E1306C!important}

  /* Privacy row: icon immediately beside the sentence, not above it. */
  .brp-pc-confirmation-modal .brp-share-privacy{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    width:100%!important;
    margin:7px 0 0!important;
    padding:7px 8px!important;
    box-sizing:border-box!important;
    border-radius:8px!important;
    background:#f8fafc!important;
    white-space:nowrap!important;
  }
  .brp-pc-confirmation-modal .brp-share-privacy-icon{
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 15px!important;width:15px!important;height:15px!important;margin:0!important;
  }
  .brp-pc-confirmation-modal .brp-share-privacy-icon svg{display:block!important;width:15px!important;height:15px!important;margin:0!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body{
    flex:1 1 auto!important;min-width:0!important;display:block!important;
    font-size:8px!important;line-height:1.25!important;white-space:nowrap!important;
    overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;
  }
  .brp-pc-confirmation-modal .brp-share-privacy-body strong{display:inline!important;margin:0 3px 0 0!important}

  /* Donate button: same quiet palette as the desktop popup and always visible. */
  .brp-pc-confirmation-modal .brp-donate-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-height:40px!important;
    margin:8px 0 0!important;
    padding:9px 10px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    border-radius:9px!important;
    background:#f2e8dc!important;
    border:1px solid #e3d2c0!important;
    color:#6d4d35!important;
    font-family:"Segoe UI",Arial,sans-serif!important;
    font-size:10px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-decoration:none!important;
  }
  .brp-pc-confirmation-modal .brp-donate-icon{display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:center!important}
  .brp-pc-confirmation-modal .brp-donate-icon svg{display:block!important;width:15px!important;height:15px!important}

  /* The certificate remains below the controls and can be reached by scrolling. */
  .brp-pc-confirmation-modal .brp-live-certificate{width:100%!important;max-width:100%!important}
}

@media (max-width:380px){
  .brp-pc-confirmation.brp-pc-confirmation-modal{padding:7px!important}
  .brp-pc-confirmation-modal-card{max-height:calc(100dvh - 14px)!important;border-radius:16px!important}
  .brp-pc-modal-head{padding-left:11px!important;padding-right:9px!important}
  .brp-pc-modal-kicker{font-size:8px!important;letter-spacing:.9px!important}
  .brp-pc-modal-head strong{font-size:11px!important}
  .brp-pc-confirmation-close{width:30px!important;min-width:30px!important;height:30px!important}
  .brp-pc-confirmation-grid{padding:9px!important;gap:9px!important}
  .brp-pc-confirmation-content{padding:14px 10px 12px!important}
  .brp-pc-confirmation-modal .brp-certificate-download,
  .brp-pc-confirmation-modal .brp-certificate-email-toggle{font-size:10px!important}
  .brp-pc-confirmation-modal .brp-share-grid{gap:4px!important}
  .brp-pc-confirmation-modal .brp-share-btn{height:38px!important;min-height:38px!important}
  .brp-pc-confirmation-modal .brp-share-icon svg{width:20px!important;height:20px!important}
  .brp-pc-confirmation-modal .brp-share-privacy-body{font-size:7.5px!important}
}


/* v1.9.37 — stable mobile viewport + cache-safe final override.
   Uses the small viewport height so the modal never sits beneath mobile browser chrome. */
@media (max-width:760px){
  html.brp-modal-active, body.brp-confirmation-modal-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.brp-confirmation-modal-open{
    position:relative!important;
  }
  .brp-pc-confirmation.brp-pc-confirmation-modal{
    position:fixed!important;
    top:0!important;right:0!important;bottom:0!important;left:0!important;
    width:100vw!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    padding:12px 10px max(12px, env(safe-area-inset-bottom)) 10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    overflow:hidden!important;
    z-index:2147483647!important;
  }
  .brp-pc-confirmation-modal-card{
    position:relative!important;
    width:100%!important;
    max-width:520px!important;
    height:auto!important;
    max-height:calc(100svh - 24px - env(safe-area-inset-bottom))!important;
    margin:0 auto!important;
    border-radius:18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
  }
  .brp-pc-modal-head{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    min-height:54px!important;
    height:auto!important;
    box-sizing:border-box!important;
    padding:10px 10px 10px 14px!important;
    border-radius:18px 18px 0 0!important;
  }
  .brp-pc-modal-head>div{
    min-width:0!important;
    flex:1 1 auto!important;
    overflow:visible!important;
  }
  .brp-pc-modal-kicker{
    display:block!important;
    white-space:nowrap!important;
    font-size:8px!important;
    line-height:1!important;
    margin:0 0 3px!important;
  }
  .brp-pc-modal-head strong{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  .brp-pc-confirmation-close{
    flex:0 0 32px!important;
    width:32px!important;min-width:32px!important;
    height:32px!important;min-height:32px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;justify-content:center!important;
    line-height:1!important;
  }
}

/* Keep the plugin's runtime version aligned with the shipped build. */

/* v1.9.38 — slightly darker certificate CTAs for clearer visibility. */
.brp-pc-confirmation-modal .brp-certificate-download{
  background:#ead9c7!important;
  border-color:#cdb397!important;
  color:#5a3923!important;
  box-shadow:0 1px 2px rgba(60,40,20,.08)!important;
}
.brp-pc-confirmation-modal .brp-certificate-download:hover{
  background:#dfc8ae!important;
  border-color:#bfa181!important;
  color:#4c2e1c!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle{
  background:#d8e9f3!important;
  border-color:#aac9da!important;
  color:#294f63!important;
  box-shadow:0 1px 2px rgba(30,70,90,.08)!important;
}
.brp-pc-confirmation-modal .brp-certificate-email-toggle:hover,
.brp-pc-confirmation-modal .brp-certificate-email-toggle.is-active{
  background:#c8deea!important;
  border-color:#91b7cb!important;
  color:#214457!important;
}

/* ---- Certificate click/tap share (on-screen confirmation only) ---- */
.brp-live-certificate.brp-cert-shareable{
  position:relative;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:box-shadow .2s ease,transform .15s ease;
}
.brp-live-certificate.brp-cert-shareable:hover{
  box-shadow:0 8px 28px rgba(15,23,42,.14);
}
.brp-live-certificate.brp-cert-shareable:active{
  transform:scale(.995);
}
.brp-live-certificate.brp-cert-shareable:focus-visible{
  outline:3px solid #0f766e;
  outline-offset:3px;
}
.brp-cert-share-badge{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(11,27,51,.88);
  color:#fff;
  font:700 10px/1 Arial,sans-serif;
  letter-spacing:.04em;
  pointer-events:none;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
  opacity:.92;
}
.brp-cert-share-badge svg{display:block;flex-shrink:0}
@media (hover:hover){
  .brp-live-certificate.brp-cert-shareable:hover .brp-cert-share-badge{
    background:#0f766e;
    opacity:1;
  }
}

.brp-cert-share-backdrop{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  z-index:100050;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
}
.brp-cert-share-backdrop.is-open{
  opacity:1;
  visibility:visible;
}
.brp-cert-share-sheet{
  width:min(420px,100%);
  background:#fff;
  border-radius:20px 20px 0 0;
  box-shadow:0 -12px 40px rgba(15,23,42,.2);
  padding:12px 20px 28px;
  transform:translateY(110%);
  transition:transform .28s cubic-bezier(.16,.84,.32,1);
}
.brp-cert-share-backdrop.is-open .brp-cert-share-sheet{
  transform:translateY(0);
}
@media (min-width:768px){
  .brp-cert-share-backdrop{
    align-items:center;
  }
  .brp-cert-share-sheet{
    border-radius:16px;
    padding:20px 24px 24px;
    max-width:400px;
    transform:translateY(12px) scale(.96);
    opacity:0;
    transition:transform .25s ease,opacity .25s ease;
  }
  .brp-cert-share-backdrop.is-open .brp-cert-share-sheet{
    transform:translateY(0) scale(1);
    opacity:1;
  }
  .brp-cert-share-handle{display:none}
}
.brp-cert-share-handle{
  width:40px;height:4px;background:#cbd5e1;border-radius:2px;margin:4px auto 14px;
}
.brp-cert-share-title{
  font-size:1rem;font-weight:700;margin:0 0 4px;text-align:center;color:#0f172a;
}
.brp-cert-share-sub{
  font-size:.8rem;color:#64748b;text-align:center;margin:0 0 18px;
}
.brp-cert-share-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px 8px;
}
.brp-cert-share-btn{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  border:none;background:transparent;cursor:pointer;
  padding:8px 4px;border-radius:12px;
  font:600 11px/1.2 Arial,sans-serif;color:#334155;
  -webkit-tap-highlight-color:transparent;
}
.brp-cert-share-btn:hover{background:#f1f5f9}
.brp-cert-share-btn:active{background:#e2e8f0}
.brp-csi{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;color:#fff;
}
.brp-csi svg{width:22px;height:22px;fill:currentColor}
.brp-csi-sys{background:#6366f1}
.brp-csi-wa{background:#25D366}
.brp-csi-x{background:#0f172a}
.brp-csi-fb{background:#1877F2}
.brp-csi-copy{background:#475569}
.brp-csi-dl{background:#0f766e}
.brp-csi-mail{background:#ea580c}
.brp-csi-close{background:#e2e8f0;color:#475569}
.brp-cert-share-toast{
  position:fixed;left:50%;bottom:28px;
  transform:translateX(-50%) translateY(20px);
  background:#0b1b33;color:#fff;font-size:.85rem;
  padding:10px 18px;border-radius:999px;z-index:100060;
  opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.brp-cert-share-toast.is-show{
  opacity:1;transform:translateX(-50%) translateY(0);
}
body.brp-cert-share-open{overflow:hidden}

/* ---- v1.9.38 — cert share above modal + light share icons + larger mobile header ---- */

/* Share sheet must sit above confirmation modal (z-index: 2147483647) */
.brp-cert-share-backdrop{
  z-index:2147483647!important;
  display:none!important;
}
.brp-cert-share-backdrop.is-open{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Light shaded share app icons */
.brp-csi-sys{background:#eef2ff!important;color:#4f46e5!important;border:1px solid #c7d2fe!important}
.brp-csi-wa{background:#ecfdf5!important;color:#059669!important;border:1px solid #a7f3d0!important}
.brp-csi-x{background:#f1f5f9!important;color:#0f172a!important;border:1px solid #cbd5e1!important}
.brp-csi-fb{background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}
.brp-csi-copy{background:#f8fafc!important;color:#475569!important;border:1px solid #e2e8f0!important}
.brp-csi-dl{background:#f0fdfa!important;color:#0f766e!important;border:1px solid #99f6e4!important}
.brp-csi-mail{background:#fff7ed!important;color:#c2410c!important;border:1px solid #fed7aa!important}
.brp-csi-close{background:#f1f5f9!important;color:#64748b!important;border:1px solid #e2e8f0!important}
.brp-csi{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
}
.brp-csi svg{width:22px!important;height:22px!important;fill:currentColor!important}

/* Mobile only: larger VOTE CONFIRMATION / Your vote has been recorded */
@media (max-width:760px){
  .brp-pc-confirmation-modal .brp-pc-modal-head,
  .brp-pc-modal-head{
    min-height:60px!important;
    height:auto!important;
    padding:12px 12px 12px 16px!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-kicker,
  .brp-pc-modal-kicker{
    font-size:11px!important;
    letter-spacing:1.4px!important;
    line-height:1.15!important;
    margin:0 0 4px!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-head strong,
  .brp-pc-modal-head strong{
    font-size:15px!important;
    line-height:1.25!important;
    letter-spacing:0!important;
  }
}
@media (max-width:380px){
  .brp-pc-confirmation-modal .brp-pc-modal-kicker,
  .brp-pc-modal-kicker{
    font-size:10px!important;
    letter-spacing:1.2px!important;
  }
  .brp-pc-confirmation-modal .brp-pc-modal-head strong,
  .brp-pc-modal-head strong{
    font-size:14px!important;
  }
}

/* ---- v1.9.39 mobile hard overrides (must be last) ---- */
@media screen and (max-width: 760px) {
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head .brp-pc-modal-kicker,
  body .brp-pc-confirmation-modal .brp-pc-modal-kicker,
  body .brp-pc-modal-head .brp-pc-modal-kicker {
    font-size: 11px !important;
    letter-spacing: 1.4px !important;
    line-height: 1.2 !important;
    margin: 0 0 4px 0 !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head strong,
  body .brp-pc-confirmation-modal .brp-pc-modal-head strong,
  body .brp-pc-modal-head strong {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  body .brp-pc-confirmation-modal .brp-live-certificate.brp-cert-shareable {
    cursor: pointer !important;
    pointer-events: auto !important;
    -webkit-tap-highlight-color: rgba(15, 118, 110, 0.15);
  }
  /* Share sheet inside modal stacking context */
  body .brp-pc-confirmation-modal .brp-cert-share-backdrop.is-open,
  body .brp-cert-share-backdrop.is-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, 0.55) !important;
  }
}
@media screen and (max-width: 380px) {
  body .brp-pc-confirmation-modal .brp-pc-modal-kicker,
  body .brp-pc-modal-kicker {
    font-size: 10px !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-head strong,
  body .brp-pc-modal-head strong {
    font-size: 14px !important;
  }
}

/* ---- v1.9.40 — share above cert + hover text + mobile header ---- */

/* Certificate share sheet always on top of confirmation UI */
body .brp-cert-share-backdrop.is-open {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  background: rgba(15, 23, 42, 0.55) !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body .brp-cert-share-backdrop.is-open .brp-cert-share-sheet {
  position: relative !important;
  z-index: 2 !important;
  width: min(400px, 100%) !important;
  background: #fff !important;
  border-radius: 20px 20px 0 0 !important;
  box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.25) !important;
  padding: 12px 18px 28px !important;
  pointer-events: auto !important;
  transform: none !important;
  opacity: 1 !important;
}
@media (min-width: 768px) {
  body .brp-cert-share-backdrop.is-open {
    align-items: center !important;
  }
  body .brp-cert-share-backdrop.is-open .brp-cert-share-sheet {
    border-radius: 16px !important;
    padding: 22px 24px 24px !important;
  }
}

/* Cert share button labels: stay dark on hover (theme often forces white) */
body .brp-cert-share-btn,
body .brp-cert-share-btn:hover,
body .brp-cert-share-btn:focus,
body .brp-cert-share-btn:active {
  color: #0f172a !important;
  background: transparent !important;
}
body .brp-cert-share-btn:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}
body .brp-cert-share-btn:hover .brp-csi-sys { background: #e0e7ff !important; color: #4338ca !important; }
body .brp-cert-share-btn:hover .brp-csi-wa { background: #d1fae5 !important; color: #047857 !important; }
body .brp-cert-share-btn:hover .brp-csi-x { background: #e2e8f0 !important; color: #0f172a !important; }
body .brp-cert-share-btn:hover .brp-csi-fb { background: #dbeafe !important; color: #1e40af !important; }
body .brp-cert-share-btn:hover .brp-csi-copy { background: #e2e8f0 !important; color: #334155 !important; }
body .brp-cert-share-btn:hover .brp-csi-dl { background: #ccfbf1 !important; color: #0f766e !important; }
body .brp-cert-share-btn:hover .brp-csi-mail { background: #ffedd5 !important; color: #c2410c !important; }
body .brp-cert-share-btn:hover .brp-csi-close { background: #e2e8f0 !important; color: #475569 !important; }

/* Confirmation panel social share buttons: keep label readable on hover */
body .brp-pc-confirmation-modal .brp-share-btn:hover,
body .brp-pc-confirmation-modal .brp-share-btn:focus {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: #cbd5e1 !important;
}
body .brp-pc-confirmation-modal .brp-share-btn:hover .brp-share-label,
body .brp-pc-confirmation-modal .brp-share-btn:focus .brp-share-label {
  color: #0f172a !important;
}

/* Mobile header text — last resort CSS */
@media screen and (max-width: 760px) {
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head {
    min-height: 64px !important;
    height: auto !important;
    padding: 12px 12px 12px 16px !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head .brp-pc-modal-kicker {
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
    line-height: 1.2 !important;
    margin: 0 0 5px 0 !important;
    display: block !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head strong {
    font-size: 16px !important;
    line-height: 1.3 !important;
    display: block !important;
  }
}

/* ---- v1.9.41 — mobile confirmation polish (header / thank-you / stance / donate) ---- */

/* Desktop: keep thank-you spans inline so layout is unchanged */
.brp-pc-conf-text-l1,
.brp-pc-conf-text-l2 {
  display: inline;
}
.brp-pc-conf-text-l2::before {
  content: ' ';
}

@media screen and (max-width: 760px) {
  /* Header: two lines, tight gap */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head,
  body .brp-pc-confirmation-modal .brp-pc-modal-head {
    min-height: 64px !important;
    height: auto !important;
    padding: 12px 12px 12px 16px !important;
    align-items: flex-start !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-head > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    flex-wrap: nowrap !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-kicker {
    display: block !important;
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-head strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Thank-you copy: two lines */
  body .brp-pc-confirmation-modal .brp-pc-conf-text {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    margin: 0.35rem auto 0.85rem !important;
    max-width: 20rem !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-text-l1,
  body .brp-pc-confirmation-modal .brp-pc-conf-text-l2 {
    display: block !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-text-l2::before {
    content: none !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-text-l1 {
    margin-bottom: 4px !important;
    color: #334155 !important;
    font-weight: 500 !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-text-l2 {
    color: #64748b !important;
    font-size: 0.82rem !important;
  }

  /* Your stance: soft green pill (matches approved design) */
  body .brp-pc-confirmation-modal .brp-pc-conf-choice-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0.5rem 0 1rem !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-label {
    display: block !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #94a3b8 !important;
    margin: 0 !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-conf-choice {
    display: inline-block !important;
    background: #f0fdf4 !important;
    border: 1.5px solid #86efac !important;
    color: #166534 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    padding: 10px 22px !important;
    border-radius: 999px !important;
    line-height: 1.25 !important;
    box-shadow: 0 1px 2px rgba(22, 101, 52, 0.06) !important;
  }

  /* Donate: standout CTA */
  body .brp-pc-confirmation-modal .brp-donate-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0.65rem 0 0 !important;
    padding: 14px 16px !important;
    border: none !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    box-shadow:
      0 4px 0 #9a3412,
      0 8px 24px rgba(234, 88, 12, 0.35) !important;
  }
  body .brp-pc-confirmation-modal .brp-donate-btn:hover,
  body .brp-pc-confirmation-modal .brp-donate-btn:focus {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
    color: #fff !important;
  }
  body .brp-pc-confirmation-modal .brp-donate-icon {
    display: flex !important;
    color: #fff !important;
  }
  body .brp-pc-confirmation-modal .brp-donate-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
  }
}

/* ---- v1.9.43 — remove cert share UI, align header, soft donate ---- */

/* Hide any leftover share-certificate chrome */
.brp-cert-share-badge,
.brp-cert-share-backdrop {
  display: none !important;
}
.brp-live-certificate {
  cursor: default !important;
  pointer-events: auto !important;
}
.brp-live-certificate.brp-cert-shareable {
  cursor: default !important;
}

/* Header: clean two-line stack on mobile, aligned left */
@media screen and (max-width: 760px) {
  body .brp-pc-confirmation-modal .brp-pc-modal-head > div,
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 3px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-kicker,
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-kicker {
    display: block !important;
    width: 100% !important;
    font-size: 11px !important;
    letter-spacing: 1.4px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
  }
  body .brp-pc-confirmation-modal .brp-pc-modal-head strong,
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-modal-head strong {
    display: block !important;
    width: 100% !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    white-space: normal !important;
    text-align: left !important;
    overflow: visible !important;
  }
}

/* Donate — bold brand-orange, same treatment on desktop and mobile (matches the
   "Support the Movement" button used everywhere else outside the confirmation modal). */
body .brp-pc-confirmation-modal .brp-donate-btn,
body .brp-donate-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 0.55rem 0 0 !important;
  padding: 12px 16px !important;
  border: 1px solid #c2410c !important;
  border-radius: 12px !important;
  background: #ea580c !important;
  color: #fff !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(234, 88, 12, 0.28) !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
}
body .brp-pc-confirmation-modal .brp-donate-btn:hover,
body .brp-pc-confirmation-modal .brp-donate-btn:focus,
body .brp-donate-btn:hover,
body .brp-donate-btn:focus {
  background: #c2410c !important;
  border-color: #9a3412 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(194, 65, 12, 0.32) !important;
}
body .brp-pc-confirmation-modal .brp-donate-icon,
body .brp-donate-icon {
  color: #fff !important;
  opacity: 1 !important;
}
body .brp-pc-confirmation-modal .brp-donate-icon svg,
body .brp-donate-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

/* ---- v1.9.44 — mobile confirmation redesign (mobile only; desktop untouched) ----
   Order: summary → certificate → Download/Email buttons → email form → share → donate. */
@media screen and (max-width: 760px) {
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-confirmation-grid {
    display: flex !important; flex-direction: column !important; gap: 18px !important;
    padding: 20px 16px 22px !important;
  }
  /* Flatten the old inner card so summary / certificate / actions can be ordered freely */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-confirmation-content { display: contents !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-top { order: 1 !important; text-align: center !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-certificate-panel {
    order: 2 !important; display: block !important; background: transparent !important;
    border: 0 !important; border-radius: 0 !important; padding: 0 !important; overflow: visible !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-bottom { order: 3 !important; display: block !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-live-certificate { box-shadow: 0 8px 24px rgba(15, 23, 42, .12) !important; }

  /* Summary */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-icon { width: 60px !important; height: 60px !important; margin: 0 auto 12px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-title { font-size: 1.4rem !important; line-height: 1.2 !important; margin: 0 0 6px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-text {
    font-size: .92rem !important; line-height: 1.5 !important; color: #475569 !important;
    max-width: 19rem !important; margin: 0 auto 18px !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-text::first-line { white-space: normal !important; }
  /* "One person, one vote." removed from the sentence on mobile */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-text-l2 { display: none !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-text-l1 { margin: 0 !important; color: #475569 !important; font-weight: 400 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-choice-wrap { gap: 6px !important; margin: 0 0 14px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-label { font-size: .68rem !important; letter-spacing: .12em !important; color: #94a3b8 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-choice { font-size: .92rem !important; padding: 9px 22px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-meta { display: block !important; margin: 0 !important; font-size: .72rem !important; line-height: 1.4 !important; color: #94a3b8 !important; letter-spacing: .02em !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-pc-conf-meta span { display: inline !important; white-space: normal !important; }

  /* Download / Email — directly under the certificate */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-actions {
    display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin: 0 !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-download,
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-email-toggle {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
    min-height: 48px !important; height: 48px !important; padding: 0 10px !important; box-sizing: border-box !important;
    border-radius: 10px !important; font-size: .86rem !important; font-weight: 600 !important; letter-spacing: .01em !important;
    line-height: 1.2 !important; white-space: nowrap !important; box-shadow: none !important; cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-download { background: #0b1b33 !important; color: #fff !important; border: 1.5px solid #0b1b33 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-email-toggle { background: #fff !important; color: #0b1b33 !important; border: 1.5px solid #cbd5e1 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-email-toggle.is-active { background: #f1f5f9 !important; border-color: #0b1b33 !important; }
  /* Consistent line icons instead of text glyphs (⇩ ✉ render differently per phone) */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-download > span,
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-email-toggle > span {
    width: 17px !important; height: 17px !important; font-size: 0 !important; flex: 0 0 17px;
    background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-download > span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12m0 0l-5-5m5 5l5-5M4 20h16'/%3E%3C/svg%3E") !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-certificate-email-toggle > span { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1b33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E") !important; }

  /* Email form (opens under the buttons) */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-slot { margin: 0 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-wrap { margin: 0 !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-wrap.brp-email-revealed { margin: 12px 0 0 !important; max-height: 480px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-box {
    background: #f8fafc !important; border: 1px solid #e2e8f0 !important; border-radius: 12px !important;
    padding: 16px 14px !important; box-shadow: none !important; text-align: center !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-title { font-size: .95rem !important; font-weight: 700 !important; color: #0f172a !important; margin: 0 0 4px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-sub { font-size: .8rem !important; color: #64748b !important; margin: 0 0 12px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-email {
    display: block !important; width: 100% !important; box-sizing: border-box !important; height: 48px !important;
    padding: 0 14px !important; margin: 0 0 10px !important; border: 1.5px solid #cbd5e1 !important; border-radius: 10px !important;
    background: #fff !important; font-size: 16px !important; color: #0f172a !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-send {
    width: 100% !important; height: 48px !important; border-radius: 10px !important; border: 0 !important;
    background: #0b1b33 !important; color: #fff !important; font-size: .9rem !important; font-weight: 600 !important; box-shadow: none !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-receipt-note { font-size: .72rem !important; color: #94a3b8 !important; margin: 10px 0 0 !important; }

  /* Share + privacy + donate */
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share { margin: 22px 0 0 !important; padding: 20px 0 0 !important; border-top: 1px solid #e5e7eb !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-heading {
    font-size: .72rem !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important;
    color: #64748b !important; text-align: center !important; margin: 0 0 12px !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-grid { gap: 8px !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-btn {
    height: 46px !important; min-height: 46px !important; border: 1px solid #e2e8f0 !important; border-radius: 10px !important; background: #fff !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-privacy {
    display: flex !important; align-items: flex-start !important; gap: 10px !important; margin: 14px 0 0 !important; padding: 11px 12px !important;
    white-space: normal !important; background: #f8fafc !important; border: 1px solid #eef2f6 !important; border-radius: 10px !important;
  }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-privacy-icon { flex: 0 0 16px !important; width: 16px !important; height: 16px !important; margin: 1px 0 0 !important; color: #64748b !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-privacy-body { font-size: .76rem !important; line-height: 1.45 !important; white-space: normal !important; color: #64748b !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-share-privacy-body strong { display: block !important; margin: 0 0 1px !important; color: #334155 !important; font-size: .78rem !important; }
  body .brp-pc-confirmation.brp-pc-confirmation-modal .brp-donate-btn {
    margin: 14px 0 0 !important; padding: 0 16px !important; border-radius: 10px !important;
  }
}

/* Mobile: whole terms/notice row is a large, easy touch target (not just the checkbox) */
@media (max-width: 640px) {
	.brp-terms-label {
		display: flex !important;
		align-items: flex-start !important;
		gap: 0.65rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 0.65rem 0.5rem !important;
		margin: 0 -0.25rem !important;
		border-radius: 10px !important;
		cursor: pointer !important;
		-webkit-tap-highlight-color: rgba(234, 88, 12, 0.12);
		min-height: 44px !important;
	}

	.brp-terms-checkbox {
		width: 1.25rem !important;
		height: 1.25rem !important;
		min-width: 1.25rem !important;
		min-height: 1.25rem !important;
		margin-top: 0.1rem !important;
		flex-shrink: 0 !important;
		/* Larger native checkbox hit area on mobile */
		transform: scale(1.15);
		transform-origin: top left;
	}

	.brp-terms-text {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		pointer-events: auto !important;
	}

	/* Keep the expand control tappable but visually part of the same row */
	.brp-terms-toggle {
		display: inline !important;
		padding: 0.15rem 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
		/* Ensure it remains a distinct control (expand only) */
		position: relative;
		z-index: 1;
	}

	/* Slight visual feedback when the row is active */
	.brp-terms-label:active {
		background: rgba(234, 88, 12, 0.06);
	}

	.brp-terms.is-error .brp-terms-label {
		padding: 0.5rem !important;
	}
}

/* ------------------------------------------------------------------ */
/* Desktop confirmation popup — header alignment fix + compact "icon + */
/* Vote Recorded" row + decluttered meta (requested fix). Kept as one  */
/* block at the end of the file so it reliably wins over the older,    */
/* conflicting mobile-era overrides above, without touching mobile.    */
/* ------------------------------------------------------------------ */
@media(min-width:761px){
	/* 1) Header: "VOTE CONFIRMATION" + title were vertically misaligned
	   because the two spans had different line-heights on the same
	   baseline. Centering both and zeroing line-height fixes it. */
	.brp-pc-confirmation-modal .brp-pc-modal-head > div{
		align-items:center!important;
	}
	.brp-pc-confirmation-modal .brp-pc-modal-kicker{
		line-height:1!important;
		margin:0!important;
	}
	.brp-pc-confirmation-modal .brp-pc-modal-head strong{
		line-height:1.2!important;
		margin:0!important;
	}

	/* 2) Icon + "Vote Recorded" on one line instead of a big stacked
	   circle + heading. Icon enlarged (30px -> 44px) per approved demo
	   so it reads clearly at a glance. flex-basis:100% on the rows
	   below forces each onto its own line while the icon+title pair
	   share the first line. */
	.brp-pc-confirmation-modal .brp-pc-conf-top{
		display:flex!important;
		flex-wrap:wrap!important;
		align-items:center!important;
		justify-content:center!important;
		gap:10px 12px!important;
		text-align:center!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-icon{
		width:44px!important;
		height:44px!important;
		margin:0!important;
		flex:0 0 auto!important;
		box-shadow:none!important;
		animation:none!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-icon svg{
		width:24px!important;
		height:24px!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-title{
		margin:0!important;
		font-size:1.25rem!important;
	}

	/* 3) Declutter: "One person, one vote." was repeated twice — once
	   in the confirmation text and again in the meta line below.
	   Mobile already hides this duplicate; do the same on desktop.
	   Spacing between each row widened per approved demo so the
	   header block, stance line and meta line read as distinct rows
	   instead of running together. */
	.brp-pc-confirmation-modal .brp-pc-conf-text-l2{
		display:none!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-text{
		flex-basis:100%!important;
		margin:.55rem 0 0!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-text-l1{
		margin:0!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-choice-wrap{
		flex-basis:100%!important;
		margin:.65rem 0 0!important;
	}
	.brp-pc-confirmation-modal .brp-pc-conf-meta{
		flex-basis:100%!important;
		margin:.35rem 0 0!important;
	}

	/* 4) Clear separation between the header block, the certificate
	   actions, the share section and the donate CTA, per approved
	   demo. A hairline divider marks the start of the share section
	   the same way it already does on mobile. Margins trimmed from an
	   earlier pass — they read clearly but were tall enough to force a
	   scrollbar on shorter desktop windows. */
	.brp-pc-confirmation-modal .brp-certificate-actions{
		margin:1rem 0 0!important;
	}
	.brp-pc-confirmation-modal .brp-receipt-slot:not(:empty){
		margin:.5rem 0 0!important;
	}
	.brp-pc-confirmation-modal .brp-share{
		margin:1rem 0 0!important;
		padding:.9rem 0 0!important;
		border-top:1px solid #e5e7eb!important;
	}
	.brp-pc-confirmation-modal .brp-share-heading{
		margin:0 0 .5rem!important;
	}
	.brp-pc-confirmation-modal .brp-share-privacy{
		margin:.5rem 0 0!important;
	}
	.brp-pc-confirmation-modal .brp-donate-btn{
		margin:.9rem 0 0!important;
	}

	/* 5) Header: center "VOTE CONFIRMATION · Your vote has been
	   recorded" across the full bar instead of left-aligned. The close
	   button is pulled out of flow so it doesn't skew the centering. */
	.brp-pc-modal-head,
	.brp-pc-confirmation-modal .brp-pc-modal-head{
		position:relative!important;
	}
	.brp-pc-confirmation-modal .brp-pc-modal-head > div{
		width:100%!important;
		justify-content:center!important;
		padding-right:46px!important;
		box-sizing:border-box!important;
	}
	.brp-pc-confirmation-modal .brp-pc-confirmation-close{
		position:absolute!important;
		right:16px!important;
		top:50%!important;
		transform:translateY(-50%)!important;
	}
	.brp-pc-confirmation-modal .brp-pc-confirmation-close:hover{
		transform:translateY(-50%) rotate(90deg)!important;
	}

	/* 6) Certificate stretches to fill the full height of its panel
	   instead of floating centered with empty space above and below.
	   No transform/scale involved (the panel is also rasterized for
	   the PNG download), just real flex layout: the panel and slot
	   stretch, the certificate becomes a column flex box, and the navy
	   footer is pinned to the bottom with the remaining space. */
	.brp-pc-certificate-panel{
		align-items:stretch!important;
	}
	.brp-pc-certificate-slot{
		align-items:stretch!important;
	}
	.brp-live-certificate{
		display:flex!important;
		flex-direction:column!important;
		width:min(520px,100%)!important;
	}
	.brp-live-cert-inner{
		flex:1!important;
		display:flex!important;
		flex-direction:column!important;
	}
	.brp-live-cert-seal{
		margin:28px auto 10px!important;
	}
	.brp-live-cert-fields{
		margin-top:24px!important;
	}
	.brp-live-cert-notice{
		margin-top:22px!important;
	}
	.brp-live-cert-footer{
		margin-top:auto!important;
		padding-top:16px!important;
		padding-bottom:16px!important;
	}
}

/* ------------------------------------------------------------------ */
/* Email receipt box: always visible (no more reveal-on-click), with a */
/* light hover preview and a stronger focused highlight on click that  */
/* fades out. Global (not width-scoped) so it applies on both mobile   */
/* and desktop, overriding the older collapse/reveal CSS above.        */
/* ------------------------------------------------------------------ */
.brp-pc-confirmation-modal .brp-receipt-wrap{
	display:block!important;
	max-height:none!important;
	opacity:1!important;
	transform:none!important;
	overflow:visible!important;
}
.brp-pc-confirmation-modal .brp-receipt-box{
	transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease!important;
}
.brp-pc-confirmation-modal .brp-receipt-box.brp-receipt-highlight-soft{
	background:#f1f7fc!important;
	border-color:#b5d4f4!important;
}
.brp-pc-confirmation-modal .brp-receipt-box.brp-receipt-highlight-strong{
	background:#eaf3fb!important;
	border-color:#85b7eb!important;
	box-shadow:0 0 0 4px #e6f1fb!important;
}


/* Chip stance — mobile */
@media (max-width: 480px) {
	.brp-layout-perspective-orange .brp-pc-stances,
	.brp-layout-perspective-flat .brp-pc-stances {
		gap: 0.45rem;
	}
	.brp-layout-perspective-orange .brp-pc-stance,
	.brp-layout-perspective-flat .brp-pc-stance {
		padding: 0.5rem 0.85rem;
	}
	.brp-layout-perspective-orange .brp-pc-stance-main,
	.brp-layout-perspective-flat .brp-pc-stance-main {
		font-size: 0.74rem;
	}
}

/* Terms: exactly 2 lines — link must not drop to a 3rd line */
.brp-terms-text {
	display: flex;
	flex-direction: column;
	gap: 0.12rem;
	min-width: 0;
}
.brp-terms-line {
	display: block;
	line-height: 1.4;
	white-space: nowrap;
}
.brp-terms-line .brp-terms-toggle {
	display: inline;
	margin-left: 0.3rem;
	white-space: nowrap;
}
@media (max-width: 420px) {
	.brp-terms-line {
		font-size: 0.72rem;
	}
}


/* Footer breathing room — light only (keep form above the fold) */
.brp-layout-perspective-orange .brp-terms,
.brp-layout-perspective-flat .brp-terms {
	margin: 0.55rem 0 0;
	padding: 0.2rem 0;
}
.brp-layout-perspective-orange .brp-security-row,
.brp-layout-perspective-flat .brp-security-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.45rem;
	margin: 0.55rem 0 0;
	padding: 0.15rem 0;
	text-align: left;
}
.brp-layout-perspective-orange .brp-turnstile-wrap,
.brp-layout-perspective-flat .brp-turnstile-wrap {
	text-align: left;
}
.brp-layout-perspective-orange .brp-recaptcha-note,
.brp-layout-perspective-flat .brp-recaptcha-note {
	margin: 0.15rem 0 0;
	font-size: 0.7rem;
	line-height: 1.35;
	color: #94a3b8;
	text-align: left;
}
.brp-layout-perspective-orange .brp-terms + .brp-pc-submit,
.brp-layout-perspective-orange .brp-security-row + .brp-pc-submit,
.brp-layout-perspective-flat .brp-terms + .brp-pc-submit,
.brp-layout-perspective-flat .brp-security-row + .brp-pc-submit {
	margin-top: 0.65rem;
}
.brp-layout-perspective-orange .brp-pc-submit,
.brp-layout-perspective-flat .brp-pc-submit {
	margin-top: 0.65rem;
}
.brp-layout-perspective-orange .brp-pc-trust,
.brp-layout-perspective-flat .brp-pc-trust {
	margin-top: 0.5rem;
}

/* Submit button icon */
.brp-layout-perspective-orange .brp-pc-submit,
.brp-layout-perspective-flat .brp-pc-submit {
	gap: 8px;
}
.brp-submit-icon {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
}

/* Turnstile: slightly tighter footprint when present */
.brp-turnstile-wrap {
	margin: 0.1rem 0;
	line-height: 0;
	max-width: 100%;
}
.brp-turnstile-wrap iframe {
	max-height: 72px;
}

@media (max-width: 640px) {
	.brp-layout-perspective-orange .brp-terms,
	.brp-layout-perspective-flat .brp-terms {
		margin-top: 0.4rem;
		padding: 0.12rem 0;
	}
	.brp-layout-perspective-orange .brp-security-row,
	.brp-layout-perspective-flat .brp-security-row {
		margin-top: 0.4rem;
		gap: 0.35rem;
	}
	.brp-layout-perspective-orange .brp-security-row + .brp-pc-submit,
	.brp-layout-perspective-flat .brp-security-row + .brp-pc-submit {
		margin-top: 0.5rem;
	}
}


/* Certificate: logo fit + legal line single-row */
.brp-live-cert-logo-wrap {
	text-align: center;
	margin: 0 0 10px;
	padding: 0 10px;
	box-sizing: border-box;
	overflow: hidden;
}
.brp-live-cert-logo {
	display: block;
	margin: 0 auto;
	max-width: 280px;
	width: min(70%, 280px);
	height: auto;
	object-fit: contain;
}

@media (max-width: 480px) {
	
	.brp-live-cert-logo {
		max-width: 200px;
		width: 75%;
	}
}


/* Certificate logo */
.brp-live-cert-logo-wrap {
	text-align: center;
	margin: 0 0 10px;
	padding: 0 10px;
	box-sizing: border-box;
	overflow: hidden;
}
.brp-live-cert-logo {
	display: block;
	margin: 0 auto;
	max-width: 280px;
	width: min(70%, 280px);
	height: auto;
	object-fit: contain;
}





/* Vote confirmation header alignment */
.brp-pc-confirmation-modal .brp-pc-modal-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
.brp-pc-confirmation-modal .brp-pc-modal-head > div {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	min-width: 0 !important;
	line-height: 1.2 !important;
}
.brp-pc-confirmation-modal .brp-pc-modal-kicker {
	display: inline-block !important;
	font-size: 0.68rem !important;
	letter-spacing: 0.12em !important;
	font-weight: 800 !important;
	color: #ea580c !important;
	line-height: 1.2 !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}
.brp-pc-confirmation-modal .brp-pc-modal-head strong {
	display: inline-block !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #172033 !important;
	line-height: 1.2 !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}


/* Certificate legal text — always stay inside border (esp. mobile) */
.brp-live-certificate,
.brp-live-cert-inner,
.brp-live-cert-notice {
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}
.brp-live-cert-notice {
	padding-left: 10px !important;
	padding-right: 10px !important;
	width: 100% !important;
}
.brp-live-cert-legal {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 2px !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-wrap: break-word !important;
	word-break: break-word !important;
	hyphens: auto;
	font-size: 0.68rem !important;
	line-height: 1.4 !important;
	color: #64748b !important;
	text-align: center !important;
}
@media (max-width: 480px) {
	.brp-live-cert-legal {
		font-size: 0.62rem !important;
		line-height: 1.35 !important;
		padding: 0 4px !important;
	}
	.brp-live-cert-notice {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

/* ========== Cast Vote Clean — exact reference form design ========== */
.brp-layout-cast-vote-clean {
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	max-width: var(--brp-form-width, 560px);
	width: 100%;
	margin: 0 auto;
}
.brp-layout-cast-vote-clean .brp-cvc-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 1rem;
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
	overflow: hidden;
	min-height: var(--brp-form-min-height, auto);
}
.brp-layout-cast-vote-clean .brp-cvc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #0f172a;
	color: #fff;
	padding: 1rem 1.5rem;
}
.brp-layout-cast-vote-clean .brp-cvc-title {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: #fff;
}
.brp-layout-cast-vote-clean .brp-cvc-verified {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	background: rgba(5, 150, 105, 0.2);
	border: 1px solid rgba(16, 185, 129, 0.3);
	color: #34d399;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.25rem 0.75rem;
	border-radius: 9999px;
	box-shadow: none;
	text-shadow: none;
}
.brp-layout-cast-vote-clean .brp-cvc-verified-check {
	font-size: 0.75rem;
}
.brp-layout-cast-vote-clean .brp-cvc-form {
	padding: 1.5rem;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-form { padding: 2rem; }
}
.brp-layout-cast-vote-clean .brp-cvc-step1 {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.brp-layout-cast-vote-clean .brp-cvc-intro { margin: 0; }
.brp-layout-cast-vote-clean .brp-cvc-poll-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-poll-title {
		font-size: 1.35rem;
		white-space: nowrap;
	}
}
@media (max-width: 420px) {
	.brp-layout-cast-vote-clean .brp-cvc-poll-title {
		font-size: 1.05rem;
		white-space: normal;
	}
}
.brp-layout-cast-vote-clean .brp-cvc-poll-q {
	margin: 0.25rem 0 0;
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.5;
}
.brp-layout-cast-vote-clean .brp-cvc-stance-label,
.brp-layout-cast-vote-clean .brp-cvc-fields label,
.brp-layout-cast-vote-clean .brp-cvc-label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: #334155;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.5rem;
}
.brp-layout-cast-vote-clean .brp-req { color: #ea580c; }
.brp-layout-cast-vote-clean .brp-cvc-stances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-stances { gap: 0.75rem; }
}
.brp-layout-cast-vote-clean .brp-cvc-stance {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	padding: 0.75rem 0.5rem;
	border: 2px solid #e2e8f0;
	border-radius: 0.75rem;
	background: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	color: #334155;
	cursor: pointer;
	text-align: center;
	transition: border-color 0.15s, background 0.15s;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-stance { font-size: 0.875rem; }
}
.brp-layout-cast-vote-clean .brp-cvc-stance input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.brp-layout-cast-vote-clean .brp-cvc-stance-icon {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}
.brp-layout-cast-vote-clean .brp-cvc-stance-support .brp-cvc-stance-icon { color: #059669; }
.brp-layout-cast-vote-clean .brp-cvc-stance-oppose .brp-cvc-stance-icon { color: #e11d48; }
.brp-layout-cast-vote-clean .brp-cvc-stance-neutral .brp-cvc-stance-icon { color: #94a3b8; }
.brp-layout-cast-vote-clean .brp-cvc-stance-support:hover { border-color: #10b981; background: rgba(16, 185, 129, 0.05); }
.brp-layout-cast-vote-clean .brp-cvc-stance-oppose:hover { border-color: #f43f5e; background: rgba(244, 63, 94, 0.05); }
.brp-layout-cast-vote-clean .brp-cvc-stance-neutral:hover { border-color: #94a3b8; background: #f8fafc; }
.brp-layout-cast-vote-clean .brp-cvc-stance-support:has(input:checked),
.brp-layout-cast-vote-clean .brp-cvc-stance-support.is-selected {
	border-color: #10b981;
	background: rgba(16, 185, 129, 0.08);
}
.brp-layout-cast-vote-clean .brp-cvc-stance-oppose:has(input:checked),
.brp-layout-cast-vote-clean .brp-cvc-stance-oppose.is-selected {
	border-color: #f43f5e;
	background: rgba(244, 63, 94, 0.08);
}
.brp-layout-cast-vote-clean .brp-cvc-stance-neutral:has(input:checked),
.brp-layout-cast-vote-clean .brp-cvc-stance-neutral.is-selected {
	border-color: #94a3b8;
	background: #f8fafc;
}
.brp-layout-cast-vote-clean .brp-cvc-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-fields { grid-template-columns: 1fr 1fr; }
}
.brp-layout-cast-vote-clean .brp-cvc-select,
.brp-layout-cast-vote-clean .brp-cvc-input {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	padding: 0.625rem 0.875rem;
	font-size: 0.875rem;
	color: #1e293b;
	font-family: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.brp-layout-cast-vote-clean .brp-cvc-select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	background-size: 14px;
	padding-right: 2rem;
}
.brp-layout-cast-vote-clean .brp-cvc-select:focus,
.brp-layout-cast-vote-clean .brp-cvc-input:focus {
	outline: none;
	border-color: #f97316;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
	background-color: #fff;
}
.brp-layout-cast-vote-clean .brp-cvc-select:invalid,
.brp-layout-cast-vote-clean .brp-cvc-select option[value=""] {
	color: #94a3b8;
}
.brp-layout-cast-vote-clean .brp-cvc-select option { color: #1e293b; }
.brp-layout-cast-vote-clean .brp-cvc-gender-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-gender-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.brp-layout-cast-vote-clean .brp-cvc-gender-opt {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	padding: 0.625rem;
	cursor: pointer;
	font-size: 0.875rem;
	font-weight: 400;
	color: #334155;
	background: #fff;
	transition: background 0.15s, border-color 0.15s;
}
.brp-layout-cast-vote-clean .brp-cvc-gender-opt:hover { background: #f8fafc; }
.brp-layout-cast-vote-clean .brp-cvc-gender-opt input {
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: #ea580c;
	flex-shrink: 0;
}
.brp-layout-cast-vote-clean .brp-cvc-gender-opt span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.brp-layout-cast-vote-clean .brp-cvc-gender-opt:has(input:checked) {
	border-color: #f97316;
	background: #fff7ed;
}
.brp-layout-cast-vote-clean .brp-cvc-terms {
	margin: 0;
	padding-top: 0.25rem;
}
.brp-layout-cast-vote-clean .brp-cvc-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	cursor: pointer;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-checkbox {
	margin-top: 0.25rem;
	width: 1rem;
	height: 1rem;
	accent-color: #ea580c;
	flex-shrink: 0;
	border-radius: 0.25rem;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-text {
	font-size: 0.7rem;
	color: #64748b;
	line-height: 1.45;
	font-weight: 400;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-toggle {
	white-space: nowrap;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-toggle {
	display: inline;
	border: none;
	background: none;
	color: #ea580c;
	font-size: inherit;
	font-weight: 500;
	cursor: pointer;
	padding: 0;
	margin: 0;
	font-family: inherit;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-toggle:hover { text-decoration: underline; }
.brp-layout-cast-vote-clean .brp-security-row {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}
.brp-layout-cast-vote-clean .brp-cvc-secure-badge,
.brp-layout-cast-vote-clean .brp-recaptcha-note {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #f8fafc;
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-radius: 0.75rem;
	padding: 0.75rem;
	font-size: 0.75rem;
	color: #475569;
	margin: 0;
}
.brp-layout-cast-vote-clean .brp-cvc-secure-left {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.brp-layout-cast-vote-clean .brp-cvc-secure-dot {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: #10b981;
	animation: brp-cvc-pulse 2s ease-in-out infinite;
}
@keyframes brp-cvc-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}
.brp-layout-cast-vote-clean .brp-cvc-secure-right {
	font-weight: 600;
	color: #64748b;
}
.brp-layout-cast-vote-clean .brp-turnstile-wrap {
	display: block;
	line-height: 0;
	overflow: visible;
	width: 100%;
	min-width: 0;
}
.brp-layout-cast-vote-clean .brp-cvc-submit {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border: none;
	border-radius: 0.75rem;
	padding: 0.875rem 1rem;
	font-size: 0.875rem;
	font-weight: 700;
	font-family: inherit;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(to right, #ea580c, #d97706);
	box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.25);
	transition: transform 0.15s, filter 0.15s;
}
@media (min-width: 640px) {
	.brp-layout-cast-vote-clean .brp-cvc-submit { font-size: 1rem; }
}
.brp-layout-cast-vote-clean .brp-cvc-submit:hover {
	filter: brightness(0.95);
}
.brp-layout-cast-vote-clean .brp-cvc-submit:active {
	transform: scale(0.99);
}
.brp-layout-cast-vote-clean .brp-cvc-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding-top: 0.5rem;
	border-top: 1px solid #f1f5f9;
	font-size: 0.75rem;
	color: #94a3b8;
}
.brp-layout-cast-vote-clean .brp-cvc-trust-sep { color: #cbd5e1; }


/* Confirmation modal under Cast Vote Clean visual layout */
.brp-layout-cast-vote-clean .brp-pc-confirmation { display: none; }
.brp-layout-cast-vote-clean.is-voted .brp-pc-confirmation { display: block; }
.brp-layout-cast-vote-clean.is-voted .brp-cvc-step1 { display: none; }
.brp-layout-cast-vote-clean .brp-pc-confirmation-backdrop {
	position: fixed; inset: 0; background: rgba(15, 23, 42, 0.55); backdrop-filter: blur(4px); z-index: 9998;
}
.brp-layout-cast-vote-clean .brp-pc-confirmation-modal-card {
	position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%);
	background: #fff; border-radius: 1rem; z-index: 9999; max-width: 560px; width: calc(100% - 2rem);
	max-height: 90vh; overflow: auto; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}

.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-text {
	display: flex !important;
	flex-direction: column;
	gap: 0.05rem;
	-webkit-line-clamp: unset !important;
	overflow: visible !important;
}
.brp-layout-cast-vote-clean .brp-cvc-terms .brp-terms-line {
	display: block;
	min-width: 0;
	max-width: 100%;
}
