/*------------------------------------------------------------------------------------- 
Theme Name:		 Consal Child Theme
Theme URI:		 https://ex-coders.com/wp/consal/
Description:	 Consal corporate business agency wordpress theme
Author:			 ex-coders
Author URI:		 https://themeforest.net/user/ex-coders/portfolio
Template:		 consal
Version:		 2.0.0
Text Domain:	 consal-child-theme
-------------------------------------------------------------------------------------*/
/*
    Please Add your custom styles here
*/



:root {
/* --theme-color-1: #dc5c31 !important; */
 --it-theme-color-1: #dc5c31 !important;
}


.it-whychoose-us1 .banner-sub-title::before,
.banner-section-2 .banner-sub-title::before,
.it-whychoose-us1 .section-sub-title:before,
.banner-section-2 .section-sub-title:before {
    border: 1px solid var(--it-theme-color-1) !important;
    color: var(--it-theme-color-1) !important;
}

.banner-sub-title, .dark-section .section-sub-title, .it-whychoose-us1 .section-sub-title  {color: var(--it-theme-color-1) !important; }

section.darkblock, div.darkblock {min-height: 400px; width: 100%;background-color: #102039; margin: 70px auto; padding-top: 50px;padding-bottom: 50px; color: white}


.elementor-widget h2 {color: var(--theme-color)}
.elementor-widget h3 {color: var(--theme-color)}
.it-whychoose-us1 [class^="icon-"], .it-whychoose-us1 [class*=" icon-"] {color: var(--it-theme-color-1)}
.choose-area-icon-box .icon-box::before {background-color: transparent}
.it-whychoose-us1 .choose-area-icon-box:hover .icon-box::before {background-color: var(--it-theme-color-1)}




.service-slider-area .icon-box, .service-slider-area:hover .icon-box {
  /*  border: 1px solid #dc5c31 !important; */
   border: 1px solid var(--theme-color) !important;
}

@media (max-width: 767px) {
    .d-pc {display: none}
    .elementor-2953 h2.elementor-heading-title {font-size: 32px}

    .elementor-2953 .elementor-element.elementor-element-dfc93fd h1.banner-title {
        font-size: 36px !important;
        line-height: 40px !important;
    }


    .elementor-hidden-mobile {display: none;}
}
@media (min-width: 768px) {
    .d-mob {display: none}
    .elementor-hidden-desktop {display: none;}
}

@media (min-width: 990px) and (max-width: 1660px) {
    .main-menu ul li a {font-size: 14px}
}

.more-service-list {
    list-style: none;
    padding-left: 0;
}

.more-service-list li {
    position: relative;
    padding-left: 20px;
    display: block;
}

.more-service-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    top: 0;
    padding: 8px 0;
    transition: 0.5s;
}


.service-categories-grid p.subtitle {font-weight: 600;font-size: 16px}
.service-categories-grid .content h2  {  font-size: 24px; margin:25px 0 10px; font-family:'Poppins', serif  }

/*  Work process area -- Our Core Expertise  */
.work-process-section .shape-1 {background-image: none !important;}

@media (min-width: 1280px) {
    .service-categories-grid {padding-top: 15px}
    .elementor-element-25d453a .service-slider-area.p-relative .content,
    .service-categories-grid .service-slider-area.p-relative .content {
        min-height: 405px
    }
    .h1.banner-title {line-height: 60px !important;}
    .elementor-element-25d453a .section-space {padding-top: 20px !important;}

    /* Контейнер для кнопки и списка */
    .more-service-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* Кнопка всегда видна */
    .more-service-btn {
        position: relative;
        z-index: 10;
    }

    .service-categories-grid .content .icon-box  {  z-index:99}
    .service-categories-grid .content .more-service-overlay {    }
    /* Список дочерних услуг скрыт по умолчанию */
    .service-categories-grid .content .more-service-overlay {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.95); /* можно затемнить/осветлить фон */
        overflow-y: auto;
        padding: 25px 30px;
        box-sizing: border-box;
        list-style: none;
        z-index: 5;
    }

    .content .more-service-overlay {display: none}
    .more-service-overlay {display: none}


    /* Список появляется при наведении на overlay */
    .service-categories-grid .content:hover .more-service-overlay {
        display: block;
    }

    .service-categories-grid .content h2 {transition: 1s}


    /* Стиль элементов списка */
    .more-service-list li {
        margin-bottom: 10px;
        font-weight: 500;
        padding-left: 20px;
    }

    .more-service-list li:last-child {
        margin-bottom: 0;
    }

    .service-slider-area .content .more-service-list li {
        padding:8px 20px;
        border-bottom: 1px solid #eee;
    }

    .service-slider-area {transition: 0.3s}
    .service-slider-area:hover {
        box-shadow: 1px 4px 11px 3px rgb(220, 92, 49, 0.4);
    }
    .service-slider-area:hover .icon-box {border-color: var(--it-theme-color-1) !important }
    .service-slider-area:hover .icon-box:before {
        background-color: var(--it-theme-color-1) !important;
    }
    .service-slider-area:hover h2 {color:var(--it-theme-color-1);}


    a.it-link-to-service {transition: 0.5s; color: #787878}
    a.it-link-to-service:hover {text-decoration: underline;}
    .service-slider-area .content .more-service-list li {transition: 0.5s;position: relative}
    .service-slider-area .content .more-service-list li:hover {padding:8px 5px 8px 30px;}
    .service-slider-area .content .more-service-list a:hover {color: var(--theme-color)}

}





