.store-floating-cart { display: none; }
.store-route .site-header__cart { display: none; }
.store-route .store-floating-cart {
  position: fixed;
  z-index: 1000;
  left: max(20px, env(safe-area-inset-left));
  bottom: max(20px, env(safe-area-inset-bottom));
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #e3061b;
  color: #fff;
  box-shadow: 0 8px 24px rgb(21 25 30 / 24%);
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}
.store-route .store-floating-cart:hover { transform: translateY(-3px); background: #bd0719; }
.store-floating-cart > svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.store-floating-cart__count { position: absolute; top: -3px; right: -3px; display: grid; min-width: 21px; height: 21px; padding-inline: 4px; place-items: center; border: 2px solid #fff; border-radius: 99px; background: #15191e; color: #fff; font: 700 10px/1 Arial, sans-serif; box-sizing: content-box; }
.store-request-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(440px, 100%);
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-inline-start: 1px solid #e7e9ec;
  background: #fff;
  color: #15191e;
  box-shadow: -20px 0 60px #0002;
  overflow: hidden;
  overscroll-behavior: contain;
  flex-direction: column;
}
.store-request-dialog[open] { display: flex; animation: store-drawer-in .24s ease-out; }
.store-request-dialog::backdrop { background: #0f141b99; backdrop-filter: blur(3px); }
@keyframes store-drawer-in { from { transform: translateX(22px); opacity: .65; } to { transform: translateX(0); opacity: 1; } }
.store-request-dialog__head { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; flex: 0 0 auto; padding: 24px 24px 17px; border-bottom: 1px solid #e8eaed; background: #fff; }
.store-request-dialog__head .store-eyebrow { display: block; margin: 0 0 1px; color: #e3061b; font-size: 12px; font-weight: 800; }
.store-request-dialog__head .store-eyebrow::before, .store-request-dialog__head .store-eyebrow::after { display: none; }
.store-request-dialog__head h2 { margin: 0; font-size: 24px; font-weight: 900; }
.store-dialog-close { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid #e8eaed; border-radius: 50%; background: #fff; color: #515961; font-size: 24px; cursor: pointer; }
.store-request-dialog__body { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 0 24px; scrollbar-width: thin; scrollbar-color: #d91b2d #f0f1f3; }
.store-request-dialog__body::-webkit-scrollbar { width: 7px; }
.store-request-dialog__body::-webkit-scrollbar-track { border-radius: 99px; background: #f0f1f3; }
.store-request-dialog__body::-webkit-scrollbar-thumb { border: 2px solid #f0f1f3; border-radius: 99px; background: linear-gradient(180deg, #f02b3e, #c90017); }
.store-request-list { display: grid; gap: 9px; padding: 15px 0; }
.store-request-item { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px; border: 1px solid #eceef0; border-radius: 8px; }
.store-request-item > img { width: 56px; height: 48px; border-radius: 5px; object-fit: cover; }
.store-request-item h3 { margin: 0; font-size: 11px; font-weight: 900; }
.store-request-item small { color: #7b838b; font-size: 9px; }
.store-request-item__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 8px; margin-top: 5px; }
.store-request-item__prices span, .store-request-item__prices del, .store-request-item__prices small { font-size: 9px; }
.store-request-item__prices > b { color: #c90017; font-size: 10px; }
.store-request-item__prices > small { grid-column: 1 / -1; }
.store-request-quantity { display: flex; align-items: center; gap: 6px; }
.store-request-quantity button { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid #e6e8ea; border-radius: 5px; background: #fff; color: #343a40; font-size: 14px; cursor: pointer; }
.store-request-quantity span { min-width: 14px; text-align: center; font-size: 10px; font-weight: 900; }
.store-request-remove { grid-column: 2 / 4; justify-self: end; border: 0; background: none; color: #b22735; font-size: 9px; cursor: pointer; }
.store-request-empty { display: grid; justify-items: center; gap: 5px; padding: 35px 10px; color: #7b838b; text-align: center; }
.store-request-empty > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: #fff1f2; color: #e3061b; font-size: 23px; }
.store-request-empty p { margin: 4px 0 0; font-size: 12px; }
.store-request-empty a { color: #e3061b; font-size: 11px; font-weight: 900; text-decoration: none; }
.store-request-notes { display: grid; gap: 7px; margin: 12px 0 20px; color: #464d54; font-size: 10px; font-weight: 900; }
.store-request-notes textarea { width: 100%; min-height: 82px; padding: 10px; border: 1px solid #e4e6e8; border-radius: 7px; outline: none; font: inherit; font-size: 11px; resize: vertical; }
.store-request-notes textarea:focus { border-color: #e99aa3; box-shadow: 0 0 0 3px #e3061b12; }
.store-request-summary { display: grid; gap: 8px; padding: 14px; border-radius: 10px; background: #f7f8fa; }
.store-request-summary[hidden] { display: none; }
.store-request-summary h3 { margin: 0 0 3px; font-size: 12px; }
.store-request-summary > div { display: flex; align-items: center; justify-content: space-between; color: #626971; font-size: 11px; }
.store-request-summary__final { padding-top: 9px; border-top: 1px solid #e2e5e9; color: #15191e !important; font-weight: 900; }
.store-request-summary__final b { color: #c90017; font-size: 15px; }
.store-request-dialog__actions { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 12px; margin: 0; padding: 14px 24px 22px; border-top: 1px solid #e8eaed; background: #fff; }
.store-request-dialog__actions .store-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 13px; border: 1px solid #e3061b; border-radius: 7px; background: #e3061b; color: #fff; font-size: 10px; font-weight: 800; text-decoration: none; }
.store-request-dialog__actions .store-button:hover { transform: none; }
.store-request-dialog__actions .store-button[aria-disabled="true"] { pointer-events: none; opacity: .45; }
.store-request-dialog__actions .store-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.store-request-clear { border: 0; background: none; color: #858c92; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.store-request-clear:hover { color: #bb1727; }
@media (max-width: 700px) {
  .store-request-dialog__head { padding: 19px 19px 14px; }
  .store-request-dialog__body { padding-inline: 19px; }
  .store-request-dialog__actions { padding: 12px 19px 18px; }
  .store-request-dialog__actions { align-items: stretch; flex-direction: column-reverse; }
  .store-request-dialog__actions .store-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .store-request-dialog[open] { animation: none; } }
