/*
Theme Name:   Moonex Child
Theme URI:    https://gasinforest.com/wordpress/moonex/landing/
Description:  Дочірня тема Moonex
Author:       monnex
Template:     moonex
Version:      1.0.0
Text Domain:  moonex-child
*/


header .ptf-navbar-inner {
    border: none !important;
    box-shadow: none !important;
}


a.footer__link {
    color: #000000 !important;
    text-decoration: none !important; 
}


a.footer__link:hover {
    color: #fff !important;
}
.ptf-form-group label::before {
    color: #000000 !important;
}

.ptf-submit-button:hover {
    color: #ffffff !important;
}


.ptf-checkbox__checkmark {
    border: 1px solid #000000 !important;

}



.wpcf7-form, 
.wpcf7-form *,
.ptf-form-group label, 
.ptf-form-group input, 
.ptf-submit-button {
    font-family: "Stem-SemiLight.woff2", Sans-serif !important;
    font-weight: 300 !important;
}

input::placeholder {
    font-family: "Stem-SemiLight.woff2", Sans-serif !important;
    font-weight: 300 !important;
}

.ptf-submit-button {
    font-family: "Stem-SemiLight.woff2", Sans-serif !important;
    text-transform: none;
}

@media (min-width: 1025px) {
    .has-accent-1-background .elementor-widget-ptf-button {
        margin-top: -50px !important;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .has-accent-1-background .elementor-widget-ptf-button {
        margin-top: -20px !important;
    }
}

@media (max-width: 767px) {
    .has-accent-1-background .elementor-widget-ptf-button {
        margin-top: 20px !important; 
        display: flex;
        justify-content: center;
    }
    

    .has-accent-1-background .ptf-approach-box {
        height: auto !important; 
        padding-bottom: 20px;
    }
}

.has-accent-1-background .elementor-widget-ptf-button {
    margin-top: 20px !important;
}




@media (min-width: 768px) {
    .no-border-top .ptf-approach-box {
        border-top: none !important;
        padding-top: 0 !important;
    }
}





.portfolio-card {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    transition: transform 0.3s ease;
    cursor: pointer;
    margin: 10px; 
    width: calc(100% - 15px);
}

.portfolio-card::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 0%;
    background: #bf893b;
    z-index: 3;
    transition: height 0.5s ease;
}

.portfolio-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
    z-index: 2;
    pointer-events: none;
}

.portfolio-card:hover::after { height: 100%; }

.portfolio-card .elementor-image-box-img {
    position: absolute;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
}

.portfolio-card .elementor-image-box-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease;
}

.portfolio-card:hover .elementor-image-box-img img { transform: scale(1.1); }


.portfolio-card .elementor-image-box-content {
    position: absolute !important;
    bottom: 0;
    left: 0;
    width: 100% !important;
    padding: 40px !important;
    z-index: 20 !important;
    transition: transform 0.5s ease;
}

.portfolio-card:hover .elementor-image-box-content {
    transform: translateY(-220px) !important; 
}

.portfolio-card .elementor-image-box-title {
    color: #ffffff !important;
    font-size: 28px !important;
    font-weight: 700 !important;
}



.no-border-top .ptf-approach-box__title {
    text-align: center !important;
}


.no-border-top .ptf-approach-box__subtitle {
    display: flex !important;
    justify-content: center !important;
}


.no-border-top .ptf-button-box {
    text-align: center;
}






/* починаєтсья скрол */
.custom-scroll-slider.e-grid > .e-con-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 5px !important;
    padding-bottom: 20px !important;
    scrollbar-width: none !important;
}

.custom-scroll-slider.e-grid > .e-con-inner::-webkit-scrollbar {
    display: none !important;
}

.custom-scroll-slider .portfolio-card {
    flex: 0 0 calc(33.333% - 14px) !important;
    scroll-snap-align: start !important;
    width: calc(33.333% - 14px) !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .custom-scroll-slider .portfolio-card {
        flex: 0 0 calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
    }
}

@media (max-width: 767px) {
    .custom-scroll-slider .portfolio-card {
        flex: 0 0 85% !important;
        width: 85% !important;
    }
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-arrow:hover {
    background: #f0a500;
    border-color: #f0a500;
    transform: translateY(-50%) scale(1.1);
}

.slider-arrow--prev {
    left: 12px;
}

.slider-arrow--next {
    right: 12px;
}

@media (max-width: 767px) {
    .slider-arrow {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
}


.slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cccccc;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.slider-dot.active {
    background: #f0a500;
    width: 24px;
    border-radius: 4px;
}




/* 1. кнопка */
.shadow-button a {
    position: relative !important;
    background-color: #3959da !important;
    color: white !important;
    overflow: visible !important;
}


.shadow-button a::before {
    content: "" !important;
    position: absolute !important;
    
    top: -8px !important; 
    left: -8px !important; 
    
    width: 100% !important;
    height: 100% !important;
    border: 2px solid #000000 !important;
    
    pointer-events: none !important; 

}
.shadow-button a:hover {
    background-color: #7087e1 !important;
}


/* 1. кнопки */
a.ptf-btn.ptf-btn--primary.ptf-btn--inversed {
    position: relative !important;
    overflow: visible !important;
}


a.ptf-btn.ptf-btn--primary.ptf-btn--inversed::before {
    content: "" !important;
    position: absolute !important;
    
    top: -8px !important; 
    left: -8px !important; 
    
    width: 100% !important;
    height: 100% !important;
    border: 2px solid #ffffff !important;
    
    pointer-events: none !important; 

}
.shadow-button a:hover {
    background-color: #7087e1 !important;
}


/* скрол відео */


.videos-slider .e-con-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    gap: 20px !important;
    
    scrollbar-width: none !important; 
    -ms-overflow-style: none !important; 
}

.videos-slider .e-con-inner::-webkit-scrollbar {
    display: none !important;
}


.videos-slider .e-con-inner > div {
    scroll-snap-align: start !important;
    min-width: 0 !important;
    flex: 0 0 100% !important; 
}


@media (min-width: 768px) {
    .videos-slider .e-con-inner > div {

        flex: 0 0 calc(50% - 10px) !important;
    }
}


@media (min-width: 1024px) {
    .videos-slider .e-con-inner > div {

        flex: 0 0 calc(33.333% - 13.33px) !important;
    }
}

/* заголовки на сторінках послуг */
h1.large-heading {
  font-size: 90px !important;
}

h1.large-heading {
  position: relative;
  display: inline;
  padding: 0 6px;
}

h1.large-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: #8B9FE8;
  border-radius: 17px;
  z-index: -1;
}


