/* pages/privacy-consent.css — фирменный бланк согласия на обработку ПДн */

/*
 * Страница несёт и reclaim-access-page: cabinet.css режет layout до 42rem.
 * Селекторы с двумя body-классами должны перебивать access-rules.
 */
body.reclaim-privacy-consent-page .reclaim-cabinet-layout > .cabinet-news-ribbon {
	display: none;
}

body.reclaim-privacy-consent-page.reclaim-access-page .reclaim-cabinet-layout,
body.reclaim-privacy-consent-page .reclaim-cabinet-layout.reclaim-privacy-layout {
	grid-template-columns: minmax( 0, 1fr );
	width: min( 100% - 2rem, 72rem );
}

body.reclaim-privacy-consent-page.reclaim-access-page .reclaim-cabinet-layout > .reclaim-cabinet-back,
body.reclaim-privacy-consent-page.reclaim-access-page .reclaim-cabinet-layout > .reclaim-cabinet-session-header,
body.reclaim-privacy-consent-page .reclaim-cabinet-layout.reclaim-privacy-layout > .reclaim-cabinet-back,
body.reclaim-privacy-consent-page .reclaim-cabinet-layout.reclaim-privacy-layout > .reclaim-cabinet-session-header {
	max-width: none;
}

body.reclaim-privacy-consent-page.reclaim-access-page .reclaim-cabinet-layout > .reclaim-cabinet-layout__main,
body.reclaim-privacy-consent-page .reclaim-cabinet-layout.reclaim-privacy-layout > .reclaim-cabinet-layout__main {
	max-width: none;
	width: 100%;
	margin-inline: 0;
	margin-top: clamp( 1.25rem, 3.5vw, 2.25rem );
}

.reclaim-privacy-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 2.5rem;
}

@media ( max-width: 1080px ) {
	body.reclaim-privacy-consent-page.reclaim-access-page .reclaim-cabinet-layout,
	body.reclaim-privacy-consent-page .reclaim-cabinet-layout.reclaim-privacy-layout {
		width: min( 100% - 2rem, 72rem );
	}
}

.privacy-consent-doc {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: clamp( 1.6rem, 4vw, 2.75rem );
	border: 1px solid color-mix( in srgb, var( --ink ) 10%, transparent );
	border-radius: 4px;
	background: var( --surface );
	box-shadow:
		0 1px 2px color-mix( in srgb, var( --ink ) 5%, transparent ),
		0 18px 40px color-mix( in srgb, var( --ink ) 7%, transparent );
	color: var( --ink );
}

/* Шапка бланка: логотип + бренд | мета документа */
.privacy-consent-doc__letterhead {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.1rem 1.75rem;
	margin: 0 0 1.35rem;
	padding: 0 0 1.2rem;
	border-bottom: 2px solid var( --primary-bg );
}

.privacy-consent-doc__brand {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	min-width: 0;
}

.privacy-consent-doc__logo.reclaim-cabinet-logo {
	flex: 0 0 auto;
	width: 3rem;
	height: 3rem;
}

.privacy-consent-doc__brand-name {
	margin: 0;
	color: var( --ink );
	font-family: var( --font-brand, var( --font-display ) );
	font-size: clamp( 1.05rem, 2.4vw, 1.35rem );
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.15;
	text-transform: uppercase;
}

.privacy-consent-doc__brand-tag {
	margin: 0.28rem 0 0;
	color: var( --muted );
	font-size: 0.84rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform: uppercase;
}

.privacy-consent-doc__letterhead-meta {
	display: grid;
	gap: 0.2rem;
	justify-items: end;
	text-align: right;
}

.privacy-consent-doc__edition {
	margin: 0;
	color: var( --ink );
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
}

/* Реквизиты операторов — как в официальном письме */
.privacy-consent-doc__operators {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 1rem 1.5rem;
	margin: 0 0 1.75rem;
	padding: 0 0 1.25rem;
	border-bottom: 1px solid color-mix( in srgb, var( --ink ) 12%, transparent );
}

.privacy-consent-doc__operator {
	min-width: 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var( --muted );
}

.privacy-consent-doc__operator p {
	margin: 0;
}

.privacy-consent-doc__operator-name {
	margin: 0 0 0.3rem !important;
	color: var( --ink );
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.35;
}

.privacy-consent-doc__title {
	margin: 0 0 1.35rem;
	color: var( --ink );
	font-family: var( --font-display );
	font-size: clamp( 1.35rem, 3vw, 1.85rem );
	font-weight: 850;
	line-height: 1.25;
	text-align: center;
	text-wrap: balance;
}

.privacy-consent-doc__body {
	display: grid;
	gap: 1rem;
	font-size: 0.98rem;
	line-height: 1.65;
}

.privacy-consent-doc__body > p {
	margin: 0;
	text-align: justify;
	hyphens: auto;
}

.privacy-consent-doc__lead {
	margin: 0 0 0.25rem;
}

.privacy-consent-doc__body strong {
	color: var( --ink );
	font-weight: 800;
}

.privacy-consent-doc__colophon {
	display: grid;
	gap: 0.2rem;
	margin: 1.85rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid color-mix( in srgb, var( --ink ) 12%, transparent );
}

.privacy-consent-doc__colophon p {
	margin: 0;
	color: var( --muted );
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: center;
}

.privacy-consent-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	margin: 1.35rem 0 0;
}

.privacy-consent-nav__btn {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	min-width: 11.5rem;
	height: 3rem;
	min-height: 3rem;
	max-height: 3rem;
	margin: 0;
	padding: 0 1.35rem;
	border: 1px solid color-mix( in srgb, var( --ink ) 18%, transparent );
	border-radius: 999px;
	background: var( --surface );
	box-shadow: none;
	color: var( --ink );
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-underline-offset: 0;
	text-decoration-thickness: 0;
	white-space: nowrap;
	transform: none;
	transition:
		background-color 150ms ease,
		border-color 150ms ease,
		color 150ms ease,
		opacity 150ms ease;
}

.privacy-consent-nav__btn:hover,
.privacy-consent-nav__btn:focus-visible {
	border-color: var( --primary-bg );
	color: var( --primary-bg );
	background: var( --surface );
	box-shadow: none;
	transform: none;
	outline: none;
	text-decoration: none;
}

.privacy-consent-nav__btn--primary {
	border-color: var( --primary-bg );
	background: var( --primary-bg );
	color: var( --primary-ink, #fff );
}

.privacy-consent-nav__btn--primary:hover,
.privacy-consent-nav__btn--primary:focus-visible {
	border-color: var( --primary-bg );
	background: var( --primary-bg );
	color: var( --primary-ink, #fff );
	opacity: 0.92;
}

@media ( max-width: 720px ) {
	.privacy-consent-doc__operators {
		grid-template-columns: minmax( 0, 1fr );
	}

	.privacy-consent-doc__letterhead-meta {
		justify-items: start;
		text-align: left;
	}

	.privacy-consent-doc__body > p {
		text-align: left;
	}
}

@media print {
	body.reclaim-privacy-consent-page .reclaim-cabinet-session-header,
	body.reclaim-privacy-consent-page .privacy-consent-nav {
		display: none !important;
	}

	.privacy-consent-doc {
		box-shadow: none;
		border: 0;
		border-radius: 0;
	}
}
