/*
Theme Name: the7dtchild
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended
Template: dt-the7
*/

/* ==========================================================================
   FF SOLUTION - PREMIUM PRODUCT CARDS UNIFICATION (SWISS-ENGINEERED DESIGN)
   ========================================================================== */

/* Section background for product grid area - FULL WIDTH breakout */
.home-indystry {
    background: linear-gradient(135deg, #f0f9ff 0%, #e8f4fb 50%, #f5fafd 100%) !important;
    padding-top: 60px !important;
    padding-bottom: 70px !important;
    position: relative !important;
    margin-top: 0 !important;       /* Remove gap between sections */
    /* Full-width breakout from container */
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    /* Add horizontal padding to keep content readable */
    padding-left: calc(50vw - 50%) !important;
    padding-right: calc(50vw - 50%) !important;
}

/* Subtle grid pattern overlay */
.home-indystry::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle at 1px 1px, rgba(11, 117, 156, 0.05) 1px, transparent 0) !important;
    background-size: 40px 40px !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Equal Height & Flexbox Alignment for Cards */
.home-indystry .vc_row_inner {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
}

.home-indystry .wpb_column {
    display: flex !important;
    flex-direction: column !important;
}

.home-indystry .vc_column-inner,
.home-indystry .wpb_wrapper,
.home-indystry .aio-icon-component,
.home-indystry .aio-icon-box-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Unified Card Wrapper for Product Grid */
.home-indystry .aio-icon-box {
    background: #ffffff !important; /* Elegant white card background */
    border: 1px solid rgba(11, 117, 156, 0.12) !important; /* Premium brand sky-blue border */
    border-radius: 24px !important; /* Smooth modern rounded corners */
    padding: 2.5rem 1.75rem 2rem 1.75rem !important;
    box-shadow: 0 4px 24px rgba(11, 117, 156, 0.06), 0 1px 4px rgba(11, 117, 156, 0.04) !important; /* Sky-blue tinted shadow */
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    z-index: 1 !important; /* Float above the dot pattern overlay */
}

/* Premium Card Hover Interaction */
.home-indystry .aio-icon-box:hover {
    transform: translateY(-10px) !important; /* Premium card rise */
    background-color: #ffffff !important;
    border-color: rgba(11, 117, 156, 0.3) !important; /* Glowing brand blue border */
    box-shadow: 0 20px 50px -10px rgba(11, 106, 142, 0.18), 0 0 0 1px rgba(11, 117, 156, 0.08) !important; /* Deep modern floating shadow */
}