/* слайдер однаковий шрифт */
.elementor-testimonial-content,
.ptf-testimonial__content p {
  font-size: 25px !important;

}

.ptf-testimonial__meta {
  margin-top: 20px !important;
}


@media (max-width: 767px) {
  .elementor-testimonial-content,
  .ptf-testimonial__content p {
    font-size: 17px !important;
  }
}

/* партнери */
.elementor-element-d10d5f1 > .elementor-container {
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #cccccc transparent;
  padding-bottom: 10px;
}

.elementor-element-d10d5f1 > .elementor-container::-webkit-scrollbar {
  height: 4px;
}

.elementor-element-d10d5f1 > .elementor-container::-webkit-scrollbar-track {
  background: transparent;
}

.elementor-element-d10d5f1 > .elementor-container::-webkit-scrollbar-thumb {
  background: #cccccc;
  border-radius: 10px;
}

.elementor-element-d10d5f1 .elementor-column {
  scroll-snap-align: start;
  flex: 0 0 auto !important;
  width: 288px !important;
}


@media (max-width: 767px) {
  .ptf-testimonial__info,
  .ptf-testimonial__info a {
    font-size: 11px !important;
  }
}


/* дослідження - приклади */

.example.e-con, 
.example > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important; 
    align-items: stretch !important;
    gap: 0 !important;
}

.example .portfolio-card2 {
    position: relative;
    min-height: 400px;
    overflow: hidden;
    transition: transform 0.3s ease;
    cursor: pointer;
    
    flex: 1 1 350px !important; 
    max-width: 100% !important; 
    margin: 10px !important;
    box-sizing: border-box !important;
}

.example .portfolio-card2::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 0%;
    background: #bf893b;
    z-index: 3;
    transition: height 0.5s ease;
}

.example .portfolio-card2:hover::after { height: 100%; }

.example .portfolio-card2::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
    z-index: 2;
    pointer-events: none;
}

.example .portfolio-card2 .elementor-image-box-img {
    position: absolute;
    top: 0; left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
}

.example .portfolio-card2 .elementor-image-box-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s ease;
}

.example .portfolio-card2:hover .elementor-image-box-img img { transform: scale(1.1); }

.example .portfolio-card2 .elementor-image-box-content {
    position: absolute !important;
    bottom: 0;
    left: 0;
    width: 100% !important;
    padding: 30px !important;
    z-index: 20 !important;
    transition: transform 0.5s ease;
    box-sizing: border-box !important;
}

.example .portfolio-card2:hover .elementor-image-box-content {
    transform: translateY(-150px) !important; 
}

.example .portfolio-card2 .elementor-image-box-title {
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

@media (max-width: 480px) {
    .example .portfolio-card2 {
        min-height: 350px;
        flex: 1 1 100% !important;
    }
}


@media (max-width: 1024px) {
    h1.large-heading {

        font-size: 15vw !important; 
        display: block !important;
    }
}


@media (max-width: 768px) {
    html body .title-name h1.large-heading,
    html body .title-name h1,
    html body .title-name h2 {
        font-size: 3.75rem !important; 
        line-height: 1.2 !important;
    }
}




.gtranslate_wrapper a[data-gt-lang="ru"] img {
    display: none !important;
}


.menu-item-gtranslate-child a[data-gt-lang="ru"] img {
    display: none !important;
}

.menu-item-gtranslate-child a[data-gt-lang="ru"] span {
    margin-left: auto !important;
    padding-left: 0 !important;  
}


.elementor-element-6ff9e6c {
    pointer-events: none !important;
}

/* партнери 2 */


.partners-scroll-slider {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #cccccc transparent;
  padding-bottom: 15px !important;
}

.partners-scroll-slider::-webkit-scrollbar {
  height: 4px;
}
.partners-scroll-slider::-webkit-scrollbar-track {
  background: transparent;
}
.partners-scroll-slider::-webkit-scrollbar-thumb {
  background: #cccccc;
  border-radius: 10px;
}

.partners-scroll-slider > * {
  scroll-snap-align: start !important;
  flex: 0 0 auto !important;
  width: 280px !important; 
  max-width: none !important; 
}

.no-border-top .ptf-approach-box__title {
    font-size: 37px !important;
    line-height: 1.2;
}

