/*
 * Figma Impressum desktop 1:835 (1512):
 * wordmark ~21,131 (1471×185) | IMPRESSUM 21,446 Futura 80/70
 * subtitle 21,546 Futura 33/40 | cols Inter 16/23 @ 596
 * left w477 · right @ ~642 w726 · footer @ 973
 */

.atrin-legal {
	--atrin-legal-frame: 1512px;
	--atrin-legal-pad-x: 21px;
	--atrin-legal-ink: #110c00;
	--atrin-legal-display: Futura, 'Futura PT', 'Century Gothic', 'itc-avant-garde-gothic-pro', sans-serif;
	--atrin-legal-body: 'Inter', sans-serif;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: calc(var(--atrin-header-h, 100px) + 31px) 0 64px;
	background: #fff;
	color: var(--atrin-legal-ink);
	overflow-x: clip;
	overflow-y: visible;
}

.atrin-legal *,
.atrin-legal *::before,
.atrin-legal *::after {
	box-sizing: border-box;
}

.atrin-legal__inner {
	width: 100%;
	max-width: var(--atrin-legal-frame);
	margin: 0 auto;
	padding: 0 var(--atrin-legal-pad-x);
	min-width: 0;
}

.atrin-legal__wordmark {
	display: block;
	margin: 0 0 130px;
	line-height: 0;
	font-size: 0;
	color: inherit;
	text-decoration: none;
	max-width: 100%;
}

.atrin-legal__wordmark img {
	display: block;
	width: 100%;
	max-width: 1471px;
	height: auto;
}

.atrin-legal__title {
	margin: 0;
	padding: 0;
	font-family: var(--atrin-legal-display);
	font-weight: 500;
	font-size: 80px;
	line-height: 70px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--atrin-legal-ink);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.atrin-legal__subtitle {
	margin: 30px 0 0;
	padding: 0;
	font-family: var(--atrin-legal-display);
	font-weight: 500;
	font-size: 33px;
	line-height: 40px;
	text-transform: uppercase;
	color: #000;
}

.atrin-legal__grid {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 32px;
	column-gap: 0;
	margin-top: 20px;
	align-items: start;
}

@media (min-width: 992px) {
	.atrin-legal__grid {
		grid-template-columns: minmax(0, 477px) minmax(0, 726px);
		column-gap: 144px;
		row-gap: 0;
	}
}

.atrin-legal__col,
.atrin-legal__body {
	font-family: var(--atrin-legal-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 23px;
	color: #000;
	min-width: 0;
	overflow-wrap: break-word;
}

.atrin-legal__col p,
.atrin-legal__body p {
	margin: 0 0 23px;
}

.atrin-legal__col p:last-child,
.atrin-legal__body p:last-child {
	margin-bottom: 0;
}

.atrin-legal__col a,
.atrin-legal__body a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: from-font;
}

.atrin-legal__body {
	margin-top: 20px;
	max-width: 900px;
}

/* Elementor wrappers */
.elementor-section.atrin-legal-section,
.elementor-section.atrin-legal-section > .elementor-container,
.elementor-section.atrin-legal-section .elementor-column,
.elementor-section.atrin-legal-section .elementor-widget-wrap,
.elementor-section.atrin-legal-section .elementor-widget-atrin_legal,
.elementor-section.atrin-legal-section .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.elementor-widget-atrin_legal,
.elementor-widget-atrin_legal .elementor-widget-container {
	display: block;
	width: 100%;
	max-width: 100%;
}

@media (min-width: 992px) and (max-width: 1199px) {
	.atrin-legal__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
		column-gap: clamp(40px, 8vw, 144px);
	}

	.atrin-legal__title {
		font-size: clamp(48px, 6.5vw, 80px);
		line-height: 0.9;
	}

	.atrin-legal__subtitle {
		font-size: clamp(24px, 3vw, 33px);
		line-height: 1.2;
	}
}