/* Image Wrapper Positioning */
.home-indystry .aio-icon-top {
    width: 100% !important;
    max-width: 220px !important; /* Keeps product graphics elegant and proportional */
    margin: 0 auto 1.5rem auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Subtle graphic scale/lift on card hover */
.home-indystry .img-icon {
    max-width: 100% !important;
    height: auto !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.home-indystry .aio-icon-box:hover .img-icon {
    transform: scale(1.05) translateY(-4px) !important; /* Dynamic lift and zoom */
}

/* Reset Description Box to fully transparent, centering inside the card */
.home-indystry .aio-icon-description {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    transition: none !important;
    position: static !important; /* let numbering position relative to .aio-icon-box */
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

/* Outdated hover vertical shift disabled */
.home-indystry .aio-icon-box:hover .aio-icon-description {
    margin-top: 0 !important;
    transform: none !important;
}

/* Premium Outlined/Transparent Numbering Watermark */
.home-indystry .numbering {
    font-size: 5.5rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    color: rgba(11, 117, 156, 0.05) !important; /* Extremely soft sky blue brand tint */
    -webkit-text-stroke: none !important; /* Clean filled style instead of cheap outline */
    position: absolute !important;
    top: 1rem !important;
    right: 1.25rem !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1 !important;
    pointer-events: none !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Watermark glows soft sky-blue on hover */
.home-indystry .aio-icon-box:hover .numbering {
    color: rgba(11, 117, 156, 0.12) !important;
}

/* Typography styles inside the cards */
.home-indystry .aio-icon-box h4 {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 0.75rem 0 !important;
    transition: color 0.3s ease !important;
    text-transform: capitalize !important;
}

.home-indystry .aio-icon-box:hover h4 {
    color: #0b759c !important; /* Brand premium blue on card hover */
}

.home-indystry .aio-icon-box p {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin: 0 !important;
    display: block !important;
}

/* Custom Spec Points in Product Box Cards */
.home-indystry .dpf-card-specs {
    list-style: none !important;
    padding: 0 !important;
    margin: 1.25rem 0 1.75rem 0 !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.6rem !important;
}

.home-indystry .dpf-card-specs li {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.85rem !important; /* Premium small points as requested */
    color: #475569 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.home-indystry .dpf-card-specs li i {
    color: #0b759c !important; /* Premium brand blue for bullet icons */
    font-size: 0.9rem !important;
    flex-shrink: 0 !important;
}

/* Premium Read More Button (Global Design System) */
.dpf-card-btn {
    margin-top: auto !important; /* Pushes the button to the bottom of the card */
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0b6a8e 0%, #0b759c 100%) !important;
    padding: 0.65rem 1.6rem !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    box-shadow: 0 4px 12px rgba(11, 117, 156, 0.15) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: none !important;
}

.dpf-card-btn i {
    font-size: 0.8rem !important;
    transition: transform 0.3s ease !important;
}

.dpf-card-btn:hover {
    background: linear-gradient(135deg, #0b759c 0%, #0ea5e9 100%) !important;
    box-shadow: 0 6px 20px rgba(11, 117, 156, 0.25) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

.dpf-card-btn:hover i {
    transform: translateX(4px) !important;
}

/* Centering and preventing stretching for the bottom "Read More" button in products section */
.home-indystry .wpb_raw_code {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 2.5rem !important;
}

.home-indystry .wpb_raw_code .wpb_wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.home-indystry .wpb_raw_code .dpf-card-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: fit-content !important;
    margin: 0 auto !important;
}

/* ==========================================================================
   FF SOLUTION - FULL WIDTH HERO SECTION BREAKOUT (DEMO PAGE TEMPLATE)
   ========================================================================== */

/* Prevent horizontal scrollbars caused by 100vw calculations on windows/browsers */
.page-template-page-demo,
.page-template-page-demo #page {
    overflow-x: hidden !important;
}

/* Force all parent wrappers inside the main container to allow overflow visibility,
   preventing float-clearing overflow:hidden from clipping the breakout background */
.page-template-page-demo #main .wf-wrap,
.page-template-page-demo #main .wf-container-main,
.page-template-page-demo #main .wpb-content-wrapper,
.page-template-page-demo #main .vc_row,
.page-template-page-demo #main .wpb_column,
.page-template-page-demo #main .vc_column-inner,
.page-template-page-demo #main .wpb_wrapper,
.page-template-page-demo .dpf-main-landing,
.page-template-page-demo .dpf-main-landing-single {
    overflow: visible !important;
}

/* Stretch the entire hero section 100% full-width across the screen,
   using dynamic paddings to keep content perfectly centered and aligned */
.page-template-page-demo .dpf-hero-wrapper {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Keep the inner glows/pseudo-elements clipped */
    /* Combine original vertical padding with breakout centering */
    padding-top: 3rem !important;
    padding-bottom: 5rem !important;
    padding-left: calc(50vw - 50% + 1.5rem) !important;
    padding-right: calc(50vw - 50% + 1.5rem) !important;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%) !important;
}

/* ==========================================================================
   FF SOLUTION - PREMIUM HOME ABOUT SECTION & TABBED ACCORDION RE-STYLE
   ========================================================================== */

/* 1. Typographic Enhancements */
.home-about .head1 {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    background: linear-gradient(135deg, #0b6a8e 0%, #0ea5e9 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    margin-bottom: 0.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.65rem !important;
}

/* Elegant left high-tech accent bar */
.home-about .head1::before {
    content: '' !important;
    display: inline-block !important;
    width: 20px !important;
    height: 3px !important;
    background: #ff6600 !important; /* Premium brand accent orange */
    border-radius: 2px !important;
}

.home-about .head2 {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: 1.75rem !important;
    letter-spacing: -0.02em !important;
}

.home-about p {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: #475569 !important;
    margin-bottom: 1.25rem !important;
}

/* Hide old Ultimate Addons elements to prevent FOUC and layout interference */
.home-about .ult_tabs,
.home-about .ult_acord,
.home-about .wpb-ult-tabs,
.home-about .ult_tabcontent,
.home-about .ult-tabto-actitle,
.home-about .ult-tabto-acontent {
    display: none !important;
}

/* 2. Custom Premium Tabs Component */
.dpf-custom-tabs-container {
    margin-top: 2.5rem !important;
    width: 100% !important;
    font-family: 'Poppins', 'Inter', sans-serif !important;
}

/* Nav Wrapper (Segmented sliding pill) */
.dpf-custom-tab-nav {
    display: flex !important;
    background: #f1f5f9 !important; /* Premium soft background slate */
    padding: 6px !important;
    border-radius: 50px !important;
    border: 1px solid rgba(15, 23, 42, 0.05) !important;
    margin-bottom: 2rem !important;
    gap: 8px !important;
    width: fit-content !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Tab Button */
.dpf-custom-tab-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.8rem 2.2rem !important;
    border-radius: 50px !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #475569 !important; /* Soft grey text */
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    gap: 10px !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    outline: none !important;
    user-select: none !important;
    box-shadow: none !important;
}

/* Tab Button Hover */
.dpf-custom-tab-btn:hover:not(.active) {
    color: #0b759c !important;
    background: rgba(11, 117, 156, 0.06) !important;
}

.dpf-custom-tab-btn:hover:not(.active) .dpf-custom-tab-icon {
    color: #0b759c !important;
    transform: scale(1.15) rotate(8deg) !important;
}

/* Active Tab Button with Brand Gradient */
.dpf-custom-tab-btn.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0b6a8e 0%, #0b759c 100%) !important;
    box-shadow: 0 4px 15px rgba(11, 117, 156, 0.25) !important;
}

.dpf-custom-tab-btn.active .dpf-custom-tab-icon {
    color: #ffffff !important;
}

/* Custom Tab Icons */
.dpf-custom-tab-icon {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Tab Content Panel Card */
.dpf-custom-tab-content-wrap {
    background: #ffffff !important;
    border: 1px solid rgba(11, 117, 156, 0.08) !important;
    border-radius: 24px !important;
    padding: 2.5rem !important;
    box-shadow: 0 15px 40px rgba(11, 106, 142, 0.04), 0 1px 4px rgba(11, 106, 142, 0.02) !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Left Accent Line */
.dpf-custom-tab-content-wrap::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 5px !important;
    background: linear-gradient(to bottom, #0b759c 0%, #ff6600 100%) !important;
    border-radius: 5px 0 0 5px !important;
}

/* Content Pane */
.dpf-custom-tab-pane {
    display: none !important;
    opacity: 0 !important;
    transform: translateY(12px) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dpf-custom-tab-pane.active {
    display: block !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}


/* 5. Left Column Single Image Premium Restyling */
.home-about .wpb_single_image .vc_single_image-wrapper {
    border: none !important;
    box-shadow: 0 30px 70px -15px rgba(15, 23, 42, 0.15), 0 0 0 1px rgba(11, 117, 156, 0.04) !important;
    border-radius: 32px !important;
    overflow: hidden !important;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
    background: #ffffff !important;
    padding: 0 !important;
}

.home-about .wpb_single_image .vc_single_image-wrapper img {
    border-radius: 32px !important;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.home-about .wpb_single_image:hover .vc_single_image-wrapper img {
    transform: scale(1.04) !important;
}

.home-about .wpb_single_image:hover .vc_single_image-wrapper {
    box-shadow: 0 45px 80px -10px rgba(11, 106, 142, 0.22), 0 0 0 1px rgba(11, 117, 156, 0.08) !important;
    transform: translateY(-6px) !important;
}

/* 6. Advanced High-Tech Details & Grid Accents */
.home-about {
    background-color: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* High-tech radial dot pattern background */
.home-about::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background-image: radial-gradient(circle at 1px 1px, rgba(11, 117, 156, 0.035) 1.5px, transparent 0) !important;
    background-size: 32px 32px !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Glowing ambient color orb in the background */
.home-about::after {
    content: '' !important;
    position: absolute !important;
    top: 15% !important;
    left: -12% !important;
    width: 600px !important;
    height: 600px !important;
    background: radial-gradient(circle, rgba(11, 106, 142, 0.05) 0%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Dotted grid accents framing the left column single image */
.home-about .wpb_single_image {
    position: relative !important;
    z-index: 1 !important;
}

/* Cyan dotted grid accent at bottom-left */
.home-about .wpb_single_image::before {
    content: '' !important;
    position: absolute !important;
    left: -24px !important;
    bottom: -24px !important;
    width: 140px !important;
    height: 140px !important;
    background-image: radial-gradient(rgba(11, 117, 156, 0.16) 2px, transparent 0) !important;
    background-size: 16px 16px !important;
    z-index: -1 !important;
    border-radius: 8px !important;
    pointer-events: none !important;
}

/* Orange dotted grid accent at top-right */
.home-about .wpb_single_image::after {
    content: '' !important;
    position: absolute !important;
    right: -20px !important;
    top: -20px !important;
    width: 100px !important;
    height: 100px !important;
    background-image: radial-gradient(rgba(255, 102, 0, 0.16) 2px, transparent 0) !important;
    background-size: 14px 14px !important;
    z-index: -1 !important;
    border-radius: 8px !important;
    pointer-events: none !important;
}

/* 3. Restructured Content Grid Blocks */
.dpf-tab-intro {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
    color: #334155 !important;
    font-weight: 500 !important;
    margin-bottom: 2rem !important;
    display: block !important;
    text-align: left !important;
}

.dpf-tab-features-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.25rem !important;
    margin-top: 1.5rem !important;
    width: 100% !important;
}

/* Premium micro-interactive feature cards */
.dpf-tab-feature-pill {
    background: #f8fafc !important;
    border: 1px solid rgba(11, 117, 156, 0.05) !important;
    border-radius: 20px !important;
    padding: 1.25rem !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.85rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dpf-tab-feature-pill:hover {
    background: #ffffff !important;
    border-color: rgba(11, 117, 156, 0.22) !important;
    box-shadow: 0 12px 30px rgba(11, 106, 142, 0.06) !important;
    transform: translateY(-3px) !important;
}

/* Feature Check Icon Circle */
.dpf-tf-icon {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: rgba(11, 117, 156, 0.08) !important;
    color: #0b759c !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dpf-tab-feature-pill:hover .dpf-tf-icon {
    background: #0b759c !important;
    color: #ffffff !important;
    transform: scale(1.1) !important;
}

/* Text Wrapper */
.dpf-tf-text-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    flex: 1 1 auto !important;
    width: auto !important;
}

.dpf-tf-title {
    display: block !important;
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 0.35rem 0 !important;
    line-height: 1.3 !important;
}

.dpf-tf-desc {
    display: block !important;
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
    color: #64748b !important;
    margin: 0 !important;
}

/* --- 4. CUSTOM MOBILE ACCORDION --- */
.dpf-custom-accordion {
    display: none !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

.dpf-custom-accordion-item {
    border-radius: 18px !important;
    background: #f1f5f9 !important;
    border: 1px solid rgba(15, 23, 42, 0.05) !important;
    overflow: hidden !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dpf-custom-accordion-item.active {
    background: #ffffff !important;
    border-color: rgba(11, 117, 156, 0.08) !important;
    box-shadow: 0 10px 30px rgba(11, 106, 142, 0.03) !important;
}

.dpf-custom-accordion-header {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 1.1rem 1.5rem !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    text-align: left !important;
    box-shadow: none !important;
}

.dpf-acc-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.dpf-custom-accordion-item.active .dpf-custom-accordion-header {
    color: #0b759c !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.03) !important;
}

.dpf-custom-accordion-header:hover {
    color: #0b759c !important;
}

.dpf-acc-arrow {
    font-size: 0.8rem !important;
    transition: transform 0.3s ease !important;
    color: #94a3b8 !important;
}

.dpf-custom-accordion-item.active .dpf-acc-arrow {
    transform: rotate(180deg) !important;
    color: #0b759c !important;
}

.dpf-custom-accordion-content {
    display: none !important;
    padding: 1.75rem !important;
}

.dpf-custom-accordion-item.active .dpf-custom-accordion-content {
    display: block !important;
    animation: dpfAccSlideDown 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes dpfAccSlideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- 5. CENTERED READ MORE BUTTON --- */
.dpf-about-btn-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 2.5rem !important;
}

.dpf-about-btn,
.home-about-btn {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0b6a8e 0%, #0b759c 100%) !important;
    padding: 0.75rem 2.2rem !important;
    border-radius: 30px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    box-shadow: 0 4px 12px rgba(11, 117, 156, 0.15) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: none !important;
}

.dpf-about-btn .dpf-custom-btn-arrow,
.home-about-btn .dpf-custom-btn-arrow {
    transition: transform 0.3s ease !important;
}

.dpf-about-btn:hover,
.home-about-btn:hover {
    background: linear-gradient(135deg, #0b759c 0%, #0ea5e9 100%) !important;
    box-shadow: 0 6px 20px rgba(11, 117, 156, 0.25) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

.dpf-about-btn:hover .dpf-custom-btn-arrow,
.home-about-btn:hover .dpf-custom-btn-arrow {
    transform: translateX(4px) !important;
}

/* --- 6. TABLET & MOBILE RESPONSIVE TOGGLES --- */
@media (min-width: 992px) {
    .dpf-custom-tab-nav {
        display: flex !important;
    }
    .dpf-custom-tab-content-wrap {
        display: block !important;
    }
    .dpf-custom-accordion {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .dpf-custom-tab-nav {
        display: none !important;
    }
    .dpf-custom-tab-content-wrap {
        display: none !important;
    }
    .dpf-custom-accordion {
        display: flex !important;
    }
    .dpf-tab-features-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}

/* --- 7. HOME ABOUT BUTTON CUSTOMIZER overrides --- */
.home-about-btn {
    width: 10% !important;
    min-width: fit-content !important;
    margin: auto !important;
    margin-top: 35px !important;
}

/* --- 8. BOTTOM BAR QUICK INQUIRY BUTTON VISIBILITY --- */
.bottom-bar .dpf-card-btn {
    background: #ffffff !important;
    color: #0c759a !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

.bottom-bar .dpf-card-btn:hover {
    background: #f8f9fa !important;
    color: #0a5f7d !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

/* --- 9. BOTTOM BAR ALIGNMENT & SPACING --- */
.bottom-bar .vc_inner.vc_row-fluid {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.bottom-bar .vc_inner.vc_row-fluid > .wpb_column {
    margin-bottom: 0 !important;
}

/* Ensure the button is right-aligned on desktop */
.bottom-bar .right.wpb_column {
    display: flex !important;
    justify-content: flex-end !important;
}

/* Add some spacing for mobile if it stacks */
@media (max-width: 767px) {
    .bottom-bar .right.wpb_column {
        justify-content: center !important;
        margin-top: 1.5rem !important;
    }
    .bottom-bar .vc_inner.vc_row-fluid {
        flex-direction: column !important;
        text-align: center !important;
    }
}

/* --- 10. LATEST UI PREMIUM FOOTER (LIGHT THEME) --- */

/* Footer Main Container */
#footer {
    background: #ffffff !important;
    border-top: 1px solid rgba(12, 117, 154, 0.1) !important;
    padding-top: 80px !important;
    padding-bottom: 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Remove ALL legacy dt-the7 borders and pseudo-element dividers */
#footer .wf-cell,
#footer .widget {
    border: none !important;
    border-right: none !important;
}
#footer .wf-cell::after,
#footer .wf-cell::before,
#footer .widget::after,
#footer .widget::before {
    display: none !important;
    content: none !important;
}

/* Footer Widget Titles */
#footer .widget-title,
#footer h2.widget-title {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 2.5rem !important;
    letter-spacing: -0.02em !important;
    display: inline-block !important;
    background: linear-gradient(135deg, #0f172a 0%, #0c759a 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Footer Paragraphs (Logo Column) */
#footer .footer-para p {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: #475569 !important;
    margin-bottom: 2rem !important;
}

#footer .Footer-img {
    margin-bottom: 1.5rem !important;
}

/* --- Products Nav Menu --- */
#footer .menu-footer-product-menu-container ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

#footer .menu-footer-product-menu-container ul li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* HIDE old theme arrows to fix layout */
#footer .widget_nav_menu ul li::before,
#footer .menu-footer-product-menu-container ul li::before,
#footer .menu-footer-product-menu-container ul li a i {
    display: none !important;
    content: none !important;
}

#footer .menu-footer-product-menu-container ul li a {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #334155 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 20px !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid rgba(15, 23, 42, 0.03) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* New Modern Inner Arrow */
#footer .menu-footer-product-menu-container ul li a::after {
    content: '\f061' !important; /* FontAwesome right arrow */
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    font-size: 0.85rem !important;
    color: #0c759a !important;
    opacity: 0 !important;
    transform: translateX(-10px) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#footer .menu-footer-product-menu-container ul li a:hover {
    color: #0c759a !important;
    background: #ffffff !important;
    border-color: rgba(12, 117, 154, 0.2) !important;
    box-shadow: 0 10px 25px rgba(12, 117, 154, 0.08) !important;
    transform: translateX(6px) !important;
}

#footer .menu-footer-product-menu-container ul li a:hover::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
}


/* --- Contact Info List --- */
#footer .footer-contact-info {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

#footer .footer-contact-info li {
    margin: 0 !important;
}

/* Modern Layout for Icon + Text */
#footer .footer-contact-info li > div {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    padding: 8px 0 !important; /* Clean transparent background look */
    background: transparent !important;
    border: none !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#footer .footer-contact-info li > div:hover {
    transform: translateX(6px) !important;
}

/* Hide empty P tags generated by WPBakery */
#footer .footer-contact-info p:empty {
    display: none !important;
}

/* Contact Icons (Floating Premium) */
#footer .footer-contact-info li i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background: linear-gradient(135deg, #0c759a 0%, #0ea5e9 100%) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    font-size: 1.25rem !important;
    flex-shrink: 0 !important;
    box-shadow: 0 8px 20px rgba(12, 117, 154, 0.25) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#footer .footer-contact-info li > div:hover i {
    transform: scale(1.1) rotate(-5deg) !important;
    box-shadow: 0 12px 25px rgba(12, 117, 154, 0.35) !important;
}

/* Contact Text Details */
#footer .Footer-detail {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

#footer .Footer-detail b {
    display: block !important;
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 0.25rem !important;
}

#footer .Footer-detail a {
    color: #0c759a !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

#footer .Footer-detail a:hover {
    color: #ff6600 !important;
}

/* --- Social Media Icons (Below Logo) --- */
#footer .social-media-div {
    display: flex !important;
    gap: 16px !important;
    margin-top: 2rem !important;
}

#footer .social-media-div a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: #f1f5f9 !important;
    color: #0c759a !important; /* Visible Brand Blue */
    border-radius: 12px !important;
    font-size: 1.2rem !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    border: 1px solid rgba(12, 117, 154, 0.1) !important;
}

#footer .social-media-div a:hover {
    background: linear-gradient(135deg, #0c759a 0%, #0ea5e9 100%) !important;
    color: #ffffff !important;
    transform: translateY(-5px) scale(1.05) !important;
    box-shadow: 0 10px 25px rgba(12, 117, 154, 0.3) !important;
    border-color: transparent !important;
}

/* Fix Bottom Gap */
html, body { padding-bottom: 0 !important; margin-bottom: 0 !important; }
#page, .page-inner, #main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.bottom-bar { margin-bottom: 0 !important; }

/* ════════════════════════════════════════════════════════════════════════
   POPUP MAKER & CUSTOM DPF CONTACT FORM STYLE OVERRIDES
   ════════════════════════════════════════════════════════════════════════ */
.pum-container {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
}

.dpf-contact-form-container {
    padding: 0 !important;
}

.dpf-contact-form-title {
    margin: 0 !important;
}

.ip-form-wrapper {
    margin: 0 !important;
}

body #page #footer.footer, 
html body #footer {
    padding-bottom: 0 !important;
}

/* Make main menu highly responsive across all devices to prevent wrapping */
#main-nav, .main-nav, .dt-menu {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}
#main-nav .menu-item a, 
.dt-menu > li > a,
#primary-menu > li > a {
    padding-left: clamp(4px, 0.8vw, 15px) !important;
    padding-right: clamp(4px, 0.8vw, 15px) !important;
    font-size: clamp(12px, 1.05vw, 16px) !important;
    letter-spacing: normal !important;
}

@media screen and (min-width: 992px) and (max-width: 1350px) {
    #main-nav .menu-item a, 
    .dt-menu > li > a,
    #primary-menu > li > a {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 13px !important;
    }
    .dt-menu > li {
        margin: 0 2px !important;
    }
    .masthead-wrap .logo-container img {
        max-width: 130px !important; /* shrink logo slightly on smaller laptops */
        height: auto !important;
    }
}

