/**
 * AdepaTrade Legal Information Centre (0.4.46-legalcentre, t273u).
 * Loaded only on the legal views (inc/legal-centre.php). Tokens from theme.json only.
 * Mobile first: one column, compact document selector above the reader.
 * >= 1024px: two columns, sticky document navigation left, reader right (~70ch measure).
 * 0.4.47 (t275u): single visible title (the in-content language heading is visually hidden, still announced and still
 * the #en/#tr anchor target); the document's own meta line is the one visible "Last updated / Version"; tables scroll
 * inside .adepa-legal-table-wrap (render-time wrapper) instead of display:block on the table.
 * 0.4.48 (t279u): legacy in-page language switch hidden in split views (fallback to the server-side removal).
 */

.adepa-main--legal { padding-bottom: var(--wp--custom--section--sm); }
.adepa-page-header--legal {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50);
}

.adepa-legal-centre {
	--adepa-legal-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wp--custom--header--height-compact) + var(--wp--preset--spacing--40));
	--adepa-legal-measure: 70ch;
	display: block;
}
.adepa-legal-centre__main { min-width: 0; }

/* Anchors land below the sticky header (full height, + admin bar). */
.adepa-legal-reader :is(h1, h2, h3, h4, [id]) {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wp--custom--header--height) + var(--wp--preset--spacing--40));
}

/* ---------- Navigation (shared) ---------- */
.adepa-legal-nav__title {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--grey-500);
}
.adepa-legal-nav ul { list-style: none; margin: 0; padding: 0; }
.adepa-legal-nav__group + .adepa-legal-nav__group { margin-top: var(--wp--preset--spacing--40); }
.adepa-legal-nav__group-label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
.adepa-legal-nav__link {
	display: flex;
	align-items: center;
	min-height: var(--wp--custom--touch-target);
	padding: 0.25rem 0.75rem;
	border-left: 3px solid var(--wp--preset--color--grey-200);
	color: var(--wp--preset--color--grey-700);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--line-height--snug);
	text-decoration: none;
}
.adepa-legal-nav__link:hover { color: var(--wp--preset--color--brand-red); border-left-color: var(--wp--preset--color--grey-300); text-decoration: underline; }
.adepa-legal-nav__link:focus-visible { outline-offset: 0; }
.adepa-legal-nav__link[aria-current="page"],
.adepa-legal-nav__link[aria-current="location"] {
	border-left-color: var(--wp--preset--color--brand-red);
	background: var(--wp--preset--color--grey-100);
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}

/* ---------- Mobile document selector ---------- */
.adepa-legal-picker {
	margin-bottom: var(--wp--preset--spacing--50);
	border: 1px solid var(--wp--preset--color--grey-300);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
}
.adepa-legal-picker__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.125rem 0.75rem;
	min-height: var(--wp--custom--touch-target);
	padding: 0.625rem 2.75rem 0.625rem 1rem;
	position: relative;
	cursor: pointer;
	list-style: none;
}
.adepa-legal-picker__summary::-webkit-details-marker { display: none; }
.adepa-legal-picker__summary::after {
	content: "";
	position: absolute;
	right: 1.125rem;
	top: 50%;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
}
.adepa-legal-picker[open] > .adepa-legal-picker__summary::after { transform: translateY(-20%) rotate(-135deg); }
.adepa-legal-picker__label {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--grey-500);
}
.adepa-legal-picker__current { font-weight: 600; color: var(--wp--preset--color--ink); }
.adepa-legal-nav--picker { padding: 0 1rem 1rem; border-top: 1px solid var(--wp--preset--color--grey-200); }
.adepa-legal-nav--picker .adepa-legal-nav__group:first-child { margin-top: var(--wp--preset--spacing--30); }

