/* dm-pages.css
   [2026-10-02] v1 — страницы кабинета и информационные страницы.

   Было: текст прямо на фоне страницы, поля 32 px с заливкой и радиусом 2,
   серые кнопки, размер текста на телефоне скакал (22,5 px там, где шрифт не
   задан явно — его растягивает общий множитель, и 16 px там, где задан).

   Файл грузится только на страницах кабинета и информации, поэтому лишнего
   уточнения в селекторах нет.

   Стало: содержимое в белой карточке, как везде в редизайне; поля и кнопки
   такие же, как в оформлении заказа; размеры текста заданы явно. */

/* ---------- общая рамка ---------- */

body.dm-frame-on #content {
  max-width: 980px;
  margin: 0 auto;
}

body.dm-frame-on #content h1.title,
body.dm-frame-on #content > h1 {
  color: #1C2529;
  /* !important: у темы свой размер заголовка с тем же весом правила */
  font-size: 26px !important;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 16px;
  padding: 0;
}

/* текст страницы и формы живут в белой карточке */
body.dm-frame-on #content > .content,
body.dm-frame-on #content > form,
body.dm-frame-on #content > .row,
body.dm-frame-on #content > p {
  background: #FFFFFF;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  padding: 20px;
  margin: 0 0 14px;
}

/* [2026-10-02] Вход и регистрация: тема кладёт их в две колонки .col-sm-6
   с рамкой .well. На телефоне колонки не складывались — оставались 197 и
   318 px рядом. Делаем ряд гибким и на узком экране ставим в столбик. */
body.dm-frame-on #content .row.login-box,
body.dm-frame-on #content .row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  background: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

body.dm-frame-on #content .row > [class*="col-"] {
  flex: 1 1 320px;
  min-width: 0;
  width: auto;
  padding: 0;
  float: none;
}

body.dm-frame-on #content .well {
  height: 100%;
  background: #FFFFFF;
  border: 0;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  padding: 20px;
  margin: 0;
}

body.dm-frame-on #content .well,
body.dm-frame-on #content .well p,
body.dm-frame-on #content .well li {
  color: #2A3238;
  font-size: 17px !important;
  line-height: 1.6;
}

body.dm-frame-on #content .well h2 {
  color: #1C2529;
  font-size: 19px !important;
  font-weight: 700;
  margin: 0 0 12px;
}

/* ---------- читаемый текст ---------- */

body.dm-frame-on #content .content,
body.dm-frame-on #content .content p,
body.dm-frame-on #content .content li,
body.dm-frame-on #content > p {
  color: #2A3238;
  font-size: 17px !important;
  line-height: 1.65;
}

body.dm-frame-on #content .content h2 {
  color: #1C2529;
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.3;
  margin: 24px 0 10px;
}

body.dm-frame-on #content .content h3 {
  color: #1C2529;
  font-size: 18px !important;
  font-weight: 600;
  margin: 20px 0 8px;
}

body.dm-frame-on #content .content h2:first-child,
body.dm-frame-on #content .content h3:first-child {
  margin-top: 0;
}

body.dm-frame-on #content .content ul,
body.dm-frame-on #content .content ol {
  margin: 0 0 14px;
  padding-inline-start: 22px;
}

body.dm-frame-on #content .content li {
  margin-bottom: 6px;
}

body.dm-frame-on #content .content a {
  color: #146678;
  text-decoration: underline;
}

body.dm-frame-on #content .content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* таблицы прокручиваются внутри себя, страница вбок не едет */
body.dm-frame-on #content .content table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: 15px;
}

body.dm-frame-on #content .content td,
body.dm-frame-on #content .content th {
  border: 1px solid #ECEFF1;
  padding: 8px 10px;
}

/* ---------- формы кабинета ---------- */

body.dm-frame-on #content label,
body.dm-frame-on #content .control-label {
  display: block;
  color: #5C6A72;
  font-size: 14px !important;
  font-weight: 500;
  margin-bottom: 4px;
}

