/* DERMALMO — module de réservation (front). */
.dmb{
  --dmb-olive:#3f4a38;--dmb-olive-deep:#333d2d;--dmb-sage:#7c8567;--dmb-cream:#f6f1e7;
  --dmb-gold:#b89b63;--dmb-gold-deep:#9c7f47;--dmb-ink:#2c3227;--dmb-soft:#5a6150;--dmb-line:#e3dccb;
  max-width:920px;margin:0 auto;background:#fffdf9;border:1px solid var(--dmb-line);
  border-radius:16px;padding:30px;box-shadow:0 22px 60px rgba(51,61,45,.10);
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--dmb-ink);
}
/* Bilingue autonome (si le thème ne gère pas déjà les classes) */
.dmb .ar{font-family:"Noto Kufi Arabic","Cairo",sans-serif}
html:not(.is-ar) .dmb .only-ar,
html:not(.is-ar) .dmb-closed-banner .only-ar{display:none !important}
html.is-ar .dmb .only-fr,
html.is-ar .dmb-closed-banner .only-fr{display:none !important}
html.is-ar .dmb{direction:rtl}

/* Bannière de fermeture (indisponibilité) */
.dmb-closed-banner{
  max-width:920px;margin:0 auto 16px;display:flex;gap:10px;align-items:flex-start;
  background:#f6e7e4;border:1px solid #e8cfc9;color:#8a2b2b;border-radius:12px;padding:12px 16px;
  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:.9rem;
}
.dmb-closed-banner svg{flex:none;margin-top:2px}
.dmb-closed-line{display:block;font-weight:600}
html.is-ar .dmb-closed-banner{flex-direction:row-reverse;text-align:right}

