* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-ms-text-size-adjust: none;
-moz-text-size-adjust: none;
-webkit-text-size-adjust: none;
text-size-adjust: none;
-webkit-user-drag: none;
-webkit-touch-callout: none;
-ms-content-zooming: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}

html, body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
overflow: hidden;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
background-color: #1a1410;
color: #f5f5dc;
}

a, a:hover, a:active, a:visited {
text-decoration: none;
color: inherit;
}

#pano {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}

#titleBar {
position: absolute;
top: 0;
left: 0;
right: 40px;
height: 40px;
text-align: center;
}

.mobile #titleBar {
height: 50px;
right: 50px;
}

body.fullscreen-enabled #titleBar {
right: 80px;
}

body.fullscreen-enabled.mobile #titleBar {
right: 100px;
}

body.multiple-scenes #titleBar {
left: 40px;
}

body.multiple-scenes.mobile #titleBar {
left: 50px;
}

#titleBar .sceneName {
width: 100%;
height: 100%;
line-height: 30px;
padding: 5px;
background-color: rgb(44, 24, 16);
background-color: rgba(44, 24, 16, 0.5);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
}

.mobile #titleBar .sceneName {
line-height: 40px;
}

#fullscreenToggle {
display: none;
position: absolute;
top: 0;
right: 0;
width: 40px;
height: 40px;
padding: 5px;
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.5);
}

.mobile #fullscreenToggle {
width: 50px;
height: 50px;
}

body.fullscreen-enabled #fullscreenToggle {
display: block;
}

#fullscreenToggle .icon {
position: absolute;
top: 5px;
right: 5px;
width: 30px;
height: 30px;
}

.mobile #fullscreenToggle .icon {
top: 10px;
right: 10px;
}

#fullscreenToggle .icon.on {
display: none;
}

#fullscreenToggle .icon.off {
display: block;
}

#fullscreenToggle.enabled .icon.on {
display: block;
}

#fullscreenToggle.enabled .icon.off {
display: none;
}

#autorotateToggle {
display: block;
position: absolute;
top: 0;
right: 0;
width: 40px;
height: 40px;
padding: 5px;
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.5);
}

.mobile #autorotateToggle {
width: 50px;
height: 50px;
}

body.fullscreen-enabled #autorotateToggle {
right: 40px;
}

body.fullscreen-enabled.mobile #autorotateToggle {
right: 50px;
}

#autorotateToggle .icon {
position: absolute;
top: 5px;
right: 5px;
width: 30px;
height: 30px;
}

.mobile #autorotateToggle .icon {
top: 10px;
right: 10px;
}

#autorotateToggle .icon.on {
display: none;
}

#autorotateToggle .icon.off {
display: block;
}

#autorotateToggle.enabled .icon.on {
display: block;
}

#autorotateToggle.enabled .icon.off {
display: none;
}

#sceneListToggle {
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 40px;
padding: 5px;
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.9);
}

.mobile #sceneListToggle {
width: 50px;
height: 50px;
}

#sceneListToggle .text {
position: absolute;
top: 5px;
left: 15px;
width: 100%;
line-height: 30px;
}

#sceneListToggle .icon {
position: absolute;
top: 5px;
right: 5px;
width: 30px;
height: 30px;
}

.mobile #sceneListToggle .icon {
top: 10px;
right: 10px;
}

#sceneListToggle .icon.on {
display: none;
}

#sceneListToggle .icon.off {
display: block;
}

#sceneListToggle.enabled .icon.on {
display: block;
}

#sceneListToggle.enabled .icon.off {
display: none;
}

#sceneList {
position: absolute;
top: 0;
left: -220px;
padding-top: 40px;
width: 220px;
max-height: 100%;
overflow-x: hidden;
overflow-y: auto;
margin-left: 0;
-webkit-transition: margin-left 0.5s ease-in-out;
transition: margin-left 0.5s ease-in-out;
}

