/*
Theme Name: M&M Fertility Hospital Theme
Theme URI: https://www.mandmfertilityhospital.com/
Author: M&M Fertility Hospital
Description: Elementor-editable WordPress implementation of the M&M Fertility Hospital website, with exact page sections, dynamic posts, appointment forms, and responsive navigation.
Version: 2.5.0
Text Domain: mm-fertility
*/

:root {
  /* Brand HSL Colors */
  --primary-deep: 160 67% 14%;      /* Deep Forest Green #0c3c2b */
  --primary-light: 160 50% 22%;
  --accent-gold: 40 56% 55%;        /* Luxury Champagne Gold #cda34e */
  --accent-gold-dark: 40 56% 45%;
  --bg-cream: 40 30% 98%;           /* Cream Off-white #fdfbf7 */
  --bg-white: 0 0% 100%;
  --text-dark: 215 25% 18%;         /* Dark Charcoal Slate #222934 */
  --text-muted: 215 16% 47%;
  
  /* Fonts */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Inter', sans-serif;
  --font-display: 'Outfit', sans-serif;
}

body {
  background-color: #fdfbf7;
  color: #222934;
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
}

/* Keep the mobile drawer closed unless its own controller explicitly opens it.
   This must not depend on generated Tailwind transform utilities. */
#mobile-drawer {
  transform: translateX(105%) !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#mobile-drawer.is-open {
  transform: translateX(0) !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#mobile-drawer-backdrop {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#mobile-drawer-backdrop.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Glassmorphism card utility */
.glass-card {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 10px 30px -10px rgba(12, 60, 43, 0.08);
}

.glass-card-dark {
  background: rgba(12, 60, 43, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.3);
}

/* Gold border glow utility */
.gold-glow {
  box-shadow: 0 0 25px -5px rgba(205, 163, 78, 0.2);
}

/* Custom transitions and interactive elements */
.transition-smooth {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Custom scrolling classes */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Custom hover animations */
.hover-gold-grow {
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-gold-grow:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 163, 78, 0.3);
  box-shadow: 0 12px 30px -10px rgba(12, 60, 43, 0.06);
}

