/* ── ABOUT SECTION ── */
.about-section{padding:7rem 0;background:var(--off-white);position:relative;overflow:hidden}
.about-section::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(0,194,184,.06) 0%,transparent 70%);border-radius:50%}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-img-wrapper{position:relative;display:flex;justify-content:center}
.doctor-frame{position:relative;width:320px;height:320px;border-radius:50%;overflow:hidden;box-shadow:0 30px 80px rgba(0,74,173,.15)}
.doctor-frame img{width:100%;height:100%;object-fit:cover}
.doctor-ring{position:absolute;inset:-12px;border-radius:50%;border:2px solid var(--teal);animation:pulse-ring 3s ease-in-out infinite;pointer-events:none}
.doctor-ring-2{position:absolute;inset:-24px;border-radius:50%;border:1px solid rgba(0,194,184,.2);animation:pulse-ring 3s ease-in-out infinite .5s;pointer-events:none}
.clinic-frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,74,173,0.12);transition:transform 0.5s var(--ease-out);width:100%;min-height:350px;background:var(--silver)}
@supports (aspect-ratio: 4/3) { .clinic-frame { aspect-ratio: 4/3; min-height: auto; } }
.clinic-slider{position:absolute;inset:0;width:100%;height:100%}
.clinic-slider .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease-in-out, transform 1.5s ease-in-out;transform:scale(1.05);z-index:1}
.clinic-slider .slide.active{opacity:1;transform:scale(1);z-index:2}
.clinic-badge{position:absolute;bottom:20px;left:20px;background:rgba(11,31,58,0.8);backdrop-filter:blur(10px);color:#fff;padding:0.6rem 1.2rem;border-radius:50px;font-size:0.8rem;font-weight:600;display:flex;align-items:center;gap:0.5rem;border:1px solid rgba(255,255,255,0.1);z-index:10}
.clinic-badge i{color:var(--teal)}
.about-content h2{margin-bottom:1.5rem}
.about-content p{color:var(--text-mid);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}
.about-content .doctor-name{font-family:var(--font-head);font-size:1.3rem;color:var(--royal-blue);font-weight:700;margin-bottom:.3rem}
.about-content .doctor-title{color:var(--text-light);font-size:.9rem;margin-bottom:2rem}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.stat-card{text-align:center;padding:1.5rem 1rem;background:var(--white);border-radius:16px;border:1px solid var(--silver);transition:all .4s var(--ease-out)}
.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,74,173,.08);border-color:var(--teal)}
.stat-card h3{font-size:2rem;color:var(--royal-blue);margin-bottom:.3rem}
.stat-card h3 span{color:var(--teal);font-size:1.2rem}
.stat-card p{font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:1px}

/* ── SPECIALTIES ── */
.specialties-section{padding:7rem 0;background:var(--white)}
/* ── SPECIALTIES (3D UIVERSE DESIGN) ── */
.specialties-section { padding: 7rem 0; background: var(--white); }
.specialties-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 3rem; justify-items: center; }

.specialty-parent { width: 100%; max-width: 340px; min-height: 400px; perspective: 1500px; display: flex; }
.specialty-card { flex: 1; border-radius: 40px; background: var(--white); border: 1px solid var(--silver); transition: transform 0.1s ease-out, box-shadow 0.5s var(--ease-out); transform-style: preserve-3d; box-shadow: rgba(0, 74, 173, 0.05) 0px 20px 40px -10px, rgba(0, 0, 0, 0.1) 0px 10px 20px -5px; position: relative; cursor: pointer; display: flex; flex-direction: column; }

.specialty-card .glass { transform-style: preserve-3d; position: absolute; inset: 12px; border-radius: 35px; border-top-right-radius: 80%; background: linear-gradient(135deg, rgba(0, 194, 184, 0.05) 0%, rgba(0, 74, 173, 0.05) 100%); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); transform: translate3d(0px, 0px, 25px); border-left: 1px solid rgba(0, 194, 184, 0.1); border-bottom: 1px solid rgba(0, 194, 184, 0.1); transition: all 0.5s var(--ease-out); pointer-events: none; }

.specialty-card .content { padding: 100px 30px 80px 30px; transform: translate3d(0, 0, 30px); flex-grow: 1; }
.specialty-card .content .title { display: block; color: var(--deep-blue); font-weight: 800; font-size: 1.4rem; font-family: var(--font-head); margin-bottom: 15px; }
.specialty-card .content .text { display: block; color: var(--text-mid); font-size: 0.95rem; line-height: 1.6; }

.specialty-card .bottom { padding: 20px 25px; transform-style: preserve-3d; position: absolute; bottom: 15px; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; transform: translate3d(0, 0, 35px); }
.specialty-card .bottom .social-buttons-container { display: flex; gap: 12px; transform-style: preserve-3d; }
.specialty-card .bottom .social-button { width: 36px; height: 36px; background: rgba(255, 255, 255, 0.9); border-radius: 50%; border: none; display: flex; align-items: center; justify-content: center; box-shadow: rgba(0, 74, 173, 0.2) 0px 7px 5px -5px; transition: all 0.3s; color: var(--royal-blue); font-size: 1rem; }
.specialty-card .bottom .social-button:hover { background: var(--white); transform: translate3d(0, 0, 10px) scale(1.1); color: var(--teal); }

.specialty-card .bottom .view-more { display: flex; align-items: center; gap: 5px; transition: all 0.3s var(--ease-out); color: var(--royal-blue); font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }
.specialty-card .bottom .view-more:hover { transform: translate3d(0, 0, 15px); color: var(--teal); }

