/* CNS Arabia Custom Fonts
 * Montserrat for headings
 * Inter for body text
 */

/* Import Google Fonts with better performance */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap&subset=latin');

/* HIGHEST PRIORITY OVERRIDES - Use maximum specificity */
body.elementor-page .elementor .elementor-widget-container p,
body.elementor-page .elementor .elementor-widget-container,
body .elementor .elementor-widget-container p,
body .elementor .elementor-section .elementor-widget-container p,
body .elementor .elementor-column .elementor-widget-container p,
html body .elementor .elementor-widget-container p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Override theme body font */
body,
html body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* HIGHEST PRIORITY HEADING OVERRIDES - Montserrat */
body.elementor-page .elementor .elementor-widget-container h1,
body.elementor-page .elementor .elementor-widget-container h2,
body.elementor-page .elementor .elementor-widget-container h3,
body.elementor-page .elementor .elementor-widget-container h4,
body.elementor-page .elementor .elementor-widget-container h5,
body.elementor-page .elementor .elementor-widget-container h6,
body .elementor .elementor-widget-container h1,
body .elementor .elementor-widget-container h2,
body .elementor .elementor-widget-container h3,
body .elementor .elementor-widget-container h4,
body .elementor .elementor-widget-container h5,
body .elementor .elementor-widget-container h6,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* Global Font Styles - Exclude icon fonts */
body,
p,
li,
td,
th,
label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Text content specific - Inter Font */
.elementor-widget-text-editor,
.elementor-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-container p,
.elementor-widget-container,
.elementor-widget-container *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.e-n-menu-title-text):not(.elementor-button-text):not(.elementor-heading-title),
.elementor-section .elementor-widget-container p,
.elementor-column .elementor-widget-container p,
.elementor-text-editor p,
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-excerpt p,
.entry-content,
.widget-text,
article,
.post-content,
/* Specific Elementor text widgets */
.elementor-widget-text-editor .elementor-widget-container,
.elementor-widget-text-editor .elementor-widget-container p,
.elementor-widget-text-editor .elementor-widget-container span,
.elementor-widget-text-editor .elementor-widget-container div,
.elementor-text-editor .elementor-widget-container {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Headings - Montserrat */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.elementor-widget-heading,
.elementor-widget-heading *,
.elementor-heading-title,
.entry-title,
.page-title,
.widget-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6 {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 600;
}

/* Navigation Menu - Montserrat */
.elementor-nav-menu li a,
.elementor-nav-menu a,
.elementor-widget-nav-menu a,
.elementor-widget-nav-menu li a,
.menu-item a,
nav a,
.navigation a,
.site-navigation a,
.main-navigation a,
.header-menu a,
.navbar-nav a,
#site-navigation a,
.elementor-nav-menu--main a,
.elementor-nav-menu--layout-horizontal a,
.elementor-widget-nav-menu .elementor-nav-menu a,
/* Elementor New Navigation Widget */
.e-n-menu-wrapper,
.e-n-menu-wrapper *,
.e-n-menu-heading,
.e-n-menu-item,
.e-n-menu-title,
.e-n-menu-title-container,
.e-n-menu-title-text,
.e-n-menu-wrapper .e-n-menu-title-text,
.e-n-menu-wrapper .e-n-menu-item,
.e-n-menu-wrapper .e-n-menu-title {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 500;
}

/* Buttons - Montserrat */
button,
.button,
.elementor-button,
.elementor-button-text,
.elementor-button-wrapper,
.elementor-button-wrapper a,
.elementor-button-link,
.elementor-widget-button a,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
.btn,
a.btn,
.wpcf7-submit,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.elementor-widget-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button-text {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 500;
}

/* Form inputs */
input,
select,
textarea,
.elementor-field,
.elementor-field-group input,
.elementor-field-group textarea {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Elementor specific overrides */
.elementor-widget-container *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.elementor-heading-title):not(.e-n-menu-title-text):not(.elementor-button-text) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Elementor headings - Montserrat */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-container h1,
.elementor-widget-container h2,
.elementor-widget-container h3,
.elementor-widget-container h4,
.elementor-widget-container h5,
.elementor-widget-container h6 {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 600;
}

/* Force Inter on all Elementor text content */
.elementor-section,
.elementor-column,
.elementor-row {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Override any theme or Elementor defaults for paragraphs */
.elementor p,
.elementor span:not(.e-n-menu-title-text):not(.elementor-button-text),
.elementor div:not(.elementor-heading-title):not(.e-n-menu-title) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* WordPress Admin Bar - Preserve system fonts for icons */
#wpadminbar *:not(.ab-icon):not(.dashicons) {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Preserve Dashicons font for WordPress icons */
.dashicons,
.dashicons-before:before,
.ab-icon,
.ab-icon:before,
.wp-menu-image:before,
.mce-ico,
[class*="dashicons-"]:before {
    font-family: dashicons !important;
}

/* Preserve Elementor icons */
.eicon,
.eicon:before,
[class*="eicon-"]:before,
.elementor-icon,
.elementor-icon i {
    font-family: eicons !important;
}

/* Preserve Font Awesome icons */
.fa,
.fas,
.far,
.fal,
.fab,
[class*="fa-"]:before {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands", "Font Awesome 5 Regular" !important;
}

/* ========================================
   ELEMENTOR COUNTER - MONTSERRAT FONT
   ======================================== */

/* Counter numbers - Force Montserrat */
body .elementor-counter-number,
html body .elementor-counter-number,
body .elementor-widget-counter .elementor-counter-number,
html body .elementor-widget-counter .elementor-counter-number,
.elementor-counter-number,
.elementor-widget-counter .elementor-counter-number {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 500 !important;
}

/* Counter titles - Also Montserrat */
body .elementor-counter-title,
html body .elementor-counter-title,
body .elementor-widget-counter .elementor-counter-title,
html body .elementor-widget-counter .elementor-counter-title,
.elementor-counter-title,
.elementor-widget-counter .elementor-counter-title {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* All counter widget content */
body .elementor-widget-counter,
html body .elementor-widget-counter,
body .elementor-widget-counter *,
html body .elementor-widget-counter * {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Override any inline font styles on counter */
.elementor-counter-number[style*="font-family"] {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

.elementor-counter-title[style*="font-family"] {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* MAXIMUM SPECIFICITY COUNTER OVERRIDES */
html body div.elementor .elementor-widget.elementor-widget-counter .elementor-widget-container .elementor-counter .elementor-counter-number,
html body div.elementor .elementor-widget.elementor-widget-counter .elementor-widget-container .elementor-counter .elementor-counter-title,
html body div.elementor-element .elementor-widget-container .elementor-counter-number,
html body div.elementor-element .elementor-widget-container .elementor-counter-title {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 500 !important;
}

/* Force override with attribute selector */
span.elementor-counter-number,
span.elementor-counter-title,
.elementor-counter span,
.elementor-widget-counter span {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 500 !important;
}

/* ========================================
   MODERN BUTTON HOVER EFFECTS
   ======================================== */

/* Modern button hover effects - CSS only approach */
.elementor-button,
.elementor-widget-button .elementor-button,
button,
.button,
input[type="submit"],
input[type="button"],
.wp-block-button__link,
.wpcf7-submit {
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    transform-style: preserve-3d !important;
}

/* Add pseudo-element for modern effects */
.elementor-button::before,
.elementor-widget-button .elementor-button::before,
button::before,
.button::before,
input[type="submit"]::before,
input[type="button"]::before,
.wp-block-button__link::before,
.wpcf7-submit::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
    transition: left 0.5s ease !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Modern hover effects - contained within button */
.elementor-button:hover,
.elementor-widget-button .elementor-button:hover,
button:hover,
.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.wp-block-button__link:hover,
.wpcf7-submit:hover {
    filter: brightness(1.05) saturate(1.1) !important;
}

/* Shimmer effect on hover */
.elementor-button:hover::before,
.elementor-widget-button .elementor-button:hover::before,
button:hover::before,
.button:hover::before,
input[type="submit"]:hover::before,
input[type="button"]:hover::before,
.wp-block-button__link:hover::before,
.wpcf7-submit:hover::before {
    left: 100% !important;
}

/* Gradient ripple effect animation */
@keyframes cns-gradient-ripple {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}

/* Modern hover effects for different button types */

/* Transparent buttons - Blue gradient fill */
.elementor-button[style*="background-color: transparent"]:hover,
.elementor-button[style*="background: transparent"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: transparent"]:hover,
.elementor-widget-button .elementor-button[style*="background: transparent"]:hover {
    background: linear-gradient(135deg, #035182 0%, #0066CC 100%) !important;
    color: #ffffff !important;
    border-color: #035182 !important;
}

/* Blue buttons - Lighter blue gradient */
.elementor-button[style*="background-color: rgb(3, 81, 130)"]:hover,
.elementor-button[style*="background-color: #035182"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: rgb(3, 81, 130)"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: #035182"]:hover {
    background: linear-gradient(135deg, #0066CC 0%, #0080FF 100%) !important;
    border-color: #0080FF !important;
}

/* White buttons - Elegant gray gradient */
.elementor-button[style*="background-color: rgb(255, 255, 255)"]:hover,
.elementor-button[style*="background-color: #ffffff"]:hover,
.elementor-button[style*="background: white"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: rgb(255, 255, 255)"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: #ffffff"]:hover,
.elementor-widget-button .elementor-button[style*="background: white"]:hover {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-color: #dee2e6 !important;
}

/* Dark buttons - Lighter gradient */
.elementor-button[style*="background-color: rgb(0, 0, 0)"]:hover,
.elementor-button[style*="background-color: #000000"]:hover,
.elementor-button[style*="background: black"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: rgb(0, 0, 0)"]:hover,
.elementor-widget-button .elementor-button[style*="background-color: #000000"]:hover,
.elementor-widget-button .elementor-button[style*="background: black"]:hover {
    background: linear-gradient(135deg, #333333 0%, #555555 100%) !important;
    border-color: #555555 !important;
}

/* Other buttons - Enhanced color effect */
.elementor-button:not([style*="background-color: transparent"]):not([style*="background: transparent"]):not([style*="background-color: rgb(3, 81, 130)"]):not([style*="background-color: #035182"]):not([style*="background-color: rgb(255, 255, 255)"]):not([style*="background-color: #ffffff"]):not([style*="background: white"]):not([style*="background-color: rgb(0, 0, 0)"]):not([style*="background-color: #000000"]):not([style*="background: black"]):hover,
.elementor-widget-button .elementor-button:not([style*="background-color: transparent"]):not([style*="background: transparent"]):not([style*="background-color: rgb(3, 81, 130)"]):not([style*="background-color: #035182"]):not([style*="background-color: rgb(255, 255, 255)"]):not([style*="background-color: #ffffff"]):not([style*="background: white"]):not([style*="background-color: rgb(0, 0, 0)"]):not([style*="background-color: #000000"]):not([style*="background: black"]):hover {
    filter: brightness(1.15) saturate(1.2) hue-rotate(5deg) !important;
}

/* Active/Focus states for modern interaction */
.elementor-button:active,
.elementor-widget-button .elementor-button:active,
button:active,
.button:active {
    filter: brightness(0.95) !important;
    transition: all 0.1s ease !important;
}

/* Pulse animation for call-to-action buttons - contained */
@keyframes cns-pulse-glow {
    0%, 100% {
        filter: brightness(1.05) saturate(1.1);
    }
    50% {
        filter: brightness(1.1) saturate(1.15);
    }
}

/* Apply pulse to CTA buttons */
.elementor-button[href*="contact"]:hover,
.elementor-button[href*="call"]:hover,
.elementor-widget-button .elementor-button[href*="contact"]:hover,
.elementor-widget-button .elementor-button[href*="call"]:hover {
    animation: cns-pulse-glow 2s ease-in-out infinite !important;
}

/* Breathing effect for special buttons */
@keyframes cns-breathe {
    0%, 100% {
        filter: brightness(1.05) saturate(1.1);
    }
    50% {
        filter: brightness(1.1) saturate(1.15);
    }
}

/* Apply breathing to buttons with specific text */
.elementor-button:hover[href*="download"],
.elementor-button:hover[href*="get"],
.elementor-widget-button .elementor-button:hover[href*="download"],
.elementor-widget-button .elementor-button:hover[href*="get"] {
    animation: cns-breathe 3s ease-in-out infinite !important;
}


/* Gradient ripple effect container */
.cns-gradient-ripple {
    position: absolute !important;
    border-radius: 50% !important;
    transform: scale(0) !important;
    animation: cns-gradient-ripple 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Regular ripple effect container */
.cns-ripple {
    position: absolute !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.6) !important;
    transform: scale(0) !important;
    animation: cns-gradient-ripple 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Focus states for accessibility */
.elementor-button:focus,
.elementor-widget-button .elementor-button:focus,
button:focus,
.button:focus {
    outline: 2px solid #035182 !important;
    outline-offset: 2px !important;
}

/* Active state */
.elementor-button:active,
.elementor-widget-button .elementor-button:active,
button:active,
.button:active {
    transform: translateY(-1px) !important;
    transition: transform 0.1s !important;
}

/* Prevent text selection during animations */
.elementor-button,
.elementor-widget-button .elementor-button,
button,
.button {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
}

/* ===== SERVICE CARDS HOVER EFFECTS ===== */

/* Service card container hover effects - no card movement, just contained effects */
.elementor-element-10d30a06,
.elementor-element-1459927b,
.elementor-element-2635767e,
.elementor-element-3d45087b {
    transition: all 0.3s ease !important;
}

/* Service card background setup */
.elementor-element-10d30a06,
.elementor-element-1459927b,
.elementor-element-2635767e,
.elementor-element-3d45087b {
    position: relative !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* Service card background overlay on hover */
.elementor-element-10d30a06::before,
.elementor-element-1459927b::before,
.elementor-element-2635767e::before,
.elementor-element-3d45087b::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.05) 0%, rgba(0, 102, 204, 0.08) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 8px !important;
    z-index: 1 !important;
}

.elementor-element-10d30a06:hover::before,
.elementor-element-1459927b:hover::before,
.elementor-element-2635767e:hover::before,
.elementor-element-3d45087b:hover::before {
    opacity: 1 !important;
}

/* Service card icon hover effects - only lift up animation */
.elementor-element-10d30a06 .elementor-widget-image img,
.elementor-element-1459927b .elementor-widget-image img,
.elementor-element-2635767e .elementor-widget-image img,
.elementor-element-3d45087b .elementor-widget-image img {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    position: relative !important;
    z-index: 2 !important;
}

.elementor-element-10d30a06:hover .elementor-widget-image img,
.elementor-element-1459927b:hover .elementor-widget-image img,
.elementor-element-2635767e:hover .elementor-widget-image img,
.elementor-element-3d45087b:hover .elementor-widget-image img {
    transform: translateY(-8px) !important;
}

/* Service card title hover effects - first heading in each card */
.elementor-element-10d30a06 .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-1459927b .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-2635767e .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-3d45087b .elementor-widget-heading:first-of-type .elementor-heading-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.elementor-element-10d30a06:hover .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-1459927b:hover .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-2635767e:hover .elementor-widget-heading:first-of-type .elementor-heading-title,
.elementor-element-3d45087b:hover .elementor-widget-heading:first-of-type .elementor-heading-title {
    color: #035182 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Service card description hover effects - second heading (description) in each card */
.elementor-element-10d30a06 .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-1459927b .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-2635767e .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-3d45087b .elementor-widget-heading:last-of-type .elementor-heading-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.elementor-element-10d30a06:hover .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-1459927b:hover .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-2635767e:hover .elementor-widget-heading:last-of-type .elementor-heading-title,
.elementor-element-3d45087b:hover .elementor-widget-heading:last-of-type .elementor-heading-title {
    color: #333333 !important;
}

/* Service card shimmer effect - contained within card boundaries */
.elementor-element-10d30a06::after,
.elementor-element-1459927b::after,
.elementor-element-2635767e::after,
.elementor-element-3d45087b::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        45deg,
        transparent 30%,
        rgba(255, 255, 255, 0.2) 50%,
        transparent 70%
    ) !important;
    transform: translateX(-100%) !important;
    transition: transform 0.6s ease !important;
    z-index: 3 !important;
    pointer-events: none !important;
}

.elementor-element-10d30a06:hover::after,
.elementor-element-1459927b:hover::after,
.elementor-element-2635767e:hover::after,
.elementor-element-3d45087b:hover::after {
    transform: translateX(100%) !important;
}

/* Service card subtle shadow on hover */
.elementor-element-10d30a06:hover,
.elementor-element-1459927b:hover,
.elementor-element-2635767e:hover,
.elementor-element-3d45087b:hover {
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.1) !important;
}

/* Ensure proper positioning for service cards */
.elementor-element-10d30a06,
.elementor-element-1459927b,
.elementor-element-2635767e,
.elementor-element-3d45087b {
    overflow: visible !important;
}

/* Ensure all child elements are positioned correctly */
.elementor-element-10d30a06 *,
.elementor-element-1459927b *,
.elementor-element-2635767e *,
.elementor-element-3d45087b * {
    position: relative !important;
    z-index: 2 !important;
}

/* ===== FEATURES SECTION ANIMATIONS ===== */

/* Entrance animations for feature cards */
@keyframes cns-fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes cns-scale-in {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Individual feature cards - just hover setup */
.elementor-element-5d1d909e, /* Skill */
.elementor-element-67974ac1, /* Technology */
.elementor-element-df0d57e,   /* Quality */
.elementor-element-294394bd, /* Sustainability */
.elementor-element-1585c040, /* Strategy */
.elementor-element-7ecdbee7  /* Presence */ {
    position: relative !important;
    transition: all 0.3s ease !important;
}

/* Feature icon hover effects */
.elementor-element-5d1d909e .elementor-widget-image img,
.elementor-element-67974ac1 .elementor-widget-image img,
.elementor-element-df0d57e .elementor-widget-image img,
.elementor-element-294394bd .elementor-widget-image img,
.elementor-element-1585c040 .elementor-widget-image img,
.elementor-element-7ecdbee7 .elementor-widget-image img {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.elementor-element-5d1d909e:hover .elementor-widget-image img,
.elementor-element-67974ac1:hover .elementor-widget-image img,
.elementor-element-df0d57e:hover .elementor-widget-image img,
.elementor-element-294394bd:hover .elementor-widget-image img,
.elementor-element-1585c040:hover .elementor-widget-image img,
.elementor-element-7ecdbee7:hover .elementor-widget-image img {
    transform: scale(1.1) !important;
    filter: brightness(1.1) saturate(1.2) !important;
}

/* Feature title hover effects */
.elementor-element-5d1d909e .elementor-widget-heading .elementor-heading-title,
.elementor-element-67974ac1 .elementor-widget-heading .elementor-heading-title,
.elementor-element-df0d57e .elementor-widget-heading .elementor-heading-title,
.elementor-element-294394bd .elementor-widget-heading .elementor-heading-title,
.elementor-element-1585c040 .elementor-widget-heading .elementor-heading-title,
.elementor-element-7ecdbee7 .elementor-widget-heading .elementor-heading-title {
    transition: all 0.3s ease !important;
}

.elementor-element-5d1d909e:hover .elementor-widget-heading .elementor-heading-title,
.elementor-element-67974ac1:hover .elementor-widget-heading .elementor-heading-title,
.elementor-element-df0d57e:hover .elementor-widget-heading .elementor-heading-title,
.elementor-element-294394bd:hover .elementor-widget-heading .elementor-heading-title,
.elementor-element-1585c040:hover .elementor-widget-heading .elementor-heading-title,
.elementor-element-7ecdbee7:hover .elementor-widget-heading .elementor-heading-title {
    color: #035182 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Feature description hover effects */
.elementor-element-5d1d909e .elementor-widget-text-editor p,
.elementor-element-67974ac1 .elementor-widget-text-editor p,
.elementor-element-df0d57e .elementor-widget-text-editor p,
.elementor-element-294394bd .elementor-widget-text-editor p,
.elementor-element-1585c040 .elementor-widget-text-editor p,
.elementor-element-7ecdbee7 .elementor-widget-text-editor p {
    transition: all 0.3s ease !important;
}

.elementor-element-5d1d909e:hover .elementor-widget-text-editor p,
.elementor-element-67974ac1:hover .elementor-widget-text-editor p,
.elementor-element-df0d57e:hover .elementor-widget-text-editor p,
.elementor-element-294394bd:hover .elementor-widget-text-editor p,
.elementor-element-1585c040:hover .elementor-widget-text-editor p,
.elementor-element-7ecdbee7:hover .elementor-widget-text-editor p {
    color: #333333 !important;
}

/* Feature line/divider animation on hover */
.elementor-element-5d1d909e .elementor-element-467024a5 img,
.elementor-element-67974ac1 .elementor-element-bb1f20c img,
.elementor-element-df0d57e .elementor-element-424d99fb img,
.elementor-element-294394bd .elementor-element-226a2933 img,
.elementor-element-1585c040 .elementor-element-11fb3e3f img,
.elementor-element-7ecdbee7 .elementor-element-3ebe20e6 img {
    transition: all 0.3s ease !important;
    transform-origin: left center !important;
}

.elementor-element-5d1d909e:hover .elementor-element-467024a5 img,
.elementor-element-67974ac1:hover .elementor-element-bb1f20c img,
.elementor-element-df0d57e:hover .elementor-element-424d99fb img,
.elementor-element-294394bd:hover .elementor-element-226a2933 img,
.elementor-element-1585c040:hover .elementor-element-11fb3e3f img,
.elementor-element-7ecdbee7:hover .elementor-element-3ebe20e6 img {
    transform: scaleX(1.1) !important;
    filter: brightness(1.2) !important;
}

/* Subtle background effect on hover */
.elementor-element-5d1d909e,
.elementor-element-67974ac1,
.elementor-element-df0d57e,
.elementor-element-294394bd,
.elementor-element-1585c040,
.elementor-element-7ecdbee7 {
    position: relative !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.elementor-element-5d1d909e::before,
.elementor-element-67974ac1::before,
.elementor-element-df0d57e::before,
.elementor-element-294394bd::before,
.elementor-element-1585c040::before,
.elementor-element-7ecdbee7::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.03) 0%, rgba(0, 102, 204, 0.05) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 1 !important;
}

.elementor-element-5d1d909e:hover::before,
.elementor-element-67974ac1:hover::before,
.elementor-element-df0d57e:hover::before,
.elementor-element-294394bd:hover::before,
.elementor-element-1585c040:hover::before,
.elementor-element-7ecdbee7:hover::before {
    opacity: 1 !important;
}

/* Ensure content stays above background overlay */
.elementor-element-5d1d909e *,
.elementor-element-67974ac1 *,
.elementor-element-df0d57e *,
.elementor-element-294394bd *,
.elementor-element-1585c040 *,
.elementor-element-7ecdbee7 * {
    position: relative !important;
    z-index: 2 !important;
}

/* ===== STATS/COUNTER SECTION HOVER EFFECTS ===== */

/* Stats section counter containers - smooth hover setup */
.elementor-element-30a0ac4a, /* Years of Experience */
.elementor-element-1456b4cb, /* Team Members */
.elementor-element-45d7728e, /* Clients Served */
.elementor-element-2ed7e525  /* Assets */ {
    position: relative !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

/* Stats counter background overlay on hover - visible on both white and blue backgrounds */
.elementor-element-30a0ac4a::before,
.elementor-element-1456b4cb::before,
.elementor-element-45d7728e::before,
.elementor-element-2ed7e525::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.15) 0%, rgba(0, 102, 204, 0.2) 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 1 !important;
}

.elementor-element-30a0ac4a:hover::before,
.elementor-element-1456b4cb:hover::before,
.elementor-element-45d7728e:hover::before,
.elementor-element-2ed7e525:hover::before {
    opacity: 1 !important;
}

/* Counter number hover effects */
.elementor-element-30a0ac4a .elementor-counter-number,
.elementor-element-1456b4cb .elementor-counter-number,
.elementor-element-45d7728e .elementor-counter-number,
.elementor-element-2ed7e525 .elementor-counter-number {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.elementor-element-30a0ac4a:hover .elementor-counter-number,
.elementor-element-1456b4cb:hover .elementor-counter-number,
.elementor-element-45d7728e:hover .elementor-counter-number,
.elementor-element-2ed7e525:hover .elementor-counter-number {
    transform: scale(1.05) !important;
}

/* Counter suffix hover effects */
.elementor-element-30a0ac4a .elementor-counter-number-suffix,
.elementor-element-1456b4cb .elementor-counter-number-suffix,
.elementor-element-45d7728e .elementor-counter-number-suffix,
.elementor-element-2ed7e525 .elementor-counter-number-suffix {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.elementor-element-30a0ac4a:hover .elementor-counter-number-suffix,
.elementor-element-1456b4cb:hover .elementor-counter-number-suffix,
.elementor-element-45d7728e:hover .elementor-counter-number-suffix,
.elementor-element-2ed7e525:hover .elementor-counter-number-suffix {
    transform: scale(1.1) !important;
}

/* Counter title hover effects */
.elementor-element-30a0ac4a .elementor-counter-title,
.elementor-element-1456b4cb .elementor-counter-title,
.elementor-element-45d7728e .elementor-counter-title,
.elementor-element-2ed7e525 .elementor-counter-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Stats section image hover effects */
.elementor-element-67a2c9a8 img,
.elementor-element-6ad382e9 img {
    transition: all 0.3s ease !important;
}

.elementor-element-67a2c9a8:hover img,
.elementor-element-6ad382e9:hover img {
    transform: scale(1.02) !important;
    filter: brightness(1.05) saturate(1.1) !important;
}

/* Stats section description heading hover effects - removed color changes */

/* Ensure all counter content stays above overlay */
.elementor-element-30a0ac4a *,
.elementor-element-1456b4cb *,
.elementor-element-45d7728e *,
.elementor-element-2ed7e525 * {
    position: relative !important;
    z-index: 2 !important;
}

/* ===== MEGA MENU HOVER EFFECTS - PRESERVING ORIGINAL DESIGN ===== */

/* Mega menu items - subtle hover effects only */
#e-n-menu-content-1613 .elementor-item,
#e-n-menu-content-1613 a,
.e-n-menu-content .elementor-item,
.e-n-menu-content a,
.elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown a {
    transition: all 0.3s ease !important;
}

/* Mega menu items hover - color and background only */
#e-n-menu-content-1613 .elementor-item:hover,
#e-n-menu-content-1613 a:hover,
.e-n-menu-content .elementor-item:hover,
.e-n-menu-content a:hover,
.elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-nav-menu--dropdown a:hover {
    color: #035182 !important;
    background-color: rgba(3, 81, 130, 0.05) !important;
    text-decoration: none !important;
}

/* Mega menu icons hover effects - subtle scaling */
#e-n-menu-content-1613 .elementor-item i,
#e-n-menu-content-1613 a i,
.e-n-menu-content .elementor-item i,
.e-n-menu-content a i,
.elementor-nav-menu--dropdown .elementor-item i,
.elementor-nav-menu--dropdown a i {
    transition: transform 0.3s ease !important;
}

#e-n-menu-content-1613 .elementor-item:hover i,
#e-n-menu-content-1613 a:hover i,
.e-n-menu-content .elementor-item:hover i,
.e-n-menu-content a:hover i,
.elementor-nav-menu--dropdown .elementor-item:hover i,
.elementor-nav-menu--dropdown a:hover i {
    transform: scale(1.05) !important;
}

/* Mega menu images hover effects - very subtle */
#e-n-menu-content-1613 img,
.e-n-menu-content img {
    transition: filter 0.3s ease !important;
}

#e-n-menu-content-1613 img:hover,
.e-n-menu-content img:hover {
    filter: brightness(1.05) !important;
}

/* Mega menu buttons - preserve original button hover effects from global styles */
#e-n-menu-content-1613 .elementor-button,
#e-n-menu-content-1613 .button,
.e-n-menu-content .elementor-button,
.e-n-menu-content .button {
    /* Let global button styles handle hover effects */
}

/* ===== LOGO CAROUSEL - USING ELEMENTOR DEFAULTS ONLY ===== */
/* All custom CSS removed to use Elementor's original settings */

/* ===== HOME PAGE SCROLL EFFECTS ===== */

/* Scroll animations for sections */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Elements to animate on scroll */
.scroll-animate {
    opacity: 0;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-animate.animate-visible {
    opacity: 1;
}

/* Fade up animation */
.scroll-fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-fade-up.animate-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade left animation */
.scroll-fade-left {
    opacity: 0;
    transform: translateX(-30px);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-fade-left.animate-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Fade right animation */
.scroll-fade-right {
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-fade-right.animate-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Scale animation */
.scroll-scale {
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scroll-scale.animate-visible {
    opacity: 1;
    transform: scale(1);
}

/* Parallax effect for background images */
.parallax-bg {
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

/* Smooth scroll behavior for the entire page */
html {
    scroll-behavior: smooth;
}

/* Progress indicator for scroll */
.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg, #035182 0%, #0066CC 100%);
    z-index: 9999;
    transition: width 0.2s ease;
}

/* Floating animation for elements */
@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.float-animation {
    animation: float 4s ease-in-out infinite;
}

/* Reveal animation with stagger */
.stagger-animate {
    opacity: 0;
    transform: translateY(20px);
}

.stagger-animate.animate-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stagger-animate:nth-child(1) { transition-delay: 0.1s; }
.stagger-animate:nth-child(2) { transition-delay: 0.2s; }
.stagger-animate:nth-child(3) { transition-delay: 0.3s; }
.stagger-animate:nth-child(4) { transition-delay: 0.4s; }
.stagger-animate:nth-child(5) { transition-delay: 0.5s; }
.stagger-animate:nth-child(6) { transition-delay: 0.6s; }

/* ===== FOOTER LINKS HOVER EFFECTS ===== */

/* Footer navigation links */
.elementor-element-3bd01af .elementor-heading-title,
.elementor-element-9b89809 .elementor-heading-title,
.elementor-element-456eb3c .elementor-heading-title,
.elementor-element-495ff12 .elementor-heading-title,
.elementor-element-ccd2158 .elementor-heading-title,
.elementor-element-347db10 .elementor-heading-title,
.elementor-element-ecfa8e9 .elementor-heading-title,
.elementor-element-32d12bd .elementor-heading-title,
.elementor-element-9d5e548 .elementor-heading-title {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    display: inline-block !important;
}

/* Footer navigation links hover effect */
.elementor-element-3bd01af:hover .elementor-heading-title,
.elementor-element-9b89809:hover .elementor-heading-title,
.elementor-element-456eb3c:hover .elementor-heading-title,
.elementor-element-495ff12:hover .elementor-heading-title,
.elementor-element-ccd2158:hover .elementor-heading-title,
.elementor-element-347db10:hover .elementor-heading-title,
.elementor-element-ecfa8e9:hover .elementor-heading-title,
.elementor-element-32d12bd:hover .elementor-heading-title,
.elementor-element-9d5e548:hover .elementor-heading-title {
    color: #ffffff !important;
    transform: translateX(5px) !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

/* Footer navigation links underline effect */
.elementor-element-3bd01af .elementor-heading-title::after,
.elementor-element-9b89809 .elementor-heading-title::after,
.elementor-element-456eb3c .elementor-heading-title::after,
.elementor-element-495ff12 .elementor-heading-title::after,
.elementor-element-ccd2158 .elementor-heading-title::after,
.elementor-element-347db10 .elementor-heading-title::after,
.elementor-element-ecfa8e9 .elementor-heading-title::after,
.elementor-element-32d12bd .elementor-heading-title::after,
.elementor-element-9d5e548 .elementor-heading-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 0 !important;
    height: 2px !important;
    background: #ffffff !important;
    transition: width 0.3s ease !important;
}

.elementor-element-3bd01af:hover .elementor-heading-title::after,
.elementor-element-9b89809:hover .elementor-heading-title::after,
.elementor-element-456eb3c:hover .elementor-heading-title::after,
.elementor-element-495ff12:hover .elementor-heading-title::after,
.elementor-element-ccd2158:hover .elementor-heading-title::after,
.elementor-element-347db10:hover .elementor-heading-title::after,
.elementor-element-ecfa8e9:hover .elementor-heading-title::after,
.elementor-element-32d12bd:hover .elementor-heading-title::after,
.elementor-element-9d5e548:hover .elementor-heading-title::after {
    width: 100% !important;
}

/* Social media links containers */
.elementor-element-f8b4f8a,
.elementor-element-2685c61,
.elementor-element-f899731,
.elementor-element-0747f29,
.elementor-element-31100c5 {
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    padding: 8px !important;
}

.elementor-element-f8b4f8a:hover,
.elementor-element-2685c61:hover,
.elementor-element-f899731:hover,
.elementor-element-0747f29:hover,
.elementor-element-31100c5:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-3px) !important;
}

/* Social media icons */
.elementor-element-9e759a1 img,
.elementor-element-35fc274 img,
.elementor-element-e62dfeb img,
.elementor-element-2a0c5f0 img,
.elementor-element-a7d5e14 img {
    transition: all 0.3s ease !important;
    filter: grayscale(100%) !important;
}

.elementor-element-f8b4f8a:hover .elementor-element-9e759a1 img,
.elementor-element-2685c61:hover .elementor-element-35fc274 img,
.elementor-element-f899731:hover .elementor-element-e62dfeb img,
.elementor-element-0747f29:hover .elementor-element-2a0c5f0 img,
.elementor-element-31100c5:hover .elementor-element-a7d5e14 img {
    filter: grayscale(0%) !important;
    transform: scale(1.1) !important;
}

/* Social media text */
.elementor-element-b452bfa .elementor-heading-title,
.elementor-element-41f774a .elementor-heading-title,
.elementor-element-ac4df36 .elementor-heading-title,
.elementor-element-34fbec3 .elementor-heading-title,
.elementor-element-5cfcfd9 .elementor-heading-title {
    transition: all 0.3s ease !important;
}

.elementor-element-f8b4f8a:hover .elementor-element-b452bfa .elementor-heading-title,
.elementor-element-2685c61:hover .elementor-element-41f774a .elementor-heading-title,
.elementor-element-f899731:hover .elementor-element-ac4df36 .elementor-heading-title,
.elementor-element-0747f29:hover .elementor-element-34fbec3 .elementor-heading-title,
.elementor-element-31100c5:hover .elementor-element-5cfcfd9 .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* Footer section titles hover effect */
.elementor-element-ad5edbb .elementor-heading-title,
.elementor-element-2108153 .elementor-heading-title,
.elementor-element-c3bda58 .elementor-heading-title {
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
}

.elementor-element-ad5edbb:hover .elementor-heading-title,
.elementor-element-2108153:hover .elementor-heading-title,
.elementor-element-c3bda58:hover .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.6) !important;
}

/* Newsletter form input hover effect */
.elementor-element-ef42a60 .elementor-field {
    transition: all 0.3s ease !important;
    border: 1px solid #e0e0e0 !important;
}

.elementor-element-ef42a60 .elementor-field:hover,
.elementor-element-ef42a60 .elementor-field:focus {
    border-color: #035182 !important;
    box-shadow: 0 0 0 2px rgba(3, 81, 130, 0.1) !important;
}

/* Newsletter subscribe button enhanced hover */
.elementor-element-ef42a60 .elementor-button {
    transition: all 0.3s ease !important;
}

.elementor-element-ef42a60 .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(3, 81, 130, 0.3) !important;
}

/* ===== HERO SWIPER PAGINATION DOTS STYLING ===== */

/* Pagination container */
.swiper-pagination.swiper-pagination-bullets {
    bottom: 30px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 3px !important;
}

/* Individual pagination bullets - pill shape */
.swiper-pagination-bullet {
    width: 50px !important;
    height: 3px !important;
    border-radius: 100px !important;
    background: rgba(255, 255, 255, 0.3) !important;
    opacity: 1 !important;
    transition: all 0.3s ease !important;
    margin: 0 2px !important;
    cursor: pointer !important;
    border: none !important;
}

/* Active pagination bullet - same width, just brighter */
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 50px !important;
    background: rgba(255, 255, 255, 1) !important;
    border: none !important;
}

/* Hover effect on non-active bullets */
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background: rgba(255, 255, 255, 0.6) !important;
}

/* Click/press effect */
.swiper-pagination-bullet:active {
    transform: scale(0.95) !important;
}

/* Animation when switching slides - opacity only */
@keyframes slideActivate {
    0% {
        background: rgba(255, 255, 255, 0.3);
    }
    100% {
        background: rgba(255, 255, 255, 1);
    }
}

.swiper-pagination-bullet-active {
    animation: slideActivate 0.3s ease forwards !important;
}

/* For dark hero sections */
.elementor-section-dark .swiper-pagination-bullet,
.elementor-dark-mode .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.3) !important;
    border: none !important;
}

.elementor-section-dark .swiper-pagination-bullet-active,
.elementor-dark-mode .swiper-pagination-bullet-active {
    background: rgba(255, 255, 255, 1) !important;
    border: none !important;
}

/* For light hero sections */
.elementor-section-light .swiper-pagination-bullet {
    background: rgba(0, 0, 0, 0.3) !important;
    border-color: rgba(0, 0, 0, 0.5) !important;
}

.elementor-section-light .swiper-pagination-bullet-active {
    background: rgba(0, 0, 0, 0.9) !important;
    border-color: rgba(0, 0, 0, 1) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .swiper-pagination-bullet {
        width: 30px !important;
        height: 5px !important;
    }
    
    .swiper-pagination-bullet.swiper-pagination-bullet-active {
        width: 50px !important;
    }
    
    .swiper-pagination.swiper-pagination-bullets {
        bottom: 20px !important;
    }
}

@media (max-width: 480px) {
    .swiper-pagination-bullet {
        width: 25px !important;
        height: 4px !important;
        margin: 0 1px !important;
    }
    
    .swiper-pagination-bullet.swiper-pagination-bullet-active {
        width: 40px !important;
    }
}

/* ===== ENHANCED ABOUT US PAGE - MISSION/VISION/VALUES HOVER EFFECTS ===== */

/* Target the individual card containers: Mission, Vision, Values */
.elementor-element-37cacf2f {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

/* Mission Card Hover */
.elementor-element-37cacf2f:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

/* Mission Icon Hover */
.elementor-element-37cacf2f:hover .elementor-element-724f8110 img {
    transform: translateY(-5px) scale(1.1) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

/* Mission Heading Hover */
.elementor-element-37cacf2f:hover .elementor-element-78f54c9d .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

/* Mission Text Hover */
.elementor-element-37cacf2f:hover .elementor-element-188ce961 p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

/* Vision Card */
.elementor-element-3c3a721a {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

.elementor-element-3c3a721a:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

/* Vision Icon Hover */
.elementor-element-3c3a721a:hover .elementor-element-5b473d8 img {
    transform: translateY(-5px) scale(1.1) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

/* Vision Heading Hover */
.elementor-element-3c3a721a:hover .elementor-element-3daba485 .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

/* Vision Text Hover */
.elementor-element-3c3a721a:hover .elementor-element-14b37eec p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

/* Values Card */
.elementor-element-21415a9e {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

.elementor-element-21415a9e:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

/* Values Icon Hover */
.elementor-element-21415a9e:hover .elementor-element-6ac194e2 img {
    transform: translateY(-5px) scale(1.1) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

/* Values Heading Hover */
.elementor-element-21415a9e:hover .elementor-element-780e83fd .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

/* Values Text Hover */
.elementor-element-21415a9e:hover .elementor-element-489e58df p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

/* Responsive enhancements */
@media (max-width: 768px) {
    .elementor-element-37cacf2f,
    .elementor-element-3c3a721a,
    .elementor-element-21415a9e {
        padding: 20px 15px !important;
    }
    
    .elementor-element-37cacf2f:hover,
    .elementor-element-3c3a721a:hover,
    .elementor-element-21415a9e:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(3, 81, 130, 0.12) !important;
    }
}

/* ===== TEAM MEMBER CARDS HOVER EFFECTS ===== */

/* Team Member Card 1 */
.elementor-element-12f381bc {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

.elementor-element-12f381bc:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

/* Team Member Image Hover */
.elementor-element-12f381bc:hover .elementor-element-5dc6b4d4 img {
    transform: scale(1.05) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

/* Team Member Name Hover */
.elementor-element-12f381bc:hover .elementor-element-59b37f50 .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

/* Team Member Position Hover */
.elementor-element-12f381bc:hover .elementor-element-41af777b .elementor-heading-title {
    color: #666 !important;
    transition: color 0.3s ease !important;
}

/* Team Member Description Hover */
.elementor-element-12f381bc:hover .elementor-element-49666d70 p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

/* Team Member Social Icons Hover */
.elementor-element-12f381bc:hover .elementor-element-94a2664 .elementor-social-icon {
    transform: scale(1.1) !important;
    transition: all 0.3s ease !important;
}

/* Team Member Card 2 */
.elementor-element-36a0b2e6 {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

.elementor-element-36a0b2e6:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

.elementor-element-36a0b2e6:hover .elementor-element-55849858 img {
    transform: scale(1.05) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

.elementor-element-36a0b2e6:hover .elementor-element-5e4f44a5 .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-36a0b2e6:hover .elementor-element-3e700bd8 .elementor-heading-title {
    color: #666 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-36a0b2e6:hover .elementor-element-1be9f25d p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-36a0b2e6:hover .elementor-element-dde5e90 .elementor-social-icon {
    transform: scale(1.1) !important;
    transition: all 0.3s ease !important;
}

/* Team Member Card 3 */
.elementor-element-53f0d9a4 {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    border-radius: 12px !important;
    padding: 25px 20px !important;
    position: relative !important;
}

.elementor-element-53f0d9a4:hover {
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
    transform: translateY(-3px) !important;
}

.elementor-element-53f0d9a4:hover .elementor-element-29c0fb05 img {
    transform: scale(1.05) !important;
    transition: all 0.3s ease !important;
    filter: brightness(1.1) !important;
}

.elementor-element-53f0d9a4:hover .elementor-element-156967a1 .elementor-heading-title {
    color: #035182 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-53f0d9a4:hover .elementor-element-1018e2e6 .elementor-heading-title {
    color: #666 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-53f0d9a4:hover .elementor-element-64e8f91d p {
    color: #2c3e50 !important;
    transition: color 0.3s ease !important;
}

.elementor-element-53f0d9a4:hover .elementor-element-a16900f .elementor-social-icon {
    transform: scale(1.1) !important;
    transition: all 0.3s ease !important;
}

/* Responsive adjustments for team cards */
@media (max-width: 768px) {
    .elementor-element-12f381bc,
    .elementor-element-36a0b2e6,
    .elementor-element-53f0d9a4 {
        padding: 20px 15px !important;
    }
    
    .elementor-element-12f381bc:hover,
    .elementor-element-36a0b2e6:hover,
    .elementor-element-53f0d9a4:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(3, 81, 130, 0.12) !important;
    }
}

/* ===== REUSABLE SERVICE CARD HOVER CLASS ===== */

/* Main card container hover effects */
.cns-service-card {
    transition: all 0.3s ease !important;
    position: relative !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    cursor: pointer !important;
}

/* Card background overlay on hover */
.cns-service-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.05), rgba(3, 81, 130, 0.08)) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 16px !important;
    z-index: 1 !important;
}

.cns-service-card:hover::before {
    opacity: 1 !important;
}

/* Card hover elevation and shadow */
.cns-service-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(3, 81, 130, 0.15) !important;
}

/* Image hover effects */
.cns-service-card .elementor-widget-image img {
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-service-card:hover .elementor-widget-image img {
    transform: translateY(-8px) !important;
    filter: brightness(1.1) saturate(1.1) !important;
}

/* Title hover effects - targets first heading widget */
.cns-service-card .elementor-widget-heading:first-of-type .elementor-heading-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-service-card:hover .elementor-widget-heading:first-of-type .elementor-heading-title {
    color: #035182 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Description hover effects - targets second heading widget */
.cns-service-card .elementor-widget-heading:last-of-type .elementor-heading-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-service-card:hover .elementor-widget-heading:last-of-type .elementor-heading-title {
    color: #333333 !important;
}

/* Shimmer effect */
.cns-service-card::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    ) !important;
    transition: transform 0.6s ease !important;
    z-index: 3 !important;
    pointer-events: none !important;
    border-radius: 16px !important;
}

.cns-service-card:hover::after {
    transform: translateX(200%) !important;
}

/* Ensure all content stays above overlay */
.cns-service-card * {
    position: relative !important;
    z-index: 2 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cns-service-card:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 6px 20px rgba(3, 81, 130, 0.12) !important;
    }
    
    .cns-service-card:hover .elementor-widget-image img {
        transform: translateY(-5px) !important;
    }
}


/* ===== REUSABLE FEATURE CARD HOVER CLASS ===== */

/* Main feature card container hover effects */
.cns-feature-card {
    position: relative !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    padding: 20px !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

/* Feature card background overlay on hover - white background */
.cns-feature-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 1)) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 8px !important;
    z-index: 1 !important;
}

.cns-feature-card:hover::before {
    opacity: 1 !important;
}

/* Feature card hover elevation and shadow */
.cns-feature-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 30px rgba(3, 81, 130, 0.2) !important;
}

/* Feature card title hover effects - blue text on white background */
.cns-feature-card .elementor-widget-heading .elementor-heading-title {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-feature-card:hover .elementor-widget-heading .elementor-heading-title {
    color: #035182 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Feature card icon hover effects - turn icons blue */
.cns-feature-card .elementor-icon svg,
.cns-feature-card .elementor-widget-icon .elementor-icon,
.cns-feature-card .elementor-widget-image img {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-feature-card:hover .elementor-icon svg {
    fill: #035182 !important;
    color: #035182 !important;
}

.cns-feature-card:hover .elementor-widget-icon .elementor-icon {
    color: #035182 !important;
}

.cns-feature-card:hover .elementor-widget-image img {
    filter: brightness(0) saturate(100%) invert(17%) sepia(88%) saturate(2000%) hue-rotate(190deg) brightness(95%) contrast(85%) !important;
}

/* Ensure all content stays above overlay */
.cns-feature-card * {
    position: relative !important;
    z-index: 2 !important;
}

/* Responsive adjustments for feature cards */
@media (max-width: 768px) {
    .cns-feature-card:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(3, 81, 130, 0.12) !important;
    }
}

/* ===== REUSABLE CONTACT CARD HOVER CLASS ===== */

/* Main contact card container hover effects */
.cns-contact-card {
    position: relative !important;
    transition: all 0.3s ease !important;
    border-radius: 12px !important;
    padding: 24px !important;
    cursor: pointer !important;
    overflow: hidden !important;
    border: 1px solid rgba(3, 81, 130, 0.1) !important;
}

/* Contact card background overlay on hover */
.cns-contact-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(3, 81, 130, 0.08), rgba(3, 81, 130, 0.12)) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 12px !important;
    z-index: 1 !important;
}

.cns-contact-card:hover::before {
    opacity: 1 !important;
}

/* Contact card hover elevation and shadow */
.cns-contact-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(3, 81, 130, 0.15) !important;
    border-color: rgba(3, 81, 130, 0.2) !important;
}

/* Contact card title hover effects */
.cns-contact-card .elementor-widget-heading .elementor-heading-title {
    transition: color 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
    white-space: nowrap !important;
}

.cns-contact-card:hover .elementor-widget-heading .elementor-heading-title {
    color: #035182 !important;
    font-weight: 700 !important;
}

/* Contact card icon hover effects */
.cns-contact-card .elementor-widget-image img {
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 2 !important;
}

.cns-contact-card:hover .elementor-widget-image img {
    filter: brightness(0) saturate(100%) invert(17%) sepia(88%) saturate(2000%) hue-rotate(190deg) brightness(95%) contrast(85%) !important;
}

/* Ensure all content stays above overlay */
.cns-contact-card * {
    position: relative !important;
    z-index: 2 !important;
}

/* Responsive adjustments for contact cards */
@media (max-width: 768px) {
    .cns-contact-card {
        padding: 20px !important;
    }
    
    .cns-contact-card:hover {
        transform: translateY(-4px) !important;
        box-shadow: 0 8px 25px rgba(3, 81, 130, 0.12) !important;
    }
}

/* ===== ALTERNATIVE INFO CARD HOVER CLASS ===== */

/* Alternative card with border effect and sliding background */
.cns-info-card {
    position: relative !important;
    transition: all 0.4s ease !important;
    border-radius: 16px !important;
    padding: 28px !important;
    cursor: pointer !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 2px solid transparent !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Sliding background effect */
.cns-info-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(45deg, #035182, #0470b8) !important;
    transition: left 0.4s ease !important;
    z-index: 1 !important;
}

.cns-info-card:hover::before {
    left: 0 !important;
}

/* Border animation on hover */
.cns-info-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 50px rgba(3, 81, 130, 0.25) !important;
}

/* Card title effects - starts dark, becomes white on hover */
.cns-info-card .elementor-widget-heading .elementor-heading-title {
    transition: all 0.4s ease 0.1s !important;
    position: relative !important;
    z-index: 2 !important;
    color: #2c3e50 !important;
}

.cns-info-card:hover .elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 600 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Card icon effects - starts gray, becomes white on hover */
.cns-info-card .elementor-widget-image img {
    transition: all 0.4s ease 0.1s !important;
    position: relative !important;
    z-index: 2 !important;
    filter: brightness(0) saturate(100%) invert(20%) sepia(15%) saturate(500%) hue-rotate(180deg) brightness(96%) contrast(85%) !important;
}

.cns-info-card:hover .elementor-widget-image img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%) !important;
    transform: rotate(5deg) !important;
}

/* Ensure all content stays above background */
.cns-info-card * {
    position: relative !important;
    z-index: 2 !important;
}

/* Responsive adjustments for info cards */
@media (max-width: 768px) {
    .cns-info-card {
        padding: 22px !important;
    }
    
    .cns-info-card:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 12px 35px rgba(3, 81, 130, 0.2) !important;
    }
}

/* ===== MODERN ELEMENTOR FORM STYLING ===== */

/* Form container styling - exclude footer forms */
.elementor-form-fields-wrapper {
    gap: 12px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

/* Reset form container for newsletter/footer forms - keep inline layout */
footer .elementor-form-fields-wrapper,
.elementor-location-footer .elementor-form-fields-wrapper,
.newsletter-form .elementor-form-fields-wrapper,
[class*="newsletter"] .elementor-form-fields-wrapper,
[class*="subscription"] .elementor-form-fields-wrapper {
    gap: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
}

/* Two fields per row layout */
.elementor-col-50 {
    flex: 0 0 calc(50% - 6px) !important;
    width: calc(50% - 6px) !important;
}

.elementor-col-100 {
    flex: 0 0 100% !important;
    width: 100% !important;
}

.elementor-col-25 {
    flex: 0 0 25% !important;
    width: 25% !important;
}

/* Reset column layout for newsletter/footer forms - proper inline proportions */
footer .elementor-col-66,
.elementor-location-footer .elementor-col-66,
[class*="newsletter"] .elementor-col-66,
[class*="subscription"] .elementor-col-66 {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
}

footer .elementor-col-25,
.elementor-location-footer .elementor-col-25,
[class*="newsletter"] .elementor-col-25,
[class*="subscription"] .elementor-col-25 {
    flex: 0 0 auto !important;
    width: auto !important;
}

footer .elementor-col-50,
footer .elementor-col-100,
.elementor-location-footer .elementor-col-50,
.elementor-location-footer .elementor-col-100,
.newsletter-form .elementor-col-50,
.newsletter-form .elementor-col-100,
[class*="newsletter"] .elementor-col-50,
[class*="newsletter"] .elementor-col-100,
[class*="subscription"] .elementor-col-50,
[class*="subscription"] .elementor-col-100 {
    flex: none !important;
    width: auto !important;
}

/* Form field groups */
.elementor-field-group {
    margin-bottom: 16px !important;
}

/* Reset field group margins for newsletter/footer forms */
footer .elementor-field-group,
.elementor-location-footer .elementor-field-group,
.newsletter-form .elementor-field-group,
[class*="newsletter"] .elementor-field-group,
[class*="subscription"] .elementor-field-group {
    margin-bottom: 0 !important;
}

/* Newsletter form button styling */
footer .elementor-field-type-submit button,
.elementor-location-footer .elementor-field-type-submit button,
[class*="newsletter"] .elementor-field-type-submit button,
[class*="subscription"] .elementor-field-type-submit button {
    height: auto !important;
    padding: 10px 20px !important;
    margin-left: 0 !important;
}

/* Form labels - modern floating style */
.elementor-field-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    margin-bottom: 8px !important;
    display: block !important;
    transition: color 0.3s ease !important;
    font-family: "Montserrat", sans-serif !important;
}

/* Input fields styling - exclude footer and newsletter forms */
.elementor-field-textual {
    border: 1px solid #e8ecef !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-size: 16px !important;
    background: #ffffff !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
    font-family: "Montserrat", sans-serif !important;
}

/* Reset newsletter/footer forms to default inline styling */
footer .elementor-field-textual,
.elementor-location-footer .elementor-field-textual,
.newsletter-form .elementor-field-textual,
[class*="newsletter"] .elementor-field-textual,
[class*="subscription"] .elementor-field-textual {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    font-size: 14px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    font-family: inherit !important;
    height: auto !important;
    color: #ffffff !important;
}

footer .elementor-field-textual::placeholder,
.elementor-location-footer .elementor-field-textual::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Input focus state */
.elementor-field-textual:focus {
    border-color: #035182 !important;
    box-shadow: 0 0 0 3px rgba(3, 81, 130, 0.1) !important;
    transform: translateY(-2px) !important;
}

/* Reset focus state for newsletter/footer forms */
footer .elementor-field-textual:focus,
.elementor-location-footer .elementor-field-textual:focus,
.newsletter-form .elementor-field-textual:focus,
[class*="newsletter"] .elementor-field-textual:focus,
[class*="subscription"] .elementor-field-textual:focus {
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: none !important;
    transform: none !important;
    background: rgba(255, 255, 255, 0.15) !important;
}

/* Placeholder styling */
.elementor-field-textual::placeholder {
    color: #9ca3af !important;
    font-style: normal !important;
}

/* Textarea specific styling */
textarea.elementor-field-textual {
    resize: vertical !important;
    min-height: 120px !important;
}

/* Checkbox styling */
.elementor-acceptance-field {
    width: 20px !important;
    height: 20px !important;
    border: 1px solid #e8ecef !important;
    border-radius: 4px !important;
    margin-right: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

/* Mission/Vision/Values Cards */
.cns-mission-card {
    position: relative !important;
    padding: 30px 20px !important;
    border-radius: 12px !important;
    transition: all 0.4s ease !important;
    cursor: pointer !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #e8ecef !important;
}

.cns-mission-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, #035182 0%, #0470b8 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.4s ease !important;
    z-index: 1 !important;
}

.cns-mission-card:hover::before {
    opacity: 1 !important;
}

.cns-mission-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(3, 81, 130, 0.15) !important;
    border-color: #035182 !important;
}

/* Content positioning */
.cns-mission-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Text color changes on hover */
.cns-mission-card:hover .elementor-heading-title,
.cns-mission-card:hover .elementor-widget-container h1,
.cns-mission-card:hover .elementor-widget-container h2,
.cns-mission-card:hover .elementor-widget-container h3,
.cns-mission-card:hover .elementor-widget-container h4,
.cns-mission-card:hover .elementor-widget-container h5,
.cns-mission-card:hover .elementor-widget-container h6,
.cns-mission-card:hover .elementor-widget-heading .elementor-heading-title,
.cns-mission-card:hover .elementor-widget-heading .elementor-widget-container .elementor-heading-title {
    color: #ffffff !important;
    transition: color 0.4s ease !important;
}

.cns-mission-card:hover .elementor-widget-container p,
.cns-mission-card:hover .elementor-text-editor {
    color: rgba(255, 255, 255, 0.9) !important;
    transition: color 0.4s ease !important;
}

/* Icon styling for mission cards */
.cns-mission-card .elementor-widget-image img {
    transition: all 0.4s ease !important;
    filter: brightness(1) !important;
}

.cns-mission-card:hover .elementor-widget-image img {
    filter: brightness(0) invert(1) !important;
    transform: scale(1.1) !important;
}

/* Team Member Cards */
.cns-team-card {
    position: relative !important;
    padding: 25px 20px !important;
    border-radius: 16px !important;
    transition: all 0.4s ease !important;
    cursor: pointer !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #e8ecef !important;
}

.cns-team-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, #035182 0%, #0470b8 100%) !important;
    opacity: 0 !important;
    transition: opacity 0.4s ease !important;
    z-index: 1 !important;
}

.cns-team-card:hover::before {
    opacity: 1 !important;
}

.cns-team-card:hover {
    transform: translateY(-10px) !important;
    box-shadow: 0 25px 50px rgba(3, 81, 130, 0.2) !important;
    border-color: #035182 !important;
}

/* Content positioning for team cards */
.cns-team-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Profile image styling */
.cns-team-card .elementor-widget-image {
    margin-bottom: 20px !important;
}

.cns-team-card .elementor-widget-image img {
    border-radius: 50% !important;
    transition: all 0.4s ease !important;
    border: 3px solid transparent !important;
}

.cns-team-card:hover .elementor-widget-image img {
    border-color: rgba(255, 255, 255, 0.3) !important;
    transform: scale(1.05) !important;
}

/* Text color changes on hover for team cards */
.cns-team-card:hover .elementor-heading-title,
.cns-team-card:hover .elementor-widget-container h1,
.cns-team-card:hover .elementor-widget-container h2,
.cns-team-card:hover .elementor-widget-container h3,
.cns-team-card:hover .elementor-widget-container h4,
.cns-team-card:hover .elementor-widget-container h5,
.cns-team-card:hover .elementor-widget-container h6,
.cns-team-card:hover .elementor-widget-heading .elementor-heading-title,
.cns-team-card:hover .elementor-widget-heading .elementor-widget-container .elementor-heading-title {
    color: #ffffff !important;
    transition: color 0.4s ease !important;
}

.cns-team-card:hover .elementor-widget-container p,
.cns-team-card:hover .elementor-text-editor {
    color: rgba(255, 255, 255, 0.9) !important;
    transition: color 0.4s ease !important;
}

/* Social icons styling */
.cns-team-card .elementor-social-icons-wrapper {
    margin-top: 15px !important;
}

.cns-team-card .elementor-social-icon {
    transition: all 0.4s ease !important;
    background-color: #f8f9fa !important;
    color: #035182 !important;
}

.cns-team-card .elementor-social-icon svg {
    fill: #035182 !important;
}

.cns-team-card:hover .elementor-social-icon {
    background-color: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

.cns-team-card:hover .elementor-social-icon svg {
    fill: #ffffff !important;
}

.elementor-acceptance-field:checked {
    background-color: #035182 !important;
    border-color: #035182 !important;
}

/* Checkbox label */
.elementor-field-option label {
    font-size: 14px !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
}

/* Form validation states */
.elementor-field-textual:invalid {
    border-color: #ef4444 !important;
}

.elementor-field-textual:valid {
    border-color: #035182 !important;
}

/* Responsive form adjustments */
@media (max-width: 768px) {
    .elementor-field-textual {
        padding: 14px 16px !important;
        font-size: 16px !important;
    }
    
    .elementor-field-group {
        margin-bottom: 14px !important;
    }
    
    textarea.elementor-field-textual {
        min-height: 100px !important;
    }
    
    /* Stack fields on mobile */
    .elementor-col-50 {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
    
    .elementor-col-25 {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}
