/* =============================================================================
   Abordazh — CMS service pages (Доставка / Оплата / Контакти / Про магазин).
   Content is pasted in the page editor using these classes (no inline styles —
   HTMLPurifier strips them); all styling lives here and loads site-wide.
   ========================================================================== */
.abz-cms { color: #46564a; }

/* full-width banner image at the top */
.abz-cms__banner { margin: 0 0 clamp(22px, 3vw, 34px); }
.abz-cms__banner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}

/* intro lead paragraph */
.abz-cms__lead {
  max-width: 68ch;
  margin: 0 0 clamp(26px, 3.4vw, 42px);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.6;
  color: #38463a;
}

/* section heading */
.abz-cms__h {
  margin: 0 0 clamp(16px, 2vw, 22px);
  font-family: var(--font-head, system-ui, sans-serif);
  font-weight: 700;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.2;
  color: #051e05;
  text-wrap: balance;
}

/* ---- delivery-type cards: 2 per row ------------------------------------- */
.abz-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0 0 clamp(26px, 3.2vw, 40px);
}
.abz-card {
  background: #f5f7f5;
  border: 1px solid #e4eae4;
  border-radius: 14px;
  padding: clamp(18px, 2.2vw, 26px);
}
.abz-card__title {
  margin: 0 0 8px;
  font-family: var(--font-head, system-ui, sans-serif);
  font-weight: 700;
  font-size: clamp(16px, 1.3vw, 19px);
  color: #051e05;
}
.abz-card p {
  margin: 0;
  font-size: clamp(14px, 1vw, 15.5px);
  line-height: 1.55;
  color: #56655a;
}
@media (max-width: 575.98px) {
  .abz-cards { grid-template-columns: 1fr; }
}

/* ---- callout / important note (left accent only, no fill) --------------- */
.abz-note {
  margin: 0 0 clamp(30px, 3.6vw, 46px);
  padding: 2px 0 2px clamp(16px, 2vw, 22px);
  border-left: 4px solid #051e05;
}
.abz-note p {
  margin: 0;
  max-width: 78ch;
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.55;
  color: #38463a;
}

/* ---- FAQ panel (border only, no fill) ---------------------------------- */
.abz-faq {
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid #dde4dd;
  border-radius: 16px;
}
.abz-faq__title {
  margin: 0 0 clamp(14px, 1.8vw, 22px);
  font-family: var(--font-head, system-ui, sans-serif);
  font-weight: 700;
  font-size: clamp(19px, 1.8vw, 24px);
  color: #051e05;
}
.abz-faq__item {
  padding: clamp(12px, 1.4vw, 16px) 0;
  border-top: 1px solid #dde4dd;
}
.abz-faq__item:first-of-type { padding-top: 0; border-top: 0; }
.abz-faq__item:last-of-type { padding-bottom: 0; }
.abz-faq__q {
  margin: 0 0 6px;
  font-weight: 700;
  font-size: clamp(15px, 1.1vw, 17px);
  color: #051e05;
}
.abz-faq__a {
  margin: 0;
  font-size: clamp(14px, 1vw, 15.5px);
  line-height: 1.55;
  color: #56655a;
}


/* ---- contact page: the full-width layout would stretch the message form across
   the whole 1320 container; keep it at a readable width ------------------- */
.page-contact .contact-form {
  max-width: 720px;
  margin-top: clamp(24px, 3vw, 40px);
}

/* standalone body paragraph (About page intro) — keep a readable width */
.abz-cms__text {
  max-width: 74ch;
  margin: 0 0 clamp(22px, 2.8vw, 36px);
  font-size: clamp(15px, 1.1vw, 16.5px);
  line-height: 1.6;
  color: #46564a;
}

/* =============================================================================
   Quick order (abzquickorder) — single-page checkout + success
   ========================================================================== */
.abz-qo__h1 { margin: 0 0 clamp(16px, 2vw, 24px); font-family: var(--font-head, system-ui, sans-serif); font-weight: 700; font-size: clamp(26px, 3vw, 38px); line-height: 1.1; color: #051e05; }
.abz-qo__note { margin-bottom: clamp(24px, 3vw, 36px); }
.abz-qo__errors { list-style: none; margin: 0 0 20px; padding: 14px 18px; background: #fdecec; border: 1px solid #f3c6c6; border-radius: 10px; color: #a52222; }
.abz-qo__errors li { margin: 2px 0; }
.abz-qo__grid { display: grid; grid-template-columns: 1fr 360px; gap: clamp(24px, 3vw, 44px); align-items: start; }
@media (max-width: 800px) { .abz-qo__grid { grid-template-columns: 1fr; } }
.abz-qo__form { display: flex; flex-direction: column; gap: 16px; max-width: 560px; }
.abz-qo__field { display: flex; flex-direction: column; gap: 6px; }
.abz-qo__field label { font-weight: 600; font-size: 14px; color: #38463a; }
.abz-qo__field label span { color: #c0392b; }
.abz-qo__submit { margin-top: 10px; align-self: flex-start; }
.abz-qo__summary { background: #f5f7f5; border: 1px solid #e4eae4; border-radius: 14px; padding: clamp(18px, 2vw, 26px); }
.abz-qo__summary-title { margin: 0 0 14px; font-weight: 700; font-size: 18px; color: #051e05; }
.abz-qo__items { list-style: none; margin: 0 0 14px; padding: 0; }
.abz-qo__item { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; padding: 9px 0; border-bottom: 1px solid #e4eae4; font-size: 14px; color: #46564a; }
.abz-qo__item-qty { color: #6a776a; }
.abz-qo__item-price { font-weight: 600; color: #38463a; }
.abz-qo__total { display: flex; justify-content: space-between; padding-top: 12px; font-weight: 700; font-size: 17px; color: #051e05; }
.abz-qo__summary-note { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: #6a776a; }
/* success */
.abz-qo--done { text-align: center; }
.abz-qo__done { max-width: 640px; margin: 0 auto; padding-block: clamp(10px, 2vw, 24px); }
.abz-qo__check { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #051e05; color: #fff; font-size: 34px; line-height: 1; margin-bottom: 18px; }
.abz-qo__ref { margin: 0 0 22px; font-size: 18px; color: #38463a; }
.abz-qo__recap { max-width: 440px; margin: 0 auto 26px; text-align: left; }
.abz-qo__recap-row { display: flex; justify-content: space-between; gap: 16px; padding: 9px 0; border-bottom: 1px solid #e4eae4; }
.abz-qo__recap-row:last-child { border-bottom: 0; }
.abz-qo__recap-row span { color: #6a776a; }
.abz-qo__done-note { max-width: 60ch; margin: 0 auto 28px; line-height: 1.6; color: #46564a; }
.abz-qo__buttons { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
