/*
Theme Name: Bharat AI Marketing
Author: gohelkunjan
Author URI: https://profiles.wordpress.org/gohelkunjan/
Description: A high-conversion, futuristic Block Theme designed for AI SaaS, digital marketing agencies, and technology startups. Features dark mode aesthetics, glassmorphism effects, a data-rich dashboard hero, and conversion-optimized patterns. Fully compatible with the Bharat AI Marketing Pro Addon companion plugin to unlock premium global styling variations (Luxury Gold, Neon Cyberpunk, Midnight Emerald, Slate Tech) and interactive FSE block elements.
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bharat-ai-marketing
Tags: blog, one-column, custom-colors, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks

Bharat AI Marketing WordPress Theme, (C) 2026 gohelkunjan.
Bharat AI Marketing is distributed under the terms of the GNU GPL.

Copyright (C) 2026 gohelkunjan
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ===================================
   DESIGN SYSTEM UTILITIES
   =================================== */

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
}

/* --- Glassmorphism Card --- */
.bharat-glass {
    background: rgba(255, 255, 255, 0.02) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden !important;
}

.bharat-glass:hover {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent);
}

/* --- Gradient Headline Text --- */
.bharat-gradient-text {
    background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--secondary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 15px color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent));
}

/* --- Premium Scrollbar --- */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #050B14;
}

::-webkit-scrollbar-thumb {
    background: #1F2937;
    border-radius: 5px;
    border: 2px solid #050B14;
}

::-webkit-scrollbar-thumb:hover {
    background: #374151;
}

.bharat-main-inner {
    padding-top: 8.5rem !important;
    padding-bottom: 4rem !important;
}

.bharat-main-inner .wp-block-post-title,
.bharat-main-inner .wp-block-heading {
    margin-bottom: 1.5rem !important;
}

/* --- Hero Background Ambience --- */
.bharat-hero-bg {
    position: relative;
    overflow: hidden;
}

.bharat-hero-bg::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -15%;
    width: 55%;
    height: 55%;
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--secondary) 15%, transparent) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.bharat-hero-bg::after {
    content: '';
    position: absolute;
    bottom: -30%;
    right: -15%;
    width: 50%;
    height: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.bharat-hero-bg>* {
    position: relative;
    z-index: 1;
}

/* --- Pill Badge --- */
.bharat-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent);
    border-radius: 9999px;
    color: var(--wp--preset--color--primary);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
}

/* --- Mockup Window (CSS-only Dashboard) --- */
.bharat-mockup-window {
    background: linear-gradient(180deg, #111827 0%, #060d18 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6), 0 0 50px rgba(0, 242, 255, 0.08);
    overflow: hidden;
}

.bharat-mockup-header {
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    padding: 12px 16px;
    display: flex;
    gap: 8px;
}

.bharat-mockup-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #374151;
}

.bharat-mockup-dot:nth-child(1) {
    background: #EF4444;
}

.bharat-mockup-dot:nth-child(2) {
    background: #F59E0B;
}

.bharat-mockup-dot:nth-child(3) {
    background: #10B981;
}

.bharat-mockup-content {
    padding: 2rem;
}

/* --- Icon Box --- */
.bharat-icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    margin-bottom: 1.25rem;
    flex-shrink: 0;
}

/* --- Testimonial Stars --- */
.bharat-stars {
    color: #F59E0B;
    font-size: 1.25rem;
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

/* --- Buttons --- */
.wp-block-button__link {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent);
}

.is-style-outline .wp-block-button__link:hover {
    box-shadow: none;
    background: rgba(255, 255, 255, 0.04);
}

/* --- Global Section Padding & Margin Normalization --- */
/* Enforce extremely consistent and balanced vertical spacing across all sections of the site,
   eliminating double-padding gaps between consecutive dark has-background blocks */
.wp-block-group.alignfull.has-background {
    padding-top: clamp(2rem, 4vw, 3rem) !important;
    padding-bottom: clamp(2rem, 4vw, 3rem) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Clear vertical offsets for the Hero section so it can still clear the floating header */
.wp-block-group.alignfull.has-background.bharat-hero-bg {
    padding-top: 9rem !important;
}

/* --- Separator Line --- */
.bharat-separator {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent), transparent);
    margin: 0;
}

