:root { --legal-blue: #142d57; --legal-yellow: #f7b42a; --legal-grey: #464544; --legal-line: #d9e0ea; }
.footer-legal-links { display: flex; flex-wrap: wrap; gap: 14px; margin-left: auto; }
.footer-legal-links a { color: var(--white); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.footer-cookie-link { padding: 0; border: 0; background: transparent; color: var(--white); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.contact-privacy-check { display: flex; grid-column: 1 / -1; gap: 9px; align-items: flex-start; margin: 2px 0 12px; color: var(--white); font-size: 13px; line-height: 1.4; }
.contact-privacy-check input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--yellow); }
.contact-privacy-check a { color: var(--yellow); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }

.legal-page { min-width: 320px; margin: 0; background: #f5f6f8; color: var(--legal-grey); font-family: Inter, Arial, sans-serif; }
.legal-header { min-height: 80px; display: flex; align-items: center; border-bottom: 1px solid var(--legal-line); background: #fff; }
.legal-header .container { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-brand img { display: block; width: 174px; height: 58px; object-fit: contain; }
.legal-back { color: var(--legal-blue); font-size: 14px; font-weight: 800; }
.legal-back:hover { color: #3264ab; }
.legal-main { padding: clamp(48px, 7vw, 90px) 0; }
.legal-content { max-width: 900px; margin: 0 auto; padding: clamp(28px, 5vw, 56px); border: 1px solid var(--legal-line); border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(20, 45, 87, .08); }
.legal-kicker { margin: 0 0 10px; color: #3264ab; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.legal-content h1 { margin: 0 0 12px; color: var(--legal-blue); font-family: "Bebas Neue", Impact, sans-serif; font-size: clamp(46px, 7vw, 72px); font-weight: 400; letter-spacing: .02em; line-height: .92; text-transform: uppercase; }
.legal-updated { margin: 0 0 38px; color: #63676d; font-size: 14px; }
.legal-content h2 { margin: 34px 0 12px; color: var(--legal-blue); font-size: 22px; line-height: 1.2; }
.legal-content h3 { margin: 24px 0 8px; color: var(--legal-blue); font-size: 17px; }
.legal-content p, .legal-content li { font-size: 16px; line-height: 1.65; }
.legal-content p { margin: 0 0 16px; }
.legal-content ul { margin: 0 0 18px; padding-left: 22px; }
.legal-content a { color: #285e95; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.legal-callout { margin: 28px 0; padding: 20px 22px; border-left: 5px solid var(--legal-yellow); background: #fff8e9; }
.legal-callout p:last-child { margin-bottom: 0; }
.legal-footer { padding: 30px 0; background: var(--legal-blue); color: rgba(255,255,255,.84); }
.legal-footer .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 28px; }
.legal-footer a { color: #fff; font-weight: 700; }

.cookie-consent { position: fixed; z-index: 1000; right: 22px; bottom: 22px; width: min(520px, calc(100vw - 32px)); padding: 24px; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; background: var(--legal-blue); color: #fff; box-shadow: 0 18px 48px rgba(5, 18, 39, .32); }
.cookie-consent[hidden] { display: none; }
.cookie-consent h2 { margin: 0 0 8px; color: #fff; font-size: 22px; }
.cookie-consent p { margin: 0; color: rgba(255,255,255,.88); font-size: 14px; line-height: 1.5; }
.cookie-consent a { color: var(--legal-yellow); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.cookie-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.cookie-button { min-height: 43px; padding: 8px 10px; border: 1px solid #fff; border-radius: 8px; background: transparent; color: #fff; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; }
.cookie-button:hover, .cookie-button:focus-visible { border-color: var(--legal-yellow); background: var(--legal-yellow); color: var(--legal-blue); }
.cookie-settings { position: fixed; z-index: 1001; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(6, 18, 38, .66); }
.cookie-settings[hidden] { display: none; }
.cookie-settings-dialog { width: min(620px, 100%); max-height: min(720px, 92vh); overflow: auto; padding: clamp(24px, 5vw, 38px); border-radius: 12px; background: #fff; color: var(--legal-grey); box-shadow: 0 18px 60px rgba(0,0,0,.34); }
.cookie-settings-dialog h2 { margin: 0 0 10px; color: var(--legal-blue); font-size: 28px; }
.cookie-category { display: grid; grid-template-columns: 1fr auto; gap: 10px 18px; padding: 18px 0; border-top: 1px solid var(--legal-line); }
.cookie-category h3 { margin: 0 0 5px; color: var(--legal-blue); font-size: 17px; }
.cookie-category p { margin: 0; font-size: 14px; line-height: 1.45; }
.cookie-toggle { width: 44px; height: 24px; appearance: none; border: 0; border-radius: 999px; background: #9ba7b6; cursor: pointer; }
.cookie-toggle:checked { background: #285e95; }
.cookie-toggle:disabled { cursor: not-allowed; opacity: .7; }
.cookie-settings-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cookie-settings-actions .cookie-button { min-width: 140px; border-color: var(--legal-blue); color: var(--legal-blue); }
.cookie-settings-actions .cookie-button.cookie-primary { background: var(--legal-yellow); border-color: var(--legal-yellow); color: var(--legal-blue); }
.cookie-settings-actions .cookie-button:hover, .cookie-settings-actions .cookie-button:focus-visible { background: var(--legal-blue); border-color: var(--legal-blue); color: #fff; }

@media (max-width: 767px) {
  .footer-legal-links { width: 100%; margin-left: 0; }
  .contact-privacy-check { font-size: 14px; }
  .legal-header .container { min-height: 74px; }
  .legal-brand img { width: 146px; }
  .legal-back { font-size: 13px; }
  .legal-content p, .legal-content li { font-size: 15px; }
  .cookie-consent { right: 16px; bottom: 16px; padding: 20px; }
  .cookie-actions { grid-template-columns: 1fr; }
  .cookie-button { min-height: 46px; }
  .cookie-settings-actions .cookie-button { flex: 1 1 100%; }
}
