/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.5
	Stable tag: 3.4.5
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

/* Lightbox trigger: show pointer cursor (opens keys-caption gallery on click). */
.veridan-open-keys-lightbox {
	cursor: pointer;
}

.wave-button:hover  P {
    color: white !important;
}

.wave-button:hover  {
  background: linear-gradient(90deg, 
    #01A5FF, 
    #050CFF, 
    #01A5FF, 
    #050CFF
  );
  background-size: 300% 100%;
  color: white;
  padding: 15px 40px;
  border: none;
  border-radius: 500px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  animation: gradientFlow 8s ease infinite;
}

.wave-button:hover {
  animation: gradientFlow 3s ease infinite;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(1, 165, 255, 0.4);
}

@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.mobile-menu {
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh;
    height: auto;
    transition: left 0.3s ease;
    z-index: 1000;
    overflow-x: hidden;
    overflow-y: auto;
}

@supports (height: 100dvh) {
    .mobile-menu {
        min-height: 100dvh;
    }
}

.mobile-nav {
    position: relative;
    width: 100%;
    height: 100%;
}

.mobile-nav ul {
    list-style: none;
    padding: 0;
   
    
    
}
.mobile-nav li{
    border-bottom: 2px solid #D4DAE6;
    padding:10px 0; 
    color: #3C414B;
    
}

.mobile-nav a {
    color: #3C414B;
    font-family: 'Montserrat';
font-style: normal;
font-weight: 400;
font-size: 18px;
line-height: 22px;
    
}


.mobile-nav > ul {
    transition: transform 0.3s ease;
}

.mobile-menu.submenu-active .mobile-nav > ul {
    transform: translateX(-100%);
}

.menu-header{
    border: none !important;
    
}

.menu-header a {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-size: 20px;
line-height: 24px;
}

.has-submenu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.submenu-btn {
    background: none;
    border: none;
    font-size: 1.5em;
    cursor: pointer;
    padding: 0 10px;
}

.submenu {
    position: absolute;
    top: 0;
    right: 100%;
    width: 100%;
    height: 100%;
    background: #F5F7FA;
    transition: transform 0.3s ease;
    transform: translateX(0);
}

.submenu.active {
    transform: translateX(+100%);
}



.submenu-back {
    background: none;
    border: none;
    font-size: 1.5em;
    cursor: pointer;
    margin-right: 10px;
}


.submenu-content ul {
    list-style: none;
    padding: 0;
  
}

.submenu-content a {
    display: block;
  
    text-decoration: none;
    color: #333;
    
}


        
 .elementor-widget-off-canvas .e-off-canvas__content {
            box-shadow: none;
        }
        


