/* Cabinet Responsive — top-intim23.ru v6 */

/* ===== ALL SCREENS ===== */

/* Tariff: dropdown + pay ALWAYS horizontal */
.td_group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px;
  margin: 4px 0;
  padding: 4px 0;
  height: auto !important;
  width: 100% !important;
}
.td_group form {
  display: flex !important;
  flex-direction: row !important;
  gap: 6px !important;
  align-items: center !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}
/* Native select */
.td_group select {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 2px solid #f28a72 !important;
  border-radius: 6px !important;
  padding: 5px 6px !important;
  font-size: 13px;
  background: #fff;
  height: 34px !important;
  box-shadow: none !important;
  float: none !important;
  width: 0 !important;
}
/* Nice-select replacement */
.td_group .nice-select {
  margin: 0 !important;
  vertical-align: middle !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 2px solid #f28a72 !important;
  border-radius: 6px !important;
  padding: 5px 28px 5px 8px !important;
  font-size: 13px !important;
  background: #fff;
  height: 34px !important;
  line-height: 22px !important;
  box-shadow: none !important;
  float: none !important;
  width: 0 !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.td_group .nice-select .list {
  max-height: 200px;
  overflow-y: auto;
}
.td_group .tablePayBtn {
  margin: 0 !important;
  vertical-align: middle !important;
  line-height: 20px !important;
  background: linear-gradient(135deg, #f28a72, #e06050) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  font-weight: bold;
  white-space: nowrap !important;
  height: 34px !important;
  box-shadow: 0 2px 4px rgba(242,138,114,0.3);
  float: none !important;
  width: auto !important;
  max-width: 120px !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}
.td_group .tablePayBtn:hover {
  background: linear-gradient(135deg, #e06050, #d04535) !important;
}


/* Tariff blocks */
.tarif-block { margin-bottom: 6px; padding: 6px 8px; border: 1px solid #e0e0e0; border-radius: 6px; }
.tarif-top { border-color: #f28a72; }

/* Поднять — green, no arrow */
.tableUpBtn {
  background: linear-gradient(135deg, #66BB6A, #4CAF50) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  box-shadow: 0 2px 6px rgba(76,175,80,0.4) !important;
}
.tableUpBtn:hover { background: linear-gradient(135deg, #4CAF50, #388E3C) !important; }

/* Save button — highlighted + centered text */
#saveSetingsBtn {
  background: linear-gradient(135deg, #f28a72, #e06050) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 30px !important;
  font-size: 18px !important;
  font-weight: bold !important;
  box-shadow: 0 3px 8px rgba(242,138,114,0.4) !important;
  display: block !important;
  margin: 20px auto !important;
  min-width: 200px;
  text-align: center !important;
  cursor: pointer;
}

/* Moderator button */
button[onclick*="moymoderator"], a[href*="moymoderator"] {
  background: linear-gradient(135deg, #f28a72, #e06050) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  box-shadow: 0 3px 8px rgba(242,138,114,0.4) !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* Card name/position */
.card-name { font-weight: bold; font-size: 15px; margin: 5px 0 2px; }
.card-position { font-size: 12px; color: #999; margin: 0; }

/* Status block */
.status-block {
  margin: 8px 0;
  padding: 6px 10px;
  background: #f9f9f9;
  border-radius: 6px;
  border-left: 3px solid #23af27;
}
.tariff-dates { font-size: 13px; margin-top: 5px; }
.tariff-dates div { margin: 2px 0; }

/* Balance block at top */
.cabinet-balance-top { display: none; }

/* ===== EDIT FORM — DESKTOP ONLY (flex) ===== */
@media (min-width: 768px) {
  .setings_form .row,
  .setings_form .form-group-row {
    display: flex;
    flex-wrap: wrap;
  }
}
.setings_group {
  margin-bottom: 10px;
}
.setings_group label {
  font-weight: 600;
  margin-bottom: 4px;
  display: block;
  font-size: 14px;
}
.setings_form input[type="text"],
.setings_form input[type="number"],
.setings_form textarea,
.setings_form select {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 14px;
  transition: border-color 0.2s;
}
.setings_form input:focus,
.setings_form select:focus,
.setings_form textarea:focus {
  border-color: #f28a72;
  outline: none;
  box-shadow: 0 0 0 2px rgba(242,138,114,0.2);
}
/* Required field label asterisk */
.setings_group label:has(+ input[required])::after,
.setings_group label:has(+ input[name="name"])::after {
  color: #e06050;
}

/* ===== DESKTOP: CARD GRID ===== */
@media (min-width: 768px) {
  .col-md-3.col-xs-3 { position: sticky; top: 10px; align-self: flex-start; }

  .cabinettable thead { display: none !important; }
  .cabinettable, .cabinettable tbody {
    display: flex !important; flex-wrap: wrap !important; gap: 12px !important; width: 100% !important;
    border: none !important;
  }
  .anketa-card {
    display: flex !important;
    flex-direction: column !important;
    width: calc(50% - 6px) !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 12px !important;
    background: #fff !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    border-bottom: 3px solid #f28a72 !important;
    box-sizing: border-box !important;
  }
  .anketa-card td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 3px 4px !important;
    text-align: center !important;
  }
  .anketa-card .card-id {
    text-align: left !important;
    font-weight: bold; color: #f28a72; font-size: 13px;
    background: #fff5f3; border-radius: 4px; padding: 2px 8px !important;
    display: inline-block !important; width: auto !important;
  }
  .anketa-card .card-photo { text-align: center !important; }
  .table_img { max-width: 130px !important; max-height: 200px !important; margin: 4px auto !important; border-radius: 6px; }
  .anketa-card .card-actions .btn {
    width: 90% !important; max-width: 200px !important;
    margin: 3px auto !important; display: block !important;
    font-size: 12px !important; padding: 5px 8px !important;
  }
  .anketa-card .tableUpBtn { width: 90% !important; max-width: 200px !important; display: block !important; margin: 4px auto !important; }

  /* Edit form — ensure 2 cols on desktop */
  .setings_form .col-sm-6 {
    width: 50% !important;
    float: left !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }
  .setings_form input[type="text"],
  .setings_form input[type="number"],
  .setings_form textarea,
  .setings_form select,
  .setings_form .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
@media (min-width: 1200px) {
  .anketa-card { width: calc(33.333% - 8px) !important; }
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
  body { min-width: 0 !important; }
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
  .col-md-9.col-xs-9, .col-md-3.col-xs-3 {
    width: 100% !important; float: none !important; padding: 0 8px !important;
  }
  /* Hide sidebar on mobile (balance shown at top) */
  .col-md-3.col-xs-3 { display: none !important; }
  .cabinet-balance-top { display: block !important; text-align: center; }
  .filter_img_box { display: none; }
  .table-responsive { overflow-x: visible !important; }
  
  /* Ankety cards */
  .cabinettable, .cabinettable thead, .cabinettable tbody,
  .cabinettable th, .cabinettable td, .cabinettable tr {
    display: block !important; width: 100% !important; box-sizing: border-box !important;
  }
  .cabinettable thead { display: none !important; }
  .anketa-card {
    border: 1px solid #e0e0e0 !important; border-radius: 10px !important;
    margin-bottom: 12px !important; padding: 10px !important;
    background: #fff !important; box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    border-bottom: 3px solid #f28a72 !important;
  }
  .anketa-card td {
    border: none !important; padding: 4px 8px !important; text-align: center !important; width: 100% !important;
  }
  .anketa-card .card-id {
    text-align: left !important; font-weight: bold; font-size: 14px; color: #f28a72;
    display: inline-block !important; width: auto !important;
    padding: 2px 8px !important; background: #fff5f3; border-radius: 4px;
  }
  .table_img { max-width: 140px !important; max-height: 200px !important; margin: 5px auto !important; border-radius: 6px; }
  .anketa-card .card-actions .btn {
    width: 100% !important; max-width: 280px !important; margin: 4px auto !important;
    display: block !important; font-size: 14px !important; padding: 8px 12px !important;
  }
  .anketa-card .tableUpBtn {
    width: 100% !important; max-width: 280px !important; display: block !important; margin: 5px auto !important;
  }
  
  /* Edit form — full width single column */
  .col-sm-6.col-xs-12, .col-sm-6 {
    width: 100% !important; float: none !important; padding: 0 5px !important;
  }
  .setings_group { margin-bottom: 10px; }
  .setings_group label { display: block; margin-bottom: 3px; font-size: 13px; }
  .setings_form input[type="text"],
  .setings_form input[type="number"],
  .setings_form textarea,
  .setings_form select,
  .setings_form .nice-select {
    width: 100% !important; box-sizing: border-box !important;
  }
  .sexual_list_col, .sexual_preferences .col-md-4, .sexual_preferences .col-sm-4 {
    width: 100% !important; float: none !important;
  }
  .chose_file_box { text-align: center; margin: 10px 0; }
  
  /* Edit page — fix shifted fields */
  .personal_block.shadow .col-sm-4,
  .personal_block.shadow .col-sm-offset-1,
  .personal_block.shadow .col-xs-6,
  .personal_block .col-sm-4,
  .personal_block .col-sm-offset-1,
  .personal_block .col-xs-6,
  .personal_block .col-sm-9,
  .personal_block .col-md-12,
  .personal_block .col-sm-12 {
    width: 100% !important; margin-left: 0 !important; float: none !important; padding: 0 5px !important;
  }
  
  /* General buttons */
  .send_message .btn, .personal_block > .btn, form .btn[type="submit"]:not(.tablePayBtn), a .btn {
    width: 100% !important; max-width: 300px !important; margin: 5px auto !important; display: block !important;
  }
  .personal_block.shadow { padding: 10px !important; margin: 5px 0 !important; }
  .personal_block .title, .personal_block h1.title { font-size: 18px; }
  .breadcrumbs { font-size: 12px; word-break: break-word; }
  
  /* Balance page */
  .personal_block img { max-width: 100% !important; height: auto !important; }
  
  /* History table → cards */
  #pdopage .table, #pdopage .table thead, #pdopage .table tbody,
  #pdopage .table th, #pdopage .table td, #pdopage .table tr {
    display: block !important; width: 100% !important; box-sizing: border-box !important;
  }
  #pdopage .table thead { display: none !important; }
  #pdopage .table tr {
    border: 1px solid #e0e0e0 !important; border-radius: 8px !important;
    margin-bottom: 10px !important; padding: 10px !important;
    background: #fff !important; box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  }
  #pdopage .table td {
    border: none !important; padding: 3px 8px !important; text-align: left !important;
  }
  #pdopage .table td:nth-child(1)::before { content: "Время: "; font-weight: bold; color: #999; }
  #pdopage .table td:nth-child(2)::before { content: "Тип: "; font-weight: bold; color: #999; }
  #pdopage .table td:nth-child(3)::before { content: "Сумма: "; font-weight: bold; color: #f28a72; }
  #pdopage .table td:nth-child(4)::before { content: "Описание: "; font-weight: bold; color: #999; }
  
  /* Other columns */
  .personal_block .col-md-6, .personal_block .col-md-4,
  .personal_block .col-sm-6, .personal_block .col-sm-4, .personal_block .col-md-3 {
    width: 100% !important; float: none !important; padding: 0 5px !important;
  }
  .modal-dialog { margin: 10px; width: auto !important; }
  .container { max-width: 100% !important; overflow-x: hidden !important; padding: 0 8px !important; }
  .personal_block p, .personal_block li, .personal_block div {
    word-wrap: break-word !important; overflow-wrap: break-word !important;
  }
  
  /* Photo list table on edit page */
  .personal_block table:not(.cabinettable) td {
    word-break: break-all;
    font-size: 13px;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1199px) {
  body { min-width: 0 !important; }
  .anketa-card { width: calc(50% - 6px) !important; }
}

/* ================================================
   ФОРМА РЕДАКТИРОВАНИЯ / ДОБАВЛЕНИЯ АНКЕТЫ
   Добавлено 2026-06-27
   ================================================ */

/* Заголовки секций */
.setings_form h2.min_title {
  color: #f28a72;
  font-size: 17px;
  font-weight: 700;
  margin: 24px 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(242,138,114,0.25);
  clear: both;
}

/* Группа полей */
.setings_group {
  margin-bottom: 14px;
}
.setings_group label {
  display: block;
  font-size: 13px;
  color: #555;
  margin-bottom: 5px;
  font-weight: 500;
}
.setings_form input[type=text],
.setings_form input[type=number],
.setings_form textarea {
  border: 1px solid #e5e5e5;
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 14px;
  background: #fafafa;
  box-sizing: border-box;
  -webkit-appearance: none;
  transition: border-color .2s;
}
.setings_form input[type=text]:focus,
.setings_form input[type=number]:focus,
.setings_form textarea:focus {
  border-color: #f28a72;
  background: #fff;
  outline: none;
}
.setings_form select,
.setings_form .nice-select {
  border: 1px solid #e5e5e5 !important;
  border-radius: 7px !important;
  background: #fafafa !important;
  font-size: 14px !important;
}

/* Цена + «Руб» на одной строке */
.setings_group input[type=number] {
  display: inline-block;
  width: 100%;
  vertical-align: middle;
}
.inp_attr {
  display: inline-block;
  font-size: 13px;
  color: #999;
  margin-left: 6px;
  vertical-align: middle;
  white-space: nowrap;
}

/* Фото — таблица */
#porfilePhoto td {
  word-break: break-all;
  font-size: 11px;
  max-width: 100px;
  overflow: hidden;
}
#porfilePhoto img { border-radius: 4px; }

/* Загрузка файла */
.chose_file_box {
  border: 2px dashed #f28a72;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
  background: #fff8f6;
  margin-bottom: 15px;
}
.choseFileBtn {
  background: #f28a72 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 20px !important;
  margin-top: 6px;
}

/* ================================
   МОБИЛКА ≤ 767px
   ================================ */
@media (max-width: 767px) {

  /* Все поля формы — полная ширина */
  .setings_form .col-sm-6 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }

  /* Сексуальные предпочтения — колонки полной ширины */
  .sexual_preferences .col-md-6,
  .sexual_preferences .col-sm-6,
  .sexual_preferences .col-xs-6,
  .sexual_list_col {
    width: 100% !important;
    float: none !important;
  }

  /* Каждая услуга: название слева, цена справа */
  .sexual_preferences li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 7px 4px !important;
    border-bottom: 1px solid #f5f5f5 !important;
    gap: 8px !important;
    min-height: 38px;
  }
  .sexual_preferences li > i {
    flex-shrink: 0;
    margin-right: 4px;
  }
  /* Текст названия */
  .sexual_preferences li > i ~ * {
    flex: 1;
    font-size: 13px;
    line-height: 1.3;
  }
  /* Инпут цены — справа, фиксированная ширина */
  .sexual_preferences li input[type=text] {
    width: 72px !important;
    min-width: 60px !important;
    max-width: 80px !important;
    flex-shrink: 0 !important;
    text-align: center !important;
    padding: 5px 6px !important;
    font-size: 13px !important;
    border-radius: 5px !important;
    border: 1px solid #e0e0e0 !important;
    background: #f9f9f9 !important;
  }

  /* Цена: инпут + Руб рядом */
  .setings_group input[type=number] {
    width: calc(100% - 40px);
  }

  /* Фото: имена файлов обрезать */
  #porfilePhoto td:nth-child(2) {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
  }
  #porfilePhoto { font-size: 11px; }
  #porfilePhoto select { font-size: 12px; padding: 2px 4px; }
}

/* ================================
   ДЕСКТОП ≥ 768px
   ================================ */
@media (min-width: 768px) {
  /* Два столбца для полей */
  .setings_form .col-sm-6 {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding-right: 12px;
  }
  .setings_form .col-sm-6:nth-child(2n) {
    padding-right: 0;
    padding-left: 12px;
  }

  /* Инпуты — полная ширина внутри своей колонки */
  .setings_form .col-sm-6 input[type=text],
  .setings_form .col-sm-6 input[type=number],
  .setings_form .col-sm-6 textarea {
    width: 100%;
  }

  /* Цена: число + Руб */
  .setings_form .col-sm-6 input[type=number] {
    width: calc(100% - 40px);
  }

  /* Сексуальные предпочтения — 3 колонки */
  .sexual_list_col {
    min-width: 0;
  }
  .sexual_preferences li {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
  }
  .sexual_preferences li input[type=text] {
    width: 70px !important;
    flex-shrink: 0;
    text-align: center;
    padding: 3px 6px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #e0e0e0 !important;
  }
}

/* ПАТЧ: inp_attr inline + единицы измерения */

/* Группа с единицей: flex, лейбл на всю ширину, инпут+единица в ряд */
.setings_group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}
.setings_group label,
.setings_group p.text {
  width: 100%;
  flex-basis: 100%;
  margin-bottom: 5px;
}
.setings_group input[type=text],
.setings_group input[type=number],
.setings_group textarea,
.setings_group select,
.setings_group .nice-select {
  flex: 1;
  width: auto !important;
  min-width: 0;
}
.setings_group .inp_attr {
  display: flex !important;
  align-items: center;
  padding-left: 8px;
  font-size: 13px;
  color: #999;
  white-space: nowrap;
  height: 38px;
  flex-shrink: 0;
}

/* «Кг», «Вг» — inline text после spinbox */
.setings_group > p {
  display: flex;
  align-items: center;
  padding-left: 8px;
  color: #999;
  font-size: 13px;
  white-space: nowrap;
  flex-shrink: 0;
  margin: 0;
  height: 38px;
}

/* textarea — всегда полная ширина */
.setings_group textarea {
  flex-basis: 100%;
  width: 100% !important;
  resize: vertical;
  min-height: 80px;
}

/* nice-select должен растягиваться */
.setings_group .nice-select {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}

/* Цены: 2 колонки на мобилке (апартаменты + выезд рядом) */
@media (max-width: 767px) {
  .setings_form .row:has(.col-sm-6 [name^="apartments"]) .col-sm-6,
  .setings_form .row:has(.col-sm-6 [name^="go"]) .col-sm-6 {
    width: 50% !important;
    float: left !important;
    box-sizing: border-box;
    padding: 0 4px !important;
  }
}

/* ФИНАЛЬНЫЙ ПАТЧ: bordered inputs, card-секции */

/* Inputs — полный бордер с скруглением */
.setings_form input[type=text],
.setings_form input[type=number] {
  border: 1px solid #e0e0e0 !important;
  border-radius: 7px !important;
  padding: 9px 12px !important;
  background: #fafafa !important;
  height: 38px;
  box-sizing: border-box;
}
.setings_form input[type=text]:focus,
.setings_form input[type=number]:focus {
  border-color: #f28a72 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(242,138,114,0.12) !important;
  outline: none !important;
}
.setings_form textarea {
  border: 1px solid #e0e0e0 !important;
  border-radius: 7px !important;
  padding: 10px 12px !important;
  background: #fafafa !important;
  box-sizing: border-box;
}
.setings_form textarea:focus {
  border-color: #f28a72 !important;
  background: #fff !important;
  outline: none !important;
}

/* Select — нативный и nice-select */
.setings_form select {
  border: 1px solid #e0e0e0 !important;
  border-radius: 7px !important;
  height: 38px !important;
  padding: 0 12px !important;
  background: #fafafa !important;
}
.setings_form .nice-select {
  border: 1px solid #e0e0e0 !important;
  border-radius: 7px !important;
  height: 38px !important;
  line-height: 36px !important;
  background: #fafafa !important;
  width: 100%;
  box-sizing: border-box;
}
.setings_form .nice-select.open {
  border-color: #f28a72 !important;
}

/* Карточки-секции */
.setings_form h2.min_title {
  background: linear-gradient(90deg, rgba(242,138,114,0.08), transparent);
  padding: 10px 15px 10px 12px !important;
  border-left: 3px solid #f28a72;
  border-bottom: none !important;
  border-radius: 4px;
  margin: 28px -4px 16px !important;
}

/* Sexual preferences — инпут цены ровный */
.sexual_preferences li input[type=text] {
  height: 32px !important;
  padding: 4px 8px !important;
}

/* Секция фото — более компактная */
.chose_file_box {
  padding: 12px !important;
  margin-bottom: 12px !important;
}

/* Кнопка сохранить */
#saveSetingsBtn {
  height: 48px !important;
  font-size: 16px !important;
  letter-spacing: 0.5px;
}

/* Убрать лишние отступы внутри правой колонки */
.setings_form .col-sm-6:last-child {
  padding-left: 12px;
}

/* ================================================
   ПАТЧ: Фото-таблица + личные данные на мобилке
   2026-06-27
   ================================================ */

/* === ФОТО-ТАБЛИЦА — overflow fix === */
/* table-responsive режет выпадающий select */
.table-responsive {
  overflow: visible !important;
}
/* Только для порфайл-фото — extra insurance */
#porfilePhoto {
  overflow: visible !important;
}
#porfilePhoto td select {
  position: relative;
  z-index: 100;
}
/* Каждая строка — изолированный stacking context,
   чтобы z-index работал в рамках строки */
#porfilePhoto tr {
  position: relative;
  z-index: 1;
}
#porfilePhoto tr:focus-within {
  z-index: 200;
}

