.c24-restock-layer[hidden], .c24-restock-toast[hidden] { display: none !important; }
.c24-restock-layer { position: fixed; inset: 0; z-index: 120000; display: grid; place-items: center; padding: 18px; font-family: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.c24-restock-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(17, 17, 17, .62); backdrop-filter: blur(7px); cursor: default; }
.c24-restock-dialog { position: relative; z-index: 1; width: min(100%, 520px); max-height: calc(100dvh - 36px); overflow: auto; box-sizing: border-box; padding: 30px; border: 1px solid rgba(255, 189, 89, .5); border-radius: 24px; background: #fffdf9; color: #171717; box-shadow: 0 28px 90px rgba(0, 0, 0, .3); }
.c24-restock-close { position: absolute; top: 12px; right: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f3eee5; color: #171717; cursor: pointer; font-size: 25px; line-height: 1; }
.c24-restock-kicker { display: inline-flex; margin: 0 0 11px; padding: 6px 10px; border-radius: 999px; background: #ffbd59; color: #171717; font-size: 11px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
.c24-restock-dialog h2 { max-width: 430px; margin: 0 36px 10px 0; color: #111; font-size: clamp(23px, 4vw, 31px); line-height: 1.12; letter-spacing: -.035em; }
.c24-restock-dialog > p { margin: 0 0 22px; color: #5d574f; font-size: 14px; line-height: 1.6; }
.c24-restock-dialog > p strong { color: #171717; }
.c24-restock-field { display: grid; gap: 7px; margin-bottom: 15px; color: #25211c; font-size: 12px; font-weight: 750; }
.c24-restock-field input { width: 100%; height: 50px; box-sizing: border-box; padding: 0 14px; border: 1px solid #cfc6b8; border-radius: 12px; background: #fff; color: #171717; font: inherit; font-size: 16px; outline: none; }
.c24-restock-field input:focus { border-color: #c96c00; box-shadow: 0 0 0 3px rgba(255, 189, 89, .28); }
.c24-restock-check { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; margin: 12px 0; color: #4f4a43; font-size: 11px; line-height: 1.5; cursor: pointer; }
.c24-restock-check input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: #c96c00; }
.c24-restock-check a { color: #6f3d00; text-decoration: underline; }
.c24-restock-check--marketing { padding: 12px; border: 1px solid #e6ded2; border-radius: 12px; background: #f8f4ed; }
.c24-restock-submit { width: 100%; min-height: 50px; margin-top: 8px; border: 1px solid #ff9f1a; border-radius: 12px; background: #ff9f1a; color: #17120a; cursor: pointer; font: inherit; font-size: 13px; font-weight: 850; }
.c24-restock-submit:hover, .c24-restock-submit:focus-visible { background: #ffbd59; border-color: #c96c00; outline: none; }
.c24-restock-submit:disabled { cursor: wait; opacity: .68; }
.c24-restock-status { min-height: 20px; margin: 12px 0 0; color: #5d574f; font-size: 12px; line-height: 1.5; }
.c24-restock-status.is-error { color: #a52222; }
.c24-restock-status.is-success { color: #236532; }
.c24-restock-toast { position: fixed; z-index: 120001; right: 18px; bottom: 18px; max-width: min(390px, calc(100vw - 36px)); box-sizing: border-box; padding: 14px 17px; border: 1px solid rgba(255, 189, 89, .65); border-radius: 12px; background: #171717; color: #fff; box-shadow: 0 15px 45px rgba(0,0,0,.25); font: 650 13px/1.45 Montserrat, sans-serif; }
.c24-restock-trigger { pointer-events: auto !important; cursor: pointer !important; opacity: 1 !important; background: #171717 !important; border-color: #171717 !important; color: #fff !important; }
.c24-restock-trigger:hover, .c24-restock-trigger:focus-visible { background: #ffbd59 !important; border-color: #c96c00 !important; color: #171717 !important; }
.c24-restock-only .cp-order-mode, .c24-restock-only [data-cp-interval], .c24-restock-only .cp-purchase-row .cp-qty { display: none !important; }
.c24-restock-only .cp-purchase-row { grid-template-columns: 1fr !important; }
body.c24-restock-open { overflow: hidden; }
@media (max-width: 600px) {
  .c24-restock-layer { align-items: end; padding: 10px; }
  .c24-restock-dialog { width: 100%; max-height: calc(100dvh - 20px); padding: 25px 20px 22px; border-radius: 20px; }
  .c24-restock-dialog h2 { font-size: 24px; }
  .c24-restock-toast { right: 10px; bottom: 10px; max-width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) { .c24-restock-layer, .c24-restock-dialog { scroll-behavior: auto; } }
