.pws-ed-consent-library {
	display: grid;
	gap: 1.5rem;
	grid-column: 1 / -1;
	margin-top: 1.5rem;
	width: 100%;
}

/* SFLK brand typography: Lato only, with regular as the maximum weight. */
.pws-ed-consent-library,
.pws-ed-consent-library * {
	font-family: "Lato", sans-serif;
	font-weight: 400 !important;
}

.pws-ed-consent-library .pws-ed-text--thin {
	font-weight: 300 !important;
}

.pws-ed-consent-card {
	background: #fff;
	border: 1px solid #cde2e5;
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(9, 50, 66, .07);
	padding: clamp(1rem, 2vw, 1.5rem);
}

.pws-ed-consent-card.is-reviewed {
	border-color: #55c8bd;
	box-shadow: 0 10px 30px rgba(36, 159, 149, .12);
}

.pws-ed-consent-card__heading {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.pws-ed-consent-card h3 {
	color: #082f43;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	margin: .25rem 0 .45rem;
}

.pws-ed-consent-card p {
	margin: 0;
}

.pws-ed-consent-kicker,
.pws-ed-consent-status,
.pws-ed-consent-meta span {
	border-radius: 999px;
	display: inline-flex;
	font-size: .78rem;
	font-weight: 400;
	padding: .35rem .65rem;
}

.pws-ed-consent-kicker {
	background: #fde7f3;
	color: #b41370;
}

.pws-ed-consent-status {
	background: #eef4f5;
	color: #47616c;
	white-space: nowrap;
}

.is-reviewed .pws-ed-consent-status {
	background: #dcf7f1;
	color: #08776e;
}

.pws-ed-consent-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: .9rem 0;
}

.pws-ed-consent-meta span {
	background: #f3f7f8;
	color: #48606a;
}

.pws-ed-consent-response {
	border-top: 1px solid #e3edef;
	display: grid;
	gap: .75rem;
	margin-top: 1rem;
	padding-top: 1rem;
}

.pws-ed-consent-hint,
.pws-ed-consent-note {
	color: #47616c;
	font-size: .9rem;
	line-height: 1.55;
	margin: 0;
}

.pws-ed-consent-hint {
	background: #f3f7f8;
	border-inline-start: 3px solid #55c8bd;
	border-radius: 10px;
	padding: .6rem .8rem;
}

.pws-ed-consent-card.is-reviewed .pws-ed-consent-hint {
	display: none;
}

.pws-ed-consent-response fieldset {
	border: 0;
	display: grid;
	gap: .65rem;
	margin: 0;
	padding: 0;
}

.pws-ed-consent-response label {
	display: grid;
	gap: .35rem;
}

.pws-ed-consent-response fieldset label,
.pws-ed .pws-ed-consent-check {
	align-items: flex-start;
	display: flex;
	gap: .6rem;
	justify-content: flex-start;
	width: 100%;
}

.pws-ed-consent-response input[type="checkbox"],
.pws-ed-consent-response input[type="radio"] {
	flex: 0 0 1.15rem;
	height: 1.15rem;
	margin: .2rem 0 0;
	min-width: 1.15rem;
	padding: 0;
	width: 1.15rem;
}

.pws-ed-consent-response fieldset label + label {
	margin-top: .15rem;
}

.pws-ed-consent-response .pws-ed-consent-permissions {
	background: #fff8e8;
	border: 2px solid #e8a62a;
	border-radius: 14px;
	gap: .75rem;
	padding: 1rem;
}

.pws-ed-consent-permissions legend {
	background: #fff8e8;
	color: #7a4300;
	font-size: 1.05rem;
	line-height: 1.4;
	padding: 0 .4rem;
}

.pws-ed-consent-permissions__help {
	color: #5f470f;
	line-height: 1.5;
}

.pws-ed-consent-permissions__options {
	display: grid;
	gap: .55rem;
}

.pws-ed-consent-response .pws-ed-consent-permissions__options label {
	align-items: flex-start;
	background: #fff;
	border: 1px solid #dfc47d;
	border-radius: 10px;
	cursor: pointer;
	line-height: 1.45;
	margin: 0;
	padding: .75rem;
}

.pws-ed-consent-response .pws-ed-consent-permissions__options label:hover,
.pws-ed-consent-response .pws-ed-consent-permissions__options label:focus-within {
	border-color: #b96b00;
	box-shadow: 0 0 0 2px rgba(185, 107, 0, .16);
}

.pws-ed-consent-permissions.is-missing-choice {
	background: #fff3f1;
	border-color: #c43d2f;
}

.pws-ed-consent-permissions.is-missing-choice legend {
	background: #fff3f1;
	color: #8a1f11;
}

.pws-ed-consent-choice-error {
	background: #fff;
	border-inline-start: 4px solid #c43d2f;
	border-radius: 8px;
	color: #8a1f11;
	line-height: 1.45;
	padding: .7rem .8rem;
}

.pws-ed-consent-choice-error[hidden] {
	display: none;
}

.pws-ed-consent-dialog {
	background: transparent;
	border: 0;
	height: min(92vh, 900px);
	margin: auto;
	max-height: 92vh;
	max-width: min(1100px, 94vw);
	padding: 0;
	width: 94vw;
}

.pws-ed-consent-dialog::backdrop {
	background: rgba(3, 27, 38, .72);
	backdrop-filter: blur(4px);
}