/* ---------- Reader ---------- */
.adepa-legal-reader { min-width: 0; }
.adepa-legal-reader__header {
	max-width: var(--adepa-legal-measure);
	padding-bottom: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50);
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
}
.adepa-legal-reader__eyebrow {
	margin: 0;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--brand-red);
}
.adepa-legal-reader__title {
	margin: var(--wp--preset--spacing--30) 0 0;
	font-size: var(--wp--preset--font-size--heading-2);
	line-height: var(--wp--custom--line-height--heading);
	letter-spacing: var(--wp--custom--letter-spacing--heading);
	max-width: 24ch;
}
.adepa-legal-reader__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	margin: var(--wp--preset--spacing--40) 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--grey-700);
}
.adepa-legal-reader__meta > div { display: flex; gap: 0.375rem; }
.adepa-legal-reader__meta dt { font-weight: 700; color: var(--wp--preset--color--ink); }
.adepa-legal-reader__meta dt::after { content: ":"; }
.adepa-legal-reader__meta dd { margin: 0; }
.adepa-legal-reader__switch {
	margin: var(--wp--preset--spacing--30) 0 0;
	font-size: var(--wp--preset--font-size--small);
}
.adepa-legal-reader__switch a { font-weight: 600; }

/* Table of contents (optional, collapsed). */
.adepa-legal-toc {
	max-width: var(--adepa-legal-measure);
	margin-bottom: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--preset--color--grey-200);
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
}
.adepa-legal-toc__summary {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-height: var(--wp--custom--touch-target);
	cursor: pointer;
	font-weight: 600;
}
.adepa-legal-toc__count { font-weight: 400; color: var(--wp--preset--color--grey-500); font-size: var(--wp--preset--font-size--small); }
.adepa-legal-toc__list {
	margin: 0 0 var(--wp--preset--spacing--40);
	padding-left: 0;
	list-style: none;
	columns: 1;
	font-size: var(--wp--preset--font-size--small);
}
.adepa-legal-toc__list li { break-inside: avoid; }
.adepa-legal-toc__list a { display: inline-block; padding-block: 0.3rem; }

/* Content: original headings, paragraphs, tables and links. */
.adepa-legal-reader__content { max-width: var(--adepa-legal-measure); }
.adepa-legal-reader__content > * { margin-block: 0; }
.adepa-legal-reader__content > * + * { margin-top: var(--wp--preset--spacing--40); }
.adepa-legal-reader__content :is(p, li) { line-height: var(--wp--custom--line-height--body); overflow-wrap: break-word; }
.adepa-legal-reader__content :is(ul, ol) { padding-left: 1.25em; }
.adepa-legal-reader__content li + li { margin-top: 0.375rem; }
.adepa-legal-reader__content h2 {
	margin-top: var(--wp--preset--spacing--70);
	font-size: var(--wp--preset--font-size--heading-4);
	line-height: var(--wp--custom--line-height--snug);
	letter-spacing: var(--wp--custom--letter-spacing--snug);
}
.adepa-legal-reader__content h2.legal-language-heading {
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: var(--wp--custom--line-height--heading);
}
.adepa-legal-reader__content > h2.legal-language-heading:first-child { margin-top: 0; }
/* 0.4.47: the reader h1 already shows this title, so the stored language heading is hidden visually only (in flow,
   1px, clipped: screen readers still announce it and #en / #tr still scroll to it). */
.adepa-legal-reader--split .adepa-legal-reader__content > h2.legal-language-heading {
	width: 1px;
	height: 1px;
	margin: 0 !important;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
/* The document's own meta line ("Last updated: … · Version: …"): the only visible instance, styled as metadata. */
.adepa-legal-reader--split .adepa-legal-reader__content > h2.legal-language-heading + p {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--grey-700);
}
.adepa-legal-reader--split .adepa-legal-reader__content > h2.legal-language-heading + p + * { margin-top: var(--wp--preset--spacing--50); }
.adepa-legal-reader__content h3 {
	margin-top: var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--body-lg);
	line-height: var(--wp--custom--line-height--snug);
}
.adepa-legal-reader__content :is(h2, h3) + * { margin-top: var(--wp--preset--spacing--30); }
.adepa-legal-reader__content .legal-language-switch { font-size: var(--wp--preset--font-size--small); }
/* 0.4.48 (t279u): the legacy in-page language switch is removed from split views server-side (inc/legal-centre.php);
   this is the fallback should one remain: hidden from everyone (display: none = not focusable, not announced), and a
   divider left at the top of a split view is hidden with it, so no empty band remains under the Contents box. */
