/**
 * Sensanté - Modern Design Enhancement System
 * Enhancing typography, CTA buttons, header, cards, and micro-interactions
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Outfit:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --sn-font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --sn-font-heading: 'Outfit', 'Plus Jakarta Sans', sans-serif;

  /* Refined Medical & Health Color Palette */
  --sn-primary: #0284c7;
  --sn-primary-hover: #0369a1;
  --sn-primary-gradient: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  --sn-primary-glow: rgba(2, 132, 199, 0.35);

  --sn-emerald: #059669;
  --sn-emerald-hover: #047857;
  --sn-emerald-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --sn-emerald-glow: rgba(16, 185, 129, 0.32);

  --sn-coral: #ef4444;
  --sn-coral-gradient: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);

  /* Neutrals */
  --sn-dark: #0f172a;
  --sn-slate-700: #334155;
  --sn-slate-500: #64748b;
  --sn-slate-200: #e2e8f0;
  --sn-slate-100: #f1f5f9;
  --sn-slate-50: #f8fafc;
  --sn-white: #ffffff;

  /* Elevations */
  --sn-shadow-sm: 0 2px 8px -1px rgba(15, 23, 42, 0.05);
  --sn-shadow-md: 0 8px 24px -4px rgba(15, 23, 42, 0.08), 0 2px 6px -2px rgba(15, 23, 42, 0.04);
  --sn-shadow-lg: 0 16px 36px -6px rgba(15, 23, 42, 0.12), 0 4px 12px -2px rgba(15, 23, 42, 0.05);
  --sn-shadow-hover: 0 20px 40px -8px rgba(15, 23, 42, 0.14), 0 8px 16px -4px rgba(15, 23, 42, 0.06);

  --sn-radius-sm: 8px;
  --sn-radius-md: 14px;
  --sn-radius-lg: 20px;
  --sn-radius-pill: 9999px;
  
  --sn-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================
   1. GLOBAL TYPOGRAPHY & SMOOTH RENDERING
   ========================================================== */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--sn-font-body) !important;
  color: var(--sn-slate-700);
  background-color: var(--sn-slate-50);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title {
  font-family: var(--sn-font-heading) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: var(--sn-dark);
}

/* ==========================================================
   2. HEADER & NAVIGATION ENHANCEMENT (HIGH CONTRAST & READABILITY)
   ========================================================== */
.site-header,
.elementor-1286 {
  background: #ffffff !important;
  box-shadow: 0 2px 16px -2px rgba(15, 23, 42, 0.08) !important;
}

/* Top bar with logo */
.elementor-1286 .elementor-element-fd65dca {
  background: #ffffff !important;
  padding: 10px 0 !important;
}

/* Navigation Bar Section - Edge-to-Edge Deep Ocean Teal/Blue Gradient */
.elementor-1286 .elementor-element.elementor-element-fa22e52 {
  background: linear-gradient(90deg, #063952 0%, #0b587f 50%, #063952 100%) !important;
  background-image: linear-gradient(90deg, #063952 0%, #0b587f 50%, #063952 100%) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  width: 100% !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-1286 .elementor-element.elementor-element-fa22e52 .elementor-container {
  max-width: 1280px !important;
  width: 100% !important;
  padding: 0 12px !important;
}

/* Fixed / Sticky Navigation Bar ("et fixé") */
.elementor-1286 .elementor-element.elementor-element-fa22e52.sensante-fixed-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  margin: 0 !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  background: rgba(6, 57, 82, 0.95) !important;
  animation: sensanteNavSlideDown 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

body.admin-bar .elementor-1286 .elementor-element.elementor-element-fa22e52.sensante-fixed-menu {
  top: 32px !important;
}
@media screen and (max-width: 782px) {
  body.admin-bar .elementor-1286 .elementor-element.elementor-element-fa22e52.sensante-fixed-menu {
    top: 46px !important;
  }
}

@keyframes sensanteNavSlideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

/* ==========================================================
   2.1 DESKTOP NAVIGATION (>= 1025px): 2 LIGNES PARFAITEMENT ÉQUILIBRÉES
   ========================================================== */
@media screen and (min-width: 1025px) {
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-menu-container,
  .elementskit-menu-container {
    background: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav,
  .elementor-1286 .elementskit-navbar-nav,
  .elementskit-navbar-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important; /* 10 entrées = 2 lignes de 5 colonnes égales */
    gap: 7px 10px !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 4px 12px !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a,
  .elementor-1286 .elementskit-navbar-nav > li > a,
  .elementskit-navbar-nav > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
    font-family: 'Montserrat', 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.35px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.12) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
    box-sizing: border-box !important;
  }

  /* Hover State */
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a:hover,
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:hover > a,
  .elementskit-navbar-nav > li > a:hover {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25) !important;
  }

  /* Active / Current Page State */
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li.current-menu-item > a,
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li.active > a,
  .elementskit-navbar-nav > li.current-menu-item > a,
  .elementskit-navbar-nav > li.active > a,
  .elementskit-navbar-nav > li > a.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(2, 132, 199, 0.75) 0%, rgba(14, 165, 233, 0.85) 100%) !important;
    border-color: rgba(56, 189, 248, 0.7) !important;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4) !important;
  }

  /* Desktop Submenu Dropdown Panel */
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav .elementskit-submenu-panel,
  .elementskit-navbar-nav .elementskit-submenu-panel {
    display: block !important;
    position: absolute !important;
    top: calc(100% + 5px) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(8px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s !important;
    background: rgba(7, 43, 64, 0.98) !important;
    background-image: none !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
    padding: 8px 6px !important;
    min-width: 250px !important;
    margin: 0 !important;
    z-index: 999999 !important;
  }

  /* Right-align last item (Institutions) dropdown to prevent horizontal overflow */
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:last-child .elementskit-submenu-panel,
  .elementor-1286 .elementskit-navbar-nav > li:last-child .elementskit-submenu-panel,
  .elementskit-navbar-nav > li:last-child .elementskit-submenu-panel,
  #menu-item-9860 .elementskit-submenu-panel {
    left: auto !important;
    right: 0 !important;
    transform: translateY(8px) !important;
  }

  /* Open state on Hover / Focus / Click */
  .elementor-1286 .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > .elementskit-submenu-panel,
  .elementor-1286 .elementskit-navbar-nav > li.elementskit-dropdown-has:focus-within > .elementskit-submenu-panel,
  .elementor-1286 .elementskit-navbar-nav > li.elementskit-dropdown-has > .elementskit-submenu-panel.ekit-dropdown-open-onclick,
  .elementskit-navbar-nav > li.elementskit-dropdown-has:hover > .elementskit-submenu-panel,
  .elementskit-navbar-nav > li.elementskit-dropdown-has:focus-within > .elementskit-submenu-panel,
  .elementskit-navbar-nav > li.elementskit-dropdown-has > .elementskit-submenu-panel.ekit-dropdown-open-onclick {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) translateY(0) !important;
    pointer-events: auto !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:last-child:hover > .elementskit-submenu-panel,
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:last-child:focus-within > .elementskit-submenu-panel,
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:last-child > .elementskit-submenu-panel.ekit-dropdown-open-onclick,
  .elementor-1286 .elementskit-navbar-nav > li:last-child:hover > .elementskit-submenu-panel,
  .elementor-1286 .elementskit-navbar-nav > li:last-child:focus-within > .elementskit-submenu-panel,
  .elementor-1286 .elementskit-navbar-nav > li:last-child > .elementskit-submenu-panel.ekit-dropdown-open-onclick,
  .elementskit-navbar-nav > li:last-child:hover > .elementskit-submenu-panel,
  #menu-item-9860:hover > .elementskit-submenu-panel,
  #menu-item-9860:focus-within > .elementskit-submenu-panel,
  #menu-item-9860 > .elementskit-submenu-panel.ekit-dropdown-open-onclick {
    left: auto !important;
    right: 0 !important;
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li.elementskit-dropdown-has:hover,
  .elementskit-navbar-nav > li.elementskit-dropdown-has:hover {
    z-index: 999999 !important;
  }
}

