/* V14 legal information follows the existing Galerie03 type, palette and grid. */
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 26px;padding-top:20px;margin-top:20px;border-top:1px solid #D5D9CE;font-size:12px;line-height:1.6;color:#22241F}
.footer-legal a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.footer-identity{font-size:11px;line-height:1.8;color:#62665B;margin-top:18px;max-width:780px}
.account-legal{display:block;padding:24px max(20px,5vw);background:#FAFAF7;color:#22241F}
.account-legal .footer-identity{margin:0}.account-legal .footer-legal{margin-top:14px}
.collection-notice{font-size:12px;line-height:1.8;border-top:1px solid var(--field-line,#8F9B81);padding-top:18px;margin-top:24px;color:inherit}
.collection-notice p+p{margin-top:8px}.collection-notice a,.storage-disclosure a{text-decoration:underline;text-underline-offset:4px}
.storage-disclosure{font-size:10px;line-height:1.7;margin-top:6px;color:var(--muted,#62665B)}
.account-collection{max-width:650px;font-size:12px;line-height:1.8;margin:18px 0}.account-collection a{text-decoration:underline;text-underline-offset:4px}
.legal-page .page-heading h1{font-size:clamp(36px,6vw,84px);letter-spacing:-.055em}.legal-page .page-heading{padding-bottom:40px}
.legal-content{max-width:1080px;margin:0 auto;padding:0 var(--gutter,28px) 80px;line-height:1.85;font-size:15px}
.legal-content section{padding:32px 0;border-top:1px solid var(--line,#D5D9CE);scroll-margin-top:110px}
.legal-content h2{font-size:clamp(25px,3vw,38px);margin-bottom:20px;letter-spacing:-.045em}
.legal-content h3{font-size:19px;margin:24px 0 12px;letter-spacing:-.025em}
.legal-content p,.legal-content li{max-width:780px}.legal-content p+p{margin-top:16px}.legal-content ul{padding-left:24px;margin:16px 0}.legal-content li+li{margin-top:8px}
.legal-content a{text-decoration:underline;text-underline-offset:4px}.legal-content code{font-size:.88em;overflow-wrap:anywhere}
.legal-draft{border-left:3px solid var(--text,#22241F);padding:18px 22px;background:var(--raised,#F0F1EB);margin-bottom:28px;max-width:850px}
.legal-draft p{font-size:13px;line-height:1.8;margin-top:8px}.legal-toc{display:flex;flex-wrap:wrap;gap:8px 22px;margin:24px 0 32px;font-size:13px}.legal-toc a{min-height:44px;display:inline-flex;align-items:center}
.legal-facts{margin:0}.legal-facts>div{display:grid;grid-template-columns:minmax(150px,.45fr) 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line,#D5D9CE)}
.legal-facts dt{font-size:12px;color:var(--muted,#62665B)}.legal-facts dd{margin:0;overflow-wrap:anywhere;min-width:0}
.storage-inventory{margin:0}.storage-inventory>div{padding:20px 0;border-top:1px solid var(--line,#D5D9CE)}.storage-inventory dt{font-weight:600;overflow-wrap:anywhere}.storage-inventory dd{margin:8px 0 0;max-width:780px}
.privacy-clear{margin-top:20px}.privacy-clear button{min-height:44px;max-width:100%;padding:12px 18px;border:1px solid var(--text,#22241F);color:var(--text,#22241F);background:transparent;cursor:pointer;font:inherit;text-align:left}
.privacy-clear button:hover{background:var(--raised,#F0F1EB)}.privacy-clear button:disabled{cursor:default;opacity:.6}.privacy-clear [role=status]{min-height:2em;font-size:13px;margin-top:12px}
@media(max-width:700px){.footer-legal{gap:4px 20px;font-size:11px}.footer-identity{font-size:10px}.legal-content{font-size:14px;padding-bottom:48px}.legal-content section{padding:26px 0}.legal-facts>div{grid-template-columns:1fr;gap:4px}.legal-draft{padding:15px 17px}.legal-content code{font-size:.85em}.collection-notice{font-size:11px}}

/* V15: explicit textual errors retain the existing dark-panel palette. */
.field-error{display:block;font-size:12px;line-height:1.7;margin-top:8px;color:var(--field-error,#9A351C)}
.field-error[hidden]{display:none}

/* V21: opt-in persistent preferences, equally visible refusal and acceptance. */
.cookie-banner{position:fixed;z-index:500;bottom:20px;left:20px;right:20px;max-width:880px;margin:auto;padding:22px 26px;background:var(--bg,#FAFAF7);color:var(--text,#22241F);border:1px solid var(--text,#22241F);box-shadow:0 8px 35px #0002;font-size:13px;line-height:1.6;max-height:80dvh;overflow:auto}
.cookie-banner[hidden]{display:none}.cookie-title{font-size:20px;letter-spacing:-.025em;margin:0 0 8px}.cookie-banner p{margin:8px 0;max-width:760px}.cookie-policy{text-decoration:underline;text-underline-offset:4px;display:inline-flex;min-height:44px;align-items:center}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.cookie-banner button{font:inherit;min-height:44px;border:1px solid currentColor;background:transparent;color:inherit;padding:10px 16px;cursor:pointer}.cookie-actions button{flex:1;min-width:180px}.cookie-banner button:hover,.cookie-banner summary:hover{background:var(--raised,#F0F1EB)}.cookie-banner :focus-visible,.cookie-settings-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.cookie-details summary{cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.cookie-options label{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.cookie-options input{width:20px;height:20px;accent-color:var(--text,#22241F)}.cookie-duration{font-size:12px}.cookie-settings-link{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:44px;cursor:pointer;text-align:left}
@media(max-width:700px){.cookie-banner{bottom:10px;left:10px;right:10px;padding:18px}.cookie-actions{gap:8px}.cookie-actions button{min-width:100%;}.cookie-title{font-size:18px}}
