/* Ported from samarthivf.com (home-booking). */

/* ===== ELEMENTOR ISOLATION ===== */
.ivf-home, .ivf-home * {
  box-sizing: border-box !important;
  font-family: 'Montserrat', sans-serif !important;
}
.ivf-home {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  background: #fff !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 56px rgba(88,50,132,0.15) !important;
  overflow: hidden !important;
  border: 1px solid #ede9f5 !important;
}
.ivf-home .ivf-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* ---- LEFT ---- */
.ivf-home .ivf-left {
  width: 38% !important;
  flex-shrink: 0 !important;
  background: linear-gradient(150deg,#583284 0%,#88288b 100%) !important;
  padding: 2.5rem 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.ivf-home .ivf-left h3 {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #fff !important;
  margin: 0 0 0.75rem !important;
  line-height: 1.2 !important;
}
.ivf-home .ivf-left .ivf-desc {
  color: rgba(255,255,255,0.82) !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
.ivf-home .ivf-timing {
  display: flex !important;
  align-items: center !important;
  gap: 0.9rem !important;
  margin-top: 2rem !important;
}
.ivf-home .ivf-timing-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  background: rgba(255,255,255,0.18) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ivf-home .ivf-timing-icon svg { width:20px !important; height:20px !important; stroke:#fff !important; }
.ivf-home .ivf-tlabel { font-weight:700 !important; font-size:0.9rem !important; color:#fff !important; margin:0 !important; }
.ivf-home .ivf-tsub { font-size:0.82rem !important; color:rgba(255,255,255,0.72) !important; margin:0.2rem 0 0 !important; }
.ivf-home .ivf-features { margin-top:2rem !important; display:flex !important; flex-direction:column !important; gap:0.85rem !important; }
.ivf-home .ivf-feat-item { display:flex !important; align-items:center !important; gap:0.6rem !important; }
.ivf-home .ivf-feat-icon {
  width:28px !important; height:28px !important; min-width:28px !important;
  background:rgba(255,255,255,0.18) !important; border-radius:50% !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
}
.ivf-home .ivf-feat-icon svg { width:14px !important; height:14px !important; stroke:#fff !important; }
.ivf-home .ivf-feat-text { color:rgba(255,255,255,0.85) !important; font-size:0.85rem !important; font-weight:500 !important; margin:0 !important; }
.ivf-home .ivf-cta {
  margin-top:2rem !important;
  background:rgba(255,255,255,0.13) !important;
  border:1px solid rgba(255,255,255,0.22) !important;
  border-radius:16px !important; padding:1.1rem 1.3rem !important;
}
.ivf-home .ivf-cta-label { font-size:0.68rem !important; font-weight:700 !important; letter-spacing:0.1em !important; color:rgba(255,255,255,0.6) !important; text-transform:uppercase !important; margin:0 !important; }
.ivf-home .ivf-cta-phone { font-size:1.35rem !important; font-weight:900 !important; color:#fff !important; margin:0.3rem 0 0 !important; }

/* ---- RIGHT ---- */
.ivf-home .ivf-right {
  flex:1 !important; padding:2.5rem 2rem !important; min-width:0 !important;
}
.ivf-home .ivf-right h4 {
  font-size:1.4rem !important; font-weight:800 !important; color:#1e293b !important;
  margin:0 0 0.35rem !important;
}
.ivf-home .ivf-right .ivf-subtitle {
  font-size:0.88rem !important; color:#94a3b8 !important; margin:0 0 1.75rem !important;
}

/* Progress bar */
.ivf-progress-wrap { margin-bottom:1.75rem !important; }
.ivf-progress-bar {
  height:4px !important; background:#f0ecfa !important; border-radius:99px !important; overflow:hidden !important;
}
.ivf-progress-fill {
  height:100% !important;
  background:linear-gradient(90deg,#583284,#88288b) !important;
  border-radius:99px !important;
  transition:width 0.4s ease !important;
  width:20% !important;
}
.ivf-progress-label {
  font-size:0.75rem !important; color:#88288b !important; font-weight:600 !important;
  text-align:right !important; margin-top:0.3rem !important;
}

/* Step blocks */
.ivf-step {
  display:none !important;
  animation: ivfhFadeUp 0.3s ease both !important;
}
.ivf-step.ivf-show { display:block !important; }

.ivf-home .ivf-step-label {
  font-size:0.78rem !important; font-weight:700 !important; color:#88288b !important;
  text-transform:uppercase !important; letter-spacing:0.08em !important;
  margin:0 0 0.4rem !important;
}

.ivf-home .ivf-form-row {
  display:grid !important; grid-template-columns:1fr 1fr !important;
  gap:0.9rem !important; margin-bottom:0 !important;
}
.ivf-home .ivf-form-group { margin-bottom:0 !important; }
.ivf-home .ivf-form-group label {
  display:block !important; font-size:0.8rem !important; font-weight:600 !important;
  color:#64748b !important; margin:0 0 0.35rem !important;
}

.ivf-home .ivf-form-group input,
.ivf-home .ivf-form-group select {
  display:block !important; 
  width:100% !important;
  padding:0.75rem 1rem !important; 
  border:1.5px solid #ddd8ee !important;
  border-radius:12px !important; 
  font-size:0.95rem !important;
  color:#1e293b !important; 
  background:#fff !important;
  outline:none !important; 
  transition:border 0.2s,box-shadow 0.2s !important;
  box-shadow:none !important; 
  font-family:inherit !important;
  height: auto !important; 
  min-height: 48px !important; 
  line-height: normal !important; 
  appearance:auto !important; 
  -webkit-appearance:auto !important;
}

.ivf-home .ivf-form-group select {
    cursor: pointer !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1em !important;
    padding-right: 2.5rem !important; 
    -webkit-appearance: none !important; 
    appearance: none !important;
}

.ivf-home .ivf-form-group input:focus,
.ivf-home .ivf-form-group select:focus {
  border-color:#88288b !important;
  box-shadow:0 0 0 3px rgba(136,40,139,0.1) !important;
}
.ivf-home .ivf-required { color:#88288b !important; }

/* Next / Submit buttons */
.ivf-home .ivf-next-btn {
  margin-top:1rem !important; padding:0.8rem 2rem !important;
  border:none !important; border-radius:12px !important;
  background:linear-gradient(135deg,#583284,#88288b) !important;
  color:#fff !important; font-size:0.9rem !important; font-weight:700 !important;
  cursor:pointer !important; transition:all 0.2s ease !important;
  box-shadow:0 4px 14px rgba(136,40,139,0.25) !important;
}
.ivf-home .ivf-next-btn:hover { transform:translateY(-2px) !important; box-shadow:0 8px 20px rgba(136,40,139,0.35) !important; }

.ivf-home .ivf-submit {
  display:block !important; width:100% !important;
  margin-top:1rem !important; padding:1rem !important;
  border:none !important; border-radius:14px !important;
  background:linear-gradient(135deg,#583284,#88288b) !important;
  color:#fff !important; font-size:1rem !important; font-weight:700 !important;
  cursor:pointer !important; transition:all 0.25s ease !important;
  box-shadow:0 4px 18px rgba(136,40,139,0.28) !important; text-align:center !important;
  text-transform:uppercase !important; letter-spacing:0.05em !important;
}
.ivf-home .ivf-submit:hover { transform:translateY(-2px) !important; box-shadow:0 8px 24px rgba(136,40,139,0.38) !important; }
.ivf-home .ivf-submit:disabled { opacity:0.65 !important; cursor:not-allowed !important; transform:none !important; }

/* Divider between steps */
.ivf-step-divider {
  border:none !important; border-top:1px solid #f0ecfa !important;
  margin:1.25rem 0 !important;
}

/* Completed step summary */
.ivf-summary {
  display:none !important;
  padding:0.6rem 0.9rem !important;
  background:#fdf4ff !important; border:1px solid #e9d5ff !important;
  border-radius:10px !important; margin-bottom:1rem !important;
  font-size:0.85rem !important; color:#583284 !important; font-weight:600 !important;
  align-items:center !important; justify-content:space-between !important;
}
.ivf-summary.ivf-show { display:flex !important; }
.ivf-summary .ivf-edit {
  font-size:0.75rem !important; color:#88288b !important; cursor:pointer !important;
  text-decoration:underline !important; font-weight:600 !important;
  background:none !important; border:none !important;
}

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

/* MOBILE */
@media (max-width:700px) {
  .ivf-home .ivf-inner { flex-direction:column !important; }
  .ivf-home .ivf-left { width:100% !important; padding:2rem 1.5rem !important; }
  .ivf-home .ivf-right { padding:1.75rem 1.25rem !important; }
  .ivf-home .ivf-left h3 { font-size:1.6rem !important; }
  .ivf-home .ivf-form-row { grid-template-columns:1fr !important; }
}

/* Consent line (DPDP Act) — added for the rebuild. */
.ivf-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.8rem;line-height:1.4;color:#6b7280;margin:0 0 1rem}
.ivf-consent input{margin-top:.15rem;accent-color:#563084}
.ivf-consent a{color:#563084;text-decoration:underline}