/* Мобильные стили для списка постов */
@media (max-width: 768px) {
    .service-slider-area .content .more-service-list {
        position: relative; /* не перекрывает весь блок */
        display: block; /* всегда виден на мобильных */
        max-height: 200px; /* ограниченная высота, прокрутка при необходимости */
        overflow-y: auto;
        padding: 10px 15px;
        margin-top: 10px;
        background-color: #f0f0f0; /* светлый фон */
        border-radius: 8px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }

    .service-slider-area .content .more-service-list li {
        padding: 8px 0;
        border-bottom: 1px solid #ddd;
    }

    .service-slider-area .content .more-service-list li:last-child {
        border-bottom: none;
    }

    .service-slider-area .content .more-service-list a {
        color: #007bff;
        text-decoration: none;
    }

    .service-slider-area .content .more-service-list a:hover {
        text-decoration: underline;
    }
}

.utp1, .ServiceDetailBlock, .maxwidth1200 {max-width: 1200px;
    margin: auto;}

.it-whychoose-us1 {}
.it-whychoose-us1 .content h5 {margin-bottom: 5px}
.it-whychoose-us1 .content p {line-height: 22px}

.it-whychoose-us1 .choose-area-icon-box {transition: 0.7s;}
.it-whychoose-us1 .choose-area-icon-box:hover {padding-left: 20px}
/*
.it-whychoose-us1 .choose-area-icon-box:hover .content h5 {font-size: 24px}
.it-whychoose-us1 .choose-area-icon-box:hover .content p {font-size: 20px; line-height: 24px;}

 */




.it-hero h1  {font-size: 46px}
.it-hero .h1-subtitle {
    color: white;
}
.it-hero .h1-subtitle h2 {
    font-weight: 400;
    margin-bottom: 20px;
    color: #cbd5e1;
    font-size: 32px;
}

.cta {
    background: #2563eb;
    padding: 14px 28px;
    border-radius: 8px;
    text-decoration: none;
    color: white;
    font-weight: 600;
    display: inline-block;
    margin-top:25px;

}

.techblocks .wp-block-media-text,
.utp1 .wp-block-media-text {
    -webkit-box-shadow: -1px 10px 24px 5px rgba(0,0,0,0.08);
    box-shadow: -1px 10px 24px 5px rgba(0,0,0,0.08);
    /*border: 1px solid gray; */
    padding: 15px !important;
}

/* Service Details page content */

.service-details-page h2 {
    font-size: 26px;
    line-height: 36px;
    font-weight: 700;
    text-transform: capitalize;
    color: #3c72fc !important;
}

.service-details-page h3 {
    font-size: 22px;
    line-height: 26px;
    font-weight: 400;
    text-transform: capitalize;
}

.utp1 {}

.techblocks .wp-block-media-text p,
.utp1 .wp-block-media-text p {
    margin-bottom: 0;color: black;font-size: 16px;
}

.utp1 .wp-block-media-text p {text-align: left}
.techblocks .wp-block-media-text p {text-align: center}
.techblocks .wp-block-media-text img,
.utp1 .wp-block-media-text img {max-width: 80px;}


.ServiceDetailBlock {
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding: 10px;
    background-color: white;
}

.ServiceDetailBlock:hover {
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(1,2,1,0.1);
    padding: 10px;
    background-color: white;
}

.ServiceDetailBlock h2,
.ServiceDetailBlock p {padding:0 15px;margin-bottom: 0}
.ServiceDetailBlock .wp-block-list {padding:5px 25px 15px 35px !important;list-style: disc}
.ServiceDetailBlock .wp-block-list li {list-style-type: disc !important;}


