.dp-product-ordering {
  margin: 28px 0 0;
  padding: 18px 18px 14px;
  border: 1px solid #dfe7f2;
  border-radius: 12px;
  background: #eef3f9;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
  color: #1d2e4a;
  font-family: Arial, Helvetica, sans-serif;
}

.dp-product-ordering__header {
  margin-bottom: 18px;
}

.dp-product-ordering__header h2 {
  margin: 0 0 6px;
  font-size: clamp(28px, 2.2vw, 38px);
  line-height: 1.2;
  font-weight: 800;
  color: #0f172a;
}

.dp-product-ordering__header p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #4f5f7a;
}

.dp-product-ordering__products-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  margin-bottom: 28px;
}

.dp-product-ordering__product {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 12px 10px;
  background: #f8fafc;
  border: 1px solid #dfe7f2;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(19, 53, 99, 0.04);
  width: 100%;
  min-height: 100%;
}

.dp-product-ordering__image-wrap {
  overflow: hidden;
  border-radius: 10px;
  background: #eceff5;
  border: 1px solid #e4eaf3;
  aspect-ratio: 1.35 / 1;
}

.dp-product-ordering__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dp-product-ordering__product h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  color: #1d2d4c;
  font-weight: 800;
}

.dp-product-ordering__product p {
  margin: 0;
  color: #586f8d;
  font-size: 12px;
  line-height: 1.45;
}

.dp-product-ordering__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.dp-product-ordering__price-wrap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}

.dp-product-ordering__meta strong {
  font-size: 18px;
  line-height: 1;
  color: #1f2d4d;
}

.dp-product-ordering__unit {
  font-size: 12px;
  color: #516a90;
  font-weight: 600;
}

.dp-product-ordering__stock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 9px;
  background: #eafaf0;
  color: #0f8a4b;
  border: 1px solid #bfe9cb;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.dp-product-ordering__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.dp-product-ordering__qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #d0dcea;
  border-radius: 8px;
  background: #fff;
  color: #1d3b6d;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.dp-product-ordering__qty-value {
  width: 20px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #1d2d4d;
}

.dp-product-ordering__add,
.dp-product-ordering__submit {
  cursor: pointer;
  border: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #10a56b, #0c8c58);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(15, 150, 96, 0.15);
}

.dp-product-ordering__add {
  flex: 1;
  min-height: 34px;
  font-size: 12px;
  padding: 0 10px;
}

.dp-product-ordering__checkout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: start;
}

.dp-product-ordering__order,
.dp-product-ordering__customer {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #dfe7f2;
  border-radius: 12px;
  padding: 14px 14px 12px;
}

.dp-product-ordering__order h3,
.dp-product-ordering__customer h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 800;
  color: #182d4a;
}

.dp-product-ordering__items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 62px;
}

.dp-product-ordering__item {
  display: grid;
  grid-template-columns: 52px 1fr auto auto;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #edf2f9;
}

.dp-product-ordering__item img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #e3ebf6;
}

.dp-product-ordering__item h4 {
  margin: 0;
  font-size: 14px;
  color: #1e385d;
}

.dp-product-ordering__item small {
  color: #61799b;
}

.dp-product-ordering__item-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e3f6;
  border-radius: 8px;
  overflow: hidden;
}

.dp-product-ordering__item-qty button {
  width: 22px;
  height: 22px;
  border: none;
  background: #f5f9ff;
  color: #214d93;
  font-size: 18px;
  cursor: pointer;
}

.dp-product-ordering__item-qty span {
  width: 22px;
  text-align: center;
  color: #1d2d4d;
  font-weight: 700;
}

.dp-product-ordering__item-price {
  min-width: 60px;
  text-align: right;
  font-weight: 700;
  color: #1b3b70;
}

.dp-product-ordering__remove-item {
  border: none;
  background: transparent;
  color: #d75a5a;
  font-size: 18px;
  cursor: pointer;
}

.dp-product-ordering__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
  padding: 12px 10px;
  background: #ebf9f0;
  border: 1px solid #cfead8;
  border-radius: 10px;
  color: #0f6a3c;
  font-size: 14px;
}

.dp-product-ordering__total strong {
  font-size: 24px;
  color: #0d7d45;
}

.dp-product-ordering__customer {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dp-product-ordering__customer--hidden {
  display: none;
}

.dp-product-ordering__customer-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px;
  width: 100%;
}