.specialty-card .logo { position: absolute; right: 0; top: 0; transform-style: preserve-3d; }
.specialty-card .logo .circle { display: block; position: absolute; aspect-ratio: 1; border-radius: 50%; top: 0; right: 0; box-shadow: rgba(0, 0, 0, 0.05) -10px 10px 20px 0px; background: rgba(0, 194, 184, 0.03); transition: all 0.5s var(--ease-out); border: 1px solid rgba(0, 194, 184, 0.05); }
.specialty-card .logo .circle1 { width: 140px; transform: translate3d(0, 0, 20px); top: 12px; right: 12px; }
.specialty-card .logo .circle2 { width: 110px; transform: translate3d(0, 0, 40px); top: 18px; right: 18px; transition-delay: 0.1s; }
.specialty-card .logo .circle3 { width: 85px; transform: translate3d(0, 0, 60px); top: 25px; right: 25px; transition-delay: 0.2s; }
.specialty-card .logo .circle4 { width: 60px; transform: translate3d(0, 0, 80px); top: 32px; right: 32px; transition-delay: 0.3s; }
.specialty-card .logo .circle5 { width: 45px; transform: translate3d(0, 0, 100px); top: 40px; right: 40px; display: flex; align-items: center; justify-content: center; transition-delay: 0.4s; background: linear-gradient(135deg, var(--teal), var(--royal-blue)); color: var(--white); font-size: 1.1rem; box-shadow: 0 10px 20px rgba(0, 194, 184, 0.2); }

.specialty-parent:hover .specialty-card { box-shadow: rgba(0, 74, 173, 0.1) 0px 40px 80px -20px, rgba(0, 0, 0, 0.05) 0px 20px 40px -10px; border-color: var(--teal); }
.specialty-parent:hover .specialty-card .logo .circle2 { transform: translate3d(0, 0, 50px); }
.specialty-parent:hover .specialty-card .logo .circle3 { transform: translate3d(0, 0, 70px); }
.specialty-parent:hover .specialty-card .logo .circle4 { transform: translate3d(0, 0, 90px); }
.specialty-parent:hover .specialty-card .logo .circle5 { transform: translate3d(0, 0, 110px); }

