:root{
  --hc-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --hc-primary: #FF5147;
  --hc-black: #151619;
  --hc-white: #FFFFFF;
}
body { font-family: var(--hc-font); }

/* ===== BANNIÈRE – POSITIONNEMENT ===== */
.hexcookie-banner{
  position: fixed;
  z-index: 99999;
  left: 12px;
  right: 12px;
  bottom: 12px;
}
@media (min-width: 992px){
  .hexcookie-banner{ left:auto; right:24px; bottom:24px; width:380px; }
}

/* ===== CARTE ===== */
.hexcookie-card{
  background: var(--hc-white);
  border:1px solid #E5EAF0;
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 8px 30px rgba(0,0,0,.08);
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
}
@media (min-width: 480px){
  .hexcookie-card{ grid-template-columns: 1fr; row-gap: 12px; }
}
.hexcookie-text h3{ margin:0 0 6px; font-size:18px; color:var(--hc-black); }
.hexcookie-text p{ margin:0; font-size:14px; line-height:1.5; color:#50576B; }
.hexcookie-link{ display:inline-block; margin-top:6px; font-size:13px; text-decoration:underline; color:#323745; }

/* ===== BOUTONS SYMÉTRIQUES ===== */
.hexcookie-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
@media (max-width: 479.98px){
  .hexcookie-actions{ width:100%; }
  .hexcookie-actions .btn{ width:100%; text-align:center; }
}
.btn{
  border-radius:24px; padding:12px 16px;
  font-weight:600; border:1px solid #E5EAF0;
  background:#FFFFFF; color:#151619;
  flex:1 1 auto; text-align:center; cursor:pointer;
}
.btn:hover{ transform:translateY(-1px); }
.hexcookie-customize{
  background:transparent; border-color:transparent;
  text-decoration:underline; flex:0 0 auto;
}

/* ===== MODAL ===== */
.hexcookie-modal{ position:fixed; inset:0; background:rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; padding:20px; z-index:100000; }
.hexcookie-modal-card{ background:var(--hc-white); width:min(720px,100%); border-radius:24px; padding:20px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.hexcookie-modal-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.hexcookie-close{ background:none; border:none; font-size:24px; cursor:pointer; }
.hexcookie-modal-body{ display:flex; flex-direction:column; gap:14px; max-height:50vh; overflow:auto; }
.hexcookie-purpose{ border:1px solid #E5EAF0; border-radius:16px; padding:14px; display:flex; justify-content:space-between; gap:20px; }
.badge-required{ background:#FFECEC; color:#FF5147; border-radius:14px; padding:4px 10px; font-size:12px; }
.hexcookie-modal-footer{ display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }

/* ===== SWITCH ===== */
.switch{ position:relative; display:inline-block; width:48px; height:28px; }
.switch input{ display:none; }
.slider{ position:absolute; inset:0; background:#D9DFE8; border-radius:999px; transition:.2s; cursor:pointer; }
.slider:before{ content:""; position:absolute; height:22px; width:22px; left:3px; top:3px; background:#FFF; border-radius:50%; transition:.2s; box-shadow:0 2px 6px rgba(0,0,0,.2); }
input:checked + .slider{ background:var(--hc-primary); }
input:checked + .slider:before{ transform:translateX(20px); }

/* ===== BOUTON FLOTTANT ===== */
.hexcookie-floating{
  position:fixed; right:16px; bottom:16px;
  border-radius:24px; padding:10px 14px;
  border:1px solid #E5EAF0; background:var(--hc-white);
  box-shadow:0 6px 20px rgba(0,0,0,.1); cursor:pointer;
  color: var(--hc-black) !important;
}

.hexcookie-media-block{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #D9DFE8;
  border-radius:16px;
  background:#F6F7F9;
  color:#50576B;
  padding:20px;
  text-align:center;
}
.hexcookie-media-overlay{ display:flex; flex-direction:column; gap:10px; align-items:center; }
.hexcookie-media-text strong{ color:#151619; }
.hexcookie-media-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.hexcookie-media-actions .btn{ flex:0 0 auto; }

.hexcookie-cookie-details{ margin-top:16px; }
.hexcookie-cookie-details h4{ margin:0 0 8px; font-size:16px; color:#151619; }
.hexcookie-table{ width:100%; border-collapse:collapse; font-size:13px; }
.hexcookie-table th, .hexcookie-table td{ border:1px solid #E5EAF0; padding:8px; text-align:left; vertical-align:top; }
.hexcookie-table th{ background:#F6F7F9; color:#323745; }
.hexcookie-table td{ color:#50576B; }
