﻿
/* Accessibility utility: visually hide but keep for screen readers */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Doctors page: revert to original (no extra side margins on cards) */
.doctors-page #allDoctorsGrid .doctor-card { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Diseases & Conditions (after Doctors) */
.diseases-section { 
  position: relative; 
  margin: 18px 0 24px; 
  /* Full edge-to-edge brand gradient background */
  background: linear-gradient(90deg, var(--page-grad-1) 0%, var(--page-grad-2) 50%, var(--page-grad-3) 100%);
  border: none; 
  border-radius: 14px; 
  box-shadow: 0 6px 18px rgba(16,24,40,.08);
  overflow: hidden;
  max-width: 100%;
}
.diseases-section .ds-inner { 
  display: grid; 
  grid-template-columns: 20% 80%; 
  gap: 18px; 
  padding: 18px; 
  align-items: stretch;
}
.diseases-section .ds-left { 
  display: grid; 
  grid-template-rows: auto 1fr; 
  gap: 10px; 
  background: linear-gradient(135deg, #125873 0%, #20d0cd 50%, #8a9199 100%);
  border-radius: 12px; 
  padding: 10px; 
  color: #fff; 
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.15);
}
.diseases-section .ds-figure { 
  margin: 0; 
  border-radius: 10px; 
  overflow: hidden; 
  background: #fff; 
  border: 1px solid #e6eaf0; 
}
.diseases-section .ds-figure img { width: 100%; height: 320px; object-fit: cover; display: block; }
.diseases-section .ds-title { 
  margin: 0; 
  text-align: center; 
  font-weight: 900; 
  font-size: 26px; 
  letter-spacing: .2px; 
  padding: 4px 6px; 
}
.diseases-section .ds-grid { 
  display: grid; 
  grid-template-columns: repeat(3, minmax(0,1fr)); 
  gap: 12px; 
}
.diseases-section .ds-card { 
  background: #ffffff; 
  border: 1px solid #e6eaf0; 
  border-radius: 12px; 
  padding: 12px; 
  box-shadow: 0 2px 8px rgba(16,24,40,.06);
}
.diseases-section .ds-card h4 { margin: 0 0 6px; font-size: 15.5px; font-weight: 900; color: #0b1b2b; }
.diseases-section .ds-card p { margin: 0; color: #374151; font-size: 13.5px; line-height: 1.6; }

@media (max-width: 1200px){
  .diseases-section .ds-inner { grid-template-columns: 25% 75%; }
  .diseases-section .ds-figure img { height: 280px; }
}
@media (max-width: 1024px){
  .diseases-section .ds-inner { grid-template-columns: 30% 70%; }
  .diseases-section .ds-figure img { height: 240px; }
  .diseases-section .ds-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px){
  .diseases-section .ds-inner { grid-template-columns: 1fr; }
  .diseases-section .ds-grid { grid-template-columns: 1fr; }
}

/* Override styles for Diagnostic Investigations, FAQs, and Blogs blocks: white background + gradient cards */
.diseases-section.investigations-section,
.diseases-section.faqs-custom-section,
.diseases-section.blogs-section {
  background: #ffffff; /* white background for the whole section */
  border: 1px solid #e6eaf0; /* subtle border to separate from page */
}
.diseases-section.investigations-section .ds-left,
.diseases-section.faqs-custom-section .ds-left,
.diseases-section.blogs-section .ds-left {
  background: #ffffff; /* left panel also white */
  color: #0b1b2b;
  box-shadow: none;
  border: 1px solid #e6eaf0;
}
.diseases-section.investigations-section .ds-title,
.diseases-section.faqs-custom-section .ds-title,
.diseases-section.blogs-section .ds-title {
  color: #0b1b2b;
}
.diseases-section.investigations-section .ds-figure,
.diseases-section.faqs-custom-section .ds-figure,
.diseases-section.blogs-section .ds-figure {
  background: #ffffff;
  border-color: #e6eaf0;
}
.diseases-section.investigations-section .ds-card,
.diseases-section.faqs-custom-section .ds-card,
.diseases-section.blogs-section .ds-card {
  background: linear-gradient(135deg, var(--page-grad-1) 0%, var(--page-grad-2) 60%, var(--page-grad-3) 100%);
  color: #ffffff; /* make text white on gradient */
  border: 0;
  box-shadow: 0 6px 18px rgba(16,24,40,.10);
}
.diseases-section.investigations-section .ds-card { position: static; overflow: visible; }
.diseases-section.investigations-section .ds-card h4,
.diseases-section.faqs-custom-section .ds-card h4,
.diseases-section.blogs-section .ds-card h4 {
  color: #ffffff;
}
.diseases-section.investigations-section .ds-card p,
.diseases-section.faqs-custom-section .ds-card p,
.diseases-section.blogs-section .ds-card p {
  color: rgba(255,255,255,0.95);
}

/* Testimonials & Blogs: 2x2 grid with smaller videos */
.testimonials-section .video-grid,
.blogs-section .video-grid { 
  grid-template-columns: repeat(2, auto); /* 2 columns (2x2 grid) */
  justify-content: center; /* center the whole row block */
  justify-items: center; /* center items inside each cell */
  gap: 16px;
  align-self: center;
}
/* Drop the Health Blogs thumbnails ~2cm from the top */
.blogs-section .video-grid { margin-top: 76px; }
/* Vertically center content within the testimonials/blogs sections */
.testimonials-section .ds-inner,
.blogs-section .ds-inner { align-items: center; }
.testimonials-section .ds-left,
.blogs-section .ds-left { align-self: center; }
/* Fix each card width - smaller boxes */
.testimonials-section .video-card,
.blogs-section .video-card { width: 280px; }
/* Hide any extra video cards beyond the first four */
.testimonials-section .video-grid > .video-card:nth-of-type(n+5),
.blogs-section .video-grid > .video-card:nth-of-type(n+5) { display: none; }
/* Grid container: center items by default, but we'll override the footer row */
.testimonials-section .ds-grid,
.blogs-section .ds-grid { justify-items: center; }
@media (max-width: 1024px){
  .testimonials-section .video-grid,
  .blogs-section .video-grid { grid-template-columns: repeat(2, auto); }
}
@media (max-width: 640px){
  .testimonials-section .video-grid,
  .blogs-section .video-grid { grid-template-columns: 1fr; justify-content: center; }
  .testimonials-section .video-card,
  .blogs-section .video-card { width: 100%; }
  /* Reduce the drop on small screens */
  .blogs-section .video-grid { margin-top: 24px; }
}
.testimonials-section .video-card h4,
.blogs-section .video-card h4 { margin: 6px 0 3px; font-size: 14px; font-weight: 900; color: #0b1b2b; text-align: center; }
.testimonials-section .video-card p,
.blogs-section .video-card p { margin: 0; color: #374151; font-size: 12.5px; text-align: center; }
/* Remove white box: transparent cards in both sections */
.testimonials-section .ds-card,
.blogs-section .ds-card { 
  background: transparent !important; 
  border: 0 !important; 
  box-shadow: none !important; 
  padding: 6px 0 !important; 
}
.testimonials-section .video-thumb,
.blogs-section .video-thumb { 
  position: relative; 
  margin: 0; 
  border-radius: 10px; 
  overflow: hidden; 
  border: 0; 
  box-shadow: none;
  aspect-ratio: 16 / 9; 
  background: transparent;
  width: 100%;
  max-width: 280px; /* smaller thumbnail size for 2x2 grid */
  margin-left: auto; /* center within grid cell */
  margin-right: auto; /* center within grid cell */
}
.testimonials-section .video-thumb img,
.testimonials-section .video-thumb iframe,
.blogs-section .video-thumb img,
.blogs-section .video-thumb iframe { 
  width: 100%; 
  height: 100%; 
  display: block; 
  object-fit: cover; 
  border: 0; 
  border-radius: 10px; /* keep rounded corners when iframe replaces image */
}
.testimonials-section .play-badge { 
  position: absolute; 
  left: 50%; 
  top: 50%; 
  transform: translate(-50%, -50%); 
  display: grid; 
  place-items: center; 
  width: 36px; 
  height: 36px; 
  border-radius: 50%; 
  background: rgba(0,0,0,0.6); 
  color: #fff; 
  font-weight: 900; 
  font-size: 16px; 
  line-height: 1;
  box-shadow: 0 4px 18px rgba(0,0,0,.25);
}
.testimonials-section .ds-card a { display: block; color: inherit; }

/* On small screens, allow thumbnails to take full width */
@media (max-width: 640px){
  .testimonials-section .video-thumb { max-width: 100%; }
}

.testimonials-section .ds-actions { 
  display: flex; 
  justify-content: center; 
  padding: 10px 0 14px; 
}
.testimonials-section .btn.view-all { 
  display: inline-block; 
  padding: 10px 16px; 
  border-radius: 9999px; 
  background: #ffffff; 
  color: #125873; 
  font-weight: 900; 
  border: 1px solid #e6eaf0; 
  box-shadow: 0 2px 8px rgba(16,24,40,.08); 
}
.testimonials-section .btn.view-all:hover, 
.testimonials-section .btn.view-all:focus { 
  filter: brightness(1.03); 
  outline: none; 
}
/* Place View All within the grid and span both columns */
.testimonials-section .grid-full {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-start !important; /* force View all to the left */
  align-items: center;
  padding: 6px 0 12px;
  justify-self: start; /* align the grid item itself to the left */
  width: 100%; /* span full width to hug left edge */
}
.testimonials-section .grid-full .view-all-link { margin-left: 0 !important; }
.testimonials-section .view-all-link {
  color: #0b1b2b;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
}
.testimonials-section .view-all-link:hover,
.testimonials-section .view-all-link:focus {
  text-decoration: underline;
  outline: none;
}
/* Patient Success Stories Section */
.patient-stories-section {
  padding: 80px 0;
  background: linear-gradient(135deg, #f8fffe 0%, #e8f8f5 100%);
  position: relative;
  overflow: hidden;
}

.patient-stories-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="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="%23d1fae5" opacity="0.3"/><circle cx="75" cy="75" r="1" fill="%23a7f3d0" opacity="0.2"/><circle cx="50" cy="10" r="0.5" fill="%23d1fae5" opacity="0.4"/><circle cx="10" cy="60" r="0.5" fill="%23a7f3d0" opacity="0.3"/><circle cx="90" cy="40" r="0.5" fill="%23d1fae5" opacity="0.2"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;
  opacity: 0.1;
  z-index: 1;
}

.stories-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

.stories-header {
  text-align: center;
  margin-bottom: 60px;
}

.stories-header h2 {
  font-size: 2.5rem;
  font-weight: 800;
  color: #125873;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.stories-header p {
  font-size: 1.1rem;
  color: #6b7280;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}

.stories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 40px;
  max-height: 500px;
  overflow-y: auto;
  padding: 10px;
  scrollbar-width: thin;
  scrollbar-color: #20d0cd #e5f3f2;
}

.stories-grid::-webkit-scrollbar {
  width: 8px;
}

.stories-grid::-webkit-scrollbar-track {
  background: #e5f3f2;
  border-radius: 4px;
}

.stories-grid::-webkit-scrollbar-thumb {
  background: #20d0cd;
  border-radius: 4px;
}

.stories-grid::-webkit-scrollbar-thumb:hover {
  background: #125873;
}

.story-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(18, 88, 115, 0.08);
  border: 1px solid #e5f3f2;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 300px;
}

.story-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #125873 0%, #20d0cd 100%);
}

.story-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 48px rgba(18, 88, 115, 0.15);
}

.story-icon {
  font-size: 2rem;
  margin-bottom: 12px;
  text-align: center;
}

.story-content h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #125873;
  margin-bottom: 12px;
  text-align: center;
  line-height: 1.3;
}

.story-quote {
  margin-bottom: 16px;
}

.story-quote p {
  font-size: 0.85rem;
  line-height: 1.5;
  color: #374151;
  margin-bottom: 10px;
  font-style: italic;
  position: relative;
  padding-left: 16px;
}

.story-quote p::before {
  content: '"';
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 2rem;
  color: #20d0cd;
  font-weight: bold;
  line-height: 1;
}

.story-quote p:last-child::after {
  content: '"';
  color: #20d0cd;
  font-weight: bold;
  font-size: 1.2rem;
}

.story-author {
  text-align: center;
  padding-top: 12px;
  border-top: 1px solid #e5f3f2;
}

.story-author strong {
  color: #125873;
  font-size: 1rem;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}

.story-author span {
  color: #6b7280;
  font-size: 0.9rem;
  font-weight: 500;
}

/* Star Rating Styles */
.story-rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0;
  padding: 10px 0;
  border-top: 1px solid #e5f3f2;
  border-bottom: 1px solid #e5f3f2;
}

.stars {
  display: flex;
  gap: 2px;
}

.star {
  color: #ffd700;
  font-size: 1.1rem;
  text-shadow: 0 1px 2px rgba(0,0,0,0.1);
  transition: all 0.2s ease;
}

