/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme for Hello Elementor
Author: Your Name
Author URI: https://yourwebsite.com
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* PAREN THEME CSS */

.main__tab .elementor-button-wrapper, .main__tab .elementor-button {
    height: 100%;
}


.aircraft-container {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: sans-serif;
}

.aircraft-item {

    padding: 0 7px; /* Add some space around the links */
    text-align: center;
}

.aircraft-divider {
    width: 2px;              /* Thickness of the divider */
    height: 20px;             /* Height of the divider line */
    background-color: #ccc;    /* Color of the line */
    margin: 0 5px;             /* Spacing around the line */
}

/* Optional: Style the links to remove default underline and set color */
.aircraft-item a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

/* Style for the line break to make it appear as a space */
.aircraft-item a br {
    display: none;
}
/* Better approach: handle the display */
.aircraft-item a {
    display: inline-block;
}


/* Фикс для слетающих стилей */

.center-cover {
    background-position: center center;
    background-size: cover;
}

@media screen and (max-width: 767px) {
    .mobile-square {
        aspect-ratio: 1 / 1;
    }

    .blue-mobile, .blue-mobile * {
        color: #222C67!important;
    }
    .dark-mobile, .dark-mobile * {
        color: #1E1E1E!important
    }
    .nobg-mobile {
        background-image: none!important;
    }

}

/* Страницы воздушных судов */

.border-left::before {
    content: "";
    display: block;
    height: 100%;
    width: 2px;
    background-color: #222C67;
    margin-right: 19px;
}
.products-carousel .elementor-swiper-button {
    padding: 10px;
}
.products-carousel .elementor-swiper-button {
    top: -65px!important;
    bottom: auto;
}
.products-carousel .elementor-swiper-button-prev{
    left: 70%!important;
}
.products-carousel .elementor-swiper-button-next{
    right: calc(30% - 130px)!important;
}
.of-carousel .elementor-swiper-button{
    border: 2px #fff solid!important;
}
.of-carousel .elementor-swiper-button:hover{
    background: #fff!important;
}
.of-carousel .swiper-pagination {
    bottom: -20px!important;
}
.of-carousel .swiper-pagination-bullet {
    border-radius: 0;
    height: 2px!important;
}

@media screen and (max-width: 768px) {
    .of-carousel .swiper-pagination {
        bottom: 0px!important;
    }
    /*.products-carousel .swiper-slide {*/
    /*    max-width: calc(100vw - 50px)!important;*/
    /*}*/
    .of-carousel .elementor-swiper-button, .products-carousel .elementor-swiper-button {
        display: none!important;
    }
}

/* Скрытие лишних полей при загрузке форм */

.elementor-field-type-step ~ .elementor-field-type-step ~ .elementor-field-group:not(.e-form__buttons) {
    display: none;
}

/* Скрытие лейблов в форме */

.labels_hidden label:not([for="form-field-direction-0"], [for="form-field-direction-1"], .consent){
    display: none!important;
}

/* Мобильное меню всегда открыто */

/* .elementor-nav-menu--dropdown ul {
	display: block!important;
} */

/* Вкладки главной формы */

.main__tab_active .elementor-button {
    background-color: #0000009C!important;
    cursor: pointer;

    border-left: 1px solid #FFFFFF24;
    border-right: 1px solid #FFFFFF24;
    border-top: 1px solid #FFFFFF24;
    border-bottom: 0;
}
.dp__input_icon {

}

#custom_calendar_desktop .elementor-input {
    border-radius: 8px!important;
    min-height: 47px!important;
    font-size: 16px;
    color: #000;
    font-family: "Lato", Sans-Serif;
}

@media (min-width: 769px) {
    .m-only {
        display: none!important;
    }
}
@media (max-width: 768px) {
    .d-only {
        display: none!important;
    }
    .dp__input, #custom_calendar_mobile .elementor-field, .elementor-667 .elementor-element.elementor-element-b2d8e01 .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) {
        min-height: 47px!important;
        padding: 7px 12px!important;
        border-radius: 8px!important;
        font-size: 16px!important;
    }
    #custom_calendar_mobile .date-input__wrap:first-child::after {
        top: 11px!important;
        right: 10px!important;
    }
}



