/* Pink Peptides Stock Notifier — front-end styles (matches theme.css tokens) */
:root{--ppsn-pink:#C63A75;--ppsn-pink-d:#A82D61;--ppsn-ink:#2A1620;--ppsn-muted:#6E5D5F;--ppsn-line:rgba(42,22,32,.16);--ppsn-blush:#FBF1F5;}

/* ---- Notify buttons ---- */
.ssn-notify-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:Quicksand,sans-serif;font-weight:700;line-height:1;border:0;border-radius:999px;background:var(--ppsn-pink);color:#fff;letter-spacing:.06em;box-shadow:0 14px 28px rgba(198,58,117,.28);transition:background .2s ease,transform .3s cubic-bezier(.2,.7,.2,1),opacity .15s ease;}
.ssn-notify-btn:hover{background:var(--ppsn-pink-d);transform:translateY(-1px);}
.ssn-notify-btn .ssn-ico{width:18px;height:18px;flex:0 0 auto;}

/* Card variant: same round spot as the theme's add-to-bag petal button */
.ssn-notify-btn.ssn-card-btn{position:absolute;right:10px;bottom:10px;width:54px;height:54px;padding:0;gap:0;border-radius:50%;box-shadow:0 10px 22px rgba(198,58,117,.3);}
.pp-card--catalog .ssn-notify-btn.ssn-card-btn{right:8px;bottom:8px;width:46px;height:46px;}
.ssn-notify-btn.ssn-card-btn .ssn-btn-label{display:none;}
.ssn-notify-btn.ssn-card-btn .ssn-ico{width:20px;height:20px;}

/* Single-product variant (variable products): full-width like .pp-btn--dark */
.ssn-notify-btn.ssn-single-btn{width:100%;min-height:54px;padding:0 28px;font-size:14px;border-radius:999px;}
.ssn-single-variation{margin-top:14px;}

/* Out-of-stock block on the single product page */
.pp-oos{margin-top:4px;padding:18px 20px 20px;border:1px solid var(--ppsn-line);border-radius:20px;background:var(--ppsn-blush);}
.pp-oos__head{display:flex;align-items:center;gap:10px;font-family:Quicksand,sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ppsn-pink);margin-bottom:10px;}
.pp-oos__dot{width:8px;height:8px;border-radius:50%;background:var(--ppsn-pink);box-shadow:0 0 0 4px rgba(198,58,117,.15);}
.ssn-form .ssn-desc{color:var(--ppsn-muted);font-size:14px;line-height:1.55;}
.ssn-field{margin-top:14px;}
.ssn-email{width:100%;box-sizing:border-box;height:52px;padding:0 16px;border:1px solid var(--ppsn-line);border-radius:14px;font-size:15px;font-family:Quicksand,sans-serif;color:var(--ppsn-ink);background:#fff;}
.ssn-email:focus{outline:none;border-color:var(--ppsn-pink);box-shadow:0 0 0 3px rgba(198,58,117,.15);}
.ssn-email.ssn-locked{background:#FBF6F8;color:var(--ppsn-muted);}
.ssn-submit{margin-top:12px;width:100%;min-height:52px;padding:0 28px;border:0;border-radius:999px;cursor:pointer;background:var(--ppsn-pink);color:#fff;font-family:Quicksand,sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 14px 28px rgba(198,58,117,.28);transition:background .2s ease,opacity .15s ease;}
.ssn-submit:hover{background:var(--ppsn-pink-d);}
.ssn-submit:disabled{opacity:.7;cursor:default;}
.ssn-msg{margin-top:12px;font-size:13.5px;min-height:18px;}
.ssn-msg.ok{color:#2E8B84;font-weight:600;}
.ssn-msg.err{color:#C62828;}

/* ---- Modal (cards) ---- */
body.ssn-noscroll{overflow:hidden;}
.ssn-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.ssn-modal[hidden]{display:none;}
.ssn-backdrop{position:absolute;inset:0;background:rgba(42,22,32,.5);backdrop-filter:saturate(120%) blur(3px);}
.ssn-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border-radius:28px;padding:30px 28px 24px;box-shadow:0 30px 70px rgba(42,22,32,.3);font-family:Quicksand,sans-serif;animation:ssn-pop .22s cubic-bezier(.2,.7,.2,1);}
@keyframes ssn-pop{from{transform:translateY(10px) scale(.98);opacity:0;}to{transform:none;opacity:1;}}
.ssn-x{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;background:transparent;font-size:26px;line-height:1;color:#9A8A98;cursor:pointer;border-radius:50%;}
.ssn-x:hover{background:var(--ppsn-blush);color:var(--ppsn-ink);}
.ssn-title{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:24px;line-height:1.15;color:var(--ppsn-ink);padding-right:28px;}
.ssn-prod{margin-top:8px;font-weight:700;color:var(--ppsn-pink);font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.ssn-desc{margin-top:8px;color:var(--ppsn-muted);font-size:14px;line-height:1.55;}

@media (max-width:480px){.ssn-card{max-width:none;border-radius:22px;padding:24px 20px 20px;}}
