/* General overflow fix for all sections */
@media (max-width: 767px) {
    section {
        overflow: hidden !important;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Fix all section containers */
    section > .container {
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Fix any element that might cause horizontal scroll */
    * {
        max-width: 100vw !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}

/* Mobile specific fixes */
@media (max-width: 991px) {
    .container,
    .container-fluid {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .col-lg-6,
    .col-lg-5,
    .col-lg-7,
    .col-lg-12,
    .col-xl-5,
    .col-xl-6,
    .col-xxl-4,
    .col-xxl-7 {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* Hero section mobile fix */
@media (max-width: 767px) {
    .it-company-hero-area {
        overflow: hidden !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .it-company-hero-area .it-company-img {
        max-width: 100% !important;
        height: auto !important;
    }

    .it-company-hero-title {
        font-size: 2rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }

    .ai-floating-icons-container,
    .ai-robot-elements {
        display: none !important;
    }

    /* Ensure all images scale properly */
    .it-company-hero-area img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Fix button overflow */
    .it-company-hero-area .btn,
    .it-company-hero-area a {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    /* Hero row */
    .it-company-hero-area .row {
        display: flex !important;
        flex-direction: column !important;
    }

    .it-company-hero-area .col-lg-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
    }
}

/* ============================================
   AI FLOATING ICONS - COMMON STYLES
   ============================================ */
.ai-floating-icons-container {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.ai-floating-icon {
    position: absolute;
    animation: aiFloat 3s ease-in-out infinite;
    pointer-events: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.ai-floating-icon:hover {
    transform: scale(1.1);
}

.ai-icon-circle {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

/* Icon Sizes */
.ai-icon-sm { width: 45px; height: 45px; }
.ai-icon-md { width: 48px; height: 48px; }
.ai-icon-lg { width: 50px; height: 50px; }
.ai-icon-xl { width: 55px; height: 55px; }

/* Icon Colors */
.ai-icon-facebook {
    background: linear-gradient(135deg, #1D3086, #1877F2);
    box-shadow: 0 4px 20px rgba(24, 119, 242, 0.3);
}
.ai-icon-instagram {
    background: linear-gradient(135deg, #F56040, #FFDC80);
    box-shadow: 0 4px 15px rgba(245, 96, 64, 0.3);
}
.ai-icon-youtube {
    background: linear-gradient(135deg, #FF0000, #CC0000);
    box-shadow: 0 4px 15px rgba(255, 0, 0, 0.3);
}
.ai-icon-linkedin {
    background: linear-gradient(135deg, #0A66C2, #0077B5);
    box-shadow: 0 4px 15px rgba(10, 102, 194, 0.3);
}
.ai-icon-chatbot {
    background: linear-gradient(135deg, #7C3AED, #4F46E5);
    box-shadow: 0 4px 20px rgba(124, 58, 237, 0.3);
}
.ai-icon-brain {
    background: linear-gradient(135deg, #1D3086, #6582E1);
    box-shadow: 0 4px 15px rgba(101, 130, 225, 0.3);
}

/* Icon Font Sizes */
.ai-icon-facebook i,
.ai-icon-linkedin i { font-size: 22px; }
.ai-icon-instagram i,
.ai-icon-youtube i { font-size: 20px; }
.ai-icon-chatbot span,
.ai-icon-brain span { font-size: 20px; }
.ai-icon-circle i,
.ai-icon-circle span { color: white; }

/* Animation Delays */
.ai-delay-0 { animation-delay: 0s; }
.ai-delay-1 { animation-delay: 0.5s; }
.ai-delay-2 { animation-delay: 1s; }
.ai-delay-3 { animation-delay: 1.5s; }
.ai-delay-4 { animation-delay: 2s; }
.ai-delay-5 { animation-delay: 2.5s; }

/* Animations */
@keyframes aiFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

@keyframes aiPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 20px rgba(29, 48, 134, 0.3);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 6px 25px rgba(29, 48, 134, 0.5);
    }
}

@keyframes aiGlow {
    0%, 100% { filter: drop-shadow(0 0 5px rgba(29, 48, 134, 0.3)); }
    50% { filter: drop-shadow(0 0 15px rgba(29, 48, 134, 0.6)); }
}

.ai-floating-icon:hover {
    animation: aiPulse 1s ease-in-out infinite;
}

.ai-floating-icon:hover .ai-icon-circle {
    animation: aiGlow 1s ease-in-out infinite;
}

/* AI Text Effects */
.ai-text-glow {
    text-shadow: 0 0 10px rgba(29, 48, 134, 0.3);
}

/* Responsive AI Elements */
@media (max-width: 768px) {
    .ai-floating-icon { transform: scale(0.8); }
    .ai-icon-circle { width: 40px !important; height: 40px !important; }
    .ai-floating-icon span { font-size: 16px !important; }
}

/* ============================================
   PAGE SPECIFIC STYLES
   ============================================ */
/* Counter Animation */
.niche-stat-item .stat-number { display: inline-block; }

/* Social Media Icons Override */
.it-company-social-icons { gap: 8px; }

.it-com-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid #1D3086;
    background: #1D3086 !important;
    color: white !important;
}

.it-com-link:hover {
    background: white !important;
    color: #1D3086 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(29, 48, 134, 0.3);
}

.it-company-hero-area .it-com-link {
    color: white !important;
    background: #1D3086 !important;
}

.it-company-hero-area .it-com-link:hover {
    color: #1D3086 !important;
    background: white !important;
}

.it-com-link i { font-size: 16px; font-weight: 900; }

/* Font Awesome Fix */
.fab {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400;
}

.fa-facebook-f:before { content: "\f39e" !important; }
.fa-instagram:before { content: "\f16d" !important; }
.fa-youtube:before { content: "\f167" !important; }
.fa-twitter:before { content: "\f099" !important; }
.fa-linkedin:before { content: "\f08c" !important; }

/* Original Styles */
body::-webkit-scrollbar{width:8px!important;height:8px!important}body::-webkit-scrollbar-track{background:#f1f1f1!important}body::-webkit-scrollbar-thumb{background-color:#0b022a!important;border-radius:6px!important;border:3px solid #f1f1f1!important}body::-webkit-scrollbar-thumb:hover{background-color:#555!important}body::-webkit-scrollbar-corner{background:#f1f1f1!important}.FooterMenuText{color:bisque!important}.FooterHoverBox:hover{.FooterMenuText{color:#ffd105!important}}.service-content{text-align:justify!important}.btn-primary{background-color:#086AD8!important;color:#ffffff!important}

/* ============================================
   FIXED HEADER - GLOBAL OVERLAP PROTECTION
   Ensures no page content paints on top of the
   sticky navbar, and the navbar always has a
   solid white background so text never bleeds
   through.
   ============================================ */
html { scroll-behavior: smooth; }
html, body { scroll-padding-top: 90px; }
section[id], h1[id], h2[id] { scroll-margin-top: 90px; }

header.main-header {
    z-index: 9999 !important;
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    background-color: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
nav.sticky-header { z-index: 9999 !important; }
nav.sticky-header,
nav.sticky-header.affix {
    background-color: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}
nav.sticky-header .main-menu li a.nav-link,
nav.sticky-header.affix .main-menu li a.nav-link {
    color: #1D3086 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
nav.sticky-header .main-menu li a.nav-link:hover,
nav.sticky-header.affix .main-menu li a.nav-link:hover { color: #6582E1 !important; }
nav.sticky-header .navbar-brand img.logo-white { display: none !important; }
nav.sticky-header .navbar-brand img.logo-color { display: block !important; }

/* Make sure mobile offcanvas always stays on top */
.offcanvas { z-index: 10000 !important; }

/* Hero / first-section padding safety: any section sitting at the very
   top of a page (including custom landing pages) must not slide under
   the fixed navbar. */
main > section:first-of-type,
.dental-hero {
    padding-top: 90px;
}
@media (max-width: 991px) {
    main > section:first-of-type,
    .dental-hero { padding-top: 80px; }
}

/* WYSIWYG/CKEditor Content list reset and styling */
.blog-content ul, .blog-content ol,
.cms-content-wrapper ul, .cms-content-wrapper ol,
.post-excerpt ul, .post-excerpt ol,
.service-content ul, .service-content ol {
    margin-top: 10px;
    margin-bottom: 20px;
    padding-left: 25px !important;
}

.blog-content ul, .cms-content-wrapper ul, .post-excerpt ul, .service-content ul {
    list-style-type: disc !important;
}

.blog-content ol, .cms-content-wrapper ol, .post-excerpt ol, .service-content ol {
    list-style-type: decimal !important;
}

.blog-content li,
.cms-content-wrapper li,
.post-excerpt li,
.service-content li {
    display: list-item !important;
    list-style: inherit !important;
    margin-bottom: 8px;
    padding-left: 5px !important;
    text-align: left !important;
    white-space: normal !important;
    float: none !important;
    width: auto !important;
    position: static !important;
    flex: none !important;
}

.blog-content li p,
.cms-content-wrapper li p,
.post-excerpt li p,
.service-content li p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

.blog-content li span,
.cms-content-wrapper li span,
.post-excerpt li span,
.service-content li span {
    white-space: normal !important;
}

/* Ensure Bootstrap's list-unstyled and layout displays are not broken inside CMS/Service content wrappers */
.blog-content ul.list-unstyled,
.cms-content-wrapper ul.list-unstyled,
.post-excerpt ul.list-unstyled,
.service-content ul.list-unstyled {
    list-style-type: none !important;
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.blog-content ul.list-unstyled li,
.cms-content-wrapper ul.list-unstyled li,
.post-excerpt ul.list-unstyled li,
.service-content ul.list-unstyled li {
    list-style-type: none !important;
    list-style: none !important;
    padding-left: 0 !important;
}

.blog-content ul.list-unstyled li:not(.d-flex):not(.d-inline-flex):not(.d-grid),
.cms-content-wrapper ul.list-unstyled li:not(.d-flex):not(.d-inline-flex):not(.d-grid),
.post-excerpt ul.list-unstyled li:not(.d-flex):not(.d-inline-flex):not(.d-grid),
.service-content ul.list-unstyled li:not(.d-flex):not(.d-inline-flex):not(.d-grid) {
    display: block !important;
}

.blog-content li.d-flex,
.cms-content-wrapper li.d-flex,
.post-excerpt li.d-flex,
.service-content li.d-flex {
    display: flex !important;
}

.blog-content li.d-inline-flex,
.cms-content-wrapper li.d-inline-flex,
.post-excerpt li.d-inline-flex,
.service-content li.d-inline-flex {
    display: inline-flex !important;
}

.blog-content li.d-grid,
.cms-content-wrapper li.d-grid,
.post-excerpt li.d-grid,
.service-content li.d-grid {
    display: grid !important;
}

/* Ensure Bootstrap navs, pagination, and breadcrumbs are not broken by WYSIWYG styles */
.service-content ul.nav,
.service-content ul.navbar-nav,
.service-content ul.pagination,
.service-content ol.breadcrumb,
.blog-content ul.nav,
.blog-content ul.navbar-nav,
.blog-content ul.pagination,
.blog-content ol.breadcrumb,
.cms-content-wrapper ul.nav,
.cms-content-wrapper ul.navbar-nav,
.cms-content-wrapper ul.pagination,
.cms-content-wrapper ol.breadcrumb {
    list-style-type: none !important;
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.service-content ul.nav li,
.service-content ul.navbar-nav li,
.service-content ul.pagination li,
.service-content ol.breadcrumb li,
.blog-content ul.nav li,
.blog-content ul.navbar-nav li,
.blog-content ul.pagination li,
.blog-content ol.breadcrumb li,
.cms-content-wrapper ul.nav li,
.cms-content-wrapper ul.navbar-nav li,
.cms-content-wrapper ul.pagination li,
.cms-content-wrapper ol.breadcrumb li {
    list-style-type: none !important;
    list-style: none !important;
    padding-left: 0 !important;
    display: block !important;
}

/* Responsive navbar logo size on mobile/collapsible view */
@media (max-width: 1199px) {
    nav.sticky-header .navbar-brand img {
        width: 110px !important;
    }
}

/* Responsive height and scrollbar for mega menu dropdowns on desktop view */
@media (min-width: 1200px) {
    .main-menu .dropdown-menu {
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    /* Webkit scrollbar for dropdown menu */
    .main-menu .dropdown-menu::-webkit-scrollbar {
        width: 6px !important;
    }
    .main-menu .dropdown-menu::-webkit-scrollbar-track {
        background: #f1f1f1 !important;
        border-radius: 4px !important;
    }
    .main-menu .dropdown-menu::-webkit-scrollbar-thumb {
        background-color: #1D3086 !important;
        border-radius: 4px !important;
    }
    .main-menu .dropdown-menu::-webkit-scrollbar-thumb:hover {
        background-color: #2B4ACF !important;
    }

    /* Prevent horizontal grid overflow on smaller desktop/laptop screens */
    .dropdown-grid {
        grid-template-columns: repeat(var(--column-count), minmax(180px, 1fr)) !important;
        gap: 12px !important;
    }
    .dropdown-grid-item {
        padding: 12px !important;
    }
}