.woocommerce table.shop_attributes .woocommerce-product-attributes-item--dimensions td {
    padding: 8px;
}
.elementor-field-type-date.elementor-field-group label.elementor-field-label {
    font-weight: 400!Important;
    opacity: .6;
    overflow: visible;
    width: 1px!important;
    white-space: nowrap;
}
/*
 * Форма на главной
 */

.date-input__wrap {
    position: relative;
}
#custom_calendar_mobile .date-input__wrap:first-child::after {
    background: url("/wp-content/uploads/icons8-calendar-48-1.png") no-repeat;
    background-size: contain;
    width: 25px;
    top: 17px;
    right: 18px;
    height: 30px;
    content: "";
    z-index: 100;
    position: absolute;
    display: block;
}

#booking_form input[type=date]::-webkit-datetime-edit {
    color: transparent!important;
}
#booking_form input[type="date"]::-webkit-inner-spin-button,
#booking_form input[type="date"]::-webkit-calendar-picker-indicator {
    display: none!important;
    -webkit-appearance: none!important;
}

#custom_calendar_mobile .modal__dates {
    position: fixed;
    max-width: 100vw;
    width: 100%;
    top: 55px;
    z-index: 10;
    padding: 10px 15px;
    background: #ffffff;
    left: 0;
}
#custom_calendar_mobile .modal-header {
    max-width: 100vw;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    background: #ffffff;
    padding: 10px 20px;
    width: 100%;
}
#custom_calendar_mobile .dp__main {
    margin-top: 110px;
    margin-bottom: 70px;
}
.fade-enter-active,
.fade-leave-active {
    transition: opacity 0.05s ease;
}
.dp__action_extra {
    background-color: #ffffff;
    width: 100%;
    padding: 0 15px;
    margin-left: 0;
    max-width: 100vw;
}
.modal-mask, .modal-wrapper {
    max-width: 100vw;
}
.modal-container {
    overflow:  scroll;
    max-width: 100vw;
    margin: 0;
}
#custom_calendar_desktop  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.dp__btn {
    border: none!important;
    color: inherit!important;
}
.dp__btn:hover, .dp__btn:focus, .dp__btn:focus-visible{
    background-color: transparent!important;
    color: inherit!important;
    border: none!important;
    outline: none!important;
}
.v__date-input_modal:hover, .v__date-input_modal:focus {
    background-color: transparent;
    color: inherit;
}
.dp__calendar_header {
    font-weight: 400!important
}
.elementor-field-type-date .elementor-field-label {
    pointer-events: none;
}
.dp__input, #custom_calendar_mobile .elementor-field {
    font-size: 18px;
    min-height: 59px;
    padding: 7px 20px;
    border-radius: 0;
}

#custom_calendar_desktop .dp__main:not(:last-child), #custom_calendar_mobile .date-input__wrap:first-child {
    margin-right: 10px;
}


.elementor-date-field {
    -webkit-appearance: none!important;
}
#back-date_reset {
    border: none!important;
    color: #000000;
    margin: 10px auto 5px auto;
    padding: 7px 30px;
    width: 94%;
    background: #F0F2F3;
}
#back-date_reset:hover {
    background: #E2E6E8;
}
.elementor-field-type-date.elementor-field-group .elementor-field-label {
    font-size: 18px!important;
    top: 21px;
    left: 25px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    z-index: 101;
    font-weight: 300!important;
    color: #000000!important;
    clip: unset!important;
}
.return_reset {
    background-color: #0D94DC;
    color: #ffffff;
}

#custom_calendar_desktop .return_reset {
    width: 100%;

}
#custom_calendar_desktop .dp__action_extra {
    padding: 0 7px;
}
.dp__input_icon {
    left: auto;
    right: 30px;
    top: 10px;
    overflow: visible;
    transform: scale(.8);
}