@media (max-width: 991px) {
	.atrin-legal {
		padding: calc(var(--atrin-header-h, 72px) + 24px) 0 64px;
		--atrin-legal-pad-x: 20px;
	}

	.atrin-legal__wordmark {
		margin-bottom: 48px;
	}

	.atrin-legal__title {
		font-size: clamp(36px, 11vw, 44px);
		line-height: 1.05;
	}

	.atrin-legal__subtitle {
		margin-top: 16px;
		font-size: clamp(22px, 6vw, 28px);
		line-height: 1.2;
	}

	.atrin-legal__grid {
		grid-template-columns: 1fr;
		row-gap: 32px;
		margin-top: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.atrin-legal * {
		transition: none !important;
		animation: none !important;
	}
}


/* Datenschutz Figma 1:1032 — equal ~721px columns, long title, lists */
.atrin-legal--two-equal .atrin-legal__title {
	max-width: 100%;
	white-space: normal;
	font-size: clamp(40px, 5.2vw, 80px);
	line-height: 0.92;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.atrin-legal--two-equal .atrin-legal__grid {
	grid-template-columns: 1fr;
	row-gap: 32px;
	margin-top: 24px;
}

@media (min-width: 992px) {
	.atrin-legal--two-equal .atrin-legal__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: clamp(24px, 2.6vw, 40px);
		row-gap: 0;
		margin-top: 50px; /* 596 - (446+70) ≈ 80, title may wrap → ~50 */
	}
}

.atrin-legal__col ol,
.atrin-legal__col ul,
.atrin-legal__body ol,
.atrin-legal__body ul {
	margin: 0 0 23px;
	padding-left: 1.4em;
}

.atrin-legal__col li,
.atrin-legal__body li {
	margin: 0 0 8px;
}

.atrin-legal__col li strong,
.atrin-legal__body li strong {
	font-weight: 500;
	font-family: var(--atrin-legal-body);
}

.atrin-legal__col ul {
	list-style: disc;
}

.atrin-legal__col ol {
	list-style: decimal;
}

/* Figma Datenschutz: section titles (Inter Medium) + term labels */
.atrin-legal__heading {
	margin: 28px 0 12px;
	font-weight: 400;
}

.atrin-legal__heading:first-child {
	margin-top: 0;
}

.atrin-legal__heading strong {
	font-weight: 500;
	font-family: var(--atrin-legal-body);
}

.atrin-legal__term {
	margin: 0 0 16px;
}

.atrin-legal__term strong {
	font-weight: 500;
	font-family: var(--atrin-legal-body);
}

/* Beat .atrin-legal__col ul { padding-left: 1.4em } — Figma ms-[24px] / ms-[48px] */
.atrin-legal__col ul.atrin-legal__list,
.atrin-legal__col ul.atrin-legal__bullets,
.atrin-legal__body ul.atrin-legal__list,
.atrin-legal__body ul.atrin-legal__bullets {
	margin: 0 0 12px;
	padding-left: 24px;
	list-style-type: disc !important;
	list-style-position: outside;
}

.atrin-legal__list li,
.atrin-legal__bullets > li {
	display: list-item !important;
	margin: 0 0 8px;
	padding-left: 0;
	list-style-type: disc !important;
}

.atrin-legal__bullets > li > strong {
	font-weight: 500;
	font-family: var(--atrin-legal-body);
}

.atrin-legal__col ul.atrin-legal__bullets--nested,
.atrin-legal__body ul.atrin-legal__bullets--nested {
	margin: 0 0 16px;
	padding-left: 48px;
}

.atrin-legal__bullets--nested > li {
	margin: 0 0 6px;
}

@media (max-width: 991px) {
	.atrin-legal--two-equal .atrin-legal__grid {
		grid-template-columns: 1fr;
		margin-top: 24px;
	}

	.atrin-legal--two-equal .atrin-legal__title {
		font-size: 36px;
		line-height: 1.05;
	}
}

/* Kontakt Figma 1:929 (1512×1523)
 * title 21,446 · 80/70
 * headings x 21/393/767/1139 @ y546 · Futura 33/40 · w352
 * body @ 596 · Inter 16/23
 * first buttons @ y803 · second @ 852 · w352 · #110c00 · r5 · gap 9
 * footer @ 973 · gaps 20/22/20 between 352 cols
 */
.atrin-legal--kontakt {
	padding-bottom: 80px; /* 973 - 892 */
}

.atrin-legal--kontakt .atrin-legal__title {
	margin-bottom: 0;
}

.atrin-legal--kontakt .atrin-legal__inner {
	max-width: 1512px;
}

.atrin-legal__kgrid {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 1470px; /* 352*4 + 20+22+20 */
	max-width: 100%;
	margin-top: 30px; /* 546 - (446+70) */
}

.atrin-legal__kcol {
	display: flex;
	flex-direction: column;
	flex: 0 0 352px;
	width: 352px;
	max-width: 352px;
	box-sizing: border-box;
	min-width: 0;
}

/* Figma x: 21, 393 (+20), 767 (+22), 1139 (+20) */
.atrin-legal__kcol:nth-child(2) {
	margin-left: 20px;
}

.atrin-legal__kcol:nth-child(3) {
	margin-left: 22px;
}

.atrin-legal__kcol:nth-child(4) {
	margin-left: 20px;
}

/* Heading + body fill up to first-button baseline (803 - 546 = 257) */
.atrin-legal__kmain {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	min-height: 257px;
	width: 100%;
}

.atrin-legal__kheading {
	margin: 0 0 10px; /* 596 - (546+40) */
	padding: 0;
	font-family: var(--atrin-legal-display);
	font-weight: 500;
	font-size: 33px;
	line-height: 40px;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #000;
	overflow-wrap: break-word;
}

.atrin-legal__kbody {
	font-family: var(--atrin-legal-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 23px;
	color: #000;
}

.atrin-legal__kbody a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: from-font;
}

.atrin-legal__kactions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 9px; /* 852 - 843 */
	margin-top: auto;
	width: 100%;
}