/* --- Stat Counter --- */
.bharat-stat-value {
    font-weight: 700;
    line-height: 1;
}

/* --- Glass Header --- */
.bharat-floating-header {
    position: fixed;
    top: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    width: min(95%, 1440px);
    background: color-mix(in srgb, var(--wp--preset--color--surface) 85%, transparent) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px;
    z-index: 1000;
    padding: 0.75rem 1.5rem !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.bharat-floating-header:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4), 0 0 20px color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
}

/* --- Global Custom Site Logo & Logo Wrapper Constraints --- */
.wp-block-site-logo,
.custom-logo-link {
    display: inline-flex !important;
    align-items: center !important;
    max-height: 36px !important;
    max-width: 150px !important;
    overflow: hidden !important;
    background: transparent !important;
    background-color: transparent !important;
}

.custom-logo,
.wp-block-site-logo img,
.wp-block-site-logo .custom-logo,
.wp-block-site-logo__image {
    max-height: 36px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Remove any accidental background colors, borders, or boxes on the logo+title parent group and all nested groups */
.bharat-floating-header .wp-block-group,
.bharat-floating-header .wp-block-group__inner-container,
.bharat-floating-header div:not(.bharat-floating-header):has(.wp-block-site-logo),
.bharat-floating-header div:not(.bharat-floating-header):has(.custom-logo-link) {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* --- Hero Background Ambience --- */
.bharat-hero-bg {
    position: relative;
    overflow: hidden;
    padding-top: 8rem !important;
    /* Extra padding for floating header */
}

.bharat-hero-bg::before {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    width: 60%;
    height: 60%;
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: pulse-slow 15s infinite alternate;
}

.bharat-hero-bg::after {
    content: '';
    position: absolute;
    bottom: -10%;
    right: -10%;
    width: 60%;
    height: 60%;
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--primary) 15%, transparent) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: pulse-slow 12s infinite alternate-reverse;
}

@keyframes pulse-slow {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(5%, 5%) scale(1.1);
    }
}

.bharat-hero-bg>* {
    position: relative;
    z-index: 1;
}

/* --- Pill Badge --- */
.bharat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent);
    border-radius: 9999px;
    color: var(--wp--preset--color--primary);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 2rem;
}

/* --- Mockup Window (CSS-only Dashboard) --- */
.bharat-mockup-window {
    background: linear-gradient(180deg, #101827 0%, #060d18 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    box-shadow: 0 40px 80px -12px rgba(0, 0, 0, 0.8), 0 0 60px color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent);
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bharat-mockup-window:hover {
    transform: perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-10px) !important;
}

.bharat-mockup-header {
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.bharat-mockup-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.bharat-mockup-dot:nth-child(1) {
    background: #FF5F57;
}

.bharat-mockup-dot:nth-child(2) {
    background: #FEBC2E;
}

.bharat-mockup-dot:nth-child(3) {
    background: #28C840;
}

.bharat-mockup-content {
    padding: 2.5rem;
}

.bharat-mockup-stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
}

/* --- Icon Box --- */
.bharat-icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    margin-bottom: 1.25rem;
    flex-shrink: 0;
}

/* --- Testimonial Stars --- */
.bharat-stars {
    color: #F59E0B;
    font-size: 1.25rem;
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

/* --- Buttons --- */
.wp-block-button__link {
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.wp-block-button__link:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 30px color-mix(in srgb, var(--wp--preset--color--primary) 35%, transparent);
}

.is-style-outline .wp-block-button__link {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: transparent !important;
    color: #F3F4F6 !important;
}

.is-style-outline .wp-block-button__link:hover {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    box-shadow: none;
}

/* --- Separator Line --- */
.bharat-separator {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 242, 255, 0.3), transparent);
    margin: 0;
}

/* --- Stat Counter --- */
.bharat-stat-value {
    font-weight: 700;
    line-height: 1;
}

/* --- Header Alignment (Deprecated by Floating) --- */
.bharat-header {
    width: 100%;
}

