/* «Запрос КП на список товаров» (dou-kp-list). Общие стили полей — как в dou-kp.css, продублированы, чтобы файл работал сам. */
.dou-kpl-open { display: inline-block; min-height: 40px; padding: 9px 16px; border: 2px solid var(--dou-blue, #1581a5); border-radius: 6px;
  background: var(--dou-blue, #1581a5); color: #fff !important; font-weight: 600; line-height: 1.2; text-decoration: none !important; cursor: pointer; white-space: nowrap; }
.dou-kpl-open:hover, .dou-kpl-open:focus { background: #fff; color: var(--dou-blue, #1581a5) !important; }
/* Шапка: кнопка в белой части шапки, под адресами почты; жёлтое меню и поиск не трогаем */
.tel3 .dou-kpl-open--header { display: inline-block; margin: 8px 0 0; padding: 6px 16px; min-height: 0; font-size: 14px; }
@media (max-width: 767px) {
  .tel3 .dou-kpl-open--header { margin: 6px 0; }
}
/* Блок на главной */
.dou-kpl-home { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  margin: 0 0 20px; padding: 16px 18px; border: 2px dashed var(--dou-blue, #1581a5); border-radius: 9px; background: #f3fafc; }
.dou-kpl-home__text { flex: 1 1 300px; }
.dou-kpl-home__text strong { display: block; font-size: 17px; margin-bottom: 4px; }
/* Окно и форма */
.dou-kpl-modal { position: fixed; inset: 0; z-index: 10000; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; padding: 12px; }
.dou-kpl-modal[hidden] { display: none; }
html.dou-kpl-lock { overflow: hidden; }
.dou-kpl-box { position: relative; width: 100%; max-width: 560px; max-height: 94vh; overflow: auto; background: #fff; border-radius: 9px; padding: 22px 22px 18px; box-shadow: 0 10px 40px rgba(0,0,0,.25); box-sizing: border-box; }
.dou-kpl-inline .dou-kpl-box { max-width: 680px; max-height: none; margin: 0 auto 30px; box-shadow: none; border: 1px solid var(--dou-border, #ddd); }
.dou-kpl-title { margin: 0 30px 8px 0; font-size: 20px; }
.dou-kpl-lead, .dou-kpl-hint { margin: 0 0 12px; color: #555; font-size: 14px; }
.dou-kpl-close { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; color: #666; }
.dou-kpl-form label { display: block; margin: 0 0 10px; font-size: 14px; }
.dou-kpl-form input[type=text], .dou-kpl-form input[type=tel], .dou-kpl-form input[type=email], .dou-kpl-form textarea {
  display: block; width: 100%; box-sizing: border-box; min-height: 40px; margin-top: 4px; padding: 6px 10px; border: 1px solid var(--dou-border, #ccc); border-radius: 6px; font: inherit; }
.dou-kpl-form input[type=file] { display: block; margin-top: 6px; max-width: 100%; }
.dou-kpl-form .dou-consent label { display: block; }
.dou-kpl-form .dou-consent input[type=checkbox] { margin-right: 6px; }
.dou-kp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.dou-kp-submit { min-height: 42px; padding: 10px 18px; border: 0; border-radius: 6px; background: var(--dou-blue, #1581a5); color: #fff; cursor: pointer; }
.dou-kp-submit[disabled] { opacity: .6; cursor: wait; }
.dou-kp-msg { min-height: 1em; margin: 6px 0; }
.dou-kp-msg.is-error { color: #c0392b; }
.dou-kp-msg.is-ok { color: #1e8449; }
