/* ========================================
   HERO SLIDER - CLEAN IMPLEMENTATION
   ======================================== */

.hero-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f7faff;
}

.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
}

/* Fade Effect (default) */
.hero-slider.effect-fade .hero-slide {
    transition: opacity 0.6s ease;
}

/* Slide Effect */
.hero-slider.effect-slide .hero-slide {
    transform: translateX(100%);
}

.hero-slider.effect-slide .hero-slide.active {
    transform: translateX(0);
}

.hero-slider.effect-slide .hero-slide:not(.active) {
    transform: translateX(-100%);
}

/* Zoom Effect */
.hero-slider.effect-zoom .hero-slide {
    transform: scale(1.1);
}

.hero-slider.effect-zoom .hero-slide.active {
    transform: scale(1);
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    padding: 70px 20px;
}

.hero-title {
    font-family: 'Poppins', 'Lato', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    color: #223a5f;
    margin-bottom: 18px;
    line-height: 1.13;
    letter-spacing: -1px;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: #3a4a5d;
    font-weight: 400;
    margin-bottom: 32px;
    line-height: 1.5;
}

.hero-cta {
    display: inline-block;
    background: #00b6d1;
    color: #fff;
    font-family: 'Poppins', 'Lato', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 16px 38px;
    border-radius: 8px;
    box-shadow: 0 4px 24px 0 rgba(0,102,204,0.10);
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid #00b6d1;
}

.hero-cta:hover {
    background: #fff;
    color: #00b6d1;
    border: 2px solid #00b6d1;
    box-shadow: 0 6px 32px 0 rgba(0,102,204,0.16);
}

.nav-dots {
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.nav-dots button {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.5);
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
    padding: 0;
}

.nav-dots button.active {
    background: #00b6d1;
    box-shadow: 0 2px 8px 0 rgba(0,182,209,0.3);
}

@media (max-width: 900px) {
    .hero-title { font-size: 2.2rem; }
    .hero-inner { padding: 50px 20px; }
}

@media (max-width: 600px) {
    .hero-title { font-size: 1.8rem; }
    .hero-subtitle { font-size: 1rem; }
    .hero-cta { font-size: 1rem; padding: 12px 28px; }
    .hero-inner { padding: 40px 20px; }
}

/*
Theme Name: Gupta Diagnostic Child
Template: twentytwentyfive
Version: 1.0.0
*/

/* Test banner */
.test-marker {
    background: yellow !important;
    padding: 8px !important;
    text-align: center !important;
    font-weight: bold !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    font-size: 12px !important;
}