.pws-ed-consent-dialog__surface {
	--pws-ed-consent-dialog-inline: clamp(1.25rem, 3vw, 2rem);
	background: #fff;
	border-radius: 20px;
	display: grid;
	grid-template-rows: auto 1fr auto;
	height: 100%;
	overflow: hidden;
}

.pws-ed-consent-dialog header,
.pws-ed-consent-dialog footer {
	background: #fff;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem var(--pws-ed-consent-dialog-inline);
}

.pws-ed-consent-dialog header {
	border-bottom: 1px solid #dce9eb;
}

.pws-ed-consent-dialog footer {
	align-items: center;
	border-top: 1px solid #dce9eb;
}

.pws-ed-consent-dialog h2 {
	color: #082f43;
	font-size: 1.4rem;
	margin: .15rem 0 0;
}

.pws-ed-consent-close {
	align-items: center;
	background: #eef5f6;
	border: 0;
	border-radius: 999px;
	color: #082f43;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.7rem;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.pws-ed-consent-dialog__body {
	min-height: 0;
	overflow: auto;
	padding: 1.25rem var(--pws-ed-consent-dialog-inline);
}

.pws-ed-consent-dialog iframe {
	background: #f2f4f5;
	border: 1px solid #d5e1e3;
	height: calc(100% - 62px);
	min-height: 520px;
	width: 100%;
}

.pws-ed-consent-pdf__mobile {
	display: none;
}

.pws-ed-consent-pdf__preview-link {
	display: block;
}

.pws-ed-consent-pdf__preview {
	background: #f2f4f5;
	border: 1px solid #d5e1e3;
	border-radius: 8px;
	display: block;
	height: auto;
	width: 100%;
}

.pws-ed-consent-pdf__open {
	display: block;
	margin: 14px 0 0;
	text-align: center;
}

.pws-ed-consent-pdf__note {
	color: #47616c;
	margin: 10px 0 0;
	text-align: center;
}

@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
	.pws-ed-consent-pdf__desktop {
		display: none;
	}

	.pws-ed-consent-pdf__mobile {
		display: block;
	}
}

.pws-ed-consent-text {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	color: #172033;
	font-size: 1rem;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.pws-ed-consent-dialog .pws-ed-consent-text p {
	margin: 0 0 1rem;
}

.pws-ed-consent-dialog .pws-ed-consent-text p:last-child {
	margin-bottom: 0;
}

.pws-ed-consent-dialog .pws-ed-consent-text :is(h2,h3,h4) {
	margin: 1.4rem 0 .65rem;
	color: #082f43;
	line-height: 1.3;
}

.pws-ed-consent-dialog .pws-ed-consent-text :is(ul,ol) {
	margin: .5rem 0 1rem;
	padding-inline-start: 1.5rem;
}

.pws-ed-consent-dialog .pws-ed-consent-text li + li {
	margin-top: .4rem;
}

@media (max-width: 480px) {
	.pws-ed-consent-response .pws-ed-consent-permissions {
		padding: .85rem;
	}

	.pws-ed-consent-response .pws-ed-consent-permissions__options label {
		padding: .8rem .7rem;
	}

	.pws-ed-consent-card__heading,
	.pws-ed-consent-dialog footer {
		align-items: stretch;
		flex-direction: column;
	}

	.pws-ed-consent-dialog {
		height: 94dvh;
		margin: 6dvh 0 0;
		max-height: 94dvh;
		max-width: 100vw;
		width: 100vw;
	}

	.pws-ed-consent-dialog__surface {
		--pws-ed-consent-dialog-inline: 1rem;
		border-radius: 20px 20px 0 0;
	}

	.pws-ed-consent-dialog header {
		align-items: flex-start;
	}

	.pws-ed-consent-dialog header > div {
		min-width: 0;
	}

	.pws-ed-consent-close {
		flex: 0 0 44px;
	}

	.pws-ed-consent-dialog__body {
		padding-block: 1rem;
	}

	.pws-ed-consent-text {
		font-size: .96rem;
		line-height: 1.7;
	}

	.pws-ed-consent-dialog iframe {
		min-height: 60dvh;
	}

	.pws-ed-consent-dialog footer .pws-ed-button {
		width: 100%;
	}
}


.pws-ed-consent-card.is-action-required .pws-ed-consent-status {
	background: #fff4e5;
	color: #8a4b00;
}

.pws-ed-consent-card.is-completed .pws-ed-consent-status {
	background: #e7f7ee;
	color: #0f6b3a;
}

.pws-ed-consent-card.is-attention {
	outline: 2px solid #c97800;
	outline-offset: 3px;
}

.pws-ed-consent-submit-gate {
	width: 100%;
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border-radius: 12px;
	background: #f6f8fb;
	border: 1px solid #d9e2ec;
}

.pws-ed-consent-submit-msg {
	margin: 0 0 0.5rem;
	color: #8a1f11;
	font-weight: 600;
}

.pws-ed-consent-incomplete-count {
	margin: 0 0 0.35rem;
	color: #8a4b00;
	font-weight: 600;
}

.pws-ed-draft-vs-submit-note {
	margin: 0;
	color: #486581;
	font-size: 0.95rem;
}

@media (max-width: 720px) {
	.pws-ed-consent-card__heading {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
	.pws-ed-consent-status {
		align-self: flex-start;
	}
}
