/* Preloader Styles - New Medical Theme */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        linear-gradient(45deg, #0a0a0a 0%, #1e1e1e 25%, #2a2a2a 50%, #1e1e1e 75%, #0a0a0a 100%),
        radial-gradient(ellipse at 20% 80%, rgba(0, 150, 255, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(0, 255, 200, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(100, 200, 255, 0.05) 0%, transparent 70%);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Mobile-first preloader optimizations */
@media (max-width: 768px) {
    .preloader::before,
    .preloader::after {
        display: none; /* Hide complex backgrounds on mobile for better performance */
    }
    
    .preloader-main-text {
        font-size: 2.5rem; /* Smaller text on mobile */
    }
    
    .text-line-1 {
        font-size: 3.2rem;
    }
    
    .text-line-2 {
        font-size: 2rem;
    }
    
    .text-line-3 {
        font-size: 2.5rem;
    }
}

.preloader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 25%, rgba(0, 150, 255, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 75% 75%, rgba(0, 255, 200, 0.06) 0%, transparent 40%),
        radial-gradient(circle at 50% 10%, rgba(100, 200, 255, 0.04) 0%, transparent 50%),
        radial-gradient(circle at 10% 60%, rgba(0, 255, 255, 0.05) 0%, transparent 45%);
    animation: backgroundShift 20s ease-in-out infinite;
}

.preloader::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 50% 50%, transparent 0%, rgba(0, 255, 255, 0.05) 50%, transparent 100%);
    animation: centerGlow 6s ease-in-out infinite;
}

.preloader.hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-out;
}

.preloader-content {
    text-align: center;
    color: white;
    position: relative;
    z-index: 2;
    animation: contentEntrance 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.preloader-main-text {
    text-align: center;
    position: relative;
    z-index: 10;
    animation: textReveal 2s ease-out forwards;
}

.text-line {
    margin-bottom: 15px;
    opacity: 0;
    transform: translateY(30px);
    animation: lineSlideIn 0.8s ease-out forwards;
}

.text-line-1 {
    font-size: 4rem;
    font-weight: 900;
    color: #00ffff;
    text-shadow: 
        0 0 15px rgba(0, 255, 255, 0.8),
        0 0 30px rgba(0, 255, 255, 0.6),
        0 0 45px rgba(0, 255, 255, 0.4);
    animation-delay: 0.2s;
}

.text-line-2 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #ffffff;
    text-shadow: 
        0 0 10px rgba(255, 255, 255, 0.6),
        0 0 20px rgba(255, 255, 255, 0.4);
    animation-delay: 0.6s;
}

.text-line-3 {
    font-size: 3.2rem;
    font-weight: 800;
    color: #00ffff;
    text-shadow: 
        0 0 15px rgba(0, 255, 255, 0.8),
        0 0 30px rgba(0, 255, 255, 0.6),
        0 0 45px rgba(0, 255, 255, 0.4);
    animation-delay: 1s;
}

.preloader-main-text span {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    animation: letterDrop 0.6s ease-out forwards;
}

.preloader-main-text span:nth-child(1) { animation-delay: 0.1s; }
.preloader-main-text span:nth-child(2) { animation-delay: 0.2s; }
.preloader-main-text span:nth-child(3) { animation-delay: 0.3s; }
.preloader-main-text span:nth-child(4) { animation-delay: 0.4s; }
.preloader-main-text span:nth-child(5) { animation-delay: 0.5s; }
.preloader-main-text span:nth-child(6) { animation-delay: 0.6s; }
.preloader-main-text span:nth-child(7) { animation-delay: 0.7s; }
.preloader-main-text span:nth-child(8) { animation-delay: 0.8s; }
.preloader-main-text span:nth-child(9) { animation-delay: 0.9s; }
.preloader-main-text span:nth-child(10) { animation-delay: 1.0s; }
.preloader-main-text span:nth-child(11) { animation-delay: 1.1s; }
.preloader-main-text span:nth-child(12) { animation-delay: 1.2s; }
.preloader-main-text span:nth-child(13) { animation-delay: 1.3s; }
.preloader-main-text span:nth-child(14) { animation-delay: 1.4s; }
.preloader-main-text span:nth-child(15) { animation-delay: 1.5s; }
.preloader-main-text span:nth-child(16) { animation-delay: 1.6s; }
.preloader-main-text span:nth-child(17) { animation-delay: 1.7s; }
.preloader-main-text span:nth-child(18) { animation-delay: 1.8s; }
.preloader-main-text span:nth-child(19) { animation-delay: 1.9s; }
.preloader-main-text span:nth-child(20) { animation-delay: 2.0s; }
.preloader-main-text span:nth-child(21) { animation-delay: 2.1s; }
.preloader-main-text span:nth-child(22) { animation-delay: 2.2s; }
.preloader-main-text span:nth-child(23) { animation-delay: 2.3s; }
.preloader-main-text span:nth-child(24) { animation-delay: 2.4s; }
.preloader-main-text span:nth-child(25) { animation-delay: 2.5s; }
.preloader-main-text span:nth-child(26) { animation-delay: 2.6s; }
.preloader-main-text span:nth-child(27) { animation-delay: 2.7s; }
.preloader-main-text span:nth-child(28) { animation-delay: 2.8s; }
.preloader-main-text span:nth-child(29) { animation-delay: 2.9s; }
.preloader-main-text span:nth-child(30) { animation-delay: 3.0s; }
.preloader-main-text span:nth-child(31) { animation-delay: 3.1s; }
.preloader-main-text span:nth-child(32) { animation-delay: 3.2s; }
.preloader-main-text span:nth-child(33) { animation-delay: 3.3s; }
.preloader-main-text span:nth-child(34) { animation-delay: 3.4s; }
.preloader-main-text span:nth-child(35) { animation-delay: 3.5s; }
.preloader-main-text span:nth-child(36) { animation-delay: 3.6s; }
.preloader-main-text span:nth-child(37) { animation-delay: 3.7s; }
.preloader-main-text span:nth-child(38) { animation-delay: 3.8s; }
.preloader-main-text span:nth-child(39) { animation-delay: 3.9s; }
.preloader-main-text span:nth-child(40) { animation-delay: 4.0s; }
.preloader-main-text span:nth-child(41) { animation-delay: 4.1s; }
.preloader-main-text span:nth-child(42) { animation-delay: 4.2s; }
.preloader-main-text span:nth-child(43) { animation-delay: 4.3s; }
.preloader-main-text span:nth-child(44) { animation-delay: 4.4s; }
.preloader-main-text span:nth-child(45) { animation-delay: 4.5s; }
.preloader-main-text span:nth-child(46) { animation-delay: 4.6s; }
.preloader-main-text span:nth-child(47) { animation-delay: 4.7s; }
.preloader-main-text span:nth-child(48) { animation-delay: 4.8s; }
.preloader-main-text span:nth-child(49) { animation-delay: 4.9s; }
.preloader-main-text span:nth-child(50) { animation-delay: 5.0s; }
.preloader-main-text span:nth-child(51) { animation-delay: 5.1s; }
.preloader-main-text span:nth-child(52) { animation-delay: 5.2s; }
.preloader-main-text span:nth-child(53) { animation-delay: 5.3s; }
.preloader-main-text span:nth-child(54) { animation-delay: 5.4s; }
.preloader-main-text span:nth-child(55) { animation-delay: 5.5s; }
.preloader-main-text span:nth-child(56) { animation-delay: 5.6s; }
.preloader-main-text span:nth-child(57) { animation-delay: 5.7s; }
.preloader-main-text span:nth-child(58) { animation-delay: 5.8s; }
.preloader-main-text span:nth-child(59) { animation-delay: 5.9s; }
.preloader-main-text span:nth-child(60) { animation-delay: 6.0s; }
.preloader-main-text span:nth-child(61) { animation-delay: 6.1s; }
.preloader-main-text span:nth-child(62) { animation-delay: 6.2s; }
.preloader-main-text span:nth-child(63) { animation-delay: 6.3s; }
.preloader-main-text span:nth-child(64) { animation-delay: 6.4s; }
.preloader-main-text span:nth-child(65) { animation-delay: 6.5s; }
.preloader-main-text span:nth-child(66) { animation-delay: 6.6s; }
.preloader-main-text span:nth-child(67) { animation-delay: 6.7s; }
.preloader-main-text span:nth-child(68) { animation-delay: 6.8s; }
.preloader-main-text span:nth-child(69) { animation-delay: 6.9s; }
.preloader-main-text span:nth-child(70) { animation-delay: 7.0s; }
.preloader-main-text span:nth-child(71) { animation-delay: 7.1s; }
.preloader-main-text span:nth-child(72) { animation-delay: 7.2s; }
.preloader-main-text span:nth-child(73) { animation-delay: 7.3s; }
.preloader-main-text span:nth-child(74) { animation-delay: 7.4s; }
.preloader-main-text span:nth-child(75) { animation-delay: 7.5s; }
.preloader-main-text span:nth-child(76) { animation-delay: 7.6s; }
.preloader-main-text span:nth-child(77) { animation-delay: 7.7s; }
.preloader-main-text span:nth-child(78) { animation-delay: 7.8s; }
.preloader-main-text span:nth-child(79) { animation-delay: 7.9s; }
.preloader-main-text span:nth-child(80) { animation-delay: 8.0s; }
.preloader-main-text span:nth-child(81) { animation-delay: 8.1s; }
.preloader-main-text span:nth-child(82) { animation-delay: 8.2s; }
.preloader-main-text span:nth-child(83) { animation-delay: 8.3s; }
.preloader-main-text span:nth-child(84) { animation-delay: 8.4s; }
.preloader-main-text span:nth-child(85) { animation-delay: 8.5s; }
.preloader-main-text span:nth-child(86) { animation-delay: 8.6s; }
.preloader-main-text span:nth-child(87) { animation-delay: 8.7s; }
.preloader-main-text span:nth-child(88) { animation-delay: 8.8s; }
.preloader-main-text span:nth-child(89) { animation-delay: 8.9s; }
.preloader-main-text span:nth-child(90) { animation-delay: 9.0s; }
.preloader-main-text span:nth-child(91) { animation-delay: 9.1s; }
.preloader-main-text span:nth-child(92) { animation-delay: 9.2s; }
.preloader-main-text span:nth-child(93) { animation-delay: 9.3s; }
.preloader-main-text span:nth-child(94) { animation-delay: 9.4s; }
.preloader-main-text span:nth-child(95) { animation-delay: 9.5s; }
.preloader-main-text span:nth-child(96) { animation-delay: 9.6s; }
.preloader-main-text span:nth-child(97) { animation-delay: 9.7s; }
.preloader-main-text span:nth-child(98) { animation-delay: 9.8s; }
.preloader-main-text span:nth-child(99) { animation-delay: 9.9s; }
.preloader-main-text span:nth-child(100) { animation-delay: 10.0s; }

.preloader-spinner {
    width: 80px;
    height: 80px;
    border: 4px solid rgba(0, 255, 255, 0.2);
    border-top: 4px solid #00ffff;
    border-radius: 50%;
    margin: 0 auto;
    animation: spin 2s linear infinite, spinnerGlow 3s ease-in-out infinite;
    opacity: 0;
    transform: scale(0.5);
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    box-shadow: 
        0 0 20px rgba(0, 255, 255, 0.5),
        0 0 40px rgba(0, 255, 255, 0.3),
        0 0 60px rgba(0, 255, 255, 0.1);
}

.preloader-subtitle {
    font-size: 1.1rem;
    color: #ccc;
    opacity: 0;
    transform: translateY(20px);
    animation: subtitleEntrance 0.8s ease-out forwards;
    animation-delay: 0.6s;
    font-weight: 500;
    letter-spacing: 1px;
}

.preloader-particles {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: #e94560;
    border-radius: 50%;
    animation: particleFloat 6s linear infinite;
}

.particle:nth-child(1) { left: 10%; animation-delay: 0s; }
.particle:nth-child(2) { left: 20%; animation-delay: 1s; }
.particle:nth-child(3) { left: 30%; animation-delay: 2s; }
.particle:nth-child(4) { left: 40%; animation-delay: 3s; }
.particle:nth-child(5) { left: 50%; animation-delay: 4s; }
.particle:nth-child(6) { left: 60%; animation-delay: 5s; }
.particle:nth-child(7) { left: 70%; animation-delay: 6s; }
.particle:nth-child(8) { left: 80%; animation-delay: 7s; }
.particle:nth-child(9) { left: 90%; animation-delay: 8s; }

/* Animations */
@keyframes contentEntrance {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.8);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

@keyframes logoGlow {
    0% { filter: brightness(0) invert(1) drop-shadow(0 0 10px rgba(255,255,255,0.3)); }
    100% { filter: brightness(0) invert(1) drop-shadow(0 0 20px rgba(233,69,96,0.6)); }
}

@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes textReveal {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes lineSlideIn {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes letterDrop {
    0% {
        opacity: 0;
        transform: translateY(50px) rotateX(90deg);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0deg);
    }
}

@keyframes backgroundShift {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }
    25% {
        transform: scale(1.1) rotate(90deg);
    }
    50% {
        transform: scale(0.9) rotate(180deg);
    }
    75% {
        transform: scale(1.05) rotate(270deg);
    }
}

@keyframes centerGlow {
    0%, 100% {
        opacity: 0.3;
        transform: scale(1);
    }
    50% {
        opacity: 0.6;
        transform: scale(1.2);
    }
}

/* Medical Symbols Styling */
.preloader-medical-symbols {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.medical-symbol {
    position: absolute;
    font-size: 3rem;
    color: rgba(0, 255, 255, 0.6);
    animation: symbolFloat 10s ease-in-out infinite;
    filter: drop-shadow(0 0 12px rgba(0, 255, 255, 0.4));
    transition: all 0.4s ease;
    cursor: pointer;
}

.medical-symbol:hover {
    color: rgba(0, 255, 255, 1);
    filter: drop-shadow(0 0 20px rgba(0, 255, 255, 0.8));
    transform: scale(1.3) rotate(5deg);
}

.medical-symbol:nth-child(1) { top: 15%; left: 10%; animation-delay: 0s; }
.medical-symbol:nth-child(2) { top: 25%; right: 15%; animation-delay: 2s; }
.medical-symbol:nth-child(3) { bottom: 20%; left: 20%; animation-delay: 4s; }
.medical-symbol:nth-child(4) { bottom: 30%; right: 25%; animation-delay: 6s; }
.medical-symbol:nth-child(5) { top: 50%; left: 5%; animation-delay: 1s; }
.medical-symbol:nth-child(6) { top: 60%; right: 10%; animation-delay: 3s; }

/* Geometric Shapes for Dynamic Background */
.geometric-shapes {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.shape {
    position: absolute;
    border: 2px solid rgba(0, 255, 255, 0.2);
    animation: shapeFloat 12s ease-in-out infinite;
}

.shape-1 {
    width: 60px;
    height: 60px;
    top: 20%;
    left: 15%;
    border-radius: 50%;
    animation-delay: 0s;
}

.shape-2 {
    width: 40px;
    height: 40px;
    top: 70%;
    right: 20%;
    transform: rotate(45deg);
    animation-delay: 2s;
}

.shape-3 {
    width: 80px;
    height: 40px;
    bottom: 30%;
    left: 10%;
    border-radius: 20px;
    animation-delay: 4s;
}

.shape-4 {
    width: 50px;
    height: 50px;
    top: 40%;
    right: 10%;
    transform: rotate(30deg);
    animation-delay: 6s;
}

.shape-5 {
    width: 70px;
    height: 70px;
    bottom: 20%;
    right: 30%;
    border-radius: 50%;
    animation-delay: 8s;
}

@keyframes shapeFloat {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
        opacity: 0.2;
    }
    50% {
        transform: translateY(-30px) rotate(180deg);
        opacity: 0.5;
    }
}

@keyframes slideInRight {
    0% {
        transform: translateX(20px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Related Services Styling */
.related-services {
    margin-top: 1rem;
    padding: 0.75rem;
    background: rgba(74, 144, 226, 0.05);
    border-radius: 8px;
    border-left: 3px solid #4A90E2;
}

.related-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: #666;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.related-link {
    display: inline-block;
    margin: 0.25rem 0.5rem 0.25rem 0;
    padding: 0.25rem 0.75rem;
    background: linear-gradient(135deg, #4A90E2 0%, #2fb7a3 100%);
    color: white;
    text-decoration: none;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(74, 144, 226, 0.2);
}

.related-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(74, 144, 226, 0.3);
    text-decoration: none;
    color: white;
}

.related-link:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(74, 144, 226, 0.2);
}

@keyframes symbolFloat {
    0% {
        transform: translateY(0px) rotate(0deg);
        opacity: 0.3;
    }
    50% {
        transform: translateY(-20px) rotate(180deg);
        opacity: 0.6;
    }
    100% {
        transform: translateY(0px) rotate(360deg);
        opacity: 0.3;
    }
}

@keyframes spinnerGlow {
    0%, 100% {
        box-shadow: 
            0 0 20px rgba(0, 255, 255, 0.5),
            0 0 40px rgba(0, 255, 255, 0.3),
            0 0 60px rgba(0, 255, 255, 0.1);
    }
    50% {
        box-shadow: 
            0 0 30px rgba(0, 255, 255, 0.8),
            0 0 60px rgba(0, 255, 255, 0.5),
            0 0 90px rgba(0, 255, 255, 0.3);
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes spinnerPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes subtitleEntrance {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes backgroundShift {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.1) rotate(180deg); }
}

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}

@keyframes symbolFloat {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
        opacity: 0.6;
    }
    50% {
        transform: translateY(-25px) rotate(180deg);
        opacity: 0.9;
    }
}

/* Exit animation removed for smooth performance */

/* DoctorsV2 isolated styles (does not touch existing classes) */
.doctorsV2__header { 
    text-align: center; 
    margin-bottom: 3rem; 
    position: relative;
}
.doctorsV2__header::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    border-radius: 2px;
}
.doctorsV2__header h2 { 
    color: #2c5282; 
    font-weight: 800; 
    margin: 0 0 1rem; 
    font-size: 2.5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.doctorsV2__header p { 
    color: #5A6C7D; 
    max-width: 800px; 
    margin: 0 auto; 
    font-size: 1.1rem;
    line-height: 1.8;
}

/* Desktop Grid - New Modern Design */
.doctorsV2__grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 2.5rem; 
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}
.doctorsV2__card { 
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border: none;
    border-radius: 24px; 
    overflow: hidden; 
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    transition: box-shadow 0.3s ease; 
    display: flex; 
    flex-direction: column; 
    height: 100%;
    position: relative;
}
.doctorsV2__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}
.doctorsV2__card:hover::before {
    transform: scaleX(1);
}
.doctorsV2__card:hover { 
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}
.doctorsV2__img { 
    width: 100%; 
    height: 280px; 
    object-fit: cover; 
    display: block; 
    background: linear-gradient(135deg, #eaf4ff, #f0f8ff);
}
.doctorsV2__name { 
    margin: 1.5rem 1.5rem 0.5rem; 
    color: #2C3E50; 
    font-weight: 800; 
    text-align: center; 
    font-size: 1.4rem;
    position: relative;
}
.doctorsV2__spec { 
    margin: 0 1.5rem 1rem; 
    color: var(--primary-blue); 
    font-weight: 700; 
    text-align: center; 
    font-size: 1rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, rgba(74,144,226,0.1), rgba(126,211,33,0.1));
    border-radius: 20px;
    display: inline-block;
    margin-left: 50%;
    transform: translateX(-50%);
}
.doctorsV2__blurb { 
    margin: 0 1.5rem 1.5rem; 
    color: #5A6C7D; 
    text-align: center; 
    line-height: 1.7;
    flex-grow: 1;
    display: flex;
    align-items: center;
}

/* Mobile Carousel - Simple Working Design */
.doctorsV2__carousel { 
    display: none; 
    position: relative;
    margin: 2rem 0;
    padding: 0 1rem;
    overflow: hidden;
}

.doctorsV2__track { 
    display: flex; 
    width: 300%; /* 3 slides * 100% */
    transition: transform 0.5s ease;
}

.doctorsV2__slide { 
    width: 33.333%; /* 100% / 3 slides */
    flex-shrink: 0;
    padding: 0 0.5rem; 
    box-sizing: border-box;
}

.doctorsV2__slide .doctorsV2__card {
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    border: 2px solid transparent;
}

.doctorsV2__slide .doctorsV2__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e94560, #00bcd4);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.doctorsV2__slide .doctorsV2__card:hover::before {
    transform: scaleX(1);
}

.doctorsV2__slide .doctorsV2__card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(233, 69, 96, 0.2);
    border-color: rgba(233, 69, 96, 0.3);
}

.doctorsV2__slide .doctorsV2__img {
    height: 280px;
    background: linear-gradient(135deg, #eaf4ff, #f0f8ff);
    transition: all 0.4s ease;
}

.doctorsV2__slide .doctorsV2__card:hover .doctorsV2__img {
    transform: scale(1.05);
}

.doctorsV2__slide .doctorsV2__name {
    color: #1a1a2e;
    font-weight: 800;
    font-size: 1.5rem;
    margin: 1.5rem 1.5rem 0.5rem;
    text-align: center;
    transition: color 0.3s ease;
}

.doctorsV2__slide .doctorsV2__card:hover .doctorsV2__name {
    color: #e94560;
}

.doctorsV2__slide .doctorsV2__spec {
    background: linear-gradient(135deg, rgba(233, 69, 96, 0.1), rgba(0, 188, 212, 0.1));
    color: #e94560;
    border: 2px solid rgba(233, 69, 96, 0.2);
    transition: all 0.3s ease;
}

.doctorsV2__slide .doctorsV2__card:hover .doctorsV2__spec {
    background: linear-gradient(135deg, rgba(233, 69, 96, 0.2), rgba(0, 188, 212, 0.2));
    border-color: #e94560;
    transform: scale(1.05);
}

.doctorsV2__slide .doctorsV2__blurb {
    color: #5A6C7D;
    line-height: 1.6;
    margin: 0 1.5rem 1.5rem;
    text-align: center;
    transition: color 0.3s ease;
}

.doctorsV2__slide .doctorsV2__card:hover .doctorsV2__blurb {
    color: #2c5282;
}

/* Enhanced Navigation Controls - Navbar Theme */
.doctorsV2__controls { 
    display: flex; 
    justify-content: center; 
    gap: 1rem; 
    margin-top: 2rem;
    position: relative;
}

.doctorsV2__prev, .doctorsV2__next { 
    width: 50px; 
    height: 50px; 
    border-radius: 50%; 
    border: 2px solid #e94560;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    color: white;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(233, 69, 96, 0.3);
}

.doctorsV2__prev::before, .doctorsV2__next::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(233, 69, 96, 0.2), rgba(0, 188, 212, 0.2));
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s ease;
    transform: scale(0.8);
}

.doctorsV2__prev:hover::before, .doctorsV2__next:hover::before {
    opacity: 1;
    transform: scale(1);
}

.doctorsV2__prev:hover, .doctorsV2__next:hover { 
    transform: translateY(-3px) scale(1.1);
    box-shadow: 0 8px 25px rgba(233, 69, 96, 0.5);
    border-color: #00bcd4;
}

.doctorsV2__prev:active, .doctorsV2__next:active {
    transform: translateY(-1px) scale(1.05);
}

/* Carousel Indicators */
.doctorsV2__indicators {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
}

.doctorsV2__indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(233, 69, 96, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.doctorsV2__indicator.active {
    background: #e94560;
    transform: scale(1.2);
    border-color: #00bcd4;
}

.doctorsV2__indicator:hover {
    background: rgba(233, 69, 96, 0.6);
    transform: scale(1.1);
}

/* Desktop Book Consultation Button Styling */
.doctorsV2__btn {
    display: block;
    width: calc(100% - 3rem);
    margin: 0 1.5rem 1.5rem 1.5rem;
    padding: 0.875rem 1.5rem;
    background: linear-gradient(135deg, #1976d2 0%, #1565c0 100%);
    color: white;
    text-decoration: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
    position: relative;
    overflow: hidden;
    text-transform: none;
    letter-spacing: 0.5px;
}

.doctorsV2__btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.doctorsV2__btn:hover::before {
    left: 100%;
}

.doctorsV2__btn:hover {
    background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(25, 118, 210, 0.4);
    color: white;
}

.doctorsV2__btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3);
}

