/* Promaxis Cookie Consent v1.0.2 – design raffinato, palette officielle Promaxis */
/* Palette: #0A0F1F bg, #141832 surface, #FFFEFE text, #D4AF37 gold accent, #5FB0DF info, #383c65 border, #a0a3b8 muted */

#promaxis-cc{
  position:fixed!important;left:50%!important;bottom:18px!important;top:auto!important;right:auto!important;
  transform:translate(-50%,calc(100% + 40px));
  z-index:2147483646!important;
  width:calc(100% - 28px);max-width:540px;
  background:radial-gradient(120% 100% at 50% 0%,#1a1f3d 0%,#141832 60%,#0f1330 100%);
  color:#FFFEFE;
  border:1px solid #2a2f55;
  border-radius:18px;
  box-shadow:
    0 24px 60px -12px rgba(0,0,0,.6),
    0 8px 20px -4px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,254,254,.04);
  font-family:'Inter','Neue Haas Grotesk Display Pro',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:14px;line-height:1.55;
  opacity:0;
  transition:transform .45s cubic-bezier(.2,.85,.2,1),opacity .3s;
  will-change:transform,opacity;contain:layout style;
  -webkit-font-smoothing:antialiased;
  font-feature-settings:'ss01','cv11';
  overflow:hidden;
}
#promaxis-cc.pcc-visible{transform:translate(-50%,0);opacity:1}
#promaxis-cc.pcc-hidden{pointer-events:none}
#promaxis-cc[hidden]{display:none!important}

/* Subtle gold accent line at top */
#promaxis-cc::before{
  content:"";position:absolute;top:0;left:24px;right:24px;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.0) 0%,rgba(212,175,55,.5) 50%,rgba(212,175,55,0) 100%);
  pointer-events:none;
}

