/* Cookie consent bar (inc/consent.php, assets/js/parts/40-consent.js). Loads on every route.
   Spec-sheet bar: navy plate, blue top rule, mono label. Accept and Decline share one style on purpose. */
.consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: var(--navy); color: #e6ecf5;
  border-top: 3px solid var(--accent);
  box-shadow: 0 -12px 32px -18px rgba(14, 27, 44, .45);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.consent[hidden] { display: none; }
.consent:focus { outline: none; }
.consent :focus-visible { outline-color: var(--on-dark); }
.consent-in {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px 24px;
  padding-block: 14px;
}
.consent-label {
  margin: 0; color: var(--on-dark);
  font: 500 var(--t-label)/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase;
}
.consent-text { margin: 0; font-size: var(--t-small); line-height: 1.5; }
/* Inline link inside a sentence (exempt from the 44px target size); padding widens the tap area. */
.consent-text a { color: #fff; padding-block: 8px; }
.consent-actions { display: flex; gap: 10px; }
.consent-btn {
  min-width: 112px; background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55);
}
.consent-btn:active { background: rgba(255, 255, 255, .16); }
@media (hover: hover) {
  .consent-btn:hover { background: #fff; color: var(--navy); border-color: #fff; }
}

/* Footer reopener: styled like the other legal links, 44px tall. */
.consent-open {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0;
  background: none; border: 0; color: #d9e1ee; font: inherit; text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .22em;
}
.consent-open:hover { text-decoration-thickness: 2px; }

/* Keep the WhatsApp button above the bar while it is open (height set by 40-consent.js).
   margin-bottom composes with the route rules that move it via bottom or translate. */
.consent-on .wa-float { margin-bottom: var(--consent-h, 0px); }

@media (prefers-reduced-motion: no-preference) {
  .consent { animation: consent-in .35s var(--ease) both; }
  .wa-float { transition: transform .3s var(--ease), margin-bottom .3s var(--ease); }
  @keyframes consent-in { from { transform: translateY(100%); } to { transform: none; } }
}

@media (max-width: 860px) {
  .consent-in { grid-template-columns: 1fr; gap: 6px; padding-block: 12px; }
  .consent-actions { margin-top: 4px; }
  .consent-btn { flex: 1 1 0; min-width: 0; }
}

@media print { .consent, .consent-open { display: none !important; } }
