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

/* ---------- Back in stock ---------- */
.spf-notify{margin:14px 0;padding:16px;border:1px solid #e5e7eb;border-radius:16px;background:linear-gradient(180deg,#fafafa,#f6f7f9)}
.spf-notify strong{display:block;font-size:15px}
.spf-notify p{margin:4px 0 10px;font-size:13px;opacity:.75}
.spf-notify__row{display:flex;gap:8px}
.spf-notify__row input[type=email]{flex:1;min-width:0;padding:11px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:15px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.spf-notify__row input[type=email]:focus{border-color:var(--spf-accent,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.15);outline:none}
.spf-notify__row .spf-btn.is-loading{opacity:.6;pointer-events:none}
.spf-notify__msg{margin-top:8px;font-size:13px;min-height:0}
.spf-notify__msg:empty{display:none}
.spf-notify__msg.is-ok{color:#15803d;font-weight:600}
.spf-notify__msg.is-err{color:#b91c1c}

/* ---------- Pre-order badge ---------- */
.spf-pre{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;padding:10px 14px;border-radius:12px;background:#eff6ff;color:#1e40af;font-size:14px}
.spf-pre b{font-size:11px;letter-spacing:.06em;padding:3px 8px;border-radius:99px;background:#1e40af;color:#fff}

/* ---------- Size guide link + shared modal ---------- */
.spf-sizelink{display:inline-flex;align-items:center;gap:6px;margin:6px 0 10px;padding:0;border:0;background:none;color:inherit;font-size:14px;font-weight:600;text-decoration:underline;cursor:pointer}
.spf-modal{position:fixed;inset:0;z-index:100006;display:flex;align-items:center;justify-content:center;padding:16px}
.spf-modal[hidden],.spf-pop[hidden],.spf-pop [hidden]{display:none}
.spf-modal__bg,.spf-pop__bg{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.spf-modal__box{position:relative;background:#fff;border-radius:16px;width:min(720px,100%);max-height:88vh;overflow:auto;padding:24px}
.spf-modal__box h3{margin:0 0 12px;padding-right:30px}
.spf-px{position:absolute;top:8px;right:10px;background:none;border:0;font-size:28px;line-height:1;cursor:pointer;color:inherit;z-index:2}
.spf-modal__c table,.spf-tabc table{width:100%;border-collapse:collapse;font-size:14px}
.spf-modal__c th,.spf-modal__c td,.spf-tabc th,.spf-tabc td{padding:9px 10px;border:1px solid #e5e7eb;text-align:center}
.spf-modal__c th,.spf-tabc th{background:#f6f7f9;font-weight:700}
.spf-modal__c img,.spf-tabc img{max-width:100%;height:auto}

/* ---------- Photo reviews ---------- */
.spf-rphoto-field{margin:12px 0}
.spf-rphoto-field label{display:block;font-weight:600;margin-bottom:4px}
.spf-rphotos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.spf-rphotos img{width:74px;height:74px;object-fit:cover;border-radius:10px;display:block;border:1px solid #eee}
.spf-lb{position:fixed;inset:0;z-index:100008;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.spf-lb img{max-width:100%;max-height:100%;border-radius:10px}

/* ---------- Popup ---------- */
.spf-pop{position:fixed;inset:0;z-index:100007;display:flex;align-items:center;justify-content:center;padding:16px}
.spf-pop__box{position:relative;background:#fff;border-radius:22px;width:min(440px,100%);padding:34px 26px 24px;text-align:center;box-shadow:0 24px 70px -18px rgba(15,23,42,.45);animation:spfPop .3s cubic-bezier(.16,1,.3,1);overflow:hidden}
.spf-pop__box::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--spf-accent,#111),color-mix(in srgb,var(--spf-accent,#111) 45%,#6366f1))}
.spf-pop__box h3{margin:0 0 8px;font-size:24px;line-height:1.2;letter-spacing:-.4px}
.spf-pop__box p{margin:0 0 16px;opacity:.8}
.spf-pop__row{display:flex;flex-direction:column;gap:10px}
.spf-pop__row input[type=email]{padding:13px 14px;border:1.5px solid #d1d5db;border-radius:12px;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}
.spf-pop__row input[type=email]:focus{border-color:var(--spf-accent,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.15);outline:none}
.spf-pop__row .spf-btn{padding:14px;font-size:15px}
.spf-pop__row .spf-btn.is-loading{opacity:.6;pointer-events:none}
.spf-pop__msg{display:block;margin-top:8px;color:#b91c1c;min-height:0}
.spf-pop__msg:empty{display:none}
.spf-pop__fine{display:block;margin-top:10px;font-size:11px;opacity:.55}
.spf-pop__code{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;padding:12px 14px;border:2px dashed var(--spf-accent,#111);border-radius:12px;background:#fafafa}
.spf-pop__code code{font-size:20px;font-weight:800;letter-spacing:.05em;background:none}
.spf-pop__code button{border:0;background:var(--spf-accent,#111);color:var(--spf-accent-text,#fff);padding:8px 14px;border-radius:8px;font-weight:700;cursor:pointer;transition:opacity .15s ease}
.spf-pop__code button:hover{opacity:.9}
.spf-pop__code button:focus-visible,.spf-pop .spf-btn:focus-visible,.spf-sizelink:focus-visible,.spf-px:focus-visible,.spf-rphotos a:focus-visible{outline:2px solid var(--spf-accent,#2563eb);outline-offset:2px}
@keyframes spfPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .spf-pop__box,.spf-t5,.spf-modal{animation:none!important;transition:none!important}
}

/* ---------- Toast ---------- */
.spf-t5{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:#111;color:#fff;padding:10px 18px;border-radius:99px;font-size:13px;z-index:100009;opacity:0;visibility:hidden;transition:all .25s;max-width:90vw;text-align:center}
.spf-t5.is-on{opacity:1;visibility:visible;transform:translate(-50%,0)}
