/* ==========================================================================
   Store launch (storefront side): password page, closed-store notice and the
   "Report this store" page. Uses the storefront tokens from shop.css.
   Prefix: .sl-
   ========================================================================== */

/* -- password page -------------------------------------------------------- */
.sl-gate-body{min-height:100vh;background:var(--sf-bg)}
.sl-gate{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  padding:32px var(--sf-gutter);
  background:linear-gradient(180deg,var(--sf-accent-soft) 0,var(--sf-bg) 55%);
}
.sl-gate__card{
  width:100%;max-width:440px;background:var(--sf-surface);border:1px solid var(--sf-border);border-radius:calc(var(--sf-radius) + 6px);
  box-shadow:var(--sf-shadow);padding:32px 28px 26px;text-align:center;
}
.sl-gate__brand{display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--sf-text);text-decoration:none;max-width:100%}
.sl-gate__name{font-family:var(--sf-display);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}
.sl-gate__logo{display:block;max-height:48px;width:auto;max-width:220px;object-fit:contain}
.sl-gate__lock{
  display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  background:var(--sf-accent-soft);color:var(--sf-accent-text);margin:0 auto 14px;
}
.sl-gate__card .sl-gate__title{font-size:1.45rem;line-height:1.25;margin:0 0 10px}
.sl-gate__card .sl-gate__message{margin:0 0 22px;color:var(--sf-muted);white-space:pre-line;overflow-wrap:anywhere}
.sl-gate__form{text-align:left}
.sl-gate__form .sf-field{margin-bottom:14px}
.sl-gate .sf-alert{text-align:left;margin-bottom:16px}
.sl-gate__owner,.sl-gate__foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 5px;color:var(--sf-muted)}
.sl-gate__owner{margin:14px 0 0;font-size:.88rem}
.sl-gate__foot{margin:0;font-size:.82rem}
.sl-gate__owner a,.sl-gate__foot a{display:inline-flex;align-items:center;min-height:44px;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:3px}
.sl-gate__brand{min-height:44px}
@media (max-width:420px){.sl-gate__card{padding:26px 18px 22px}}

/* -- closed-store notice (every storefront page while the store is closed) --- */
.sl-closed{background:#FFF6E5;color:#6A3B00;border-bottom:1px solid #F5D9A4;font-size:.92rem}
.sl-closed__in{display:flex;gap:10px;align-items:flex-start;max-width:var(--sf-max);margin:0 auto;padding:10px var(--sf-gutter)}
.sl-closed__in svg{flex:none;margin-top:3px}
.sl-closed__in p{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.sl-closed__in strong{font-weight:700}

/* -- demo store: the answer to "Place order" (templates/shop/demo_order.html.twig; no order is placed) -- */
.sl-demo-wrap{display:flex;justify-content:center}
.sl-demo{
  width:100%;max-width:600px;margin:8px auto 24px;padding:36px 32px 28px;text-align:center;
  background:var(--sf-surface,#fff);border:1px solid var(--sf-border,#e5e7eb);border-radius:calc(var(--sf-radius,12px) + 6px);
  box-shadow:var(--sf-shadow,0 10px 30px rgba(16,24,40,.08));
}
.sl-demo__badge{
  display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;
  background:var(--sf-accent-soft,#eef4ff);color:var(--sf-accent-text,#1d4ed8);
}
.sl-demo__eyebrow{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sf-accent-text,#1d4ed8)}
.sl-demo .sl-demo__title{margin:0 0 10px;font-size:1.7rem;line-height:1.2}
.sl-demo__lead{margin:0 0 6px;font-size:1.08rem}
.sl-demo__text{margin:0 auto 20px;max-width:46ch;color:var(--sf-muted,#4b5563)}
.sl-demo__total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 20px;padding:12px 16px;border:1px dashed var(--sf-border,#d0d5dd);border-radius:var(--sf-radius,10px);text-align:start}
.sl-demo__total dt{color:var(--sf-muted,#4b5563)}
.sl-demo__total dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.sl-demo__pitch{margin:0 0 24px;padding:16px 18px;border-radius:var(--sf-radius,10px);background:var(--sf-accent-soft,#f4f7ff);text-align:start}
.sl-demo__pitch-title{margin:0 0 8px;font-weight:600}
.sl-demo__list{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.sl-demo__list li{position:relative;padding-inline-start:26px}
.sl-demo__list li::before{content:"";position:absolute;inset-inline-start:4px;top:.45em;width:12px;height:7px;border-left:2px solid var(--sf-accent,#079B70);border-bottom:2px solid var(--sf-accent,#079B70);transform:rotate(-45deg)}
.sl-demo__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.sl-demo__actions .sf-btn{min-height:48px}
.sl-demo__back{margin:16px 0 0;font-size:.92rem}
.sl-demo__back a{display:inline-flex;align-items:center;min-height:44px;color:var(--sf-accent-text,#1d4ed8);text-decoration:underline;text-underline-offset:3px}
@media (max-width:480px){.sl-demo{padding:28px 18px 22px}.sl-demo__actions .sf-btn{width:100%}}

/* -- report this store ------------------------------------------------------- */
.sl-report{max-width:620px}
.sl-report .sf-heading{margin:0 0 12px}
.sl-report .sf-lede{color:var(--sf-muted);margin:0 0 22px}
.sl-report__reasons{border:0;margin:0 0 20px;padding:0;display:grid;gap:8px}
.sl-report__reasons legend{font-size:.88rem;font-weight:600;margin:0 0 8px;padding:0}
.sl-report__reason{
  display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:11px 14px;border:1px solid var(--sf-border);border-radius:var(--sf-radius);
  background:var(--sf-surface);cursor:pointer;
}
.sl-report__reason:hover{border-color:var(--sf-border-strong)}
.sl-report__reason input{width:20px;height:20px;margin-top:2px;accent-color:var(--sf-accent);flex:none}
.sl-report__reason b{display:block;font-weight:600}
.sl-report__reason span span{display:block;font-size:.86rem;color:var(--sf-muted)}
.sl-report__reason:has(input:checked){border-color:var(--sf-accent);background:var(--sf-accent-soft)}
.sl-report__reason:has(input:focus-visible){outline:2px solid var(--sf-accent);outline-offset:2px}
.sl-report__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sl-report__done{padding:22px;border:1px solid #ABEFC6;background:#ECFDF3;color:#05603A;border-radius:var(--sf-radius);margin-bottom:20px}
.sl-report__done h2{margin:0 0 6px;font-size:1.15rem;color:inherit}
.sl-report__done p{margin:0}
.sl-report .sl-report__note{font-size:.85rem;color:var(--sf-muted);margin:16px 0 0}