.adepa-legal-reader--split .adepa-legal-reader__content .legal-language-switch,
.adepa-legal-reader--split .adepa-legal-reader__content > hr.legal-language-divider:first-child,
.adepa-legal-reader--split .adepa-legal-reader__content > .legal-language-switch + hr.legal-language-divider { display: none; }
.adepa-legal-reader__content hr.legal-language-divider {
	margin-block: var(--wp--preset--spacing--40);
	border: 0;
	border-top: 1px solid var(--wp--preset--color--grey-200);
}
.adepa-legal-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}
.adepa-legal-table-wrap:focus-visible { outline-offset: 2px; }
.adepa-legal-reader__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}
.adepa-legal-reader__content :is(th, td) {
	padding: 0.625rem 0.75rem 0.625rem 0;
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
	text-align: left;
	vertical-align: top;
	overflow-wrap: break-word;
	hyphens: auto;
}
.adepa-legal-reader__content :is(th, td) code { word-break: break-all; }
.adepa-legal-reader__content thead th {
	font-size: var(--wp--preset--font-size--label);
	letter-spacing: var(--wp--custom--letter-spacing--label);
	text-transform: uppercase;
	color: var(--wp--preset--color--grey-500);
	border-bottom-color: var(--wp--preset--color--ink);
}
.adepa-legal-reader__content a { overflow-wrap: anywhere; }
.adepa-legal-reader :target { background: var(--wp--preset--color--brand-red-tint); outline: 0; }

/* Narrow screens: tables keep their structure (no scroll container, no markup change); compact type, words wrap whole. */
@media (max-width: 599.98px) {
	.adepa-legal-reader__content table { font-size: var(--wp--preset--font-size--label); }
	.adepa-legal-reader__content :is(th, td) { padding: 0.5rem 0.5rem 0.5rem 0; }
	.adepa-legal-reader__content :is(th, td):last-child { padding-right: 0; }
	.adepa-legal-reader__content thead th { letter-spacing: 0; text-transform: none; }
	/* Five-column tables (the §11 cookie tables) cannot fit 320–350px without breaking words: they scroll sideways
	   inside their wrapper (.adepa-legal-table-wrap, overflow-x: auto) instead of widening the page. 0.4.47: the
	   table keeps display: table (semantics intact); legal-centre.js makes a scrolling wrapper focusable. */
	.adepa-legal-reader__content table:has(tr > :nth-child(5)) :is(th, td) { min-width: 6.5rem; }
}

/* ---------- Desktop: two columns ---------- */
.adepa-legal-centre__aside { display: none; }
@media (min-width: 1024px) {
	.adepa-legal-centre {
		display: grid;
		grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
		gap: var(--wp--preset--spacing--80);
		align-items: start;
	}
	.adepa-legal-centre__aside {
		display: block;
		position: sticky;
		top: var(--adepa-legal-top);
		max-height: calc(100vh - var(--adepa-legal-top) - var(--wp--preset--spacing--40));
		overflow-y: auto;
		padding: 0.25rem 0.25rem var(--wp--preset--spacing--40) 0.25rem; /* room for focus rings */
	}
	.adepa-legal-picker { display: none; }
	.adepa-legal-toc__list { columns: 2; column-gap: var(--wp--preset--spacing--50); }
}

@media print {
	.adepa-legal-centre__aside, .adepa-legal-picker, .adepa-legal-toc { display: none !important; }
	.adepa-legal-centre { display: block; }
}
