:root { 
    --primary-yellow: #FFDE5C; 
    --primary-dark: #242D50; 
    --text-color: #222222; 
}
body{ overflow-x: hidden;}
h1,h2,h3,h4,h5,h6,p{ margin-top: 0;}
.header-btn a.elementor-button { background: linear-gradient(90deg,rgba(179, 116, 0, 1) 0%, rgba(255, 240, 122, 1) 48%, rgba(179, 116, 0, 1) 100%); border: 2px solid #fff !important; box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px; }
.header-btn a.elementor-button:hover { background: linear-gradient(90deg, #202f52 0%, #7e9ed9, #202f52 100%); }

.banner-form-main { background: #FFFFFF14; backdrop-filter: blur(25px); position: relative !important; overflow: hidden !important; }
.top-line { left: 50% !important; transform: translateX(-50%); top: 0; }

.banner-form-main .row { display: flex; flex-wrap: wrap; gap: 15px; }
.banner-form-main .col-md-6 { width: calc(50% - 15px/2); }
.banner-form-main .col-12{ width: 100%;}
.banner-form-main .row p { margin: 0; }
.banner-form-main .wpcf7-form-control:not([type="submit"]) { width: 100%; background-color: #F3F5F826; height: 50px; font-size: 16px !important; padding: 10px;  color: #fff ; border: transparent !important; outline: none !important; box-shadow: none;}
.banner-form-main .row .col-12 input.wpcf7-form-control.wpcf7-submit { padding: 12px 54px; font-size: 18px; cursor: pointer; transition: 0.3s; }

.banner-form-main .row .col-md-6 span.wpcf7-not-valid-tip { display: none; }
.banner-form-main .row .col-md-6 input.wpcf7-not-valid { border: 1px solid crimson; }

.banner-form-main .wpcf7-form-control:not([type="submit"])::placeholder { color: #fff !important;}
.banner-form-main select option { color: #000; }


.inner-banner{ position: relative;}
.inner-banner::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(59.3deg, rgba(6, 10, 25, 0.45) 36.32%, rgba(6, 10, 25, 0.81) 101.18%); opacity: 1 !important; }

.sub-title{ width: fit-content; margin: 0 auto; text-transform: capitalize; color: #AE8B00; padding: 0 90px; position: relative;}
.sub-title::before, .sub-title::after{ content: ""; position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); width: 70px; height: 2px; background: #AE8B00; border-radius: 10px;}
.sub-title::before{ left: 0;}
.sub-title::after{ right: 0;}
.sub-title.text-left{ padding-right: 0; margin-left: 0;}
.sub-title.text-left::after{ display: none;}
.p-m-0 p{ margin: 0;}
.get-in-touch-card{ transition: all 0.3s ease;}
.get-in-touch-card .image-box .elementor-widget-container{ position: relative; padding-bottom: 65%;}
.get-in-touch-card .image-box .elementor-widget-container img{ position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.get-in-touch-card:hover{ border-color: #FFDE5C !important; background: #FFDE5C !important;}

.faq-wraper summary.e-n-accordion-item-title { border: 1px solid #D7D2BE; }
.faq-wraper .e-n-accordion-item-title-icon { width: 38px !important; height: 38px; background: #FFE270; border-radius: 50%; justify-content: center; flex: 0 0 auto; }
.faq-wraper .accordion-body{ padding: 25px 15px 25px 0;}
.faq-wraper .accordion-body .body-inner{  max-height: 650px; overflow: auto; padding-right: 25px;}
.faq-wraper .accordion-body-items{ padding: 0 0 25px 30px; border-bottom: 1px solid #DBDBDB;}
.faq-wraper .accordion-body-items:first-child{ padding-top: 0;}
.faq-wraper .accordion-body-items:last-child{ padding-bottom: 0; border-bottom: 0;}

/* Width */
.faq-wraper .accordion-body .body-inner::-webkit-scrollbar { width: 5px; }

/* Track */
.faq-wraper .accordion-body .body-inner::-webkit-scrollbar-track { background: #EEEEEE; border-radius: 5px; }

/* Thumb */
.faq-wraper .accordion-body .body-inner::-webkit-scrollbar-thumb { background: #222222; border-radius: 10px; }


.faq-wraper .e-n-accordion-item[open] .e-n-accordion-item-title-icon{ background: #222222;}
.faq-wraper .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg{ fill: #fff !important;}


.custom-icon-design .elementor-icon-box-icon { display: flex !important; align-items: center; justify-content: center; width: 65px; height: 65px; border: 1px solid #22222233; border-radius: 50%; }
.custom-icon-design .elementor-icon-box-title{ margin: 0;}
.gradient-banner{ position: relative;}
.gradient-banner::after { content: ""; display: block !important; background: linear-gradient(186.35deg, rgba(12, 18, 40, 0.89) 5.7%, rgba(12, 18, 40, 0.8) 58.92%, #0C1228 90.41%); position: absolute; z-index: 1; inset: 0; }
.gradient-banner>div{ position: relative; z-index: 3;}

.process-card{ backdrop-filter: blur(10px); position: relative;}
.process-card::before { content: "" !important; position: absolute; z-index: 1; top: 0; left: 30px !important; width: 65% !important; height: 3px !important; background: #FFDE5C; }
.process-card .custom-icon-design .elementor-icon-box-icon{ border-color: #FFFFFF33 ;}

.content-section{ overflow: hidden;}
.content-section .content-row { display: flex; flex-wrap: wrap; align-items: center; row-gap: 25px; margin: 0 -12px; }
.content-section .content-row>*{ width: 100%; padding: 0 12px;}
.content-section .content-row .col-6{ max-width: 50%;}
.content-section .content-title{ max-width: 850px; margin: 0 auto 25px; text-align: center;}
.content-section h2, .content-section h3{ margin: 0 0 16px; color: #222222 !important;}
.content-section p{ color: #333333 !important;}
.content-section .content-image { position: relative; padding-bottom: 65%; border-radius: 10px; overflow: hidden; }
.content-section .content-image img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.content-section .content-row-item:nth-child(even) .content-row{ flex-direction: row-reverse;}
.content-section .content-row-item:not(:last-child){ margin-bottom: 80px;}
.col-12 .content-text{ text-align: center;}
.content-text ul{ padding-left: 0; list-style: none;}
.content-text li{ position: relative; padding-left: 15px; color: #333333;}
.content-text li::before{ content: ""; background: #333333; position: absolute; z-index: 1; top: 12px; left: 0; width: 5px; height: 5px; border-radius: 50px;}


.gallery-section { max-width: 1400px; margin: 0 auto; text-align: center; }
.main-title { font-size: 38px; font-weight: 700; margin: 0 0 40px 0;  }

/* Tabs */
.gallery-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; margin-bottom: 50px; }
.gallery-section .tab-btn { background-color: var(--primary-yellow); color: var(--text-color); border: none; padding: 16px 20px; font-size: 16px; font-weight: 700;  cursor: pointer; transition: all 0.3s ease; min-width: 245px;}

.gallery-section .swiper { width: 100%; padding-bottom: 20px; }
.gallery-section .swiper-wrapper { align-items: center; }
.gallery-section .swiper-slide { transition: all 0.3s ease; }
.gallery-section .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.gallery-section .swiper { overflow: visible; }
.tab-content { display: none; animation: fadeIn 0.5s ease; }
.gallery-section .image-box { position: relative; padding-bottom: 130%; transition: all 0.4s ease;}
.gallery-section .image-box img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gallery-section  .swiper-slide-prev .image-box, .gallery-section  .swiper-slide-next .image-box { transform: scaleY(0.8); }

.gallery-tabs .tab-btn:hover { background-color: var(--primary-dark);}
.gallery-tabs .tab-btn.active { background-color: var(--primary-dark); color: #ffffff; }
.tab-content.active { display: block; }

@keyframes fadeIn {
    from { 
        opacity: 0; transform: translateY(10px); 
    }
    to {
         opacity: 1; transform: translateY(0); 
        }
}



/* Navigation Buttons */
.gallery-nav-controls { display: flex; justify-content: center; gap: 20px; margin-top: 40px; }
.gallery-nav-controls .nav-btn { width: 60px; height: 60px; border-radius: 50% !important; border: none !important; cursor: pointer; display: flex; align-items: center; justify-content: center; background: #FFFFFF !important; transition: all 0.3s ease; box-shadow: 0px 0px 34px 0px #D4E9F2D9; }


.gallery-nav-controls .nav-btn:hover {background: #0C1228 !important;}
.gallery-nav-controls .nav-btn:hover svg path{ fill: #ffffff; }



/* Accordion Styles */

.acc-item { margin-bottom: 12px; background: #ffffff; border: 1px solid #D7D2BE99; border-radius: 2px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.02); transition: all 0.3s ease; }

.acc-header { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; background: #FFFFFFB2 !important; cursor: pointer; border: 1px solid #D7D2BE99; }
.acc-header .acc-title { font-size: 24px; font-weight: 700; font-family: "Raleway", Sans-serif; color: var(--text-color); }
.acc-header .acc-icon { width: 38px; height: 38px; border-radius: 50%; background-color: var(--primary-yellow); display: flex; justify-content: center; align-items: center; transition: all 0.3s ease; flex-shrink: 0; }

.acc-icon::before, .acc-icon::after { content: ''; position: absolute; background-color: #1a1a1a; transition: all 0.3s ease; }

.acc-icon::before { width: 10px; height: 2px; }
.acc-icon::after { width: 2px; height: 10px; }



/* Accordion Content */
.acc-content { padding: 0 30px 0 0; max-height: 0; overflow: hidden; transition: max-height 0.4s ease; background: #ffffff; }

.acc-inner { padding: 0 30px 0 0; margin: 30px 0; max-height: 650px; overflow: auto; }
.accordion-holder .acc-content h4 { margin: 0 0 8px; font-size: 18px; font-weight: 700; font-family: "Raleway", Sans-serif; color: var(--text-color); }
.acc-faq p { font-size: 18px; line-height: 1.6; margin: 0; color: #333333; }

.acc-faq { padding: 30px 0 30px 30px; border-bottom: 1px solid #DBDBDB; }
.acc-faq:first-child{ padding-top: 0;}
.acc-faq:last-child{ border-bottom: none; padding-bottom: 0;}

/* Active Accordion State */

.acc-item.active .acc-header { background-color: var(--primary-yellow) !important; }
.acc-item.active .acc-icon { background-color: #222222; }

.acc-item.active .acc-icon::before, .acc-item.active .acc-icon::after { background-color: #FFFFFF; }

.acc-item.active .acc-icon::after { transform: rotate(90deg); opacity: 0; }




/* Width */
.acc-inner::-webkit-scrollbar { width: 5px; }

/* Track */
.acc-inner::-webkit-scrollbar-track { background: #EEEEEE; border-radius: 5px; }

/* Thumb */
.acc-inner::-webkit-scrollbar-thumb { background: #222222; border-radius: 10px; }



@media only screen and ( max-width:1030px ) { 
.banner-form-main .row .col-md-6 { width: 47%; }
.right-form { background-color: #202F52; }
}
@media only screen and ( max-width:1023px ){
  .custom-icon-design .elementor-icon-box-icon{ width: 50px; height: 50px;}
  .custom-icon-design .elementor-icon-box-icon svg { width: 24px; height: 24px; }
  .content-section .content-row-item:not(:last-child) { margin-bottom: 35px; }
  .main-title { margin: 0 0 25px 0; }
  .gallery-tabs{ margin-bottom: 35px;}
  .gallery-section .tab-btn { padding: 14px 15px; font-size: 15px; min-width: 230px; }
  .gallery-nav-controls{ margin-top: 15px;}
  .acc-faq { padding: 20px 0 20px 20px; }
  .acc-header { padding: 15px 20px; }
  .acc-content { padding: 0 20px 0 0; }
  .acc-inner { padding: 0 20px 0 0; }
}
@media only screen and ( max-width:767px ){
    .sub-title { padding: 0 50px; }
    .sub-title::before, .sub-title::after { width: 40px; }
    .faq-wraper .accordion-body { padding: 15px 5px 15px 0; }
    .faq-wraper .accordion-body .body-inner { padding-right: 10px; }
    .faq-wraper .accordion-body-items { padding: 0 0 15px 15px; }
    .faq-wraper .e-n-accordion-item-title-icon { width: 32px !important; height: 32px; }

    .process-card::before{ width: 85%; right: 0 !important; left: 0 !important; margin: 0 auto !important;}
    .process-card-row .process-card .custom-icon-design.elementor-widget-icon-box .elementor-icon-box-wrapper { align-items: center !important; }
    .content-section .content-row .col-6{ max-width: 100%;}
    .content-section .content-row-item:not(:last-child) { margin-bottom: 20px; }
    .gallery-section .tab-btn { padding: 13px 15px; font-size: 14px; min-width: 0; }
    .gallery-tabs{ margin-bottom: 25px;}
    .gallery-section .image-box { padding-bottom: 110%; }

}
@media only screen and ( max-width:575px ) { 
.banner-form-main .row .col-md-6 { width: 100%; }

}


@media (max-width: 767px) {
  .elementor-column,
  .elementor-widget-wrap {
    height: auto !important;
  }
}