body.dm-frame-on #content input[type="text"],
body.dm-frame-on #content input[type="email"],
body.dm-frame-on #content input[type="tel"],
body.dm-frame-on #content input[type="password"],
body.dm-frame-on #content select,
body.dm-frame-on #content textarea {
  width: 100%;
  height: 48px;
  border: 1px solid #D7DEE1;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  box-shadow: none;
  color: #1C2529;
  font-size: 16px;   /* меньше — Safari приближает страницу при вводе */
  padding: 0 14px;
}

/* [2026-10-02] Регистрация: подписи полей тема печатает 22,5 px (их тянет
   общий множитель), а поля разбиты на колонки. Приводим к одному виду. */
body.dm-frame-on #content fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 18px;
}

body.dm-frame-on #content legend {
  display: block;
  width: 100%;
  border: 0;
  color: #1C2529;
  font-size: 18px !important;
  font-weight: 700;
  margin: 0 0 12px;
  padding: 0;
}

body.dm-frame-on #content .form-group,
body.dm-frame-on #content .form-group > div,
body.dm-frame-on #content .form-group > label {
  font-size: 15px;
}

/* поля стояли в половину ширины: тема заворачивает их в колонку сетки */
body.dm-frame-on #content .form-group [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100%;
  float: none;
  padding-inline: 0;
}

body.dm-frame-on #content textarea {
  height: auto;
  min-height: 110px;
  padding: 12px 14px;
  line-height: 1.5;
}

body.dm-frame-on #content input:focus,
body.dm-frame-on #content select:focus,
body.dm-frame-on #content textarea:focus {
  border-color: #146678;
  box-shadow: 0 0 0 3px rgba(20, 102, 120, .12);
  outline: none;
}

body.dm-frame-on #content .form-group {
  margin-bottom: 14px;
}

body.dm-frame-on #content .radio,
body.dm-frame-on #content .checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin: 0 0 8px;
  padding: 10px 14px;
  border: 1px solid #E6EAEC;
  border-radius: 10px;
}

body.dm-frame-on #content .radio label,
body.dm-frame-on #content .checkbox label {
  margin: 0;
  color: #1C2529;
  font-size: 15px !important;
}

body.dm-frame-on #content input[type="radio"],
body.dm-frame-on #content input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #146678;
}

/* ---------- кнопки ---------- */

body.dm-frame-on #content .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 0 24px;
}

body.dm-frame-on #content .btn-primary,
body.dm-frame-on #content input[type="submit"] {
  background: #146678 !important;
  border: 0 !important;
  color: #FFFFFF !important;
}

body.dm-frame-on #content .btn-primary:hover,
body.dm-frame-on #content input[type="submit"]:hover {
  background: #0F5260 !important;
}

body.dm-frame-on #content .btn-default {
  background: #FFFFFF;
  border: 1px solid #D7DEE1;
  color: #1C2529;
}

body.dm-frame-on #content .buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

body.dm-frame-on #content .buttons .pull-left,
body.dm-frame-on #content .buttons .pull-right {
  float: none;
}

/* ---------- таблицы кабинета (заказы, адреса) ---------- */

body.dm-frame-on #content .table-responsive {
  overflow-x: auto;
  border: 0;
}

body.dm-frame-on #content .table {
  font-size: 15px;
}

body.dm-frame-on #content .table > thead > tr > td,
body.dm-frame-on #content .table > thead > tr > th {
  background: #F7F6F3;
  border-bottom: 1px solid #ECEFF1;
  color: #5C6A72;
  font-size: 13px;
  font-weight: 600;
}

/* ---------- телефон ---------- */