/* Responsive breakpoints - Desktop design only applies to larger screens */
@media (max-width: 1200px) { 
  .doctorsV2__grid { 
    grid-template-columns: repeat(3, 1fr); 
    gap: 2rem;
    padding: 0 1.5rem;
  }
}
@media (max-width: 992px) { 
  .doctorsV2__grid { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 1.5rem;
  }
  .doctorsV2__header h2 { font-size: 2.2rem; }
}
@media (max-width: 768px) {
  .doctorsV2__grid { display: none; }
  .doctorsV2__carousel { 
    display: block; 
    position: relative;
    overflow: hidden;
    margin: 2rem 0;
    padding: 0 1rem;
    width: 100%;
    height: auto;
  }
  
  .doctorsV2__track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    width: 300%; /* 3 slides * 100% */
    transform: translateX(0); /* Start at first slide */
  }
  
  .doctorsV2__slide {
    width: 33.333%; /* 100% / 3 slides */
    flex-shrink: 0;
    padding: 0 0.5rem;
    box-sizing: border-box;
    opacity: 1;
    visibility: visible;
    display: block;
  }
  
  /* New Simple Mobile Doctor Card Design - Layout as requested */
  .simple-doctor-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 2rem;
    margin: 0;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    border: none;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    width: 100%;
    height: auto;
    display: block;
    color: #333;
    text-align: center;
  }
  
  .simple-doctor-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  }
  
  .doctor-photo {
    margin-bottom: 1.5rem;
  }
  
  .doctor-photo img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #667eea;
    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
    transition: all 0.3s ease;
  }
  
  .doctor-photo img:hover {
    transform: scale(1.05);
    border-color: #764ba2;
  }
  
  .doctor-name {
    font-size: 1.4rem;
    font-weight: 700;
    color: #2c3e50;
    margin: 0 0 0.5rem 0;
    text-align: center;
  }
  
  .doctor-department {
    color: #667eea;
    font-size: 1rem;
    margin: 0 0 1rem 0;
    font-weight: 600;
    text-align: center;
    background: rgba(102, 126, 234, 0.1);
    padding: 0.5rem 1rem;
    border-radius: 15px;
    display: inline-block;
  }
  
  .doctor-description {
    color: #6c757d;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
    text-align: center;
    max-width: 280px;
    margin: 0 auto;
  }
  
  /* Side navigation buttons - positioned on left and right of cards */
  .floating-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem;
    pointer-events: none;
    z-index: 10;
  }
  
  .floating-btn {
    background: rgba(255, 255, 255, 0.95);
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    font-size: 1.2rem;
    color: #667eea;
    font-weight: bold;
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }
  
  .floating-btn:hover {
    background: white;
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  }
  
  .floating-btn:active {
    transform: scale(0.95);
  }
  
  .floating-btn:focus {
    outline: 2px solid #667eea;
    outline-offset: 2px;
  }
  
  /* Progress indicator */
  .progress-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
  }
  
  .progress-bar {
    width: 200px;
    height: 4px;
    background: rgba(102, 126, 234, 0.2);
    border-radius: 2px;
    overflow: hidden;
  }
  
  .progress-fill {
    height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    width: 33.333%;
    transition: width 0.5s ease;
    border-radius: 2px;
  }
  
  .slide-counter {
    font-size: 0.9rem;
    color: #667eea;
    font-weight: 600;
  }
  
  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
  }
  
  .doctorsV2__header h2 { font-size: 2rem; }
  .doctorsV2__header p { font-size: 1rem; }
}

/* ========================================
   ALL DOCTORS SECTION STYLES
   ======================================== */

.all-doctors-section {
    background: 
        linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%),
        radial-gradient(circle at 20% 80%, rgba(74, 144, 226, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(126, 211, 33, 0.03) 0%, transparent 50%);
    padding: 4rem 0;
    position: relative;
    min-height: auto;
}

.all-doctors-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(74, 144, 226, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(126, 211, 33, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.all-doctors__header {
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    z-index: 1;
}

.all-doctors__header h2 {
    color: #2c5282;
    font-weight: 800;
    margin: 0 0 1rem;
    font-size: 2.5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    position: relative;
}

.all-doctors__header h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    border-radius: 2px;
}

.all-doctors__header p {
    color: #5A6C7D;
    max-width: 800px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 1.6;
}

.all-doctors__list {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 1rem;
}

.all-doctors__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border-radius: 20px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    border: 2px solid transparent;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.all-doctors__item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    transition: left 0.3s ease;
}

.all-doctors__item:hover::before {
    left: 0;
}

.all-doctors__item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    border-color: rgba(74, 144, 226, 0.2);
}

.doctor-info {
    display: flex;
    align-items: center;
    flex: 1;
}

.doctor-avatar {
    width: 160px;
    height: 200px;
    border-radius: 12px;
    object-fit: cover;
    margin-right: 1.5rem;
    border: 3px solid #e9ecef;
    transition: all 0.3s ease;
}

.all-doctors__item:hover .doctor-avatar {
    border-color: var(--primary-blue);
    transform: scale(1.05);
}

.doctor-details {
    flex: 1;
}

.doctor-name {
    color: #2C3E50;
    font-weight: 700;
    font-size: 1.3rem;
    margin: 0 0 0.3rem 0;
    transition: color 0.3s ease;
}

.all-doctors__item:hover .doctor-name {
    color: var(--primary-blue);
}

.doctor-specialty {
    color: var(--primary-blue);
    font-weight: 600;
    font-size: 0.95rem;
    display: inline-block;
    background: rgba(74, 144, 226, 0.1);
    padding: 0.2rem 0.8rem;
    border-radius: 12px;
    margin-bottom: 0.5rem;
    border: 1px solid rgba(74, 144, 226, 0.2);
    transition: all 0.3s ease;
}

.all-doctors__item:hover .doctor-specialty {
    background: rgba(74, 144, 226, 0.15);
    border-color: var(--primary-blue);
}

.doctor-description {
    color: #5A6C7D;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.book-appointment-btn {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #1976d2 100%);
    color: white;
    text-decoration: none;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
    position: relative;
    overflow: hidden;
}

.book-appointment-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.book-appointment-btn:hover::before {
    left: 100%;
}

.book-appointment-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(74, 144, 226, 0.4);
    background: linear-gradient(135deg, #1976d2 0%, #0d47a1 100%);
}

.all-doctors__footer {
    text-align: center;
    margin-top: 3rem;
}

.view-all-doctors-btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--soft-green) 0%, #66bb6a 100%);
    color: white;
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(126, 211, 33, 0.3);
    position: relative;
    overflow: hidden;
}

.view-all-doctors-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.view-all-doctors-btn:hover::before {
    left: 100%;
}

.view-all-doctors-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(126, 211, 33, 0.4);
    background: linear-gradient(135deg, #66bb6a 0%, #4caf50 100%);
}

/* Mobile Responsive Styles */
@media (max-width: 768px) {
    .all-doctors-section {
        padding: 3rem 0;
    }
    
    .all-doctors__header h2 {
        font-size: 2rem;
    }
    
    .all-doctors__header p {
        font-size: 1rem;
        padding: 0 1rem;
    }
    
    .all-doctors__item {
        flex-direction: column;
        text-align: center;
        padding: 1.5rem 1rem;
    }
    
    .doctor-info {
        flex-direction: column;
        margin-bottom: 1rem;
    }
    
    .doctor-avatar {
        margin-right: 0;
        margin-bottom: 1rem;
        width: 280px;
        height: 295px;
    }
    
    .doctor-details {
        text-align: center;
    }
    
    .doctor-description {
        text-align: center;
    }
    
    .book-appointment-btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .all-doctors__list {
        padding: 0 0.5rem;
    }
    
    .all-doctors__item {
        padding: 1rem;
        margin-bottom: 1rem;
    }
    
    .doctor-name {
        font-size: 1.1rem;
    }
    
    .doctor-specialty {
        font-size: 0.85rem;
    }
    
    .doctor-description {
        font-size: 0.85rem;
    }
}

/* ========================================
   RAKSHA HOSPITAL - MAIN STYLESHEET
   Modern, Responsive, Medical Design
   ======================================== */

/* CSS Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* Medical Color Palette */
    --primary-blue: #4A90E2;
    --light-blue: #E8F4FD;
    --soft-green: #7ED321;
    --white: #FFFFFF;
    --light-gray: #F8F9FA;
    --dark-gray: #2C3E50;
    --text-gray: #5A6C7D;
    --border-gray: #E1E8ED;
    
    /* Typography */
    --font-primary: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --font-heading: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    
    /* Spacing */
    --section-padding: 4rem 0;
    --container-padding: 0 1rem;
    
    /* Shadows */
    --shadow-light: 0 2px 10px rgba(0, 0, 0, 0.1);
    --shadow-medium: 0 4px 20px rgba(0, 0, 0, 0.15);
    
    /* Transitions */
    --transition: all 0.3s ease;
}

/* Base Typography */
body {
    font-family: var(--font-primary);
    line-height: 1.6;
    color: var(--text-gray);
    background-color: var(--white);
    overflow-x: hidden;
    position: relative;
}

/* Floating background elements */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 10% 20%, rgba(74,144,226,0.03) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(47,183,163,0.03) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(233,69,96,0.02) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
    animation: backgroundFloat 20s ease-in-out infinite;
}

/* Animated geometric shapes in background */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(circle at 20% 30%, rgba(74,144,226,0.05) 0%, transparent 8px),
        radial-gradient(circle at 80% 70%, rgba(47,183,163,0.05) 0%, transparent 12px),
        radial-gradient(circle at 40% 80%, rgba(233,69,96,0.04) 0%, transparent 10px),
        radial-gradient(circle at 70% 20%, rgba(74,144,226,0.03) 0%, transparent 15px),
        radial-gradient(circle at 10% 60%, rgba(47,183,163,0.04) 0%, transparent 9px);
    pointer-events: none;
    z-index: -1;
    animation: geometricFloat 25s ease-in-out infinite;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--dark-gray);
    margin-bottom: 1rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }

p {
    margin-bottom: 1rem;
    color: var(--text-gray);
}

a {
    text-decoration: none;
    color: var(--primary-blue);
    transition: var(--transition);
}

a:hover {
    color: var(--dark-gray);
}

/* Container and Layout */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--container-padding);
}

.section {
    padding: var(--section-padding);
}

/* Alternating background theming for sections across pages */
.section:nth-of-type(odd) {
    background: linear-gradient(135deg, #f7fbff 0%, #f0f8ff 100%);
    position: relative;
    overflow: hidden;
}

.section:nth-of-type(odd)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 30%, rgba(74,144,226,0.02) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(47,183,163,0.02) 0%, transparent 40%);
    pointer-events: none;
    z-index: 0;
    animation: sectionGlow 8s ease-in-out infinite;
}

.section:nth-of-type(even) {
    background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
    position: relative;
    overflow: hidden;
}

.section:nth-of-type(even)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 70% 20%, rgba(233,69,96,0.01) 0%, transparent 40%),
        radial-gradient(circle at 30% 80%, rgba(74,144,226,0.01) 0%, transparent 40%);
    pointer-events: none;
    z-index: 0;
    animation: sectionGlow 8s ease-in-out infinite reverse;
}

/* Scroll-triggered background effect */
.scroll-bg-effect {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 50% 0%, rgba(74,144,226,0.02) 0%, transparent 50%),
        radial-gradient(circle at 0% 50%, rgba(47,183,163,0.02) 0%, transparent 50%),
        radial-gradient(circle at 100% 50%, rgba(233,69,96,0.02) 0%, transparent 50%);
    pointer-events: none;
    z-index: -4;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.scroll-bg-effect.active {
    opacity: 1;
}

/* ========================================
   COMPLETELY NEW HOSPITAL THEME
   Clean, Professional Medical Design
   ======================================== */

/* Header and Navigation - Fresh Hospital Theme */
.header {
    background: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    height: 70px;
    border-bottom: 3px solid #059669;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

/* Navigation Container */
.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Logo Styling */
.logo {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.nav-logo-img {
    height: 45px;
    width: auto;
}

/* Navigation Menu */
.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.nav-link {
    display: block;
    padding: 0.75rem 1.25rem;
    color: #374151;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nav-link:hover {
    color: #059669;
    background: #f0fdf4;
}

.nav-link.active {
    background: #059669;
    color: #ffffff;
}

/* Mobile Hamburger Menu */
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    padding: 0.5rem;
    background: #059669;
    border: none;
    border-radius: 6px;
    color: #ffffff;
    transition: all 0.3s ease;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background: #ffffff;
    margin: 3px 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.hamburger:hover {
    background: #047857;
    transform: scale(1.05);
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    display: none;
}

.mobile-menu-overlay.active {
    display: block;
}

/* Mobile Menu */
.mobile-menu {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: #ffffff;
    z-index: 9999;
    display: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-top: 3px solid #059669;
}

.mobile-menu.active {
    display: block;
}

.mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 1rem 0;
}

.mobile-menu li {
    border-bottom: 1px solid #e5e7eb;
}

.mobile-menu .nav-link {
    display: block;
    padding: 1rem 1.5rem;
    color: #374151;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border-radius: 0;
}

.mobile-menu .nav-link:hover {
    background: #f0fdf4;
    color: #059669;
}

.mobile-menu .nav-link.active {
    background: #059669;
    color: #ffffff;
}

/* Mobile Action Buttons */
.mobile-whatsapp-btn,
.mobile-emergency-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-left: 0.5rem;
}

.mobile-whatsapp-btn {
    background: #25D366;
    color: #ffffff;
}

.mobile-emergency-btn {
    background: #dc2626;
    color: #ffffff;
}

.mobile-whatsapp-btn:hover,
.mobile-emergency-btn:hover {
    transform: scale(1.1);
}

/* Responsive Design */
@media (max-width: 768px) {
    .nav-menu {
        display: none;
    }
    
    .hamburger {
        display: flex;
    }
    
    .mobile-whatsapp-btn,
    .mobile-emergency-btn {
        display: flex;
    }
    
    .nav-container {
        padding: 0 1rem;
    }
}

/* Scrolled Header */
.header.scrolled {
    background: #f8fafc;
    border-bottom-color: #047857;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* ========================================
   HERO SLIDER ACTION BUTTONS - HOSPITAL THEME
   ======================================== */

.hero-slider-actions {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.5rem;
    z-index: 10;
}

.hero-action-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    border: 2px solid transparent;
    white-space: nowrap;
}

.hero-action-primary {
    background: #059669;
    color: #ffffff;
    border-color: #047857;
}

.hero-action-primary:hover {
    background: #047857;
    border-color: #065f46;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(5, 150, 105, 0.4);
}

.hero-action-secondary {
    background: #ffffff;
    color: #059669;
    border-color: #059669;
}

.hero-action-secondary:hover {
    background: #f0fdf4;
    color: #047857;
    border-color: #047857;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(5, 150, 105, 0.3);
}

.hero-action-emergency {
    background: #dc2626;
    color: #ffffff;
    border-color: #b91c1c;
}

.hero-action-emergency:hover {
    background: #b91c1c;
    border-color: #991b1b;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(220, 38, 38, 0.4);
}

/* Mobile responsive for hero action buttons */
@media (max-width: 768px) {
    .hero-slider-actions {
        bottom: 20px;
        gap: 0.3rem;
        width: auto;
        max-width: 90%;
    }
    
    .hero-action-btn {
        padding: 0.4rem 0.8rem;
        font-size: 0.7rem;
        text-align: center;
    }
}

/* ========================================
   OVERRIDE ALL OLD STYLES - NEW HOSPITAL THEME
   ======================================== */

/* Override all existing navigation styles */
.header * {
    box-sizing: border-box;
}

/* Force new header styles */
.header {
    background: #ffffff !important;
    border-bottom: 3px solid #059669 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    height: 70px !important;
}

/* Force new navigation container */
.nav-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 70px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
}

/* Force new navigation menu */
.nav-menu {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

/* Force new navigation links */
.nav-link {
    display: block !important;
    padding: 0.75rem 1.25rem !important;
    color: #374151 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    transition: all 0.3s ease !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.nav-link:hover {
    color: #059669 !important;
    background: #f0fdf4 !important;
}

.nav-link.active {
    background: #059669 !important;
    color: #ffffff !important;
}

/* Force new hamburger menu */
.hamburger {
    display: none !important;
    flex-direction: column !important;
    cursor: pointer !important;
    padding: 0.5rem !important;
    background: #059669 !important;
    border: none !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    transition: all 0.3s ease !important;
}

.hamburger span {
    width: 25px !important;
    height: 3px !important;
    background: #ffffff !important;
    margin: 3px 0 !important;
    transition: all 0.3s ease !important;
    border-radius: 2px !important;
}

.hamburger:hover {
    background: #047857 !important;
    transform: scale(1.05) !important;
}

/* Force new mobile menu */
.mobile-menu {
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    background: #ffffff !important;
    z-index: 9999 !important;
    display: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    border-top: 3px solid #059669 !important;
}

.mobile-menu.active {
    display: block !important;
}

.mobile-menu .nav-link {
    display: block !important;
    padding: 1rem 1.5rem !important;
    color: #374151 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    border-radius: 0 !important;
}

.mobile-menu .nav-link:hover {
    background: #f0fdf4 !important;
    color: #059669 !important;
}

.mobile-menu .nav-link.active {
    background: #059669 !important;
    color: #ffffff !important;
}

/* Force new quick action button */
.quick-action-button {
    background: #059669 !important;
    border: 2px solid #047857 !important;
    box-shadow: 0 4px 15px rgba(5, 150, 105, 0.3) !important;
}

.quick-action-button:hover {
    background: #047857 !important;
    border-color: #065f46 !important;
    transform: translateY(-3px) scale(1.05) !important;
}

/* Force new quick action panel */
.quick-action-panel {
    background: #ffffff !important;
    border-left: 4px solid #059669 !important;
    box-shadow: -10px 0 30px rgba(5, 150, 105, 0.2) !important;
}

.panel-header {
    background: #059669 !important;
    border-bottom: 2px solid #047857 !important;
}

.quick-action-item {
    background: #f8fafc !important;
    border: 2px solid #e2e8f0 !important;
    color: #374151 !important;
}

.quick-action-item:hover {
    background: rgba(5, 150, 105, 0.1) !important;
    border-color: #059669 !important;
    color: #059669 !important;
}

/* Mobile responsive overrides */
@media (max-width: 768px) {
    .nav-menu {
        display: none !important;
    }
    
    .hamburger {
        display: flex !important;
    }
    
    .mobile-whatsapp-btn,
    .mobile-emergency-btn {
        display: flex !important;
    }
}

.particle {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(74,144,226,0.1);
    border-radius: 50%;
    animation: particleFloat 15s linear infinite;
}

.particle:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
.particle:nth-child(2) { top: 60%; left: 20%; animation-delay: 2s; }
.particle:nth-child(3) { top: 40%; left: 80%; animation-delay: 4s; }
.particle:nth-child(4) { top: 80%; left: 70%; animation-delay: 6s; }
.particle:nth-child(5) { top: 30%; left: 50%; animation-delay: 8s; }
.particle:nth-child(6) { top: 70%; left: 30%; animation-delay: 10s; }
.particle:nth-child(7) { top: 10%; left: 60%; animation-delay: 12s; }
.particle:nth-child(8) { top: 90%; left: 40%; animation-delay: 14s; }

/* Remove glowing accent lines */
.header::after {
    display: none;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
}

/* Logo styling for new theme */
.logo {
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 2;
}

.logo::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 50%;
    width: 4px;
    height: 40px;
    background: linear-gradient(180deg, #e94560, #00bcd4);
    border-radius: 2px;
    transform: translateY(-50%);
    animation: logoGlow 2s ease-in-out infinite;
}

.nav-logo-img {
    height: 50px;
    width: auto;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
    transition: transform 0.3s ease;
}

.nav-logo-img:hover {
    transform: scale(1.05);
}

.logo {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-blue);
}

.logo span {
    color: var(--soft-green);
}

/* Remove brand text from navbar */
.header .logo { display: none; }
/* Optional inline image inside .logo for desktop */
.nav-logo-img { display: none; height: 40px; width: auto; }

/* Large brand banner with logo below navbar */
/* Hide legacy brand banner globally (desktop + mobile) */
.brand-banner { display: none !important; }

.brand-banner::before,
.brand-banner::after {
    content: '';
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.15;
    z-index: 0;
    animation: floatSlow 24s ease-in-out infinite;
}
.brand-banner::before { 
    background: linear-gradient(45deg, #4A90E2, #2fb7a3); 
    top: -200px; left: -150px; 
}
.brand-banner::after { 
    background: linear-gradient(45deg, #10b981, #7ED321); 
    bottom: -250px; right: -180px; 
    animation-duration: 28s; 
}

@keyframes floatSlow {
  0%,100% { transform: translate(0,0) scale(1) rotate(0deg); }
  33% { transform: translate(25px, -15px) scale(1.05) rotate(2deg); }
  66% { transform: translate(-20px, 20px) scale(0.98) rotate(-1deg); }
}

.brand-logo-container {
    position: relative;
    z-index: 2;
    display: inline-block;
    animation: logoFloat 6s ease-in-out infinite;
}

@keyframes logoFloat {
  0%,100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

.brand-logo-main {
    max-width: 420px;
    width: 90%;
    height: auto;
    opacity: 0.85;
    filter: drop-shadow(0 15px 35px rgba(74,144,226,0.25));
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.brand-logo-main:hover {
    transform: scale(1.02);
    opacity: 1;
}

.brand-subtitle-new {
    position: relative;
    z-index: 2;
    margin-top: 1.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: #2b6cb0;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.9;
    animation: subtitleSlide 1.2s ease-out 0.5s both;
}

@keyframes subtitleSlide {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 0.9; transform: translateY(0); }
}

/* Large sliding image section below brand banner */
.hero-slider-section {
    position: relative;
    height: 70vh;
    overflow: hidden;
    background: #f8fafc;
    border-bottom: 2px solid transparent;
    border-image: linear-gradient(90deg, #4A90E2, #2fb7a3, #10b981) 1;
    margin-top: -1rem;
}

.hero-slider-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.hero-slider-track {
    display: flex;
    width: 100%;
    height: 100%;
}

.hero-slider-slide {
    flex: 1;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.hero-slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.hero-slider-slide.active img {
    transform: scale(1.05);
}

.hero-slider-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg, rgba(74,144,226,0.15) 0%, rgba(47,183,163,0.1) 100%);
    opacity: 0;
    transition: opacity 0.8s ease;
}

.hero-slider-slide.active .hero-slider-overlay {
    opacity: 1;
}

.hero-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255,255,255,0.9);
    border: none;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    font-size: 1.2rem;
    color: #4A90E2;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    z-index: 10;
}

.hero-slider-nav:hover {
    background: #4A90E2;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

.hero-slider-prev { left: 20px; }
.hero-slider-next { right: 20px; }

.hero-slider-indicators {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.hero-slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.hero-slider-dot.active {
    background: #4A90E2;
    border-color: rgba(255,255,255,0.8);
    transform: scale(1.2);
}

/* Ensure hero adjusts when banner is present */
.brand-banner + .hero { margin-top: 0; }

/* Feature Carousel (replaces hero dots carousel) - Simple Hospital Design */
.feature-carousel { position: relative; width: 100%; min-height: 52vh; overflow: hidden; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-top: 1rem; border: 1px solid #e0e6ed; }
.feature-carousel .fc-track { position: relative; width: 100%; min-height: inherit; }
.feature-carousel .fc-slide { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; transition: opacity .65s ease; 
  background: linear-gradient(135deg, #f8fbff 0%, #e3f2fd 100%);
  background-size: cover; background-position: center; }
.feature-carousel .fc-slide.active { opacity: 1; }
.feature-carousel .fc-inner { width: min(100%, 980px); padding: clamp(2rem, 5vw, 4rem) 1.25rem; text-align: center; color: #2c3e50; transform: translateY(10px); opacity: 0; transition: transform .6s ease, opacity .6s ease; }
.feature-carousel .fc-slide.active .fc-inner { transform: translateY(0); opacity: 1; }
.feature-carousel .fc-kicker {
  display:inline-block; margin-bottom:.5rem; padding:.4rem .8rem; border-radius:4px;
  background: #1976d2;
  border: none;
  font-size:.9rem; font-weight:600; letter-spacing:.3px; text-transform:uppercase; color:#fff;
  box-shadow: none;
  text-align: center;
}
.feature-carousel .fc-title {
  font-size: clamp(1.6rem, 3.6vw, 2.6rem);
  line-height:1.2;
  margin:.25rem 0 .5rem;
  font-weight:700;
  color:#1565c0;
  text-shadow: none;
  text-align: center;
}
.feature-carousel .fc-desc {
  font-size: clamp(1rem, 2.3vw, 1.12rem);
  max-width: 62ch;
  font-weight:400;
  line-height:1.6;
  color:#37474f;
  text-align: center;
  margin: 0 auto;
}
.feature-carousel .fc-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 4px; border: 1px solid #1976d2; background: #ffffff; color: #1976d2; display: grid; place-items: center; cursor: pointer; z-index: 2; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.feature-carousel .fc-prev { left: max(12px, calc((100% - 980px)/2 - 8px)); }
.feature-carousel .fc-next { right: max(12px, calc((100% - 980px)/2 - 8px)); }
.feature-carousel .fc-nav:hover { border-color: #1565c0; transform: translateY(-50%) scale(1.05); background: #1976d2; color: #ffffff; box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3); }
.feature-carousel .fc-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display:flex; gap:10px; }
.feature-carousel .fc-dots button { width: 10px; height: 10px; border-radius: 50%; background: #b0bec5; border: 1px solid #90a4ae; cursor: pointer; box-shadow: none; transition: transform .2s ease, background .2s ease; }
.feature-carousel .fc-dots button.active { background: #1976d2; border-color: #1565c0; transform: scale(1.2); }

@media (max-width: 768px) {
  .feature-carousel .fc-inner { text-align:center; }
  .feature-carousel .fc-desc { margin: 0 auto; }
  /* Move arrows to bottom corners on mobile */
  .feature-carousel .fc-nav { 
      top: auto; 
      bottom: 20px; 
      transform: none; 
      width: 40px; 
      height: 40px; 
      font-size: 1.2rem; 
  }
  .feature-carousel .fc-prev { left: 20px; }
  .feature-carousel .fc-next { right: 20px; }
  .feature-carousel .fc-nav:hover { 
      transform: scale(1.05); 
      background: #1976d2; 
      color: #ffffff;
      box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3); 
  }
}

/* Medical Excellence Section */
.medical-excellence {
    padding: 5rem 0;
    background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.medical-excellence::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #4A90E2, transparent);
}

.excellence-header {
    text-align: center;
    margin-bottom: 4rem;
}

.excellence-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c5282;
    margin-bottom: 1rem;
    position: relative;
}



/* Themed section title to match Medical Excellence header */
.section-title-themed {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c5282;
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
}
.section-title-themed::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #4A90E2, #2fb7a3);
    border-radius: 2px;
}

.excellence-header p {
    font-size: 1.1rem;
    color: #666;
    max-width: 600px;
    margin: 0 auto;
}

.excellence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.excellence-card {
    background: white;
    padding: 2.5rem 1.5rem;
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(74,144,226,0.1);
}

.excellence-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #4A90E2, #2fb7a3, #10b981);
}

.excellence-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
    background: #fbfdff;
}

.excellence-icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    background: linear-gradient(135deg, #4A90E2 0%, #2fb7a3 100%);
    border-radius: 50%;
    color: white;
    box-shadow: 0 8px 25px rgba(74,144,226,0.3);
}

.pulse-ring {
    position: absolute;
    inset: -10px;
    border: 2px solid rgba(74,144,226,0.3);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.3); opacity: 0; }
}

.excellence-card h3 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #2c5282;
    margin-bottom: 1rem;
}

