.zfwc-stock-reservation { position: fixed; z-index: 9997; right: 18px; bottom: 18px; display: flex; align-items: center; width: min(365px,calc(100vw - 36px)); min-height: 94px; gap: 10px; padding: 10px 13px 10px 9px; border: 1px solid #e2cbd3; border-radius: 18px; background: rgba(255,250,251,.97); box-shadow: 0 18px 48px rgba(61,19,35,.22); color: #401322; }
.zfwc-stock-reservation > img { align-self: flex-end; width: 58px; height: 76px; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 7px 7px rgba(55,13,28,.16)); pointer-events: none; }
.zfwc-stock-reservation__copy { display: grid; min-width: 0; gap: 1px; }
.zfwc-stock-reservation__copy > span { color: #791f3d; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.zfwc-stock-reservation__copy strong { font-size: 27px; line-height: 1.05; letter-spacing: .03em; }
.zfwc-stock-reservation__copy small { color: #735d64; font-size: 11px; line-height: 1.35; }
.zfwc-stock-reservation__extend { margin-left: auto; flex: 0 0 auto; min-height: 36px; padding: 8px 11px; border: 0; border-radius: 999px; background: #6a122f; color: #fff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.zfwc-stock-reservation__extend:hover,.zfwc-stock-reservation__extend:focus { background: #4d0920; }
.zfwc-stock-reservation__extend:disabled { opacity: .58; cursor: wait; }
.zfwc-stock-reservation__error { position: absolute; right: 12px; bottom: -31px; max-width: calc(100% - 24px); padding: 6px 9px; border-radius: 8px; background: #7c1c2f; color: #fff; font-size: 10px; line-height: 1.25; box-shadow: 0 5px 15px rgba(58,10,23,.2); }
.zfwc-stock-reservation.is-expired { border-color: #d7b77b; background: #fffaf0; }
.zfwc-stock-reservation-dialog[hidden] { display: none !important; }
.zfwc-stock-reservation-dialog { position: fixed; z-index: 9999; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(31,16,22,.46); }
.zfwc-stock-reservation-dialog__card { display: grid; grid-template-columns: 112px minmax(0,1fr); width: min(560px,100%); gap: 16px; padding: 24px; border-radius: 22px; background: #fff; box-shadow: 0 28px 80px rgba(28,8,16,.35); color: #39111f; }
.zfwc-stock-reservation-dialog__card > img { width: 100%; height: 164px; align-self: end; object-fit: contain; object-position: bottom center; filter: drop-shadow(0 10px 10px rgba(55,13,28,.17)); pointer-events: none; }
.zfwc-stock-reservation-dialog__card p { margin: 0 0 8px; color: #725862; font-size: 13px; line-height: 1.5; }
.zfwc-stock-reservation-dialog__card > div > p:first-child { color: #791f3d; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.zfwc-stock-reservation-dialog h2 { margin: 0 0 8px; font-size: 25px; line-height: 1.14; }
.zfwc-stock-reservation-dialog__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.zfwc-stock-reservation-dialog__actions .zfwc-stock-reservation__extend { margin-left: 0; }
.zfwc-stock-reservation__dismiss { min-height: 36px; padding: 8px 11px; border: 1px solid #ddcbd1; border-radius: 999px; background: #fff; color: #5e3341; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.zfwc-checkout-stock-notice { margin: 22px 0; padding: 20px; border: 1px solid #dfbd78; border-radius: 15px; background: #fff9ed; color: #4d3511; }
.zfwc-checkout-stock-notice strong { display: block; margin-bottom: 6px; font-size: 17px; }
.zfwc-checkout-stock-notice p { margin: 8px 0; }
.zfwc-checkout-stock-notice ul { margin: 8px 0 12px 20px; }
.zfwc-checkout-stock-notice label { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; font-weight: 700; line-height: 1.42; }
.zfwc-checkout-stock-notice input { flex: 0 0 auto; margin-top: 3px; }
@media (max-width: 600px) { .zfwc-stock-reservation { right: 10px; bottom: 10px; width: calc(100vw - 20px); min-height: 80px; padding: 7px 10px 7px 6px; border-radius: 15px; } .zfwc-stock-reservation > img { width: 49px; height: 64px; } .zfwc-stock-reservation__copy strong { font-size: 23px; } .zfwc-stock-reservation__copy small { font-size: 10px; } .zfwc-stock-reservation__extend { padding: 8px 10px; font-size: 10px; } .zfwc-stock-reservation-dialog__card { grid-template-columns: 80px minmax(0,1fr); gap: 10px; padding: 18px; } .zfwc-stock-reservation-dialog__card > img { height: 130px; } .zfwc-stock-reservation-dialog h2 { font-size: 21px; } }