/* ── SPINE EXPERIENCE ── */
.spine-section{padding:7rem 0;background:linear-gradient(135deg,#0B1F3A,#0d2847);position:relative;overflow:hidden}
.spine-section::before{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(0,194,184,.08),transparent 70%);border-radius:50%;transform:translate(-50%,-50%)}
.spine-header{text-align:center;margin-bottom:4rem}
.spine-header .section-title{color:#fff}
.spine-header .section-title::after{background:linear-gradient(90deg,var(--teal),var(--gold))}
.spine-header .section-subtitle{color:rgba(255,255,255,.6)}
.spine-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.spine-canvas-container{width:100%;aspect-ratio:1;position:relative;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.spine-canvas-container canvas{width:100%!important;height:100%!important}
.spine-info{color:#fff}
.spine-info h3{color:#fff;font-size:1.8rem;margin-bottom:1.5rem}
.spine-info p{color:rgba(255,255,255,.6);margin-bottom:2rem;line-height:1.8}
.condition-list{display:flex;flex-direction:column;gap:1rem}
.condition-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;transition:all .3s var(--ease-out);cursor:pointer}
.condition-item:hover{background:rgba(0,194,184,.1);border-color:rgba(0,194,184,.3);transform:translateX(8px)}
.condition-item i{color:var(--teal);font-size:1.2rem;width:24px}
.condition-item span{color:rgba(255,255,255,.8);font-weight:500}

/* ── DOCTOR PROFILE ── */
.doctor-section{padding:7rem 0;background:var(--off-white)}
.doctor-profile{display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:start}
.doctor-image-col{display:flex;flex-direction:column;align-items:center;gap:2rem}
.doctor-photo-frame{position:relative;width:280px;height:280px}
.doctor-photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 20px 60px rgba(0,74,173,.15)}
.doctor-photo-ring{position:absolute;inset:-10px;border-radius:50%;border:2px dashed var(--teal);animation:spin-slow 20s linear infinite}
@keyframes spin-slow{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.doctor-details h2{font-size:2rem;margin-bottom:.5rem}
.doctor-details .title{color:var(--teal);font-weight:600;font-size:1.05rem;margin-bottom:2rem}
.credentials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}
.credential-card{padding:1.5rem;background:var(--white);border-radius:16px;border:1px solid var(--silver);transition:all .4s var(--ease-out)}
.credential-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,74,173,.08);border-color:var(--teal)}
.credential-card i{font-size:1.5rem;color:var(--teal);margin-bottom:.8rem}
.credential-card h4{font-size:1rem;color:var(--deep-blue);margin-bottom:.4rem}
.credential-card p{font-size:.85rem;color:var(--text-light)}

/* ── TECHNOLOGY CARDS (UIVERSE GLOW DESIGN) ── */
.tech-section{padding:7rem 0;background:linear-gradient(135deg,#0B1F3A,#0a1929);position:relative;overflow:hidden}
.tech-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 3rem; justify-items: center; }

.tech-card {
  width: 100%;
  max-width: 300px;
  min-height: 350px;
  background: #0B1F3A;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.5);
  cursor: pointer;
  border-radius: 20px;
}

.tech-card .tech-content {
  position: relative;
  border-radius: 18px;
  background: #0d2847;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  z-index: 2;
  padding: 40px 30px;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: background 0.3s;
}

.tech-card:hover .tech-content {
  background: rgba(13, 40, 71, 0.8);
}

.tech-content::before {
  opacity: 0;
  transition: opacity 300ms;
  content: " ";
  display: block;
  background: white;
  width: 5px;
  height: 50px;
  position: absolute;
  filter: blur(40px);
  overflow: hidden;
}

.tech-card:hover .tech-content::before {
  opacity: 1;
}

.tech-card::before {
  opacity: 0;
  content: " ";
  position: absolute;
  display: block;
  width: 250px;
  height: 600px;
  background: linear-gradient(#ff2288, #387ef0);
  transition: opacity 300ms;
  animation: rotation_glow 6000ms infinite linear;
  animation-play-state: paused;
  z-index: 0;
  pointer-events: none;
}

.tech-card:hover::before {
  opacity: 1;
  animation-play-state: running;
}

.tech-card::after {
  position: absolute;
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(11, 31, 58, 0.2);
  backdrop-filter: blur(30px);
  transition: background 0.3s;
  z-index: 1;
  pointer-events: none;
}

.tech-card:hover::after {
  background: rgba(11, 31, 58, 0.1);
}

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

.tech-icon {
    width: 60px;
    height: 60px;
    background: rgba(0, 194, 184, 0.1);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--teal);
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.tech-card h3 {
    font-size: 1.25rem;
    margin-bottom: 12px;
    color: #fff;
    position: relative;
    z-index: 2;
}

.tech-card p {
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
    font-size: 0.95rem;
    position: relative;
    z-index: 2;
}

/* ── TESTIMONIALS ── */
.testimonials-section{padding:7rem 0;background:var(--off-white);overflow:hidden}
.testimonials-track{display:flex;gap:2rem;overflow-x:auto;overflow-y:hidden;position:relative;padding-bottom:1.5rem;scroll-behavior:smooth;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--teal) var(--silver)}
.testimonials-track::-webkit-scrollbar{height:8px}
.testimonials-track::-webkit-scrollbar-track{background:var(--silver);border-radius:4px}
.testimonials-track::-webkit-scrollbar-thumb{background:var(--teal);border-radius:4px}
.testimonial-card{width:540px;min-width:540px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;background:var(--white);border:1px solid var(--silver);border-radius:24px;padding:2rem;position:relative;transition:all .4s var(--ease-out);flex-shrink:0;box-shadow:0 10px 30px rgba(0,74,173,.05)}
.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(0,74,173,.08);border-color:rgba(0,194,184,.2)}
.testimonial-card .quote-icon{position:absolute;top:20px;right:24px;font-size:2.5rem;color:rgba(0,74,173,.06)}
.testimonial-card .stars{color:#ffc107;margin-bottom:1rem;display:flex;gap:3px;font-size:.9rem}
.testimonial-card .text{font-size:.95rem;color:var(--text-mid);line-height:1.6;margin-bottom:1.2rem;font-style:italic;flex-grow:1}
.reviewer{display:flex;align-items:center;gap:1rem}
.reviewer-avatar{width:50px;height:50px;background:linear-gradient(135deg,var(--royal-blue),var(--teal));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}
.reviewer h4{color:var(--deep-blue);font-size:1rem;margin-bottom:2px}
.reviewer p{color:var(--teal);font-size:.82rem;font-weight:600}

/* ── CTA SECTION ── */
.cta-section{padding:6rem 0;background:linear-gradient(135deg,var(--royal-blue),var(--sky-blue));position:relative;overflow:hidden;text-align:center}
.cta-section::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);border-radius:50%}
.cta-section h2{color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:1rem;position:relative;z-index:1}
.cta-section p{color:rgba(255,255,255,.8);font-size:1.1rem;margin-bottom:2.5rem;position:relative;z-index:1}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.btn-white{background:#fff;color:var(--royal-blue);padding:.9rem 2.2rem;border-radius:50px;font-weight:700;font-family:var(--font-head);transition:all .3s var(--ease-out);box-shadow:0 4px 20px rgba(0,0,0,.1)}
.btn-white:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.15);color:var(--royal-blue)}
.btn-whatsapp{background:#25D366;color:#fff;padding:.9rem 2.2rem;border-radius:50px;font-weight:700;font-family:var(--font-head);display:inline-flex;align-items:center;gap:.5rem;transition:all .3s var(--ease-out);box-shadow:0 4px 20px rgba(37,211,102,.3)}
.btn-whatsapp:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(37,211,102,.4);color:#fff}

/* ── FOOTER ── */
.footer{background:linear-gradient(135deg,#0B1F3A,#060e1a);color:#fff;padding-top:5rem;border-top:2px solid var(--teal)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:3rem;margin-bottom:3rem}
.footer-col h3{color:#fff;font-size:1.1rem;margin-bottom:1.5rem;position:relative;padding-bottom:.8rem}
.footer-col h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--teal);border-radius:2px}
.footer-col p{color:rgba(255,255,255,.6);line-height:1.7;font-size:.9rem}
.footer-brand .logo-text h1{font-size:1.5rem}
.footer-links li{margin-bottom:.8rem}
.footer-links a{color:rgba(255,255,255,.5);font-size:.9rem;transition:all .3s;display:flex;align-items:center;gap:.5rem}
.footer-links a:hover{color:var(--teal);transform:translateX(5px)}
.footer-contact li{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;color:rgba(255,255,255,.6);font-size:.9rem}
.footer-contact i{width:32px;height:32px;background:rgba(0,194,184,.1);color:var(--teal);display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0;transition:all .3s}
.footer-contact li:hover i{background:var(--teal);color:#fff}
.footer-social{display:flex;gap:1rem;margin-top:1.5rem}
.footer-social a{width:40px;height:40px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .4s var(--ease-out);font-size:.9rem}
.footer-social a:hover{transform:translateY(-5px);color:#fff;border-color:transparent}
.footer-social a[aria-label="Facebook"]:hover{background:#1877F2;box-shadow:0 8px 20px rgba(24,119,242,.3)}
.footer-social a[aria-label="Instagram"]:hover{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);box-shadow:0 8px 20px rgba(220,39,67,.3)}
.footer-social a[aria-label="YouTube"]:hover{background:#FF0000;box-shadow:0 8px 20px rgba(255,0,0,.3)}
.footer-bottom{background:rgba(0,0,0,.3);padding:1.5rem 0;text-align:center;color:rgba(255,255,255,.4);font-size:.82rem;border-top:1px solid rgba(255,255,255,.05)}

/* ── FLOATING SOCIAL MENU ── */
.floating-social-menu{position:fixed;bottom:2rem;right:2rem;z-index:999;display:flex;flex-direction:column;align-items:center;gap:.8rem}
.social-links{display:flex;flex-direction:column;gap:.8rem;opacity:0;visibility:hidden;transform:translateY(30px) scale(0.7);transition:all .5s cubic-bezier(0.34, 1.56, 0.64, 1);pointer-events:none}
.floating-social-menu.active .social-links{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.social-btn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,0.2);transition:all .3s var(--ease-out);border:1px solid rgba(255,255,255,0.1);transform:scale(0.8);opacity:0}
.floating-social-menu.active .social-btn{transform:scale(1);opacity:1}
.floating-social-menu.active .social-btn:nth-child(1){transition-delay:0.1s}
.floating-social-menu.active .social-btn:nth-child(2){transition-delay:0.15s}
.floating-social-menu.active .social-btn:nth-child(3){transition-delay:0.2s}
.floating-social-menu.active .social-btn:nth-child(4){transition-delay:0.25s}
.floating-social-menu.active .social-btn:nth-child(5){transition-delay:0.3s}
.social-btn:hover{transform:scale(1.1) translateY(-3px)}
.social-btn.insta{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888)}
.social-btn.fb{background:#1877F2}
.social-btn.yt{background:#FF0000}
.social-btn.whatsapp{background:#25D366}
.social-btn.phone{background:var(--royal-blue)}
.menu-toggle{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;border:none;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,194,184,0.3);transition:all .4s var(--ease-bounce);z-index:2}
.floating-social-menu.active .menu-toggle{transform:rotate(45deg);background:var(--orange);box-shadow:0 10px 30px rgba(232,78,27,0.3)}
@media(max-width:576px){
    .floating-social-menu{bottom:1.5rem;right:1.5rem}
    .menu-toggle{width:50px;height:50px;font-size:1.2rem}
    .social-btn{width:42px;height:42px;font-size:1rem}
}

/* ── EXPERIENCE BADGE (ABOUT PAGE) ── */
.experience-badge {
    position: absolute;
    bottom: -30px;
    right: 20px;
    background: var(--royal-blue);
    color: #fff;
    padding: 1.5rem 2.5rem;
    border-radius: 16px;
    box-shadow: 0 15px 30px rgba(0,74,173,0.2);
}
.experience-badge h3 {
    color: #fff;
    font-size: 2.5rem;
    margin: 0;
}
.experience-badge p {
    margin: 0;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
}

/* ── LIGHT THEME CONDITION ITEMS ── */
.about-content .condition-list {
    margin-top: 2rem;
}
.about-content .condition-item {
    background: var(--off-white);
    border: 1px solid var(--silver);
}
.about-content .condition-item span {
    color: var(--text-dark);
}

/* ── DOCTOR PAGE PROFILE DETAILS ── */
.doctor-image-col .glass-card {
    padding: 1.5rem;
    text-align: center;
    margin-top: 2rem;
    width: 100%;
}
.doctor-image-col .glass-card h4 {
    margin-bottom: 0.5rem;
    color: var(--royal-blue);
}
.doctor-image-col .glass-card p {
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.doctor-image-col .glass-card .btn {
    padding: 0.6rem 1.5rem;
    font-size: 0.85rem;
}
.doctor-details .doctor-designation {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--teal);
    margin-bottom: 0.4rem;
}
.doctor-details .doctor-qualifications {
    font-size: 0.95rem;
    color: var(--deep-blue);
    font-weight: 600;
    margin-bottom: 0.8rem;
}
.doctor-details .doctor-fellowships {
    font-size: 0.85rem;
    color: var(--text-mid);
    line-height: 1.8;
    margin-bottom: 1.8rem;
}
.doctor-fellowships-title {
    font-weight: 700;
    color: var(--royal-blue);
    margin-bottom: 0.3rem;
}
.doctor-fellowships-item {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}
.doctor-fellowships-item i {
    color: var(--teal);
    font-size: 0.8rem;
    margin-top: 3px;
}
.credential-fellowship-wrapper {
    font-size: 0.85rem;
    color: var(--text-mid);
    line-height: 1.7;
    text-align: left;
}
.doctor-stats-row {
    margin-top: 3rem;
}

/* ── RESPONSIVE ── */
@media(max-width:992px){
.about-grid,.spine-content,.doctor-profile{grid-template-columns:1fr;text-align:center}
.about-img-wrapper{order:-1}
.stats-row{grid-template-columns:repeat(3,1fr)}
.credentials-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.testimonial-card{width:420px;min-width:420px;min-height:200px;padding:1.8rem}
.doctor-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.doctor-fellowships {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.doctor-fellowships > div {
    width: 100%;
    justify-content: center;
}
.credential-card {
    text-align: left;
}
.experience-badge {
    position: relative;
    bottom: auto;
    right: auto;
    margin: 1.5rem auto -1rem;
    display: inline-block;
    text-align: center;
}
.about-img-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}
}
@media(max-width:768px){
.footer-grid{grid-template-columns:1fr}
.stats-row{grid-template-columns:repeat(3,1fr) !important;gap:0.75rem !important;margin-top:1.5rem !important}
.stat-card{padding:1rem 0.5rem !important}
.stat-card h3{font-size:1.4rem !important}
.stat-card h3 span{font-size:0.85rem !important}
.stat-card p{font-size:0.65rem !important;letter-spacing:0.5px !important}
.specialties-grid{grid-template-columns:1fr; gap: 1.5rem !important;}
.tech-grid{grid-template-columns:1fr; gap: 1.5rem !important;}

/* Specialty Card Mobile Styling */
.specialty-parent {
    width: 100% !important;
    max-width: 290px !important;
    min-height: 310px !important;
    margin: 0 auto;
}
.specialty-card {
    border-radius: 24px !important;
}
.specialty-card .glass {
    inset: 8px !important;
    border-radius: 18px !important;
    border-top-right-radius: 60% !important;
}
.specialty-card .content {
    padding: 60px 18px 50px 18px !important;
}
.specialty-card .content .title {
    font-size: 1.15rem !important;
    margin-bottom: 8px !important;
}
.specialty-card .content .text {
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
}
.specialty-card .logo .circle1 { width: 90px !important; }
.specialty-card .logo .circle2 { width: 75px !important; top: 14px !important; right: 14px !important; }
.specialty-card .logo .circle3 { width: 60px !important; top: 20px !important; right: 20px !important; }
.specialty-card .logo .circle4 { width: 45px !important; top: 26px !important; right: 26px !important; }
.specialty-card .logo .circle5 { width: 35px !important; top: 32px !important; right: 32px !important; font-size: 0.85rem !important; }
.specialty-card .bottom {
    padding: 12px 18px !important;
    bottom: 8px !important;
}
.specialty-card .bottom .social-button {
    width: 30px !important;
    height: 30px !important;
    font-size: 0.85rem !important;
}
.specialty-card .bottom .view-more {
    font-size: 0.75rem !important;
}

/* Modality Card Mobile Styling */
.modalities-grid {
    gap: 1.25rem !important;
    margin-top: 2rem !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}
.modality-card {
    padding: 1.5rem 1.25rem !important;
    border-radius: 16px !important;
}
.modality-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    font-size: 1.5rem !important;
    margin-bottom: 1.25rem !important;
}
.modality-card h3 {
    font-size: 1.2rem !important;
    margin-bottom: 0.75rem !important;
}
.modality-card p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1.25rem !important;
}
.modality-badge {
    font-size: 0.75rem !important;
    padding: 5px 12px !important;
}

/* Tech Card Mobile Styling */
.tech-card {
    width: 100% !important;
    max-width: 270px !important;
    min-height: 280px !important;
    border-radius: 16px !important;
}
.tech-card .tech-content {
    padding: 25px 20px !important;
    border-radius: 14px !important;
}
.tech-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    font-size: 1.5rem !important;
    margin-bottom: 15px !important;
}
.tech-card h3 {
    font-size: 1.15rem !important;
    margin-bottom: 8px !important;
}
.tech-card p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}

/* Credential Card Mobile Styling */
.credentials-grid {
    gap: 1rem !important;
}
.credential-card {
    padding: 1.25rem !important;
    border-radius: 12px !important;
}
.credential-card i {
    font-size: 1.25rem !important;
    margin-bottom: 0.6rem !important;
}
.credential-card h4 {
    font-size: 0.95rem !important;
    margin-bottom: 0.3rem !important;
}
.credential-card p {
    font-size: 0.8rem !important;
}

/* Contact Detail Card Mobile Styling */
.contact-wrapper {
    gap: 2rem !important;
}
.contact-detail-card {
    padding: 1.25rem !important;
    gap: 1rem !important;
    border-radius: 16px !important;
}
.contact-detail-card i {
    width: 45px !important;
    height: 45px !important;
    font-size: 1.2rem !important;
    border-radius: 12px !important;
}
.contact-detail-card h4 {
    font-size: 1rem !important;
}
.contact-detail-card p {
    font-size: 0.85rem !important;
}

/* Process Step Mobile Styling */
.process-grid {
    gap: 1.25rem !important;
    margin-top: 2rem !important;
}
.process-step {
    padding: 1.5rem 1.25rem !important;
    border-radius: 16px !important;
}
.step-number {
    width: 40px !important;
    height: 40px !important;
    font-size: 1rem !important;
    margin-bottom: 1rem !important;
}
.process-step h3 {
    font-size: 1.15rem !important;
    margin-bottom: 0.75rem !important;
}
.process-step p {
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
}
}
@media(max-width:576px){
    .testimonial-card{width:calc(100vw - 2.5rem);min-width:280px;max-width:420px;min-height:180px;padding:1.4rem;border-radius:20px;margin:0}
    .testimonial-card .text{font-size:.85rem;line-height:1.5;margin-bottom:1.2rem}
    .testimonial-card .quote-icon{font-size:1.5rem;top:15px;right:15px}
    .reviewer-avatar{width:42px;height:42px;font-size:.9rem}
    .reviewer h4{font-size:.9rem}
    .reviewer p{font-size:.75rem}
    .testimonials-section{padding:3rem 0}
    .testimonials-track{gap:1rem;padding-bottom:1rem}
.section{padding:4rem 0}
.clinic-frame{max-width:100%;min-height:250px}

    /* Extra small screen tuning */
    .specialty-parent {
        max-width: 275px !important;
        min-height: 290px !important;
    }
    .specialty-card .content {
        padding: 50px 14px 40px 14px !important;
    }
    .specialty-card .content .title {
        font-size: 1.1rem !important;
    }
    .specialty-card .content .text {
        font-size: 0.8rem !important;
    }
    .tech-card {
        max-width: 250px !important;
        min-height: 260px !important;
    }
    .tech-card .tech-content {
        padding: 20px 15px !important;
    }
    .contact-detail-card {
        flex-direction: column !important;
        text-align: center !important;
        padding: 1.25rem 1rem !important;
        gap: 0.75rem !important;
    }
    .modalities-grid, .process-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .appointment-form-card {
        padding: 1.5rem 1.25rem !important;
        border-radius: 20px !important;
    }
    .form-info-ribbon {
        padding: 1rem !important;
        gap: 0.5rem !important;
        margin-bottom: 2rem !important;
    }
    .ribbon-info {
        font-size: 0.85rem !important;
    }
    .contact-form-col {
        padding: 1.5rem 1.25rem !important;
        border-radius: 20px !important;
    }
    .success-card {
        padding: 2rem 1.5rem !important;
        border-radius: 24px !important;
    }
    .success-icon {
        width: 60px !important;
        height: 60px !important;
        font-size: 1.8rem !important;
        margin-bottom: 1rem !important;
    }
}

/* ── FORM & INPUTS ── */
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--deep-blue);font-size:.9rem}
.form-control{width:100%;padding:1rem 1.2rem;border:1px solid var(--silver);border-radius:12px;font-family:var(--font-body);font-size:1rem;transition:all .3s;background:var(--off-white);outline:none}
.form-control:focus{border-color:var(--teal);background:var(--white);box-shadow:0 0 0 4px rgba(0,194,184,.1)}
textarea.form-control{resize:none}