/* --- Mobile Navigation Overlay (Dark Theme) --- */
.wp-block-navigation__responsive-container.is-menu-open {
    background-color: #050B14 !important;
    color: #F3F4F6 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
    color: #F3F4F6 !important;
    font-size: 1.25rem;
    padding: 1rem 0;
    font-weight: 600;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover {
    color: var(--wp--preset--color--primary) !important;
}

.wp-block-navigation__responsive-container-open {
    color: #F3F4F6 !important;
}

/* --- Navigation Typography --- */
.wp-block-navigation .wp-block-navigation-item a {
    color: #9CA3AF;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: 500;
}

.wp-block-navigation .wp-block-navigation-item a:hover {
    color: #F3F4F6;
}

.wp-block-navigation .current-menu-item a {
    color: #F3F4F6 !important;
}

/* --- Responsive Adjustments --- */
@media (max-width: 782px) {
    .bharat-mockup-window {
        margin-top: 2rem;
    }

    .bharat-badge {
        font-size: 0.75rem;
    }
}

/* --- Pricing Card Button Alignment --- */
/* Make each pricing column a vertical flex container so the button always sits at the bottom */
.bharat-pricing-card {
    display: flex !important;
    flex-direction: column !important;
}

.bharat-pricing-card .wp-block-buttons {
    margin-top: auto !important;
    padding-top: 2rem;
}

/* --- Navigation & Overlay Fixes --- */

/* Hamburger toggle button */
.wp-block-navigation__responsive-container-open {
    padding: 6px !important;
    align-items: center;
    justify-content: center;
    color: var(--wp--preset--color--text) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    transition: color 0.3s ease, transform 0.2s ease;
}

.wp-block-navigation__responsive-container-open:hover {
    color: var(--wp--preset--color--primary) !important;
    transform: scale(1.1);
}

/* ===== PREMIUM MOBILE MENU OVERLAY ===== */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    background: radial-gradient(circle at top left, #0B1524 0%, #050B14 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    animation: bharat-menu-fadein 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes bharat-menu-fadein {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Close button - "X" icon */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: fixed !important;
    top: 1.5rem !important;
    right: 1.5rem !important;
    z-index: 1000001 !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    color: #F3F4F6 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    backdrop-filter: blur(10px);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
    background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    color: var(--wp--preset--color--primary) !important;
    transform: rotate(90deg) scale(1.05);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
    width: 24px !important;
    height: 24px !important;
    stroke-width: 2px !important;
}

/* Menu content container */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 500px !important;
    padding: 6rem 2rem 4rem !important;
    margin: 0 auto !important;
    gap: 0.5rem !important;
}

/* Individual menu links */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03) !important;
    list-style: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 1.25rem 0.5rem !important;
    color: #F3F4F6 !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    letter-spacing: -0.01em;
    transition: all 0.3s ease !important;
    position: relative;
    opacity: 0.9;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--primary) !important;
    padding-left: 1.25rem !important;
    opacity: 1;
}

/* Accent bar for main items only */
.wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__responsive-container-content > .wp-block-navigation-item > .wp-block-navigation-item__content::before {
    content: '';
    position: absolute;
    left: -1rem;
    top: 50%;
    transform: translateY(-50%) scaleY(0);
    width: 4px;
    height: 1.5rem;
    background: linear-gradient(to bottom, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
    border-radius: 2px;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__responsive-container-content > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::before {
    transform: translateY(-50%) scaleY(1);
}

/* ===== SUBMENU IMPROVEMENTS ===== */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    display: flex !important; /* Force show for now, but better to let WP handle is-open */
    flex-direction: column !important;
    width: 100% !important;
    padding: 0.5rem 0 1rem 1.5rem !important;
    margin: 0 !important;
    background: transparent !important;
    position: static !important;
    box-shadow: none !important;
    border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
    gap: 0.25rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border-bottom: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 1.0625rem !important;
    font-weight: 500 !important;
    color: #9CA3AF !important;
    padding: 0.75rem 0.5rem !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--primary) !important;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent) !important;
    border-radius: 8px;
    padding-left: 1rem !important;
}

/* Submenu bullet indicator */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
    content: '→';
    font-size: 0.8em;
    margin-right: 0.75rem;
    opacity: 0.4;
    transition: all 0.2s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before {
    opacity: 1;
    transform: translateX(3px);
}

/* Parent toggle */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    margin-left: auto;
    color: #4B5563 !important;
    transition: transform 0.3s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation-item__content:hover .wp-block-navigation-submenu__toggle {
    color: var(--wp--preset--color--primary) !important;
}



