.jlb-cookie {
  --jlb-cookie-ink: #202722;
  --jlb-cookie-paper: #fffcf6;
  --jlb-cookie-amber: #f4b942;
  color: var(--jlb-cookie-paper);
  font: 400 15px/1.55 Manrope, Arial, sans-serif;
  text-align: left;
}
.jlb-cookie *, .jlb-cookie *::before, .jlb-cookie *::after { box-sizing: border-box; }
.jlb-cookie [hidden] { display: none !important; }
.jlb-cookie p { margin: 0; color: inherit; font: inherit; }
.jlb-cookie-spacer { width: 100%; pointer-events: none; }
.jlb-cookie-banner {
  position: fixed;
  z-index: 2147483000;
  inset-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-height: calc(100dvh - max(12px, env(safe-area-inset-bottom)) - 12px);
  overflow: auto;
  padding: 18px 22px;
  border: 1px solid #667068;
  border-radius: 18px;
  background: var(--jlb-cookie-ink);
  box-shadow: 0 10px 40px #20272235;
}
.jlb-cookie-copy { max-width: 75ch; }
.jlb-cookie-link { display: inline-block; color: #ffd783; text-decoration: underline; text-underline-offset: 3px; }
.jlb-cookie-actions, .jlb-cookie-panel-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.jlb-cookie-actions { flex-shrink: 0; }
.jlb-cookie-button {
  min-width: 108px;
  min-height: 44px;
  padding: 11px 17px;
  border: 2px solid var(--jlb-cookie-amber);
  border-radius: 12px;
  background: var(--jlb-cookie-amber);
  color: var(--jlb-cookie-ink);
  font: 700 14px/1.35 Manrope, Arial, sans-serif;
  text-align: center;
  cursor: pointer;
}
.jlb-cookie-button:hover { background: #ffd783; border-color: #ffd783; }
.jlb-cookie-secondary { border-color: #c5cdc6; background: transparent; color: var(--jlb-cookie-paper); }
.jlb-cookie-secondary:hover { background: #3c463f; border-color: var(--jlb-cookie-paper); }
.jlb-cookie :is(button, a, input):focus-visible { outline: 3px solid #ffd783; outline-offset: 4px; }
.jlb-cookie-overlay {
  position: fixed;
  z-index: 2147483001;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: #101611b3;
}
.jlb-cookie-panel {
  width: min(100%, 620px);
  max-height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  padding: clamp(22px, 5vw, 36px);
  border: 1px solid #667068;
  border-radius: 22px;
  background: var(--jlb-cookie-ink);
  box-shadow: 0 18px 70px #0005;
}
.jlb-cookie-panel h2 { margin: 0 0 18px; color: inherit; font: 600 28px/1.2 "Space Grotesk", Arial, sans-serif; letter-spacing: -.025em; }
.jlb-cookie-category { margin-block: 22px; padding-block: 18px; border-block: 1px solid #657068; }
.jlb-cookie-category h3 { margin: 0 0 8px; color: inherit; font: 700 16px/1.4 Manrope, Arial, sans-serif; letter-spacing: 0; }
.jlb-cookie-category p + p { margin-top: 8px; }
.jlb-cookie-option { display: flex; align-items: center; gap: 12px; min-height: 44px; margin-bottom: 8px; font-weight: 700; cursor: pointer; }
.jlb-cookie-option input { width: 24px; height: 24px; margin: 0; accent-color: var(--jlb-cookie-amber); }
.jlb-cookie-panel-actions { margin-top: 24px; }
@media (max-width: 780px) {
  .jlb-cookie-banner { align-items: stretch; flex-direction: column; gap: 14px; padding: 16px; }
  .jlb-cookie-actions .jlb-cookie-button { flex: 1 1 150px; }
  .jlb-cookie-panel-actions .jlb-cookie-button { flex: 1 1 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .jlb-cookie * { scroll-behavior: auto; }
}