.mobile #sceneList {
padding-top: 50px;
}

#sceneList .scenes {
width: 100%;
background-color: rgb(44, 24, 16);
background-color: rgba(44, 24, 16, 0.5);
}

.mobile #sceneList {
width: 100%;
height: 100%;
left: -100%;
}

.mobile #sceneList.enabled {
margin-left: 100%;
}

.mobile #sceneList .scenes {
height: 100%;
}

#sceneList.enabled {
margin-left: 220px;
}

#sceneList .scene {
display: block;
width: 100%;
height: 30px;
}

.mobile #sceneList .scene {
height: 40px;
}

#sceneList .scene .text {
width: 100%;
height: 100%;
padding: 0 15px;
line-height: 30px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.mobile #sceneList .scene .text {
line-height: 40px;
}

.no-touch #sceneList .scene:hover {
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.7);
}

#sceneList .scene.current {
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.7);
}

body.single-scene #sceneList, body.single-scene #sceneListToggle {
display: none;
}

.link-hotspot {
width: 60px;
height: 60px;
margin-left: -30px;
margin-top: -30px;
opacity: 0.9;
-webkit-transition: opacity 0.2s;
transition: opacity 0.2s;
}

.no-touch .link-hotspot:hover {
opacity: 1;
}

.mobile .link-hotspot {
width: 70px;
height: 70px;
}

.link-hotspot-icon {
width: 100%;
height: 100%;
cursor: pointer;
}

.link-hotspot-tooltip {
position: absolute;
left: 100%;
top: 14px;
margin-left: 3px;
font-size: 16px;
max-width: 300px;
padding: 8px 10px;
border-radius: 5px;
background-color: rgb(44, 24, 16);
background-color: rgba(44, 24, 16, 0.5);
color: #f5f5dc;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
cursor: pointer;
opacity: 0;
-ms-transform: translateX(-8px);
-webkit-transform: translateX(-8px);
transform: translateX(-8px);
-webkit-transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, opacity 0.3s;
transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, opacity 0.3s;
}

.mobile .link-hotspot {
top: 19px;
}

.no-touch .link-hotspot:hover .link-hotspot-tooltip {
opacity: 1;
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0);
}

.link-hotspot-tooltip {
pointer-events: none;
}

.no-touch .link-hotspot:hover .link-hotspot-tooltip {
pointer-events: all;
}

.tooltip-fallback .link-hotspot-tooltip {
display: none;
}

.no-touch .tooltip-fallback .link-hotspot:hover .link-hotspot-tooltip {
display: block;
}

.info-hotspot {
line-height: 1.2em;
opacity: 0.9;
-webkit-transition: opacity 0.2s 0.2s;
transition: opacity 0.2s 0.2s;
}

.no-touch .info-hotspot:hover {
opacity: 1;
-webkit-transition: opacity 0.2s;
transition: opacity 0.2s;
}

.info-hotspot.visible {
opacity: 1;
}

.info-hotspot .info-hotspot-header {
width: 40px;
height: 40px;
border-radius: 20px;
background-color: rgb(139, 115, 85);
cursor: pointer;
-webkit-transition: width 0.3s ease-in-out 0.5s, border-radius 0.3s ease-in-out 0.5s;
transition: width 0.3s ease-in-out 0.5s, border-radius 0.3s ease-in-out 0.5s;
}

.mobile .info-hotspot .info-hotspot-header {
width: 50px;
height: 50px;
border-radius: 25px;
}

.desktop.no-touch .info-hotspot .info-hotspot-header:hover {
width: 260px;
border-radius: 5px;
-webkit-transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out;
transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out;
}

.desktop .info-hotspot.visible .info-hotspot-header,
.desktop.no-touch .info-hotspot.visible .info-hotspot-header:hover {
width: 260px;
border-radius: 5px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
-webkit-transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out;
transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out;
}

.info-hotspot .info-hotspot-icon-wrapper {
width: 40px;
height: 40px;
}

