/* Conservatorio Perugia – Cookie Banner & Consent Log */
#cmpg-cc, #cmpg-cc *{box-sizing:border-box}
.cmpg-cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#fff;color:#1a2230;
  border-top:4px solid #2E5496;box-shadow:0 -4px 24px rgba(20,40,80,.18);
  font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px;line-height:1.5;
  padding:18px clamp(16px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.cmpg-cc-banner__body{flex:1 1 460px;min-width:280px}
.cmpg-cc-h{margin:0 0 6px;font-size:17px;color:#1F3864}
.cmpg-cc-p{margin:0}
.cmpg-cc-banner a,.cmpg-cc-panel a{color:#2E5496;text-decoration:underline}
.cmpg-cc-banner__actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
.cmpg-cc-btn{font:inherit;font-weight:600;border-radius:8px;padding:10px 18px;cursor:pointer;border:2px solid #2E5496;line-height:1.2}
.cmpg-cc-btn--primary{background:#2E5496;color:#fff}
.cmpg-cc-btn--ghost{background:#fff;color:#2E5496}
.cmpg-cc-btn:hover{filter:brightness(1.05)}
.cmpg-cc-btn:focus-visible,.cmpg-cc-switch input:focus-visible+.cmpg-cc-slider,.cmpg-cc-x:focus-visible{outline:3px solid #f0a500;outline-offset:2px}
.cmpg-cc-x{position:absolute;top:8px;right:10px;background:none;border:0;font-size:26px;line-height:1;color:#666;cursor:pointer;padding:4px 8px}
.cmpg-cc-overlay{position:fixed;inset:0;z-index:100000;background:rgba(15,25,45,.5)}
.cmpg-cc-panel{position:fixed;z-index:100001;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(620px,94vw);max-height:88vh;overflow:auto;background:#fff;color:#1a2230;border-radius:12px;
  box-shadow:0 12px 48px rgba(0,0,0,.3);font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:15px}
.cmpg-cc-panel__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e3e8f0}
.cmpg-cc-panel__head .cmpg-cc-x{position:static}
.cmpg-cc-panel__body{padding:6px 20px}
.cmpg-cc-cat{border:0;border-bottom:1px solid #eef1f6;margin:0;padding:14px 0}
.cmpg-cc-cat__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cmpg-cc-cat__name{font-weight:600;color:#1F3864}
.cmpg-cc-cat__desc{margin:6px 0 0;font-size:13.5px;color:#54606f}
.cmpg-cc-badge{font-size:12px;font-weight:700;color:#1a7f4b;background:#e7f5ee;border-radius:20px;padding:3px 10px;white-space:nowrap}
.cmpg-cc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:0 0 auto}
.cmpg-cc-switch input{position:absolute;opacity:0;width:46px;height:26px;margin:0;cursor:pointer}
.cmpg-cc-slider{position:absolute;inset:0;background:#c2c9d6;border-radius:26px;transition:.2s}
.cmpg-cc-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.cmpg-cc-switch input:checked+.cmpg-cc-slider{background:#2E5496}
.cmpg-cc-switch input:checked+.cmpg-cc-slider::before{transform:translateX(20px)}
.cmpg-cc-panel__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid #e3e8f0}
.cmpg-cc-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;
  min-height:160px;background:#eef2f8;border:1px dashed #9fb2cc;border-radius:8px;padding:24px;color:#33425c;
  font-family:-apple-system,Segoe UI,Arial,sans-serif}
.cmpg-cc-ph p{margin:0;font-size:14px}
@media (max-width:640px){.cmpg-cc-banner__actions{width:100%}.cmpg-cc-btn{flex:1 1 auto;text-align:center}}
@media (prefers-reduced-motion:reduce){.cmpg-cc-slider,.cmpg-cc-slider::before{transition:none}}
