.legal-main { background: #fff; color: #303b35; }
#content.legal-main { padding: 0; }
.legal-skip { position: absolute; top: 0; left: 12px; z-index: 13000; padding: 10px 16px; background: #fff; color: #173b30; transform: translateY(-200%); }
.legal-skip:focus { transform: translateY(0); }
.legal-heading { position: static; width: 100%; padding: 50px 0 36px; background: #f1f6f3; color: #263c32; }
.legal-heading h1 { font-size: 38px; line-height: 1.2; text-transform: none; letter-spacing: 0; margin: 10px 0 20px; }
.legal-heading p { margin: 8px 0; }
.legal-date { font-size: 13px; }
.legal-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 60px; padding-top: 48px; padding-bottom: 60px; }
.legal-layout::before, .legal-layout::after { display: none; }
.legal-toc { align-self: start; border-left: 3px solid #007568; padding-left: 18px; }
.legal-toc h2 { font-size: 18px; }
.legal-toc a { display: block; margin: 12px 0; }
.legal-copy { max-width: 800px; min-width: 0; font-size: 16px; line-height: 1.75; }
.legal-copy section { padding: 0; margin: 0 0 40px; background: none; scroll-margin-top: 24px; }
.legal-copy h2 { font-size: 23px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.legal-copy a, .legal-toc a { color: #00695c; text-decoration: underline; text-underline-offset: 3px; }
.legal-copy code { white-space: normal; overflow-wrap: anywhere; color: #263c32; background: #edf3ef; }
.legal-table-wrap { overflow-x: auto; margin: 24px 0; }
.legal-copy table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-copy th, .legal-copy td { padding: 14px; vertical-align: top; text-align: left; border: 1px solid #d6dfd9; min-width: 130px; }
.legal-copy thead { background: #edf3ef; }
.legal-copy caption { padding: 8px 0; color: #303b35; text-align: left; font-weight: 700; }
.legal-button, .external-consent button { color: #173b30; background: #fff; border: 1px solid #007568; border-radius: 4px; min-height: 44px; padding: 10px 18px; font: 700 14px/1.5 Arial,sans-serif; cursor: pointer; letter-spacing: 0; }
.legal-button:hover, .external-consent button:hover { background: #edf3ef; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin: 24px 15px 0; padding-top: 20px; border-top: 1px solid #484848; font-size: 13px; }
.footer-legal a, .footer-legal button { color: #ddd; text-decoration: underline; }
.footer-legal button { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; letter-spacing: 0; min-height: 36px; }
.cookie-banner { box-sizing: border-box; position: fixed; z-index: 12000; bottom: 0; left: 0; width: 100%; max-height: 75vh; overflow-y: auto; padding: 10px 20px; background: #fff; color: #222; border-top: 2px solid #e0bc00; box-shadow: 0 -3px 18px #0002; font: 13px/1.4 Arial,sans-serif; }
.cookie-banner-inner { max-width: 1140px; margin: auto; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 24px; align-items: center; }
.cookie-banner h2 { grid-column: 1; color: #222; font: 700 16px/1.35 Arial,sans-serif; margin: 0; letter-spacing: 0; text-transform: none; }
.cookie-banner p { grid-column: 1; font: inherit; margin: 0; color: #222; }
.cookie-banner a { color: #00695c; text-decoration: underline; }
.cookie-summary a { display: inline-block; }
.cookie-choices { grid-column: 1; display: flex; flex-wrap: wrap; gap: 0 20px; margin: 0; }
.cookie-actions { grid-column: 2; grid-row: 1 / 4; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin: 0; }
.cookie-choices label { display: inline-flex; gap: 7px; align-items: center; min-height: 30px; font: inherit; margin: 0; cursor: pointer; }
.cookie-choices input { width: 18px; height: 18px; margin: 0; accent-color: #007568; }
.cookie-actions button { min-width: 0; min-height: 44px; padding: 8px 12px; border: 1px solid #40574a; border-radius: 4px; background: #f1f6f3; color: #173b30; font: 700 13px/1.35 Arial,sans-serif; cursor: pointer; letter-spacing: 0; }
.cookie-actions button:hover { background: #dce9e1; }
.cookie-banner :focus-visible, .footer-legal :focus-visible, .external-consent :focus-visible { outline: 3px solid #007568; outline-offset: 3px; }
.external-consent { padding: 18px; background: #edf3ef; color: #293e33; font: 14px/1.6 Arial,sans-serif; margin: 12px 0; }
.external-consent p { margin: 0 0 12px; font: inherit; color: inherit; }
.external-consent a { color: #00695c; text-decoration: underline; }
.external-consent [role="status"] { margin-top: 10px; }
[data-cookie-map-src][hidden], .external-consent[hidden], .cookie-banner[hidden] { display: none !important; }
body.page-legal header.emonit-header { position: relative; background: #111; }
@media(max-width:767px) { .legal-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; } .legal-heading { padding: 30px 0; } .legal-heading h1 { font-size: 30px; } .legal-copy h2 { font-size: 22px; } }
@media(max-width:639px) { .cookie-banner { padding: 10px 12px; } .cookie-banner-inner { grid-template-columns: minmax(0,1fr); gap: 4px; } .cookie-actions { grid-column: 1; grid-row: auto; } .cookie-actions button { padding: 8px; } }