.mobile .info-hotspot .info-hotspot-icon-wrapper {
width: 50px;
height: 50px;
}

.info-hotspot .info-hotspot-icon {
width: 90%;
height: 90%;
margin: 5%;
}

.info-hotspot .info-hotspot-title-wrapper {
position: absolute;
left: 40px;
top: 0;
width: 0;
height: 40px;
padding: 0;
overflow: hidden;
-webkit-transition: width 0s 0.4s, padding 0s 0.4s;
transition: width 0s 0.4s, padding 0s 0.4s;
}

.desktop .info-hotspot.visible .info-hotspot-title-wrapper,
.desktop.no-touch .info-hotspot .info-hotspot-header:hover .info-hotspot-title-wrapper {
width: 220px;
padding: 0 5px;
-webkit-transition: width 0s 0.4s, padding 0s 0.4s;
transition: width 0s 0.4s, padding 0s 0.4s;
}

.info-hotspot .info-hotspot-title-wrapper:before {
content: '';
display: inline-block;
vertical-align: middle;
height: 100%;
}

.info-hotspot .info-hotspot-title {
display: inline-block;
vertical-align: middle;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
}

.info-hotspot .info-hotspot-close-wrapper {
position: absolute;
left: 260px;
top: 0;
height: 40px;
width: 40px;
border-top-right-radius: 5px;
background-color: rgb(61, 40, 23);
visibility: hidden;
-ms-transform: perspective(200px) rotateY(90deg);
-webkit-transform: perspective(200px) rotateY(90deg);
transform: perspective(200px) rotateY(90deg);
-ms-transform-origin: 0 50% 0;
-webkit-transform-origin: 0 50% 0;
transform-origin: 0 50% 0;
-webkit-transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0.6s;
transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0.6s;
}

.desktop .info-hotspot.visible .info-hotspot-close-wrapper {
visibility: visible;
-ms-transform: perspective(200px) rotateY(0deg);
-webkit-transform: perspective(200px) rotateY(0deg);
transform: perspective(200px) rotateY(0deg);
-webkit-transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0s;
transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0s;
}

.info-hotspot .info-hotspot-close-icon {
width: 70%;
height: 70%;
margin: 15%;
}

.info-hotspot .info-hotspot-text {
position: absolute;
width: 300px;
height: auto;
max-height: 200px;
top: 40px;
left: 0;
padding: 10px;
background-color: rgb(44, 24, 16);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
overflow-y: auto;
visibility: hidden;
-ms-transform: perspective(200px) rotateX(-89.999deg);
-webkit-transform: perspective(200px) rotateX(-89.999deg);
transform: perspective(200px) rotateX(-89.999deg);
-ms-transform-origin: 50% 0 0;
-webkit-transform-origin: 50% 0 0;
transform-origin: 50% 0 0;
-webkit-transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0.3s;
transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0.3s;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
}

.desktop .info-hotspot.visible .info-hotspot-text {
visibility: visible;
-ms-transform: perspective(200px) rotateX(0deg);
-webkit-transform: perspective(200px) rotateX(0deg);
transform: perspective(200px) rotateX(0deg);
-webkit-transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0s;
transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0s;
}

.desktop .info-hotspot-modal {
display: none;
}

.info-hotspot-modal {
top: 0;
left: 0;
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
z-index: 11000 !important;
background-color: rgba(0,0,0,.5);
line-height: 1.2em;
opacity: 0;
visibility: hidden;
-webkit-transition: opacity 0.2s ease-in-out 0.5s, visibility 0s 0.7s;
transition: opacity 0.2s ease-in-out 0.5s, visibility 0s 0.7s;
}

.info-hotspot-modal.visible {
opacity: 1;
visibility: visible;
-webkit-transition: opacity 0.2s ease-in-out, visibility 0s 0s;
transition: opacity 0.2s ease-in-out, visibility 0s 0s;
}