.premium-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem}
.premium-field{position:relative;margin-bottom:2rem}
.premium-field .field-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--royal-blue);font-size:1rem;transition:color .3s;z-index:1}
.premium-field.has-textarea .field-icon,.premium-field .textarea-icon{top:18px;transform:none}
.premium-field input,.premium-field textarea,.premium-field select{width:100%;border:none;border-bottom:2px solid var(--silver);padding:.8rem 0 .8rem 2rem;font-size:1rem;font-family:var(--font-body);background:transparent;outline:none;transition:border-color .3s;color:var(--deep-blue);resize:none;appearance:none}
.premium-field label{position:absolute;left:2rem;top:.8rem;color:var(--text-light);font-size:1rem;transition:all .3s;pointer-events:none}
.premium-field input:focus ~ label,.premium-field input:not(:placeholder-shown) ~ label,.premium-field textarea:focus ~ label,.premium-field textarea:not(:placeholder-shown) ~ label,.premium-field select:focus ~ label,.premium-field select:not([value=""]) ~ label,.premium-field.has-value label{top:-1.2rem;font-size:.82rem;color:var(--teal);font-weight:700;letter-spacing:.5px}
.premium-field .field-line{position:absolute;bottom:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--royal-blue));transition:width .5s var(--ease-out);border-radius:2px}
.premium-field input:focus ~ .field-line,.premium-field textarea:focus ~ .field-line,.premium-field select:focus ~ .field-line,.premium-field.active .field-line{width:100%}

