/* Ekspert na godziny: legal documents (regulamin, polityki) + 404.
   Long-form reading: body column ≤68ch, numbered §, sticky contents on desktop, print styles. Tokens in main.css. */

/* ---------- Admin-only note ---------- */
.en-legal-admin {
	max-width: none; margin: 0;
	display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: baseline;
	padding: .7rem var(--gutter);
	background: var(--brass); color: var(--brass-ink);
	font-size: var(--fs-small);
}
.en-legal-admin span { opacity: .9; }

/* ---------- Title band ---------- */
.en-legal-hero { padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(2.5rem, 1.8rem + 3vw, 4.5rem); }
.en-legal-docs ul { display: flex; flex-wrap: wrap; gap: 0 var(--s-5); list-style: none; margin: 0 0 clamp(1.5rem, 1rem + 2vw, 3rem); padding: 0; }
.en-legal-docs a {
	display: inline-flex; align-items: center; min-height: 48px;
	color: var(--loden-ink-2); text-decoration: none; font-weight: 600; font-stretch: 106%;
	border-bottom: 2px solid transparent;
	transition: color .2s var(--ease), border-color .2s var(--ease);
}
.en-legal-docs a:hover { color: var(--loden-ink); border-bottom-color: var(--loden-line); }
.en-legal-docs a[aria-current="page"] { color: var(--loden-ink); border-bottom-color: var(--brass); }
.en-legal-hero h1 { font-size: clamp(2.3rem, 1.3rem + 3.6vw, 4.4rem); max-width: 16ch; margin-bottom: var(--s-5); }
.en-surface-loden .en-legal-hero__lead { font-size: clamp(1.1rem, 1rem + .35vw, 1.3rem); line-height: 1.5; max-width: 58ch; color: var(--loden-ink-2); }
.en-legal-hero__meta {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4);
	margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--loden-line);
}
.en-surface-loden .en-legal-hero__meta p { margin: 0; color: var(--loden-ink-2); }
.en-legal-hero__meta time { color: var(--loden-ink); font-weight: 800; font-stretch: 112%; font-variant-numeric: tabular-nums; }
.en-legal-print { min-height: 48px; padding: .5em 1.1em; font-size: var(--fs-small); }

/* ---------- Layout: contents + body ---------- */
.en-legal {
	display: grid;
	grid-template-columns: minmax(13rem, 17rem) minmax(0, 68ch);
	gap: clamp(2rem, 1rem + 4vw, 5.5rem);
	align-items: start;
	padding-block: var(--s-8) var(--section);
}
.en-legal__toc--mobile { display: none; }
.en-legal__toc--desk {
	position: sticky; top: calc(var(--header-h) + 1.5rem);
	max-height: calc(100vh - var(--header-h) - 3rem); overflow-y: auto;
	font-size: var(--fs-small);
	padding-right: var(--s-2);
}
.en-legal__toc-h { font-weight: 800; font-stretch: 112%; margin-bottom: var(--s-3); }
.en-legal__toc-list { list-style: none; margin: 0; padding: 0; }
.en-legal__toc-list a {
	display: grid; grid-template-columns: 2.9rem 1fr; gap: .4rem; align-items: baseline;
	padding: .5rem 0; border-top: 1px solid var(--line);
	color: var(--ink-2); text-decoration: none; line-height: 1.35;
	transition: color .2s var(--ease);
}
.en-legal__toc-list li:last-child a { border-bottom: 1px solid var(--line); }
.en-legal__toc-list a:hover { color: var(--ink); }
.en-legal__toc-no { font-variant-numeric: tabular-nums; font-weight: 700; font-stretch: 112%; white-space: nowrap; justify-self: start; padding: 0 .35em; margin-left: -.35em; border-radius: var(--r-1); }
.en-legal__toc-list a[aria-current] { color: var(--ink); font-weight: 600; }
.en-legal__toc-list a[aria-current] .en-legal__toc-no { background: var(--brass); color: var(--brass-ink); }