/* --- Comprehensive Responsive Fixes (iPad & Mobile) --- */
@media (max-width: 1024px) {
    .bharat-floating-header {
        width: calc(100% - 2rem);
        top: 0.75rem;
        border-radius: 8px;
        padding: 0.5rem 1rem !important;
        left: 50%;
        transform: translateX(-50%);
    }

    .bharat-main-inner,
    .bharat-hero-bg {
        padding-top: 5.5rem !important;
        padding-bottom: 3rem !important;
    }

    .bharat-footer {
        padding-left: 15px !important;
        padding-right: 15px !important;
        text-align: center;
    }

    /* 2 Column layout for Product and Company on mobile */
    .bharat-footer .wp-block-columns {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 2rem !important;
    }
    
    .bharat-footer .wp-block-column:nth-child(2),
    .bharat-footer .wp-block-column:nth-child(3) {
        flex-basis: calc(50% - 1rem) !important;
        width: calc(50% - 1rem) !important;
        text-align: left;
    }

    .bharat-footer .wp-block-column:nth-child(1),
    .bharat-footer .wp-block-column:nth-child(4) {
        flex-basis: 100% !important;
        width: 100% !important;
        text-align: center;
    }

    .bharat-footer-bottom {
        justify-content: center !important;
        text-align: center;
    }
    
    .bharat-social-icons {
        justify-content: center !important;
    }

    .bharat-mockup-stats {
        gap: 0.5rem;
        grid-template-columns: 1fr !important;
    }

    .bharat-mockup-stats > div {
        padding: 0.5rem !important;
    }

    .bharat-mockup-window {
        transform: none !important;
        margin-top: 2rem;
    }

    .bharat-gradient-text {
        font-size: 2.25rem !important;
    }

    .wp-block-buttons {
        justify-content: center !important;
    }

    .wp-block-button {
        width: 100%;
    }

    .wp-block-button__link {
        width: 100% !important;
        text-align: center;
    }

    /* Standardize columns */
    .wp-block-columns {
        gap: 2rem !important;
    }

    /* 15px Left/Right Padding constraint on all sections */
    .wp-block-group.alignfull > .alignwide,
    .wp-block-group.alignfull > .wp-block-group,
    .wp-block-group.alignfull > .wp-block-heading,
    .wp-block-group.alignfull > p {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Container Spacing for Mobile/iPad */
    .bharat-testimonials-grid,
    .bharat-team-grid {
        padding-left: 15px !important;
        padding-right: 15px !important;
        gap: 2rem !important;
    }

    .bharat-faq-wrapper details {
        margin: 8px 15px !important;
    }
}

/* --- Desktop Alignment Fix (1025px+) --- */
/* Ensures content sections have minimum horizontal padding so they never
   bleed to the viewport edge on medium-large screens (1025px – 1440px). */
@media (min-width: 1025px) {
    /* Constrained section inner content: mirror floating header side padding */
    .wp-block-group.alignfull > .alignwide,
    .wp-block-group.alignfull > .wp-block-columns,
    .wp-block-group.alignfull > .wp-block-heading,
    .wp-block-group.alignfull > p,
    .wp-block-group.alignfull > .wp-block-group:not(.alignfull):not(.alignwide) {
        padding-left: clamp(1.5rem, 3vw, 4rem);
        padding-right: clamp(1.5rem, 3vw, 4rem);
    }

    /* On very wide screens (>1440px) the clamp resolves to 4rem max.
       Reset padding for blocks that are already at or beyond the wide size
       so they don't get double-padded. */
    @media (min-width: 1440px) {
        .wp-block-group.alignfull > .alignwide,
        .wp-block-group.alignfull > .wp-block-columns {
            padding-left: 0;
            padding-right: 0;
        }
    }

    /* Hero background: increase top padding to clear the taller desktop header */
    .bharat-hero-bg {
        padding-top: 9rem !important;
    }

    /* Main inner pages top padding */
    .bharat-main-inner {
        padding-top: 9rem !important;
    }

    /* Footer: cap at wide size and add side padding for mid-range screens */
    .bharat-footer {
        padding-left: clamp(1.5rem, 3vw, 4rem) !important;
        padding-right: clamp(1.5rem, 3vw, 4rem) !important;
    }
}

/* --- Centering Logic for Desktop Footer --- */
.bharat-footer .alignwide,
.bharat-footer .bharat-footer-bottom {
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}


/* --- Scroll to Top Button --- */
#bharat-scroll-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 9999;
    pointer-events: none;
}

