.saved-modal{max-height:calc(100dvh - 32px);overflow:auto}.vz-checkout{border-top:1px solid #ffffff25;margin-top:20px;padding-top:18px}.vz-checkout label{display:block;font-size:13px;margin:13px 0;color:#dedee5}.vz-checkout input:not([type=radio]),.vz-checkout select{display:block;width:100%;box-sizing:border-box;background:#17171e;color:#fff;border:1px solid #ffffff30;border-radius:10px;padding:13px;margin-top:7px;font:inherit;font-size:16px}.vz-methods{border:0;padding:0;margin:0}.vz-methods legend{font-size:13px;color:#aaaab4}.vz-methods label{border:1px solid #ffffff30;border-radius:10px;padding:14px;cursor:pointer}.vz-methods label:has(input:checked){border-color:#de956a;background:#de956a15}.vz-hint{font-size:12px;color:#a7a7b1}.vz-total{font-size:14px;line-height:1.6;padding:14px 0}.vz-order-button{width:100%;min-height:48px;padding:14px;border-radius:12px;border:0;background:#efae86;color:#161616;font-weight:700;font-size:15px;cursor:pointer}.vz-order-button:disabled{opacity:.45;cursor:default}#vzCheckoutError{color:#ff9a9a;font-size:13px}#vzOrderSuccess{line-height:1.6;padding:16px;border:1px solid #89ca9660;border-radius:12px;color:#c1e9c7}#vzDeliveryFields[hidden],#vzPickupFields[hidden],#vzCheckoutForm[hidden],#vzOrderSuccess[hidden]{display:none!important}

/* Cart layout — one authoritative responsive implementation. */
#cartOverlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  width: 100vw !important;
  height: 100dvh !important;
  box-sizing: border-box;
  padding: 24px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, rgba(7, 8, 13, .94), rgba(16, 13, 19, .97));
  backdrop-filter: blur(14px);
}

#cartOverlay.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#cartOverlay:not(.hidden) {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#cartOverlay > .vz-cart-modal {
  position: fixed !important;
  left: 50vw !important;
  top: 50vh !important;
  transform: translate(-50%, -50%) !important;
  width: min(920px, calc(100vw - 48px)) !important;
  height: min(840px, calc(100dvh - 48px)) !important;
  max-height: calc(100dvh - 48px) !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 28px 34px !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
  border: 1px solid rgba(239, 174, 134, .25);
  border-radius: 24px;
  background: linear-gradient(155deg, #171923 0%, #101119 100%);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
}

#cartOverlay .modal-header {
  flex: 0 0 auto;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}

#cartOverlay .modal-header h2 {
  margin: 0;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .02em;
}

#cartOverlay .modal-header h2::before {
  content: '🛒 ';
  font-size: .75em;
}

#cartOverlay .modal-header button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  cursor: pointer;
  transition: background .2s, color .2s, transform .2s;
}

#cartOverlay .modal-header button:hover {
  color: #efae86;
  background: rgba(239, 174, 134, .13);
  transform: rotate(90deg);
}

#cartOverlay .vz-cart-items {
  flex: 0 1 auto;
  max-height: 180px;
  padding: 18px 2px 4px;
  overflow: auto;
}

#cartOverlay .vz-cart-items:empty {
  display: none;
}

#cartOverlay .vz-cart-items > p {
  margin: 0;
  padding: 26px 12px;
  text-align: center;
  color: #999ba8;
  font-size: 14px;
}

#cartOverlay .saved-entry {
  margin: 0 0 10px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  background: linear-gradient(110deg, #202331, #191b26);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .1);
}

#cartOverlay .saved-entry span {
  color: #f5f3f1;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

#cartOverlay .saved-entry button {
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 10px;
  color: #c9c9d1;
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
}

#cartOverlay .vz-checkout {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 18px;
  padding: 20px 18px 18px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background: #0c0e15;
}

#cartOverlay .vz-checkout h3 {
  flex: 0 0 auto;
  margin: 0 0 13px;
}

#cartOverlay #vzCheckoutForm {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#cartOverlay .vz-checkout-scroll {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 3px 4px 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

#cartOverlay .vz-methods label {
  border-color: rgba(255, 255, 255, .1);
  background: #161924;
  transition: border-color .2s, background .2s, box-shadow .2s;
}

#cartOverlay .vz-methods label:has(input:checked) {
  border-color: #efae86;
  background: linear-gradient(100deg, rgba(239, 174, 134, .13), rgba(239, 174, 134, .03));
  box-shadow: 0 0 0 1px rgba(239, 174, 134, .18);
}

#cartOverlay .vz-checkout input:not([type=radio]),
#cartOverlay .vz-checkout select {
  padding: 14px;
  border-color: rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: #11131b;
}

#cartOverlay .vz-checkout input:not([type=radio]):focus,
#cartOverlay .vz-checkout select:focus {
  outline: none;
  border-color: #efae86;
  box-shadow: 0 0 0 3px rgba(239, 174, 134, .13);
}

#cartOverlay #vzDeliveryFields[hidden],
#cartOverlay #vzPickupFields[hidden],
#cartOverlay #vzDeliveryCustomerFields[hidden],
#cartOverlay #vzCheckoutForm[hidden],
#cartOverlay #vzOrderSuccess[hidden] {
  display: none !important;
}

#cartOverlay .vz-total {
  padding: 15px 2px;
  color: #fff;
  font-size: 16px;
  font-weight: 750;
}

#cartOverlay #vzCheckoutError {
  min-height: 18px;
  margin: 0;
}

#cartOverlay #vzCheckoutSubmit {
  position: static !important;
  flex: 0 0 auto;
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  min-height: 58px;
  margin: 14px 0 0 !important;
  border: 0;
  border-radius: 14px;
  color: #171218;
  background: linear-gradient(135deg, #ffc292, #e58d62);
  box-shadow: 0 10px 24px rgba(233, 149, 105, .25);
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  transform: none !important;
}

#cartOverlay #vzCheckoutSubmit:not(:disabled):hover {
  filter: brightness(1.05);
  box-shadow: 0 14px 30px rgba(233, 149, 105, .35);
}

@media (max-width: 680px) {
  #cartOverlay {
    padding: 0 !important;
  }

  #cartOverlay > .vz-cart-modal {
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 16px 14px calc(14px + env(safe-area-inset-bottom)) !important;
    border: 0;
    border-radius: 0;
  }

  #cartOverlay .modal-header {
    padding-bottom: 13px;
  }

  #cartOverlay .modal-header h2 {
    font-size: 24px;
  }

  #cartOverlay .vz-cart-items {
    max-height: 23dvh;
    padding-top: 12px;
  }

  #cartOverlay .saved-entry {
    padding: 13px;
  }

  #cartOverlay .vz-checkout {
    margin-top: 12px;
    padding: 15px 13px 12px;
    border-radius: 16px;
  }

  #cartOverlay .vz-checkout h3 {
    margin-bottom: 9px;
    font-size: 18px;
  }

  #cartOverlay #vzCheckoutSubmit {
    min-height: 56px;
    margin-top: 10px !important;
    font-size: 15px;
  }
}
