/*
 * Меню СПА: дополнения к стилям ресторана из main.css.
 * Подключается только на главной СПА (spa-menu-main.php) и страницах разделов
 * (spa_category) — см. includes/spa-menu-front.php. Ресторан не затрагивает:
 * все правила начинаются с .spa_menu / .spa_menu_main.
 */

/* ---------- Плитки разделов: шире, чем у ресторана — названия длиннее ---------- */
.spa_menu_main__parent-buttons .restaurant_menu_main__parent-btn {
  width: 130px;
  height: auto;
  min-height: 170px;
  padding: 10px 8px 16px;
}
.spa_menu_main__parent-buttons .restaurant_menu_main__parent-btn-label {
  font-size: 13px;
  overflow-wrap: anywhere;
  hyphens: auto;
}
/* Фото раздела в круге — на весь круг (у ресторана там маленькая иконка 48px) */
.spa_menu_main__parent-buttons .restaurant_menu_main__parent-btn-icon {
  overflow: hidden;
}
.spa_menu_main__parent-buttons .restaurant_menu_main__parent-btn-icon img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}
.spa_menu_main__leaf {
  display: block;
}
.spa_menu_main__child-categories {
  margin-bottom: 50px;
  min-height: 50px;
}
@media (max-width: 576px) {
  .spa_menu_main__parent-buttons .restaurant_menu_main__parent-btn {
    width: calc(50% - 8px);
    max-width: 160px;
  }
  .spa_menu_main__child-categories {
    margin-bottom: 35px;
  }
}

/* ---------- Страница раздела ---------- */
.spa_menu__back-wrap {
  margin-bottom: 15px;
}
.spa_menu__back {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #823879;
  text-decoration: none;
}
.spa_menu__back:hover {
  text-decoration: underline;
}
/* Вкладки разделов: на телефоне названия длинные — пусть переносятся */
@media (max-width: 576px) {
  .spa_menu__nav .restaurant_menu__nav-item {
    min-width: 0;
    height: auto;
    min-height: 40px;
    padding: 6px 10px;
    line-height: 1.25;
  }
}
.spa_menu__nav--sub {
  margin-top: -30px;
}
.spa_menu__intro p {
  margin: 0 0 6px;
}
/* Фото раздела — баннер */
.spa_menu__cover {
  margin: 0 0 40px;
  border-radius: 20px;
  overflow: hidden;
  background: #F5F0F5;
  aspect-ratio: 3 / 1;
}
.spa_menu__cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 576px) {
  .spa_menu__cover {
    aspect-ratio: 16 / 9;
    border-radius: 16px;
    margin-bottom: 25px;
  }
}

/* ---------- Карточка процедуры ---------- */
/* Без фото не оставляем пустое место слева под круг */
.spa_menu__service--no-image {
  margin-left: 0;
  padding-left: 24px;
}
@media (max-width: 576px) {
  .spa_menu__service--no-image {
    padding-left: 16px;
  }
}
.spa_menu__services .restaurant_menu__dish-info {
  justify-content: flex-start;
}
.spa_menu__desc {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.45;
  color: #666;
}
/* Список «что входит» (пакеты) */
.spa_menu__list {
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}
.spa_menu__list li {
  position: relative;
  margin: 0 0 4px;
  padding-left: 14px;
  font-size: 13px;
  line-height: 1.45;
  color: #666;
}
.spa_menu__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #823879;
}
.spa_menu__params {
  margin-top: auto;
}
.spa_menu__params .restaurant_menu__dish-param-cell {
  gap: 6px;
}
.spa_menu__params .restaurant_menu__dish-param-row {
  align-items: center;
  flex-wrap: wrap;
}
/* Цена в рамке — как кнопки «+ 100 г 40 бат» у блюд ресторана (только без клика) */
.spa_menu__price {
  display: inline-block;
  padding: 3px 10px;
  border: 1px solid #c9a6c5;
  border-radius: 20px;
  background: #fff;
  color: #7a2e74;
  font-size: 13px;
  line-height: 1.3;
  white-space: nowrap;
}

/* Правки после ревью 10.11 */
/* Вертикальные фото в баннере: показываем верхнюю часть кадра (лицо мастера не обрезается) */
.spa_menu__cover img { object-position: center 25%; }
/* Один вариант «длительность + цена» — на всю ширину карточки */
.spa_menu__params .restaurant_menu__dish-param-cell:only-child { grid-column: 1 / -1; }
/* Узкие телефоны: каждый вариант своей строкой «Длительность … Цена …» */
@media (max-width: 400px) {
  .spa_menu__params { grid-template-columns: 1fr; }
  .spa_menu__params .restaurant_menu__dish-param-cell { flex-direction: row; flex-wrap: wrap; gap: 4px 12px; }
}
