/* Shared floating notice, using Baher Hub's blue accent. */
html { scroll-padding-bottom: var(--privacy-notice-space, 0px); }
body { padding-bottom: var(--privacy-notice-space, 0px); }
.privacy-notice[hidden], [data-privacy-action][hidden] { display: none !important; }
.privacy-notice {
 position: fixed; z-index: 9999; bottom: 12px; left: 16px; right: 16px;
 box-sizing: border-box; max-width: 1100px; margin: 0 auto;
 display: flex; align-items: center; gap: 20px;
 max-height: calc(100dvh - 32px); overflow-y: auto;
 padding: 12px 18px; border: 1px solid #9fc9db; border-radius: 8px;
 background: #eaf6fb; color: var(--ink, #121b1f);
 box-shadow: 0 4px 24px rgba(18, 27, 31, .14);
 font: 14px/1.55 Arial, sans-serif;
}
.privacy-notice-copy { flex: 1; min-width: 0; }
.privacy-notice h2 { margin: 0 0 3px; padding: 0; font: bold 16px/1.4 Arial, sans-serif; color: inherit; text-transform: none; letter-spacing: normal; }
.privacy-notice p { margin: 0; padding: 0; font: inherit; color: inherit; background: transparent; }
.privacy-notice a { color: #095b7c; text-decoration: underline; text-underline-offset: 3px; }
.privacy-notice-actions { display: flex; flex-shrink: 0; gap: 8px; }
.privacy-notice button {
 appearance: none; cursor: pointer; min-height: 44px; padding: 8px 14px;
 border: 1px solid #14617b; border-radius: 4px; background: #d9f0fa;
 color: var(--ink, #121b1f); font: 14px/1.5 Arial, sans-serif; text-transform: none;
}
.privacy-notice .privacy-accept { background: var(--accent, #32b5e9); color: var(--ink, #121b1f); }
.privacy-notice button:hover { filter: brightness(.95); }
.footer-links { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; }
.footer-links button { cursor: pointer; border: 0; background: transparent; color: #fff; font: inherit; text-decoration: underline; text-underline-offset: 3px; padding: 8px; min-height: 44px; }
.policy-body { margin: 0; font-family: Arial, sans-serif; }
.policy-body .site-header nav a { text-decoration: none; }
.policy-body .site-header nav a:hover { text-decoration: underline; }
.policy-page { box-sizing: border-box; width: calc(100% - 40px); max-width: 850px; margin: 48px auto; font: 16px/1.7 Arial, sans-serif; }
.policy-page h1 { font-size: 32px; line-height: 1.3; }
.policy-page h2 { margin: 32px 0 12px; font-size: 22px; line-height: 1.4; }
.policy-page a { text-decoration: underline; }
.policy-page dt { font-weight: bold; margin-top: 16px; }
.policy-page dd { margin: 8px 0 16px; }
@media (max-width: 700px) {
 .privacy-notice { left: 12px; right: 12px; padding: 12px 14px; flex-direction: column; align-items: stretch; gap: 10px; }
 .privacy-notice-actions { flex-wrap: wrap; }
 .privacy-notice-actions button { flex: 1; }
}
