.legal-footer-links, .legal-business-details { grid-column: 1 / -1; margin: 8px 0 0; font-size: .8rem; line-height: 1.7; }
.legal-footer-links a { display: inline !important; }
.legal-footer-links button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.legal-document { max-width: 960px; margin-inline: auto; }
.legal-document h1 { font-size: clamp(2.5rem, 6vw, 4rem); }
.legal-document h2 { margin-top: 36px; font-size: 1.5rem; }
.legal-document p { line-height: 1.8; overflow-wrap: anywhere; }
.legal-document a, .estimate-privacy a { text-decoration: underline; }
.privacy-panel { position: fixed; inset: auto 20px 20px; z-index: 10000; max-width: 720px; margin-inline: auto; padding: 24px; border: 1px solid var(--accent); border-radius: var(--radius); color: var(--white); background: var(--dark); box-shadow: var(--shadow); }
.privacy-panel h2 { margin: 0 0 12px; font-size: 1.4rem; }
.privacy-panel p { font-size: .9rem; line-height: 1.5; }
.privacy-panel a { color: var(--accent); text-decoration: underline; }
.privacy-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.privacy-actions button, .map-consent-placeholder button { min-height: 44px; padding: 10px 18px; border: 1px solid var(--accent); border-radius: var(--radius); background: var(--dark); color: var(--white); font: inherit; cursor: pointer; }
.privacy-actions button:focus-visible, .map-consent-placeholder button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.map-consent-placeholder { display: grid; align-content: center; justify-items: center; height: 100%; min-height: 240px; padding: 24px; text-align: center; color: var(--text); background: var(--stone-soft); }
.map-consent-placeholder p { max-width: 360px; }
.privacy-panel [hidden], .privacy-panel[hidden], iframe[data-consent-src][hidden], .map-consent-placeholder[hidden] { display: none !important; }
@media (max-width: 640px) { .privacy-panel { inset: auto 12px 12px; max-height: 80svh; overflow-y: auto; padding: 18px; } .privacy-actions button { flex: 1 1 120px; } }