.excellence-card p {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.excellence-stats {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.stat-number {
    font-size: 1.8rem;
    font-weight: 800;
    color: #4A90E2;
    background: linear-gradient(135deg, #4A90E2, #2fb7a3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stat-label {
    font-size: 0.9rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .brand-banner { padding: 4rem 0 4.5rem; }
    .brand-logo-main { max-width: 320px; }
    .brand-subtitle-new { font-size: 1.1rem; margin-top: 1rem; }
    .hero-slider-section { height: 50vh; }
    .hero-slider-nav { width: 40px; height: 40px; font-size: 1rem; }
    .hero-slider-prev { left: 15px; }
    .hero-slider-next { right: 15px; }
    .medical-excellence { padding: 3rem 0; }
    .excellence-header h2 { font-size: 2rem; }
    .excellence-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .excellence-card { padding: 2rem 1.5rem; }
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: 0;
    align-items: center;
    position: relative;
    z-index: 2;
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(10px);
    border-radius: 50px;
    padding: 0.5rem;
    border: 1px solid rgba(255,255,255,0.1);
}

/* New navigation link design */
.nav-menu li {
    position: relative;
}

.nav-menu li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -1px;
    top: 50%;
    width: 1px;
    height: 20px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.2), transparent);
    transform: translateY(-50%);
}

.nav-menu li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(233,69,96,0.2), rgba(0,150,136,0.2));
    border-radius: 25px;
    opacity: 0;
    transition: all 0.3s ease;
    transform: scale(0.8);
}

.nav-menu li:hover::after {
    transform: translate(-50%, -50%) scale(1);
}

/* Dropdown styles for new theme */
.nav-dropdown {
    position: relative;
}

.dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.dropdown-arrow {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
    color: #ffffff;
    opacity: 0.8;
}

.nav-dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
    opacity: 1;
}

.dropdown-menu {
    position: absolute;
    top: 120%;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    padding: 1rem 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(-20px);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 9999;
    border: 2px solid rgba(233,69,96,0.3);
    backdrop-filter: blur(20px);
}

.dropdown-menu::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #1a1a2e;
}

.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    z-index: 9999;
}

/* Ensure dropdown stays above other elements */
.nav-dropdown {
    position: relative;
    z-index: 9998;
}

.dropdown-item {
    display: block;
    padding: 1rem 1.5rem;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    font-weight: 500;
    text-align: center;
    border-radius: 0;
}

.dropdown-item:hover {
    background: linear-gradient(135deg, rgba(233,69,96,0.2), rgba(0,150,136,0.2));
    color: #ffffff;
    transform: translateX(10px);
    padding-left: 2rem;
}

.dropdown-item:first-child {
    border-radius: 20px 20px 0 0;
}

.dropdown-item:last-child {
    border-radius: 0 0 20px 20px;
}

.dropdown-item::before {
    content: '→';
    position: absolute;
    left: 1rem;
    opacity: 0;
    transition: all 0.3s ease;
    transform: translateX(-10px);
}

.dropdown-item:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.nav-link {
    color: #1f2937;
    font-weight: 600;
    padding: 1rem 1.5rem;
    border-radius: 25px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    z-index: 1;
    text-decoration: none;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 0.9rem;
    white-space: nowrap;
    display: inline-block;
}

.nav-link:hover {
    color: #0ea5e9;
    background: rgba(14, 165, 233, 0.1);
    transform: translateY(-2px);
    text-shadow: none;
}

.nav-link:hover + li::before,
.nav-link:hover ~ li::before {
    opacity: 0;
}

.nav-link:hover::before {
    opacity: 1;
    transform: scale(1);
}

.nav-link.active {
    background: linear-gradient(135deg, #e94560, #00bcd4);
    color: #ffffff;
    box-shadow: 0 8px 25px rgba(233,69,96,0.4);
    transform: translateY(-2px);
}

.nav-link.active::before {
    opacity: 0;
}

.nav-link.active {
    background: var(--primary-blue);
    color: var(--white);
}

/* Mobile-First Navigation */
.hamburger {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    padding: 0.8rem;
    background: #0ea5e9;
    border-radius: 12px;
    border: 2px solid #0284c7;
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    min-width: 55px;
    min-height: 55px;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

/* Desktop Navigation - Hide hamburger on larger screens */
@media (min-width: 769px) {
    .hamburger {
        display: none;
    }
}

.hamburger::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.hamburger:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.4);
    border-color: #0369a1;
    background: #0284c7;
}

.hamburger:hover::before {
    opacity: 1;
}

.hamburger span {
    width: 26px;
    height: 3.5px;
    background: #ffffff;
    margin: 2.5px 0;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 3px;
    transform-origin: center;
    position: relative;
    z-index: 1;
    display: block;
}

.hamburger:hover span {
    background: #ffffff;
    box-shadow: 0 0 8px rgba(255,255,255,0.6);
}

/* Active hamburger animation */
.hamburger.active {
    background: #0369a1;
    border-color: #075985;
    transform: rotate(90deg);
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
    width: 22px;
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
    transform: translateX(-10px);
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
    width: 22px;
}

/* WhatsApp button for mobile - positioned between logo and hamburger */
.mobile-whatsapp-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.3);
    box-shadow: 0 4px 15px rgba(37,211,102,0.4);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
    transform-origin: center center;
}

.mobile-call-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-call-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(5,150,105,0.5);
    border-color: rgba(255,255,255,0.5);
}

.mobile-call-btn:hover::before {
    opacity: 1;
}

.mobile-call-btn:active {
    transform: translateY(-1px) scale(0.98);
}

.mobile-whatsapp-btn .whatsapp-icon {
    width: 28px;
    height: 28px;
    color: #ffffff;
    z-index: 1;
    position: relative;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    animation: whatsappPulse 2s ease-in-out infinite;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
}

/* WhatsApp pulse animation */
@keyframes whatsappPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* WhatsApp message bubble animation */
@keyframes whatsappBubble {
    0% { transform: scale(1) rotate(0deg); }
    25% { transform: scale(1.1) rotate(5deg); }
    50% { transform: scale(1.05) rotate(-2deg); }
    75% { transform: scale(1.1) rotate(3deg); }
    100% { transform: scale(1) rotate(0deg); }
}

.mobile-whatsapp-btn {
    animation: whatsappBubble 3s ease-in-out infinite;
}

.mobile-whatsapp-btn:hover {
    animation: none;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(37,211,102,0.5);
    border-color: rgba(255,255,255,0.5);
}

.mobile-whatsapp-btn:active {
    transform: translateY(-1px) scale(0.98);
}

.mobile-whatsapp-btn:focus {
    outline: none;
}



/* Emergency Call button for mobile - positioned after WhatsApp button */
.mobile-emergency-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background: linear-gradient(135deg, #ff4444 0%, #cc0000 100%);
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.3);
    box-shadow: 0 4px 15px rgba(255,68,68,0.4);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
    margin-left: 0;
    transform-origin: center center;
}

.mobile-emergency-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(255,68,68,0.5);
    border-color: rgba(255,255,255,0.5);
}

.mobile-emergency-btn:active {
    transform: translateY(-1px) scale(0.98);
}

.mobile-emergency-btn:focus {
    outline: none;
}

.mobile-emergency-btn .emergency-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    z-index: 1;
    position: relative;
}

/* Emergency button bubble animation (same as WhatsApp) */
.mobile-emergency-btn {
    animation: emergencyBubble 3s ease-in-out infinite;
}

.mobile-emergency-btn:hover {
    animation: none;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(255,68,68,0.5);
    border-color: rgba(255,255,255,0.5);
}

/* Emergency bubble animation */
@keyframes emergencyBubble {
    0% { transform: scale(1) rotate(0deg); }
    25% { transform: scale(1.1) rotate(5deg); }
    50% { transform: scale(1.05) rotate(-2deg); }
    75% { transform: scale(1.1) rotate(3deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* Mobile header layout: logo left (image), call button center, menu right; hide big banner */
@media (max-width: 768px) {
  .nav-container { 
    justify-content: space-between; 
    align-items: center; 
    padding: 0.8rem 1rem; 
    gap: 0;
    position: relative;
    display: flex;
  }
  /* Render real <img> on mobile */
  .header .logo { display: block; }
  .nav-logo-img { 
    display: block; 
    height: 56px; 
    max-width: 180px; 
    width: auto; 
    flex-shrink: 0;
  }
  .hamburger { 
    display: flex; 
    margin-left: 0; 
    flex-shrink: 0;
  }
  .mobile-whatsapp-btn {
    display: flex;
    flex-shrink: 0;
    position: absolute;
    left: 48%;
    transform: translateX(-50%);
  }
  .mobile-emergency-btn {
    display: flex;
    flex-shrink: 0;
    position: absolute;
    left: 65%;
    transform: translateX(-50%);
  }
  .brand-banner { display: none !important; }
}

@media (max-width: 480px) {
  .nav-container {
    padding: 0.6rem 0.8rem;
  }
  .nav-logo-img {
    height: 48px;
    max-width: 150px;
  }
  .mobile-whatsapp-btn {
    width: 50px;
    height: 50px;
  }
  .mobile-whatsapp-btn .whatsapp-icon {
    font-size: 1.3rem;
  }

  .mobile-emergency-btn {
    width: 50px;
    height: 50px;
  }
  .mobile-emergency-btn .emergency-icon {
    width: 24px;
    height: 24px;
  }
  .hamburger {
    padding: 0.7rem;
    min-width: 50px;
    min-height: 50px;
  }
  .hamburger span {
    width: 24px;
    height: 3px;
    margin: 2px 0;
  }
}

/* Mobile drawer styles */
.mobile-overlay { 
    position: fixed; 
    inset: 0; 
    background: rgba(14, 165, 233, 0.8); 
    opacity: 0; 
    visibility: hidden; 
    transition: opacity .35s ease; 
    z-index: 1000; 
    backdrop-filter: blur(10px);
}
.mobile-overlay.open { opacity: 1; visibility: visible; }
.mobile-drawer { 
    position: fixed; 
    top: 0; 
    right: -250px; 
    width: 250px; 
    height: 100vh; 
    background: #ffffff; 
    color: #1f2937; 
    z-index: 1001; 
    transition: all .5s cubic-bezier(.22,.61,.36,1); 
    box-shadow: -15px 0 40px rgba(14, 165, 233, 0.3); 
    padding: 50px 15px 15px; 
    border-left: 3px solid #0ea5e9;
    overflow-y: auto;
    transform: translateX(0);
    backdrop-filter: blur(10px);
}

.mobile-drawer.open { 
    right: 0; 
    transform: translateX(0);
    box-shadow: -20px 0 60px rgba(0,0,0,0.7);
}
.mobile-drawer.open { right: 0; }
.mobile-drawer__close { 
    position: absolute; 
    top: 15px; 
    right: 15px; 
    width: 40px; 
    height: 40px; 
    border-radius: 50%; 
    background: linear-gradient(135deg, #e94560, #ff6b6b); 
    color: #fff; 
    border: none; 
    cursor: pointer; 
    box-shadow: 0 4px 15px rgba(233,69,96,0.4);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    z-index: 10002;
}
.mobile-drawer__list { 
    list-style: none; 
    margin: 0; 
    padding: 0.5rem; 
    padding-top: 1.9rem; 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
}

.mobile-drawer__list a { 
    display: block; 
    padding: 0.8rem 1rem; 
    border-radius: 10px; 
    color: #1f2937 !important; 
    text-decoration: none; 
    background: #f8fafc; 
    backdrop-filter: blur(8px); 
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); 
    border: 1px solid #e2e8f0;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin: 0.15rem 0;
    transform: translateX(0);
    opacity: 1;
    z-index: 10;
}

/* Remove animation delays for immediate visibility */

.mobile-drawer__list a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(233,69,96,0.2), transparent);
    transition: left 0.4s ease;
}

.mobile-drawer__list a:hover::before {
    left: 100%;
}

.mobile-drawer__list a:hover { 
    transform: translateX(3px) scale(1.01); 
    background: rgba(14, 165, 233, 0.1); 
    border-color: #0ea5e9;
    box-shadow: 0 4px 15px rgba(14, 165, 233, 0.2);
    color: #0ea5e9 !important;
}

/* Hero Section */
.hero {
    /* Background image (per-slide) + soft gradient base */
    background-image: var(--hero-bg, none), radial-gradient(1200px 400px at 50% -100px, #eaf5ff, var(--white) 60%);
    background-size: cover, auto;
    background-position: center, center top;
    background-repeat: no-repeat, no-repeat;
    padding: 6rem 0 4rem;
    text-align: center;
    margin-top: 0;
    position: relative;
}

/* New Modern Hero Theme for Doctors Section */
.hero.doctors-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    position: relative;
    overflow: hidden;
    padding: 8rem 0 4rem;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero.doctors-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 25% 25%, rgba(255,255,255,0.1) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(255,255,255,0.08) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, transparent 50%);
    animation: modernHeroGlow 12s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}

/* Animated geometric shapes for modern hero */
.hero.doctors-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 15% 20%, rgba(255,255,255,0.15) 0%, transparent 8px),
        radial-gradient(circle at 85% 30%, rgba(255,255,255,0.12) 0%, transparent 12px),
        radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 10px),
        radial-gradient(circle at 80% 70%, rgba(255,255,255,0.08) 0%, transparent 15px),
        radial-gradient(circle at 50% 10%, rgba(255,255,255,0.06) 0%, transparent 6px);
    animation: modernGeometricFloat 20s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

/* Floating medical icons */
.hero.doctors-hero .floating-icons {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 3;
}

/* Ensure consistent icon positioning across all screen sizes */
.hero.doctors-hero .floating-icon {
    position: absolute;
    font-size: 2.5rem;
    color: rgba(255,255,255,0.15);
    animation: iconFloat 15s linear infinite;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
}

.hero.doctors-hero .floating-icon:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
.hero.doctors-hero .floating-icon:nth-child(2) { top: 60%; left: 20%; animation-delay: 3s; }
.hero.doctors-hero .floating-icon:nth-child(3) { top: 40%; left: 80%; animation-delay: 6s; }
.hero.doctors-hero .floating-icon:nth-child(4) { top: 80%; left: 70%; animation-delay: 9s; }
.hero.doctors-hero .floating-icon:nth-child(5) { top: 30%; left: 50%; animation-delay: 12s; }

.hero.doctors-hero .floating-icon {
    position: absolute;
    font-size: 2.5rem;
    color: rgba(255,255,255,0.15);
    animation: iconFloat 15s linear infinite;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.2));
}

.hero.doctors-hero .floating-icon:nth-child(1) { top: 20%; left: 10%; animation-delay: 0s; }
.hero.doctors-hero .floating-icon:nth-child(2) { top: 60%; left: 20%; animation-delay: 3s; }
.hero.doctors-hero .floating-icon:nth-child(3) { top: 40%; left: 80%; animation-delay: 6s; }
.hero.doctors-hero .floating-icon:nth-child(4) { top: 80%; left: 70%; animation-delay: 9s; }
.hero.doctors-hero .floating-icon:nth-child(5) { top: 30%; left: 50%; animation-delay: 12s; }
/* Disable previous ::after layer (moved to background on .hero) */
.hero::after { content: none; }

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.55) 100%);
}

/* When a hero background image is present, lighten the overlay so the image is clearly visible */
.hero.has-hero-bg::before {
    background: linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.28) 100%);
}

.hero .container { position: relative; z-index: 2; }

/* Alternate hero style: match 'Get in Touch' soft gradient */
.hero-soft {
    background: linear-gradient(135deg, #f8fafc 0%, #e8f4fd 100%) !important;
}

.hero-soft::after { background-image: none !important; }
.hero-soft::before { background: none !important; }

.hero h1 { font-size: 3rem; margin-bottom: 1rem; color: var(--dark-gray); }
.hero.contact-hero h1 { color: var(--white); }
.hero h1 { font-weight: 800; }

/* Enhanced text styling for doctors hero */
.hero.doctors-hero h1 {
    color: #ffffff;
    font-size: 3.5rem;
    font-weight: 900;
    text-shadow: 0 4px 20px rgba(0,0,0,0.3);
    animation: titleGlow 3s ease-in-out infinite;
    position: relative;
    margin-bottom: 1.5rem;
}

/* Standardize hero content structure */
.hero.doctors-hero .container,
.hero.doctors-hero .hero-content {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 4;
}

.hero.doctors-hero h1::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 4px;
    background: linear-gradient(90deg, #ff6b6b, #4ecdc4, #45b7d1);
    border-radius: 2px;
    animation: titleUnderline 2s ease-out 0.5s forwards;
}

.hero.doctors-hero p {
    color: rgba(255,255,255,0.95);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto 3rem;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    animation: subtitleFade 2s ease-out 1s both;
    opacity: 0;
    transform: translateY(20px);
}

.hero p { font-size: 1.2rem; color: var(--text-gray); margin-bottom: 2rem; max-width: 720px; margin-left: auto; margin-right: auto; }

/* Animated background blobs for hero without external images */
.bg-anim {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}
.bg-anim span {
    position: absolute;
    display: block;
    width: 480px; height: 480px;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.22; /* make blobs subtle behind images */
    animation: floatBlob 18s ease-in-out infinite;
}
.bg-anim span:nth-child(1){background:#4A90E2; top:-120px; left:-120px;}
.bg-anim span:nth-child(2){background:#10b981; bottom:-160px; left:10%; animation-duration:22s;}
.bg-anim span:nth-child(3){background:#ee5a52; top:-140px; right:-140px; animation-duration:20s;}
.bg-anim span:nth-child(4){background:#7ED321; bottom:-180px; right:5%; animation-duration:24s;}
.bg-anim span:nth-child(5){background:#4A90E2; top:30%; left:-140px; width:360px; height:360px; animation-duration:26s;}
.bg-anim span:nth-child(6){background:#10b981; top:20%; right:-160px; width:420px; height:420px; animation-duration:28s;}

@keyframes floatBlob {
  0%,100% { transform: translate(0,0) scale(1); }
  25% { transform: translate(30px,-20px) scale(1.05); }
  50% { transform: translate(-20px,25px) scale(0.98); }
  75% { transform: translate(10px,15px) scale(1.03); }
}

/* Hero slider */
.hero-slider { position: relative; max-width: 960px; margin: 0 auto; }
.hero-slide {
    opacity: 0; visibility: hidden; transform: translateY(15px);
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
    position: absolute; left: 0; right: 0; padding: 0 1rem;
}
.hero-slide.active { opacity: 1; visibility: visible; transform: translateY(0); position: relative; }

/* Optional background image per slide */
.hero-slide { border-radius: 18px; padding-top: 2.5rem; padding-bottom: 2.5rem; }

.hero-slide h1, .hero-slide p, .hero-slide .hero-buttons { position: relative; z-index: 1; }

/* Remove per-slide overlay; overlay applied at section level */
.hero-dots { display: flex; justify-content: center; gap: 10px; margin-top: 1rem; }
.hero-dot { width: 8px; height: 8px; border-radius: 50%; background: #d5e9ff; border: none; cursor: pointer; transition: transform 0.2s ease, background 0.2s ease; }
.hero-dot.active { background: var(--primary-blue); transform: scale(1.15); }

@media (max-width: 768px) {
    .hero h1 { font-size: 2.3rem; }
    .hero p { font-size: 1.05rem; }
    
    /* Mobile responsive for doctors hero */
    .hero.doctors-hero {
        padding: 6rem 0 3rem;
        min-height: 50vh;
    }
    
    .hero.doctors-hero h1 {
        font-size: 2.5rem;
    }
    
    .hero.doctors-hero p {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }
    
    .hero.doctors-hero .btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.9rem;
        min-width: 110px;
    }
    
    .hero.doctors-hero .floating-icon {
        font-size: 2rem;
    }
    
    .hero.doctors-hero .hero-buttons {
        flex-direction: row;
        align-items: center;
        gap: 0.75rem;
        margin-top: 1.5rem;
    }
    
    .hero.doctors-hero .container,
    .hero.doctors-hero .hero-content {
        padding: 0 1rem;
    }
}

/* Tablet responsive design */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero.doctors-hero {
        padding: 7rem 0 4rem;
        min-height: 55vh;
    }
    
    .hero.doctors-hero h1 {
        font-size: 3rem;
    }
    
    .hero.doctors-hero p {
        font-size: 1.2rem;
    }
    
    .hero.doctors-hero .container,
    .hero.doctors-hero .hero-content {
        padding: 0 1.5rem;
    }
}

.btn {
    display: inline-block;
    padding: 1rem 2rem;
    background: var(--primary-blue);
    color: var(--white);
    border-radius: 50px;
    font-weight: 600;
    transition: var(--transition);
    border: none;
    cursor: pointer;
    font-size: 1rem;
}

.btn:hover {
    background: var(--dark-gray);
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

.btn-secondary {
    background: transparent;
    color: var(--primary-blue);
    border: 2px solid var(--primary-blue);
}

.btn-secondary:hover {
    background: var(--primary-blue);
    color: var(--white);
}

/* Services Section */
/* Ensure hero and first content section contrast nicely */
.services {
    background: #ffffff;
}

/* Enhanced Health Checkup Packages */
.packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.package-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(74, 144, 226, 0.08);
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    transform: translateY(0);
}

.package-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}



.package-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(74, 144, 226, 0.2);
}

.package-card:hover::before {
    transform: scaleX(1);
}



.package-card .package-header {
    padding: 1.5rem 1.5rem 1rem;
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
    text-align: center;
}

.package-card .package-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark-gray);
    margin: 0 0 0.5rem;
    transition: color 0.3s ease;
}

.package-card:hover .package-title {
    color: #667eea;
}

.package-card .package-price {
    font-size: 2rem;
    font-weight: 800;
    color: #667eea;
    margin: 0;
}

.package-card .package-features {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.package-card .package-features ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.package-card .package-features li {
    padding: 0.5rem 0;
    color: var(--text-gray);
    position: relative;
    padding-left: 1.5rem;
}

.package-card .package-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #667eea;
    font-weight: bold;
    font-size: 1.1rem;
}

.package-card .package-actions {
    padding: 1rem 1.5rem 1.5rem;
    display: flex;
    justify-content: center;
}

.package-card .package-actions .btn {
    width: 100%;
    height: 48px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.package-card .package-actions .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

/* Modern Card Design System */
.blog-grid, .specialities-grid, .packages-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 2rem; 
    margin-top: 2rem;
}

/* Enhanced Blog Cards with Navbar Light Theme */
.blog-card { 
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(74, 144, 226, 0.08);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    transform: translateY(0);
}

.blog-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}



.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(74, 144, 226, 0.2);
}

