.parent-page { min-height: 100vh; }
.parent-page.consent-bar-open { padding-bottom: var(--consent-bar-height, 0px); }
.parent-handover { width: min(680px, calc(100% - 24px)); margin: clamp(28px, 8vh, 90px) auto; padding: clamp(20px, 5vw, 44px); }
.parent-consent-link { position: fixed; z-index: 30; right: 12px; bottom: 12px; border: 1px solid var(--paper-edge); border-radius: 999px; padding: 8px 12px; color: var(--ink); background: var(--paper); box-shadow: 0 3px 14px #0008; }
.consent-bar-layer { position: fixed; z-index: 50; right: 0; bottom: 0; left: 0; }
.consent-bar { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 64px; padding: 8px max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); color: var(--ink, #f2f6fc); background: var(--paper, #151e29); border-top: 1px solid var(--paper-edge, #34465a); box-shadow: 0 -5px 22px #0008; }
.consent-summary { flex: 1 1 auto; margin: 0; font-size: 14px; line-height: 1.35; }
.consent-summary a, .consent-panel a { color: var(--gold, #ffd166); font-weight: 700; }
.consent-modal-layer { position: fixed; z-index: 50; inset: 0; display: grid; align-items: end; background: #08101bb8; }
.consent-panel { box-sizing: border-box; width: min(760px, 100%); margin: 0 auto; padding: 18px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: var(--paper, #151e29); color: var(--ink, #f2f6fc); border: 1px solid var(--paper-edge, #34465a); border-bottom: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -8px 36px #0009; }
.consent-panel h2 { margin: 0 0 8px; font-size: 1.3rem; }
.consent-panel p { margin: 8px 0; line-height: 1.45; }
.consent-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.consent-actions .btn { min-width: 0; min-height: 44px; white-space: normal; }
.consent-bar-actions { flex: 0 0 auto; grid-template-columns: repeat(3, minmax(104px, 1fr)); margin-top: 0; }
.consent-actions .consent-choice { background: var(--surface, #1b2836); color: var(--ink, #f2f6fc); border: 1px solid var(--paper-edge, #34465a); box-shadow: none; }
.consent-actions .consent-secondary { background: transparent; color: var(--ink, #f2f6fc); border: 1px solid var(--paper-edge, #34465a); }
.consent-purpose { display: grid; grid-template-columns: auto 1fr; gap: 10px; margin: 14px 0; }
.consent-purpose input { width: 22px; height: 22px; margin-top: 2px; }
.consent-purpose strong, .consent-purpose small { display: block; }
.consent-purpose small { margin-top: 4px; line-height: 1.4; }
@media (max-width: 600px) {
  .consent-bar { display: grid; gap: 4px; min-height: 0; padding-top: 7px; padding-bottom: max(7px, env(safe-area-inset-bottom)); }
  /* Bez ořezu: povinné sdělení a odkaz „Více“ musí být vidět celé (na 320 px tři řádky, právní kontrola 30. 10.). */
  .consent-summary { font-size: 12.5px; line-height: 1.3; }
  .consent-bar-actions { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
  .consent-bar-actions .btn { padding: 8px 4px; font-size: 13px; line-height: 1.1; }
  .consent-panel { max-height: 100vh; max-height: 100dvh; overflow: auto; overscroll-behavior: contain; }
  .consent-panel .consent-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parent-consent-link { max-width: calc(100% - 24px); }
}