/* Submenu dropdown indicator icon */
.elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a .elementskit-submenu-indicator,
.elementskit-navbar-nav .elementskit-submenu-indicator,
.ekit-submenu-indicator-icon {
  color: #ef4444 !important;
  fill: #ef4444 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  margin-left: 6px !important;
  display: inline-block !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li:hover > a .elementskit-submenu-indicator,
.elementskit-dropdown-has:hover > a .elementskit-submenu-indicator {
  transform: rotate(180deg) !important;
  color: #f87171 !important;
}

/* Submenu Items (shared) */
.elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav .elementskit-submenu-panel > li > a,
.elementskit-submenu-panel > li > a {
  background: transparent !important;
  background-image: none !important;
  color: #f1f5f9 !important;
  font-family: 'Montserrat', 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0.2px !important;
  padding: 10px 14px !important;
  border-radius: 6px !important;
  line-height: 1.4 !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  text-shadow: none !important;
  border: 1px solid transparent !important;
  margin-bottom: 2px !important;
}

.elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover,
.elementskit-submenu-panel > li > a:hover {
  background: rgba(2, 132, 199, 0.25) !important;
  border-color: rgba(56, 189, 248, 0.3) !important;
  color: #38bdf8 !important;
  transform: translateX(4px) !important;
}

/* Submenu Highlight: Demander un rendez-vous */
.elementor-1286 .elementskit-submenu-panel > li > a[href*="rendez-vous"],
.elementskit-submenu-panel > li > a[href*="rendez-vous"] {
  background: rgba(5, 150, 105, 0.2) !important;
  border-color: rgba(16, 185, 129, 0.35) !important;
  color: #34d399 !important;
  font-weight: 700 !important;
}
.elementor-1286 .elementskit-submenu-panel > li > a[href*="rendez-vous"]:hover,
.elementskit-submenu-panel > li > a[href*="rendez-vous"]:hover {
  background: rgba(5, 150, 105, 0.35) !important;
  border-color: rgba(16, 185, 129, 0.6) !important;
  color: #ffffff !important;
}

/* ==========================================================
   2.2 TABLET NAVIGATION (768px - 1024px)
   ========================================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .elementor-1286 .elementor-element.elementor-element-fa22e52 .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 8px !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav,
  .elementor-1286 .elementskit-navbar-nav,
  .elementskit-navbar-nav {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px 6px !important;
    padding: 6px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    position: relative !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a,
  .elementor-1286 .elementskit-navbar-nav > li > a,
  .elementskit-navbar-nav > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    font-family: 'Montserrat', 'Outfit', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 8px 3px !important;
    letter-spacing: 0.1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
  }

  #menu-item-5740 > a {
    font-size: 9.5px !important;
    letter-spacing: 0 !important;
    padding: 8px 2px !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li > a::before {
    margin-right: 4px !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
  }

  .elementor-1286 .elementskit-submenu-indicator {
    font-size: 9px !important;
    margin-left: 3px !important;
    flex-shrink: 0 !important;
  }
}

/* ==========================================================
   2.25 DESKTOP NAVIGATION (> 767px): MASQUER BOUTONS MOBILES
   ========================================================== */
@media screen and (min-width: 768px) {
  .elementskit-nav-identity-panel,
  button.elementskit-menu-close,
  .elementskit-menu-close,
  button.elementskit-menu-hamburger,
  .elementskit-menu-hamburger,
  .elementskit-menu-overlay {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 0 !important;
    font-size: 0 !important;
  }
}

/* ==========================================================
   2.3 MOBILE NAVIGATION (< 768px): TIROIR OFFCANVAS HAUTE QUALITÉ
   ========================================================== */
@media screen and (max-width: 767px) {
  /* Mobile Hamburger Menu button */
  .elementskit-menu-hamburger {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 40px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    background: #073c58 !important;
    margin: 6px 12px !important;
    padding: 6px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  }

  .elementskit-menu-hamburger-icon {
    display: block !important;
    background: #ffffff !important;
    width: 24px !important;
    height: 2.5px !important;
    border-radius: 2px !important;
    margin: 2.5px 0 !important;
  }

  /* Overlay backdrop blur */
  .elementskit-menu-overlay {
    background: rgba(10, 25, 41, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
  }

  /* Offcanvas Menu Drawer: Masqué par défaut sauf si actif */
  .elementskit-menu-offcanvas-elements:not(.active) {
    display: none !important;
    visibility: hidden !important;
    transform: translateX(-100%) !important;
    pointer-events: none !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-menu-container.active,
  .elementor-1286 .elementskit-menu-container.active,
  .elementskit-navbar-nav-default.elementskit-menu-offcanvas-elements.active,
  .elementskit-menu-offcanvas-elements.active {
    background: linear-gradient(180deg, #063952 0%, #032030 100%) !important;
    max-width: 320px !important;
    width: 85vw !important;
    box-shadow: 6px 0 35px rgba(0, 0, 0, 0.65) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding: 0 0 24px 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    visibility: visible !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  /* Header Identity Panel in Offcanvas - Placed at TOP */
  .elementskit-nav-identity-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    order: -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: rgba(0, 0, 0, 0.28) !important;
    margin: 0 0 4px 0 !important;
  }

  .elementskit-nav-identity-panel::before {
    content: "MENU SENSANTÉ" !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    color: #38bdf8 !important;
    text-transform: uppercase !important;
  }

  /* Close Button */
  .elementskit-nav-identity-panel button.elementskit-menu-close,
  button.elementskit-menu-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    float: none !important;
    transition: all 0.2s ease !important;
  }

  .elementskit-nav-identity-panel button.elementskit-menu-close:hover {
    background: rgba(239, 68, 68, 0.9) !important;
    border-color: #ef4444 !important;
    transform: rotate(90deg) !important;
  }

  /* Mobile Navbar List */
  .elementor-1286 .elementskit-navbar-nav,
  .elementskit-navbar-nav {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li,
  .elementskit-navbar-nav > li {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  /* Mobile Links: Left-aligned icon + text, arrow at far right */
  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a,
  .elementor-1286 .elementskit-navbar-nav > li > a,
  .elementskit-navbar-nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 13px 18px !important;
    font-family: 'Montserrat', 'Outfit', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .elementor-1286 .elementor-element.elementor-element-094b8fe .elementskit-navbar-nav > li > a::before,
  .elementor-1286 .elementskit-navbar-nav > li > a::before,
  .elementskit-navbar-nav > li > a::before {
    margin: 0 10px 0 0 !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li > a .elementskit-submenu-indicator,
  .elementskit-navbar-nav > li > a .elementskit-submenu-indicator {
    margin-left: auto !important;
    margin-right: 0 !important;
    color: #ef4444 !important;
    font-size: 13px !important;
    border: none !important;
    padding: 6px !important;
    flex-shrink: 0 !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li > a:hover,
  .elementor-1286 .elementskit-navbar-nav > li > a:active {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #38bdf8 !important;
  }

  .elementor-1286 .elementskit-navbar-nav > li.current-menu-item > a {
    background: rgba(2, 132, 199, 0.25) !important;
    border-left: 4px solid #38bdf8 !important;
    color: #ffffff !important;
  }

  /* Submenu Panel in Mobile Drawer */
  .elementor-1286 .elementskit-navbar-nav .elementskit-submenu-panel,
  .elementskit-navbar-nav .elementskit-submenu-panel {
    position: static !important;
    min-width: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(0, 0, 0, 0.28) !important;
    padding: 4px 0 6px 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  .elementor-1286 .elementskit-navbar-nav .elementskit-submenu-panel > li,
  .elementskit-navbar-nav .elementskit-submenu-panel > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
  }

  .elementor-1286 .elementskit-navbar-nav .elementskit-submenu-panel > li > a,
  .elementskit-navbar-nav .elementskit-submenu-panel > li > a {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 10px 18px 10px 36px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #e2e8f0 !important;
    text-transform: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .elementor-1286 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover {
    color: #38bdf8 !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }

  /* Submenu CTA (Demander un rendez-vous) on mobile */
  .elementskit-navbar-nav .elementskit-submenu-panel > li > a[href*="rendez-vous"] {
    color: #34d399 !important;
    font-weight: 700 !important;
    background: rgba(5, 150, 105, 0.22) !important;
    border-left: 3px solid #10b981 !important;
    margin: 4px 12px !important;
    border-radius: 6px !important;
    padding-left: 14px !important;
  }
}

/* ==========================================================
   3. MODERN HIGH-CONVERTING CTA BUTTONS
   ========================================================== */
.elementor-button,
button.btn,
.btn-primary,
input[type="submit"] {
  font-family: var(--sn-font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  border-radius: var(--sn-radius-pill) !important;
  padding: 12px 28px !important;
  transition: var(--sn-transition) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  border: none !important;
  position: relative;
  overflow: hidden;
}

/* Default / Primary CTA styling */
.elementor-button:not(.btn-outline),
.elementor-element-def0e76 .elementor-button,
.elementor-element-01ec677 .elementor-button {
  background: var(--sn-emerald-gradient) !important;
  color: var(--sn-white) !important;
  box-shadow: 0 4px 16px -2px var(--sn-emerald-glow) !important;
}

/* Secondary / Alert CTA styling */
.elementor-element-79eee2d .elementor-button {
  background: var(--sn-coral-gradient) !important;
  color: var(--sn-white) !important;
  box-shadow: 0 4px 16px -2px rgba(244, 63, 94, 0.35) !important;
}

/* Micro-interaction on CTA Hover */
.elementor-button:hover,
button.btn:hover,
input[type="submit"]:hover {
  transform: translateY(-2.5px) !important;
  box-shadow: 0 10px 24px -2px var(--sn-emerald-glow) !important;
}

.elementor-element-79eee2d .elementor-button:hover {
  box-shadow: 0 10px 24px -2px rgba(244, 63, 94, 0.45) !important;
}

/* Active Click Feedback */
.elementor-button:active,
button.btn:active,
input[type="submit"]:active {
  transform: translateY(0px) scale(0.98) !important;
  box-shadow: 0 2px 6px -1px var(--sn-primary-glow) !important;
}

/* Subtle Shimmer highlight */
.elementor-button::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.22) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transition: all 0.6s ease;
}

.elementor-button:hover::after {
  left: 150%;
}

/* ==========================================================
   4. SERVICE CARDS & COUNTERS (ELEGANT BORDER & SHADOW)
   ========================================================== */
/* Replace heavy 5px borders and harsh 0.5 black shadows */
.elementor-element-7e96a041 > .elementor-element-populated,
.elementor-element-30e083eb > .elementor-element-populated,
.elementor-element-7caf3eae > .elementor-element-populated,
.elementor-element-e83642c > .elementor-element-populated,
.elementor-element-3f0a013 > .elementor-element-populated,
.elementor-element-db930b2 > .elementor-element-populated,
.elementor-element-7560cf4 > .elementor-element-populated {
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  border-radius: var(--sn-radius-lg) !important;
  background: #ffffff !important;
  box-shadow: var(--sn-shadow-md) !important;
  transition: var(--sn-transition) !important;
}

/* Hover Lift on Cards */
.elementor-element-7e96a041 > .elementor-element-populated:hover,
.elementor-element-30e083eb > .elementor-element-populated:hover,
.elementor-element-7caf3eae > .elementor-element-populated:hover,
.elementor-element-e83642c > .elementor-element-populated:hover,
.elementor-element-3f0a013 > .elementor-element-populated:hover,
.elementor-element-db930b2 > .elementor-element-populated:hover,
.elementor-element-7560cf4 > .elementor-element-populated:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--sn-shadow-hover) !important;
  border-color: rgba(2, 132, 199, 0.4) !important;
}

/* Icon box adjustments */
.elementor-icon-box-title {
  font-family: var(--sn-font-heading) !important;
  font-weight: 700 !important;
  color: var(--sn-dark) !important;
  text-shadow: none !important;
}

.elementor-icon-box-description {
  font-family: var(--sn-font-body) !important;
  color: var(--sn-slate-500) !important;
  text-shadow: none !important;
  line-height: 1.6;
}

/* Modern Counter Numbers */
.elementor-counter-number-wrapper {
  font-family: var(--sn-font-heading) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em;
}

.elementor-counter-title {
  font-family: var(--sn-font-body) !important;
  font-weight: 600 !important;
  color: var(--sn-slate-600) !important;
}

/* ==========================================================
   HERO SECTION (.elementor-element-c81ba39) & BACKGROUND VIDEO FIX
   Correction absolue du problème "l'affichage normal dure 1 seconde" :
   La vidéo d'arrière-plan Elementor était en position: static et poussait
   tout le contenu (barre de recherche, texte, slider) de 805px vers le bas.
   ========================================================== */
.elementor-element-c81ba39 {
  position: relative !important;
  overflow: hidden !important;
  min-height: 520px !important;
  border-radius: 0 0 32px 32px !important;
}

.elementor-1286,
.elementor-1286 section,
.elementor-1286 .elementor-section,
.elementor-element-81c5a6e {
  min-height: unset !important;
  height: auto !important;
}

/* Conteneur vidéo d'arrière-plan en position absolue stricte derrière le contenu */
.elementor-background-video-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.elementor-background-video-hosted {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  min-width: 100% !important;
  min-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: cover !important;
  z-index: 0 !important;
}

.elementor-background-overlay {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(135deg, rgba(6, 40, 61, 0.76) 0%, rgba(3, 105, 161, 0.42) 100%) !important;
}

/* Le conteneur de contenu doit être au premier plan (z-index 2) */
.elementor-element-c81ba39 > .elementor-container,
.elementor-section > .elementor-container {
  position: relative !important;
  z-index: 2 !important;
}

/* Alignement élégant côte à côte des deux colonnes sur écran ordinateur */
@media screen and (min-width: 768px) {
  .elementor-element-c81ba39 > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    padding: 32px 40px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
  }

  .elementor-element-c81ba39 > .elementor-container > .elementor-column.elementor-col-50 {
    width: 48% !important;
    max-width: 48% !important;
    flex: 0 0 48% !important;
  }
}

/* Sur mobile : disposition verticale propre et espacée */
@media screen and (max-width: 767px) {
  .elementor-element-c81ba39 > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 16px 28px 16px !important;
    gap: 20px !important;
  }

  .elementor-element-c81ba39 > .elementor-container > .elementor-column.elementor-col-50 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Typographie haute lisibilité et contraste du Hero Header */
.elementor-element-c81ba39 .elementor-heading-title {
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 28px !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7) !important;
  margin-bottom: 12px !important;
}

.elementor-element-c81ba39 p,
.elementor-element-c81ba39 .elementor-text-editor {
  color: #f1f5f9 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
}

.elementor-element-c81ba39 .elementor-divider-separator {
  border-color: rgba(56, 189, 248, 0.7) !important;
  border-width: 2px !important;
  width: 60px !important;
}

/* Floating Partner Logos & Carousel */
.elementskit-clients-slider .single-client {
  transition: var(--sn-transition);
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementskit-clients-slider .single-client:hover img {
  transform: scale(1.08);
  transition: var(--sn-transition);
}

/* ==========================================================
   5. FOOTER POLISH & REFINEMENT
   ========================================================== */
.elementor-1287,
.elementor-1287 .elementor-element-2b750a3 {
  background: var(--sn-dark) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.elementor-1287 .elementor-heading-title {
  color: var(--sn-white) !important;
}

.elementor-1287 a {
  color: var(--sn-slate-200) !important;
  transition: var(--sn-transition);
}

.elementor-1287 a:hover {
  color: var(--sn-primary) !important;
  transform: translateX(3px);
}

/* ==========================================================
   6. COMPREHENSIVE ICON ENHANCEMENT & MEDICAL ICONS
   ========================================================== */

/* Universal SVG & Icon rendering */
.e-font-icon-svg,
svg.e-font-icon-svg {
  width: 1em !important;
  height: 1em !important;
  display: inline-block !important;
  fill: currentColor !important;
  vertical-align: -0.125em !important;
}

/* Ensure animation containers never remain hidden */
.elementor-invisible {
  visibility: visible !important;
}

/* Navigation Menu Icons */
.elementskit-navbar-nav > li > a::before,
.elementskit-navbar-nav .elementskit-submenu-panel > li > a::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
  font-weight: 900 !important;
  display: inline-block !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased;
  margin-right: 7px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  opacity: 0.95;
  transition: transform 0.2s ease;
}

/* Menu Item Specific Icons */
#menu-item-8683 > a::before,
a[href="http://localhost:8000/"]::before,
a[href="/"]::before {
  content: "\f015" !important; /* fa-home */
}

#menu-item-6537 > a::before {
  content: "\f0f0" !important; /* fa-user-md */
}

#menu-item-2116 > a::before,
a[href*="/generalistes/"]::before {
  content: "\f0f1" !important; /* fa-stethoscope */
  color: #0284c7 !important;
}

#menu-item-2117 > a::before,
a[href*="/specialistes-"]::before {
  content: "\f0f0" !important; /* fa-user-md */
  color: #0284c7 !important;
}

#menu-item-1901 > a::before,
a[href*="/pharmacies/"]::before {
  content: "\f46b" !important; /* fa-capsules */
}

#menu-item-1900 > a::before,
a[href*="/dentistes-"]::before {
  content: "\f5c9" !important; /* fa-tooth */
}

#menu-item-1899 > a::before,
a[href*="/veterinaires-"]::before {
  content: "\f1b0" !important; /* fa-paw */
}

#menu-item-5694 > a::before,
a[href*="/cliniques-"]::before {
  content: "\f0f8" !important; /* fa-hospital */
}

#menu-item-2628 > a::before,
a[href*="/hopitaux/"]::before {
  content: "\f0f8" !important; /* fa-hospital */
}

#menu-item-5740 > a::before,
a[href*="/labo-analyses/"]::before {
  content: "\f610" !important; /* fa-microscope */
}

#menu-item-1897 > a::before,
a[href*="/paramedicaux-"]::before {
  content: "\f82f" !important; /* fa-user-nurse */
}

#menu-item-9860 > a::before {
  content: "\f19c" !important; /* fa-university / institution */
}

#menu-item-2416 > a::before,
a[href*="/assurances-maladies/"]::before {
  content: "\f3ed" !important; /* fa-shield-alt */
  color: #059669 !important;
}

#menu-item-5646 > a::before,
a[href*="/ecoles-de-formation/"]::before {
  content: "\f19d" !important; /* fa-graduation-cap */
  color: #0284c7 !important;
}

#menu-item-2348 > a::before,
a[href*="/ipm/"]::before {
  content: "\f2c2" !important; /* fa-id-card */
  color: #f59e0b !important;
}

.elementskit-navbar-nav > li > a:hover::before,
.elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover::before {
  transform: scale(1.18);
}

/* Service Cards (Icon Boxes) */
.elementor-widget-icon-box .elementor-icon-box-icon {
  margin-bottom: 16px !important;
  display: inline-flex !important;
  justify-content: center !important;
  width: 100% !important;
}

.elementor-widget-icon-box .elementor-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.1) 0%, rgba(3, 105, 161, 0.18) 100%) !important;
  color: #0284c7 !important;
  fill: #0284c7 !important;
  box-shadow: 0 4px 14px -2px rgba(2, 132, 199, 0.2) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
  color: #0284c7 !important;
  fill: #0284c7 !important;
  font-size: 32px !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 1 !important;
  transition: transform 0.3s ease !important;
}

