/* =============================================================================
   ELPROMASH — визуал + конверсия
   Куда: Внешний вид → Настроить → Дополнительный CSS
   либо Custom CSS & JS (у вас уже есть папка uploads/custom-css-js/)
   ============================================================================= */

:root {
  --elpm-red: #c41e3a;
  --elpm-red-dark: #9b1528;
  --elpm-ink: #0a0e14;
  --elpm-muted: #64748b;
  --elpm-line: rgba(15, 23, 42, .08);
  --elpm-radius: 14px;
}

/* 1. Единое семейство на ВСЁ, включая попапы / таблицы / статьи */
html, body,
.elementor-widget-heading .elementor-heading-title,
.woocommerce, .wcpt, .fluentform, .wppopups-whole,
.entry-content, .ct-module, button, input, select, textarea {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* 2. Микроинтерактив всех кнопок */
a[class*="btn"],
.header-btn-ctlg,
.elp-split__cta,
.elp-hero2__btn,
.ff-btn-submit,
.wcpt a,
.single_add_to_cart_button,
.elpm-quote-btn {
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease !important;
}
a[class*="btn"]:hover,
.header-btn-ctlg:hover,
.elp-split__cta:hover,
.elp-hero2__btn:hover,
.ff-btn-submit:hover,
.elpm-quote-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 14px 32px rgba(196, 30, 58, .28) !important;
}
a[class*="btn"]:active,
.elpm-quote-btn:active { transform: translateY(0) scale(.98); }

/* 3. Карточки категорий — явный hover */
.elpm-cat-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  border: 1px solid var(--elpm-line);
  border-radius: 16px;
  overflow: hidden;
}
.elpm-cat-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(15, 23, 42, .12);
  border-color: rgba(196, 30, 58, .25);
}
.elpm-cat-card:hover .elpm-cat-card-title { color: var(--elpm-red); }

/* 4. Почта в шапке — белая + конверт (п.37 ТЗ) */
.elpm-header-mail,
a[href^="mailto:elprommash14"] {
  color: #fff !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.elpm-header-mail::before {
  content: "";
  width: 16px; height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5L4 8V6l8 5 8-5z'/></svg>") center / contain no-repeat;
}

/* 5. Попап «Скачать каталог» не должен воровать H1 страницы */
#fluentform_4 h1,
.ff-custom_html h1#popuptitle_57216788 {
  font-size: 22px !important;
  font-weight: 800 !important;
}

/* 6. Хлебные крошки — стили в catalog-cards.css (единый источник) */

/* 7. Карточка товара — блок «цена по запросу» */
.elpm-pdp-cta {
  margin: 18px 0 8px;
  padding: 18px 18px 16px;
  border: 1px solid var(--elpm-line);
  border-radius: var(--elpm-radius);
  background: linear-gradient(180deg, #fff, #f8fafc);
}
.elpm-pdp-cta strong { display: block; font-size: 20px; margin-bottom: 6px; }
.elpm-pdp-cta p { margin: 0 0 12px; color: var(--elpm-muted); font-size: 14px; }
.elpm-pdp-cta__actions {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px;
}
/* Звонок — вторичное действие рядом с «Запросить КП» */
.elpm-pdp-cta__actions a.elpm-price-on-request {
  min-height: 48px; padding: 0 18px;
  background: #fff !important;
  color: var(--elpm-red) !important;
  border: 1px solid rgba(196, 30, 58, .35);
  font-size: 13px;
}
.elpm-pdp-cta__actions a.elpm-price-on-request:hover {
  background: #fff5f6 !important;
  box-shadow: 0 8px 20px rgba(196, 30, 58, .14);
}
.elpm-quote-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px;
  background: linear-gradient(135deg, #d1283d, #9b1528);
  color: #fff !important; text-decoration: none !important;
  border-radius: 10px; font-weight: 700; letter-spacing: .04em;
}
@media (max-width: 560px) {
  .elpm-pdp-cta { padding: 14px; }
  .elpm-pdp-cta strong { font-size: 18px; }
  .elpm-quote-btn { display: flex; width: 100%; }
}

/* 8. Плавающая пульсирующая кнопка (п.49) — не дублировать, если .elpm-fab уже есть */
.elpm-pulse {
  position: fixed; right: 18px; bottom: 18px; z-index: 9998;
  width: 62px; height: 62px; border-radius: 50%;
  background: linear-gradient(145deg, #d1283d, #9b1528);
  color: #fff; display: grid; place-items: center;
  box-shadow: 0 12px 28px rgba(196, 30, 58, .4);
  text-decoration: none;
}
.elpm-pulse::after {
  content: ""; position: absolute; inset: -6px; border-radius: 50%;
  border: 2px solid rgba(196, 30, 58, .45);
  animation: elpmPulse 1.6s ease-out infinite;
}
@keyframes elpmPulse {
  0% { transform: scale(.85); opacity: .9; }
  100% { transform: scale(1.35); opacity: 0; }
}
@media (max-width: 689px) {
  .elpm-pulse { right: 14px; bottom: 14px; width: 56px; height: 56px; }
}

/* 9. Мобильный поиск — если иконки нет, показать форму в шапке */
@media (max-width: 689px) {
  .ct-header [data-id="search"] { display: flex !important; }
}

/* 10. Сетка 9 категорий каталога */
.elpm-cat-grid-9 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 8px 20px 40px;
}
@media (max-width: 900px) { .elpm-cat-grid-9 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .elpm-cat-grid-9 { grid-template-columns: 1fr; } }

/* 11. Убрать английские плейсхолдеры визуально не получится — править в Fluent Forms.
      Подсветка обязательных полей: */
.fluentform input:required:invalid { outline: none; }
.fluentform input:focus {
  border-color: var(--elpm-red) !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, .12) !important;
}
