/*
 Theme Name:   Eduma Child
 Theme URI:    http://educationwp.thimpress.com/
 Description:  Eduma Child Theme — сайт учебного центра «Медмап»
 Author:       ThimPress / Медмап
 Template:     eduma
 Version:      1.0.1
 Text Domain:  eduma-child
*/
.medmap-course-info { margin: 0 0 30px; padding: 20px 24px; background: #f5f9ff; border: 1px solid #dbe7f7; border-radius: 8px; }
.medmap-course-info h3 { margin: 0 0 12px; font-size: 20px; }
.medmap-course-info__table { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.medmap-course-info__table th, .medmap-course-info__table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e3ecf7; vertical-align: top; font-size: 15px; }
.medmap-course-info__table th { width: 42%; font-weight: 600; color: #35404d; }
.medmap-btn { display: inline-block; padding: 12px 26px; border-radius: 6px; font-weight: 600; text-decoration: none !important; transition: .2s; }
.medmap-btn--primary { background: #1a73e8; color: #fff !important; }
.medmap-btn--primary:hover { background: #155fc0; }
.medmap-request { margin: 8px 0 0; }
.medmap-page h2 { margin-top: 32px; }
.medmap-page table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.medmap-page table th, .medmap-page table td { border: 1px solid #e0e6ef; padding: 8px 12px; text-align: left; vertical-align: top; }
.medmap-page table th { background: #f2f6fb; }
.medmap-placeholder { color: #b45309; background: #fff7ed; border: 1px dashed #f59e0b; padding: 2px 6px; border-radius: 4px; }
.medmap-cta { background: #eef5ff; border-radius: 8px; padding: 20px 24px; margin: 24px 0; }
.medmap-footer-cta { text-align: right; }
.medmap-footer-cta__contacts { margin: 12px 0 0; color: #cbd5e1; }
.medmap-footer-cta__contacts a { color: #fff; }
@media (max-width: 767px) { .medmap-footer-cta { text-align: left; } }
/* Кириллица: без Title Case у заголовков и кнопок */
h1, h2, h3, h4, .elementor-widget-e-heading, .thim-ekits-heading, .elementor-button, .medmap-btn { text-transform: none !important; }
/* Типографика: компактнее заголовки (кириллица шире латиницы) */
h1, .e-heading-base h1, h1.e-heading-base { font-size: 40px !important; line-height: 1.2 !important; letter-spacing: -0.01em; }
.home h1.e-heading-base { font-size: 44px !important; line-height: 1.18 !important; max-width: 640px; }
h2, h2.e-heading-base { font-size: 32px !important; line-height: 1.25 !important; }
h3 { font-size: 24px !important; line-height: 1.3 !important; }
.lp-single-course h1, .thim-ekit-single-course__title, .course-title h1 { font-size: 32px !important; line-height: 1.25 !important; }
.elementor-button, .medmap-btn, .thim-ekits-menu__nav-link { font-size: 15px !important; }
@media (max-width: 767px) {
  h1, .home h1.e-heading-base { font-size: 30px !important; }
  h2, h2.e-heading-base { font-size: 26px !important; }
  h3 { font-size: 20px !important; }
}
/* Фильтр каталога: компактнее */
.lp-form-course-filter .lp-form-course-filter__title, .lp-form-course-filter h3, .lp-form-course-filter .lp-course-filter__title { font-size: 18px !important; }
.lp-form-course-filter .lp-course-filter__field, .lp-form-course-filter label, .lp-form-course-filter .lp-course-filter__field label { font-size: 14px !important; line-height: 1.3 !important; }
.lp-form-course-filter .lp-course-filter__field .count { font-size: 13px !important; }
.lp-form-course-filter .lp-course-filter__field--child { padding-left: 14px; }
/* Рейтинг в карточках и на странице курса скрываем */
.course-rating, .thim-loop-course-rating, .thim-ekit-single-course__rating, .lp-course-rating, .course-review-count, .thim-ekit-single-course__author + .thim-ekit-single-course__rating { display: none !important; }
/* Хиро главной: подложка под текст, чтобы фото не спорило с заголовком */
.home .elementor-element-b7c5280 { position: relative; isolation: isolate; }
.home .elementor-element-b7c5280::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  /* диагональ: сверху-слева белая подложка под текст, к низу и вправо фото проступает */
  background:
    linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(100deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.82) 38%, rgba(255,255,255,0.28) 60%, rgba(255,255,255,0) 100%);
}
.home .elementor-element-b7c5280 > * { position: relative; z-index: 1; }
.home .elementor-element-b7c5280 h1 { color: #0f2a4a; text-shadow: none; }
.home .elementor-element-b7c5280 .e-paragraph-base { color: #35404d; }
@media (max-width: 1024px) {
  .home .elementor-element-b7c5280::before { background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.86) 60%, rgba(255,255,255,0.45) 100%); }
}
/* Блок «Направления обучения»: своя цветная полоса, чтобы не сливался с «Почему выбирают» */
.home .elementor-element-4225a9d { display: none !important; }              /* тонкий разделитель больше не нужен */
.home .elementor-element-10fc593 { background: #e4edf9; border-radius: 16px; padding: 48px 40px !important; margin-top: 24px; margin-bottom: 8px; }
.home .elementor-element-10fc593 .thim-course-categories a, .home .elementor-element-10fc593 .thim-ekits-course-categories a,
.home .elementor-element-10fc593 .thim-course-categories li > a { background: #fff; border: 1px solid #c9d9ef; box-shadow: 0 2px 8px rgba(15,42,74,0.08); }
.home .elementor-element-10fc593 .thim-course-categories a:hover { border-color: #1a73e8; color: #1a73e8; }
@media (max-width: 767px) { .home .elementor-element-10fc593 { padding: 28px 20px !important; border-radius: 12px; } }
/* Главная: компактнее вертикальные отступы секций (размеры блоков не трогаем) */
.home .elementor-25575 > .e-con { padding-top: 48px !important; padding-bottom: 48px !important; }
.home .elementor-element-b7c5280 { padding-top: 16px !important; padding-bottom: 0 !important; }
.home .elementor-element-4c8ed8b { padding-top: 40px !important; }
.home .elementor-element-3072a47 { padding-top: 40px !important; padding-bottom: 40px !important; }
.home .elementor-element-e78faeb { padding-top: 24px !important; padding-bottom: 40px !important; }
@media (max-width: 767px) { .home .elementor-25575 > .e-con { padding-top: 32px !important; padding-bottom: 32px !important; } }
/* Колонки Elementor-контейнеров на страницах «Контакты» и «Вопросы и ответы» */
.e-con.medmap-col { --width: 100%; flex-grow: 0; }
@media (min-width: 768px) {
  .e-con.medmap-col-42 { --width: calc(42% - 24px); } .e-con.medmap-col-54 { --width: calc(58% - 24px); }
  .e-con.medmap-col-48 { --width: calc(50% - 24px); } .e-con.medmap-col-62 { --width: calc(66% - 24px); } .e-con.medmap-col-34 { --width: calc(34% - 24px); }
}
.medmap-col .wpcf7 input[type=text], .medmap-col .wpcf7 input[type=tel], .medmap-col .wpcf7 input[type=email], .medmap-col .wpcf7 select, .medmap-col .wpcf7 textarea { width: 100%; }
@media (min-width: 768px) { .e-con:has(> .e-con-inner > .medmap-col) > .e-con-inner, .e-con:has(> .medmap-col) { flex-wrap: nowrap !important; } }
/* CTA-плашка «Не нашли ответ?» */
.e-con.medmap-cta-row > .e-con-inner { align-items: center !important; }
.e-con.medmap-cta-row .medmap-col { justify-content: center; }
.e-con.medmap-cta-row .medmap-col-34 { align-items: flex-end; }
.e-con.medmap-cta-row .elementor-widget-heading, .e-con.medmap-cta-row .elementor-widget-text-editor { margin-bottom: 8px; }
.e-con.medmap-cta-row .elementor-widget-text-editor p { margin: 0; line-height: 1.5; }
.e-con.medmap-cta-row .elementor-button { padding: 14px 28px; font-size: 16px; }
@media (max-width: 767px) { .e-con.medmap-cta-row .medmap-col-34 { align-items: flex-start; margin-top: 12px; } }
/* Страница «Аккредитация» */
@media (min-width: 768px) { .e-con.medmap-col-24 { --width: calc(25% - 30px); } .e-con.medmap-col-32 { --width: calc(33.333% - 27px); } }
.medmap-lead { font-size: 18px; line-height: 1.6; color: #35404d; }
.medmap-table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
.medmap-table th, .medmap-table td { border: 1px solid #e0e6ef; padding: 10px 12px; text-align: left; vertical-align: top; }
.medmap-table th { background: #f2f6fb; }
.medmap-step { position: relative; padding-left: 64px; margin-bottom: 22px; }
.medmap-step .elementor-icon-box-icon { display: none; }
.medmap-step::before { content: attr(data-step); position: absolute; left: 0; top: 0; width: 46px; height: 46px; border-radius: 50%; background: #1a73e8; color: #fff; font-weight: 800; font-size: 20px; display: flex; align-items: center; justify-content: center; }
.medmap-step-1::before { content: "1"; } .medmap-step-2::before { content: "2"; } .medmap-step-3::before { content: "3"; } .medmap-step-4::before { content: "4"; } .medmap-step-5::before { content: "5"; }
.medmap-step .elementor-icon-box-title { margin-bottom: 6px; }
.medmap-col .elementor-widget-icon-box .elementor-icon-box-description { line-height: 1.55; }
/* Аккредитация: карточки с цифрами и шаги */
.medmap-col-24 .elementor-widget-icon-box .elementor-icon-box-title { font-size: 32px !important; line-height: 1.1 !important; margin: 0 0 10px !important; white-space: nowrap; }
.medmap-col-24 .elementor-widget-icon-box .elementor-icon-box-description { font-size: 15px; line-height: 1.5; color: #35404d; }
.medmap-col-24 .elementor-icon-box-icon { display: none; }
@media (min-width: 768px) and (max-width: 1100px) { .e-con.medmap-col-24 { --width: calc(50% - 20px); } }
.medmap-step { padding-left: 66px; margin-bottom: 28px !important; min-height: 46px; }
.medmap-step .elementor-icon-box-wrapper { display: block; }
.medmap-step .elementor-icon-box-content { display: block; }
.medmap-step .elementor-icon-box-title { margin: 0 0 8px !important; line-height: 1.2 !important; padding-top: 6px; }
.medmap-step .elementor-icon-box-description { margin: 0; line-height: 1.55; }
.medmap-step::before { top: 0; }
.medmap-step + .elementor-widget-button { margin-top: 8px; }
@media (max-width: 767px) {
  .medmap-col-24 .elementor-widget-icon-box .elementor-icon-box-title { font-size: 28px !important; white-space: normal; }
  .e-con.medmap-col { --width: 100%; }
  .medmap-step { padding-left: 58px; }
  .medmap-step::before { width: 40px; height: 40px; font-size: 17px; }
  .medmap-lead { font-size: 16px; }
  .medmap-table { display: block; overflow-x: auto; }
}
/* CTA на главной после программ */
.home .e-con.medmap-home-cta-wrap { padding-top: 0 !important; padding-bottom: 48px !important; }
.home .e-con.medmap-home-cta { --width: 100%; }
.home .medmap-home-cta .elementor-widget-text-editor p { margin: 0; font-size: 16px; }
.home .medmap-home-cta .elementor-button { padding: 16px 32px; font-size: 16px; white-space: nowrap; }
/* Лендинги ПК / ПП / НМО */
.medmap-chips .elementor-widget-button { width: auto; }
.medmap-chips .elementor-button:hover { border-color: #1a73e8 !important; color: #1a73e8 !important; }
.medmap-col .elementor-widget-image img { border-radius: 24px; box-shadow: 0 16px 40px rgba(15,42,74,0.15); }
.medmap-col .elementor-icon-list-items .elementor-icon-list-text { font-size: 16px; }
/* Сетка списка курсов: равные колонки независимо от длины названий */
.thim-ekits-course__inner > .thim-ekits-course__item { min-width: 0; }
@media (min-width: 1025px) { .elementor-widget-thim-ekits-list-course .thim-ekits-course__inner { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .elementor-widget-thim-ekits-list-course .thim-ekits-course__inner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
/* Логотип в шапке: ограничиваем по высоте, чтобы полоса меню не раздувалась */
.elementor-element-d723caf .medmap-logo img { height: 76px !important; width: auto !important; max-width: none; }
.elementor-element-d723caf { min-height: 0 !important; }
@media (max-width: 1024px) { .elementor-element-d723caf .medmap-logo img { height: 60px !important; } }
@media (max-width: 767px) { .elementor-element-d723caf .medmap-logo img { height: 48px !important; } }
/* Шапка: пункты меню без огромных вертикальных отступов (в демо 35px сверху/снизу) */
.elementor-element-d723caf .thim-ekits-menu > li > a, .elementor-element-d723caf .thim-ekits-menu__nav-link, .elementor-element-d723caf .thim-ekits-menu__item > a { padding-top: 14px !important; padding-bottom: 14px !important; }
.elementor-element-d723caf .elementor-element-e85a01c { --menu-item-spacing: 14px 15px; }
.elementor-element-d723caf, .elementor-element-d723caf > .e-con-inner { padding-top: 6px !important; padding-bottom: 6px !important; min-height: 0 !important; }
.elementor-element-d723caf .medmap-logo img { height: 72px !important; }