.elementor-widget-icon-box:hover .elementor-icon {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  box-shadow: 0 10px 24px -2px rgba(2, 132, 199, 0.45) !important;
  transform: translateY(-4px) scale(1.05) !important;
}

.elementor-widget-icon-box:hover .elementor-icon i,
.elementor-widget-icon-box:hover .elementor-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  transform: scale(1.12);
}

/* Social Icons in Header & Footer */
.elementor-widget-social-icons .elementor-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-widget-social-icons .elementor-social-icon i,
.elementor-widget-social-icons .elementor-social-icon svg {
  font-size: 19px !important;
  width: 19px !important;
  height: 19px !important;
  color: #ffffff !important;
  fill: #ffffff !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.elementor-widget-social-icons .elementor-social-icon:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 8px 20px -2px rgba(0, 0, 0, 0.35) !important;
}

/* Footer Contact List Icons */
.elementor-widget-icon-list .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 12px !important;
  width: 22px !important;
  height: 22px !important;
  flex-shrink: 0 !important;
}

.elementor-widget-icon-list .elementor-icon-list-icon i,
.elementor-widget-icon-list .elementor-icon-list-icon svg {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  color: #10b981 !important;
  fill: #10b981 !important;
}

/* Button CTA Icons */
.elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 8px !important;
}