.info-hotspot-modal .info-hotspot-header {
position: absolute;
top: 60px;
left: 10px;
right: 10px;
width: auto;
height: 50px;
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.5);
opacity: 0;
-webkit-transition: opacity 0.3s ease-in-out 0.2s;
transition: opacity 0.3s ease-in-out 0.2s;
}

.info-hotspot-modal.visible .info-hotspot-header {
opacity: 1;
-webkit-transition: opacity 0.3s ease-in-out 0.2s;
transition: opacity 0.3s ease-in-out 0.2s;
}

.info-hotspot-modal .info-hotspot-icon-wrapper {
width: 50px;
height: 50px;
}

.info-hotspot-modal .info-hotspot-icon {
width: 90%;
height: 90%;
margin: 5%;
}

.info-hotspot-modal .info-hotspot-title-wrapper {
position: absolute;
top: 0;
left: 50px;
right: 50px;
width: auto;
height: 50px;
padding: 0 10px;
}

.info-hotspot-modal .info-hotspot-title-wrapper:before {
content: '';
display: inline-block;
vertical-align: middle;
height: 100%;
}

.info-hotspot-modal .info-hotspot-title {
display: inline-block;
vertical-align: middle;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
}

.info-hotspot-modal .info-hotspot-close-wrapper {
position: absolute;
top: 0;
right: 0;
width: 50px;
height: 50px;
background-color: rgb(61, 40, 23);
background-color: rgba(61, 40, 23, 0.5);
cursor: pointer;
}

.info-hotspot-modal .info-hotspot-close-icon {
width: 70%;
height: 70%;
margin: 15%;
}

.info-hotspot-modal .info-hotspot-text {
position: absolute;
top: 110px;
bottom: 10px;
left: 10px;
right: 10px;
padding: 10px;
background-color: rgb(44, 24, 16);
background-color: rgba(44, 24, 16, 0.5);
overflow-y: auto;
opacity: 0;
-webkit-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
}

.info-hotspot-modal.visible .info-hotspot-text {
opacity: 1;
-webkit-transition: opacity 0.3s ease-in-out 0.4s;
transition: opacity 0.3s ease-in-out 0.4s;
}

.viewControlButton {
display: none;
position: absolute;
bottom: 0;
left: 50%;
width: 40px;
height: 40px;
padding: 5px;
background-color: rgb(139, 115, 85);
background-color: rgba(139, 115, 85, 0.5);
}

body.view-control-buttons .viewControlButton {
display: block;
}

@media (max-width: 600px) {
body.view-control-buttons .viewControlButton {
display: none;
}
}

.viewControlButton .icon {
position: absolute;
top: 5px;
right: 5px;
width: 30px;
height: 30px;
}

.viewControlButton-1 {
margin-left: -145px;
}

.viewControlButton-2 {
margin-left: -95px;
}

.viewControlButton-3 {
margin-left: -45px;
}

.viewControlButton-4 {
margin-left: 5px;
}

.viewControlButton-5 {
margin-left: 55px;
}

.viewControlButton-6 {
margin-left: 105px;
}


/* === ТЕМНАЯ ТЕМА ARTANTIQUE.RU === */

@import url('https://fonts.googleapis.com/css?family=Cuprum:400,700&subset=cyrillic');

html, body {
  font-family: Arial, Verdana, Helvetica;
  font-size: 13px;
}

#titleBar .sceneName {
  font-family: 'Cuprum', sans-serif !important;
  font-size: 15px;
  font-weight: normal;
  border-bottom: 2px solid #d4af37;
}

.mobile #titleBar .sceneName {
  font-size: 16px;
}

.viewControlButton,
#fullscreenToggle,
#autorotateToggle,
#sceneListToggle {
  border: 1px solid #d4af37;
}

.viewControlButton:hover,
#fullscreenToggle:hover,
#autorotateToggle:hover,
#sceneListToggle:hover {
  background-color: rgba(212, 175, 55, 0.4);
  border-color: #f5f5dc;
}

