/* =========================================================================
   Cookie consent banner + settings modal
   ========================================================================= */

.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1080;
  background: rgba(19, 34, 56, .98);
  color: #E7EEF6;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, .25);
  border-top: 1px solid rgba(255, 255, 255, .08);
  padding: 18px 0;
}
.cookie-banner[hidden] { display: none !important; }

.cookie-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
}
.cookie-banner-text { max-width: 660px; }
.cookie-banner-title { color: #fff; font-size: 1.02rem; margin: 0 0 6px; }
.cookie-banner-text p { margin: 0 0 6px; font-size: .92rem; color: #C7D6E8; }
.cookie-learn { color: var(--sky); font-weight: 600; font-size: .88rem; text-decoration: underline; }

.cookie-banner-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.btn-accept { background: linear-gradient(135deg, var(--sky), var(--blue)); color: #04263f; border: none; font-weight: 700; }
.btn-accept:hover { filter: brightness(1.05); color: #04263f; }
.btn-reject { background: transparent; border: 1.5px solid rgba(255,255,255,.5); color: #E7EEF6; }
.btn-reject:hover { background: rgba(255,255,255,.12); color: #fff; }
.btn-cookie { border-radius: 50px; padding: .55rem 1.15rem; font-size: .9rem; font-family: var(--head); font-weight: 600; }
#cookieSettingsBtn { border: 1.5px solid rgba(255,255,255,.35); color: #E7EEF6; background: transparent; }
#cookieSettingsBtn:hover { background: rgba(255,255,255,.1); color: #fff; }

/* Modal */
.cookie-modal { border-radius: var(--radius-lg); border: none; }
.cookie-modal .modal-header { border-bottom: 1px solid var(--line); }
.cookie-modal .modal-body { padding: 22px 26px; }
.cookie-cat { border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin-bottom: 14px; }
.cookie-cat-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.cookie-cat h3 { font-size: 1rem; margin: 0 0 6px; display: flex; align-items: center; gap: 10px; }
.cookie-cat p { color: var(--grey); font-size: .9rem; margin: 0; max-width: 640px; }
.badge-always { background: rgba(37, 211, 102, .16); color: #1c8a45; font-size: .72rem; font-weight: 700; border-radius: 50px; padding: 3px 10px; }
.form-switch .form-check-input { width: 2.6em; height: 1.4em; cursor: pointer; }
.form-switch .form-check-input:checked { background-color: var(--blue); border-color: var(--blue); }
.cookie-modal-footer { border-top: 1px solid var(--line); gap: 8px; flex-wrap: wrap; }
#cookieModalSave { border: 1.5px solid var(--blue); color: var(--blue); }
#cookieModalSave:hover { background: var(--blue); color: #fff; }

/* Lift floating buttons while banner is visible */
body.cookie-banner-visible .floating-actions { bottom: 210px; }
@media (max-width: 767.98px) {
  body.cookie-banner-visible .floating-actions { bottom: 300px; }
  body.cookie-banner-visible .back-to-top { bottom: 232px; }
  .cookie-banner-inner { flex-direction: column; align-items: stretch; }
  .cookie-banner-actions { justify-content: flex-start; }
  .cookie-banner-actions .btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner, .cookie-modal { transition: none !important; }
}