.elementor-button-icon i,
.elementor-button-icon svg {
  font-size: 1.15em !important;
  width: 1.15em !important;
  height: 1.15em !important;
  color: inherit !important;
  fill: currentColor !important;
}

/* Counter & Stats Icons */
.elementor-widget-counter .elementor-counter-number-prefix i,
.elementor-widget-counter .elementor-counter-number-prefix svg,
.elementor-widget-counter .elementor-counter-number-suffix i,
.elementor-widget-counter .elementor-counter-number-suffix svg {
  display: inline-block !important;
  font-size: 0.85em !important;
  vertical-align: middle !important;
  color: var(--sn-primary) !important;
  fill: var(--sn-primary) !important;
}

/* ==========================================================
   10. DEMANDER UN RENDEZ-VOUS - CTA & EVEREST FORM STYLING
   ========================================================== */

/* Navbar CTA Button - Demander un rendez-vous */
#menu-item-11561 {
  margin-left: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
}

#menu-item-11561 > a.ekit-menu-nav-link {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  font-family: var(--sn-font-heading) !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  padding: 8px 18px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px -1px rgba(16, 185, 129, 0.45) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  letter-spacing: 0.01em !important;
}

#menu-item-11561 > a.ekit-menu-nav-link::before {
  content: "\f274" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 13px !important;
}