.dp-product-ordering__customer-row > label,
.dp-product-ordering__customer > label {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px;
  font-size: 14px;
  color: #1a2d4d;
  font-weight: 700;
  margin: 0;
  width: 100%;
}

.dp-product-ordering__customer > label > span:first-child em,
.dp-product-ordering__customer-row > label > span:first-child em {
  color: #e32027;
  font-style: normal;
}

.dp-product-ordering__customer > label > span:first-child small {
  color: #1a2d4d;
  font-size: inherit;
  font-weight: 400;
}

.dp-product-ordering__field-shell {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  border: 1px solid #d0ddea;
  border-radius: 10px;
  background: #fff;
  padding: 0 12px;
  box-sizing: border-box;
}

.dp-product-ordering__field-shell:focus-within,
.dp-product-ordering__phone-wrap:focus-within {
  border-color: #8bbcff;
  box-shadow: 0 0 0 3px rgba(42, 126, 232, 0.12);
}

.dp-product-ordering__field-shell--textarea {
  min-height: 88px;
  align-items: flex-start;
  padding-top: 10px;
  padding-bottom: 10px;
}

.dp-product-ordering__field-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  font-size: 18px;
  opacity: 0.8;
  flex-shrink: 0;
}

.dp-product-ordering__field-icon--phone {
  font-size: 16px;
}

.dp-product-ordering__customer input,
.dp-product-ordering__customer textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 32px;
  border: none;
  background: transparent;
  outline: none;
  box-shadow: none;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #1d2d4d;
  margin: 0;
}

.dp-product-ordering__customer textarea {
  min-height: 64px;
  resize: vertical;
}

.dp-product-ordering__phone-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d0ddea;
  border-radius: 10px;
  background: #fff;
  min-height: 48px;
  padding: 0 12px;
  box-sizing: border-box;
}

.dp-product-ordering__phone-wrap strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  background: #edf3ff;
  border-radius: 6px;
  color: #1b3d6f;
  font-size: 14px;
  padding: 0 8px;
}

.dp-product-ordering__phone-wrap input {
  border: none;
  min-height: 32px;
  border-radius: 0;
  box-shadow: none;
  flex: 1;
}

.dp-product-ordering__field-help {
  display: block;
  margin-top: -2px;
  color: #71809d;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}

.dp-product-ordering__radios {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px;
  margin-top: 2px;
}

.dp-product-ordering__customer > label:last-of-type,
.dp-product-ordering__customer > label:nth-last-child(2) {
  width: 100%;
}

.dp-product-ordering__customer > label:last-of-type .dp-product-ordering__field-shell,
.dp-product-ordering__customer > label:last-of-type .dp-product-ordering__field-shell--textarea {
  width: 100%;
}

.dp-product-ordering__option {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 14px 16px;
  border: 1px solid #d3dfef;
  border-radius: 12px;
  background: #f7faff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.dp-product-ordering__option input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #0a76d8;
}

.dp-product-ordering__option--selected {
  border-color: #1b6fe4;
  background: #edf5ff;
  box-shadow: inset 0 0 0 1px rgba(27, 111, 228, 0.15);
}

.dp-product-ordering__option-icon {
  font-size: 26px;
  line-height: 1;
}

.dp-product-ordering__option-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #1d2d4d;
}

.dp-product-ordering__option-copy strong {
  font-size: 15px;
  font-weight: 800;
}

.dp-product-ordering__option-copy small {
  font-size: 12px;
  color: #59729a;
  font-weight: 600;
}

.dp-product-ordering__option input,
.dp-product-ordering__option-icon,
.dp-product-ordering__option-copy {
  pointer-events: none;
}

.dp-product-ordering__footer {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 18px;
  padding: 12px 12px 10px;
  border: 1px solid #dfeaf4;
  border-radius: 12px;
  background: #f7fafd;
}

.dp-product-ordering__footer p {
  margin: 0;
  flex: 1;
  color: #44618d;
  font-size: 13px;
  line-height: 1.5;
}

.dp-product-ordering__submit {
  padding: 14px 26px;
  min-width: 220px;
  font-size: 16px;
}

@media (max-width: 980px) {
  .dp-product-ordering__products-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .dp-product-ordering {
    padding: 16px 12px;
  }

  .dp-product-ordering__products-list {
    grid-template-columns: 1fr;
  }

  .dp-product-ordering__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .dp-product-ordering__submit {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .dp-product-ordering__customer-row,
  .dp-product-ordering__radios {
    grid-template-columns: 1fr !important;
  }
}