#bharat-scroll-top.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

#bharat-scroll-top:hover {
    box-shadow: 0 8px 32px color-mix(in srgb, var(--wp--preset--color--primary) 50%, transparent);
    transform: translateY(-3px);
}

#bharat-scroll-top svg {
    color: #FFFFFF;
    width: 20px;
    height: 20px;
}

/* --- Footer --- */
.bharat-footer {
    padding-left: max(var(--wp--preset--spacing--md), calc((100vw - 1280px) / 2)) !important;
    padding-right: max(var(--wp--preset--spacing--md), calc((100vw - 1280px) / 2)) !important;
}

.bharat-footer-divider {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
    margin: 2rem 0;
}

/* --- Premium Pagination Styling --- */
.wp-block-query-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-top: 4rem !important;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px;
    height: 44px;
    padding: 0 10px;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    color: #9CA3AF !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.wp-block-query-pagination a:hover {
    background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    color: var(--wp--preset--color--primary) !important;
    transform: translateY(-2px) !important;
}

.wp-block-query-pagination .current {
    background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary)) !important;
    border: none !important;
    color: var(--wp--preset--color--base) !important;
    box-shadow: 0 4px 15px color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent) !important;
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

.wp-block-query-pagination .dots {
    color: #4B5563 !important;
    font-weight: 800 !important;
    padding: 0 4px !important;
}

/* ===== WOOCOMMERCE PREMIUM STYLING ===== */
body.woocommerce main,
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.archive.tax-product_cat main,
body.woocommerce .bharat-main-inner,
body.woocommerce-cart .bharat-main-inner,
body.woocommerce-checkout .bharat-main-inner {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

/* Premium Page Headings for WooCommerce */
body.woocommerce h1.woocommerce-products-header__title,
body.woocommerce-cart .bharat-main-inner h1,
body.woocommerce-checkout .bharat-main-inner h1,
body.woocommerce .wc-block-cart__title,
body.woocommerce .wc-block-checkout__title,
body.woocommerce .bharat-main-inner > .wp-block-post-title,
.woocommerce-products-header__title {
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin-bottom: 2.5rem !important;
    background: linear-gradient(135deg, #F3F4F6 0%, #9CA3AF 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    line-height: 1.1 !important;
    display: block !important;
}

/* Shop specific adjustment */
.woocommerce-products-header {
    margin-bottom: 4rem !important;
}

/* Breadcrumbs styling */
.woocommerce-breadcrumb {
    margin-bottom: 2.5rem !important;
    font-size: 0.9375rem !important;
    color: #9CA3AF !important;
    display: block !important;
    padding-top: 1rem !important;
}

.woocommerce-breadcrumb a {
    color: var(--wp--preset--color--primary) !important;
    text-decoration: none !important;
}

/* Product Card Styling Improvements */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 20px !important;
    padding: 1.5rem !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    margin-bottom: 2rem !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-10px) scale(1.02) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5) !important;
}

.woocommerce ul.products li.product img {
    border-radius: 12px !important;
    margin-bottom: 1.5rem !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #F3F4F6 !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 1.25rem 0 0.75rem !important;
    line-height: 1.3 !important;
}

.woocommerce ul.products li.product .price {
    color: var(--wp--preset--color--primary) !important;
    font-weight: 700 !important;
    font-size: 1.125rem !important;
}

/* Cart & Checkout block styling */
.wc-block-cart, .wc-block-checkout, .woocommerce-cart-form, .cart-collaterals {
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 24px !important;
    padding: 2.5rem !important;
    backdrop-filter: blur(10px);
}

/* ============================================================================
   LIGHT MODE OVERRIDES (PRISMATIC LIGHT & GENERAL LIGHT THEME ADJUSTMENTS)
   ============================================================================ */

body.has-light-base-background-color {
    /* Reset scrollbar colors in light mode */
    --scrollbar-track-bg: #F1F5F9;
    --scrollbar-thumb-bg: #CBD5E1;
    --scrollbar-thumb-hover-bg: #94A3B8;
}

body.has-light-base-background-color::-webkit-scrollbar-track,
html.has-light-base-background-color::-webkit-scrollbar-track {
    background: #F1F5F9 !important;
}

