/* Kane's Observations — shared product restock alert interface. */
:root{
  --ko-restock-ink:#17232b;
  --ko-restock-muted:#536874;
  --ko-restock-blue:#456f89;
  --ko-restock-blue-dark:#31566d;
  --ko-restock-line:#bdcbd3;
  --ko-restock-paper:#fffdf8;
  --ko-restock-ivory:#f5f1e8;
  --ko-restock-wash:#e8eff2;
  --ko-restock-danger:#9f3f35;
  --ko-restock-success:#2c6b55;
}

body.ko-restock-open{overflow:hidden}

.ko-restock-trigger{
  min-height:44px;
  border-color:var(--ko-restock-blue)!important;
  background:var(--ko-restock-paper)!important;
  color:var(--ko-restock-blue-dark)!important;
  cursor:pointer!important;
}
.ko-restock-trigger:hover,
.ko-restock-trigger:focus-visible{
  border-color:var(--ko-restock-blue-dark)!important;
  background:var(--ko-restock-wash)!important;
  outline:3px solid rgba(69,111,137,.22);
  outline-offset:2px;
}
.ko-restock-trigger:disabled{
  border-color:var(--ko-restock-line)!important;
  background:#edf1f2!important;
  color:#5c6c75!important;
  cursor:default!important;
  opacity:1!important;
}

.ko-restock-backdrop{
  position:fixed;
  z-index:6200;
  inset:0;
  background:rgba(15,28,36,.58);
  backdrop-filter:blur(3px);
}
.ko-restock-backdrop[hidden],
.ko-restock-modal[hidden],
.ko-restock-success[hidden],
.ko-restock-form[hidden]{display:none!important}