/* === ФОТО-ТАБЛИЦА: мобилка — карточки === */
@media (max-width: 767px) {
  /* Разрушаем таблицу в блочные элементы */
  #porfilePhoto,
  #porfilePhoto tbody {
    display: block;
    width: 100%;
  }
  #porfilePhoto tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px;
    margin-bottom: 10px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 8px;
    box-sizing: border-box;
    z-index: auto;
  }
  #porfilePhoto tr:focus-within {
    z-index: auto;
  }

  /* Фото — маленький квадрат слева */
  #porfilePhoto td.img,
  #porfilePhoto td:first-child {
    flex: 0 0 64px;
    width: 64px;
  }
  #porfilePhoto td.img img,
  #porfilePhoto td:first-child img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }

  /* Имя файла — занимает остаток ширины */
  #porfilePhoto td:nth-child(2) {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
  }
  #porfilePhoto td:nth-child(2) a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
    text-decoration: none;
  }

  /* Select порядка — после имени, на новой строке */
  #porfilePhoto td:nth-child(3) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(3) select {
    height: 34px;
    border-radius: 5px;
    border: 1px solid #ddd !important;
    padding: 0 8px;
    font-size: 13px;
    background: #fff;
    /* Открывается ВНИЗ, не обрезается */
    position: relative;
    z-index: 50;
  }

  /* Кнопка удалить */
  #porfilePhoto td:nth-child(4) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(4) input[type=button] {
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
    border-radius: 5px;
    background: #fff0ee;
    border: 1px solid #f28a72;
    color: #f28a72;
    cursor: pointer;
  }
}

