.consent-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom, 0px));
  background: rgba(7, 35, 38, .96);
  color: #f4f7f5;
  box-shadow: 0 -12px 32px rgba(7, 35, 38, .28);
}
.consent-banner-inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: .85rem 1.2rem;
  align-items: center;
  justify-content: space-between;
}
.consent-title {
  margin: 0 0 .25rem;
  font-weight: 700;
  font-size: 1rem;
}
.consent-text {
  margin: 0;
  font-size: .86rem;
  line-height: 1.45;
  color: rgba(244, 247, 245, .88);
  max-width: 52rem;
}
.consent-text a { color: #e8b14a; font-weight: 600; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.consent-banner .btn {
  height: auto;
  min-height: 44px;
  padding-block: .55rem;
  line-height: 1.25;
  white-space: normal;
  text-align: center;
}
.consent-banner .btn-primary {
  background: var(--gold, #e8b14a);
  color: #102226 !important;
  border-color: var(--gold, #e8b14a);
}
.consent-banner .btn-primary:hover {
  background: #fff;
  color: #07393d !important;
  border-color: #fff;
}
.consent-banner .btn-ghost {
  color: #fff !important;
  background: transparent;
  border-color: rgba(255,255,255,.45);
}
.consent-banner .btn-ghost:hover {
  background: rgba(255,255,255,.12);
  color: #fff !important;
}
body.has-consent-banner { padding-bottom: 7.5rem; }
@media (max-width: 720px) {
  .consent-banner-inner { align-items: stretch; }
  .consent-actions .btn { flex: 1; }
}