.ko-restock-modal{
  position:fixed;
  z-index:6210;
  top:50%;
  left:50%;
  width:min(520px,calc(100% - 32px));
  box-sizing:border-box;
  max-height:min(760px,calc(100dvh - 32px));
  overflow:auto;
  transform:translate(-50%,-50%);
  border:1px solid var(--ko-restock-line);
  border-radius:16px;
  background:linear-gradient(145deg,var(--ko-restock-paper),var(--ko-restock-ivory));
  color:var(--ko-restock-ink);
  box-shadow:0 28px 80px rgba(15,28,36,.32);
  padding:32px;
}
.ko-restock-close{
  position:absolute;
  top:14px;
  right:14px;
  display:grid;
  width:44px;
  height:44px;
  padding:0;
  place-items:center;
  border:1px solid var(--ko-restock-line);
  border-radius:50%;
  background:rgba(255,253,248,.9);
  color:var(--ko-restock-ink);
  font:400 28px/1 Arial,sans-serif;
  cursor:pointer;
}
.ko-restock-close:hover,
.ko-restock-close:focus-visible{background:var(--ko-restock-wash);outline:3px solid rgba(69,111,137,.24);outline-offset:2px}
.ko-restock-kicker{
  margin:0 54px 8px 0;
  color:var(--ko-restock-blue);
  font:800 10px/1.3 Arial,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.ko-restock-modal h2{
  margin:0 54px 10px 0;
  color:var(--ko-restock-ink);
  font:700 clamp(29px,5vw,40px)/1.05 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;
}
.ko-restock-intro{margin:0;color:var(--ko-restock-muted);font:400 15px/1.55 Arial,sans-serif}
.ko-restock-product{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin:22px 0;
  padding:12px;
  border:1px solid var(--ko-restock-line);
  border-radius:11px;
  background:rgba(255,255,255,.62);
}
.ko-restock-product-image{
  display:grid;
  width:74px;
  height:74px;
  overflow:hidden;
  place-items:center;
  border-radius:8px;
  background:var(--ko-restock-wash);
}
.ko-restock-product-image img{display:block;width:100%;height:100%;object-fit:contain}
.ko-restock-product-image img[hidden]{display:none}
.ko-restock-product strong{display:block;color:var(--ko-restock-ink);font:700 18px/1.25 Georgia,'Times New Roman',serif}
.ko-restock-product small{display:block;margin-top:6px;color:var(--ko-restock-muted);font:600 11px/1.4 Arial,sans-serif;letter-spacing:.02em}
.ko-restock-form{display:grid;gap:10px}
.ko-restock-form label{color:var(--ko-restock-ink);font:800 12px/1.3 Arial,sans-serif;letter-spacing:.04em}
.ko-restock-form input[type="email"]{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid #98acb7;
  border-radius:8px;
  background:#fff;
  color:var(--ko-restock-ink);
  padding:0 14px;
  font:400 16px/1.3 Arial,sans-serif;
}
.ko-restock-form input[type="email"]:focus{border-color:var(--ko-restock-blue);outline:3px solid rgba(69,111,137,.2);outline-offset:1px}
.ko-restock-form input[type="email"][readonly]{background:#eef2f3;color:#445862}
.ko-restock-honeypot{
  position:fixed!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ko-restock-email-note,
.ko-restock-fineprint{margin:0;color:var(--ko-restock-muted);font:400 12px/1.5 Arial,sans-serif}
.ko-restock-submit,
.ko-restock-success button,
.ko-restock-success a,
.ko-restock-unsubscribe-form button{
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid var(--ko-restock-blue-dark);
  border-radius:8px;
  background:var(--ko-restock-blue);
  color:#fff;
  padding:0 20px;
  font:800 11px/1.2 Arial,sans-serif;
  letter-spacing:.09em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
}
.ko-restock-submit:hover,
.ko-restock-submit:focus-visible,
.ko-restock-success button:hover,
.ko-restock-success button:focus-visible,
.ko-restock-success a:hover,
.ko-restock-success a:focus-visible,
.ko-restock-unsubscribe-form button:hover,
.ko-restock-unsubscribe-form button:focus-visible{background:var(--ko-restock-blue-dark);outline:3px solid rgba(69,111,137,.25);outline-offset:2px}
.ko-restock-submit:disabled,
.ko-restock-unsubscribe-form button:disabled{cursor:wait;opacity:.72}
.ko-restock-status{min-height:1.5em;margin:14px 0 0;color:var(--ko-restock-muted);font:700 13px/1.5 Arial,sans-serif}
.ko-restock-status.is-error{color:var(--ko-restock-danger)}
.ko-restock-status.is-success{color:var(--ko-restock-success)}
.ko-restock-success{display:grid;gap:12px;padding:8px 0 0}
.ko-restock-success strong{color:var(--ko-restock-success);font:700 25px/1.1 Georgia,'Times New Roman',serif}
.ko-restock-success p{margin:0;color:var(--ko-restock-muted);font:400 14px/1.55 Arial,sans-serif}
.ko-restock-success a,.ko-restock-success button{width:100%}
.ko-restock-success button{border-color:var(--ko-restock-line);background:transparent;color:var(--ko-restock-blue-dark)}

.ko-product-quick-restock{margin-top:12px}
.ko-product-quick-restock[hidden]{display:none!important}
.ko-product-quick-restock .ko-restock-trigger{width:100%}

.ko-restock-unsubscribe-page{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 12% 8%,rgba(111,145,164,.18),transparent 35%),
    linear-gradient(145deg,#f9f6ef,#e8eef1);
  color:var(--ko-restock-ink);
  font-family:Arial,sans-serif;
}
.ko-restock-unsubscribe-shell{width:min(680px,calc(100% - 32px));margin:0 auto;padding:80px 0}
.ko-restock-unsubscribe-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ko-restock-blue-dark);font-size:12px;font-weight:800;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}
.ko-restock-unsubscribe-brand-mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid #96aab6;border-radius:50%;background:#fffdf8;font:700 18px Georgia,serif}
.ko-restock-unsubscribe-card{margin-top:24px;border:1px solid var(--ko-restock-line);border-radius:16px;background:rgba(255,253,248,.94);padding:clamp(26px,6vw,50px);box-shadow:0 24px 60px rgba(29,49,60,.13)}
.ko-restock-unsubscribe-card .ko-restock-kicker{margin-right:0}
.ko-restock-unsubscribe-card h1{margin:8px 0 14px;color:var(--ko-restock-ink);font:700 clamp(34px,7vw,50px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.03em}
.ko-restock-unsubscribe-card>p{color:var(--ko-restock-muted);font:400 15px/1.65 Arial,sans-serif}
.ko-restock-unsubscribe-form{margin-top:24px}
.ko-restock-unsubscribe-form button{width:100%}
.ko-restock-unsubscribe-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}
.ko-restock-unsubscribe-links a{color:var(--ko-restock-blue-dark);font-size:13px;font-weight:800;text-underline-offset:4px}

@media(max-width:600px){
  .ko-restock-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:26px 18px 22px;border-radius:13px}
  .ko-restock-close{top:10px;right:10px;width:48px;height:48px}
  .ko-restock-kicker,.ko-restock-modal h2{margin-right:50px}
  .ko-restock-product{grid-template-columns:64px minmax(0,1fr);gap:11px;margin:18px 0;padding:10px}
  .ko-restock-product-image{width:64px;height:64px}
  .ko-restock-trigger,.ko-restock-submit,.ko-restock-success button,.ko-restock-success a,.ko-restock-unsubscribe-form button{min-height:48px}
  .ko-restock-unsubscribe-shell{width:calc(100% - 20px);padding:28px 0}
  .ko-restock-unsubscribe-card{padding:26px 20px}
}

@media(prefers-reduced-motion:reduce){
  .ko-restock-modal,.ko-restock-backdrop,.ko-restock-trigger{scroll-behavior:auto;transition:none!important}
}
