/* ==========================================================================
   Pasa Musik — Consentement aux cookies / Cookie consent
   Reuses the existing PASA design language: Comfortaa, #047391 / #EF4424,
   square corners (border-radius:0), the hero/featured gradient accent bar.
   Self-contained: no Elementor JS, no external dependency.
   ========================================================================== */

.pm-cc.pm-cc,
.pm-cc.pm-cc *,
.pm-ccp.pm-ccp,
.pm-ccp.pm-ccp *{box-sizing:border-box}

.pm-cc.pm-cc[hidden],
.pm-ccp.pm-ccp[hidden]{display:none!important}

/* --- shared tokens -------------------------------------------------------- */
.pm-cc.pm-cc,.pm-ccp.pm-ccp{
  --pm-teal:#047391;
  --pm-red:#EF4424;
  --pm-ink:#0b2530;
  --pm-body:#4a4a4a;
  --pm-muted:#6f6f6f;
  --pm-line:#e2e8eb;
  font-family:"Comfortaa",sans-serif;
}

/* --- banner --------------------------------------------------------------- */
.pm-cc.pm-cc{
  position:fixed;left:0;right:0;bottom:0;z-index:99998;
  display:flex;justify-content:center;
  padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));
  pointer-events:none;
}
.pm-cc__card.pm-cc__card{
  pointer-events:auto;position:relative;width:100%;max-width:880px;
  background:#fff;border:1px solid var(--pm-line);
  box-shadow:0 18px 54px rgba(4,37,48,.18);
  padding:28px 30px 24px;
  animation:pm-cc-in .42s cubic-bezier(.22,.8,.3,1) both;
}
.pm-cc__card.pm-cc__card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--pm-teal),var(--pm-red));
}
@keyframes pm-cc-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

.pm-cc__head.pm-cc__head{display:flex;align-items:center;gap:16px;margin:0 0 14px}
.pm-cc__logo.pm-cc__logo{display:block;width:auto;height:38px;flex:0 0 auto}
.pm-cc__title.pm-cc__title{
  margin:0;font-family:"Comfortaa",sans-serif;font-size:19px;font-weight:700;
  color:var(--pm-ink);line-height:1.3;letter-spacing:.1px;
}
.pm-cc__text.pm-cc__text{
  margin:0 0 20px;font-family:"Comfortaa",sans-serif;font-size:14.5px;font-weight:400;
  line-height:1.72;color:var(--pm-body);max-width:68ch;
}
.pm-cc__text.pm-cc__text a{color:var(--pm-teal);text-decoration:underline}

.pm-cc__actions.pm-cc__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