body.has-light-base-background-color::-webkit-scrollbar-thumb,
html.has-light-base-background-color::-webkit-scrollbar-thumb {
    background: #CBD5E1 !important;
    border: 2px solid #F1F5F9 !important;
}

body.has-light-base-background-color::-webkit-scrollbar-thumb:hover,
html.has-light-base-background-color::-webkit-scrollbar-thumb:hover {
    background: #94A3B8 !important;
}

/* Glass cards styling */
body.has-light-base-background-color .bharat-glass {
    background: #FFFFFF !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02) !important;
}

body.has-light-base-background-color .bharat-glass:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08), 0 0 25px color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
}

/* Floating header styling */
body.has-light-base-background-color .bharat-floating-header {
    background: rgba(255, 255, 255, 0.8) !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
}

body.has-light-base-background-color .bharat-floating-header:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    box-shadow: 0 15px 40px rgba(15, 23, 42, 0.1), 0 0 20px color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent) !important;
}

/* Outline Buttons */
body.has-light-base-background-color .is-style-outline .wp-block-button__link {
    border: 1px solid rgba(15, 23, 42, 0.15) !important;
    color: var(--wp--preset--color--text, #0F172A) !important;
    background: transparent !important;
}

body.has-light-base-background-color .is-style-outline .wp-block-button__link:hover {
    border-color: var(--wp--preset--color--primary) !important;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent) !important;
    color: var(--wp--preset--color--primary) !important;
    box-shadow: none !important;
}

/* Hero Section */
body.has-light-base-background-color .bharat-hero-bg::before {
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--secondary) 10%, transparent) 0%, transparent 70%) !important;
}

body.has-light-base-background-color .bharat-hero-bg::after {
    background: radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent) 0%, transparent 70%) !important;
}

body.has-light-base-background-color .bharat-mockup-window {
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.06), 0 0 35px color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent) !important;
}

body.has-light-base-background-color .bharat-mockup-header {
    background: rgba(15, 23, 42, 0.02) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important;
}

body.has-light-base-background-color .bharat-mockup-header span {
    color: var(--wp--preset--color--text-muted) !important;
}

body.has-light-base-background-color .bharat-mockup-stats > div {
    background: rgba(15, 23, 42, 0.02) !important;
}

body.has-light-base-background-color .bharat-mockup-content > div:nth-child(2) {
    background: rgba(15, 23, 42, 0.01) !important;
    border: 1px solid rgba(15, 23, 42, 0.05) !important;
}

body.has-light-base-background-color .bharat-mockup-content span {
    color: var(--wp--preset--color--text-muted) !important;
}

/* FAQ Accordion details card & answers */
body.has-light-base-background-color .bharat-faq-wrapper details {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

body.has-light-base-background-color .bharat-faq-wrapper details[open] {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
}

/* Team Grid placeholder gradients, overlays and socials */
body.has-light-base-background-color .bharat-team-card {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

body.has-light-base-background-color .bharat-team-card:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--secondary) 40%, transparent) !important;
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.08), 0 0 35px color-mix(in srgb, var(--wp--preset--color--secondary) 10%, transparent) !important;
}

body.has-light-base-background-color .bharat-team-photo-wrap {
    background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent), color-mix(in srgb, var(--wp--preset--color--secondary) 8%, transparent)) !important;
}

body.has-light-base-background-color .bharat-team-photo-placeholder {
    color: var(--wp--preset--color--primary) !important;
}

body.has-light-base-background-color .bharat-team-photo-overlay {
    background: linear-gradient(to top, rgba(255, 255, 255, 0.6) 0%, transparent 100%) !important;
}

body.has-light-base-background-color .bharat-team-social-link {
    background: rgba(15, 23, 42, 0.03) !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    color: var(--wp--preset--color--text-muted) !important;
}

body.has-light-base-background-color .bharat-team-social-link:hover {
    background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Testimonials Grid */
body.has-light-base-background-color .bharat-testimonial-card {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02) !important;
}

body.has-light-base-background-color .bharat-testimonial-card:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent) !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08), 0 0 25px color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent) !important;
}

body.has-light-base-background-color .bharat-tc-author {
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
}

body.has-light-base-background-color .bharat-tc-avatar {
    color: #FFFFFF !important;
}

/* Blog post cards & date dividers */
body.has-light-base-background-color .bharat-blog-grid .wp-block-post {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
}

