/* ==========================================================================
   1. GLOBAL MENU & HEADER GLOW
   ========================================================================== */
.head-men li.menu-item a:hover {
    text-shadow: 0px 0px 22px #FFFFFF, 0px 0px 14px #FFFFFF !important;
    transition: text-shadow 0.3s ease-in-out;
}
.head-men li.menu-item a.elementor-item.elementor-item-active {
    text-shadow: 0px 0px 22px #FFFFFF, 0px 0px 14px #FFFFFF !important;
}

/* White Text Shadow Utility */
.white-tex-shad a { color:#fff; }
.white-tex-shad a:hover {
    text-shadow: 0px 0px 22px #FFF, 0px 0px 14px #FFF;
}

/* ==========================================================================
   2. BUTTON STYLES (STABLE VERSION)
   ========================================================================== */

/* A. The "Problem Button" (Stable Fix applied here) */
.btn.insetred .elementor-button {
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), 
                      linear-gradient(90deg, #F37845, #EE465A) !important;
    background-origin: border-box;
    background-clip: content-box, border-box;
    border: 2.2px solid transparent !important;
    border-radius: 50px; 
    /* The Dark Blue Fill Hack */
    box-shadow: inset 0 0 0 100px #072136 !important; 
    color: #FFFFFF !important;
    font-family: "Poppins", Sans-serif;
    font-weight: 600;
    letter-spacing: 0.7px;
    
    /* THE BLUR FIX: Forces GPU Layer */
    transform: translateZ(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.btn.insetred .elementor-button:hover {
    box-shadow: inset 0 0 0 100px #072136, 0px 0px 50px 0px #EE465A !important;
    transform: translateY(0px);
    color: #FFFFFF !important;
}

/* B. Generic Red Button (Fallback for other buttons) */
.btn .elementor-button-wrapper a {
    color: #fff;
    background: #5f4bdb;
    border-radius: 2em;
    letter-spacing: .7px;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #072136 inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
}
.btn .elementor-button-wrapper a:focus { box-shadow:none; }

/* C. Transparent/White Variant */
.btn-whi .elementor-button-wrapper a {
    color: #415473 !important;
    background: #5f4bdb;
    border-radius: 2em;
    letter-spacing: .7px;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fff inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
}
.btn-whi .elementor-button-wrapper a:hover { box-shadow:none; color: #fff !important; }

/* D. White Back Button */
.whi_but .elementor-button-wrapper a {
    background: #5f4bdb;
    border-radius: 2em;
    letter-spacing: .7px;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fff inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
}
.whi_but .elementor-button-wrapper a:hover { box-shadow:none; }

/* ==========================================================================
   3. MOBILE MENU BUTTON
   ========================================================================== */
.mob-men li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-904 a {
    background: #5f4bdb;
    border-radius: 2em;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #072136 inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
    width: 60%;
    text-align: center;
    margin-left: 9px;
    margin-bottom: 25px;
    align-items: center;
    justify-content: center;
}
.mob-men li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-904 a:hover {
    box-shadow: 0 0 30px rgb(238 72 89 / 75%), 2px 1000px 1px rgb(7 33 54 / 100%) inset !important;
}
.mob-men li.menu-item.menu-item-type-custom.menu-item-object-custom.menu-item-904 a:focus { box-shadow:none; }

/* ==========================================================================
   4. TEXT GRADIENTS & UTILITIES
   ========================================================================== */
.text-blue {
    background: linear-gradient(138deg, #5eb5ca 0, #bfffff 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-style: normal;
}

.text-red {
    background: linear-gradient(to right, #ee465a, #f37845);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}
.text-red span.elementor-button-text {
    background: linear-gradient(to right, #ee465a, #f37845);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}
.text-red a.elementor-button.elementor-button-link.elementor-size-sm:hover {
    color: #f37746;
    box-shadow: 0px 0px 40px 0px rgba(255, 255, 255, 0.50);
}

.text-count-blue .elementor-counter-number-wrapper {
    background: linear-gradient(138deg, #5eb5ca 0, #bfffff 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 0 24px rgba(191, 255, 255, .5);
}
.text-count-blue .elementor-counter-title { text-align:center; }

.our-p { font-family:Poppins; font-size:24px; font-weight:700; }
.sing-pos-hea h2,h3,h4,h5,h5 { color:#415473; font-size: 30px; font-family: 'Poppins'; font-weight: 700; }

/* ==========================================================================
   5. SPECIFIC WIDGET OVERRIDES
   ========================================================================== */
/* Newsletter Form */
.ser-sec-nl-f button.elementor-button.elementor-size-md {
    color: #fff;
    background: #5f4bdb;
    padding: 15px 30px;
    border-radius: 2em;
    letter-spacing: .7px;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #031422 inset !important;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #5eb5ca, #bfffff); 
    transition: color .5s ease;
    text-transform: capitalize;
    font-family:'Poppins';
}
.ser-sec-nl-f.insetb button.elementor-button.elementor-size-md:hover {
    box-shadow: 0 0 30px rgb(191 255 255 / 75%), 2px 1000px 1px rgb(7 33 54 / 79%) inset !important;
    color:#fff;
}
.ser-sec-nl-f button.elementor-button.elementor-size-md:focus { box-shadow: none !important; color: #fff; }

.ser-gry-sec .elementor-widget-container { min-height: 121px; margin:0px; }

/* Testimonial Layouts */
.test-cls-vid .elementor-testimonial__text { display: flex; gap: 80px; }
.test-cls-vid .tes-vid { width: 50%; }
.test-cls-vid .tes-vid video { border-radius: 30px; }
.test-cls-vid .tes-cont { width: 50%; }
.test-cls-vid span.elementor-testimonial__title, 
.test-cls span.elementor-testimonial__title { position: absolute; right: 25px; bottom:50px; }
.test-cls-vid .elementor-testimonial__footer { width: 45%; float: right; height:100px; }
.test-cls-vid span.elementor-testimonial__name { position: absolute; bottom: 150px; }
.test-cls-vid .swiper-wrapper, .test-cls .swiper-wrapper { padding-bottom:80px; }
.test-cls .elementor-testimonial__footer { align-items: flex-start !important; height:100px; }

.test-btn {
    color: #fff;
    background: #5f4bdb;
    padding: 15px 30px;
    border-radius: 2em;
    letter-spacing: .7px;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #031422 inset !important;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #5eb5ca, #bfffff); 
    transition: color .5s ease;
    text-transform: capitalize;
    font-family:'Poppins';
}
.test-btn.insetblue:hover {
    box-shadow: 0 0 30px rgb(191 255 255 / 75%), 2px 1000px 1px rgb(7 33 54 / 79%) inset !important;
    color:#fff;
}
.test-btn:focus { box-shadow: none !important; color: #fff; }

.btn--insetblue {
    box-shadow: 2px 1000px 1px #031422 inset !important;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #5eb5ca, #bfffff) !important;
}
.btn--insetblue:hover { box-shadow: none !important; }

/* Box Hover Glows */
.sol-box-hov .elementor-widget-wrap.elementor-element-populated:hover { box-shadow: 0px 0px 20px 0px rgba(191, 255, 255, 0.70); }
.sol-box-hov .elementor-widget-wrap.elementor-element-populated:hover img { filter: drop-shadow(0px 0px 20px #BFFFFF) drop-shadow(0px 0px 20px #BFFFFF); }
.sol-box-hov .elementor-widget-wrap.elementor-element-populated:hover .text-blue { text-shadow: 0px 0px 50px #BFFFFF; }

/* Newsletter Form Highlight */
.news-lett .elementor-form-fields-wrapper.elementor-labels-above:hover input#form-field-email,
.news-lett .elementor-form-fields-wrapper.elementor-labels-above:focus input#form-field-email,
.news-lett .elementor-form-fields-wrapper.elementor-labels-above:hover button.elementor-button.elementor-size-md,
.news-lett .elementor-form-fields-wrapper.elementor-labels-above:focus button.elementor-button.elementor-size-md {
    border-color: #5EB5CA;
}

/* Service Page Positioning */
.ser-sec-link a.elementor-button.elementor-button-link {
    width: 113%;
    position: absolute;
    z-index: 999 !important;
    height: 420px !important;
    bottom: -65px !important;
    left: -15px;
    right: 0px;
}

.ser-pg-help .elementor-widget-wrap.elementor-element-populated:hover h4.elementor-heading-title.elementor-size-default {
    background: linear-gradient(to right, #F37845, #EE465A);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}
.ser-pg-help .elementor-widget-wrap.elementor-element-populated:hover .help-sec-but span.elementor-button-content-wrapper { color: #5EB5CA; }

/* Resources Page */
.sc-resources { background: radial-gradient(74.89% 54.36% at 20.35% 47.12%, #415473 0, #072136 100%), #072136; }
.res-pg-ani .e-lottie__animation, .res-pg-ani svg, .res-pg-ani path { filter: drop-shadow(0 0 1rem #f37647); }

/* Contact Form Button */
.cont-form button.elementor-button.elementor-size-lg {
    background: #5f4bdb;
    border-radius: 2em;
    letter-spacing: .7px;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fff inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
}
.cont-form button.elementor-button.elementor-size-lg:hover { box-shadow:none; }

.signup-form button.elementor-button.elementor-size-lg:hover { box-shadow: 0px 0px 40px 0px rgba(255, 255, 255, 0.50); }

/* Start Page Button */
.sti_fom button.elementor-button.elementor-size-lg {
    color: #fff;
    background: #5f4bdb;
    border-radius: 2em;
    letter-spacing: .7px;
    font-weight: 500;
    font-size: 1rem;
    border: solid 3px transparent;
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #072136 inset;
    background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0)), linear-gradient(90deg, #f37845, #ee465a);
    transition: color .5s ease;
    text-transform: capitalize;
    background-color: transparent;
}
.sti_fom button.elementor-button.elementor-size-lg:focus { box-shadow:none; }
.sti_fom.insi button.elementor-button.elementor-size-lg:hover { box-shadow: 0 0 30px rgb(238 72 89 / 75%), 2px 1000px 1px rgb(7 33 54 / 82%) inset !important; }

/* ==========================================================================
   6. BLOG STYLES
   ========================================================================== */
.hero-blog a.elementor-post__thumbnail__link { width: 55% !important; } 
.hero-blog .elementor-post__meta-data {
    display: flex;
    width: 100%;
    padding-left: 38% !important;
    position: absolute;
    align-items: end;
    justify-content: center;
}
.hero-blog .elementor-post__card { display: flex; flex-direction: row !important; }
.hero-blog .elementor-post__text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 45% !important;
    padding-left: 101px !important;
}
.hero-blog .elementor-posts .elementor-post__badge { right: 32%; top: 20px; }
.hero-blog .elementor-post__thumbnail.elementor-fit-height { border-radius: 15px !important; }
.hero-blog .elementor-post__text:hover h3.elementor-post__title {
    background: -webkit-linear-gradient(#EE4A58, #F27247);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-blog .elementor-post__thumbnail { border-radius: 15px !important; }

/* Archive Blog */
.adv-tab .eael-tabs-nav { display: flex; justify-content: center; }
.adv-tab .eael-tab-item-trigger:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.adv-tab .eael-tab-item-trigger.active { font-weight: 700 !important; }
.adv-tab .elementor-posts-container.elementor-posts.elementor-posts--skin-cards.elementor-grid { gap: 15px !important; }
.adv-tab .elementor-posts-container .elementor-post__card { border-radius: 10px !important; }
.adv-tab a.elementor-button-link.elementor-button { background-color: transparent !important; color:#415473 !important; }
.adv-tab a.elementor-button-link.elementor-button:hover { color:#57A5B8 !important; }
.adv-tab .elementor-section.elementor-top-section { margin-top: 50px !important; }
.adv-tab .elementor-post__text { padding:0px !important; }

.arch-blog .elementor-post__card { padding: 15px; }
.arch-blog .elementor-post__thumbnail.elementor-fit-height { border-radius: 10px; object-fit: contain; }
.arch-blog .elementor-post__thumbnail.elementor-fit-height img { object-fit: contain !important; }
.arch-blog .elementor-post__badge {
    position: relative !important;
    top: 0 !important;
    left: 0; right: 0; bottom: 0;
    margin: 0 !important;
    display: inline-flex;
    width: 35%;
    max-width: 350px;
    justify-content: center;
    align-items: center;
    background-color: #ECEDF0 !important;
    color: #415473 !important;
}

/* ==========================================================================
   7. AUTOMATION MINING & SUCCESS STORIES
   ========================================================================== */
.sc-automation-mining-hero {
    background: radial-gradient(35.74% 66.08% at 50.00% 29.63%, #415473 0%, #072136 100%);
    padding-top: 200px;
    position: relative;
}

.ss-cate span.elementor-post-info__terms-list a.elementor-post-info__terms-list-item,
.ss-inpg-cat span.elementor-post-info__terms-list a.elementor-post-info__terms-list-item {
    background-color: #ECEDF0;
    padding: 4px 10px 5px 10px;
    border-radius: 15px;
    margin: 19px 2px;
}
.ss-cate span.elementor-post-info__terms-list,
.ss-inpg-cat span.elementor-post-info__terms-list { color: transparent; }

.blg-ss:hover .text-red-hov {
    background: linear-gradient(to right, #ee465a, #f37845);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}
.blg-ss:hover .bl-rm .elementor-button-wrapper a { color:#5EB5CA; }

.custom-butt a.elementor-button.elementor-button-link.elementor-size-sm {
    width: 135% !important;
    max-width: 1300px;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0; left: 0;
    margin-top: -31%;
    margin-left: -32%;
}
.ss-inpg-ms-link-but a.elementor-button.elementor-button-link {
    width: 110%;
    position: absolute;
    z-index: 999 !important;
    height: 390px !important;
    bottom: -3px !important;
    left: -18px;
    right: 0px;
}
.ss-nav-cls span.post-navigation__next--title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 250px;
}
.ss-nav-cls span.post-navigation__arrow-wrapper.post-navigation__arrow-next::before {
    content: "→";
    font-size: 26px;
    font-weight: 700;
    width: 24px;
    height: 13px;
    padding: 5px;
    top: -14px;
    position: absolute;
    right: 1px;
}
.ss-nav-cls .elementor-post-navigation__prev.elementor-post-navigation__link a { display: none; }

/* ==========================================================================
   8. PAGINATION FIX
   ========================================================================== */
.elementor-posts-nothing-found,
.elementor-ms-no-results { display: none !important; }

.elementor-button-state-flat.all-loaded {
    display: none !important;
    visibility: hidden;
    opacity: 0;
}

/* ==========================================================================
   9. MEDIA QUERIES
   ========================================================================== */
@media(max-width:1440px){
    .hero-blog .elementor-posts .elementor-post__badge { right: 27%; top: 0px; }
}
@media(max-width:1366px){
    .hero-blog .elementor-post__text { padding-left: 65px !important; }
    .hero-blog .elementor-posts .elementor-post__badge { right: 32%; top: 20px; }
}
@media (max-width: 1024px) {
    .hero-blog .elementor-posts .elementor-post__badge { right: 30%; top: 5px; }
    .hero-blog .elementor-post__text { padding-left: 35px !important; }
    .ser-sec-link a.elementor-button.elementor-button-link { width: 113%; height: 300px !important; bottom: -12px !important; }
    .ser-gry-sec .elementor-widget-container { min-height: 100px; }
    .ss-inpg-cat span.elementor-post-info__terms-list { display: block !important; font-size: 0px; }
    .ss-inpg-cat span.elementor-post-info__terms-list a{
        font-size: 14px; padding: 0px; margin: 2px !important;
        flex-wrap: nowrap; align-items: center; width:100% !important; display:block !important;
    }
    .custom-butt a.elementor-button.elementor-button-link.elementor-size-sm {
        width: 100% !important; height: 380px; top: 0; left: 0; margin-top: -43%; margin-left: -0%;
    }
    .ss-inpg-ms-link-but a.elementor-button.elementor-button-link { width: 100%; }
}
@media (max-width: 768px) {
    .hero-blog .elementor-post__card { flex-direction: column !important; }
    .hero-blog a.elementor-post__thumbnail__link { width: 100% !important; } 
    .hero-blog .elementor-post__text { width: 100% !important; padding-left: 20px !important; }
    .hero-blog .elementor-posts .elementor-post__badge { right: auto; top: 61%; left: 0px; }
    .custom-butt a.elementor-button.elementor-button-link.elementor-size-sm {
        width: 100% !important; height: 469px; top: 0; left: 0; margin-top: -70%; margin-left: -0%;
    }
    .test-cls-vid .elementor-testimonial__text { display: flex; gap: 0px; flex-direction:column; }
    .test-cls-vid .tes-vid, .test-cls-vid .tes-cont { width: 100%; }
    .test-cls-vid .elementor-testimonial__footer { width: 100%; float: left; }
    .test-cls-vid span.elementor-testimonial__name { position: absolute; bottom: 90px; }
}
@media(max-width:452px){
    .test-cls .elementor-testimonial__footer { height: 130px; }
    .test-cls span.elementor-testimonial__name { bottom: 120px; position: absolute; }
    .test-cls .elementor-widget-container { margin-top: 320px !important; }
    .hero-blog .elementor-posts .elementor-post__badge { right: auto; top: 37%; margin-left: 0px; left: 0px; }
    .hero-blog .elementor-post__text { padding-left:5px !important; padding-right:5px !important; }
    .custom-butt a.elementor-button.elementor-button-link.elementor-size-sm {
        width: 100% !important; height: 550px; top: 0; left: 0; bottom: 0; margin-top: -161%; margin-left: -0%;
    }
}
@media(max-width:375px){
    .hero-blog .elementor-posts .elementor-post__badge { top: 35%; }
    .test-cls .elementor-widget-container { margin-top: 280px !important; }
    .hero-blog .elementor-posts .elementor-post__badge { top: 29%; }
    .custom-butt a.elementor-button.elementor-button-link.elementor-size-sm { height: 490px; margin-top: -170%; }
}
@media (max-width: 320px) {
    .custom-butt a.elementor-button.elementor-button-link.elementor-size-sm { height: 500px; margin-top: -218%; }
    .test-cls .elementor-widget-container { margin-top: 205px !important; }
}

/* =======================================================
   CUSTOM CLASS: Uniform Image Sizes for Loop Grid
   ======================================================= */
/* Only affects widgets with the class 'uniform-grid-images' */

.uniform-grid-images .elementor-widget-featured-image img,
.uniform-grid-images .elementor-widget-image img {
    height: 250px !important; /* Forces the height */
    width: 100% !important;   /* Ensures full width */
    object-fit: cover !important; /* Crops excess without squishing */
    aspect-ratio: 16/9; /* OPTIONAL: Enforces landscape ratio */
    border-radius: 15px; /* Keeps your rounded look */
}

/* Prevent horizontal overflow and hide bottom horizontal slider */
html, 
body {
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}