.elementor-2 .elementor-element.elementor-element-0c54f71{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2 .elementor-element.elementor-element-ada1916{width:var( --container-widget-width, 96% );max-width:96%;--container-widget-width:96%;--container-widget-flex-grow:0;}.elementor-2 .elementor-element.elementor-element-ada1916.elementor-element{--align-self:center;}.elementor-2 .elementor-element.elementor-element-ada1916 > .elementor-widget-container{border-radius:20px 20px 20px 20px;}.elementor-2 .elementor-element.elementor-element-ada1916 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-2 .elementor-element.elementor-element-3a5d878{--spacer-size:20px;}.elementor-2 .elementor-element.elementor-element-c1fc5d4{--spacer-size:50px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-ee6f623 */@media(max-width:900px){
/* --- CSS MOBILE-FIRST OPTIMISÉ POUR TA PAGE (Correctif marges & bordures) --- */

/* RESET GLOBAL */
* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  font-family: Inter, Poppins, sans-serif;
  background: #FFFFFF;
  overflow-x: hidden;
  color: #333;
}

/* SUPPRESSION DES EFFETS DE BORDURES LILAS */
.bg-wave { display: none !important; }

/* WRAPPER */
section {
  width: 100%;
  margin: 24px 0;
  padding: 0 20px;
  max-width: 100%;
}

/* --- HERO --- */
.hero {
  width: 100%;
  background: #fff;
  padding: 26px 18px;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.tagline {
  display: inline-block;
  background: rgba(100,181,246,0.15);
  color: #1F247C;
  padding: 6px 12px;
  border-radius: 14px;
  font-weight: 600;
  text-align: center;
  font-size: .88rem;
  margin: 0 auto;
}

.hero-left h1 {
  font-size: 1.75rem;
  text-align: center;
  margin: 10px 0;
  line-height: 1.25;
}
.hero-left p {
  font-size: .95rem;
  text-align: center;
  margin-bottom: 14px;
  color: #555;
}

.btn-primary {
  width: 100%;
  padding: 14px 18px;
  background: linear-gradient(135deg,#64B5F6,#9B6BFF);
  text-align: center;
  color: #fff;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(100,181,246,.25);
  transition: .3s;
}
.btn-primary:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg,#9B6BFF,#1F247C);
}

/* --- STATS --- */
.stats {
  display: flex;
  justify-content: center;
  gap: 26px;
  margin-top: 6px;
}
.stats span { font-size: 1.35rem; font-weight: 800; }
.stat-blue span {
  color:#64B5F6;
  font-size:1.45rem;
  font-weight:800;
  display:block;
  line-height:1.1;
  white-space:nowrap;
  letter-spacing:0.5px;
}
.stat-violet span {
  color:#9B6BFF;
  font-size:1.45rem;
  font-weight:800;
  display:block;
  line-height:1.1;
  white-space:nowrap;
  letter-spacing:0.5px;
}
.stats p {
  font-size: .85rem;
  margin-top: 4px;
  text-align: center;
  line-height: 1.2;
  white-space: normal;
  display: block;
  max-width: 110px;
  margin-left: auto;
  margin-right: auto;
}

/* --- CALENDRIER --- */
.hero-right { width: 100%; display: flex; justify-content: center; margin-top: 4px; }
.calendar-widget {
  width: 260px;
  background: #fff;
  padding: 12px 0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #1F247C;
  font-weight: 600;
  font-size: .92rem;
  margin-bottom: 4px;
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7,1fr);
  gap: 4px;
  font-size: .8rem;
}
.calendar-date {
  padding: 7px 0;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
}
.today { background: #FFD54F; color: #1F247C; font-weight: 700; }

/* --- FEATURES --- */
.features {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}
.feature {
  background: #F7F8FF;
  padding: 16px 12px;
  border-radius: 12px;
  border: 1px solid #e1e4ff;
  text-align: center;
}
.feature h3 { font-size: 1rem; color: #1F247C; margin-top: 6px; }
.feature p { font-size: .85rem; color: #4a4a4a; }

/* --- PROF SECTION --- */
.prof {
  background: #fff;
  padding: 26px 16px;
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
  border-radius: 0;
  box-shadow: none;
}
.prof img {
  width:300px;
  height:300px;
  object-fit:cover;
  border-radius:16px;
  display:block;
  margin:0 auto;
}
.prof-text h2 {
  font-size:1.55rem;
  font-weight:700;
  color:#1F247C;
  line-height:1.3;
  margin:0 auto 12px auto;
  max-width:100%;
  text-align:center;
  display:block;
  padding-left:0;
  position:relative;
}
.prof-text h2::before {
  content:"";
}
.prof-text .heart-title {
  display:block;
  font-size:1.4rem;
  margin-bottom:6px;
}

.prof-text h3 {
  text-align:center;
  margin-top:4px;
}
.prof-text p {
  font-size: .9rem;
  color: #555;
  line-height: 1.55;
  max-width: 520px;
  margin: 0 auto 14px auto;
  text-align: justify;
}

/* --- CARDS --- */
.card-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}
.card-item {
  background: #F6F9FF;
  border-radius: 12px;
  padding: 14px;
  text-align: center;
  border: 1px solid rgba(100,181,246,.2);
  box-shadow: 0 4px 12px rgba(100,181,246,.15);
}
.card-item span { font-size: .9rem; color: #1F247C; font-weight: 600; }
}/* End custom CSS */
/* Start custom CSS */<style>
:root{
  --blue-dark:#1F247C; --blue-light:#64B5F6; --violet:#9B6BFF; --white:#FFFFFF; --text:#333333;
  --success:#2DBE7B; --warning:#FFD54F; --error:#E95858;
  --bg-grad-start:#F6F9FF; --bg-grad-end:#F4EFFF;
  --font-sans:"Inter","Poppins",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --space-0:0; --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --radius-sm:10px; --radius-md:15px; --radius-lg:20px;
  --shadow-sm:0 4px 14px rgba(0,0,0,.06);
  --shadow-md:0 6px 24px rgba(0,0,0,.08);
  --shadow-lg:0 10px 30px rgba(100,181,246,.18);
  --ease:cubic-bezier(.2,.6,.2,1); --dur:.25s;
  --container:1100px; --gutter:20px;
}

/* Base + lissage du fond (supprime la “ligne”) */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:var(--font-sans); color:var(--text);
  background:
    linear-gradient(180deg, var(--bg-grad-start) 0%, #EEF3FF 48%, var(--bg-grad-end) 100%);
  /* anti-banding subtil */
  background-attachment: fixed;
  overflow-x:hidden;
}
main{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
section{position:relative;z-index:1;margin-block:var(--space-6)}
section:first-of-type{margin-block-start:var(--space-4)}
section:last-of-type{margin-block-end:var(--space-4)}

/* vague douce étendue */
.bg-wave{position:fixed;inset:-20% -10%;pointer-events:none;z-index:0;
  background:
    radial-gradient(50% 40% at 15% 20%, rgba(100,181,246,.22) 0%, transparent 100%),
    radial-gradient(40% 35% at 80% 85%, rgba(155,107,255,.22) 0%, transparent 100%);
  filter:blur(140px); animation:waveMove 12s var(--ease) infinite alternate; opacity:.9}
@keyframes waveMove{from{transform:translateY(-16px)}to{transform:translateY(16px)}}

/* ---------- HERO ---------- */
.hero{
  display:flex;gap:var(--space-6);align-items:center;flex-wrap:wrap;
  background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  padding:var(--space-6) var(--space-6);
}
.hero-left{flex:1 1 520px;min-width:280px}
.tagline{
  display:inline-block;background:rgba(100,181,246,.15);color:var(--blue-dark);
  padding:6px 12px;border-radius:18px;font-weight:600;font-size:.9rem;margin-bottom:8px
}
.hero-left h1{font-size:1.95rem;color:var(--blue-dark);margin:4px 0 10px}
.hero-left p{color:#555;margin:0 0 var(--space-4)}

/* Bouton Réserver : visible + hover animé */
.btn-primary{
  --g1: var(--blue-light); --g2: var(--violet);
  position:relative; display:inline-block; border:none; cursor:pointer;
  padding:12px 22px; border-radius:12px; font-weight:800; letter-spacing:.2px;
  text-decoration:none; color:#fff;
  background-image:linear-gradient(135deg,var(--g1),var(--g2));
  box-shadow:0 8px 22px rgba(100,181,246,.35);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), filter .18s var(--ease), background-position .3s var(--ease);
  background-size:200% 200%; background-position:0% 50%;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(100,181,246,.45);
  background-position:100% 50%;
  filter:saturate(1.05) brightness(1.02);
}
.btn-primary:focus{outline:3px solid rgba(155,107,255,.35); outline-offset:3px}
.btn-primary::after{ /* petit reflet */
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform:translateX(-120%); transition:transform .6s var(--ease);
}
.btn-primary:hover::after{transform:translateX(120%)}

.stats{display:flex;gap:var(--space-6);margin-top:10px}
.stat span{display:block;font-size:1.45rem;font-weight:800;line-height:1}
.stat p{margin:4px 0 0;color:#555;font-size:.92rem}
.stat-blue span{color:var(--blue-light)}
.stat-violet span{color:var(--violet)}

.hero-right{flex:0 0 300px;display:flex;justify-content:center}
.calendar-widget{border-radius:10px;padding:0;width:100%;max-width:280px;transition:transform .2s ease, box-shadow .2s ease}
.calendar-widget:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.calendar-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--blue-dark);margin-bottom:8px}
.calendar-header button{background:none;border:none;cursor:pointer;font-size:18px;color:var(--blue-dark)}
.calendar-header button:disabled{opacity:.35;cursor:default}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px;font-size:14px;color:#333}
.calendar-day{font-weight:700;color:#666}
.calendar-date{padding:9px 0;border-radius:6px;cursor:pointer;transition:background-color .2s ease; text-decoration:none;color:inherit;display:block}
.calendar-date:hover{background:#E3F2FD;color:var(--blue-dark);font-weight:700}
.today{background:#FFD54F;color:var(--blue-dark);font-weight:700}

/* ---------- POURQUOI ---------- */
.block{
  background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  padding:var(--space-6) var(--space-6); text-align:center
}
.block h2{color:var(--blue-dark);font-size:1.7rem;margin:0 0 6px}
.block .lead{color:#555;margin:0 auto var(--space-5);max-width:780px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 18px}
.feature{border:1px solid #eceefe;border-radius:12px;padding:18px 16px;background:linear-gradient(180deg,#fafbff 0%,#f6f8ff 100%)}
.feature .ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff7d6;color:var(--warning);margin:0 auto 8px}
.feature h3{font-size:1.2rem;color:var(--blue-dark);margin:6px 0 4px}
.feature p{margin:0;color:#4a4a4a;font-size:.95rem}

/* ---------- PROF + Cartes badges ---------- */
.prof{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  padding:var(--space-6) var(--space-6);gap:var(--space-6)
}
.prof-text{flex:1 1 560px;min-width:280px}
.prof-text h2{color:var(--blue-dark);font-size:1.7rem;margin:0 0 8px;display:flex;align-items:center;gap:.5rem}
.h-emoji{font-size:1.1em;line-height:1}
.prof-text h3{color:var(--violet);font-size:1rem;margin:6px 0 10px}
.prof-text p{color:#555;line-height:1.65;margin:0 0 10px}
.prof img{flex:0 0 300px;max-width:320px;border-radius:16px;box-shadow:var(--shadow-sm)}

/* Nouvelles cartes = badges contrastés */
.card-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px
}
.card-item{
  position:relative; display:flex; align-items:center; gap:12px; min-height:64px;
  padding:12px 14px; border-radius:14px; background:#fff; border:1px solid rgba(31,36,124,.10);
  box-shadow:0 8px 18px rgba(100,181,246,.14);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);
}
.card-item::before{ /* liseré gradient sur le côté pour la visibilité */
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:14px 0 0 14px;
  background:linear-gradient(180deg,var(--blue-light),var(--violet));
}
.card-item .ico{
  flex:0 0 34px; width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:rgba(155,107,255,.12); color:var(--violet);
}
.card-item span{color:var(--blue-dark);font-weight:800;letter-spacing:.2px}
.card-item:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(100,181,246,.26);
  border-color:rgba(31,36,124,.18);
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .card-grid{grid-template-columns:repeat(2,1fr)} /* 2×2 en md */
}
@media (max-width:900px){
  section{margin-block:var(--space-4)}
  .hero{padding:var(--space-5)}
  .hero-right{flex:1 1 100%}
  .calendar-widget{margin:8px auto 0}
  .features{grid-template-columns:1fr}
  .prof{flex-direction:column;text-align:center}
  .card-grid{grid-template-columns:1fr} /* 1 en mobile */
  .card-item::before{border-radius:14px 14px 0 0}
}
</style>/* End custom CSS */