@media (max-width: 1080px) {
	.en-legal { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); padding-top: var(--s-6); }
	.en-legal__toc--desk { display: none; }
	.en-legal__toc--mobile { display: block; max-width: 68ch; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--r-2); }
	.en-legal__toc--mobile summary {
		display: flex; align-items: center; justify-content: space-between; min-height: 52px;
		padding: .6rem 1rem; font-weight: 700; font-stretch: 108%; cursor: pointer; list-style: none;
	}
	.en-legal__toc--mobile summary::-webkit-details-marker { display: none; }
	.en-legal__toc--mobile summary::after { content: "+"; font-size: 1.4rem; font-weight: 600; line-height: 1; }
	.en-legal__toc--mobile[open] summary::after { content: "\2212"; }
	.en-legal__toc--mobile .en-legal__toc-list { padding: 0 1rem .6rem; font-size: var(--fs-small); }
	.en-legal__toc--mobile .en-legal__toc-list a { min-height: 44px; }
}

/* ---------- Body ---------- */
.en-legal__body { min-width: 0; }
.en-legal__body a { overflow-wrap: anywhere; }
.en-legal__sec + .en-legal__sec { margin-top: clamp(2.5rem, 2rem + 2vw, 3.75rem); }
.en-legal__sec h2 {
	font-size: clamp(1.45rem, 1.2rem + 1vw, 2rem); font-stretch: 112%; font-weight: 760; line-height: 1.15;
	margin-bottom: var(--s-5);
}
.en-legal__no {
	display: block; width: fit-content;
	margin-bottom: .55rem; padding-top: .6rem; border-top: 3px solid var(--brass-deep);
	font-size: 1rem; font-weight: 800; font-stretch: 112%; font-variant-numeric: tabular-nums; letter-spacing: 0;
	color: var(--ink-2);
}

/* Numbered points: "1." for ustępy, "1)" for punkty. */
.en-legal__pts, .en-legal__sub, .en-legal__list { list-style: none; margin: 0 0 var(--s-4); padding: 0; }
.en-legal__pts { counter-reset: pt; }
.en-legal__pts > li { counter-increment: pt; position: relative; padding-left: 2.2rem; margin-bottom: .85rem; }
.en-legal__pts > li::before {
	content: counter(pt) "."; position: absolute; left: 0; top: 0;
	font-variant-numeric: tabular-nums; font-weight: 700; font-stretch: 112%; color: var(--ink-2);
}
.en-legal__sub { counter-reset: sub; margin: .6rem 0 0; }
.en-legal__sub > li { counter-increment: sub; position: relative; padding-left: 1.9rem; margin-bottom: .5rem; }
.en-legal__sub > li::before { content: counter(sub) ")"; position: absolute; left: 0; top: 0; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--ink-2); }
.en-legal__list > li { position: relative; padding-left: 1.5rem; margin-bottom: .6rem; }
.en-legal__list > li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: .45rem; height: .45rem; background: var(--brass-deep); border-radius: 1px; }

/* Definitions */
.en-legal__defs { display: grid; grid-template-columns: minmax(9rem, 13rem) 1fr; margin: 0; border-top: 1px solid var(--line); }
.en-legal__defs dt, .en-legal__defs dd { padding: .7rem 0; border-bottom: 1px solid var(--line); margin: 0; }
.en-legal__defs dt { font-weight: 700; font-stretch: 106%; padding-right: var(--s-4); }

/* Entries (processing purposes, stored items): heading + label/value rows, separated by rules. */
.en-legal__entry { padding-block: 1.1rem 1.2rem; border-top: 1px solid var(--line); }
.en-legal__entry:last-child { border-bottom: 1px solid var(--line); }
.en-legal__entry h3, .en-legal__entry h4 { font-size: 1.15rem; font-stretch: 108%; font-weight: 700; line-height: 1.3; margin: 0 0 .6rem; }
.en-legal__entry dl { display: grid; grid-template-columns: 9.5rem 1fr; gap: .4rem 1rem; margin: 0; }
.en-legal__entry dt { color: var(--ink-2); font-size: var(--fs-small); font-weight: 600; padding-top: .12em; }
.en-legal__entry dd { margin: 0; }
.en-legal__group { font-size: 1.05rem; font-stretch: 108%; margin: var(--s-6) 0 var(--s-3); }
.en-legal__group:first-child { margin-top: 0; }

/* Small pieces */
.en-legal__example {
	display: block; margin-top: .6rem; padding: .65rem .9rem;
	background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--r-1);
	font-size: var(--fs-small); font-variant-numeric: tabular-nums;
}
.en-legal__action { display: block; margin-top: .9rem; }
.en-legal__body code {
	font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .86em;
	background: var(--paper-3); padding: .08em .35em; border-radius: 3px; overflow-wrap: anywhere;
}
.en-legal__note, .en-legal__small { font-size: var(--fs-small); color: var(--ink-2); }
.en-legal__end { margin-top: var(--s-8); font-size: var(--fs-small); }

