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

.hc-cookie-banner {
  position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 520px; margin: 0 auto;
  background: #fff; border: 1px solid #e8e1da; border-radius: 16px;
  box-shadow: 0 20px 50px rgba(62, 16, 28, .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;
}
#hc-cookie-root.is-open #hc-cookie-banner { pointer-events: auto; }
#hc-cookie-root.is-banner #hc-cookie-banner { transform: translateY(0); opacity: 1; }
#hc-cookie-root.is-panel #hc-cookie-banner { display: none; }

.hc-cookie-banner h2 { margin: 0 0 8px; font-size: 17px; font-weight: 800; color: #1c1216; letter-spacing: -.2px; }
.hc-cookie-banner p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.55; color: #6f6168; }
.hc-cookie-banner a { color: #7e1d2c; font-weight: 600; }
.hc-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.hc-cookie-actions button {
  font: inherit; font-size: 13px; font-weight: 700; border-radius: 10px; padding: 10px 14px;
  cursor: pointer; border: 1px solid #e8e1da; background: #fff; color: #4a3c43;
  transition: background .15s, border-color .15s, color .15s;
}
.hc-cookie-actions button:hover { border-color: #a62639; color: #7e1d2c; }
.hc-cookie-actions .hc-btn-accept { background: #a62639; border-color: #a62639; color: #fff; }
.hc-cookie-actions .hc-btn-accept:hover { background: #7e1d2c; border-color: #7e1d2c; color: #fff; }

.hc-cookie-panel {
  position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 480px; margin: 0 auto;
  background: #fff; border: 1px solid #e8e1da; border-radius: 16px;
  box-shadow: 0 20px 50px rgba(62, 16, 28, .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;
}
#hc-cookie-root.is-panel .hc-cookie-panel { display: block; transform: translateY(0); opacity: 1; pointer-events: auto; }

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

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