body.has-light-base-background-color .bharat-blog-grid .wp-block-post:hover {
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent) !important;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08), 0 0 25px color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent) !important;
}

body.has-light-base-background-color .bharat-blog-grid .wp-block-post-date {
    border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
}

/* Stats counter container & dividers */
body.has-light-base-background-color .bharat-stats-container {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
}

body.has-light-base-background-color .bharat-stat-item:not(:last-child)::after {
    background: rgba(15, 23, 42, 0.08) !important;
}

@media (max-width: 1024px) {
    body.has-light-base-background-color .bharat-stat-item:nth-child(1),
    body.has-light-base-background-color .bharat-stat-item:nth-child(2) {
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
}

@media (max-width: 600px) {
    body.has-light-base-background-color .bharat-stat-item {
        border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    }
}

/* WooCommerce overrides */
body.has-light-base-background-color.woocommerce ul.products li.product,
body.has-light-base-background-color.woocommerce-page ul.products li.product {
    background: rgba(255, 255, 255, 0.7) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
}

body.has-light-base-background-color.woocommerce ul.products li.product:hover {
    background: #ffffff !important;
    border-color: color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent) !important;
    box-shadow: 0 25px 50px rgba(15, 23, 42, 0.08) !important;
}

body.has-light-base-background-color.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: var(--wp--preset--color--text) !important;
}

body.has-light-base-background-color.woocommerce-breadcrumb {
    color: var(--wp--preset--color--text-muted) !important;
}

body.has-light-base-background-color .wc-block-cart,
body.has-light-base-background-color .wc-block-checkout,
body.has-light-base-background-color .woocommerce-cart-form,
body.has-light-base-background-color .cart-collaterals {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04) !important;
}

body.has-light-base-background-color.woocommerce h1.woocommerce-products-header__title,
body.has-light-base-background-color.woocommerce-cart .bharat-main-inner h1,
body.has-light-base-background-color.woocommerce-checkout .bharat-main-inner h1,
body.has-light-base-background-color.woocommerce .wc-block-cart__title,
body.has-light-base-background-color.woocommerce .wc-block-checkout__title,
body.has-light-base-background-color.woocommerce .bharat-main-inner > .wp-block-post-title,
body.has-light-base-background-color .woocommerce-products-header__title {
    background: linear-gradient(135deg, var(--wp--preset--color--text) 0%, var(--wp--preset--color--text-muted) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* Footer bottom divider in light mode */
body.has-light-base-background-color .bharat-footer-divider {
    background: rgba(15, 23, 42, 0.08) !important;
}

/* Solid Primary Buttons text color in light mode */
body.has-light-base-background-color .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    color: #FFFFFF !important;
}

/* Input Fields overrides in light mode */
body.has-light-base-background-color input:not([type="submit"]):not([type="button"]):not([type="range"]),
body.has-light-base-background-color textarea,
body.has-light-base-background-color select {
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, 0.15) !important;
    color: #0F172A !important;
}

body.has-light-base-background-color input:not([type="submit"]):not([type="button"]):not([type="range"]):focus,
body.has-light-base-background-color textarea:focus,
body.has-light-base-background-color select:focus {
    border-color: var(--wp--preset--color--primary, #00F2FF) !important;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--primary, #00F2FF) 20%, transparent) !important;
}

body.has-light-base-background-color input::placeholder,
body.has-light-base-background-color textarea::placeholder {
    color: #64748B !important;
    opacity: 0.85 !important;
}

/* ROI pricing calculator light mode text and slider container overrides */
body.has-light-base-background-color #bharat-pro-calc-queries {
    color: #0F172A !important;
}

body.has-light-base-background-color .bharat-pro-calc-slider,
body.has-light-base-background-color input[type="range"].bharat-pro-calc-slider,
body.has-light-base-background-color .bharat-pro-calc-slider-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* --- Footer Block Editor Mismatch Avoidance Styles --- */
.wp-block-group.alignfull.bharat-footer {
    padding-top: var(--wp--preset--spacing--lg) !important;
    padding-bottom: var(--wp--preset--spacing--md) !important;
    border-top: 1px solid var(--wp--preset--color--surface) !important;
}

.bharat-footer .wp-block-columns {
    gap: var(--wp--preset--spacing--lg) !important;
}