/* === ЛИЧНЫЕ ДАННЫЕ — выравнивание на мобилке === */
@media (max-width: 767px) {

  /* Внешний враппер формы — без отрицательных margin */
  .setings_form .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Колонки формы — сброс Bootstrap float/padding */
  .setings_form .col-sm-6,
  .setings_form .col-xs-12 {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Поля — полная ширина, нет горизонтального переполнения */
  .setings_form input[type=text],
  .setings_form input[type=number],
  .setings_form select,
  .setings_form .nice-select,
  .setings_form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Поле + единица (Руб/См/Кг) — не переполняет */
  .setings_group {
    overflow: hidden;
  }
  .setings_group input[type=number] {
    width: calc(100% - 44px) !important;
    flex: 1 !important;
  }

  /* nice-select раскрывается за пределами setings_group */
  .setings_group .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nice-select .list {
    position: absolute;
    z-index: 9999 !important;
    width: 100% !important;
    max-height: 200px;
    overflow-y: auto;
  }

  /* Убираем col-sm-4 сдвиг для блока загрузки фото */
  .setings_form .col-sm-4 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }
}

/* ================================================
   ПАТЧ: Фото-таблица + личные данные на мобилке
   2026-06-27
   ================================================ */

/* === ФОТО-ТАБЛИЦА — overflow fix === */
/* table-responsive режет выпадающий select */
.table-responsive {
  overflow: visible !important;
}
/* Только для порфайл-фото — extra insurance */
#porfilePhoto {
  overflow: visible !important;
}
#porfilePhoto td select {
  position: relative;
  z-index: 100;
}
/* Каждая строка — изолированный stacking context,
   чтобы z-index работал в рамках строки */