.blog-card:hover::before {
    transform: scaleX(1);
}



.blog-thumb { 
    width: 100%; 
    height: 200px; 
    object-fit: cover; 
    background: linear-gradient(135deg, #e8f4fd 0%, #f0f7ff 100%);
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-thumb {
    transform: scale(1.05);
}

.blog-body { 
    padding: 1.5rem; 
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.blog-body h3 { 
    margin: 0; 
    color: var(--dark-gray);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.blog-card:hover .blog-body h3 {
    color: #667eea;
}

.blog-body p { 
    margin: 0; 
    color: var(--text-gray);
    line-height: 1.6;
    font-size: 0.95rem;
}

/* Blog Card Enhanced Elements */
.blog-description { 
    margin: 0; 
    color: var(--text-gray);
    line-height: 1.6;
    font-size: 0.95rem;
    font-style: italic;
}

/* Health Checkup Package Card Enhanced Elements */
.package-description { 
    margin: 0; 
    color: var(--text-gray);
    line-height: 1.6;
    font-size: 0.95rem;
    font-style: italic;
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.package-features { 
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.5rem 0;
    animation: slideInLeft 0.8s ease-out 0.2s both;
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.package-features .feature-tag { 
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    position: relative;
    overflow: hidden;
    animation: tagFloat 0.6s ease-out 0.4s both;
}

.package-features .feature-tag:nth-child(1) { animation-delay: 0.4s; }
.package-features .feature-tag:nth-child(2) { animation-delay: 0.6s; }
.package-features .feature-tag:nth-child(3) { animation-delay: 0.8s; }

@keyframes tagFloat {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.package-features .feature-tag::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.package-features .feature-tag:hover::before {
    left: 100%;
}

.package-features .feature-tag:nth-child(2) {
    background: linear-gradient(135deg, #f093fb, #f5576c);
}

.package-features .feature-tag:nth-child(3) {
    background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.package-features .feature-tag:hover { 
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a6fd8, #6a4190);
}

.package-features .feature-tag:nth-child(2):hover {
    background: linear-gradient(135deg, #e085e8, #e54a5f);
}

.package-features .feature-tag:nth-child(3):hover {
    background: linear-gradient(135deg, #4a9bfe, #00e6e6);
}

.package-points { 
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    animation: slideInRight 0.8s ease-out 0.6s both;
    min-height: 200px; /* Ensure consistent height */
    justify-content: flex-start;
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.package-points li { 
    color: var(--text-gray);
    font-size: 0.85rem;
    line-height: 1.5;
    padding-left: 1.2rem;
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: listItemFade 0.5s ease-out both;
    opacity: 0;
    transform: translateX(20px);
    min-height: 1.5rem; /* Ensure consistent line height */
    display: flex;
    align-items: center;
}

.package-points li:nth-child(1) { animation-delay: 0.8s; }
.package-points li:nth-child(2) { animation-delay: 0.9s; }
.package-points li:nth-child(3) { animation-delay: 1.0s; }
.package-points li:nth-child(4) { animation-delay: 1.1s; }
.package-points li:nth-child(5) { animation-delay: 1.2s; }
.package-points li:nth-child(6) { animation-delay: 1.3s; }

@keyframes listItemFade {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.package-points li::before { 
    content: '•';
    color: #667eea;
    font-weight: bold;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scale(1);
    transition: all 0.3s ease;
    width: 0.8rem;
    text-align: center;
}

.package-points li:hover { 
    color: var(--dark-gray);
    transform: translateX(5px);
    padding-left: 1.5rem;
}

.package-points li:hover::before {
    color: #4facfe;
    transform: scale(1.2);
    animation: bulletPulse 0.6s ease-in-out;
}

@keyframes bulletPulse {
    0%, 100% { transform: scale(1.2); }
    50% { transform: scale(1.5); }
}

.package-points li:last-child { 
    margin-bottom: 0;
}

/* Enhanced Package Card Animations */
.package-card {
    animation: cardEntrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%; /* Ensure all cards have same height */
    justify-content: space-between;
}

/* Package card content alignment */
.package-card h3 {
    margin: 0 0 0.5rem 0;
    flex-shrink: 0;
}

.package-card .package-description {
    margin: 0 0 0.5rem 0;
    flex-shrink: 0;
}

.package-card .package-features {
    margin: 0.5rem 0;
    flex-shrink: 0;
}

.package-card .package-points {
    flex: 1; /* Take remaining space */
    margin: 0.5rem 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.package-card .package-cta {
    margin-top: auto; /* Push to bottom */
    flex-shrink: 0;
}

.package-card:nth-child(1) { animation-delay: 0.1s; }
.package-card:nth-child(2) { animation-delay: 0.2s; }
.package-card:nth-child(3) { animation-delay: 0.3s; }
.package-card:nth-child(4) { animation-delay: 0.4s; }
.package-card:nth-child(5) { animation-delay: 0.5s; }
.package-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes cardEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.package-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.package-card:hover::after {
    opacity: 1;
}

/* Floating animation for package cards */
.package-card:hover {
    animation: cardFloat 3s ease-in-out infinite;
}

@keyframes cardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* Price animation */
.package-cta .price {
    animation: priceGlow 2s ease-in-out infinite alternate;
    transition: all 0.3s ease;
}

@keyframes priceGlow {
    from { 
        text-shadow: 0 0 5px rgba(102, 126, 234, 0.5);
        transform: scale(1);
    }
    to { 
        text-shadow: 0 0 20px rgba(102, 126, 234, 0.8);
        transform: scale(1.05);
    }
}

.package-cta .price:hover {
    animation: pricePulse 0.6s ease-in-out;
}

@keyframes pricePulse {
    0%, 100% { transform: scale(1.05); }
    50% { transform: scale(1.1); }
}

/* Enhanced Package Card Button Styling */
.package-cta .btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    text-decoration: none;
    display: inline-block;
    text-align: center;
    min-width: 120px;
}

.package-cta .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.package-cta .btn:hover::before {
    left: 100%;
}

.package-cta .btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.6);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.package-cta .btn:active {
    transform: translateY(-1px) scale(1.02);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

/* Button pulse animation on load */
.package-cta .btn {
    animation: buttonPulse 2s ease-in-out infinite alternate;
}

@keyframes buttonPulse {
    from {
        box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    }
    to {
        box-shadow: 0 4px 20px rgba(102, 126, 234, 0.6);
    }
}

/* Button entrance animation */
.package-cta .btn {
    animation: buttonEntrance 0.8s ease-out 1.4s both, buttonPulse 2s ease-in-out infinite alternate 2.2s;
}

@keyframes buttonEntrance {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Enhanced CTA container */
.package-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
    border-radius: 15px;
    border: 1px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
}

.package-cta:hover {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
    border-color: rgba(102, 126, 234, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.1);
}

/* Enhanced Main CTA Button Styling */
.section .btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 1rem 2rem;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    text-decoration: none;
    display: inline-block;
    text-align: center;
    min-width: 150px;
}

.section .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.8s ease;
}

.section .btn:hover::before {
    left: 100%;
}

.section .btn:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 12px 30px rgba(102, 126, 234, 0.6);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.section .btn:active {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

/* Main CTA button entrance animation */
.section .btn {
    animation: mainButtonEntrance 1s ease-out 1.6s both;
}

@keyframes mainButtonEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
        filter: blur(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* Button ripple effect */
.section .btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.section .btn:active::after {
    width: 300px;
    height: 300px;
}

/* Enhanced Doctor Card Animations & Effects */
.doctor-card {
    animation: doctorCardEntrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.doctor-card:nth-child(1) { animation-delay: 0.1s; }
.doctor-card:nth-child(2) { animation-delay: 0.2s; }
.doctor-card:nth-child(3) { animation-delay: 0.3s; }
.doctor-card:nth-child(4) { animation-delay: 0.4s; }
.doctor-card:nth-child(5) { animation-delay: 0.5s; }
.doctor-card:nth-child(6) { animation-delay: 0.6s; }
.doctor-card:nth-child(7) { animation-delay: 0.7s; }
.doctor-card:nth-child(8) { animation-delay: 0.8s; }
.doctor-card:nth-child(9) { animation-delay: 0.9s; }

@keyframes doctorCardEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.doctor-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.doctor-card:hover::after {
    opacity: 1;
}

/* Floating animation for doctor cards */
.doctor-card:hover {
    animation: doctorCardFloat 3s ease-in-out infinite;
}

@keyframes doctorCardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* Doctor card content alignment */
.doctor-card .doctor-name {
    margin: 0 0 0.5rem 0;
    flex-shrink: 0;
    animation: fadeInUp 0.6s ease-out 0.4s both;
}

.doctor-card .doctor-specialization {
    margin: 0 0 0.5rem 0;
    flex-shrink: 0;
    animation: fadeInUp 0.6s ease-out 0.5s both;
}

.doctor-card .doctor-description {
    margin: 0 0 0.5rem 0;
    flex-shrink: 0;
    animation: fadeInUp 0.6s ease-out 0.6s both;
}

.doctor-card .doctor-features {
    margin: 0.5rem 0;
    flex-shrink: 0;
    animation: slideInLeft 0.8s ease-out 0.7s both;
}

.doctor-card .doctor-points {
    flex: 1;
    margin: 0.5rem 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    animation: slideInRight 0.8s ease-out 0.8s both;
    min-height: 150px;
}

/* Doctor feature tags enhanced styling */
.doctor-features .feature-tag {
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    position: relative;
    overflow: hidden;
    animation: tagFloat 0.6s ease-out 0.9s both;
}

.doctor-features .feature-tag:nth-child(1) { animation-delay: 0.9s; }
.doctor-features .feature-tag:nth-child(2) { animation-delay: 1.1s; }
.doctor-features .feature-tag:nth-child(3) { animation-delay: 1.3s; }

.doctor-features .feature-tag:nth-child(2) {
    background: linear-gradient(135deg, #f093fb, #f5576c);
}

.doctor-features .feature-tag:nth-child(3) {
    background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.doctor-features .feature-tag:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a6fd8, #6a4190);
}

.doctor-features .feature-tag:nth-child(2):hover {
    background: linear-gradient(135deg, #e085e8, #e54a5f);
}

.doctor-features .feature-tag:nth-child(3):hover {
    background: linear-gradient(135deg, #4a9bfe, #00e6e6);
}

.doctor-features .feature-tag::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.doctor-features .feature-tag:hover::before {
    left: 100%;
}

/* Doctor points enhanced styling */
.doctor-points li {
    color: var(--text-gray);
    font-size: 0.85rem;
    line-height: 1.5;
    padding-left: 1.2rem;
    position: relative;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: listItemFade 0.5s ease-out both;
    opacity: 0;
    transform: translateX(20px);
    min-height: 1.5rem;
    display: flex;
    align-items: center;
}

.doctor-points li:nth-child(1) { animation-delay: 1.0s; }
.doctor-points li:nth-child(2) { animation-delay: 1.1s; }
.doctor-points li:nth-child(3) { animation-delay: 1.2s; }
.doctor-points li:nth-child(4) { animation-delay: 1.3s; }

.doctor-points li::before {
    content: '•';
    color: #667eea;
    font-weight: bold;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) scale(1);
    transition: all 0.3s ease;
    width: 0.8rem;
    text-align: center;
}

.doctor-points li:hover {
    color: var(--dark-gray);
    transform: translateX(5px);
    padding-left: 1.5rem;
}

.doctor-points li:hover::before {
    color: #4facfe;
    transform: translateY(-50%) scale(1.2);
    animation: bulletPulse 0.6s ease-in-out;
}

/* Doctor image enhancements */
.doctor-image {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: imageEntrance 0.8s ease-out 0.3s both;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

@keyframes imageEntrance {
    from {
        opacity: 0;
        transform: scale(0.8) rotate(-2deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

.doctor-card:hover .doctor-image {
    transform: scale(1.05) rotate(1deg);
    filter: brightness(1.1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Enhanced doctor card background pattern */
.doctor-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 80%, rgba(102, 126, 234, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(118, 75, 162, 0.03) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    border-radius: 20px;
}

.doctor-card:hover::after {
    opacity: 1;
}

/* Doctor specialization badge enhancement */
.doctor-specialization {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
    color: #667eea;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
    margin-bottom: 1rem;
    border: 1px solid rgba(102, 126, 234, 0.2);
    transition: all 0.3s ease;
    animation: specializationEntrance 0.6s ease-out 0.6s both;
}

@keyframes specializationEntrance {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.doctor-card:hover .doctor-specialization {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.2), rgba(118, 75, 162, 0.2));
    border-color: rgba(102, 126, 234, 0.4);
    transform: scale(1.05);
}

/* Doctor name enhancement */
.doctor-name {
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: all 0.3s ease;
}

.doctor-card:hover .doctor-name {
    background: linear-gradient(135deg, #5a6fd8, #6a4190);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Doctor CTA Button Styling */
.doctor-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: auto;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
    border-radius: 15px;
    border: 1px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
    animation: ctaEntrance 0.8s ease-out 1.4s both;
}

.doctor-cta:hover {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
    border-color: rgba(102, 126, 234, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.1);
}

@keyframes ctaEntrance {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Doctor Consultation Button Styling */
.btn-consultation {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 0.8rem 1.5rem;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    text-decoration: none;
    display: inline-block;
    text-align: center;
    min-width: 140px;
}

.btn-consultation::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.btn-consultation:hover::before {
    left: 100%;
}

.btn-consultation:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.6);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.btn-consultation:active {
    transform: translateY(-1px) scale(1.02);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

/* Button pulse animation */
.btn-consultation {
    animation: consultationButtonPulse 2s ease-in-out infinite alternate;
}

@keyframes consultationButtonPulse {
    from {
        box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    }
    to {
        box-shadow: 0 4px 20px rgba(102, 126, 234, 0.6);
    }
}

/* Enhanced Medical Excellence Section */
.medical-excellence {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.02), rgba(118, 75, 162, 0.02));
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

.excellence-header {
    text-align: center;
    margin-bottom: 3rem;
    animation: headerEntrance 1s ease-out both;
}

.excellence-header h2 {
    color: var(--dark-gray);
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.excellence-header p {
    color: var(--text-gray);
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

@keyframes headerEntrance {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.excellence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.excellence-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(102, 126, 234, 0.08);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    animation: excellenceCardEntrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

.excellence-card:nth-child(1) { animation-delay: 0.1s; }
.excellence-card:nth-child(2) { animation-delay: 0.2s; }
.excellence-card:nth-child(3) { animation-delay: 0.3s; }
.excellence-card:nth-child(4) { animation-delay: 0.4s; }
.excellence-card:nth-child(5) { animation-delay: 0.5s; }
.excellence-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes excellenceCardEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.excellence-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.excellence-card:hover::before {
    transform: scaleX(1);
}

.excellence-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(102, 126, 234, 0.2);
}

.excellence-icon {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
    border-radius: 50%;
    animation: iconFloat 3s ease-in-out infinite;
}

@keyframes iconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

.pulse-ring {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 2px solid rgba(102, 126, 234, 0.3);
    border-radius: 50%;
    animation: pulseRing 2s ease-in-out infinite;
}

@keyframes pulseRing {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.excellence-card h3 {
    color: var(--dark-gray);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.excellence-card:hover h3 {
    color: #667eea;
}

.excellence-card p {
    color: var(--text-gray);
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.excellence-stats {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.stat-number {
    font-size: 2rem;
    font-weight: 800;
    color: #667eea;
    text-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
    animation: statPulse 2s ease-in-out infinite alternate;
}

@keyframes statPulse {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}

.stat-label {
    font-size: 0.9rem;
    color: var(--text-gray);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Enhanced Services Section */
.services {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.03), rgba(118, 75, 162, 0.03));
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

.services .section-title-themed {
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: serviceTitleEntrance 1s ease-out 0.2s both;
}

@keyframes serviceTitleEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.services .text-center {
    animation: serviceSubtitleEntrance 1s ease-out 0.4s both;
}

@keyframes serviceSubtitleEntrance {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.service-card {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(102, 126, 234, 0.08);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    animation: serviceCardEntrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

.service-card:nth-child(1) { animation-delay: 0.6s; }
.service-card:nth-child(2) { animation-delay: 0.7s; }
.service-card:nth-child(3) { animation-delay: 0.8s; }
.service-card:nth-child(4) { animation-delay: 0.9s; }
.service-card:nth-child(5) { animation-delay: 1.0s; }
.service-card:nth-child(6) { animation-delay: 1.1s; }

@keyframes serviceCardEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.service-card:hover::before {
    transform: scaleX(1);
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(102, 126, 234, 0.2);
}

.service-icon {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    display: inline-block;
    animation: serviceIconFloat 3s ease-in-out infinite;
    filter: drop-shadow(0 4px 8px rgba(102, 126, 234, 0.2));
}

@keyframes serviceIconFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-5px) rotate(2deg); }
}

.service-card:hover .service-icon {
    animation: serviceIconSpin 0.6s ease-in-out;
}

@keyframes serviceIconSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.service-card h3 {
    color: var(--dark-gray);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.service-card:hover h3 {
    color: #667eea;
}

.service-card p {
    color: var(--text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Enhanced Why Choose Us Section */
.why-choose {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(118, 75, 162, 0.04));
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
}

.why-choose .section-title-themed {
    background: linear-gradient(135deg, #667eea, #764ba2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: whyChooseTitleEntrance 1s ease-out 0.3s both;
}

@keyframes whyChooseTitleEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.why-choose .text-center {
    animation: whyChooseSubtitleEntrance 1s ease-out 0.5s both;
}

@keyframes whyChooseSubtitleEntrance {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feature-item {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(102, 126, 234, 0.08);
    border-radius: 20px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    animation: featureItemEntrance 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}

.feature-item:nth-child(1) { animation-delay: 0.7s; }
.feature-item:nth-child(2) { animation-delay: 0.8s; }
.feature-item:nth-child(3) { animation-delay: 0.9s; }
.feature-item:nth-child(4) { animation-delay: 1.0s; }
.feature-item:nth-child(5) { animation-delay: 1.1s; }
.feature-item:nth-child(6) { animation-delay: 1.2s; }
.feature-item:nth-child(7) { animation-delay: 1.3s; }

@keyframes featureItemEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

.feature-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.feature-item:hover::before {
    transform: scaleX(1);
}

.feature-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(102, 126, 234, 0.2);
}

.feature-icon {
    font-size: 3rem;
    margin-bottom: 1.5rem;
    display: inline-block;
    animation: featureIconFloat 3s ease-in-out infinite;
    filter: drop-shadow(0 4px 8px rgba(102, 126, 234, 0.2));
}

@keyframes featureIconFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-5px) scale(1.05); }
}

.feature-item:hover .feature-icon {
    animation: featureIconBounce 0.8s ease-in-out;
}

@keyframes featureIconBounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

.feature-item h3 {
    color: var(--dark-gray);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.feature-item:hover h3 {
    color: #667eea;
}

.feature-item p {
    color: var(--text-gray);
    line-height: 1.6;
    margin: 0;
}

/* Enhanced slide-in animations for feature items */
.slide-in-left {
    animation: slideInLeftEnhanced 1s ease-out both;
}

@keyframes slideInLeftEnhanced {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Enhanced Doctors Grid Layout */
.doctors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 2.5rem;
    margin-top: 3rem;
    position: relative;
}





.doctors-grid::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(102, 126, 234, 0.02) 0%, transparent 50%),
        radial-gradient(circle at 90% 80%, rgba(118, 75, 162, 0.02) 0%, transparent 50%);
    pointer-events: none;
    z-index: -1;
}

/* Scroll-triggered animations for doctor cards */
.doctor-card {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.doctor-card.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Enhanced hover effects for doctor cards */
.doctor-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}



/* Doctor card content spacing improvements */
.doctor-info {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Enhanced feature tags spacing */
.doctor-features {
    margin: 1rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

/* Enhanced points list spacing */
.doctor-points {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.doctor-points li {
    margin-bottom: 0.8rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
}

.doctor-points li:last-child {
    border-bottom: none;
}

.doctor-points li:hover {
    background: rgba(102, 126, 234, 0.05);
    border-radius: 8px;
    padding-left: 1rem;
}

/* CTA button container enhancement */
.doctor-cta {
    margin-top: 1.5rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(118, 75, 162, 0.05));
    border-radius: 15px;
    border: 1px solid rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
}

.doctor-cta:hover {
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1), rgba(118, 75, 162, 0.1));
    border-color: rgba(102, 126, 234, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.1);
}

/* Floating Consultation Button for Doctors Page */
.floating-consultation-btn {
    position: fixed;
    bottom: 100px;
    right: 30px;
    z-index: 1000;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: floatingBtnEntrance 1s ease-out 2s both;
}

@keyframes floatingBtnEntrance {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.floating-btn-content {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 50px;
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.floating-btn-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s ease;
}

.floating-btn-content:hover::before {
    left: 100%;
}

.floating-btn-content:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 30px rgba(102, 126, 234, 0.6);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}

.floating-btn-icon {
    font-size: 1.2rem;
    animation: floatingIconBounce 2s ease-in-out infinite;
}

@keyframes floatingIconBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-3px); }
}

.floating-btn-text {
    white-space: nowrap;
}

.floating-btn-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border: 2px solid rgba(102, 126, 234, 0.3);
    border-radius: 50px;
    transform: translate(-50%, -50%);
    animation: floatingBtnPulse 2s ease-in-out infinite;
}

@keyframes floatingBtnPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}

/* Mobile responsive for floating button */
@media (max-width: 768px) {
    .floating-consultation-btn {
        bottom: 120px;
        right: 20px;
    }
    
    .floating-btn-content {
        padding: 0.8rem 1.2rem;
        font-size: 0.8rem;
    }
    
    .floating-btn-text {
        display: none;
    }
    
    .floating-btn-icon {
        font-size: 1.5rem;
    }
    

}

.blog-features { 
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.5rem 0;
}

.blog-features .feature-tag { 
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.blog-features .feature-tag:nth-child(2) {
    background: linear-gradient(135deg, #f093fb, #f5576c);
}

.blog-features .feature-tag:nth-child(3) {
    background: linear-gradient(135deg, #4facfe, #00f2fe);
}

.blog-features .feature-tag:hover { 
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a6fd8, #6a4190);
}

.blog-features .feature-tag:nth-child(2):hover {
    background: linear-gradient(135deg, #e085e8, #e54a5f);
}

.blog-features .feature-tag:nth-child(3):hover {
    background: linear-gradient(135deg, #4a9bfe, #00e6e6);
}

.blog-points { 
    list-style: none;
    padding: 0;
    margin: 0.75rem 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.blog-points li { 
    color: var(--text-gray);
    font-size: 0.85rem;
    line-height: 1.5;
    padding-left: 1.5rem;
    position: relative;
    transition: color 0.3s ease;
    margin-bottom: 0.25rem;
}

.blog-points li::before { 
    content: '•';
    color: #e94560;
    font-weight: bold;
    font-size: 1.2rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.blog-points li:hover { 
    color: var(--dark-gray);
}

.blog-points li:last-child { 
    margin-bottom: 0;
}

/* Enhanced Speciality Cards with Navbar Light Theme */
.speciality-card { 
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid rgba(74, 144, 226, 0.08);
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    transform: translateY(0);
}

.speciality-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}



.speciality-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    border-color: rgba(74, 144, 226, 0.2);
}

.speciality-card:hover::before {
    transform: scaleX(1);
}



.speciality-card img { 
    width: 100%; 
    height: 200px; 
    object-fit: cover; 
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4fd 100%);
    transition: transform 0.4s ease;
}

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

.speciality-card .body { 
    padding: 1.5rem; 
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.speciality-card h3 { 
    margin: 0; 
    color: var(--dark-gray);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.speciality-card:hover h3 {
    color: #667eea;
}

.speciality-card p { 
    margin: 0; 
    color: var(--text-gray);
    line-height: 1.6;
    font-size: 0.95rem;
}

.speciality-card .actions { 
    margin-top: auto; 
    display: flex; 
    justify-content: center; 
    padding: 1rem 1.5rem 1.5rem;
}

.speciality-card .actions .btn { 
    width: 100%;
    height: 48px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Enhanced Card Elements */
.card-description {
    font-size: 1rem;
    color: #666;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.card-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.feature-tag {
    background: linear-gradient(135deg, #e94560 0%, #00bcd4 100%);
    color: white;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(233, 69, 96, 0.3);
    transition: all 0.3s ease;
}

.feature-tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(233, 69, 96, 0.4);
}

.card-details {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    padding: 0.5rem 0;
}

/* Point-wise Card Lists */
.card-points {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}

.card-points li {
    position: relative;
    padding: 0.5rem 0 0.5rem 1.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.5;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
}

.card-points li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0.5rem;
    color: #25D366;
    font-weight: bold;
    font-size: 0.8rem;
}

.card-points li:hover {
    border-left-color: #e94560;
    background: rgba(233, 69, 96, 0.05);
    padding-left: 1.8rem;
    transform: translateX(3px);
}

.card-points li:last-child {
    margin-bottom: 0;
}

/* Doctor Card Enhancements */
.doctor-description {
    font-size: 1rem;
    color: #666;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.doctor-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.doctor-points {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}

.doctor-points li {
    position: relative;
    padding: 0.5rem 0 0.5rem 1.5rem;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.5;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
}

.doctor-points li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0.5rem;
    color: #25D366;
    font-weight: bold;
    font-size: 0.8rem;
}

.doctor-points li:hover {
    border-left-color: #e94560;
    background: rgba(233, 69, 96, 0.05);
    padding-left: 1.8rem;
    transform: translateX(3px);
}

.doctor-points li:last-child {
    margin-bottom: 0;
}

.speciality-card .actions .btn {
    padding: 0 1.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.speciality-card .actions .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
}
.speciality-card .actions .btn.long-label { font-size: 0.95rem; }

@media (max-width: 600px) {
  .speciality-card .actions .btn { width: 100%; }
}

/* Enhanced Gallery Styles */
.gallery-categories {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 3rem 0;
}

.categories-wrapper {
    text-align: center;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 1rem;
    animation: titleEntrance 0.8s ease-out;
}

.section-subtitle {
    font-size: 1.2rem;
    color: #6c757d;
    margin-bottom: 2rem;
    animation: subtitleEntrance 1s ease-out 0.2s both;
}

.category-filters {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.category-filter {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    animation: filterEntrance 1s ease-out 0.4s both;
}

.category-filter:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.category-filter.active {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
}

.gallery-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin: 2rem 0;
    max-width: 1200px;
    margin: 2rem auto;
}

/* Desktop specific layout for better arrangement */
@media (min-width: 1024px) {
    .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }
    
    .featured-item {
        grid-column: span 2;
        grid-row: span 2;
    }
}

@media (min-width: 769px) and (max-width: 1023px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
    
    .featured-item {
        grid-column: span 2;
    }
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    opacity: 0;
    transform: translateY(30px);
    animation: galleryItemEntrance 0.8s ease-out forwards;
}

.gallery-item.gallery-item-entrance {
    opacity: 1;
    transform: translateY(0);
}

.gallery-item:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.gallery-card {
    position: relative;
    height: 100%;
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.4s ease;
}

.gallery-card:hover {
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
}

.gallery-image-wrapper {
    position: relative;
    min-height: 250px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border-radius: 15px;
    padding: 10px;
}

.gallery-image {
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 10px;
}

/* Featured item gets larger size */
.featured-item .gallery-image-wrapper {
    min-height: 400px;
    padding: 15px;
}

.featured-item .gallery-image {
    max-height: 500px;
}

/* Desktop specific image sizing */
@media (min-width: 1024px) {
    .gallery-image-wrapper {
        min-height: 280px;
        padding: 12px;
    }
    
    .gallery-image {
        max-height: 450px;
    }
    
    .featured-item .gallery-image-wrapper {
        min-height: 450px;
        padding: 20px;
    }
    
    .featured-item .gallery-image {
        max-height: 600px;
    }
}

.gallery-item:hover .gallery-image {
    transform: scale(1.1);
}

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.9) 0%, rgba(118, 75, 162, 0.9) 100%);
    opacity: 0;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.overlay-content {
    text-align: center;
    color: white;
    padding: 2rem;
    transform: translateY(20px);
    transition: transform 0.4s ease;
}

.gallery-item:hover .overlay-content {
    transform: translateY(0);
}

.image-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.image-description {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    opacity: 0.9;
}

.overlay-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.view-btn, .zoom-btn {
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    font-weight: 500;
}

.view-btn:hover, .zoom-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}

.gallery-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
    animation: badgeFloat 3s ease-in-out infinite;
}


/* Gallery Stats Section */
.gallery-stats {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 4rem 0;
    color: white;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
}

.stat-item {
    padding: 2rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    animation: statEntrance 0.8s ease-out both;
}

.stat-item:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.stat-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    animation: iconFloat 3s ease-in-out infinite;
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stat-label {
    font-size: 1.1rem;
    opacity: 0.9;
    font-weight: 500;
}

/* Gallery Hero Enhancements */
.gallery-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    position: relative;
    overflow: hidden;
}

.gallery-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="gallery-pattern" x="0" y="0" 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(%23gallery-pattern)"/></svg>');
    opacity: 0.3;
}

.gallery-title {
    font-size: 4rem;
    font-weight: 800;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    animation: galleryTitleEntrance 1s ease-out;
}

.gallery-subtitle {
    font-size: 1.4rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    animation: gallerySubtitleEntrance 1s ease-out 0.3s both;
}

.gallery-btn {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    animation: galleryBtnEntrance 1s ease-out 0.6s both;
}

.gallery-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.gallery-btn:hover::before {
    left: 100%;
}

.gallery-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}

/* Enhanced Floating Icons for Gallery */
.gallery-icon-1 { animation: galleryIconFloat1 6s ease-in-out infinite; }
.gallery-icon-2 { animation: galleryIconFloat2 7s ease-in-out infinite; }
.gallery-icon-3 { animation: galleryIconFloat3 8s ease-in-out infinite; }
.gallery-icon-4 { animation: galleryIconFloat4 6.5s ease-in-out infinite; }
.gallery-icon-5 { animation: galleryIconFloat5 7.5s ease-in-out infinite; }
.gallery-icon-6 { animation: galleryIconFloat6 8.5s ease-in-out infinite; }
.gallery-icon-7 { animation: galleryIconFloat7 6.8s ease-in-out infinite; }
.gallery-icon-8 { animation: galleryIconFloat8 7.2s ease-in-out infinite; }

/* Responsive Design */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0 1rem;
    }
    
    .gallery-image-wrapper {
        min-height: 200px;
        max-height: none;
    }
    
    .gallery-image {
        width: 100%;
        height: auto;
        max-height: 300px;
        object-fit: contain;
    }
    
    .featured-item,
    .wide-item {
        grid-column: span 1;
    }
    
    .category-filters {
        flex-direction: column;
        align-items: center;
    }
    
    .category-filter {
        width: 200px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0 1rem;
    }
    
    .stat-item {
        padding: 1.5rem;
        margin: 0 0.5rem;
    }
    
    .stat-icon {
        font-size: 2.5rem;
    }
    
    .stat-number {
        font-size: 2.5rem;
    }
    
    .stat-label {
        font-size: 1rem;
    }
    
    .gallery-title {
        font-size: 2.5rem;
    }
    
    .gallery-subtitle {
        font-size: 1.1rem;
    }
    
    .lightbox-close,
    .lightbox-prev,
    .lightbox-next {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
    }
    
    .lightbox-info {
        min-width: 250px;
        bottom: -60px;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        padding: 0 0.5rem;
    }
    
    .stat-item {
        padding: 1rem;
        margin: 0 0.25rem;
    }
    
    .stat-icon {
        font-size: 2rem;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .stat-label {
        font-size: 0.9rem;
    }
    
    .gallery-title {
        font-size: 2rem;
    }
    
    .gallery-subtitle {
        font-size: 1rem;
    }
}

/* Enhanced Lightbox Styles */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    display: none;
    z-index: 1000;
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    backdrop-filter: blur(10px);
}

.lightbox.open {
    display: flex;
    opacity: 1;
}

.lightbox.lightbox-entrance {
    animation: lightboxEntrance 0.6s ease-out;
}

.lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    margin: auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-image-container {
    position: relative;
    max-width: 100%;
    max-height: 100%;
}

.lightbox-img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 15px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease;
}

.lightbox-img:hover {
    transform: scale(1.02);
}

.lightbox-info {
    position: absolute;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.1);
    padding: 1rem 2rem;
    border-radius: 25px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    text-align: center;
    min-width: 300px;
}

.lightbox-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.lightbox-description {
    font-size: 1rem;
    opacity: 0.9;
    margin: 0;
}

.lightbox-close,
.lightbox-prev,
.lightbox-next {
    position: absolute;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    padding: 1rem;
    border-radius: 50%;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-close:hover,
.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
}

.lightbox-close {
    top: 30px;
    right: 30px;
}

.lightbox-prev {
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
}

.lightbox-next {
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }

/* Background animation keyframes */
@keyframes backgroundFloat {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
        opacity: 0.8;
    }
    50% {
        transform: translateY(-20px) rotate(1deg);
        opacity: 1;
    }
}

@keyframes geometricFloat {
    0%, 100% {
        transform: translateX(0px) translateY(0px) rotate(0deg);
        opacity: 0.6;
    }
    25% {
        transform: translateX(10px) translateY(-15px) rotate(1deg);
        opacity: 0.8;
    }
    50% {
        transform: translateX(-5px) translateY(10px) rotate(-1deg);
        opacity: 0.7;
    }
    75% {
        transform: translateX(-15px) translateY(-5px) rotate(0.5deg);
        opacity: 0.9;
    }
}

@keyframes gridFloat {
    0%, 100% {
        transform: translateY(0px);
        opacity: 0.3;
    }
    50% {
        transform: translateY(-10px);
        opacity: 0.5;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes expandWidth {
    from {
        width: 0;
    }
    to {
        width: 60px;
    }
}

@keyframes heroGlow {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.05);
    }
}

@keyframes particleFloat {
    0% {
        transform: translateY(0px) translateX(0px);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100px) translateX(20px);
        opacity: 0;
    }
}

@keyframes sectionGlow {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.02);
    }
}

/* New keyframe animations for modern doctors hero */
@keyframes modernHeroGlow {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1) rotate(0deg);
    }
    50% {
        opacity: 1;
        transform: scale(1.1) rotate(1deg);
    }
}

@keyframes modernGeometricFloat {
    0%, 100% {
        transform: translateX(0px) translateY(0px) rotate(0deg);
        opacity: 0.8;
    }
    25% {
        transform: translateX(15px) translateY(-20px) rotate(2deg);
        opacity: 1;
    }
    50% {
        transform: translateX(-10px) translateY(15px) rotate(-1deg);
        opacity: 0.9;
    }
    75% {
        transform: translateX(-20px) translateY(-10px) rotate(1deg);
        opacity: 1;
    }
}

@keyframes titleGlow {
    0%, 100% {
        text-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }
    50% {
        text-shadow: 0 4px 30px rgba(255,255,255,0.2), 0 0 40px rgba(255,255,255,0.1);
    }
}

@keyframes titleUnderline {
    from {
        width: 0;
    }
    to {
        width: 120px;
    }
}

@keyframes subtitleFade {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes buttonsSlideIn {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes iconFloat {
    0% {
        transform: translateY(0px) translateX(0px) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        transform: translateY(-80px) translateX(30px) rotate(360deg);
        opacity: 0;
    }
}

.package-card {
    background: #ffffff;
    border: 1px solid rgba(74,144,226,0.15);
    border-radius: 16px;
    box-shadow: var(--shadow-light);
    padding: 1.25rem 1.25rem 1rem;
    position: relative;
    display: flex;
    flex-direction: column; /* enable sticky footer area */
}
.package-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.package-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-medium); }

.package-card .tag {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #10b981;
    color: #fff;
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    z-index: 1;
}

.package-card h3 { margin: 0 0 0.25rem; color: var(--dark-gray); padding-right: 150px; }
.package-card .subtitle { color: var(--text-gray); margin: 0 0 0.75rem; font-size: 0.95rem; padding-right: 150px; }

.package-includes { margin: 0.5rem 0 1rem; padding-left: 1.2rem; }
.package-includes li { margin: 0.35rem 0; }

.package-cta { margin-top: auto; display: flex; align-items: center; justify-content: space-between; }
.package-cta .btn { min-width: 140px; text-align: center; }
.package-cta .price { font-weight: 800; color: var(--primary-blue); font-size: 1.1rem; }

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.service-card {
    background: var(--white);
    padding: 2rem;
    border-radius: 15px;
    text-align: center;
    box-shadow: var(--shadow-light);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-medium);
    background: #f9fbff;
}

.service-icon {
    width: 80px;
    height: 80px;
    background: var(--light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 2rem;
    color: var(--primary-blue);
}

/* Why Choose Us Section */
.why-choose { background: #f7fbff; }

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.feature-item {
    text-align: center;
    padding: 1.5rem;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    position: relative;
}

.feature-icon {
    width: 60px;
    height: 60px;
    background: var(--soft-green);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: var(--white);
    font-size: 1.5rem;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    position: relative;
}

/* subtle pulse ring for icon on hover */
.feature-icon::after {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: radial-gradient(rgba(16,185,129,0.15), transparent 60%);
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.feature-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.feature-item:hover .feature-icon {
    transform: scale(1.08);
    box-shadow: 0 10px 22px rgba(16, 185, 129, 0.35);
    background: linear-gradient(135deg, var(--soft-green) 0%, #2fb7a3 100%);
}

.feature-item:hover .feature-icon::after {
    opacity: 1;
    transform: scale(1.05);
}

/* Testimonials Section */
.testimonials {
    background: linear-gradient(135deg, var(--light-blue) 0%, #f5fbff 100%);
}

.testimonials-slider {
    margin-top: 3rem;
    position: relative;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.testimonial-card {
    background: var(--white);
    padding: 2rem;
    border-radius: 15px;
    text-align: center;
    box-shadow: var(--shadow-light);
    margin: 0 1rem;
    border: 1px solid var(--border-gray);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-medium);
}

.testimonial-text {
    font-style: italic;
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    color: var(--text-gray);
    position: relative;
}

.testimonial-text::before {
    content: '“';
    position: absolute;
    left: -10px;
    top: -10px;
    font-size: 3rem;
    line-height: 1;
    color: var(--light-blue);
    font-weight: 700;
}

.testimonial-stars {
    color: #f5b301;
    letter-spacing: 2px;
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
}

.testimonial-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

.testimonial-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--light-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--primary-blue);
    box-shadow: var(--shadow-light);
}

.testimonial-author {
    font-weight: 600;
    color: var(--dark-gray);
}

.testimonial-role {
    color: var(--primary-blue);
    font-size: 0.9rem;
}

/* Slider navigation arrows */
.slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--white);
    border: 1px solid var(--border-gray);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow-light);
    cursor: pointer;
    color: var(--dark-gray);
    transition: var(--transition);
}

.slider-nav:hover {
    background: var(--light-blue);
    color: var(--primary-blue);
    box-shadow: var(--shadow-medium);
}

.slider-nav.prev { left: -20px; }
.slider-nav.next { right: -20px; }

/* Slider dots */
.slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 1.25rem;
}

.slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cfe3f7;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.slider-dot.active {
    background: var(--primary-blue);
    transform: scale(1.15);
}

@media (max-width: 768px) {
    .slider-nav.prev { left: -10px; }
    .slider-nav.next { right: -10px; }
    .testimonial-card { padding: 1.5rem; }
    .testimonial-avatar { width: 48px; height: 48px; font-size: 1.25rem; }
}

/* Testimonials CTA Styles */
.testimonials-cta {
    text-align: center;
    margin-top: 3rem;
    padding: 2rem;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(10px);
}

.testimonials-cta .cta-text {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.review-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    background: linear-gradient(135deg, #4285f4 0%, #34a853 100%);
    color: white;
    padding: 1rem 2rem;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(66, 133, 244, 0.3);
    border: none;
    cursor: pointer;
}

.review-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(66, 133, 244, 0.4);
    background: linear-gradient(135deg, #3367d6 0%, #2d8f47 100%);
}

.review-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(66, 133, 244, 0.3);
}

.google-icon {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

/* Mobile responsiveness for testimonials CTA */
@media (max-width: 768px) {
    .testimonials-cta {
        margin-top: 2rem;
        padding: 1.5rem;
    }
    
    .testimonials-cta .cta-text {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .review-btn {
        padding: 0.875rem 1.5rem;
        font-size: 0.9rem;
    }
    
    .google-icon {
        width: 18px;
        height: 18px;
    }
}

/* Doctors Section */
.doctors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.doctor-card {
    background: var(--white);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: var(--shadow-light);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.doctor-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
}

.doctor-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.doctor-info {
    padding: 1.5rem;
}

.doctor-name {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}

.doctor-specialization {
    color: var(--primary-blue);
    font-weight: 500;
    margin-bottom: 1rem;
}

/* Forms */
.form-container {
    max-width: 600px;
    margin: 0 auto;
    background: var(--white);
    padding: 2rem;
    border-radius: 15px;
    box-shadow: var(--shadow-light);
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--dark-gray);
}

.form-input,
.form-textarea,
.form-select {
    width: 100%;
    padding: 1rem;
    border: 2px solid var(--border-gray);
    border-radius: 8px;
    font-size: 1rem;
    transition: var(--transition);
    font-family: inherit;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    outline: none;
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

.form-textarea {
    resize: vertical;
    min-height: 120px;
}

/* Contact Information */
.contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: 14px;
    box-shadow: var(--shadow-light);
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    width: 100%;
    box-sizing: border-box;
}

.contact-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-medium);
    background: #f9fbff;
}

.contact-item:hover .contact-icon {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(74,144,226,0.25);
}

.contact-icon {
    width: 60px;
    height: 60px;
    background: var(--light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue);
    font-size: 1.5rem;
    flex-shrink: 0;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.contact-details {
    flex: 1;
    text-align: left;
}

.contact-details h3 {
    margin: 0 0 0.5rem 0;
    color: var(--dark-gray);
    font-weight: 700;
    font-size: 1.2rem;
}

.contact-details p {
    margin: 0;
    color: var(--text-gray);
    line-height: 1.6;
}

/* Footer */
.footer {
    background: radial-gradient(1200px 400px at 50% -200px, rgba(255,255,255,0.06), rgba(255,255,255,0) 60%), linear-gradient(135deg, #263645 0%, #273746 100%);
    color: var(--white);
    padding: 3rem 0 1rem;
    position: relative;
    overflow: hidden;
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0; /* no spacing between columns */
    margin-bottom: 2rem;
    align-items: stretch;
}

/* New footer brand block */
.footer-brand { text-align: center; }
.footer-brand__title { font-size: 1.6rem; margin: 0 0 .35rem; font-weight: 800; letter-spacing: .2px; background: linear-gradient(90deg, #7fb4ff, #2fb7a3); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.footer-brand__tag { color: #d5e2f1; max-width: 720px; margin: 0 auto 0.85rem; }
.footer-social { display: flex; gap: 10px; justify-content: center; align-items: center; }
.footer-section { padding: 0 1.25rem 0 1.25rem; border-right: 1px solid rgba(255,255,255,0.08); }
.footer-content .footer-section:last-child { border-right: none; }
.footer-section:nth-child(even){ background: rgba(255,255,255,0.025); }
.social-icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #4A90E2, #2fb7a3); box-shadow: 0 6px 16px rgba(74,144,226,0.35); border: 2px solid rgba(255,255,255,0.15); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.social-icon:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 12px 30px rgba(74,144,226,0.45); }
.social-icon svg { pointer-events: none; }

/* YouTube specific styling */
.social-icon[aria-label="YouTube"] {
    background: linear-gradient(135deg, #FF0000, #CC0000);
    transition: all 0.3s ease;
}

.social-icon[aria-label="YouTube"]:hover {
    background: linear-gradient(135deg, #CC0000, #990000);
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 12px 30px rgba(255,0,0,0.4);
}

/* Animated glow accents */
.footer::before,
.footer::after { content: ''; position: absolute; width: 420px; height: 420px; border-radius: 50%; filter: blur(90px); opacity: 0.12; pointer-events:none; }
.footer::before { background: #4A90E2; top: -120px; left: -120px; animation: footerGlow 18s ease-in-out infinite; }
.footer::after  { background: #10b981; bottom: -160px; right: -160px; animation: footerGlow 22s ease-in-out infinite; }
@keyframes footerGlow { 0%,100%{ transform: translate(0,0);} 50%{ transform: translate(25px,-18px);} }

.footer-section h3 {
    color: var(--white);
    margin-bottom: 1rem;
}

.footer-section p,
.footer-section a {
    color: #BDC3C7;
    margin-bottom: 0.5rem;
}

.footer-section a:hover {
    color: var(--primary-blue);
}

/* Consistent footer column design */
.footer-title { font-weight: 900; margin: 0 0 .75rem; background: linear-gradient(90deg, #7fb4ff, #2fb7a3); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: .4px; }
.footer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.footer-list a { color: #d6e2f3; text-decoration: none; position: relative; transition: color .2s ease; }
.footer-list a::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background: linear-gradient(90deg, #4A90E2, #2fb7a3); transition: width .2s ease; }
.footer-list a:hover { color: #a9d1ff; }
.footer-list a:hover::after { width: 100%; }
.footer-contact li { color: #d6e2f3; }

/* Add spacing below specific lists: Quick Links and Contact Info */
.footer-content .footer-section:nth-child(2) .footer-list { margin-bottom: 1rem; }
.footer-content .footer-section:nth-child(4) .footer-list { margin-bottom: 1.1rem; }

/* Contact items responsive design */
@media (max-width: 768px) {
  .contact-item {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
    padding: 1.25rem;
  }
  
  .contact-details {
    text-align: center;
    width: 100%;
  }
  
  .contact-details h3 {
    font-size: 1.1rem;
    margin-bottom: 0.75rem;
  }
  
  .contact-details p {
    font-size: 0.95rem;
    line-height: 1.5;
  }
  
  .contact-icon {
    margin: 0 auto;
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
}

@media (max-width: 480px) {
  .contact-item {
    padding: 1rem;
    gap: 0.75rem;
  }
  
  .contact-icon {
    width: 45px;
    height: 45px;
    font-size: 1.1rem;
  }
  
  .contact-details h3 {
    font-size: 1rem;
  }
  
  .contact-details p {
    font-size: 0.9rem;
  }
}

/* Footer responsive spacing */
@media (max-width: 1200px) {
  .footer-content { gap: 1rem; }
}

@media (max-width: 992px) {
  .footer-content { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .footer-section { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); padding: 0 0 1rem 0; }
  .footer-content .footer-section:nth-child(2n){ background: rgba(255,255,255,0.02); }
}

@media (max-width: 600px) {
  .footer-content { grid-template-columns: 1fr; gap: 0; }
  .footer-brand { text-align: center; }
  .footer-section { border: none; padding: 0; }
}

/* Mobile: add top spacing above section titles for readability */
@media (max-width: 768px) {
  .footer-section .footer-title { margin-top: 1.1rem; }
  
  /* Center Quick Links, Services, and Contact Info sections on mobile */
  .footer-section:nth-child(2), /* Quick Links */
  .footer-section:nth-child(3), /* Services */
  .footer-section:nth-child(4) { /* Contact Info */
    text-align: center;
  }
  
  .footer-section:nth-child(2) .footer-list,
  .footer-section:nth-child(3) .footer-list,
  .footer-section:nth-child(4) .footer-list {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .footer-section:nth-child(2) .footer-list li,
  .footer-section:nth-child(3) .footer-list li,
  .footer-section:nth-child(4) .footer-list li {
    text-align: center;
  }
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.social-link {
    width: 40px;
    height: 40px;
    background: var(--primary-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: var(--transition);
}

.social-link:hover {
    background: var(--soft-green);
    transform: translateY(-2px);
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid #34495E;
    color: #BDC3C7;
}

/* Map Container */
.map-container {
    width: 100%;
    height: 400px;
    border-radius: 15px;
    overflow: hidden;
    margin-top: 2rem;
}

/* Success/Error Messages */
.message {
    padding: 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    text-align: center;
}

.message.success {
    background: #D4EDDA;
    color: #155724;
    border: 1px solid #C3E6CB;
}

.message.error {
    background: #F8D7DA;
    color: #721C24;
    border: 1px solid #F5C6CB;
}

/* Loading Spinner */
.loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--primary-blue);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Animations */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.slide-in-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 0.6s ease;
}

.slide-in-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.slide-in-right {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.6s ease;
}

.slide-in-right.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Speciality content cards */
.content-card {
    background: #ffffff;
    border: 1px solid rgba(74,144,226,0.12);
    border-radius: 16px;
    box-shadow: var(--shadow-light);
    padding: 1.5rem 1.5rem 1.25rem;
    position: relative;
    overflow: hidden;
}
.content-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
}
.content-card h2 { margin-top: 0; margin-bottom: .75rem; color: var(--primary-blue); }
.content-card p { margin-bottom: .75rem; }

/* Reveal list with staggered items when parent becomes visible */
.reveal-list { list-style: none; padding-left: 0; margin-left: 0; }
.reveal-list li {
    position: relative;
    padding-left: 1.75rem;
    margin: .4rem 0;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .45s ease, transform .45s ease;
}
.reveal-list li::before {
    content: '';
    position: absolute;
    left: 0; top: .45rem;
    width: 10px; height: 10px;
    border-radius: 50%;
    background: var(--primary-blue);
    box-shadow: 0 0 0 4px rgba(74,144,226,0.15);
}

/* When the card is visible, animate list items with gentle cascade */
.content-card.visible .reveal-list li { opacity: 1; transform: none; }
.content-card.visible .reveal-list li:nth-child(1){ transition-delay: .05s; }
.content-card.visible .reveal-list li:nth-child(2){ transition-delay: .10s; }
.content-card.visible .reveal-list li:nth-child(3){ transition-delay: .15s; }
.content-card.visible .reveal-list li:nth-child(4){ transition-delay: .20s; }
.content-card.visible .reveal-list li:nth-child(5){ transition-delay: .25s; }
.content-card.visible .reveal-list li:nth-child(6){ transition-delay: .30s; }
.content-card.visible .reveal-list li:nth-child(7){ transition-delay: .35s; }
.content-card.visible .reveal-list li:nth-child(8){ transition-delay: .40s; }
.content-card.visible .reveal-list li:nth-child(9){ transition-delay: .45s; }
.content-card.visible .reveal-list li:nth-child(10){ transition-delay: .50s; }

/* Button row + outline button used on speciality pages */
.btn-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn-outline {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 50px;
    border: 2px solid var(--primary-blue);
    color: var(--primary-blue);
    background: transparent;
    font-weight: 600;
}
.btn-outline:hover { background: var(--primary-blue); color: #fff; }

/* Contact Page Specific Styles */
/* Contact Page Styles - Enhanced Design */
.contact-hero {
    /* Teal→Blue healthcare gradient for page heroes */
    background: linear-gradient(135deg, #2fb7a3 0%, #4A90E2 100%);
    text-align: center;
    padding: 8rem 0 4rem;
    position: relative;
    overflow: hidden;
}

/* Make page hero headings bold on Contact, Appointment, and Doctors (which use contact-hero) */
.contact-hero h1 {
    font-weight: 800;
    color: var(--white);
}

.contact-hero p {
    color: var(--white);
    opacity: 0.95;
}

/* Hero buttons on gradient hero */
.contact-hero .hero-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.25rem;
}

.contact-hero .btn-hero-solid {
    background: #ffffff;
    color: #2a6fdb;
    border: 2px solid #ffffff;
}

.contact-hero .btn-hero-solid:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.15);
}

.contact-hero .btn-hero-outline {
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
}

.contact-hero .btn-hero-outline:hover {
    background: rgba(255,255,255,0.12);
}
/* New contact columns layout */
.contact-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    margin-top: 3rem;
    align-items: start;
}

.contact-card {
    background: var(--white);
    border-radius: 20px;
    border: 1px solid rgba(74, 144, 226, 0.12);
    box-shadow: 0 18px 50px rgba(74, 144, 226, 0.12);
    overflow: hidden;
}

.contact-card--info {
    background: linear-gradient(135deg, #f8fafc 0%, #e8f4fd 100%);
}

.contact-card .card-header {
    padding: 2rem 2rem 0.5rem;
    text-align: center;
}

.contact-card .card-header h2 {
    color: var(--primary-blue);
    font-size: 2.1rem;
    margin: 0 0 0.5rem;
}

.contact-card .card-header .card-subtitle {
    color: var(--text-gray);
    font-style: italic;
    margin: 0 0 1.25rem;
}

.contact-card .card-body {
    padding: 0 2rem 2rem;
}

@media (max-width: 768px) {
    .contact-columns { 
        grid-template-columns: 1fr; 
        gap: 1.5rem; 
        margin-top: 2rem;
    }
    
    .contact-card {
        border-radius: 16px;
        margin: 0 0.5rem;
    }
    
    .contact-card .card-header {
        padding: 1.5rem 1.5rem 0.5rem;
    }
    
    .contact-card .card-header h2 {
        font-size: 1.8rem;
    }
    
    .contact-card .card-body {
        padding: 0 1.5rem 1.5rem;
    }
}

@media (max-width: 480px) {
    .contact-columns {
        gap: 1rem;
        margin-top: 1.5rem;
    }
    
    .contact-card {
        margin: 0 0.25rem;
        border-radius: 14px;
    }
    
    .contact-card .card-header {
        padding: 1.25rem 1.25rem 0.5rem;
    }
    
    .contact-card .card-header h2 {
        font-size: 1.6rem;
    }
    
    .contact-card .card-body {
        padding: 0 1.25rem 1.25rem;
    }
}

.contact-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.1)"/><circle cx="10" cy="60" r="0.5" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="40" r="0.5" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.contact-hero .hero-content {
    position: relative;
    z-index: 2;
}

.contact-hero h1 {
    color: var(--white);
    font-size: 3.5rem;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.contact-hero p {
    color: var(--white);
    font-size: 1.3rem;
    max-width: 600px;
    margin: 0 auto;
    opacity: 0.95;
}

.hero-buttons {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.5rem;
    flex-wrap: nowrap;
}

.hero-buttons .btn {
    margin: 0;
}

/* Enhanced button styling for doctors hero */
.hero.doctors-hero .hero-buttons {
    animation: buttonsSlideIn 2s ease-out 1.5s both;
    opacity: 0;
    transform: translateY(40px);
}

.hero.doctors-hero .btn {
    padding: 0.875rem 1.75rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 25px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    min-width: 120px;
}

.hero.doctors-hero .btn-primary {
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    color: #2c3e50;
    border: 2px solid rgba(255,255,255,0.3);
}

.hero.doctors-hero .btn-primary:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 35px rgba(0,0,0,0.3);
    border-color: rgba(255,255,255,0.6);
}

.hero.doctors-hero .btn-secondary {
    background: transparent;
    color: #ffffff;
    border: 2px solid rgba(255,255,255,0.4);
    backdrop-filter: blur(10px);
}

.hero.doctors-hero .btn-secondary:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.8);
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 35px rgba(255,255,255,0.2);
}

/* Enhanced hover effects for buttons */
.hero.doctors-hero .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.6s ease;
}

.hero.doctors-hero .btn:hover::before {
    left: 100%;
}

/* Pulse effect for primary button */
.hero.doctors-hero .btn-primary {
    animation: buttonPulse 2s ease-in-out infinite;
}

@keyframes buttonPulse {
    0%, 100% {
        box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    }
    50% {
        box-shadow: 0 8px 25px rgba(0,0,0,0.2), 0 0 20px rgba(255,255,255,0.3);
    }
}

.section-header {
    margin-bottom: 3rem;
}

.section-header h2 {
    color: var(--primary-blue);
    margin-bottom: 1rem;
    font-size: 2.5rem;
}

.section-header p {
    color: var(--text-gray);
    font-size: 1.2rem;
    max-width: 600px;
    margin: 0 auto;
}

.text-center {
    text-align: center;
}

.form-subtitle {
    text-align: center;
    color: var(--text-gray);
    margin-bottom: 1.25rem;
    font-style: italic;
}

.contact-section {
    padding: 6rem 0;
    background: var(--white);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4rem;
    row-gap: 0rem; /* ensure vertical alignment without extra offset */
    margin-top: 3rem;
    align-items: start; /* top-align cards so headings sit on same line */
}

.contact-form-container {
    background: var(--white);
    padding: 3rem;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(74, 144, 226, 0.1);
    border: 1px solid rgba(74, 144, 226, 0.1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: auto; /* allow top edges to align naturally */
}

.contact-form-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
}

/* Add small top padding above the subtitle to keep consistent spacing */
.contact-form-container .form-subtitle { margin-top: 0; }

.contact-form-container h2 {
    color: var(--primary-blue);
    margin-bottom: 1.25rem;
    margin-top: 0; /* align headings */
    text-align: center;
    font-size: 2.2rem;
    position: relative;
}

.contact-form-container h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    border-radius: 2px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.contact-form .form-group {
    position: relative;
}

.contact-form .form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--dark-gray);
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.contact-form .form-group input,
.contact-form .form-group textarea {
    width: 100%;
    padding: 1rem 1.2rem;
    border: 2px solid #e1e8ed;
    border-radius: 12px;
    font-size: 1rem;
    transition: all 0.3s ease;
    background: #f8fafc;
    color: var(--dark-gray);
}

.contact-form .form-group input:focus,
.contact-form .form-group textarea:focus {
    outline: none;
    border-color: var(--primary-blue);
    background: var(--white);
    box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.1);
    transform: translateY(-2px);
}

.contact-form .form-group textarea {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

.contact-form .btn {
    background: linear-gradient(135deg, var(--primary-blue) 0%, #5a9ee8 100%);
    border: none;
    padding: 1.2rem 2rem;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(74, 144, 226, 0.3);
}

.contact-form .btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(74, 144, 226, 0.4);
}

.contact-form .btn:active {
    transform: translateY(-1px);
}

.contact-info {
    background: linear-gradient(135deg, #f8fafc 0%, #e8f4fd 100%);
    padding: 3rem;
    border-radius: 20px;
    border: 1px solid rgba(74, 144, 226, 0.1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: auto; /* allow top edges to align naturally */
}

.contact-info::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--primary-blue), var(--soft-green));
}

/* Add top accent bar to match the form card */
.contact-info::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
}

.contact-info h2 {
    color: var(--primary-blue);
    margin-bottom: 1.25rem;
    margin-top: 0;
    text-align: center;
    font-size: 2.2rem;
    position: relative;
}

.contact-info h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    border-radius: 2px;
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    background: var(--white);
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(74, 144, 226, 0.05);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Remove any accidental top offset before first contact item */
.contact-info .contact-item:first-of-type { margin-top: 0; }

.contact-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    opacity: 0;
    transition: opacity 0.3s ease;
}

.contact-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
}

.contact-item:hover::before {
    opacity: 1;
}

.contact-icon {
    font-size: 2.5rem;
    color: var(--primary-blue);
    flex-shrink: 0;
    background: rgba(74, 144, 226, 0.1);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.contact-item:hover .contact-icon {
    background: var(--primary-blue);
    color: var(--white);
    transform: scale(1.1);
}

.contact-details h3 {
    color: var(--dark-gray);
    margin-bottom: 0.8rem;
    font-size: 1.2rem;
    font-weight: 600;
}

.contact-details p {
    margin-bottom: 0.5rem;
    line-height: 1.6;
    color: var(--text-gray);
}

.contact-details strong {
    color: var(--dark-gray);
    font-weight: 600;
}

.map-section {
    padding: 6rem 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e8f4fd 100%);
    position: relative;
}

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

.map-section .container {
    position: relative;
    z-index: 2;
}

.map-section h2 {
    text-align: center;
    color: var(--primary-blue);
    margin-bottom: 3rem;
    font-size: 2.5rem;
    position: relative;
}

.map-section h2::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), var(--soft-green));
    border-radius: 2px;
}

.map-container {
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(74, 144, 226, 0.1);
}

.map-container iframe {
    display: block;
    width: 100%;
    height: 500px;
    border: none;
}

.emergency-section {
    padding: 6rem 0;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
    color: var(--white);
    text-align: center;
    position: relative;
    overflow: hidden;
}

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

.emergency-section .container {
    position: relative;
    z-index: 2;
}

.emergency-content h2 {
    color: var(--white);
    font-size: 3rem;
    margin-bottom: 1.5rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.emergency-content p {
    color: var(--white);
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
    opacity: 0.95;
}

.emergency-number {
    margin: 3rem 0;
}

.btn-emergency {
    background: var(--white);
    color: #ff6b6b;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1.5rem 3rem;
    border-radius: 50px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border: 3px solid var(--white);
}

.btn-emergency:hover {
    background: transparent;
    color: var(--white);
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.emergency-note {
    color: var(--white);
    font-size: 1.1rem;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Enhanced Message Display */
.message {
    margin-top: 1.5rem;
    padding: 1rem 1.5rem;
    border-radius: 10px;
    font-weight: 500;
    text-align: center;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.message.visible {
    opacity: 1;
    transform: translateY(0);
}

.message.success {
    background: linear-gradient(135deg, #7ed321 0%, #6bbf1f 100%);
    color: var(--white);
    border-left: 4px solid #5a9e1a;
}

.message.error {
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
    color: var(--white);
    border-left: 4px solid #d63031;
}

/* Mobile Responsiveness for Contact Page */
@media (max-width: 768px) {
    .nav-menu {
        /* Fully disable legacy popup menu on mobile */
        display: none !important;
        position: static;
        width: auto;
        height: auto;
        padding: 0;
        box-shadow: none;
    }
    .nav-menu.active { left: auto; box-shadow: none; backdrop-filter: none; }
    
    .nav-menu li {
        margin: 1rem 0;
    }
    
    .nav-menu .nav-link {
        padding: 1rem 2rem;
        font-size: 1.1rem;
        width: 100%;
        text-align: center;
        border-radius: 0;
    }
    
    /* Mobile dropdown styles */
    .nav-dropdown {
        position: static;
        width: 100%;
        text-align: center;
    }
    
    .dropdown-toggle {
        justify-content: center;
        color: white;
        width: 100%;
        padding: 1rem 2rem;
    }
    
    .dropdown-arrow {
        color: white;
    }
    
    .dropdown-menu {
        position: static;
        background: rgba(255,255,255,0.1);
        box-shadow: none;
        border: none;
        margin-top: 0.5rem;
        opacity: 1;
        visibility: visible;
        transform: none;
        backdrop-filter: blur(10px);
        border-radius: 8px;
        margin-left: 1rem;
        margin-right: 1rem;
    }
    
    .dropdown-item {
        color: white;
        padding: 0.75rem 1rem;
        border-radius: 0;
    }
    
    .dropdown-item:hover {
        background: rgba(255,255,255,0.2);
        color: white;
    }
    
    .dropdown-item:first-child {
        border-radius: 8px 8px 0 0;
    }
    
    .dropdown-item:last-child {
        border-radius: 0 0 8px 8px;
    }
    
    /* Mobile drawer dropdown styles */
    .mobile-dropdown {
        position: relative;
        width: 100%;
    }
    
    .mobile-dropdown-toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 0.8rem 1.5rem;
        color: white;
        text-decoration: none;
        cursor: pointer;
        border-radius: 10px;
        transition: all 0.3s ease;
        background: rgba(233,69,96,0.1);
        border: 1px solid rgba(233,69,96,0.2);
        font-weight: 500;
        text-align: center;
        font-size: 0.9rem;
    }
    
    .mobile-dropdown-toggle:hover {
        background: rgba(233,69,96,0.2);
        border-color: rgba(233,69,96,0.4);
        transform: translateX(3px);
    }
    
    .mobile-dropdown-arrow {
        font-size: 0.8rem;
        transition: transform 0.3s ease;
    }
    
    .mobile-dropdown.active .mobile-dropdown-arrow {
        transform: rotate(180deg);
    }
    
    .mobile-dropdown-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        background: rgba(233,69,96,0.1);
        margin: 0.5rem 1rem;
        border-radius: 10px;
        border: 1px solid rgba(233,69,96,0.2);
        backdrop-filter: blur(8px);
    }
    
    .mobile-dropdown.active .mobile-dropdown-menu {
        max-height: 200px;
    }
    
    .mobile-dropdown-menu li {
        margin: 0;
    }
    
    .mobile-dropdown-menu a {
        display: block;
        padding: 0.6rem 1.5rem;
        color: white;
        text-decoration: none;
        border-radius: 8px;
        margin: 0.1rem 0.3rem;
        transition: all 0.3s ease;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
        font-weight: 400;
        text-align: center;
        font-size: 0.85rem;
    }
    
    .mobile-dropdown-menu a:hover {
        background: rgba(233,69,96,0.2);
        border-color: rgba(233,69,96,0.3);
        transform: translateX(3px);
        box-shadow: 0 3px 12px rgba(233,69,96,0.3);
    }
    
    .hamburger {
        display: flex;
        z-index: 1001;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }

    /* Hamburger to close button transformation */
    .hamburger.active {
        background: linear-gradient(135deg, #e94560, #ff6b6b);
        box-shadow: 0 6px 20px rgba(233,69,96,0.5);
        transform: scale(1.05);
    }

    .hamburger.active span:nth-child(1),
    .hamburger.active span:nth-child(3) {
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(255,255,255,0.3);
    }
    
    .hero h1 {
        font-size: 2rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .section {
        padding: 3rem 0;
    }
    
    .services-grid,
    .doctors-grid {
        grid-template-columns: 1fr;
    }
    
    /* Ensure single column and full-width blocks align vertically on mobile */
    .contact-grid { grid-template-columns: 1fr; }
    
    .contact-hero h1 {
        font-size: 2.5rem;
    }
    
    .contact-hero p {
        font-size: 1.1rem;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .hero-buttons .btn {
        width: 200px;
        text-align: center;
    }
    
    .section-header h2 {
        font-size: 2rem;
    }
    
    .section-header p {
        font-size: 1.1rem;
    }
    
    .contact-section {
        padding: 4rem 0;
    }
    
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 1.5rem;
    }
    
    .contact-form-container,
    .contact-info {
        padding: 2rem;
    }
    
    .contact-form-container h2,
    .contact-info h2 {
        font-size: 1.8rem;
    }
    
    .contact-form {
        gap: 1.5rem;
    }
    
    .contact-item {
        padding: 1.2rem;
        margin-bottom: 2rem;
    }
    
    .contact-icon {
        width: 50px;
        height: 50px;
        font-size: 2rem;
    }
    
    .map-section {
        padding: 4rem 0;
    }
    
    .map-section h2 {
        font-size: 2rem;
    }
    
    .map-container iframe {
        height: 350px;
    }
    
    .emergency-section {
        padding: 4rem 0;
    }
    
    .emergency-content h2 {
        font-size: 2.2rem;
    }
    
    .emergency-content p {
        font-size: 1.1rem;
    }
    
    .btn-emergency {
        font-size: 1.3rem;
        padding: 1.2rem 2.5rem;
    }
}

@media (max-width: 360px) {
    .hero-buttons {
        gap: 0.4rem;
        margin-top: 0.75rem;
    }
    
    .hero-buttons .btn {
        width: 120px;
        font-size: 0.8rem;
        padding: 0.6rem 1rem;
    }
    
    .hero.doctors-hero h1 {
        font-size: 2rem;
    }
    
    .hero.doctors-hero p {
        font-size: 0.95rem;
        margin-bottom: 1.25rem;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .nav-menu {
        top: 70px;
        height: calc(100vh - 70px);
    }
    
    .nav-menu .nav-link {
        padding: 0.8rem 1.5rem;
        font-size: 1rem;
    }
    
    .hamburger {
        padding: 0.3rem;
    }
    
    .hamburger span {
        width: 22px;
        height: 2.5px;
    }
    
    .contact-hero {
        padding: 6rem 0 3rem;
    }
    
    .contact-hero h1 {
        font-size: 2rem;
    }
    
    .contact-hero p {
        font-size: 1rem;
    }
    
    .hero-buttons {
        gap: 0.5rem;
        margin-top: 1rem;
    }
    
    .hero-buttons .btn {
        width: 140px;
        font-size: 0.85rem;
        padding: 0.7rem 1.2rem;
        min-width: auto;
    }
    
    .section-header h2 {
        font-size: 1.8rem;
    }
    
    .section-header p {
        font-size: 1rem;
    }
    
    .contact-section {
        padding: 3rem 0;
    }
    
    .contact-form-container,
    .contact-info {
        padding: 1.5rem;
    }
    
    .contact-form-container h2,
    .contact-info h2 {
        font-size: 1.6rem;
    }
    
    .contact-form .form-group input,
    .contact-form .form-group textarea {
        padding: 0.8rem 1rem;
        font-size: 0.95rem;
    }
    
    .contact-form .btn {
        padding: 1rem 2rem;
        font-size: 1rem;
    }
    
    .contact-item {
        padding: 1rem;
        gap: 1rem;
    }
    
    .contact-icon {
        width: 45px;
        height: 45px;
        font-size: 1.8rem;
    }
    
    .map-container iframe {
        height: 300px;
    }
    
    .emergency-content h2 {
        font-size: 1.8rem;
    }
    
    .emergency-content p {
        font-size: 1rem;
    }
    
    /* Mobile optimizations for doctors hero */
    .hero.doctors-hero {
        padding: 5rem 0 2.5rem;
        min-height: 45vh;
    }
    
    .hero.doctors-hero h1 {
        font-size: 2.2rem;
    }
    
    .hero.doctors-hero p {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
    
    .hero.doctors-hero .btn {
        padding: 0.7rem 1.2rem;
        font-size: 0.85rem;
        min-width: 110px;
    }
    
    .btn-emergency {
        font-size: 1.2rem;
        padding: 1rem 2rem;
    }
}

/* Print Styles */
@media print {
    .header,
    .footer,
    .btn {
        display: none;
    }
    
    .hero {
        margin-top: 0;
        padding: 2rem 0;
    }
    
    .section {
        padding: 1rem 0;
    }
}

/* WhatsApp Appointment Button */
.whatsapp-appointment {
    position: fixed;
    right: 20px;
    top: 60%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1000;
    text-align: center;
}

.whatsapp-text {
    font-weight: 700;
    font-size: 0.7rem;
    margin: 0;
    white-space: nowrap;
    position: absolute;
}

.whatsapp-text-top {
    color: #e91e63; /* vibrant pink */
    transform: rotate(-5deg);
    top: -25px;
    left: 50%;
    transform: translateX(-50%) rotate(-5deg);
}

.whatsapp-text-bottom {
    color: #000000; /* black */
    transform: rotate(5deg);
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%) rotate(5deg);
}

.whatsapp-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    background: #25d366; /* WhatsApp green */
    color: #ffffff;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    position: relative;
}

.whatsapp-button:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 25px rgba(37, 211, 102, 0.6);
}

.whatsapp-button svg {
    width: 32px;
    height: 32px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .whatsapp-appointment {
        right: 15px;
        top: 65%;
    }
    
    .whatsapp-button {
        width: 50px;
        height: 50px;
    }
    
    .whatsapp-button svg {
        width: 24px;
        height: 24px;
    }
    
    .whatsapp-text {
        font-size: 0.65rem;
    }
    
    .whatsapp-text-top {
        top: -20px;
    }
    
    .whatsapp-text-bottom {
        bottom: -20px;
    }
}



/* Permanent Bottom Action Bar - Mobile Only */
/* ========================================
   NEW HOSPITAL THEME - PERMANENT ACTION BAR
   ======================================== */

.permanent-action-bar {
    display: none; /* Hidden by default on desktop */
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.15);
    z-index: 1001 !important;
    padding: 0.75rem 1rem 1rem 1rem;
    border-top: 4px solid #dc2626;
    border-radius: 20px 20px 0 0;
    backdrop-filter: blur(10px);
    animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.permanent-action-bar .action-segment {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    transition: all 0.3s ease;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
    background: #ffffff;
    border: 2px solid #e5e7eb;
    margin: 0 0.2rem;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Remove fancy animations */
.permanent-action-bar .action-segment::before,
.permanent-action-bar .action-segment::after {
    display: none;
}

.permanent-action-bar .segment-icon {
    font-size: 1.2rem;
    margin-bottom: 0.4rem;
    opacity: 1;
    z-index: 2;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
}

.permanent-action-bar .segment-text {
    font-size: 0.65rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 2;
    position: relative;
}

.permanent-action-bar .segment-arrow {
    display: none;
}

/* Individual segment colors - Professional Hospital Theme */
.permanent-action-bar .book-appt {
    color: #dc2626;
    background: #fef2f2;
    border-color: #fecaca;
}

.permanent-action-bar .book-appt .segment-icon {
    background: rgba(220, 38, 38, 0.1);
    color: #dc2626;
}

.permanent-action-bar .find-hospital {
    color: #059669;
    background: #f0fdf4;
    border-color: #bbf7d0;
}

.permanent-action-bar .find-hospital .segment-icon {
    background: rgba(5, 150, 105, 0.1);
    color: #059669;
}

.permanent-action-bar .social-media {
    color: #7c3aed;
    background: #faf5ff;
    border-color: #e9d5ff;
}

.permanent-action-bar .social-media .segment-icon {
    background: rgba(124, 58, 237, 0.1);
    color: #7c3aed;
}

.permanent-action-bar .contact-us {
    color: #0ea5e9;
    background: #f0f9ff;
    border-color: #bae6fd;
}

.permanent-action-bar .contact-us .segment-icon {
    background: rgba(14, 165, 233, 0.1);
    color: #0ea5e9;
}

/* Professional hover effects */
.permanent-action-bar .action-segment:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: #d1d5db;
}

.permanent-action-bar .action-segment:hover .segment-icon {
    transform: scale(1.1);
    background: rgba(0, 0, 0, 0.1);
}

/* Individual hover colors - Professional Hospital Theme */
.permanent-action-bar .book-appt:hover {
    color: #b91c1c;
    background: #fee2e2;
}

.permanent-action-bar .find-hospital:hover {
    color: #047857;
    background: #dcfce7;
}

.permanent-action-bar .social-media:hover {
    color: #6d28d9;
    background: #f3e8ff;
}

.permanent-action-bar .contact-us:hover {
    color: #0284c7;
    background: #e0f2fe;
}

/* Clean active state */
.permanent-action-bar .action-segment:active {
    transform: translateY(-1px) scale(0.98);
    transition: transform 0.1s ease;
}

/* ========================================
   NEW HEADER DESIGN
   ======================================== */

/* Header */
header.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: #fff;
    border-bottom: 2px solid #e5f1fb;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

/* Navigation Menu */
.nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nav-link {
    color: #003366;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    padding: 8px 12px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.nav-link.active {
    background: #009688;
    color: #fff;
}

.nav-link:hover {
    background: #f0f0f0;
    color: #009688;
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
}

.logo img {
    height: 90px;
    width: auto;
    max-width: 350px;
    margin-right: 20px;
    margin-top: 10px;
}

.tagline h1 {
    font-size: 20px;
    margin: 0;
    color: #003366;
    font-weight: bold;
}

.tagline p {
    font-size: 13px;
    margin: 0;
    color: #d32f2f;
    font-weight: bold;
}

.tagline span {
    font-size: 11px;
    color: #555;
}

/* Header Actions */
.header-actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
}

.call-btn {
    background: #009688;
    color: #fff;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}

.call-btn:hover {
    background: #00796b;
    transform: translateY(-1px);
}

.call-btn i {
    margin-right: 0;
}

.menu-btn {
    background: transparent;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #003366;
    padding: 8px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.menu-btn:hover {
    background: #f5f5f5;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    header.header {
        padding: 10px 15px;
    }
    
    .logo img {
        height: 75px;
        max-width: 250px;
        margin-right: 15px;
        margin-top: 3px;
    }
    
    .tagline h1 {
        font-size: 18px;
    }
    
    .tagline p {
        font-size: 12px;
    }
    
    .tagline span {
        font-size: 10px;
    }
    
    .nav-menu {
        display: none; /* Hide on mobile */
    }
    
    .call-btn {
        display: inline-flex; /* Show on mobile */
        align-items: center;
        justify-content: center;
        padding: 10px;
        font-size: 16px;
        width: 44px;
        height: 44px;
    }
    
    .menu-btn {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    header.header {
        padding: 8px 12px;
    }
    
    .logo img {
        height: 65px;
        max-width: 200px;
        margin-right: 12px;
        margin-top: 15px;
    }
    
    .tagline h1 {
        font-size: 16px;
    }
    
    .tagline p {
        font-size: 11px;
    }
    
    .tagline span {
        font-size: 9px;
    }
    
    .nav-menu {
        display: none; /* Hide on mobile */
    }
    
    .call-btn {
        display: inline-flex; /* Show on mobile */
        align-items: center;
        justify-content: center;
        padding: 8px;
        font-size: 14px;
        width: 40px;
        height: 40px;
    }
    
    .menu-btn {
        font-size: 18px;
    }
}

@keyframes glow {
    0%, 100% { filter: drop-shadow(0 0 8px currentColor); }
    50% { filter: drop-shadow(0 0 20px currentColor); }
}

/* New navbar animations */
@keyframes geometricMove {
    0% { background-position: 0 0; }
    100% { background-position: 60px 60px; }
}

@keyframes gradientFlow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes logoGlow {
    0%, 100% { 
        box-shadow: 0 0 10px rgba(233,69,96,0.5);
        opacity: 0.8;
    }
    50% { 
        box-shadow: 0 0 20px rgba(233,69,96,0.8);
        opacity: 1;
    }
}

@keyframes linkPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Enhanced navbar scroll effect */
.header.scrolled {
    background: #e0f2fe;
    border-bottom-color: #0284c7;
    box-shadow: 0 4px 16px rgba(14, 165, 233, 0.2);
}

/* Logo animation */
.nav-container .logo {
    animation: logoFloat 6s ease-in-out infinite;
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-3px); }
}

/* Show permanent action bar only on mobile */
@media (max-width: 768px) {
    .permanent-action-bar {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
        gap: 0.4rem;
    }
    
    body {
        padding-bottom: 80px; /* Adjusted for increased height */
    }
}



@media (max-width: 480px) {
    .permanent-action-bar {
        padding: 0.5rem 0.8rem 0.8rem 0.8rem;
        gap: 0.25rem;
    }
    
    .permanent-action-bar .action-segment {
        padding: 0.3rem 0.2rem;
        min-height: 45px;
        margin: 0 0.1rem;
    }
    
    .permanent-action-bar .segment-icon {
        font-size: 1.4rem;
        margin-bottom: 0.2rem;
    }
    
    .permanent-action-bar .segment-text {
        font-size: 0.65rem;
        letter-spacing: 0.2px;
    }
}

/* Hide any overlapping scroll-to-top buttons */
.scroll-to-top,
.scroll-top,
.back-to-top,
#scroll-to-top,
.scroll-up,
.back-top {
    display: none !important;
    z-index: 999 !important;
}

/* Ensure action bar is above all other elements */
.permanent-action-bar {
    z-index: 1001 !important;
}

/* Quick Action Button (Desktop Only) - Navbar Theme */
.quick-action-button {
    display: none; /* Hidden by default */
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #0ea5e9;
    color: white;
    padding: 1rem 1.5rem;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.4);
    border: 2px solid #0284c7;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 1000;
    border: 2px solid #e94560;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    backdrop-filter: blur(10px);
}



.quick-action-button:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 15px 35px rgba(14, 165, 233, 0.4);
    border-color: #0369a1;
    background: #0284c7;
}

.quick-action-button:active {
    transform: translateY(-1px) scale(1.02);
}

.quick-action-icon {
    font-size: 1.5rem;
    animation: quickActionPulse 2s ease-in-out infinite;
}

@keyframes quickActionPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.quick-action-text {
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Quick Action Panel - Compact Design */
.quick-action-panel {
    position: fixed;
    right: -360px; /* Start off-screen */
    top: 0;
    width: 340px;
    height: 100vh;
    background: #ffffff;
    box-shadow: -10px 0 30px rgba(14, 165, 233, 0.3);
    z-index: 999;
    transition: right 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-left: 4px solid #0ea5e9;
    overflow-y: auto;
    backdrop-filter: blur(20px);
}

.quick-action-panel.open {
    right: 0;
}

.panel-header {
    background: #0ea5e9;
    color: white;
    padding: 1.25rem 1.5rem;
    text-align: center;
    position: relative;
    border-bottom: 2px solid #0284c7;
}

.panel-header .header-icon {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.3));
}

.panel-header h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.panel-close-btn {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    font-size: 1.5rem;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.panel-close-btn:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

.panel-content {
    padding: 1.5rem;
}

.quick-action-item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 1rem;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    margin-bottom: 0.875rem;
    color: #1f2937;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.quick-action-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(233,69,96,0.2), transparent);
    transition: left 0.6s ease;
}

.quick-action-item:hover {
    border-color: #0ea5e9;
    background: rgba(14, 165, 233, 0.1);
    transform: translateX(8px);
    box-shadow: 0 8px 25px rgba(14, 165, 233, 0.3);
    color: #0ea5e9;
}

.quick-action-item:hover::before {
    left: 100%;
}

.quick-action-item:active {
    transform: translateX(4px) scale(0.98);
}

.action-icon {
    font-size: 1.75rem;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.action-details {
    flex: 1;
}

.action-details h4 {
    margin: 0 0 0.2rem 0;
    color: #1f2937;
    font-size: 1rem;
    font-weight: 600;
}

.action-details p {
    margin: 0;
    color: #6b7280;
    font-size: 0.85rem;
    line-height: 1.3;
}

.action-arrow {
    font-size: 1.2rem;
    color: #e94560;
    font-weight: bold;
    transition: all 0.3s ease;
}

.quick-action-item:hover .action-arrow {
    transform: translateX(5px);
    color: #00bcd4;
}

/* Show quick action button only on desktop */
@media (min-width: 769px) {
    .quick-action-button {
        display: flex;
    }
}

/* Compact design for smaller desktop screens */
@media (max-width: 1200px) {
    .quick-action-panel {
        width: 320px;
        right: -340px;
    }
    
    .panel-content {
        padding: 1.25rem;
    }
    
    .quick-action-item {
        padding: 0.875rem;
        margin-bottom: 0.75rem;
    }
}

/* Hide quick action button on mobile */
@media (max-width: 768px) {
    .quick-action-button {
        display: none;
    }
    
    .quick-action-panel {
        display: none;
    }
}

/* Corner Logos - Fixed Position */
.corner-logo {
    position: fixed;
    z-index: 9999;
    width: 120px;
    height: auto;
    opacity: 1;
    transition: opacity 0.3s ease;
    pointer-events: none;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    padding: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.corner-logo:hover {
    opacity: 1;
}

.corner-logo img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3));
    border: 2px solid #007bff;
}

/* Breadcrumb Navigation Styles */
.breadcrumb {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(74, 144, 226, 0.1);
}

.breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
}

.breadcrumb-item:not(:last-child)::after {
    content: '›';
    margin-left: 0.5rem;
    color: #94a3b8;
    font-weight: 600;
}

.breadcrumb-link {
    color: #667eea;
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb-link:hover {
    color: #4c51bf;
    text-decoration: underline;
}

.breadcrumb-current {
    color: #64748b;
    font-weight: 500;
}

/* Mobile responsive for breadcrumbs */
@media (max-width: 768px) {
    .breadcrumb {
        padding: 0.3rem 0;
    }
    
    .breadcrumb-list {
        font-size: 0.75rem;
        gap: 0.3rem;
    }
}

/* Hide corner logos on mobile devices */
/* Card Entrance Animations */
@keyframes cardSlideInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.blog-card, .speciality-card, .package-card {
    animation: cardSlideInUp 0.6s ease-out forwards;
}

.blog-card:nth-child(1) { animation-delay: 0.1s; }
.blog-card:nth-child(2) { animation-delay: 0.2s; }
.blog-card:nth-child(3) { animation-delay: 0.3s; }
.blog-card:nth-child(4) { animation-delay: 0.4s; }
.blog-card:nth-child(5) { animation-delay: 0.5s; }
.blog-card:nth-child(6) { animation-delay: 0.6s; }

.speciality-card:nth-child(1) { animation-delay: 0.1s; }
.speciality-card:nth-child(2) { animation-delay: 0.2s; }
.speciality-card:nth-child(3) { animation-delay: 0.3s; }
.speciality-card:nth-child(4) { animation-delay: 0.4s; }
.speciality-card:nth-child(5) { animation-delay: 0.5s; }
.speciality-card:nth-child(6) { animation-delay: 0.6s; }

.package-card:nth-child(1) { animation-delay: 0.1s; }
.package-card:nth-child(2) { animation-delay: 0.2s; }
.package-card:nth-child(3) { animation-delay: 0.3s; }

@media (max-width: 768px) {
    .corner-logo {
        display: none !important;
    }
    
    /* Mobile card optimizations */
    .blog-grid, .specialities-grid, .packages-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        margin-top: 1.5rem;
    }
    
    .blog-card, .speciality-card, .package-card {
        border-radius: 16px;
    }
    
    .blog-body, .speciality-card .body, .package-card .package-header,
    .package-card .package-features, .package-card .package-actions {
        padding: 1.25rem;
    }
    
    .blog-thumb, .speciality-card img {
        height: 180px;
    }
    
    .blog-body h3, .speciality-card h3, .package-card .package-title {
        font-size: 1.2rem;
    }
}

.corner-logo-top-left {
    top: 40px;
    left: 40px;
}

.corner-logo-top-right {
    top: 40px;
    right: 40px;
}

/* Mobile responsive for corner logos */
@media (max-width: 768px) {
    .corner-logo {
        width: 80px;
    }
    
    .corner-logo-top-left {
        top: 20px;
        left: 20px;
    }
    
    .corner-logo-top-right {
        top: 20px;
        right: 20px;
    }
}

@media (max-width: 480px) {
    .corner-logo {
        width: 60px;
    }
    
    .corner-logo-top-left {
        top: 15px;
        left: 15px;
    }
    
    .corner-logo-top-right {
        top: 15px;
        right: 15px;
    }
}

/* Smooth Scrolling for Anchor Links */
html {
    scroll-behavior: smooth;
}

/* Appointment Section - Two Column Layout */
.appointment-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    overflow: hidden;
}

.appointment-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="%23e2e8f0" stroke-width="0.5" opacity="0.3"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
    opacity: 0.5;
    z-index: -1;
}

.section-header {
    margin-bottom: 3rem;
    text-align: center;
}

.section-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 1rem;
    background: linear-gradient(135deg, var(--primary-blue), #4f46e5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.section-header p {
    font-size: 1.1rem;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

.appointment-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    max-width: 1400px;
    margin: 0 auto;
}

/* Form Column Styles */
.form-column {
    animation: slideInLeft 0.8s ease-out;
}

.form-container {
    background: white;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
}

.form-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-blue), #4f46e5, #8b5cf6);
    animation: gradientFlow 3s ease-in-out infinite;
}

.form-header {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid #f1f5f9;
}

.form-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    animation: bounce 2s ease-in-out infinite;
}