/* Fix GTranslate floating widget overlapping with slider buttons and move to right */
.gtranslate_wrapper, .gt_float_switcher, #gtranslate_wrapper, div[id^="gtranslate"] {
    bottom: 120px !important;
    right: 20px !important;
    left: auto !important;
    z-index: 99999 !important;
}

/* Prevent Quick Inquiry button from squishing and breaking text onto two lines */
.mini-widgets .btn,
.masthead-wrap .btn,
.masthead .mini-widgets {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
}

.mini-widgets .btn {
    padding: 10px 24px !important;
    border-radius: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: max-content !important;
}

/* ==========================================================================
   TESTIMONIALS REDESIGN TO MATCH APPROVED LAYOUT
   ========================================================================== */

/* Main Card Styling */
.testimonial-item {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04) !important;
    padding: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    border: none !important;
    transition: all 0.3s ease !important;
}
.testimonial-item:hover {
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-5px) !important;
}

/* Author Section (Header of card) */
.testimonial-author {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

/* Avatar Styling */
.testimonial-avatar {
    width: 120px !important;
    height: 120px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    margin: 0 !important; /* Reset The7 margins */
    padding: 0 !important; /* Reset The7 padding */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f8fafc !important; /* light grey for empty avatars */
}
.testimonial-avatar span,
.testimonial-avatar a {
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}
.testimonial-avatar img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}
.testimonial-avatar svg {
    width: 60px !important;
    height: 60px !important;
}