#porfilePhoto tr {
  position: relative;
  z-index: 1;
}
#porfilePhoto tr:focus-within {
  z-index: 200;
}

/* === ФОТО-ТАБЛИЦА: мобилка — карточки === */
@media (max-width: 767px) {
  /* Разрушаем таблицу в блочные элементы */
  #porfilePhoto,
  #porfilePhoto tbody {
    display: block;
    width: 100%;
  }
  #porfilePhoto tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px;
    margin-bottom: 10px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 8px;
    box-sizing: border-box;
    z-index: auto;
  }
  #porfilePhoto tr:focus-within {
    z-index: auto;
  }

  /* Фото — маленький квадрат слева */
  #porfilePhoto td.img,
  #porfilePhoto td:first-child {
    flex: 0 0 64px;
    width: 64px;
  }
  #porfilePhoto td.img img,
  #porfilePhoto td:first-child img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }

  /* Имя файла — занимает остаток ширины */
  #porfilePhoto td:nth-child(2) {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
  }
  #porfilePhoto td:nth-child(2) a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
    text-decoration: none;
  }

  /* Select порядка — после имени, на новой строке */
  #porfilePhoto td:nth-child(3) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(3) select {
    height: 34px;
    border-radius: 5px;
    border: 1px solid #ddd !important;
    padding: 0 8px;
    font-size: 13px;
    background: #fff;
    /* Открывается ВНИЗ, не обрезается */
    position: relative;
    z-index: 50;
  }

  /* Кнопка удалить */
  #porfilePhoto td:nth-child(4) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(4) input[type=button] {
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
    border-radius: 5px;
    background: #fff0ee;
    border: 1px solid #f28a72;
    color: #f28a72;
    cursor: pointer;
  }
}