#sceneList .scene .text {
  font-family: Arial, Verdana, Helvetica;
  font-size: 13px;
}

.mobile #sceneList .scene .text {
  font-size: 14px;
}

#sceneList .scene.current {
  background-color: rgba(212, 175, 55, 0.3);
  border-left: 3px solid #d4af37;
}

.link-hotspot {
  filter: sepia(0.8) saturate(2) hue-rotate(10deg);
}

.no-touch .link-hotspot:hover {
  transform: scale(1.1);
}

.link-hotspot-tooltip {
  border: 1px solid #d4af37;
  font-family: Arial, Verdana, Helvetica;
  font-size: 14px;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.info-hotspot .info-hotspot-header {
  border: 2px solid #d4af37;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.desktop.no-touch .info-hotspot .info-hotspot-header:hover {
  background-color: rgba(212, 175, 55, 0.4);
  border-color: #f5f5dc;
}

.info-hotspot .info-hotspot-icon {
  filter: brightness(2) sepia(1) saturate(3) hue-rotate(10deg);
}

.info-hotspot .info-hotspot-title {
  color: #d4af37;
  font-family: 'Cuprum', sans-serif !important;
  font-size: 15px;
  font-weight: bold;
}

.info-hotspot .info-hotspot-close-icon {
  filter: brightness(2) sepia(1) saturate(3) hue-rotate(10deg);
}

.info-hotspot .info-hotspot-text {
  color: #f5f5dc;
  font-family: Arial, Verdana, Helvetica;
  font-size: 13px;
  line-height: 1.6;
}

.info-hotspot-text a {
  color: #d4af37 !important;
  text-decoration: none;
  border-bottom: 1px solid #d4af37;
  font-weight: bold;
}

.info-hotspot-text a:hover {
  color: #f5f5dc !important;
  border-bottom-color: #f5f5dc;
  text-decoration: underline;
}

.info-hotspot-modal .info-hotspot-title {
  color: #d4af37;
  font-family: 'Cuprum', sans-serif !important;
  font-size: 16px;
  font-weight: bold;
}

.info-hotspot-modal .info-hotspot-text {
  color: #f5f5dc;
  font-family: Arial, Verdana, Helvetica;
  font-size: 14px;
}

.info-hotspot-text::-webkit-scrollbar {
  width: 8px;
  background-color: rgba(44, 24, 16, 0.3);
}

.info-hotspot-text::-webkit-scrollbar-thumb {
  background: rgba(139, 115, 85, 0.6);
  border-radius: 4px;
}

/* ============================================
   УМЕНЬШЕННАЯ ВЫСОТА ВЕРХНЕЙ ПАНЕЛИ
   Добавьте в КОНЕЦ вашего style.css
   ============================================ */

/* === DESKTOP: titleBar 32px вместо 40px === */

#titleBar {
  height: 32px !important;
  right: 32px !important;
}

#titleBar .sceneName {
  line-height: 22px !important;
  font-size: 14px !important;
  padding: 5px !important;
}

/* Корректировка для кнопок справа */
body.fullscreen-enabled #titleBar {
  right: 64px !important;
}

body.fullscreen-enabled.mobile #titleBar {
  right: 100px !important;
}

/* Корректировка для списка сцен слева */
body.multiple-scenes #titleBar {
  left: 32px !important;
}

body.multiple-scenes.mobile #titleBar {
  left: 50px !important;
}

/* Mobile версия - оставляем удобной */
.mobile #titleBar {
  height: 50px !important;
}

.mobile #titleBar .sceneName {
  line-height: 40px !important;
  font-size: 16px !important;
}

/* Кнопки управления тоже уменьшаем */
#fullscreenToggle,
#autorotateToggle,
#sceneListToggle {
  height: 32px !important;
  width: 32px !important;
}

.mobile #fullscreenToggle,
.mobile #autorotateToggle,
.mobile #sceneListToggle {
  height: 50px !important;
  width: 50px !important;
}

