.efb{--efb-accent:#a95487;--efb-text:#302a31;--efb-soft:#faf5f8;max-width:780px;margin:30px auto;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--efb-text)}
.efb *{box-sizing:border-box}.efb-card{background:#fff;border:1px solid #eee;border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.07);padding:clamp(22px,5vw,46px)}.efb-progress{display:flex;gap:8px;justify-content:center;margin:0 0 18px}.efb-progress span{width:30px;height:5px;border-radius:9px;background:#e7e3e5;font-size:0}.efb-progress span.active{background:var(--efb-accent)}.efb-step{display:none}.efb-step.active{display:block}.efb h2{font-size:clamp(24px,4vw,34px);margin:0 0 8px}.efb p{line-height:1.55}.efb-label,.efb label{display:block;font-weight:600;margin:18px 0 7px}.efb-input{display:block;width:100%;border:1px solid #d9d4d7;border-radius:10px;padding:13px 14px;font:inherit;background:#fff}.efb-input:focus{outline:3px solid rgba(169,84,135,.15);border-color:var(--efb-accent)}.efb-primary,.efb-secondary,.efb-service,.efb-slot{font:inherit;cursor:pointer;border-radius:10px}.efb-primary{border:0;background:var(--efb-accent);color:#fff;padding:13px 22px;font-weight:700;margin-top:24px}.efb-primary:disabled{opacity:.55}.efb-secondary{border:1px solid #d8d2d5;background:#fff;padding:12px 18px}.efb-actions{display:flex;gap:10px;justify-content:space-between;margin-top:24px}.efb-services{display:grid;gap:12px;margin-top:22px}.efb-service{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid #e7dce3;background:var(--efb-soft);padding:17px}.efb-service:hover{border-color:var(--efb-accent)}.efb-service span{opacity:.72;margin-left:15px;white-space:nowrap}.efb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:9px;margin:20px 0}.efb-slot{border:1px solid #ddced7;background:#fff;padding:11px}.efb-slot:hover{background:var(--efb-soft);border-color:var(--efb-accent)}.efb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.efb-consent{font-weight:400!important;font-size:14px;display:flex!important;gap:9px;align-items:flex-start}.efb-error{background:#fff1f1;color:#8b1d1d;padding:12px;border-radius:8px;margin-top:15px}.efb-success{text-align:center;padding:15px 0}.efb-check{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#edf8f0;color:#247c3d;font-size:34px;margin:0 auto 18px}@media(max-width:600px){.efb{margin:14px}.efb-card{padding:22px 17px}.efb-grid{grid-template-columns:1fr}.efb-service{align-items:flex-start;flex-direction:column}.efb-service span{margin:6px 0 0}.efb-actions{flex-wrap:wrap}}

/* v0.7.0 */
.efb-service{display:grid;grid-template-columns:1fr auto;gap:5px 16px;align-items:start}.efb-service>strong{font-size:17px}.efb-service-meta{opacity:.72;white-space:nowrap;margin-left:0!important}.efb-service-details{grid-column:1/-1;display:block;font-size:14px;line-height:1.45;font-weight:400;opacity:.82;margin-top:4px}.efb-service:hover .efb-service-details{opacity:1}@media(max-width:600px){.efb-service{grid-template-columns:1fr}.efb-service-meta{white-space:normal}}


/* Charte Echografilm — v1.5.5 */
.efb{
  --efb-pink:#ff5576;
  --efb-orange:#f39d34;
  --efb-blue:#67bafc;
  --efb-green:#a8cb2d;
  --efb-yellow:#efc44d;
  --efb-grey:#8c8c8c;
  --efb-text:#4f4f4f;
  --efb-muted:#777;
  --efb-line:#dedede;
  --efb-soft-pink:rgba(255,85,118,.11);
  --efb-soft-orange:rgba(243,157,52,.12);
  --efb-soft-blue:rgba(103,186,252,.13);
  --efb-soft-green:rgba(168,203,45,.13);
  --efb-accent:var(--efb-pink);
  width:min(100%,1120px);
  max-width:1120px;
  margin:clamp(18px,3vw,38px) auto;
  padding:0 clamp(0px,1vw,10px);
  color:var(--efb-text);
  font-family:"Trebuchet MS",Arial,sans-serif;
}
.efb-card{
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:24px;
  box-shadow:0 18px 48px rgba(70,70,70,.07);
  padding:clamp(22px,4vw,44px);
}
.efb h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  color:#5a5a5a;
  letter-spacing:-.025em;
  font-size:clamp(28px,3.1vw,42px);
  line-height:1.08;
}
.efb p{color:var(--efb-muted)}

/* Barre d'étapes = couleurs historiques du bandeau */
.efb-progress{gap:0;margin:0 auto 22px;max-width:760px}
.efb-progress span{
  flex:1;
  width:auto;
  height:7px;
  border-radius:0;
  opacity:.28;
  transition:opacity .2s ease,transform .2s ease;
}
.efb-progress span:nth-child(1){background:var(--efb-pink)}
.efb-progress span:nth-child(2){background:var(--efb-orange)}
.efb-progress span:nth-child(3){background:var(--efb-blue)}
.efb-progress span:nth-child(4){background:var(--efb-green)}
.efb-progress span:first-child{border-radius:999px 0 0 999px}
.efb-progress span:last-child{border-radius:0 999px 999px 0}
.efb-progress span.active{opacity:1;transform:scaleY(1.08)}

/* Champs */
.efb-label,.efb label{color:#555}
.efb-input{
  border:1px solid #d8d8d8;
  border-radius:14px;
  padding:13px 15px;
  background:#fff;
  color:#444;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.efb-input:hover{border-color:#b9dffc}
.efb-input:focus{
  outline:none;
  border-color:var(--efb-blue);
  box-shadow:0 0 0 4px rgba(103,186,252,.16);
  background:#fbfdff;
}

/* Tous les boutons cliquables partagent le même comportement. */
.efb button,
.efb .efb-primary,
.efb .efb-secondary,
.efb .efb-service,
.efb .efb-slot{
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease,background .16s ease;
}
.efb button:not(:disabled):hover{
  transform:translateY(-2px);
  filter:brightness(1.025);
}
.efb button:not(:disabled):active{transform:translateY(0) scale(.985)}

/* Continuer = rose Echografilm. */
.efb-primary{
  border:0;
  border-radius:999px;
  background:var(--efb-pink);
  color:#fff;
  padding:13px 24px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(255,85,118,.22);
}
.efb-primary:not(:disabled):hover{box-shadow:0 12px 28px rgba(255,85,118,.30)}
/* La validation finale devient verte : action confirmée. */
.efb-step[data-step="4"] .efb-primary{
  background:var(--efb-green);
  color:#34420d;
  box-shadow:0 8px 20px rgba(168,203,45,.24);
}
.efb-step[data-step="4"] .efb-primary:not(:disabled):hover{box-shadow:0 12px 28px rgba(168,203,45,.31)}
.efb-primary:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}

/* Retour = gris historique, discret. */
.efb-secondary{
  border:1px solid #cfcfcf;
  border-radius:999px;
  background:#fff;
  color:#666;
  padding:12px 20px;
  font-weight:700;
  box-shadow:0 5px 14px rgba(80,80,80,.06);
}
.efb-secondary:not(:disabled):hover{border-color:var(--efb-grey);box-shadow:0 8px 18px rgba(80,80,80,.10)}

/* Choix des 4 forfaits : même ordre chromatique que le site. */
.efb-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.efb-service{
  min-height:112px;
  border-radius:18px;
  padding:18px;
  color:#555;
  box-shadow:0 9px 24px rgba(80,80,80,.05);
}
.efb-service:nth-child(4n+1){background:linear-gradient(145deg,var(--efb-soft-pink),rgba(255,255,255,.92));border-color:rgba(255,85,118,.32)}
.efb-service:nth-child(4n+2){background:linear-gradient(145deg,var(--efb-soft-orange),rgba(255,255,255,.92));border-color:rgba(243,157,52,.34)}
.efb-service:nth-child(4n+3){background:linear-gradient(145deg,var(--efb-soft-blue),rgba(255,255,255,.92));border-color:rgba(103,186,252,.36)}
.efb-service:nth-child(4n+4){background:linear-gradient(145deg,var(--efb-soft-green),rgba(255,255,255,.92));border-color:rgba(168,203,45,.38)}
.efb-service:nth-child(4n+1):hover{border-color:var(--efb-pink);box-shadow:0 14px 30px rgba(255,85,118,.13)}
.efb-service:nth-child(4n+2):hover{border-color:var(--efb-orange);box-shadow:0 14px 30px rgba(243,157,52,.13)}
.efb-service:nth-child(4n+3):hover{border-color:var(--efb-blue);box-shadow:0 14px 30px rgba(103,186,252,.14)}
.efb-service:nth-child(4n+4):hover{border-color:var(--efb-green);box-shadow:0 14px 30px rgba(168,203,45,.14)}
.efb-service>strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;color:#555}
.efb-service-meta{font-weight:800;color:#555;opacity:1}

/* Créneaux : bleu pastel, puis bleu plein au survol. */
.efb-slots{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:10px}
.efb-slot{
  border:1px solid rgba(103,186,252,.45);
  background:rgba(103,186,252,.10);
  color:#476579;
  border-radius:999px;
  padding:11px 13px;
  font-weight:800;
  box-shadow:0 4px 11px rgba(103,186,252,.06);
}
.efb-slot:hover{
  background:var(--efb-blue);
  color:#173b53;
  border-color:var(--efb-blue);
  box-shadow:0 9px 20px rgba(103,186,252,.22);
}

/* Consentement / messages */
.efb-consent input{accent-color:var(--efb-pink);margin-top:3px}
.efb-error{background:rgba(255,85,118,.10);color:#8a3344;border:1px solid rgba(255,85,118,.28);border-radius:14px}
.efb-success{padding:24px 0}
.efb-check{background:rgba(168,203,45,.18);color:#5b7410;border:1px solid rgba(168,203,45,.34)}

@media(max-width:700px){
  .efb{margin:14px auto;padding:0 12px}
  .efb-card{padding:22px 17px;border-radius:20px}
  .efb-services{grid-template-columns:1fr}
  .efb-actions{gap:12px}
  .efb-actions .efb-primary,.efb-actions .efb-secondary{flex:1;min-width:135px}
}

/* Calendriers responsives + périodes calculées — v1.5.6 */
.efb-date-picker{
  position:relative;
  width:100%;
}
.efb-date-source{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}
.efb-date-display{
  width:100%;
  min-height:62px;
  border:1px solid #d8d8d8;
  border-radius:14px;
  background:#fff;
  color:#444;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 18px;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(80,80,80,.035);
}
.efb-date-display:hover,
.efb-date-picker.is-open .efb-date-display{
  border-color:var(--efb-blue);
  box-shadow:0 0 0 4px rgba(103,186,252,.14),0 8px 22px rgba(103,186,252,.08);
}
.efb-date-display>span{font-size:clamp(17px,1.1vw,20px);font-weight:700}
.efb-date-display>b{
  flex:0 0 auto;
  font-size:13px;
  color:#2f7fb8;
  background:rgba(103,186,252,.13);
  border-radius:999px;
  padding:7px 12px;
}
.efb-date-placeholder{color:#8a8a8a;font-weight:600!important}

.efb-date-panel{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  z-index:100;
  width:clamp(360px,42vw,680px);
  max-width:calc(100vw - 36px);
  background:#fff;
  border:1px solid #dfe8ef;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(50,70,85,.18);
  padding:clamp(16px,2vw,24px);
}
.efb-date-panel[hidden]{display:none!important}
.efb-calendar-head{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.efb-calendar-head>strong{
  text-align:center;
  font-family:Georgia,"Times New Roman",serif;
  color:#555;
  font-size:clamp(20px,1.8vw,28px);
  font-weight:500;
}
.efb-calendar-nav{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(103,186,252,.38);
  background:rgba(103,186,252,.10);
  color:#42799e;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.efb-calendar-nav:disabled{opacity:.25;cursor:not-allowed}
.efb-calendar-weekdays,
.efb-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:clamp(4px,.55vw,8px);
}
.efb-calendar-weekdays{margin-bottom:7px}
.efb-calendar-weekdays span{
  text-align:center;
  color:#858585;
  font-size:clamp(11px,.85vw,13px);
  font-weight:800;
  text-transform:uppercase;
}
.efb-calendar-day{
  aspect-ratio:1/1;
  min-width:0;
  border:0;
  border-radius:14px;
  background:#f7f9fa;
  color:#4e4e4e;
  font-weight:800;
  font-size:clamp(14px,1.15vw,18px);
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
}
.efb-calendar-day:hover:not(:disabled){
  background:rgba(103,186,252,.20);
  color:#245c82;
  box-shadow:0 6px 16px rgba(103,186,252,.14);
}
.efb-calendar-day.is-selected{
  background:var(--efb-blue);
  color:#173b53;
  box-shadow:0 6px 18px rgba(103,186,252,.25);
}
.efb-calendar-day.is-muted{opacity:.42}
.efb-calendar-day:disabled{opacity:.18;cursor:not-allowed;filter:none!important;transform:none!important}
.efb-calendar-range{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #ededed;
  color:#777;
  font-size:12px;
}
.efb-calendar-range strong{color:#555}

/* Périodes calculées selon la DPA, visibles dans chaque forfait. */
.efb-service-period{
  grid-column:1/-1;
  display:grid;
  gap:3px;
  margin-top:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  text-align:left;
}
.efb-service-period .efb-period-kicker{
  margin:0;
  color:#777;
  opacity:1;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  white-space:normal;
}
.efb-service-period strong{
  font-size:17px;
  color:#464646;
  font-family:"Trebuchet MS",Arial,sans-serif;
}
.efb-service-period small{
  font-size:12px;
  color:#666;
  opacity:1;
}
.efb-service-period em{
  margin-top:5px;
  padding-top:7px;
  border-top:1px solid rgba(90,90,90,.12);
  color:#426b87;
  font-size:12px;
  line-height:1.45;
  font-style:normal;
  font-weight:800;
}
.efb-service-period.is-strict{border-color:rgba(168,203,45,.30)}
.efb-period-status{
  grid-column:1/-1;
  display:block;
  margin-top:3px;
  color:#6f6f6f;
  font-size:12px;
  font-weight:700;
}
.efb-period-status.is-now{color:#607e10}
.efb-period-status.is-past{color:#a34b5c}
.efb-service-unavailable{opacity:.58;cursor:not-allowed!important}
.efb-service-unavailable:hover{transform:none!important;filter:none!important;box-shadow:none!important}

/* Rappel très visible du forfait et de sa fenêtre dans l'étape du choix de jour. */
.efb-selected-period{
  margin:12px 0 20px;
  padding:15px 17px;
  border-radius:18px;
  border:1px solid rgba(103,186,252,.30);
  background:linear-gradient(135deg,rgba(103,186,252,.10),rgba(255,255,255,.92));
}
.efb-selected-period>strong{
  display:block;
  margin-bottom:7px;
  color:#4e4e4e;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:500;
}
.efb-selected-period .efb-service-period{margin:0;background:rgba(255,255,255,.58)}

@media(min-width:1500px){
  .efb{width:min(100%,1440px);max-width:1440px}
  .efb-date-panel{width:680px}
  .efb-calendar-day{border-radius:16px}
}
@media(min-width:1100px) and (max-width:1499px){
  .efb{width:min(100%,1240px);max-width:1240px}
  .efb-date-panel{width:min(620px,48vw)}
}
@media(max-width:700px){
  .efb-date-display{min-height:56px;padding:12px 14px}
  .efb-date-display>b{padding:6px 9px;font-size:11px}
  .efb-date-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    width:auto;
    max-width:none;
    max-height:calc(100vh - 24px);
    overflow:auto;
    border-radius:20px;
  }
  .efb-calendar-head{grid-template-columns:42px 1fr 42px}
  .efb-calendar-nav{width:40px;height:40px;font-size:26px}
  .efb-calendar-day{border-radius:10px;font-size:14px}
  .efb-calendar-range{display:grid;gap:4px}
}

/* v1.5.9 — validation téléphone */
.efb-field-help{display:block;margin-top:6px;color:#777;font-size:12px;line-height:1.4}
.efb-input[aria-invalid="true"]{border-color:#ff5576!important;box-shadow:0 0 0 3px rgba(255,85,118,.12)!important}


/* Calendrier : évite toute coupure par un conteneur parent — v1.6.12 */
.efb-date-picker.is-open{
  z-index:2147482000;
}
.efb-date-panel{
  z-index:2147483000;
}
.efb-calendar-overflow-open{
  overflow:visible!important;
}


/* v1.6.12 — Les fonds décoratifs des 4 forfaits passent en rectangles arrondis. */
.efb-service{
  position:relative;
  overflow:hidden;
  border-radius:28px;
}
/* Neutralise d'éventuels anciens halos/ovales décoratifs */
.efb-service::before,
.efb-service::after{
  content:none !important;
  display:none !important;
}
.efb-service-period,
.efb-selected-period{
  border-radius:20px;
}
@media(max-width:600px){
  .efb-service{border-radius:22px}
  .efb-service-period,
  .efb-selected-period{border-radius:16px}
}


/* v1.6.13 — Cartes forfaits plus rectangulaires et texte mieux lisible. */
.efb-services{
  grid-template-columns:repeat(2,minmax(320px,1fr));
  gap:22px;
  align-items:stretch;
}
.efb-service,
button.efb-service{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 18px;
  align-items:start;
  width:100%;
  max-width:none;
  min-height:0;
  padding:26px 24px 22px;
  border-radius:24px !important;
  overflow:visible;
  appearance:none;
  -webkit-appearance:none;
  text-align:left;
}
.efb-service > strong,
.efb-service .efb-service-meta,
.efb-service .efb-service-details,
.efb-service-period{
  white-space:normal;
  overflow-wrap:anywhere;
}
.efb-service > strong{
  font-size:clamp(18px,2vw,24px);
  line-height:1.18;
  padding-right:8px;
}
.efb-service-meta{
  font-size:clamp(16px,1.8vw,20px);
  justify-self:end;
  align-self:start;
}
.efb-service-details{
  margin-top:8px;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.48;
}
.efb-service-period,
.efb-selected-period{
  margin-top:14px;
  padding:16px 18px;
  border-radius:18px !important;
}
.efb-service-period strong{font-size:clamp(16px,1.6vw,18px)}
.efb-service-period small,
.efb-service-period em{font-size:clamp(12px,1.2vw,14px)}
@media(max-width:900px){
  .efb-services{grid-template-columns:1fr;gap:18px}
  .efb-service,
  button.efb-service{padding:22px 20px 20px;border-radius:20px !important}
}
@media(max-width:600px){
  .efb-service,
  button.efb-service{padding:20px 18px 18px;border-radius:18px !important}
  .efb-service-period,
  .efb-selected-period{padding:14px 15px;border-radius:16px !important}
}


/* v1.6.14 — Mise en forme HTML des caractéristiques des forfaits. */
.efb-service-details{grid-column:1/-1;display:block;min-width:0;margin-top:8px;font-size:clamp(15px,1.35vw,18px);line-height:1.48;font-weight:400;opacity:.88}
.efb-service:hover .efb-service-details{opacity:1}
.efb-service-details p{margin:.38em 0}
.efb-service-details p:first-child{margin-top:0}
.efb-service-details p:last-child{margin-bottom:0}
.efb-service-details ul,.efb-service-details ol{margin:.5em 0 .55em 1.25em;padding:0}
.efb-service-details li{margin:.2em 0;padding-left:.1em}
.efb-service-details h2,.efb-service-details h3,.efb-service-details h4,.efb-service-details h5,.efb-service-details h6{margin:.65em 0 .28em;font-family:inherit;font-weight:800;line-height:1.2;color:#4e4e4e}
.efb-service-details h2{font-size:1.25em}.efb-service-details h3{font-size:1.15em}.efb-service-details h4,.efb-service-details h5,.efb-service-details h6{font-size:1.05em}
.efb-service-details a{color:#39779f;text-decoration:underline;text-underline-offset:2px}
.efb-service-details hr{border:0;border-top:1px solid rgba(90,90,90,.14);margin:.8em 0}
.efb-service-details table{width:100%;border-collapse:collapse;margin:.65em 0;font-size:.94em}
.efb-service-details th,.efb-service-details td{padding:.45em .55em;border-bottom:1px solid rgba(90,90,90,.12);text-align:left;vertical-align:top}
.efb-service-details .efb-highlight{display:block;margin:.65em 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.64);font-weight:800}
.efb-service-details .efb-details-box{display:block;margin:.65em 0;padding:12px 14px;border:1px solid rgba(90,90,90,.12);border-radius:14px;background:rgba(255,255,255,.52)}
.efb-service-details .efb-muted{opacity:.68;font-size:.92em}
.efb-service-details .efb-badge{display:inline-block;margin:.15em .3em .15em 0;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.72);font-size:.82em;font-weight:800;line-height:1.2}

/* ========================================================================== 
   v1.6.17 — Sélection des forfaits identique au composant Tarifs du site
   ========================================================================== */
.efb-service-host-wide{
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
.efb.efb-service-step-wide{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(1880px,calc(100vw - 32px))!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
}
.efb.efb-service-step-wide .efb-card{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#f5f5f7!important;
  padding:clamp(38px,4vw,72px) 0!important;
  overflow:visible!important;
}
.efb.efb-service-step-wide .efb-step[data-step="2"] > h2{
  max-width:980px;
  margin:0 auto 12px!important;
  text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(42px,5vw,68px)!important;
  line-height:1.02!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
  color:#1d1d1f!important;
}
.efb.efb-service-step-wide .efb-step[data-step="2"] > h2::before{
  content:"Forfaits Paris";
  display:block;
  margin-bottom:16px;
  color:#ff5576;
  font-size:14px;
  line-height:1.2;
  letter-spacing:0;
  font-weight:750;
}
.efb.efb-service-step-wide .efb-services{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:clamp(16px,1.5vw,30px)!important;
  width:100%!important;
  margin:44px 0 0!important;
}
.efb.efb-service-step-wide .efb-service,
.efb.efb-service-step-wide button.efb-service{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  min-height:560px!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(28px,2vw,42px)!important;
  border:0!important;
  border-radius:32px!important;
  box-shadow:none!important;
  color:#1d1d1f!important;
  text-align:left!important;
  overflow:hidden!important;
  cursor:pointer!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease!important;
}
.efb.efb-service-step-wide .efb-service:nth-child(4n+1){background:linear-gradient(145deg,rgba(255,85,118,.24),rgba(255,255,255,.72))!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+2){background:linear-gradient(145deg,rgba(239,196,77,.28),rgba(255,255,255,.72))!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+3){background:linear-gradient(145deg,rgba(103,186,252,.26),rgba(255,255,255,.74))!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+4){background:linear-gradient(145deg,rgba(168,203,45,.27),rgba(255,255,255,.74))!important}
.efb.efb-service-step-wide .efb-service:not(:disabled):hover{
  transform:scale(1.012)!important;
  filter:none!important;
  box-shadow:0 18px 50px rgba(0,0,0,.08)!important;
}
.efb.efb-service-step-wide .efb-service span{
  margin-left:0!important;
  opacity:1!important;
  white-space:normal!important;
}
.efb.efb-service-step-wide .efb-plan-badge{
  align-self:flex-start!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 0 26px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.efb.efb-service-step-wide .efb-service:nth-child(4n+1) .efb-plan-badge{background:#ff5576!important;color:#fff!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+2) .efb-plan-badge{background:#f39d34!important;color:#3d2a18!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+3) .efb-plan-badge{background:#67bafc!important;color:#173a52!important}
.efb.efb-service-step-wide .efb-service:nth-child(4n+4) .efb-plan-badge{background:#a8cb2d!important;color:#26320f!important}
.efb.efb-service-step-wide .efb-plan-title{
  display:block!important;
  margin:0 0 12px!important;
  padding:0!important;
  color:#1d1d1f!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(27px,2vw,38px)!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  font-weight:650!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.efb.efb-service-step-wide .efb-plan-price{
  display:block!important;
  margin:4px 0 6px!important;
  color:#5f5f62!important;
  font-size:clamp(48px,4vw,68px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  font-weight:650!important;
}
.efb.efb-service-step-wide .efb-plan-duration{
  display:block!important;
  margin:0 0 18px!important;
  color:#6e6e73!important;
  font-size:14px!important;
  font-weight:650!important;
}
.efb.efb-service-step-wide .efb-service-details{
  display:block!important;
  flex:none!important;
  width:100%!important;
  margin:22px 0 20px!important;
  color:#3a3a3c!important;
  font-size:clamp(14px,1vw,16px)!important;
  line-height:1.48!important;
  opacity:1!important;
  overflow-wrap:break-word!important;
}
.efb.efb-service-step-wide .efb-service-details p,
.efb.efb-service-step-wide .efb-service-details li,
.efb.efb-service-step-wide .efb-service-details div,
.efb.efb-service-step-wide .efb-service-details span{
  color:inherit;
}
.efb.efb-service-step-wide .efb-service-details .efb-highlight,
.efb.efb-service-step-wide .efb-service-details .efb-details-box{
  background:rgba(255,255,255,.62)!important;
  border-color:rgba(0,0,0,.06)!important;
}
.efb.efb-service-step-wide .efb-plan-period{
  display:block!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:6px!important;
}
.efb.efb-service-step-wide .efb-service-period{
  display:grid!important;
  width:100%!important;
  margin:0 0 8px!important;
  padding:14px 16px!important;
  background:rgba(255,255,255,.66)!important;
  border:1px solid rgba(255,255,255,.84)!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.efb.efb-service-step-wide .efb-period-status{
  display:block!important;
  width:100%!important;
  margin:4px 0 14px!important;
  font-size:12px!important;
}
.efb.efb-service-step-wide .efb-plan-cta{
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:8px auto 0!important;
  padding:10px 20px!important;
  border-radius:999px!important;
  background:#ff5576!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:750!important;
}
.efb.efb-service-step-wide .efb-service:focus-visible{
  outline:3px solid rgba(0,102,204,.45)!important;
  outline-offset:4px!important;
}
.efb.efb-service-step-wide .efb-service-unavailable{
  opacity:.48!important;
  cursor:not-allowed!important;
}
.efb.efb-service-step-wide .efb-step[data-step="2"] > .efb-actions{
  width:100%!important;
  margin-top:28px!important;
}

@media(max-width:1180px){
  .efb.efb-service-step-wide .efb-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .efb.efb-service-step-wide .efb-service{min-height:0!important}
}
@media(max-width:700px){
  .efb.efb-service-step-wide{
    left:50%;
    width:calc(100vw - 20px)!important;
  }
  .efb.efb-service-step-wide .efb-card{padding:36px 0!important}
  .efb.efb-service-step-wide .efb-step[data-step="2"] > h2{
    font-size:clamp(36px,11vw,52px)!important;
    padding:0 10px!important;
  }
  .efb.efb-service-step-wide .efb-services{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    margin-top:30px!important;
  }
  .efb.efb-service-step-wide .efb-service,
  .efb.efb-service-step-wide button.efb-service{
    width:100%!important;
    min-height:0!important;
    padding:28px 24px!important;
    border-radius:28px!important;
  }
  .efb.efb-service-step-wide .efb-plan-title{font-size:clamp(28px,8vw,38px)!important}
  .efb.efb-service-step-wide .efb-plan-price{font-size:clamp(52px,15vw,70px)!important}
  .efb.efb-service-step-wide .efb-service-details{font-size:16px!important}
}


/* v1.6.19 — Mise en évidence animée des périodes de réservation. */
.efb .efb-service-period,
.efb.efb-service-step-wide .efb-service-period{
  position:relative;
  isolation:isolate;
  overflow:visible;
  background:#fff1f5 !important;
  border:1px solid rgba(255,85,118,.34) !important;
  box-shadow:0 8px 22px rgba(255,85,118,.12), inset 0 1px 0 rgba(255,255,255,.76) !important;
  animation:efbPeriodHeartbeatPink 2.15s ease-in-out infinite;
  transform-origin:center;
  will-change:transform,box-shadow,background-color;
}
.efb .efb-service-period.has-ideal,
.efb.efb-service-step-wide .efb-service-period.has-ideal{
  background:#eaf5ff !important;
  border-color:rgba(70,158,238,.34) !important;
  box-shadow:0 8px 22px rgba(70,158,238,.13), inset 0 1px 0 rgba(255,255,255,.78) !important;
  animation-name:efbPeriodHeartbeatBlue;
}
.efb .efb-service-period.is-strict,
.efb.efb-service-step-wide .efb-service-period.is-strict{
  background:#eff8dc !important;
  border-color:rgba(156,195,28,.42) !important;
  box-shadow:0 8px 22px rgba(156,195,28,.14), inset 0 1px 0 rgba(255,255,255,.78) !important;
  animation-name:efbPeriodHeartbeatGreen;
}
.efb .efb-service-period .efb-period-kicker{
  color:#6c5360 !important;
}
.efb .efb-service-period.has-ideal .efb-period-kicker{
  color:#426d8c !important;
}
.efb .efb-service-period.is-strict .efb-period-kicker{
  color:#607e10 !important;
}
.efb .efb-service-period em{
  display:block;
  margin-top:8px;
  padding:9px 10px 0;
  border-top:1px solid rgba(70,158,238,.22);
  color:#286995 !important;
  font-weight:900 !important;
}
.efb .efb-service-period.is-strict small{
  color:#607e10 !important;
  font-weight:800;
}
@keyframes efbPeriodHeartbeatPink{
  0%,100%{transform:scale(1);background-color:#fff1f5;box-shadow:0 8px 22px rgba(255,85,118,.12),0 0 0 0 rgba(255,85,118,0),inset 0 1px 0 rgba(255,255,255,.76)}
  12%{transform:scale(1.018);background-color:#ffdce6;box-shadow:0 10px 28px rgba(255,85,118,.22),0 0 0 7px rgba(255,85,118,.08),inset 0 1px 0 rgba(255,255,255,.84)}
  24%{transform:scale(1);background-color:#fff1f5;box-shadow:0 8px 22px rgba(255,85,118,.12),0 0 0 0 rgba(255,85,118,0),inset 0 1px 0 rgba(255,255,255,.76)}
  38%{transform:scale(1.012);background-color:#ffe4eb;box-shadow:0 10px 26px rgba(255,85,118,.19),0 0 0 5px rgba(255,85,118,.055),inset 0 1px 0 rgba(255,255,255,.82)}
  52%{transform:scale(1);background-color:#fff1f5;box-shadow:0 8px 22px rgba(255,85,118,.12),0 0 0 0 rgba(255,85,118,0),inset 0 1px 0 rgba(255,255,255,.76)}
}
@keyframes efbPeriodHeartbeatBlue{
  0%,100%{transform:scale(1);background-color:#eaf5ff;box-shadow:0 8px 22px rgba(70,158,238,.13),0 0 0 0 rgba(70,158,238,0),inset 0 1px 0 rgba(255,255,255,.78)}
  12%{transform:scale(1.018);background-color:#d5ebff;box-shadow:0 10px 28px rgba(70,158,238,.23),0 0 0 7px rgba(70,158,238,.08),inset 0 1px 0 rgba(255,255,255,.86)}
  24%{transform:scale(1);background-color:#eaf5ff;box-shadow:0 8px 22px rgba(70,158,238,.13),0 0 0 0 rgba(70,158,238,0),inset 0 1px 0 rgba(255,255,255,.78)}
  38%{transform:scale(1.012);background-color:#deefff;box-shadow:0 10px 26px rgba(70,158,238,.20),0 0 0 5px rgba(70,158,238,.055),inset 0 1px 0 rgba(255,255,255,.84)}
  52%{transform:scale(1);background-color:#eaf5ff;box-shadow:0 8px 22px rgba(70,158,238,.13),0 0 0 0 rgba(70,158,238,0),inset 0 1px 0 rgba(255,255,255,.78)}
}
@keyframes efbPeriodHeartbeatGreen{
  0%,100%{transform:scale(1);background-color:#eff8dc;box-shadow:0 8px 22px rgba(156,195,28,.14),0 0 0 0 rgba(156,195,28,0),inset 0 1px 0 rgba(255,255,255,.78)}
  12%{transform:scale(1.018);background-color:#e1f2b9;box-shadow:0 10px 28px rgba(156,195,28,.24),0 0 0 7px rgba(156,195,28,.09),inset 0 1px 0 rgba(255,255,255,.86)}
  24%{transform:scale(1);background-color:#eff8dc;box-shadow:0 8px 22px rgba(156,195,28,.14),0 0 0 0 rgba(156,195,28,0),inset 0 1px 0 rgba(255,255,255,.78)}
  38%{transform:scale(1.012);background-color:#e8f5c8;box-shadow:0 10px 26px rgba(156,195,28,.21),0 0 0 5px rgba(156,195,28,.06),inset 0 1px 0 rgba(255,255,255,.84)}
  52%{transform:scale(1);background-color:#eff8dc;box-shadow:0 8px 22px rgba(156,195,28,.14),0 0 0 0 rgba(156,195,28,0),inset 0 1px 0 rgba(255,255,255,.78)}
}
@media (prefers-reduced-motion: reduce){
  .efb .efb-service-period,
  .efb.efb-service-step-wide .efb-service-period{
    animation:none !important;
    transform:none !important;
  }
}

/* v1.7.1 — calendrier : disponibilité réelle + rappel DPA */
.efb-calendar-day.is-unavailable:disabled{
  opacity:.52;
  background:#eceff1;
  color:#a2a8ad;
  border:1px solid #e0e4e7;
}
.efb-calendar-day.is-loading:disabled{
  opacity:.24;
  background:#f4f6f7;
}
.efb-calendar-availability-note{
  margin-top:10px;
  color:#777;
  font-size:12px;
  line-height:1.45;
}
.efb-dpa-reminder{
  display:block;
  margin-bottom:8px;
  color:#666;
  font-size:13px;
}
.efb-dpa-reminder strong{color:#444}
.efb-availability-reminder{
  display:block;
  margin-top:10px;
  color:#666;
  font-size:12px;
  line-height:1.45;
}


/* v1.8.11 — motif clair sur les forfaits incompatibles avec la DPA */
.efb-service{position:relative}
.efb-dpa-unavailable-ribbon{
  position:absolute;
  z-index:6;
  top:30px;
  right:-58px;
  width:250px;
  padding:9px 12px;
  transform:rotate(34deg);
  transform-origin:center;
  text-align:center;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
  white-space:nowrap!important;
  opacity:1!important;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
  pointer-events:none;
}
.efb-dpa-unavailable-ribbon.is-too-late{background:linear-gradient(135deg,#c2415d,#ef476f)!important}
.efb-dpa-unavailable-ribbon.is-too-early{background:linear-gradient(135deg,#6d5bd0,#8b5cf6)!important}
.efb-dpa-unavailable-message{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:12px 14px!important;
  border:1px solid rgba(194,65,93,.22)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.72)!important;
  color:#7a3344!important;
  font-size:13px!important;
  line-height:1.38!important;
  font-weight:800!important;
  white-space:normal!important;
  opacity:1!important;
}
.efb-service-unavailable .efb-plan-cta{display:none!important}
.efb-service-unavailable .efb-service-period{animation:none!important}
@media(max-width:600px){.efb-dpa-unavailable-ribbon{top:26px;right:-72px;width:260px;font-size:10px!important}.efb-dpa-unavailable-message{font-size:12px!important}}


/* v1.8.36 — le calendrier reprend les couleurs des périodes affichées au client. */
.efb-calendar-day.is-period-booking:not(:disabled){
  background:#fff1f5;
  color:#5f4651;
  border:1px solid rgba(255,85,118,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
}
.efb-calendar-day.is-period-booking:hover:not(:disabled){
  background:#ffdce6;
  color:#6b3f50;
  box-shadow:0 6px 16px rgba(255,85,118,.15),inset 0 1px 0 rgba(255,255,255,.82);
}
.efb-calendar-day.is-period-ideal:not(:disabled){
  background:#eaf5ff;
  color:#426d8c;
  border:1px solid rgba(70,158,238,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.efb-calendar-day.is-period-ideal:hover:not(:disabled){
  background:#d5ebff;
  color:#285f86;
  box-shadow:0 6px 16px rgba(70,158,238,.16),inset 0 1px 0 rgba(255,255,255,.84);
}
.efb-calendar-day.is-period-booking.is-selected:not(:disabled){
  background:#ffdce6;
  color:#5d3546;
  outline:2px solid rgba(255,85,118,.72);
  outline-offset:1px;
  box-shadow:0 7px 18px rgba(255,85,118,.22);
}
.efb-calendar-day.is-period-ideal.is-selected:not(:disabled){
  background:#d5ebff;
  color:#245c82;
  outline:2px solid rgba(70,158,238,.72);
  outline-offset:1px;
  box-shadow:0 7px 18px rgba(70,158,238,.22);
}

/* ========================================================================== 
   v1.8.37 — Cartes forfaits unifiées : site public + réservation
   Une seule structure visuelle alimentée par Réservations > Forfaits.
   4 colonnes desktop → 2 tablette → 1 mobile.
   ========================================================================== */
.efb-public-plans{
  --efb-plan-pink:#ff5576;
  --efb-plan-orange:#f39d34;
  --efb-plan-sky:#67bafc;
  --efb-plan-green:#a8cb2d;
  --efb-plan-soft:#f5f5f7;
  --efb-plan-text:#1d1d1f;
  --efb-plan-sub:#6e6e73;
  width:100%;
  max-width:none;
  background:var(--efb-plan-soft);
  color:var(--efb-plan-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.efb-public-plans-site{
  position:relative;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  padding:clamp(64px,7vw,96px) 0;
  overflow:hidden;
}
.efb-public-plans-inner{
  width:min(1880px,calc(100vw - 32px));
  margin:0 auto;
}
.efb-public-plans-intro{
  max-width:900px;
  margin:0 auto clamp(34px,4vw,52px);
  text-align:center;
}
.efb-public-plans-eyebrow{
  display:block;
  margin:0 0 12px;
  color:var(--efb-plan-pink);
  font-size:14px;
  line-height:1.2;
  font-weight:750;
}
.efb-public-plans-title{
  margin:0 0 12px!important;
  color:#5b5b5e!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(42px,5vw,68px)!important;
  line-height:1.02!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
}
.efb-public-plans-lead{
  max-width:760px;
  margin:0 auto!important;
  color:#6e6e73!important;
  font-size:clamp(17px,1.5vw,21px)!important;
  line-height:1.45!important;
}
.efb-public-plan-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.5vw,30px);
  align-items:stretch;
}
.efb-public-plan,
.efb.efb-service-step-wide .efb-public-plan{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  min-width:0!important;
  min-height:540px!important;
  height:100%!important;
  margin:0!important;
  padding:clamp(28px,2vw,42px)!important;
  border:0!important;
  border-radius:30px!important;
  box-shadow:none!important;
  color:var(--efb-plan-text,#1d1d1f)!important;
  text-align:left!important;
  overflow:hidden!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.efb-public-plan.efb-plan-tone-1{background:linear-gradient(145deg,rgba(255,85,118,.24),rgba(255,255,255,.72))!important}
.efb-public-plan.efb-plan-tone-2{background:linear-gradient(145deg,rgba(239,196,77,.28),rgba(255,255,255,.72))!important}
.efb-public-plan.efb-plan-tone-3{background:linear-gradient(145deg,rgba(103,186,252,.26),rgba(255,255,255,.74))!important}
.efb-public-plan.efb-plan-tone-4{background:linear-gradient(145deg,rgba(168,203,45,.27),rgba(255,255,255,.74))!important}
.efb-public-plan:hover,
.efb.efb-service-step-wide .efb-public-plan:not(:disabled):hover{
  transform:scale(1.012)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.08)!important;
}
.efb-public-plan .efb-plan-badge{
  align-self:flex-start!important;
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 0 28px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.efb-public-plan.efb-plan-tone-1 .efb-plan-badge{background:#ff5576!important;color:#fff!important}
.efb-public-plan.efb-plan-tone-2 .efb-plan-badge{background:#f39d34!important;color:#3d2a18!important}
.efb-public-plan.efb-plan-tone-3 .efb-plan-badge{background:#67bafc!important;color:#173a52!important}
.efb-public-plan.efb-plan-tone-4 .efb-plan-badge{background:#a8cb2d!important;color:#26320f!important}
.efb-public-plan .efb-plan-title{
  display:block!important;
  margin:0 0 12px!important;
  color:#1d1d1f!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:clamp(27px,2vw,38px)!important;
  line-height:1.04!important;
  font-weight:650!important;
  letter-spacing:-.04em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.efb-public-plan .efb-plan-price{
  display:block!important;
  margin:4px 0 6px!important;
  color:#5f5f62!important;
  font-size:clamp(48px,4vw,68px)!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.055em!important;
}
.efb-public-plan .efb-plan-duration{
  display:block!important;
  margin:0 0 18px!important;
  color:#6e6e73!important;
  font-size:14px!important;
  font-weight:650!important;
}
.efb-public-plan .efb-service-details{
  display:block!important;
  width:100%!important;
  margin:22px 0 24px!important;
  color:#3a3a3c!important;
  font-size:clamp(14px,1vw,16px)!important;
  line-height:1.48!important;
  opacity:1!important;
  overflow-wrap:break-word!important;
}
.efb-public-plan .efb-service-details p{margin:.38em 0!important}
.efb-public-plan .efb-service-details ul,
.efb-public-plan .efb-service-details ol{margin:.55em 0 .55em 1.15em!important;padding:0!important}
.efb-public-plan .efb-service-details li{margin:.2em 0!important}
.efb-public-plan .efb-plan-period{width:100%!important;margin-top:auto!important;padding-top:6px!important}
.efb-public-plan .efb-plan-cta{
  align-self:center!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:auto auto 0!important;
  padding:10px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:#ff5576!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:750!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.efb-public-plan .efb-plan-period + .efb-plan-cta{margin-top:8px!important}
.efb-public-plan .efb-plan-cta:hover{filter:brightness(.96)}

@media(max-width:1180px){
  .efb-public-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .efb-public-plan,
  .efb.efb-service-step-wide .efb-public-plan{min-height:0!important}
}
@media(max-width:700px){
  .efb-public-plans-site{padding:48px 0}
  .efb-public-plans-inner{width:calc(100vw - 20px)}
  .efb-public-plans-intro{text-align:left;padding:0 10px}
  .efb-public-plans-title{font-size:clamp(36px,11vw,52px)!important}
  .efb-public-plans-lead{font-size:17px!important}
  .efb-public-plan-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .efb-public-plan,
  .efb.efb-service-step-wide .efb-public-plan{min-height:0!important;padding:28px 24px!important;border-radius:28px!important}
  .efb-public-plan .efb-plan-title{font-size:clamp(28px,8vw,38px)!important}
  .efb-public-plan .efb-plan-price{font-size:clamp(52px,15vw,70px)!important}
  .efb-public-plan .efb-service-details{font-size:16px!important}
}
