/* Mobile-first responsive CSS for Diagnostic Lab site */
:root{
  --bg:#ffffff;
  --primary:#0b67a3; /* blue */
  --accent:#2a9d8f; /* green */
  --muted:#6b7280;
  --radius:10px;
  --container:1100px;
  --gap:1rem;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;padding:0;background:var(--bg);color:#0b1b2b;line-height:1.5;font-size:16px;
}
.container{max-width:var(--container);margin:0 auto;padding:1rem;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0}

.brand{font-weight:800;color:var(--primary);text-decoration:none;display:flex;align-items:flex-start;gap:.4rem;font-size:1.15rem}
.logo-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(42,157,143,0.08);flex:0 0 auto;margin-top:6px}
.brand-wrap{display:flex;flex-direction:column;line-height:1}
.brand .brand-text{font-size:1.15rem;font-weight:700;letter-spacing:0.2px}
.brand .brand-text .underline{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
.brand .tagline{font-size:0.72rem;color:var(--muted);margin-top:6px;font-weight:400}

@media (min-width:640px){
  .brand{font-size:1.35rem}
  .logo-dot{width:18px;height:18px;margin-top:6px}
  .brand .brand-text{font-size:1.5rem}
  .brand .tagline{font-size:0.85rem}
}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.5rem}
.main-nav a{color:inherit;text-decoration:none;padding:.3rem .6rem;border-radius:6px}
.main-nav a:focus{outline:3px solid #bfe9ff}

/* Ensure header sits above decorative hero artwork */
.site-header{position:relative;z-index:60;background:transparent}

/* Mobile menu toggle styles */
.menu-toggle{display:none;background:transparent;border:0;font-size:1.6rem;padding:.25rem .5rem;color:var(--primary);cursor:pointer}

/* Mobile navigation: hide by default and expose via .open on small screens */
@media (max-width:639px){
  .main-nav{display:none}
  .menu-toggle{display:inline-flex;align-items:center}
  .site-header{display:flex;align-items:center;justify-content:space-between}
  .main-nav.open{display:block;position:absolute;left:0;right:0;top:100%;background:white;padding:.5rem 1rem;border-bottom:1px solid #eef2f6;box-shadow:0 6px 18px rgba(2,6,23,0.06);z-index:55}
  .main-nav.open ul{display:flex;flex-direction:column;gap:.25rem}
  .main-nav.open a{display:block;padding:.6rem .25rem}
  /* Make header items stack nicely */
  .header-inner{gap:.5rem}
}

/* Hero */
.hero{background:linear-gradient(180deg,#f6fbff 0,#fff 100%);padding:1.25rem 0}
.hero-inner{text-align:center;padding:1.25rem}
.hero h1{font-size:1.6rem;margin:.25rem 0}
.hero .lead{color:var(--muted);margin-bottom:1rem}
.hero-ctas .btn{margin:.25rem}

.btn{display:inline-block;padding:.65rem 1rem;border-radius:8px;text-decoration:none;border:1px solid transparent;font-weight:600}
.btn.primary{background:var(--primary);color:white}
.btn.phone{background:white;color:var(--primary);border-color:var(--primary)}
.btn.whatsapp{background:#25d366;color:white}
.btn.small{padding:.45rem .6rem;font-size:.9rem}

/* Highlights */
.highlist{display:flex;flex-wrap:wrap;gap:1rem;padding:0;margin:1rem 0;list-style:none}
.highlist li{flex:1 1 45%;background:#f7fafc;padding:.8rem;border-radius:8px}
.highlist strong{display:block}

/* Achievements */
.achievements{margin-top:1rem;padding:1rem 0}
.achieve-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:0.75rem;margin-top:.75rem}
.achievements .stat{background:linear-gradient(180deg,#fff 0,#f6fbff 100%);padding:1rem;border-radius:10px;border:1px solid #e6f3fa;text-align:center}
.achievements .stat strong{display:block;font-size:1.6rem;color:var(--primary)}
.achievements .stat span{display:block;color:var(--muted);margin-top:.25rem}

/* Service area */
.service-area{margin-top:1rem;padding:1rem 0}
.service-area .small{font-size:.95rem;color:var(--muted)}

/* About */
.about{margin-top:1.25rem;padding:1rem;background:linear-gradient(180deg,#ffffff,#fbfeff);border-radius:12px}
.about-inner{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
.about-content p{margin:.4rem 0}
.about-image img{width:100%;height:auto;display:block;border-radius:10px}


/* Services grid */
.services-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}
.card{background:#fff;border:1px solid #eef2f6;padding:1rem;border-radius:10px}
.card h3{margin:.25rem 0}
.price{color:var(--primary);font-weight:700}
.package{border-left:4px solid var(--accent)}

/* Booking form */
.form{background:#fff;border:1px solid #eef2f6;padding:1rem;border-radius:10px}
.form-grid{display:grid;grid-template-columns:1fr;gap:.6rem}
label{font-size:.9rem;color:var(--muted)}
input,select{padding:.6rem;border:1px solid #dfe7ee;border-radius:8px}
.form-actions{margin-top:0.5rem}
.form-message{margin-top:.75rem;color:var(--accent);font-weight:600}

/* Why choose us */
.reasons{display:grid;grid-template-columns:1fr;gap:1rem;padding:0;list-style:none}
.reasons li{background:#f8fdfa;padding:.8rem;border-radius:8px}

/* Testimonials */
.testi-wrap{position:relative;height:120px;overflow:hidden}
.testi{display:none;padding:1rem;border-radius:8px;background:#fff;border:1px solid #eef2f6}
.testi cite{display:block;margin-top:.5rem;font-style:normal;color:var(--muted)}
.testi[data-active="true"]{display:block}

/* FAQ */
.accordion details{background:#fff;padding:.75rem;border-radius:8px;margin-bottom:.5rem;border:1px solid #eef2f6}
.accordion summary{cursor:pointer}

/* Contact */
.map iframe{width:100%;height:200px;border:0;border-radius:8px}

/* Footer */
.site-footer{border-top:1px solid #eef2f6;padding:1rem 0;margin-top:1rem;background:#f9fbff}

/* Floating CTA */
.floating-cta{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:999}
.floating-cta .float{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;text-decoration:none;color:white;background:var(--primary);box-shadow:0 6px 18px rgba(2,6,23,0.12)}
.floating-cta .wa{background:#25d366}

/* Responsive breakpoints */
@media (min-width:640px){
  .hero h1{font-size:2rem}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:repeat(2,1fr)}
  .achieve-grid{grid-template-columns:repeat(3,1fr)}
  .about-inner{grid-template-columns:1fr 320px}
}
@media (min-width:1000px){
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .highlist li{flex:1}
}

/* Hero layout and decorative block
   The artwork sits higher than the hero section so it visually begins at the top
   and overlaps the header. The header (.site-header) has a higher z-index so
   its content remains above the image. Responsive rules adjust height/offsets. */
.hero{position:relative;overflow:visible;padding:0 0 0.75rem;min-height:0;margin-top:0.6rem}
.hero-bg{position:absolute;left:0;top:-72px;width:100%;height:220px;z-index:0;pointer-events:none;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;display:block;opacity:0.14;filter:grayscale(6%)}
.hero-inner{position:relative;z-index:2;background:rgba(255,255,255,0.98);border-radius:12px;padding:1rem;margin:0 auto 0;max-width:980px;box-shadow:0 6px 18px rgba(11,27,43,0.06)}

/* Desktop / tablet adjustments */
@media (min-width:640px){
  .hero{margin-top:1.5rem}
  .hero-bg{top:-88px;height:260px}
  .hero-inner{margin-top:48px}
}

@media (min-width:1000px){
  .hero{margin-top:2.5rem}
  .hero-bg{top:-110px;height:340px}
  .hero-inner{margin-top:70px}
}

/* Small screens: smaller offset so the image doesn't crowd content */
@media (max-width:639px){
  .hero-bg{top:-56px;height:140px}
  .hero-inner{margin-top:18px;padding:0.85rem}
}

/* Accessibility focus */
a:focus,input:focus,button:focus{outline:3px solid #bfe9ff;outline-offset:2px}

/* Utility */
.muted{color:var(--muted)}
.grid{display:grid}

/* Departments section styles */
.departments{margin-top:1.25rem;padding:1rem 0}
.dept-grid{grid-template-columns:repeat(1,1fr);gap:1rem}
.dept .dept-media{width:100%;overflow:hidden;border-radius:8px;margin-bottom:.6rem}
.dept .dept-media img{width:100%;height:auto;display:block}
.dept .card-body p.tagline{font-weight:600;color:var(--primary);margin:.25rem 0}
.dept.feature{display:block;margin-top:1rem;padding:1rem}

@media (min-width:640px){
  .dept-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:1000px){
  .dept-grid{grid-template-columns:repeat(3,1fr)}
  .dept.feature{grid-column:1/-1}
}