#menu-item-11561 > a.ekit-menu-nav-link:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 8px 20px -2px rgba(16, 185, 129, 0.6) !important;
}

/* Homepage Service Card Button */
.elementor-element.elementor-element-rv_btn_6128 {
  margin-top: 14px !important;
  margin-bottom: 6px !important;
}

.elementor-element.elementor-element-rv_btn_6128 .elementor-button {
  background: linear-gradient(135deg, #0284c7 0%, #0ea5e9 100%) !important;
  color: #ffffff !important;
  font-family: var(--sn-font-heading) !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  padding: 10px 22px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 14px -2px rgba(2, 132, 199, 0.4) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  border: none !important;
}

.elementor-element.elementor-element-rv_btn_6128 .elementor-button:hover {
  background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%) !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 22px -2px rgba(2, 132, 199, 0.55) !important;
}

/* ==========================================================
   11. COMPREHENSIVE EVEREST FORMS & APPOINTMENT MODAL STYLING
   ========================================================== */

/* Universal Form Container (Both on Dedicated Page and Inside Doctor Modals) */
.everest-forms,
.page-id-8555 .everest-forms,
.page-id-6128 .everest-forms,
.ekit-team-modal-content .everest-forms {
  max-width: 100% !important;
  margin: 0 auto;
  background: #ffffff;
  padding: 10px 0;
  border-radius: 16px;
}