@media screen and (max-width: 550px) {
    #custom_calendar_mobile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

}
.elementor-529 .elementor-element.elementor-element-e138176 .elementor-grid {
    display: flex;
}

/* .elementor-widget-image-carousel .swiper-wrapper, .dialog-lightbox-message .swiper-wrapper{
	overflow: visible;
}
.elementor-widget-image-carousel .swiper-wrapper .swiper-slide, .dialog-lightbox-message .swiper-wrapper .swiper-slide {
	height: 100%;
	background: none;
}
 */


/* CHILD THEME CSS */
.complex_route_form .custom-add-route-button .repeater-field-button-add {
    width: 100%;
    height: 100%;
    display: flex!important;
    max-height: 47px;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px!important;
    margin-left: 5px!important;
    border-radius: 8px!important;
}
.complex_route_form .repeater-field-footer {
    margin: 5px;
}

.elementor-field-group-field_764d8b9, .elementor-field-group-field_6d15fba {
    display: none;
}
/* Скрываем отдельные поля repeater до инициализации */
.complex_route_form .elementor-field-group[class*="field_03b1be5"],
.complex_route_form .elementor-field-group[class*="field_e64d7b6"],
.complex_route_form .elementor-field-group[class*="field_934394e"] {
    display: none !important;
}

/* Показываем поля только когда форма в сложном режиме и repeater активен */
.complex_route_form.complex-mode .elementor-field-group[class*="field_03b1be5"],
.complex_route_form.complex-mode .elementor-field-group[class*="field_e64d7b6"],
.complex_route_form.complex-mode .elementor-field-group[class*="field_934394e"] {
    display: block !important; /* или flex, в зависимости от сетки Elementor */
}

.complex_route_form .elementor-field-repeater-end, .complex_route_form .elementor-field-type-repeater {
    padding: 0 !important;
}
.complex_route_form .elementor-field-type-repeater, .complex_route_form .repeater-field-item {
    margin-bottom: 0!important;
}
.complex_route_form .custom-add-route-button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.complex_route_form .elementor-field-type-date.elementor-field-group .elementor-field-label {
    font-size: 16px !important;
    top: 16px;
}

/*
 * Repeater Header Customization
 * - Hide all header elements except the delete button.
 * - Position the delete button absolutely at the top‑right of the repeater row.
 */

/* 1. Ensure each repeater row has a positioning context */
.complex_route_form .repeater-field-item {
    position: relative;
}