.form-header h3 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 0.5rem;
}

.form-header p {
    color: #64748b;
    font-size: 1rem;
}

/* Form Elements */
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Mobile form improvements */
@media (max-width: 768px) {
    .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 1rem;
    }
    
    .form-group {
        margin-bottom: 1rem;
    }
    
    /* Ensure inputs are properly sized for mobile */
    .form-input,
    .form-select,
    .form-textarea {
        font-size: 16px; /* Prevents zoom on iOS */
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    
    /* Better touch targets */
    .form-select {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12"><path fill="%23666" d="M6 8.825L1.175 4 2.238 2.938 6 6.7l3.763-3.762L10.825 4z"/></svg>');
        background-repeat: no-repeat;
        background-position: right 1rem center;
        background-size: 12px;
        padding-right: 2.5rem;
    }
    
    .select-arrow {
        display: none; /* Hide custom arrow on mobile */
    }
    
    /* Improve button touch target */
    .submit-btn {
        min-height: 44px; /* Minimum touch target size */
        touch-action: manipulation;
    }
}

.form-group {
    margin-bottom: 1.5rem;
    position: relative;
}

.form-label {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: 1rem 1.2rem;
    border: 2px solid #e5e7eb;
    border-radius: 12px;
    font-size: 1rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: white;
    position: relative;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
    transform: translateY(-2px);
}