/* Custom animations config */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes floatAnim {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

.animate-fade-in-up {
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in {
  animation: fadeIn 0.6s ease-out forwards;
}

.animate-float {
  animation: floatAnim 6s ease-in-out infinite;
}

.animate-pulse-slow {
  animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* --- Elementor Tailwind Inherit System --- */
.elementor-widget-heading[class*="text-"] .elementor-heading-title,
.elementor-widget-heading[class*="font-"] .elementor-heading-title,
.elementor-widget-heading[class*="leading-"] .elementor-heading-title,
.elementor-widget-heading[class*="tracking-"] .elementor-heading-title {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    color: inherit !important;  
    letter-spacing: inherit !important;
}

.elementor-widget-text-editor[class*="text-"] .elementor-text-editor,
.elementor-widget-text-editor[class*="font-"] .elementor-text-editor,
.elementor-widget-text-editor[class*="leading-"] .elementor-text-editor {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}

.elementor-widget-button[class*="bg-"] .elementor-button,
.elementor-widget-button[class*="rounded-"] .elementor-button,
.elementor-widget-button[class*="px-"] .elementor-button {
    background: inherit !important;
    border-radius: inherit !important;
    padding: inherit !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    box-shadow: inherit !important;
    transition: all 0.3s ease !important;
}

.elementor-widget-image[class*="rounded-"] img,
.elementor-widget-image[class*="shadow-"] img {
    border-radius: inherit !important;
    box-shadow: inherit !important;
}

/* --- Exact Next.js design-token bridge for WordPress/Elementor hosts --- */
.mm-next-page,
#main-header,
#main-footer {
  --mm-primary-deep: #0c3c2b;
  --mm-primary-light: #1d4d3a;
  --mm-accent-gold: #cda34e;
  --mm-accent-gold-dark: #b08a3c;
  --mm-bg-cream: #fdfbf7;
  --mm-text-dark: #222934;
  --mm-text-muted: #6c7886;
  color: var(--mm-text-dark);
}

.font-display { font-family: 'Outfit', sans-serif !important; }
.font-serif { font-family: 'Playfair Display', Georgia, serif !important; }
.font-sans { font-family: 'Inter', sans-serif !important; }
.mm-nav-link {
  color: #0c3c2b;
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
  transition: color 0.2s ease;
}
.mm-nav-link:hover { color: #cda34e; }

.text-primary-deep { color: #0c3c2b !important; }
.text-primary-deep\/80 { color: rgba(12, 60, 43, 0.8) !important; }
.text-primary-deep\/90 { color: rgba(12, 60, 43, 0.9) !important; }
.text-primary-light { color: #1d4d3a !important; }
.text-accent-gold { color: #cda34e !important; }
.text-accent-gold-dark { color: #b08a3c !important; }
.text-text-dark { color: #222934 !important; }
.text-text-muted { color: #6c7886 !important; }
.text-white { color: #fff !important; }
.text-white\/60 { color: rgba(255, 255, 255, 0.6) !important; }
.text-white\/70 { color: rgba(255, 255, 255, 0.7) !important; }
.text-white\/80 { color: rgba(255, 255, 255, 0.8) !important; }
.text-white\/85 { color: rgba(255, 255, 255, 0.85) !important; }
.text-white\/95 { color: rgba(255, 255, 255, 0.95) !important; }
.text-slate-300 { color: #cbd5e1 !important; }
.text-slate-400 { color: #94a3b8 !important; }
.text-slate-500 { color: #64748b !important; }
.text-slate-600 { color: #475569 !important; }
.text-slate-700 { color: #334155 !important; }
.text-slate-800 { color: #1e293b !important; }

.bg-primary-deep { background-color: #0c3c2b !important; }
.bg-primary-deep\/5 { background-color: rgba(12, 60, 43, 0.05) !important; }
.bg-primary-deep\/10 { background-color: rgba(12, 60, 43, 0.1) !important; }
.bg-primary-deep\/20 { background-color: rgba(12, 60, 43, 0.2) !important; }
.bg-primary-light { background-color: #1d4d3a !important; }
.bg-accent-gold { background-color: #cda34e !important; }
.bg-accent-gold\/5 { background-color: rgba(205, 163, 78, 0.05) !important; }
.bg-accent-gold\/10 { background-color: rgba(205, 163, 78, 0.1) !important; }
.bg-accent-gold\/15 { background-color: rgba(205, 163, 78, 0.15) !important; }
.bg-bg-cream,
.bg-\[\#fdfbf7\] { background-color: #fdfbf7 !important; }
.bg-\[\#fdfbf7\]\/40 { background-color: rgba(253, 251, 247, 0.4) !important; }
.bg-\[\#fdfbf7\]\/50 { background-color: rgba(253, 251, 247, 0.5) !important; }
.bg-white { background-color: #fff !important; }
.bg-white\/30 { background-color: rgba(255, 255, 255, 0.3) !important; }
.bg-white\/40 { background-color: rgba(255, 255, 255, 0.4) !important; }
.bg-white\/50 { background-color: rgba(255, 255, 255, 0.5) !important; }
.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95) !important; }
.bg-slate-100 { background-color: #f1f5f9 !important; }
.bg-slate-900 { background-color: #0f172a !important; }

.border-primary-deep { border-color: #0c3c2b !important; }
.border-primary-deep\/5 { border-color: rgba(12, 60, 43, 0.05) !important; }
.border-primary-deep\/10 { border-color: rgba(12, 60, 43, 0.1) !important; }
.border-primary-deep\/20 { border-color: rgba(12, 60, 43, 0.2) !important; }
.border-accent-gold { border-color: #cda34e !important; }
.border-accent-gold\/10 { border-color: rgba(205, 163, 78, 0.1) !important; }
.border-accent-gold\/20 { border-color: rgba(205, 163, 78, 0.2) !important; }
.border-accent-gold\/25 { border-color: rgba(205, 163, 78, 0.25) !important; }
.border-accent-gold\/30 { border-color: rgba(205, 163, 78, 0.3) !important; }
.border-accent-gold\/40 { border-color: rgba(205, 163, 78, 0.4) !important; }
.border-accent-gold\/45 { border-color: rgba(205, 163, 78, 0.45) !important; }
.border-\[\#fdfbf7\] { border-color: #fdfbf7 !important; }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1) !important; }
.border-white\/20 { border-color: rgba(255, 255, 255, 0.2) !important; }
.border-slate-200 { border-color: #e2e8f0 !important; }
.fill-accent-gold { fill: #cda34e !important; }

.hover\:text-accent-gold:hover { color: #cda34e !important; }
.hover\:text-primary-deep:hover { color: #0c3c2b !important; }
.hover\:text-white:hover { color: #fff !important; }
.hover\:bg-primary-deep:hover { background-color: #0c3c2b !important; }
.hover\:bg-primary-deep\/5:hover { background-color: rgba(12, 60, 43, 0.05) !important; }
.hover\:bg-accent-gold:hover { background-color: #cda34e !important; }
.hover\:bg-white:hover { background-color: #fff !important; }
.hover\:bg-white\/5:hover { background-color: rgba(255, 255, 255, 0.05) !important; }
.hover\:bg-\[\#fdfbf7\]:hover { background-color: #fdfbf7 !important; }
.hover\:border-accent-gold\/20:hover { border-color: rgba(205, 163, 78, 0.2) !important; }
.focus\:border-accent-gold:focus { border-color: #cda34e !important; }
.focus\:ring-accent-gold:focus { --tw-ring-color: #cda34e !important; }

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops)) !important;
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops)) !important;
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops)) !important;
}
.from-primary-deep {
  --tw-gradient-from: #0c3c2b;
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-deep\/30 {
  --tw-gradient-from: rgba(12, 60, 43, 0.3);
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-deep\/40 {
  --tw-gradient-from: rgba(12, 60, 43, 0.4);
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-deep\/75 {
  --tw-gradient-from: rgba(12, 60, 43, 0.75);
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-deep\/80 {
  --tw-gradient-from: rgba(12, 60, 43, 0.8);
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-deep\/90 {
  --tw-gradient-from: rgba(12, 60, 43, 0.9);
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-light\/5 {
  --tw-gradient-from: rgba(29, 77, 58, 0.05);
  --tw-gradient-to: rgba(29, 77, 58, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-light\/10 {
  --tw-gradient-from: rgba(29, 77, 58, 0.1);
  --tw-gradient-to: rgba(29, 77, 58, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-accent-gold\/5 {
  --tw-gradient-from: rgba(205, 163, 78, 0.05);
  --tw-gradient-to: rgba(205, 163, 78, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-primary-deep\/10 {
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), rgba(12, 60, 43, 0.1), var(--tw-gradient-to);
}
.via-primary-deep\/20 {
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), rgba(12, 60, 43, 0.2), var(--tw-gradient-to);
}
.via-primary-deep\/30 {
  --tw-gradient-to: rgba(12, 60, 43, 0);
  --tw-gradient-stops: var(--tw-gradient-from), rgba(12, 60, 43, 0.3), var(--tw-gradient-to);
}
.via-\[\#fdfbf7\] {
  --tw-gradient-to: rgba(253, 251, 247, 0);
  --tw-gradient-stops: var(--tw-gradient-from), #fdfbf7, var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: transparent;
  --tw-gradient-stops: var(--tw-gradient-from), transparent, var(--tw-gradient-to);
}
.to-primary-light { --tw-gradient-to: #1d4d3a; }
.to-\[\#fdfbf7\] { --tw-gradient-to: #fdfbf7; }
.to-transparent { --tw-gradient-to: transparent; }

#main-header .from-primary-deep.to-primary-light,
#main-footer .from-primary-deep.to-primary-light,
.mm-next-page .from-primary-deep.to-primary-light {
  background-image: linear-gradient(to right, #0c3c2b, #1d4d3a) !important;
}

/* Native Elementor homepage hero: mirrors the Next.js landing hero but remains fully widget-editable. */
.mm-native-home-hero {
  min-height: calc(100vh - 118px) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

.admin-bar .mm-native-home-hero {
  min-height: calc(100vh - 150px) !important;
}

.mm-native-home-hero > .elementor-container {
  width: 100% !important;
  max-width: 1280px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr) !important;
  align-items: center !important;
  gap: 48px !important;
}

.mm-native-home-hero .mm-hero-copy > .elementor-widget-wrap {
  align-content: center !important;
  gap: 22px !important;
}
.mm-native-home-hero .mm-hero-copy {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.mm-native-home-hero .mm-hero-media {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.mm-native-home-hero .mm-hero-media .elementor-widget-mm_hero_slider { width: 100% !important; }
.mm-native-home-hero .mm-hero-slider {
  width: 100% !important;
  max-width: 100% !important;
}
.mm-native-home-hero .mm-hero-headline h1 {
  margin: 0 !important;
  color: #0c3c2b !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 60px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
}

.mm-native-home-hero .mm-hero-badge {
  width: auto !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  border: 1px solid rgba(12, 60, 43, 0.1);
  border-radius: 999px;
  background: rgba(12, 60, 43, 0.05);
  padding: 7px 14px;
}

.mm-native-home-hero .mm-hero-badge .elementor-widget-container,
.mm-native-home-hero .mm-hero-badge p {
  margin: 0 !important;
}

.mm-native-home-hero .mm-hero-badge-icon,
.mm-native-home-hero .mm-gold-word {
  color: #cda34e;
}

.mm-native-home-hero .mm-gold-word {
  font-style: italic;
  font-weight: 500;
}

.mm-native-home-hero .mm-hero-buttons > .elementor-container {
  gap: 16px !important;
}

.mm-native-home-hero .mm-hero-buttons .elementor-column {
  width: auto !important;
}

.mm-native-home-hero .mm-hero-primary-button .elementor-button {
  min-width: 250px;
  box-shadow: 0 15px 32px rgba(12, 60, 43, 0.16);
}

.mm-native-home-hero .mm-hero-outline-button .elementor-button {
  min-width: 230px;
  background: rgba(255,255,255,0.55) !important;
  border-color: rgba(12, 60, 43, 0.2) !important;
}

.mm-native-home-hero .mm-hero-media .elementor-widget-wrap {
  align-content: center !important;
}

.mm-native-home-hero .mm-hero-carousel .swiper,
.mm-native-home-hero .mm-hero-carousel .slick-slider,
.mm-native-home-hero .mm-hero-carousel .elementor-image-carousel-wrapper {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(205, 163, 78, 0.2);
  box-shadow: 0 26px 58px rgba(12, 60, 43, 0.18);
  background: rgba(12, 60, 43, 0.08);
}

.mm-native-home-hero .mm-hero-carousel img {
  width: 100% !important;
  height: 500px !important;
  object-fit: cover !important;
}

/* Native homepage sections: every text, image and button remains its own Elementor element. */
.mm-native-founder-section > .elementor-container {
  max-width: 1280px !important;
  align-items: center !important;
  gap: 64px !important;
}
.mm-native-founder-section .mm-founder-photo-column { width: calc(42% - 32px) !important; }
.mm-native-founder-section .mm-founder-copy-column { width: calc(58% - 32px) !important; }
.mm-native-founder-section .mm-founder-image img {
  width: 100% !important;
  max-height: 620px !important;
  object-fit: contain !important;
  border: 1px solid rgba(205,163,78,.25);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 52px rgba(12,60,43,.12);
}
.mm-native-founder-section .mm-founder-buttons > .elementor-container { gap: 14px !important; }
.mm-native-founder-section .mm-founder-buttons .elementor-button { width: 100%; }

.mm-native-services-section { background: #fff !important; }
.mm-native-services-section > .elementor-container { max-width: 1280px !important; }
.mm-native-services-section .mm-service-card-row > .elementor-container {
  gap: 32px !important;
  margin-top: 32px;
}
.mm-native-services-section .mm-native-service-card {
  width: calc(50% - 16px) !important;
  padding: 36px !important;
  border: 1px solid rgba(12,60,43,.08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(12,60,43,.06);
}
.mm-native-services-section .mm-native-service-card.is-featured {
  border-color: #cda34e;
}
.mm-native-services-section .mm-service-card-tag p {
  margin: 0 !important;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.mm-native-services-section .mm-service-card-button .elementor-button {
  padding: 0 !important;
  color: #0c3c2b !important;
  background: transparent !important;
}
.mm-native-contact-form-section > .elementor-container,
.elementor-section:has(.mm-managed-appointment-form) > .elementor-container {
  max-width: 1180px !important;
  width: calc(100% - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr) !important;
  align-items: flex-start !important;
  gap: 64px !important;
}
.mm-native-contact-form-section .mm-contact-details-column,
.mm-native-contact-form-section .mm-contact-form-column,
.elementor-section:has(.mm-managed-appointment-form) > .elementor-container > .elementor-column {
  width: auto !important;
  min-width: 0 !important;
}
.mm-native-contact-form-section .mm-contact-form-column > .elementor-widget-wrap,
.mm-native-contact-form-section .elementor-widget-mm_appointment_form,
.mm-native-contact-form-section .elementor-widget-mm_appointment_form > .elementor-widget-container,
.elementor-section:has(.mm-managed-appointment-form) .elementor-widget-wrap,
.elementor-section:has(.mm-managed-appointment-form) .elementor-widget-mm_appointment_form,
.elementor-section:has(.mm-managed-appointment-form) .elementor-widget-mm_appointment_form > .elementor-widget-container {
  width: 100% !important;
}
.mm-managed-appointment-form {
  padding: 34px;
  border: 1px solid rgba(12,60,43,.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(12,60,43,.08);
  container-type: inline-size;
}
.mm-managed-appointment-form .mm-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.mm-managed-appointment-form label {
  display: grid;
  gap: 8px;
  margin-bottom: 20px;
  color: #0c3c2b;
  font: 600 12px/1.4 'Outfit', sans-serif;
}
.mm-managed-appointment-form input,
.mm-managed-appointment-form select,
.mm-managed-appointment-form textarea {
  width: 100%;
  border: 1px solid rgba(12,60,43,.15);
  border-radius: 6px;
  padding: 13px 14px;
  color: #334155;
  background: #fdfbf7;
  font: 400 14px/1.4 'Inter', sans-serif;
}
.mm-managed-appointment-form button {
  border: 0;
  border-radius: 999px;
  padding: 15px 28px;
  color: #fff;
  background: #0c3c2b;
  font: 700 13px/1 'Outfit', sans-serif;
  cursor: pointer;
}
.mm-managed-appointment-form .mm-form-status { margin: 14px 0 0; color: #0c3c2b; }

@container (max-width: 520px) {
  .mm-managed-appointment-form .mm-form-grid { grid-template-columns: 1fr; }
}

.mm-next-page[data-mm-next-page="home"] > section:first-child,
.mm-exact-section-widget > section.relative.min-h-screen:first-child {
  min-height: calc(100vh - 118px) !important;
  padding-top: 32px !important;
  padding-bottom: 58px !important;
}

/* Exact section widgets own their layout; Elementor wrappers must stay neutral. */
.elementor-widget[class*="elementor-widget-mm_exact_"] > .elementor-widget-container,
.mm-exact-section-widget {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mm-exact-elementor-shell > .elementor-container,
.mm-exact-elementor-shell .mm-exact-elementor-column > .elementor-widget-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Generated native Elementor sections: each text, heading, button, image, and card remains individually editable. */
.mm-native-generated-section {
  overflow: hidden !important;
}

.mm-native-generated-section > .elementor-container {
  width: 100% !important;
  max-width: 1280px !important;
  align-items: center !important;
  gap: 48px !important;
}

.mm-native-generated-section .elementor-widget-wrap {
  align-content: center !important;
  gap: 18px !important;
}

.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap {
  max-width: 100% !important;
}

.mm-native-generated-section .elementor-heading-title {
  color: #0c3c2b !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.mm-native-generated-section h1.elementor-heading-title {
  font-size: clamp(42px, 4.4vw, 72px) !important;
}

.mm-native-generated-section h2.elementor-heading-title {
  font-size: clamp(34px, 3.15vw, 52px) !important;
}

.mm-native-generated-section h3.elementor-heading-title {
  font-size: clamp(24px, 2.1vw, 34px) !important;
}

.mm-native-generated-section h4.elementor-heading-title {
  font-size: 20px !important;
}

.mm-native-generated-section .elementor-widget-text-editor,
.mm-native-generated-section .elementor-widget-text-editor p {
  color: #64748b !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.mm-native-generated-section .mm-native-eyebrow {
  width: auto !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  color: #cda34e !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.mm-native-generated-section .mm-native-eyebrow .elementor-widget-container,
.mm-native-generated-section .mm-native-eyebrow p {
  margin: 0 !important;
}

.mm-native-generated-section .mm-native-image-widget img {
  width: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  border: 1px solid rgba(205, 163, 78, 0.16) !important;
  box-shadow: 0 22px 52px rgba(12, 60, 43, 0.12) !important;
}

.mm-native-generated-section .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 48px !important;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  background: #0c3c2b !important;
  border: 1px solid #0c3c2b !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 14px 30px rgba(12, 60, 43, 0.14) !important;
}

.mm-native-generated-section .elementor-widget-button + .elementor-widget-button {
  margin-left: 12px !important;
}

.mm-native-generated-section .elementor-widget-button {
  width: auto !important;
  display: inline-flex !important;
}

.mm-native-generated-section .mm-native-content-column .elementor-widget-button,
.mm-native-generated-section .mm-native-full-column .elementor-widget-button {
  margin-right: 12px !important;
}

.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-heading,
.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-text-editor {
  max-width: 760px !important;
}

.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-heading:nth-of-type(n+2),
.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-text-editor.mm-native-eyebrow:nth-of-type(n+2) {
  margin-top: 24px !important;
}

.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-heading h3,
.mm-native-generated-section .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-heading h4 {
  padding-top: 18px !important;
}

.mm-native-about-0,
.mm-native-about-6,
.mm-native-services-0,
.mm-native-services-6,
.mm-native-ivf-icsi-iui-0,
.mm-native-ivf-icsi-iui-3,
.mm-native-gynaecological-surgeries-0,
.mm-native-gynaecological-surgeries-4,
.mm-native-stem-cell-therapy-0,
.mm-native-stem-cell-therapy-4,
.mm-native-cryopreservation-0,
.mm-native-cryopreservation-3,
.mm-native-egg-sperm-donation-0,
.mm-native-egg-sperm-donation-3,
.mm-native-journey-0,
.mm-native-journey-3,
.mm-native-research-0,
.mm-native-research-5,
.mm-native-blog-0,
.mm-native-contact-0 {
  background-color: #0c3c2b !important;
}

.mm-native-about-0 .elementor-heading-title,
.mm-native-about-6 .elementor-heading-title,
.mm-native-services-0 .elementor-heading-title,
.mm-native-services-6 .elementor-heading-title,
.mm-native-ivf-icsi-iui-0 .elementor-heading-title,
.mm-native-ivf-icsi-iui-3 .elementor-heading-title,
.mm-native-gynaecological-surgeries-0 .elementor-heading-title,
.mm-native-gynaecological-surgeries-4 .elementor-heading-title,
.mm-native-stem-cell-therapy-0 .elementor-heading-title,
.mm-native-stem-cell-therapy-4 .elementor-heading-title,
.mm-native-cryopreservation-0 .elementor-heading-title,
.mm-native-cryopreservation-3 .elementor-heading-title,
.mm-native-egg-sperm-donation-0 .elementor-heading-title,
.mm-native-egg-sperm-donation-3 .elementor-heading-title,
.mm-native-journey-0 .elementor-heading-title,
.mm-native-journey-3 .elementor-heading-title,
.mm-native-research-0 .elementor-heading-title,
.mm-native-research-5 .elementor-heading-title,
.mm-native-blog-0 .elementor-heading-title,
.mm-native-contact-0 .elementor-heading-title {
  color: #ffffff !important;
}

.mm-native-about-0 .elementor-widget-text-editor,
.mm-native-about-0 .elementor-widget-text-editor p,
.mm-native-about-6 .elementor-widget-text-editor,
.mm-native-about-6 .elementor-widget-text-editor p,
.mm-native-services-0 .elementor-widget-text-editor,
.mm-native-services-0 .elementor-widget-text-editor p,
.mm-native-services-6 .elementor-widget-text-editor,
.mm-native-services-6 .elementor-widget-text-editor p,
.mm-native-ivf-icsi-iui-0 .elementor-widget-text-editor,
.mm-native-ivf-icsi-iui-0 .elementor-widget-text-editor p,
.mm-native-ivf-icsi-iui-3 .elementor-widget-text-editor,
.mm-native-ivf-icsi-iui-3 .elementor-widget-text-editor p,
.mm-native-gynaecological-surgeries-0 .elementor-widget-text-editor,
.mm-native-gynaecological-surgeries-0 .elementor-widget-text-editor p,
.mm-native-gynaecological-surgeries-4 .elementor-widget-text-editor,
.mm-native-gynaecological-surgeries-4 .elementor-widget-text-editor p,
.mm-native-stem-cell-therapy-0 .elementor-widget-text-editor,
.mm-native-stem-cell-therapy-0 .elementor-widget-text-editor p,
.mm-native-stem-cell-therapy-4 .elementor-widget-text-editor,
.mm-native-stem-cell-therapy-4 .elementor-widget-text-editor p,
.mm-native-cryopreservation-0 .elementor-widget-text-editor,
.mm-native-cryopreservation-0 .elementor-widget-text-editor p,
.mm-native-cryopreservation-3 .elementor-widget-text-editor,
.mm-native-cryopreservation-3 .elementor-widget-text-editor p,
.mm-native-egg-sperm-donation-0 .elementor-widget-text-editor,
.mm-native-egg-sperm-donation-0 .elementor-widget-text-editor p,
.mm-native-egg-sperm-donation-3 .elementor-widget-text-editor,
.mm-native-egg-sperm-donation-3 .elementor-widget-text-editor p,
.mm-native-journey-0 .elementor-widget-text-editor,
.mm-native-journey-0 .elementor-widget-text-editor p,
.mm-native-journey-3 .elementor-widget-text-editor,
.mm-native-journey-3 .elementor-widget-text-editor p,
.mm-native-research-0 .elementor-widget-text-editor,
.mm-native-research-0 .elementor-widget-text-editor p,
.mm-native-research-5 .elementor-widget-text-editor,
.mm-native-research-5 .elementor-widget-text-editor p,
.mm-native-blog-0 .elementor-widget-text-editor,
.mm-native-blog-0 .elementor-widget-text-editor p,
.mm-native-contact-0 .elementor-widget-text-editor,
.mm-native-contact-0 .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.mm-native-about-0 .mm-native-eyebrow,
.mm-native-about-6 .mm-native-eyebrow,
.mm-native-services-0 .mm-native-eyebrow,
.mm-native-services-6 .mm-native-eyebrow,
.mm-native-ivf-icsi-iui-0 .mm-native-eyebrow,
.mm-native-ivf-icsi-iui-3 .mm-native-eyebrow,
.mm-native-gynaecological-surgeries-0 .mm-native-eyebrow,
.mm-native-gynaecological-surgeries-4 .mm-native-eyebrow,
.mm-native-stem-cell-therapy-0 .mm-native-eyebrow,
.mm-native-stem-cell-therapy-4 .mm-native-eyebrow,
.mm-native-cryopreservation-0 .mm-native-eyebrow,
.mm-native-cryopreservation-3 .mm-native-eyebrow,
.mm-native-egg-sperm-donation-0 .mm-native-eyebrow,
.mm-native-egg-sperm-donation-3 .mm-native-eyebrow,
.mm-native-journey-0 .mm-native-eyebrow,
.mm-native-journey-3 .mm-native-eyebrow,
.mm-native-research-0 .mm-native-eyebrow,
.mm-native-research-5 .mm-native-eyebrow,
.mm-native-blog-0 .mm-native-eyebrow,
.mm-native-contact-0 .mm-native-eyebrow {
  color: #cda34e !important;
}

@media (max-width: 1024px) {
  .mm-native-home-hero {
    min-height: auto !important;
    padding-top: 42px !important;
  }

  .mm-native-home-hero .mm-hero-carousel img {
    height: 420px !important;
  }
  .mm-native-home-hero .mm-hero-copy,
  .mm-native-home-hero .mm-hero-media {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
  .mm-native-home-hero > .elementor-container {
    display: flex !important;
    flex-flow: column nowrap !important;
  }
  .mm-native-founder-section > .elementor-container,
  .mm-native-services-section .mm-service-card-row > .elementor-container {
    flex-direction: column !important;
  }
  .mm-native-founder-section .mm-founder-photo-column,
  .mm-native-founder-section .mm-founder-copy-column,
  .mm-native-services-section .mm-native-service-card {
    width: 100% !important;
  }
  .mm-native-contact-form-section > .elementor-container,
  .elementor-section:has(.mm-managed-appointment-form) > .elementor-container { flex-direction: column !important; }
  .mm-native-contact-form-section .mm-contact-details-column,
  .mm-native-contact-form-section .mm-contact-form-column,
  .elementor-section:has(.mm-managed-appointment-form) > .elementor-container > .elementor-column { width: 100% !important; }
  .mm-native-home-hero .mm-hero-headline h1 { font-size: 48px; }

  .mm-native-generated-section > .elementor-container {
    gap: 34px !important;
  }
}

@media (max-width: 767px) {
  .mm-native-contact-form-section > .elementor-container,
  .elementor-section:has(.mm-managed-appointment-form) > .elementor-container {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .mm-managed-appointment-form .mm-form-grid { grid-template-columns: 1fr; }
  .mm-native-home-hero .mm-hero-headline h1 { font-size: 39px; }
  .mm-native-home-hero .mm-hero-buttons .elementor-column,
  .mm-native-home-hero .mm-hero-buttons .elementor-button {
    width: 100% !important;
  }

  .mm-native-home-hero .mm-hero-carousel img {
    height: 350px !important;
  }

  .mm-native-generated-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .mm-native-generated-section .elementor-widget-button {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .mm-native-generated-section .elementor-button {
    width: 100% !important;
  }

  .mm-native-generated-section .mm-native-image-widget img {
    max-height: 380px !important;
  }
}

/* --------------------------------------------------------------------------
   Content frame and IVF Journey refresh
   Keep editorial sections comfortably contained while preserving full-bleed
   color bands such as the Journey hero and call-to-action.
   -------------------------------------------------------------------------- */
:root { --mm-content-frame: 1180px; }

main.flex-grow > .elementor > .elementor-section:not(.mmfew-widget-shell) > .elementor-container,
.mm-native-generated-section > .elementor-container,
.mm-native-founder-section > .elementor-container,
.mm-native-services-section > .elementor-container,
.mm-works-native-section > .elementor-container,
.mm-native-contact-form-section > .elementor-container,
.elementor-section:has(.mm-managed-appointment-form) > .elementor-container {
  width: min(calc(100% - 48px), var(--mm-content-frame)) !important;
  max-width: var(--mm-content-frame) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* The legacy exact-section widgets contain Tailwind's max-w-7xl (1280px).
   Cap those content blocks too, without constraining coloured page bands. */
.mm-exact-section-widget .max-w-7xl,
.mm-exact-section-widget .max-w-6xl,
.mm-exact-section-widget .max-w-5xl {
  width: min(calc(100% - 48px), var(--mm-content-frame)) !important;
  max-width: var(--mm-content-frame) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mm-ivf-journey-hero .elementor-widget-wrap,
.mm-ivf-journey-cta .elementor-widget-wrap {
  align-content: center !important;
}

.mm-ivf-journey-hero .elementor-widget-text-editor,
.mm-ivf-journey-hero .elementor-widget-text-editor p,
.mm-ivf-journey-cta .elementor-widget-text-editor,
.mm-ivf-journey-cta .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.mm-ivf-journey-hero .mm-native-eyebrow,
.mm-ivf-journey-cta .mm-native-eyebrow {
  align-self: center !important;
}

.mm-ivf-journey-story:nth-of-type(even) { background: #ffffff !important; }
.mm-ivf-journey-story .elementor-widget-wrap { align-content: center !important; }
.mm-ivf-journey-image img {
  min-height: 360px !important;
  max-height: 520px !important;
  object-fit: cover !important;
}

.mm-ivf-journey-indications .elementor-container { align-items: start !important; }
.mm-ivf-indication-row > .elementor-container {
  gap: 20px !important;
  margin-bottom: 20px !important;
}
.mm-ivf-indication-row .elementor-column {
  width: calc(50% - 10px) !important;
  padding: 26px !important;
  border: 1px solid rgba(12, 60, 43, 0.09) !important;
  border-radius: 8px !important;
  background: #fdfbf7 !important;
}
.mm-ivf-indication-row .elementor-icon-box-wrapper { display: flex !important; gap: 14px !important; }
.mm-ivf-indication-row .elementor-icon-box-title { color: #0c3c2b !important; font: 700 18px/1.2 'Playfair Display', Georgia, serif !important; }
.mm-ivf-indication-row .elementor-icon-box-description { color: #64748b !important; font: 400 14px/1.6 'Inter', sans-serif !important; }
.mm-ivf-indication-row .elementor-icon { color: #cda34e !important; }

.mm-ivf-journey-five-steps .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-heading,
.mm-ivf-journey-five-steps .mm-native-full-column > .elementor-widget-wrap > .elementor-widget-text-editor {
  margin-left: auto !important;
  margin-right: auto !important;
}
.mm-ivf-stage-row > .elementor-container { display: block !important; margin-top: 18px !important; }
.mm-ivf-stage-card {
  width: 100% !important;
  padding: 28px 32px 28px 96px !important;
  border: 1px solid rgba(12, 60, 43, 0.08) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 28px rgba(12, 60, 43, 0.06) !important;
  position: relative !important;
}
.mm-ivf-stage-number {
  position: absolute !important;
  left: 28px !important;
  top: 30px !important;
  display: flex !important;
  width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: #0c3c2b !important;
  color: #ffffff !important;
  font: 700 12px/1 'Outfit', sans-serif !important;
  letter-spacing: 0 !important;
}
.mm-ivf-stage-card .elementor-widget { margin-bottom: 0 !important; }
.mm-ivf-stage-card .elementor-widget-heading { margin-bottom: 8px !important; }

.mm-ivf-development-images .elementor-widget + .elementor-widget { margin-top: 20px !important; }
.mm-ivf-development-images img { min-height: 220px !important; max-height: 285px !important; object-fit: cover !important; }
.mm-ivf-note { padding: 18px 20px !important; border-left: 3px solid #cda34e !important; background: rgba(205, 163, 78, 0.08) !important; }

.mm-ivf-faq-accordion .elementor-accordion-item {
  margin-top: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(12, 60, 43, 0.11) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
}
.mm-ivf-faq-accordion .elementor-tab-title { padding: 19px 22px !important; color: #0c3c2b !important; font: 700 16px/1.4 'Playfair Display', Georgia, serif !important; }
.mm-ivf-faq-accordion .elementor-tab-content { padding: 0 22px 22px !important; border-top: 0 !important; color: #64748b !important; font: 400 15px/1.7 'Inter', sans-serif !important; }
.mm-ivf-journey-cta .elementor-widget-button { display: block !important; text-align: center !important; }
.mm-ivf-journey-cta .elementor-button { background: #cda34e !important; border-color: #cda34e !important; color: #0c3c2b !important; }

@media (max-width: 767px) {
  main.flex-grow > .elementor > .elementor-section:not(.mmfew-widget-shell) > .elementor-container,
  .mm-native-generated-section > .elementor-container,
  .mm-native-founder-section > .elementor-container,
  .mm-native-services-section > .elementor-container,
  .mm-works-native-section > .elementor-container,
  .mm-native-contact-form-section > .elementor-container,
  .elementor-section:has(.mm-managed-appointment-form) > .elementor-container,
  .mm-exact-section-widget .max-w-7xl,
  .mm-exact-section-widget .max-w-6xl,
  .mm-exact-section-widget .max-w-5xl {
    width: min(calc(100% - 32px), var(--mm-content-frame)) !important;
  }

  .mm-ivf-journey-hero { padding-top: 78px !important; padding-bottom: 78px !important; }
  .mm-ivf-journey-hero h1.elementor-heading-title { font-size: 46px !important; }
  .mm-ivf-journey-story { padding-top: 62px !important; padding-bottom: 62px !important; }
  .mm-ivf-journey-image img { min-height: 280px !important; }
  .mm-ivf-indication-row > .elementor-container { display: block !important; }
  .mm-ivf-indication-row .elementor-column { width: 100% !important; }
  .mm-ivf-indication-row .elementor-column + .elementor-column { margin-top: 14px !important; }
  .mm-ivf-stage-card { padding: 78px 24px 24px !important; }
  .mm-ivf-stage-number { top: 22px !important; left: 24px !important; }
  .mm-ivf-journey-five-steps { padding-top: 62px !important; padding-bottom: 62px !important; }
}