/* === ЛИЧНЫЕ ДАННЫЕ — выравнивание на мобилке === */
@media (max-width: 767px) {

  /* Внешний враппер формы — без отрицательных margin */
  .setings_form .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Колонки формы — сброс Bootstrap float/padding */
  .setings_form .col-sm-6,
  .setings_form .col-xs-12 {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Поля — полная ширина, нет горизонтального переполнения */
  .setings_form input[type=text],
  .setings_form input[type=number],
  .setings_form select,
  .setings_form .nice-select,
  .setings_form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Поле + единица (Руб/См/Кг) — не переполняет */
  .setings_group {
    overflow: hidden;
  }
  .setings_group input[type=number] {
    width: calc(100% - 44px) !important;
    flex: 1 !important;
  }

  /* nice-select раскрывается за пределами setings_group */
  .setings_group .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nice-select .list {
    position: absolute;
    z-index: 9999 !important;
    width: 100% !important;
    max-height: 200px;
    overflow-y: auto;
  }

  /* Убираем col-sm-4 сдвиг для блока загрузки фото */
  .setings_form .col-sm-4 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }
}

/* ================================================
   ПАТЧ: Фото-таблица + личные данные на мобилке
   2026-06-27
   ================================================ */

/* === ФОТО-ТАБЛИЦА — overflow fix === */
/* table-responsive режет выпадающий select */
.table-responsive {
  overflow: visible !important;
}
/* Только для порфайл-фото — extra insurance */
#porfilePhoto {
  overflow: visible !important;
}
#porfilePhoto td select {
  position: relative;
  z-index: 100;
}
/* Каждая строка — изолированный stacking context,
   чтобы z-index работал в рамках строки */
#porfilePhoto tr {
  position: relative;
  z-index: 1;
}
#porfilePhoto tr:focus-within {
  z-index: 200;
}