@media (max-width: 767px) {
  body.dm-frame-on #content {
    padding-inline: 16px;
  }

  body.dm-frame-on #content > .content,
  body.dm-frame-on #content > form,
  body.dm-frame-on #content > .row,
  body.dm-frame-on #content > p {
    padding: 16px;
  }

  body.dm-frame-on #content h1.title,
  body.dm-frame-on #content > h1 {
    font-size: 23px !important;
  }

  body.dm-frame-on #content .btn {
    width: 100%;
  }

  body.dm-frame-on #content .row > [class*="col-"] {
    flex: 1 1 100%;
  }

  body.dm-frame-on #content .well {
    padding: 16px;
  }
}


/* ---------- боковая колонка на информационных страницах ----------
   [2026-10-02] Сбоку висело старое меню категорий — то, которого в редизайне
   нет. Его убираем: каталог открывается из шапки. Остальные блоки (статьи,
   «Наши товары у вас дома») раскладываем в ряд под текстом.

   ⚠️ Только для страниц информации и кабинета. На поиске слева стоят ФИЛЬТРЫ,
   и там колонка нужна на своём месте — первая версия этих правил утащила
   выдачу под фильтры. */

html[class*="route-information-"] body.dm-frame-on #column-right .accordion-menu,
html[class*="route-account-"] body.dm-frame-on #column-right .accordion-menu {
  display: none;
}

html[class*="route-information-"] body.dm-frame-on .row:has(> #column-right),
html[class*="route-account-"] body.dm-frame-on .row:has(> #column-right) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

html[class*="route-information-"] body.dm-frame-on #content,
html[class*="route-account-"] body.dm-frame-on #content {
  width: 100% !important;
  max-width: none;
  flex: 1 1 100%;
  order: 1;
}

html[class*="route-information-"] body.dm-frame-on #column-right,
html[class*="route-account-"] body.dm-frame-on #column-right {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100%;
  order: 2;
  padding: 0;
  margin-top: 8px;
}

html[class*="route-information-"] body.dm-frame-on #column-right .grid-cols,
html[class*="route-account-"] body.dm-frame-on #column-right .grid-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

html[class*="route-information-"] body.dm-frame-on #column-right .grid-col,
html[class*="route-account-"] body.dm-frame-on #column-right .grid-col {
  flex: 1 1 300px;
  min-width: 0;
  width: auto !important;
  padding: 0;
}

body.dm-frame-on #column-right .grid-items,
body.dm-frame-on #column-right .grid-item {
  width: 100%;
}

body.dm-frame-on #column-right .module,
body.dm-frame-on #column-left .module {
  background: #FFFFFF;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  padding: 16px;
  margin: 0 0 16px;
}

body.dm-frame-on #column-right .module .module-title,
body.dm-frame-on #column-right .module h3,
body.dm-frame-on #column-left .module .module-title,
body.dm-frame-on #column-left .module h3 {
  color: #1C2529;
  font-size: 18px !important;
  font-weight: 700;
  margin: 0 0 12px;
}

/* ---------- страница поиска ---------- */

body.dm-frame-on .search-form {
  background: #FFFFFF;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
  padding: 16px;
  margin-bottom: 14px;
}

body.dm-frame-on .search-form .inputs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.dm-frame-on .search-form input[name="search"],
body.dm-frame-on .search-form select {
  flex: 1 1 220px;
  height: 48px !important;
  border: 1px solid #D7DEE1 !important;
  border-radius: 10px !important;
  background: #FFFFFF !important;
  font-size: 16px;
  padding: 0 14px;
}

body.dm-frame-on #content h2.title {
  color: #1C2529;
  font-size: 18px !important;
  font-weight: 700;
  margin: 18px 0 10px;
}

/* ---------- страница «не найдено» ---------- */

body.dm-frame-on #content > p {
  font-size: 17px !important;
  line-height: 1.6;
}

@media (max-width: 767px) {
  html[class*="route-information-"] body.dm-frame-on #column-right .grid-col,
  html[class*="route-account-"] body.dm-frame-on #column-right .grid-col {
    flex: 1 1 100%;
  }

  body.dm-frame-on .search-form input[name="search"],
  body.dm-frame-on .search-form select {
    flex: 1 1 100%;
  }
}
