.consent-panel {
  position:fixed; z-index:1000; left:50%; bottom:12px; width:min(680px, calc(100% - 24px));
  padding:14px 16px; border:1px solid rgba(87,44,76,.12); border-radius:16px; color:#25162f;
  background:rgba(255,253,251,.96); box-shadow:0 10px 32px rgba(50,25,45,.14); backdrop-filter:blur(16px);
  transform:translateX(-50%); font:400 14px/1.4 "DM Sans",system-ui,sans-serif;
}
.consent-panel[hidden] { display:none; }
.consent-panel h2 { margin:0 0 4px; font:700 17px/1.2 Fraunces,Georgia,serif; }
.consent-panel p { margin:0 0 10px; color:#655a69; }
.consent-panel a { color:#7f235f; font-weight:700; }
.consent-panel__options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.consent-panel:not(.is-expanded) .consent-panel__options,
.consent-panel:not(.is-expanded) [data-consent-save],
.consent-panel.is-expanded [data-consent-customize] { display:none; }
.consent-panel__option { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:58px; padding:9px 10px; border-radius:10px; background:#f7f1f6; }
.consent-panel__option span { display:grid; }
.consent-panel__option small { color:#756b79; font-size:11px; line-height:1.3; }
.consent-panel__option input { width:19px; height:19px; flex:0 0 auto; accent-color:#7f235f; }
.consent-panel__option input[disabled] { opacity:.7; }
.consent-panel__actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; }
.consent-panel__actions button, .privacy-link {
  min-height:38px; padding:0 13px; border:1px solid #b48aa7; border-radius:10px; color:#68204f;
  background:#fff; font:700 13px/1 "DM Sans",system-ui,sans-serif; cursor:pointer;
}
.consent-panel__actions button[data-consent-all] { color:#fff; border-color:#7f235f; background:#7f235f; }
.privacy-link { min-height:auto; padding:0; border:0; border-radius:0; background:transparent; text-decoration:underline; }
@media (max-width:600px) {
  .consent-panel { bottom:8px; width:calc(100% - 16px); padding:12px; border-radius:14px; }
  .consent-panel__options { grid-template-columns:1fr; }
  .consent-panel__option { min-height:52px; }
  .consent-panel__actions { justify-content:stretch; }
  .consent-panel__actions button { flex:1 1 auto; min-height:40px; padding:0 9px; }
}
@media (prefers-reduced-motion:no-preference) {
  .consent-panel:not([hidden]) { animation:consent-in 240ms cubic-bezier(.2,.8,.2,1); }
  @keyframes consent-in { from { opacity:0; transform:translate(-50%, 10px); } to { opacity:1; transform:translate(-50%, 0); } }
}