/* Custom select dropdown styling */
.premium-field select.hidden-select{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;pointer-events:none;z-index:-1}
.custom-select-trigger{width:100%;padding:.8rem 2rem .8rem 2rem;font-size:1rem;font-family:var(--font-body);background:transparent;outline:none;color:var(--deep-blue);cursor:pointer;border-bottom:2px solid var(--silver);transition:border-color .3s;user-select:none;display:flex;align-items:center;min-height:43px}
.custom-select-wrapper.active .custom-select-trigger{border-bottom-color:var(--teal)}
.custom-select-options{position:absolute;top:100%;left:0;width:100%;background:var(--white);border-radius:12px;box-shadow:0 10px 30px rgba(0,74,173,.15);border:1px solid var(--silver);margin-top:4px;z-index:100;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s cubic-bezier(.165,.84,.44,1);overflow:hidden}
.custom-select-wrapper.active .custom-select-options{opacity:1;visibility:visible;transform:translateY(0)}
.custom-select-option{padding:12px 20px;font-size:.95rem;color:var(--text-dark);cursor:pointer;transition:all .2s;font-family:var(--font-body)}
.custom-select-option:hover{background:rgba(0,194,184,.08);color:var(--teal);padding-left:24px}
.custom-select-option.selected{background:linear-gradient(135deg,var(--teal),var(--royal-blue));color:var(--white)}
.select-chevron{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--teal);font-size:0.8rem;pointer-events:none;transition:transform .3s}
.custom-select-wrapper.active .select-chevron{transform:translateY(-50%) rotate(180deg)}


