/* ------------- Страница услуг: Кодирование методом Довженко ------------- */


/* ОБЩИЕ СТИЛИ */
.section-dovzhenko-intro-16001,
.section-dovzhenko-prep-27002,
.section-dovzhenko-contra-38003,
.section-dovzhenko-steps-49004,
.section-provocation-50005,
.section-comparison-dov-61006 {
  background-color: #FFFFFF;
  padding: 20px 0;
  font-family: system-ui, -apple-system, 'Inter', 'Roboto', sans-serif;
  color: #1F2937;
  line-height: 1.6;
}

@media (min-width: 1024px) {
  .section-dovzhenko-intro-16001, .section-dovzhenko-prep-27002, .section-dovzhenko-contra-38003, 
  .section-dovzhenko-steps-49004, .section-provocation-50005, .section-comparison-dov-61006 {
    padding: 10px 0;
  }
}

.container-16001, .container-27002, .container-38003, .container-49004, .container-50005, .container-61006 {
  max-width: 1200px; margin: 0 auto; padding: 0 16px;
}

/* ЗАГОЛОВКИ H2 */
.header-16001, .header-27002, .header-38003, .header-49004, .header-50005, .header-61006 {
  position: relative; margin-bottom: 32px; padding-bottom: 16px; display: flex; justify-content: center;
}
.title-16001, .title-27002, .title-38003, .title-49004, .title-50005, .title-61006 {
  font-size: 24px; font-weight: 800; line-height: 1.3; color: #1d503c; text-align: center; margin: 0; display: inline-flex; align-items: center; width: 100%;
}
@media (min-width: 1024px) {
  .title-16001, .title-27002, .title-38003, .title-49004, .title-50005, .title-61006 { font-size: 34px; }
}

.title-16001::before, .title-16001::after, .title-27002::before, .title-27002::after,
.title-38003::before, .title-38003::after, .title-49004::before, .title-49004::after,
.title-50005::before, .title-50005::after, .title-61006::before, .title-61006::after { content: ""; flex-grow: 1; height: 1px; }

