/* Bandeau cookies Hubdiver — RGPD + Vercel Web Analytics */
#hd-cookie-root {
  position: fixed; z-index: 9999;
  inset: auto; width: 0; height: 0; overflow: visible;
  pointer-events: none;
}
#hd-cookie-root.is-open { inset: 0; width: auto; height: auto; pointer-events: auto; }
#hd-cookie-backdrop {
  position: absolute; inset: 0; background: rgba(7, 30, 50, .45);
  opacity: 0; transition: opacity .25s ease;
}
#hd-cookie-root.is-open #hd-cookie-backdrop { opacity: 1; }

.hd-cookie-banner {
  position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 520px; margin: 0 auto;
  background: #fff; border: 1px solid #e3e7ee; border-radius: 16px;
  box-shadow: 0 20px 50px rgba(7, 50, 62, .18);
  padding: 20px 22px; font-family: "Segoe UI", system-ui, sans-serif;
  transform: translateY(120%); opacity: 0;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
  pointer-events: none;
}
#hd-cookie-root.is-open #hd-cookie-banner { pointer-events: auto; }
#hd-cookie-root.is-banner #hd-cookie-banner { transform: translateY(0); opacity: 1; }
#hd-cookie-root.is-panel #hd-cookie-banner { display: none; }

.hd-cookie-banner h2 { margin: 0 0 8px; font-size: 17px; font-weight: 800; color: #0f1620; letter-spacing: -.2px; }
.hd-cookie-banner p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.55; color: #6a7480; }
.hd-cookie-banner a { color: #0a8e9d; font-weight: 600; }
.hd-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-cookie-actions button {
  font: inherit; font-size: 13px; font-weight: 700; border-radius: 10px; padding: 10px 14px;
  cursor: pointer; border: 1px solid #e3e7ee; background: #fff; color: #41505f;
  transition: background .15s, border-color .15s, color .15s;
}
.hd-cookie-actions button:hover { border-color: #11b5c7; color: #0a8e9d; }
.hd-cookie-actions .hd-btn-accept { background: #077a88; border-color: #077a88; color: #fff; }
.hd-cookie-actions .hd-btn-accept:hover { background: #066c78; border-color: #066c78; color: #fff; }

.hd-cookie-panel {
  position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 480px; margin: 0 auto;
  background: #fff; border: 1px solid #e3e7ee; border-radius: 16px;
  box-shadow: 0 20px 50px rgba(7, 50, 62, .18);
  padding: 20px 22px; font-family: "Segoe UI", system-ui, sans-serif;
  transform: translateY(120%); opacity: 0; pointer-events: none;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .25s ease;
  display: none;
}
#hd-cookie-root.is-panel .hd-cookie-panel { display: block; transform: translateY(0); opacity: 1; pointer-events: auto; }

.hd-cookie-panel h2 { margin: 0 0 14px; font-size: 17px; font-weight: 800; }
.hd-cookie-cat { border: 1px solid #eef1f5; border-radius: 12px; padding: 14px; margin-bottom: 10px; }
.hd-cookie-cat h3 { margin: 0 0 4px; font-size: 14px; font-weight: 800; }
.hd-cookie-cat p { margin: 0; font-size: 12.5px; color: #6a7480; line-height: 1.5; }
.hd-cookie-cat-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.hd-cookie-cat .hd-always { font-size: 11px; font-weight: 700; color: #10b981; text-transform: uppercase; letter-spacing: .4px; white-space: nowrap; }
.hd-cookie-toggle { position: relative; width: 44px; height: 24px; flex-shrink: 0; }
.hd-cookie-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.hd-cookie-toggle span {
  position: absolute; inset: 0; background: #d1d5db; border-radius: 24px; cursor: pointer;
  transition: background .2s;
}
.hd-cookie-toggle span::before {
  content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px;
  background: #fff; border-radius: 50%; transition: transform .2s;
}
.hd-cookie-toggle input:checked + span { background: #11b5c7; }
.hd-cookie-toggle input:checked + span::before { transform: translateX(20px); }
.hd-cookie-toggle input:focus-visible + span { outline: 2px solid #11b5c7; outline-offset: 2px; }

@media (min-width: 640px) {
  .hd-cookie-banner, .hd-cookie-panel { left: auto; right: 24px; bottom: 24px; margin: 0; }
}