/* ── MODALS ── */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:all .4s ease}
.modal-overlay.show{opacity:1;pointer-events:auto}
.success-card{background:var(--white);padding:3rem;border-radius:32px;text-align:center;max-width:450px;width:90%;transform:scale(.8) translateY(30px);transition:all .5s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 25px 60px rgba(0,0,0,.2);position:relative;overflow:hidden}
.modal-overlay.show .success-card{transform:scale(1) translateY(0)}
.success-icon{width:80px;height:80px;background:#25D366;color:#fff;font-size:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 10px 20px rgba(37,211,102,.3)}
.close-modal-btn{background:var(--royal-blue);color:#fff;border:none;padding:.8rem 2.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s}

/* ── FIXED WHATSAPP (LEFT) ── */
.fixed-whatsapp{position:fixed;bottom:2rem;left:2rem;z-index:999}
.whatsapp-btn-left{width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 10px 30px rgba(37,211,102,0.4);transition:all .4s var(--ease-bounce);text-decoration:none}
.whatsapp-btn-left:hover{transform:scale(1.1) translateY(-5px);box-shadow:0 15px 35px rgba(37,211,102,0.5);color:#fff}
@media(max-width:576px){
    .fixed-whatsapp{bottom:1.5rem;left:1.5rem}
    .whatsapp-btn-left{width:50px;height:50px;font-size:1.6rem}
}

/* ── ADDITIONAL RESPONSIVE ── */
@media(max-width:768px){
.premium-form .form-row{grid-template-columns:1fr;gap:0}
}

/* ── INNER PAGE HEADER ── */
.inner-page-header {
    background: linear-gradient(135deg, #0B1F3A 0%, #0d2847 100%);
    padding: 8rem 0 4rem;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.inner-page-header::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(0, 194, 184, 0.1), transparent 70%);
    border-radius: 50%;
}
.inner-page-header h1 {
    color: #fff;
    font-size: 3rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}
.breadcrumb {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    position: relative;
    z-index: 1;
}
.breadcrumb a {
    color: var(--teal);
    font-weight: 500;
}
.breadcrumb span {
    color: rgba(255, 255, 255, 0.3);
}

@media (max-width: 768px) {
    .inner-page-header {
        padding: 5rem 0 2.5rem;
    }
    .inner-page-header h1 {
        font-size: 1.8rem;
    }
    .breadcrumb {
        font-size: 0.8rem;
        gap: 0.5rem;
    }
}

/* ── APPOINTMENT PAGE ── */
.appointment-wrapper {
    max-width: 900px;
    margin: -4rem auto 5rem;
    position: relative;
    z-index: 10;
}
.appointment-form-card {
    background: var(--white);
    padding: 4rem;
    border-radius: 32px;
    box-shadow: 0 40px 100px rgba(0,31,58,0.1);
    border: 1px solid var(--silver);
}
.form-info-ribbon {
    display: flex;
    gap: 2rem;
    background: var(--off-white);
    padding: 1.5rem;
    border-radius: 16px;
    margin-bottom: 3rem;
    border: 1px solid var(--silver);
}
.ribbon-info {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: .9rem;
    color: var(--text-mid);
}
.ribbon-info i {
    color: var(--teal);
}

@media (max-width: 768px) {
    .appointment-wrapper {
        margin-top: -2rem;
        margin-bottom: 3rem;
    }
    .appointment-form-card {
        padding: 2rem;
    }
    .form-info-ribbon {
        flex-direction: column;
        gap: 1rem;
    }
}

/* ── CONTACT PAGE ── */
.contact-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    margin-bottom: 5rem;
}
.contact-info-col {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.contact-detail-card {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    padding: 2rem;
    background: var(--white);
    border-radius: 20px;
    border: 1px solid var(--silver);
    transition: all 0.4s var(--ease-out);
}
.contact-detail-card:hover {
    transform: translateY(-5px);
    border-color: var(--teal);
    box-shadow: 0 20px 40px rgba(0,74,173,0.06);
}
.contact-detail-card i {
    width: 60px;
    height: 60px;
    background: rgba(0, 194, 184, 0.1);
    color: var(--teal);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-size: 1.5rem;
    flex-shrink: 0;
}
.contact-detail-card h4 {
    font-size: 1.1rem;
    margin-bottom: 0.3rem;
}
.contact-detail-card p {
    color: var(--text-light);
    font-size: 0.95rem;
    margin: 0;
}
.contact-form-col {
    background: var(--white);
    padding: 3rem;
    border-radius: 32px;
    border: 1px solid var(--silver);
    box-shadow: 0 30px 60px rgba(0,0,0,0.05);
}
.form-group {
    margin-bottom: 1.5rem;
}
.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--deep-blue);
    font-size: 0.9rem;
}
.form-control {
    width: 100%;
    padding: 1rem 1.2rem;
    border: 1px solid var(--silver);
    border-radius: 12px;
    font-family: var(--font-body);
    font-size: 1rem;
    transition: all 0.3s;
    background: var(--off-white);
}
.form-control:focus {
    outline: none;
    border-color: var(--teal);
    background: var(--white);
    box-shadow: 0 0 0 4px rgba(0, 194, 184, 0.1);
}
textarea.form-control {
    resize: none;
}
.map-section {
    border-radius: 32px;
    overflow: hidden;
    height: 500px;
    box-shadow: 0 30px 60px rgba(0,0,0,0.1);
    border: 8px solid var(--white);
}

@media (max-width: 992px) {
    .contact-wrapper {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .contact-form-col {
        padding: 2rem;
    }
}
@media (max-width: 768px) {
    .map-section {
        height: 320px !important;
        border-width: 4px !important;
        border-radius: 20px !important;
    }
}

/* ── SERVICES PAGE ── */
.service-full-card {
    display: flex;
    gap: 4rem;
    align-items: center;
    margin-bottom: 8rem;
}
.service-full-card:nth-child(even) {
    flex-direction: row-reverse;
}
.service-full-img {
    flex: 1;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,74,173,0.12);
    height: 450px;
}
.service-full-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease-out);
}
.service-full-card:hover .service-full-img img {
    transform: scale(1.05);
}
.service-full-content {
    flex: 1;
}
.service-full-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
.service-full-content h2 i {
    color: var(--teal);
    font-size: 1.8rem;
}
.service-full-content p {
    color: var(--text-mid);
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 2rem;
}
.feature-grid-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 2.5rem;
}
.feature-grid-list li {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 0.95rem;
    color: var(--text-dark);
    font-weight: 500;
}
.feature-grid-list i {
    color: var(--teal);
    font-size: 1rem;
}