/* --- buttons (same weight for accept / refuse: no dark pattern) ----------- */
.pm-btn.pm-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:"Comfortaa",sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;text-decoration:none;
  padding:13px 24px;border-radius:0;border:2px solid transparent;
  cursor:pointer;transition:background-color .25s,color .25s,border-color .25s;
  min-height:46px;
}
.pm-btn--primary.pm-btn--primary{background:var(--pm-red);color:#fff;border-color:var(--pm-red)}
.pm-btn--primary.pm-btn--primary:hover{background:#d23716;border-color:#d23716}
.pm-btn--ghost.pm-btn--ghost{background:transparent;color:var(--pm-ink);border-color:var(--pm-ink)}
.pm-btn--ghost.pm-btn--ghost:hover{background:var(--pm-ink);color:#fff}
.pm-btn--quiet.pm-btn--quiet{
  background:transparent;color:var(--pm-ink);border:0;padding:13px 4px;
  border-bottom:2px solid var(--pm-ink);min-height:0;
}
.pm-btn--quiet.pm-btn--quiet:hover{color:var(--pm-teal);border-bottom-color:var(--pm-teal)}
.pm-btn.pm-btn:focus-visible,
.pm-cc__card.pm-cc__card :focus-visible,
.pm-ccp.pm-ccp :focus-visible{outline:2px solid var(--pm-teal);outline-offset:3px}

/* --- preferences panel ---------------------------------------------------- */
.pm-ccp.pm-ccp{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(6,30,39,.52);
  animation:pm-ccp-fade .25s ease both;
}
@keyframes pm-ccp-fade{from{opacity:0}to{opacity:1}}
.pm-ccp__dialog.pm-ccp__dialog{
  position:relative;width:100%;max-width:680px;max-height:calc(100vh - 48px);
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--pm-line);
  box-shadow:0 26px 70px rgba(4,37,48,.3);
  animation:pm-cc-in .35s cubic-bezier(.22,.8,.3,1) both;
}
.pm-ccp__dialog.pm-ccp__dialog::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--pm-teal),var(--pm-red));
}
.pm-ccp__head.pm-ccp__head{padding:28px 64px 18px 30px;border-bottom:1px solid var(--pm-line)}
.pm-ccp__brand.pm-ccp__brand{display:flex;align-items:center;gap:16px;margin:0 0 14px}
.pm-ccp__logo.pm-ccp__logo{display:block;width:auto;height:38px;flex:0 0 auto}
.pm-ccp__title.pm-ccp__title{margin:0;font-size:19px;font-weight:700;color:var(--pm-ink);line-height:1.3}
.pm-ccp__intro.pm-ccp__intro{margin:0;font-size:14px;line-height:1.7;color:var(--pm-body);font-weight:400}
.pm-ccp__close.pm-ccp__close{
  position:absolute;top:14px;right:14px;width:38px;height:38px;min-width:0;padding:0;margin:0;
  display:flex;align-items:center;justify-content:center;background:transparent;border:0;
  cursor:pointer;color:var(--pm-muted);border-radius:0;line-height:0;
}
.pm-ccp__close.pm-ccp__close:hover{color:var(--pm-ink)}
.pm-ccp__close.pm-ccp__close svg{width:18px;height:18px;flex:0 0 auto;display:block}

.pm-ccp__body.pm-ccp__body{padding:6px 30px 10px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.pm-ccp__group.pm-ccp__group{padding:22px 0;border-bottom:1px solid var(--pm-line)}
.pm-ccp__group.pm-ccp__group:last-child{border-bottom:0}
.pm-ccp__grouphead.pm-ccp__grouphead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pm-ccp__name.pm-ccp__name{margin:0;font-size:15.5px;font-weight:700;color:var(--pm-ink);line-height:1.35}
.pm-ccp__desc.pm-ccp__desc{margin:9px 0 0;font-size:13.5px;line-height:1.7;color:var(--pm-body);font-weight:400}
.pm-ccp__vendors.pm-ccp__vendors{margin:8px 0 0;font-size:12.5px;line-height:1.6;color:var(--pm-muted);font-weight:400}
.pm-ccp__always.pm-ccp__always{
  flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--pm-teal);border:1px solid var(--pm-teal);padding:7px 11px;white-space:nowrap;
}

/* toggle */
.pm-switch.pm-switch{flex:0 0 auto;display:inline-flex;align-items:center;cursor:pointer;margin:2px 0 0}
.pm-switch.pm-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:-1px;overflow:hidden}
.pm-switch__track.pm-switch__track{
  position:relative;display:block;width:52px;height:28px;background:#c9d3d8;
  transition:background-color .25s;
}
.pm-switch__track.pm-switch__track::after{
  content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s;
}
.pm-switch.pm-switch input:checked + .pm-switch__track.pm-switch__track{background:var(--pm-teal)}
.pm-switch.pm-switch input:checked + .pm-switch__track.pm-switch__track::after{transform:translateX(24px)}
.pm-switch.pm-switch input:focus-visible + .pm-switch__track.pm-switch__track{outline:2px solid var(--pm-teal);outline-offset:3px}

.pm-ccp__foot.pm-ccp__foot{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  padding:20px 30px 24px;border-top:1px solid var(--pm-line);background:#fbfcfd;
}
.pm-ccp__foot.pm-ccp__foot .pm-btn.pm-btn{flex:0 0 auto}