.choose-section.bg-color-1.section-space-top.p-relative .col-xxl-6.col-xl-6.col-lg-6.wow.fadeInLeft {
    display: flex;
    align-items: flex-end;
}



/* animation related */

.ServiceDetailBlock {
    animation-delay: 0.7s;
    animation-name: fadeInUp;
}

@media (max-width: 767px) {
    .techblocks .wp-block-media-text__media img,
    .utp1 .wp-block-media-text__media img {margin-bottom: 10px;}
    .utp1 .wp-block-media-text__content p,     .utp1 {text-align: center}
    .ServiceDetailBlock:nth-child(2n+1) {flex-direction: column-reverse}
    .ServiceDetailBlock:nth-child(2n) {flex-direction: column}
}



/* контейнер картинки */
.ServiceDetailBlock .wp-block-image {
    position: relative;
    overflow: hidden;
}

/* сам overlay */
.ServiceDetailBlock .wp-block-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: 0.3s ease;
    z-index: 1;
}

/* кнопка */
.ServiceDetailBlock .wp-block-image .hover-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: #fff;
    color: #000;
    padding: 12px 24px;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    opacity: 0;
    transition: 0.3s ease;
    z-index: 2;
}

/* hover эффект */
.ServiceDetailBlock .wp-block-image:hover::after {
    opacity: 1;
}

.ServiceDetailBlock .wp-block-image:hover .hover-btn {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}











/* синий блок */

.darkblock {
    background-image: url("/wp-content/uploads/2024/02/shape-15.png") ;
    background-repeat: no-repeat;
}

.darkblock .it-howProcessRun {padding: 90px 30px}
.lightblock .it-howProcessRun {padding: 50px 30px 90px}
.darkblock h2 {color: white}
.darkblock .it-howProcessRun .wp-block-column {background-color: white;padding: 20px}

.lightblock .it-howProcessRun > .wp-block-column  {background-color: #102039; border: 1px solid #102039 }
.lightblock .it-howProcessRun > .wp-block-column h5  {color: white }

@media (min-width: 1280px) {
    .darkblock {padding-left:100px;padding-right: 100px;}
    .lightblock {padding-left:100px;padding-right: 100px;}
}




.it-howProcessRun {
    gap: 60px; /* увеличим расстояние под стрелки */
}

.it-howProcessRun .wp-block-column {
    position: relative;
    padding: 20px;
    background: #fff; /* если нужен контраст */

}

/* стрелки между блоками */
.it-howProcessRun .wp-block-column:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 28px;
    line-height: 1;
}


/* включаем счетчик */
.it-howProcessRun {
    counter-reset: step;
}

/* сам блок */
.it-howProcessRun .wp-block-column {
    position: relative;
    padding: 30px 20px;
    background: #fff;
    z-index: 1;
}


/* большая фоновая цифра */
.it-howProcessRun .wp-block-column::before {
    content: counter(step);
    counter-increment: step;

    position: absolute;
    top: 10px;
    right: 15px;

    font-size: 120px;
    font-weight: 700;
    line-height: 1;

    color: rgba(0, 0, 0, 0.05); /* прозрачная */
    z-index: 0;
}

.lightblock .it-howProcessRun .wp-block-column::before{ color: rgba(255, 249, 249, 0.05)}

/* чтобы текст был поверх */
.it-howProcessRun .wp-block-column > * {
    position: relative;
    z-index: 2;
}

.it-howProcessRun .wp-block-column:nth-child(1) {
    animation-delay: 0.7s;
}

.it-howProcessRun .wp-block-column:nth-child(2) {
    animation-delay: 1.1s;
}

.it-howProcessRun .wp-block-column:nth-child(3) {
    animation-delay: 1.5s;
}

.it-howProcessRun .wp-block-column:nth-child(4) {
    animation-delay: 1.9s;
}

@media (max-width: 768px) {
    .it-howProcessRun {
        flex-direction: column;
        gap: 40px;
    }

    .it-howProcessRun .wp-block-column::before {
        font-size: 80px;
        top: 5px;
        right: 10px;
    }

    .it-howProcessRun .wp-block-column:not(:last-child)::after {
        content: "↓";
        right: 50%;
        top: auto;
        bottom: -25px;
        transform: translateX(50%);
    }
}







h1.banner-title {
    color: #fff;
    font-size: 64px;
    font-style: normal;
    font-weight: 700;
    line-height: 77px;
    padding: 20px 0; }

p.banner-text {
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 32px;
    padding-bottom: 40px;
    padding-right: 29px; }

.banner-btn-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 30px; }


