/* PS Restock Alerts - Petratide Montserrat Glassmorphic
   Hardcoded hex rather than var() because this renders inside WooCommerce
   single-product markup, not inside a template that defines the tokens. */

.psrn-box{
  font-family:'Montserrat',system-ui,sans-serif;
  margin:18px 0 22px;
  padding:20px 22px;
  border:1px solid rgba(164,63,255,.25);
  border-radius:16px;
  background:linear-gradient(160deg,rgba(164,63,255,.10),rgba(14,12,26,.55));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 8px 30px rgba(0,0,0,.28);
  animation:psrn-in .35s ease both;
}
@keyframes psrn-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.psrn-head{
  display:flex;align-items:center;gap:10px;
  margin:0 0 6px;font-size:15px;font-weight:800;
  letter-spacing:.2px;color:#fff;
}
.psrn-head svg{flex:0 0 auto}

.psrn-sub{margin:0 0 14px;font-size:12.5px;line-height:1.6;color:#9b90b8}

.psrn-row{display:flex;gap:10px;flex-wrap:wrap}

.psrn-input{
  flex:1 1 200px;min-width:0;
  padding:12px 14px;
  font-family:inherit;font-size:14px;color:#fff;
  background:rgba(14,12,26,.6);
  border:1px solid rgba(164,63,255,.25);
  border-radius:10px;
  outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.psrn-input::placeholder{color:#6f6688}
.psrn-input:focus{border-color:#a43fff;box-shadow:0 0 0 3px rgba(164,63,255,.18)}

.psrn-btn{
  flex:0 0 auto;
  padding:12px 24px;
  font-family:inherit;font-size:14px;font-weight:800;letter-spacing:.3px;
  color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#a43fff,#c280ff);
  border:0;border-radius:10px;
  transition:transform .18s,box-shadow .18s,opacity .18s;
}
.psrn-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(164,63,255,.35)}
.psrn-btn[disabled]{opacity:.55;cursor:default;transform:none;box-shadow:none}

.psrn-opt{
  display:flex;align-items:flex-start;gap:8px;
  margin:12px 0 0;font-size:12px;line-height:1.5;color:#9b90b8;cursor:pointer;
}
.psrn-opt input{margin:2px 0 0;accent-color:#a43fff;flex:0 0 auto}

.psrn-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}

.psrn-msg{margin:12px 0 0;font-size:13px;line-height:1.55;font-weight:600}
.psrn-msg.is-ok{color:#8bf3c2}
.psrn-msg.is-err{color:#ffb4ab}

.psrn-done{
  display:flex;align-items:center;gap:10px;
  font-size:13.5px;font-weight:700;color:#8bf3c2;
}

@media (max-width:600px){
  .psrn-btn{flex:1 1 100%}
}

/* ── v1.1.0 swapped CTA ────────────────────────────────────────── */

.psrn-hidden{display:none!important}

.psrn-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  width:100%;
  padding:16px 26px;
  font-family:'Montserrat',system-ui,sans-serif;
  font-size:14px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#a43fff,#c280ff);
  border:0;border-radius:12px;
  box-shadow:0 6px 24px rgba(164,63,255,.28);
  transition:transform .18s,box-shadow .18s,filter .18s;
}
.psrn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(164,63,255,.42)}
.psrn-cta:active{transform:translateY(0)}
.psrn-cta--open{filter:saturate(.55);box-shadow:none}
.psrn-cta--busy{opacity:.6;pointer-events:none}

/* Grid cards: match the card button footprint, not the hero CTA. */
.ps-card .psrn-cta,
li.product .psrn-cta{
  padding:13px 18px;font-size:12.5px;letter-spacing:.4px;border-radius:10px;
  box-shadow:0 4px 16px rgba(164,63,255,.22);
}

/* ── modal ─────────────────────────────────────────────────────── */

body.psrn-lock{overflow:hidden}

.psrn-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.psrn-modal[hidden]{display:none}
.psrn-modal__veil{position:absolute;inset:0;background:rgba(6,4,14,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:psrn-fade .2s ease both}
.psrn-modal__panel{position:relative;width:100%;max-width:440px;animation:psrn-in .28s ease both}
.psrn-modal__panel .psrn-box{margin:0;background:linear-gradient(160deg,rgba(164,63,255,.14),rgba(14,12,26,.96))}

.psrn-modal__x{
  position:absolute;top:-14px;right:-6px;z-index:2;
  width:34px;height:34px;line-height:1;
  font-size:22px;color:#c9bfe0;cursor:pointer;
  background:rgba(14,12,26,.9);
  border:1px solid rgba(164,63,255,.3);border-radius:50%;
  transition:color .18s,border-color .18s;
}
.psrn-modal__x:hover{color:#fff;border-color:#a43fff}

@keyframes psrn-fade{from{opacity:0}to{opacity:1}}

.psrn-box--compact .psrn-sub{margin-bottom:12px}
.psrn-box--compact .psrn-btn{flex:1 1 100%}

.psrn-slot[hidden]{display:none}
.psrn-slot{animation:psrn-in .3s ease both}
