.legal-document { overflow-wrap: anywhere; }
html { scroll-padding-bottom: var(--cookie-space, 0px); }
body { padding-bottom: var(--cookie-space, 0px); }
.validation-summary-valid { display: none; }
.legal-navigation, .legal-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; }
.legal-navigation { justify-content: center; }
.legal-actions .btn { white-space: normal; }
.legal-document .table-responsive { max-width: 100%; }
.legal-document table { min-width: 520px; }
.legal-document .form-control { min-width: 0; }
.legal-document .document__subtitle { color: #666; }
.legal-document .form-control:focus-visible, .legal-document .btn:focus-visible,
.legal-document a:focus-visible, .contacts .form-control:focus-visible, .contacts .btn:focus-visible,
.contacts a:focus-visible { outline: 2px solid #e52727; outline-offset: 2px; }
.legal-document table.cookie-table { width: 100%; min-width: 0; table-layout: fixed; }
.cookie-table th, .cookie-table td { padding: 8px 10px; border: 1px solid #ebebeb; vertical-align: top; }
.cookie-table thead th, .cookie-list dt { background: #f7f7f7; }
.cookie-list dt { padding: 12px 14px; border: 1px solid #ebebeb; }
.cookie-list dd { margin: 0 0 20px; padding: 12px 14px; border: 1px solid #ebebeb; border-top: 0; }
.cookie-list dd p:last-child { margin-bottom: 0; }
.cookie-banner {
    position: fixed; bottom: 20px; left: 20px; right: 20px; background: #333; color: #fff;
    padding: 15px 20px; display: flex; justify-content: space-between; align-items: center;
    gap: 12px; z-index: 1050; border-radius: 4px; box-shadow: 0 4px 15px #0005;
}
.cookie-banner a { color: #ffcc00; text-decoration: underline; }
.cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
@media (max-width: 991px) { .cookie-banner { flex-wrap: wrap; } }
@media (max-width: 575px) {
    .cookie-banner__actions { width: 100%; }
    .cookie-banner__actions button { flex: 1 1 100%; }
}
.cookie-banner button { background: #ffcc00; border: 0; color: #333; padding: 6px 15px;
    font-weight: bold; cursor: pointer; border-radius: 3px; flex-shrink: 0; }
.cookie-banner a:focus-visible, .cookie-banner button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.not-found__404.not-found__404--readable { color: #767676; }
.legal-receipt { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.complaint-print-only { display: none; }
@media (max-width: 575px) {
    .legal-actions { flex-direction: column; }
    .legal-actions form { display: flex; }
    .legal-actions form .btn { flex: 1; }
    .cookie-banner { flex-wrap: wrap; max-height: 45vh; overflow-y: auto; left: 0; right: 0; bottom: 0;
        padding: 10px 14px; font-size: 14px; line-height: 1.4; gap: 8px; border-radius: 0; }
}
@media print {
    body { padding-bottom: 0; }
    .complaint-print-only { display: block; }
    .complaint-screen-intro { display: none; }
    .site__header, .site__footer, .mobile-header, .mobile-menu, .cookie-banner,
    .legal-navigation, .legal-actions, .block-space, .totop { display: none !important; }
    .legal-document, .legal-document .document__content { margin: 0; padding: 0; border: 0; max-width: none; }
    .legal-document .document__header { margin-bottom: 20px; }
    .legal-document table { min-width: 0; }
    .legal-document p, .legal-document tr { break-inside: avoid; }
    .legal-document h2 { break-after: avoid; }
}
.contacts__map { position: relative; }
.contact-map__image { display: block; width: 100%; height: 100%; position: relative; }
.contact-map__image img { width: 100%; height: 100%; object-fit: cover; }
.contact-map__directions { position: absolute; top: 16px; left: 16px; background: #fff; color: #333; padding: 10px 14px; border-radius: 3px; box-shadow: 0 1px 5px #0003; font-size: 14px; }
.contact-map__attribution { position: absolute; bottom: 0; right: 0; min-height: 24px; padding: 4px 6px; background: #fffe; color: #555; font-size: 11px; }
.legal-document .legal-guarantee-notice { display: block; width: 100%; max-width: 540px; height: auto; margin: 0 auto; }
