/* Shared consent controls, independent of product view classes. */
.cookie-banner[hidden], [data-cookie-map][hidden], [data-cookie-settings][hidden], [data-cookie-map-placeholder][hidden] { display: none !important; }
.cookie-banner { position: fixed; inset: auto 0 0; z-index: 1000; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px max(20px, calc((100vw - 1180px) / 2)); padding-bottom: max(20px, env(safe-area-inset-bottom)); background: #0a263c; color: #f4f8fd; border-top: 1px solid #8bc7f552; box-shadow: 0 -8px 28px #0004; font: 15px/1.6 "DM Sans", system-ui, sans-serif; max-height: 70svh; overflow-y: auto; box-sizing: border-box; }
.cookie-banner h2 { margin: 0 0 6px; color: #f4f8fd; font-size: 18px; font-weight: 700; }
.cookie-banner p { margin: 0; color: #b1c4d7; max-width: 75ch; }
.cookie-banner a, .cookie-settings { color: #38d9ff; text-decoration: underline; text-underline-offset: 4px; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.cookie-actions button { background: #10364f; color: #f4f8fd; border: 1px solid #8bc7f580; border-radius: 8px; padding: 11px 16px; font: inherit; cursor: pointer; min-height: 44px; }
.cookie-actions button:hover { background: #194b68; }
.cookie-settings { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-align: left; }
.cookie-banner a:focus-visible, .cookie-banner button:focus-visible, [data-cookie-settings]:focus-visible { outline: 3px solid #38d9ff; outline-offset: 4px; }
@media (max-width: 800px) { .cookie-banner { flex-direction: column; align-items: stretch; gap: 16px; } .cookie-actions button { flex: 1; } }
@media print { .cookie-banner, .cookie-settings { display: none !important; } }
