.cookie-notice[hidden], .cookie-notice-open[hidden] { display: none !important; }
.cookie-notice { position: fixed; z-index: 10000; bottom: max(20px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: calc(100% - 32px); max-width: 960px; max-height: 80vh; overflow-y: auto; display: flex; align-items: center; gap: 28px; padding: 24px 28px; background: #faf9f3; color: #283124; border: 1px solid #d9e1d0; border-top: 4px solid #639631; border-radius: 16px; box-shadow: 0 8px 36px #0003; font: 16px/1.6 system-ui, sans-serif; }
.cookie-notice h2 { margin: 0 0 8px; font-family: Calistoga, Georgia, serif; color: #486338; font-size: 23px; line-height: 1.3; }
.cookie-notice p { margin: 0; }
.cookie-notice .cookie-notice__links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; font-size: 14px; }
.cookie-notice a { color: #486338; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice button { flex-shrink: 0; border: 0; border-radius: 8px; padding: 12px 24px; background: #486b2d; color: white; font: inherit; font-weight: 600; cursor: pointer; }
.cookie-notice button:hover { background: #345020; }
.cookie-notice :focus-visible, .cookie-notice-open:focus-visible { outline: 3px solid #486338; outline-offset: 4px; }
.cookie-notice-open { background: transparent; padding: 0; font: inherit; cursor: pointer; text-decoration: none; }
@media (max-width: 640px) { .cookie-notice { bottom: max(12px, env(safe-area-inset-bottom)); padding: 20px; flex-direction: column; align-items: stretch; gap: 16px; font-size: 14px; } .cookie-notice h2 { font-size: 21px; } }