/* Withdrawal form (appendix) */
.en-legal__form {
	background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--r-2);
	padding: clamp(1.1rem, .8rem + 1.2vw, 2rem);
}
.en-legal__form p { margin-bottom: var(--s-4); }
.en-legal__fill { display: inline-block; width: min(16rem, 100%); height: 1.1em; vertical-align: baseline; border-bottom: 1px dotted var(--ink-2); }
.en-legal__line { height: 2.4rem; border-bottom: 1px dotted var(--ink-2); max-width: none; }

@media (max-width: 560px) {
	.en-legal__defs { grid-template-columns: 1fr; }
	.en-legal__defs dt { border-bottom: 0; padding-bottom: 0; }
	.en-legal__defs dd { padding-top: .2rem; }
	.en-legal__entry dl { grid-template-columns: 1fr; gap: .1rem; }
	.en-legal__entry dd + dt { margin-top: .5rem; }
	.en-legal__pts > li { padding-left: 1.8rem; }
	.en-legal-hero__meta { align-items: flex-start; flex-direction: column; }
}

/* ---------- 404 ---------- */
.en-404 { padding-block: clamp(3rem, 2rem + 5vw, 7rem); }
.en-404__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: center; }
.en-404__code { font-weight: 800; font-stretch: 112%; font-variant-numeric: tabular-nums; color: var(--ink-2); margin-bottom: var(--s-4); }
.en-404 h1 { font-size: clamp(2.4rem, 1.3rem + 4.2vw, 4.9rem); max-width: 13ch; margin-bottom: var(--s-5); }
.en-404__links { display: flex; flex-wrap: wrap; gap: var(--s-3); list-style: none; margin: var(--s-6) 0; padding: 0; }
.en-404__links .en-ico { width: 1.15em; height: 1.15em; }
.en-404__call { padding-top: var(--s-5); border-top: 1px solid var(--line); max-width: 60ch; }
.en-404__call p { font-weight: 600; margin-bottom: var(--s-3); }
.en-404__sheet-h { font-weight: 800; font-stretch: 118%; font-size: 1.2rem; margin-bottom: var(--s-2); }
.en-404__sheet .en-sheet__list > li { grid-template-columns: 2.6rem 1fr auto; }
.en-404__path { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .88em; overflow-wrap: anywhere; color: var(--ink-2); }
.en-404__zero { font-weight: 800; font-stretch: 112%; color: var(--ink); }
@media (max-width: 860px) {
	.en-404__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 940px) {
	.en-call--404 { display: none; } /* the fixed call bar already carries the number */
}
@media (max-width: 560px) {
	.en-404__links li { flex: 1 1 100%; }
	.en-404__links .en-btn { width: 100%; justify-content: flex-start; }
}

/* ---------- Print: the document only ---------- */
@media print {
	.en-header, .en-footer, .en-callbar, .en-cookies, .en-skip, .en-legal-admin,
	.en-legal__toc, .en-legal-docs, .en-legal-print, .en-legal__end, .en-legal__action { display: none !important; }
	html, body { background: none; color: var(--ink); font-size: 10.5pt; }
	.en-wrap { width: auto; }
	.en-legal-hero { background: none; color: var(--ink); padding: 0 0 8pt; border-bottom: 1px solid var(--ink-2); }
	.en-legal-hero h1, .en-surface-loden .en-legal-hero__lead, .en-surface-loden .en-legal-hero__meta p, .en-legal-hero__meta time { color: var(--ink); }
	.en-legal-hero h1 { font-size: 22pt; max-width: none; }
	.en-legal-hero__meta { border: 0; padding: 0; margin-top: 4pt; }
	.en-legal { display: block; padding: 12pt 0 0; }
	.en-legal__body { max-width: none; }
	.en-legal__sec + .en-legal__sec { margin-top: 14pt; }
	.en-legal__sec h2 { font-size: 13pt; break-after: avoid; }
	.en-legal__pts > li, .en-legal__entry, .en-legal__defs dt, .en-legal__defs dd { break-inside: avoid; }
	.en-legal__sec--form { break-before: page; }
	a { text-decoration: none; }
	@page { margin: 16mm 15mm; }
}
