/* Cookie consent banner styles */
.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #003366;
  color: #fff;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, .25);
  font-family: inherit;
}
.cookie-banner[hidden] { display: none !important; }
.cookie-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  align-items: center;
  justify-content: space-between;
}
.cookie-banner__text { flex: 1 1 360px; min-width: 280px; }
.cookie-banner__text h2 { font-size: 1.1rem; margin: 0 0 .35rem; }
.cookie-banner__text p { margin: 0; font-size: .9rem; line-height: 1.5; }
.cookie-banner__text a { color: #fff; text-decoration: underline; }
.cookie-banner__actions {
  display: flex; gap: .5rem; flex-wrap: wrap; align-items: center;
}
.cookie-btn {
  display: inline-block;
  padding: .6rem 1.1rem;
  border-radius: 999px;
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  cursor: pointer;
  font-family: inherit;
}
.cookie-btn:hover, .cookie-btn:focus { background: rgba(255, 255, 255, .12); }
.cookie-btn--primary {
  background: #ffd800;
  color: #003366;
  border-color: #ffd800;
}
.cookie-btn--primary:hover, .cookie-btn--primary:focus { background: #ffe450; color: #003366; }
.cookie-btn--link { border-color: transparent; text-decoration: underline; }
.cookie-prefs {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255, 255, 255, .25);
  font-size: .9rem;
}
.cookie-prefs[hidden] { display: none; }
.cookie-prefs label { display: flex; align-items: center; gap: .5rem; cursor: pointer; }
.cookie-prefs input[type=checkbox] { width: 1rem; height: 1rem; }
@media (max-width: 600px) {
  .cookie-banner__inner { padding: 1rem; }
  .cookie-banner__actions { width: 100%; }
  .cookie-btn { flex: 1 1 calc(50% - .25rem); text-align: center; }
}