/* 2. Remove all default styling from the header container */
.complex_route_form .repeater-field-header {
    position: static;      /* Override any existing positioning */
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* 3. Hide EVERYTHING inside the header by default */
.complex_route_form .repeater-field-header > *:not(.repeater-field-header), .complex_route_form .repeater-field-header-acctions-toogle {
    display: none !important;
}

/* 4. Show ONLY the delete button (and its direct children) */
.complex_route_form .repeater-field-header .repeater-field-header-acctions-remove,
.complex_route_form .repeater-field-header .repeater-field-header-acctions-remove * {
    display: flex !important;
}

/* 5. Position the delete button absolutely at the top‑right of the row */
.complex_route_form .repeater-field-header .repeater-field-header-acctions-remove {
    position: absolute !important;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -6px;
    right: -9px;
    z-index: 10;
    cursor: pointer;
    margin: 0 !important;
    padding: 5px !important;
    background: #d83b4c !important;
    border: none !important;
    border-radius: 100%;
    width: 22px;
    height: 22px;
    color: #fff;
    line-height: 1;
    transition: color 0.2s;
}
.complex_route_form .repeater-field-header .repeater-field-header-acctions-remove:before {
    margin: 0;
    font-size: 12px;
}

/* 6. Hover effect */
.complex_route_form .repeater-field-header .repeater-field-header-acctions-remove:hover {
    color: #CCCCCC;       /* Red on hover */
}

/* 7. Remove any unwanted spacing from the header actions container */
.complex_route_form .repeater-field-header .repeater-field-header-acctions {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 8. Ensure the repeater content has enough top padding so the button doesn't overlap text */
.complex_route_form .container-repeater-field {
    position: relative;
    padding-top: 5px;     /* Optional: give some breathing room */
}

/* Кастомный переключатель сложного маршрута */
.complex_route_form .elementor-field-option {
    position: relative;
    display: block;
}

.complex_route_form .custom-route-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    padding: 8px 0;
}

.complex_route_form .custom-route-toggle .route-icon {
    width: 17px;
    height: auto;
    flex-shrink: 0;
    color: #fff;
}

.complex_route_form .custom-route-toggle-text {
    font-size: 16px;
    text-decoration: none!important;
    color: #fff; /* подберите под ваш дизайн */
}

.complex_route_form .custom-route-toggle:hover .custom-route-toggle-text {
    text-decoration: underline;
}

/* Полностью скрываем текст в пустом date-поле, даже при фокусе */
.complex_route_form input[type="date"]:not(.has-value) {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

/* Когда дата выбрана — показываем текст */
.complex_route_form input[type="date"].has-value {
    color: #000000 !important;          /* ваш цвет текста */
    -webkit-text-fill-color: #000000 !important;
}


/* Обёртка поля пассажиров */
.passenger-select-wrapper {
    position: relative;
    display: flex;
    width: 100%;
}

/* Кнопка-стрелка */
.passenger-dropdown-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #69727d;
    cursor: pointer;
    padding: 0 5px;
    font-size: 14px;
    transition: transform 0.2s;
}
.passenger-dropdown-btn:hover {
    color: #69727d;
    background: transparent;
}
.passenger-dropdown-btn.open {
    transform: translateY(-50%) rotate(180deg);
}

/* Выпадающий список */
.passenger-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    margin-top: 2px;
}

/* Опции */
.passenger-option {
    padding: 8px 12px;
    cursor: pointer;
    transition: background 0.2s;
}
.passenger-option:hover {
    background: #f0f0f0;
}

/* Chrome, Safari, Edge, Opera */
.passenger-select-wrapper input::-webkit-outer-spin-button,
.passenger-select-wrapper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
.passenger-select-wrapper input[type=number] {
    -moz-appearance: textfield;
}
.passenger-select-wrapper {
    position: relative;
    display: flex;
    width: 100%;
}

/* Десктоп */
.passenger-select-wrapper.desktop .passenger-dropdown-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #69727d;
    cursor: pointer;
    padding: 0 5px;
    font-size: 14px;
    z-index: 2;
}
.passenger-select-wrapper.desktop .passenger-dropdown-btn.open {
    transform: translateY(-50%) rotate(180deg);
}
.passenger-select-wrapper.desktop .passenger-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    margin-top: 2px;
}
.passenger-select-wrapper.desktop .passenger-option {
    padding: 8px 12px;
    cursor: pointer;
}
.passenger-select-wrapper.desktop .passenger-option:hover {
    background: #f0f0f0;
}

/* Мобильная версия */
.passenger-select-wrapper.mobile .passenger-native-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2369727d' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
    background-size: 16px;
    appearance: none;
}
.passenger-select-wrapper.mobile .passenger-native-select:focus {
    border-color: #192A6B;
    outline: none;
}
.passenger-select-wrapper.mobile-single {
    position: relative;
    display: block;
    width: 100%;
}

.passenger-select-wrapper.mobile-single input {
    width: 100%;
    padding-right: 40px; /* место для кнопки */
}

.passenger-mobile-dropdown-btn {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    background: transparent;
    border: none;
    color: #69727d;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    border-left: 1px solid #ddd; /* опционально */
}

.passenger-select-wrapper.mobile {
    position: relative;
    width: 100%;
}
.passenger-native-select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2369727d' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>") no-repeat right 10px center;
    background-size: 16px;
    appearance: none;
}
.passenger-custom-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}
@media screen and (max-width: 767px) {
    .elementor-field-group-route {
        display: none!important;
    }
}