.form-textarea {
    min-height: 100px;
    resize: vertical;
}

/* Input Focus Line Animation */
.input-focus-line,
.textarea-focus-line {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary-blue), #4f46e5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(-50%);
}

.form-input:focus ~ .input-focus-line,
.form-textarea:focus ~ .textarea-focus-line {
    width: 100%;
}

/* Select Styling */
.form-select {
    appearance: none;
    cursor: pointer;
    position: relative;
}

.select-arrow {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 0.8rem;
    pointer-events: none;
    transition: transform 0.3s ease;
}

.form-select:focus + .select-arrow {
    transform: translateY(-50%) rotate(180deg);
}

/* Submit Button */
.form-submit {
    text-align: center;
    margin-top: 2rem;
}

.submit-btn {
    position: relative;
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: white;
    border: none;
    padding: 1.2rem 2.5rem;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3);
}

.submit-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(37, 211, 102, 0.4);
}

.submit-btn:active {
    transform: translateY(-1px);
}

.btn-icon {
    margin-right: 0.5rem;
    font-size: 1.2rem;
}

.btn-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: scale(0);
    animation: ripple 0.6s linear;
    pointer-events: none;
}

/* WhatsApp Info Box */
.whatsapp-info {
    background: linear-gradient(135deg, #25D366, #128C7E);
    color: white;
    padding: 1.5rem;
    border-radius: 15px;
    text-align: center;
    margin-top: 2rem;
    position: relative;
    overflow: hidden;
}

.whatsapp-info::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    animation: rotate 20s linear infinite;
}

