/*  * Phase M3.4: Critical Homepage CSS Fixes  * Scope: Stray dots, text alignment, and mobile carousel pagination  */  /* ==========================================================================    BUG-1: Stray Slider Pagination Dot & Overflow Issues    ========================================================================== */ .rev_slider_wrapper, .forcefullwidth_wrapper_tp_banner, .tp-banner-container {     overflow: hidden !important;     contain: layout !important; } .tp-bullets {     overflow: hidden !important; }  /* ==========================================================================    BUG-3: Override Xamin Parent Theme Forced text-align: justify    ========================================================================== */ @media (max-width: 1024px) {     .site-main p,     .site-main li,     .iq-title-desc,     .iq-fancy-box p,     .iq-testimonial-content p,     .elementor-widget-text-editor p,     .elementor-text-editor p {         text-align: left !important;     } }  /* ==========================================================================    BUG-4 & BUG-5: Carousel Pagination / Navigation Issues on Mobile    ========================================================================== */  /* Hide excess logo carousel dots */ .iq-client .owl-dots {     display: none !important; } /* Show nav arrows instead */ .iq-client .owl-nav {     display: flex !important; }  /* Hide portfolio excess carousel dots and style nav arrows */ .iq-portfolio-box .owl-dots {     display: none !important; } .iq-portfolio-box .owl-nav {     display: flex !important;     justify-content: center !important;     gap: 12px !important;     margin-top: 24px !important; } .iq-portfolio-box .owl-prev, .iq-portfolio-box .owl-next {     width: 44px !important;     height: 44px !important;     border-radius: 50% !important;     border: 1px solid #E8ECF0 !important;     background: #fff !important;     display: flex !important;     align-items: center !important;     justify-content: center !important; }  /* ==========================================================================    D5: WCAG AA Compliant Focus States    ========================================================================== */ a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {     outline: 3px solid #0a4181 !important;     outline-offset: 3px !important;     border-radius: 4px !important; } a:focus:not(:focus-visible), button:focus:not(:focus-visible) {     outline: none !important; }  /* ==========================================================================    KPI Title Font Size Adjustment    ========================================================================== */ .elementor-element-21be7b7 .elementor-counter-title {     font-size: 11px !important;     line-height: 1.4 !important; } .elementor-element-21be7b7 .elementor-counter-number-wrapper {     font-size: 2.5rem !important; }  /* ==========================================================================    Sprint 2: Equal Height Cards    ========================================================================== */ .elementor-section .elementor-column {     display: flex !important;     flex-direction: column !important; } .iq-fancy-box {     height: 100% !important;     display: flex !important;     flex-direction: column !important; } .iq-fancy-box .fancy-box-content {     flex: 1 !important; }  /* ==========================================================================    Sprint 2: Testimonial Containment    ========================================================================== */ .iq-testimonial.owl-carousel, #reviews .owl-stage-outer {     overflow: hidden !important; }  /* ==========================================================================    Sprint 2: Split Sections Custom Column Gaps    ========================================================================== */ @media (min-width: 1025px) {     .elementor-element-d5bc0d1 > .elementor-container,     .elementor-element-1dd7353 > .elementor-container,     .elementor-element-7b7e608 > .elementor-container {         gap: 80px !important;     } } @media (min-width: 769px) and (max-width: 1024px) {     .elementor-element-d5bc0d1 > .elementor-container,     .elementor-element-1dd7353 > .elementor-container,     .elementor-element-7b7e608 > .elementor-container {         gap: 40px !important;     } } @media (max-width: 768px) {     .elementor-element-d5bc0d1 > .elementor-container,     .elementor-element-1dd7353 > .elementor-container,     .elementor-element-7b7e608 > .elementor-container {         gap: 0px !important;     } }  /* ==========================================================================    Sprint 2: Footer Spacing and Alignment Overrides    ========================================================================== */ footer .navbar-brand img, footer .footer-logo img {     max-width: 140px !important;     height: auto !important; } footer .footer-default-menu li, footer .widget ul li {     line-height: 2.0 !important;     margin-bottom: 0 !important; } footer .footer-default-menu a, footer .widget ul li a {     font-size: 14px !important;     color: #94A3B8 !important;     transition: color 200ms ease !important; } footer .footer-default-menu a:hover, footer .widget ul li a:hover {     color: #ffffff !important; } footer .widget-title, footer .footer-title {     font-size: 15px !important;     font-weight: 600 !important;     color: #ffffff !important;     margin-bottom: 20px !important;     letter-spacing: 0.02em !important; } footer .footer-bottom, footer .copyright-footer {     padding: 20px 0 !important;     border-top: 1px solid rgba(255,255,255,0.1) !important;     font-size: 13px !important;     color: #94A3B8 !important; } @media (max-width: 768px) {     footer .widget ul li:last-child {         padding-bottom: 80px !important;     } }  /* ==========================================================================    Sprint 3: Accessibility Social Icon Touch Targets    ========================================================================== */ footer .social-icone a, footer [class*="social"] a {     display: inline-flex !important;     align-items: center !important;     justify-content: center !important;     min-width: 44px !important;     min-height: 44px !important; }  /* ==========================================================================    Sprint 3: WCAG AA Color Contrast Improvements    ========================================================================== */ .elementor-counter-title, .iq-lead-label, [class*="text-muted"] {     color: #64748B !important; /* Passes 4.5:1 ratio on white */ } footer .footer-default-menu a, footer .widget ul li a {     color: #B0BFCC !important; /* Passes 4.5:1 ratio on dark footer bg */ }  /* ==========================================================================    Sprint 3: Accessible touch target size for Owl Carousel Dots    ========================================================================== */ .owl-dots .owl-dot {     padding: 12px !important;     margin: 0 !important; } .owl-dots .owl-dot span {     width: 8px !important;     height: 8px !important;     display: block !important; }  /* ==========================================================================    Sprint 3: Bullet List Item Gap (xamin_lists)    ========================================================================== */ .site-main ul.xamin-list li, .site-main .xamin-list li, .site-main .iq-list li {     margin-bottom: 14px !important; } .site-main ul.xamin-list li:last-child, .site-main .xamin-list li:last-child, .site-main .iq-list li:last-child {     margin-bottom: 0 !important; }  /* ==========================================================================    Sprint 3: Card container styling and typography    ========================================================================== */ .iq-fancy-box {     padding: 32px !important;     border-radius: 12px !important;     border: 1px solid #E8ECF0 !important;     transition: all 0.3s ease !important; } @media (max-width: 1024px) {     .iq-fancy-box {         padding: 28px !important;     } } @media (max-width: 768px) {     .iq-fancy-box {         padding: 20px !important;         border-radius: 10px !important;     } }  /* Card titles typography */ .iq-fancy-box .fancy-title, .iq-fancy-box .fancy-title h4 {     font-size: 18px !important;     font-weight: 600 !important;     line-height: 1.35 !important;     margin-bottom: 12px !important; } @media (max-width: 1024px) {     .iq-fancy-box .fancy-title,     .iq-fancy-box .fancy-title h4 {         font-size: 17px !important;     } } @media (max-width: 768px) {     .iq-fancy-box .fancy-title,     .iq-fancy-box .fancy-title h4 {         font-size: 16px !important;     } }  /* Card icons styling */ .iq-fancy-box .iq-icon-img, .iq-fancy-box .iq-icon-img img {     width: 80px !important;     height: 80px !important;     margin-bottom: 20px !important; } @media (max-width: 1024px) {     .iq-fancy-box .iq-icon-img,     .iq-fancy-box .iq-icon-img img {         width: 72px !important;         height: 72px !important;         margin-bottom: 16px !important;     } } @media (max-width: 768px) {     .iq-fancy-box .iq-icon-img,     .iq-fancy-box .iq-icon-img img {         width: 64px !important;         height: 64px !important;         margin-bottom: 14px !important;     } }  /* ==========================================================================    Sprint 3: Hero Revolution Slider Typography & Buttons    ========================================================================== */ #slider-87-slide-97-layer-1, .rev_slider h1, .rev_slider .rs-layer h1 {     font-size: 48px !important;     font-weight: 700 !important;     line-height: 1.2 !important; } @media (max-width: 1024px) {     #slider-87-slide-97-layer-1,     .rev_slider h1,     .rev_slider .rs-layer h1 {         font-size: 36px !important;     } } @media (max-width: 768px) {     #slider-87-slide-97-layer-1,     .rev_slider h1,     .rev_slider .rs-layer h1 {         font-size: 30px !important;     } }  /* Hero Secondary CTA Outline Style */ .rev_slider a.rs-button-swipe[href*="solutions"], .rev_slider a.rs-button-swipe[href*="solutions/"] {     background-color: transparent !important;     background: transparent !important;     border: 2px solid #0a4181 !important;     color: #0a4181 !important; }  .rev_slider a.rs-button-swipe[href*="solutions"] .btn_text, .rev_slider a.rs-button-swipe[href*="solutions/"] .btn_text {     color: #0a4181 !important; }  .rev_slider a.rs-button-swipe[href*="solutions"] .btn_icon i, .rev_slider a.rs-button-swipe[href*="solutions/"] .btn_icon i {     color: #0a4181 !important; }  /* Hover style for secondary CTA */ .rev_slider a.rs-button-swipe[href*="solutions"]:hover, .rev_slider a.rs-button-swipe[href*="solutions/"]:hover {     background-color: #0a4181 !important;     background: #0a4181 !important;     color: #ffffff !important; }  .rev_slider a.rs-button-swipe[href*="solutions"]:hover .btn_text, .rev_slider a.rs-button-swipe[href*="solutions/"]:hover .btn_text {     color: #ffffff !important; }  .rev_slider a.rs-button-swipe[href*="solutions"]:hover .btn_icon i, .rev_slider a.rs-button-swipe[href*="solutions/"]:hover .btn_icon i {     color: #ffffff !important; }   