.legal-text {
    line-height: 1.7;
    padding: clamp(1.25rem, 4vw, 3rem);
}

.legal-text h2 {
    margin: 2.5rem 0 .8rem;
    font-size: clamp(1.2rem, 2.5vw, 1.55rem);
    line-height: 1.25;
}

.legal-text h2:first-of-type {
    margin-top: 2rem;
}

.legal-text p {
    margin: .65rem 0;
    color: var(--muted);
}

.legal-text ul {
    display: grid;
    gap: .55rem;
    margin: .7rem 0 1.2rem;
    padding-left: 1.4rem;
    color: var(--muted);
}

.legal-text li::marker { color: var(--accent-2); }

.legal-text .legal-intro {
    margin: 0;
    color: var(--text);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 800;
}

.legal-text .legal-version {
    margin: .3rem 0 1.5rem;
    font-size: .88rem;
}

.withdrawal-link {
    display: inline-block;
    padding: .25rem .55rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-weight: 800;
}

.legal-withdrawal-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
}

.legal-withdrawal-action > div {
    display: grid;
    gap: .25rem;
}

.legal-withdrawal-action strong {
    color: var(--text);
    font-size: 1rem;
}

.legal-withdrawal-action span {
    color: var(--muted);
    font-size: .9rem;
}

.legal-withdrawal-button {
    flex: 0 0 auto;
    border-color: var(--text);
    background: transparent;
}

.legal-withdrawal-button:hover,
.legal-withdrawal-button:focus-visible {
    background: var(--text);
    color: var(--bg);
}

.withdrawal-page { max-width: 720px; }
.withdrawal-page form { margin-top: 1.25rem; }
.withdrawal-page .notice { line-height: 1.55; }