@media (max-width: 992px) {
    .service-full-card, .service-full-card:nth-child(even) {
        flex-direction: column;
        gap: 2rem;
        text-align: center;
        margin-bottom: 5rem;
    }
    .service-full-img {
        width: 100%;
        height: 300px;
    }
    .feature-grid-list {
        justify-items: center;
    }
    .service-full-content h2 {
        justify-content: center;
        font-size: 2rem;
    }
}
@media (max-width: 576px) {
    .feature-grid-list {
        grid-template-columns: 1fr;
    }
}

/* ── PHYSIOTHERAPY PAGE ── */
.physio-overview {
    padding: 7rem 0;
    background: var(--white);
}
.physio-overview-wrapper {
    display: flex;
    gap: 4rem;
    align-items: center;
}
.physio-img-col {
    flex: 1;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,74,173,0.12);
    height: 450px;
}
.physio-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease-out);
}
.physio-overview-wrapper:hover .physio-img-col img {
    transform: scale(1.05);
}
.physio-content-col {
    flex: 1;
}
.physio-content-col h2 {
    font-size: 2.5rem;
    margin-bottom: 1.5rem;
    color: var(--deep-blue);
}
.physio-content-col p {
    color: var(--text-mid);
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}

/* ── MODALITIES GRID (PREMIUM CARDS) ── */
.physio-modalities {
    padding: 7rem 0;
    background: var(--off-white);
}
.modalities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2.5rem;
    margin-top: 4rem;
}
.modality-card {
    background: var(--white);
    border-radius: 24px;
    padding: 3rem 2.5rem;
    box-shadow: 0 20px 40px rgba(0,0,0,0.04);
    border: 1px solid var(--silver);
    transition: all 0.4s var(--ease-out);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.modality-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(135deg, var(--teal), var(--royal-blue));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease-out);
}
.modality-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 60px rgba(0,74,173,0.12);
    border-color: transparent;
}
.modality-card:hover::before {
    transform: scaleX(1);
}
.modality-icon {
    width: 70px;
    height: 70px;
    border-radius: 20px;
    background: rgba(0, 194, 184, 0.1);
    color: var(--teal);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin-bottom: 2rem;
    transition: all 0.4s var(--ease-out);
}
.modality-card:hover .modality-icon {
    background: linear-gradient(135deg, var(--teal), var(--royal-blue));
    color: var(--white);
    transform: scale(1.1) rotate(5deg);
}
.modality-card h3 {
    font-size: 1.5rem;
    color: var(--deep-blue);
    margin-bottom: 1rem;
    font-weight: 700;
}
.modality-card p {
    color: var(--text-mid);
    font-size: 0.95rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
.modality-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--royal-blue);
    background: rgba(0, 74, 173, 0.08);
    padding: 6px 14px;
    border-radius: 50px;
    align-self: flex-start;
}