.page-id-6128 .everest-forms {
  max-width: 900px !important;
  padding: 35px 40px !important;
  box-shadow: 0 10px 35px -5px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(226, 232, 240, 0.8) !important;
}

/* Modal Popup Window Styling */
.mfp-bg {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99998 !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  opacity: 0.85 !important;
}

.mfp-wrap {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999 !important;
  outline: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.mfp-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: 40px 16px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  overflow-y: auto !important;
}

.mfp-container:before {
  content: '' !important;
  display: inline-block !important;
  height: 100% !important;
  vertical-align: middle !important;
  margin-right: -0.25em !important;
}

.mfp-content {
  position: relative !important;
  display: inline-block !important;
  margin: 0 auto !important;
  max-width: 840px !important;
  width: 100% !important;
  z-index: 100000 !important;
  vertical-align: middle !important;
  text-align: left !important;
}

/* CRITICAL: Always reveal modal inside popup wrapper, overriding .mfp-hide { display: none !important } */
.mfp-wrap .elementskit-team-popup,
.mfp-content .elementskit-team-popup,
.mfp-content .zoom-anim-dialog,
.mfp-content .mfp-hide {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.mfp-content .modal-dialog {
  max-width: 100% !important;
  margin: 0 !important;
  border: none !important;
}

/* Doctor Appointment Modal Dialog Card */
.mfp-content .modal-content,
.mfp-content .elementskit-team-popup .modal-content {
  background: #ffffff !important;
  border-radius: 24px !important;
  box-shadow: 0 25px 60px -12px rgba(15, 23, 42, 0.4), 0 0 0 1px rgba(226, 232, 240, 0.8) !important;
  border: none !important;
  overflow: hidden !important;
  position: relative !important;
  padding: 0 !important;
  animation: snModalScaleIn 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes snModalScaleIn {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(12px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.mfp-content .modal-body,
.mfp-content .elementskit-team-popup .modal-body {
  padding: 34px 34px !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 28px !important;
  align-items: flex-start !important;
}

@media (max-width: 768px) {
  .mfp-content .modal-body,
  .mfp-content .elementskit-team-popup .modal-body {
    flex-direction: column !important;
    padding: 24px 18px !important;
    gap: 18px !important;
  }
}

.mfp-content .ekit-team-modal-img {
  flex: 0 0 210px !important;
  max-width: 210px !important;
  width: 210px !important;
  margin: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.12) !important;
}

.mfp-content .ekit-team-modal-img img {
  width: 100% !important;
  height: 270px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px !important;
}

@media (max-width: 768px) {
  .mfp-content .ekit-team-modal-img {
    flex: 0 0 auto !important;
    max-width: 140px !important;
    width: 140px !important;
    margin: 0 auto !important;
  }
  .mfp-content .ekit-team-modal-img img {
    height: 160px !important;
  }
}

.mfp-content .ekit-team-modal-info {
  flex: 1 1 0% !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}

.mfp-content .ekit-team-modal-title {
  font-family: var(--sn-font-heading) !important;
  font-weight: 800 !important;
  font-size: 23px !important;
  color: #0f172a !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: -0.02em !important;
}

.mfp-content .ekit-team-modal-position {
  font-family: var(--sn-font-body) !important;
  font-size: 14.5px !important;
  color: #0284c7 !important;
  font-weight: 600 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* Modal Close Button */
.mfp-content .ekit-team-modal-close,
.mfp-wrap button.mfp-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 100 !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-size: 18px !important;
  opacity: 1 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.mfp-content .ekit-team-modal-close:hover,
.mfp-wrap button.mfp-close:hover {
  background: #fee2e2 !important;
  color: #ef4444 !important;
  transform: scale(1.08) rotate(90deg) !important;
}

/* Field Labels */
.everest-forms .evf-field-label,
.evf-field-label {
  font-family: var(--sn-font-heading) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1e293b !important;
  margin-bottom: 7px !important;
  display: inline-block !important;
}

.everest-forms .evf-field-label abbr.required {
  color: #ef4444 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  margin-left: 3px;
}

/* Inputs, Textareas, Selects */
.everest-forms input[type="text"],
.everest-forms input[type="email"],
.everest-forms input[type="tel"],
.everest-forms textarea,
.everest-forms select {
  font-family: var(--sn-font-body) !important;
  font-size: 14px !important;
  color: #1e293b !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
  background: #f8fafc !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.everest-forms textarea {
  min-height: 90px !important;
  resize: vertical;
}

.everest-forms input:focus,
.everest-forms textarea:focus,
.everest-forms select:focus {
  background: #ffffff !important;
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3.5px rgba(2, 132, 199, 0.15) !important;
  outline: none !important;
}

/* Phone Field (intlTelInput) */
.everest-forms .iti {
  width: 100% !important;
}

.everest-forms .iti__country-list {
  border-radius: 12px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid #e2e8f0 !important;
  z-index: 100002 !important;
}

/* Emergency Checkbox Highlight */
.everest-forms .evf-field-checkbox {
  margin-top: 10px !important;
  margin-bottom: 15px !important;
}

.everest-forms .evf-field-checkbox ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.everest-forms .evf-field-checkbox li {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Submit Buttons */
.everest-forms-submit-button,
button[name="everest_forms[submit]"],
.evf-submit {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
  font-family: var(--sn-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.01em !important;
  padding: 13px 32px !important;
  border-radius: 9999px !important;
  border: none !important;
  box-shadow: 0 4px 16px -2px rgba(16, 185, 129, 0.5) !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 12px !important;
  width: 100% !important;
}

.everest-forms-submit-button:hover,
button[name="everest_forms[submit]"]:hover,
.evf-submit:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
  transform: translateY(-2px) scale(1.01) !important;
  box-shadow: 0 8px 24px -2px rgba(16, 185, 129, 0.65) !important;
}

/* Processing State */
.everest-forms-submit-button:disabled,
button[name="everest_forms[submit]"]:disabled {
  opacity: 0.8 !important;
  cursor: wait !important;
  background: #64748b !important;
  transform: none !important;
}

/* Success & Confirmation Notices */
.everest-forms-notice--success,
.everest-forms-submission-scroll {
  background: #f0fdf4 !important;
  border: 1.5px solid #86efac !important;
  color: #166534 !important;
  font-family: var(--sn-font-body) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  padding: 18px 22px !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 18px -2px rgba(16, 185, 129, 0.15) !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.everest-forms-notice--success::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #10b981;
  color: #ffffff;
  border-radius: 50%;
  font-weight: 900;
  font-size: 16px;
  flex-shrink: 0;
}

/* Error Notices */
.everest-forms-notice--error,
label.everest-forms-error {
  color: #dc2626 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  margin-top: 5px !important;
  display: block !important;
}

/* ==========================================================
   12. DOCTOR CARDS & DIRECT APPOINTMENT BUTTONS
   ========================================================== */

/* Main Appointment Section on /rendez-vous/ */
.elementor-section.elementor-element-rdv_main_form_section {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 45px -8px rgba(15, 23, 42, 0.08) !important;
  margin-top: 25px !important;
  margin-bottom: 50px !important;
  padding: 40px 35px !important;
}

/* Doctor Card Styling */
.elementor-widget-elementskit-team .profile-card {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border-radius: 20px !important;
  padding: 24px 20px !important;
  border: 1.5px solid #e2e8f0 !important;
  background: #ffffff !important;
  box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.elementor-widget-elementskit-team .profile-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 36px -4px rgba(2, 132, 199, 0.18) !important;
  border-color: #0284c7 !important;
}

.elementor-widget-elementskit-team .profile-header img {
  border-radius: 16px !important;
  transition: transform 0.3s ease !important;
}

.elementor-widget-elementskit-team .profile-card:hover .profile-header img {
  transform: scale(1.03) !important;
}

/* Doctor Card 'Prendre Rendez-vous' CTA Button */
.btn-doctor-rdv-action {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  font-family: var(--sn-font-heading) !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.01em !important;
  padding: 10px 22px !important;
  border-radius: 9999px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 4px 14px -2px rgba(2, 132, 199, 0.45) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  margin-top: 10px !important;
}

.btn-doctor-rdv-action:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  transform: translateY(-2px) scale(1.03) !important;
  box-shadow: 0 8px 22px -2px rgba(2, 132, 199, 0.6) !important;
  color: #ffffff !important;
}

/* ==========================================================
   12. MENU SUR 2 LIGNES, COMPTEURS, CTA FLOTTANTS & RESPONSIVE
   ========================================================== */

/* ---- 12.1 Menu principal : optimisé et consolidé dans la Section 2 ---- */
.elementor-button .elementor-button-text {
  white-space: nowrap !important;
}

/* ---- 12.2 Compteurs (Acteurs / Structures ...) toujours visibles ---- */
.elementor-widget-counter .elementor-counter-number-wrapper {
  color: #0b5f84 !important;
  font-size: clamp(2.1rem, 4vw, 3.2rem) !important;
  line-height: 1.1 !important;
}
@supports (-webkit-background-clip: text) {
  .elementor-widget-counter .elementor-counter-number-wrapper {
    background: linear-gradient(135deg, #0284c7 0%, #0b5f84 55%, #059669 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.elementor-widget-counter .elementor-counter-title {
  color: var(--sn-slate-700) !important;
  font-size: clamp(0.95rem, 1.4vw, 1.1rem) !important;
  text-align: center;
}
.elementor-widget-counter .elementor-counter {
  padding: 22px 10px !important;
}

/* ---- 12.3 Boutons du pied de page (Appeler / Rendez-vous) ---- */
.elementor-1287 .sn-footer-call .elementor-button,
.elementor-1287 .sn-footer-rdv .elementor-button {
  width: 100%;
  max-width: 420px;
  font-size: clamp(1rem, 2.2vw, 1.5rem) !important;
  padding: 16px 28px !important;
  white-space: normal !important;
  text-align: center;
}
.elementor-1287 .sn-footer-call .elementor-button {
  background: var(--sn-coral-gradient) !important;
  box-shadow: 0 10px 26px -6px rgba(225, 29, 72, 0.55) !important;
}
.elementor-1287 .sn-footer-rdv .elementor-button {
  background: var(--sn-emerald-gradient) !important;
  box-shadow: 0 10px 26px -6px rgba(5, 150, 105, 0.55) !important;
}
.elementor-1287 .sn-footer-call a:hover,
.elementor-1287 .sn-footer-rdv a:hover {
  transform: translateY(-3px) !important;
  color: #ffffff !important;
}

/* Nettoyage des éléments parasites (vieux boutons AFC, popups vides, texte brut) */
#afc_sidebar_6127,
.afc_popup,
[id^="afc_sidebar_"],
[id^="afc_"],
.ppsPopupClose_yellow_close,
.ppsPopupClose,
.ppsPopup,
.ppsPopupOverlay,
[id^="ppsPopup"],
.pum-overlay,
.pum-container,
[id^="pum-"],
.om-holder,
.om-overlay,
.spu-box,
.spu-bg,
.main-title.bhf-hidden,
p.main-title {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Positionnement du sélecteur de langue (GTranslate) en bas à droite pour ne rien chevaucher */
.gtranslate_wrapper,
#gt-wrapper-68005346 {
  position: fixed !important;
  bottom: 16px !important;
  right: 16px !important;
  z-index: 99980 !important;
}

/* ---- Optimisation de la barre de recherche Ivory Search / Add Search To Menu ---- */
.is-search-form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 480px !important;
  margin: 14px 0 20px 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #0284c7 !important;
  border-radius: 50px !important;
  padding: 4px 6px 4px 18px !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.12) !important;
  transition: all 0.25s ease !important;
}
.is-search-form:focus-within {
  border-color: #0369a1 !important;
  box-shadow: 0 6px 20px rgba(2, 132, 199, 0.22) !important;
}
.is-search-form label {
  flex: 1 1 auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.is-search-form .is-screen-reader-text {
  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;
}
.is-search-form .is-search-input {
  width: 100% !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #1e293b !important;
  padding: 8px 4px !important;
}
.is-search-form .is-search-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: #0284c7 !important;
  border: none !important;
  color: #ffffff !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease !important;
}
.is-search-form .is-search-submit:hover {
  background: #0369a1 !important;
  transform: scale(1.05) !important;
}
.is-search-form .is-search-icon svg {
  fill: #ffffff !important;
  width: 17px !important;
  height: 17px !important;
}

/* Espacement et lisibilité des blocs Elementor */
.elementor-element-e3964fb {
  padding-left: 20px !important;
}
@media screen and (min-width: 1024px) {
  .elementor-element-e3964fb {
    padding-left: 32px !important;
  }
}

/* ---- 12.4 Boutons flottants attachés à la page (Centrés à gauche) ---- */
.sn-fab-dock {
  position: fixed !important;
  left: 16px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  pointer-events: none !important;
}
.sn-fab {
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 10px 18px 10px 13px !important;
  border-radius: var(--sn-radius-pill) !important;
  font-family: var(--sn-font-heading) !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 26px -6px rgba(15, 23, 42, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease !important;
  animation: snFabIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}
.sn-fab:hover,
.sn-fab:focus-visible {
  transform: translateX(4px) scale(1.02) !important;
  box-shadow: 0 14px 30px -6px rgba(15, 23, 42, 0.5) !important;
  color: #ffffff !important;
}
.sn-fab:focus-visible {
  outline: 3px solid #fde68a !important;
  outline-offset: 3px !important;
}
.sn-fab__icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.2) !important;
  font-size: 14px !important;
  flex: none !important;
}
.sn-fab__text small {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  opacity: 0.9 !important;
  letter-spacing: 0.02em !important;
}
.sn-fab--rdv {
  background: var(--sn-emerald-gradient) !important;
}
.sn-fab--call {
  background: var(--sn-coral-gradient) !important;
  animation-delay: 0.12s !important;
}
.sn-fab--call .sn-fab__icon {
  animation: snRing 2.8s ease-in-out infinite !important;
}
@keyframes snFabIn {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes snRing {
  0%, 70%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); }
  85%           { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .sn-fab, .sn-fab--call .sn-fab__icon { animation: none !important; }
}

/* Mobile : boutons également centrés à gauche de manière compacte et ergonomique */
@media screen and (max-width: 767px) {
  .sn-fab-dock {
    left: 10px !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .sn-fab {
    flex: none !important;
    margin: 0 !important;
    padding: 10px 14px 10px 10px !important;
    font-size: 13px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.4) !important;
  }
  .sn-fab__icon { width: 28px !important; height: 28px !important; font-size: 13px !important; }
  .sn-fab__text small { display: block !important; font-size: 10px !important; }
  body { padding-bottom: 0 !important; }

  /* Masque le dock quand le tiroir de menu mobile est ouvert pour ne pas gêner la navigation */
  body.sensante-mobile-menu-active .sn-fab-dock,
  .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] ~ .sn-fab-dock,
  .is-menu-open .sn-fab-dock {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

/* ---- 12.5 Responsive global (toutes les pages) ---- */
html, body {
  max-width: 100%;
  overflow-x: clip;
}
img, video, iframe, embed, object {
  max-width: 100%;
}
img {
  height: auto;
}
.elementor-widget-video iframe,
.elementor-widget-shortcode iframe {
  width: 100%;
}
.tablepress, .wp-block-table table, .entry-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
a, p, li, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* Compteurs en grille 2 x 2 sur tablette */
  .elementor-element-55cb064 > .elementor-container {
    flex-wrap: wrap !important;
  }
  .elementor-element-55cb064 > .elementor-container > .elementor-column {
    width: calc(50% - 0px) !important;
  }
  .elementor-section > .elementor-container {
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media screen and (max-width: 767px) {
  .elementor-section.elementor-element-55cb064,
  .elementor-section.elementor-element-232e6c8 {
    padding: 24px 12px !important;
  }
  .elementor-section .elementor-column > .elementor-element-populated {
    margin: 8px 0 !important;
  }
  .elementor-heading-title {
    font-size: clamp(1.35rem, 6vw, 2rem) !important;
    line-height: 1.25 !important;
  }
  .elementor-1287 .elementor-heading-title {
    font-size: clamp(1rem, 4.5vw, 1.25rem) !important;
  }
  .elementor-widget-text-editor {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  .elementor-button {
    max-width: 100%;
    white-space: normal !important;
  }
  .elementor-element-c81ba39 {
    border-radius: 0 0 20px 20px;
  }
  /* Bas de page : liens centrés et empilés */
  .elementor-1287 .elementor-element-2b750a3 .elementor-column {
    width: 100% !important;
    text-align: center;
  }
}