/* === ФОТО-ТАБЛИЦА: мобилка — карточки === */
@media (max-width: 767px) {
  /* Разрушаем таблицу в блочные элементы */
  #porfilePhoto,
  #porfilePhoto tbody {
    display: block;
    width: 100%;
  }
  #porfilePhoto tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px;
    margin-bottom: 10px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 8px;
    box-sizing: border-box;
    z-index: auto;
  }
  #porfilePhoto tr:focus-within {
    z-index: auto;
  }

  /* Фото — маленький квадрат слева */
  #porfilePhoto td.img,
  #porfilePhoto td:first-child {
    flex: 0 0 64px;
    width: 64px;
  }
  #porfilePhoto td.img img,
  #porfilePhoto td:first-child img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
  }

  /* Имя файла — занимает остаток ширины */
  #porfilePhoto td:nth-child(2) {
    flex: 1;
    min-width: 0;
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: normal;
  }
  #porfilePhoto td:nth-child(2) a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
    text-decoration: none;
  }

  /* Select порядка — после имени, на новой строке */
  #porfilePhoto td:nth-child(3) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(3) select {
    height: 34px;
    border-radius: 5px;
    border: 1px solid #ddd !important;
    padding: 0 8px;
    font-size: 13px;
    background: #fff;
    /* Открывается ВНИЗ, не обрезается */
    position: relative;
    z-index: 50;
  }

  /* Кнопка удалить */
  #porfilePhoto td:nth-child(4) {
    flex: 0 0 auto;
  }
  #porfilePhoto td:nth-child(4) input[type=button] {
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
    border-radius: 5px;
    background: #fff0ee;
    border: 1px solid #f28a72;
    color: #f28a72;
    cursor: pointer;
  }
}

/* === ЛИЧНЫЕ ДАННЫЕ — выравнивание на мобилке === */
@media (max-width: 767px) {

  /* Внешний враппер формы — без отрицательных margin */
  .setings_form .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Колонки формы — сброс Bootstrap float/padding */
  .setings_form .col-sm-6,
  .setings_form .col-xs-12 {
    float: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Поля — полная ширина, нет горизонтального переполнения */
  .setings_form input[type=text],
  .setings_form input[type=number],
  .setings_form select,
  .setings_form .nice-select,
  .setings_form textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Поле + единица (Руб/См/Кг) — не переполняет */
  .setings_group {
    overflow: hidden;
  }
  .setings_group input[type=number] {
    width: calc(100% - 44px) !important;
    flex: 1 !important;
  }

  /* nice-select раскрывается за пределами setings_group */
  .setings_group .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nice-select .list {
    position: absolute;
    z-index: 9999 !important;
    width: 100% !important;
    max-height: 200px;
    overflow-y: auto;
  }

  /* Убираем col-sm-4 сдвиг для блока загрузки фото */
  .setings_form .col-sm-4 {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }
}

/* ================================================
   2026-06-27: Мобилка — 2 колонки (flex row, 50/50)
   ================================================ */

@media (max-width: 767px) {

  /* row → flex row, 2 колонки */
  .cabinet_anketa .setings_form .row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    margin-left: -4px !important;
    margin-right: -4px !important;
  }

  /* Каждая col-sm-6 → 50% */
  .cabinet_anketa .setings_form .row > [class*="col-sm-6"] {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    float: none !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    box-sizing: border-box !important;
  }

  /* Полноширинные col-sm-12 */
  .cabinet_anketa .setings_form .row > [class*="col-sm-12"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Цены — апартаменты + выезд рядом (уже 50/50 от .row) */
  .cabinet_anketa .setings_form .price-row {
    flex-direction: row !important;
  }

  /* Шрифты в 50%-колонках */
  .cabinet_anketa .setings_form .row > [class*="col-sm-6"] label {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }
  .cabinet_anketa .setings_form .row > [class*="col-sm-6"] .nice-select {
    font-size: 12px !important;
    width: 100% !important;
    padding-right: 20px !important;
  }
  .cabinet_anketa .setings_form .row > [class*="col-sm-6"] input[type=text],
  .cabinet_anketa .setings_form .row > [class*="col-sm-6"] input[type=number] {
    width: 100% !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
  }
}

/* ================================================
   ФИНАЛЬНЫЙ ФИК: ширина полей на мобилке
   2026-06-27
   ================================================ */

@media (max-width: 767px) {

  /* setings_group — block вместо flex на мобилке */
  .cabinet_anketa .setings_form .setings_group {
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
    margin-bottom: 12px !important;
  }

  /* label — блочный, полная ширина */
  .cabinet_anketa .setings_form .setings_group label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    font-size: 13px !important;
    color: #555 !important;
  }

  /* Все text/number инпуты — почти полная ширина */
  .cabinet_anketa .setings_form input[type=text],
  .cabinet_anketa .setings_form input[type=number] {
    display: inline-block !important;
    width: calc(100% - 52px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
  }

  /* Если нет единицы измерения — полная ширина */
  .cabinet_anketa .setings_form .setings_group input[type=text]:last-child,
  .cabinet_anketa .setings_form .setings_group input[type=number]:last-child {
    width: 100% !important;
  }

  /* inp_attr (Руб/См/Кг) — строчный, справа */
  .cabinet_anketa .setings_form .inp_attr {
    display: inline-block !important;
    vertical-align: middle !important;
    width: 46px !important;
    text-align: left !important;
    padding-left: 6px !important;
    font-size: 13px !important;
    color: #999 !important;
    white-space: nowrap !important;
  }

  /* nice-select и select — полная ширина */
  .cabinet_anketa .setings_form .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .cabinet_anketa .setings_form select {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* textarea — полная ширина */
  .cabinet_anketa .setings_form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ================================================
   ПАТЧ 2026-06-27: финальные фиксы формы
   ================================================ */

/* 1. Убираем градиент с заголовков секций — оставляем только бордер */
.setings_form h2.min_title {
  background: none !important;
}

/* 2. PHOTO TABLE — z-index для open dropdown */
#porfilePhoto {
  position: relative !important;
  overflow: visible !important;
}
/* Активная строка поднимается наверх */
#porfilePhoto tr:focus-within,
#porfilePhoto tr:has(.nice-select.open) {
  position: relative !important;
  z-index: 500 !important;
}
/* Список nice-select в фото таблице — очень высокий z-index */
#porfilePhoto .nice-select.open .list {
  z-index: 9999 !important;
  position: absolute !important;
}
/* 2b. Мобилка — фото select нативный (JS заменит) */
#porfilePhoto .nice-select {
  min-width: 54px;
}