/* ── REHAB PROCESS ── */
.physio-process {
    padding: 7rem 0;
    background: var(--white);
}
.process-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2.5rem;
    margin-top: 4rem;
    position: relative;
}
.process-step {
    text-align: center;
    padding: 2.5rem 2rem;
    background: var(--off-white);
    border-radius: 24px;
    border: 1px solid var(--silver);
    position: relative;
    transition: all 0.4s var(--ease-out);
}
.process-step:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.06);
    background: var(--white);
    border-color: var(--teal);
}
.step-number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--teal), var(--royal-blue));
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 auto 1.5rem;
    box-shadow: 0 10px 20px rgba(0, 194, 184, 0.2);
}
.process-step h3 {
    font-size: 1.3rem;
    color: var(--deep-blue);
    margin-bottom: 1rem;
    font-weight: 700;
}
.process-step p {
    color: var(--text-mid);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* ── PHYSIO FEATURES GRID (REFACTORED) ── */
.physio-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}
.physio-feature-item {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.physio-feature-icon {
    font-size: 2rem;
    color: var(--teal);
}
.physio-feature-title {
    color: var(--deep-blue);
    font-size: 1.1rem;
    margin-bottom: 0.2rem;
}
.physio-feature-desc {
    color: var(--text-mid);
    font-size: 0.85rem;
    margin: 0;
}

@media (max-width: 992px) {
    .physio-overview-wrapper {
        flex-direction: column;
        text-align: center;
    }
    .physio-img-col {
        width: 100%;
        height: 350px;
    }
}
@media (max-width: 576px) {
    .physio-features-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── CUSTOM FLATPICKR STYLING OVERRIDES ── */
.flatpickr-calendar {
    background: var(--white) !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 40px rgba(0, 74, 173, 0.12) !important;
    border: 1px solid var(--silver) !important;
    font-family: var(--font-body) !important;
    padding: 10px !important;
}
.flatpickr-months {
    padding: 5px 0 !important;
}
.flatpickr-months .flatpickr-month {
    color: var(--deep-blue) !important;
    fill: var(--deep-blue) !important;
}
.flatpickr-months .flatpickr-prev-month, 
.flatpickr-months .flatpickr-next-month {
    color: var(--deep-blue) !important;
    fill: var(--deep-blue) !important;
    top: 15px !important;
    padding: 10px !important;
}
.flatpickr-months .flatpickr-prev-month:hover, 
.flatpickr-months .flatpickr-next-month:hover {
    color: var(--teal) !important;
    fill: var(--teal) !important;
}
.flatpickr-current-month {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: var(--deep-blue) !important;
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: var(--deep-blue) !important;
}
.flatpickr-weekday {
    color: var(--text-mid) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}
.flatpickr-day {
    border-radius: 10px !important;
    color: var(--text-dark) !important;
    font-weight: 500 !important;
    margin: 2px 0 !important;
    transition: all 0.2s var(--ease-out) !important;
}
.flatpickr-day.today {
    border-color: var(--teal) !important;
    color: var(--teal) !important;
    background: rgba(0, 194, 184, 0.05) !important;
}
.flatpickr-day.today:hover {
    background: var(--teal) !important;
    color: var(--white) !important;
    border-color: transparent !important;
}
.flatpickr-day.selected, 
.flatpickr-day.selected:focus, 
.flatpickr-day.selected:hover,
.flatpickr-day.prevMonthDay.selected,
.flatpickr-day.nextMonthDay.selected {
    background: linear-gradient(135deg, var(--teal), var(--royal-blue)) !important;
    border-color: transparent !important;
    color: var(--white) !important;
    box-shadow: 0 5px 15px rgba(0, 74, 173, 0.2) !important;
}
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day.today:hover {
    background: rgba(0, 194, 184, 0.08) !important;
    color: var(--teal) !important;
    border-color: transparent !important;
}
.flatpickr-day.disabled, 
.flatpickr-day.disabled:hover {
    color: rgba(0, 0, 0, 0.15) !important;
    background: transparent !important;
    cursor: not-allowed !important;
}
.datepicker-input {
    cursor: pointer !important;
}

