
.cookie-panel[hidden], .cookie-panel [hidden], .cookie-settings-link[hidden] { display:none; }
.cookie-panel {
  position:fixed; inset:auto max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  z-index:1000; box-sizing:border-box; inline-size:auto; max-inline-size:448px;
  margin-inline:auto; max-block-size:calc(100dvh - 32px); overflow:auto; padding:clamp(16px,5vw,24px);
  background:#fafafa; color:#191919; border:1px solid #ddd; border-radius:16px;
  box-shadow:0 8px 25px #0002; font:normal 14px/1.45 system-ui,sans-serif; text-align:start;
}
.cookie-panel h2 { margin:0 28px 8px 0; margin-inline:0 28px; font-size:1.13rem; line-height:1.35; }
.cookie-panel p { margin:0 0 14px; }
.cookie-panel a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.cookie-details { margin-block:0 8px; }
.cookie-details summary, .cookie-actions button {
  box-sizing:border-box; min-block-size:38px; padding:7px 10px; border:1px solid #ddd;
  border-radius:9px; background:#fafafa; box-shadow:0 1px 3px #0001; color:inherit; font:inherit; text-align:center; cursor:pointer;
}
.cookie-details summary { list-style:none; }
.cookie-details summary::-webkit-details-marker { display:none; }
.cookie-details dl { margin:9px 0 0; padding:8px 10px; background:#f0f0f0; border-radius:8px; }
.cookie-details dt { font-weight:650; }
.cookie-details dd { margin:0 0 6px; }
.cookie-details dd:last-child { margin-bottom:0; }
.cookie-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cookie-details summary:hover, .cookie-actions button:hover { background:#eee; }
.cookie-settings-link {
  padding:0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer;
}
footer p .cookie-settings-link { margin-inline-start:1rem; }
.cookie-close { position:absolute; inset-block-start:12px; inset-inline-end:12px; min-inline-size:32px; min-block-size:32px; padding:0; border:0; border-radius:6px; background:none; color:inherit; font:inherit; font-size:22px; cursor:pointer; }
.cookie-panel :focus-visible, .cookie-settings-link:focus-visible { outline:2px solid #135d66; outline-offset:2px; }
@media (max-width:540px) { .cookie-details summary, .cookie-actions button { min-block-size:44px; } }
@media print { .cookie-panel, .cookie-settings-link { display:none !important; } }