/* 3. Кнопка «Сохранить» — центрирование + отступ снизу */
#saveSetingsBtn {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  margin-bottom: 48px !important;
  margin-top: 20px !important;
  padding: 14px 32px !important;
  font-size: 16px !important;
  letter-spacing: 0.5px;
}
/* Обёртка кнопки */
.form_save_wrap {
  text-align: center;
  margin: 24px 0 48px;
}
.form_save_wrap #saveSetingsBtn {
  display: inline-block !important;
  width: auto !important;
  min-width: 220px;
  margin: 0 auto !important;
}

/* ================================================
   DESKTOP ФИКСЫ
   ================================================ */

@media (min-width: 768px) {

  /* Колонки одинаковой высоты (align-items stretch) */
  .setings_form .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  .setings_form .row .col-sm-6 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    box-sizing: border-box !important;
  }
  .setings_form .row .col-sm-6:first-child {
    padding-right: 16px !important;
  }
  .setings_form .row .col-sm-6:last-child,
  .setings_form .row .col-sm-6:nth-child(2) {
    padding-left: 16px !important;
    padding-right: 0 !important;
  }

  /* Inputs — одинаковая ширина внутри колонок */
  .setings_form .col-sm-6 input[type=text],
  .setings_form .col-sm-6 input[type=number],
  .setings_form .col-sm-6 .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .setings_form .col-sm-6 input[type=number] {
    width: calc(100% - 44px) !important;
  }

  /* Select — внутри col */
  .setings_form .col-sm-6 select {
    width: 100% !important;
  }
  .setings_form .col-sm-6 .nice-select {
    width: 100% !important;
  }
}

/* ================================================
   МОБИЛКА — возврат к 2 колонкам УБРАН, оставляем 1
   ================================================ */
@media (max-width: 767px) {
  /* Nice-select в фото таблице — заменяем на нативный через JS */
  #porfilePhoto .nice-select {
    display: none !important;
  }
  #porfilePhoto select[style*="none"] {
    display: inline-block !important;
    height: 34px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    background: #fff !important;
    width: auto !important;
    min-width: 54px !important;
  }
  #porfilePhoto select {
    display: inline-block !important;
    height: 34px !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
    background: #fff !important;
    width: auto !important;
    min-width: 54px !important;
  }
}

/* === 2026-06-27v2: Мобилка — 2 колонки через Bootstrap float === */
@media (max-width: 767px) {
  /* Убираем flex на .row — используем Bootstrap float */
  .setings_form .row {
    display: block !important;
    overflow: hidden !important;
    margin-left: -5px !important;
    margin-right: -5px !important;
  }
  /* col-xs-6 уже даёт 50% + float:left через Bootstrap */
  .setings_form .row > .col-sm-6 {
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
  }
  /* Шрифты поменьше чтобы влезло в 50% */
  .setings_form .col-sm-6 label {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
    display: block !important;
  }
  .setings_form .col-sm-6 input[type=text],
  .setings_form .col-sm-6 input[type=number] {
    font-size: 13px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .setings_form .col-sm-6 .nice-select {
    width: 100% !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
    height: 34px !important;
    line-height: 34px !important;
    padding-right: 20px !important;
  }
  .setings_form .col-sm-6 .nice-select:after {
    right: 6px !important;
  }
  .setings_form .setings_group .inp_attr {
    font-size: 10px !important;
    padding: 0 2px !important;
  }
}

/* =====================================================
   ДЕСКТОП ФИКСЫ — 2026-06-27 финал
   ===================================================== */

/* --- 1. ФОТО: z-index для nice-select dropdown --- */
#porfilePhoto {
  overflow: visible !important;
  position: relative;
}
#porfilePhoto table,
#porfilePhoto tbody {
  overflow: visible !important;
}
#porfilePhoto tr {
  position: relative;
}
/* Строка с открытым dropdown — поднимаем наверх */
#porfilePhoto tr:has(.nice-select.open) {
  z-index: 9000 !important;
  position: relative !important;
}
#porfilePhoto td:has(.nice-select) {
  overflow: visible !important;
  position: relative;
}
/* Список nice-select всплывает поверх всего */
#porfilePhoto .nice-select.open .list {
  z-index: 99999 !important;
  position: absolute !important;
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
  border: 1px solid #e0e0e0 !important;
  min-width: 80px !important;
}
/* Убираем overflow:hidden на любом предке таблицы фото */
.setings_form section,
.setings_form .card,
.setings_form .panel,
.setings_form > div:not(.row) {
  overflow: visible !important;
}

