/* Single product page — map link overlay, attribute icons, category tabs */

#product-page h1,
#product-page .page-header h1,
#product-page .wrapper .page-header h1 {
  font-size: clamp(1.25rem, 2.5vw, 2rem);
}

#product-page .cat-selector li {
  cursor: pointer;
  list-style: none;
}

/* Вкладки: по умолчанию всё скрыто, видна только .is-active */
#product-page .product-tab-panel {
  display: none !important;
}

#product-page .product-tab-panel.is-active {
  display: block !important;
}

#product-page .text-block.product-tab-panel.is-active {
  display: block !important;
}

#product-page .cat-selector li.is-hidden {
  display: none !important;
}

#product-page #rooms {
  display: none;
}

#product-page #rooms.has-tab-content {
  display: block;
}

#product-page #rooms .rooms-wrap:empty,
#product-page #rooms:not(.has-tab-content) .rooms-wrap {
  display: none;
}

#product-page #map-google .map-google__box {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 12px;
}

#product-page #map-google #map {
  height: 360px;
  margin-bottom: 0 !important;
  z-index: 1;
}

#product-page #map-google .map-link {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1000;
  margin: 0 !important;
  padding: 10px 14px 10px 36px;
  max-width: none;
  width: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 14px rgba(25, 30, 59, 0.18);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.25;
  color: var(--blue-main, #1668e3);
  opacity: 1;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

#product-page #map-google .map-link:hover {
  opacity: 1;
  background: var(--blue-secondary, #eef4fa);
  box-shadow: 0 4px 18px rgba(25, 30, 59, 0.22);
}

#product-page #map-google .map-link::before {
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

#product-page #map-google .map-google__address {
  margin: 0 0 24px;
  text-align: right;
  color: var(--dark-secondary, #525975);
  font-size: 15px;
  line-height: 1.4;
}

#product-page .services .service-item img,
#product-page .nearby .near-item img,
#product-page #rooms .services .attrib img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

#product-page .services .service-item:not(:has(img)) p,
#product-page .nearby .item-name:not(:has(img)) p,
#product-page #rooms .services .attrib:not(:has(img)) p {
  margin-inline-start: 0;
}