#fullscreenToggle .icon,
#autorotateToggle .icon,
#sceneListToggle .icon {
  width: 24px !important;
  height: 24px !important;
  top: 4px !important;
  right: 4px !important;
}

.mobile #fullscreenToggle .icon,
.mobile #autorotateToggle .icon,
.mobile #sceneListToggle .icon {
  width: 30px !important;
  height: 30px !important;
  top: 10px !important;
  right: 10px !important;
}

/* Автовращение смещаем если есть fullscreen */
body.fullscreen-enabled #autorotateToggle {
  right: 32px !important;
}

body.fullscreen-enabled.mobile #autorotateToggle {
  right: 50px !important;
}

/* Список сцен - корректируем padding */
#sceneList {
  padding-top: 32px !important;
}

.mobile #sceneList {
  padding-top: 50px !important;
}

/* ============================================
   УЛУЧШЕНИЕ ОТОБРАЖЕНИЯ INFO HOTSPOT
   Добавьте в конец вашего style.css
   ============================================ */

/* === УВЕЛИЧЕНИЕ ШИРИНЫ HOTSPOT === */

.desktop .info-hotspot.visible .info-hotspot-header,
.desktop.no-touch .info-hotspot.visible .info-hotspot-header:hover {
  width: 380px !important; /* было 260px */
}

.desktop.no-touch .info-hotspot .info-hotspot-header:hover {
  width: 380px !important; /* было 260px */
}

.desktop .info-hotspot.visible .info-hotspot-title-wrapper,
.desktop.no-touch .info-hotspot .info-hotspot-header:hover .info-hotspot-title-wrapper {
  width: 340px !important; /* было 220px */
}

/* === УВЕЛИЧЕНИЕ ОКНА ТЕКСТА === */

.info-hotspot .info-hotspot-text {
  width: 420px !important; /* было 300px */
  max-height: 280px !important; /* было 200px */
  line-height: 1.4 !important; /* было 1.6 */
  padding: 12px !important;
}

/* === КОРРЕКТИРОВКА КНОПКИ ЗАКРЫТИЯ === */

.info-hotspot .info-hotspot-close-wrapper {
  left: 380px !important; /* было 260px */
}

/* === МОБИЛЬНАЯ ВЕРСИЯ - МОДАЛЬНОЕ ОКНО === */

.info-hotspot-modal .info-hotspot-text {
  line-height: 1.4 !important;
  font-size: 14px !important;
}

/* === ДОПОЛНИТЕЛЬНЫЕ УЛУЧШЕНИЯ === */

/* Убираем лишние отступы у параграфов */
.info-hotspot-text p {
  margin: 0 0 8px 0;
}

.info-hotspot-text p:last-child {
  margin-bottom: 0;
}

/* Ссылка в начале текста - меньший отступ */
.info-hotspot-text a {
  display: inline-block;
  margin-bottom: 6px;
}

/* Для текста после ссылки */
.info-hotspot-text {
  text-align: justify;
}

/* === АДАПТАЦИЯ ДЛЯ МАЛЕНЬКИХ ЭКРАНОВ === */

@media (max-width: 1024px) {
  .info-hotspot .info-hotspot-text {
    width: 360px !important;
    max-height: 250px !important;
  }

  .desktop .info-hotspot.visible .info-hotspot-header,
  .desktop.no-touch .info-hotspot .info-hotspot-header:hover {
    width: 320px !important;
  }

  .info-hotspot .info-hotspot-close-wrapper {
    left: 320px !important;
  }
}

@media (max-width: 768px) {
  .info-hotspot .info-hotspot-text {
    width: 90vw !important;
    max-width: 420px !important;
  }
}

/* ============================================
   АВТОМАТИЧЕСКОЕ ОТКРЫТИЕ HOTSPOT ПРИ НАВЕДЕНИИ
   Добавьте в конец вашего style.css
   ============================================ */

