/* Cookie consent banner — shared across all pages. Self-contained variable
   names (cc-*) so nothing collides with site.css / haven-brand.css. */
:root {
  --cc-teal-900: #0c5447;
  --cc-teal-800: #115e50;
  --cc-hairline: rgba(255,255,255,0.16);
  --cc-hairline-soft: rgba(255,255,255,0.10);
  --cc-ink: #ffffff;
  --cc-ink-soft: rgba(255,255,255,0.82);
  --cc-ink-mute: rgba(255,255,255,0.60);
  --cc-cream: #faf8f2;
  --cc-gold: #e3b977;
}

.cookie {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
  transform: translateY(120%);
  transition: transform .45s cubic-bezier(.22,1,.36,1);
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.cookie.show { transform: translateY(0); }
.cookie-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; gap: 28px;
  padding: 22px 32px;
  background: var(--cc-teal-900);
  border-top: 1px solid var(--cc-hairline-soft);
  box-shadow: 0 -16px 50px rgba(8,40,34,.34);
  color: var(--cc-ink);
}
.cookie-icon {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.09); border: 1px solid var(--cc-hairline-soft);
}
.cookie-icon svg { width: 23px; height: 23px; stroke: var(--cc-ink); fill: none; stroke-width: 1.8; }
.cookie-text { flex: 1 1 auto; min-width: 0; }
.cookie-text h4 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 4px; color: var(--cc-ink); }
.cookie-text p { font-size: 14px; line-height: 1.5; margin: 0; color: var(--cc-ink-soft); }
.cookie-text a { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; color: var(--cc-gold); }
.cookie-actions { flex: 0 0 auto; display: flex; gap: 12px; }
.cookie-btn {
  font-family: inherit; font-size: 15px; font-weight: 600;
  padding: 13px 28px; border-radius: 999px; border: 0; cursor: pointer;
  white-space: nowrap; transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.cookie-btn:hover { transform: translateY(-2px); }
.cookie-btn.accept { background: var(--cc-cream); color: var(--cc-teal-800); }
.cookie-btn.accept:hover { box-shadow: 0 12px 30px rgba(0,0,0,.3); }
.cookie-btn.decline { background: transparent; color: var(--cc-ink); border: 1.5px solid var(--cc-hairline); }
.cookie-btn.decline:hover { background: rgba(255,255,255,.08); }

.cookie-reopen {
  position: fixed; left: 20px; bottom: 18px; z-index: 900;
  display: none; align-items: center; gap: 8px;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 13px; font-weight: 500;
  color: #16243f; background: #fff; border: 1px solid #e3ddd0;
  padding: 9px 15px; border-radius: 999px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(22,36,63,.10);
}
.cookie-reopen svg { width: 15px; height: 15px; stroke: var(--cc-teal-800); fill: none; stroke-width: 1.8; }
.cookie-reopen:hover { background: #f6f3ec; }
.cookie-reopen.visible { display: inline-flex; }

.consent-state {
  position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%) translateY(8px);
  z-index: 900; opacity: 0; pointer-events: none;
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 13px; font-weight: 600; color: #fff; background: #16243f;
  padding: 9px 18px; border-radius: 999px; transition: opacity .25s, transform .25s;
}
.consent-state.show { opacity: .94; transform: translateX(-50%) translateY(0); }

@media (max-width: 760px) {
  .cookie-inner { flex-direction: column; align-items: stretch; gap: 16px; padding: 20px 22px; }
  .cookie-actions { flex-direction: column-reverse; }
  .cookie-btn { width: 100%; padding: 14px; }
  .cookie-reopen { left: 12px; bottom: 12px; }
}
