
/* ==========================================================
   ElixClinix Homepage Redesign
   ========================================================== */

:root {
  --elix-primary: #198754;
  --elix-primary-dark: #126b42;
  --elix-navy: #173b57;
  --elix-text: #425466;
  --elix-muted: #6b7b88;
  --elix-soft: #f3f8f6;
  --elix-border: #e3ece8;
  --elix-white: #ffffff;
  --elix-shadow: 0 18px 50px rgba(22, 55, 78, .10);
}

body.index-page {
  background: #fff;
  color: var(--elix-text);
  font-family: "Roboto", sans-serif;
}

body.index-page h1,
body.index-page h2,
body.index-page h3,
body.index-page h4 {
  font-family: "Poppins", sans-serif;
}

body.index-page a {
  text-decoration: none !important;
}

.elix-topbar {
  background: var(--elix-navy);
  color: #fff;
  font-size: 13px;
  padding: 8px 0;
}
.elix-topbar a { color: #fff; opacity: .95; }

.elix-header .branding {
  min-height: 78px;
  background: #fff;
}
.elix-brand img { width: 170px; max-width: 100%; height: auto; display: block; }
.elix-header-cta {
  display: inline-flex;
  align-items: center;
  background: var(--elix-primary);
  color: #fff !important;
  padding: 11px 19px;
  border-radius: 8px;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(25,135,84,.18);
}
.elix-header-cta:hover { background: var(--elix-primary-dark); color: #fff !important; }

.elix-header .navmenu>ul>li { padding: 15px 10px; }
.elix-header .navmenu a { font-weight: 600; color: var(--elix-navy); }
.elix-header .navmenu a:hover,
.elix-header .navmenu .active { color: var(--elix-primary) !important; }

.elix-hero {
  min-height: 650px;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 70px 0;
  background: #edf7f3;
}
.elix-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.elix-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(246,252,249,.98) 0%, rgba(246,252,249,.93) 42%, rgba(246,252,249,.58) 70%, rgba(246,252,249,.25) 100%);
}
.elix-hero h1 {
  color: var(--elix-navy);
  font-size: clamp(2.2rem, 4.2vw, 4.2rem);
  line-height: 1.12;
  font-weight: 800;
  max-width: 760px;
  margin: 10px 0 20px;
}
.elix-eyebrow, .section-kicker {
  color: var(--elix-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
}
.elix-hero-copy {
  color: #435568;
  font-size: 19px;
  line-height: 1.75;
  max-width: 700px;
  margin-bottom: 24px;
}
.elix-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: 28px;
}
.elix-hero-points span {
  font-size: 14px;
  font-weight: 600;
  color: #365062;
}
.elix-hero-points i { color: var(--elix-primary); margin-right: 5px; }
.elix-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.elix-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 8px;
  font-weight: 700;
  transition: .25s ease;
  border: 1px solid transparent;
}
.elix-btn-primary { background: var(--elix-primary); color: #fff !important; box-shadow: 0 10px 24px rgba(25,135,84,.18); }
.elix-btn-primary:hover { background: var(--elix-primary-dark); transform: translateY(-1px); color: #fff !important; }
.elix-btn-outline { border-color: var(--elix-primary); color: var(--elix-primary) !important; background: #fff; }
.elix-btn-outline:hover { background: var(--elix-primary); color: #fff !important; }
.elix-btn-white { background: #fff; color: var(--elix-primary) !important; }
.elix-btn-ghost-white { border-color: rgba(255,255,255,.75); color: #fff !important; background: transparent; }
.elix-btn-whatsapp { background: #25D366; color: #fff !important; }
.elix-hero-contact { display:flex; flex-wrap:wrap; gap:22px; margin-top: 22px; }
.elix-hero-contact a { color: #365062; font-weight: 600; }
.elix-hero-contact i { color: var(--elix-primary); margin-right: 6px; }

.elix-booking-card {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(22,55,78,.08);
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 24px 70px rgba(22,55,78,.18);
  max-width: 480px;
  margin-left: auto;
}
.booking-step-label { color: var(--elix-primary); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }
.booking-heading h2 { margin: 5px 0 6px; font-size: 25px; color: var(--elix-navy); }
.booking-heading p { font-size: 14px; margin-bottom: 20px; color: var(--elix-muted); }
.booking-step { display:none; }
.booking-step.active { display:block; }
.booking-step label:not(.booking-options label):not(.booking-radio-row label):not(.booking-consent) {
  display:block; font-size:13px; font-weight:700; color:var(--elix-navy); margin:12px 0 7px;
}
.booking-step .form-control {
  min-height: 46px;
  border: 1px solid #d8e4df;
  border-radius: 8px;
  font-size: 14px;
}
.booking-step .form-control:focus { border-color: var(--elix-primary); box-shadow: 0 0 0 3px rgba(25,135,84,.10); }
.booking-next, .booking-submit {
  border:0; background:var(--elix-primary); color:#fff; border-radius:8px; padding:11px 17px; font-weight:700; width:100%; margin-top:16px;
}
.booking-next:hover, .booking-submit:hover { background:var(--elix-primary-dark); }
.booking-actions { display:flex; gap:10px; margin-top:15px; }
.booking-actions .booking-next, .booking-actions .booking-submit { margin-top:0; flex:1; }
.booking-back { background:#edf3f1; color:#385366; border:0; border-radius:8px; padding:10px 15px; font-weight:700; }
.booking-options { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.booking-options label, .booking-radio-row label {
  cursor:pointer; font-size:13px; font-weight:600; color:#385366;
}
.booking-options label span {
  display:block; padding:11px 10px; border:1px solid #dce8e3; border-radius:8px; background:#fff;
}
.booking-options input { position:absolute; opacity:0; pointer-events:none; }
.booking-options input:checked + span { border-color:var(--elix-primary); background:#eef8f3; color:var(--elix-primary-dark); }
.booking-radio-row { display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:8px; }
.booking-radio-row label { display:flex; align-items:center; gap:6px; }
.booking-note { font-size:12px; color:var(--elix-muted); margin:10px 0 0; }
.booking-error { color:#b42318; font-size:12px; min-height:18px; margin-top:6px; }
.booking-error a { color:#b42318; font-weight:700; text-decoration:underline !important; }
.booking-consent { display:flex; align-items:flex-start; gap:8px; font-size:12px; color:#526674; margin-top:16px; }
.booking-consent input { margin-top:3px; }
.recaptcha-wrap { margin-top:14px; overflow:auto; }
.booking-progress { display:flex; justify-content:center; gap:5px; margin-top:18px; }
.progress-dot { width:7px; height:7px; border-radius:50%; background:#d8e5df; }
.progress-dot.active { background:var(--elix-primary); }

.elix-quick-services { padding:70px 0 45px; background:#fff; }
.section-title-center { text-align:center; max-width:800px; margin:0 auto 42px; }
.section-title-center h2 { color:var(--elix-navy); font-size:clamp(1.9rem,3vw,2.7rem); font-weight:750; margin:8px 0 12px; }
.section-title-center p { color:var(--elix-muted); line-height:1.75; margin:0; }
.elix-feature-card {
  display:block; height:100%; background:#fff; border:1px solid var(--elix-border); border-radius:14px; padding:25px; box-shadow:0 10px 35px rgba(22,55,78,.05); transition:.25s;
}
.elix-feature-card:hover { transform:translateY(-5px); box-shadow:var(--elix-shadow); border-color:#c9e2d6; }
.feature-icon { width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#eaf7f0; color:var(--elix-primary); font-size:24px; margin-bottom:18px; }
.elix-feature-card h3 { font-size:18px; color:var(--elix-navy); margin-bottom:10px; }
.elix-feature-card p { font-size:14px; color:var(--elix-muted); line-height:1.65; min-height:92px; }
.elix-feature-card span { color:var(--elix-primary); font-size:13px; font-weight:700; }

.elix-section { padding:35px 0; }
.elix-about { background:var(--elix-soft); }
.elix-image-frame { position:relative; padding:12px; background:#fff; border-radius:20px; box-shadow:var(--elix-shadow); }
.elix-image-frame img { width:100%; aspect-ratio: 4.5/3; object-fit:cover; border-radius:13px; }
.elix-image-badge { position:absolute; right:25px; bottom:25px; background:#fff; padding:12px 17px; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.10); display:flex; flex-direction:column; }
.elix-image-badge strong { color:var(--elix-primary); font-size:19px; }
.elix-image-badge span { color:var(--elix-muted); font-size:12px; }
.elix-about h2, .elix-diagnostics h2, .elix-clinic h2 { color:var(--elix-navy); font-size:clamp(1.9rem,3vw,2.7rem); font-weight:750; margin:8px 0 18px; }
.lead-copy { font-size:17px; line-height:1.8; color:#465c6d; }
.elix-about p { line-height:1.75; }
.trust-mini { height:100%; display:flex; gap:12px; padding:15px; border:1px solid var(--elix-border); border-radius:11px; background:#fff; }
.trust-mini i { color:var(--elix-primary); font-size:21px; margin-top:2px; }
.trust-mini strong, .trust-mini span { display:block; }
.trust-mini strong { color:var(--elix-navy); font-size:13px; }
.trust-mini span { color:var(--elix-muted); font-size:12px; margin-top:3px; }

.elix-home-care { background:#fff; }
.home-care-card { height:100%; padding:25px; border:1px solid var(--elix-border); border-radius:14px; background:#fff; transition:.25s; box-shadow:0 7px 28px rgba(22,55,78,.04); }
.home-care-card:hover { transform:translateY(-4px); box-shadow:var(--elix-shadow); border-color:#c9e2d6; }
.care-icon { width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#eaf7f0; color:var(--elix-primary); font-size:21px; margin-bottom:17px; }
.home-care-card h3 { color:var(--elix-navy); font-size:19px; }
.home-care-card p { color:var(--elix-muted); line-height:1.7; font-size:14px; min-height:75px; }
.home-care-card a { color:var(--elix-primary); font-size:13px; font-weight:700; }

.elix-parent-care { padding:90px 0; background:linear-gradient(135deg,#173b57 0%,#1c6c53 100%); color:#fff; }
.elix-parent-care h2 { color:#fff; font-size:clamp(2rem,3.3vw,3rem); font-weight:750; margin:8px 0 18px; }
.elix-parent-care p { color:rgba(255,255,255,.86); line-height:1.8; font-size:16px; }
.section-kicker.light { color:#bdebd4; }
.parent-service-list { display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; margin-top:22px; }
.parent-service-list span { color:#fff; font-size:14px; }
.parent-service-list i { color:#a9e5c5; margin-right:7px; }
.parent-image { padding:10px; background:rgba(255,255,255,.14); border-radius:18px; }
.parent-image img { width:100%; border-radius:12px; aspect-ratio:4.5/3; object-fit:cover; }

.elix-doctors { background:var(--elix-soft); }
.doctor-card { height:100%; background:#fff; border-radius:15px; overflow:hidden; border:1px solid var(--elix-border); box-shadow:0 8px 30px rgba(22,55,78,.05); }
.doctor-photo { background:#f3f4f4; text-align:center; }
.doctor-photo img { width:100%; height:260px; object-fit:cover; object-position:center top; }
.doctor-content { padding:20px; }
.doctor-content span { color:var(--elix-primary); font-size:11px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.doctor-content h3 { color:var(--elix-navy); font-size:17px; margin:7px 0 8px; }
.doctor-content p { color:var(--elix-muted); font-size:13px; line-height:1.6; min-height:43px; }
.doctor-content a { color:var(--elix-primary); font-size:13px; font-weight:700; }

.elix-specialities { background:#fff; }
.speciality-card { height:100%; border:1px solid var(--elix-border); border-radius:14px; padding:25px; text-align:center; background:#fff; }
.speciality-icon { width:58px; height:58px; border-radius:50%; background:#eaf7f0; color:var(--elix-primary); display:flex; align-items:center; justify-content:center; margin:0 auto 17px; font-size:24px; }
.speciality-card h3 { color:var(--elix-navy); font-size:18px; }
.speciality-card p { color:var(--elix-muted); font-size:13px; line-height:1.7; margin:0; }

.elix-diagnostics { background:var(--elix-soft); }
.diagnostics-image { padding:10px; border-radius:18px; background:#fff; box-shadow:var(--elix-shadow); }
.diagnostics-image img { width:100%; height:420px; object-fit:cover; border-radius:11px; }
.diagnostic-list { margin-top:22px; }
.diagnostic-list>div { display:flex; gap:13px; margin-bottom:18px; }
.diagnostic-list i { color:var(--elix-primary); margin-top:3px; }
.diagnostic-list strong, .diagnostic-list span { display:block; }
.diagnostic-list strong { color:var(--elix-navy); font-size:15px; }
.diagnostic-list span { color:var(--elix-muted); font-size:13px; line-height:1.6; margin-top:3px; }

.elix-packages { background:#fff; }
.package-card { position:relative; height:100%; border:1px solid var(--elix-border); border-radius:15px; padding:25px; background:#fff; box-shadow:0 7px 30px rgba(22,55,78,.04); }
.package-tag { position:absolute; top:18px; right:18px; background:#eaf7f0; color:var(--elix-primary); font-size:10px; font-weight:800; padding:5px 8px; border-radius:20px; }
.package-icon { width:48px; height:48px; border-radius:12px; background:#eaf7f0; color:var(--elix-primary); display:flex; align-items:center; justify-content:center; font-size:21px; margin-bottom:17px; }
.package-card h3 { color:var(--elix-navy); font-size:19px; }
.package-card p { color:var(--elix-muted); font-size:13px; min-height:42px; }
.package-price { display:block; color:var(--elix-primary); font-size:24px; margin:10px 0; }
.package-card ul { padding-left:18px; color:#526674; font-size:13px; line-height:1.8; min-height:80px; }
.package-disclaimer { color:#7a8992; font-size:12px; text-align:center; margin:28px 0 0; }

.elix-how { background:var(--elix-soft); }
.how-card { position:relative; height:100%; background:#fff; border:1px solid var(--elix-border); border-radius:14px; padding:25px; }
.how-number { color:#c8e8d8; font-family:Poppins,sans-serif; font-weight:800; font-size:28px; }
.how-card>i { color:var(--elix-primary); font-size:24px; margin:10px 0; display:block; }
.how-card h3 { color:var(--elix-navy); font-size:17px; }
.how-card p { color:var(--elix-muted); font-size:13px; line-height:1.65; margin:0; }

.elix-clinic { background:#fff; }
.clinic-gallery { display:grid; grid-template-columns:1.3fr .7fr; grid-template-rows:1fr 1fr; gap:12px; }
.clinic-gallery img { width:100%; height:100%; min-height:180px; object-fit:cover; border-radius:12px; }
.clinic-gallery img:first-child { grid-row:span 2; }
.clinic-gallery img:last-child { object-position:center; }

.elix-testimonials { background:var(--elix-soft); }
.review-card { background:#fff; border:1px solid var(--elix-border); border-radius:14px; padding:25px; min-height:225px; box-shadow:0 8px 25px rgba(22,55,78,.04); }
.review-card .stars { color:#f2ad24; letter-spacing:2px; margin-bottom:14px; }
.review-card p { color:#526674; line-height:1.75; font-size:14px; }
.review-card strong, .review-card span { display:block; }
.review-card strong { color:var(--elix-navy); font-size:14px; margin-top:15px; }
.review-card span { color:var(--elix-primary); font-size:11px; font-weight:700; margin-top:3px; }

.elix-faq { background:#fff; }
.elix-faq .faq-container { max-width:900px; margin:auto; }
.elix-faq .faq-item { border-bottom:1px solid #e5ece9; padding:20px 0; position:relative; }
.elix-faq .faq-item h3 { color:var(--elix-navy); font-size:16px; margin:0; padding-right:35px; cursor:pointer; }
.elix-faq .faq-content { padding:12px 35px 0 0; }
.elix-faq .faq-content p { color:var(--elix-muted); line-height:1.7; margin:0; font-size:14px; }
.elix-faq .faq-toggle { position:absolute; right:0; top:20px; color:var(--elix-primary); cursor:pointer; }

.elix-final-cta { background:#173b57; padding:70px 0; color:#fff; }
.final-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.final-cta-inner h2 { color:#fff; font-size:clamp(2rem,3.2vw,2.8rem); margin:8px 0 12px; }
.final-cta-inner p { color:rgba(255,255,255,.82); max-width:760px; margin:0; line-height:1.7; }
.final-cta-actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }

.elix-contact { background:var(--elix-soft); }
.contact-card { height:100%; background:#fff; border:1px solid var(--elix-border); border-radius:15px; padding:28px; }
.contact-item { display:flex; gap:15px; margin-bottom:22px; }
.contact-item>i { color:var(--elix-primary); font-size:22px; }
.contact-item strong { color:var(--elix-navy); display:block; margin-bottom:4px; }
.contact-item p { color:var(--elix-muted); font-size:14px; line-height:1.6; margin:0; }
.contact-item a { color:var(--elix-primary); font-weight:600; }
.contact-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:25px; }
.map-card { height:100%; min-height:360px; border-radius:15px; overflow:hidden; box-shadow:var(--elix-shadow); }
.map-card iframe { width:100%; height:100%; min-height:360px; border:0; }

.elix-footer { background:#102f46; color:rgba(255,255,255,.78); padding:60px 0 0; }
.footer-logo { width:170px; background:#fff; padding:8px; border-radius:6px; margin-bottom:18px; }
.elix-footer p { font-size:13px; line-height:1.7; }
.elix-footer h4 { color:#fff; font-size:15px; margin-bottom:18px; }
.elix-footer a { display:block; color:rgba(255,255,255,.78); font-size:13px; margin-bottom:9px; }
.elix-footer a:hover { color:#fff; }
.social-links { display:flex; gap:12px; margin-top:15px; }
.social-links a { width:35px; height:35px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0; }
.footer-book { display:inline-flex !important; align-items:center; gap:7px; color:#bdebd4 !important; font-weight:700; margin-top:12px; }
.footer-bottom { margin-top:40px; padding:20px 0; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:15px; font-size:12px; }
.footer-bottom a { margin:0; }

.whatsapp-float {
  position:fixed; width:54px; height:54px; bottom:78px; right:20px; background:#25D366; color:#fff !important;
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 7px 20px rgba(0,0,0,.20);
  z-index:1000; opacity:0; pointer-events:none; transition:.25s;
}
.whatsapp-float.show { opacity:1; pointer-events:auto; }
.scroll-top { background:var(--elix-primary) !important; width:40px; height:40px; color:#fff !important; right:20px; bottom:20px; }
.mobile-action-bar { display:none; }

@media (max-width: 1199px) {
  .elix-header .branding { min-height:70px; }
  .elix-brand img { width:150px; }
  .elix-hero { min-height:auto; }
}
@media (max-width: 991px) {
  .elix-topbar .container>div { display:none !important; }
  .elix-topbar .container { justify-content:center !important; }
  .elix-hero { padding:50px 0; }
  .elix-hero-overlay { background:rgba(246,252,249,.90); }
  .elix-booking-card { margin:20px auto 0; }
  .elix-section { padding:70px 0; }
  .final-cta-inner { flex-direction:column; align-items:flex-start; }
  .diagnostics-image img { height:330px; }
}
@media (max-width: 767px) {
  .elix-topbar { display:none; }
  .elix-header .branding { min-height:64px; }
  .elix-brand img { width:135px; }
  .elix-hero { padding:42px 0 50px; }
  .elix-hero h1 { font-size:2.2rem; }
  .elix-hero-copy { font-size:16px; }
  .elix-hero-points { gap:8px 12px; }
  .elix-hero-points span { font-size:12px; }
  .elix-hero-actions .elix-btn { width:100%; }
  .elix-hero-contact { justify-content:center; font-size:13px; }
  .elix-booking-card { padding:20px; border-radius:14px; }
  .booking-options { grid-template-columns:1fr; }
  .parent-service-list { grid-template-columns:1fr; }
  .clinic-gallery { grid-template-columns:1fr 1fr; }
  .clinic-gallery img:first-child { grid-row:span 1; grid-column:span 2; min-height:220px; }
  .clinic-gallery img { min-height:140px; }
  .footer-bottom { flex-direction:column; }
  .whatsapp-float { bottom:76px; }
  .mobile-action-bar {
    display:flex; position:fixed; left:0; right:0; bottom:0; height:58px; background:#fff; border-top:1px solid #dfe9e5;
    z-index:1100; box-shadow:0 -5px 18px rgba(0,0,0,.08);
  }
  .mobile-action-bar a { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--elix-navy) !important; font-size:11px; font-weight:700; gap:2px; }
  .mobile-action-bar a i { color:var(--elix-primary); font-size:18px; }
  body { padding-bottom:58px; }
}
@media (max-width: 575px) {
  .section-title-center { margin-bottom:30px; }
  .section-title-center h2 { font-size:1.85rem; }
  .elix-section { padding:35px 0; }
  .elix-quick-services { padding:20px 0 35px; }
  .elix-hero h1 { font-size:2rem; }
  .elix-hero-actions { display:block; }
  .elix-hero-actions .elix-btn { margin-bottom:10px; }
  .elix-booking-card { padding:17px; }
  .booking-radio-row { display:grid; grid-template-columns:1fr 1fr; }
  .diagnostics-image img { height:260px; }
  .final-cta-actions, .final-cta-actions .elix-btn { width:100%; }
}

.elix-hero-qr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  
}

@media (min-width: 992px) {
  .elix-hero-qr {
    margin-top: 300px;
  }
}

.elix-hero-qr img {
  width: 200px;
  height: 280px;
  object-fit: contain;
}