.star:hover {
  transform: scale(1.1);
  text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.rating-text {
  color: #125873;
  font-weight: 700;
  font-size: 1rem;
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Responsive Design */
@media (max-width: 768px) {
  .patient-stories-section {
    padding: 60px 0;
  }
  
  .stories-header h2 {
    font-size: 2rem;
  }
  
  .stories-header p {
    font-size: 1rem;
  }
  
  .stories-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .story-card {
    padding: 16px;
    min-height: 250px;
  }
  
  .story-content h3 {
    font-size: 1.1rem;
  }
  
  .story-quote p {
    font-size: 0.8rem;
  }
  
  .story-rating {
    margin: 10px 0;
    padding: 8px 0;
  }
  
  .star {
    font-size: 1rem;
  }
  
  .rating-text {
    font-size: 0.85rem;
  }
}

@media (max-width: 480px) {
  .stories-container {
    padding: 0 16px;
  }
  
  .stories-header h2 {
    font-size: 1.8rem;
  }
  
  .story-card {
    padding: 14px;
    min-height: 220px;
  }
  
  .story-icon {
    font-size: 1.8rem;
  }
  
  .story-rating {
    margin: 8px 0;
    padding: 6px 0;
    gap: 6px;
  }
  
  .star {
    font-size: 0.9rem;
  }
  
  .rating-text {
    font-size: 0.8rem;
  }
}

/* Plain heading (black text, no box) */
.plain-title {
  margin: 0;
  color: #111111;
  font-weight: 900;
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.2px;
}

/* Tablet portrait / small laptop tight header */
@media (max-width: 820px) {
  .brand-bar { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 12px; }
  .logos { justify-content: center; order: 1; display: flex; align-items: center; gap: 12px; }
  .logo-main { height: 50px; }
  .logo-nabh { height: 40px; display: block !important; }
  .typewriter { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; order: 2; margin: 5px 0; font-size: 14px; text-align: center; }
  .hero-cta { order: 3; }
  .btn-img img { height: 20px; }
  .quick-actions { gap: 14px; flex-wrap: wrap; justify-content: center; }
}
/* Small laptop/tablet landscape: ease header crowding */
@media (max-width: 1280px) {
  .brand-bar { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
  .logos { margin-right: 10px !important; justify-content: center; gap: 18px !important; } /* 18px between logos, 10px after NABH */
  .logos .logo-main { margin-left: 0; height: 60px; }
  .logo-nabh { height: 56px; }
  .hero-cta { flex-wrap: wrap; justify-content: center; text-align: center; }
  .typewriter { min-width: auto; display: inline-flex !important; visibility: visible !important; opacity: 1 !important; }
  .quick-actions { flex-wrap: wrap; gap: 16px; }
  .btn-img img { height: 29px; }
}
/* Offset page content for fixed header */
body { padding-top: var(--header-height, 0px); }
:root {
  /* Safe defaults to prevent content underlap before JS calculates exact height */
  --header-height: 160px;
  --sticky-offset: var(--header-height);
  /* Theme */
  --brand: #125873;
  --text-on-brand: #ffffff;
  --muted: #6b7280;
  --border: #e5e7eb;
  /* Page gradient colors */
  /* Site-wide gradient colors (user provided) */
  --page-grad-1: #125873;
  --page-grad-2: #20d0cd;
  --page-grad-3: #8a9199;
}

/* Normalize hash navigation behavior site-wide */
/* Avoid default focus outline/offset that can appear as a "bar" and adjust scroll for fixed header */
::target {
  outline: none;
  /* Account for fixed header only */
  scroll-margin-top: calc(var(--header-height, 0px) + 12px);
}

/* Base typography */
html { font-size: 16px; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: #111; line-height: 1.5; background: #fff; }
/* Ensure anchor/jump positions account for fixed header only */
html { scroll-padding-top: calc(var(--header-height, 0px) + 14px); }

* { box-sizing: border-box; }
html, body { margin: 0; }
/* Prevent any horizontal overflow from causing side-scroll on laptop/desktop */
html, body { overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

/* Page container */
main, .site-footer .footer-top { max-width: none; margin: 0 auto; }
main { padding: 0; }
/* Generic container to constrain content width across pages */
.container { max-width: 100%; margin: 0 auto; padding: 0 16px; width: 100%; }

/* Header row paddings */
.top-nav { padding: 6px 12px; }
.brand-bar { padding: 8px 12px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.main-nav > ul { padding: 0 8px; }

/* Header logo and button image sizing */
.brand-bar { gap: 8px 12px; }
.logo-main { height: 64px; width: auto; margin-left: 0; margin-right: 0; max-width: 40vw; }
.logos { gap: 18px !important; } /* gap between main logo and NABH */
.logos > * + * { margin-left: 18px; } /* fallback for older browsers */
.logos .logo-main + .logo-nabh { margin-left: 18px !important; }
.logos .logo-main { margin-left: 0; }
.logos, .logos img { max-width: 100%; }
@media (max-width: 1200px){ .logo-main { margin-left: 0; } }
@media (max-width: 900px){ .logo-main { margin-left: 0; } }
@media (max-width: 640px){ .logo-main { margin-left: 0; } }
.logo-nabh { height: 64px; width: auto; }
.btn-img img { height: 32px; width: auto; }

/* Fine-tune around 1100px */
@media (max-width: 1100px){
  .logo-main { height: 56px; margin-left: 4vw; }
  .logo-nabh { height: 52px; }
  .btn-img img { height: 25px; }
}

/* Tight laptop widths: keep brand bar in one line */
@media (max-width: 980px){
  .brand-bar { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 8px; }
  .logos { display: flex; align-items: center; gap: 8px; flex: 0 1 auto; min-width: 0; }
  .logo-main { height: 46px; margin-left: 0; max-width: 34vw; }
  .logo-nabh { display: none; }
  .typewriter { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; flex: 1 1 auto; margin: 0 10px; font-size: 16px; }
  .hero-cta { display: flex; align-items: center; gap: 8px; justify-content: flex-end; text-align: right; flex: 0 1 auto; min-width: 0; }
  .quick-actions { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; }
  .btn-img img { height: 20px; }
}
@media (max-width: 1024px){ .btn-img img { height: 34px; } }
@media (max-width: 640px){ .btn-img img { height: 32px; } }

/* Ensure header (all 3 bars) is fixed and above hero slider */
header { position: fixed; top: 0; left: 0; right: 0; z-index: 2000; }
.main-nav { position: relative; z-index: 3000; }

/* Mobile: Header NOT fixed/sticky - scrolls normally */
@media (max-width: 768px) {
  header { 
    position: relative !important; 
    top: auto !important;
  }
  body { 
    padding-top: 0 !important; 
  }
  
  /* Better mobile header layout */
  .brand-bar {
    padding: 10px !important;
  }
  .logos {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .logo-main {
    height: 45px !important;
  }
  .logo-nabh {
    height: 38px !important;
    display: block !important;
  }
  .typewriter {
    font-size: 13px !important;
    text-align: center !important;
    padding: 5px 10px !important;
  }
  .quick-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 16px !important;
  }
  .btn-img img {
    height: 22px !important;
  }
}

/* Base header + navigation layout */
header { background: #fff; border-bottom: none; }
.top-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #125873; color: #fff; }
.top-links ul { display: flex; gap: 10px; align-items: center; }
.top-links a { color: #fff; font-weight: 600; padding: 6px 10px; line-height: 1; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.top-actions .btn-top { display: inline-flex; align-items: center; justify-content: center; height: 26px; padding: 4px 10px; border-radius: 9999px; font-weight: 700; font-size: 12px; line-height: 1; text-decoration: none; border: 0; }
.top-actions .btn-call { background: #d62828; color: #fff; }
.top-actions .btn-emergency { background: #d62828; color: #fff; }
.top-actions .btn-top:hover, .top-actions .btn-top:focus { filter: brightness(1.05); outline: none; }
.top-actions .btn-top svg { width: 16px; height: 16px; display: block; }
/* Image icon support for call button */
.top-actions .btn-call img { width: 18px; height: 18px; display: block; }
/* Call: icon + number (longer pill) */
.top-actions .btn-call { padding: 5px 14px; gap: 6px; min-width: 48px; }
.top-actions .btn-call .phone { font-weight: 700; font-size: 12px; color: #fff; white-space: nowrap; }

@media (min-width: 768px) {
  .top-actions .btn-call { min-width: 64px; }
  .top-actions .btn-call img { width: 20px; height: 20px; }
}
/* Emergency: icon + number */
.top-actions .btn-emergency { gap: 6px; padding: 4px 10px; }
.top-actions .btn-emergency .phone { font-weight: 700; font-size: 12px; white-space: nowrap; }
.top-actions .social { display: flex; align-items: center; gap: 8px; }
.top-actions .icon img { width: 18px; height: 18px; }
.top-actions .search { display: flex; align-items: center; gap: 6px; }
.top-actions .search input { height: 26px; padding: 3px 8px; border-radius: 4px; border: 1px solid var(--border); }
.top-actions .search button { height: 26px; width: 30px; border-radius: 4px; border: 0; background: var(--brand); color: var(--text-on-brand); display: grid; place-items: center; cursor: pointer; }

.brand-bar { display: flex; align-items: center; justify-content: flex-start; gap: 16px; background: #fff; }
.logos { display: flex; align-items: center; gap: 18px; margin-right: 10px; }
.hero-cta { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; justify-content: flex-start; }
.quick-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }

.main-nav { background: linear-gradient(90deg, #125873 0%, #20d0cd 50%, #8a9199 100%); color: var(--text-on-brand); min-height: 38px; }
.main-nav > ul { display: flex; align-items: center; justify-content: center; gap: 0 6px; margin: 0 auto; padding: 4px 4px; flex-wrap: nowrap; width: 100%; max-width: none; min-height: 38px; }
.main-nav > ul > li > a { display: block; padding: 8px 12px; color: #ffffff; font-weight: 700; font-size: 19px; line-height: 1.2; }
.main-nav .has-dropdown > a { position: relative; padding-right: 26px; }
.main-nav .has-dropdown > a::after { content: ""; display: inline-block; width: 0; height: 0; margin-left: 8px; vertical-align: middle; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 6px solid rgba(255,255,255,0.95); }
.main-nav > ul > li > a:hover, 
.main-nav > ul > li > a:focus { background: rgba(255,255,255,0.12); outline: none; }

/* Main nav dropdown items - uniform background */
.main-nav .dropdown li {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent !important;
}
.main-nav .dropdown a {
  display: block;
  padding: 10px 12px;
  color: #111 !important;
  background: transparent !important;
  border-radius: 6px;
  transition: background 0.2s ease;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  white-space: normal;
  line-height: 1.4;
  min-height: 40px;
}
.main-nav .dropdown a:hover,
.main-nav .dropdown a:focus {
  background: #f2f4f7 !important;
  color: #111 !important;
  text-decoration: none;
}

/* Dropdown base */
.has-dropdown { position: relative; }
.has-dropdown > .dropdown { 
  position: absolute; 
  top: 100%; 
  left: 0; 
  background: #fff; 
  color: #111; 
  border: 1px solid var(--border); 
  border-radius: 8px; 
  padding: 6px; 
  min-width: 220px; 
  display: none; 
  box-shadow: 0 8px 20px rgba(0,0,0,0.12); 
  z-index: 5000; 
}
.has-dropdown > .dropdown li { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
}
.has-dropdown > .dropdown a { 
  display: block; 
  padding: 10px 12px; 
  color: #111; 
  border-radius: 6px; 
  background: transparent;
  transition: background 0.2s ease;
  text-decoration: none;
}
.has-dropdown > .dropdown a:hover, 
.has-dropdown > .dropdown a:focus { 
  background: #f2f4f7; 
  color: #111;
}
.has-dropdown.open > .dropdown { display: block; }

/* Departments compact grid inside main nav dropdown */
.main-nav .dropdown .nav-dept-grid { 
  display: grid; 
  grid-template-columns: repeat(4, minmax(0, 1fr)); 
  gap: 8px; 
  width: min(720px, 80vw);
}
/* Ensure links inside the grid have no generic dropdown padding/background */
.main-nav .dropdown .nav-dept-grid a { padding: 0; border-radius: 0; background: transparent; }
.main-nav .dropdown .nav-dept-grid a:hover,
.main-nav .dropdown .nav-dept-grid a:focus { background: transparent; }
/* Add subtle separator above the injected grid (keeps static links distinct) */
.main-nav .dropdown .nav-dept-grid-wrap { margin-top: 0; padding-top: 0; border-top: 0; }
/* Item layout: small icon before name, single-line */
.main-nav .dropdown .nav-dept-grid .dept-card { 
  display: flex; 
  align-items: center; 
  gap: 4px; 
  min-height: 0; 
  padding: 0; 
  border-radius: 0; 
  border: 0; 
  box-shadow: none; 
  background: transparent; 
  white-space: nowrap; 
  overflow: hidden; 
  text-overflow: ellipsis;
}
.main-nav .dropdown .nav-dept-grid .dept-card:hover { background: transparent; color: #125873; }
/* Thumbnail/icon sizing */
.main-nav .dropdown .nav-dept-grid .dept-thumb { width: 0.42em; height: 0.42em; border-radius: 0; overflow: visible; flex: 0 0 0.42em; }
.main-nav .dropdown .nav-dept-grid .dept-thumb .dept-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.main-nav .dropdown .nav-dept-grid .abbr { display: inline-block; background: transparent; color: #125873; font-weight: 700; font-size: 12px; line-height: 1; }
.main-nav .dropdown .nav-dept-grid .name { font-size: 14px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; }
/* Fallback thumb (when images missing) */
.main-nav .dropdown .nav-dept-grid .thumb.no-img { 
  width: 18px; height: 18px; display: grid; place-items: center; 
  border-radius: 4px; background: #eef4ff; color: #125873; 
  font-weight: 800; font-size: 11px; line-height: 1; flex: 0 0 18px;
}
/* Responsive columns */
@media (max-width: 1024px){ .main-nav .dropdown .nav-dept-grid { grid-template-columns: repeat(3, minmax(0,1fr)); width: min(680px, 88vw); } }
@media (max-width: 640px){ .main-nav .dropdown .nav-dept-grid { grid-template-columns: repeat(2, minmax(0,1fr)); width: 100%; } }

/* Doctors dropdown: grouped by department (text-only, clean) */
.main-nav .dropdown .nav-docs { 
  display: grid; 
  grid-template-columns: repeat(3, minmax(0,1fr)); 
  gap: 8px 20px; 
  width: min(720px, 80vw);
}
.main-nav .dropdown .nav-docs .doc-group { min-width: 0; }
.main-nav .dropdown .nav-docs .dept-label { font-weight: 700; font-size: 14px; margin: 0 0 6px; color: #0b1b2b; }
.main-nav .dropdown .nav-docs .doc-list { display: grid; gap: 4px; }
.main-nav .dropdown .nav-docs .doc-list a { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0; background: transparent; }
.main-nav .dropdown .nav-docs .doc-list a:hover, 
.main-nav .dropdown .nav-docs .doc-list a:focus { background: transparent; text-decoration: underline; }
@media (max-width: 1024px){ .main-nav .dropdown .nav-docs { grid-template-columns: repeat(2, minmax(0,1fr)); width: min(680px, 88vw); } }
@media (max-width: 640px){ .main-nav .dropdown .nav-docs { grid-template-columns: 1fr; width: 100%; } }

/* Top-links dropdowns - uniform background */
.top-links .has-dropdown > .dropdown { 
  background: #fff; 
  color: #111; 
}
.top-links .has-dropdown > .dropdown li {
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
}
.top-links .has-dropdown > .dropdown a {
  display: block;
  padding: 10px 12px;
  color: #111;
  background: transparent;
  border-radius: 6px;
  transition: background 0.2s ease;
  text-decoration: none;
}
.top-links .has-dropdown > .dropdown a:hover,
.top-links .has-dropdown > .dropdown a:focus {
  background: #f2f4f7;
  color: #111;
}

/* Desktop dropdowns: open on hover OR when .open is set by click */
@media (min-width: 481px) {
  .top-links .has-dropdown,
  .main-nav .has-dropdown { position: relative; }
  .top-links .dropdown,
  .main-nav .dropdown { display: none; position: absolute; top: 100%; left: 0; }
  .top-links .has-dropdown:hover > .dropdown,
  .top-links .has-dropdown.open > .dropdown,
  .main-nav .has-dropdown:hover > .dropdown,
  .main-nav .has-dropdown.open > .dropdown { display: block; }
  
  /* Ensure main nav is visible on desktop/laptop */
  .main-nav { display: block !important; }
  .menu-toggle { display: none !important; }
  
  /* Ensure all navigation items are visible on laptop in single line */
  .main-nav > ul {
    width: 100% !important;
    max-width: none !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    padding: 0 4px !important;
    gap: 0 4px !important;
  }
  
  .main-nav > ul > li > a {
    padding: 6px 6px !important;
    font-size: 13px !important;
  }
}

/* Responsive */
@media (max-width: 640px) {
  /* Brand row becomes a stacked grid; center everything */
  .brand-bar { display: grid; grid-template-columns: 1fr; justify-items: center; }
  .logos { justify-content: center; }
  .logo-main { height: 48px; margin-left: 0; }
  .logo-nabh { height: 44px; }
  .btn-img img { height: 25px; }
  .hero-cta { flex-direction: column; justify-content: center; text-align: center; }
  .quick-actions { margin-left: 0; }
  .typewriter { white-space: normal; }
  /* Make dropdowns behave nicely on small screens */
  .has-dropdown { position: static; }
  .has-dropdown > .dropdown { left: 0; right: 0; width: auto; min-width: 0; position: static; box-shadow: none; border: none; background: rgba(255,255,255,0.1); padding: 0; margin: 6px 0 0 0; }
  .has-dropdown > .dropdown a { padding: 8px 8px; color: var(--text-on-brand); }
  .has-dropdown > .dropdown a:hover, .has-dropdown > .dropdown a:focus { background: rgba(255,255,255,0.18); color: var(--text-on-brand); }

  /* Mobile menu: toggle button + collapsible nav */
  .menu-toggle { display: inline-block; margin: 8px 16px; padding: 8px 12px; background: var(--brand); color: var(--text-on-brand); border: none; border-radius: 6px; font-weight: 600; cursor: pointer; }
  .main-nav { display: none; }
  .main-nav.open { display: block; }
}
@media (max-width: 640px) {
  .grid { grid-template-columns: 1fr; }
  .top-nav { flex-direction: column; align-items: stretch; gap: 8px; }
  .top-links ul { flex-wrap: wrap; justify-content: center; }
  .top-actions { justify-content: center; flex-wrap: wrap; }
}

/* Show menu toggle only on small screens */
.menu-toggle { display: none; }

/* Show menu toggle only on actual mobile screens */
@media (max-width: 480px) {
  .menu-toggle { display: inline-block !important; }
  .main-nav { display: none !important; }
  .main-nav.open { display: block !important; }
  
  /* Ensure main nav is properly styled when open */
  .main-nav.open {
    background: linear-gradient(90deg, #125873 0%, #20d0cd 50%, #8a9199 100%) !important;
    color: #ffffff !important;
    padding: 8px 0 !important;
    margin: 0 !important;
  }
  
  .main-nav.open > ul {
    display: block !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 0 16px !important;
    width: 100% !important;
    max-width: none !important;
  }
  
  .main-nav.open > ul > li {
    width: 100% !important;
    border-bottom: 1px solid rgba(255,255,255,0.2) !important;
  }
  
  .main-nav.open > ul > li > a {
    display: block !important;
    padding: 12px 8px !important;
    font-size: 14px !important;
    color: #ffffff !important;
    text-align: left !important;
  }
}

/* Hero Slider - OVERRIDDEN FOR NEW LAYOUT */
.hero-slider { position: relative; width: 100%; overflow: hidden; background: #000; }
/* Attach hero to Nav3 without gaps */
.hero-slider { margin-bottom: 0; }
.hero-video-container { margin-bottom: 0; }
/* Ensure the slider has height even if .slides wrapper is omitted */
.hero-slider,
.hero-slider .slides { position: relative; width: 100%; height: min(70vh, 640px); min-height: 300px; padding-bottom: 0; }
.hero-slider .slides { overflow: hidden; }
.hero-slider .slide { position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0; transition: opacity 450ms ease-in-out; }
.hero-slider .slide.active { opacity: 1; }
.hero-slider .slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-slider .nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.4); color: #fff; border: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; z-index: 5; }
.hero-slider .nav:hover, .hero-slider .nav:focus { background: rgba(0,0,0,0.6); outline: none; }
.hero-slider .nav.prev { left: 12px; }
.hero-slider .nav.next { right: 12px; }
.hero-slider .dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; justify-content: center; gap: 8px; z-index: 5; }
.hero-slider .dots button { width: 10px; height: 10px; border-radius: 50%; border: 0; background: rgba(255,255,255,0.5); cursor: pointer; padding: 0; }
.hero-slider .dots button[aria-selected="true"] { background: #fff; }




@media (max-width: 1024px) {
  /* Prevent header crowding on medium screens */
  .brand-bar { flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
  .logos { justify-content: center; margin-right: 0; }
  .logo-main { height: 58px; margin-left: 0; }
  .logo-nabh { height: 54px; }
  .quick-actions { margin-left: 0; }
  .hero-cta { flex-wrap: wrap; justify-content: center; text-align: center; }
  .typewriter { min-width: auto; display: inline-flex; }
  .btn-img img { height: 27px; }
  .hero-slider,
  .hero-slider .slides { height: min(60vh, 520px); }
  .hero-slider .nav { width: 40px; height: 40px; }
}

@media (max-width: 640px) {
  .hero-slider,
  .hero-slider .slides { height: min(50vh, 420px); }
  .hero-slider .nav { width: 36px; height: 36px; }
  .hero-slider .dots { bottom: 8px; gap: 10px; }
  .hero-slider .dots button { width: 12px; height: 12px; }
}

/* (include-nav3 rules removed; Nav3 now lives below hero) */

/* Typing effect styles - positioned between logos and buttons */
.typewriter { 
  display: inline-flex !important; 
  align-items: center; 
  gap: 4px; 
  color: #125873; 
  font-weight: 600; 
  font-size: 18px; 
  white-space: nowrap; 
  flex: 1 1 auto;
  justify-content: center;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 1000 !important;
  margin: 0 20px;
}
.hero-cta .typewriter { flex: 1 1 auto; min-width: 0; max-width: 400px; }
#typingText { 
  color: #125873 !important; 
  font-size: 18px !important; 
  font-weight: 600 !important;
  background: transparent !important; 
  padding: 0 !important; 
  margin: 0 !important;
  border: none !important; 
  display: inline !important; 
  visibility: visible !important; 
  opacity: 1 !important; 
  position: relative !important;
  z-index: 1000 !important;
  width: auto !important; 
  height: auto !important; 
  line-height: normal !important;
  white-space: nowrap !important;
  overflow: visible !important; 
}
/* Show blinking cursor for typing effect */
.typewriter .cursor { display: inline; animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: 0; } }

@media (max-width: 768px){
  .main-nav > ul > li > a { font-size: 18px; padding: 7px 10px; }
  .main-nav > ul { padding: 3px 4px; min-height: 36px; }
  .main-nav { min-height: 36px; }
}

@media (max-width: 640px){
  .typewriter { font-size: 16px; min-width: 24ch; display: inline-flex !important; visibility: visible !important; opacity: 1 !important; }
  #typingText { font-size: 18px; }
  .main-nav > ul > li > a { font-size: 17px; padding: 6px 8px; }
  .main-nav > ul { padding: 2px 4px; min-height: 34px; }
  .main-nav { min-height: 34px; }
}

/* Health Packages Styles */
.packages-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  margin-bottom: 0;
  display: block;
  margin-top: 0;
}

/* Force background on main content area */
main {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
}

.packages-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.packages-intro {
  padding: 4rem 0 3rem 0;
  background: transparent !important;
  text-align: center;
  margin-top: 0;
  clear: both;
  position: relative;
  z-index: 1;
  width: 100%;
}

.packages-intro h1 {
  font-size: 2.5rem;
  color: #125873;
  margin-bottom: 1rem;
  font-weight: 700;
}

.packages-intro p {
  font-size: 1.1rem;
  color: #6c757d;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.6;
}

.packages-grid {
  padding: 2rem 0 3rem 0;
  margin-top: 0;
  clear: both;
  position: relative;
  z-index: 1;
  background: transparent !important;
  min-height: 100vh;
}

.package-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  max-width: 1200px;
  margin: 0 auto 2rem;
}

.package-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
}

.package-image {
  flex: 0 0 300px;
  overflow: hidden;
}

.package-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.package-content {
  flex: 1;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.package-content h3 {
  font-size: 1.8rem;
  color: #125873;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
}

.package-pricing {
  margin-bottom: 1.5rem;
}

.original-price {
  display: flex;
  gap: 2rem;
  margin-bottom: 0.5rem;
}

.original-price span {
  font-size: 1.2rem;
  color: #6c757d;
  text-decoration: line-through;
}

.offer-price {
  display: flex;
  gap: 2rem;
  margin-bottom: 0.5rem;
}

.offer-price span {
  font-size: 1.8rem;
  color: #125873;
  font-weight: 700;
}

.discount {
  display: flex;
  gap: 2rem;
}

.discount span {
  background: #dc3545;
  color: white;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: 600;
}

.package-actions {
  display: flex;
  gap: 1rem;
}

.btn {
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.btn-primary {
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%);
  color: white;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 15px rgba(18, 88, 115, 0.3);
}

.btn-outline {
  background: transparent;
  color: #125873;
  border: 2px solid #125873;
}

.btn-outline:hover {
  background: #125873;
  color: white;
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .package-card {
    flex-direction: column;
  }
  
  .package-image {
    flex: none;
    height: 200px;
  }
  
  .package-content {
    padding: 1.5rem;
  }
  
  .package-content h3 {
    font-size: 1.5rem;
  }
  
  .original-price,
  .offer-price,
  .discount {
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .package-actions {
    flex-direction: column;
  }
}

/* Package Details Styles */
.package-details {
  display: none;
  background: #f8f9fa;
  border-radius: 16px;
  margin-top: 2rem;
  padding: 2rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.package-details.show {
  display: block;
}

.details-header {
  text-align: center;
  margin-bottom: 2rem;
}

.details-header h4 {
  color: #125873;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.gender-tabs {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.gender-tab {
  padding: 0.75rem 1.5rem;
  border: 2px solid #125873;
  background: white;
  color: #125873;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
}

.gender-tab.active {
  background: #125873;
  color: white;
}

.gender-tab:hover {
  background: #125873;
  color: white;
}

.test-table-container {
  overflow-x: auto;
  margin-bottom: 2rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.test-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.test-table th {
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%);
  color: white;
  padding: 1rem 0.75rem;
  text-align: left;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 10;
}

.test-table td {
  padding: 0.75rem;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
}

.test-table tbody tr:hover {
  background: #f8f9fa;
}

.test-table td.highlighted {
  background: #e3f2fd;
  font-weight: 600;
  color: #125873;
}

.checkmark {
  color: #28a745;
  font-weight: 600;
  font-size: 1.2rem;
}

.crossmark {
  color: #dc3545;
  font-weight: 600;
  font-size: 1.2rem;
}

.package-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.summary-item {
  text-align: center;
  padding: 1rem;
  background: #f8f9fa;
  border-radius: 8px;
  border-left: 4px solid #125873;
}

.summary-item .label {
  display: block;
  color: #6c757d;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.summary-item .value {
  display: block;
  color: #125873;
  font-weight: 700;
  font-size: 1.1rem;
}

/* Responsive adjustments for details */
@media (max-width: 768px) {
  .package-details {
    padding: 1rem;
  }
  
  .details-header h4 {
    font-size: 1.3rem;
  }
  
  .gender-tabs {
    flex-direction: column;
    align-items: center;
  }
  
  .test-table {
    font-size: 0.8rem;
  }
  
  .test-table th,
  .test-table td {
    padding: 0.5rem 0.25rem;
  }
  
  .package-summary {
    grid-template-columns: 1fr;
  }
}

/* Explicit anchor offsets for key sections (header only) */
#about {
  scroll-margin-top: calc(var(--header-height, 0px) + 36px);
}

/* Ensure the first headings inside About never tuck under the header */
.about-section h2 {
  scroll-margin-top: calc(var(--header-height, 0px) + 40px);
}

/* Action Bar (Nav3) — attached below hero, not sticky */
.action-bar { position: relative; top: auto; background: linear-gradient(90deg, #125873 0%, #20d0cd 50%, #8a9199 100%); color: #fff; border-top: none; border-bottom: none; z-index: 10; margin: 0 !important; padding: 0; }
.action-bar ul { list-style: none; margin: 0; padding: 0 8px; display: flex; gap: 8px 20px; justify-content: space-evenly; flex-wrap: wrap; }
.action-bar ul > li { flex: 1 1 160px; }
.action-bar ul > li > a { display: block; text-align: center; padding: 10px 12px; border: 0; border-radius: 0; background: transparent; transition: color .2s ease; line-height: 1; }
.action-bar ul > li + li { position: relative; }
/* VMV banner image */
.mvv-banner { margin: 24px auto; max-width: 1200px; padding: 0 12px; }
.mvv-banner figure { margin: 0; }
.mvv-banner img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }

/* Department hero (PaceHospital-style) */
.dept-hero.pace-hero { 
  /* White background, as requested */
  background: #ffffff;
  color: #0b1b2b; 
  padding: 56px 0; 
}
.dept-hero.pace-hero .container { max-width: 1200px; margin: 0 auto; padding: 0 12px; }
.dept-hero.pace-hero .hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.dept-hero.pace-hero .hero-left h1 { margin: 0 0 12px; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.12; font-weight: 900; letter-spacing: -0.2px; }
.dept-hero.pace-hero .hero-left .dept-subtitle { margin: 0 0 18px; font-size: 18px; color: #4b5563; }
.dept-hero.pace-hero .hero-left .hero-accent { width: 56%; border: 0; height: 4px; background: #ff6a3d; border-radius: 2px; margin: 14px 0 18px; }
.dept-hero.pace-hero .hero-left .hero-bullets { margin: 8px 0 0; padding-left: 0; list-style: none; color: #374151; line-height: 1.7; }
.dept-hero.pace-hero .hero-left .hero-bullets li { position: relative; padding-left: 26px; margin: 6px 0; }
.dept-hero.pace-hero .hero-left .hero-bullets li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #20d0cd; font-weight: 900; }

.dept-hero.pace-hero .hero-right .hero-card { background: #fff; color: #0b1b2b; border-radius: 6px; padding: 16px; box-shadow: 0 8px 24px rgba(0,0,0,.18); border: 1px solid rgba(0,0,0,.06); }
.dept-hero.pace-hero .hero-right .cta-call { display: block; background: #f4a62a; color: #111; text-align: center; padding: 12px 14px; border-radius: 4px; font-weight: 800; margin: 4px 0 10px; }
.dept-hero.pace-hero .hero-right .cta-wa { display: block; background: #2f8f2f; color: #fff; text-align: center; padding: 12px 14px; border-radius: 4px; font-weight: 800; margin: 0 0 12px; }
.dept-hero.pace-hero .hero-right .mini-form { background: #fafafa; border: 1px solid #e5e7eb; border-radius: 6px; padding: 14px; text-align: center; }
.dept-hero.pace-hero .hero-right .mini-form h3 { margin: 0 0 8px; font-size: 20px; font-weight: 800; color: #0b1b2b; }
.dept-hero.pace-hero .hero-right .mini-form .btn.full { display: block; width: 100%; padding: 10px 12px; text-align: center; border-radius: 4px; background: #125873; color: #fff; font-weight: 700; }
.dept-hero.pace-hero .hero-right .mini-form small { display: block; margin-top: 8px; color: #6b7280; }

@media (max-width: 900px){
  .dept-hero.pace-hero { padding: 32px 0; }
  .dept-hero.pace-hero .hero-grid { grid-template-columns: 1fr; }
  .dept-hero.pace-hero .hero-right { order: -1; }
}

/* When using the upgraded hero, hide the legacy image block below to prevent duplicate visuals */
.dept-page .dept-image-wrap { display: none !important; }

/* Department extra sections */
.dept-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 28px 0 14px; }
.dept-section-head h2 { margin: 0; font-size: clamp(22px, 2.4vw, 30px); font-weight: 800; color: #0b1b2b; }
.dept-section-head h2 span { display: block; line-height: 1.12; }
.dept-section-head h2 .sub { color: #125873; font-weight: 900; letter-spacing: -0.2px; }
/* When a section heading is explicitly marked as dept-title-lg, keep it same size as main title */
.dept-section-head h2.dept-title-lg {
  font-size: clamp(24px, 3vw, 34px) !important; /* match .dept-title-lg */
  line-height: 1.12;
  font-weight: 900 !important; /* keep same weight as gradient-title */
  padding: 8px 12px !important; /* ensure same padding as .dept-title-lg */
}

.dept-why-choose, .dept-highlights, .dept-faqs { margin: 16px 0 24px; }
.dept-highlights .highlights-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 800px){ .dept-highlights .highlights-grid { grid-template-columns: 1fr; } }

/* Two-column section (Why Choose + Our Doctors) */
.dept-two-col { margin: 16px 0 24px; }
.dept-two-col .two-col-grid { display: grid; grid-template-columns: 70% 30%; gap: 18px; align-items: start; }
.dept-two-col .dept-why-choose, .dept-two-col .dept-doctors { margin: 0; }
/* Doctors left column boxed look */
.dept-two-col .dept-doctors { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.dept-two-col .dept-doctors .dept-section-head { margin: 0 0 10px; padding: 0; border-bottom: 0; }
.dept-two-col .dept-doctors .doctor-grid { margin-top: 0; }
/* Full-width doctors mode for department pages */
.dept-two-col.full-docs .two-col-grid { grid-template-columns: 1fr; }
@media (max-width: 900px){ .dept-split .two-col-grid { grid-template-columns: 1fr; } }

/* Split section (image + about) */
.dept-split { margin: 10px 0 18px; }
.dept-split .split-grid { display: grid; grid-template-columns: 50% 50%; gap: 18px; align-items: stretch; }
/* Match image height to the content box height exactly (no extra space) */
.dept-split .split-image { position: relative; margin: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,.08); height: 100%; min-height: 360px; align-self: stretch; }
/* Let the grid row height be defined by the text column; image becomes non-intrinsic */
.dept-split .split-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
/* Let the text box size to its content naturally (no fixed/min height) */
.dept-split .split-about { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px 18px; box-shadow: 0 6px 20px rgba(0,0,0,.06); height: auto; display: flex; flex-direction: column; gap: 8px; }
.dept-split .split-about > *:last-child { margin-bottom: 0; }
.dept-split .split-about h2 { margin: 0 0 6px; font-size: 21px; font-weight: 900; color: #0b1b2b; }
.dept-split .split-about p { margin: 0; color: #374151; line-height: 1.5; }
.dept-split .split-about .mini-form { margin-top: 14px; background: #fafafa; border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px; }
.dept-split .split-about .mini-form h3 { margin: 0 0 8px; font-size: 18px; font-weight: 800; color: #0b1b2b; }
.dept-split .split-about .mini-form .btn.full { display: block; width: 100%; padding: 10px 12px; text-align: center; border-radius: 4px; background: #125873; color: #fff; font-weight: 700; }
.dept-split .split-about .mini-form small { display: block; margin-top: 8px; color: #6b7280; }
  
  @media (max-width: 900px){
    .dept-split .split-grid { grid-template-columns: 1fr; gap: 10px; }
    /* On mobile, keep a modest minimum to avoid collapse */
    .dept-split .split-image, .dept-split .split-about { min-height: 180px; }
    .dept-split .split-about { padding: 8px 10px; gap: 6px; }
  }

/* Nurse appointment top actions: make buttons compact */
.nurse-appoint .na-top-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 8px; }
.nurse-appoint .na-call,
.nurse-appoint .na-wa { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  height: 32px; 
  padding: 0 10px; 
  border-radius: 6px; 
  font-weight: 800; 
  font-size: 26px; 
  line-height: 1; 
  text-decoration: none; 
  border: 1px solid #e5e7eb; 
  box-shadow: 0 2px 8px rgba(16,24,40,.06);
  /* Allow full text to be visible; no clipping */
  white-space: nowrap;
  overflow: visible;
  text-overflow: initial;
}
.nurse-appoint .na-call { background: #f4a62a; color: #111; }
.nurse-appoint .na-wa { background: #25D366; color: #fff; }
/* Nudge text only, not the button box */
.nurse-appoint .na-call .btn-label,
.nurse-appoint .na-wa .btn-label { display: inline-block; transform: translateY(-6px); }
@media (max-width: 900px){
  .nurse-appoint .na-call, .nurse-appoint .na-wa { height: 30px; line-height: 1; padding: 0 10px; font-size: 22px; }
  .nurse-appoint .na-call .btn-label,
  .nurse-appoint .na-wa .btn-label { transform: translateY(-5px); }
}

/* Trim bullets and subtitles inside the about box */
.dept-split .split-about .plain-title { margin-top: 6px; margin-bottom: 4px; font-size: 18px; }
.dept-split .split-about .bullet-list { margin-top: 6px; padding-left: 18px; }
.dept-split .split-about .bullet-list li { margin: 4px 0; line-height: 1.5; }

/* Gradient title badge for department headings */
.gradient-title {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--page-grad-1) 0%, var(--page-grad-2) 50%, var(--page-grad-3) 100%);
  color: #ffffff;
  font-weight: 900;
  font-size: clamp(22px, 2.6vw, 30px);
  letter-spacing: -0.2px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

/* Doctors page: single-column layout */
.doctors-page { max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
.docs-layout { display: grid; grid-template-columns: 1fr; gap: 0; }
.docs-layout .docs-main { margin: 0; }
.docs-layout #allDoctorsGrid { width: 100%; }

/* Doctors page: force edge-to-edge and override older split rules */
.doctors-page .docs-layout { grid-template-columns: 1fr !important; gap: 0 !important; }
.doctors-page .docs-main { grid-column: 1 / -1; padding-left: 3%; padding-right: 3%; }
.doctors-page h1 { margin-left: 0; margin-right: 0; }
.doctors-page .search-bar.with-icons { margin-left: 0; margin-right: 0; }
/* Larger variant for key department title (ensure white text), but more compact */
.dept-title-lg {
  font-size: clamp(24px, 3vw, 34px);
  padding: 8px 12px;
  line-height: 1.12;
  color: #ffffff !important;
}
/* Force exact match for doctors heading badge (size, padding, line-height) */
#doctorsHeading.gradient-title.dept-title-lg {
  font-size: clamp(24px, 3vw, 34px) !important;
  padding: 8px 12px !important;
  line-height: 1.12 !important;
  border-radius: 10px; /* match gradient-title default */
  display: inline-block; /* ensure fit to text */
}
@media (max-width: 900px){
  .dept-split .split-grid { grid-template-columns: 1fr; }
  .dept-split .split-image { min-height: 220px; }
  .dept-split .split-about { min-height: 220px; }
}

.tick-list { margin: 0; padding-left: 0; list-style: none; }
.tick-list li { position: relative; padding-left: 26px; margin: 8px 0; line-height: 1.65; color: #374151; }
.tick-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #20d0cd; font-weight: 900; }
/* Larger variant for emphasis */
.tick-list.big li { font-size: 17px; font-weight: 800; letter-spacing: -0.1px; }

/* Plain bullet list variant (no tick marks) */
.bullet-list { margin: 8px 0 0 0; padding-left: 20px; list-style: disc; }
.bullet-list li { margin: 6px 0; line-height: 1.65; color: #374151; font-weight: 500; }
.bullet-list.big li { font-size: 17px; font-weight: 500; letter-spacing: -0.1px; }

/* Fit-to-content: let the about card height define itself; keep image modest */
.dept-split .split-image, .dept-split .split-about { min-height: 0; }

/* Reusable card */
.card { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; box-shadow: 0 2px 10px rgba(0,0,0,.04); transition: box-shadow .2s ease; }
.card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); }
.card h3 { margin: 0 0 10px; font-size: 18px; font-weight: 800; color: #0b1b2b; }

/* FAQs */
.dept-faqs .faq-list { display: grid; gap: 10px; }
.dept-faqs details { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 14px; }
.dept-faqs summary { cursor: pointer; list-style: none; font-weight: 700; color: #0b1b2b; position: relative; padding-right: 20px; }
.dept-faqs summary::after { content: "\25BC"; position: absolute; right: 0; top: 0; font-size: 12px; color: #6b7280; transition: transform .2s ease; }
.dept-faqs details[open] summary::after { transform: rotate(180deg); }
.dept-faqs summary::-webkit-details-marker { display: none; }
.dept-faqs details[open] { box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.dept-faqs .answer { color: #374151; margin-top: 8px; }

/* Need Help CTA band */
.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #0b1b2b; color: #fff; border-radius: 10px; padding: 16px; margin: 18px 0 24px; box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.cta-band .cta-text h3 { margin: 0 0 6px; font-size: 22px; font-weight: 900; }
.cta-band .cta-text p { margin: 0; color: #dbe5ef; }
.cta-band .cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cta-band .btn { display: inline-block; padding: 10px 14px; border-radius: 6px; font-weight: 800; }
.cta-band .btn.primary { background: #125873; color: #fff; }
.cta-band .btn.call { background: #f4a62a; color: #111; }
.cta-band .btn.wa { background: #2f8f2f; color: #fff; }
@media (max-width: 800px){ .cta-band { flex-direction: column; align-items: flex-start; } }

/* Floating appointment button (mobile) */
.fab-appointment { position: fixed; right: 16px; bottom: 16px; background: #125873; color: #fff; border-radius: 999px; padding: 12px 16px; box-shadow: 0 10px 24px rgba(0,0,0,.2); font-weight: 800; z-index: 999; display: none; }
.fab-appointment .fab-label { white-space: nowrap; }
@media (max-width: 900px){ .fab-appointment { display: inline-flex; align-items: center; gap: 8px; } }
.action-bar ul > li + li::before { content: ""; position: absolute; left: -12px; top: 50%; transform: translateY(-50%); width: 1px; height: 1.2em; background: rgba(255,255,255,.5); }
.action-bar a { color: #fff; font-weight: 600; }
.action-bar a:hover, .action-bar a:focus { text-decoration: underline; background: transparent; outline: none; box-shadow: none; }

/* About Us section typography */
.about-section .about-text p { font-weight: 700; margin: 0 0 12px; }
.about-section .about-text p.lead { font-weight: 800; }
@media (max-width: 640px){
  .about-section .about-text p { margin: 0 0 10px; }
}

/* Temporarily hide 'When to contact' guidance section */
#deptGuidance, .dept-tips { display: none !important; }

/* About Us visibility: hidden by default, visible when targeted via #about */
.about-section { display: none; }
/* Override default :target behavior; visibility is controlled via JS to avoid flicker/overlays */
#about:target { display: none; }

/* Mission, Vision and Values: hidden by default, visible when targeted via #mission-vision-values */
.mvv-section { display: none; padding: 24px 16px; position: relative; overflow: hidden; }
/* Override default :target behavior; visibility is controlled via JS to avoid flicker/overlays */
#mission-vision-values:target { display: none; }
.mvv-section .mvv-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.12;
  background-image: url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2320d0cd' stroke-opacity='0.25' stroke-width='0.5'%3E%3Cpath d='M0 20H40M20 0V40'/%3E%3Ccircle cx='20' cy='20' r='8'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 320px 320px;
}
.mvv-section .mvv-inner { max-width: 1000px; margin: 0 auto; background: #fff; border: 1px solid #e6eaf0; border-radius: 12px; padding: 16px; box-shadow: 0 2px 12px rgba(16,24,40,.06); }
.mvv-section h2 { margin: 0 0 10px; color: var(--brand); text-align: center; }
.mvv-section .mvv-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.mvv-section .mvv-block { border: 1px solid #eef2f7; border-radius: 10px; background: #f9fbfd; padding: 14px; }
.mvv-section .mvv-block h3 { margin: 0 0 8px; font-size: 18px; color: #0b1b2b; }
.mvv-section .mvv-block p { margin: 0; font-size: 15px; line-height: 1.6; font-weight: 700; }
.mvv-section .mvv-block p em { font-weight: 800; font-style: normal; }
@media (max-width: 900px){ .mvv-section .mvv-grid { grid-template-columns: 1fr; } }

/* Departments grid */
.dept-section { padding: 0 16px 24px 16px; }
.dept-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.dept-header h2 { margin: 0; font-size: 22px; }
.dept-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.dept-card { display: flex; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: #fff; transition: box-shadow .2s ease, transform .2s ease; min-height: 52px; }
.dept-card:hover, .dept-card:focus-within { box-shadow: 0 4px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.dept-thumb { display: none; }
/* Icon-only layout */
.dept-icon { width: 25px; height: 25px; object-fit: contain; flex: 0 0 auto; }
.dept-abbr { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 6px; background: #f4f6f8; border: 1px solid var(--border); font-weight: 700; color: var(--brand); font-size: 10px; flex: 0 0 auto; }
.dept-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dept-info .name { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dept-info .links { font-size: 12px; color: var(--muted); display: flex; gap: 10px; }
.dept-info .links a { color: var(--brand); }

/* Home cards variant (image on top, rounded card) */
.dept-grid.cards { gap: 16px; }
.dept-grid.cards .dept-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  min-height: unset;
  background: #fff;
  border: 1px solid #e6eaf0;
  box-shadow: 0 2px 10px rgba(16,24,40,.06);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.dept-grid.cards .dept-card:hover,
.dept-grid.cards .dept-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(16,24,40,.12);
  border-color: #d9dee6;
}
.dept-grid.cards .dept-thumb { display: block; width: 100%; height: 130px; border-radius: 12px; border: 1px solid #e6eaf0; overflow: hidden; background: #f7f9fc; }
.dept-grid.cards .dept-thumb img.dept-img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Abbreviation fallback styling inside card thumbnail */
.dept-grid.cards .dept-thumb .abbr {
  display: grid;
  place-items: center;
  width: 100%; height: 100%;
  font-weight: 800; font-size: 22px; letter-spacing: .5px; color: #125873;
  background: linear-gradient(135deg,#eef4ff, #f5fbff);
}
.dept-grid.cards .dept-info { gap: 6px; }
.dept-grid.cards .dept-info .name { font-size: 16px; white-space: normal; }
.dept-grid.cards .desc {
  font-size: 13.5px; color: var(--muted); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 38px;
}
.dept-grid.cards .card-actions { margin-top: 6px; display: flex; gap: 16px; align-items: center; flex-wrap: nowrap; }
.dept-grid.cards .btn-view { display: inline-block; background: #125873; color: #fff; padding: 8px 12px; border-radius: 8px; font-weight: 700; font-size: 13px; line-height: 1; }
.dept-grid.cards .btn-view:hover { filter: brightness(1.05); }
/* Book appointment secondary button */
.dept-grid.cards .btn-appoint { display: inline-block; padding: 8px 12px; border-radius: 8px; font-weight: 700; font-size: 13px; line-height: 1; text-decoration: none; border: 1px solid transparent; color: #fff; background: linear-gradient(135deg, #20d0cd 0%, #8a9199 100%); box-shadow: 0 1px 1px rgba(0,0,0,0.04), 0 2px 8px rgba(0,0,0,0.06); }
.dept-grid.cards .btn-appoint:hover { filter: brightness(1.05); }

/* Home teaser: 3 rows x 4 cols on desktop */
.dept-grid.teaser { grid-template-columns: repeat(4, 1fr); }
.dept-grid.teaser .dept-card { min-height: 60px; }

/* Primary button (site-wide) */
.btn-primary {
  display: inline-block;
  background: #125873;
  color: #fff;
  padding: 10px 16px;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 14px;
  border: 1px solid #0f4a61;
  box-shadow: 0 1px 1px rgba(0,0,0,0.04), 0 2px 8px rgba(0,0,0,0.06);
  text-decoration: none;
  transition: box-shadow .2s ease, filter .2s ease, background-color .2s ease;
}
.btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
}
.btn-primary:focus-visible {
  outline: 2px solid #4c8bf5;
  outline-offset: 2px;
}

/* Full page grid (Departments page) */
.dept-grid.full { grid-template-columns: repeat(3, 1fr); }

/* Departments footer (below grid) */
.dept-section .dept-footer { margin-top: 16px; display: flex; justify-content: center; }
.dept-section .dept-footer .btn-primary { text-decoration: none; }

@media (max-width: 900px) {
  /* Further tighten header and keep single line */
  .brand-bar { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 6px; }
  .logo-main { height: 44px; }
  .logo-nabh { display: none; }
  .logos { margin-right: 0; flex: 0 1 auto; min-width: 0; }
  .hero-cta { flex-wrap: nowrap; justify-content: flex-start; text-align: left; flex: 1 1 auto; min-width: 0; }
  .typewriter { min-width: auto; display: inline-flex; }
  .btn-img img { height: 20px; }
  .quick-actions { flex-wrap: nowrap; gap: 14px; }
  .dept-grid { grid-template-columns: repeat(3, 1fr); }
  .dept-grid.full { grid-template-columns: repeat(3, 1fr); }
  .dept-grid.teaser { grid-template-columns: repeat(3, 1fr); }
  .dept-grid.cards .dept-thumb { height: 120px; }
  /* Stack All Doctors layout on tablets */
  .docs-layout { grid-template-columns: 1fr; }
  .docs-aside { position: static; }
}
@media (max-width: 640px) {
  .dept-grid { grid-template-columns: repeat(2, 1fr); }
  .dept-grid.full {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(240px, 1fr);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 6px;
    scroll-snap-type: x mandatory;
  }
  .dept-grid.full .dept-card { scroll-snap-align: start; }
  .dept-grid.teaser { grid-template-columns: repeat(2, 1fr); }
  .dept-grid.cards .dept-thumb { height: 110px; }
}

/* Department detail page */
.dept-page .dept-hero { background: #f5f7fb; border-bottom: 1px solid var(--border); }
.dept-page .dept-hero .container { padding: 20px 16px; }
.dept-subtitle { color: var(--muted); margin: 6px 0 0 0; }

.dept-content .dept-layout { display: grid; grid-template-columns: 3fr 1fr; gap: 20px; align-items: start; }
.dept-main { display: grid; gap: 16px; }

/* All Doctors page layout: 77.5/22.5 split with sidebar form */
.docs-layout { display: grid; grid-template-columns: 31fr 9fr; gap: 20px; align-items: start; }
.docs-main { display: grid; gap: 16px; min-width: 0; }
.docs-aside { position: sticky; top: calc(var(--sticky-offset, 0px) + 16px); align-self: start; min-width: 0; }

/* Appointment card styles */
.appointment-card { position: relative; background: linear-gradient(135deg, #125873 0%, #20d0cd 50%, #8a9199 100%); border: 1px solid rgba(255,255,255,0.2); border-radius: 12px; padding: 16px; padding-right: 18px; padding-bottom: 18px; box-shadow: 0 6px 18px rgba(16,24,40,.12); color: #fff; overflow: hidden; }
.appointment-card > * { position: relative; z-index: 1; }
.appointment-card h2 { margin: 0 0 12px; color: #ffffff; font-size: 18px; }
.appointment-card .appointment-art { position: absolute; right: -6px; bottom: -6px; width: 150px; height: 150px; opacity: 0.18; background-repeat: no-repeat; background-size: contain; background-position: bottom right; pointer-events: none; filter: drop-shadow(0 2px 6px rgba(0,0,0,.15)); z-index: 0; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'><defs><linearGradient id='g' x1='0' y1='0' x2='1' y2='1'><stop offset='0%25' stop-color='%23ffffff' stop-opacity='0.95'/><stop offset='100%25' stop-color='%23e6f7f7' stop-opacity='0.95'/></linearGradient></defs><g fill='url(%23g)'><circle cx='128' cy='80' r='44'/><path d='M40 220c8-52 48-84 88-84s80 32 88 84H40z'/><rect x='98' y='18' width='60' height='28' rx='6'/><rect x='118' y='8' width='20' height='48' rx='4'/><rect x='120' y='135' width='16' height='40' rx='3'/><rect x='94' y='155' width='68' height='20' rx='4'/><rect x='124' y='160' width='8' height='8' rx='2' fill='%2320d0cd'/></g></svg>"); }
.appointment-card .form-field { display: grid; gap: 6px; margin-bottom: 10px; }
.appointment-card .form-field.checkbox { display: flex; align-items: center; gap: 8px; }
.appointment-card label { font-weight: 700; font-size: 13px; color: #ffffff; text-shadow: 0 1px 2px rgba(0,0,0,.18); }
.appointment-card input[type="text"],
.appointment-card input[type="tel"],
.appointment-card select,
.appointment-card input[type="date"],
.appointment-card input[type="time"] { height: 38px; padding: 8px 10px; border: 1px solid rgba(255,255,255,0.6); background: #ffffff; color: #0b1b2b; border-radius: 8px; font-size: 14px; }
.appointment-card input:focus,
.appointment-card select:focus { outline: 2px solid #4c8bf5; outline-offset: 1px; }
.appointment-card input[type="date"]:focus,
.appointment-card input[type="time"]:focus { outline: 2px solid #4c8bf5; outline-offset: 1px; }

/* Improve layout for date/time when placed side-by-side */
.appointment-card .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 640px){
  .appointment-card .form-row { grid-template-columns: 1fr; }
}

/* Confirmation block typography inside modal */
.appointment-card .confirm { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.25); border-radius: 10px; padding: 12px; color: #fff; }
.appointment-card .confirm h3 { margin: 0 0 8px; font-size: 16px; }
.appointment-card .confirm .row { display: grid; grid-template-columns: 140px 1fr; gap: 8px; margin: 6px 0; }
@media (max-width: 640px){ .appointment-card .confirm .row { grid-template-columns: 1fr; } }
.appointment-card .btn-submit { display: inline-block; width: 100%; background: #0b1b2b; color: #fff; border: 0; border-radius: 10px; padding: 10px 12px; font-weight: 800; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.appointment-card .btn-submit:hover { filter: brightness(1.05); }

/* Nurse-style appointment form */
.nurse-appoint { background: #ffffff; border: 1px solid #e6eaf0; border-radius: 12px; box-shadow: 0 12px 28px rgba(0,0,0,.10); overflow: hidden; display: grid; grid-template-columns: 160px 1fr; gap: 0; }
.nurse-appoint .na-figure { margin: 0; background: linear-gradient(135deg, #e6faf7, #eaf6ff); display: flex; justify-content: flex-start; align-items: flex-start; padding: 0; grid-column: 1; grid-row: 1; }
.nurse-appoint .na-figure img { width: 160px; height: auto; display: block; margin: 0; }
.nurse-appoint .na-body { padding: 14px; display: contents; }
.nurse-appoint .na-top-actions { display: grid; gap: 10px; grid-column: 2; grid-row: 1; padding: 14px; }
/* Call button */
.nurse-appoint .na-call { position: relative; display: block; background: linear-gradient(180deg,#c5b8a9 0%, #b9ad9f 100%); color: #fff; text-align: center; font-weight: 900; padding: 12px 16px; border-radius: 8px; letter-spacing: .2px; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
.nurse-appoint .na-call::before { content: ""; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: #ede7e1; box-shadow: inset 0 0 0 2px rgba(0,0,0,.06); -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23888888\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.89.31 1.76.57 2.6a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.48-1.1a2 2 0 0 1 2.11-.45c.84.26 1.71.45 2.6.57A2 2 0 0 1 22 16.92z\"/></svg>') center / 18px 18px no-repeat; mask: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"%23888888\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.89.31 1.76.57 2.6a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.48-1.1a2 2 0 0 1 2.11-.45c.84.26 1.71.45 2.6.57A2 2 0 0 1 22 16.92z\"/></svg>') center / 18px 18px no-repeat; }
.nurse-appoint .na-call:hover { filter: brightness(1.03); }
.nurse-appoint .na-call:focus-visible { outline: 2px solid #4c8bf5; outline-offset: 2px; }
/* WhatsApp button */
.nurse-appoint .na-wa { position: relative; display: block; background: linear-gradient(180deg,#2fe07a 0%, #25d366 100%); color: #fff; text-align: center; font-weight: 900; padding: 12px 16px; border-radius: 8px; letter-spacing: .2px; box-shadow: 0 2px 8px rgba(0,0,0,.1); }
.nurse-appoint .na-wa::before { content: ""; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: #ffffff; opacity: .95; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%2325d366\"><path d=\"M20.52 3.48A11.77 11.77 0 0 0 12 0 11.94 11.94 0 0 0 .24 11.76a11.64 11.64 0 0 0 1.6 5.94L0 24l6.5-1.7a11.94 11.94 0 0 0 5.5 1.4h.01A11.75 11.75 0 0 0 24 11.76 11.72 11.72 0 0 0 20.52 3.48ZM12 21.3h-.01a9.5 9.5 0 0 1-4.84-1.3l-.35-.2-3.86 1.01 1.03-3.76-.23-.39a9.59 9.59 0 1 1 8.25 4.64Zm5.5-7.21c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.18-.18.2-.35.23-.65.08-.3-.15-1.28-.47-2.44-1.5-.9-.8-1.5-1.8-1.67-2.1-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.53.15-.18.2-.3.3-.5.1-.2.05-.38-.02-.53-.08-.15-.67-1.62-.92-2.2-.24-.58-.49-.5-.67-.5-.17 0-.37-.02-.57-.02-.2 0-.53.08-.8.38-.27.3-1.05 1.03-1.05 2.5s1.08 2.9 1.23 3.1c.15.2 2.13 3.24 5.17 4.55.72.31 1.28.5 1.72.64.72.23 1.37.2 1.88.12.57-.08 1.76-.72 2.01-1.42.25-.7.25-1.3.17-1.42-.08-.12-.27-.2-.57-.35Z\"/></svg>') center / 18px 18px no-repeat; mask: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%2325d366\"><path d=\"M20.52 3.48A11.77 11.77 0 0 0 12 0 11.94 11.94 0 0 0 .24 11.76a11.64 11.64 0 0 0 1.6 5.94L0 24l6.5-1.7a11.94 11.94 0 0 0 5.5 1.4h.01A11.75 11.75 0 0 0 24 11.76 11.72 11.72 0 0 0 20.52 3.48ZM12 21.3h-.01a9.5 9.5 0 0 1-4.84-1.3l-.35-.2-3.86 1.01 1.03-3.76-.23-.39a9.59 9.59 0 1 1 8.25 4.64Zm5.5-7.21c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.95 1.18-.18.2-.35.23-.65.08-.3-.15-1.28-.47-2.44-1.5-.9-.8-1.5-1.8-1.67-2.1-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.53.15-.18.2-.3.3-.5.1-.2.05-.38-.02-.53-.08-.15-.67-1.62-.92-2.2-.24-.58-.49-.5-.67-.5-.17 0-.37-.02-.57-.02-.2 0-.53.08-.8.38-.27.3-1.05 1.03-1.05 2.5s1.08 2.9 1.23 3.1c.15.2 2.13 3.24 5.17 4.55.72.31 1.28.5 1.72.64.72.23 1.37.2 1.88.12.57-.08 1.76-.72 2.01-1.42.25-.7.25-1.3.17-1.42-.08-.12-.27-.2-.57-.35Z\"/></svg>') center / 18px 18px no-repeat; }
.nurse-appoint .na-wa:hover { filter: brightness(1.05); }
.nurse-appoint .na-wa:focus-visible { outline: 2px solid #4c8bf5; outline-offset: 2px; }
.nurse-appoint .na-field { display: block; grid-column: 1 / -1; }
.nurse-appoint .na-field input,
.nurse-appoint .na-field select { width: 100%; height: 54px; border: 1px solid #d7d7d7; border-radius: 8px; padding: 12px 14px; font-size: 15px; }
.nurse-appoint .na-field input::placeholder { color: #b5b5b5; }
.nurse-appoint .na-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #6b7280; grid-column: 1 / -1; }
.nurse-appoint .na-submit { display: block; width: 100%; background: linear-gradient(135deg, #0f7b8e, #129a92); color: #fff; font-weight: 900; border: 0; border-radius: 8px; height: 54px; cursor: pointer; letter-spacing: .2px; grid-column: 1 / -1; box-shadow: 0 2px 10px rgba(0,0,0,.12); }
.nurse-appoint .na-submit:hover { filter: brightness(1.04); }
.nurse-appoint .na-submit:focus-visible { outline: 2px solid #4c8bf5; outline-offset: 2px; }
/* Make the form fields row appear below the nurse image and actions */
.nurse-appoint form { grid-column: 1 / -1; grid-row: 2; padding: 0 14px 14px 14px; display: grid; gap: 10px; }
@media (max-width: 900px){
  .nurse-appoint { grid-template-columns: 1fr; }
  .nurse-appoint .na-top-actions { grid-column: 1; padding: 10px 14px; }
  .nurse-appoint .na-figure { padding: 8px 0; }
}

/* Hide accessible-only labels */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.dept-image-wrap { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; background: #fff; }
.dept-image-wrap img { width: 100%; height: 420px; object-fit: cover; display: block; }

.dept-about { 
  background: #fff; 
  border: 1px solid var(--border); 
  border-radius: 10px; 
  padding: 16px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}
.dept-about h2 { margin-top: 0; color: var(--brand); }
.dept-about p, .dept-about ul, .dept-about li, .dept-about div {
  overflow-wrap: break-word;
  word-wrap: break-word;
  max-width: 100%;
}

/* From Wikipedia section */
.dept-wiki { 
  background: #fff; 
  border: 1px solid var(--border); 
  border-radius: 10px; 
  padding: 16px;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.dept-wiki h2 { margin: 0 0 10px; color: var(--brand); font-size: 20px; }
.dept-wiki .wiki-content { display: grid; grid-template-columns: 1fr; gap: 12px; align-items: start; }
.dept-wiki .wiki-text p { 
  margin: 0 0 8px; 
  color: #334155; 
  font-size: 14.5px; 
  line-height: 1.55;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.dept-wiki .wiki-readmore { color: var(--brand); font-weight: 700; text-decoration: none; }
.dept-wiki .wiki-readmore:hover { text-decoration: underline; }

/* Department Guidance (When to contact / Common symptoms) */
.dept-tips { 
  background: #fff; 
  border: 1px solid var(--border); 
  border-radius: 10px; 
  padding: 16px;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.dept-tips h2 { margin-top: 0; margin-bottom: 10px; color: var(--brand); font-size: 20px; }
.dept-tips .tips-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.dept-tips .tip-col h3 { margin: 0 0 8px; font-size: 16px; color: #0b1b2b; }
.dept-tips .tip-col ul { margin: 0; padding-left: 18px; color: #334155; font-size: 14.5px; line-height: 1.6; }
.dept-tips .tip-col li { 
  margin: 4px 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.dept-aside .card { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 12px; margin-bottom: 12px; }
.dept-aside .btn { display: inline-block; background: var(--brand); color: var(--text-on-brand); padding: 8px 12px; border-radius: 6px; text-decoration: none; }
.dept-aside .btn.secondary { background: #0b1b2b; }

.dept-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.dept-list a { color: var(--brand); display: block; padding: 6px 8px; border-radius: 6px; }
.dept-list a[aria-current="page"] { background: rgba(29,96,167,0.08); font-weight: 600; }

.dept-doctors { background: #fff; border: 1px solid var(--border); border-radius: 10px; padding: 16px; }
.dept-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.dept-section-head h2 { margin: 0; color: var(--brand); }
/* Ensure doctors heading gradient badge matches main title size/height and remains white */
.dept-doctors .dept-section-head #doctorsHeading.gradient-title.dept-title-lg {
  font-size: clamp(24px, 3vw, 34px);
  padding: 8px 12px;
  line-height: 1.12;
  color: #ffffff !important;
}

.doctor-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
/* (legacy doctor-card rules replaced by new layout below) */

/* All Doctors page: force single-column list for space to add buttons */
#allDoctorsGrid.doctor-grid { grid-template-columns: 1fr; }
/* Remove any implicit inner padding on the grid wrapper */
#allDoctorsGrid { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }

/* Ultra-Compact Desktop Doctor Card layout - much smaller */
.doctor-card {
  display: grid;
  /* Slim side spacers so the box comes closer to content */
  grid-template-columns: 0 60px 1fr 0; /* much smaller image */
  gap: 6px; /* tighter spacing */
  padding: 8px 1%; /* much smaller padding */
  border: 1px solid #e6eaf0;
  border-radius: 6px; /* smaller rounded corners */
  background: #fff;
  box-shadow: 0 1px 3px rgba(16,24,40,.04); /* smaller shadow */
  transition: all 0.3s ease;
  min-height: 100px;            /* much smaller height */
  align-items: center;          /* center thumb and body vertically */
  /* Reset outer margins; centering will be handled with a page-specific rule */
  margin-left: 0;
  margin-right: 0;
  position: relative;
  overflow: hidden;
}
.doctor-card .thumb {
  width: 60px; /* much smaller image */
  height: 60px; /* much smaller image */
  border-radius: 4px; /* smaller rounded corners */
  overflow: hidden; 
  background: #f7f9fc; 
  border: 1px solid #e6eaf0;
  transition: all 0.3s ease;
  position: relative;
}
.doctor-card .thumb { grid-column: 2; }
.doctor-card .thumb .doc-img { 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  display: block; 
  transition: transform 0.3s ease;
}
.doctor-card .doc-body { 
  grid-column: 3;
  display: grid; 
  grid-template-columns: 1fr auto; 
  column-gap: 12px; 
  row-gap: 8px; 
  align-items: start;
  min-height: 0;
}
.doctor-card .doc-header,
.doctor-card .doc-subline,
.doctor-card .doc-lang { grid-column: 1; justify-self: start; }
.doctor-card .doc-tabs,
.doctor-card .tab-content,
.doctor-card .actions,
.doctor-card .social { 
  grid-column: 2; 
  justify-self: end; 
  align-self: start;
  margin-top: 8px;
}
.doctor-card .doc-header { 
  grid-row: 1; 
  display: flex; 
  flex-direction: column; 
  gap: 4px; 
  min-height: auto; /* remove fixed height to prevent overlapping */
  margin-bottom: 8px; /* add space below header */
}
.doctor-card .doc-name { 
  font-size: 16px; /* keep doctor names normal size */
  font-weight: 800; 
  color: #125873; 
  letter-spacing: .2px; /* good spacing */
  text-transform: uppercase; 
  display: -webkit-box; 
  -webkit-line-clamp: 2; 
  line-clamp: 2; 
  -webkit-box-orient: vertical; 
  overflow: hidden;
  margin-bottom: 4px; /* good spacing */
  line-height: 1.2;
}
.doctor-card .doc-qual { 
  font-size: 8px; /* much smaller text */
  color: #374151; 
  font-weight: 600; 
  white-space: nowrap; 
  overflow: hidden; 
  text-overflow: ellipsis;
  margin-bottom: 1px;
}
.doctor-card .doc-subline { 
  font-size: 7px; /* much smaller text */
  color: #6b7280; 
  text-transform: uppercase; 
  letter-spacing: .1px; /* tighter spacing */
  font-weight: 500;
}
.doctor-card .doc-lang { font-size: 13px; color: #6b7280; }
/* Add a language symbol before the languages text */
.doctor-card .doc-lang::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  vertical-align: -2px;
  background: no-repeat center / contain url("Images/Language_Icon.webp");
}

.doctor-card .doc-tabs { display: flex; gap: 12px; flex-wrap: wrap; }
.doctor-card .doc-tabs { grid-row: 1; align-self: center; }
/* Each tab item becomes a full-width row: button on top, panel below */
.doctor-card .doc-tabs .tab-item { display: grid; grid-template-rows: auto auto; flex: 1 1 100%; width: 100%; }
.doctor-card .doc-tabs .tab-item + .tab-item { margin-top: 6px; }
/* Panels appear directly under their button when active */
.doctor-card .doc-tabs .tab-panel { display: none; font-size: 13px; color: #374151; padding-top: 4px; }
.doctor-card .doc-tabs .tab-panel .timings { font-weight: 600; color: #125873; }
.doctor-card .doc-tabs .tab-panel.active { display: block; }
.doctor-card .doc-tabs .tab {
  appearance: none;
  background: transparent;
  border: 0;
  color: #0b1b2b;
  padding: 4px 8px; /* larger padding for better readability */
  border-radius: 0;
  font-weight: 700; /* increased weight */
  font-size: 12px; /* larger text for better readability */
  cursor: pointer;
}
.doctor-card .doc-tabs .tab:hover { text-decoration: underline; }
.doctor-card .doc-tabs .tab:focus { outline: 2px solid rgba(18,88,115,0.3); outline-offset: 2px; border-radius: 4px; }
/* Active tab: gradient text color */
.doctor-card .doc-tabs .tab.active {
  background: linear-gradient(90deg, var(--page-grad-1) 0%, var(--page-grad-2) 50%, var(--page-grad-3) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-decoration: none;
}

.doctor-card .tab-content { 
  font-size: 13px; 
  color: #374151; 
  padding-top: 0; 
  grid-row: 2; 
  min-height: auto;
  display: block;
  margin-top: 8px;
}
.doctor-card .tab-content .timings { font-weight: 600; color: #125873; }

.doctor-card .actions { 
  display: flex; 
  gap: 1px; /* final 20% smaller gap */
  flex-wrap: wrap; 
  align-items: center; 
  padding-top: 1px; /* final 20% smaller spacing */
  margin-top: 1px; /* final 20% smaller margin */
}
.doctor-card .actions .btn { 
  display: inline-block; 
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%); 
  color: #fff; 
  padding: 3px 6px; /* final 20% smaller padding */
  border-radius: 8px; /* final 20% smaller rounded buttons */
  font-weight: 700; 
  font-size: 5px; /* final 20% smaller text */
  line-height: 1; 
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.doctor-card .actions .btn.small { 
  padding: 2px 4px; /* final 20% smaller small buttons */
  font-size: 4px; /* final 20% smaller small text */
}
.doctor-card .actions .btn:hover { 
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(18, 88, 115, 0.3);
  filter: brightness(1.1);
}
/* Image-based action buttons */
.doctor-card .actions .img-btn { display: inline-flex; align-items: center; justify-content: center; padding: 0; background: transparent; border: 0; line-height: 0; }
.doctor-card .actions .img-btn img { display: block; height: 38px; width: auto; }
.doctor-card .actions .img-btn:hover img, 
.doctor-card .actions .img-btn:focus img { filter: brightness(1.06); }
/* Fine-tune: shrink only the three main action buttons (Book/Call/WhatsApp) a bit more */
.doctor-card .actions .img-btn img[src$="Doc_Appointment.webp"],
.doctor-card .actions .img-btn img[src$="doc_Call_Us.webp"],
.doctor-card .actions .img-btn img[src$="Doc_Whatsapp_us.webp"] { height: 34px; }

/* Force smaller image buttons on mobile */
@media (max-width: 640px) {
  .doctor-card .actions .img-btn img { 
    height: 20px !important; 
    width: auto !important; 
  }
  .doctor-card .actions .img-btn img[src$="Doc_Appointment.webp"],
  .doctor-card .actions .img-btn img[src$="doc_Call_Us.webp"],
  .doctor-card .actions .img-btn img[src$="Doc_Whatsapp_us.webp"] { 
    height: 18px !important; 
  }
}
/* When social icons are moved inline into .actions */
.doctor-card .actions .icon img { height: 28px; width: auto; display: block; }

/* Force smaller social icons in actions on mobile */
@media (max-width: 640px) {
  .doctor-card .actions .icon img { 
    height: 12px !important; 
    width: 12px !important; 
    display: block !important; 
  }
}

.doctor-card .social { display: flex; gap: 4px; align-items: center; padding-top: 2px; }
.doctor-card .social .icon img { width: 9px; height: 9px; display: block; }

/* Force smaller social icons on mobile */
@media (max-width: 640px) {
  .doctor-card .social .icon img { 
    width: 6px !important; 
    height: 6px !important; 
    display: block !important; 
  }
}

.doctor-card:hover { 
  transform: translateY(-4px); 
  box-shadow: 0 8px 25px rgba(16,24,40,.15); 
  border-color: #20d0cd;
}
.doctor-card:hover .thumb {
  border-color: #20d0cd;
  transform: scale(1.02);
}
.doctor-card:hover .thumb .doc-img {
  transform: scale(1.05);
}

@media (max-width: 640px){
  /* Ultra-Compact Mobile Doctor Cards - much smaller */
  .doctor-card { 
    grid-template-columns: 2% 40px 1fr 2%; /* much smaller image */
    gap: 3px; /* much tighter spacing */
    padding: 5px 1%; /* much smaller padding */
    border-radius: 4px; /* smaller rounded corners */
    min-height: 70px; /* much smaller height */
    margin-left: 0; 
    margin-right: 0;
    box-shadow: 0 1px 2px rgba(16,24,40,.03); /* minimal shadow */
  }
  /* Mobile: no extra side margins */
  .doctors-page #allDoctorsGrid .doctor-card { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
  .doctor-card .thumb { 
    width: 40px; /* much smaller image */
    height: 40px; /* much smaller image */
    border-radius: 3px; /* smaller rounded corners */
    grid-column: 2;
    border: 1px solid #e6eaf0;
  }
  .doctor-card .doc-name { 
    font-size: 12px; /* keep mobile doctor names readable */
    font-weight: 800;
    line-height: 1.2;
  }
  .doctor-card .doc-qual { 
    font-size: 5px; /* much smaller text */
    font-weight: 600;
  }
  
  /* Mobile navigation tabs - larger */
  .doctor-card .doc-tabs .tab {
    padding: 3px 6px; /* larger mobile padding */
    font-size: 9px; /* larger mobile text */
  }
  
  /* Fix mobile tabs positioning */
  .doctor-card .doc-tabs {
    margin-top: 8px !important; /* more space above tabs */
    margin-bottom: 8px !important; /* more space below tabs */
  }
  
  /* Mobile tab content styling */
  .doctor-card .tab-content {
    font-size: 11px; /* mobile text size */
    padding: 6px 10px; /* mobile padding */
    background: #f8f9fa; /* light background */
    border-radius: 4px; /* mobile rounded corners */
    border-left: 2px solid #20d0cd; /* mobile colored border */
  }
  
  /* Mobile social icons - much smaller */
  .doctor-card .social { 
    gap: 1px !important; /* very small mobile gap */
  }
  .doctor-card .social .icon img { 
    width: 6px !important; /* very small mobile social icons */
    height: 6px !important; 
    display: block !important; 
  }
  /* On small screens, stack everything in the left column for simplicity */
  .doctor-card .doc-body { 
    grid-template-columns: 1fr; 
    grid-column: 3; 
    gap: 16px; /* more space between elements */
    align-items: start;
  }
  .doctor-card .doc-tabs,
  .doctor-card .tab-content,
  .doctor-card .actions,
  .doctor-card .social { 
    grid-column: 1; 
    justify-self: start; 
    align-self: start;
    margin-top: 0;
  }
  
  /* Fix mobile header layout */
  .doctor-card .doc-header {
    margin-bottom: 16px; /* more space between name and tabs */
  }
  
  /* Fix mobile name spacing */
  .doctor-card .doc-name {
    margin-bottom: 8px !important; /* more space below name */
  }
  
  /* Enhanced mobile action buttons */
  .doctor-card .actions { 
    gap: 2px; /* very small mobile gap */
    flex-wrap: wrap;
    padding-top: 2px; /* very small mobile padding */
    margin-top: 2px; /* very small mobile margin */
    justify-content: flex-start; /* align buttons to start */
  }
  .doctor-card .actions .btn { 
    padding: 2px 4px !important; /* very small mobile buttons */
    font-size: 6px !important; /* very small mobile text */
    border-radius: 4px !important; /* very small mobile rounded buttons */
    min-width: 40px !important; /* very small mobile width */
    text-align: center !important;
    font-weight: 600 !important; /* ensure text is bold and readable */
  }
  
  /* Mobile hover effects */
  .doctor-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 6px 20px rgba(16,24,40,.12);
  }
}

/* Balanced Tablet Doctor Card Enhancements */
@media (max-width: 900px) and (min-width: 641px) {
  .doctor-card {
    grid-template-columns: 0 90px 1fr 0; /* balanced tablet size */
    gap: 10px; /* good spacing */
    padding: 14px 1%; /* comfortable padding */
    min-height: 140px; /* compact but not cramped */
  }
  .doctor-card .thumb {
    width: 90px; /* balanced tablet size */
    height: 90px; /* balanced tablet size */
  }
  .doctor-card .doc-name {
    font-size: 14px; /* readable tablet size */
  }
  .doctor-card .doc-qual {
    font-size: 10px; /* readable tablet size */
  }
}

/* Health Packages Mobile Responsive Styles */
@media (max-width: 768px) {
  /* Package containers - stack vertically on mobile */
  [id^="hp-"] {
    padding: 15px !important;
    margin-bottom: 2rem !important;
  }
  
  /* Package titles - smaller on mobile */
  [id^="hp-"] h3 {
    font-size: 1.2rem !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
  }
  
  /* Three column layout - stack on mobile */
  [id^="hp-"] > div[style*="display: flex"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    min-height: auto !important;
  }
  
  /* Package cards - full width on mobile */
  [id^="hp-"] > div[style*="display: flex"] > div {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    min-width: auto !important;
    width: 100% !important;
  }
  
  /* Package images - responsive height */
  [id^="hp-"] img {
    height: 150px !important;
    max-height: 150px !important;
    object-fit: cover !important;
  }
  
  /* Package content - better mobile spacing */
  [id^="hp-"] h4 {
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
  }
  
  /* Package details - readable on mobile */
  [id^="hp-"] div[style*="background: white"] {
    padding: 12px !important;
    margin-bottom: 8px !important;
  }
  
  /* Package text - mobile friendly */
  [id^="hp-"] div[style*="font-size: 0.75rem"] {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }
  
  /* Package buttons - mobile friendly */
  [id^="hp-"] button,
  [id^="hp-"] a[style*="background"] {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
  }
  
  /* Test lists - mobile friendly */
  [id^="hp-"] table,
  [id^="hp-"] div[style*="overflow"] {
    width: 100% !important;
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }
  
  /* Test list headers - mobile friendly */
  [id^="hp-"] th,
  [id^="hp-"] td {
    padding: 8px 4px !important;
    font-size: 0.75rem !important;
    word-wrap: break-word !important;
  }
  
  /* Fix overlapping text in test lists */
  [id^="hp-"] div[style*="overflow: visible"] {
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
  }
  
  /* Fix package section spacing */
  [id^="hp-"] > div[style*="display: flex"] > div[style*="flex: 0 0 25%"] {
    flex: 1 1 100% !important;
    margin-bottom: 20px !important;
  }
  
  /* Fix package section spacing for middle column */
  [id^="hp-"] > div[style*="display: flex"] > div[style*="flex: 1 1 auto"] {
    flex: 1 1 100% !important;
    margin-bottom: 20px !important;
  }
  
  /* Fix package section spacing for right column */
  [id^="hp-"] > div[style*="display: flex"] > div[style*="flex: 0 0 25%"]:last-child {
    flex: 1 1 100% !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 900px) {
  .dept-content .dept-layout { grid-template-columns: 1fr; }
  .dept-image-wrap img { height: 300px; }
  .dept-wiki .wiki-content { grid-template-columns: 1fr; }
  .dept-wiki .wiki-thumb { width: 100%; height: 180px; }
  .dept-tips .tips-grid { grid-template-columns: 1fr; }
}

/* Departments page: premium large search bar */
.dept-header { 
  display: grid; 
  gap: 1rem; 
  justify-items: center; 
  text-align: center; 
  margin-bottom: 1.5rem;
}

.dept-search {
  position: relative;
  width: 100%;
  padding: 0 14px; /* container padding */
  display: flex;
  justify-content: center;
}

.dept-search input#deptSearch {
  width: 100%;
  max-width: 1280px; /* large, but contained */
  height: 62px;
  padding: 14px 18px 14px 56px; /* icon on the left */
  font-size: 18px;
  line-height: 1.2;
  border-radius: 9999px;
  border: 1px solid #d9d9d9;
  background: #fff;
  box-shadow: 0 1px 1px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.06);
  transition: box-shadow .2s ease, border-color .2s ease;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239aa0a6"><path d="M9.5 3a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13m0 2a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9m7.6 9.5 3.9 3.9-1.4 1.4-3.9-3.9V14.5Z"/></svg>');
  background-repeat: no-repeat;
  background-size: 22px 22px;
  background-position: 22px center;
}

.dept-search input#deptSearch::placeholder { color: #9aa0a6; }

.dept-search input#deptSearch:focus { 
  outline: none; 
  border-color: #4c8bf5; 
  box-shadow: 0 1px 1px rgba(0,0,0,0.06), 0 4px 14px rgba(76,139,245,0.25);
}

@media (max-width: 768px){
  .dept-search input#deptSearch{ height: 56px; font-size: 17px; }
}

/* Count text under search */
#deptCount{ display:block; margin-top: .5rem; color:#6b7280; font-size: 14px; }

/* Enforce hiding ONLY the Google Translate top banner (all variants) */
.goog-te-banner-frame,
iframe.goog-te-banner-frame,
.skiptranslate iframe.goog-te-banner-frame,
iframe[id^="goog-gt-"],
.goog-te-banner,
.VIpgJd-ZVi9od-l4eHX-hSRGPd { display: none !important; visibility: hidden !important; height: 0 !important; }
html, body { margin-top: 0 !important; top: 0 !important; }

/* Hide Google's injected dropdown gadget (keep our #langSelect) */
body > .skiptranslate { display: none !important; }
#google_translate_element,
#google_translate_element .goog-te-gadget,
#google_translate_element .goog-te-gadget-simple,
#google_translate_element .goog-te-combo { display: none !important; height: 0 !important; overflow: hidden !important; }

/* Hide floating Google Translate round button / tooltip */
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover { display: none !important; visibility: hidden !important; }
/* Newer floating bubble variants */
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe { opacity: 0 !important; pointer-events: none !important; z-index: -1 !important; }
/* Occasionally shows near gadget */
.goog-te-spinner-pos { display: none !important; }

/* Keep main menu in single line; prevent wrapping */
.main-nav ul { display: flex; flex-wrap: nowrap; overflow: visible; gap: 0 4px; }
.main-nav li { flex: 0 0 auto; }
.main-nav a { white-space: nowrap; }

/* Responsive navigation for single line on all screens */
.main-nav > ul > li > a { padding: 6px 6px; font-size: 13px; }
@media (max-width: 1200px){
  .main-nav > ul > li > a { padding: 6px 5px; font-size: 12px; }
}
@media (max-width: 992px){
  .main-nav > ul > li > a { padding: 6px 4px; font-size: 11px; }
}
@media (max-width: 820px){
  .main-nav > ul { gap: 0 3px; padding: 0 2px; }
  .main-nav > ul > li > a { padding: 5px 3px; font-size: 10px; }
}
@media (max-width: 640px){
  .main-nav > ul { gap: 0 2px; padding: 0 1px; }
  .main-nav > ul > li > a { padding: 7px 7px; font-size: 12.5px; }
}

/* Desktop: force dropdowns to overlay the slider */
@media (min-width: 769px) {
  .main-nav { position: relative; z-index: 3000; overflow: visible; }
  .main-nav > ul { overflow: visible !important; }
  .main-nav li.has-dropdown { position: relative; }
  .main-nav li.has-dropdown > .dropdown { z-index: 9999; }
}

/* Make sure elements below stay under header/nav */
.action-bar { z-index: 90; }
.hero-slider { position: relative; z-index: 1; }

/* About Us section */
.about-section { 
  position: relative; 
  overflow: hidden; 
  padding: clamp(28px, 5vw, 48px) 16px; 
  color: #0b1b2b; 
  isolation: isolate; 
  background: radial-gradient(1200px 600px at 10% -20%, #e6f7ff 0%, transparent 60%),
              radial-gradient(800px 400px at 110% 20%, #f0fff7 0%, transparent 60%),
              linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.about-section .about-overlay { 
  position: absolute; inset: 0; z-index: -1; opacity: 0.15; 
  background-image: url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23125873' stroke-opacity='0.25' stroke-width='0.5'%3E%3Cpath d='M0 20H40M20 0V40'/%3E%3Ccircle cx='20' cy='20' r='8'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 320px 320px; 
}
.about-inner { max-width: 1200px; margin: 0 auto; position: relative; }
.about-grid { display: grid; grid-template-columns: 2fr 1fr; gap: clamp(16px, 4vw, 28px); align-items: stretch; }
@media (max-width: 900px){ .about-grid { grid-template-columns: 1fr; } }

.about-text h2 { margin: 0 0 10px; font-size: clamp(22px, 3.2vw, 28px); color: #125873; letter-spacing: .2px; }
.about-text .lead { margin: 0 0 10px; font-size: 16px; color: #0b1b2b; font-weight: 700; }
.about-text p { margin: 0 0 10px; color: #334155; }

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

.facilities-list li {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  padding-left: 1.5rem;
}

.facilities-list li:last-child {
  border-bottom: none;
}

.facilities-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.75rem;
  color: #20d0cd;
  font-weight: bold;
  font-size: 1.1rem;
}

.facilities-list strong {
  color: #20d0cd;
  font-weight: 600;
}

.about-highlights { display: grid; gap: 10px; margin: 12px 0; }
.about-highlights li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: start; }
.about-highlights .ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #eef7fb; color: #125873; font-size: 16px; box-shadow: inset 0 0 0 1px #d7e8f1; }
.about-highlights strong { display: block; color: #0b1b2b; }
.about-highlights span { color: #475569; font-size: 14px; }

.about-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }

.about-card { 
  background: #fff; 
  border: 1px solid #e6eaf0; 
  border-radius: 14px; 
  padding: 16px; 
  box-shadow: 0 6px 18px rgba(16,24,40,.08); 
  display: grid; 
  gap: 12px; 
  align-content: start;
}
.about-card .about-stat { 
  display: grid; grid-template-columns: 1fr; gap: 4px; 
  padding: 12px; border: 1px solid #e6eaf0; border-radius: 12px; background: linear-gradient(135deg,#f7fbff,#ffffff);
}
.about-card .about-stat .num { font-size: 22px; font-weight: 900; color: #125873; letter-spacing: .2px; }
.about-card .about-stat .lbl { font-size: 12.5px; color: #475569; font-weight: 700; text-transform: uppercase; }
.about-card .about-note { font-size: 13px; color: #334155; background: #f7fafc; border: 1px solid #e6eaf0; border-radius: 12px; padding: 10px; }

/* Leadership Section Styles */
.leadership-section {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.leadership-overlay {
  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="%23125873" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="%2320d0cd" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: 0.3;
}

.leadership-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.leadership-section h2 {
  text-align: center;
  font-size: clamp(28px, 4vw, 36px);
  color: #125873;
  margin-bottom: 50px;
  position: relative;
}

.leadership-section h2::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #20d0cd, #125873);
  border-radius: 2px;
}


.leader-profile {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 10px 40px rgba(18, 88, 115, 0.1);
  border: 1px solid rgba(32, 208, 205, 0.2);
  max-width: 1000px;
  margin: 0 auto;
}


.leader-content {
  line-height: 1.8;
}

.leader-content p {
  color: #334155;
  font-size: 16px;
  margin-bottom: 20px;
  text-align: justify;
  line-height: 1.7;
}

.leader-content ul {
  margin: 15px 0;
  padding-left: 25px;
}

.leader-content li {
  color: #334155;
  font-size: 16px;
  margin-bottom: 10px;
  line-height: 1.6;
}

.leader-content strong {
  color: #125873;
  font-weight: 600;
}

/* Responsive Design for Leadership Section */
@media (max-width: 768px) {
  .leadership-section {
    padding: 60px 0;
  }
  
  .leader-profile {
    padding: 25px;
    margin: 0 15px;
  }
  
  .leader-content p,
  .leader-content li {
    font-size: 15px;
  }
}

/* Mission, Vision and Values Section Styles */
.mvv-section {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

.mvv-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 20% 80%, rgba(32, 208, 205, 0.1) 0%, transparent 50%),
              radial-gradient(circle at 80% 20%, rgba(18, 88, 115, 0.1) 0%, transparent 50%);
  pointer-events: none;
}

.mvv-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.mvv-header {
  text-align: center;
  margin-bottom: 80px;
}

.mvv-header h2 {
  font-size: clamp(32px, 5vw, 48px);
  color: #ffffff;
  margin: 0 0 20px 0;
  font-weight: 800;
  letter-spacing: -1px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.mvv-underline {
  width: 120px;
  height: 4px;
  background: linear-gradient(90deg, #20d0cd, #125873);
  margin: 0 auto;
  border-radius: 2px;
  position: relative;
}

.mvv-underline::after {
  content: '';
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background: #20d0cd;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(32, 208, 205, 0.6);
}

.mvv-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 30px;
  margin-top: 20px;
}

.mvv-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 50px 30px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  backdrop-filter: blur(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.mvv-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(32, 208, 205, 0.08), rgba(18, 88, 115, 0.08));
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 24px;
}

.mvv-card:hover::before {
  opacity: 1;
}

.mvv-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(32, 208, 205, 0.4);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
}

.mvv-icon {
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}

.icon-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.3s ease;
}

.vision-icon {
  background: linear-gradient(135deg, #20d0cd, #125873);
  box-shadow: 0 0 30px rgba(32, 208, 205, 0.4);
}

.vision-icon::after {
  content: '👁';
  font-size: 32px;
  filter: grayscale(1) brightness(0) invert(1);
}

.mission-icon {
  background: linear-gradient(135deg, #125873, #20d0cd);
  box-shadow: 0 0 30px rgba(18, 88, 115, 0.4);
}

.mission-icon::after {
  content: '🎯';
  font-size: 32px;
  filter: grayscale(1) brightness(0) invert(1);
}

.values-icon {
  background: linear-gradient(135deg, #20d0cd, #125873);
  box-shadow: 0 0 30px rgba(32, 208, 205, 0.4);
}

.values-icon::after {
  content: '💎';
  font-size: 32px;
  filter: grayscale(1) brightness(0) invert(1);
}

.mvv-card:hover .icon-circle {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 0 40px rgba(32, 208, 205, 0.6);
}

.mvv-text {
  position: relative;
  z-index: 1;
}

.mvv-text h3 {
  font-size: 26px;
  color: #ffffff;
  margin: 0 0 20px 0;
  font-weight: 700;
  letter-spacing: -0.5px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.mvv-text p {
  color: #e2e8f0;
  font-size: 17px;
  line-height: 1.8;
  margin: 0;
  font-weight: 400;
  text-align: center;
}

.mvv-text p em {
  color: #20d0cd;
  font-weight: 600;
  font-style: normal;
  text-shadow: 0 0 10px rgba(32, 208, 205, 0.3);
}

/* Responsive Design for MVV Section */
@media (max-width: 768px) {
  .mvv-section {
    padding: 80px 0;
  }
  
  .mvv-header {
    margin-bottom: 60px;
  }
  
  .mvv-content {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  
  .mvv-card {
    padding: 40px 25px;
  }
  
  .icon-circle {
    width: 70px;
    height: 70px;
  }
  
  .vision-icon::after,
  .mission-icon::after,
  .values-icon::after {
    font-size: 28px;
  }
  
  .mvv-text h3 {
    font-size: 22px;
    margin-bottom: 15px;
  }
  
  .mvv-text p {
    font-size: 16px;
    line-height: 1.7;
  }
}

/* Secondary button */
.btn-secondary {
  display: inline-block;
  background: #ffffff;
  color: #125873;
  padding: 10px 16px;
  border-radius: 9999px;
  font-weight: 800;
  font-size: 14px;
  border: 1px solid #bcd7e3;
  box-shadow: 0 1px 1px rgba(0,0,0,0.04), 0 2px 8px rgba(0,0,0,0.06);
  text-decoration: none;
  transition: box-shadow .2s ease, filter .2s ease, background-color .2s ease;
}
.btn-secondary:hover { filter: brightness(1.01); box-shadow: 0 2px 12px rgba(0,0,0,0.08); }
.btn-secondary:focus-visible { outline: 2px solid #4c8bf5; outline-offset: 2px; }

/* Footer */
.site-footer { background: #0b1b2b; color: #fff; margin-top: 16px; }
.site-footer a { color: #fff; }
.site-footer .footer-top { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; padding: 16px; }
.site-footer .footer-col h4 { margin: 0 0 8px 0; font-size: 16px; }
.site-footer .footer-col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.site-footer .footer-col a { color: #dbe8ff; }

/* Department page: force full-width content and hide sidebar */
.dept-page .dept-content .dept-layout { grid-template-columns: 1fr !important; }
.dept-page .dept-aside { display: none !important; }

/* Expand doctors grid to use extra width on large screens */
@media (min-width: 1100px){
  .doctor-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1400px){
  .doctor-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

.dept-page .doctor-grid { grid-template-columns: 1fr !important; }

.site-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: #0a1726; border-top: 1px solid rgba(255,255,255,0.1); }
.site-footer .footer-links { display: flex; align-items: center; gap: 8px; }

@media (max-width: 900px){
  .site-footer .footer-top { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .site-footer .footer-top { grid-template-columns: 1fr; }
}

/* Modal (Appointment / Callback) */
.modal { position: fixed; inset: 0; display: none; z-index: 10000; }
/* Use flexbox to center the dialog and add padding so large dialogs still fit */
.modal.open, .modal[aria-hidden="false"] { display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal .backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
/* Constrain dialog height and allow internal scrolling to avoid clipping */
.modal .dialog { position: relative; max-width: 680px; width: min(680px, 100%); max-height: calc(100vh - 48px); margin: 0; background: #fff; border-radius: 10px; overflow: auto; box-shadow: 0 20px 40px rgba(0,0,0,0.25); }
.modal .modal-header { position: sticky; top: 0; background: #fff; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--border); }
.modal .modal-body { padding: 16px; }
.modal .modal-confirm[hidden] { display: none !important; }
.modal [data-close="modal"] { cursor: pointer; }

/* Gastroenterology doctors heading: smaller text and tighter gradient box */
#doctorsHeading.gradient-title.dept-title-lg {
  font-size: clamp(20px, 2.4vw, 26px) !important; /* reduced from 24–34 */
  padding: 6px 10px !important; /* tighter box */
  line-height: 1.1 !important;
  border-radius: 8px; /* slightly tighter corners */
}

/* Doctors page: dual search with icons */
.search-bar.with-icons { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 16px 0; }
.search-bar.with-icons .field { position: relative; display: flex; align-items: center; flex: 1 1 260px; min-width: 220px; }
.search-bar.with-icons .field .icon { position: absolute; left: 10px; color: #6b7280; display: inline-flex; }
.search-bar.with-icons .field input,
.search-bar.with-icons .field select { width: 100%; padding: 10px 12px 10px 36px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: var(--text); height: 40px; }
.search-bar.with-icons .field select { padding-left: 36px; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%); background-position: calc(100% - 18px) 16px, calc(100% - 12px) 16px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.search-bar.with-icons .count { margin-left: auto; font-size: 14px; color: #374151; }
.search-bar.with-icons .btn.small { height: 40px; line-height: 38px; padding: 0 12px; border-radius: 8px; }

@media (max-width: 640px){
  .search-bar.with-icons { gap: 8px; }
  .search-bar.with-icons .count { width: 100%; text-align: right; }
}

/* Health Packages Styling */
* {
  box-sizing: border-box;
}

/* Full Screen Hero Section */
.packages-hero-fullscreen {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  margin-top: -120px; /* Remove gap between menu and image */
  padding-top: 120px; /* Ensure image starts right after header */
  box-sizing: border-box;
}

.packages-hero-fullscreen img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  max-width: 100vw;
  max-height: 100vh;
}

.packages-section {
  padding: 0;
  background: #ffffff;
  min-height: 100vh;
}

/* Hero Section */
.packages-hero {
  background: linear-gradient(135deg, #125873 0%, #20d0cd 50%, #8a9199 100%);
  color: white;
  padding: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  margin-top: -120px; /* Remove gap between menu and image */
  padding-top: 120px; /* Ensure image starts right after header */
}

.packages-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="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  opacity: 0.3;
}

.packages-hero img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 0;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

.hero-title {
  font-size: 48px;
  font-weight: 800;
  margin: 0 0 20px 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.hero-subtitle {
  font-size: 20px;
  margin: 0 0 40px 0;
  opacity: 0.9;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.hero-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-top: 40px;
}

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

.stat-number {
  display: block;
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 8px;
}

.stat-label {
  font-size: 16px;
  opacity: 0.8;
}

/* Packages Container */
.packages-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 20px;
}

/* Featured Package */
.featured-package-section {
  margin-bottom: 80px;
}

.featured-package {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
  border: 1px solid #e5e7eb;
  position: relative;
  overflow: hidden;
}

.featured-package::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #125873, #20d0cd, #8a9199);
}

.featured-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(18, 88, 115, 0.3);
}

.featured-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.featured-info h2 {
  font-size: 32px;
  font-weight: 800;
  color: #1f2937;
  margin: 0 0 16px 0;
}

.featured-desc {
  font-size: 16px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

.featured-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.feature-item {
  font-size: 14px;
  color: #374151;
  font-weight: 500;
}

.featured-pricing {
  background: #f8fafc;
  border-radius: 16px;
  padding: 24px;
  border: 2px solid #e5e7eb;
}

.pricing-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}

.pricing-option {
  background: white;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
}

.pricing-option:hover {
  border-color: #3b82f6;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1);
}

.option-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;
}

.gender-icon {
  font-size: 20px;
}

.gender-text {
  font-weight: 600;
  color: #374151;
}

.price-display {
  text-align: center;
}

.original-price {
  font-size: 14px;
  color: #9ca3af;
  text-decoration: line-through;
  margin-bottom: 4px;
}

.offer-price {
  font-size: 24px;
  font-weight: 800;
  color: #059669;
  margin-bottom: 8px;
}

.savings {
  font-size: 12px;
  color: #dc2626;
  font-weight: 600;
}

.featured-actions {
  text-align: center;
}

.btn-featured {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  border: none;
  padding: 16px 32px;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 16px;
  width: 100%;
}

.btn-featured:hover {
  background: linear-gradient(135deg, #20d0cd, #125873);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(32, 208, 205, 0.3);
}

.btn-details-featured {
  background: transparent;
  color: #125873;
  border: 2px solid #125873;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 16px;
  width: 100%;
}

.btn-details-featured:hover {
  background: #125873;
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(18, 88, 115, 0.3);
}

/* Pricing Comparison Table */
.pricing-comparison-table {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin: 20px 0;
}

.comparison-header {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  font-weight: 700;
}

.comparison-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.3s ease;
}

.comparison-row:hover {
  background-color: #f8fafc;
}

.comparison-row:last-child {
  border-bottom: none;
}

.comparison-cell {
  padding: 16px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 600;
}

.header-cell {
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.gender-cell {
  flex-direction: column;
  gap: 8px;
  background: #f8fafc;
}

.gender-cell.male {
  background: linear-gradient(135deg, #dbeafe, #bfdbfe);
}

.gender-cell.female {
  background: linear-gradient(135deg, #fce7f3, #fbcfe8);
}

.gender-icon {
  font-size: 24px;
}

.gender-text {
  font-size: 12px;
  font-weight: 700;
  color: #374151;
}

.price-cell {
  color: #6b7280;
  text-decoration: line-through;
  font-size: 14px;
}

.offer-cell {
  color: #125873;
  font-size: 16px;
  font-weight: 700;
}

.discount-cell {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
}

.discount-highlight {
  background: linear-gradient(135deg, #fef3c7, #fde68a) !important;
}

.discount-badge {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: white;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

.savings-cell {
  color: #059669;
  font-weight: 700;
  font-size: 14px;
}

.package-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

.btn-hide-details {
  background: #6b7280;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-hide-details:hover {
  background: #4b5563;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
}

.btn-book-package {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-book-package:hover {
  background: linear-gradient(135deg, #20d0cd, #125873);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(32, 208, 205, 0.3);
}

/* Gender Tabs */
.gender-tabs {
  display: flex !important;
  gap: 8px;
  margin: 15px 0 20px 0;
  justify-content: flex-start;
  visibility: visible !important;
  opacity: 1 !important;
}

.gender-tab {
  background: #f3f4f6;
  color: #6b7280;
  border: 2px solid #e5e7eb;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.gender-tab.active {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  border-color: #125873;
}

.gender-tab:hover:not(.active) {
  background: #e5e7eb;
  border-color: #d1d5db;
}

/* Package Summary Cards */
.package-summary-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 20px 0;
}

.summary-card {
  background: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  border: 2px solid transparent;
  transition: all 0.3s ease;
}

.male-card {
  border-color: #3b82f6;
}

.female-card {
  border-color: #ec4899;
}

.summary-card .card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.summary-card .gender-icon {
  font-size: 24px;
}

.summary-card h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
}

.price-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.total-value {
  color: #6b7280;
  text-decoration: line-through;
  font-size: 14px;
}

.offer-price {
  color: #125873;
  font-size: 20px;
  font-weight: 700;
}

.savings {
  color: #059669;
  font-size: 14px;
  font-weight: 600;
}

/* Detailed Comparison Table */
.detailed-comparison-table {
  margin: 30px 0;
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.table-header {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  padding: 15px;
  text-align: center;
}

.table-header h5 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.comparison-table {
  max-height: 400px;
  overflow-y: auto;
  overflow-x: auto;
  width: 100%;
}

.table-row {
  display: grid;
  grid-template-columns: 80px 2.5fr 2.5fr 120px 120px 100px;
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.3s ease;
  min-width: 0;
}

.table-row:hover {
  background-color: #f8fafc;
}

.header-row {
  background: linear-gradient(135deg, #f8fafc, #e2e8f0);
  font-weight: 700;
  color: #374151;
  position: sticky;
  top: 0;
  z-index: 10;
}

.table-cell {
  padding: 6px 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  border-right: 1px solid #e5e7eb;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  min-width: 0;
  line-height: 1.2;
}

.table-cell:last-child {
  border-right: none;
}

.header-row .table-cell {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  padding: 8px 4px;
}

/* Responsive Design for Comparison Table */
@media (max-width: 768px) {
  .gender-tabs {
    flex-direction: column;
    gap: 8px;
  }
  
  .gender-tab {
    width: 100%;
  }
  
  .package-summary-cards {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .detailed-comparison-table {
    margin: 20px 0;
    border-radius: 8px;
  }
  
  .table-row {
    grid-template-columns: 60px 2fr 2fr 100px 100px 80px;
    font-size: 11px;
  }
  
  .table-cell {
    padding: 6px 3px;
    font-size: 10px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 1.2;
  }
  
  .header-row .table-cell {
    font-size: 10px;
  }
  
  .comparison-table {
    max-height: 300px;
  }
}

.contact-options {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.contact-btn {
  background: #f3f4f6;
  color: #374151;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}

.contact-btn:hover {
  background: #e5e7eb;
  transform: translateY(-1px);
}

/* Package Categories */
.package-categories {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.category-section {
  background: #ffffff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
  border: 1px solid #e5e7eb;
}

.category-title {
  font-size: 28px;
  font-weight: 800;
  color: #1f2937;
  margin: 0 0 30px 0;
  text-align: center;
  position: relative;
}

.category-title::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background: linear-gradient(90deg, #125873, #20d0cd);
  border-radius: 2px;
}

.packages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 24px;
}

/* Package Cards */
.package-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.package-card:hover {
  border-color: #20d0cd;
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(32, 208, 205, 0.15);
}

.card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.card-header h4 {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
  flex: 1;
}

.card-badge {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  margin-left: 12px;
}

.card-description {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 20px 0;
}

.card-pricing {
  margin-bottom: 20px;
}

.card-pricing.single {
  text-align: center;
}

.card-pricing.options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.price-option {
  background: #f8fafc;
  border-radius: 8px;
  padding: 12px;
  text-align: center;
  border: 1px solid #e5e7eb;
}

.price-option .gender,
.price-option .option-label {
  font-size: 12px;
  color: #6b7280;
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

.prices {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.prices .original {
  font-size: 12px;
  color: #9ca3af;
  text-decoration: line-through;
}

.prices .offer {
  font-size: 16px;
  font-weight: 700;
  color: #059669;
}

.card-footer {
  text-align: center;
}

.btn-book {
  background: linear-gradient(135deg, #125873, #20d0cd);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
}

.btn-book:hover {
  background: linear-gradient(135deg, #20d0cd, #125873);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(32, 208, 205, 0.3);
}

/* Expandable Content Styles */
.expandable-content {
  display: none;
  margin: 20px 0;
  padding: 20px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
}

.expandable-content.show {
  display: block !important;
}


.package-details-section h5 {
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 12px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.features-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.features-list li {
  padding: 8px 0;
  font-size: 14px;
  color: #374151;
  border-bottom: 1px solid #e5e7eb;
  padding-left: 20px;
  position: relative;
}

.features-list li::before {
  content: '•';
  color: #20d0cd;
  font-weight: bold;
  position: absolute;
  left: 0;
}

.features-list li:last-child {
  border-bottom: none;
}

.consultation-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.consultation-list li {
  padding: 6px 0;
  font-size: 14px;
  color: #6b7280;
  padding-left: 20px;
  position: relative;
}

.consultation-list li::before {
  content: '•';
  color: #125873;
  font-weight: bold;
  position: absolute;
  left: 0;
}

.card-footer {
  display: flex;
  gap: 12px;
  flex-direction: column;
}

.btn-expand {
  background: linear-gradient(135deg, #8a9199, #6b7280);
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
}

.btn-expand:hover {
  background: linear-gradient(135deg, #6b7280, #4b5563);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(107, 114, 128, 0.3);
}

.btn-expand.expanded {
  background: linear-gradient(135deg, #125873, #20d0cd);
}

.btn-expand.expanded:hover {
  background: linear-gradient(135deg, #20d0cd, #125873);
}

/* Package Details Section */
.package-details-section {
  padding: 60px 20px;
  background: #f8fafc;
}

.section-title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: #125873;
  margin-bottom: 50px;
  position: relative;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #125873, #20d0cd);
  border-radius: 2px;
}

.package-detail-box {
  background: white;
  border-radius: 16px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 8px 32px rgba(18, 88, 115, 0.1);
  border: 1px solid #e2e8f0;
  transition: all 0.3s ease;
}

.package-detail-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(18, 88, 115, 0.15);
}

.package-detail-box h4 {
  font-size: 24px;
  font-weight: 700;
  color: #125873;
  margin-bottom: 25px;
  text-align: center;
  padding-bottom: 15px;
  border-bottom: 2px solid #e2e8f0;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin-top: 20px;
}

.detail-category {
  background: #f8fafc;
  border-radius: 12px;
  padding: 20px;
  border-left: 4px solid #20d0cd;
  transition: all 0.3s ease;
}

.detail-category:hover {
  background: #f1f5f9;
  border-left-color: #125873;
}

.detail-category h5 {
  font-size: 18px;
  font-weight: 600;
  color: #125873;
  margin-bottom: 15px;
  text-align: center;
}

.detail-category ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.detail-category li {
  padding: 8px 0;
  font-size: 14px;
  color: #374151;
  border-bottom: 1px solid #e5e7eb;
  padding-left: 20px;
  position: relative;
  transition: all 0.2s ease;
}

.detail-category li:hover {
  color: #125873;
  padding-left: 25px;
}

.detail-category li::before {
  content: '•';
  color: #20d0cd;
  font-weight: bold;
  position: absolute;
  left: 0;
  transition: all 0.2s ease;
}

.detail-category li:hover::before {
  color: #125873;
  transform: scale(1.2);
}

.detail-category li:last-child {
  border-bottom: none;
}

/* Main Title Section */
.main-title-section {
  text-align: center;
  margin-bottom: 50px;
  padding: 40px 20px;
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.main-title {
  font-size: 42px;
  font-weight: 800;
  color: #1f2937;
  margin: 0 0 16px 0;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.main-subtitle {
  font-size: 18px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0;
  max-width: 800px;
  margin: 0 auto;
}

/* Packages Layout */
.packages-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.packages-cards-section {
  background: #fff;
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.package-category {
  margin-bottom: 40px;
}

.category-title {
  font-size: 28px;
  font-weight: 700;
  color: #1f2937;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 3px solid #3b82f6;
  position: relative;
}

.category-title::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #3b82f6, #1d4ed8);
}

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

.packages-grid .card {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  border: 1px solid #e5e7eb;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Featured card with image */
.packages-grid .featured-card {
  padding: 0;
  overflow: hidden;
}

.packages-grid .featured-card .card-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.packages-grid .featured-card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.packages-grid .featured-card:hover .card-image img {
  transform: scale(1.05);
}

.packages-grid .featured-card .card-content {
  padding: 24px;
}

.packages-grid .card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #3b82f6, #1d4ed8);
}

.packages-grid .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
  border-color: #3b82f6;
}

.packages-grid .card h4 {
  font-size: 20px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 12px 0;
  line-height: 1.3;
}

.package-desc {
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
  margin: 0 0 16px 0;
}

/* Enhanced Pricing Section */
.pricing-section {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 12px;
  padding: 16px;
  margin: 16px 0;
  border: 2px solid #e2e8f0;
  position: relative;
}

.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.price-row:last-child {
  margin-bottom: 0;
}

.price-label {
  font-size: 14px;
  color: #64748b;
  font-weight: 500;
}

.total-price {
  font-size: 16px;
  color: #6b7280;
  text-decoration: line-through;
  font-weight: 500;
}

.offer-price {
  font-size: 20px;
  color: #059669;
  font-weight: 700;
}

.discount-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: white;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.package-details {
  margin-bottom: 20px;
  padding: 12px;
  background: #f0f9ff;
  border-radius: 8px;
  border: 1px solid #bae6fd;
}

.package-details .duration {
  font-size: 14px;
  color: #0369a1;
  font-weight: 600;
}

.card-actions {
  display: flex;
  gap: 12px;
  margin-top: auto;
}

.card-actions .btn-primary,
.card-actions .btn-secondary {
  flex: 1;
  text-align: center;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
}

.card-actions .btn-primary {
  background: #3b82f6;
  color: white;
}

.card-actions .btn-primary:hover {
  background: #2563eb;
  transform: translateY(-1px);
}

.card-actions .btn-secondary {
  background: #10b981;
  color: white;
}

.card-actions .btn-secondary:hover {
  background: #059669;
  transform: translateY(-1px);
}

/* Comparison Table Section */
.comparison-table-section {
  background: #fff;
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.table-title {
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 20px 0;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 3px solid #3b82f6;
}

.table-container {
  overflow-x: auto;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  font-size: 14px;
}

.comparison-table thead {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
}

.comparison-table th {
  padding: 16px 12px;
  text-align: center;
  font-weight: 600;
  border: 1px solid #1e40af;
}

.comparison-table td {
  padding: 12px;
  text-align: center;
  border: 1px solid #e5e7eb;
  vertical-align: middle;
}

.comparison-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.comparison-table tbody tr:hover {
  background: #e0f2fe;
  transform: scale(1.01);
  transition: all 0.2s ease;
}

.comparison-table .yes {
  color: #059669;
  font-weight: 700;
  font-size: 16px;
}

.comparison-table .no {
  color: #dc2626;
  font-weight: 700;
  font-size: 16px;
}

.comparison-table td.highlighted {
  background-color: #dbeafe !important;
  border: 2px solid #3b82f6 !important;
  font-weight: 600;
}

/* Pricing Summary */
.pricing-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}

.pricing-card {
  background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
  border-radius: 15px;
  padding: 20px;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
}

.pricing-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.pricing-card h4 {
  margin: 0 0 15px 0;
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  text-align: center;
}

.male-pricing {
  border-color: #3b82f6;
}

.female-pricing {
  border-color: #ec4899;
}

.price-breakdown {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.price-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}

.price-item:last-child {
  border-bottom: none;
}

.price-item .label {
  font-weight: 600;
  color: #6b7280;
  font-size: 14px;
}

.price-item .value {
  font-weight: 700;
  font-size: 16px;
  color: #1f2937;
}

.price-item .value.offer {
  color: #059669;
  font-size: 18px;
}

.price-item .value.save {
  color: #dc2626;
  font-size: 16px;
}

/* Gender Tabs */
.gender-tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
  gap: 10px;
}

.gender-tab {
  padding: 12px 24px;
  border: 2px solid #e5e7eb;
  background: #ffffff;
  color: #6b7280;
  border-radius: 25px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
}

.gender-tab.active {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  border-color: #3b82f6;
}

.gender-tab:hover {
  border-color: #3b82f6;
  color: #3b82f6;
}

.gender-tab.active:hover {
  color: white;
}

/* Gender Pricing Styles */
.gender-pricing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 15px;
}

.gender-option {
  background: #f8fafc;
  padding: 15px;
  border-radius: 12px;
  border: 2px solid #e5e7eb;
}

.gender-label {
  font-weight: 600;
  color: #374151;
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
}

/* Package Options Styles */
.package-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 15px;
}

.option-card {
  background: #f8fafc;
  padding: 15px;
  border-radius: 12px;
  border: 2px solid #e5e7eb;
  text-align: center;
}

.option-card h5 {
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}

.option-card .price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}

.option-card .price-label {
  font-size: 12px;
  color: #6b7280;
}

.option-card .total-price {
  font-size: 14px;
  color: #6b7280;
  text-decoration: line-through;
}

.option-card .offer-price {
  font-size: 16px;
  color: #059669;
  font-weight: 700;
}

.option-card .discount-badge {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: white;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-top: 8px;
}

/* Booking Button Styles */
.btn-booking {
  background: linear-gradient(135deg, #10b981, #059669);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  margin-right: 10px;
  font-size: 14px;
}

.btn-booking:hover {
  background: linear-gradient(135deg, #059669, #047857);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

/* Modal Styles */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
}

.modal-content {
  background-color: #ffffff;
  margin: 2% auto;
  padding: 0;
  border-radius: 20px;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: modalSlideIn 0.3s ease-out;
}

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

.modal-header {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  padding: 20px 30px;
  border-radius: 20px 20px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
}

.close {
  color: white;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s ease;
}

.close:hover {
  color: #fbbf24;
}

.modal-body {
  padding: 30px;
}

/* Booking Form Styles */
.booking-form {
  display: grid;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-weight: 600;
  color: #374151;
  margin-bottom: 8px;
  font-size: 14px;
}

.form-group input,
.form-group select,
.form-group textarea {
  padding: 12px 16px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  transition: border-color 0.3s ease;
  background: #ffffff;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.form-group input[readonly] {
  background-color: #f9fafb;
  color: #6b7280;
}

.checkbox-group {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
}

.checkbox-group input[type="checkbox"] {
  margin-top: 2px;
  width: auto;
}

.checkbox-group label {
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.4;
}

.form-actions {
  display: flex;
  gap: 15px;
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

.btn-cancel {
  background: #6b7280;
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-cancel:hover {
  background: #4b5563;
}

.btn-submit {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-submit:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e40af);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

/* Package Details Responsive */
@media (max-width: 768px) {
  .package-details-section {
    padding: 40px 15px;
  }
  
  .section-title {
    font-size: 28px;
    margin-bottom: 30px;
  }
  
  .package-detail-box {
    padding: 20px;
    margin-bottom: 20px;
  }
  
  .package-detail-box h4 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  
  .detail-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .detail-category {
    padding: 15px;
  }
  
  .detail-category h5 {
    font-size: 16px;
    margin-bottom: 12px;
  }
  
  .detail-category li {
    font-size: 13px;
    padding: 6px 0;
  }
}

@media (max-width: 480px) {
  .package-details-section {
    padding: 30px 10px;
  }
  
  .section-title {
    font-size: 24px;
  }
  
  .package-detail-box {
    padding: 15px;
  }
  
  .package-detail-box h4 {
    font-size: 18px;
  }
  
  .detail-category {
    padding: 12px;
  }
  
  .detail-category h5 {
    font-size: 15px;
  }
  
  .detail-category li {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .packages-hero-fullscreen {
    height: 70vh; /* Slightly smaller on mobile for better UX */
    margin-top: -100px; /* Remove gap on mobile */
    padding-top: 100px;
  }
  
  .packages-section {
    padding: 0;
  }
  
  .packages-hero {
    padding: 60px 20px;
  }
  
  .hero-title {
    font-size: 32px;
  }
  
  .hero-subtitle {
    font-size: 16px;
  }
  
  .hero-stats {
    flex-direction: column;
    gap: 20px;
  }
  
  .packages-container {
    padding: 40px 20px;
  }
  
  .featured-package {
    padding: 24px;
  }
  
  .featured-content {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .featured-info h2 {
    font-size: 24px;
  }
  
  .featured-features {
    grid-template-columns: 1fr;
  }
  
  .pricing-options {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .category-section {
    padding: 24px;
  }
  
  .category-title {
    font-size: 24px;
  }
  
  .packages-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .package-card {
    padding: 20px;
  }
  
  .card-pricing.options {
    grid-template-columns: 1fr;
  }
  
  .expandable-content {
    padding: 16px;
    margin: 16px 0;
  }
  
  .package-details-section h5 {
    font-size: 14px;
  }
  
  .features-list li {
    font-size: 13px;
    padding: 6px 0;
  }
  
  .consultation-list li {
    font-size: 13px;
    padding: 4px 0;
  }
  
  .card-footer {
    gap: 8px;
  }
  
  .btn-expand {
    padding: 8px 16px;
    font-size: 13px;
  }
  
  .main-title {
    font-size: 28px;
  }
  
  .main-subtitle {
    font-size: 16px;
  }
  
  .packages-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .packages-cards-section,
  .comparison-table-section {
    padding: 20px;
  }
  
  .gender-pricing {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .package-options {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .option-card {
    padding: 12px;
  }
  
  .option-card h5 {
    font-size: 13px;
  }
  
  .option-card .price-label {
    font-size: 11px;
  }
  
  .option-card .total-price {
    font-size: 12px;
  }
  
  .option-card .offer-price {
    font-size: 14px;
  }
  
  .pricing-summary {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .pricing-card {
    padding: 15px;
  }
  
  .pricing-card h4 {
    font-size: 16px;
  }
  
  .price-item .value {
    font-size: 14px;
  }
  
  .price-item .value.offer {
    font-size: 16px;
  }
  
  .modal-content {
    width: 95%;
    margin: 5% auto;
  }
  
  .modal-body {
    padding: 20px;
  }
  
  .form-actions {
    flex-direction: column;
    gap: 10px;
  }
  
  .btn-cancel,
  .btn-submit {
    width: 100%;
  }
  
  .packages-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .package-details {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  
  .card-actions {
    flex-direction: column;
  }
  
  .table-container {
    font-size: 12px;
  }
  
  .comparison-table th,
  .comparison-table td {
    padding: 8px 6px;
  }
}

/* Homepage Images Section Styles */
.homepage-images-section {
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
  overflow: hidden;
  width: 100%;
  display: block;
  border: none;
  outline: none;
  box-sizing: border-box;
}

.homepage-image-container {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Let JavaScript handle height dynamically */
  height: auto;
}

.homepage-image {
  width: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  display: block;
  /* Let JavaScript handle height dynamically */
  height: auto;
}

/* Force remove any default section spacing */
section.why-choose-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* Responsive Design for Homepage Images Section */
/* JavaScript will handle the height adjustment automatically */

/* Mobile-specific improvements */
@media (max-width: 768px) {
  /* Make top navigation (Academics, Research, etc.) tiny */
  .top-nav {
    padding: 4px 8px !important;
    font-size: 10px !important;
  }
  
  .top-nav ul {
    gap: 8px !important;
  }
  
  .top-nav a {
    padding: 2px 4px !important;
    font-size: 10px !important;
  }
  
  /* Make contact bar smaller */
  .contact-bar {
    padding: 4px 8px !important;
    font-size: 10px !important;
  }
  
  .contact-bar .phone {
    font-size: 10px !important;
  }
  
  .contact-bar .social-icons {
    gap: 4px !important;
  }
  
  .contact-bar .social-icons a {
    width: 16px !important;
    height: 16px !important;
  }
  
  .contact-bar .search-bar {
    height: 24px !important;
    font-size: 10px !important;
  }
  
  .contact-bar .language-selector {
    height: 24px !important;
    font-size: 10px !important;
  }
  
  /* Fix navigation display on mobile - make everything much smaller */
  .brand-bar {
    flex-wrap: wrap;
    gap: 4px;
    padding: 8px 4px;
  }
  
  .logo-main {
    height: 30px !important;
  }
  
  .btn-img {
    max-width: 60px !important;
    height: 30px !important;
  }
  
  .btn-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  
  /* Make header much more compact */
  .header {
    padding: 4px 0;
  }
  
  .brand-bar .btn-img {
    margin: 2px;
  }
  
  /* Make main navigation visible and compact */
  .main-nav {
    padding: 2px 4px !important;
    font-size: 9px !important;
  }
  
  .main-nav ul {
    gap: 4px !important;
  }
  
  .main-nav a {
    padding: 2px 4px !important;
    font-size: 9px !important;
  }
  
  /* Make Nav3 (action bar) SUPER TINY */
  .action-bar {
    padding: 0 !important;
    font-size: 4px !important;
    min-height: 20px !important;
    max-height: 20px !important;
  }
  
  .action-bar ul {
    padding: 0 2px !important;
    gap: 2px !important;
    margin: 0 !important;
  }
  
  .action-bar ul > li {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  
  .action-bar ul > li > a {
    padding: 2px 1px !important;
    font-size: 4px !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  
  .action-bar .btn-img {
    max-width: 20px !important;
    height: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .action-bar .btn-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  
  /* Make action bar text even smaller */
  .action-bar .btn-img span {
    font-size: 4px !important;
    line-height: 1 !important;
    display: none !important; /* Hide text completely */
  }
  
  /* Hide action bar text completely */
  .action-bar a {
    font-size: 4px !important;
    line-height: 1 !important;
  }
  
  .action-bar a span {
    display: none !important;
  }
  
  /* Hide search box completely on mobile */
  .contact-bar .search-bar {
    display: none !important;
  }
  
  .contact-bar form {
    display: none !important;
  }
  
  .contact-bar .search-bar::placeholder {
    display: none !important;
    color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  .contact-bar .search-bar::-webkit-input-placeholder {
    display: none !important;
    color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  .contact-bar .search-bar::-moz-placeholder {
    display: none !important;
    color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  .contact-bar .search-bar:-ms-input-placeholder {
    display: none !important;
    color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  .contact-bar .search-bar:-moz-placeholder {
    display: none !important;
    color: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  
  /* Fix homepage images - make them fit screen properly */
  .homepage-images-section {
    padding: 0 !important;
    margin: 0 !important;
  }
  
  .homepage-image-container {
    margin: 0 !important;
    padding: 0 !important;
    /* Let JavaScript handle height dynamically */
  }
  
  .homepage-image {
    background-size: cover !important;
    background-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Let JavaScript handle height dynamically */
  }
}

@media (max-width: 480px) {
  /* Even more compact for small phones */
  /* Make top navigation even tinier */
  .top-nav {
    padding: 2px 4px !important;
    font-size: 8px !important;
  }
  
  .top-nav a {
    padding: 1px 2px !important;
    font-size: 8px !important;
  }
  
  /* Make contact bar even smaller */
  .contact-bar {
    padding: 2px 4px !important;
    font-size: 8px !important;
  }
  
  .contact-bar .phone {
    font-size: 8px !important;
  }
  
  .contact-bar .social-icons a {
    width: 12px !important;
    height: 12px !important;
  }
  
  .contact-bar .search-bar {
    height: 20px !important;
    font-size: 8px !important;
  }
  
  .contact-bar .language-selector {
    height: 20px !important;
    font-size: 8px !important;
  }
  
  /* Make main navigation even more compact */
  .main-nav {
    padding: 1px 2px !important;
    font-size: 7px !important;
  }
  
  .main-nav a {
    padding: 1px 2px !important;
    font-size: 7px !important;
  }
  
  /* Make Nav3 ULTRA TINY on small phones */
  .action-bar {
    padding: 0 !important;
    font-size: 3px !important;
    min-height: 16px !important;
    max-height: 16px !important;
  }
  
  .action-bar ul {
    padding: 0 1px !important;
    gap: 1px !important;
    margin: 0 !important;
  }
  
  .action-bar ul > li {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  
  .action-bar ul > li > a {
    padding: 1px 0.5px !important;
    font-size: 3px !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  
  .action-bar .btn-img {
    max-width: 16px !important;
    height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .action-bar .btn-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  
  .action-bar .btn-img span {
    font-size: 3px !important;
    line-height: 1 !important;
    display: none !important; /* Hide text completely */
  }
  
  .action-bar a {
    font-size: 3px !important;
    line-height: 1 !important;
  }
  
  .action-bar a span {
    display: none !important;
  }
  
  /* Hide search box completely on small phones */
  .contact-bar .search-bar {
    display: none !important;
  }
  
  .contact-bar form {
    display: none !important;
  }
  
  .brand-bar {
    gap: 2px;
    padding: 4px 2px;
  }
  
  .logo-main {
    height: 25px !important;
  }
  
  .btn-img {
    max-width: 50px !important;
    height: 25px !important;
  }
  
  .header {
    padding: 2px 0;
  }
  
  .homepage-image-container {
    margin: 0 !important;
    padding: 0 !important;
    /* Let JavaScript handle height dynamically */
  }
  
  .homepage-image {
    background-size: cover !important;
    background-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Let JavaScript handle height dynamically */
  }
/* Health Packages Styles - Cleaned */
/* Normal Package Card Layout */
.package-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
}

.package-content {
  padding: 1rem;
  max-width: 100%;
  overflow: hidden;
}

.package-content h3 {
  text-align: center;
  margin: 0 0 1.5rem 0;
  font-size: 1.8rem;
  color: #125873;
  font-weight: 700;
  line-height: 1.3;
}

/* Fullscreen Layout Styles */
.package-card.fullscreen-layout {
  width: 100vw;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  background: white;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 1000;
}

.fullscreen-content {
  padding: 0.8rem;
  max-width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
}

.fullscreen-content h3 {
  text-align: center;
  margin: 0 0 0.8rem 0;
  font-size: 1.4rem;
  color: #125873;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1.2;
}

.three-column-layout {
  display: grid !important;
  grid-template-columns: 180px 1fr 180px !important;
  gap: 0.8rem;
  align-items: stretch;
  min-height: 500px;
  max-width: 100%;
  overflow: hidden;
}

.package-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0.6rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: white;
  height: fit-content;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.package-side.male-side {
  border: 2px solid #3b82f6;
}

.package-side.female-side {
  border: 2px solid #ec4899;
}

.package-side .package-image {
  width: 100% !important;
  max-width: 16px !important;
  height: 16px !important;
  margin-bottom: 0.5rem;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.package-side .package-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  max-width: 16px !important;
  max-height: 16px !important;
}

.package-side .package-info h4 {
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.4rem;
  flex-shrink: 0;
}

.package-side.male-side .package-info h4 {
  color: #1d4ed8;
}

.package-side.female-side .package-info h4 {
  color: #be185d;
}

.package-side .package-info .summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.2rem 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 0.1rem;
  flex-shrink: 0;
  font-size: 0.7rem;
}

.package-side .package-info .summary-item:last-child {
  border-bottom: none;
  margin-bottom: 0.6rem;
}

.package-side .package-info .summary-item .label {
  color: #666;
  font-weight: 500;
  font-size: 0.75rem;
}

.package-side .package-info .summary-item .value {
  color: #125873;
  font-weight: 600;
  font-size: 0.75rem;
}

.package-side.male-side .package-info .summary-item .value {
  color: #1d4ed8;
}

.package-side.female-side .package-info .summary-item .value {
  color: #be185d;
}

.package-side .package-info .btn {
  width: 100%;
  padding: 1px 2px;
  border-radius: 2px;
  font-size: 0.5rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.package-side.male-side .package-info .btn {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
}

.package-side.female-side .package-info .btn {
  background: linear-gradient(135deg, #ec4899, #be185d);
  color: white;
}

.package-side .package-info .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.test-center {
  display: flex;
  flex-direction: column;
  height: fit-content;
  width: 100%;
}

.test-table-container {
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
}

.test-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.6rem;
  table-layout: fixed;
}

.test-table th {
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%);
  color: white;
  padding: 0.4rem 0.3rem;
  text-align: left;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 10;
  font-size: 0.65rem;
}

.test-table td {
  padding: 0.3rem 0.2rem;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
  font-size: 0.6rem;
  line-height: 1.1;
}

.test-table tbody tr:hover {
  background: #f8f9fa;
}

.checkmark {
  color: #28a745;
  font-weight: 600;
  font-size: 1.1rem;
}

.crossmark {
  color: #dc3545;
  font-weight: 600;
  font-size: 1.1rem;
}

/* Responsive Design for Fullscreen Layout */
@media (max-width: 1920px) {
  .three-column-layout {
    gap: 1.5rem;
  }
  
  .test-table th,
  .test-table td {
    padding: 0.5rem 0.4rem;
    font-size: 0.7rem;
  }
}

@media (max-width: 1366px) {
  .three-column-layout {
    gap: 1rem;
  }
  
  .package-side {
    padding: 1rem;
  }
  
  .package-side .package-image {
    max-width: 150px;
    height: 150px;
  }
  
  .test-table th,
  .test-table td {
    padding: 0.4rem 0.3rem;
    font-size: 0.65rem;
  }
}

@media (max-width: 1024px) {
  .three-column-layout {
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: auto;
  }
  
  .package-side {
    flex-direction: row;
    text-align: left;
    align-items: center;
    gap: 1rem;
    height: auto;
  }
  
  .package-side .package-image {
    flex: 0 0 16px;
    height: 16px;
    margin-bottom: 0;
  }
  
  .test-center {
    order: -1;
  }
  
  .test-table th,
  .test-table td {
    padding: 0.3rem 0.2rem;
    font-size: 0.6rem;
  }
}

@media (max-width: 768px) {
  .package-content {
    padding: 1rem;
  }
  
  .package-content h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  
  .package-side {
    flex-direction: column;
    text-align: center;
    padding: 0.8rem;
    height: auto;
  }
  
  .package-side .package-image {
    flex: none;
    width: 12px;
    height: 12px;
  }
  
  .test-table th,
  .test-table td {
    padding: 0.2rem 0.1rem;
    font-size: 0.55rem;
  }
}

/* SIMPLE HEALTH PACKAGES LAYOUT - GUARANTEED TO WORK */
.packages-grid {
  padding: 20px;
  max-width: 100%;
  overflow: hidden;
}

.packages-grid .package-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}

.packages-grid .package-content {
  padding: 1rem;
  max-width: 100%;
  overflow: hidden;
}

.packages-grid .package-content h3 {
  text-align: center;
  margin: 0 0 1rem 0;
  font-size: 1.5rem;
  color: #125873;
  font-weight: 700;
  line-height: 1.3;
}

/* SIMPLE THREE COLUMN LAYOUT */
.packages-grid .three-column-layout {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* LEFT COLUMN - MALE PACKAGE */
.packages-grid .package-side.male-side {
  flex: 0 0 180px !important;
  background: #f8f9fa !important;
  border: 2px solid #3b82f6 !important;
  border-radius: 8px !important;
  padding: 10px !important;
  text-align: center !important;
  max-width: 180px !important;
  overflow: hidden !important;
}

/* RIGHT COLUMN - FEMALE PACKAGE */
.packages-grid .package-side.female-side {
  flex: 0 0 180px !important;
  background: #f8f9fa !important;
  border: 2px solid #ec4899 !important;
  border-radius: 8px !important;
  padding: 10px !important;
  text-align: center !important;
  max-width: 180px !important;
  overflow: hidden !important;
}

/* CENTER COLUMN - TEST TABLE */
.packages-grid .test-center {
  flex: 1 !important;
  background: white !important;
  border-radius: 8px !important;
  padding: 10px !important;
  overflow: hidden !important;
  max-width: calc(100% - 380px) !important;
}

/* SMALL IMAGES */
.packages-grid .package-image {
  width: 16px !important;
  height: 16px !important;
  margin: 0 auto 5px auto !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

.packages-grid .package-image img {
  width: 16px !important;
  height: 16px !important;
  object-fit: cover !important;
  display: block !important;
}

/* PACKAGE INFO */
.packages-grid .package-info h4 {
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 0.3rem;
  color: #333;
}

.packages-grid .package-info .summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.1rem 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 0.1rem;
  font-size: 0.6rem;
}

.packages-grid .package-info .btn {
  width: 100%;
  padding: 2px 4px;
  border-radius: 3px;
  font-size: 0.5rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  margin-top: 5px;
}

.packages-grid .male-side .btn {
  background: #3b82f6;
  color: white;
}

.packages-grid .female-side .btn {
  background: #ec4899;
  color: white;
}

/* TEST TABLE */
.packages-grid .test-table-container {
  background: white;
  border-radius: 8px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
}

.packages-grid .test-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.5rem;
  table-layout: fixed;
}

.packages-grid .test-table th {
  background: linear-gradient(135deg, #125873 0%, #20d0cd 100%);
  color: white;
  padding: 0.2rem 0.1rem;
  text-align: left;
  font-weight: 600;
  font-size: 0.5rem;
}

.packages-grid .test-table td {
  padding: 0.1rem 0.05rem;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
  font-size: 0.45rem;
  line-height: 1.1;
}

/* HIDE ANY LARGE IMAGES */
.packages-grid img:not(.package-image img) {
  display: none !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .packages-grid .three-column-layout {
    flex-direction: column !important;
  }
  
  .packages-grid .package-side {
    flex: none !important;
    max-width: 100% !important;
  }
  
  .packages-grid .test-center {
    max-width: 100% !important;
  }
}

/* Academics dropdown - compact styling for all screen sizes */
.dropdown[aria-label="Academics submenu"] {
  max-height: 350px !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  width: 340px !important;
  position: relative !important;
  z-index: 1000 !important;
  direction: rtl !important; /* This moves scrollbar to left */
  border: 1px solid #ddd !important;
  background: white !important;
}

/* Reset direction for content inside */
.dropdown[aria-label="Academics submenu"] li {
  direction: ltr !important; /* Reset text direction for content */
  padding: 3px 6px !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* Force scrollbar to always be visible */
.dropdown[aria-label="Academics submenu"]::-webkit-scrollbar {
  width: 16px !important;
  background-color: #e0e0e0 !important;
  border-radius: 8px !important;
}

.dropdown[aria-label="Academics submenu"]::-webkit-scrollbar-thumb {
  background-color: #125873 !important;
  border-radius: 8px !important;
  border: 2px solid #e0e0e0 !important;
  min-height: 20px !important;
}

.dropdown[aria-label="Academics submenu"]::-webkit-scrollbar-thumb:hover {
  background-color: #0d4a5c !important;
  border: 2px solid #d0d0d0 !important;
}

.dropdown[aria-label="Academics submenu"]::-webkit-scrollbar-thumb:active {
  background-color: #0a3d4a !important;
}

.dropdown[aria-label="Academics submenu"]::-webkit-scrollbar-track {
  background-color: #e0e0e0 !important;
  border-radius: 8px !important;
  border: 1px solid #ccc !important;
}

/* Firefox scrollbar styling */
.dropdown[aria-label="Academics submenu"] {
  scrollbar-width: thick !important;
  scrollbar-color: #125873 #e0e0e0 !important;
}


.dropdown[aria-label="Academics submenu"] li a {
  padding: 6px 8px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
  .dropdown[aria-label="Academics submenu"] {
    width: 300px !important;
    max-height: 300px !important;
  }
  
  .dropdown[aria-label="Academics submenu"] li a {
    font-size: 12px !important;
    padding: 4px 6px !important;
  }
  
  .dropdown[aria-label="Academics submenu"]::-webkit-scrollbar {
    width: 14px !important;
  }
}

@media (max-width: 480px) {
  .dropdown[aria-label="Academics submenu"] {
    width: 280px !important;
    max-height: 250px !important;
  }
  
  .dropdown[aria-label="Academics submenu"] li a {
    font-size: 11px !important;
    padding: 3px 5px !important;
  }
  
  .dropdown[aria-label="Academics submenu"]::-webkit-scrollbar {
    width: 12px !important;
  }
}

/* Hero Video + Slider Layout */
.hero-video-container {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  height: 70vh !important;
  min-height: 500px !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hero-video-section {
  width: 30% !important;
  height: 100% !important;
  position: relative !important;
  background: #000 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.hero-slider-section {
  width: 70% !important;
  height: 100% !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

.video-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.video-wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  object-fit: cover !important;
  z-index: 1 !important;
}

/* Override existing hero-slider styles for the new layout */
.hero-video-container .hero-slider {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

.hero-video-container .hero-slider .slides {
  width: 100% !important;
  height: 100% !important;
}

.hero-video-container .hero-slider .slide {
  width: 100% !important;
  height: 100% !important;
}

.hero-video-container .hero-slider .slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Force the layout to work - override any existing styles */
.hero-video-container {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  height: 70vh !important;
  min-height: 500px !important;
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.hero-video-section {
  width: 30% !important;
  height: 100% !important;
  position: relative !important;
  background: #000 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.hero-slider-section {
  width: 70% !important;
  height: 100% !important;
  position: relative !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

/* Override any existing hero-slider styles that might interfere */
.hero-video-container .hero-slider {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  display: block !important;
}

.hero-video-container .hero-slider .slides {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  display: block !important;
}

.hero-video-container .hero-slider .slide {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  display: none !important;
}

.hero-video-container .hero-slider .slide.active {
  display: block !important;
}

.hero-video-container .hero-slider .slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Ensure the video iframe takes full space */
.hero-video-section .video-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.hero-video-section .video-wrapper iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  object-fit: cover !important;
  z-index: 1 !important;
}

/* Debug styles to see the layout */
.hero-video-container {
  border: 2px solid red !important;
}

.hero-video-section {
  border: 2px solid blue !important;
  background: #000 !important;
}

.hero-slider-section {
  border: 2px solid green !important;
}

/* Responsive adjustments for hero video layout */
@media (max-width: 1024px) {
  .hero-video-container {
    height: 60vh;
    min-height: 400px;
  }
  
  .hero-video-section {
    width: 35%;
  }
  
  .hero-slider-section {
    width: 65%;
  }
}

@media (max-width: 768px) {
  .hero-video-container {
    flex-direction: column;
    height: auto;
    min-height: 400px;
  }
  
  .hero-video-section {
    width: 100%;
    height: 200px;
  }
  
  .hero-slider-section {
    width: 100%;
    height: 300px;
  }
}

@media (max-width: 480px) {
  .hero-video-section {
    height: 150px;
  }
  
  .hero-slider-section {
    height: 250px;
  }
}

/* Nav3 Action Bar - Clean and Simple */
.action-bar {
  background: linear-gradient(90deg, #125873 0%, #20d0cd 50%, #8a9199 100%);
  color: #ffffff;
  padding: 12px 0;
  margin: 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: block;
  width: 100%;
}

.action-bar ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  gap: 0;
}

.action-bar li {
  margin: 0;
  padding: 0;
}

.action-bar a {
  display: block;
  color: #ffffff;
  text-decoration: none;
  padding: 8px 16px;
  font-weight: 600;
  font-size: 14px;
  border-radius: 4px;
  margin: 0 2px;
  transition: background-color 0.3s ease;
}

.action-bar a:hover,
.action-bar a:focus {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

/* Responsive */
@media (max-width: 768px) {
  .action-bar ul {
    flex-direction: column;
    gap: 4px;
  }
  
  .action-bar a {
    padding: 6px 12px;
    font-size: 13px;
    margin: 0;
  }
}

@media (max-width: 480px) {
  .action-bar {
    padding: 6px 0;
  }
  
  .action-bar a {
    padding: 4px 8px;
    font-size: 12px;
  }
}

/* ========================================
   MOBILE BOTTOM NAVIGATION & CALL BUTTONS
   Professional Mobile Experience
   ======================================== */

/* Mobile Bottom Navigation - Hidden on desktop */
.mobile-bottom-nav {
  display: none;
}

.call-buttons-mobile {
  display: none;
}

/* ========== HIDE MOBILE ELEMENTS ON DESKTOP ONLY ========== */
/* Hide mobile sidebar on desktop */
@media (min-width: 769px) {
  #mobileSidebar,
  #mobileSidebarOverlay,
  #mobileMenuToggle {
    display: none !important;
  }
}

/* Hide any remaining mobile elements that might show as lines */
.mobile-sidebar-overlay::before,
.mobile-sidebar::before,
.mobile-menu-toggle::before,
.mobile-sidebar-overlay::after,
.mobile-sidebar::after,
.mobile-menu-toggle::after {
  display: none !important;
  content: none !important;
}

/* Simple hide mobile elements on desktop */
@media (min-width: 769px) {
  [class*="mobile-"],
  [id*="mobile"] {
    display: none !important;
  }
}

/* Hide mobile sidebar child elements on desktop only */
@media (min-width: 769px) {
  .mobile-sidebar-overlay,
  .mobile-sidebar,
  .mobile-menu-toggle,
  .mobile-sidebar-content,
  .mobile-menu-list,
  .mobile-quick-response,
  .mobile-quick-buttons,
  .mobile-sidebar-header,
  .mobile-logo,
  .mobile-logo-text,
  .mobile-sidebar-close,
  .mobile-search,
  .mobile-search-input,
  .mobile-search-icon,
  .mobile-dropdown,
  .mobile-submenu,
  .mobile-menu-arrow,
  .mobile-dropdown-toggle {
    display: none !important;
  }
}

@media (max-width: 768px) {
  
  /* ========== SHOW MOBILE SIDEBAR ON MOBILE ========== */
  /* Show mobile sidebar elements on mobile */
  #mobileSidebar,
  #mobileSidebarOverlay,
  #mobileMenuToggle {
    display: block !important;
  }
  
  .mobile-sidebar-overlay {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: rgba(0, 0, 0, 0.5) !important;
    color: auto !important;
    font-size: auto !important;
    line-height: auto !important;
  }
  
  .mobile-sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    left: -100% !important;
    top: 0 !important;
    width: 85% !important;
    max-width: 350px !important;
    height: 100vh !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: #f8f9fa !important;
    color: auto !important;
    font-size: auto !important;
    line-height: auto !important;
  }
  
  .mobile-menu-toggle {
    display: flex !important;
    visibility: visible !important;
    position: fixed !important;
    left: 15px !important;
    top: 15px !important;
    width: 45px !important;
    height: 45px !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: rgba(18, 88, 115, 0.9) !important;
    color: white !important;
    font-size: auto !important;
    line-height: auto !important;
  }
  
  /* Show mobile sidebar content on mobile */
  .mobile-sidebar-content,
  .mobile-menu-list,
  .mobile-quick-response,
  .mobile-quick-buttons,
  .mobile-sidebar-header,
  .mobile-logo,
  .mobile-logo-text,
  .mobile-sidebar-close,
  .mobile-search,
  .mobile-search-input,
  .mobile-search-icon,
  .mobile-dropdown,
  .mobile-submenu,
  .mobile-menu-arrow,
  .mobile-dropdown-toggle {
    display: block !important;
  }
  
  /* ========== MOBILE SIDEBAR MENU (CONTINENTAL HOSPITALS STYLE) ========== */
  .mobile-sidebar-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 9998 !important;
    display: none !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }
  
  .mobile-sidebar-overlay.active {
    display: block !important;
    opacity: 1 !important;
  }
  
  .mobile-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 85% !important;
    max-width: 350px !important;
    height: 100vh !important;
    background: #f8f9fa !important;
    z-index: 9999 !important;
    transition: left 0.3s ease !important;
    overflow-y: auto !important;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1) !important;
  }
  
  .mobile-sidebar.active {
    left: 0 !important;
  }
  
  .mobile-sidebar-header {
    background: linear-gradient(135deg, #125873 0%, #20d0cd 100%) !important;
    padding: clamp(15px, 4vw, 20px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 3px solid #20d0cd !important;
  }
  
  .mobile-logo {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 2vw, 12px) !important;
  }
  
  .mobile-logo-img {
    width: clamp(40px, 10vw, 50px) !important;
    height: clamp(40px, 10vw, 50px) !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }
  
  .mobile-logo-text h3 {
    color: white !important;
    font-size: clamp(14px, 3.5vw, 18px) !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }
  
  .mobile-logo-text p {
    color: rgba(255,255,255,0.9) !important;
    font-size: clamp(10px, 2.5vw, 12px) !important;
    margin: 2px 0 0 0 !important;
    font-style: italic !important;
  }
  
  .mobile-sidebar-close {
    background: none !important;
    border: none !important;
    color: white !important;
    font-size: clamp(24px, 6vw, 28px) !important;
    cursor: pointer !important;
    padding: 5px !important;
    line-height: 1 !important;
  }
  
  .mobile-sidebar-content {
    padding: clamp(15px, 4vw, 20px) !important;
  }
  
  .mobile-search {
    position: relative !important;
    margin-bottom: clamp(15px, 4vw, 20px) !important;
  }
  
  .mobile-search-input {
    width: 100% !important;
    padding: clamp(10px, 2.5vw, 12px) clamp(35px, 8vw, 40px) clamp(10px, 2.5vw, 12px) clamp(12px, 3vw, 15px) !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 25px !important;
    font-size: clamp(12px, 3vw, 14px) !important;
    background: white !important;
    outline: none !important;
    transition: border-color 0.3s ease !important;
  }
  
  .mobile-search-input:focus {
    border-color: #20d0cd !important;
  }
  
  .mobile-search-icon {
    position: absolute !important;
    right: clamp(12px, 3vw, 15px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: clamp(16px, 4vw, 18px) !important;
    color: #666 !important;
  }
  
  .mobile-menu-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 clamp(20px, 5vw, 25px) 0 !important;
  }
  
  .mobile-menu-list li {
    border-bottom: 1px solid #e0e0e0 !important;
  }
  
  .mobile-menu-list li:last-child {
    border-bottom: none !important;
  }
  
  .mobile-menu-list a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: clamp(12px, 3vw, 15px) 0 !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: clamp(14px, 3.5vw, 16px) !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
  }
  
  .mobile-menu-list a:hover {
    color: #20d0cd !important;
  }
  
  .mobile-menu-arrow {
    font-size: clamp(12px, 3vw, 14px) !important;
    color: #666 !important;
    transition: transform 0.3s ease !important;
  }
  
  .mobile-menu-list a:hover .mobile-menu-arrow {
    color: #20d0cd !important;
    transform: rotate(180deg) !important;
  }
  
  /* Dropdown arrow animation for mobile dropdowns */
  .mobile-dropdown-toggle .mobile-menu-arrow {
    transition: transform 0.3s ease, color 0.3s ease !important;
  }
  
  .mobile-dropdown.active .mobile-dropdown-toggle .mobile-menu-arrow {
    transform: rotate(180deg) !important;
    color: #20d0cd !important;
  }
  
  /* Ensure arrow is visible and properly styled */
  .mobile-dropdown-toggle {
    position: relative !important;
  }
  
  .mobile-dropdown-toggle .mobile-menu-arrow {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: clamp(12px, 3vw, 14px) !important;
    color: #666 !important;
    transition: transform 0.3s ease, color 0.3s ease !important;
  }
  
  .mobile-dropdown.active .mobile-dropdown-toggle .mobile-menu-arrow {
    transform: translateY(-50%) rotate(180deg) !important;
    color: #20d0cd !important;
  }
  
  /* ========== MOBILE DROPDOWN MENUS ========== */
  .mobile-dropdown {
    position: relative !important;
  }
  
  .mobile-dropdown-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: clamp(12px, 3vw, 15px) 0 !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: clamp(14px, 3.5vw, 16px) !important;
    font-weight: 500 !important;
    transition: color 0.3s ease !important;
    cursor: pointer !important;
  }
  
  .mobile-dropdown-toggle:hover {
    color: #20d0cd !important;
  }
  
  .mobile-submenu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f8f9fa !important;
    border-left: 3px solid #20d0cd !important;
    display: none !important;
  }
  
  .mobile-dropdown.active .mobile-submenu {
    display: block !important;
    background: #e8f4f8 !important;
    border: 2px solid #20d0cd !important;
    padding: 10px 0 !important;
    margin: 5px 0 !important;
    max-height: 300px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    transition: all 0.3s ease !important;
  }
  
  .mobile-submenu {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease !important;
  }
  
  /* Visual debug indicator */
  .mobile-dropdown.active {
    background: rgba(32, 208, 205, 0.1) !important;
  }
  
  .mobile-submenu li {
    border-bottom: 1px solid #e0e0e0 !important;
  }
  
  .mobile-submenu li:last-child {
    border-bottom: none !important;
  }
  
  .mobile-submenu a {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 2vw, 12px) !important;
    padding: clamp(10px, 2.5vw, 12px) clamp(20px, 5vw, 25px) !important;
    color: #555 !important;
    text-decoration: none !important;
    font-size: clamp(13px, 3vw, 15px) !important;
    font-weight: 400 !important;
    transition: all 0.3s ease !important;
    min-height: 40px !important;
    line-height: 1.4 !important;
  }
  
  .mobile-submenu a:hover {
    color: #20d0cd !important;
    background: rgba(32, 208, 205, 0.1) !important;
    padding-left: clamp(25px, 6vw, 30px) !important;
  }
  
  .mobile-submenu a:before {
    content: '' !important;
    width: 4px !important;
    height: 4px !important;
    background: #20d0cd !important;
    border-radius: 50% !important;
    margin-right: 8px !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }
  
  .mobile-submenu a:hover:before {
    opacity: 1 !important;
  }
  
  .mobile-quick-response {
    background: #f0f8ff !important;
    padding: clamp(15px, 4vw, 20px) !important;
    border-radius: 10px !important;
    border-left: 4px solid #20d0cd !important;
  }
  
  .mobile-quick-response h4 {
    color: #125873 !important;
    font-size: clamp(14px, 3.5vw, 16px) !important;
    font-weight: 600 !important;
    margin: 0 0 clamp(12px, 3vw, 15px) 0 !important;
  }
  
  .mobile-quick-buttons {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 20px !important;
  }
  
  .mobile-quick-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 10px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: transform 0.2s ease !important;
    min-height: 70px !important;
    text-align: center !important;
    overflow: visible !important;
    position: relative !important;
  }
  
  .mobile-quick-btn:active {
    transform: scale(0.98) !important;
  }
  
  .mobile-quick-btn.emergency {
    background: linear-gradient(135deg, #d32f2f 0%, #f44336 100%) !important;
    color: white !important;
  }
  
  .mobile-quick-btn.appointment {
    background: linear-gradient(135deg, #1d7a8c 0%, #20d0cd 100%) !important;
    color: white !important;
  }
  
  .mobile-quick-btn.whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
    color: white !important;
  }
  
  .mobile-quick-btn.opinion {
    background: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%) !important;
    color: white !important;
  }
  
  .mobile-quick-icon {
    font-size: clamp(18px, 4.5vw, 22px) !important;
  }
  
  .mobile-quick-text {
    flex: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .mobile-quick-text strong {
    font-size: 12px !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 3px !important;
    line-height: 1.3 !important;
    color: white !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }
  
  .mobile-quick-text small {
    font-size: 10px !important;
    font-weight: 500 !important;
    opacity: 0.9 !important;
    display: block !important;
    line-height: 1.2 !important;
    color: white !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    hyphens: auto !important;
  }
  
  /* Mobile Menu Toggle Button - 3 Lines Hamburger */
  .mobile-menu-toggle {
    position: fixed !important;
    top: 15px !important;
    left: 15px !important;
    z-index: 10000 !important;
    background: #125873 !important;
    border: 2px solid #20d0cd !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
  }
  
  .mobile-menu-toggle span {
    width: 20px !important;
    height: 3px !important;
    background: white !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    display: block !important;
  }
  
  .mobile-menu-toggle:hover {
    background: #20d0cd !important;
    transform: scale(1.05) !important;
  }
  
  .mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px) !important;
  }
  
  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0 !important;
  }
  
  .mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px) !important;
  }
  
  
  .mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0 !important;
  }
  
  .mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px) !important;
  }
  
  /* Remove old bottom navigation */
  .mobile-bottom-nav {
    display: none !important;
  }
  
  /* Remove body padding for bottom nav */
  body {
    padding-bottom: 0 !important;
  }
  
  /* ========== HIDE ROUND ACTION BUTTONS ON MOBILE ========== */
  .call-buttons-mobile {
    display: none !important;
  }
  
  /* Hide the round action buttons on mobile */
  .action-bar {
    display: none !important;
  }
  
  .quick-actions {
    display: none !important;
  }
  
  /* Hide the Menu text button on mobile (keep hamburger) */
  .menu-toggle {
    display: none !important;
  }
  
  .mobile-menu-toggle {
    display: flex !important;
  }
  
  .call-btn-appointment,
  .call-btn-emergency {
    padding: clamp(10px, 3vw, 14px) clamp(8px, 2vw, 12px) !important;
    text-align: center !important;
    font-weight: 700 !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(3px, 1vw, 6px) !important;
    text-decoration: none !important;
    transition: transform 0.2s ease !important;
    min-height: clamp(55px, 15vw, 70px) !important;
  }
  
  .call-btn-appointment:active,
  .call-btn-emergency:active {
    transform: scale(0.98) !important;
  }
  
  .call-btn-appointment {
    background: linear-gradient(135deg, #1d7a8c 0%, #20d0cd 100%) !important;
    color: white !important;
  }
  
  .call-btn-emergency {
    background: linear-gradient(135deg, #d32f2f 0%, #f44336 100%) !important;
    color: white !important;
  }
  
  .call-btn-label {
    font-size: clamp(10px, 2.5vw, 12px) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
  }
  
  .call-btn-number {
    font-size: clamp(13px, 3.5vw, 16px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
  }
  
  /* ========== ACTION BAR ON MOBILE - FLEXIBLE ========== */
  .action-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: clamp(8px, 2vw, 12px) clamp(5px, 1vw, 10px) !important;
    gap: clamp(4px, 1vw, 8px) !important;
  }
  
  .action-bar a {
    font-size: clamp(11px, 2.8vw, 13px) !important;
    padding: clamp(5px, 1.5vw, 8px) clamp(8px, 2vw, 12px) !important;
    white-space: nowrap !important;
  }
  
  /* ========== HOMEPAGE IMAGES - FLEXIBLE ========== */
  .homepage-images-section {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(12px, 3vw, 18px) !important;
    padding: clamp(12px, 3vw, 18px) !important;
  }
  
  .homepage-image-container {
    width: 100% !important;
  }
  
  .homepage-image {
    height: clamp(180px, 50vw, 250px) !important;
    border-radius: clamp(8px, 2vw, 12px) !important;
    background-size: cover !important;
    background-position: center !important;
  }
  
  /* ========== BETTER TEXT WRAPPING ========== */
  .dept-about,
  .dept-wiki,
  .dept-tips,
  .about-section,
  .leadership-section,
  .mvv-section {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    padding: 20px 15px !important;
  }
  
  .dept-about p,
  .dept-wiki p,
  .dept-tips p,
  .about-section p,
  .leadership-section p,
  .mvv-section p {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  
  /* ========== ABOUT SECTION - MOBILE ========== */
  /* Show all sections on mobile by default */
  #about,
  #leadership,
  #mission-vision-values {
    display: block !important;
  }
  
  .about-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .about-highlights {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .about-cta {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
  
  .about-cta a {
    width: 100% !important;
    text-align: center !important;
    padding: 12px 20px !important;
    font-size: 16px !important;
  }
  
  /* ========== MISSION VISION VALUES - MOBILE ========== */
  .mvv-content {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .mvv-card {
    padding: 20px !important;
  }
  
  /* ========== LEADERSHIP SECTION - MOBILE ========== */
  .leader-profile {
    padding: 15px !important;
  }
  
  .leader-content p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  
  /* ========== PREVENT HORIZONTAL SCROLL ========== */
  body {
    overflow-x: hidden !important;
  }
  
  .container,
  .about-inner,
  .mvv-container,
  main,
  section {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* ========== ALL IMAGES RESPONSIVE ========== */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* ========== HERO SLIDER MOBILE - FLEXIBLE ========== */
  .hero-slider {
    height: clamp(250px, 60vw, 400px) !important;
    position: relative !important;
    overflow: hidden !important;
  }
  
  .hero-slider .slides {
    height: 100% !important;
  }
  
  .hero-slider .slide {
    height: 100% !important;
    position: relative !important;
  }
  
  .hero-slider .slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }
  
  .hero-slider .slide-content {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
    color: white !important;
    z-index: 2 !important;
    padding: clamp(10px, 3vw, 20px) !important;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 10px !important;
    backdrop-filter: blur(5px) !important;
  }
  
  .hero-slider .slide-content h1 {
    font-size: clamp(18px, 5vw, 28px) !important;
    font-weight: 700 !important;
    margin-bottom: clamp(8px, 2vw, 12px) !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5) !important;
  }
  
  .hero-slider .slide-content p {
    font-size: clamp(12px, 3vw, 16px) !important;
    margin-bottom: clamp(10px, 3vw, 15px) !important;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5) !important;
  }
  
  .hero-slider .slide-content .btn {
    padding: clamp(8px, 2vw, 12px) clamp(15px, 4vw, 25px) !important;
    font-size: clamp(12px, 3vw, 14px) !important;
    border-radius: 25px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: transform 0.3s ease !important;
  }
  
  .hero-slider .slide-content .btn:hover {
    transform: scale(1.05) !important;
  }
  
  /* ========== DEPARTMENTS SECTION ========== */
  .diseases-section .ds-inner {
    grid-template-columns: 1fr !important;
    padding: 15px !important;
  }
  
  .diseases-section .ds-left {
    display: none !important;
  }
  
  .diseases-section .ds-right {
    grid-template-columns: 1fr !important;
  }
  
  .diseases-section .ds-card {
    padding: 15px !important;
  }
}


