html:has(#cookie-banner) { scroll-padding-bottom: calc(var(--cookie-h, 200px) + var(--app-space-4)); }
html:has(#cookie-banner) body { padding-bottom: var(--cookie-h, 0px); }
/* Hlavné tlačidlo hera na mobile ostane nad lištou. */
html:has(#cookie-banner) .home-main .hero-cta-start { bottom: max(104px, calc(var(--cookie-h, 0px) + var(--app-space-4))); }
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--ground); color: var(--ink); border-top: 1px solid var(--control-edge); box-shadow: var(--shadow-card); padding: var(--app-space-4) var(--gutter); }
.cookie-banner-inner { max-width: 1120px; margin: 0 auto; display: grid; gap: var(--app-space-3); }
.cookie-banner-text { margin: 0; font-size: var(--app-body-sm-size); line-height: var(--app-body-sm-line); }
.cookie-banner-actions { display: grid; gap: var(--app-space-2); margin: 0; }
.cookie-banner-actions .btn { width: 100%; }
.cookie-banner-actions .quiet-link { justify-self: center; }
/* Mobil: kompaktná lišta, Prijať a Odmietnuť vedľa seba, aby neprekryla hlavnú akciu stránky. */
@media (max-width: 767px) {
  .cookie-banner { padding: var(--app-space-3) var(--gutter) calc(var(--app-space-2) + env(safe-area-inset-bottom, 0px)); }
  .cookie-banner-inner { gap: var(--app-space-2); }
  .cookie-banner-text { font-size: var(--app-caption-size); line-height: var(--app-caption-line); }
  .cookie-banner-actions .btn { min-height: var(--app-tap); padding-inline: var(--app-space-2); white-space: nowrap; }
  .cookie-banner-actions { grid-template-columns: repeat(2, 1fr); column-gap: var(--app-space-2); row-gap: 0; }
  .cookie-banner-actions .quiet-link { grid-column: 1 / -1; min-height: var(--app-tap); display: inline-flex; align-items: center; }
}
@media (min-width: 768px) {
  .cookie-banner-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--app-space-5); }
  .cookie-banner { padding-block: var(--app-space-3); }
  .cookie-banner-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; align-items: center; gap: var(--app-space-2) var(--app-space-4); }
  .cookie-banner-actions .btn { width: 100%; }
  .cookie-banner-actions .quiet-link { display: inline-flex; align-items: center; min-height: var(--app-tap); }
}
.cookie-dialog { border: 0; padding: var(--app-space-5) var(--gutter) var(--app-space-6); background: var(--paper, var(--ground)); color: var(--ink); width: 100%; max-width: none; margin: auto 0 0; border-radius: var(--radius-card) var(--radius-card) 0 0; box-shadow: var(--shadow-card); max-height: 90dvh; overflow-y: auto; animation: sheet-up 380ms cubic-bezier(.22, 1, .36, 1); }
.cookie-dialog::backdrop { background: color-mix(in srgb, var(--void) 55%, transparent); }
.cookie-dialog h2 { font-size: var(--app-headline-size); line-height: var(--app-headline-line); margin: 0 var(--app-tap) var(--app-space-3) 0; }
.cookie-close { top: var(--app-space-3); right: var(--app-space-3); }
@media (min-width: 768px) { .cookie-dialog { width: min(480px, 100% - 2 * var(--gutter)); margin: auto; border-radius: var(--radius-card); padding: var(--app-space-6); } }
.cookie-intro { color: var(--ink-muted); margin: 0 0 var(--app-space-4); }
.cookie-cat { display: flex; justify-content: space-between; gap: var(--app-space-3); padding: var(--app-space-3) 0; border-top: 1px solid var(--line); }
.cookie-cat-h { font-size: var(--app-body-size); margin: 0 0 var(--app-space-1); }
.cookie-cat p { margin: 0; font-size: var(--app-body-sm-size); color: var(--ink-muted); }
.cookie-badge { flex: none; align-self: flex-start; font-size: var(--app-caption-size); color: var(--ink-muted); border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 2px var(--app-space-3); }
.cookie-form .btn-primary { margin-top: var(--app-space-4); width: 100%; }
.cookie-page { max-width: 480px; margin: 0 auto; padding: var(--app-space-6) 0 var(--rhythm); }
.cookie-footer-link { display: inline-flex; align-items: center; min-height: var(--app-tap); }
@media (prefers-reduced-motion: reduce) { .cookie-dialog { animation: none; } }
