.legal-area { max-width: 1160px; margin: 2rem auto 4rem; padding: 0 1.25rem; color: #163443; }
.legal-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.2rem; }
.legal-actions button { border: 0; border-radius: 999px; background: #fdb84d; color: #142525; padding: .85rem 1.25rem; font: inherit; font-weight: 700; cursor: pointer; }
.legal-area a { color: #075b7c; text-underline-offset: .2em; }
.legal-area a:focus-visible, .legal-area button:focus-visible { outline: 3px solid #087bb2; outline-offset: 4px; }
.legal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1.2rem; margin: 1.8rem 0; }
.legal-card, .legal-document-card { border: 1px solid #d5e1e6; background: #fff; border-radius: 18px; padding: clamp(1.2rem, 3vw, 2.5rem); }
.legal-card { text-decoration: none; display: flex; flex-direction: column; }
.legal-card h2 { margin: 0; font-size: 1.25rem; }
.legal-card span { margin-top: auto; font-weight: 700; }
.legal-card:hover { border-color: #087bb2; }
.legal-document-card { max-width: 880px; margin-inline: auto; line-height: 1.7; overflow-wrap: anywhere; }
.legal-document-card header img { vertical-align: middle; margin-right: .6rem; }
.legal-document-card h1 { font-size: clamp(1.65rem, 4vw, 2.4rem); line-height: 1.2; }
.legal-document-card h2 { margin: 1.8rem 0 .5rem; font-size: 1.25rem; line-height: 1.4; }
.legal-document-card li + li { margin-top: .5rem; }
.legal-note { border-left: 3px solid #be8b19; background: #fff9e5; padding: .75rem 1rem; }
.legal-fields { list-style: none; padding: 0; }
.legal-fields li { border-bottom: 1px solid #71858e; min-height: 3.5rem; padding: .4rem 0; }
.legal-fields .legal-long-field { min-height: 7rem; }
.legal-version { font-size: .875rem; color: #526773; }
@media print {
    @page { size: A4; margin: 18mm; }
    body { background: #fff !important; color: #000 !important; }
    body > :not(main), .legal-actions { display: none !important; }
    main, .legal-area { padding: 0 !important; margin: 0 !important; max-width: none !important; }
    .legal-document-card { border: 0; padding: 0; max-width: none; font-size: 10pt; line-height: 1.5; }
    .legal-document-card h1 { font-size: 19pt; }
    .legal-document-card h2 { font-size: 12pt; break-after: avoid; }
    .legal-fields li, .legal-note { break-inside: avoid; }
    .legal-document-card p { orphans: 3; widows: 3; }
}
