.reseefy-app{--rf-black:#111417;--rf-border:#efefef;--rf-bg:#f2f2f2;--rf-muted:#717171;font-family:Inter,Arial,sans-serif;color:var(--rf-black)}
.reseefy-app *{box-sizing:border-box}.reseefy-shell{max-width:1180px;margin:30px auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;background:var(--rf-bg);padding:28px;border-radius:24px}.reseefy-main,.reseefy-summary{background:#fff;border:1px solid var(--rf-border);border-radius:20px}.reseefy-main{padding:28px;min-height:620px}.reseefy-summary{padding:30px;height:max-content;position:sticky;top:20px}.reseefy-top{display:flex;gap:14px;align-items:flex-start}.rf-back{border:0;background:none;font-size:24px;cursor:pointer}.rf-kicker{font-size:11px;letter-spacing:.12em;color:var(--rf-muted)}.rf-title{font-size:28px;margin:6px 0 0}.rf-progress{height:3px;background:#eee;margin:22px 0 28px;overflow:hidden}.rf-progress span{display:block;height:100%;width:16.66%;background:#111;transition:none}.rf-step{display:none}.rf-step.active{display:block}.rf-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rf-category,.rf-service{border:1px solid var(--rf-border);border-radius:16px;background:#fff;padding:12px;text-align:left;cursor:pointer;transition:none}.rf-category:hover,.rf-service:hover{transform:none;box-shadow:none;background:#fff}.rf-category strong{display:block;font-size:17px}.rf-category span{display:block;color:var(--rf-muted);font-size:13px;margin-top:5px}.rf-services{display:grid;gap:12px}.rf-service{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:center}.rf-service img,.rf-service .rf-ph{width:76px;height:76px;border-radius:12px;object-fit:cover;background:#eee}.rf-service h3{margin:0 0 6px;font-size:17px}.rf-service p{margin:0;color:var(--rf-muted);font-size:13px}.rf-price{font-weight:700;white-space:nowrap}.rf-option{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--rf-border);padding:16px;border-radius:14px;margin-bottom:10px}.rf-option label{display:flex;gap:10px;align-items:center}.rf-primary{border:0;background:var(--rf-black);color:#fff;padding:14px 22px;border-radius:999px;font-weight:700;cursor:pointer;margin-top:18px}.rf-calendar-wrap{display:grid;grid-template-columns:240px 1fr;gap:24px}.rf-dates{display:grid;gap:8px}.rf-date,.rf-slot{border:1px solid var(--rf-border);background:#eeeeec;border-radius:12px;padding:12px;cursor:pointer}.rf-date.active,.rf-slot.active{background:#111;color:#fff}.rf-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:start}.rf-customer-form label{display:block;font-weight:600;margin-bottom:15px}.rf-customer-form input,.rf-customer-form textarea{width:100%;border:1px solid #d9d9d9;border-radius:12px;padding:13px;margin-top:7px;font:inherit}.rf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rf-payment-methods{display:flex;gap:12px;flex-wrap:wrap}.rf-pay{border:1px solid var(--rf-border);border-radius:12px;padding:12px 16px}.rf-brand-mark{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:transparent;margin:0 auto;overflow:hidden}.rf-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.reseefy-summary h3{text-align:center}.rf-summary-content{border-top:1px solid var(--rf-border);margin-top:28px;padding-top:20px}.rf-summary-line{display:flex;justify-content:space-between;gap:10px;margin:10px 0}.rf-empty{color:var(--rf-muted)}.rf-success{text-align:center;padding:70px 15px}.rf-check{width:70px;height:70px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-size:32px}
@media(max-width:850px){.reseefy-shell{grid-template-columns:1fr;padding:12px;margin:0;border-radius:0}.reseefy-summary{position:static;order:-1}.rf-category-grid{grid-template-columns:1fr}.rf-calendar-wrap{grid-template-columns:1fr}.rf-dates{grid-template-columns:repeat(3,1fr)}.rf-slots{grid-template-columns:repeat(2,1fr)}.rf-grid2{grid-template-columns:1fr}}
/* Reseefy 0.2.0 — catégories en vignettes fluides */
.rf-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rf-category{padding:10px;border-radius:18px;overflow:hidden;min-width:0}
.rf-category-image{height:auto;aspect-ratio:4/3;margin-bottom:12px;border-radius:13px}
.rf-category strong,.rf-category span{padding-left:4px;padding-right:4px}
.rf-category span{padding-bottom:5px}
.rf-service{min-height:96px}
@media(max-width:1050px){.rf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rf-category-grid{grid-template-columns:1fr}.rf-service{grid-template-columns:64px minmax(0,1fr);gap:12px}.rf-service img,.rf-service .rf-ph{width:64px;height:64px}.rf-price{grid-column:2;margin-top:-4px}.reseefy-main{padding:18px}.rf-title{font-size:23px}}

/* Reseefy 0.3.0 — shortcode de vignettes de catégories */
.reseefy-category-showcase{width:100%;overflow:hidden;font-family:Inter,Arial,sans-serif;color:#111}
.reseefy-category-showcase .rf-category-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 1px 14px}
.reseefy-category-showcase .rf-category-track::-webkit-scrollbar{display:none}
.reseefy-category-showcase .rf-category-tile{flex:0 0 calc((100% - 54px)/4.6667);min-width:0;color:inherit;text-decoration:none;scroll-snap-align:start;display:block}
.reseefy-category-showcase .rf-category-tile-image{display:block;width:100%;aspect-ratio:1/1;border-radius:16px;background:#eee center/cover no-repeat;transition:transform .2s ease,box-shadow .2s ease}
.reseefy-category-showcase .rf-category-tile:hover .rf-category-tile-image{transform:translateY(-2px);box-shadow: none !important;margin-top:11px;font-size:16px;line-height:1.25;font-weight:650;text-align:left}
@media(max-width:767px){
  .reseefy-category-showcase.rf-mobile-grid{overflow:visible}
  .reseefy-category-showcase.rf-mobile-grid .rf-category-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:visible;padding-bottom:0;scroll-snap-type:none}
  .reseefy-category-showcase.rf-mobile-grid .rf-category-tile{width:auto;min-width:0}
  .reseefy-category-showcase.rf-mobile-slider .rf-category-track{gap:14px}
  .reseefy-category-showcase.rf-mobile-slider .rf-category-tile{flex-basis:calc((100% - 14px)/2.6667)}
  .reseefy-category-showcase .rf-category-tile-image{border-radius:14px}
  .reseefy-category-showcase .rf-category-tile strong{font-size:14px;margin-top:9px}
}

/* Reseefy 0.4.0 — popup interactif de réservation */
body.reseefy-modal-open{overflow:hidden}
.reseefy-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.reseefy-modal.is-open{display:flex}
.reseefy-modal-backdrop{position:absolute;inset:0;background:rgba(17,20,23,.58);backdrop-filter:blur(7px);animation:rfFade .22s ease both}
.reseefy-modal-dialog{position:relative;z-index:1;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;border-radius:24px;background:#f2f2f2;box-shadow: none !important;animation:rfModalIn .28s cubic-bezier(.2,.8,.2,1) both}
.reseefy-modal-close{position:sticky;float:right;top:14px;right:14px;z-index:20;width:42px;height:42px;border:1px solid #ddd;border-radius:50%;background:#eeeeec;color:#111;font-size:28px;line-height:1;cursor:pointer;box-shadow: none !important;margin:14px 14px -56px 0}
.reseefy-modal .reseefy-shell{margin:0;max-width:none;border-radius:24px;padding-top:28px}
.reseefy-modal .reseefy-main{min-height:600px}
.reseefy-modal .rf-step.active{animation:none}
@keyframes rfFade{from{opacity:0}to{opacity:1}}
@keyframes rfModalIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes rfStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:767px){
 .reseefy-modal{padding:0;align-items:stretch}
 .reseefy-modal-dialog{width:100%;height:100%;max-height:none;border-radius:0;overflow:auto}
 .reseefy-modal .reseefy-shell{border-radius:0;min-height:100%;padding:12px;padding-top:62px}
 .reseefy-modal .reseefy-summary{display:none}
 .reseefy-modal .reseefy-main{min-height:calc(100vh - 74px);border-radius:18px;padding:18px}
 .reseefy-modal-close{position:fixed;top:10px;right:10px;margin:0}
}

/* Reseefy 0.6.0 — expérience landing page neutre */
.reseefy-modal{background:#f2f2f2;padding:24px}
.reseefy-modal-backdrop{background:#f2f2f2;backdrop-filter:none;-webkit-backdrop-filter:none;animation:rfFade .2s ease both}
.reseefy-modal-dialog{box-shadow: none !important;background:#f2f2f2}
.reseefy-modal-close{display:none!important}
.reseefy-modal .rf-back{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:25px;line-height:1;color:#111}
.reseefy-modal .rf-back[hidden]{display:none!important}
@media(max-width:767px){
 .reseefy-modal{padding:0;background:#f2f2f2}
 .reseefy-modal .reseefy-shell{padding-top:12px}
}

/* Reseefy 0.6.2 — suppression définitive de toute ombre du parcours modal */
.reseefy-modal,
.reseefy-modal::before,
.reseefy-modal::after,
.reseefy-modal-backdrop,
.reseefy-modal-backdrop::before,
.reseefy-modal-backdrop::after,
.reseefy-modal-dialog,
.reseefy-modal-dialog::before,
.reseefy-modal-dialog::after,
.reseefy-modal .reseefy-shell,
.reseefy-modal .reseefy-shell::before,
.reseefy-modal .reseefy-shell::after {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    text-shadow: none !important;
}

.reseefy-modal-dialog,
.reseefy-modal .reseefy-shell {
    isolation: isolate;
}


/* Reseefy 0.6.4 — fond du grand rectangle du parcours */
.reseefy-modal .reseefy-modal-dialog,
.reseefy-modal .reseefy-shell {
    background-color: #f2f2f2 !important;
    background-image: none !important;
}
.reseefy-modal .reseefy-main,
.reseefy-modal .reseefy-summary {
    background-color: #ffffff !important;
}

/* Reseefy 0.6.5 — logo officiel embarqué dans le plugin */
.rf-brand-mark img{pointer-events:none;user-select:none;-webkit-user-drag:none}


/* Reseefy 0.7.1 — profil entreprise */
.rf-brand-mark img{object-fit:cover}
.reseefy-summary h3{margin-bottom:6px}
.rf-profile-hours{margin:0;text-align:center;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#5f6368}

/* Reseefy 0.7.2 — photos arrondies et cadrage personnalisable */
.rf-service-photo,
.rf-service .rf-ph{
    width:76px;
    height:76px;
    border-radius:16px;
    overflow:hidden;
    background-color:#eeeeec;
    background-repeat:no-repeat;
    box-shadow:none;
    flex:none;
}
.rf-service{border-radius:18px;overflow:hidden}
.rf-category-image,
.reseefy-category-showcase .rf-category-tile-image{
    background-repeat:no-repeat;
    overflow:hidden;
}
@media(max-width:620px){
    .rf-service-photo,.rf-service .rf-ph{width:64px;height:64px;border-radius:14px}
}


/* Reseefy 0.7.3 — résumé acompte et scrollbar masquée */
.reseefy-modal-dialog{
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.reseefy-modal-dialog::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
}
.rf-summary-label{
    display:block;
    margin:0 0 8px;
    font-family:Arial,sans-serif;
    font-size:14px;
    font-weight:400;
    color:#6f6f6f;
}
.rf-summary-service-name,
.rf-summary-service-line,
.rf-summary-option,
.rf-summary-date{
    font-family:Arial,sans-serif;
    font-size:15px;
    font-weight:400;
    line-height:1.45;
}
.rf-summary-service-line strong,
.rf-summary-option strong,
.rf-summary-date strong{
    font-family:Arial,sans-serif;
}
.rf-summary-deposit{
    margin-top:16px;
    font-family:Arial,sans-serif;
    font-size:15px;
}
.rf-deposit-note{
    margin:2px 0 14px;
    font-family:Arial,sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.45;
    color:#777;
}

/* Reseefy 0.7.6 — slider stable, sans animation, commandes visibles */
.reseefy-category-showcase .rf-category-tile,
.reseefy-category-showcase .rf-category-tile:hover,
.reseefy-category-showcase .rf-category-tile:focus,
.reseefy-category-showcase .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:hover .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:focus .rf-category-tile-image{
  transition:none!important;animation:none!important;transform:none!important;box-shadow:none!important;
}
.reseefy-category-showcase .rf-category-track{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;scroll-behavior:smooth}
.reseefy-category-showcase .rf-category-track.is-dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto!important}
.reseefy-category-showcase .rf-category-track.is-dragging .rf-category-tile{pointer-events:none}
.reseefy-category-showcase .rf-category-nav{display:flex!important;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}
.reseefy-category-showcase .rf-category-nav button{width:42px;height:42px;padding:0;border:1px solid #d8d8d8;border-radius:999px;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;font:400 21px/1 Arial,sans-serif;cursor:pointer;box-shadow:none!important;transition:none!important}
.reseefy-category-showcase .rf-category-nav button:hover,.reseefy-category-showcase .rf-category-nav button:focus{background:#fff;color:#111;transform:none!important;box-shadow:none!important}
.reseefy-category-showcase .rf-category-nav button:disabled{opacity:.35;cursor:default}
@media(max-width:767px){
 .reseefy-category-showcase.rf-mobile-grid .rf-category-nav{display:none!important}
 .reseefy-category-showcase.rf-mobile-slider .rf-category-nav{display:flex!important}
}


/* Reseefy 0.7.7 — suppression totale des effets de survol des catégories */
.reseefy-category-showcase .rf-category-tile,
.reseefy-category-showcase .rf-category-tile:hover,
.reseefy-category-showcase .rf-category-tile:focus,
.reseefy-category-showcase .rf-category-tile:active{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  transition:none!important;
  animation:none!important;
}
.reseefy-category-showcase .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:hover .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:focus .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:active .rf-category-tile-image{
  margin:0!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  box-shadow:none!important;
  filter:none!important;
  transition:none!important;
  animation:none!important;
}

/* Reseefy 0.8.1 — options supplémentaires avec quantité */
.rf-option{gap:16px}
.rf-option-main{display:flex;flex-direction:column;gap:11px;min-width:0}
.rf-option-main>label{display:flex;gap:10px;align-items:flex-start}
.rf-option-qty{display:flex;align-items:center;gap:7px;margin-left:27px}
.rf-option-qty[hidden]{display:none!important}
.rf-option-qty button,.rf-option-qty input{width:38px;height:36px;border:1px solid var(--rf-border);background:#fff;color:#111;border-radius:10px;text-align:center;font:400 15px/1 Arial,sans-serif;box-shadow:none}
.rf-option-qty button{cursor:pointer;font-size:19px;padding:0}
.rf-option-qty input{-moz-appearance:textfield;padding:0 4px}
.rf-option-qty input::-webkit-outer-spin-button,.rf-option-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rf-option-price{white-space:nowrap;align-self:center}
.rf-summary-duration{margin:3px 0 10px;color:var(--rf-muted);font:400 13px/1.4 Arial,sans-serif}
@media(max-width:600px){.rf-option{align-items:flex-start}.rf-option-qty{margin-left:0}.rf-option-price{align-self:flex-start}}

/* Reseefy 0.8.2 — photos des options */
.rf-option-image{width:64px;height:64px;flex:0 0 64px;border-radius:12px;object-fit:cover;background:#eee}
@media(max-width:600px){.rf-option{display:grid;grid-template-columns:56px 1fr;align-items:start}.rf-option-image{width:56px;height:56px;grid-row:1/3}.rf-option-price{grid-column:2}.rf-option:not(:has(.rf-option-image)){grid-template-columns:1fr auto}}


/* Reseefy 0.8.3 — options supplémentaires élégantes, ajout/retrait indépendant */
.rf-options-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px}
.rf-options-head h3{margin:0 0 6px;font-size:22px;line-height:1.25}
.rf-options-head p{margin:0;color:var(--rf-muted);font:400 14px/1.5 Arial,sans-serif}
.rf-options-count{flex:0 0 auto;color:#555;background:#f4f4f2;border:1px solid var(--rf-border);border-radius:999px;padding:8px 12px;font:600 12px/1 Arial,sans-serif}
.rf-options-list{display:grid;gap:12px}
.rf-option{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid #e2e2df;border-radius:18px;padding:13px;transition:border-color .15s ease,background-color .15s ease}
.rf-option:hover{transform:none!important;box-shadow:none!important;background:#fff!important}
.rf-option.is-selected{border-color:#111;background:#f7f7f5}
.rf-option-image{width:72px;height:72px;flex:0 0 72px;border-radius:14px;object-fit:cover;background:#eeeeec}
.rf-option-placeholder{display:grid;place-items:center;color:#777;font:300 28px/1 Arial,sans-serif}
.rf-option-main{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.rf-option-copy h4{margin:0 0 5px;font:600 16px/1.3 Arial,sans-serif;color:#111}
.rf-option-copy p{margin:0;color:var(--rf-muted);font:400 13px/1.4 Arial,sans-serif}
.rf-option-actions{display:flex;align-items:center;gap:14px}
.rf-option-price{white-space:nowrap;font:600 14px/1 Arial,sans-serif;color:#111}
.rf-option-toggle{min-width:86px;border:1px solid #111;background:#111;color:#fff;border-radius:999px;padding:10px 15px;cursor:pointer;font:600 13px/1 Arial,sans-serif;box-shadow:none;transition:none}
.rf-option-toggle:hover,.rf-option-toggle:focus{transform:none;box-shadow:none;filter:none}
.rf-option-toggle-remove{display:none}
.rf-option.is-selected .rf-option-toggle{background:#fff;color:#111}
.rf-option.is-selected .rf-option-toggle-add{display:none}
.rf-option.is-selected .rf-option-toggle-remove{display:inline}
.rf-option-qty{display:flex;align-items:center;gap:7px;margin:0}
.rf-option-qty[hidden]{display:none!important}
.rf-option-qty button,.rf-option-qty input{width:36px;height:34px;border:1px solid #d8d8d5;background:#fff;color:#111;border-radius:9px;text-align:center;font:400 14px/1 Arial,sans-serif;box-shadow:none}
.rf-option-qty button{cursor:pointer;font-size:18px;padding:0}
.rf-option-qty button:hover,.rf-option-qty button:focus{transform:none;box-shadow:none;background:#f4f4f2}
@media(max-width:700px){
 .rf-options-head{align-items:flex-start;flex-direction:column}.rf-option{grid-template-columns:58px minmax(0,1fr);align-items:start}.rf-option-image{width:58px;height:58px}.rf-option-actions{grid-column:1/-1;width:100%;justify-content:space-between;padding-top:2px}.rf-option-toggle{min-width:100px}.rf-option-main{gap:9px}
}

/* Reseefy 0.8.15 — cartes de prestations compactes inspirées de Setmore */
.reseefy-app .rf-services{
  display:grid;
  gap:10px;
}
.reseefy-app .rf-service,
.reseefy-app .rf-service:hover,
.reseefy-app .rf-service:focus,
.reseefy-app .rf-service:active{
  width:100%;
  min-height:70px;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px 14px;
  margin:0;
  background:#fff;
  border:1px solid var(--rf-border);
  border-radius:14px;
  box-shadow:none!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
  text-align:left;
  overflow:hidden;
}
.reseefy-app .rf-service>div:first-child{
  width:52px;
  height:52px;
  min-width:52px;
}
.reseefy-app .rf-service-photo,
.reseefy-app .rf-service .rf-ph,
.reseefy-app .rf-service img{
  display:block;
  width:52px!important;
  height:52px!important;
  min-width:52px;
  object-fit:cover;
  border-radius:var(--rf-service-photo-radius,10px)!important;
  background-color:#eeeeec;
}
.reseefy-app .rf-service h3{
  margin:0 0 4px;
  color:#111;
  font:500 15px/1.3 Arial,sans-serif;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.reseefy-app .rf-service p{
  margin:0;
  color:#666;
  font:400 13px/1.3 Arial,sans-serif;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.reseefy-app .rf-service .rf-price{
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:max-content;
  margin:0;
  color:#111;
  font:600 14px/1.2 Arial,sans-serif;
  white-space:nowrap;
}
@media(max-width:620px){
  .reseefy-app .rf-services{gap:9px}
  .reseefy-app .rf-service,
  .reseefy-app .rf-service:hover,
  .reseefy-app .rf-service:focus,
  .reseefy-app .rf-service:active{
    min-height:66px;
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:10px;
    padding:9px 11px;
    border-radius:13px;
  }
  .reseefy-app .rf-service>div:first-child,
  .reseefy-app .rf-service-photo,
  .reseefy-app .rf-service .rf-ph,
  .reseefy-app .rf-service img{
    width:48px!important;
    height:48px!important;
    min-width:48px;
  }
  .reseefy-app .rf-service h3{font-size:14px}
  .reseefy-app .rf-service p{font-size:12px}
  .reseefy-app .rf-service .rf-price{grid-column:auto;margin:0;font-size:13px}
}

/* v0.8.18: les cartes de prestations utilisent réellement les contours généraux personnalisés. */
.reseefy-app .rf-service{border-color:var(--rf-form-border,var(--rf-border,#efefef))!important;border-width:var(--rf-form-border-width,1px)!important;border-style:solid!important}

/* Reseefy 0.8.19 — les contours de dates et créneaux suivent le réglage global du formulaire. */
.reseefy-app .rf-date,
.reseefy-app .rf-slot {
  border-color: var(--rf-form-border, #efefef) !important;
  border-width: var(--rf-form-border-width, 1px) !important;
  border-style: solid !important;
}
.reseefy-app .rf-date:hover,
.reseefy-app .rf-slot:hover,
.reseefy-app .rf-date:focus,
.reseefy-app .rf-slot:focus,
.reseefy-app .rf-date.active,
.reseefy-app .rf-slot.active {
  border-color: var(--rf-form-border, #efefef) !important;
  border-width: var(--rf-form-border-width, 1px) !important;
  border-style: solid !important;
}

.rf-no-deposit-message,.rf-payment-warning{margin:0;padding:14px 16px;border:1px solid var(--rf-border);border-radius:12px;background:#fafafa;color:#333}.rf-payment-warning{color:#a00}.rf-primary:disabled{opacity:.5;cursor:not-allowed}

.rf-category-grid{gap:18px}.rf-category img,.rf-category .rf-ph{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:12px}.rf-category strong{margin:0 0 4px}.rf-category span{margin-top:2px}
/* Reseefy 0.8.24 — catégories sans animation, avec survol très léger */
.reseefy-app .rf-category,
.reseefy-app .rf-category:hover,
.reseefy-app .rf-category:focus,
.reseefy-app .rf-category:active,
.reseefy-category-showcase .rf-category-tile,
.reseefy-category-showcase .rf-category-tile:hover,
.reseefy-category-showcase .rf-category-tile:focus,
.reseefy-category-showcase .rf-category-tile:active {
  transform: none !important;
  translate: none !important;
  scale: 1 !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
}

.reseefy-app .rf-category {
  background-color: #ffffff !important;
}
.reseefy-app .rf-category:hover,
.reseefy-app .rf-category:focus-visible {
  background-color: #f7f7f5 !important;
}

.reseefy-category-showcase .rf-category-tile {
  background-color: #ffffff !important;
}
.reseefy-category-showcase .rf-category-tile:hover,
.reseefy-category-showcase .rf-category-tile:focus-visible {
  background-color: #f7f7f5 !important;
}

.reseefy-app .rf-category-image,
.reseefy-app .rf-category:hover .rf-category-image,
.reseefy-app .rf-category:focus .rf-category-image,
.reseefy-category-showcase .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:hover .rf-category-tile-image,
.reseefy-category-showcase .rf-category-tile:focus .rf-category-tile-image {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
  transition: none !important;
}


/* v0.8.25 Typography */
.rf-step-coordinates,
.rf-step-coordinates label,
.rf-step-coordinates input,
.rf-step-coordinates textarea,
.rf-step-coordinates select,
.rf-step-coordinates .description,
.rf-step-coordinates .notice,
.rf-summary,
.rf-summary *:not(h1):not(h2):not(h3):not(.rf-business-name){
    font-family: Arial, sans-serif !important;
    font-weight:400 !important;
}

/* v0.8.26 — Étape coordonnées en Arial Regular */
.reseefy-app .rf-step-5,
.reseefy-app .rf-step-5 .rf-customer-form,
.reseefy-app .rf-step-5 .rf-customer-form label,
.reseefy-app .rf-step-5 .rf-customer-form input,
.reseefy-app .rf-step-5 .rf-customer-form textarea,
.reseefy-app .rf-step-5 .rf-customer-form select,
.reseefy-app .rf-step-5 .rf-customer-form option,
.reseefy-app .rf-step-5 .rf-payment-methods,
.reseefy-app .rf-step-5 .rf-payment-methods *,
.reseefy-app .rf-step-5 .rf-no-deposit-message,
.reseefy-app .rf-step-5 .rf-payment-warning,
.reseefy-app .rf-step-5 .rf-primary {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: normal;
}

.reseefy-app .rf-step-5 .rf-customer-form label,
.reseefy-app .rf-step-5 .rf-no-deposit-message,
.reseefy-app .rf-step-5 .rf-payment-warning {
    font-size: 16px;
    line-height: 1.45;
}

.reseefy-app .rf-step-5 .rf-customer-form input,
.reseefy-app .rf-step-5 .rf-customer-form textarea,
.reseefy-app .rf-step-5 .rf-customer-form select {
    font-size: 16px;
    line-height: 1.45;
}

/* Le titre de l'étape conserve la police éditoriale existante. */
.reseefy-app .rf-title {
    font-weight: inherit;
}


/* Reseefy 0.8.30 — détails des options supplémentaires */
.reseefy-app .rf-option-details-toggle{appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent!important;color:#4b5563!important;padding:0 0 2px!important;margin-top:7px;min-height:0!important;font:400 13px/1.35 Arial,sans-serif!important;cursor:pointer;border-radius:0!important;box-shadow:none!important;text-decoration:none}
.reseefy-app .rf-option-details-toggle:hover,.reseefy-app .rf-option-details-toggle:focus{color:#111!important;background:transparent!important;transform:none!important;outline:none}
.reseefy-app .rf-option-details-panel{grid-column:2/-1;margin:9px 0 0;padding:13px 15px;background:#f7f7f5;border:1px solid var(--rf-form-border,#efefef);border-radius:10px;font:400 14px/1.55 Arial,sans-serif;color:#4b5563}
.reseefy-app .rf-option-details-panel[hidden]{display:none!important}
.reseefy-app .rf-option-details-panel p{margin:0}
@media(max-width:640px){.reseefy-app .rf-option-details-panel{grid-column:1/-1}}


/* Reseefy 0.8.39 — détails d'option fluides */
.reseefy-app .rf-option-details-panel{
  display:grid!important;
  grid-template-rows:0fr;
  opacity:0;
  overflow:hidden;
  margin-top:0;
  transition:grid-template-rows .28s cubic-bezier(.22,.61,.36,1),opacity .2s ease,margin-top .28s ease;
}
.reseefy-app .rf-option-details-panel>.rf-option-details-inner{min-height:0;overflow:hidden}
.reseefy-app .rf-option-details-panel.is-open{grid-template-rows:1fr;opacity:1;margin-top:14px}
.reseefy-app .rf-option-details-panel p{margin:0;padding:18px 16px;background:#f7f7f5;border:1px solid #efefef;border-radius:12px;line-height:1.55;font-family:Arial,sans-serif;font-weight:400}
.reseefy-app .rf-option-details-toggle{transition:none!important}


/* v0.8.44 unify booking backgrounds */
.reseefy-booking-wrapper,
.reseefy-booking-page,
.reseefy-booking-popup,
.reseefy-booking-modal,
.reseefy-booking-modal-content,
.reseefy-step-container,
.reseefy-booking-content{background:#f2f2f2!important;}
.reseefy-card,.reseefy-summary,.reseefy-category-card,.reseefy-service-card{background:#fff!important;}


/* Reseefy 0.8.46 — fond exact du conteneur du formulaire et du popup */
.reseefy-app{--rf-bg:#f2f2f2!important;}
.reseefy-app>.reseefy-shell,
.reseefy-shell,
.reseefy-modal,
.reseefy-modal-backdrop,
.reseefy-modal-dialog,
.reseefy-modal .reseefy-shell{
  background-color:#f2f2f2!important;
  background-image:none!important;
}
.reseefy-main,
.reseefy-summary,
.reseefy-modal .reseefy-main,
.reseefy-modal .reseefy-summary{
  background-color:#fff!important;
}

/* Summary typography: exact rendered elements */
.reseefy-app .reseefy-summary .rf-profile-hours,
.reseefy-modal .reseefy-summary .rf-profile-hours{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:14px!important;
    font-weight:400!important;
    font-style:normal!important;
    line-height:20px!important;
    letter-spacing:0!important;
}
.reseefy-app .reseefy-summary .rf-summary-content .rf-empty,
.reseefy-modal .reseefy-summary .rf-summary-content .rf-empty{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:14px!important;
    font-weight:400!important;
    font-style:normal!important;
    line-height:20px!important;
    letter-spacing:0!important;
}

/* Reseefy 0.8.52 — choix du collaborateur */
.rf-collab-front-head{margin-bottom:18px}.rf-collab-front-head h3{margin:0 0 5px;font:600 18px Arial,sans-serif}.rf-collab-front-head p{margin:0;color:#667085;font:400 14px Arial,sans-serif}.rf-collab-front-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rf-collab-choice{display:flex;align-items:center;gap:13px;width:100%;padding:13px;border:1px solid var(--rf-form-border-color,#efefef);border-radius:14px;background:#fff;text-align:left;cursor:pointer;font-family:Arial,sans-serif}.rf-collab-choice:hover{background:#f8f8f7}.rf-collab-choice.is-selected{border-color:#111;background:#f7f7f5}.rf-collab-choice-avatar{width:52px;height:52px;border-radius:14px;object-fit:cover;display:flex;align-items:center;justify-content:center;flex:0 0 52px;background:#111;color:#fff;font-size:20px}.rf-collab-any{background:#f2f2f2;color:#111}.rf-collab-choice strong{display:block;font-size:15px;color:#111}.rf-collab-choice small{display:block;margin-top:4px;color:#667085;font-size:12px}@media(max-width:700px){.rf-collab-front-grid{grid-template-columns:1fr}}


/* Reseefy 0.8.53 — Espace client */
.rf-client-space{--rf-client-blue:#315efb;--rf-client-border:#e4e7ec;--rf-client-bg:#f4f5f7;--rf-client-text:#20242a;font-family:Arial,Helvetica,sans-serif;color:var(--rf-client-text);box-sizing:border-box}
.rf-client-space *{box-sizing:border-box}
.rf-client-auth{display:flex;justify-content:center;padding:42px 18px;background:var(--rf-client-bg);border-radius:24px}
.rf-client-auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--rf-client-border);border-radius:22px;padding:32px;box-shadow:0 14px 40px rgba(16,24,40,.08)}
.rf-client-auth-brand{text-align:center;margin-bottom:26px}.rf-client-auth-brand img{width:82px;height:82px;object-fit:cover;border-radius:50%;background:#f6efe3;margin-bottom:14px}.rf-client-auth-brand span,.rf-client-dashboard-head span,.rf-client-section-head span,.rf-client-profile-card>div>span{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;color:#667085}.rf-client-auth-brand h2{margin:6px 0 8px;font-size:28px}.rf-client-auth-brand p{margin:0;color:#667085}
.rf-client-login-form,.rf-client-help-form,.rf-client-profile-form{display:grid;gap:16px}.rf-client-login-form label,.rf-client-help-form label,.rf-client-profile-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.rf-client-login-form input,.rf-client-help-form input,.rf-client-profile-form input{width:100%;height:48px;border:1px solid #d0d5dd;border-radius:10px;padding:0 13px;font:400 15px Arial,sans-serif;background:#fff}.rf-client-login-form input:focus,.rf-client-help-form input:focus,.rf-client-profile-form input:focus{outline:0;border-color:var(--rf-client-blue);box-shadow:0 0 0 3px rgba(49,94,251,.12)}
.rf-client-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;font-weight:400!important}.rf-client-remember input{width:16px;height:16px}
.rf-client-primary{min-height:48px;border:1px solid var(--rf-client-blue);border-radius:10px;background:var(--rf-client-blue);color:#fff;padding:0 18px;font:600 15px Arial,sans-serif;cursor:pointer}.rf-client-primary:disabled{opacity:.55;cursor:wait}
.rf-client-auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.rf-client-auth-links button,.rf-client-back-login{border:0;background:transparent;color:#3448c5;text-decoration:underline;cursor:pointer;padding:5px 0;font:400 13px Arial,sans-serif}.rf-client-help-form{border-top:1px solid var(--rf-client-border);padding-top:22px;margin-top:22px}.rf-client-help-form h3{margin:0}.rf-client-help-form p{margin:0;color:#667085}
.rf-client-message{display:none;margin-top:16px;padding:12px 14px;border-radius:10px;font-size:13px}.rf-client-message.is-error,.rf-client-message.is-success{display:block}.rf-client-message.is-error{background:#fff1f0;color:#a12622}.rf-client-message.is-success{background:#ecfdf3;color:#176b34}
.rf-client-dashboard{background:var(--rf-client-bg);border-radius:24px;padding:22px;max-width:1180px;margin:0 auto}.rf-client-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;background:#fff;border:1px solid var(--rf-client-border);border-radius:18px;padding:24px 26px}.rf-client-dashboard-head h1{margin:5px 0 7px;font-size:30px}.rf-client-dashboard-head p{margin:0;color:#667085}.rf-client-dashboard-head>a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--rf-client-border);border-radius:9px;color:#344054;text-decoration:none;background:#fff;white-space:nowrap}
.rf-client-tabs{display:flex;gap:8px;margin:14px 0;background:#fff;border:1px solid var(--rf-client-border);border-radius:14px;padding:5px}.rf-client-tabs button{border:0;background:transparent;padding:11px 17px;border-radius:10px;font:600 14px Arial,sans-serif;color:#667085;cursor:pointer}.rf-client-tabs button.is-active{background:#111827;color:#fff}
.rf-client-panel{display:none}.rf-client-panel.is-active{display:block}.rf-client-section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:24px 4px 12px}.rf-client-section-head h2{margin:5px 0 0;font-size:22px}.rf-client-section-head>strong{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--rf-client-border)}
.rf-client-bookings-list{display:grid;gap:12px}.rf-client-booking-card{display:grid;grid-template-columns:74px 1fr;gap:18px;background:#fff;border:1px solid var(--rf-client-border);border-radius:18px;padding:18px}.rf-client-booking-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f7f9;border-radius:14px;min-height:94px}.rf-client-booking-date span,.rf-client-booking-date small{text-transform:uppercase;color:#667085;font-size:11px}.rf-client-booking-date strong{font-size:28px;line-height:1.05;margin:4px 0}
.rf-client-booking-head{display:flex;justify-content:space-between;gap:15px}.rf-client-booking-head h3{margin:0 0 6px;font-size:18px}.rf-client-booking-head p{margin:0;color:#667085}.rf-client-status{height:28px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;white-space:nowrap}.rf-client-status.rf-status-confirmed{background:#eaf7ee;color:#176b34}.rf-client-status.rf-status-pending{background:#fff5d9;color:#835d00}.rf-client-status.rf-status-cancelled{background:#fbeaea;color:#a12622}
.rf-client-booking-meta{display:flex;gap:20px;flex-wrap:wrap;color:#667085;font-size:13px;margin-top:12px}.rf-client-booking-meta strong{color:#344054}.rf-client-booking-details{border-top:1px solid var(--rf-client-border);margin-top:14px;padding-top:12px}.rf-client-booking-details summary{cursor:pointer;color:#3448c5;font-weight:600}.rf-client-booking-details>div{padding:12px 0 2px;color:#475467;line-height:1.55}.rf-client-booking-details p{margin:6px 0}.rf-client-booking-details ul{margin:7px 0 0 20px}
.rf-client-booking-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.rf-client-booking-actions a,.rf-client-booking-actions button{min-height:38px;padding:0 13px;border-radius:9px;border:1px solid var(--rf-client-border);background:#fff;color:#344054;text-decoration:none;display:inline-flex;align-items:center;font:500 13px Arial,sans-serif;cursor:pointer}.rf-client-booking-actions .rf-client-cancel{border-color:#fda29b;color:#b42318}.rf-client-empty{background:#fff;border:1px dashed #cfd5df;border-radius:18px;padding:36px;text-align:center}.rf-client-empty h3{margin:0 0 7px}.rf-client-empty p{color:#667085}.rf-client-empty a{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;background:#111827;color:#fff;border-radius:9px;text-decoration:none}
.rf-client-history-title{margin-top:34px}.rf-client-history .rf-client-booking-card{opacity:.88}
.rf-client-profile-card{background:#fff;border:1px solid var(--rf-client-border);border-radius:18px;padding:26px}.rf-client-profile-card>div>h2{margin:5px 0 8px;font-size:24px}.rf-client-profile-card>div>p{margin:0 0 24px;color:#667085}.rf-client-profile-form{max-width:720px}.rf-client-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rf-client-password-block{border-top:1px solid var(--rf-client-border);padding-top:20px;margin-top:5px}.rf-client-password-block h3{margin:0 0 5px}.rf-client-password-block p{margin:0 0 15px;color:#667085;font-size:13px}
@media(max-width:720px){.rf-client-dashboard{padding:12px;border-radius:16px}.rf-client-dashboard-head{flex-direction:column}.rf-client-dashboard-head h1{font-size:25px}.rf-client-tabs button{flex:1}.rf-client-booking-card{grid-template-columns:58px 1fr;padding:13px;gap:12px}.rf-client-booking-date{min-height:78px}.rf-client-booking-date strong{font-size:23px}.rf-client-booking-head{flex-direction:column}.rf-client-status{align-self:flex-start}.rf-client-grid2{grid-template-columns:1fr}.rf-client-auth-card{padding:24px 19px}.rf-client-booking-actions>*{flex:1;justify-content:center}}


/* Reseefy 0.8.54 — Espace client premium */
.rf-client-premium{--rf-client-accent:#111827}
.rf-client-tabs-premium{overflow:auto;scrollbar-width:none}.rf-client-tabs-premium::-webkit-scrollbar{display:none}.rf-client-tabs-premium button{white-space:nowrap}
.rf-client-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.rf-client-stat-grid article{background:#fff;border:1px solid var(--rf-client-border);border-radius:18px;padding:20px}.rf-client-stat-grid span,.rf-client-stat-grid small{display:block;color:#667085;font-size:12px}.rf-client-stat-grid strong{display:block;font-size:27px;margin:10px 0 5px;color:#111827}
.rf-client-premium-block{background:#fff;border:1px solid var(--rf-client-border);border-radius:18px;padding:22px;margin-top:14px}.rf-client-block-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}.rf-client-block-head span{font-size:11px;letter-spacing:.12em;font-weight:700;color:#667085}.rf-client-block-head h2{margin:5px 0 0;font-size:21px}
.rf-client-dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rf-client-notifications{display:grid;gap:10px}.rf-client-notification{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:start;padding:12px;border-radius:12px;background:#f8fafc}.rf-client-notification i{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#16a34a}.rf-client-notification.rf-notification-pending i{background:#f59e0b}.rf-client-notification.rf-notification-cancelled i{background:#dc2626}.rf-client-notification strong{font-size:13px}.rf-client-notification p{margin:3px 0 0;color:#667085;font-size:12px}
.rf-client-recommendations{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.rf-client-recommendations article{border:1px solid var(--rf-client-border);border-radius:14px;overflow:hidden;padding:10px}.rf-client-recommendations img{width:100%;height:100px;object-fit:cover;border-radius:10px}.rf-client-recommendations h3{font-size:14px;margin:9px 0}.rf-client-recommendations a{font-size:12px;color:#3448c5}
.rf-client-waitlist-form{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:9px}.rf-client-waitlist-form input,.rf-client-waitlist-form select{height:44px;border:1px solid #d0d5dd;border-radius:9px;padding:0 10px;background:#fff}
.rf-client-favorites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rf-client-favorites-grid article{border:1px solid var(--rf-client-border);border-radius:14px;padding:14px}.rf-client-favorites-grid h3{margin:0 0 10px;font-size:15px}.rf-client-favorites-grid a{color:#3448c5}
.rf-client-payment-list{display:grid;gap:10px}.rf-client-payment-list article{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--rf-client-border);border-radius:14px;padding:15px}.rf-client-payment-list article>div:first-child span,.rf-client-payment-list small{display:block;color:#667085;font-size:12px;margin-top:4px}.rf-client-payment-list a{color:#3448c5}.rf-client-info-note{background:#eef3ff;border:1px solid #d7e1ff;border-radius:14px;padding:16px;margin-top:14px}.rf-client-info-note p{margin:5px 0 0;color:#53627a}
.rf-client-loyalty-card{background:linear-gradient(135deg,#111827,#283347);color:#fff;border-radius:20px;padding:28px;margin-bottom:14px}.rf-client-loyalty-card span{font-size:11px;letter-spacing:.12em;color:#cbd5e1}.rf-client-loyalty-card h2{font-size:36px;margin:8px 0}.rf-client-loyalty-card p{color:#cbd5e1}.rf-client-loyalty-progress{height:10px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;margin-top:20px}.rf-client-loyalty-progress i{display:block;height:100%;background:#fff;border-radius:999px}
.rf-client-review-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff8e7;border:1px solid #f5dfaa;border-radius:18px;padding:22px;margin-top:14px}.rf-client-review-card span{font-size:11px;letter-spacing:.12em;font-weight:700;color:#8a6421}.rf-client-review-card h2{margin:5px 0}.rf-client-review-card p{margin:0;color:#7c6b4c}.rf-client-review-card a{background:#111827;color:#fff;text-decoration:none;padding:12px 16px;border-radius:10px;white-space:nowrap}
.rf-client-message-thread{max-height:360px;overflow:auto;display:grid;gap:10px;margin-bottom:14px}.rf-client-message-thread article{max-width:78%;padding:12px 14px;border-radius:14px;background:#f2f4f7}.rf-client-message-thread article.is-client{justify-self:end;background:#eaf0ff}.rf-client-message-thread p{margin:5px 0}.rf-client-message-thread small{color:#667085}.rf-client-message-form textarea{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:12px;font:14px Arial;margin-bottom:10px}.rf-client-preferences-form{display:grid;gap:12px}.rf-client-preferences-form label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--rf-client-border);border-radius:12px}.rf-client-preferences-form input{width:17px;height:17px}
.rf-client-pay-balance{border-color:#111827!important;background:#111827!important;color:#fff!important}
@media(max-width:1000px){.rf-client-stat-grid{grid-template-columns:repeat(2,1fr)}.rf-client-dashboard-columns{grid-template-columns:1fr}.rf-client-waitlist-form{grid-template-columns:1fr 1fr}.rf-client-waitlist-form .rf-client-primary{grid-column:1/-1}.rf-client-payment-list article{grid-template-columns:1fr 1fr}.rf-client-payment-list article>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.rf-client-stat-grid{grid-template-columns:1fr 1fr}.rf-client-stat-grid article{padding:15px}.rf-client-favorites-grid,.rf-client-recommendations{grid-template-columns:1fr}.rf-client-waitlist-form{grid-template-columns:1fr}.rf-client-review-card{align-items:flex-start;flex-direction:column}.rf-client-payment-list article{grid-template-columns:1fr}.rf-client-payment-list article>div:first-child{grid-column:auto}.rf-client-message-thread article{max-width:92%}}

/* Reseefy 0.8.56 — activation sécurisée du compte client */
.rf-client-password-setup .rf-client-auth-card{max-width:520px}.rf-client-set-password-form{display:grid;gap:16px}.rf-client-set-password-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.rf-client-set-password-form input{height:48px;border:1px solid #d0d5dd;border-radius:10px;padding:0 13px;font:400 15px Arial,sans-serif}.rf-client-set-password-form input:focus{outline:0;border-color:#315efb;box-shadow:0 0 0 3px rgba(49,94,251,.12)}.rf-password-hint{display:block;margin-top:-8px;color:#667085;font-size:12px}


/* Reseefy 0.8.58 — Connexion client simplifiée */
.rf-client-auth-simple {
    padding: 42px 18px;
}

.rf-client-auth-simple .rf-client-auth-card {
    width: min(430px, 100%);
    padding: 32px;
    border: 1px solid var(--rf-client-border);
    border-radius: 18px;
    box-shadow: none !important;
    overflow: hidden;
}

.rf-client-auth-simple .rf-client-auth-viewport {
    width: 100%;
    overflow: hidden;
}

.rf-client-auth-simple .rf-client-auth-slider {
    display: flex;
    width: 200%;
    transform: translateX(0);
    transition: transform 0.42s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.rf-client-auth-simple.is-forgot-open .rf-client-auth-slider {
    transform: translateX(-50%);
}

.rf-client-auth-simple .rf-client-auth-panel {
    width: 50%;
    min-width: 50%;
    padding: 1px;
}

.rf-client-auth-simple .rf-client-login-form,
.rf-client-auth-simple .rf-client-help-form {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    border: 0;
}

.rf-client-auth-simple .rf-client-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: -2px;
}

.rf-client-auth-simple .rf-client-remember {
    display: inline-flex;
    grid-template-columns: none;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
}

.rf-client-auth-simple .rf-client-remember input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #20242a;
}

.rf-client-auth-simple .rf-client-forgot-trigger,
.rf-client-auth-simple .rf-client-back-login {
    border: 0;
    background: transparent;
    color: #3448c5;
    padding: 0;
    font: 400 13px Arial, sans-serif;
    text-decoration: underline;
    cursor: pointer;
}

.rf-client-auth-simple .rf-client-back-login {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 24px;
    text-decoration: none;
}

.rf-client-auth-simple .rf-client-forgot-heading {
    margin-bottom: 22px;
}

.rf-client-auth-simple .rf-client-forgot-heading h2 {
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.2;
    color: #20242a;
}

.rf-client-auth-simple .rf-client-forgot-heading p {
    margin: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.55;
}

.rf-client-auth-simple .rf-client-message:empty {
    display: none;
}

.rf-client-auth-simple .rf-client-message {
    margin-top: 16px;
}

@media (max-width: 520px) {
    .rf-client-auth-simple {
        padding: 24px 12px;
    }

    .rf-client-auth-simple .rf-client-auth-card {
        padding: 24px 18px;
        border-radius: 14px;
    }

    .rf-client-auth-simple .rf-client-login-options {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rf-client-auth-simple .rf-client-auth-slider {
        transition: none;
    }
}
 
.rf-password-wrap{position:relative}
.rf-password-wrap input{padding-right:46px!important}
.rf-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#666;padding:0}
.rf-password-toggle:hover{color:#111}


/* Reseefy 0.8.60 — correctif définitif de connexion */
.rf-client-auth-simple .rf-client-auth-card{box-shadow:none!important;-webkit-box-shadow:none!important;filter:none!important}
.rf-client-auth-simple .rf-password-toggle .rf-eye-closed{display:none}
.rf-client-auth-simple .rf-password-toggle.is-visible .rf-eye-open{display:none}
.rf-client-auth-simple .rf-password-toggle.is-visible .rf-eye-closed{display:block}


/* v0.8.62 Typography */
.rf-client-auth-simple input,
.rf-client-auth-simple textarea,
.rf-client-auth-simple select{
    font-family: Arial, sans-serif !important;
    font-weight:400 !important;
    font-size:15px !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
}
.rf-client-auth-simple input::placeholder{
    font-family: Arial, sans-serif !important;
    font-weight:400 !important;
}


/* =========================================================
   Reseefy 0.8.65 — Correctif mobile premium du parcours
   ========================================================= */
@media (max-width: 767px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    .reseefy-app,
    .reseefy-booking,
    .rf-booking,
    .rf-booking-shell,
    .rf-booking-container,
    .rf-modal-content,
    .reseefy-modal-content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .reseefy-app {
        position: relative !important;
        display: block !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    /* Corrige la structure desktop en colonnes qui écrasait la zone principale */
    .reseefy-app .rf-layout,
    .reseefy-app .rf-booking-layout,
    .reseefy-app .rf-main-layout,
    .reseefy-app .rf-content-grid,
    .reseefy-app .rf-shell,
    .reseefy-app .rf-wrapper {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 0 !important;
    }

    /* Colonne de navigation mobile */
    .reseefy-app .rf-side,
    .reseefy-app .rf-sidebar,
    .reseefy-app .rf-booking-sidebar,
    .reseefy-app .rf-left-panel {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 16px 18px !important;
        border-radius: 20px 20px 0 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        overflow: visible !important;
    }

    /* Zone de contenu principale */
    .reseefy-app .rf-main,
    .reseefy-app .rf-booking-main,
    .reseefy-app .rf-content,
    .reseefy-app .rf-right-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 20px 16px 28px !important;
        margin: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* En-tête compact et lisible */
    .reseefy-app .rf-kicker,
    .reseefy-app .rf-eyebrow {
        font-size: 11px !important;
        line-height: 1.35 !important;
        letter-spacing: .14em !important;
        margin: 0 0 8px !important;
        white-space: normal !important;
    }

    .reseefy-app h1,
    .reseefy-app .rf-title,
    .reseefy-app .rf-step-title {
        font-size: clamp(30px, 9vw, 44px) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.03em !important;
        margin: 0 0 20px !important;
        max-width: 100% !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* Bouton retour horizontal premium */
    .reseefy-app .rf-back,
    .reseefy-app .rf-back-button,
    .reseefy-app .reseefy-back {
        position: static !important;
        flex: 0 0 auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 50% !important;
        display: inline-grid !important;
        place-items: center !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
    }

    /* Étapes et cartes */
    .reseefy-app .rf-step,
    .reseefy-app .rf-step-content,
    .reseefy-app .rf-services,
    .reseefy-app .rf-categories,
    .reseefy-app .rf-options,
    .reseefy-app .rf-collaborators {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .reseefy-app .rf-services,
    .reseefy-app .rf-categories,
    .reseefy-app .rf-collaborators,
    .reseefy-app .rf-options {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .reseefy-app .rf-service-card,
    .reseefy-app .rf-category-card,
    .reseefy-app .rf-collaborator-card,
    .reseefy-app .rf-option-card,
    .reseefy-app .rf-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: 88px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 12px !important;
        border-radius: 18px !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .reseefy-app .rf-service-card img,
    .reseefy-app .rf-category-card img,
    .reseefy-app .rf-collaborator-card img,
    .reseefy-app .rf-card img {
        width: 88px !important;
        height: 88px !important;
        min-width: 88px !important;
        object-fit: cover !important;
        border-radius: 14px !important;
        margin: 0 !important;
    }

    .reseefy-app .rf-service-card > *,
    .reseefy-app .rf-category-card > *,
    .reseefy-app .rf-collaborator-card > *,
    .reseefy-app .rf-option-card > *,
    .reseefy-app .rf-card > * {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .reseefy-app .rf-service-card h3,
    .reseefy-app .rf-category-card h3,
    .reseefy-app .rf-collaborator-card h3,
    .reseefy-app .rf-card h3 {
        font-size: 16px !important;
        line-height: 1.3 !important;
        margin: 0 0 5px !important;
        overflow-wrap: anywhere !important;
    }

    .reseefy-app .rf-service-card p,
    .reseefy-app .rf-category-card p,
    .reseefy-app .rf-collaborator-card p,
    .reseefy-app .rf-card p,
    .reseefy-app .rf-meta {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        overflow-wrap: anywhere !important;
    }

    /* Résumé mobile */
    .reseefy-app .rf-summary,
    .reseefy-app .rf-summary-card,
    .reseefy-app .rf-booking-summary {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 18px 0 0 !important;
        padding: 18px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    /* Boutons toujours accessibles */
    .reseefy-app .rf-actions,
    .reseefy-app .rf-step-actions {
        position: static !important;
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 18px !important;
        padding: 0 !important;
    }

    .reseefy-app button,
    .reseefy-app .rf-primary,
    .reseefy-app .rf-secondary {
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .reseefy-app .rf-primary,
    .reseefy-app .rf-secondary {
        width: 100% !important;
        min-height: 50px !important;
        border-radius: 14px !important;
    }

    /* Formulaires */
    .reseefy-app input,
    .reseefy-app select,
    .reseefy-app textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Calendrier */
    .reseefy-app .rf-calendar,
    .reseefy-app .rf-calendar-wrap,
    .reseefy-app .rf-time-slots {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .reseefy-app .rf-days,
    .reseefy-app .rf-time-grid {
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    /* Neutralise les dimensions desktop responsables de la colonne ultra-fine */
    .reseefy-app [style*="width"],
    .reseefy-app [style*="min-width"] {
        max-width: 100% !important;
    }
}

@media (max-width: 420px) {
    .reseefy-app .rf-main,
    .reseefy-app .rf-booking-main,
    .reseefy-app .rf-content,
    .reseefy-app .rf-right-panel {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .reseefy-app .rf-service-card,
    .reseefy-app .rf-category-card,
    .reseefy-app .rf-collaborator-card,
    .reseefy-app .rf-option-card,
    .reseefy-app .rf-card {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 10px !important;
    }

    .reseefy-app .rf-service-card img,
    .reseefy-app .rf-category-card img,
    .reseefy-app .rf-collaborator-card img,
    .reseefy-app .rf-card img {
        width: 76px !important;
        height: 76px !important;
        min-width: 76px !important;
    }
}


/* Reseefy 0.8.66 fallback responsive */

@media (max-width: 1024px) {
  html body.reseefy-modal-open {
    overflow: hidden !important;
    touch-action: none;
  }

  /* Popup opened from [reseefy_categories] */
  body > .reseefy-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f2f2f2 !important;
    overflow: hidden !important;
    align-items: stretch !important;
    justify-content: stretch !important;
  }

  body > .reseefy-modal .reseefy-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #f2f2f2 !important;
  }

  body > .reseefy-modal .reseefy-modal-dialog {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f2f2f2 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
  }

  /* Exact structure used by both [reseefy_booking] and popup */
  .reseefy-app,
  .reseefy-app .reseefy-shell,
  .reseefy-app .reseefy-main,
  .reseefy-app .reseefy-summary {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .reseefy-app .reseefy-shell {
    display: block !important;
    width: 100% !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    margin: 0 auto !important;
    padding: 18px !important;
    border-radius: 0 !important;
    background: #f2f2f2 !important;
  }

  .reseefy-app .reseefy-main {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .reseefy-app .reseefy-summary {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 18px 0 0 !important;
    padding: 22px !important;
    border-radius: 22px !important;
  }

  /* In popup, summary is hidden to maximize usable space. */
  body > .reseefy-modal .reseefy-summary {
    display: none !important;
  }

  .reseefy-app .reseefy-top {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .reseefy-app .rf-back {
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e4e4e4 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #111 !important;
    display: inline-grid !important;
    place-items: center !important;
    font: 400 29px/1 Arial, sans-serif !important;
    transform: none !important;
  }

  .reseefy-app .rf-back[hidden] {
    display: none !important;
  }

  .reseefy-app .reseefy-top > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  .reseefy-app .rf-kicker {
    display: block !important;
    margin: 4px 0 8px !important;
    font: 400 12px/1.35 Arial, sans-serif !important;
    letter-spacing: .16em !important;
    white-space: normal !important;
  }

  .reseefy-app .rf-title {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(30px, 6vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .reseefy-app .rf-progress {
    width: 100% !important;
    margin: 24px 0 !important;
  }

  .reseefy-app .rf-step,
  .reseefy-app .rf-step.active,
  .reseefy-app .rf-category-grid,
  .reseefy-app .rf-services,
  .reseefy-app .rf-options,
  .reseefy-app .rf-collaborators {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* Category page [reseefy_booking] */
  .reseefy-app .rf-category-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .reseefy-app .rf-category {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  .reseefy-app .rf-category-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    margin: 0 0 12px !important;
    border-radius: 14px !important;
    background-repeat: no-repeat !important;
  }

  .reseefy-app .rf-category strong {
    display: block !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  .reseefy-app .rf-category span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 400 13px/1.4 Arial, sans-serif !important;
  }

  /* Services shown after category click */
  .reseefy-app .rf-services {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .reseefy-app .rf-service,
  .reseefy-app .rf-service:hover,
  .reseefy-app .rf-service:focus,
  .reseefy-app .rf-service:active {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 94px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border-radius: 17px !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  .reseefy-app .rf-service > div {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .reseefy-app .rf-service > div:first-child,
  .reseefy-app .rf-service-photo,
  .reseefy-app .rf-service .rf-ph {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    border-radius: 13px !important;
    background-repeat: no-repeat !important;
  }

  .reseefy-app .rf-service h3 {
    margin: 0 0 5px !important;
    font: 600 16px/1.3 Arial, sans-serif !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .reseefy-app .rf-service p {
    margin: 0 !important;
    font: 400 13px/1.4 Arial, sans-serif !important;
    white-space: normal !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }

  .reseefy-app .rf-service .rf-price {
    grid-column: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    font: 600 14px/1.25 Arial, sans-serif !important;
    white-space: nowrap !important;
  }

  .reseefy-app .rf-calendar-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .reseefy-app .rf-dates {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .reseefy-app .rf-slots {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 767px) {
  .reseefy-app .reseefy-shell {
    padding: 10px !important;
  }

  .reseefy-app .reseefy-main {
    padding: 18px 15px 24px !important;
    border-radius: 20px !important;
  }

  .reseefy-app .reseefy-summary {
    display: none !important;
  }

  .reseefy-app .reseefy-top {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .reseefy-app .rf-back {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  .reseefy-app .rf-kicker {
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  .reseefy-app .rf-title {
    font-size: clamp(28px, 10vw, 39px) !important;
  }

  .reseefy-app .rf-category-grid {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .reseefy-app .rf-category {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    align-items: center !important;
    padding: 11px !important;
  }

  .reseefy-app .rf-category-image {
    grid-row: 1 / 3 !important;
    width: 92px !important;
    height: 92px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
  }

  .reseefy-app .rf-category strong {
    align-self: end !important;
    font-size: 16px !important;
  }

  .reseefy-app .rf-category span {
    align-self: start !important;
  }

  .reseefy-app .rf-service,
  .reseefy-app .rf-service:hover,
  .reseefy-app .rf-service:focus,
  .reseefy-app .rf-service:active {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 86px !important;
    gap: 5px 12px !important;
    padding: 10px !important;
  }

  .reseefy-app .rf-service > div:first-child {
    grid-row: 1 / 3 !important;
  }

  .reseefy-app .rf-service > div:first-child,
  .reseefy-app .rf-service-photo,
  .reseefy-app .rf-service .rf-ph {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }

  .reseefy-app .rf-service .rf-price {
    grid-column: 2 !important;
    justify-self: start !important;
    font-size: 13px !important;
  }

  .reseefy-app .rf-dates,
  .reseefy-app .rf-slots {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .reseefy-app .rf-primary {
    width: 100% !important;
    min-height: 50px !important;
  }
}



/* =========================================================
   Reseefy 0.8.67 — [reseefy_booking] mobile premium layout
   ========================================================= */
@media (max-width: 767px) {
    body:has(.reseefy-app:not(.reseefy-app-modal)) {
        background: #ffffff !important;
    }

    .reseefy-app:not(.reseefy-app-modal) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        overflow: visible !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .reseefy-shell {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 8px !important;
        background: #ffffff !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .reseefy-main {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        margin: 0 !important;
        padding: 18px 12px 26px !important;
        background: #ffffff !important;
        border-radius: 22px !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .reseefy-summary {
        display: none !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .reseefy-top {
        display: grid !important;
        grid-template-columns: 52px minmax(0,1fr) !important;
        gap: 14px !important;
        align-items: start !important;
        width: 100% !important;
        margin: 0 0 22px !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-back {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
        border: 1px solid #dcdcdc !important;
        border-radius: 50% !important;
        background: #ffffff !important;
        color: #111111 !important;
        box-shadow: none !important;
        font: 400 32px/1 Arial, sans-serif !important;
        display: grid !important;
        place-items: center !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-kicker {
        margin: 4px 0 10px !important;
        font-family: Arial, sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
        letter-spacing: .18em !important;
        color: #666666 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-title {
        margin: 0 !important;
        max-width: 100% !important;
        font-size: clamp(35px, 11vw, 48px) !important;
        line-height: 1.03 !important;
        letter-spacing: -.035em !important;
        color: #222222 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-progress {
        width: 100% !important;
        height: 5px !important;
        margin: 0 0 28px !important;
        background: #ededed !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-progress > * {
        height: 100% !important;
        border-radius: 999px !important;
    }

    /* Category cards */
    .reseefy-app:not(.reseefy-app-modal) .rf-category-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-category {
        width: 100% !important;
        min-height: 118px !important;
        margin: 0 !important;
        padding: 14px !important;
        display: grid !important;
        grid-template-columns: 108px minmax(0,1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 16px !important;
        align-items: center !important;
        border: 1px solid #e6e6e6 !important;
        border-radius: 22px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        text-align: left !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-category-image {
        grid-row: 1 / 3 !important;
        width: 108px !important;
        height: 108px !important;
        min-width: 108px !important;
        margin: 0 !important;
        border-radius: 18px !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-category strong {
        align-self: end !important;
        margin: 0 0 5px !important;
        padding: 0 !important;
        color: #111111 !important;
        font-family: Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-category span {
        align-self: start !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #777777 !important;
        font-family: Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
    }

    /* Service list inspired by the reference layout */
    .reseefy-app:not(.reseefy-app-modal) .rf-services {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service,
    .reseefy-app:not(.reseefy-app-modal) .rf-service:hover,
    .reseefy-app:not(.reseefy-app-modal) .rf-service:focus,
    .reseefy-app:not(.reseefy-app-modal) .rf-service:active {
        width: 100% !important;
        min-height: 124px !important;
        margin: 0 !important;
        padding: 14px !important;
        display: grid !important;
        grid-template-columns: 108px minmax(0,1fr) !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 16px !important;
        row-gap: 3px !important;
        align-items: center !important;
        border: 1px solid #e5e5e5 !important;
        border-radius: 22px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        text-align: left !important;
        transform: none !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service > div:first-child,
    .reseefy-app:not(.reseefy-app-modal) .rf-service-photo,
    .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-ph {
        grid-row: 1 / 4 !important;
        width: 108px !important;
        height: 108px !important;
        min-width: 108px !important;
        max-width: 108px !important;
        margin: 0 !important;
        border-radius: 18px !important;
        background-size: cover !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        overflow: hidden !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service h3 {
        align-self: end !important;
        margin: 0 !important;
        color: #111111 !important;
        font-family: Arial, sans-serif !important;
        font-size: 19px !important;
        font-weight: 700 !important;
        line-height: 1.22 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service p {
        margin: 1px 0 0 !important;
        color: #777777 !important;
        font-family: Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow: visible !important;
        display: block !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-price {
        grid-column: 2 !important;
        align-self: start !important;
        justify-self: start !important;
        margin: 2px 0 0 !important;
        color: #111111 !important;
        font-family: Arial, sans-serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-price::after {
        content: " →";
        font-weight: 400;
    }

    /* Other steps keep the same full-width rhythm */
    .reseefy-app:not(.reseefy-app-modal) .rf-options,
    .reseefy-app:not(.reseefy-app-modal) .rf-collaborators,
    .reseefy-app:not(.reseefy-app-modal) .rf-calendar-wrap,
    .reseefy-app:not(.reseefy-app-modal) .rf-form {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .reseefy-app:not(.reseefy-app-modal) .reseefy-shell {
        width: calc(100% - 24px) !important;
        max-width: 920px !important;
        margin: 0 auto !important;
        padding: 12px !important;
        background: #ffffff !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .reseefy-main {
        padding: 28px !important;
        background: #ffffff !important;
    }

    .reseefy-app:not(.reseefy-app-modal) .rf-category-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;
    }
}



/* =========================================================
   Reseefy 0.8.68 — [reseefy_booking] identique au popup
   ========================================================= */
@media (max-width: 1024px) {
  /* Le shortcode autonome reprend exactement le cadre du popup */
  .reseefy-app:not(.reseefy-app-modal) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f2f2f2 !important;
    overflow: visible !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    background: #f2f2f2 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-summary {
    display: none !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-top {
    display: grid !important;
    grid-template-columns: 52px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-back {
    position: static !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #dedede !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #111111 !important;
    box-shadow: none !important;
    transform: none !important;
    font: 400 32px/1 Arial, sans-serif !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-top > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-kicker {
    display: block !important;
    margin: 4px 0 10px !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: .16em !important;
    color: #666666 !important;
    white-space: nowrap !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-title {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(34px, 6vw, 48px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
    color: #222222 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-progress {
    width: 100% !important;
    height: 5px !important;
    margin: 28px 0 30px !important;
    background: #ededed !important;
    border-radius: 999px !important;
    overflow: hidden !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-step,
  .reseefy-app:not(.reseefy-app-modal) .rf-step.active,
  .reseefy-app:not(.reseefy-app-modal) .rf-category-grid,
  .reseefy-app:not(.reseefy-app-modal) .rf-services,
  .reseefy-app:not(.reseefy-app-modal) .rf-options,
  .reseefy-app:not(.reseefy-app-modal) .rf-collaborators {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Même largeur, hauteur et rythme que les cartes du popup */
  .reseefy-app:not(.reseefy-app-modal) .rf-services {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:hover,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:focus,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:active {
    display: grid !important;
    grid-template-columns: 108px minmax(0,1fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 16px !important;
    row-gap: 3px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 124px !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    text-align: left !important;
    transform: none !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service > div:first-child,
  .reseefy-app:not(.reseefy-app-modal) .rf-service-photo,
  .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-ph {
    grid-row: 1 / 4 !important;
    width: 108px !important;
    height: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    margin: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service h3 {
    align-self: end !important;
    margin: 0 !important;
    color: #111111 !important;
    font-family: Arial, sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.22 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow-wrap: anywhere !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service p {
    margin: 1px 0 0 !important;
    color: #777777 !important;
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow: visible !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-price {
    grid-column: 2 !important;
    align-self: start !important;
    justify-self: start !important;
    min-width: 0 !important;
    margin: 2px 0 0 !important;
    color: #111111 !important;
    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  /* Empêche le doublon de flèche ajouté par l’ancienne version */
  .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-price::after {
    content: "" !important;
  }

  /* Catégories identiques au popup */
  .reseefy-app:not(.reseefy-app-modal) .rf-category-grid {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 16px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 1px solid #e6e6e6 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    margin: 0 0 12px !important;
    border-radius: 14px !important;
    background-size: cover !important;
    background-position: center !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category strong {
    display: block !important;
    margin: 0 0 4px !important;
    color: #111111 !important;
    font-family: Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category span {
    display: block !important;
    margin: 0 !important;
    color: #777777 !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 767px) {
  .reseefy-app:not(.reseefy-app-modal) .reseefy-shell {
    padding: 10px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-main {
    padding: 18px 15px 24px !important;
    border-radius: 20px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .reseefy-top {
    grid-template-columns: 52px minmax(0,1fr) !important;
    gap: 14px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-kicker {
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-title {
    font-size: clamp(34px, 10vw, 43px) !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category-grid {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category {
    display: grid !important;
    grid-template-columns: 92px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    align-items: center !important;
    min-height: 116px !important;
    padding: 11px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-category-image {
    grid-row: 1 / 3 !important;
    width: 92px !important;
    height: 92px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:hover,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:focus,
  .reseefy-app:not(.reseefy-app-modal) .rf-service:active {
    grid-template-columns: 108px minmax(0,1fr) !important;
    min-height: 124px !important;
    padding: 14px !important;
    column-gap: 16px !important;
    row-gap: 3px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service > div:first-child,
  .reseefy-app:not(.reseefy-app-modal) .rf-service-photo,
  .reseefy-app:not(.reseefy-app-modal) .rf-service .rf-ph {
    width: 108px !important;
    height: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }

  .reseefy-app:not(.reseefy-app-modal) .rf-service h3 {
    font-size: 19px !important;
  }
}



/* =========================================================
   Reseefy 0.8.69 — composant partagé popup / booking
   [reseefy_booking] utilise désormais le HTML du popup
   ========================================================= */
.reseefy-booking-page.reseefy-modal {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    background: #f2f2f2 !important;
    overflow: visible !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.reseefy-booking-page > .reseefy-modal-backdrop {
    display: none !important;
}

.reseefy-booking-page > .reseefy-modal-dialog {
    position: relative !important;
    inset: auto !important;
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
}

.reseefy-booking-page .reseefy-app-modal,
.reseefy-booking-page .reseefy-shell {
    width: 100% !important;
    max-width: 100% !important;
}

@media (max-width: 1024px) {
    .reseefy-booking-page.reseefy-modal {
        padding: 12px !important;
    }

    .reseefy-booking-page > .reseefy-modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 767px) {
    .reseefy-booking-page.reseefy-modal {
        width: 100% !important;
        padding: 0 !important;
        background: #f2f2f2 !important;
    }

    .reseefy-booking-page > .reseefy-modal-dialog {
        width: 100% !important;
        height: auto !important;
        min-height: 100dvh !important;
        max-height: none !important;
        overflow: visible !important;
        background: #f2f2f2 !important;
    }

    /* These are the exact popup dimensions already used by [reseefy_categories]. */
    .reseefy-booking-page .reseefy-shell {
        width: 100% !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        padding: 12px !important;
        padding-top: 12px !important;
        border-radius: 0 !important;
        background: #f2f2f2 !important;
    }

    .reseefy-booking-page .reseefy-main {
        width: 100% !important;
        min-height: calc(100dvh - 24px) !important;
        margin: 0 !important;
        padding: 18px !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    .reseefy-booking-page .reseefy-summary {
        display: none !important;
    }
}



/* =========================================================
   Reseefy 0.8.70 — pleine largeur mobile [reseefy_booking]
   ========================================================= */
@media (max-width: 767px) {
    /*
     * Sort le shortcode des limites de largeur du thème/Elementor.
     * Le bloc occupe réellement toute la largeur de l’écran.
     */
    .reseefy-booking-page.reseefy-modal {
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        padding: 4px !important;
        background: #f2f2f2 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .reseefy-booking-page > .reseefy-modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .reseefy-booking-page .reseefy-shell {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .reseefy-booking-page .reseefy-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: calc(100dvh - 8px) !important;
        margin: 0 !important;
        padding: 18px 12px 26px !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page .reseefy-top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .reseefy-booking-page .rf-back {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
    }

    .reseefy-booking-page .rf-progress {
        margin: 24px 0 26px !important;
    }

    /* Catégories : mêmes proportions que dans le popup */
    .reseefy-booking-page .rf-category-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .reseefy-booking-page .rf-category {
        width: 100% !important;
        min-height: 112px !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        column-gap: 14px !important;
        padding: 10px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page .rf-category-image {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        border-radius: 15px !important;
    }

    .reseefy-booking-page .rf-category strong {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }

    .reseefy-booking-page .rf-category span {
        font-size: 14px !important;
    }

    /* Prestations : largeur et dimensions identiques au popup */
    .reseefy-booking-page .rf-services {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .reseefy-booking-page .rf-service,
    .reseefy-booking-page .rf-service:hover,
    .reseefy-booking-page .rf-service:focus,
    .reseefy-booking-page .rf-service:active {
        width: 100% !important;
        min-height: 118px !important;
        grid-template-columns: 98px minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        column-gap: 14px !important;
        row-gap: 3px !important;
        padding: 10px !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page .rf-service > div:first-child,
    .reseefy-booking-page .rf-service-photo,
    .reseefy-booking-page .rf-service .rf-ph {
        width: 98px !important;
        height: 98px !important;
        min-width: 98px !important;
        max-width: 98px !important;
        border-radius: 15px !important;
    }

    .reseefy-booking-page .rf-service h3 {
        font-size: 18px !important;
        line-height: 1.22 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        -webkit-line-clamp: unset !important;
    }

    .reseefy-booking-page .rf-service p {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .reseefy-booking-page .rf-service .rf-price {
        font-size: 16px !important;
        line-height: 1.2 !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .reseefy-booking-page.reseefy-modal {
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: -50vw !important;
        padding: 8px !important;
        background: #f2f2f2 !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page > .reseefy-modal-dialog,
    .reseefy-booking-page .reseefy-shell {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .reseefy-booking-page .reseefy-main {
        width: 100% !important;
        padding: 26px !important;
        border-radius: 20px !important;
    }

    .reseefy-booking-page .rf-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}



/* =========================================================
   Reseefy 0.8.71 — Elementor pleine largeur
   Force [reseefy_booking] à sortir des contraintes du widget
   shortcode et de son conteneur parent sur mobile/tablette.
   ========================================================= */

@media (max-width: 1024px) {
    /* Conteneurs Elementor proches du shortcode */
    .elementor-widget-shortcode:has(.reseefy-booking-page),
    .elementor-widget-shortcode:has(.reseefy-booking-page) > .elementor-widget-container,
    .elementor-element:has(> .elementor-widget-shortcode .reseefy-booking-page),
    .elementor-element:has(> .elementor-widget-container .reseefy-booking-page),
    .e-con:has(.reseefy-booking-page),
    .e-con-inner:has(.reseefy-booking-page) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
        flex-basis: 100% !important;
    }

    /* Le widget shortcode occupe toute la largeur disponible */
    .elementor-widget-shortcode:has(.reseefy-booking-page) {
        align-self: stretch !important;
        flex-grow: 1 !important;
    }

    /* Pleine largeur viewport malgré un conteneur Elementor centré */
    .elementor-widget-shortcode .reseefy-booking-page.reseefy-modal {
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: 0 !important;
        padding: 8px !important;
        box-sizing: border-box !important;
        background: #f2f2f2 !important;
        overflow-x: hidden !important;
    }

    .elementor-widget-shortcode .reseefy-booking-page > .reseefy-modal-dialog,
    .elementor-widget-shortcode .reseefy-booking-page .reseefy-shell {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-shortcode .reseefy-booking-page .reseefy-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 767px) {
    .elementor-widget-shortcode .reseefy-booking-page.reseefy-modal {
        padding: 4px !important;
    }

    .elementor-widget-shortcode .reseefy-booking-page .reseefy-main {
        min-height: calc(100dvh - 8px) !important;
        padding: 18px 12px 26px !important;
        border-radius: 16px !important;
    }

    /* Cartes étirées en largeur comme le popup */
    .elementor-widget-shortcode .reseefy-booking-page .rf-category,
    .elementor-widget-shortcode .reseefy-booking-page .rf-service {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

/* Fallback pour les navigateurs sans prise en charge de :has() */
@media (max-width: 1024px) {
    .elementor-widget-shortcode .reseefy-booking-page {
        --reseefy-elementor-fullwidth: 1;
    }
}



/* =========================================================
   Reseefy 0.8.72 — titres optimisés uniquement sur mobile
   ========================================================= */
@media (max-width: 767px) {
    .reseefy-booking-page .rf-kicker,
    .reseefy-app .rf-kicker {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 18px !important;
        font-family: Arial, sans-serif !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        letter-spacing: .14em !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .reseefy-booking-page .rf-title,
    .reseefy-app .rf-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(36px, 8vw, 46px) !important;
        line-height: 1.05 !important;
        letter-spacing: -.03em !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        white-space: normal !important;
    }

    /* Autorise le titre à profiter de toute la largeur disponible */
    .reseefy-booking-page .reseefy-top,
    .reseefy-app .reseefy-top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .reseefy-booking-page .reseefy-top > div,
    .reseefy-app .reseefy-top > div {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}



/* =========================================================
   Reseefy 0.8.73 — dernière étape mobile premium
   Coordonnées en haut + récapitulatif complet en dessous
   ========================================================= */
@media (max-width: 767px) {
    .reseefy-booking-page .rf-step-6,
    .reseefy-app .rf-step-6 {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Bloc coordonnées */
    .reseefy-booking-page .rf-step-6 form,
    .reseefy-app .rf-step-6 form,
    .reseefy-booking-page .rf-form,
    .reseefy-app .rf-form {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 18px !important;
        background: #ffffff !important;
        border: 1px solid #e7e7e7 !important;
        border-radius: 20px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page .rf-step-6 form h3,
    .reseefy-app .rf-step-6 form h3,
    .reseefy-booking-page .rf-form h3,
    .reseefy-app .rf-form h3 {
        margin: 0 0 16px !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        color: #111111 !important;
    }

    .reseefy-booking-page .rf-step-6 label,
    .reseefy-app .rf-step-6 label,
    .reseefy-booking-page .rf-form label,
    .reseefy-app .rf-form label {
        display: grid !important;
        gap: 7px !important;
        margin-bottom: 14px !important;
        color: #2a2a2a !important;
        font-family: Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
    }

    .reseefy-booking-page .rf-step-6 input,
    .reseefy-app .rf-step-6 input,
    .reseefy-booking-page .rf-step-6 textarea,
    .reseefy-app .rf-step-6 textarea,
    .reseefy-booking-page .rf-step-6 select,
    .reseefy-app .rf-step-6 select {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 13px !important;
        border: 1px solid #d8dbe2 !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        color: #111111 !important;
        font-family: Arial, sans-serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page .rf-step-6 textarea,
    .reseefy-app .rf-step-6 textarea {
        min-height: 96px !important;
        resize: vertical !important;
    }

    .reseefy-booking-page .rf-step-6 input:focus,
    .reseefy-app .rf-step-6 input:focus,
    .reseefy-booking-page .rf-step-6 textarea:focus,
    .reseefy-app .rf-step-6 textarea:focus,
    .reseefy-booking-page .rf-step-6 select:focus,
    .reseefy-app .rf-step-6 select:focus {
        outline: 0 !important;
        border-color: #111827 !important;
        box-shadow: 0 0 0 3px rgba(17,24,39,.08) !important;
    }

    /* Récapitulatif : visible uniquement à la dernière étape */
    .reseefy-booking-page .reseefy-summary,
    .reseefy-app .reseefy-summary {
        display: none !important;
    }

    .reseefy-booking-page:has(.rf-step-6.active) .reseefy-summary,
    .reseefy-app:has(.rf-step-6.active) .reseefy-summary {
        order: 2 !important;
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 16px 0 0 !important;
        padding: 20px !important;
        background: #ffffff !important;
        border: 1px solid #e7e7e7 !important;
        border-radius: 20px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .reseefy-booking-page:has(.rf-step-6.active) .reseefy-shell,
    .reseefy-app:has(.rf-step-6.active) .reseefy-shell {
        display: flex !important;
        flex-direction: column !important;
    }

    .reseefy-booking-page:has(.rf-step-6.active) .reseefy-main,
    .reseefy-app:has(.rf-step-6.active) .reseefy-main {
        order: 1 !important;
    }

    .reseefy-booking-page:has(.rf-step-6.active) .reseefy-summary,
    .reseefy-app:has(.rf-step-6.active) .reseefy-summary {
        order: 2 !important;
    }

    /* En-tête du récapitulatif */
    .reseefy-booking-page .reseefy-summary h2,
    .reseefy-app .reseefy-summary h2,
    .reseefy-booking-page .reseefy-summary h3,
    .reseefy-app .reseefy-summary h3 {
        margin: 0 0 16px !important;
        color: #111111 !important;
        font-size: 21px !important;
        line-height: 1.25 !important;
    }

    .reseefy-booking-page .reseefy-summary hr,
    .reseefy-app .reseefy-summary hr {
        margin: 16px 0 !important;
        border: 0 !important;
        border-top: 1px solid #ececec !important;
    }

    /* Lignes du récapitulatif */
    .reseefy-booking-page .reseefy-summary p,
    .reseefy-app .reseefy-summary p,
    .reseefy-booking-page .reseefy-summary li,
    .reseefy-app .reseefy-summary li,
    .reseefy-booking-page .reseefy-summary span,
    .reseefy-app .reseefy-summary span {
        font-family: Arial, sans-serif !important;
    }

    .reseefy-booking-page .reseefy-summary p,
    .reseefy-app .reseefy-summary p {
        margin: 0 0 10px !important;
        color: #5f6368 !important;
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .reseefy-booking-page .reseefy-summary strong,
    .reseefy-app .reseefy-summary strong {
        color: #111111 !important;
        font-weight: 700 !important;
    }

    .reseefy-booking-page .reseefy-summary ul,
    .reseefy-app .reseefy-summary ul {
        margin: 8px 0 14px !important;
        padding-left: 18px !important;
    }

    .reseefy-booking-page .reseefy-summary li,
    .reseefy-app .reseefy-summary li {
        margin-bottom: 6px !important;
        color: #5f6368 !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    /* Total et paiement mis en avant */
    .reseefy-booking-page .reseefy-summary .rf-summary-total,
    .reseefy-app .reseefy-summary .rf-summary-total,
    .reseefy-booking-page .reseefy-summary .rf-total,
    .reseefy-app .reseefy-summary .rf-total {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        margin-top: 14px !important;
        padding-top: 14px !important;
        border-top: 1px solid #ececec !important;
        color: #111111 !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    .reseefy-booking-page .reseefy-summary .rf-payment-status,
    .reseefy-app .reseefy-summary .rf-payment-status,
    .reseefy-booking-page .reseefy-summary .rf-payment,
    .reseefy-app .reseefy-summary .rf-payment {
        display: flex !important;
        justify-content: space-between !important;
        gap: 14px !important;
        margin-top: 10px !important;
        padding: 12px 14px !important;
        background: #f7f8fa !important;
        border-radius: 12px !important;
        color: #111111 !important;
        font-size: 14px !important;
    }

    /* Bouton final */
    .reseefy-booking-page .rf-step-6 .rf-primary,
    .reseefy-app .rf-step-6 .rf-primary {
        width: 100% !important;
        min-height: 52px !important;
        margin-top: 8px !important;
        border-radius: 14px !important;
        background: #202020 !important;
        color: #ffffff !important;
        font-family: Arial, sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: .07em !important;
        text-transform: uppercase !important;
    }

    /* Sécurité pour anciens Safari ne prenant pas :has */
    .reseefy-app.rf-final-step .reseefy-summary,
    .reseefy-booking-page.rf-final-step .reseefy-summary {
        display: block !important;
        position: static !important;
        width: 100% !important;
        margin: 16px 0 0 !important;
        padding: 20px !important;
        border: 1px solid #e7e7e7 !important;
        border-radius: 20px !important;
        background: #ffffff !important;
    }
}



/* =========================================================
   Reseefy 0.8.74 — récapitulatif intégré avant confirmation
   Mobile uniquement
   ========================================================= */
.rf-mobile-final-summary {
    display: none;
}

@media (max-width: 767px) {
    .rf-step-6 form,
    .rf-step-6 .rf-booking-form {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    .rf-mobile-final-summary {
        display: block !important;
        order: 80 !important;
        width: 100% !important;
        margin: 18px 0 14px !important;
        padding: 18px !important;
        background: #ffffff !important;
        border: 1px solid #e6e7eb !important;
        border-radius: 18px !important;
        box-sizing: border-box !important;
    }

    .rf-mobile-final-summary-head {
        margin-bottom: 16px !important;
    }

    .rf-mobile-final-summary-head > span {
        display: block !important;
        margin-bottom: 5px !important;
        color: #70757d !important;
        font: 700 10px/1.2 Arial, sans-serif !important;
        letter-spacing: .14em !important;
    }

    .rf-mobile-final-summary-head h3 {
        margin: 0 !important;
        color: #111111 !important;
        font: 700 21px/1.25 Arial, sans-serif !important;
    }

    .rf-mobile-summary-service {
        display: grid !important;
        grid-template-columns: 72px minmax(0,1fr) !important;
        gap: 13px !important;
        align-items: center !important;
        padding-bottom: 15px !important;
        margin-bottom: 14px !important;
        border-bottom: 1px solid #ececef !important;
    }

    .rf-mobile-summary-service img {
        width: 72px !important;
        height: 72px !important;
        object-fit: cover !important;
        border-radius: 13px !important;
    }

    .rf-mobile-summary-service strong {
        display: block !important;
        margin-bottom: 5px !important;
        color: #111111 !important;
        font: 700 16px/1.25 Arial, sans-serif !important;
    }

    .rf-mobile-summary-service span {
        display: block !important;
        color: #70757d !important;
        font: 400 13px/1.35 Arial, sans-serif !important;
    }

    .rf-mobile-summary-lines {
        display: grid !important;
        gap: 11px !important;
    }

    .rf-mobile-summary-lines > div {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .rf-mobile-summary-lines > div > span {
        color: #70757d !important;
        font: 400 13px/1.4 Arial, sans-serif !important;
    }

    .rf-mobile-summary-lines > div > strong {
        max-width: 60% !important;
        color: #111111 !important;
        font: 600 13px/1.4 Arial, sans-serif !important;
        text-align: right !important;
    }

    .rf-mobile-summary-options {
        display: block !important;
        padding: 12px 0 !important;
        border-top: 1px solid #f0f0f2 !important;
        border-bottom: 1px solid #f0f0f2 !important;
    }

    .rf-mobile-summary-options > span {
        display: block !important;
        margin-bottom: 8px !important;
    }

    .rf-mobile-summary-options ul {
        display: grid !important;
        gap: 7px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .rf-mobile-summary-options li {
        display: flex !important;
        justify-content: space-between !important;
        gap: 14px !important;
        margin: 0 !important;
        color: #111111 !important;
        font: 400 13px/1.4 Arial, sans-serif !important;
    }

    .rf-mobile-summary-options li strong {
        font-weight: 600 !important;
        white-space: nowrap !important;
    }

    .rf-mobile-summary-total {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 16px !important;
        margin-top: 16px !important;
        padding-top: 15px !important;
        border-top: 1px solid #dedfe3 !important;
    }

    .rf-mobile-summary-total span {
        color: #111111 !important;
        font: 700 16px/1.25 Arial, sans-serif !important;
    }

    .rf-mobile-summary-total strong {
        color: #111111 !important;
        font: 700 19px/1.2 Arial, sans-serif !important;
    }

    /* Place le texte paiement après le résumé et le bouton en dernier */
    .rf-step-6 .rf-payment-note,
    .rf-step-6 .rf-no-deposit-note {
        order: 90 !important;
    }

    .rf-step-6 button[type="submit"],
    .rf-step-6 .rf-primary[type="submit"] {
        order: 100 !important;
        width: 100% !important;
        margin-top: 2px !important;
    }

    /* L’ancien résumé latéral reste masqué en mobile */
    .reseefy-summary {
        display: none !important;
    }
}



/* Reseefy 0.8.75 — correctif final du récapitulatif mobile */
@media (max-width: 767px) {
    .rf-step-6.active .rf-customer-form {
        display: flex !important;
        flex-direction: column !important;
    }

    .rf-step-6.active .rf-mobile-final-summary {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        order: 70 !important;
        min-height: 1px !important;
    }

    .rf-step-6.active .rf-mobile-final-summary-content {
        display: block !important;
        width: 100% !important;
    }

    .rf-step-6.active .rf-payment-methods {
        order: 80 !important;
    }

    .rf-step-6.active .rf-customer-form > button[type="submit"] {
        order: 90 !important;
    }
}



/* =========================================================
   Reseefy 0.8.76 — étapes strictement isolées
   ========================================================= */
.reseefy-app .rf-step[hidden],
.reseefy-app .rf-step:not(.active) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.reseefy-app .rf-step.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
}

.rf-mobile-final-summary[hidden],
.reseefy-app:not(.rf-final-step) .rf-mobile-final-summary {
    display: none !important;
}

@media (max-width: 767px) {
    .reseefy-app.rf-final-step .rf-step-6.active {
        display: block !important;
    }

    .reseefy-app.rf-final-step .rf-step-6.active .rf-customer-form {
        display: flex !important;
        flex-direction: column !important;
    }

    .reseefy-app.rf-final-step .rf-mobile-final-summary:not([hidden]) {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        order: 70 !important;
    }
}



/* =========================================================
   Reseefy 0.8.77 — ordre des catégories synchronisé
   ========================================================= */
.reseefy-app .rf-category-grid {
    display: grid !important;
    grid-auto-flow: row !important;
}

.reseefy-app .rf-category {
    order: initial !important;
}

/* Mobile : ordre administratif, strictement du haut vers le bas */
@media (max-width: 767px) {
    .reseefy-app .rf-category-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
    }
}

/* Tablette : lecture de gauche à droite, puis ligne suivante */
@media (min-width: 768px) and (max-width: 1024px) {
    .reseefy-app .rf-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
    }
}

/* Ordinateur : lecture de gauche à droite, puis de haut en bas */
@media (min-width: 1025px) {
    .reseefy-app .rf-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
    }
}


/* Reseefy 0.8.78 — titres noirs par défaut */
.reseefy-app .rf-kicker{color:#000000}
.reseefy-app .rf-title{color:#000000}
.reseefy-app .rf-category strong,
.reseefy-app .rf-service h3{color:#000000}



/* =========================================================
   Reseefy 0.8.79 — titres mobiles sur une seule ligne
   Uniquement pour [reseefy_booking] en version mobile
   ========================================================= */
@media (max-width: 767px) {
    .reseefy-booking-page .rf-kicker {
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 14px !important;
        font-size: clamp(9px, 2.8vw, 12px) !important;
        line-height: 1.2 !important;
        letter-spacing: .10em !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .reseefy-booking-page .rf-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(30px, 8.6vw, 42px) !important;
        line-height: 1.02 !important;
        letter-spacing: -.035em !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .reseefy-booking-page .reseefy-top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .reseefy-booking-page .reseefy-top > div {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Très petits écrans */
@media (max-width: 390px) {
    .reseefy-booking-page .rf-kicker {
        font-size: 9px !important;
        letter-spacing: .08em !important;
    }

    .reseefy-booking-page .rf-title {
        font-size: clamp(27px, 8.2vw, 34px) !important;
    }
}



/* =========================================================
   Reseefy 0.8.80 — correction réelle des titres mobiles
   [reseefy_booking] uniquement
   ========================================================= */
@media (max-width: 767px) {
    /*
     * Première étape : lorsque le bouton retour est masqué,
     * le titre récupère toute la largeur disponible.
     */
    .reseefy-booking-page .reseefy-top:has(.rf-back[hidden]) {
        display: block !important;
        grid-template-columns: none !important;
    }

    .reseefy-booking-page .reseefy-top:has(.rf-back[hidden]) > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Petit titre : une ligne stricte */
    .reseefy-booking-page .rf-kicker {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 13px !important;
        font-family: Arial, sans-serif !important;
        font-size: clamp(9px, 2.7vw, 11px) !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
        letter-spacing: .09em !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* Grand titre : dimension calculée pour tenir sur une ligne */
    .reseefy-booking-page .rf-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(25px, 7.1vw, 32px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.025em !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /*
     * Étapes suivantes : le bouton retour reste présent,
     * mais le texte utilise tout l'espace restant.
     */
    .reseefy-booking-page .reseefy-top:not(:has(.rf-back[hidden])) {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .reseefy-booking-page .reseefy-top:not(:has(.rf-back[hidden])) .rf-back {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
    }
}

/* iPhone SE et écrans très étroits */
@media (max-width: 375px) {
    .reseefy-booking-page .rf-kicker {
        font-size: 8.5px !important;
        letter-spacing: .07em !important;
    }

    .reseefy-booking-page .rf-title {
        font-size: clamp(23px, 6.9vw, 27px) !important;
    }
}



/* =========================================================
   Reseefy 0.8.81 — synchronisation des bordures responsive
   Les formes choisies dans Personnalisation s’appliquent
   désormais sur ordinateur, tablette et mobile.
   ========================================================= */

/* Cartes de catégories du parcours Booking */
.reseefy-app .rf-category,
.reseefy-booking-page .rf-category,
.reseefy-modal .rf-category {
    border-radius: var(--rf-category-radius, 16px) !important;
}

/* Cartes de prestations et autres choix */
.reseefy-app .rf-service,
.reseefy-booking-page .rf-service,
.reseefy-modal .rf-service,
.reseefy-app .rf-option,
.reseefy-app .rf-option-toggle,
.reseefy-app .rf-date,
.reseefy-app .rf-slot,
.reseefy-app .rf-pay {
    border-radius: var(--rf-choice-radius, 16px) !important;
}

/* Photos des catégories : elles suivent la forme de la vignette */
.reseefy-app .rf-category-image,
.reseefy-booking-page .rf-category-image,
.reseefy-modal .rf-category-image {
    border-radius: var(--rf-category-radius, 16px) !important;
}

/* Photos des prestations : elles suivent le réglage Forme des photos */
.reseefy-app .rf-service-photo,
.reseefy-app .rf-service .rf-ph,
.reseefy-app .rf-service img,
.reseefy-booking-page .rf-service-photo,
.reseefy-booking-page .rf-service .rf-ph,
.reseefy-booking-page .rf-service img,
.reseefy-modal .rf-service-photo,
.reseefy-modal .rf-service .rf-ph,
.reseefy-modal .rf-service img {
    border-radius: var(--rf-service-photo-radius, 12px) !important;
}

/* Shortcode de catégories : conservation de la même synchronisation */
.reseefy-category-showcase .rf-category-card,
.reseefy-category-showcase .rf-category-card img,
.reseefy-category-showcase .rf-category-thumb {
    border-radius: var(--rf-category-radius, 16px) !important;
}

/* Les mêmes variables restent prioritaires sur tablette et mobile,
   même face aux anciennes dimensions responsive codées en dur. */
@media (max-width: 1024px) {
    .reseefy-app .rf-category,
    .reseefy-booking-page .rf-category,
    .reseefy-modal .rf-category {
        border-radius: var(--rf-category-radius, 16px) !important;
    }

    .reseefy-app .rf-service,
    .reseefy-booking-page .rf-service,
    .reseefy-modal .rf-service,
    .reseefy-app .rf-option,
    .reseefy-app .rf-option-toggle,
    .reseefy-app .rf-date,
    .reseefy-app .rf-slot,
    .reseefy-app .rf-pay {
        border-radius: var(--rf-choice-radius, 16px) !important;
    }

    .reseefy-app .rf-category-image,
    .reseefy-booking-page .rf-category-image,
    .reseefy-modal .rf-category-image {
        border-radius: var(--rf-category-radius, 16px) !important;
    }

    .reseefy-app .rf-service-photo,
    .reseefy-app .rf-service .rf-ph,
    .reseefy-app .rf-service img,
    .reseefy-booking-page .rf-service-photo,
    .reseefy-booking-page .rf-service .rf-ph,
    .reseefy-booking-page .rf-service img,
    .reseefy-modal .rf-service-photo,
    .reseefy-modal .rf-service .rf-ph,
    .reseefy-modal .rf-service img {
        border-radius: var(--rf-service-photo-radius, 12px) !important;
    }
}



/* =========================================================
   Reseefy 0.8.85 — espace client pleine largeur sur mobile
   Réduit les marges grises autour du shortcode
   [reseefy_client_space].
   ========================================================= */
@media (max-width: 767px) {
    /* Sort le shortcode des limites du conteneur Elementor/thème. */
    .elementor-widget-shortcode:has(.rf-client-space),
    .elementor-widget-shortcode:has(.rf-client-space) > .elementor-widget-container,
    .e-con:has(.rf-client-space),
    .e-con-inner:has(.rf-client-space),
    .elementor-element:has(.rf-client-space) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    .elementor-widget-shortcode .rf-client-space,
    .rf-client-space.rf-client-auth {
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: 0 !important;
        padding: 4px !important;
        background: #f2f2f2 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .rf-client-auth-simple .rf-client-auth-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 22px 16px 28px !important;
        border-radius: 16px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }

    .rf-client-auth-simple .rf-client-auth-viewport,
    .rf-client-auth-simple .rf-client-auth-slider,
    .rf-client-auth-simple .rf-client-auth-panel,
    .rf-client-auth-simple .rf-client-login-form,
    .rf-client-auth-simple .rf-client-help-form {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .rf-client-auth-simple .rf-client-login-options {
        width: 100% !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-direction: row !important;
        gap: 12px !important;
    }

    .rf-client-auth-simple .rf-client-primary {
        width: 100% !important;
        min-height: 52px !important;
    }
}

@media (max-width: 390px) {
    .elementor-widget-shortcode .rf-client-space,
    .rf-client-space.rf-client-auth {
        padding: 3px !important;
    }

    .rf-client-auth-simple .rf-client-auth-card {
        padding: 20px 14px 26px !important;
        border-radius: 14px !important;
    }

    .rf-client-auth-simple .rf-client-login-options {
        align-items: flex-start !important;
        flex-direction: column-reverse !important;
    }
}

/* Reseefy 0.8.88 — description longue avec dépliage premium « Lire plus ». */
.reseefy-app .rf-service{
  position:relative;
}
.reseefy-app .rf-service:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
}
.reseefy-app .rf-service-copy{
  min-width:0;
}
.reseefy-app .rf-service-summary{
  overflow:hidden;
}
.reseefy-app .rf-service-readmore{
  appearance:none;
  display:inline-block;
  min-height:0!important;
  margin:8px 0 0!important;
  padding:0 0 3px!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#4b5563!important;
  font:500 12px/1.35 Arial,sans-serif!important;
  letter-spacing:.01em;
  text-decoration:none!important;
  cursor:pointer;
  transition:color .2s ease,opacity .2s ease!important;
}
.reseefy-app .rf-service-readmore:hover,
.reseefy-app .rf-service-readmore:focus-visible{
  color:#111!important;
  background:transparent!important;
  outline:none!important;
  opacity:.78;
  transform:none!important;
}
.reseefy-app .rf-service-description-panel{
  display:grid;
  grid-template-rows:0fr;
  grid-column:2/-1;
  width:100%;
  margin-top:0;
  opacity:0;
  overflow:hidden;
  transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),opacity .28s ease,margin-top .38s cubic-bezier(.22,1,.36,1);
}
.reseefy-app .rf-service-description-inner{
  min-height:0;
  overflow:hidden;
}
.reseefy-app .rf-service-description-panel.is-open{
  grid-template-rows:1fr;
  margin-top:12px;
  opacity:1;
}
.reseefy-app .rf-service-description-panel p{
  margin:0!important;
  padding:14px 15px!important;
  border:1px solid var(--rf-form-border,#efefef);
  border-radius:12px;
  background:#f7f7f5;
  color:#4b5563!important;
  font:400 13px/1.58 Arial,sans-serif!important;
}
@media(max-width:640px){
  .reseefy-app .rf-service-description-panel{
    grid-column:1/-1;
  }
  .reseefy-app .rf-service-readmore{
    font-size:12px!important;
  }
}

/* Reseefy 0.8.89 — les durées en minutes acceptent désormais chaque valeur entière. */


/* Reseefy 0.8.90 — suppression du doublon et description complète dans le bloc gris. */
.reseefy-app .rf-service.is-description-open .rf-service-description-preview,
.reseefy-app .rf-service.is-description-open .rf-service-description-separator{
  display:none!important;
}
.reseefy-app .rf-service-description-panel,
.reseefy-app .rf-service-description-inner{
  min-width:0;
  max-width:100%;
}
.reseefy-app .rf-service-description-panel p{
  width:100%;
  max-width:none!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  overflow-wrap:anywhere;
}


/* =========================================================
   Reseefy 0.8.92 — interface de connexion universelle Elementor
   La présentation du shortcode [reseefy_client_space] reste
   identique sur tous les thèmes et toutes les pages Elementor.
   ========================================================= */
.reseefy-client-login-host,
.reseefy-client-login-host > .elementor-widget-container,
.elementor-widget-shortcode:has(#reseefy-client-login-v0861),
.elementor-widget-shortcode:has(#reseefy-client-login-v0861) > .elementor-widget-container,
.e-con:has(#reseefy-client-login-v0861),
.e-con-inner:has(#reseefy-client-login-v0861),
.elementor-section:has(#reseefy-client-login-v0861),
.elementor-column:has(#reseefy-client-login-v0861) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#reseefy-client-login-v0861 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    isolation: isolate;
}

#reseefy-client-login-v0861 .rfc-card,
#reseefy-client-login-v0861 .rfc-card * {
    box-sizing: border-box !important;
}

/* Neutralise les styles de formulaires Elementor et des thèmes. */
#reseefy-client-login-v0861 .rfc-card form,
#reseefy-client-login-v0861 .rfc-card label,
#reseefy-client-login-v0861 .rfc-card input,
#reseefy-client-login-v0861 .rfc-card button {
    font-family: Inter, Arial, sans-serif !important;
}

#reseefy-client-login-v0861 .rfc-card input[type="email"],
#reseefy-client-login-v0861 .rfc-card input[type="password"],
#reseefy-client-login-v0861 .rfc-card input[type="text"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    max-width: 100% !important;
}

#reseefy-client-login-v0861 .rfc-submit {
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .reseefy-client-login-host,
    .reseefy-client-login-host > .elementor-widget-container,
    .elementor-widget-shortcode:has(#reseefy-client-login-v0861),
    .elementor-widget-shortcode:has(#reseefy-client-login-v0861) > .elementor-widget-container,
    .e-con:has(#reseefy-client-login-v0861),
    .e-con-inner:has(#reseefy-client-login-v0861),
    .elementor-section:has(#reseefy-client-login-v0861),
    .elementor-column:has(#reseefy-client-login-v0861) {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    #reseefy-client-login-v0861 {
        position: relative !important;
        left: 50% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;
        margin-left: -50vw !important;
        margin-right: 0 !important;
        padding: 26px 16px !important;
        background: transparent !important;
        overflow-x: hidden !important;
    }

    #reseefy-client-login-v0861 .rfc-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 34px 26px 38px !important;
        border: 1px solid #e1e4e9 !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    #reseefy-client-login-v0861 form {
        gap: 22px !important;
    }

    #reseefy-client-login-v0861 label {
        gap: 11px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    #reseefy-client-login-v0861 input[type="email"],
    #reseefy-client-login-v0861 input[type="password"],
    #reseefy-client-login-v0861 input[type="text"] {
        height: 62px !important;
        padding: 0 18px !important;
        border-radius: 14px !important;
        font-size: 16px !important;
    }

    #reseefy-client-login-v0861 .rfc-password input {
        padding-right: 58px !important;
    }

    #reseefy-client-login-v0861 .rfc-eye {
        right: 12px !important;
        width: 40px !important;
        height: 40px !important;
    }

    #reseefy-client-login-v0861 .rfc-options {
        width: 100% !important;
        align-items: flex-start !important;
        flex-direction: column-reverse !important;
        gap: 15px !important;
    }

    #reseefy-client-login-v0861 .rfc-link,
    #reseefy-client-login-v0861 .rfc-remember {
        font-size: 15px !important;
    }

    #reseefy-client-login-v0861 .rfc-remember input {
        width: 22px !important;
        height: 22px !important;
    }

    #reseefy-client-login-v0861 .rfc-submit {
        height: 62px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        letter-spacing: .13em !important;
    }
}

@media (max-width: 390px) {
    #reseefy-client-login-v0861 {
        padding: 18px 10px !important;
    }
    #reseefy-client-login-v0861 .rfc-card {
        padding: 28px 20px 32px !important;
        border-radius: 20px !important;
    }
}


/* =========================================================
   Reseefy 0.8.93 — connexion mobile stable
   Empêche le shortcode de se décaler horizontalement lorsque
   l'utilisateur touche un champ, le bouton œil ou les liens.
   ========================================================= */
html.reseefy-client-login-page,
html.reseefy-client-login-page body {
    max-width: 100% !important;
    overflow-x: clip !important;
}

#reseefy-client-login-v0861,
#reseefy-client-login-v0861:focus,
#reseefy-client-login-v0861:focus-within {
    transform: none !important;
    translate: none !important;
    inset-inline: auto !important;
}

@media (max-width: 767px) {
    /* Pas de calcul 100vw/left:-50vw : Safari peut le recalculer au focus. */
    #reseefy-client-login-v0861 {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 26px 16px !important;
        overflow: hidden !important;
        contain: layout paint !important;
    }

    .reseefy-client-login-host,
    .reseefy-client-login-host > .elementor-widget-container,
    .elementor-widget-shortcode:has(#reseefy-client-login-v0861),
    .elementor-widget-shortcode:has(#reseefy-client-login-v0861) > .elementor-widget-container,
    .e-con:has(#reseefy-client-login-v0861),
    .e-con-inner:has(#reseefy-client-login-v0861),
    .elementor-section:has(#reseefy-client-login-v0861),
    .elementor-column:has(#reseefy-client-login-v0861) {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        transform: none !important;
        overflow-x: clip !important;
    }

    #reseefy-client-login-v0861 .rfc-card,
    #reseefy-client-login-v0861 .rfc-window,
    #reseefy-client-login-v0861 .rfc-slider,
    #reseefy-client-login-v0861 .rfc-panel,
    #reseefy-client-login-v0861 form,
    #reseefy-client-login-v0861 label,
    #reseefy-client-login-v0861 input,
    #reseefy-client-login-v0861 button {
        max-width: 100% !important;
    }

    #reseefy-client-login-v0861 input[type="email"],
    #reseefy-client-login-v0861 input[type="password"],
    #reseefy-client-login-v0861 input[type="text"] {
        min-width: 0 !important;
        font-size: 16px !important; /* évite le zoom automatique iOS */
        touch-action: manipulation;
    }

    #reseefy-client-login-v0861 .rfc-card {
        flex: 0 1 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 390px) {
    #reseefy-client-login-v0861 {
        padding: 18px 10px !important;
    }
}


/* =========================================================
   Reseefy 0.8.94 — vues de connexion exclusives
   Le formulaire de réinitialisation remplace la connexion au
   lieu de s'afficher à côté, notamment sur Safari mobile.
   ========================================================= */
#reseefy-client-login-v0861 .rfc-window,
#reseefy-client-login-v0861 .rfc-slider {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

#reseefy-client-login-v0861 .rfc-slider {
    display: block !important;
    transform: none !important;
    translate: none !important;
}

#reseefy-client-login-v0861 .rfc-panel {
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
}

#reseefy-client-login-v0861 .rfc-panel:first-child {
    display: block !important;
}

#reseefy-client-login-v0861.is-reset .rfc-panel:first-child {
    display: none !important;
}

#reseefy-client-login-v0861.is-reset .rfc-panel:last-child {
    display: block !important;
}

@media (max-width: 767px) {
    #reseefy-client-login-v0861 .rfc-panel,
    #reseefy-client-login-v0861 .rfc-panel form,
    #reseefy-client-login-v0861 .rfc-reset-head {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #reseefy-client-login-v0861 .rfc-reset-head h2 {
        overflow-wrap: anywhere;
    }
}
