/* ==========================================================================
   COOKIE CONSENT BANNER — shared component (both landing pages)
   --------------------------------------------------------------------------
   Compact navy glass card fixed to the lower inline-start corner (full
   width with gutters on phones). Slides up once, only while no choice is
   stored. Accept = primary, Decline = equal-weight secondary (declining
   must be as easy as accepting). Pairs with components/consent.js.
   ========================================================================== */

.consent {
  position: fixed;
  inset-block-end: var(--gutter);
  inset-inline: var(--gutter);
  z-index: calc(var(--z-header) + 10);
  display: grid;
  gap: var(--space-md);
  max-inline-size: 26rem;
  padding: var(--space-lg);
  border-radius: var(--r-card);
  border: 1px solid rgba(0, 169, 182, 0.35);
  background-color: rgba(2, 17, 58, 0.92);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6);
  color: var(--c-on-dark-body);
  opacity: 0;
  translate: 0 1.5rem;
  transition: opacity 0.4s var(--ease-out), translate 0.4s var(--ease-out);
}

.consent.is-visible {
  opacity: 1;
  translate: 0 0;
}

.consent__head {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.consent__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border-radius: 12px;
  background-color: var(--c-teal);
  color: var(--c-navy);
}

.consent__icon svg {
  inline-size: 1.25rem;
  block-size: 1.25rem;
}

.consent__title {
  font-family: var(--ff-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-on-dark);
}

.consent__text {
  font-size: var(--fs-small);
  line-height: 1.55;
}

.consent__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
}

.consent__actions .btn {
  min-block-size: 2.75rem;
  padding-block: 0.625rem;
  padding-inline: 1rem;
}

/* Keep the banner clear of the open mobile menu */
html.is-menu-locked .consent {
  visibility: hidden;
}
