/* V27 AGB: readable document layout in the existing SCHARFES S brand. */
.agb-page { padding-top:145px; }
.agb-heading { max-width:880px; margin-bottom:54px; }
.agb-heading .back-link { display:inline-block; margin-bottom:30px; }
.agb-heading h1 { margin:0 0 24px; font:500 clamp(38px,4.7vw,66px)/1.08 Georgia,serif; letter-spacing:-.035em; }
.agb-status { display:inline-block; padding:9px 13px; margin:0 0 12px; border:1px solid #5a4a30; background:#1c1812; color:#ddc898; font-size:12px; letter-spacing:.03em; }
.agb-date { color:#a7a197; margin:0 0 24px; font-size:13px; }
.agb-introduction { max-width:76ch; color:#bbb6ac; line-height:1.8; }
.agb-introduction p { margin:0 0 16px; }
.agb-tools { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.agb-layout { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:50px; }
.agb-toc { position:sticky; top:105px; max-height:calc(100dvh - 130px); overflow-y:auto; padding:24px; border:1px solid var(--line); background:var(--panel); }
.agb-toc h2 { font:600 23px Georgia,serif; margin:0 0 20px; }
.agb-toc ol { list-style:none; margin:0; padding:0; }
.agb-toc li { margin:0 0 5px; }
.agb-toc a { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; padding:8px 0; color:#c7c0b2; font-size:12px; line-height:1.55; text-decoration:none; }
.agb-toc-number { color:var(--gold); font-size:10px; letter-spacing:.08em; padding-top:1px; }
.agb-toc a:hover { color:var(--gold); }
.agb-toc a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.agb-copy { min-width:0; max-width:80ch; color:#c8c3b9; font-size:16px; line-height:1.85; }
.agb-section { border-top:1px solid var(--line); padding-top:30px; margin-bottom:38px; scroll-margin-top:105px; }
.agb-section h2 { font:600 clamp(25px,2.5vw,34px)/1.2 Georgia,serif; color:var(--text); margin:0 0 24px; letter-spacing:-.015em; }
.agb-section h2 > span { color:var(--gold); }
.agb-clauses { margin:0; padding:0; list-style:none; }
.agb-clause { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; margin-bottom:22px; }
.agb-clause-number { color:var(--gold); font-size:12px; font-weight:600; padding-top:3px; }
.agb-clause-body { min-width:0; }
.agb-clause-body p { margin:0 0 12px; overflow-wrap:break-word; white-space:pre-line; }
.agb-clause-body p:last-child { margin-bottom:0; }
.agb-clause-body ul { padding-left:21px; margin:14px 0 0; }
.agb-clause-body li { padding-left:3px; margin:8px 0; }
.agb-page a:not(.btn) { color:var(--gold); text-underline-offset:3px; }
.agb-open-block { border:1px solid #5a4a30; border-left:3px solid var(--gold); padding:28px; background:#191610; margin-top:48px; scroll-margin-top:105px; }
.agb-open-block h2 { color:#e6d5ad; font:600 29px/1.2 Georgia,serif; margin:0 0 20px; }
.agb-open-block .eyebrow { margin-top:0; }
.agb-open-block ul { margin:0; padding-left:20px; }
.agb-open-block li { margin:13px 0; padding-left:3px; }
.agb-open-block strong { color:#e2d2b0; }
@media(max-width:1050px) {
  .agb-layout { grid-template-columns:1fr; gap:38px; }
  .agb-toc { position:static; max-height:none; }
  .agb-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px; }
  .agb-copy { max-width:86ch; }
}
@media(max-width:560px) {
  .agb-page { padding-top:112px; }
  .agb-heading { margin-bottom:35px; }
  .agb-heading h1 { font-size:38px; overflow-wrap:break-word; }
  .agb-heading .back-link { margin-bottom:22px; }
  .agb-toc { padding:21px; }
  .agb-toc ol { grid-template-columns:1fr; }
  .agb-tools { display:grid; grid-template-columns:1fr; }
  .agb-tools .btn { justify-content:center; text-align:center; }
  .agb-copy { font-size:15px; line-height:1.8; }
  .agb-clause { grid-template-columns:33px minmax(0,1fr); gap:9px; }
  .agb-open-block { padding:22px 18px; }
  .agb-open-block h2 { font-size:26px; }
}
@media print {
  @page { size:A4; margin:16mm 18mm 18mm; }
  html, body.agb-document { background:#fff !important; color:#171717 !important; }
  body.agb-document { font:10.5pt/1.55 Arial,sans-serif; }
  .agb-document .skip-link, .agb-document .site-header nav, .agb-document .header-book,
  .agb-document .menu, .agb-document > footer, .agb-tools, .agb-toc, .agb-heading .back-link { display:none !important; }
  .agb-document .site-header { position:static; display:block; height:auto; padding:0 0 7mm; margin:0 0 8mm; background:#fff; border-bottom:1pt solid #8d6a31; box-shadow:none; }
  .agb-document .brand { display:block; width:58mm; height:auto; }
  .agb-document .brand img { display:block; position:static; width:58mm; height:auto; max-height:22mm; object-fit:contain; filter:grayscale(1); }
  .agb-page { max-width:none; padding:0; margin:0; }
  .agb-heading { max-width:none; margin:0 0 9mm; }
  .agb-heading h1 { color:#171717; font-size:26pt; margin:0 0 5mm; }
  .agb-date, .agb-introduction, .agb-copy { color:#171717; font-size:10.5pt; line-height:1.55; }
  .agb-status { color:#171717; background:#fff; border-color:#8d6a31; font-size:9pt; }
  .agb-layout { display:block; }
  .agb-copy { max-width:none; }
  .agb-section { padding-top:5mm; margin-bottom:7mm; border-color:#b8b8b8; }
  .agb-section h2 { color:#171717; font-size:16pt; margin:0 0 5mm; break-after:avoid-page; }
  .agb-section h2 > span, .agb-clause-number, .agb-page a:not(.btn), .agb-page .eyebrow { color:#6d5228; }
  .agb-clause { grid-template-columns:11mm minmax(0,1fr); gap:3mm; margin-bottom:4mm; break-inside:avoid-page; }
  .agb-clause-number { font-size:9pt; }
  .agb-clause-body p { orphans:3; widows:3; }
  .agb-open-block { background:#fff; border-color:#8d6a31; padding:6mm; margin-top:8mm; }
  .agb-open-block h2 { color:#171717; font-size:16pt; break-after:avoid-page; }
  .agb-open-block strong { color:#171717; }
  .agb-open-block li { break-inside:avoid-page; }
}