.title-16001::before, .title-27002::before, .title-38003::before, .title-49004::before, .title-50005::before, .title-61006::before { background: linear-gradient(90deg, transparent, #d7dbd9); margin-right: 24px; }
.title-16001::after, .title-27002::after, .title-38003::after, .title-49004::after, .title-50005::after, .title-61006::after { background: linear-gradient(270deg, transparent, #d7dbd9); margin-left: 24px; }

.header-16001::after, .header-27002::after, .header-38003::after, .header-49004::after, .header-50005::after, .header-61006::after {
  content: ""; display: block; width: 64px; height: 4px; background-color: #cf5b54; margin: 16px auto 0; border-radius: 2px; position: absolute; left: 50%; transform: translateX(-50%); bottom: -16px;
}

/* КНОПКИ */
.btn-primary-27002, .btn-primary-61006 {
  display: inline-block; background-color: #cf5b54; color: #FFFFFF; font-size: 16px; font-weight: 800; font-family: system-ui, sans-serif; padding: 16px 32px; border: none; border-radius: 8px; cursor: pointer; transition: opacity 0.3s ease, transform 0.1s ease; text-align: center; width: 100%; max-width: 320px;
}
.btn-primary-27002:hover, .btn-primary-61006:hover { opacity: 0.9; }
.btn-primary-27002:active, .btn-primary-61006:active { transform: scale(0.98); }


/* =========================================
   Блок 1: Метод Довженко (Вводный)
   ========================================= */
.dovzhenko-layout-16001 { display: flex; flex-direction: column; gap: 32px; align-items: center; max-width: 1000px; margin: 0 auto; }
@media (min-width: 768px) { .dovzhenko-layout-16001 { flex-direction: row; } }
.dovzhenko-text-col-16001 { flex: 2; }
.dovzhenko-text-16001 { font-size: 16px; color: #1F2937; margin: 0 0 16px 0; }
.dovzhenko-text-16001 strong { color: #1d503c; font-weight: 800; }
.dovzhenko-graphic-col-16001 { flex: 1; display: flex; justify-content: center; width: 100%; }
.dovzhenko-graphic-box-16001 { background-color: #f7f9f7; border: 1px solid #E5E7EB; border-radius: 50%; width: 220px; height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); }
.dovzhenko-badge-16001 { position: absolute; bottom: -10px; background-color: #cf5b54; color: #FFFFFF; font-size: 14px; font-weight: 800; padding: 6px 16px; border-radius: 20px; white-space: nowrap; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }


/* =========================================
   Блок 2: Подготовка
   ========================================= */
.prep-warning-box-27002 { background-color: #fff9f8; border: 2px solid #cf5b54; border-radius: 12px; padding: 32px 24px; max-width: 800px; margin: 0 auto; box-shadow: 0 4px 6px rgba(207,91,84,0.1); }
.prep-warning-header-27002 { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; justify-content: center; }
.prep-warning-icon-27002 { width: 40px; height: 40px; background-color: #cf5b54; color: #FFFFFF; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.prep-warning-title-27002 { font-size: 20px; font-weight: 800; color: #cf5b54; margin: 0; text-transform: uppercase; }
.prep-warning-text-27002 { font-size: 16px; color: #1F2937; margin: 0 0 24px 0; text-align: center; }
.prep-warning-text-27002 strong { font-weight: 800; color: #1c3e2f; }
.prep-action-area-27002 { border-top: 1px dashed rgba(207,91,84,0.3); padding-top: 24px; text-align: center; }
.prep-action-text-27002 { font-size: 14px; color: #6f6f6f; margin: 0 0 16px 0; }


/* =========================================
   Блок 3: Противопоказания
   ========================================= */
.contra-intro-38003 { font-size: 16px; text-align: center; max-width: 800px; margin: 0 auto 32px; }
.contra-grid-38003 { display: flex; flex-direction: column; gap: 24px; max-width: 900px; margin: 0 auto 32px; }
@media (min-width: 640px) { .contra-grid-38003 { flex-direction: row; flex-wrap: wrap; justify-content: center; } }
.contra-card-38003 { background-color: #f3f4f6; border: 1px solid #E5E7EB; border-radius: 12px; padding: 24px; display: flex; gap: 16px; align-items: flex-start; flex: 1; min-width: 280px; max-width: 400px; }
.contra-icon-38003 { width: 48px; height: 48px; background-color: #FFFFFF; color: #cf5b54; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid #E5E7EB; }
.contra-title-38003 { font-size: 18px; font-weight: 800; color: #000000; margin: 0 0 8px 0; }
.contra-desc-38003 { font-size: 14px; color: #6f6f6f; margin: 0; }
.contra-footer-38003 { font-size: 14px; text-align: center; max-width: 800px; margin: 0 auto; font-weight: 800; color: #1d503c; }


/* =========================================
   Блок 4: Этапы проведения (Таймлайн)
   ========================================= */
.steps-intro-49004 { font-size: 16px; text-align: center; max-width: 800px; margin: 0 auto 48px; }
.steps-timeline-49004 { display: flex; flex-direction: column; gap: 0; max-width: 700px; margin: 0 auto; }
.step-item-49004 { display: flex; gap: 24px; position: relative; padding-bottom: 32px; }
.step-item--last-49004 { padding-bottom: 0; }
.step-num-49004 { flex-shrink: 0; width: 48px; height: 48px; background-color: #f7f9f7; border: 2px solid #347352; color: #347352; font-size: 20px; font-weight: 800; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; }
.step-item-49004:not(.step-item--last-49004)::after { content: ""; position: absolute; left: 23px; top: 48px; bottom: 0; width: 2px; background-color: #E5E7EB; z-index: 1; }
.step-content-49004 { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px 24px; flex-grow: 1; box-shadow: 0 2px 4px rgba(0,0,0,0.02); margin-top: -4px; }
.step-title-49004 { font-size: 18px; font-weight: 800; color: #1c3e2f; margin: 0 0 8px 0; }
.step-desc-49004 { font-size: 16px; color: #6f6f6f; margin: 0; }


/* =========================================
   Блок 5: Провокация
   ========================================= */
.provocation-layout-50005 { display: flex; flex-direction: column; gap: 32px; max-width: 1000px; margin: 0 auto; align-items: center; }
@media (min-width: 768px) { .provocation-layout-50005 { flex-direction: row; } }
.provocation-image-col-50005 { flex: 1; width: 100%; position: relative; }
.provocation-img-50005 { width: 100%; height: auto; border-radius: 12px; display: block; object-fit: cover; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }
.provocation-badge-50005 { position: absolute; top: 16px; right: 16px; background-color: #347352; color: #FFFFFF; font-size: 14px; font-weight: 800; padding: 8px 16px; border-radius: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.provocation-text-col-50005 { flex: 1.2; }
.provocation-text-50005 { font-size: 16px; color: #1F2937; margin: 0 0 16px 0; }
.provocation-list-50005 { list-style: none; padding: 0; margin: 0 0 24px 0; display: flex; flex-direction: column; gap: 12px; }
.provocation-list-50005 li { position: relative; padding-left: 24px; font-size: 16px; font-weight: 800; color: #cf5b54; }
.provocation-list-50005 li::before { content: "•"; position: absolute; left: 0; top: 0; color: #cf5b54; font-size: 20px; line-height: 1.2; }
.provocation-alert-50005 { background-color: #f7f9f7; border-left: 4px solid #347352; padding: 16px; font-size: 14px; color: #1c3e2f; font-weight: 800; border-radius: 0 8px 8px 0; }


/* =========================================
   Блок 6: Сравнение Довженко и Химии
   ========================================= */
.comp-intro-61006 { font-size: 16px; text-align: center; margin-bottom: 32px; }
.comp-table-wrap-61006 { max-width: 900px; margin: 0 auto 32px; overflow-x: auto; border-radius: 12px; border: 1px solid #E5E7EB; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.comp-table-61006 { width: 100%; border-collapse: collapse; min-width: 600px; }
.comp-table-61006 th, .comp-table-61006 td { padding: 16px; text-align: left; font-size: 16px; border-bottom: 1px solid #E5E7EB; }
.comp-table-61006 th { background-color: #f3f4f6; color: #000000; font-weight: 800; }
.comp-table-61006 .col-chem-61006 { color: #6f6f6f; width: 30%; }
.comp-table-61006 .col-dov-61006 { background-color: #f7f9f7; color: #1c3e2f; width: 40%; }
.comp-table-61006 .row-title-61006 { font-weight: 800; color: #1F2937; background-color: #FFFFFF; width: 30%; }
.comp-table-61006 tbody tr:last-child td { border-bottom: none; }
.comp-table-61006 td { color: #6f6f6f; }
.comp-table-61006 .cell-dov-61006 { background-color: #f7f9f7; color: #1c3e2f; font-weight: 800; }

.comp-action-61006 { text-align: center; }
.comp-action-61006 p { font-size: 16px; font-weight: 800; color: #1F2937; margin: 0 0 16px 0; }
