/* ===== Cookie / consent banner (assets/js/consent.js) ===== */
.cc {
  position: fixed; left: 16px; bottom: 16px; z-index: 1200;
  width: min(440px, calc(100% - 32px));
  opacity: 0; transform: translateY(16px); visibility: hidden;
  transition: opacity .5s cubic-bezier(.17,.84,.44,1), transform .5s cubic-bezier(.17,.84,.44,1), visibility 0s linear .5s;
}
.cc.is-open { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
.cc-card {
  padding: 24px; background: #22211c; color: var(--plaster, #EFEBE1);
  border: 1px solid rgba(239,235,225,.14);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  font-family: var(--sans, "Geist", Arial, sans-serif);
}
.cc-title { margin: 0 0 10px; font: 600 18px/1 var(--display, "Plus Jakarta Sans", Arial, sans-serif); text-transform: uppercase; }
.cc-text { margin: 0; font: 300 14px/1.35 var(--sans); letter-spacing: .01em; color: rgba(239,235,225,.72); }
.cc-text a { color: var(--plaster, #EFEBE1); text-decoration-color: var(--clay, #983201); text-underline-offset: 3px; }

.cc-prefs { margin-top: 16px; display: grid; gap: 2px; }
.cc-prefs[hidden] { display: none; }
.cc-row {
  display: flex; gap: 16px; align-items: flex-start; justify-content: space-between;
  padding: 12px 0; border-top: 1px solid rgba(239,235,225,.12); cursor: pointer;
}
.cc-row b { display: block; font: 500 14px/1.2 var(--sans); }
.cc-row small { display: block; margin-top: 4px; font: 300 12px/1.35 var(--sans); color: rgba(239,235,225,.6); }
.cc-row input { flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--clay, #983201); }

.cc-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 18px; }
/* Accept and Reject look identical on purpose (no nudging — Belgian DPA / EDPB guidance) */
/* Accept and Reject are identical buttons on purpose (no nudging — EDPB / Belgian DPA) */
.cc-btn { flex: 1 1 0; }
.cc-btn .sl-btn__label { padding: 0 12px; }
.cc-btn[hidden], .cc-link[hidden] { display: none !important; }
.cc-save { flex-basis: 100%; }
.cc-link {
  flex-basis: 100%; padding: 6px 0 0; background: none; border: 0; cursor: pointer; text-align: left;
  color: rgba(239,235,225,.7); font: 400 13px/1 var(--sans); text-decoration: underline; text-underline-offset: 3px;
}
.cc-link:hover { color: var(--plaster, #EFEBE1); }

/* map placeholder while external media is not allowed (assets/js/map.js) */
.loc-consent {
  position: absolute; right: 20px; top: 20px; z-index: 460;
  display: grid; justify-items: end; gap: 8px; text-align: right; max-width: 60%;
}
.loc-consent p { margin: 0; font: 300 12px/1.35 var(--sans); letter-spacing: .02em; color: rgba(239,235,225,.6); }
.loc-consent button {
  padding: 9px 14px; cursor: pointer; background: rgba(25,24,20,.6); color: var(--plaster);
  border: 1px solid rgba(239,235,225,.35); font: 500 10px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase;
  transition: background-color .3s ease, border-color .3s ease;
}
.loc-consent button:hover { background: var(--clay); border-color: var(--clay); }
