/* Overlay для затемнения фона */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.popup-overlay.hidden {
  display: none;
  opacity: 0;
}

/* Контейнер popup */
.popup-content {
  background: white;
  border-radius: 8px;
  padding: 30px;
  max-width: 400px;
  width: 90%;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  animation: popupSlideIn 0.3s ease;
}

@keyframes popupSlideIn {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Кнопка закрытия */
.popup-close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 30px;
  color: #999;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
}

.popup-close:hover {
  color: #333;
}

/* Заголовок */
.popup-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}

.popup-subtitle {
  font-size: 14px;
  color: #666;
  margin-bottom: 20px;
  line-height: 1.5;
}

/* Поля формы */
.form-group {
  margin-bottom: 15px;
}

.form-group label {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-size: 14px;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  transition: border-color 0.2s;
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #0d9488;
}

/* Чекбокс */
.form-checkbox {
  margin-bottom: 20px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.form-checkbox input[type="checkbox"] {
  margin-top: 3px;
  cursor: pointer;
}

.form-checkbox label {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  cursor: pointer;
}

.privacy-link {
  color: #0d9488;
  text-decoration: underline;
}

.privacy-link:hover {
  color: #0f766e;
}

/* About */

.about-text h2, .about-text h3{
	color: #111827;
	font-weight: 700;
	font-size: 2.25rem;
    line-height: 2.5rem;
	margin-bottom: 1.5rem;
}

.about-text p{
    line-height: 1.625;
	font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

.faq-answer {
  overflow: hidden;
	    padding-top: 20px;
	line-height: 21px;
  transition: max-height 0.3s ease;
	padding-bottom: 2.25rem!important;
}

.faq-item.active .faq-answer {
  max-height: 200px;
}
@media screen and (max-width: 768px){
	.hero-wrapper{
		padding-top: 200px;
		margin-bottom: 100px;
	}
	.header-menu-wrapper{
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}

.sanatorium-content p, .sanatorium-content li, .sanatorium-content a, .sanatorium-content h1, .sanatorium-content h2, .sanatorium-content h3, .sanatorium-content table{
	color: rgb(55 65 81 / var(--tw-text-opacity, 1));
	margin-bottom: 1rem;
	font-size: 15px;
}

.nav-inner-wrapper{
	padding: 1rem;
	gap: 15px;
	    box-shadow: 0 0 8px #a1a1a1;
}
@media screen and (min-width: 768px){
	.parent-nav-wrapper:hover .nav-inner-wrapper{
		display: flex!important;
	}
	
	.b-nav-top{
		z-index: 50;
	}
	
	.hero-wrapper{
		z-index: 5;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 1255px){
	.header-menu-wrapper{
		height: 150px;
	}
}

@media screen and (max-width: 768px){
	.nav-mobile-inner, .nav-mobile-inner-wrapper{
		display: block;
	}
	.main-nav-ul-wrapper{
		margin-top: 20px;
		margin-bottom: 20px;
	}
	
	.main-nav-ul{
		flex-direction: column;
		gap: 15px;
	}
	
	.nav-wrapper a, .parent-nav-wrapper a{
		display: flex;
		width: 100%;
		justify-content: space-between;
	}
	
	.nav-inner-wrapper {
		background: transparent;
		box-shadow: none;
		position: relative;
	}
	.parent-nav-wrapper{
		width: 100%;
	}	
	.nav-inner-link{
    	white-space: normal!important;
		line-height: 21px;
	}
}

.callback-form .block{
	margin-bottom: 7px;
}

@media screen and (min-width: 1024px) and (max-width: 1255px){
	.main-form-text{
		position: sticky;
		height: max-content;
		top: 162px;
	}
}
@media screen and (min-width: 1255px) {
	.main-form-text{
		position: sticky;
		height: max-content;
		top: 90px;
	}
}