.whatsapp-icon {
    font-size: 2rem;
    margin-bottom: 1rem;
    display: block;
}

.whatsapp-info h4 {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.8rem;
}

.whatsapp-info p {
    font-size: 0.9rem;
    opacity: 0.9;
    margin-bottom: 1rem;
    line-height: 1.5;
}

.whatsapp-number {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.2);
    padding: 0.8rem 1.2rem;
    border-radius: 25px;
    backdrop-filter: blur(10px);
}

.phone-icon {
    font-size: 1.2rem;
}

.number {
    font-weight: 600;
    font-size: 1rem;
}

/* Info Column Styles */
.info-column {
    animation: slideInRight 0.8s ease-out 0.2s both;
}

.info-container {
    background: white;
    border-radius: 20px;
    padding: 2.5rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    height: fit-content;
    position: sticky;
    top: 2rem;
}

.info-header {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 2px solid #f1f5f9;
}

.info-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    animation: pulse 2s ease-in-out infinite;
}

.info-header h3 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 0.5rem;
}

.info-header p {
    color: #64748b;
    font-size: 1rem;
}

/* Process Steps */
.process-steps {
    margin-bottom: 2.5rem;
}

/* Mobile step improvements */
@media (max-width: 768px) {
    .process-steps {
        margin-bottom: 2rem;
    }
    
    .step-item {
        flex-direction: column;
        text-align: center;
        gap: 0.8rem;
        padding: 1rem;
    }
    
    .step-content {
        order: 2;
    }
    
    .step-number {
        order: 1;
        margin: 0 auto;
    }
    
    .step-arrow {
        display: none; /* Hide arrows on mobile for cleaner look */
    }
    
    .step-content h4 {
        text-align: center;
        margin-bottom: 0.3rem;
    }
    
    .step-content p {
        text-align: center;
        margin: 0;
    }
}

.step-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
}

.step-item:hover {
    background: #f8fafc;
    transform: translateX(5px);
}

.step-number {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--primary-blue), #4f46e5);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
    animation: scaleIn 0.5s ease-out both;
}

.step-item:nth-child(1) .step-number { animation-delay: 0.1s; }
.step-item:nth-child(2) .step-number { animation-delay: 0.2s; }
.step-item:nth-child(3) .step-number { animation-delay: 0.3s; }
.step-item:nth-child(4) .step-number { animation-delay: 0.4s; }
.step-item:nth-child(5) .step-number { animation-delay: 0.5s; }
.step-item:nth-child(6) .step-number { animation-delay: 0.6s; }

.step-content {
    flex: 1;
}

.step-content h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.3rem;
}

