/* ============================================================
   Legal Pages (Impressum, Datenschutz, AGB, Widerruf, …)
   Template: page-legal.html  ·  Wrapper: .artis-legal-page
   Modernes einheitliches Typo-System — übersteuert Inline-Styles
   des Block-Editors, damit alle 6 Seiten identisch wirken.
   ============================================================ */

.artis-legal-page {
	color: var(--wp--preset--color--heading);
	--legal-body: 16px;
	--legal-line: 1.75;
	--legal-gap: 1.6em;
}

/* ---------- Body-Typografie (übersteuert alles Inline) ---------- */
.artis-legal-page p,
.artis-legal-page li {
	font-family: var(--wp--preset--font-family--sen) !important;
	font-size: var(--legal-body) !important;
	font-weight: 400 !important;
	line-height: var(--legal-line) !important;
	color: var(--wp--preset--color--heading);
	letter-spacing: 0.005em;
}

.artis-legal-page p { margin: 0 0 var(--legal-gap) 0; }
.artis-legal-page p:last-child { margin-bottom: 0; }

.artis-legal-page strong { font-weight: 600 !important; }
.artis-legal-page em { font-style: italic; }

/* ---------- Headings (Inter, modern, kein capitalize) ---------- */
.artis-legal-page h1,
.artis-legal-page h2,
.artis-legal-page h3,
.artis-legal-page h4,
.artis-legal-page h5,
.artis-legal-page h6 {
	font-family: var(--wp--preset--font-family--inter) !important;
	color: var(--wp--preset--color--heading);
	text-transform: none !important;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.artis-legal-page h2 {
	font-size: clamp(1.6rem, 2.5vw, 2rem) !important;
	font-weight: 700 !important;
	margin: 2.4em 0 0.8em !important;
}
.artis-legal-page h3 {
	font-size: clamp(1.25rem, 1.9vw, 1.5rem) !important;
	font-weight: 600 !important;
	margin: 2em 0 0.6em !important;
}
.artis-legal-page h4 {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	margin: 1.5em 0 0.5em !important;
}

.artis-legal-page h2:first-child,
.artis-legal-page h3:first-child,
.artis-legal-page h4:first-child { margin-top: 0 !important; }

/* ---------- Links ---------- */
.artis-legal-page a {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.artis-legal-page a:hover {
	color: var(--wp--preset--color--heading);
	text-decoration-color: var(--wp--preset--color--primary);
}

/* ---------- Listen ---------- */
.artis-legal-page ul,
.artis-legal-page ol {
	margin: 0 0 var(--legal-gap) 0;
	padding-left: 1.5em;
}
.artis-legal-page li { margin-bottom: 0.5em; }
.artis-legal-page li::marker { color: var(--wp--preset--color--primary); }

/* ---------- Hero-Header ("Rechtliches" + Haupt-Titel) ---------- */
.artis-legal-page .head-box {
	text-align: center;
	margin-bottom: clamp(40px, 6vw, 72px) !important;
	padding-bottom: clamp(32px, 5vw, 56px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.artis-legal-page .head-box .sec-sub-heading {
	display: inline-block;
	color: var(--wp--preset--color--primary) !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	margin: 0 0 20px 0 !important;
}
.artis-legal-page .head-box h2 {
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800 !important;
	margin: 0 !important;
	letter-spacing: -0.02em;
}

/* ---------- Card-Box (Fließtext-Variante) ---------- */
.artis-legal-page .faq-section-main-box {
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--primary) !important;
	border-radius: 20px !important;
	box-shadow: 0 4px 28px rgba(255, 148, 70, 0.13), 0 1px 6px rgba(255, 148, 70, 0.07);
	padding: clamp(32px, 5vw, 64px) !important;
}
.artis-legal-page .faq-section-main-box h3,
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) h2,
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) h3 {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 2em;
}
.artis-legal-page .faq-section-main-box h3:first-of-type,
.artis-legal-page .faq-section-main-box > :first-child,
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) > :first-child,
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) h2:first-of-type,
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) h3:first-of-type {
	border-top: none;
	padding-top: 0;
	margin-top: 0 !important;
}

/* ---------- Accordion (Details-Variante: AGB) ---------- */
.artis-legal-page .faq-section-cols > * + * { margin-top: 16px !important; }

.artis-legal-page .faq-detail-block {
	background: #fff !important;
	border: none !important;
	border-left: 3px solid var(--wp--preset--color--primary) !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.05);
	padding: 24px 32px !important;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.artis-legal-page .faq-detail-block:hover {
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
}
.artis-legal-page .faq-detail-block[open] {
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.08);
	padding-bottom: 28px !important;
}
.artis-legal-page .faq-detail-block summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-weight: 600 !important;
	font-size: 18px !important;
	color: var(--wp--preset--color--heading);
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	letter-spacing: -0.005em;
}
.artis-legal-page .faq-detail-block summary::-webkit-details-marker,
.artis-legal-page .faq-detail-block summary::marker { display: none; content: ''; }
.artis-legal-page .faq-detail-block summary::after {
	content: '+';
	flex-shrink: 0;
	width: 32px; height: 32px;
	display: inline-flex;
	align-items: center; justify-content: center;
	font-size: 22px; line-height: 1;
	color: var(--wp--preset--color--primary);
	font-weight: 400;
	border: 1px solid rgba(255, 148, 70, 0.3);
	border-radius: 50%;
	transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}
.artis-legal-page .faq-detail-block:hover summary::after {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}
.artis-legal-page .faq-detail-block[open] summary {
	color: var(--wp--preset--color--primary);
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.artis-legal-page .faq-detail-block[open] summary::after {
	content: '−';
	background: var(--wp--preset--color--primary);
	color: #fff;
	border-color: var(--wp--preset--color--primary);
}

/* ---------- Datenschutz: inline-styled Card angleichen ---------- */
/* Die Datenschutz-Card hat keinen faq-section-main-box Class,
   sondern nur has-border-color mit inline #FF9446. Shadow + bg ergänzen. */
.artis-legal-page .wp-block-group.has-border-color:not(.faq-section-main-box):not(.faq-detail-block) {
	background: #fff !important;
	box-shadow: 0 4px 28px rgba(255, 148, 70, 0.13), 0 1px 6px rgba(255, 148, 70, 0.07);
}

/* ---------- Featured-Image ausblenden ---------- */
.page-template-page-legal .wp-block-post-featured-image,
.artis-legal-page .wp-block-post-featured-image {
	display: none;
}

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.artis-legal-page { --legal-body: 15px; --legal-gap: 1.3em; }
	.artis-legal-page .faq-section-main-box {
		padding: 28px 22px !important;
		border-radius: 14px !important;
	}
	.artis-legal-page .faq-detail-block {
		padding: 20px 22px !important;
		border-radius: 10px !important;
	}
	.artis-legal-page .faq-detail-block summary { font-size: 16px !important; }
	.artis-legal-page .head-box { padding-bottom: 28px; margin-bottom: 40px !important; }
}