/* V-Card (Info on right of avatar) */
.testimonial-vcard {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.testimonial-name span {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    color: #1a202c !important; /* Dark slate */
    line-height: 1.2 !important;
}

/* Extended details container */
.testim-extended-details {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin-top: 4px !important;
}

/* Country Wrap */
.testim-country-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.testim-flag {
    width: 20px !important;
    height: 15px !important;
    border-radius: 2px !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
    object-fit: cover !important;
}

.testim-country {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    color: #4a5568 !important; /* Medium Grey */
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: capitalize !important;
}

/* Company */
.testim-company-name {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #0b759c !important; /* Brand Blue */
    line-height: 1.3 !important;
}

/* Stars */
.testim-stars {
    display: inline-flex !important;
    gap: 4px !important;
    color: #0b759c !important; /* Brand Blue */
    font-size: 0.85rem !important;
    margin-top: 2px !important;
}

/* Content Area (Body of card) */
.testimonial-content {
    border-top: 2px dashed #e2e8f0 !important;
    padding-top: 20px !important;
    position: relative !important;
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    text-align: left !important;
}

/* Quote Icons */
.testimonial-content::before {
    content: '\201C' !important; /* Left double quote */
    font-family: Georgia, serif !important;
    font-size: 4.5rem !important;
    color: rgba(11, 117, 156, 0.25) !important;
    position: absolute !important;
    top: 25px !important;
    left: -5px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.testimonial-content::after {
    content: '\201D' !important; /* Right double quote */
    font-family: Georgia, serif !important;
    font-size: 4.5rem !important;
    color: rgba(11, 117, 156, 0.25) !important;
    position: absolute !important;
    bottom: -15px !important;
    right: 0px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

/* Remove default dt-the7 padding/margins on content text to fit our quotes */
.testimonial-content p {
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    padding: 0 25px !important;
}

/* Ensure cards stretch in carousel and have same size */
.testimonial-item {
    height: 100% !important;
}

/* Truncate testimonial text elegantly and robustly */
.testimonial-content {
    position: relative !important;
    max-height: 105px !important; /* Approx 4 lines of text */
    overflow: hidden !important;
    margin-bottom: 5px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
}
/* Force inner blocks to be inline so line-clamp spans across paragraphs */
.testimonial-content * {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}
.testimonial-content::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 40px !important;
    background: linear-gradient(transparent, #ffffff) !important;
    pointer-events: none !important;
}

/* Read More Button inside card */
.testim-read-more {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: #0b759c !important;
    margin-top: 15px !important;
    margin-left: 25px !important; /* Align with text padding */
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    position: relative !important;
    z-index: 2 !important;
    text-decoration: none !important;
}
.testim-read-more:hover {
    color: #0f172a !important;
}
.testim-read-more i {
    font-size: 0.75rem !important;
    transition: transform 0.3s ease !important;
}
.testim-read-more:hover i {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   TESTIMONIAL MODAL POPUP
   ========================================================================== */
.dpf-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(15, 23, 42, 0.7) !important;
    backdrop-filter: blur(8px) !important; /* Premium glassmorphism */
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999999 !important;
    display: none; /* Handled by JS */
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
}

.dpf-modal-box {
    background: #ffffff !important;
    border-radius: 24px !important;
    width: 100% !important;
    max-width: 600px !important;
    padding: 40px !important;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.2) !important;
    position: relative !important;
    max-height: 70vh !important; /* Reduced to 70vh to ensure close icon is always visible on screen */
    margin: auto !important; /* Fallback to keep it centered safely */
    overflow-y: auto !important;
    transform: translateY(20px);
    animation: dpfModalFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes dpfModalFade {
    to { transform: translateY(0); }
}

.dpf-modal-close {
    position: absolute !important;
    top: 20px !important;
    right: 25px !important;
    font-size: 2rem !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: color 0.3s ease !important;
}
.dpf-modal-close:hover {
    color: #ef4444 !important; /* Red hover */
}

/* Ensure modal contents use same premium styling */
.dpf-modal-box .testimonial-author {
    margin-bottom: 25px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}
.dpf-modal-box .testimonial-content p,
.dpf-modal-text p {
    -webkit-line-clamp: unset !important; /* Remove truncation for full text */
    display: block !important;
    padding: 0 !important; /* Remove padding */
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: #334155 !important;
}

/* ==========================================================================
   WPBAKERY TESTIMONIAL HEADER & FOOTER BOX
   ========================================================================== */

/* Header */
.ffs-testim-header-block {
    text-align: center !important;
    margin-bottom: 40px !important;
}
.ffs-testim-title {
    font-family: 'Outfit', 'Poppins', sans-serif !important;
    font-size: 3.2rem !important;
    font-weight: 800 !important;
    color: #0f172a !important; /* Dark Navy */
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 5px !important;
    line-height: 1.1 !important;
}
.ffs-testim-subtitle {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    color: #64748b !important; /* Soft Slate */
    margin: 0 !important;
}

/* Footer Box */
.ffs-testim-footer-wrap {
    display: flex !important;
    justify-content: center !important;
    margin-top: 40px !important;
    width: 100% !important;
}
.ffs-testim-footer-box {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #f8fafc !important; /* Very light slate/blue */
    border: 1px solid #e2e8f0 !important;
    padding: 16px 32px !important;
    border-radius: 50px !important; /* Pill shape */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}
.ffs-testim-footer-box i {
    font-size: 1.5rem !important;
    color: #0b759c !important; /* Brand Blue */
}
.ffs-testim-footer-box span {
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 1.05rem !important;
    color: #4a5568 !important; /* Medium Grey */
    font-weight: 400 !important;
}
.ffs-testim-footer-box strong {
    color: #0b759c !important; /* Brand Blue */
    font-weight: 700 !important;
}

@media (max-width: 768px) {
    .ffs-testim-title { font-size: 2.2rem !important; }
    .ffs-testim-subtitle { font-size: 1rem !important; }
    .ffs-testim-footer-box { padding: 12px 20px !important; }
    .ffs-testim-footer-box span { font-size: 0.95rem !important; }
}

/* Ensure Owl Carousel items have equal height */
.testimonials-carousel-shortcode .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}
.testimonials-carousel-shortcode .owl-item {
    display: flex !important;
    flex: 1 0 auto !important;
}

/* ==========================================================================
   CONTACT INFO ALIGNMENT FIX (WPautop empty p tags)
   ========================================================================== */
ul.footer-contact-info {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
ul.footer-contact-info li {
    margin-bottom: 20px !important;
}
ul.footer-contact-info li > div,
ul.footer-contact-info li > div.phn-num {
    display: flex !important;
    align-items: flex-start !important;
}
ul.footer-contact-info li i {
    flex-shrink: 0 !important;
    margin-top: 5px !important;
    margin-right: 15px !important;
    font-size: 20px !important;
    color: #0b759c !important; /* Brand Blue */
}
/* WordPress injects empty p tags that break layout */
ul.footer-contact-info li p:empty {
    display: none !important;
}
ul.footer-contact-info li .Footer-detail {
    margin: 0 !important;
    flex: 1 !important;
    font-family: 'Poppins', 'Inter', sans-serif !important;
    font-size: 0.95rem !important;
    color: #4a5568 !important;
    line-height: 1.5 !important;
}
ul.footer-contact-info li .Footer-detail b {
    display: block !important;
    text-transform: uppercase !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 4px !important;
    color: #0f172a !important;
}
ul.footer-contact-info li .Footer-detail a {
    text-decoration: none !important;
    color: inherit !important;
    transition: color 0.3s ease !important;
}
ul.footer-contact-info li .Footer-detail a:hover {
    color: #0b759c !important;
}

/* === infopixal-about-section === */
/* InfoPixal About Section Styles */

.ip-about-section {
    padding: 60px 0;
    font-family: inherit;
}

.ip-about-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
}

.ip-about-mobile-title {
    display: none;
    width: 100%;
}

/* Left Column: Images */
.ip-about-images {
    flex: 1;
    min-width: 300px;
    position: relative;
    padding-bottom: 40px; /* Space for the overlapping image */
    padding-right: 40px;
}

/* Dots Background */
.ip-dots-bg {
    position: absolute;
    top: -20px;
    bottom: -20px;
    left: -20px;
    right: 20px;
    background-image: radial-gradient(#0c759a 2px, transparent 2px);
    background-size: 20px 20px;
    opacity: 0.15;
    z-index: 0;
    border-radius: 20px;
}

/* Main Image */
.ip-main-img-wrapper {
    position: relative;
    z-index: 1;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border: 2px solid #0c759a;
}

.ip-main-img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Overlay Image */
.ip-overlay-img {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 250px;
    height: 250px;
    object-fit: cover;
    border-radius: 20px;
    border: 8px solid #ffffff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    z-index: 2;
}

/* Right Column: Content */
.ip-about-content {
    flex: 1;
    min-width: 300px;
}

.ip-about-subtitle-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.ip-subtitle-line {
    width: 30px;
    height: 3px;
    background-color: #f37021;
    margin-right: 15px;
}

.ip-about-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: #0c759a;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ip-about-heading {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 25px;
}

.ip-about-para {
    font-size: 16px;
    line-height: 1.8;
    color: #64748b;
    margin-bottom: 20px;
}

.ip-about-btn-wrap {
    margin-top: 30px;
}

.ip-about-btn {
    display: inline-block;
    background-color: #0c759a;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 35px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid #0c759a;
}

.ip-about-btn:hover {
    background-color: transparent;
    color: #0c759a !important;
}

/* Responsive */
@media (max-width: 991px) {
    .ip-about-heading {
        font-size: 32px;
    }
    .ip-overlay-img {
        width: 180px;
        height: 180px;
    }
}

@media (max-width: 767px) {
    .ip-about-section {
        padding: 30px 0;
    }
    .ip-about-container {
        flex-direction: column;
        gap: 20px;
    }
    .ip-about-mobile-title {
        display: block;
        margin-bottom: 5px;
    }
    .ip-about-desktop-title {
        display: none;
    }
    .ip-about-images {
        padding-right: 20px;
        margin-bottom: 0px;
    }
    .ip-overlay-img {
        width: 130px;
        height: 130px;
        right: -10px;
        bottom: -15px;
    }
    .ip-about-heading {
        font-size: 26px;
        margin-bottom: 15px;
    }
    .ip-about-para {
        font-size: 14px;
        margin-bottom: 15px;
    }
    .ip-about-btn-wrap {
        margin-top: 15px;
    }
}


/* === infopixal-advantage-section === */
/* InfoPixal Advantage Section Styles */

.ip-advantage-section {
    padding: 80px 0;
    font-family: inherit;
    background-color: #0f6b8a; /* Dark teal/blue background */
    width: 100vw;
    margin-left: -50vw;
    left: 50%;
    right: 50%;
    position: relative;
}

.ip-advantage-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.ip-advantage-header {
    text-align: center;
    margin-bottom: 50px;
}

.ip-advantage-subtitle {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #a3c9d6; /* Lightened blue for subtitle */
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.ip-advantage-heading {
    font-size: 40px;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
}

/* Grid Layout */
.ip-advantage-grid {
    display: grid;
    gap: 30px;
}

/* Advantage Card */
.ip-advantage-card {
    background-color: #1a7a9a; /* Slightly lighter box background */
    border-radius: 15px;
    padding: 30px;
    display: flex;
    align-items: center; /* Vertically center icon and text */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ip-advantage-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

/* Icon Wrapper */
.ip-advantage-icon-wrapper {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    margin-right: 25px;
}

.ip-advantage-icon {
    width: 45px;
    height: 45px;
    object-fit: contain;
}

/* Content */
.ip-advantage-content {
    flex-grow: 1;
    border-left: 1px solid rgba(255, 255, 255, 0.2); /* Faint vertical divider line */
    padding-left: 25px;
}

.ip-advantage-title {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 10px 0;
}

.ip-advantage-desc {
    font-size: 14px;
    color: #d1e5ec; /* Light faint text */
    line-height: 1.6;
    margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
    .ip-advantage-card {
        padding: 25px;
    }
    .ip-advantage-icon-wrapper {
        width: 60px;
        height: 60px;
        margin-right: 20px;
    }
    .ip-advantage-icon {
        width: 35px;
        height: 35px;
    }
    .ip-advantage-content {
        padding-left: 20px;
    }
}

@media (max-width: 767px) {
    .ip-advantage-section {
        padding: 40px 0;
    }
    .ip-advantage-header {
        margin-bottom: 30px;
    }
    .ip-advantage-heading {
        font-size: 30px;
    }
    .ip-advantage-grid {
        gap: 20px;
    }
    .ip-advantage-card {
        flex-direction: column;
        text-align: center;
        padding: 25px 20px;
    }
    .ip-advantage-icon-wrapper {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .ip-advantage-content {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        padding-top: 20px;
    }
}


/* === infopixal-counter-section === */
/* InfoPixal Counter Section Styles */

.ip-counter-section {
    padding: 60px 0;
    font-family: inherit;
    background-color: #ffffff;
}

.ip-counter-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Grid Layout */
.ip-counter-grid {
    display: grid;
    gap: 30px;
}

/* Counter Item */
.ip-counter-item {
    text-align: center;
    padding: 20px 0;
}

.ip-counter-value {
    font-size: 55px;
    font-weight: 500;
    color: #0c759a; /* Brand blue */
    line-height: 1;
    margin-bottom: 20px;
}

.ip-counter-divider {
    width: 100%;
    height: 1px;
    background-color: #e5e7eb; /* Light grey divider */
    margin: 0 auto 20px auto;
}

.ip-counter-label {
    font-size: 16px;
    color: #4b5563; /* Slate grey text */
    font-weight: 400;
}

/* Responsive */
@media (max-width: 991px) {
    .ip-counter-value {
        font-size: 45px;
    }
}

@media (max-width: 767px) {
    .ip-counter-section {
        padding: 40px 0;
    }
    .ip-counter-grid {
        gap: 20px;
    }
    .ip-counter-value {
        font-size: 40px;
        margin-bottom: 15px;
    }
    .ip-counter-divider {
        margin-bottom: 15px;
    }
    .ip-counter-label {
        font-size: 14px;
    }
}


/* === infopixal-cta-section === */
/* InfoPixal CTA Banner Styles */

.ip-cta-section-wrapper {
    background-color: #1a7e9c; /* Blue color matching the design */
    padding: 60px 0;
    font-family: inherit;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.ip-cta-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

/* Left Content Area */
.ip-cta-content-left {
    flex: 1;
}

.ip-cta-heading {
    color: #ffffff;
    font-size: 36px;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.2;
}

.ip-cta-description {
    color: #f1f5f9;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    max-width: 800px;
}

/* Right Content Area (Button) */
.ip-cta-content-right {
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.ip-cta-btn {
    display: inline-block;
    background-color: #f1f5f9;
    color: #1a7e9c;
    padding: 15px 40px;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.ip-cta-btn:hover {
    background-color: #ffffff;
    color: #0c657a;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* 
 * Mobile Responsive Layout 
 * Stacking elements vertically and centering them
 */
@media (max-width: 991px) {
    .ip-cta-section-wrapper {
        padding: 50px 0;
    }
    
    .ip-cta-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .ip-cta-heading {
        font-size: 32px;
    }

    .ip-cta-description {
        margin: 0 auto;
    }

    .ip-cta-content-right {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .ip-cta-section-wrapper {
        padding: 40px 0;
    }
    
    .ip-cta-heading {
        font-size: 28px;
    }

    .ip-cta-description {
        font-size: 15px;
    }
}


/* === infopixal-featured-videos-section === */
/* InfoPixal Featured Videos Styles */

.ip-featured-videos-section {
    padding: 60px 0;
    font-family: inherit;
    background-color: #f8fafc; /* very light background as seen in design */
}

.ip-fvs-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}

.ip-fvs-heading {
    font-size: 36px;
    font-weight: 800;
    color: #4b5563; /* Slate grey */
    margin-bottom: 40px;
}

/* Grid Layout */
.ip-fvs-grid {
    display: grid;
    gap: 20px;
    margin-bottom: 40px;
}

/* Card Styling */
.ip-fvs-card {
    background: #000;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.ip-fvs-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

/* Thumbnail wrapper */
.ip-fvs-thumbnail {
    position: relative;
    width: 100%;
    /* They asked for "height small" - 3/4 or 4/5 is good portrait size. Let's make it fixed proportion */
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.ip-fvs-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    transition: transform 0.4s ease;
}

.ip-fvs-card:hover .ip-fvs-img {
    transform: scale(1.05);
}

/* Play Button Overlay */
.ip-fvs-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease;
}

.ip-fvs-card:hover .ip-fvs-overlay {
    background: rgba(0,0,0,0.4);
}

.ip-fvs-play-btn {
    transition: transform 0.3s ease;
}

.ip-fvs-card:hover .ip-fvs-play-btn {
    transform: scale(1.1);
}

/* Title Bar at Top of Video */
.ip-fvs-title-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 15px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    display: flex;
    align-items: center;
    gap: 10px;
}

.ip-fvs-title-text {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Button */
.ip-fvs-btn-wrapper {
    margin-top: 20px;
}

.ip-fvs-btn {
    display: inline-block;
    padding: 12px 30px;
    border: 2px solid #0c759a;
    border-radius: 30px;
    color: #0c759a;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
}

.ip-fvs-btn:hover {
    background-color: #0c759a;
    color: #ffffff;
}

/* Responsive */
@media (max-width: 991px) {
    .ip-fvs-heading {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .ip-featured-videos-section {
        padding: 40px 0;
    }
    .ip-fvs-heading {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .ip-fvs-grid {
        gap: 15px;
    }
    .ip-fvs-thumbnail {
        aspect-ratio: 1 / 1; /* Slightly squarer on mobile so they don't take too much height as requested */
    }
}


/* === infopixal-products-section === */
/* InfoPixal Products Section Styles */

.ip-products-section {
    padding: 80px 0;
    font-family: inherit;
    background-color: #f0f7f9; /* Very light blue background */
    width: 100vw;
    margin-left: -50vw;
    left: 50%;
    right: 50%;
    position: relative;
}

.ip-products-container {
    max-width: 1400px; /* Wider for 4 columns */
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.ip-products-header {
    text-align: center;
    margin-bottom: 50px;
}

.ip-products-subtitle {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #0c759a;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.ip-products-heading {
    font-size: 40px;
    font-weight: 800;
    color: #334155;
    margin: 0;
    text-transform: uppercase;
}

/* Grid Layout */
.ip-products-grid {
    display: grid;
    gap: 20px;
}

/* Product Card */
.ip-product-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 20px 40px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.ip-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.1);
}

/* Background Number */
.ip-product-number {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 80px;
    font-weight: 900;
    color: #cbd5e1; /* Slate 300 */
    line-height: 1;
    z-index: 2;
    user-select: none;
    pointer-events: none;
    opacity: 0.5;
}

/* Image */
.ip-product-image-wrap {
    position: relative;
    z-index: 1;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.ip-product-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Content */
.ip-product-content {
    position: relative;
    z-index: 3; /* Increased z-index to stay above the number */
    text-align: center;
    flex-grow: 1;
}

.ip-product-title {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 20px 0;
}

/* Features List */
.ip-product-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    text-align: left;
}

.ip-product-features li {
    font-size: 13px;
    color: #475569;
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    line-height: 1.4;
}

.ip-product-features li:last-child {
    margin-bottom: 0;
}

.ip-check-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    background-color: #0c759a; /* Brand blue circle */
    border-radius: 50%;
    color: #ffffff; /* White checkmark */
    margin-right: 12px;
    flex-shrink: 0;
    margin-top: 1px;
}

.ip-check-icon svg {
    width: 10px;
    height: 10px;
}

/* Button */
.ip-product-btn-wrap {
    text-align: center;
    margin-top: auto; /* Pushes button to bottom */
    position: relative;
    z-index: 3;
}

.ip-product-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #0c759a;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 600;
    padding: 5px 20px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid #0c759a;
}

.ip-product-btn:hover {
    background-color: transparent;
    color: #0c759a !important;
}

/* Responsive */
@media (max-width: 1199px) {
    /* Tablet specific overrides if needed */
}

@media (max-width: 767px) {
    .ip-products-section {
        padding: 30px 0;
    }
    .ip-products-header {
        margin-bottom: 25px;
    }
    .ip-products-grid {
        gap: 15px;
    }
    .ip-products-heading {
        font-size: 24px;
    }
    .ip-product-card {
        padding: 20px 15px;
        border-radius: 15px;
    }
    .ip-product-number {
        font-size: 50px;
        top: 10px;
        right: 10px;
    }
    .ip-product-image-wrap {
        height: 120px;
        margin-bottom: 15px;
    }
    .ip-product-title {
        font-size: 16px;
        margin-bottom: 15px;
    }
    .ip-product-features li {
        font-size: 11px;
        margin-bottom: 8px;
    }
    .ip-check-icon {
        width: 14px;
        height: 14px;
        margin-right: 6px;
    }
    .ip-check-icon svg {
        width: 8px;
        height: 8px;
    }
    .ip-product-btn {
        padding: 5px 12px;
        font-size: 11px;
    }
}

/* Fix footer contact info gap */
html body #page #footer ul.footer-contact-info,
#footer .footer-contact-info,
html body .wf-wrap #footer .footer-contact-info {
    gap: 0 !important;
}

/* Force disable all WPBakery and theme animations to fix blank half-page and conflicts */
.wpb_animate_when_almost_visible,
.wpb_start_animation {
    opacity: 1 !important;
    animation: none !important;
    -webkit-animation: none !important;
}

.layzr-bg, .layzr-loading {
    opacity: 1 !important;
}

