.efb-customer-account{max-width:820px;margin:30px auto;font-family:inherit}.efb-account-head{display:flex;justify-content:space-between;align-items:center}.efb-account-form,.efb-account-appointment{background:#fff;border:1px solid #ddd;border-radius:10px;padding:18px;margin:12px 0}.efb-account-form label{display:block;margin:10px 0;font-weight:600}.efb-account-form input,.efb-reschedule-panel input,.efb-reschedule-panel select{width:100%;box-sizing:border-box;padding:10px;margin-top:5px}.efb-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.efb-account-appointment{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.efb-reschedule-panel{flex-basis:100%;padding-top:12px;border-top:1px solid #eee}.efb-too-close,.efb-account-error{color:#b32d2e}.efb-account-error,.efb-account-success{padding:12px;border-radius:7px;background:#f6f7f7;margin-bottom:15px}.efb-primary,.efb-secondary{padding:10px 16px;border-radius:6px;cursor:pointer}.efb-primary{background:#2271b1;color:#fff;border:0}.efb-secondary{background:#fff;border:1px solid #999}@media(max-width:600px){.efb-account-grid{grid-template-columns:1fr}}

/* Espace client assorti à la charte Echografilm — v1.5.5 */
.efb-customer-account{
  --efb-pink:#ff5576;--efb-orange:#f39d34;--efb-blue:#67bafc;--efb-green:#a8cb2d;--efb-yellow:#efc44d;--efb-grey:#8c8c8c;
  max-width:980px;color:#555;font-family:"Trebuchet MS",Arial,sans-serif
}
.efb-customer-account h2,.efb-customer-account h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#555}
.efb-account-form,.efb-account-appointment{border-radius:18px;border-color:#e1e1e1;box-shadow:0 12px 30px rgba(60,60,60,.05)}
.efb-account-form{background:linear-gradient(145deg,rgba(103,186,252,.08),#fff 68%)}
.efb-account-appointment:nth-of-type(4n+1){background:linear-gradient(145deg,rgba(255,85,118,.09),#fff 75%)}
.efb-account-appointment:nth-of-type(4n+2){background:linear-gradient(145deg,rgba(243,157,52,.09),#fff 75%)}
.efb-account-appointment:nth-of-type(4n+3){background:linear-gradient(145deg,rgba(103,186,252,.10),#fff 75%)}
.efb-account-appointment:nth-of-type(4n+4){background:linear-gradient(145deg,rgba(168,203,45,.10),#fff 75%)}
.efb-account-form input,.efb-reschedule-panel input,.efb-reschedule-panel select{border:1px solid #d8d8d8;border-radius:12px;background:#fff}
.efb-account-form input:focus,.efb-reschedule-panel input:focus,.efb-reschedule-panel select:focus{outline:none;border-color:var(--efb-blue);box-shadow:0 0 0 4px rgba(103,186,252,.16)}
.efb-customer-account .efb-primary,.efb-customer-account .efb-secondary{border-radius:999px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.efb-customer-account .efb-primary{background:var(--efb-pink);color:#fff;border:0;box-shadow:0 8px 20px rgba(255,85,118,.20)}
.efb-customer-account .efb-secondary{background:#fff;color:#666;border:1px solid #ccc;box-shadow:0 5px 14px rgba(80,80,80,.06)}
.efb-customer-account button:hover{transform:translateY(-2px);filter:brightness(1.025)}
.efb-customer-account button:active{transform:translateY(0) scale(.985)}
.efb-account-error{background:rgba(255,85,118,.10);border:1px solid rgba(255,85,118,.25);color:#8a3344}
.efb-account-success{background:rgba(168,203,45,.14);border:1px solid rgba(168,203,45,.30);color:#53670f}

/* v1.7.1 — modification de rendez-vous : grand calendrier identique à la réservation */
.efb-reschedule-panel{overflow:visible;position:relative}
.efb-reschedule-period{
  display:grid;
  gap:5px;
  margin:0 0 18px;
  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,.94));
  color:#666;
  font-size:13px;
  line-height:1.45;
}
.efb-reschedule-period .efb-reschedule-dpa{font-size:14px;color:#555;margin-bottom:2px}
.efb-reschedule-period strong{color:#444}
.efb-reschedule-period small{margin-top:4px;color:#777;font-size:12px;font-weight:700}
.efb-customer-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:2147483000;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-date-picker.is-open{z-index:2147482000}
.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-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-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}
.efb-calendar-availability-note{margin-top:10px;color:#777;font-size:12px;line-height:1.45}
.efb-calendar-overflow-open{overflow:visible!important}

@media(min-width:1500px){.efb-customer-account .efb-date-panel{width:680px}.efb-customer-account .efb-calendar-day{border-radius:16px}}
@media(min-width:1100px) and (max-width:1499px){.efb-customer-account .efb-date-panel{width:min(620px,48vw)}}
@media(max-width:700px){
  .efb-customer-account .efb-date-display{min-height:56px;padding:12px 14px}
  .efb-customer-account .efb-date-display>b{padding:6px 9px;font-size:11px}
  .efb-customer-account .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-customer-account .efb-calendar-head{grid-template-columns:42px 1fr 42px}
  .efb-customer-account .efb-calendar-nav{width:40px;height:40px;font-size:26px}
  .efb-customer-account .efb-calendar-day{border-radius:10px;font-size:14px}
  .efb-customer-account .efb-calendar-range{display:grid;gap:4px}
}