/* --- footer "cookie preferences" control --------------------------------- */
.pm-cookie-link.pm-cookie-link{
  display:inline;background:none;border:0;padding:0;margin:0;cursor:pointer;
  font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;
  text-decoration:underline;text-underline-offset:2px;
}
.pm-cookie-link.pm-cookie-link:hover{color:#EF4424}
.pm-cookie-link.pm-cookie-link:focus-visible{outline:2px solid #047391;outline-offset:2px}

/* --- blocked third-party embed placeholder -------------------------------- */
.pm-blocked.pm-blocked{
  font-family:"Comfortaa",sans-serif;border:1px dashed #cfd9de;background:#fafcfd;
  padding:26px 24px;text-align:center;color:#4a4a4a;font-size:14px;line-height:1.7;
  max-width:680px;margin:0 auto;
}
.pm-blocked.pm-blocked p{margin:0 0 14px}

/* --- responsive ----------------------------------------------------------- */
@media (max-width:700px){
  .pm-cc.pm-cc{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}
  .pm-cc__card.pm-cc__card{padding:22px 20px 20px}
  .pm-cc__head.pm-cc__head{gap:12px;margin-bottom:12px}
  .pm-cc__logo.pm-cc__logo,.pm-ccp__logo.pm-ccp__logo{height:32px}
  .pm-cc__title.pm-cc__title,.pm-ccp__title.pm-ccp__title{font-size:17px}
  .pm-cc__text.pm-cc__text{font-size:13.5px;margin-bottom:18px}
  .pm-cc__actions.pm-cc__actions{gap:10px}
  .pm-cc__actions.pm-cc__actions .pm-btn--primary.pm-btn--primary,
  .pm-cc__actions.pm-cc__actions .pm-btn--ghost.pm-btn--ghost{flex:1 1 100%}
  .pm-cc__actions.pm-cc__actions .pm-btn--quiet.pm-btn--quiet{margin:2px auto 0}
  .pm-ccp.pm-ccp{padding:0}
  .pm-ccp__dialog.pm-ccp__dialog{max-width:none;max-height:100vh;height:100%;border:0}
  .pm-ccp__head.pm-ccp__head{padding:24px 56px 16px 20px}
  .pm-ccp__body.pm-ccp__body{padding:4px 20px 8px}
  .pm-ccp__foot.pm-ccp__foot{padding:16px 20px calc(18px + env(safe-area-inset-bottom,0px))}
  .pm-ccp__foot.pm-ccp__foot .pm-btn.pm-btn{flex:1 1 100%}
  .pm-ccp__grouphead.pm-ccp__grouphead{gap:12px}
}
@media (max-width:360px){
  .pm-btn.pm-btn{font-size:12px;letter-spacing:.05em;padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  .pm-cc__card.pm-cc__card,.pm-ccp.pm-ccp,.pm-ccp__dialog.pm-ccp__dialog{animation:none}
  .pm-btn.pm-btn,.pm-switch__track.pm-switch__track,.pm-switch__track.pm-switch__track::after{transition:none}
}

/* --- shared newsletter form states (footer forms on every page) ----------- */
.pm-formstatus.pm-formstatus{
  margin:14px 0 0;font-family:"Comfortaa",sans-serif;font-size:14px;line-height:1.6;
  padding:12px 14px;border-left:3px solid transparent;
}
.pm-formstatus.pm-formstatus:empty{display:none}
.pm-formstatus.pm-formstatus[data-state="pending"]{color:#4a4a4a;background:#f4f8f9;border-left-color:#cfd9de}
.pm-formstatus.pm-formstatus[data-state="ok"]{color:#0b2530;background:#eaf5f8;border-left-color:#047391}
.pm-formstatus.pm-formstatus[data-state="error"]{color:#8a2410;background:#fdeeea;border-left-color:#EF4424}