.order-document { max-width: 1120px; }
.order-document-screen-head h1 { margin-bottom: .2rem; }
.order-document-paper { overflow: hidden; padding: 0; color: var(--text); }
.order-document-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: 2.2rem 2.5rem; border-bottom: 1px solid var(--line); background: linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 86%,transparent),var(--surface)); }
.order-document-brand { font-size: 2rem; font-weight: 950; letter-spacing: -.08em; }
.order-document-brand span { color: var(--accent); }
.order-document-kind { display: grid; gap: .35rem; text-align: right; }
.order-document-kind span { color: var(--accent-2); font-size: .65rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.order-document-kind strong { font-size: 1.05rem; line-height: 1.15; }
.order-document-lead { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; border-bottom: 1px solid var(--line); background: var(--line); }
.order-document-lead>div { display: grid; align-content: start; gap: .35rem; min-height: 90px; padding: 1.15rem 1.25rem; background: var(--surface); }
.order-document-lead span,.order-document-facts span { color: var(--muted); font-size: .67rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.order-document-lead strong { font-size: .88rem; overflow-wrap: anywhere; }
.order-document-lead .order-document-total { font-size: 1.25rem; }
.order-status { color: var(--muted); }
.order-status-paid { color: var(--good); }
.order-status-failed,.order-status-disputed { color: var(--bad); }
.order-document-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding: 2rem 2.5rem; }
.order-document-parties section { min-width: 0; }
.order-document-parties h2 { margin: 0 0 .7rem; color: var(--muted); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.order-document-parties p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.55; }
.order-document-parties strong { color: var(--text); }
.order-document-section { padding: 1.5rem 2.5rem 2rem; border-top: 1px solid var(--line); }
.order-document-section-title { display: flex; align-items: flex-start; gap: .8rem; margin-bottom: 1.2rem; }
.order-document-section-title>span { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: var(--surface-2); color: var(--accent-2); font-size: .68rem; font-weight: 850; }
.order-document-section-title h2 { margin: 0; font-size: 1.05rem; }
.order-document-section-title p { margin: .25rem 0 0; color: var(--muted); font-size: .76rem; }
.order-document-items { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }
.order-document-item { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 1.5rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.order-document-item>div { display: grid; gap: .35rem; }
.order-document-item strong { font-size: .88rem; }
.order-document-item small { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.order-document-item>span { white-space: nowrap; font-size: .83rem; font-weight: 750; }
.order-document-sum { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1rem; background: var(--surface-2); }
.order-document-sum span { font-size: .75rem; font-weight: 750; }
.order-document-sum strong { font-size: 1.2rem; }
.order-document-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.order-document-facts>div { display: grid; gap: .35rem; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: 12px; }
.order-document-facts strong { font-size: .86rem; }
.order-document-consents ul { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.order-document-consents li { display: flex; align-items: center; gap: .75rem; padding: .7rem .85rem; border: 1px solid color-mix(in srgb,var(--good) 25%,var(--line)); border-radius: 11px; background: color-mix(in srgb,var(--good) 5%,transparent); }
.order-document-consents li>span { color: var(--good); font-weight: 900; }
.order-document-consents li>div { display: grid; gap: .15rem; }
.order-document-consents strong { font-size: .8rem; }
.order-document-consents small { color: var(--muted); font-size: .68rem; }
.order-document-appendix { margin-top: 1rem; padding: 2rem 2.5rem; border-top: 1px dashed var(--line); background: color-mix(in srgb,var(--surface-2) 42%,var(--surface)); }
.order-document-appendix>header { margin-bottom: 1.5rem; }
.order-document-appendix>header>span { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.order-document-appendix h2 { margin: .35rem 0; font-size: 1rem; }
.order-document-appendix header p { max-width: 75ch; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.order-document-appendix article+article { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.order-document-appendix h3 { margin: 0 0 .65rem; font-size: .8rem; }
.order-document-snapshot { color: color-mix(in srgb,var(--muted) 88%,var(--text)); font-size: .68rem; line-height: 1.42; }
.order-document-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 2.5rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; }

@media (max-width: 640px) {
    .legal-withdrawal-action {
        align-items: stretch;
        flex-direction: column;
    }

    .legal-withdrawal-button {
        width: 100%;
    }

    .order-document-header,.order-document-parties { padding-inline: 1.25rem; }
    .order-document-lead { grid-template-columns: 1fr 1fr; }
    .order-document-section,.order-document-appendix { padding-inline: 1.25rem; }
    .order-document-parties,.order-document-facts { grid-template-columns: 1fr; gap: 1rem; }
    .order-document-item { grid-template-columns: 1fr; gap: .5rem; }
}

@media print {
    @page { size: A4; margin: 13mm 12mm 14mm; }
    html,body { background: #fff !important; color: #17191d !important; }
    body { font-family: Arial,sans-serif; font-size: 9.5pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .site-header, .site-footer, .order-document .section-head button { display: none !important; }
    .order-document { width: 100%; max-width: none; padding: 0; }
    .order-document-screen-head { margin: 0 0 7mm; }
    .order-document-screen-head .eyebrow,.order-document-screen-head .muted { display: none; }
    .order-document-screen-head h1 { margin: 0; font-size: 18pt; }
    .order-document .panel { border: 0; box-shadow: none; background: #fff; color: #17191d; }
    .order-document-header { padding: 0 0 7mm; background: #fff; border-color: #d8dbe0; }
    .order-document-brand { font-size: 20pt; }
    .order-document-lead { border: 1px solid #d8dbe0; background: #d8dbe0; }
    .order-document-lead>div { min-height: 19mm; padding: 3.5mm; background: #fff; }
    .order-document-lead span,.order-document-facts span { color: #6d727c; font-size: 6.5pt; }
    .order-document-lead strong { font-size: 8pt; }
    .order-document-lead .order-document-total { font-size: 12pt; }
    .order-status-paid { color: #087c4d; }
    .order-document-parties { gap: 15mm; padding: 7mm 0; }
    .order-document-parties h2 { color: #6d727c; font-size: 6.5pt; }
    .order-document-parties p { color: #4f545d; font-size: 8pt; }
    .order-document-section { padding: 6mm 0; border-color: #d8dbe0; break-inside: avoid; }
    .order-document-section-title { margin-bottom: 4mm; }
    .order-document-section-title>span { background: #f0f1f3; color: #bd2727; }
    .order-document-section-title h2 { font-size: 10pt; }
    .order-document-section-title p { color: #6d727c; font-size: 7pt; }
    .order-document-items,.order-document-item,.order-document-facts>div { border-color: #d8dbe0; }
    .order-document-item { padding: 3mm; break-inside: avoid; }
    .order-document-item strong,.order-document-facts strong { font-size: 8pt; }
    .order-document-item small { color: #666b74; font-size: 6.5pt; }
    .order-document-sum { padding: 3mm; background: #f0f1f3; }
    .order-document-sum strong { font-size: 11pt; }
    .order-document-consents li { padding: 2.5mm 3mm; border-color: #cfded6; background: #f7faf8; break-inside: avoid; }
    .order-document-consents strong { font-size: 7.5pt; }
    .order-document-consents small { color: #6d727c; font-size: 6.3pt; }
    .order-document-appendix { margin: 4mm 0 0; padding: 8mm 0 0; border-color: #cfd2d8; background: #fff; break-before: page; page-break-before: always; }
    .order-document-appendix>header { margin-bottom: 5mm; }
    .order-document-appendix h2 { font-size: 10pt; }
    .order-document-appendix header p { color: #747983; font-size: 7pt; }
    .order-document-appendix article+article { border-color: #d8dbe0; }
    .order-document-appendix h3 { font-size: 8pt; break-after: avoid; page-break-after: avoid; }
    .order-document-snapshot { color: #626771; font-size: 7.2pt; line-height: 1.36; orphans: 3; widows: 3; }
    .order-document-footer { padding: 5mm 0 0; border-color: #d8dbe0; color: #747983; font-size: 6.5pt; }
}