/* Étapes */
.dmb-steps{display:flex;gap:8px;justify-content:center;margin-bottom:26px;flex-wrap:wrap}
.dmb-step{display:inline-flex;align-items:center;gap:8px;color:var(--dmb-soft);font-size:.82rem;font-weight:600;opacity:.55}
.dmb-step i{width:26px;height:26px;border-radius:50%;background:var(--dmb-cream);border:1px solid var(--dmb-line);display:grid;place-items:center;font-style:normal;font-size:.8rem}
.dmb-step.active,.dmb-step.done{opacity:1}
.dmb-step.active i{background:var(--dmb-olive);color:#fff;border-color:var(--dmb-olive)}
.dmb-step.done i{background:var(--dmb-gold);color:#fff;border-color:var(--dmb-gold)}

.dmb-sub{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--dmb-olive);margin:0 0 16px}

/* Colonnes calendrier + créneaux */
.dmb-cols{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}

/* Calendrier */
.dmb-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.dmb-cal-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--dmb-olive);text-transform:capitalize}
.dmb-nav{width:34px;height:34px;border-radius:50%;border:1px solid var(--dmb-line);background:#fff;cursor:pointer;font-size:1.2rem;color:var(--dmb-olive);line-height:1}
.dmb-nav:hover{background:var(--dmb-cream)}
.dmb-weekdays,.dmb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.dmb-weekdays span{text-align:center;font-size:.7rem;font-weight:700;color:var(--dmb-gold-deep);text-transform:uppercase;padding:4px 0}
.dmb-days{margin-top:4px}
.dmb-day{
  aspect-ratio:1/1;border:1px solid transparent;border-radius:10px;background:var(--dmb-cream);
  color:var(--dmb-ink);font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,transform .1s;
}
.dmb-day:hover:not(.disabled){background:var(--dmb-sage);color:#fff}
.dmb-day.empty{background:transparent;border:0;cursor:default}
.dmb-day.disabled{opacity:.32;cursor:not-allowed;background:transparent;border:1px solid var(--dmb-line)}
.dmb-day.closed{position:relative;background:#f6e7e4;border-color:#e8cfc9;opacity:.6}
.dmb-day.closed::after{content:"";position:absolute;left:18%;right:18%;top:50%;height:1.5px;background:#b23c3c;transform:rotate(-18deg)}
.dmb-day.selected{background:var(--dmb-olive);color:#fff;font-weight:700}
.dmb-legend{margin:14px 0 0;font-size:.78rem;color:var(--dmb-soft)}

/* Créneaux */
.dmb-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dmb-hint{grid-column:1/-1;color:var(--dmb-soft);font-size:.9rem;margin:0;padding:10px 0}
.dmb-slot{padding:.6rem .2rem;border:1px solid var(--dmb-line);border-radius:9px;background:#fff;color:var(--dmb-ink);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.dmb-slot:hover:not(.taken){background:var(--dmb-cream);border-color:var(--dmb-sage)}
.dmb-slot.selected{background:var(--dmb-olive);color:#fff;border-color:var(--dmb-olive)}
.dmb-slot.taken{opacity:.35;text-decoration:line-through;cursor:not-allowed}

/* Aide */
.dmb-help{margin:-8px 0 18px;color:var(--dmb-soft);font-size:.9rem}

/* Préoccupations (chips multi-sélection) */
.dmb-chips{display:flex;flex-wrap:wrap;gap:10px}
.dmb-chip{
  border:1.5px solid var(--dmb-line);border-radius:999px;background:#fff;color:var(--dmb-ink);
  padding:.6rem 1.1rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s;position:relative;
}
.dmb-chip:hover{border-color:var(--dmb-sage)}
.dmb-chip.selected{background:var(--dmb-olive);color:#fff;border-color:var(--dmb-olive)}
.dmb-chip.selected::before{content:"✓ ";font-weight:700}

/* Soins */
.dmb-treatments{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dmb-treat input{position:absolute;opacity:0;pointer-events:none}
.dmb-treat-box{display:block;padding:16px 18px;border:1.5px solid var(--dmb-line);border-radius:12px;background:#fff;cursor:pointer;font-weight:600;font-size:.92rem;transition:border-color .15s,background .15s}
.dmb-treat:hover .dmb-treat-box{border-color:var(--dmb-sage)}
.dmb-treat input:checked + .dmb-treat-box{border-color:var(--dmb-olive);background:var(--dmb-cream);box-shadow:inset 0 0 0 1px var(--dmb-olive)}

/* Récapitulatif + champs */
.dmb-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.dmb-sum-item{background:var(--dmb-cream);border:1px solid var(--dmb-line);border-radius:999px;padding:.5rem 1rem;font-size:.88rem}
.dmb-sum-concern{background:#fff;border-style:dashed;color:var(--dmb-gold-deep)}
.dmb-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dmb-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--dmb-soft)}
.dmb-field-full{grid-column:1/-1}
.dmb-field input,.dmb-field textarea{
  font:inherit;font-weight:400;padding:.7rem .85rem;border:1px solid var(--dmb-line);border-radius:10px;background:#fff;color:var(--dmb-ink);
}
.dmb-field input:focus,.dmb-field textarea:focus{outline:2px solid var(--dmb-sage);outline-offset:1px;border-color:var(--dmb-sage)}
.dmb-msg{color:#b23c3c;font-weight:600;font-size:.88rem;margin:14px 0 0}
.dmb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* Actions */
.dmb-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}
.dmb-btn{
  border:0;border-radius:999px;padding:.85rem 1.7rem;font:inherit;font-weight:600;font-size:.92rem;
  background:var(--dmb-olive);color:#fff;cursor:pointer;transition:transform .15s,background .15s;
}
.dmb-btn:hover:not(:disabled){transform:translateY(-2px);background:var(--dmb-olive-deep)}
.dmb-btn:disabled{opacity:.4;cursor:not-allowed}
.dmb-ghost{background:transparent;color:var(--dmb-olive);border:1.5px solid var(--dmb-olive)}
.dmb-ghost:hover:not(:disabled){background:var(--dmb-olive);color:#fff}
.dmb-submit{background:var(--dmb-gold)}
.dmb-submit:hover:not(:disabled){background:var(--dmb-gold-deep)}

/* Succès */
.dmb-success{text-align:center;padding:26px 10px}
.dmb-check{width:66px;height:66px;border-radius:50%;background:var(--dmb-olive);color:#fff;font-size:2rem;display:grid;place-items:center;margin:0 auto 16px}
.dmb-success h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.9rem;color:var(--dmb-olive);margin:0 0 10px}
.dmb-done-text{color:var(--dmb-soft);max-width:520px;margin:0 auto;font-size:1rem;line-height:1.6}

@media(max-width:760px){
  .dmb{padding:20px}
  .dmb-cols{grid-template-columns:1fr}
  .dmb-treatments,.dmb-fields{grid-template-columns:1fr}
  .dmb-slots{grid-template-columns:repeat(4,1fr)}
}