/* --- 2. УБИРАЕМ ВСЕ ГРАДИЕНТЫ с h2.min_title --- */
.setings_form h2.min_title,
form h2.min_title,
.cabinet_anketa h2.min_title {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* --- 3. «О себе» — padding у col-sm-12 --- */
@media (min-width: 768px) {
  .setings_form .row > .col-sm-12,
  .setings_form > .col-sm-12 {
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* --- 4. СЕКСУАЛЬНЫЕ ПРЕДПОЧТЕНИЯ --- */
/* Каждый li = flex строка: icon+название слева, input справа */
.sexual_preferences li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 4px !important;
  min-height: 34px !important;
  flex-wrap: nowrap !important;
}
/* Иконка */
.sexual_preferences li .icon,
.sexual_preferences li svg,
.sexual_preferences li img,
.sexual_preferences li i {
  flex-shrink: 0 !important;
  width: 18px !important;
}
/* Название — занимает всё доступное место */
.sexual_preferences li .name,
.sexual_preferences li > span:not(.price):not(.inp_attr),
.sexual_preferences li > label,
.sexual_preferences li > p {
  flex: 1 1 auto !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  min-width: 0 !important;
}
/* Инпут цены — фиксированная ширина, справа */
.sexual_preferences li input[type=text] {
  flex: 0 0 72px !important;
  width: 72px !important;
  max-width: 72px !important;
  min-width: 72px !important;
  height: 30px !important;
  padding: 3px 8px !important;
  font-size: 13px !important;
  text-align: center !important;
  border-radius: 5px !important;
  border: 1px solid #e0e0e0 !important;
  box-sizing: border-box !important;
}
/* Колонки предпочтений — одинаковая ширина */
.sexual_preferences .sexual_list_col {
  width: 50% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 0 8px 0 0 !important;
}
.sexual_preferences .sexual_list_col:last-child {
  padding: 0 0 0 8px !important;
}

/* --- 5. КНОПКА «Сохранить» — вертикальное центрирование --- */
#saveSetingsBtn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  line-height: 1 !important;
  padding: 0 32px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
}

/* --- 6. ДЕСКТОП: выравнивание строк в 2-колонках --- */
@media (min-width: 768px) {
  /* min-height на каждую группу = одинаковые строки */
  .setings_form .col-sm-6 .setings_group {
    min-height: 72px !important;
    align-content: flex-start !important;
  }
  /* Инпуты full-width внутри колонки */
  .setings_form .col-sm-6 .nice-select {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .setings_form .col-sm-6 input[type=text],
  .setings_form .col-sm-6 input[type=number] {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .setings_form .col-sm-6 input[type=number] {
    width: calc(100% - 48px) !important;
  }
}

/* Увеличенный отступ только под полем «Имя» */
@media (min-width: 768px) {
  .setings_form .setings_group:has(input[name="name"]) {
    min-height: 87px !important;
  }
}

/* min-height под «Имя» только на мобилке — класс ima-group */
@media (max-width: 767px) {
  .setings_form .ima-group {
    min-height: 78px !important;
  }
}
/* Форсируем flex на setings_group на мобилке */
@media (max-width: 767px) {
  .cabinet_anketa .setings_form .setings_group {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .cabinet_anketa .setings_form .setings_group label {
    flex-basis: 100% !important;
    width: 100% !important;
  }
  /* Рост и Вес: полная ширина инпута + min-height как у других полей */
  .cabinet_anketa .setings_form .sg-rost,
  .cabinet_anketa .setings_form .sg-ves {
    min-height: 79px !important;
    align-content: flex-start !important;
  }
  .cabinet_anketa .setings_form .sg-rost input[type=number],
  .cabinet_anketa .setings_form .sg-ves input[type=number] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* clearfix внутри flex setings_group — убираем из потока */
.setings_form .setings_group > .clearfix {
  display: none !important;
}

/* Выезжаю в — чуть подтягиваем вверх к Грудь */
@media (max-width: 767px) {
  .cabinet_anketa .setings_form .setings_group:has(select[name="go"]) {
    margin-top: -8px !important;
  }
}

/* Карточки — цена Ночь не переносится */
.b-itemlist__one__price .p-line {
  display: block !important;
  width: auto !important;
  white-space: nowrap !important;
}
/* Лейбл «1 час:» внутри p-line — убираем fixed width 120px */
.b-itemlist__one__price .p-line > span {
  display: inline !important;
  width: auto !important;
}

/* Фото таблица — растягиваем на всю ширину десктоп */
/* bundle.css ставит display:block на #porfilePhoto — переопределяем */
@media (min-width: 768px) {
  #porfilePhoto {
    display: table !important;
    table-layout: fixed !important;
    width: 100% !important;
  }
  /* Явные ширины для всех 4 колонок: сумма ~791px */
  #porfilePhoto td:nth-child(1) {
    width: 90px !important;
  }
  #porfilePhoto td:nth-child(2) {
    width: 460px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  #porfilePhoto td:nth-child(3) {
    width: 110px !important;
  }
  #porfilePhoto td:nth-child(4) {
    width: 120px !important;
    white-space: nowrap !important;
  }
}

/* ===== ФОТО ТАБЛИЦА ДЕСКТОП: tr -> flex ===== */
@media (min-width: 768px) {
  #porfilePhoto {
    display: block !important;
    width: 100% !important;
  }
  #porfilePhoto tr {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 4px !important;
  }
  /* Все td: убираем глобальный max-width:100px */
  #porfilePhoto tr td {
    max-width: none !important;
    padding: 0 4px !important;
  }
  /* td1: картинка — 90px */
  #porfilePhoto td.img,
  #porfilePhoto tr td:first-child {
    flex: 0 0 88px !important;
    max-width: 88px !important;
    min-width: 88px !important;
    padding: 0 !important;
  }
  #porfilePhoto td.img img,
  #porfilePhoto tr td:first-child img {
    display: block !important;
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
  }
  /* td2: имя файла — всё оставшееся место */
  #porfilePhoto tr td:nth-child(2) {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 11px !important;
  }
  /* td3: select — 100px */
  #porfilePhoto tr td:nth-child(3) {
    flex: 0 0 100px !important;
    max-width: 100px !important;
    padding: 0 4px !important;
  }
  /* td4: кнопка — 100px */
  #porfilePhoto tr td:nth-child(4) {
    flex: 0 0 100px !important;
    max-width: 100px !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
}
