#food_selector.modal,
#new_home_delivery_fail.modal,
#delivery_fail_note.modal,
#checkout_form.modal,
.checkout_note.modal {
  z-index: 1;
  position: absolute;
  background: #fff;
  right: 70px;
  top: -40px;
  border: solid 1px #c5bfbf;
  border-radius: 5px;
}

#new_home_delivery_fail .arrow,
#delivery_fail_note .arrow,
#checkout_form .arrow {
  position: absolute;
  display: block;
  right: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
  top: 34px;
}

.checkout_note.modal .left_arrow {
  position: absolute;
  display: block;
  left: calc((0.5rem + 1px) * -1);
  width: 0.5rem;
  height: 1rem;
  margin: 0.3rem 0;
  top: 34px;
  transform: rotateY(180deg);
}

#new_home_delivery_fail .arrow::before,
#delivery_fail_note .arrow::before,
#checkout_form .arrow::before,
.checkout_note.modal .arrow::before {
  left: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  position: absolute;
  display: block;
  content: "";
  border-color: #0000;
  border-left-color: #00000040;
  border-style: solid;
}

.checkout_note.modal .left_arrow::before {
  left: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  position: absolute;
  display: block;
  content: "";
  border-color: #0000;
  border-left-color: #00000040;
  border-style: solid;
}

#new_home_delivery_fail .arrow::after,
#delivery_fail_note .arrow::after,
#checkout_form .arrow::after,
.checkout_note.modal .arrow::after {
  left: -1px;
  position: absolute;
  display: block;
  content: "";
  border-color: #0000;
  border-left-color: #fff;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.5rem;
}

.checkout_note.modal .left_arrow::after {
  left: -1px;
  position: absolute;
  display: block;
  content: "";
  border-color: #0000;
  border-left-color: #fff;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.5rem;
}

#osm_confirm_modal {
  --osm-bg: #ffffff;
  --osm-border: #c5bfbf;
  --osm-shadow: rgba(0, 0, 0, 0.25);
  --osm-address-bg: #f5f5f5;
  --osm-address-border: #ddd;
  --osm-confirm-bg: var(--cumac-green);
  --osm-confirm-text: #ffffff;
  --osm-cancel-bg: #f0f0f0;
  --osm-cancel-border: #bbb;
  --osm-cancel-text: #333333;
  --osm-heading: #333333;

  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 200;
  background: var(--osm-bg);
  border: solid 1px var(--osm-border);
  border-radius: 8px;
  padding: 24px 28px;
  box-shadow: 0 4px 20px var(--osm-shadow);
  min-width: 380px;
  max-width: 500px;
}

#osm_confirm_modal h4 {
  margin: 0 0 14px;
  color: var(--osm-heading);
  font-size: 1.05rem;
}

#osm_confirm_modal .osm_address {
  background: var(--osm-address-bg);
  border: 1px solid var(--osm-address-border);
  border-radius: 4px;
  padding: 8px 12px;
  margin: 8px 0 14px;
  font-family: monospace;
}

#osm_confirm_modal .osm_actions {
  display: flex;
  gap: 12px;
  margin-top: 18px;
  justify-content: space-around;
}

#osm_confirm_modal .osm_confirm_btn {
  background: var(--osm-confirm-bg);
  color: var(--osm-confirm-text);
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 0.9rem;
}

#osm_confirm_modal .osm_cancel_btn {
  background: var(--osm-cancel-bg);
  color: var(--osm-cancel-text);
  border: 1px solid var(--osm-cancel-border);
  border-radius: 8px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 0.9rem;
}

.modal_close {
  cursor: pointer;
  position: absolute;
  background-image: url("/assets/close_x-3faf0b77.png");
  width: 30px;
  height: 30px;
  opacity: 0.4;
}

.title {
  font-size: 14pt;
  color: var(--cumac-blue);
  margin-top: 12px;
  margin-bottom: 12px;
  text-align: center;
}

#checkout_form h2 {
  text-align: center;
}