/* Countdown progress bar */
.pcc-countdown{position:absolute;top:0;left:0;right:0;height:2px;background:rgba(212,175,55,.08);overflow:hidden;z-index:2}
.pcc-countdown[hidden]{display:none}
.pcc-countdown-bar{height:100%;width:100%;background:linear-gradient(90deg,#D4AF37 0%,#e6c048 50%,#D4AF37 100%);transform-origin:left center;transform:scaleX(1);transition:transform linear;box-shadow:0 0 8px rgba(212,175,55,.5)}
.pcc-countdown.pcc-paused .pcc-countdown-bar{transition:none}

.pcc-inner{padding:24px 22px 20px}

/* Cookie icon - più raffinato */
.pcc-icon{
  width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(230,192,72,.18) 0%,rgba(212,175,55,.06) 70%);
  border:1px solid rgba(212,175,55,.25);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
  box-shadow:0 4px 16px -4px rgba(212,175,55,.2),inset 0 1px 0 rgba(255,254,254,.06);
}
.pcc-icon svg{filter:drop-shadow(0 1px 2px rgba(212,175,55,.3))}

.pcc-title{
  margin:0 0 10px;
  font-size:19px;font-weight:700;
  color:#FFFEFE;
  letter-spacing:-.3px;text-align:center;
  background:linear-gradient(180deg,#FFFEFE 0%,#e8e9f5 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.pcc-text{margin:0 0 10px;color:#c5c8d9;font-size:13.5px;text-align:left}
.pcc-text strong{color:#FFFEFE;font-weight:600}
.pcc-text-small{font-size:12.5px;color:#9da0b5;line-height:1.55}
.pcc-link{color:#5FB0DF;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(95,176,223,.4);transition:color .15s,text-decoration-color .15s}
.pcc-link:hover{color:#D4AF37;text-decoration-color:#D4AF37}

.pcc-actions{margin-top:18px;display:grid;gap:10px}

/* Primary button: stile "lingotto d'oro" raffinato */
.pcc-btn{
  width:100%;
  min-height:48px;padding:14px 22px;
  border-radius:12px;border:1px solid transparent;
  font:600 14.5px/1 'Inter',system-ui,sans-serif;
  letter-spacing:.2px;
  cursor:pointer;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .15s,box-shadow .2s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  position:relative;overflow:hidden;
}
.pcc-btn-primary{
  background:linear-gradient(180deg,#e6c048 0%,#D4AF37 48%,#b8962e 100%);
  color:#0A0F1F;
  font-weight:700;
  border-color:#b8962e;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    inset 0 -1px 0 rgba(0,0,0,.15),
    0 10px 28px -8px rgba(212,175,55,.5),
    0 2px 6px -2px rgba(212,175,55,.3);
  text-shadow:0 1px 0 rgba(255,255,255,.15);
}
.pcc-btn-primary::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 50%);
  pointer-events:none;opacity:.6;transition:opacity .2s;
}
.pcc-btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 32px -8px rgba(212,175,55,.6),0 4px 10px -2px rgba(212,175,55,.35)}
.pcc-btn-primary:hover::after{opacity:1}
.pcc-btn-primary:active{transform:translateY(0)}

/* Secondary ghost buttons - eleganti, non link */
.pcc-actions-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pcc-btn-ghost{
  background:transparent;
  color:#a0a3b8;
  border:1px solid #2a2f55;
  font:500 13px/1 'Inter',system-ui,sans-serif;
  letter-spacing:.2px;
  min-height:42px;padding:11px 14px;
  border-radius:10px;
  cursor:pointer;
  transition:color .15s,border-color .15s,background .15s;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.pcc-btn-ghost:hover{color:#FFFEFE;border-color:#383c65;background:rgba(255,254,254,.02)}
.pcc-btn-ghost:focus-visible{outline:2px solid #5FB0DF;outline-offset:2px}

.pcc-prefs{border-top:1px solid #2a2f55;padding:16px 22px 18px;max-height:50vh;overflow:auto;-webkit-overflow-scrolling:touch;background:rgba(10,15,31,.3)}
.pcc-prefs[hidden]{display:none}
.pcc-prefs-title{margin:0 0 12px;font-size:11.5px;font-weight:700;color:#D4AF37;text-transform:uppercase;letter-spacing:1.2px}

.pcc-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid rgba(42,47,85,.5);cursor:pointer}
.pcc-row:last-of-type{border-bottom:none}
.pcc-row-info{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left}
.pcc-row-info strong{font-size:13.5px;color:#FFFEFE;font-weight:600}
.pcc-row-info small{font-size:12px;color:#9da0b5;line-height:1.5}

/* Switch raffinato */
.pcc-cb{position:absolute;opacity:0;pointer-events:none}
.pcc-switch{
  position:relative;flex:0 0 auto;
  width:42px;height:24px;
  background:#2a2f55;border-radius:24px;
  transition:background .25s;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.3);
}
.pcc-switch::after{
  content:"";position:absolute;top:2px;left:2px;
  width:20px;height:20px;
  background:linear-gradient(180deg,#FFFEFE 0%,#e8e9f5 100%);
  border-radius:50%;
  transition:transform .25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 2px 6px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);
}
.pcc-cb:checked + .pcc-switch,.pcc-switch-on{
  background:linear-gradient(180deg,#e6c048 0%,#D4AF37 100%);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.2),0 0 12px -2px rgba(212,175,55,.4);
}
.pcc-cb:checked + .pcc-switch::after,.pcc-switch-on::after{transform:translateX(18px)}
.pcc-row-locked{cursor:default;opacity:.85}

.pcc-actions-prefs{margin-top:14px}

/* Floating reopen button */
.pcc-reopen{
  position:fixed!important;left:16px!important;bottom:16px!important;top:auto!important;right:auto!important;
  z-index:2147483645!important;
  width:44px;height:44px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#1a1f3d 0%,#141832 100%);
  color:#D4AF37;border:1px solid #2a2f55;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px -6px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,254,254,.05);
  transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .15s,box-shadow .2s;
}
.pcc-reopen:hover{border-color:#D4AF37;transform:translateY(-3px);box-shadow:0 12px 28px -6px rgba(212,175,55,.3),inset 0 1px 0 rgba(255,254,254,.08)}
.pcc-reopen[hidden]{display:none}

/* Mobile: bottom sheet pieno ancorato al viewport */
@media (max-width:520px){
  #promaxis-cc{
    left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;max-width:none!important;
    border-radius:20px 20px 0 0;border-bottom:none;
    transform:translateY(calc(100% + 40px));
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  #promaxis-cc.pcc-visible{transform:translateY(0)}
  .pcc-inner{padding:20px 18px 16px}
  .pcc-title{font-size:17px}
  .pcc-text{font-size:13px}
  .pcc-text-small{font-size:12px}
  .pcc-btn{min-height:50px;font-size:15px}
  .pcc-btn-ghost{min-height:44px}
  .pcc-actions-secondary{grid-template-columns:1fr 1fr}
  .pcc-reopen{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0));width:42px;height:42px}
}

@media (prefers-reduced-motion:reduce){
  #promaxis-cc,.pcc-switch::after,.pcc-reopen,.pcc-countdown-bar,.pcc-btn{transition:none!important}
}