.brendcolors h4 {
    background: linear-gradient(90deg, #01A5FF 0%, #050CFF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
.brendcolors .elementor-button  {
  border-color: linear-gradient(90deg, #01A5FF 0%, #050CFF 100%)!important;
    
    
}

.form4 .elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-top: 30px;
    margin-bottom: 30px;
}
.form4 button {
    margin-bottom: 0px;
}

.form4 .elementor-field-label {
    font-family: 'Montserrat'!important;
font-style: normal!important;
font-weight: 500!important;
font-size: 22px!important;
line-height: 27px!important;
color: #3C414B!important;
    display: block;
    text-align: center !important;
    width: 100%;
    
    
}


.form4 form {
    display: flex;
    align-content: stretch;
    flex-wrap: wrap;
    flex-direction: row;
    min-height: 100%;
}

.form4 .e-form__buttons{
    align-content: flex-end;
}




.form4 .elementor-field-type-checkbox {
        align-content: flex-start;
}

.form4 .elementor-button[type="submit"] , .form4 .elementor-button[data-direction="next"]  {
    min-height: 47px;
    background: linear-gradient(90deg, #01A5FF 0%, #050CFF 100%);
    border: none !important;
    color:#F5F7FA !important;
    }
    
.accord1 .e-n-accordion-item-title
{
    z-index: 2
}

/*
 * Стекло на .header1 (десктоп). На мобильном (≤767px) — сплошной фон без backdrop-filter,
 * чтобы Off-Canvas был на весь экран (backdrop на хедере иначе даёт fixed относительно шапки).
 * Не использовать isolation: isolate — ломает backdrop-filter.
 */
.header1 {
  position: sticky;
  top: 0;
  z-index: 10050;
  overflow: visible;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

@media (max-width: 767px) {
  .header1 {
    background: #ffffff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* Лайтбокс Elementor: в ядре z-index 9999 — ниже .header1 (10050), шапка оказывается поверх оверлея */
.elementor-lightbox.dialog-type-lightbox,
.dialog-widget.dialog-type-lightbox {
  z-index: 200000 !important;
}

/* Нижняя панель лайтбокса (заголовок/подпись слайда из настроек Kit → Lightbox) */
.elementor-lightbox .elementor-slideshow__footer {
  display: none !important;
}

/* Лайтбокс: убрать внутренний отступ и сохранить детализацию изображения */
.elementor-lightbox .elementor-lightbox-item {
  padding: 0 !important;
}

.elementor-lightbox .elementor-lightbox-image {
  image-rendering: auto;
  max-width: 100%;
  max-height: 100%;
}

/* Хедер из Theme Builder: низкий z-index у виджета меню (напр. 2) запирает выпадашку внутри своего слоя */
.elementor-location-header {
  position: relative;
  z-index: 10050;
}

.elementor-location-header .elementor-widget-n-menu {
  z-index: 10051 !important;
}

/* Классическое меню темы Hello (wp_nav_menu), если используется */
.site-navigation ul.menu li ul {
  z-index: 10051 !important;
}

/* Off-Canvas в шапке: в post-*.css часто --e-off-canvas-height:100% при height:fit-content у виджета */
.elementor-location-header .elementor-widget-off-canvas {
  --e-off-canvas-height: 100vh;
}
@supports (height: 100dvh) {
  .elementor-location-header .elementor-widget-off-canvas {
    --e-off-canvas-height: 100dvh;
  }
}

/* 1. Блок с вариантами — одна колонка по умолчанию */
.elementor-field-group-field_0b388e0 .elementor-field-subgroup, .elementor-field-group-field_82e1416 .elementor-field-subgroup ,.elementor-field-group-field_5852fb6 .elementor-field-subgroup
 {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* можно подправить отступы */
}
.elementor-field-group-field_0b388e0 .elementor-field-subgroup {
    
    flex: 0 0 100%; /* одна колонка */
}
/* 2. Если вариантов больше 4 (есть 5-й элемент) — делаем две колонки */
.wpcf7-form-control-wrap.your-checkbox-field
    .wpcf7-checkbox:has(.wpcf7-list-item:nth-child(5))
    .wpcf7-list-item {
    flex: 0 0 calc(50% - 8px); /* две колонки */
}

.elementor-field-option {
    display: inline-flex;      /* или flex, если нужно на всю строку */
    align-items: center;       /* вертикальное центрирование */
    gap: 6px;                  /* расстояние между чекбоксом и текстом (по желанию) */
}

#form-field-field_5777a7d {
    background-color: #ffffff !important;
    border-color: #D0E2EB !important;
    border-width: 1px !important;
}

.form3 input{
    padding: 0;
}
.form3 div[class*="text"], .form3 div[class*="email"]{
    margin-bottom: 20px !important;
}

.form3 div[class*="acceptance "]{
    margin-top: 16px;
    margin-bottom: 30px !important;
}

.form3 div[class*="submit"]{
    
    margin-bottom: 0px!important; 
}

.elementor-element-a746b94.e-con {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Сама форма */
.elementor-element-21b9132 .e-con {
    height: 100%!important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (min-width: 1024px) {
/* Сама форма */
.elementor-element-f07a324.elementor-widget-form {
    height: 100%!important;
    display: flex;
    align-items: center;
    
}
}



.elementor-1128 .elementor-element.elementor-element-f07a324 .elementor-field-group {
    margin-top: 20px!important;
}

/* Elementor forms: убрать иконку перед текстом ошибки (eicons / «красный квадратик»). */
.elementor-message.elementor-message-danger:before {
	content: none;
	display: none;
}

/* Баннер cookies — в стиле Veridan (шапка / формы). */
.cookie-minimal {
	position: fixed;
	right: 0;
	bottom: 0;
	width: 100%;
	border-left: none;
	z-index: 100600;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
	pointer-events: none;
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	box-sizing: border-box;
}

.cookie-minimal[hidden] {
	display: none !important;
}

.cookie-minimal-inner {
	pointer-events: auto;
	width: 100%;
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding: 18px 22px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(20px) saturate(160%);
	-webkit-backdrop-filter: blur(20px) saturate(160%);
	border: 1px solid rgba(208, 226, 235, 0.85);
	border-radius: 16px;
	box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.12), 0 8px 32px rgba(1, 165, 255, 0.08);
}

.cookie-minimal-text {
	margin: 0;
	flex: 1 1 220px;
	font-size: 15px;
	line-height: 1.45;
	font-weight: 400;
	color: #3c414b;
}

.cookie-minimal-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex: 0 1 auto;
}

.cookie-minimal .cookie-minimal-btn {
	margin: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	min-height: 44px;
	padding: 10px 22px;
	border-radius: 500px;
	border: 1px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.cookie-minimal .cookie-minimal-decline,
.cookie-minimal button[onclick*="closeCookieMinimal"] {
	background: #f5f7fa !important;
	color: #3c414b !important;
	border-color: #d0e2eb !important;
}

.cookie-minimal .cookie-minimal-decline:hover,
.cookie-minimal button[onclick*="closeCookieMinimal"]:hover {
	background: #ffffff !important;
	border-color: #01a5ff !important;
	box-shadow: 0 4px 14px rgba(1, 165, 255, 0.15);
}

.cookie-minimal .cookie-minimal-accept,
.cookie-minimal .cookie-minimal-accept.cookie-minimal-btn,
.cookie-minimal button.cookie-minimal-accept {
	background: linear-gradient(90deg, #01a5ff 0%, #050cff 100%) !important;
	color: #f5f7fa !important;
	border: none !important;
	box-shadow: 0 6px 20px rgba(1, 165, 255, 0.35);
}

.cookie-minimal .cookie-minimal-accept:hover,
.cookie-minimal button.cookie-minimal-accept:hover {
	box-shadow: 0 8px 24px rgba(5, 12, 255, 0.35);
	transform: translateY(-1px);
}

.cookie-minimal .cookie-minimal-btn:focus-visible {
	outline: 2px solid #01a5ff;
	outline-offset: 2px;
}

@media (max-width: 600px) {
	.cookie-minimal-inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
		padding: 16px 18px;
	}

	.cookie-minimal-text {
		flex: none;
	}

	.cookie-minimal-buttons {
		justify-content: stretch;
		width: 100%;
	}

	.cookie-minimal .cookie-minimal-btn {
		flex: 1 1 auto;
		justify-content: center;
	}
}

/* CTA button effect only for button with class "psait". */
a.elementor-button.elementor-button-link.elementor-size-sm.psait,
.psait a.elementor-button.elementor-button-link.elementor-size-sm {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 999px;
	background: linear-gradient(90deg, #01a5ff 0%, #050cff 100%);
	color: #f5f7fa;
	box-shadow: 0 8px 24px rgba(1, 165, 255, 0.28);
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait .elementor-button-content-wrapper,
a.elementor-button.elementor-button-link.elementor-size-sm.psait .elementor-button-text,
.psait a.elementor-button.elementor-button-link.elementor-size-sm .elementor-button-content-wrapper,
.psait a.elementor-button.elementor-button-link.elementor-size-sm .elementor-button-text {
	position: relative;
	z-index: 1;
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait::before,
.psait a.elementor-button.elementor-button-link.elementor-size-sm::before {
	content: "";
	position: absolute;
	top: 0;
	left: -140%;
	width: 65%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.45) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-20deg);
	transition: left 0.55s ease;
	pointer-events: none;
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait:hover,
.psait a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(5, 12, 255, 0.32);
	filter: saturate(1.08);
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait:hover::before,
.psait a.elementor-button.elementor-button-link.elementor-size-sm:hover::before {
	left: 145%;
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait:active,
.psait a.elementor-button.elementor-button-link.elementor-size-sm:active {
	transform: translateY(0);
	box-shadow: 0 6px 14px rgba(1, 165, 255, 0.25);
}

a.elementor-button.elementor-button-link.elementor-size-sm.psait:focus-visible,
.psait a.elementor-button.elementor-button-link.elementor-size-sm:focus-visible {
	outline: 2px solid #01a5ff;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	a.elementor-button.elementor-button-link.elementor-size-sm.psait,
	a.elementor-button.elementor-button-link.elementor-size-sm.psait::before,
	.psait a.elementor-button.elementor-button-link.elementor-size-sm,
	.psait a.elementor-button.elementor-button-link.elementor-size-sm::before {
		transition: none;
	}
}