.atrin-legal__kbtn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 352px;
	max-width: 100%;
	min-height: 40px;
	padding: 10px;
	border-radius: 5px;
	background: #110c00;
	color: #ededed !important;
	font-family: var(--atrin-legal-body);
	font-weight: 400;
	font-size: 16px;
	line-height: normal;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: from-font;
	transition: opacity 0.2s ease;
}

.atrin-legal__kbtn:hover,
.atrin-legal__kbtn:focus-visible {
	opacity: 0.88;
	color: #ededed !important;
}

@media (max-width: 1511px) and (min-width: 992px) {
	.atrin-legal__kgrid {
		width: 100%;
		justify-content: space-between;
	}

	.atrin-legal__kcol {
		flex: 1 1 0;
		width: auto;
		max-width: none;
		min-width: 0;
		margin-left: 0 !important;
	}

	.atrin-legal__kbtn {
		width: 100%;
		max-width: none;
	}
}

@media (max-width: 991px) {
	.atrin-legal__kgrid {
		width: 100%;
		flex-wrap: wrap;
		column-gap: 24px;
		row-gap: 40px;
		margin-top: 24px;
	}

	.atrin-legal__kcol {
		flex: 1 1 calc(50% - 12px);
		width: auto;
		max-width: none;
		margin-left: 0 !important;
	}

	.atrin-legal__kbtn {
		width: 100%;
		max-width: none;
	}

	.atrin-legal__kmain {
		min-height: 0;
	}

	.atrin-legal__kheading {
		font-size: 28px;
		line-height: 34px;
	}
}

@media (max-width: 640px) {
	.atrin-legal__kgrid {
		flex-direction: column;
		row-gap: 32px;
	}

	.atrin-legal__kcol {
		flex: 1 1 auto;
		width: 100%;
	}

	.atrin-legal__kheading {
		font-size: 24px;
		line-height: 30px;
	}
}

/*
 * Kontakt page: desktop keeps Figma 1:929 four-column grid.
 * Mobile (≤991) matches home Contact accordion (atrin-contact / Figma 1:660).
 */
.atrin-legal--kontakt .atrin-legal__mobile-contact {
	display: none;
}

.atrin-legal--kontakt .atrin-legal__mobile-contact.atrin-contact {
	padding: 0;
	margin: 0;
	background: transparent;
}

@media (max-width: 991px) {
	.atrin-legal--kontakt {
		padding: calc(var(--atrin-header-h, 72px) + 16px) 0 40px;
	}

	.atrin-legal--kontakt .atrin-legal__inner {
		padding: 0 10px;
	}

	.atrin-legal--kontakt .atrin-legal__wordmark {
		display: none;
	}

	.atrin-legal--kontakt .atrin-legal__title {
		margin: 0 0 20px;
		font-size: 68px;
		line-height: 70px;
		text-align: center;
		overflow-wrap: normal;
		word-break: normal;
	}

	.atrin-legal--kontakt .atrin-legal__kgrid {
		display: none !important;
	}

	.atrin-legal--kontakt .atrin-legal__mobile-contact {
		display: block;
	}
}

@media (min-width: 992px) {
	.atrin-legal--kontakt .atrin-legal__mobile-contact {
		display: none !important;
	}
}