.step-content p {
    font-size: 0.9rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

.step-arrow {
    color: var(--primary-blue);
    font-size: 1.2rem;
    font-weight: 700;
    opacity: 0.7;
}

/* Emergency Contact */
.emergency-contact {
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    border: 1px solid #fecaca;
    border-radius: 15px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.emergency-header {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
}

.emergency-icon {
    font-size: 1.5rem;
}

.emergency-header h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #dc2626;
    margin: 0;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contact-method {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    background: white;
    border: 1px solid #f3f4f6;
}

.contact-method:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.contact-method.emergency-call:hover {
    border-color: #dc2626;
    background: #fef2f2;
}

.contact-method.whatsapp-contact:hover {
    border-color: #25D366;
    background: #f0fdf4;
}

.contact-method.email-contact:hover {
    border-color: #3b82f6;
    background: #eff6ff;
}

.method-icon {
    font-size: 1.2rem;
    width: 24px;
    text-align: center;
}

.method-details {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.method-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.method-value {
    font-size: 0.9rem;
    color: #374151;
    font-weight: 500;
}

/* Appointment Tips */
.appointment-tips {
    background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
    border: 1px solid #bae6fd;
    border-radius: 15px;
    padding: 1.5rem;
}

.appointment-tips h4 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #0369a1;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.appointment-tips ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.appointment-tips li {
    padding: 0.5rem 0;
    color: #0c4a6e;
    font-size: 0.9rem;
    position: relative;
    padding-left: 1.5rem;
}

.appointment-tips li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #0ea5e9;
    font-weight: 700;
    font-size: 1rem;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .appointment-layout {
        gap: 2rem;
    }
    
    .form-container,
    .info-container {
        padding: 2rem;
    }
}

@media (max-width: 992px) {
    .appointment-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .info-container {
        position: static;
        order: -1;
    }
    
    .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* MOBILE-FIRST COMPLETE REDESIGN */
@media (max-width: 768px) {
    .appointment-section {
        padding: 1rem 0.5rem;
        background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
    }
    
    .section-header {
        margin-bottom: 1.5rem;
        padding: 0 0.5rem;
    }
    
    .section-header h2 {
        font-size: 1.6rem;
        margin-bottom: 0.6rem;
        background: linear-gradient(135deg, var(--primary-blue), #4f46e5);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    
    .section-header p {
        font-size: 0.9rem;
        line-height: 1.4;
        color: #64748b;
    }
    
    .appointment-layout {
        gap: 1rem;
        grid-template-columns: 1fr;
        max-width: 100%;
        margin: 0;
    }
    
    /* MOBILE FORM - COMPLETELY REDESIGNED */
    .form-column {
        order: 1;
        animation: none;
    }
    
    .form-container {
        background: white;
        border-radius: 16px;
        padding: 1.2rem;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        border: none;
        margin: 0 0.25rem;
        position: relative;
        overflow: hidden;
    }
    
    .form-container::before {
        height: 3px;
        background: linear-gradient(90deg, #25D366, #128C7E);
    }
    
    .form-header {
        text-align: center;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .form-icon {
        font-size: 2.2rem;
        margin-bottom: 0.6rem;
        animation: none;
    }
    
    .form-header h3 {
        font-size: 1.3rem;
        margin-bottom: 0.3rem;
        color: var(--primary-blue);
    }
    
    .form-header p {
        font-size: 0.85rem;
        color: #6b7280;
    }
    
    /* MOBILE FORM ELEMENTS */
    .form-row {
        grid-template-columns: 1fr;
        gap: 0.8rem;
        margin-bottom: 0.8rem;
    }
    
    .form-group {
        margin-bottom: 1rem;
        position: relative;
    }
    
    .form-label {
        font-size: 0.8rem;
        font-weight: 600;
        color: #374151;
        margin-bottom: 0.4rem;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        display: block;
    }
    
    .form-input,
    .form-select,
    .form-textarea {
        width: 100%;
        padding: 0.9rem 1rem;
        border: 2px solid #e5e7eb;
        border-radius: 10px;
        font-size: 16px;
        transition: all 0.2s ease;
        background: #fafafa;
        color: #374151;
    }
    
    .form-input:focus,
    .form-select:focus,
    .form-textarea:focus {
        outline: none;
        border-color: #25D366;
        background: white;
        box-shadow: 0 0 0 3px rgba(37, 211, 102, 0.1);
        transform: none;
    }
    
    .form-textarea {
        min-height: 80px;
        resize: vertical;
    }
    
    /* MOBILE SUBMIT BUTTON */
    .form-submit {
        text-align: center;
        margin-top: 1.5rem;
    }
    
    .submit-btn {
        width: 100%;
        background: linear-gradient(135deg, #25D366, #128C7E);
        color: white;
        border: none;
        padding: 1.1rem 1.5rem;
        border-radius: 25px;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s ease;
        box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
        min-height: 48px;
        touch-action: manipulation;
    }
    
    .submit-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
    }
    
    .submit-btn:active {
        transform: translateY(0);
    }
    
    .btn-icon {
        margin-right: 0.5rem;
        font-size: 1.1rem;
    }
    
    /* MOBILE WHATSAPP INFO */
    .whatsapp-info {
        background: linear-gradient(135deg, #25D366, #128C7E);
        color: white;
        padding: 1.2rem;
        border-radius: 12px;
        text-align: center;
        margin-top: 1.5rem;
        position: relative;
        overflow: hidden;
    }
    
    .whatsapp-info::before {
        display: none;
    }
    
    .whatsapp-icon {
        font-size: 1.8rem;
        margin-bottom: 0.8rem;
        display: block;
    }
    
    .whatsapp-info h4 {
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
    }
    
    .whatsapp-info p {
        font-size: 0.8rem;
        opacity: 0.95;
        margin-bottom: 0.8rem;
        line-height: 1.4;
    }
    
    .whatsapp-number {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        background: rgba(255, 255, 255, 0.2);
        padding: 0.6rem 1rem;
        border-radius: 20px;
        backdrop-filter: blur(10px);
    }
    
    .phone-icon {
        font-size: 1rem;
    }
    
    .number {
        font-weight: 600;
        font-size: 0.9rem;
    }
    
    /* MOBILE INFO COLUMN - COMPLETELY REDESIGNED */
    .info-column {
        order: 2;
        animation: none;
    }
    
    .info-container {
        background: white;
        border-radius: 16px;
        padding: 1.2rem;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
        border: none;
        margin: 0 0.25rem;
        position: static;
        height: auto;
    }
    
    .info-header {
        text-align: center;
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .info-icon {
        font-size: 2.2rem;
        margin-bottom: 0.6rem;
        animation: none;
    }
    
    .info-header h3 {
        font-size: 1.3rem;
        margin-bottom: 0.3rem;
        color: var(--primary-blue);
    }
    
    .info-header p {
        font-size: 0.85rem;
        color: #6b7280;
    }
    
    /* MOBILE PROCESS STEPS - COMPLETELY REDESIGNED */
    .process-steps {
        margin-bottom: 1.5rem;
    }
    
    .step-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.6rem;
        margin-bottom: 1rem;
        padding: 1rem 0.8rem;
        border-radius: 12px;
        transition: all 0.2s ease;
        position: relative;
        background: #f8fafc;
        border: 1px solid #e2e8f0;
    }
    
    .step-item:hover {
        background: #f1f5f9;
        transform: none;
    }
    
    .step-number {
        width: 36px;
        height: 36px;
        background: linear-gradient(135deg, #25D366, #128C7E);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 1rem;
        flex-shrink: 0;
        animation: none;
        order: 1;
    }
    
    .step-content {
        order: 2;
        flex: 1;
        width: 100%;
    }
    
    .step-content h4 {
        font-size: 0.9rem;
        font-weight: 600;
        color: #374151;
        margin-bottom: 0.3rem;
    }
    
    .step-content p {
        font-size: 0.8rem;
        color: #6b7280;
        margin: 0;
        line-height: 1.3;
    }
    
    .step-arrow {
        display: none;
    }
    
    /* MOBILE EMERGENCY CONTACT - COMPLETELY REDESIGNED */
    .emergency-contact {
        background: linear-gradient(135deg, #fef2f2, #fee2e2);
        border: 1px solid #fecaca;
        border-radius: 12px;
        padding: 1.2rem;
        margin-bottom: 1.5rem;
    }
    
    .emergency-header {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        margin-bottom: 1rem;
    }
    
    .emergency-icon {
        font-size: 1.3rem;
    }
    
    .emergency-header h4 {
        font-size: 0.95rem;
        font-weight: 600;
        color: #dc2626;
        margin: 0;
    }
    
    .contact-methods {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.8rem;
    }
    
    .contact-method {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.5rem;
        padding: 0.8rem 0.6rem;
        border-radius: 8px;
        text-decoration: none;
        transition: all 0.2s ease;
        background: white;
        border: 1px solid #f3f4f6;
        min-height: 80px;
    }
    
    .contact-method:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
    
    .contact-method.emergency-call:hover {
        border-color: #dc2626;
        background: #fef2f2;
    }
    
    .contact-method.whatsapp-contact:hover {
        border-color: #25D366;
        background: #f0fdf4;
    }
    
    .contact-method.email-contact:hover {
        border-color: #3b82f6;
        background: #eff6ff;
    }
    
    .method-icon {
        font-size: 1.2rem;
        width: auto;
    }
    
    .method-details {
        display: flex;
        flex-direction: column;
        gap: 0.2rem;
        align-items: center;
    }
    
    .method-label {
        font-size: 0.7rem;
        font-weight: 600;
        color: #6b7280;
        text-transform: uppercase;
        letter-spacing: 0.3px;
    }
    
    .method-value {
        font-size: 0.75rem;
        color: #374151;
        font-weight: 500;
        word-break: break-word;
    }
    
    /* MOBILE APPOINTMENT TIPS - COMPLETELY REDESIGNED */
    .appointment-tips {
        background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
        border: 1px solid #bae6fd;
        border-radius: 12px;
        padding: 1.2rem;
    }
    
    .appointment-tips h4 {
        font-size: 0.95rem;
        font-weight: 600;
        color: #0369a1;
        margin-bottom: 0.8rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
    }
    
    .appointment-tips ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }
    
    .appointment-tips li {
        font-size: 0.75rem;
        color: #0c4a6e;
        padding: 0.3rem 0;
        padding-left: 1rem;
        position: relative;
        text-align: left;
    }
    
    .appointment-tips li::before {
        content: '✓';
        position: absolute;
        left: 0;
        color: #0ea5e9;
        font-weight: 700;
        font-size: 0.8rem;
    }
}

@media (max-width: 480px) {
    .appointment-section {
        padding: 0.8rem 0.25rem;
    }
    
    .section-header {
        margin-bottom: 1.2rem;
        padding: 0 0.25rem;
    }
    
    .section-header h2 {
        font-size: 1.4rem;
        margin-bottom: 0.5rem;
    }
    
    .section-header p {
        font-size: 0.8rem;
        line-height: 1.3;
        padding: 0 0.25rem;
    }
    
    .appointment-layout {
        gap: 0.8rem;
    }
    
    .form-container,
    .info-container {
        padding: 1rem;
        border-radius: 12px;
        margin: 0 0.15rem;
    }
    
    .form-header,
    .info-header {
        margin-bottom: 1rem;
        padding-bottom: 0.8rem;
    }
    
    .form-icon,
    .info-icon {
        font-size: 1.8rem;
        margin-bottom: 0.5rem;
    }
    
    .form-header h3,
    .info-header h3 {
        font-size: 1.1rem;
        margin-bottom: 0.25rem;
    }
    
    .form-header p,
    .info-header p {
        font-size: 0.8rem;
    }
    
    .form-group {
        margin-bottom: 0.8rem;
    }
    
    .form-label {
        font-size: 0.75rem;
        margin-bottom: 0.25rem;
    }
    
    .form-input,
    .form-select,
    .form-textarea {
        padding: 0.8rem 0.8rem;
        font-size: 16px;
        border-radius: 8px;
    }
    
    .form-textarea {
        min-height: 70px;
    }
    
    .submit-btn {
        padding: 1rem 1.2rem;
        font-size: 0.9rem;
        width: 100%;
        border-radius: 20px;
        min-height: 44px;
    }
    
    .btn-icon {
        font-size: 1rem;
        margin-right: 0.4rem;
    }
    
    .whatsapp-info {
        padding: 0.8rem;
        margin-top: 1rem;
        border-radius: 10px;
    }
    
    .whatsapp-info h4 {
        font-size: 0.9rem;
        margin-bottom: 0.4rem;
    }
    
    .whatsapp-info p {
        font-size: 0.75rem;
        margin-bottom: 0.5rem;
        line-height: 1.3;
    }
    
    .whatsapp-number {
        padding: 0.4rem 0.8rem;
        border-radius: 18px;
    }
    
    .phone-icon {
        font-size: 0.9rem;
    }
    
    .number {
        font-size: 0.8rem;
    }
    
    .step-item {
        padding: 0.8rem 0.6rem;
        margin-bottom: 0.8rem;
        gap: 0.5rem;
    }
    
    .step-number {
        width: 32px;
        height: 32px;
        font-size: 0.9rem;
    }
    
    .step-content h4 {
        font-size: 0.8rem;
        margin-bottom: 0.2rem;
    }
    
    .step-content p {
        font-size: 0.7rem;
        line-height: 1.2;
    }
    
    .emergency-contact {
        padding: 1rem;
        margin-bottom: 1rem;
        border-radius: 10px;
    }
    
    .emergency-header {
        margin-bottom: 0.8rem;
    }
    
    .emergency-header h4 {
        font-size: 0.9rem;
    }
    
    .contact-methods {
        gap: 0.6rem;
    }
    
    .contact-method {
        padding: 0.6rem 0.4rem;
        border-radius: 8px;
        min-height: 70px;
    }
    
    .method-icon {
        font-size: 1.1rem;
    }
    
    .method-label {
        font-size: 0.65rem;
    }
    
    .method-value {
        font-size: 0.7rem;
    }
    
    .appointment-tips {
        padding: 1rem;
        border-radius: 10px;
    }
    
    .appointment-tips h4 {
        font-size: 0.9rem;
        margin-bottom: 0.6rem;
    }
    
    .appointment-tips ul {
        gap: 0.4rem;
    }
    
    .appointment-tips li {
        font-size: 0.7rem;
        padding: 0.25rem 0;
        padding-left: 0.8rem;
    }
    
    .appointment-tips li::before {
        font-size: 0.75rem;
    }
}

/* Extra small devices */
@media (max-width: 360px) {
    .appointment-section {
        padding: 0.8rem 0.25rem;
    }
    
    .section-header h2 {
        font-size: 1.4rem;
    }
    
    .section-header p {
        font-size: 0.85rem;
        padding: 0 0.25rem;
    }
    
    .form-container,
    .info-container {
        padding: 0.8rem;
        margin: 0 0.1rem;
    }
    
    .form-header h3,
    .info-header h3 {
        font-size: 1.1rem;
    }
    
    .form-input,
    .form-select,
    .form-textarea {
        padding: 0.7rem 0.8rem;
        font-size: 0.85rem;
    }
    
    .submit-btn {
        padding: 0.8rem 1.2rem;
        font-size: 0.9rem;
        max-width: 220px;
    }
    
    .step-number {
        width: 25px;
        height: 25px;
        font-size: 0.75rem;
    }
    
    .step-content h4 {
        font-size: 0.8rem;
    }
    
    .step-content p {
        font-size: 0.7rem;
    }
}

/* Additional Animations for Appointment Section */
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

@keyframes ripple {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Mobile Doctors Section - Completely New Design */
/* Hide mobile section on desktop by default */
.blogs-section-mobile,
.doctors-section-mobile {
    display: none !important;
}

/* Force mobile doctors section to always be visible on mobile */
.doctors-section-mobile {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: relative !important;
    z-index: 999 !important;
}

/* Ensure desktop sections are visible on larger screens */
@media (min-width: 769px) {
    .doctors-section-desktop,
    .blogs-section-desktop {
        display: block !important;
    }
}

@media (max-width: 768px) {
    /* Hide desktop doctors section on mobile */
    .doctors-section-desktop {
        display: none !important;
    }
    
    /* Hide desktop blogs section on mobile */
    .blogs-section-desktop {
        display: none !important;
    }
    
    /* Show mobile doctors section */
    .doctors-section-mobile {
        display: block !important;
        padding: 2rem 1rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        position: relative !important;
        z-index: 999 !important;
        min-height: 100vh !important;
        overflow: visible !important;
    }
    
    /* Show mobile blogs section */
    .blogs-section-mobile {
        display: block !important;
        padding: 2rem 1rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        position: relative !important;
        z-index: 999 !important;
        overflow: visible !important;
    }
    
    /* Force all mobile doctor elements to be visible */
    .mobile-doctor-card,
    .mobile-doctor-header,
    .mobile-doctor-image,
    .mobile-doctor-info,
    .mobile-doctor-name,
    .mobile-doctor-specialization {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        transform: none !important;
    }
    
    /* Force all mobile blog elements to be visible */
    .mobile-blog-card,
    .mobile-blog-image,
    .mobile-blog-content,
    .mobile-blog-title,
    .mobile-blog-description,
    .mobile-blog-features {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        transform: none !important;
    }
    
    /* Mobile section title */
    .mobile-section-title {
        font-size: 2rem;
        font-weight: 800;
        text-align: center;
        margin-bottom: 1rem;
        background: linear-gradient(135deg, #667eea, #764ba2);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    
    .mobile-section-subtitle {
        text-align: center;
        color: #6c757d;
        margin-bottom: 2rem;
        font-size: 1.1rem;
    }
    
    /* Mobile doctors list */
    .mobile-doctors-list {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    
    /* Mobile doctor card - CLEAN MODERN DESIGN */
    .mobile-doctor-card {
        background: #ffffff;
        border-radius: 16px;
        padding: 0;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        border: 1px solid rgba(0, 0, 0, 0.05);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        margin-bottom: 1.5rem;
        transform: none;
    }
    
    .mobile-doctor-card::before {
        display: none;
    }
    
    .mobile-doctor-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    }
    
    .mobile-doctor-card:hover::before {
        display: none;
    }
    
    /* Mobile doctor header - VERTICAL LAYOUT */
    .mobile-doctor-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        margin-bottom: 0;
        position: relative;
        padding: 1.5rem 1.5rem 1rem 1.5rem;
        background: transparent;
        backdrop-filter: none;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        text-align: center;
    }
    
    .mobile-doctor-image {
        width: 290px;
        height: 320px;
        border-radius: 12px;
        object-fit: cover;
        border: 3px solid #f8f9fa;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
        position: relative;
        z-index: 2;
        margin-bottom: 1.5rem;
        flex-shrink: 0;
    }
    
    .mobile-doctor-card:hover .mobile-doctor-image {
        transform: scale(1.02);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
    }
    
    .mobile-doctor-info {
        width: 100%;
        position: relative;
        z-index: 2;
        text-align: center;
    }
    
    .mobile-doctor-name {
        font-size: 1.5rem;
        font-weight: 700;
        color: #2c3e50;
        margin: 0 0 1rem 0;
        line-height: 1.2;
        text-shadow: none;
        letter-spacing: -0.25px;
    }
    
    .mobile-doctor-specialization {
        background: #1976d2;
        color: white;
        padding: 0.75rem 1.5rem;
        border-radius: 25px;
        font-size: 0.9rem;
        font-weight: 600;
        display: inline-block;
        border: none;
        box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
        transition: all 0.3s ease;
        text-transform: none;
        letter-spacing: 0;
        position: relative;
        overflow: hidden;
        margin-bottom: 1.5rem;
    }
    
    .mobile-doctor-specialization::before {
        display: none;
    }
    
    .mobile-doctor-card:hover .mobile-doctor-specialization::before {
        display: none;
    }
    
    .mobile-doctor-card:hover .mobile-doctor-specialization {
        transform: translateY(-2px);
        background: #1565c0;
        box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
    }
    
    /* Mobile doctor description - CLEAN DESIGN */
    .mobile-doctor-description {
        color: #6c757d;
        line-height: 1.6;
        margin: 0 1.5rem 1.5rem 1.5rem;
        font-size: 0.95rem;
        font-weight: 400;
        background: transparent;
        padding: 0;
        border-radius: 0;
        box-shadow: none;
        backdrop-filter: none;
        position: relative;
        border-left: none;
        text-align: center;
    }
    
    .mobile-doctor-description::before {
        display: none;
    }
    
    /* Mobile feature tags - CLEAN DESIGN */
    .mobile-doctor-features {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin: 0 1.5rem 1.5rem 1.5rem;
        justify-content: center;
    }
    
    .mobile-feature-tag {
        background: #f8f9fa;
        color: #495057;
        padding: 0.5rem 1rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 500;
        display: inline-block;
        transition: all 0.3s ease;
        box-shadow: none;
        position: relative;
        overflow: hidden;
        border: 1px solid #e9ecef;
        backdrop-filter: none;
    }
    
    .mobile-feature-tag:nth-child(2) {
        background: #f8f9fa;
        color: #495057;
        border: 1px solid #e9ecef;
    }
    
    .mobile-feature-tag:nth-child(3) {
        background: #f8f9fa;
        color: #495057;
        border: 1px solid #e9ecef;
    }
    
    .mobile-feature-tag::before {
        display: none;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
        transition: left 0.8s ease;
    }
    
    .mobile-feature-tag:hover::before {
        left: 100%;
    }
    
    .mobile-feature-tag:hover {
        transform: none;
        background: #e9ecef;
        border-color: #dee2e6;
    }
    
    /* Mobile consultation button - CLEAN DESIGN */
    .mobile-consultation-btn {
        display: block;
        width: calc(100% - 3rem);
        margin: 0 1.5rem 1.5rem 1.5rem;
        background: #1976d2;
        color: white;
        text-align: center;
        padding: 0.875rem 1.5rem;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
        transition: all 0.3s ease;
        border: none;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(25, 118, 210, 0.2);
        text-transform: none;
        letter-spacing: 0;
        clip-path: none;
    }
    
    .mobile-consultation-btn::before {
        display: none;
    }
    
    .mobile-consultation-btn:hover::before {
        display: none;
    }
    
    .mobile-consultation-btn:hover {
        background: #1565c0;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(25, 118, 210, 0.3);
    }
}

/* Mobile Blogs Section - Completely New Design */
@media (max-width: 768px) {
    /* Hide desktop blogs section on mobile */
    .blogs-section-desktop {
        display: none !important;
    }
    
    /* Show mobile blogs section */
    .blogs-section-mobile {
        display: block !important;
        padding: 2rem 1rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    }
    
    /* Mobile blogs list */
    .mobile-blogs-list {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    
    /* Mobile blog card */
    .mobile-blog-card {
        background: white;
        border-radius: 20px;
        padding: 1.5rem;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        border: 1px solid rgba(102, 126, 234, 0.1);
        transition: all 0.3s ease;
        text-decoration: none;
        display: block;
    }
    
    .mobile-blog-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
        border-color: rgba(102, 126, 234, 0.3);
    }
    
    /* Mobile blog image */
    .mobile-blog-image {
        width: 100%;
        height: 180px;
        border-radius: 15px;
        object-fit: cover;
        margin-bottom: 1rem;
        border: 2px solid rgba(102, 126, 234, 0.1);
    }
    
    /* Mobile blog content */
    .mobile-blog-content {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .mobile-blog-title {
        font-size: 1.4rem;
        font-weight: 700;
        color: #2c3e50;
        margin: 0;
        line-height: 1.3;
    }
    
    .mobile-blog-description {
        color: #6c757d;
        line-height: 1.6;
        margin: 0;
        font-size: 0.95rem;
    }
    
    /* Mobile blog features */
    .mobile-blog-features {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 0.5rem;
    }
    
    .mobile-blog-features .mobile-feature-tag {
        background: linear-gradient(135deg, #667eea, #764ba2);
        color: white;
        padding: 0.4rem 0.8rem;
        border-radius: 12px;
        font-size: 0.8rem;
        font-weight: 600;
        display: inline-block;
        transition: all 0.3s ease;
    }
    
    .mobile-blog-features .mobile-feature-tag:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(102, 126, 234, 0.4);
    }
}

/* Gallery Animations */
@keyframes galleryItemEntrance {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes titleEntrance {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile Carousel Animations */
@keyframes badgeFloat {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-5px); }
}

@keyframes tagFloat {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-3px) rotate(2deg); }
}

@keyframes subtitleEntrance {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes filterEntrance {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes statEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes iconFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes badgeFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes lightboxEntrance {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes galleryTitleEntrance {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes gallerySubtitleEntrance {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes galleryBtnEntrance {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes galleryIconFloat1 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(5deg); }
}

@keyframes galleryIconFloat2 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-15px) rotate(-3deg); }
}

@keyframes galleryIconFloat3 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-25px) rotate(8deg); }
}

@keyframes galleryIconFloat4 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-18px) rotate(-6deg); }
}

@keyframes galleryIconFloat5 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-22px) rotate(4deg); }
}

@keyframes galleryIconFloat6 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-16px) rotate(-7deg); }
}

@keyframes galleryIconFloat7 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-24px) rotate(6deg); }
}

@keyframes galleryIconFloat8 {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-19px) rotate(-4deg); }
}

/* Simple & Clean Social Media Modal */
.social-media-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
}

.social-media-modal .modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
}

.social-media-modal .modal-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 320px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

.social-media-modal .modal-header {
    background: var(--primary-blue);
    color: white;
    padding: 1rem;
    text-align: center;
    position: relative;
    border-radius: 16px 16px 0 0;
}

.social-media-modal .modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.social-media-modal .modal-close-btn {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.social-media-modal .modal-close-btn:hover {
    background: rgba(255, 255, 255, 0.3);
}

.social-media-modal .modal-content {
    padding: 1rem;
}

.social-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.social-link {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    background: #f8f9fa;
    border-radius: 12px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
    border: 1px solid #e9ecef;
}

.social-link:hover {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.social-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.social-link.facebook .social-icon {
    background: #1877f2;
    color: white;
}

.social-link.instagram .social-icon {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: white;
}

.social-link.youtube .social-icon {
    background: #ff0000;
    color: white;
}

.social-link.whatsapp .social-icon {
    background: #25d366;
    color: white;
}

.social-link.directions .social-icon {
    background: #4285f4;
    color: white;
}

.social-link span {
    font-size: 0.95rem;
    font-weight: 500;
    color: #333;
}

/* Enhanced mobile responsiveness */
@media (max-width: 480px) {
    .social-media-modal .modal-container {
        width: 95%;
        max-width: 320px;
    }
    
    .social-media-modal .modal-header {
        padding: 1rem;
    }
    
    .social-media-modal .modal-header h2 {
        font-size: 1.2rem;
    }
    
    .social-media-modal .modal-content {
        padding: 1rem;
    }
    
    .social-platform {
        padding: 0.75rem;
    }
    
    .social-platform .platform-icon {
        width: 38px;
        height: 38px;
        font-size: 0.95rem;
    }
    
    .social-platform .platform-icon svg {
        width: 18px;
        height: 18px;
    }
    
    .social-platform .platform-details h3 {
        font-size: 0.95rem;
    }
    
    .social-platform .platform-details p {
        font-size: 0.75rem;
    }
    
    .social-platform .platform-tag {
        font-size: 0.6rem;
        padding: 0.15rem 0.35rem;
    }
}

/* Breadcrumb Navigation Styles */
.breadcrumb-nav {
    background: linear-gradient(135deg, #f8f9fa, #e9ecef);
    padding: 1rem 0;
    border-bottom: 1px solid #dee2e6;
}

.breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
    color: #6c757d;
}

.breadcrumb-item:not(:last-child)::after {
    content: '›';
    margin: 0 0.5rem;
    color: #adb5bd;
    font-weight: bold;
}

.breadcrumb-item a {
    color: #007bff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumb-item a:hover {
    color: #0056b3;
    text-decoration: underline;
}

.breadcrumb-item[aria-current="page"] {
    color: #495057;
    font-weight: 600;
}

/* Responsive breadcrumb */
@media (max-width: 768px) {
    .breadcrumb-nav {
        padding: 0.75rem 0;
    }
    
    .breadcrumb-list {
        font-size: 0.8rem;
    }
    
    .breadcrumb-item:not(:last-child)::after {
        margin: 0 0.25rem;
    }
}

/* Simple Blue Hospital Theme Specialities */
.specialities-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #f8fbff 0%, #e3f2fd 100%);
}

.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-header h2 {
    font-size: 2.5rem;
    color: #1565c0;
    margin-bottom: 1rem;
    font-weight: 600;
}

.section-header p {
    font-size: 1.1rem;
    color: #546e7a;
    max-width: 600px;
    margin: 0 auto;
}

.specialities-simple-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 4rem;
}

.speciality-simple-card {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(21, 101, 192, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #e3f2fd;
}

.speciality-simple-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(21, 101, 192, 0.15);
    border-color: #1976d2;
}

.speciality-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

.speciality-simple-card h3 {
    font-size: 1.3rem;
    color: #1565c0;
    margin-bottom: 1rem;
    font-weight: 600;
}

.speciality-simple-card p {
    color: #546e7a;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.simple-btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: #1976d2;
    color: white;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.simple-btn:hover {
    background: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(21, 101, 192, 0.3);
}

.specialities-cta {
    text-align: center;
    background: white;
    padding: 3rem 2rem;
    border-radius: 15px;
    box-shadow: 0 6px 25px rgba(21, 101, 192, 0.1);
    border: 2px solid #e3f2fd;
}

.specialities-cta h3 {
    font-size: 2rem;
    color: #1565c0;
    margin-bottom: 1rem;
}

.specialities-cta p {
    font-size: 1.1rem;
    color: #546e7a;
    margin-bottom: 2rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.cta-btn {
    padding: 1rem 2rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-block;
}

.cta-btn.primary {
    background: #1976d2;
    color: white;
}

.cta-btn.primary:hover {
    background: #1565c0;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(21, 101, 192, 0.3);
}

.cta-btn.secondary {
    background: transparent;
    color: #1976d2;
    border: 2px solid #1976d2;
}

.cta-btn.secondary:hover {
    background: #1976d2;
    color: white;
    transform: translateY(-2px);
}

/* Mobile Responsive for Simple Specialities */
@media (max-width: 768px) {
    .specialities-simple-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .section-header h2 {
        font-size: 2rem;
    }
    
    .specialities-cta {
        padding: 2rem 1rem;
    }
    
    .cta-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .cta-btn {
        width: 100%;
        max-width: 250px;
        text-align: center;
    }
}