/* === ОТКРЫТИЕ ТЕКСТА ПРИ НАВЕДЕНИИ === */

/* Показываем текст при наведении на header */
.desktop.no-touch .info-hotspot:hover .info-hotspot-text {
  visibility: visible !important;
  -ms-transform: perspective(200px) rotateX(0deg) !important;
  -webkit-transform: perspective(200px) rotateX(0deg) !important;
  transform: perspective(200px) rotateX(0deg) !important;
  -webkit-transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0s !important;
  transition: -ms-transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s, transform 0.3s 0.3s, visibility 0s 0s !important;
}

/* Показываем кнопку закрытия при наведении */
.desktop.no-touch .info-hotspot:hover .info-hotspot-close-wrapper {
  visibility: visible !important;
  -ms-transform: perspective(200px) rotateY(0deg) !important;
  -webkit-transform: perspective(200px) rotateY(0deg) !important;
  transform: perspective(200px) rotateY(0deg) !important;
  -webkit-transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0s !important;
  transition: -ms-transform 0.3s, -webkit-transform 0.3s, transform 0.3s, visibility 0s 0s !important;
}

/* Разворачиваем header при наведении */
.desktop.no-touch .info-hotspot:hover .info-hotspot-header {
  width: 380px !important;
  border-radius: 5px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  -webkit-transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out !important;
  transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out !important;
}

/* Показываем title при наведении */
.desktop.no-touch .info-hotspot:hover .info-hotspot-title-wrapper {
  width: 340px !important;
  padding: 0 5px !important;
  -webkit-transition: width 0s 0.4s, padding 0s 0.4s !important;
  transition: width 0s 0.4s, padding 0s 0.4s !important;
}

/* Убираем задержку при уходе мыши */
.desktop.no-touch .info-hotspot .info-hotspot-text {
  -webkit-transition: -ms-transform 0.2s, -webkit-transform 0.2s, transform 0.2s, visibility 0s 0.2s;
  transition: -ms-transform 0.2s, -webkit-transform 0.2s, transform 0.2s, visibility 0s 0.2s;
}

.desktop.no-touch .info-hotspot .info-hotspot-close-wrapper {
  -webkit-transition: -ms-transform 0.2s, -webkit-transform 0.2s, transform 0.2s, visibility 0s 0.2s;
  transition: -ms-transform 0.2s, -webkit-transform 0.2s, transform 0.2s, visibility 0s 0.2s;
}

/* Плавное схлопывание header при уходе мыши */
.desktop.no-touch .info-hotspot .info-hotspot-header {
  -webkit-transition: width 0.3s ease-in-out 0.3s, border-radius 0.3s ease-in-out 0.3s;
  transition: width 0.3s ease-in-out 0.3s, border-radius 0.3s ease-in-out 0.3s;
}

/* === СОХРАНЯЕМ ПОВЕДЕНИЕ ДЛЯ КЛИКНУТЫХ HOTSPOT === */

/* Если hotspot кликнут (класс .visible), он остается открытым */
.desktop .info-hotspot.visible .info-hotspot-text,
.desktop .info-hotspot.visible .info-hotspot-close-wrapper,
.desktop .info-hotspot.visible .info-hotspot-header {
  /* Оставляем стандартное поведение для зафиксированных hotspot */
}

/* === МОБИЛЬНАЯ ВЕРСИЯ - БЕЗ ИЗМЕНЕНИЙ === */
/* На мобильных устройствах hotspot открывается только по клику */
.mobile .info-hotspot {
  /* Стандартное поведение */
}

/* === УЛУЧШЕНИЕ UX === */

/* Указатель при наведении на весь hotspot */
.desktop.no-touch .info-hotspot:hover {
  cursor: pointer;
}

/* Текст остается видимым при наведении на него */
.desktop.no-touch .info-hotspot:hover .info-hotspot-text:hover {
  visibility: visible !important;
}