/* Complete Reset - Override ALL WordPress styles */
*, *::before, *::after {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Hide WordPress default blocks ONLY on the homepage template,
   so other posts/pages still render normally */
.home .wp-site-blocks,
.home .wp-block-group,
.home .is-layout-constrained,
.home body > .wp-block-group,
.home body > .is-layout-constrained {
    display: none !important;
}

/* Force body styling */
body {
    font-family: 'Lato', 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    line-height: 1.6 !important;
    color: #2c3e50 !important;
    background: #ffffff !important;
    padding-top: 0 !important; /* remove white strip above top bar */
    overflow-x: hidden !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* Container */
.container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* Typography Reset */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #2c3e50 !important;
    margin-bottom: 16px !important;
}

h1 { font-size: 3.2rem !important; font-weight: 700 !important; }
h2 { font-size: 2.4rem !important; font-weight: 600 !important; }
h3 { font-size: 1.8rem !important; font-weight: 600 !important; }
h4 { font-size: 1.4rem !important; font-weight: 500 !important; }

p {
    margin-bottom: 16px !important;
    line-height: 1.7 !important;
    color: #5a6c7d !important;
}

/* Top Contact Bar - Like Kishori */
.top-contact-bar {
    background: #0066cc !important;
    color: white !important;
    padding: 10px 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.top-contact-bar .container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 15px !important;
}

/* Desktop - Single row layout */
.contact-row-1,
.contact-row-2 {
    display: flex !important;
    gap: 35px !important;
    align-items: center !important;
}

.contact-info {
    display: flex !important;
    gap: 35px !important;
}

.contact-info span,
.contact-phone,
.contact-email,
.contact-address {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 400 !important;
    color: white !important;
}

.header-icon {
    width: 16px !important;
    height: 16px !important;
    stroke: white !important;
    flex-shrink: 0 !important;
}

/* Topbar Appointment Button */
.topbar-appointment-btn {
    background: white !important;
    color: #0066cc !important;
    padding: 6px 16px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}

.topbar-appointment-btn:hover {
    background: #f0f0f0 !important;
    transform: translateY(-1px) !important;
}

.social-links {
    display: flex !important;
    gap: 15px !important;
}

.social-links a {
    color: white !important;
    text-decoration: none !important;
    font-size: 16px !important;
    transition: opacity 0.3s ease !important;
}

.social-links a:hover {
    opacity: 0.8 !important;
}


/* Logo Container and SVG Styling - Vertical Layout */
.main-header .container { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:24px !important; }
.logo-container { display:flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
.logo { text-align:left !important; }

/* Mobile Menu Toggle - Hidden on Desktop */
.mobile-menu-toggle {
    display: none !important;
}

.site-logo {
    width: 60px !important;
    height: 60px !important;
    flex-shrink: 0 !important;
    animation: logoShine 3s ease-in-out infinite !important;
}

@keyframes logoShine {
    0%, 100% { filter: brightness(1) drop-shadow(0 0 5px rgba(0, 102, 204, 0.3)); }
    50% { filter: brightness(1.2) drop-shadow(0 0 15px rgba(0, 102, 204, 0.6)); }
}

.logo {
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #0066cc !important;
    text-decoration: none !important;
    letter-spacing: -0.5px !important;
    font-family: 'Lato', sans-serif !important;
    white-space: nowrap !important;
    line-height: 1.1 !important;
    text-align: center !important;
}

.logo:hover {
    color: #004499 !important;
}

/* Enforce no rounded corners on hero slider/images */
.hero-slider, .hero-slide, .hero-slide::before { border-radius: 0 !important; }

/* Advanced Navigation Menu - Like Kishori */
.main-nav {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 40px !important;
}

/* Vertical Dropdown Menu like Kishori */
.main-nav ul.main-menu { position:relative; display:flex; gap:22px; list-style:none; margin:0; padding:0; }
.main-nav ul.main-menu > li { position:relative; }
.main-nav ul.main-menu > li > a { padding:12px 6px; display:inline-block; }
.main-nav ul.main-menu li ul { 
    position:absolute; left:0; top:100%; 
    min-width:220px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; 
    box-shadow:0 10px 28px rgba(0,0,0,.08); padding:8px 0; list-style:none; 
    display:none; z-index:99;
}
.main-nav ul.main-menu li:hover > ul { display:block; }
.main-nav ul.main-menu li ul li { display:block; }
.main-nav ul.main-menu li ul li a { display:block; padding:10px 14px; color:#334155 !important; white-space:nowrap; }
.main-nav ul.main-menu li ul li a:hover { background:#f1f5f9; color:#0ea5e9 !important; }
/* Top highlight bar on dropdown */
.main-nav ul.main-menu li ul::before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:#0ea5e9; border-top-left-radius:8px; border-top-right-radius:8px; }

.main-nav ul {
    display: flex !important;
    list-style: none !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
}

.main-nav li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-nav > ul > li {
    margin: 0 20px !important;
}

.main-nav a {
    color: #2c3e50 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    padding: 20px 15px !important;
    display: block !important;
    transition: color 0.3s ease !important;
    position: relative !important;
    font-family: 'Lato', sans-serif !important;
    white-space: nowrap !important;
}

.main-nav a:hover {
    color: #0066cc !important;
}

.main-nav > ul > li > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 15px !important;
    right: 15px !important;
    height: 2px !important;
    background: #0066cc !important;
    transform: scaleX(0) !important;
    transition: transform 0.3s ease !important;
}

.main-nav > ul > li:hover > a::after {
    transform: scaleX(1) !important;
}

/* Hide bottom border on parent menu items that have submenus */
.main-nav > ul > li.menu-item-has-children:hover > a::after {
    transform: scaleX(0) !important;
}

/* Dropdown Menu Styles */
.main-nav ul ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: white !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
    border-radius: 8px !important;
    min-width: 240px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(10px) !important;
    transition: all 0.3s ease !important;
    z-index: 9999 !important;
    border: 1px solid #eef2f7 !important;
    padding: 15px 0 !important;
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.main-nav li:hover > ul {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.main-nav ul ul li {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    flex: none !important;
}

.main-nav ul ul a {
    padding: 12px 20px !important;
    font-size: 14px !important;
    color: #5a6c7d !important;
    border-bottom: 1px solid #f8f9fa !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
}

.main-nav ul ul a:hover {
    color: #0066cc !important;
    background: #f8fafe !important;
    padding-left: 25px !important;
}

.main-nav ul ul li:last-child a {
    border-bottom: none !important;
}

/* Mega Menu for Diagnostic Services */
.main-nav .mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: -150px !important;
    background: white !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
    border-radius: 8px !important;
    min-width: 700px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(10px) !important;
    transition: all 0.3s ease !important;
    z-index: 9999 !important;
    border: 1px solid #eef2f7 !important;
    padding: 30px !important;
    margin-top: 0 !important;
}

.main-nav li:hover > .mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.mega-menu-content {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 40px !important;
}

.mega-menu-column h4 {
    color: #0066cc !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    font-family: 'Lato', sans-serif !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid #eef2f7 !important;
}

.mega-menu-column ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mega-menu-column li {
    margin-bottom: 8px !important;
}

.mega-menu-column a {
    color: #5a6c7d !important;
    text-decoration: none !important;
    font-size: 14px !important;
    padding: 8px 0 !important;
    display: block !important;
    transition: all 0.3s ease !important;
    border-left: 3px solid transparent !important;
    padding-left: 15px !important;
}

.mega-menu-column a:hover {
    color: #0066cc !important;
    border-left-color: #0066cc !important;
    padding-left: 20px !important;
}

.header-cta {
    background: #0066cc !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: all 0.3s ease !important;
    border: 2px solid #0066cc !important;
    font-family: 'Lato', sans-serif !important;
    white-space: nowrap !important;
}

.header-cta:hover {
    background: transparent !important;
    color: #0066cc !important;
    transform: translateY(-1px) !important;
}

/* Hero Section - Professional like Kishori */
.hero-section {
    background: linear-gradient(135deg, #0066cc 0%, #004499 50%, #003366 100%) !important;
    color: white !important;
    padding: 100px 0 120px !important;
    position: relative !important;
    overflow: hidden !important;
}

.hero-section::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="medical" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23medical)"/></svg>') !important;
    opacity: 0.4 !important;
}

.hero-section .container {
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
}

.hero-section h1 {
    font-size: 3.8rem !important;
    font-weight: 700 !important;
    margin-bottom: 24px !important;
    color: white !important;
    line-height: 1.2 !important;
    letter-spacing: -1px !important;
}

.hero-section .subtitle {
    font-size: 1.3rem !important;
    margin-bottom: 40px !important;
    opacity: 0.95 !important;
    font-weight: 400 !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.6 !important;
}

.hero-cta {
    background: white !important;
    color: #0066cc !important;
    padding: 18px 36px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
}

.hero-cta:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

/* Services Section - Matching Kishori exactly */
.services-section {
    padding: 100px 0 !important;
    background: #f8fafe !important;
}

.section-title {
    text-align: center !important;
    margin-bottom: 70px !important;
}

.section-title h2 {
    font-size: 2.8rem !important;
    color: #2c3e50 !important;
    margin-bottom: 16px !important;
    font-weight: 700 !important;
}

.section-title .subtitle {
    font-size: 1.1rem !important;
    color: #5a6c7d !important;
    font-weight: 400 !important;
}

/* Services Grid - 6 Cards in One Row like Kishori */
.services-grid-row {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

.service-card-compact {
    background: #ececec !important; /* neutral grey like reference */
    border-radius: 18px !important;
    padding: 26px 24px !important; /* tighter vertical */
    text-align: center !important;
    box-shadow: none !important; /* remove shadow */
    transition: background-color 0.18s ease-in-out !important;
    border: none !important;
    flex: 1 1 0 !important;
    min-width: 150px !important;
    max-width: 185px !important; /* slightly narrower like reference */
    cursor: pointer !important;
    text-decoration: none !important;
    color: #1d2732 !important;
    display: block !important;
    font-family: 'Poppins', 'Lato', sans-serif !important;
}

.service-card-compact:hover {
    background: #ffffff !important; /* only color change */
}

.service-card-compact .service-icon {
    width: 54px !important;
    height: 54px !important;
    background: transparent !important; /* reference shows plain icon */
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 12px !important;
    font-size: 44px !important; /* bigger icon visual */
    line-height: 1 !important;
    transition: none !important;
}

.service-card-compact h3 {
    font-family: 'Poppins', 'Lato', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #2c2c2c !important;
    margin: 0 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2px !important;
}

/* Specialities Section */
.specialities-section { padding: 110px 0 60px !important; background:#ffffff !important; }
.specialities-layout { display:flex !important; gap:80px !important; align-items:stretch !important; }
.specialities-image { flex:0 0 42% !important; display:flex !important; }
.specialities-image img, .specialities-placeholder { width:100% !important; border-radius:8px !important; object-fit:cover !important; min-height:520px !important; background:#e6e6e6 linear-gradient(135deg,#ececec,#d9d9d9) !important; }
.specialities-content { flex:1 !important; display:flex !important; flex-direction:column !important; }
.specialities-content .section-title { text-align:left !important; margin-bottom:45px !important; }
.specialities-grid { display:grid !important; grid-template-columns: repeat(auto-fill,minmax(140px,1fr)) !important; gap:26px 36px !important; }
.speciality-card { background:#efefef !important; border-radius:14px !important; padding:22px 18px 20px !important; text-align:center !important; transition:background .18s ease-in-out !important; }
.speciality-card:hover { background:#ffffff !important; }
.speciality-card .spec-icon { width:54px !important; height:54px !important; margin:0 auto 12px !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:40px !important; line-height:1 !important; }
.speciality-card .spec-icon img { max-width:48px !important; height:auto !important; display:block !important; }
.speciality-card .spec-title { font-family:'Poppins','Lato',sans-serif !important; font-size:13px !important; font-weight:500 !important; color:#2c2c2c !important; letter-spacing:.3px !important; }
@media (max-width:1100px){ .specialities-layout { flex-direction:column !important; } .specialities-image { flex:0 0 auto !important; } .specialities-image img,.specialities-placeholder { min-height:380px !important; } }
@media (max-width:600px){ .specialities-grid { grid-template-columns: repeat(3,1fr) !important; gap:18px 16px !important; } .speciality-card { padding:16px 12px 14px !important; } .speciality-card .spec-icon { width:44px !important; height:44px !important; font-size:32px !important; margin-bottom:8px !important; } .speciality-card .spec-title { font-size:11px !important; } }

/* Legacy service card styles for compatibility */

.service-card h3 {
    font-size: 1.5rem !important;
    color: #2c3e50 !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
}

.service-card p {
    color: #5a6c7d !important;
    line-height: 1.7 !important;
    margin-bottom: 25px !important;
    font-size: 15px !important;
}

.service-card .learn-more {
    color: #0066cc !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
}

.service-card .learn-more:hover {
    gap: 12px !important;
    color: #004499 !important;
}

/* Statistics Section - Like Kishori */
.stats-section {
    padding: 100px 0 !important;
    background: linear-gradient(135deg, #0066cc 0%, #004499 50%, #003366 100%) !important;
    color: white !important;
    text-align: center !important;
}

.stats-section h2 {
    font-size: 2.8rem !important;
    margin-bottom: 20px !important;
    color: white !important;
    font-weight: 700 !important;
}

.stats-section .subtitle {
    font-size: 1.1rem !important;
    margin-bottom: 60px !important;
    opacity: 0.9 !important;
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 50px !important;
}

.stat-item {
    text-align: center !important;
}

.stat-item .number {
    font-size: 4rem !important;
    font-weight: 800 !important;
    display: block !important;
    margin-bottom: 12px !important;
    color: white !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums !important;
    min-height: 4rem !important;
}

.stat-item .label {
    font-size: 15px !important;
    opacity: 0.9 !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.stats-cta-wrapper {
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.stats-cta-wrapper .hero-cta {
    display: inline-block !important;
    background: white !important;
    color: #0066cc !important;
    font-family: 'Poppins', 'Lato', sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 18px 45px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border: 2px solid white !important;
}

.stats-cta-wrapper .hero-cta:hover {
    background: transparent !important;
    color: white !important;
    border: 2px solid white !important;
    box-shadow: 0 6px 30px rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Medium screens - 3 cards per row */
@media (max-width: 1024px) and (min-width: 769px) {
    .services-grid-row {
        flex-wrap: wrap !important;
    }
    
    .service-card-compact {
        flex-basis: calc(33.333% - 15px) !important;
        max-width: calc(33.333% - 15px) !important;
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-section h1 {
        font-size: 2.5rem !important;
    }
    
    .services-grid-row {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .service-card-compact {
        max-width: 100% !important;
        min-width: auto !important;
    }
    
    /* Stats section responsive */
    .stats-section {
        padding: 60px 0 !important;
    }
    
    .stats-section h2 {
        font-size: 2rem !important;
    }
    
    .stats-section .subtitle {
        font-size: 1rem !important;
        margin-bottom: 40px !important;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px 30px !important;
    }
    
    .stat-item .number {
        font-size: 3rem !important;
        min-height: 3rem !important;
    }
    
    .stat-item .label {
        font-size: 13px !important;
    }
    
    .stats-cta-wrapper {
        margin-top: 50px !important;
        padding-top: 30px !important;
    }
    
    .stats-cta-wrapper .hero-cta {
        padding: 16px 35px !important;
        font-size: 1rem !important;
    }
    
    /* Mobile Header */
    .main-header .container {
        position: relative;
        padding: 15px 20px !important;
    }
    
    /* Hide APPOINTMENT button on mobile */
    .header-cta {
        display: none !important;
    }
    
    /* Mobile Menu Toggle Button */
    .mobile-menu-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: space-around;
        width: 30px;
        height: 25px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1001;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .mobile-menu-toggle span {
        width: 100%;
        height: 3px;
        background: #0066cc;
        border-radius: 10px;
        transition: all 0.3s ease;
        transform-origin: center;
    }
    
    .mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translateY(8px);
    }
    
    .mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }
    
    .mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translateY(-8px);
    }
    
    /* Hide menu by default on mobile */
    .main-nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: white;
        box-shadow: -2px 0 10px rgba(0,0,0,0.1);
        transition: right 0.3s ease;
        z-index: 1000;
        padding-top: 80px;
        overflow-y: auto;
    }
    
    .main-nav.active {
        right: 0;
    }
    
    .main-nav ul {
        flex-direction: column !important;
        gap: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }
    
    .main-nav > ul > li {
        margin: 0 !important;
        width: 100% !important;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .main-nav a {
        padding: 15px 20px !important;
        display: block;
    }
    
    .main-nav ul ul {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        background: #f8f9fa !important;
        margin-top: 5px !important;
    }
    
    .mega-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        min-width: auto !important;
        left: auto !important;
        margin-top: 5px !important;
    }
    
    .mega-menu-content {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    /* Mobile Top Bar - 2 Row Layout */
    .top-contact-bar {
        padding: 8px 0 !important;
    }
    
    .top-contact-bar .container {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    
    /* Row 1: Phone (left) | Email (right) */
    .contact-row-1 {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .topbar-phone {
        font-size: 12px !important;
        flex-shrink: 0 !important;
    }
    
    .topbar-email {
        font-size: 12px !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }
    
    /* Row 2: Gupta Diagnostic (left) | APPOINTMENT button (right) */
    .contact-row-2 {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .topbar-address {
        font-size: 13px !important;
        font-weight: 500 !important;
        flex-shrink: 0 !important;
    }
    
    .topbar-appointment-btn {
        padding: 6px 16px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }
    
    /* Hide social links on mobile */
    .social-links {
        display: none !important;
    }
    
    .stat-item .number {
        font-size: 3rem !important;
    }
}

@media (max-width: 480px) {
    .logo-container {
        gap: 6px !important;
    }
    
    .site-logo {
        width: 50px !important;
        height: 50px !important;
    }
    
    .logo {
        font-size: 1.4rem !important;
    }
    
    .hero-section h1 {
        font-size: 2rem !important;
    }
    
    .section-title h2 {
        font-size: 2rem !important;
    }
    
    /* Stats section for small mobile */
    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }
    
    .stat-item .number {
        font-size: 2.5rem !important;
        min-height: 2.5rem !important;
    }
    
    .stats-cta-wrapper .hero-cta {
        padding: 14px 30px !important;
        font-size: 0.95rem !important;
    }
}

/* Additional Menu Fixes */
.main-nav .main-menu {
    display: flex !important;
    align-items: center !important;
}

/* Ensure dropdowns work on hover */
.main-nav li.has-dropdown:hover > ul,
.main-nav li.has-dropdown:hover > .mega-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Fix menu item text running together */
.main-nav > ul > li > a {
    margin: 0 5px !important;
    padding: 20px 10px !important;
}

/* ==============================
   Content area (single/page)
   ============================== */
.site-main .container { max-width: 980px !important; }

.content-card {
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
    padding: 28px 28px !important;
    margin-top: 20px !important;
}

.entry-content p { margin-bottom: 1.1em !important; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin: 1.4em 0 0.6em !important; }

/* Align images inserted via block editor */
.entry-content .alignleft {
    float: left !important;
    margin: 0.2em 1.2em 0.8em 0 !important;
    max-width: 42% !important;
}
.entry-content .alignright {
    float: right !important;
    margin: 0.2em 0 0.8em 1.2em !important;
    max-width: 42% !important;
}
.entry-content .aligncenter { display:block !important; margin-left:auto !important; margin-right:auto !important; }

/* Default images scale inside content width */
.entry-content img, .entry-content figure img { height: auto !important; max-width: 100% !important; }
.entry-content figure { margin: 0 0 1em 0 !important; }

/* On small screens, clear floats so content stacks nicely */
@media (max-width: 700px){
    .entry-content .alignleft, .entry-content .alignright { float:none !important; max-width:100% !important; margin: 0 0 1em 0 !important; }
}

/* =====================
   Footer Layout & Styles
   ===================== */
.site-footer {
    padding: 50px 0 30px 0 !important;
}

.footer-content {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px !important;
    align-items: start !important;
}

/* Tablet and below: 2 columns */
@media (max-width: 1024px) {
    .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Narrow phones: 1 column */
@media (max-width: 560px) {
    .footer-content { grid-template-columns: 1fr !important; }
}

.footer-section h4 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin-bottom: 14px !important;
}

.footer-section p { margin-bottom: 10px !important; }

.footer-section ul { list-style: none !important; padding-left: 0 !important; margin: 0 !important; }
.footer-section li { margin: 6px 0 !important; }
.footer-section a { color: inherit !important; text-decoration: none !important; opacity: 0.9 !important; }
.footer-section a:hover { opacity: 1 !important; text-decoration: underline !important; }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.15) !important;
    margin-top: 26px !important;
    padding-top: 18px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Testimonials Section */
.testimonials-section { padding: 90px 0 !important; background:#f8fbff !important; }
.testimonials-grid { display:grid !important; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)) !important; gap:22px !important; }
.testimonial-card { background:#fff !important; border:1px solid #e6eef7 !important; border-radius:14px !important; padding:18px 18px 16px !important; box-shadow:0 6px 20px rgba(0,0,0,.05) !important; }
.testimonial-rating { margin-bottom:12px !important; }
.testimonial-rating .star { font-size:18px !important; color:#ddd !important; margin-right:2px !important; }
.testimonial-rating .star.filled { color:#fbbf24 !important; }
.testimonial-quote { font-style: italic !important; color:#1f2a44 !important; line-height:1.6 !important; margin-bottom:14px !important; }
.testimonial-meta { display:flex !important; align-items:center !important; gap:10px !important; }
.testimonial-avatar { width:48px !important; height:48px !important; border-radius:50% !important; object-fit:cover !important; }
.testimonial-author .name { font-weight:700 !important; color:#0f2760 !important; }
.testimonial-author .role { font-size:.9rem !important; color:#475569 !important; }

/* Scroll reveal for Specialities like Kishori */
.speciality-card { will-change: transform, opacity; }
.specialities-grid .speciality-card { opacity: 0; transform: translateY(24px) scale(0.98); transition: opacity .6s ease, transform .6s ease; }
.specialities-grid .speciality-card.is-visible { opacity: 1; transform: translateY(0) scale(1); }
