.mmb-booking-form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;background:#fffaf4;border:1px solid rgba(80,52,42,.15);border-radius:18px;margin-bottom:22px}.mmb-accommodation-field{grid-column:1/-1}.mmb-date-section{grid-column:1/-1;display:block}.mmb-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mmb-booking-form label{display:flex;flex-direction:column;font-size:.9rem;gap:6px}.mmb-booking-form input,.mmb-booking-form select{padding:12px;border:1px solid rgba(80,52,42,.22);border-radius:10px;background:#fff}.mmb-booking-form fieldset{grid-column:1/-1;border:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}.mmb-booking-form fieldset legend{font-weight:700;margin-bottom:8px}.mmb-booking-form fieldset label{display:inline-flex;flex-direction:row;align-items:center}.mmb-submit{grid-column:1/-1}.mmb-submit button{border:0;background:#9f3d2f;color:#fff;padding:13px 20px;border-radius:999px;cursor:pointer}.mmb-submit button:hover{filter:brightness(.95)}.mmb-notice{margin:16px 0;padding:14px 16px;border-radius:12px;background:#f5eadf}.mmb-date-control{display:flex;align-items:center;gap:8px}.mmb-date-control .mmb-date-input{width:100%}.mmb-date-toggle{flex:0 0 auto;border:1px solid rgba(80,52,42,.22);border-radius:10px;background:#fff;padding:10px 12px;cursor:pointer}.mmb-datepicker-popover{z-index:20;margin-top:10px;padding:22px;border:1px solid rgba(80,52,42,.16);border-radius:22px;background:#fffdf9;box-shadow:0 18px 40px rgba(48,35,30,.12)}.mmb-datepicker-popover[hidden]{display:none}.mmb-datepicker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.mmb-datepicker-head h3{margin:0;font-size:1.25rem}.mmb-datepicker-close{border:0;background:#f5eadf;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:22px;line-height:1}.mmb-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#9f3d2f;font-weight:700}.mmb-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.88rem;margin-bottom:16px}.mmb-legend span{display:inline-flex;align-items:center;gap:6px}.mmb-legend i{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(80,52,42,.18)}.mmb-legend i.free{background:#fff}.mmb-legend i.busy{background:#ead3cb}.mmb-legend i.selected{background:#9f3d2f}.mmb-legend i.rule{background:#fffdf9;border-style:dashed;border-color:#9f3d2f}.mmb-calendar-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.mmb-calendar{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid rgba(80,52,42,.12);border-radius:14px;overflow:hidden}.mmb-calendar caption{padding:12px;font-weight:700;text-transform:capitalize;background:#fffaf4}.mmb-calendar th,.mmb-calendar td{text-align:center;padding:0;border-right:1px solid rgba(80,52,42,.08);border-bottom:1px solid rgba(80,52,42,.08)}.mmb-calendar th{padding:8px}.mmb-calendar th:last-child,.mmb-calendar td:last-child{border-right:0}.mmb-calendar tr:last-child td{border-bottom:0}.mmb-calendar th{font-size:.78rem;font-weight:700;color:#5a4138;background:#fffdf9}.mmb-calendar td{position:relative}.mmb-calendar td.busy{background:#ead3cb;color:#7a2f25}.mmb-calendar td.free{background:#fffdf9;color:#2f2521}.mmb-day{position:relative;z-index:1;width:100%;min-height:38px;border:0;background:transparent;color:inherit;cursor:pointer}.mmb-day:hover{background:#f5eadf}.mmb-calendar td.busy .mmb-day{text-decoration:line-through;cursor:not-allowed;opacity:.74}.mmb-calendar td.busy::after{content:"";position:absolute;left:18%;right:18%;top:50%;border-top:2px solid rgba(122,47,37,.45);transform:rotate(-18deg)}.mmb-calendar td.is-range,.mmb-calendar td.is-hover-range{background:#f5eadf}.mmb-calendar td.is-start,.mmb-calendar td.is-end{background:#9f3d2f;color:#fff}.mmb-calendar td.is-start .mmb-day,.mmb-calendar td.is-end .mmb-day{font-weight:700}.mmb-calendar td.is-invalid-end{opacity:.45}.mmb-loading,.mmb-error{padding:18px;border-radius:14px;background:#fffaf4}.mmb-error{color:#8a2f24}.mmb-datepicker-calendar.is-loading{opacity:.72}.mmb-datepicker-help{font-size:.86rem;color:#6f5a51;margin:14px 0 0}.mmb-datepicker-help.is-error{color:#8a2f24;font-weight:700}@media(max-width:720px){.mmb-booking-form{grid-template-columns:1fr}.mmb-date-grid{grid-template-columns:1fr}.mmb-calendar-wrap{grid-template-columns:1fr}}
.mmb-inline-alert{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#fff3ed;color:#8a2f24;border:1px solid rgba(138,47,36,.22);font-size:.92rem}.mmb-inline-alert[hidden]{display:none}.mmb-booking-form input[aria-invalid="true"]{border-color:#8a2f24;box-shadow:0 0 0 3px rgba(138,47,36,.08)}
.mmb-owner-panel{padding:24px;background:#fffdf9;border:1px solid rgba(80,52,42,.14);border-radius:22px}.mmb-owner-intro{max-width:780px;color:#6f5a51}.mmb-owner-select{margin:18px 0 22px}.mmb-owner-select label,.mmb-owner-block-form label{display:flex;flex-direction:column;gap:6px;font-size:.92rem}.mmb-owner-select select,.mmb-owner-block-form input{padding:12px;border:1px solid rgba(80,52,42,.22);border-radius:10px;background:#fff}.mmb-owner-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(300px,1.15fr);gap:18px;margin:20px 0}.mmb-owner-card{padding:20px;background:#fffaf4;border:1px solid rgba(80,52,42,.12);border-radius:18px}.mmb-owner-card h3{margin-top:0}.mmb-owner-button{display:inline-block;border:0;background:#9f3d2f;color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;cursor:pointer}.mmb-owner-button:hover{filter:brightness(.95);color:#fff}.mmb-owner-help{font-size:.86rem;color:#6f5a51}.mmb-owner-calendar{margin-top:18px}.mmb-owner-panel table.widefat{width:100%;border-collapse:collapse}.mmb-owner-panel table.widefat th,.mmb-owner-panel table.widefat td{padding:10px;border-bottom:1px solid rgba(80,52,42,.12);text-align:left}.mmb-owner-panel .button-small{display:inline-block;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid rgba(80,52,42,.2);text-decoration:none;color:#3b2b25}@media(max-width:820px){.mmb-owner-grid{grid-template-columns:1fr}.mmb-owner-panel{padding:16px}.mmb-owner-card{padding:16px}}
.mmb-rule-note{grid-column:1/-1;padding:12px 14px;border-radius:12px;background:#fff8ef;color:#6b4135;border:1px solid rgba(159,61,47,.18);font-size:.92rem}.mmb-rule-note[hidden]{display:none}.mmb-calendar td.is-rule-blocked{background:#fffdf9;color:#8b6b60;box-shadow:inset 0 0 0 2px rgba(159,61,47,.20)}.mmb-calendar td.is-rule-blocked .mmb-day{cursor:not-allowed;opacity:1}.mmb-calendar td.is-rule-blocked::after{content:'';display:none}

.mmb-price-estimate{
  grid-column:1/-1;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(150,50,35,.18);
  border-radius: 14px;
  background: #fff8f5;
}
.mmb-price-estimate h3{margin:.1rem 0 .5rem;font-size:1.05rem;}
.mmb-price-estimate ul{margin:.5rem 0;padding-left:1.2rem;}
.mmb-price-estimate li{margin:.2rem 0;}
.mmb-price-estimate .mmb-total{font-size:1.05rem;margin-top:.6rem;}
.mmb-estimate-note{font-size:.88rem;opacity:.75;margin-bottom:0;}
.mmb-price-estimate--top{
  margin:14px 0 4px;
  background:#fffdf9;
  border:1px solid rgba(159,61,47,.28);
  box-shadow:0 8px 24px rgba(48,35,30,.06);
}
.mmb-price-estimate--top p{margin:.2rem 0;}

/* V0.4 — parcours réservation en 3 étapes */
.mmb-booking-flow{
  max-width: 980px;
  margin: 2rem auto;
  padding: 0;
  background: transparent;
  border: 0;
  display:block;
}
.mmb-booking-flow .mmb-step{
  background:#fffaf4;
  border:1px solid #ead5cc;
  border-radius:22px;
  padding:22px;
  margin:0 0 22px;
  box-sizing:border-box;
}
.mmb-step-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.mmb-step-heading span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #9b2f24;border-radius:999px;color:#9b2f24;font-weight:700;flex:0 0 auto;}
.mmb-step-heading h3{margin:0 0 4px;color:#7d231c;font-size:1.25rem;}
.mmb-step-heading p{margin:0;color:#666;line-height:1.45;}
.mmb-search-grid{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:14px;align-items:end;}
.mmb-search-grid label,.mmb-details-grid label{color:#555;display:block;}
.mmb-search-grid input,.mmb-details-grid input{width:100%;box-sizing:border-box;border:1px solid #ddd0c9;border-radius:12px;padding:12px 14px;margin-top:6px;background:white;}
.mmb-search-button,.mmb-submit button,.mmb-card-price button{
  background:#9b2f24!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 18px!important;font-weight:700!important;cursor:pointer;white-space:nowrap;
}
.mmb-inline-alert{border:1px solid #e2b2aa;background:#fff5f2;color:#7d231c;border-radius:12px;padding:12px 14px;margin-top:14px;}
.mmb-results{display:grid;gap:14px;}
.mmb-no-results,.mmb-loading{border:1px dashed #d9bdb4;background:#fff;padding:18px;border-radius:16px;color:#666;}
.mmb-accommodation-card{display:grid;grid-template-columns:190px 1fr 180px;gap:0;background:#fff;border:1px solid #eadbd5;border-radius:18px;overflow:hidden;cursor:pointer;transition:.18s ease;}
.mmb-accommodation-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(80,35,20,.08);border-color:#c78d80;}
.mmb-card-photo{height:150px;background:#f2e7df;overflow:hidden;}
.mmb-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mmb-card-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#9b2f24;font-weight:700;background:#f4e8df;}
.mmb-card-main{padding:18px;}
.mmb-card-type{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;color:#9b2f24;font-size:.75rem;font-weight:700;}
.mmb-card-main h4{margin:0 0 8px;font-size:1.35rem;color:#3d302b;}
.mmb-card-main p{margin:0;color:#666;}
.mmb-card-price{background:#f8f1ec;padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;gap:6px;}
.mmb-card-price span{font-size:.9rem;color:#666;}
.mmb-card-price strong{font-size:1.35rem;color:#9b2f24;}
.mmb-selected-card{border:1px solid #eadbd5;background:#fff;border-radius:16px;padding:14px 16px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.mmb-change-accommodation{border:1px solid #9b2f24;color:#9b2f24;background:transparent;border-radius:999px;padding:8px 12px;cursor:pointer;}
.mmb-details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px;}
.mmb-options{border:0;padding:0;margin:16px 0;display:flex;gap:18px;flex-wrap:wrap;}
.mmb-options[hidden]{display:none!important;}
.mmb-options legend{font-weight:700;margin-bottom:8px;width:100%;color:#555;}
.mmb-options label{display:flex;gap:8px;align-items:center;color:#444;}
.mmb-price-estimate{margin-top:18px;background:#fff7f4;border:1px solid #e8c8c0;border-radius:18px;padding:20px;color:#555;}
.mmb-price-estimate h3{margin-top:0;color:#7d231c;}
.mmb-price-estimate .mmb-total{font-size:1.2rem;color:#3d302b;}
.mmb-submit{text-align:center;margin-top:18px;}
.mmb-secure-note{font-size:.9rem;color:#777;margin:.6rem 0 0;}
.mmb-rule-note{border:1px solid #ead5cc;background:#fff4ec;border-radius:12px;padding:12px 14px;margin:0 0 16px;color:#7d231c;}
@media(max-width: 760px){
  .mmb-booking-flow .mmb-step{padding:16px;border-radius:18px;}
  .mmb-search-grid,.mmb-details-grid{grid-template-columns:1fr;}
  .mmb-search-button{width:100%;}
  .mmb-accommodation-card{grid-template-columns:1fr;}
  .mmb-card-photo{height:190px;}
  .mmb-card-price{align-items:stretch;text-align:left;}
  .mmb-card-price button{width:100%;}
  .mmb-selected-card{display:block;}
  .mmb-change-accommodation{margin-top:10px;}
}
/* V0.4.1 — recherche automatique + calendrier de sélection */
.mmb-booking-flow .mmb-search-button{display:none!important;}
.mmb-flow-datepicker{grid-column:1/-1;margin-top:14px;}
.mmb-flow-datepicker .mmb-calendar-wrap{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));}
.mmb-step-search .mmb-datepicker-popover{margin-top:16px;}
.mmb-search-grid{grid-template-columns:1fr 1fr .8fr!important;}
@media(max-width:760px){.mmb-search-grid{grid-template-columns:1fr!important;}}


/* V0.4.2 — correction débordement champs coordonnées */
.mmb-booking-flow,
.mmb-booking-flow *{
  box-sizing:border-box;
}
.mmb-details-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}
.mmb-details-grid > label,
.mmb-search-grid > label{
  min-width:0;
}
.mmb-details-grid input,
.mmb-search-grid input,
.mmb-search-grid select{
  max-width:100%;
  min-width:0;
}
@media(max-width:980px){
  .mmb-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .mmb-details-grid{grid-template-columns:1fr;}
}


/* V0.4.3 — lien fiche hébergement + correction téléphone */
.mmb-card-photo-link{display:block;width:100%;height:100%;}
.mmb-card-title-link{color:inherit;text-decoration:none;}
.mmb-card-title-link:hover,.mmb-card-more:hover{text-decoration:underline;}
.mmb-card-more{display:inline-block;margin-top:10px;color:#9b2f24;font-weight:700;text-decoration:none;font-size:.92rem;}
.mmb-details-grid > label:nth-child(3){grid-column:1/-1;}
@media(max-width:980px){.mmb-details-grid > label:nth-child(3){grid-column:auto;}}
@media(min-width:981px){.mmb-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mmb-details-grid > label:nth-child(3){grid-column:1/-1;}}

/* V0.4.4 — champ commentaire client */
.mmb-details-grid .mmb-comment-field{grid-column:1/-1;}
.mmb-details-grid textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #ddd0c9;
  border-radius:12px;
  padding:12px 14px;
  margin-top:6px;
  background:white;
  font:inherit;
  min-height:110px;
  resize:vertical;
}

/* v0.4.6 - calendrier public sur pages hébergement */
.mmb-public-calendar{margin:28px 0;padding:22px;background:#fffaf4;border:1px solid rgba(80,52,42,.14);border-radius:18px}.mmb-public-calendar h3{margin:0 0 6px}.mmb-public-calendar-intro{margin:0 0 14px;color:#6f5a51}.mmb-public-calendar .mmb-calendar-wrap{margin-top:8px}.mmb-public-calendar .mmb-day{cursor:default}.mmb-calendar-unavailable{padding:14px 16px;border-radius:12px;background:#fff8ef;color:#6b4135}.mmb-public-legend{margin-bottom:14px}

/* v0.4.7 — anti-zoom mobile sur les champs de date */
.mmb-booking-form input,
.mmb-booking-form select,
.mmb-booking-form textarea,
.mmb-search-grid input,
.mmb-details-grid input,
.mmb-details-grid textarea{
  font-size:12px;
}
.mmb-date-input{
  cursor:pointer;
  -webkit-text-size-adjust:100%;
  touch-action:manipulation;
}
.mmb-date-input[readonly]{
  background:#fff;
}
@media(max-width:720px){
  .mmb-date-input{font-size:13px!important;}
}

/* v0.4.8 — calendrier compact sous le champ actif avec navigation mois */
.mmb-booking-flow{position:relative;}
.mmb-floating-datepicker{
  position:absolute;
  z-index:9999;
  margin:0!important;
  padding:14px;
  background:#fffdf9;
  border:1px solid #ead5cc;
  border-radius:16px;
  box-shadow:0 16px 42px rgba(48,35,30,.16);
}
.mmb-floating-datepicker[hidden]{display:none!important;}
.mmb-datepicker-head{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center;
  gap:8px;
}
.mmb-datepicker-head h3{font-size:1rem;margin:0;}
.mmb-datepicker-head .mmb-eyebrow{margin:0 0 2px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#9b2f24;font-weight:700;}
.mmb-month-nav,.mmb-datepicker-close{
  border:1px solid #ead5cc;
  background:#fff;
  color:#7d231c;
  border-radius:999px;
  width:34px;
  height:34px;
  line-height:1;
  cursor:pointer;
  font-size:1.35rem;
}
.mmb-datepicker-close{font-size:1.1rem;}
.mmb-datepicker-help{margin:10px 0 12px;color:#6f5a51;font-size:.9rem;line-height:1.35;}
.mmb-calendar-wrap-single{display:block!important;}
.mmb-calendar-single{width:100%;table-layout:fixed;}
.mmb-calendar-single caption{padding:8px 0 10px;font-weight:700;color:#3d302b;text-transform:capitalize;}
.mmb-calendar-single th,.mmb-calendar-single td{text-align:center;}
.mmb-calendar-single .mmb-day{width:34px;height:34px;border-radius:999px;}
.mmb-calendar-single .mmb-day:disabled{cursor:not-allowed;opacity:.35;background:#f3eee9;color:#8a756d;}
.mmb-calendar-single td.is-past .mmb-day,
.mmb-calendar-single td.is-before-start .mmb-day{box-shadow:none!important;text-decoration:none;}
@media(max-width:760px){
  .mmb-floating-datepicker{left:0!important;right:0!important;width:auto!important;max-width:none;margin-left:0;margin-right:0;}
  .mmb-datepicker-head{grid-template-columns:auto 1fr auto auto;}
}

/* v0.5.0 — sélecteur voyageurs +/- et message grands groupes */
.mmb-guests-field{display:block;}
.mmb-guests-stepper{display:flex;align-items:center;margin-top:6px;width:100%;box-sizing:border-box;border:1px solid #ddd0c9;border-radius:12px;background:#fff;overflow:hidden;}
.mmb-guests-stepper input{border:0!important;margin:0!important;border-radius:0!important;text-align:center;min-width:54px;padding:12px 8px!important;-moz-appearance:textfield;}
.mmb-guests-stepper input::-webkit-outer-spin-button,.mmb-guests-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.mmb-guests-minus,.mmb-guests-plus{width:44px;min-height:44px;border:0;background:#fff7f4;color:#9b2f24;font-size:22px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.mmb-guests-minus{border-right:1px solid #edd9d1;}
.mmb-guests-plus{border-left:1px solid #edd9d1;}
.mmb-guests-minus:hover,.mmb-guests-plus:hover{background:#f5e6dd;}
.mmb-large-group-message a{color:#9b2f24;font-weight:700;}

.mmb-high-season-saturday-notice{
  margin: 0 0 14px;
  padding: 13px 15px;
  border-radius: 14px;
  background: #fff8ef;
  color: #6b4135;
  border: 1px solid rgba(159,61,47,.22);
  font-size: .94rem;
  line-height: 1.45;
}
.mmb-high-season-saturday-notice strong{color:#9f3d2f;}

/* Bandeau rapide sous le header */
.mmb-quick-booking-banner{
  background:#fbf6ee;
  border-top:1px solid rgba(142,75,58,.18);
  border-bottom:1px solid rgba(142,75,58,.18);
  padding:18px 20px;
  position:relative;
  z-index:20;
}
.mmb-quick-booking-inner{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:18px;
  justify-content:space-between;
}
.mmb-quick-booking-text{
  display:flex;
  flex-direction:column;
  gap:9px;
  color:#3b302b;
  min-width:220px;
}
.mmb-quick-booking-text strong{
  font-size:15px;
  line-height:1.2;
  color:#7f3329;
}
.mmb-quick-booking-text span{
  font-size:13px;
  line-height:1.35;
  opacity:.82;
}
.mmb-quick-booking-form{
  position:relative;
  display:grid;
  grid-template-columns: minmax(135px,1fr) minmax(135px,1fr) minmax(135px,0.9fr) auto;
  gap:10px;
  align-items:end;
  flex:1;
}
.mmb-quick-booking-form label{
  display:block;
  color:#5a4a43;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin:0;
}
.mmb-quick-booking-form input[type="text"],
.mmb-quick-booking-form input[type="number"]{
  width:100%;
  box-sizing:border-box;
  margin-top:6px;
  min-height:42px;
  border:1px solid #ddcfc4;
  background:#fff;
  color:#2f2825;
  border-radius:8px;
  padding:9px 12px;
  font-size:15px;
}
.mmb-quick-booking-form .mmb-guests-stepper{
  margin-top:6px;
}
.mmb-quick-booking-form > button[type="submit"]{
  min-height:42px;
  border:0;
  border-radius:8px;
  background:#8f3d2e;
  color:#fff;
  padding:0 18px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.mmb-quick-booking-form > button[type="submit"]:hover{
  background:#763126;
}
.mmb-quick-alert{
  grid-column:1/-1;
  padding:8px 10px;
  border-radius:8px;
  background:#fff5e5;
  border:1px solid #efd2a7;
  color:#6f4a19;
  font-size:13px;
}
.mmb-quick-booking-form .mmb-floating-datepicker{
  z-index:9999;
}
@media screen and (max-width: 900px){
  .mmb-quick-booking-inner{
    flex-direction:column;
    align-items:stretch;
  }
  .mmb-quick-booking-form{
    grid-template-columns:1fr 1fr;
  }
  .mmb-quick-booking-form > button[type="submit"]{
    grid-column:1/-1;
  }
}
@media screen and (max-width: 560px){
  .mmb-quick-booking-banner{
    padding:14px 12px;
  }
  .mmb-quick-booking-form{
    grid-template-columns:1fr;
  }
  .mmb-quick-booking-text strong{
    font-size:16px;
  }
}


/* V0.6.4 — bandeau rapide plus élégant + redirection vers le formulaire */
.mmb-quick-booking-banner{
  background:#fbf6ee;
  padding:14px 20px;
}
.mmb-quick-booking-inner{
  gap:20px;
}
.mmb-quick-booking-text strong{
  font-family: Georgia, 'Times New Roman', serif;
  font-size:22px;
  font-weight:500;
  letter-spacing:0;
  color:#7f3329;
}
.mmb-quick-booking-text span{
  font-family: Georgia, 'Times New Roman', serif;
  font-size:14px;
  line-height:1.35;
  color:#5f514c;
  opacity:1;
}
.mmb-quick-booking-form label{
  font-family: Georgia, 'Times New Roman', serif;
  font-size:16px;
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
  color:#5f514c;
}
.mmb-quick-booking-form input[type="text"],
.mmb-quick-booking-form input[type="number"]{
  min-height:46px;
  font-size:13px;
  font-weight:400;
  border-radius:12px;
}
.mmb-quick-booking-form .mmb-guests-stepper{
  min-height:46px;
  border-radius:12px;
  overflow:hidden;
}
.mmb-quick-booking-form .mmb-guests-stepper button{
  font-size:22px;
  font-weight:600;
}
.mmb-quick-booking-form > button[type="submit"]{
  min-height:46px;
  border-radius:12px!important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size:13px;
  font-weight:400!important;
  padding:0 22px;
}
@media screen and (max-width: 900px){
  .mmb-quick-booking-text strong{font-size:23px;}
  .mmb-quick-booking-text span{font-size:15px;}
}
@media screen and (max-width: 560px){
  .mmb-quick-booking-text strong{font-size:22px;}
  .mmb-quick-booking-form label{font-size:16px;}
}

/* Bouton Réserver ajouté au menu principal */
#menu .mmb-menu-reserve > a,
#menu-container .mmb-menu-reserve > a,
.main-menu .mmb-menu-reserve > a {
    background: #963729 !important;
    color: #fff !important;
    padding: 9px 18px 14px 18px !important;
    border-radius: 8px;
    /* font-weight: 600; */
    text-transform: uppercase;
    letter-spacing: .03em;
}
#menu .mmb-menu-reserve > a:hover,
#menu-container .mmb-menu-reserve > a:hover,
.main-menu .mmb-menu-reserve > a:hover {
  background: #7f2d23 !important;
  color: #fff !important;
}
@media (max-width: 767px) {
  #menu .mmb-menu-reserve > a,
  #menu-container .mmb-menu-reserve > a,
  .main-menu .mmb-menu-reserve > a {
    display: inline-block;
    margin-top: 8px;
  }
}


/* v0.6.7 — photo dans l’hébergement sélectionné */
.mmb-selected-card-content{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.mmb-selected-card-photo{
  width:82px;
  height:62px;
  border-radius:12px;
  overflow:hidden;
  flex:0 0 auto;
  background:#f2e7df;
  border:1px solid #eadbd5;
}
.mmb-selected-card-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mmb-selected-card-text{
  min-width:0;
}
.mmb-selected-card-text strong{
  color:#3d302b;
}
.mmb-selected-card-text span{
  color:#666;
}
@media(max-width:760px){
  .mmb-selected-card{
    display:flex;
    align-items:flex-start;
    gap:12px;
    flex-direction:column;
  }
  .mmb-selected-card-content{
    width:100%;
  }
  .mmb-selected-card-photo{
    width:76px;
    height:58px;
  }
}

/* V0.6.8 — réduction réservation de dernière minute */
.mmb-last-minute-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-end;
  padding:5px 9px;
  border-radius:999px;
  background:#fff3ed;
  color:#8f3d2e;
  border:1px solid rgba(143,61,46,.22);
  font-size:.78rem!important;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}
.mmb-card-price del{
  color:#8a756d;
  font-weight:600;
  font-size:1rem;
}
.mmb-card-price small{
  color:#8f3d2e;
  font-weight:700;
}
.mmb-last-minute-estimate{
  margin:.6rem 0;
  padding:.75rem .9rem;
  border-radius:12px;
  background:#fff3ed;
  color:#7d231c;
  border:1px solid rgba(143,61,46,.22);
}
.mmb-price-estimate del{
  color:#8a756d;
}
.mmb-discount-line{
  color:#8f3d2e;
  font-weight:700;
}
@media(max-width:760px){
  .mmb-last-minute-badge{align-self:flex-start;}
}

/* v0.6.9 — équipements affichés sur les cartes d'hébergements */
.mmb-card-amenities{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
  color:#3d302b;
  font-size:.9rem;
  line-height:1.25;
}
.mmb-card-amenities li{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0;
  white-space:normal;
}
.mmb-card-amenities li span{
  color:#9b2f24;
  font-weight:800;
  line-height:1;
}
.mmb-selected-card .mmb-card-amenities{
  margin-top:7px;
  font-size:.82rem;
  gap:5px 10px;
}
@media(max-width:760px){
  .mmb-card-amenities{
    gap:6px 10px;
    font-size:.88rem;
  }
}


/* V0.7.0 — détails du séjour dans l’hébergement sélectionné */
.mmb-selected-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin-top:6px;
  color:#6b5a52;
  font-size:.9rem;
  line-height:1.35;
}
.mmb-selected-card-meta-item{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.mmb-selected-card-meta-item:before{
  content:'✓';
  color:#9b2f24;
  font-weight:700;
  font-size:.86rem;
}
.mmb-selected-payment-note{
  margin:6px 0 0;
  color:#7d231c;
  font-size:.9rem;
  font-weight:600;
}
.mmb-selected-payment-note:before{
  content:'✦ ';
  color:#9b2f24;
}
@media(max-width:760px){
  .mmb-selected-card-meta{
    display:block;
  }
  .mmb-selected-card-meta-item{
    display:flex;
    margin-top:3px;
  }
}


/* v0.7.1 — bloc hébergement sélectionné simplifié */
.mmb-selected-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  margin-top:8px;
  color:#666;
  font-size:.9rem;
  line-height:1.35;
}
.mmb-selected-card-meta-item{
  display:inline-flex;
  align-items:center;
  gap:0;
}
.mmb-selected-card-meta-item:before{
  content:'' !important;
  display:none !important;
}
.mmb-selected-payment-note{
  margin:8px 0 0;
  color:#7d231c;
  font-size:.9rem;
  font-weight:600;
}
.mmb-selected-payment-note:before{
  content:'' !important;
  display:none !important;
}
@media(max-width:760px){
  .mmb-selected-card-meta{display:block;}
  .mmb-selected-card-meta-item{display:block;margin-top:3px;}
}

/* v0.8.0 - Demande de groupe */
.mmb-group-request-panel{margin-top:16px;padding:18px;border:1px solid #eadbd5;border-radius:16px;background:#fffdf9;color:#5a4a43;}
.mmb-group-request-panel h4{margin:0 0 8px;color:#8f2f24;font-size:1.2rem;}
.mmb-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;}
.mmb-group-grid label,.mmb-group-note-label{display:block;color:#555;font-weight:600;}
.mmb-group-grid input,.mmb-group-note-label textarea{width:100%;box-sizing:border-box;border:1px solid #ddd0c9;border-radius:12px;padding:12px 14px;margin-top:6px;background:white;font:inherit;}
.mmb-group-note-label textarea{min-height:105px;resize:vertical;}
.mmb-group-submit{margin-top:14px;background:#9b2f24!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:13px 18px!important;font-weight:700!important;cursor:pointer;}
.mmb-group-feedback{margin-top:12px;color:#7d231c;}
@media(max-width:760px){.mmb-group-grid{grid-template-columns:1fr;}}


/* v0.8.1 — correctif calendrier mobile sur la page réservation
   Le calendrier est affiché comme une fenêtre flottante au-dessus de la page
   pour éviter qu'il soit masqué par les conteneurs du thème. */
@media screen and (max-width: 760px){
  .mmb-booking-form .mmb-floating-datepicker,
  .mmb-booking-flow .mmb-floating-datepicker{
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: 76px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 96px) !important;
    overflow-y: auto !important;
    margin: 0 !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .mmb-booking-form .mmb-floating-datepicker[hidden],
  .mmb-booking-flow .mmb-floating-datepicker[hidden]{
    display: none !important;
  }

  .mmb-booking-form .mmb-datepicker-head,
  .mmb-booking-flow .mmb-datepicker-head{
    grid-template-columns: auto 1fr auto auto !important;
    gap: 7px !important;
  }

  .mmb-booking-form .mmb-datepicker-help,
  .mmb-booking-flow .mmb-datepicker-help{
    margin: 8px 0 10px !important;
  }

  .mmb-booking-form .mmb-calendar-single .mmb-day,
  .mmb-booking-flow .mmb-calendar-single .mmb-day{
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
  }
}


/* v0.8.2 — correctif ouverture calendrier mobile page réservation */
@media screen and (max-width: 760px){
  .mmb-booking-form .mmb-date-input,
  .mmb-booking-flow .mmb-date-input{
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
  }
  .mmb-booking-form .mmb-floating-datepicker,
  .mmb-booking-flow .mmb-floating-datepicker{
    display: block;
  }
  .mmb-booking-form .mmb-floating-datepicker[hidden],
  .mmb-booking-flow .mmb-floating-datepicker[hidden]{
    display: none !important;
  }
}

/* v0.8.6 — bandeau de réservation premium façon hôtel / header */
.mmb-quick-booking-banner{
  background:transparent!important;
  border:0!important;
  padding:0 28px!important;
  margin:-42px auto 30px!important;
  position:relative!important;
  z-index:60!important;
  box-sizing:border-box!important;
}

.mmb-quick-booking-inner{
  max-width:1120px!important;
  margin:0 auto!important;
  background:#fffdf9!important;
  border:1px solid rgba(126,73,58,.16)!important;
  border-radius:18px!important;
  box-shadow:0 18px 44px rgba(47,35,30,.18)!important;
  padding:22px 24px!important;
  display:grid!important;
  grid-template-columns:minmax(210px, .85fr) minmax(0, 2.2fr)!important;
  align-items:center!important;
  gap:24px!important;
}

.mmb-quick-booking-text{
  min-width:0!important;
  gap:6px!important;
  padding-right:22px!important;
  border-right:1px solid rgba(126,73,58,.14)!important;
}

.mmb-quick-booking-text strong{
  font-family:Georgia, 'Times New Roman', serif!important;
  font-size:23px!important;
  line-height:1.12!important;
  font-weight:400!important;
  color:#3d302b!important;
  letter-spacing:.01em!important;
}

.mmb-quick-booking-text span{
  font-family:Verdana, Geneva, sans-serif!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:#6a5b55!important;
}

.mmb-quick-booking-form{
  display:grid!important;
  grid-template-columns:minmax(130px, 1fr) minmax(130px, 1fr) minmax(125px, .85fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  width:100%!important;
}

.mmb-quick-booking-form label{
  font-family:Verdana, Geneva, sans-serif!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  color:#6b5a52!important;
}

.mmb-quick-booking-form input[type="text"],
.mmb-quick-booking-form input[type="number"]{
  min-height:48px!important;
  margin-top:7px!important;
  border:1px solid rgba(126,73,58,.18)!important;
  border-radius:12px!important;
  background:#fbf7f1!important;
  color:#302723!important;
  font-family:Verdana, Geneva, sans-serif!important;
  font-size:13px!important;
  padding:12px 13px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}

.mmb-quick-booking-form input[type="text"]:focus,
.mmb-quick-booking-form input[type="number"]:focus{
  outline:0!important;
  border-color:rgba(159,51,41,.52)!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(159,51,41,.09)!important;
}

.mmb-quick-booking-form .mmb-guests-stepper{
  min-height:48px!important;
  margin-top:7px!important;
  border:1px solid rgba(126,73,58,.18)!important;
  border-radius:12px!important;
  background:#fbf7f1!important;
  overflow:hidden!important;
}

.mmb-quick-booking-form .mmb-guests-stepper input{
  border:0!important;
  background:transparent!important;
  min-height:46px!important;
  box-shadow:none!important;
  margin:0!important;
}

.mmb-quick-booking-form .mmb-guests-stepper button{
  background:#f4e9df!important;
  color:#6a3c32!important;
  border:0!important;
  font-family:Georgia, 'Times New Roman', serif!important;
  font-size:22px!important;
  line-height:1!important;
}

.mmb-quick-booking-form .mmb-guests-stepper button:hover{
  background:#ead8ca!important;
}

.mmb-quick-booking-form > button[type="submit"]{
  min-height:48px!important;
  border:0!important;
  border-radius:12px!important;
  background:#9f3329!important;
  color:#fff!important;
  padding:0 24px!important;
  font-family:Verdana, Geneva, sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  box-shadow:0 10px 22px rgba(159,51,41,.23)!important;
  cursor:pointer!important;
}

.mmb-quick-booking-form > button[type="submit"]:hover{
  background:#84291f!important;
  transform:translateY(-1px)!important;
  box-shadow:0 14px 26px rgba(159,51,41,.28)!important;
}

.mmb-quick-booking-form .mmb-floating-datepicker{
  z-index:999999!important;
}

.mmb-quick-alert{
  grid-column:1/-1!important;
  margin-top:2px!important;
  border-radius:12px!important;
  background:#fff8ed!important;
  border:1px solid rgba(159,51,41,.18)!important;
  color:#6b4135!important;
  font-size:12px!important;
}

@media screen and (max-width: 1020px){
  .mmb-quick-booking-banner{
    margin:-30px auto 26px!important;
    padding:0 18px!important;
  }
  .mmb-quick-booking-inner{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:22px!important;
  }
  .mmb-quick-booking-text{
    border-right:0!important;
    border-bottom:1px solid rgba(126,73,58,.14)!important;
    padding:0 0 16px!important;
    text-align:center!important;
  }
  .mmb-quick-booking-form{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
  .mmb-quick-booking-form > button[type="submit"]{
    grid-column:1/-1!important;
  }
}

@media screen and (max-width: 560px){
  .mmb-quick-booking-banner{
    margin:14px auto 24px!important;
    padding:0 14px!important;
  }
  .mmb-quick-booking-inner{
    border-radius:16px!important;
    padding:20px!important;
    box-shadow:0 12px 30px rgba(47,35,30,.13)!important;
  }
  .mmb-quick-booking-text strong{
    font-size:22px!important;
  }
  .mmb-quick-booking-text span{
    font-size:12px!important;
  }
  .mmb-quick-booking-form{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .mmb-quick-booking-form label{
    font-size:10px!important;
  }
  .mmb-quick-booking-form input[type="text"],
  .mmb-quick-booking-form input[type="number"],
  .mmb-quick-booking-form .mmb-guests-stepper,
  .mmb-quick-booking-form > button[type="submit"]{
    min-height:50px!important;
  }
}

/* v0.8.7 — bandeau de réservation façon maquette + voyageurs en menu déroulant */
.mmb-quick-booking-banner {
  background: transparent !important;
  border: 0 !important;
  padding: 0 32px !important;
  margin: -38px auto 34px !important;
  position: relative !important;
  z-index: 80 !important;
  box-sizing: border-box !important;
}

.mmb-quick-booking-banner,
.mmb-quick-booking-banner * {
  box-sizing: border-box !important;
}

.mmb-quick-booking-inner {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(92, 65, 55, 0.14) !important;
  border-radius: 3px !important;
  box-shadow: 0 16px 34px rgba(42, 32, 28, 0.14) !important;
  display: block !important;
  overflow: visible !important;
}

.mmb-quick-booking-text {
  display: none !important;
}

.mmb-quick-booking-form {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 0.95fr auto !important;
  align-items: stretch !important;
  gap: 0 !important;
  position: relative !important;
}

.mmb-quick-booking-form label {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 16px 48px 15px 28px !important;
  border-right: 1px solid rgba(92, 65, 55, 0.16) !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: #5c504b !important;
  background: #fff !important;
}

.mmb-quick-booking-form label:nth-of-type(1)::after,
.mmb-quick-booking-form label:nth-of-type(2)::after {
  content: "" !important;
  position: absolute !important;
  right: 24px !important;
  bottom: 22px !important;
  width: 13px !important;
  height: 13px !important;
  border: 1.6px solid #b4937c !important;
  border-radius: 2px !important;
  opacity: 0.95 !important;
  pointer-events: none !important;
}

.mmb-quick-booking-form label:nth-of-type(1)::before,
.mmb-quick-booking-form label:nth-of-type(2)::before {
  content: "" !important;
  position: absolute !important;
  right: 26px !important;
  bottom: 32px !important;
  width: 9px !important;
  height: 1.6px !important;
  background: #b4937c !important;
  box-shadow: 0 4px 0 rgba(180,147,124,.65) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.mmb-quick-booking-form label:nth-of-type(3)::after {
  content: "⌄" !important;
  position: absolute !important;
  right: 24px !important;
  bottom: 19px !important;
  color: #8b6d5f !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  pointer-events: none !important;
}

.mmb-quick-booking-form input[type="text"] {
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2f2825 !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.mmb-quick-booking-form input[type="text"]:focus {
  outline: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mmb-quick-guests-select {
  display: block !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 26px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2f2825 !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

.mmb-quick-guests-select:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

.mmb-quick-booking-form > button[type="submit"] {
  align-self: center !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 16px 22px !important;
  padding: 0 26px !important;
  border: 1px solid #9f3329 !important;
  border-radius: 3px !important;
  background: #9f3329 !important;
  color: #fff !important;
  font-family: Verdana, Geneva, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease !important;
}

.mmb-quick-booking-form > button[type="submit"]:hover,
.mmb-quick-booking-form > button[type="submit"]:focus {
  background: #fff !important;
  color: #9f3329 !important;
  border-color: #9f3329 !important;
  transform: none !important;
  box-shadow: none !important;
}

.mmb-quick-alert {
  grid-column: 1 / -1 !important;
  margin: 0 18px 16px !important;
  padding: 10px 12px !important;
  border-radius: 3px !important;
  background: #fff8ed !important;
  border: 1px solid rgba(159, 51, 41, 0.18) !important;
  color: #6b4135 !important;
  font-size: 12px !important;
}

.mmb-quick-booking-form .mmb-floating-datepicker {
  z-index: 999999 !important;
}

@media screen and (max-width: 1020px) {
  .mmb-quick-booking-banner {
    margin: -26px auto 30px !important;
    padding: 0 18px !important;
  }
  .mmb-quick-booking-inner {
    max-width: 760px !important;
  }
  .mmb-quick-booking-form {
    grid-template-columns: 1fr 1fr !important;
  }
  .mmb-quick-booking-form label:nth-of-type(2) {
    border-right: 0 !important;
  }
  .mmb-quick-booking-form label:nth-of-type(3) {
    border-top: 1px solid rgba(92, 65, 55, 0.12) !important;
  }
  .mmb-quick-booking-form > button[type="submit"] {
    grid-column: auto !important;
    width: auto !important;
  }
}

@media screen and (max-width: 560px) {
  .mmb-quick-booking-banner {
    margin: 14px auto 24px !important;
    padding: 0 14px !important;
  }
  .mmb-quick-booking-inner {
    max-width: 100% !important;
    box-shadow: 0 12px 26px rgba(42, 32, 28, 0.10) !important;
  }
  .mmb-quick-booking-form {
    grid-template-columns: 1fr !important;
  }
  .mmb-quick-booking-form label {
    min-height: 68px !important;
    padding: 14px 46px 14px 22px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(92, 65, 55, 0.12) !important;
  }
  .mmb-quick-booking-form label:nth-of-type(3) {
    border-top: 0 !important;
  }
  .mmb-quick-booking-form > button[type="submit"] {
    width: calc(100% - 32px) !important;
    margin: 16px !important;
    background: #9f3329 !important;
    color: #fff !important;
  }
  .mmb-quick-booking-form > button[type="submit"]:hover,
  .mmb-quick-booking-form > button[type="submit"]:focus {
    background: #fff !important;
    color: #9f3329 !important;
  }
}


/* v0.8.8 — message groupe personnalisé avec hébergements disponibles */
.mmb-group-available{
  margin: 14px 0 16px !important;
  padding: 16px 18px !important;
  border-radius: 14px !important;
  background: #fffdf9 !important;
  border: 1px solid rgba(155,47,36,.18) !important;
  color: #4f413b !important;
}
.mmb-group-available p{
  margin: 0 0 12px !important;
  font-size: .94rem !important;
  line-height: 1.55 !important;
}
.mmb-group-available ul{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.mmb-group-available li{
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  background: #fff7f1 !important;
  border: 1px solid rgba(80,52,42,.10) !important;
}
.mmb-group-available li span{
  display: block !important;
  font-weight: 700 !important;
  color: #3d302b !important;
  line-height: 1.35 !important;
}
.mmb-group-available li small{
  display: block !important;
  margin-top: 3px !important;
  color: #6b5a52 !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}
.mmb-group-capacity-note{
  margin: 12px 0 0 !important;
  color: #6b4135 !important;
  font-size: .88rem !important;
}
.mmb-group-available-empty{
  background:#fff8ef !important;
}
@media(max-width:760px){
  .mmb-group-available ul{grid-template-columns:1fr !important;}
}

/* v0.8.8 — flèche voyageurs intégrée au select, cliquable */
.mmb-quick-booking-form label:nth-of-type(3)::after{
  content:none !important;
  display:none !important;
}
.mmb-quick-booking-form label:nth-of-type(3){
  cursor:pointer !important;
  padding-right:28px !important;
}
.mmb-quick-booking-form label:nth-of-type(3) .mmb-quick-guests-select{
  position:static !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:8px 0 0 !important;
  padding:0 34px 0 0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-image:linear-gradient(45deg, transparent 50%, #8b6d5f 50%),linear-gradient(135deg, #8b6d5f 50%, transparent 50%) !important;
  background-position:calc(100% - 12px) 50%,calc(100% - 5px) 50% !important;
  background-size:7px 7px,7px 7px !important;
  background-repeat:no-repeat !important;
  color:#2f2825 !important;
  font-family:Verdana, Geneva, sans-serif !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  cursor:pointer !important;
  outline:0 !important;
  box-shadow:none !important;
}
.mmb-quick-booking-form label:nth-of-type(3) .mmb-quick-guests-select:focus{
  outline:0 !important;
  box-shadow:none !important;
}

/* v0.8.9 — sélection des hébergements en demande de groupe */
.mmb-group-available{
  margin:16px 0;
  padding:18px;
  border:1px solid #eadbd5;
  border-radius:16px;
  background:#fffdf9;
}
.mmb-group-available > p{
  margin:0 0 14px;
  color:#4f4540;
  line-height:1.55;
}
.mmb-group-selection-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.mmb-group-accommodation-option{
  position:relative;
  display:grid;
  grid-template-columns:96px 1fr;
  gap:12px;
  width:100%;
  padding:10px;
  border:1px solid rgba(126,73,58,.18);
  border-radius:14px;
  background:#fff;
  color:#3d302b;
  text-align:left;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(50,35,28,.04);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.mmb-group-accommodation-option:hover{
  border-color:rgba(159,51,41,.32);
  box-shadow:0 10px 22px rgba(50,35,28,.08);
  transform:translateY(-1px);
}
.mmb-group-accommodation-option.is-selected{
  border-color:#9f3329;
  background:#fff8f5;
  box-shadow:0 12px 26px rgba(159,51,41,.12);
}
.mmb-group-option-check{
  position:absolute;
  top:10px;
  right:10px;
  width:22px;
  height:22px;
  border:1px solid rgba(159,51,41,.35);
  border-radius:999px;
  background:#fff;
}
.mmb-group-accommodation-option.is-selected .mmb-group-option-check{
  background:#9f3329;
  border-color:#9f3329;
}
.mmb-group-accommodation-option.is-selected .mmb-group-option-check:before{
  content:'✓';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:13px;
  font-weight:700;
}
.mmb-group-option-photo{
  display:block;
  width:96px;
  height:76px;
  border-radius:10px;
  overflow:hidden;
  background:#f4e8df;
  color:#9b2f24;
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.mmb-group-option-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mmb-group-option-photo span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.mmb-group-option-body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding-right:22px;
}
.mmb-group-option-body strong{
  display:block;
  margin:0 0 4px;
  color:#3d302b;
  font-size:1rem;
  line-height:1.25;
}
.mmb-group-option-body small{
  display:block;
  color:#6b5a52;
  font-size:.82rem;
  line-height:1.35;
}
.mmb-group-option-body em{
  display:block;
  margin-top:6px;
  color:#9f3329;
  font-style:normal;
  font-weight:700;
  font-size:.9rem;
}
.mmb-group-selection-summary{
  margin-top:14px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff8f5;
  border:1px solid rgba(159,51,41,.16);
}
.mmb-group-selection-summary strong{
  color:#7d231c;
}
.mmb-group-selection-summary p{
  margin:.35rem 0 0;
  color:#655a55;
  line-height:1.5;
}
.mmb-group-selection-summary ul{
  margin:.5rem 0 0;
  padding-left:1.15rem;
  color:#554b46;
}
.mmb-group-selection-summary li{
  margin:.18rem 0;
}
.mmb-group-total{
  color:#3d302b!important;
  font-size:1rem;
}
.mmb-group-total strong{
  color:#9f3329;
}
.mmb-group-total small{
  color:#7a6c66;
  font-size:.82rem;
}
@media(max-width:760px){
  .mmb-group-selection-grid{grid-template-columns:1fr;}
  .mmb-group-accommodation-option{grid-template-columns:88px 1fr;}
  .mmb-group-option-photo{width:88px;height:70px;}
}
@media(max-width:430px){
  .mmb-group-accommodation-option{grid-template-columns:1fr;}
  .mmb-group-option-photo{width:100%;height:145px;}
}

/* v0.9.0 — demande de groupe : récap final + tarifs indicatifs globaux */
.mmb-group-final-summary{
  margin:14px 0 18px!important;
  padding:16px 18px!important;
  border:1px solid rgba(159,51,41,.18)!important;
  border-radius:14px!important;
  background:#fff7f3!important;
  color:#4f3f39!important;
}
.mmb-group-final-summary strong{
  display:block!important;
  margin:0 0 10px!important;
  color:#8f2f24!important;
  font-size:15px!important;
}
.mmb-group-final-summary [data-group-final-lines]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.mmb-group-final-summary [data-group-final-lines] div{
  padding:10px 12px!important;
  border:1px solid #eadbd5!important;
  border-radius:10px!important;
  background:#fffdf9!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.mmb-group-final-summary [data-group-final-total]{
  margin:13px 0 0!important;
  font-size:15px!important;
  color:#3d302b!important;
}
.mmb-group-option-body em{
  color:#9b2f24!important;
  font-style:normal!important;
  font-weight:800!important;
}
.mmb-group-total{
  color:#3d302b!important;
}
@media(max-width:760px){
  .mmb-group-final-summary [data-group-final-lines]{grid-template-columns:1fr!important;}
}

/* v0.9.1 — demande de groupe fusionnée + options par hébergement */
.mmb-group-request-panel{
  margin-top:16px!important;
  padding:22px!important;
  border:1px solid rgba(159,51,41,.18)!important;
  border-radius:18px!important;
  background:#fff8f5!important;
}
.mmb-group-request-panel h4{
  margin:0 0 6px!important;
  color:#7d231c!important;
  font-size:1.25rem!important;
}
.mmb-group-request-intro{
  margin:0 0 16px!important;
  color:#5f5550!important;
}
.mmb-group-selection-summary{
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.mmb-group-selection-summary > strong{
  display:block!important;
  margin:0 0 10px!important;
  color:#7d231c!important;
  font-size:1rem!important;
}
.mmb-group-selection-summary [data-group-final-lines]{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin-top:12px!important;
}
.mmb-group-line{
  padding:14px 16px!important;
  border:1px solid #eadbd5!important;
  border-radius:14px!important;
  background:#fffdf9!important;
}
.mmb-group-line-head{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  align-items:flex-start!important;
  margin-bottom:10px!important;
}
.mmb-group-line-head strong{
  color:#3d302b!important;
  font-size:1rem!important;
}
.mmb-group-line-head span{
  color:#6b5a52!important;
  font-size:.86rem!important;
  white-space:nowrap!important;
}
.mmb-group-options{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
  margin:10px 0 12px!important;
  padding:10px 12px!important;
  border-radius:12px!important;
  background:#fff8f3!important;
  border:1px solid rgba(159,51,41,.10)!important;
}
.mmb-group-options > span{
  width:100%!important;
  color:#7d231c!important;
  font-size:.83rem!important;
  font-weight:700!important;
}
.mmb-group-options label{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  color:#554b46!important;
  font-size:.9rem!important;
  line-height:1.35!important;
  cursor:pointer!important;
}
.mmb-group-options input{
  margin:0!important;
  accent-color:#9f3329!important;
}
.mmb-group-options small{
  color:#7a6c66!important;
  font-size:.82rem!important;
}
.mmb-group-price-breakdown{
  margin:8px 0 0!important;
  padding-left:1.15rem!important;
  color:#554b46!important;
  font-size:.9rem!important;
  line-height:1.55!important;
}
.mmb-group-price-breakdown li{
  margin:.12rem 0!important;
}
.mmb-group-line-total{
  margin:10px 0 0!important;
  color:#3d302b!important;
  font-size:.95rem!important;
}
.mmb-group-line-total strong,
.mmb-group-total strong{
  color:#9f3329!important;
}
.mmb-group-line-warning{
  margin:8px 0 0!important;
  color:#8f2f24!important;
  font-weight:700!important;
}
.mmb-group-total{
  margin:14px 0 0!important;
  padding-top:12px!important;
  border-top:1px solid rgba(159,51,41,.14)!important;
  font-size:1.05rem!important;
}
.mmb-group-capacity-note{
  margin:8px 0 0!important;
  color:#6b4135!important;
}
.mmb-group-grid{
  margin-top:18px!important;
}
@media(max-width:760px){
  .mmb-group-request-panel{padding:18px!important;}
  .mmb-group-line-head{display:block!important;}
  .mmb-group-line-head span{display:block!important;margin-top:4px!important;white-space:normal!important;}
  .mmb-group-options{display:block!important;}
  .mmb-group-options label{display:flex!important;margin-top:8px!important;}
}


/* v2.2.2 — un seul formulaire de finalisation en mode groupe/multi-chambres */
.mmb-booking-flow .mmb-step-details[hidden],
.mmb-booking-flow.is-group-mode .mmb-step-details{
  display:none!important;
}
.mmb-booking-flow.is-group-mode .mmb-step-results{
  margin-bottom:22px!important;
}
.mmb-group-options,
.mmb-group-options *{
  pointer-events:auto!important;
}
.mmb-group-options label{
  position:relative!important;
  user-select:none!important;
}
.mmb-group-options input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  flex:0 0 16px!important;
  cursor:pointer!important;
}

/* v0.9.3 — alerte capacité insuffisante en demande de groupe */
.mmb-group-capacity-warning{
  display:block;
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff3ed;
  border:1px solid rgba(143,47,36,.22);
  color:#8f2f24;
  font-weight:700;
  line-height:1.45;
}

/* v1.1.0 — demande de privatisation du domaine */
.mmb-privatization-box{
  margin:16px 0;
  padding:16px 18px;
  border:1px solid #eadbd5;
  border-radius:16px;
  background:#fff7f2;
  color:#57463d;
}
.mmb-privatization-choice{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 8px;
  font-weight:800;
  color:#8f3d2e;
  cursor:pointer;
}
.mmb-privatization-choice input{
  width:18px;
  height:18px;
  accent-color:#9b2f24;
}
.mmb-privatization-box p{
  margin:0;
  font-size:.95rem;
  line-height:1.55;
}
.mmb-group-privatization-info{
  margin:12px 0 16px;
  padding:14px 16px;
  border:1px solid #eadbd5;
  border-radius:14px;
  background:#fbf7f2;
  color:#57463d;
  line-height:1.55;
}
.mmb-group-privatization-info strong{
  color:#8f3d2e;
}


/* v1.1.8 — calendrier mobile plus stable + alertes plus légères dans le formulaire */
.mmb-booking-form .mmb-inline-alert,
.mmb-booking-flow .mmb-inline-alert,
.mmb-booking-form .mmb-rule-note,
.mmb-booking-flow .mmb-rule-note,
.mmb-booking-form .mmb-high-season-saturday-notice,
.mmb-booking-flow .mmb-high-season-saturday-notice,
.mmb-booking-form .mmb-min-stay-notice,
.mmb-booking-flow .mmb-min-stay-notice,
.mmb-booking-form .mmb-no-results,
.mmb-booking-flow .mmb-no-results,
.mmb-booking-form .mmb-group-capacity-warning,
.mmb-booking-flow .mmb-group-capacity-warning{
  grid-column:1/-1!important;
  margin:10px 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#8f3d2e!important;
  font-size:.93rem!important;
  line-height:1.55!important;
}
.mmb-booking-form .mmb-inline-alert strong,
.mmb-booking-flow .mmb-inline-alert strong,
.mmb-booking-form .mmb-rule-note strong,
.mmb-booking-flow .mmb-rule-note strong,
.mmb-booking-form .mmb-high-season-saturday-notice strong,
.mmb-booking-flow .mmb-high-season-saturday-notice strong,
.mmb-booking-form .mmb-min-stay-notice strong,
.mmb-booking-flow .mmb-min-stay-notice strong,
.mmb-booking-form .mmb-no-results strong,
.mmb-booking-flow .mmb-no-results strong{
  color:#8f3d2e!important;
  font-weight:800!important;
}
@media screen and (max-width:760px){
  .mmb-booking-form .mmb-floating-datepicker,
  .mmb-booking-flow .mmb-floating-datepicker{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:max(64px, env(safe-area-inset-top))!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - 84px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:2147483000!important;
  }
}

/* v1.2.3 - Séjours exceptionnels */
.mmb-exception-badge{display:inline-flex;align-items:center;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#e8f5ea;color:#1f5130;font-size:11px;font-weight:700;line-height:1.2}

/* v1.2.5 - Dates flexibles */
.mmb-flexible-dates{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0 0;
  color:#4f4540;
  font-size:.95rem;
  line-height:1.35;
}
.mmb-flexible-dates input{
  margin-top:2px;
  width:17px;
  height:17px;
  accent-color:#9b2f24;
}
.mmb-flexible-dates span{
  font-weight:700;
}
.mmb-flexible-dates small{
  display:block;
  margin-top:2px;
  color:#7a6a61;
  font-size:.84rem;
}
.mmb-flexible-results{
  grid-column:1/-1;
  margin:18px 0 2px;
  padding:14px 0 4px;
  border-top:1px solid #eadbd5;
  color:#4f4540;
}
.mmb-flexible-results h4{
  margin:0 0 4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  font-weight:400;
  color:#3d302b;
}
.mmb-flexible-results p{
  margin:0;
  color:#75665d;
  font-size:.9rem;
}
.mmb-flexible-badge{
  display:inline-flex;
  align-items:center;
  margin:0 0 8px;
  padding:5px 9px;
  border-radius:999px;
  background:#f8efe4;
  color:#8f3d2e;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
}
.mmb-flexible-card-dates{
  margin:0 0 8px!important;
  color:#8f3d2e!important;
  font-weight:700;
  font-size:.92rem;
}
.mmb-accommodation-card-alt{
  border-color:#ead0c8!important;
}

/* v1.2.6 - Présentation groupée des dates flexibles */
.mmb-flexible-stay{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:150px minmax(0,1fr) minmax(240px,.8fr);
  gap:18px;
  align-items:stretch;
  margin:14px 0;
  padding:16px;
  background:#fff;
  border:1px solid #eadbd5;
  border-radius:18px;
  box-shadow:0 8px 22px rgba(70,45,35,.04);
}
.mmb-flexible-stay-photo{
  width:150px;
  min-height:110px;
  border-radius:14px;
  overflow:hidden;
  background:#f4e8df;
}
.mmb-flexible-stay-photo img{
  width:100%;
  height:100%;
  min-height:110px;
  object-fit:cover;
  display:block;
}
.mmb-flexible-stay-main h4{
  margin:2px 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.18rem;
  line-height:1.2;
  color:#2f2521;
}
.mmb-flexible-stay-main p{
  margin:0 0 8px;
  color:#6b5a51;
}
.mmb-flexible-stay-more{
  display:inline-block;
  margin-top:4px;
  color:#8f3d2e;
  font-weight:700;
  font-size:.88rem;
  text-decoration:none;
}
.mmb-flexible-stay-more:hover{text-decoration:underline;}
.mmb-flexible-stay-dates{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding-left:16px;
  border-left:1px solid #eadbd5;
}
.mmb-flexible-stay-dates>p{
  margin:0;
  color:#8f3d2e;
  font-weight:800;
  font-size:.9rem;
}
.mmb-flexible-date-list{
  display:grid;
  gap:8px;
}
.mmb-flexible-date-option{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(143,61,46,.22);
  border-radius:12px;
  background:#fffaf4;
  color:#3d302b;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.mmb-flexible-date-option:hover{
  background:#f8efe9;
  border-color:#9b2f24;
  transform:translateY(-1px);
}
.mmb-flexible-date-option span{
  font-size:.9rem;
  line-height:1.25;
}
.mmb-flexible-date-option strong{
  white-space:nowrap;
  color:#8f3d2e;
  font-size:.95rem;
}
@media screen and (max-width:860px){
  .mmb-flexible-stay{
    grid-template-columns:110px minmax(0,1fr);
    gap:12px;
  }
  .mmb-flexible-stay-photo{width:110px;min-height:90px;}
  .mmb-flexible-stay-photo img{min-height:90px;}
  .mmb-flexible-stay-dates{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid #eadbd5;
    padding-left:0;
    padding-top:12px;
  }
}
@media screen and (max-width:560px){
  .mmb-flexible-stay{
    grid-template-columns:1fr;
  }
  .mmb-flexible-stay-photo{
    width:100%;
    min-height:150px;
  }
  .mmb-flexible-stay-photo img{min-height:150px;}
  .mmb-flexible-date-option{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* v1.2.7 - Info haute saison en infobulle non bloquante */
.mmb-booking-form .mmb-season-tooltip,
.mmb-booking-flow .mmb-season-tooltip{
  grid-column:1/-1;
  position:relative;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:6px 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#6f5a51!important;
  font-size:.9rem!important;
  line-height:1.4!important;
}
.mmb-season-tooltip-trigger{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:#8f3d2e;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  cursor:help;
}
.mmb-season-tooltip-trigger span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fbf2ed;
  color:#8f3d2e;
  font-size:13px;
  line-height:1;
}
.mmb-season-tooltip-text{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  z-index:50;
  width:min(360px, calc(100vw - 44px));
  padding:10px 12px;
  border:1px solid rgba(159,61,47,.18);
  border-radius:12px;
  background:#fffdf9;
  color:#4f4540;
  box-shadow:0 12px 28px rgba(48,35,30,.14);
  font-size:.88rem;
  line-height:1.45;
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  pointer-events:none;
}
.mmb-season-tooltip:hover .mmb-season-tooltip-text,
.mmb-season-tooltip:focus-within .mmb-season-tooltip-text{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
@media screen and (max-width:760px){
  .mmb-booking-form .mmb-season-tooltip,
  .mmb-booking-flow .mmb-season-tooltip{
    display:flex;
    width:100%;
    margin:4px 0 10px!important;
    font-size:.86rem!important;
  }
  .mmb-season-tooltip-text{
    left:0;
    right:auto;
    width:calc(100vw - 56px);
    max-width:340px;
  }
}

/* v1.2.9 - Planning propriétaire front */
.mmb-owner-portal{max-width:1180px;margin:0 auto;}
.mmb-owner-header{text-align:center;margin-bottom:18px;}
.mmb-owner-logo{max-width:240px;max-height:90px;object-fit:contain;margin:0 auto 10px;display:block;}
.mmb-owner-brand{font-family:Georgia,serif;font-size:1.55rem;color:#9f3d2f;margin-bottom:8px;}
.mmb-owner-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 22px;}
.mmb-owner-tabs a,.mmb-owner-small-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(80,52,42,.18);background:#fff;color:#5a463d;text-decoration:none;border-radius:999px;padding:9px 14px;font-size:.9rem;cursor:pointer;}
.mmb-owner-tabs a:hover,.mmb-owner-small-button:hover{background:#fff7ef;color:#8f3d2e;}
.mmb-owner-global-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 14px;}
.mmb-owner-month-form{display:inline-flex;gap:8px;align-items:center;}
.mmb-owner-month-form input{padding:9px 12px;border:1px solid rgba(80,52,42,.18);border-radius:999px;background:#fff;}
.mmb-owner-legend{border-color:rgba(80,52,42,.12);background:#fffaf4;}
.mmb-owner-add-reservation{margin-top:22px;}
.mmb-owner-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.mmb-owner-reservation-form label{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:#4f4540;font-weight:600;}
.mmb-owner-reservation-form input,.mmb-owner-reservation-form select,.mmb-owner-reservation-form textarea{width:100%;padding:12px;border:1px solid rgba(80,52,42,.20);border-radius:12px;background:#fff;color:#2f2723;font:inherit;box-sizing:border-box;}
.mmb-owner-options{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;padding:14px;border:1px solid rgba(80,52,42,.14);border-radius:14px;background:#fffdf9;}
.mmb-owner-options legend{font-weight:700;color:#8f3d2e;padding:0 6px;}
.mmb-owner-options label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-weight:500;}
.mmb-owner-options input[type=checkbox]{width:auto;}
.mmb-owner-price-box{margin:14px 0;padding:14px 16px;border-radius:14px;background:#f2f8f0;border:1px solid #cfe5c9;color:#284e2a;}
.mmb-owner-manual-price{margin:14px 0;}
.mmb-owner-res-cards{display:grid;gap:12px;}
.mmb-owner-res-card{padding:16px;border:1px solid rgba(80,52,42,.14);border-radius:16px;background:#fffdf9;scroll-margin-top:120px;}
.mmb-owner-res-card:target{outline:3px solid rgba(159,61,47,.25);}
.mmb-owner-res-card>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;}
.mmb-owner-res-card>div:first-child span{border-radius:999px;padding:4px 9px;background:#fff1d6;color:#8a5800;font-size:.82rem;font-weight:700;}
.mmb-owner-res-confirmed>div:first-child span{background:#ddf5e6;color:#176437;}
.mmb-owner-res-contact{font-size:.9rem;color:#6f5a51;word-break:break-word;}
@media(max-width:760px){.mmb-owner-form-grid{grid-template-columns:1fr}.mmb-owner-global-toolbar{display:grid;grid-template-columns:1fr}.mmb-owner-global-toolbar a,.mmb-owner-month-form,.mmb-owner-month-form button{width:100%}.mmb-owner-tabs{justify-content:stretch}.mmb-owner-tabs a{flex:1 1 100%}}

/* v1.2.9 - Info haute saison plus douce en vert */
.mmb-season-tooltip-trigger{color:#2f7d4a!important;}
.mmb-season-tooltip-trigger span{background:#e8f5ea!important;color:#2f7d4a!important;}
.mmb-season-tooltip-text{border-color:rgba(47,125,74,.22)!important;background:#fbfffb!important;color:#31523b!important;}

/* Planning propriétaire - v1.3.0 : calendrier contenu + légende détaillée */
.mmb-owner-portal,
.mmb-owner-portal *{
  box-sizing:border-box;
}
.mmb-owner-portal{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.mmb-owner-portal .mmb-owner-card,
.mmb-owner-portal .mmb-owner-calendar-global{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.mmb-owner-portal .mmb-global-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(80,52,42,.14);
  border-radius:14px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.mmb-owner-portal .mmb-global-calendar-table{
  width:max-content;
  min-width:960px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
  width:190px;
  min-width:190px;
  max-width:190px;
  white-space:normal;
}
.mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
.mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
  width:34px;
  min-width:34px;
  max-width:34px;
}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy span{
  height:34px;
  font-size:10px;
  letter-spacing:.01em;
  overflow:hidden;
  white-space:nowrap;
}
.mmb-owner-portal .mmb-owner-legend{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
  padding:12px;
  margin:14px 0 18px;
  border-radius:14px;
  background:#fffaf4;
  border:1px solid rgba(80,52,42,.12);
}
.mmb-owner-portal .mmb-owner-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1.25;
  color:#4f4540;
}
.mmb-gc-source-airbnb{background:#ff5a5f!important;}
.mmb-gc-source-abritel{background:#1f7a8c!important;}
.mmb-gc-source-gdf{background:#78a22f!important;}
.mmb-gc-source-booking{background:#003b95!important;}
.mmb-owner-portal .mmb-global-month-title{
  margin:24px 0 10px;
  padding-top:2px;
  font-family:Georgia,"Times New Roman",serif;
  color:#3d302b;
}
.mmb-owner-portal .mmb-owner-help{
  background:#f8f5ef;
  border-left:3px solid #7b9b6f;
  padding:10px 12px;
  border-radius:10px;
}
@media(max-width:760px){
  .mmb-owner-portal .mmb-global-calendar-table{
    min-width:860px;
  }
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
    width:150px;
    min-width:150px;
    max-width:150px;
  }
  .mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
  .mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
    width:30px;
    min-width:30px;
    max-width:30px;
  }
  .mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a,
  .mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy span{
    font-size:9px;
  }
}

/* Planning propriétaire - v1.3.1 : lisibilité des titres/dates + couleurs sources */
.mmb-owner-portal .mmb-global-calendar-table th,
.mmb-owner-portal .mmb-global-calendar-table td{
  vertical-align:middle;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
  width:220px;
  min-width:220px;
  max-width:220px;
  padding:10px 12px;
  line-height:1.25;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation strong,
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation small{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation small{
  margin-top:4px;
  font-family:Verdana, Geneva, sans-serif;
  font-size:11px;
  font-weight:600;
  color:#8f6f62;
}
.mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
.mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
  width:42px;
  min-width:42px;
  max-width:42px;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation){
  height:46px;
  padding:4px 2px;
  text-align:center;
  white-space:normal;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) span,
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) small{
  display:block;
  line-height:1.05;
  white-space:nowrap;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) span{
  font-size:13px;
  font-weight:800;
  color:#3d302b;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) small{
  margin-top:3px;
  font-family:Verdana, Geneva, sans-serif;
  font-size:9px;
  font-weight:600;
  color:#7a6b64;
  text-transform:lowercase;
}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:34px;
  border-radius:6px;
  text-decoration:none;
  color:inherit;
  font-weight:700;
}
.mmb-gc-status-payment-pending{background:#f6e9cf!important;color:#805100!important;}
.mmb-gc-source-abritel{background:#1f7a8c!important;color:#fff!important;}
.mmb-gc-source-booking{background:#003b95!important;color:#fff!important;}
.mmb-gc-source-airbnb{color:#fff!important;}
.mmb-gc-source-gdf{color:#fff!important;}
.mmb-owner-res-payment_pending>div:first-child span{background:#f6e9cf;color:#805100;}
.mmb-owner-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px;}
.mmb-owner-readonly-detail{background:#fffdf9;border:1px solid rgba(80,52,42,.14);border-radius:14px;padding:14px 16px;}
.mmb-owner-detail-form{margin-top:8px;}
@media(max-width:760px){
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{width:170px;min-width:170px;max-width:170px;}
  .mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
  .mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){width:38px;min-width:38px;max-width:38px;}
}

/* Planning propriétaire - v1.3.2 : simplification + légende visible */
.mmb-owner-portal .mmb-owner-tabs a[href="#mmb-owner-list"],
.mmb-owner-portal .mmb-owner-reservation-list{
  display:none!important;
}
.mmb-owner-portal .mmb-owner-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}
.mmb-owner-portal .mmb-owner-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.mmb-owner-portal .mmb-owner-legend .mmb-gc-dot{
  display:inline-block;
  width:14px;
  height:14px;
  min-width:14px;
  border-radius:999px;
  border:1px solid rgba(80,52,42,.18);
  box-shadow:0 0 0 1px rgba(255,255,255,.45) inset;
}
.mmb-owner-portal .mmb-gc-status-pending,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-pending{background:#d9952f!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-confirmed,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-confirmed{background:#2f7d4a!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-manual,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-manual{background:#7f5539!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-external,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-external{background:#6b7280!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-privatization,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-privatization{background:#8f3f70!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-exception,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-exception{background:#4f8f5a!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-payment-pending,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-payment-pending{background:#f6e9cf!important;color:#805100!important;}
.mmb-owner-portal .mmb-gc-source-airbnb,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-airbnb{background:#ff5a5f!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-source-abritel,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-abritel{background:#2f91a3!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-source-gdf,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-gdf{background:#78a22f!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-source-booking,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-booking{background:#003b95!important;color:#fff!important;}
.mmb-owner-portal .mmb-owner-detail-head .mmb-owner-small-button[href*="mmb_front_contract"],
.mmb-owner-portal .mmb-owner-detail-form .mmb-owner-small-button[href*="mmb_front_contract"]{
  background:#9f3d2f;
  color:#fff!important;
  border-color:#9f3d2f;
  font-weight:700;
}

/* Planning propriétaire - v1.3.3 : lisibilité + alerte conflit avant enregistrement */
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation strong,
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation small{
  display:block!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
.mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation){
  height:54px!important;
  line-height:1.05!important;
}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) span{font-size:14px!important;}
.mmb-owner-portal .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) small{font-size:10px!important;}
.mmb-owner-conflict-box{
  margin:12px 0;
  padding:12px 14px;
  border-radius:14px;
  background:#fff1e8;
  border:1px solid #e7b8a0;
  color:#8a2f22;
  font-weight:700;
  line-height:1.45;
}
.mmb-owner-portal .mmb-gc-source-abritel,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-abritel{
  background:#3aa6b8!important;
  color:#fff!important;
}
@media(max-width:760px){
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{width:190px!important;min-width:190px!important;max-width:190px!important;}
  .mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
  .mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){width:44px!important;min-width:44px!important;max-width:44px!important;}
}

/* v1.3.4 - Ajout réservation propriétaire en plusieurs étapes */
.mmb-owner-add-page{max-width:920px;margin:22px auto;}
.mmb-owner-wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 22px;padding:0;list-style:none;counter-reset:none;}
.mmb-owner-wizard-steps li{padding:10px 12px;border:1px solid rgba(80,52,42,.16);border-radius:999px;background:#fff;color:#6f5a51;text-align:center;font-size:.9rem;font-weight:700;}
.mmb-owner-wizard-steps li.is-active{background:#9f3d2f;color:#fff;border-color:#9f3d2f;}
.mmb-owner-wizard-steps li.is-done{background:#eef7ec;color:#2f6f39;border-color:#cfe5c9;}
.mmb-owner-wizard-step{padding:18px;border:1px solid rgba(80,52,42,.12);border-radius:18px;background:#fffdf9;margin-top:12px;}
.mmb-owner-wizard-step h4{margin:0 0 16px;font-family:Georgia,serif;font-size:1.25rem;color:#3d302b;}
.mmb-owner-rule-box{margin:14px 0;padding:14px 16px;border-radius:14px;background:#fff7e8;border:1px solid #f0d19a;color:#7a4a00;font-weight:600;}
.mmb-owner-conflict-box{margin:14px 0;padding:14px 16px;border-radius:14px;background:#fff0f0;border:1px solid #efb4b4;color:#8d2424;font-weight:700;}
.mmb-owner-override{margin:12px 0;padding:12px 14px;border-radius:14px;background:#fff;border:1px dashed rgba(122,74,0,.35);display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center;font-weight:700!important;color:#6f4b16!important;}
.mmb-owner-override[hidden]{display:none!important;}
.mmb-owner-override input{width:auto!important;}
.mmb-owner-summary{background:#fff;border:1px solid rgba(80,52,42,.13);border-radius:16px;padding:16px;margin:10px 0 14px;}
.mmb-owner-summary-list{display:grid;gap:12px;margin:0;}
.mmb-owner-summary-list div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(80,52,42,.10);}
.mmb-owner-summary-list div:last-child{border-bottom:0;padding-bottom:0;}
.mmb-owner-summary-list dt{font-weight:800;color:#8f3d2e;}
.mmb-owner-summary-list dd{margin:0;color:#3d302b;}
@media(max-width:760px){.mmb-owner-wizard-steps{grid-template-columns:1fr 1fr}.mmb-owner-summary-list div{grid-template-columns:1fr}.mmb-owner-wizard-step{padding:14px}}


/* v1.3.5 - étape finale en récapitulatif + tooltips planning */
.mmb-owner-confirmation-summary{margin-top:8px;}
.mmb-owner-confirmation-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0;}
.mmb-owner-summary-list dd{word-break:break-word;}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy{cursor:help;}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a{cursor:pointer;}
.mmb-owner-wizard-step{scroll-margin-top:110px;}

/* v1.3.7 - infobulle propriétaire au survol des réservations */
.mmb-owner-hover-tooltip{
  position:fixed;
  z-index:999999;
  max-width:min(360px, calc(100vw - 24px));
  padding:12px 14px;
  border-radius:12px;
  background:#2f2723;
  color:#fff;
  box-shadow:0 14px 36px rgba(0,0,0,.24);
  font-family:Verdana, Geneva, sans-serif;
  font-size:12px;
  line-height:1.45;
  white-space:pre-line;
  pointer-events:none;
  text-align:left;
}
.mmb-owner-hover-tooltip[hidden]{display:none!important;}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy span{
  position:relative;
}

/* v1.3.9 - Ajout privatisation propriétaire */
.mmb-owner-priv-section{margin:16px 0;padding:14px 16px;border:1px solid rgba(80,52,42,.12);border-radius:16px;background:#fff;}
.mmb-owner-priv-section h5{margin:0 0 10px;font-family:Georgia,serif;font-size:1.05rem;color:#3d302b;}
.mmb-owner-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;}
.mmb-owner-checkbox-grid label,.mmb-owner-option-price-row label{display:flex!important;gap:8px!important;align-items:center!important;font-weight:700!important;color:#4b403b!important;}
.mmb-owner-checkbox-grid input[type="checkbox"],.mmb-owner-option-price-row input[type="checkbox"]{width:auto!important;}
.mmb-owner-option-price-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(80,52,42,.08);}
.mmb-owner-option-price-row:last-child{border-bottom:0;}
.mmb-owner-priv-total{margin-top:16px;background:#f3fbf3;border-color:#cce7cc;color:#275c33;}
@media(max-width:760px){.mmb-owner-checkbox-grid{grid-template-columns:1fr}.mmb-owner-option-price-row{grid-template-columns:1fr}}


/* v1.4.4 - options propriétaire : on masque totalement les options non concernées */
.mmb-owner-options[hidden],
.mmb-owner-options:not(.is-active) {
  display: none !important;
}

/* v1.4.5 - Options contextuelles propriétaire */
.mmb-owner-reservation-form .mmb-owner-options[hidden],
.mmb-owner-reservation-form .mmb-owner-options[aria-hidden="true"] {
  display: none !important;
}


.mmb-owner-price-breakdown{margin:10px 0 0 0;padding-left:18px;font-size:13px;line-height:1.45;color:#355f35;}
.mmb-owner-price-breakdown li{margin:2px 0;}
.mmb-owner-summary-list .mmb-owner-price-breakdown{color:#4a3a34;}

/* Owner form: dates on one line */
.mmb-owner-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1 / -1;}
.mmb-owner-date-row label{display:block;}
@media(max-width:760px){.mmb-owner-date-row{grid-template-columns:1fr;}}

/* v1.5.2 - formulaire propriétaire type site */
.mmb-owner-multi-flow .mmb-owner-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1/-1;}
.mmb-owner-available-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0;}
.mmb-owner-available-card{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid rgba(80,52,42,.16);border-radius:16px;background:#fff;cursor:pointer;}
.mmb-owner-available-card:hover{border-color:#9f3d2f;box-shadow:0 8px 18px rgba(80,52,42,.08);}
.mmb-owner-available-card input{margin-top:4px;}
.mmb-owner-available-card small{color:#6f5a51;}
.mmb-owner-available-card em{display:block;margin-top:5px;color:#9f3d2f;font-style:normal;font-size:.9em;}
.mmb-owner-unavailable{margin-top:12px;color:#6f5a51;}
.mmb-owner-unavailable summary{cursor:pointer;font-weight:700;}
@media(max-width:640px){.mmb-owner-multi-flow .mmb-owner-date-row{grid-template-columns:1fr;}}

.mmb-owner-available-card{position:relative;}
.mmb-owner-available-media{flex:0 0 auto;display:block;}
.mmb-owner-available-thumb{display:block;width:88px;height:66px;object-fit:cover;border-radius:10px;border:1px solid rgba(80,52,42,.12);background:#f5f1ee;}
.mmb-owner-available-content{display:block;min-width:0;flex:1 1 auto;}
.mmb-owner-available-content strong{display:block;margin-bottom:2px;}


/* v1.5.4 - Titres des mois sticky pendant le scroll du planning */
.mmb-owner-portal .mmb-global-month-title{
  position:sticky;
  top:0;
  z-index:30;
  background:#fffaf4;
  border:1px solid rgba(80,52,42,.12);
  border-radius:12px;
  padding:10px 14px;
  box-shadow:0 8px 18px rgba(80,52,42,.08);
}
.mmb-owner-portal .mmb-global-scroll{
  scroll-margin-top:72px;
}

/* v1.5.5 - vrai mois sticky en haut de page pendant le scroll */
.mmb-floating-month-title{
  position:fixed;
  z-index:99999;
  box-sizing:border-box;
  background:#fffaf4;
  color:#3d302b;
  border:1px solid rgba(80,52,42,.14);
  border-radius:0 0 12px 12px;
  padding:10px 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  box-shadow:0 8px 18px rgba(80,52,42,.10);
  pointer-events:none;
}
.mmb-floating-month-title[hidden]{display:none!important;}

/* v1.5.6 - noms des hébergements sticky à gauche pendant le scroll horizontal */
.mmb-owner-portal .mmb-global-scroll{
  position:relative;
}
.mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
  position:-webkit-sticky!important;
  position:sticky!important;
  left:0!important;
  z-index:35!important;
  background:#fffdf9!important;
  box-shadow:4px 0 8px rgba(80,52,42,.10), 1px 0 0 rgba(80,52,42,.16)!important;
}
.mmb-owner-portal .mmb-global-calendar-table thead .mmb-gc-accommodation{
  z-index:50!important;
  background:#fffaf4!important;
}
.mmb-owner-portal .mmb-global-calendar-table tbody .mmb-gc-accommodation{
  z-index:36!important;
}
.mmb-owner-portal .mmb-global-calendar-table tbody tr:hover .mmb-gc-accommodation{
  background:#fff8f0!important;
}


/* v1.5.7 - colonne hébergements plus étroite sur mobile */
@media(max-width:760px){
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    padding:7px 6px!important;
    font-size:11px!important;
    line-height:1.15!important;
  }
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation strong{
    font-size:11px!important;
    line-height:1.15!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation small{
    display:none!important;
  }
  .mmb-owner-portal .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
  .mmb-owner-portal .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
  }
}
@media(max-width:420px){
  .mmb-owner-portal .mmb-global-calendar-table .mmb-gc-accommodation{
    width:98px!important;
    min-width:98px!important;
    max-width:98px!important;
    padding:6px 5px!important;
  }
}


/* v1.6.2 - Fiche réservation latérale */
.mmb-reservation-drawer{position:fixed;inset:0;z-index:999999;pointer-events:none;visibility:hidden;}
.mmb-reservation-drawer.is-open{pointer-events:auto;visibility:visible;}
.mmb-reservation-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(25,18,15,.48);opacity:0;transition:opacity .2s ease;cursor:pointer;}
.mmb-reservation-drawer.is-open .mmb-reservation-drawer-backdrop{opacity:1;}
.mmb-reservation-drawer-panel{position:absolute;top:0;right:0;width:min(620px,94vw);height:100%;background:#fffaf6;box-shadow:-14px 0 36px rgba(38,24,18,.2);transform:translateX(102%);transition:transform .24s ease;display:flex;flex-direction:column;overflow:hidden;}
.mmb-reservation-drawer.is-open .mmb-reservation-drawer-panel{transform:translateX(0);}
.mmb-reservation-drawer-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(80,52,42,.15);background:#fff;flex:0 0 auto;}
.mmb-reservation-drawer-topbar strong{font-size:1.05rem;color:#3b2d27;}
.mmb-reservation-drawer-close{width:40px;height:40px;border:0;border-radius:50%;background:#f3e9e3;color:#3b2d27;font-size:28px;line-height:1;cursor:pointer;}
.mmb-reservation-drawer-content{padding:18px;overflow:auto;overscroll-behavior:contain;flex:1 1 auto;}
.mmb-reservation-drawer-content .mmb-owner-detail-head{margin-top:0;}
.mmb-reservation-drawer-content .mmb-owner-card{box-shadow:none;}
.mmb-reservation-drawer-content .mmb-owner-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.mmb-drawer-loading{padding:30px;text-align:center;color:#6f5a51;}
html.mmb-drawer-open,body.mmb-drawer-open{overflow:hidden!important;}
@media(max-width:680px){
  .mmb-reservation-drawer-panel{width:100vw;}
  .mmb-reservation-drawer-content{padding:14px;}
  .mmb-reservation-drawer-content .mmb-owner-form-grid{grid-template-columns:1fr;}
}

/* v1.6.3 - retour d’enregistrement dans la fiche latérale */
.mmb-drawer-feedback{margin:0 0 16px;padding:12px 14px;border-radius:10px;font-weight:600;line-height:1.4;}
.mmb-drawer-feedback.is-success{background:#edf8ef;border:1px solid #add8b5;color:#245c31;}
.mmb-drawer-feedback.is-error{background:#fff1ef;border:1px solid #e2aaa1;color:#8d2f25;}

/* v1.8.0 - dashboard propriétaire */
.mmb-owner-dashboard{margin:18px 0 22px;padding:22px;border:1px solid rgba(91,65,53,.13);background:linear-gradient(145deg,#fffdf9,#fff8f2);box-shadow:0 12px 32px rgba(70,45,34,.08)}
.mmb-dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.mmb-dashboard-heading h3{margin:2px 0 0;font-size:clamp(1.2rem,2vw,1.65rem);color:#352720}
.mmb-dashboard-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#a24e3d}
.mmb-dashboard-live{padding:7px 10px;border-radius:999px;background:#edf7ef;color:#2f6a3b;font-size:.76rem;font-weight:700;white-space:nowrap}
.mmb-dashboard-kpis{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px}
.mmb-dashboard-kpi{min-height:112px;padding:14px;border:1px solid rgba(91,65,53,.11);background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 16px rgba(70,45,34,.05)}
.mmb-dashboard-kpi span{font-size:.78rem;font-weight:700;color:#756159}
.mmb-dashboard-kpi strong{margin:5px 0 2px;font-size:1.65rem;line-height:1;color:#3b2b24}
.mmb-dashboard-kpi small{font-size:.72rem;color:#917d74}
.mmb-dashboard-kpi.is-alert{background:#fff7e9;border-color:#efd39f}
.mmb-dashboard-kpi.is-alert strong{color:#a45f11}
.mmb-dashboard-kpi.is-money{background:#f0f8f1;border-color:#bfddc4}
.mmb-dashboard-kpi.is-money strong{font-size:1.25rem;color:#2e6738}
.mmb-dashboard-agenda{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.mmb-dashboard-agenda>article{padding:15px;background:rgba(255,255,255,.82);border:1px solid rgba(91,65,53,.11)}
.mmb-dashboard-agenda h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#49362e;font-size:.95rem}
.mmb-dashboard-agenda h4 span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1e4dc;color:#8a4637}
.mmb-dashboard-mini-list{display:flex;flex-direction:column;gap:7px}
.mmb-dashboard-mini-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 8px;padding:9px 10px;border-radius:8px;background:#fff8f3;text-decoration:none!important;color:#46342c!important;transition:transform .15s ease,box-shadow .15s ease}
.mmb-dashboard-mini-item:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(70,45,34,.09)}
.mmb-dashboard-mini-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mmb-dashboard-mini-item span{grid-column:1;font-size:.76rem;color:#826c62;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mmb-dashboard-mini-item small{grid-column:2;grid-row:1/3;align-self:center;color:#9b4e3e;font-weight:700}
.mmb-dashboard-empty{margin:0;color:#927e75;font-size:.83rem;font-style:italic}
.mmb-dashboard-more{display:block;margin-top:4px;color:#887269}
@media(max-width:1180px){.mmb-dashboard-kpis{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:780px){.mmb-owner-dashboard{padding:15px}.mmb-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mmb-dashboard-agenda{grid-template-columns:1fr}.mmb-dashboard-heading{align-items:center}.mmb-dashboard-live{display:none}}
@media(max-width:420px){.mmb-dashboard-kpi{min-height:98px;padding:11px}.mmb-dashboard-kpi strong{font-size:1.4rem}}


/* v1.8.3 — planning plus lisible : maison pour le site, couleurs plateformes */
.mmb-owner-portal .mmb-owner-intro{
  max-width:980px;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Les réservations directes conservent une couleur de statut et portent la maison. */
.mmb-owner-portal .mmb-gc-status-payment-pending,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-payment-pending{
  background:#c84b42!important;
  color:#fff!important;
}
.mmb-owner-portal .mmb-gc-status-pending,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-pending{
  background:#d89a2b!important;
  color:#fff!important;
}
.mmb-owner-portal .mmb-gc-status-confirmed,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-confirmed{
  background:#39865a!important;
  color:#fff!important;
}
.mmb-owner-portal .mmb-gc-status-manual,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-manual{
  background:#a4543f!important;
  color:#fff!important;
}

/* Couleurs de plateformes volontairement très distinctes. */
.mmb-owner-portal .mmb-gc-source-airbnb,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-airbnb{
  background:#ff5a5f!important;
  color:#fff!important;
}
.mmb-owner-portal .mmb-gc-source-abritel,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-abritel{
  background:#6546b8!important;
  color:#fff!important;
}
.mmb-owner-portal .mmb-gc-source-gdf,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-source-gdf{
  background:#30343b!important;
  color:#fff!important;
}

/* La maison est visible dans les pastilles de légende, sans déformer les ronds. */
.mmb-owner-portal .mmb-owner-legend .mmb-gc-house-dot,
.mmb-global-legend .mmb-gc-house-dot{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  border-radius:7px!important;
  font-size:12px;
  line-height:1;
  font-style:normal;
}

/* Icône maison suffisamment grande dans les cases du planning. */
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-busy span{
  font-size:16px;
  line-height:1;
}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-airbnb a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-abritel a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-gdf a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-booking a,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-airbnb span,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-abritel span,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-gdf span,
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-source-booking span{
  font-size:11px;
  letter-spacing:.02em;
}

/* v1.9.0 — dashboard navigable jour par jour */
.mmb-dashboard-date-nav{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:14px;margin-bottom:20px}
.mmb-dashboard-date-center{text-align:center}
.mmb-dashboard-date-center h3{margin:3px 0 8px;font-size:clamp(1.25rem,2.4vw,1.85rem);color:#352720}
.mmb-dashboard-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(91,65,53,.18);border-radius:50%;background:#fff;color:#8d4436!important;text-decoration:none!important;font-size:34px;line-height:1;box-shadow:0 5px 14px rgba(70,45,34,.07);transition:transform .15s ease,box-shadow .15s ease}
.mmb-dashboard-arrow:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(70,45,34,.12)}
.mmb-dashboard-date-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.mmb-dashboard-date-actions>a{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#a34131;color:#fff!important;text-decoration:none!important;font-size:.8rem;font-weight:700}
.mmb-dashboard-date-form{margin:0}
.mmb-dashboard-date-form input[type=date]{min-height:34px;padding:5px 9px;border:1px solid rgba(91,65,53,.2);border-radius:999px;background:#fff;color:#4d3931;font:inherit;font-size:.8rem}
.mmb-dashboard-kpis-daily{grid-template-columns:repeat(5,minmax(120px,1fr))}
.mmb-dashboard-kpi.is-free{background:#eff8f1;border-color:#bedcc5}
.mmb-dashboard-kpi.is-free strong{color:#2d6b3a}
.mmb-dashboard-agenda-daily{grid-template-columns:repeat(5,minmax(0,1fr))}
.mmb-dashboard-name-chips{display:flex;flex-wrap:wrap;gap:7px}
.mmb-dashboard-name-chips span{display:inline-flex;align-items:center;padding:7px 9px;border-radius:999px;background:#fff8f3;border:1px solid rgba(91,65,53,.1);font-size:.78rem;color:#5d473e}
@media(max-width:1280px){.mmb-dashboard-kpis-daily{grid-template-columns:repeat(3,minmax(120px,1fr))}.mmb-dashboard-agenda-daily{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.mmb-dashboard-date-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.mmb-dashboard-arrow{width:42px;height:42px}.mmb-dashboard-kpis-daily{grid-template-columns:repeat(2,minmax(0,1fr))}.mmb-dashboard-agenda-daily{grid-template-columns:1fr}}
@media(max-width:420px){.mmb-dashboard-date-nav{grid-template-columns:38px minmax(0,1fr) 38px}.mmb-dashboard-arrow{width:36px;height:36px;font-size:28px}.mmb-dashboard-date-form input[type=date]{max-width:145px}}


/* v1.9.2 - Répartition adultes / enfants dans le dashboard */
.mmb-dashboard-kpi-guests .mmb-dashboard-guest-split{
  display:block;
  margin-top:4px;
  line-height:1.35;
  white-space:normal;
}
.mmb-dashboard-kpi-guests .mmb-dashboard-guest-split b{font-weight:700;}


/* v1.9.3 — formulaire public : dates, adultes et enfants alignés */
.mmb-booking-flow .mmb-step-search .mmb-search-grid{
  grid-template-columns:minmax(180px,1.15fr) minmax(180px,1.15fr) minmax(145px,.7fr) minmax(145px,.7fr)!important;
  gap:14px;
  align-items:end;
}
.mmb-booking-flow .mmb-step-search .mmb-search-grid > label{
  min-width:0;
  margin:0;
}
.mmb-booking-flow .mmb-step-search .mmb-search-grid > label > input,
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper{
  height:52px;
  min-height:52px;
  margin-top:6px;
  border:1px solid #ddd0c9;
  border-radius:12px;
  background:#fff;
  box-sizing:border-box;
}
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper input{
  height:50px;
  min-height:50px;
  padding:0 8px!important;
  font:inherit;
  font-size:16px;
  background:#fff;
}
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper button{
  width:52px;
  min-width:52px;
  height:50px;
  min-height:50px;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff7f4;
  color:#9b2f24;
  font:inherit;
  font-size:24px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
}
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper button:first-child{border-right:1px solid #edd9d1;}
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper button:last-child{border-left:1px solid #edd9d1;}
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper button:hover{background:#f5e6dd;}
@media(max-width:900px){
  .mmb-booking-flow .mmb-step-search .mmb-search-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:520px){
  .mmb-booking-flow .mmb-step-search .mmb-search-grid{
    grid-template-columns:1fr!important;
  }
}

/* v1.9.4 — réglage validé pour les boutons Adultes / Enfants */
.mmb-booking-flow .mmb-step-search .mmb-guests-stepper button{
    width: 24px;
    min-width: 31px;
    height: 50px;
    min-height: 50px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff7f4;
    color: #9b2f24;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

.mmb-owner-tabs a.is-active{
    background:#9b2f24;
    color:#fff;
    border-color:#9b2f24;
}
.mmb-owner-statistics{margin-top:20px;}
.mmb-statistics-header{
    display:grid;
    grid-template-columns:auto minmax(220px,1fr) auto;
    gap:18px;
    align-items:center;
    text-align:center;
    margin-bottom:22px;
}
.mmb-statistics-header h3{margin:4px 0 10px;}
.mmb-statistics-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
.mmb-dashboard-payment-split{
    display:block;
    margin-top:5px;
    line-height:1.35;
}
@media (max-width:680px){
    .mmb-statistics-kpis{grid-template-columns:1fr;}
    .mmb-statistics-header{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;}
}

/* Statistiques v1.9.5 : vue synthétique sur six mois */
.mmb-statistics-header-six{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    text-align:left;
}
.mmb-statistics-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.mmb-statistics-toolbar form{display:flex;align-items:center;gap:8px;margin:0;}
.mmb-statistics-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;}
.mmb-stat-variation{display:block;margin-top:5px;font-weight:700;}
.mmb-stat-variation.is-up{color:#277a45;}
.mmb-stat-variation.is-down{color:#a43a31;}
.mmb-statistics-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.mmb-statistics-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #eadfd9;border-radius:0;overflow:hidden;}
.mmb-statistics-table th,.mmb-statistics-table td{padding:13px 12px;border-right:1px solid #eee4df;border-bottom:1px solid #eee4df;text-align:center;vertical-align:middle;}
.mmb-statistics-table tr:last-child th,.mmb-statistics-table tr:last-child td{border-bottom:0;}
.mmb-statistics-table th:last-child,.mmb-statistics-table td:last-child{border-right:0;}
.mmb-statistics-table thead th{background:#fff7f4;color:#713126;font-size:13px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;}
.mmb-statistics-table tbody th{text-align:left;background:#fcfaf9;color:#4c332e;white-space:nowrap;}
.mmb-statistics-table td small{display:block;margin-top:3px;color:#7c6a65;font-size:11px;}
.mmb-statistics-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:20px;margin-top:22px;}
.mmb-statistics-panel{border:1px solid #eadfd9;background:#fff;padding:18px;}
.mmb-statistics-panel h4{margin:0 0 15px;color:#4d302a;}
.mmb-statistics-table-compact{min-width:650px;}
.mmb-statistics-sources{display:grid;gap:14px;}
.mmb-statistics-sources>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;}
.mmb-statistics-sources span{font-weight:600;color:#4d3b37;}
.mmb-statistics-sources strong{color:#79372d;}
.mmb-statistics-sources strong small{font-weight:500;color:#7c6a65;}
.mmb-statistics-sources i{grid-column:1/-1;display:block;height:7px;background:#f0e7e3;overflow:hidden;}
.mmb-statistics-sources i b{display:block;height:100%;background:#9b2f24;}
@media (max-width:980px){
    .mmb-statistics-header-six{align-items:flex-start;flex-direction:column;}
    .mmb-statistics-toolbar{justify-content:flex-start;}
    .mmb-statistics-summary{grid-template-columns:1fr;}
    .mmb-statistics-columns{grid-template-columns:1fr;}
}
@media (max-width:680px){
    .mmb-statistics-toolbar,.mmb-statistics-toolbar form{width:100%;}
    .mmb-statistics-toolbar .mmb-owner-small-button{flex:1 1 auto;text-align:center;}
    .mmb-statistics-toolbar input[type="month"]{width:100%;}
}


/* v1.9.7 — demande exceptionnelle d'une nuit hors saison */
.mmb-booking-flow .mmb-short-stay-warning{
  margin:10px 0 12px;
  padding:10px 12px;
  border:1px solid #e8cfc5;
  border-radius:8px;
  background:#fff7f4;
  color:#6f352d;
  font-size:13px;
  line-height:1.45;
}
.mmb-booking-flow .mmb-short-stay-warning strong{
  color:#9b2f24;
}

/* v2.0.0 — Centre de commande du Domaine */
.mmb-command-center{padding:0!important;border:0!important;background:#f6f4f1!important;box-shadow:0 18px 55px rgba(45,34,27,.12)!important;overflow:visible;border-radius:18px}
.mmb-command-topbar{position:relative;z-index:30;display:grid;grid-template-columns:minmax(330px,1.55fr) repeat(4,minmax(120px,.82fr)) minmax(190px,1fr);gap:12px;padding:18px;background:#fff;border-bottom:1px solid rgba(57,43,35,.08);border-radius:18px 18px 0 0}
.mmb-command-topbar>article,.mmb-command-date{min-height:88px;padding:14px 18px;border:1px solid rgba(57,43,35,.08);background:#fff;box-shadow:0 4px 15px rgba(48,34,26,.05);display:flex;flex-direction:column;justify-content:center}
.mmb-command-topbar span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#72665f;font-weight:700}
.mmb-command-topbar strong{font-size:27px;line-height:1.1;color:#261f1b;margin-top:6px}.mmb-command-topbar strong.is-green{color:#4a9b4e}.mmb-command-topbar strong.is-orange{color:#d76a45}
.mmb-command-topbar small{margin-top:4px;color:#776b64;font-size:12px}.mmb-command-topbar small b{color:#261f1b}
.mmb-command-date>strong{font-size:17px}.mmb-command-date-controls{display:flex;align-items:center;gap:6px;margin-top:8px}.mmb-command-date-controls a{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;padding:0 8px;border:1px solid #e6ddd7;background:#fff;color:#9b2f24;text-decoration:none;font-weight:700}.mmb-command-date-controls input{height:29px;max-width:132px;padding:2px 5px;border:1px solid #e6ddd7;background:#fff;font-size:12px}.mmb-command-date-controls .mmb-command-today{font-size:11px;white-space:nowrap}
.mmb-command-payment{background:#9b2f24!important;color:#fff;border-color:#9b2f24!important}.mmb-command-payment span,.mmb-command-payment small,.mmb-command-payment strong{color:#fff!important}
.mmb-domain-map{position:relative;min-height:680px;background-image:var(--mmb-domain-map);background-size:cover;background-position:center;border-top:1px solid rgba(255,255,255,.45);overflow:hidden}
.mmb-map-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,20,17,.03),rgba(18,20,17,.10));pointer-events:none}
.mmb-map-legend{position:absolute;right:22px;top:22px;z-index:3;width:205px;padding:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(9px);box-shadow:0 10px 30px rgba(27,23,20,.18);border-radius:14px;display:grid;gap:11px}.mmb-map-legend strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.mmb-map-legend span{display:flex;align-items:center;gap:9px;font-size:13px}.mmb-map-legend i{width:13px;height:13px;border-radius:50%;background:#2f959f}.mmb-map-legend i.is-room{background:#225fa8}.mmb-map-legend i.is-free{background:#fff;border:2px solid #9faaa1}
.mmb-map-marker{position:absolute;z-index:4;transform:translate(-50%,-100%);display:flex;align-items:stretch;min-width:128px;color:#fff;text-decoration:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));outline:none}.mmb-map-marker:after{content:"";position:absolute;left:20px;bottom:-10px;border:10px solid transparent;border-top-color:#4e8d31;border-bottom:0}.mmb-map-marker.is-room:after{border-top-color:#255e9f}.mmb-map-marker.is-available{opacity:.88}.mmb-map-marker-icon{display:flex;align-items:center;justify-content:center;width:40px;background:#fff;color:#4e8d31;border-radius:10px 0 0 10px;font-size:20px}.mmb-map-marker.is-room .mmb-map-marker-icon{color:#255e9f}.mmb-map-marker-name{display:flex;flex-direction:column;justify-content:center;padding:8px 12px;background:#2f959f;border-radius:0 10px 10px 0;font-size:13px;font-weight:700;line-height:1.15}.mmb-map-marker.is-room .mmb-map-marker-name{background:#255e9f}.mmb-map-marker-name small{font-size:8px;letter-spacing:.05em;opacity:.8}.mmb-map-marker.is-arrival .mmb-map-marker-name{box-shadow:inset 0 0 0 3px #f0c85d}.mmb-map-marker.is-departure .mmb-map-marker-name{box-shadow:inset 0 0 0 3px #e67a58}
.mmb-map-popover{position:absolute;left:50%;bottom:calc(100% + 18px);width:235px;padding:15px;background:#fff;color:#312722;border-radius:12px;box-shadow:0 16px 40px rgba(15,13,12,.28);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:.18s ease;display:grid;gap:7px;pointer-events:none}.mmb-map-popover:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-8px;border:8px solid transparent;border-top-color:#fff;border-bottom:0}.mmb-map-marker:hover .mmb-map-popover,.mmb-map-marker:focus .mmb-map-popover{opacity:1;visibility:visible;transform:translate(-50%,0)}.mmb-map-popover strong{font-size:15px;color:#173f72}.mmb-map-popover em{justify-self:start;padding:3px 8px;border-radius:20px;background:#dff1dc;color:#377330;font-size:11px;font-style:normal;font-weight:700}.mmb-map-popover em.is-free{background:#eef2ef;color:#536159}.mmb-map-popover b{font-size:14px}.mmb-map-popover span{font-size:12px;color:#6f625b}.mmb-map-popover .mmb-map-source{color:#235d9e;font-weight:700}.mmb-map-popover u{text-decoration:none;border-top:1px solid #eee4de;padding-top:8px;font-size:12px;color:#251e1a}
.mmb-map-occupancy{position:absolute;left:22px;bottom:22px;z-index:3;display:flex;align-items:center;gap:16px;width:350px;padding:16px 18px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(27,23,20,.18);border-radius:14px}.mmb-map-ring{--mmb-rate:0;width:82px;height:82px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle 29px,#fff 97%,transparent 100%),conic-gradient(#4f963e calc(var(--mmb-rate)*1%),#dce4dc 0)}.mmb-map-ring strong{font-size:22px}.mmb-map-ring small{font-size:9px}.mmb-map-occupancy>div:last-child{display:grid;gap:5px}.mmb-map-occupancy>div:last-child>strong{font-size:13px;text-transform:uppercase;letter-spacing:.05em}.mmb-map-occupancy span{font-size:12px;color:#74675f}.mmb-map-occupancy a{font-size:12px;color:#154d8b;text-decoration:none;font-weight:700}
.mmb-command-agenda{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;background:#f6f4f1}.mmb-command-agenda>article{padding:16px;background:#fff;border:1px solid rgba(57,43,35,.08)}.mmb-command-agenda h4{margin:0 0 10px;font-size:14px;color:#5c3029}
@media(max-width:1250px){.mmb-command-topbar{grid-template-columns:repeat(3,minmax(0,1fr))}.mmb-domain-map{min-height:620px}}
@media(max-width:820px){.mmb-command-topbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.mmb-command-date{grid-column:1/-1}.mmb-domain-map{min-height:560px;background-position:center}.mmb-map-legend{display:none}.mmb-map-marker{min-width:0}.mmb-map-marker-name{display:none}.mmb-map-marker-icon{width:38px;height:38px;border-radius:50%;border:3px solid currentColor}.mmb-map-marker:after{left:10px}.mmb-map-popover{width:210px}.mmb-map-occupancy{left:12px;right:12px;bottom:12px;width:auto}.mmb-command-agenda{grid-template-columns:1fr}}
@media(max-width:480px){.mmb-command-topbar{grid-template-columns:1fr 1fr}.mmb-command-topbar>article{padding:10px;min-height:78px}.mmb-command-topbar strong{font-size:22px}.mmb-domain-map{min-height:500px}.mmb-map-occupancy{padding:10px}.mmb-map-ring{width:65px;height:65px}.mmb-map-popover{left:0;transform:translate(-15%,8px)}.mmb-map-marker:hover .mmb-map-popover,.mmb-map-marker:focus .mmb-map-popover{transform:translate(-15%,0)}}

/* v2.1.1 — interface PMS, carte configurable et occupation en haut à gauche */
.mmb-owner-portal{max-width:1600px!important;margin:0 auto!important;padding:0!important;background:#f4f2ef!important;border-radius:18px!important;overflow:hidden!important}
.mmb-owner-portal>.mmb-owner-header{display:none}
.mmb-owner-app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:760px;background:#f5f3f0}
.mmb-owner-app-main{min-width:0;padding:18px}
.mmb-owner-sidebar{position:sticky;top:0;align-self:start;min-height:760px;padding:24px 14px;background:#fff;border-right:1px solid #ebe5e0}
.mmb-owner-sidebar-brand{min-height:80px;display:flex;align-items:center;justify-content:center;padding:8px 10px 22px;border-bottom:1px solid #eee8e3;margin-bottom:16px}
.mmb-owner-sidebar-brand img{display:block;max-width:165px;max-height:68px;object-fit:contain}
.mmb-owner-sidebar-brand strong{font-family:Georgia,serif;color:#8d3027;text-align:center;font-size:20px}
.mmb-owner-sidebar nav{display:grid;gap:6px}
.mmb-owner-sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#514944;text-decoration:none;font-size:14px;font-weight:600;border-left:3px solid transparent}
.mmb-owner-sidebar nav a:hover,.mmb-owner-sidebar nav a.is-active{background:#f8eeea;color:#963329;border-left-color:#a53b30}
.mmb-owner-app-main>.mmb-owner-tabs{display:none}
.mmb-owner-app-main .mmb-command-center{margin:0}
.mmb-map-editor-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid #e9e1dc}
.mmb-map-editor-toolbar button{border:1px solid #d9cbc4;background:#fff;color:#8f332a;padding:8px 13px;border-radius:7px;font-weight:700;cursor:pointer}
.mmb-map-editor-toolbar button.is-active,.mmb-map-editor-toolbar .mmb-map-save{background:#963329;color:#fff;border-color:#963329}
.mmb-map-edit-status{font-size:12px;color:#6e625c}
.mmb-domain-map.is-editing{cursor:crosshair}
.mmb-domain-map.is-editing .mmb-map-marker{cursor:grab;z-index:8}
.mmb-domain-map.is-editing .mmb-map-marker.is-dragging{cursor:grabbing;z-index:20;filter:drop-shadow(0 12px 12px rgba(0,0,0,.4));transform:translate(-50%,-100%) scale(1.06)}
.mmb-domain-map.is-editing .mmb-map-popover{display:none!important}
@media(max-width:980px){.mmb-owner-app-shell{grid-template-columns:78px minmax(0,1fr)}.mmb-owner-sidebar{padding:18px 8px}.mmb-owner-sidebar-brand img{max-width:58px}.mmb-owner-sidebar-brand strong{font-size:12px}.mmb-owner-sidebar nav a{justify-content:center;padding:12px 8px;font-size:18px}.mmb-owner-sidebar nav a span{display:none}.mmb-owner-app-main{padding:10px}}
@media(max-width:640px){.mmb-owner-app-shell{display:block}.mmb-owner-sidebar{position:relative;min-height:0;padding:8px;border-right:0;border-bottom:1px solid #e9e1dc}.mmb-owner-sidebar-brand{display:none}.mmb-owner-sidebar nav{display:flex;overflow-x:auto;gap:5px}.mmb-owner-sidebar nav a{min-width:max-content;font-size:13px;padding:9px 10px}.mmb-owner-sidebar nav a span{display:inline}.mmb-owner-app-main{padding:6px}.mmb-map-editor-toolbar{flex-wrap:wrap}}


/* v2.1.1 — le résumé d’occupation reste visible en haut à gauche de la photo */
.mmb-domain-map .mmb-map-occupancy{
  left:22px;
  top:22px;
  bottom:auto;
}
@media(max-width:820px){
  .mmb-domain-map .mmb-map-occupancy{left:12px;right:12px;top:12px;bottom:auto;width:auto;}
}


/* v2.1.3 — infobulles toujours au premier plan et statut visible sur les repères */
.mmb-domain-map .mmb-map-marker{isolation:isolate}
.mmb-domain-map .mmb-map-marker:hover,
.mmb-domain-map .mmb-map-marker:focus,
.mmb-domain-map .mmb-map-marker:focus-within{z-index:1000!important}
.mmb-domain-map .mmb-map-popover{z-index:1100!important}
.mmb-map-marker-status{
  position:absolute;
  right:-8px;
  top:-11px;
  z-index:6;
  padding:3px 7px;
  border:2px solid #fff;
  border-radius:999px;
  box-shadow:0 3px 9px rgba(0,0,0,.24);
  color:#fff;
  font-size:9px;
  font-weight:800;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.mmb-map-marker-status.is-free{background:#3f8f43}
.mmb-map-marker-status.is-occupied{background:#a33229}
.mmb-map-marker.is-occupied .mmb-map-marker-name,
.mmb-map-marker.is-occupied.is-room .mmb-map-marker-name{box-shadow:inset 0 0 0 2px rgba(255,255,255,.72)}
.mmb-map-marker.is-available .mmb-map-marker-name,
.mmb-map-marker.is-available .mmb-map-marker-icon{filter:saturate(.82)}
@media(max-width:820px){
  .mmb-map-marker-status{right:-14px;top:-9px;font-size:8px;padding:3px 6px}
}

/* v2.2.0 — carte interactive, panneau mobile et bouton de recentrage */
.mmb-domain-map{
  background-image:none!important;
  isolation:isolate;
  touch-action:pan-y;
}
.mmb-domain-map.is-map-transformed{touch-action:none;cursor:grab}
.mmb-domain-map.is-panning{cursor:grabbing}
.mmb-map-stage{
  position:absolute;
  inset:0;
  z-index:1;
  background-image:var(--mmb-domain-map);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transform-origin:0 0;
  will-change:transform;
}
.mmb-domain-map.is-panning .mmb-map-stage{transition:none!important}
.mmb-map-stage .mmb-map-shade{z-index:1}
.mmb-map-stage .mmb-map-marker{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  margin:0;
  padding:0;
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.mmb-map-legend,
.mmb-map-occupancy,
.mmb-map-controls{z-index:30}
.mmb-map-controls{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:80;
  display:grid;
  grid-template-columns:44px 44px;
  gap:7px;
  filter:drop-shadow(0 6px 14px rgba(24,20,18,.22));
}
.mmb-map-controls button{
  min-width:44px;
  height:44px;
  border:1px solid rgba(66,51,43,.18);
  border-radius:10px;
  background:rgba(255,255,255,.96);
  color:#43372f;
  font-size:22px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.mmb-map-controls button:hover,
.mmb-map-controls button:focus-visible{background:#fff;color:#8f332a;outline:3px solid rgba(143,51,42,.2);outline-offset:2px}
.mmb-map-controls button:disabled{opacity:.42;cursor:not-allowed}
.mmb-map-controls .mmb-map-recenter{
  grid-column:1/-1;
  width:auto;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:13px;
}
.mmb-map-controls .mmb-map-recenter span{font-size:20px}
.mmb-domain-map.is-editing .mmb-map-controls{opacity:.4;pointer-events:none}

.mmb-mobile-map-sheet{display:none}

@media(max-width:820px){
  .mmb-map-stage{background-position:center}
  .mmb-map-popover{display:none!important}
  .mmb-map-controls{right:10px;bottom:10px;grid-template-columns:40px 40px;gap:6px}
  .mmb-map-controls button{min-width:40px;height:40px;border-radius:9px;font-size:20px}
  .mmb-map-controls .mmb-map-recenter{padding:0 8px}
  .mmb-map-controls .mmb-map-recenter b{font-size:11px}
  .mmb-domain-map.is-mobile-sheet-open .mmb-map-controls{opacity:0;pointer-events:none}

  .mmb-mobile-map-sheet{
    position:absolute;
    inset:0;
    z-index:2100;
    display:block;
    pointer-events:none;
    overflow:hidden;
  }
  .mmb-mobile-map-sheet-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    padding:0;
    background:rgba(19,17,15,.34);
    opacity:0;
    transition:opacity .22s ease;
  }
  .mmb-mobile-map-sheet-panel{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:82%;
    overflow:auto;
    overscroll-behavior:contain;
    padding:12px 18px 18px;
    border-radius:22px 22px 0 0;
    background:#fffdfb;
    color:#342a25;
    box-shadow:0 -16px 38px rgba(20,17,15,.28);
    transform:translateY(105%);
    transition:transform .25s ease;
    outline:none;
  }
  .mmb-mobile-map-sheet.is-open{pointer-events:auto}
  .mmb-mobile-map-sheet.is-open .mmb-mobile-map-sheet-backdrop{opacity:1}
  .mmb-mobile-map-sheet.is-open .mmb-mobile-map-sheet-panel{transform:translateY(0)}
  .mmb-mobile-map-sheet-handle{display:block;width:46px;height:5px;margin:0 auto 12px;border-radius:999px;background:#d8cfca}
  .mmb-mobile-map-sheet-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
  .mmb-mobile-map-sheet-panel header small{display:block;margin-bottom:3px;color:#87766d;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .mmb-mobile-map-sheet-panel h4{margin:0;color:#49352d;font-size:20px;line-height:1.2}
  .mmb-mobile-map-sheet-close{flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#f2e8e3;color:#4a382f;font-size:25px;line-height:1;cursor:pointer}
  .mmb-mobile-map-status{display:inline-flex;align-items:center;margin:0 0 12px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
  .mmb-mobile-map-status.is-free{background:#e5f4e4;color:#2f7134}
  .mmb-mobile-map-status.is-occupied{background:#f8e3e1;color:#9b3028}
  .mmb-mobile-map-sheet-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 15px}
  .mmb-mobile-map-sheet-panel dl>div{min-width:0;padding:10px 11px;border:1px solid #eee5df;border-radius:10px;background:#faf7f5}
  .mmb-mobile-map-sheet-panel dt{margin:0 0 4px;color:#84736a;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
  .mmb-mobile-map-sheet-panel dd{margin:0;overflow-wrap:anywhere;color:#382d27;font-size:13px;font-weight:700}
  .mmb-mobile-map-view-reservation{display:block;width:100%;margin:0;text-align:center}
  .mmb-mobile-map-view-reservation[hidden]{display:none!important}
}

@media(max-width:480px){
  .mmb-mobile-map-sheet-panel{padding:10px 14px 14px}
  .mmb-mobile-map-sheet-panel dl{grid-template-columns:1fr 1fr;gap:7px}
  .mmb-mobile-map-sheet-panel dl>div{padding:9px}
  .mmb-mobile-map-sheet-panel h4{font-size:18px}
}

/* v2.2.1 — proposition de plusieurs chambres pour les groupes de 5 à 8 personnes */
.mmb-multi-room-results{
  margin:24px 0;
  padding:20px;
  border:1px solid #e8d8d0;
  border-radius:18px;
  background:#fffaf6;
}
.mmb-multi-room-heading{margin:0 0 14px}
.mmb-multi-room-heading h4{margin:3px 0 7px;color:#7d2c24;font-size:1.35rem}
.mmb-multi-room-heading p:last-child{margin:0;color:#5d504a}
@media(max-width:760px){
  .mmb-multi-room-results{padding:15px;border-radius:14px}
}


/* v2.2.3 — choix volontaire de plusieurs chambres séparées */
.mmb-separate-rooms-choice[hidden]{
  display:none!important;
}
.mmb-separate-rooms-choice{
  margin-top:9px;
}
.mmb-separate-rooms-choice span{
  color:#7d2c24;
}


/* v2.2.4 — style unifié et répartition des voyageurs par chambre */
.mmb-separate-rooms-choice[hidden]{display:none!important}
.mmb-flexible-dates{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  column-gap:10px!important;
  row-gap:2px!important;
  align-items:start!important;
  margin:14px 0 0!important;
  color:#4f4540!important;
  font-size:.86rem!important;
  line-height:1.35!important;
  cursor:pointer!important;
}
.mmb-flexible-dates + .mmb-flexible-dates{margin-top:11px!important}
.mmb-flexible-dates input[type="checkbox"]{
  grid-column:1!important;
  grid-row:1/span 2!important;
  align-self:start!important;
  width:17px!important;
  height:17px!important;
  margin:2px 0 0!important;
  accent-color:#9b2f24!important;
  cursor:pointer!important;
}
.mmb-flexible-dates span{
  grid-column:2!important;
  margin:0!important;
  color:#4f4540!important;
  font-size:.88rem!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.mmb-flexible-dates small{
  grid-column:2!important;
  display:block!important;
  margin:1px 0 0!important;
  color:#7a6a61!important;
  font-size:.78rem!important;
  font-weight:400!important;
  line-height:1.4!important;
}

.mmb-multi-room-results .mmb-group-request-panel{
  margin-top:14px!important;
  padding:24px 26px!important;
  border:1px solid rgba(159,51,41,.14)!important;
  border-radius:16px!important;
  background:#fffdfb!important;
  box-shadow:none!important;
}
.mmb-multi-room-results .mmb-group-selection-summary{
  margin-bottom:22px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.mmb-multi-room-results .mmb-group-selection-summary>strong{display:block;margin-bottom:5px!important;font-size:1.08rem!important}
.mmb-multi-room-results .mmb-group-selection-summary [data-group-final-lines]{display:block!important;margin-top:8px!important}
.mmb-multi-room-results .mmb-group-line{
  margin:0!important;
  padding:20px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.mmb-multi-room-results .mmb-group-line:not(:last-child){border-bottom:1px solid #eaded8!important}
.mmb-multi-room-results .mmb-group-line-head{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:14px!important;margin-bottom:13px!important}
.mmb-multi-room-results .mmb-group-line-head strong{color:#3d302b!important;font-size:1.05rem!important}
.mmb-multi-room-results .mmb-group-line-head span{color:#786963!important;font-size:.86rem!important;white-space:nowrap!important}
.mmb-group-section-label{
  display:block!important;
  margin:0 0 7px!important;
  color:#786963!important;
  font-size:.74rem!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

.mmb-multi-room-results .mmb-group-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 22px!important;
  margin:14px 0 12px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.mmb-multi-room-results .mmb-group-options>.mmb-group-section-label{grid-column:1/-1!important;margin-bottom:0!important}
.mmb-multi-room-results .mmb-group-options label{
  display:grid!important;
  grid-template-columns:17px minmax(0,1fr)!important;
  column-gap:9px!important;
  align-items:start!important;
  margin:0!important;
  padding:4px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#4f4540!important;
  font-size:.86rem!important;
  font-weight:600!important;
  line-height:1.35!important;
  cursor:pointer!important;
}
.mmb-multi-room-results .mmb-group-options input[type="checkbox"]{
  grid-column:1!important;
  width:17px!important;
  height:17px!important;
  margin:1px 0 0!important;
  accent-color:#9b2f24!important;
  cursor:pointer!important;
}
.mmb-multi-room-results .mmb-group-options label>span{grid-column:2!important;display:block!important}
.mmb-multi-room-results .mmb-group-options small{display:block!important;margin-top:1px!important;color:#7a6a61!important;font-size:.76rem!important;font-weight:400!important;line-height:1.4!important}

.mmb-group-occupancy{margin:0 0 14px;padding:12px 14px;border:1px solid #eee3de;border-radius:12px;background:#fffaf7}
.mmb-group-occupancy>.mmb-group-section-label{margin-bottom:8px!important}
.mmb-group-occupancy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.mmb-room-guest-field{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#4f4540;font-size:.84rem;font-weight:600}
.mmb-room-guest-stepper{display:grid;grid-template-columns:34px 42px 34px;align-items:stretch;border:1px solid #ded1ca;border-radius:9px;overflow:hidden;background:#fff}
.mmb-room-guest-stepper button{width:34px;height:34px;margin:0;padding:0;border:0;background:#fff8f4;color:#9b2f24;font-size:18px;font-weight:800;line-height:1;cursor:pointer}
.mmb-room-guest-stepper button:hover,.mmb-room-guest-stepper button:focus-visible{background:#f3e7e1;outline:0}
.mmb-room-guest-stepper input{width:42px!important;height:34px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-left:1px solid #eaded8!important;border-right:1px solid #eaded8!important;border-radius:0!important;background:#fff!important;text-align:center!important;font:inherit!important;font-weight:700!important;-moz-appearance:textfield}
.mmb-room-guest-stepper input::-webkit-outer-spin-button,.mmb-room-guest-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mmb-group-occupancy>small{display:block;margin-top:7px;color:#85756d;font-size:.73rem;line-height:1.35}

.mmb-multi-room-results .mmb-group-price-breakdown{margin:7px 0 0!important;padding:0!important;list-style:none!important;color:#665a54!important;font-size:.84rem!important;line-height:1.45!important}
.mmb-multi-room-results .mmb-group-price-breakdown li{margin:2px 0!important}
.mmb-multi-room-results .mmb-group-price-breakdown-single{display:none!important}
.mmb-multi-room-results .mmb-group-line-total{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:15px!important;margin:9px 0 0!important;padding:0!important;color:#4c403a!important;font-size:.9rem!important}
.mmb-multi-room-results .mmb-group-line-total strong{flex-shrink:0!important;color:#9f3329!important;font-size:1.01rem!important}
.mmb-multi-room-results .mmb-group-total{display:grid!important;grid-template-columns:1fr auto!important;align-items:baseline!important;gap:4px 15px!important;margin:5px 0 0!important;padding:16px 0 0!important;border-top:2px solid rgba(159,51,41,.16)!important}
.mmb-multi-room-results .mmb-group-total span{font-weight:700!important}
.mmb-multi-room-results .mmb-group-total strong{color:#9f3329!important;font-size:1.08rem!important}
.mmb-multi-room-results .mmb-group-total small{grid-column:1/-1!important;color:#7a6a61!important;font-size:.76rem!important}
.mmb-multi-room-results .mmb-group-capacity-note{display:grid!important;gap:4px!important;margin:13px 0 0!important;padding:12px 14px!important;border-radius:10px!important;background:#f8f3ef!important;color:#5d504a!important;font-size:.82rem!important;line-height:1.4!important}
.mmb-group-capacity-warning{display:block!important;color:#9b3028!important;font-weight:700!important}
.mmb-group-capacity-success{display:block!important;color:#3b7442!important;font-weight:700!important}

@media(max-width:760px){
  .mmb-flexible-dates{grid-template-columns:17px minmax(0,1fr)!important;column-gap:9px!important}
  .mmb-flexible-dates span{font-size:.86rem!important}
  .mmb-flexible-dates small{font-size:.76rem!important}
  .mmb-multi-room-results .mmb-group-request-panel{padding:18px!important;border-radius:14px!important}
  .mmb-multi-room-results .mmb-group-line{padding:17px 0!important}
  .mmb-multi-room-results .mmb-group-line-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;margin-bottom:11px!important}
  .mmb-multi-room-results .mmb-group-line-head span{white-space:normal!important}
  .mmb-group-occupancy-grid{grid-template-columns:1fr!important;gap:8px!important}
  .mmb-room-guest-field{justify-content:space-between!important}
  .mmb-multi-room-results .mmb-group-options{grid-template-columns:1fr!important;gap:5px!important}
  .mmb-multi-room-results .mmb-group-options>.mmb-group-section-label{grid-column:1!important}
  .mmb-multi-room-results .mmb-group-line-total{flex-wrap:wrap!important}
}

/* v2.2.5 — paiement Airbnb et demandes abandonnées sur le planning front */
.mmb-airbnb-payment-note{display:inline-block;margin-top:4px;color:#b13b40;font-weight:800}

.mmb-owner-abandoned-panel{
  scroll-margin-top:24px;
  margin:0;
  padding:24px 26px 28px;
  border-top:1px solid #e7dfda;
  background:#fbf8f5;
}
.mmb-owner-abandoned-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.mmb-owner-abandoned-head h3{margin:3px 0 6px;color:#4e3029;font-size:1.35rem}
.mmb-owner-abandoned-head p{max-width:820px;margin:0;color:#74665f;font-size:.86rem;line-height:1.5}
.mmb-owner-eyebrow{display:block;color:#9b362c;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mmb-owner-abandoned-list{display:grid;gap:12px}
.mmb-owner-abandoned-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:18px;
  overflow:hidden;
  border:1px solid #e9dfd9;
  border-left:4px solid #b9aaa2;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 16px rgba(57,43,35,.04);
}
.mmb-owner-abandoned-item.is-warm{border-left-color:#d58c43}
.mmb-owner-abandoned-item.is-hot{border-left-color:#aa3b31}
.mmb-owner-abandoned-main{padding:16px 18px}
.mmb-owner-abandoned-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.mmb-owner-abandoned-meta span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2ebe7;color:#72574c;font-size:.68rem;font-weight:800;letter-spacing:.025em;text-transform:uppercase}
.mmb-owner-abandoned-meta time{color:#8b7c75;font-size:.72rem}
.mmb-owner-abandoned-item h4{margin:0 0 5px;color:#4d332c;font-size:1rem}
.mmb-owner-abandoned-item p{margin:0 0 12px;color:#6e6059;font-size:.82rem;line-height:1.48}
.mmb-owner-abandoned-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0}
.mmb-owner-abandoned-item dl>div{min-width:0}
.mmb-owner-abandoned-item dt{margin:0 0 2px;color:#99877e;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mmb-owner-abandoned-item dd{margin:0;overflow-wrap:anywhere;color:#4f4540;font-size:.78rem;font-weight:650}
.mmb-owner-abandoned-contact{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:16px;border-left:1px solid #eee5df;background:#faf7f4;color:#776a63;font-size:.77rem}
.mmb-owner-abandoned-contact.has-contact{background:#fff6f1;color:#4f403a}
.mmb-owner-abandoned-contact strong{color:#5a4038;font-size:.79rem}
.mmb-owner-abandoned-contact a{color:#96362c;text-decoration:none;overflow-wrap:anywhere}
.mmb-owner-abandoned-contact a:hover{text-decoration:underline}
.mmb-owner-abandoned-contact small{margin-top:5px;color:#a08f87;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}
.mmb-owner-abandoned-more{margin:12px 0 0;color:#806f67;font-size:.78rem;text-align:center}

@media(max-width:820px){
  .mmb-owner-abandoned-panel{padding:19px 16px 22px}
  .mmb-owner-abandoned-head{display:grid;gap:12px}
  .mmb-owner-abandoned-head .mmb-owner-small-button{justify-self:start}
  .mmb-owner-abandoned-item{grid-template-columns:1fr;gap:0}
  .mmb-owner-abandoned-contact{border-top:1px solid #eee5df;border-left:0}
}
@media(max-width:520px){
  .mmb-owner-abandoned-item dl{grid-template-columns:1fr}
  .mmb-owner-abandoned-meta{align-items:flex-start;flex-direction:column}
}

/* v2.2.6 — localisation/IP et pagination complète des demandes abandonnées */
.mmb-owner-abandoned-ip{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:.74rem !important;
  font-weight:600 !important;
}
.mmb-owner-abandoned-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:18px 0 0;
  color:#75665f;
  font-size:.8rem;
}
.mmb-owner-abandoned-pagination strong{color:#4f3932}
.mmb-owner-abandoned-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid #ddcec7;
  border-radius:50%;
  background:#fff;
  color:#92362c;
  font-size:1.05rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(57,43,35,.05);
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.mmb-owner-abandoned-arrow:hover{
  transform:translateY(-1px);
  border-color:#b65a50;
  background:#fff8f5;
  color:#7e2c24;
}
.mmb-owner-abandoned-arrow.is-disabled{
  opacity:.32;
  cursor:default;
  box-shadow:none;
}
@media(max-width:520px){
  .mmb-owner-abandoned-pagination{gap:10px}
  .mmb-owner-abandoned-arrow{width:36px;height:36px}
}

/* v2.2.7 — demandes abandonnées sur une page propriétaire dédiée */

/* v2.2.8 — séparation des demandes abandonnées récentes et anciennes */
.mmb-owner-abandoned-section{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid #eadfd9;
}
.mmb-owner-abandoned-section.is-recent{
  margin-top:20px;
  padding:20px;
  border:1px solid #ead8d0;
  border-radius:14px;
  background:#fffaf7;
}
.mmb-owner-abandoned-section.is-older{
  margin-top:30px;
}
.mmb-owner-abandoned-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.mmb-owner-abandoned-section-head h4{
  margin:2px 0 0;
  color:#4e3029;
  font-size:1.08rem;
}
.mmb-owner-abandoned-section-kicker{
  color:#9a7667;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mmb-owner-abandoned-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#9f3329;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
}
.mmb-owner-abandoned-section.is-older .mmb-owner-abandoned-count{
  background:#76665f;
}
@media (max-width:760px){
  .mmb-owner-abandoned-section.is-recent{padding:15px}
  .mmb-owner-abandoned-section-head{align-items:center}
}

/* v2.2.9 — détail transparent des sommes à encaisser */
.mmb-command-payment-details{position:relative;margin-top:7px;width:100%;font-size:.7rem;text-align:left}
.mmb-command-payment-details>summary{cursor:pointer;list-style:none;color:#2f6a3b;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.mmb-command-payment-details>summary::-webkit-details-marker{display:none}
.mmb-command-payment-details>summary:after{content:' ▾'}
.mmb-command-payment-details[open]>summary:after{content:' ▴'}
.mmb-command-payment-details>div{position:absolute;z-index:220;right:-6px;top:calc(100% + 7px);width:min(470px,calc(100vw - 34px));max-height:min(68vh,580px);overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid rgba(47,103,56,.22);border-radius:10px;background:#fff;box-shadow:0 16px 38px rgba(41,55,43,.22)}
.mmb-command-payment-details a{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,max-content);gap:12px;align-items:start;padding:10px;border-radius:7px;color:#44352e!important;text-decoration:none!important}
.mmb-command-payment-details a:hover{background:#f0f8f1}
.mmb-command-payment-details a+a{border-top:1px solid #edf0ed}
.mmb-command-payment-details a span{min-width:0}
.mmb-command-payment-details a b,.mmb-command-payment-details a small{display:block;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.mmb-command-payment-details a small{margin-top:2px;color:#806e66;font-weight:500}
.mmb-command-payment-details a>strong{min-width:86px;max-width:145px;color:#2e6738;font-size:.78rem;line-height:1.25;white-space:normal;text-align:right;overflow-wrap:anywhere}
@media(max-width:780px){.mmb-command-payment-details>div{position:fixed;right:14px;left:14px;top:90px;width:auto;max-height:calc(100vh - 120px)}.mmb-command-payment-details a{grid-template-columns:minmax(0,1fr) minmax(76px,max-content)}}
.mmb-command-payment{position:relative;z-index:80;min-width:0;overflow:visible!important}
.mmb-command-payment-details[open]{z-index:230}
.mmb-command-payment .mmb-command-payment-details>summary{color:rgba(255,255,255,.92)!important;letter-spacing:0;text-transform:none}


/* Tableau de bord v2.2.11 : informations complètes dans « 7 jours suivants » */
.mmb-dashboard-mini-item.is-next-arrival{
  grid-template-columns:minmax(0,1fr)!important;
  gap:2px!important;
}
.mmb-dashboard-mini-item.is-next-arrival .mmb-dashboard-mini-client,
.mmb-dashboard-mini-item.is-next-arrival .mmb-dashboard-mini-accommodation{
  grid-column:1!important;
  min-width:0;
}
.mmb-dashboard-mini-item.is-next-arrival .mmb-dashboard-mini-accommodation{
  font-size:.79rem!important;
  color:#826c62!important;
}
.mmb-dashboard-mini-item.is-next-arrival small{
  grid-column:1!important;
  grid-row:auto!important;
  align-self:auto!important;
  margin-top:4px;
  color:#9b4e3e;
  font-weight:700;
  white-space:normal;
}

/* v2.2.12 — vue du mois entier sur ordinateur et modes d’affichage */
.mmb-calendar-view-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
  padding:3px;
  border:1px solid rgba(80,52,42,.14);
  border-radius:999px;
  background:#f5eee9;
}
.mmb-calendar-view-switch .mmb-owner-small-button{
  margin:0;
  border-color:transparent;
  background:transparent;
  box-shadow:none;
}
.mmb-calendar-view-switch .mmb-owner-small-button.is-active{
  border-color:rgba(143,61,46,.2);
  background:#fff;
  color:#8f3d2e;
  box-shadow:0 3px 10px rgba(80,52,42,.08);
}

@media (min-width:981px){
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full{
    overflow-x:hidden!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table .mmb-gc-accommodation{
    width:142px!important;
    min-width:142px!important;
    max-width:142px!important;
    padding:7px 8px!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table .mmb-gc-accommodation strong{
    font-size:11px!important;
    line-height:1.16!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table .mmb-gc-accommodation small{
    margin-top:2px!important;
    font-size:8px!important;
    line-height:1.1!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table th:not(.mmb-gc-accommodation),
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table td:not(.mmb-gc-accommodation){
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation){
    height:39px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) span{
    font-size:10px!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table thead th:not(.mmb-gc-accommodation) small{
    margin-top:2px!important;
    font-size:7px!important;
    letter-spacing:-.02em!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table td.mmb-gc-busy a,
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table td.mmb-gc-busy span{
    min-height:30px!important;
    height:30px!important;
    padding:0!important;
    border-radius:4px!important;
    font-size:7px!important;
    letter-spacing:-.02em!important;
    text-overflow:clip!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table td.mmb-gc-free{
    height:32px!important;
  }
}

@media (max-width:980px){
  .mmb-calendar-view-switch{display:none!important;}
  /* Sur tablette et mobile, on conserve volontairement les colonnes larges et le défilement horizontal. */
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full{
    overflow-x:auto!important;
  }
}

/* =========================================================
   v2.2.14 — page Taxe de séjour du planning propriétaire
   ========================================================= */
.mmb-tourist-tax-page{background:#fff!important;}
.mmb-tourist-tax-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px;}
.mmb-tourist-tax-heading h3{margin:4px 0 8px;color:#4d302a;font-size:1.65rem;}
.mmb-tourist-tax-heading p{max-width:820px;margin:0;color:#6c5c55;line-height:1.55;}
.mmb-tourist-tax-tools{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px;margin-bottom:20px;}
.mmb-tourist-tax-filter,.mmb-tourist-tax-rates{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:15px;border:1px solid #eadfd9;background:#fcfaf8;}
.mmb-tourist-tax-filter label,.mmb-tourist-tax-rates label{display:flex;flex-direction:column;gap:5px;color:#62524b;font-size:.78rem;font-weight:700;}
.mmb-tourist-tax-filter input,.mmb-tourist-tax-filter select,.mmb-tourist-tax-rates input{min-height:40px;padding:8px 10px;border:1px solid #dcccc4;background:#fff;color:#3f332e;}
.mmb-tourist-tax-filter input[type="number"]{width:100px;}
.mmb-tourist-tax-rates label span{display:flex;align-items:center;gap:6px;}
.mmb-tourist-tax-rates input{width:86px;}
.mmb-tourist-tax-period-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 14px;padding:12px 0;border-bottom:1px solid #eee4df;}
.mmb-tourist-tax-period-title div{display:flex;flex-direction:column;gap:2px;}
.mmb-tourist-tax-period-title span{color:#826f66;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.mmb-tourist-tax-period-title strong{color:#4b302a;font-size:1.22rem;}
.mmb-tourist-tax-period-title small{max-width:620px;color:#796a63;text-align:right;line-height:1.45;}
.mmb-tourist-tax-kpis{grid-template-columns:repeat(4,minmax(140px,1fr));margin-bottom:18px;}
.mmb-tourist-tax-warning{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;margin:0 0 18px;padding:13px 15px;border:1px solid #e7c27b;background:#fff8e8;color:#704a11;}
.mmb-tourist-tax-warning span{font-size:.86rem;}
.mmb-tourist-tax-table-wrap{overflow:visible;border:1px solid #eadfd9;}
.mmb-tourist-tax-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;background:#fff;}
.mmb-tourist-tax-table th,.mmb-tourist-tax-table td{padding:10px 8px;border-right:1px solid #eee4df;border-bottom:1px solid #eee4df;text-align:left;vertical-align:middle;overflow-wrap:anywhere;}
.mmb-tourist-tax-table th:last-child,.mmb-tourist-tax-table td:last-child{border-right:0;}
.mmb-tourist-tax-table thead th{background:#fff7f4;color:#713126;font-size:.68rem;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;white-space:normal;}
.mmb-tourist-tax-table th:nth-child(1),.mmb-tourist-tax-table td:nth-child(1){width:25%;}
.mmb-tourist-tax-table th:nth-child(2),.mmb-tourist-tax-table td:nth-child(2){width:21%;}
.mmb-tourist-tax-table th:nth-child(3),.mmb-tourist-tax-table td:nth-child(3){width:9%;}
.mmb-tourist-tax-table th:nth-child(4),.mmb-tourist-tax-table td:nth-child(4){width:10%;}
.mmb-tourist-tax-table th:nth-child(5),.mmb-tourist-tax-table td:nth-child(5){width:9%;}
.mmb-tourist-tax-table th:nth-child(6),.mmb-tourist-tax-table td:nth-child(6){width:11%;}
.mmb-tourist-tax-table th:nth-child(7),.mmb-tourist-tax-table td:nth-child(7){width:7%;}
.mmb-tourist-tax-table th:nth-child(8),.mmb-tourist-tax-table td:nth-child(8){width:8%;}
.mmb-tourist-tax-table tbody td:nth-child(n+3),.mmb-tourist-tax-table tfoot th:nth-child(n+3){text-align:center;}
.mmb-tourist-tax-table tbody td:first-child strong,.mmb-tourist-tax-table tbody td:first-child span,.mmb-tourist-tax-table tbody td:first-child a{display:block;}
.mmb-tourist-tax-table tbody td:first-child span{margin-top:2px;color:#6b5b54;font-size:.82rem;}
.mmb-tourist-tax-table tbody td:first-child a{margin-top:5px;color:#95352b;font-size:.75rem;font-weight:700;text-decoration:none;}
.mmb-tourist-tax-table td small{display:block;margin-top:3px;color:#7a6962;font-size:.72rem;}
.mmb-tourist-tax-table td small.is-warning{color:#a35b00;font-weight:700;}
.mmb-tourist-tax-table tr.is-missing-guests{background:#fffaf0;}
.mmb-tourist-tax-table tfoot th{background:#f7eee9;color:#5a342d;font-size:.86rem;}
.mmb-tourist-tax-table tfoot th:first-child{text-align:left;}
.mmb-tourist-tax-source{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap;}
.mmb-tourist-tax-source.is-site{background:#f1e9e5;color:#76392f;}
.mmb-tourist-tax-source.is-gdf{background:#edf6ee;color:#2f6b39;}
.mmb-tourist-tax-source.is-manual{background:#f5efe7;color:#76512f;}
.mmb-tourist-tax-empty{padding:30px!important;color:#786962;text-align:center!important;}
.mmb-tourist-tax-breakdown{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;margin-top:14px;color:#62534c;font-size:.86rem;}
.mmb-tourist-tax-breakdown strong{color:#8f3026;font-size:1rem;}
@media(max-width:1100px){
  .mmb-tourist-tax-tools{grid-template-columns:1fr;}
  .mmb-tourist-tax-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .mmb-tourist-tax-heading{flex-direction:column;}
  .mmb-tourist-tax-heading .mmb-owner-button{width:100%;text-align:center;}
  .mmb-tourist-tax-filter,.mmb-tourist-tax-rates{align-items:stretch;}
  .mmb-tourist-tax-filter label,.mmb-tourist-tax-rates label{flex:1 1 130px;}
  .mmb-tourist-tax-filter input,.mmb-tourist-tax-filter select,.mmb-tourist-tax-rates input{width:100%!important;}
  .mmb-tourist-tax-period-title{align-items:flex-start;flex-direction:column;}
  .mmb-tourist-tax-period-title small{text-align:left;}
  .mmb-tourist-tax-kpis{grid-template-columns:1fr 1fr;}
}
@media(max-width:430px){.mmb-tourist-tax-kpis{grid-template-columns:1fr;}}

/* v2.2.16 — départ en haut et arrivée en bas, séparation droite */
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-boundary-cell{
  position:relative;
  height:38px;
  min-height:38px;
  padding:0!important;
  overflow:hidden;
  background:#fff;
}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-boundary-cell.is-weekend{background:#fbfaf7;}
.mmb-owner-portal .mmb-gc-boundary-half{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  color:#fff!important;
  text-decoration:none!important;
  font-size:8px!important;
  font-weight:800;
  line-height:1;
  overflow:hidden;
  border-radius:0!important;
  min-height:0!important;
}
.mmb-owner-portal .mmb-gc-boundary-half>span{
  position:absolute;
  display:block;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-width:45%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:clip;
  font-size:8px!important;
  line-height:1!important;
}
.mmb-owner-portal .mmb-gc-boundary-departure{top:0;bottom:auto;height:50%;}
.mmb-owner-portal .mmb-gc-boundary-departure>span{top:50%;left:4px;right:4px;max-width:none!important;transform:translateY(-50%);}
.mmb-owner-portal .mmb-gc-boundary-arrival{top:50%;bottom:0;height:50%;}
.mmb-owner-portal .mmb-gc-boundary-arrival>span{top:50%;left:4px;right:4px;bottom:auto;max-width:none!important;transform:translateY(-50%);}
.mmb-owner-portal .mmb-gc-boundary-half.is-free{background:transparent!important;pointer-events:none;}
.mmb-owner-portal .mmb-global-calendar-table td.mmb-gc-boundary-cell:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent calc(50% - .5px),rgba(62,45,38,.3) calc(50% - .5px),rgba(62,45,38,.3) calc(50% + .5px),transparent calc(50% + .5px));
}
.mmb-owner-portal .mmb-gc-boundary-half:focus{outline:2px solid #8f3d2e;outline-offset:-2px;}
@media (min-width:981px){
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-global-calendar-table td.mmb-gc-boundary-cell{
    height:32px!important;
    min-height:32px!important;
  }
  .mmb-owner-portal .mmb-global-scroll.mmb-calendar-view-full .mmb-gc-boundary-half>span{
    top:50%;
    left:3px;
    right:3px;
    bottom:auto;
    max-width:none!important;
    transform:translateY(-50%);
    font-size:6px!important;
  }
}


/* v2.2.16 — options tarifées et ventilation de paiement dans la fiche réservation */
.mmb-owner-edit-priced-options{margin:16px 0;padding:14px;border:1px solid rgba(91,65,53,.16);border-radius:14px;background:#fffdf9}
.mmb-owner-edit-priced-options legend{padding:0 7px;font-weight:800;color:#4f342b}
.mmb-owner-edit-option{display:flex!important;align-items:center;gap:10px;margin:8px 0;padding:11px 12px;border:1px solid rgba(91,65,53,.12);border-radius:10px;background:#fff}
.mmb-owner-edit-option[hidden]{display:none!important}
.mmb-owner-edit-option input{width:18px!important;height:18px!important;flex:0 0 auto}
.mmb-owner-edit-option span{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;font-weight:700}
.mmb-owner-edit-option small{font-weight:800;color:#8f3d2e;white-space:nowrap}
.mmb-owner-detail-form input[readonly]{background:#f5f0ec!important;color:#4f4039!important;font-weight:800}

/* v2.2.22 - Détail lisible des acomptes et soldes du tableau de bord */
.mmb-command-payment .mmb-command-payment-details>div,
.mmb-command-payment .mmb-command-payment-details>div *{color:#44352e!important}
.mmb-command-payment .mmb-command-payment-details a>strong{color:#2e6738!important}
.mmb-command-payment .mmb-command-payment-details a small{color:#806e66!important}
.mmb-command-payment .mmb-command-payment-details a em{display:block;margin-top:3px;font-size:.68rem;font-style:normal;line-height:1.25;color:#5f514a!important}


/* v2.2.23 - Panneau paiements non tronqué et taxe de séjour explicite */
.mmb-command-payment-details a em.is-warning{color:#9b4b22!important;font-weight:700}
.mmb-command-topbar>article{min-width:0;overflow:visible}
@media(max-width:1500px) and (min-width:1251px){
  .mmb-command-topbar{grid-template-columns:minmax(285px,1.35fr) repeat(4,minmax(105px,.78fr)) minmax(185px,1fr);gap:9px;padding:14px}
  .mmb-command-topbar>article,.mmb-command-date{padding:12px 13px}
}

/* v2.2.24 — panneau « À encaisser » hors des conteneurs tronqués */
.mmb-command-payment>strong{
  max-width:100%;
  font-size:clamp(20px,1.75vw,27px)!important;
  line-height:1.08!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.mmb-command-payment-details>div{
  position:fixed!important;
  z-index:999999!important;
  left:var(--mmb-payment-panel-left,12px)!important;
  right:auto!important;
  top:var(--mmb-payment-panel-top,90px)!important;
  width:var(--mmb-payment-panel-width,min(560px,calc(100vw - 24px)))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:var(--mmb-payment-panel-height,calc(100vh - 110px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
.mmb-command-payment-details a{
  display:block!important;
  min-width:0!important;
  padding:12px 13px!important;
}
.mmb-command-payment-details a>span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.mmb-command-payment-details a>strong{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-top:8px!important;
  text-align:left!important;
  font-size:1rem!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.mmb-command-payment-details a b,
.mmb-command-payment-details a small,
.mmb-command-payment-details a em{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
}


/* v2.2.25 — tableau de bord : bouton Aujourd’hui sur une ligne dédiée et solde complet */
.mmb-command-topbar{
  grid-template-columns:minmax(300px,1.28fr) repeat(4,minmax(112px,.72fr)) minmax(245px,1.08fr);
}
.mmb-command-date-controls{flex-wrap:nowrap}
.mmb-command-date-today-row{display:flex;align-items:center;margin-top:7px}
.mmb-command-date-today-row .mmb-command-today{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:29px;
  padding:0 12px;
  border:1px solid #e6ddd7;
  background:#fff;
  color:#9b2f24;
  text-decoration:none;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.mmb-command-payment{min-width:245px!important;padding-left:17px!important;padding-right:17px!important}
.mmb-command-payment>strong{font-size:clamp(22px,1.55vw,29px)!important;white-space:nowrap!important;overflow-wrap:normal!important}
.mmb-command-payment>small{white-space:normal;line-height:1.35}
.mmb-command-payment-details a em.mmb-payment-total-line{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid #e9dfd9;
  color:#2e6738!important;
  font-weight:800;
}
@media(max-width:1500px) and (min-width:1251px){
  .mmb-command-topbar{grid-template-columns:minmax(260px,1.12fr) repeat(4,minmax(98px,.68fr)) minmax(235px,1.08fr);gap:8px;padding:13px}
  .mmb-command-payment{min-width:235px!important;padding-left:14px!important;padding-right:14px!important}
  .mmb-command-date-controls input{max-width:125px}
}
@media(max-width:1250px){
  .mmb-command-payment{min-width:0!important}
  .mmb-command-payment>strong{white-space:normal!important}
}
.mmb-command-date{min-width:0!important}
.mmb-command-date-controls form{min-width:0;flex:0 1 150px;margin:0}
.mmb-command-date-controls input{display:block;width:100%;max-width:none!important;box-sizing:border-box}
@media(max-width:1250px){
  .mmb-command-topbar{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .mmb-command-topbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
  .mmb-command-date{grid-column:1/-1}
}


/* v2.2.26 — champ date du tableau de bord contenu et icône calendrier visible */
.mmb-command-date-controls{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
}
.mmb-command-date-controls>a{
  width:42px!important;
  min-width:42px!important;
  height:38px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.mmb-command-date-controls form{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.mmb-command-date-controls input[type="date"]{
  display:block!important;
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  min-width:0!important;
  max-inline-size:100%!important;
  max-width:100%!important;
  height:38px!important;
  padding:4px 10px!important;
  overflow:hidden!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.mmb-command-date-controls input[type="date"]::-webkit-calendar-picker-indicator{
  display:block!important;
  opacity:1!important;
  flex:0 0 auto!important;
  cursor:pointer!important;
}
@media(max-width:420px){
  .mmb-command-date-controls{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:6px!important;
  }
  .mmb-command-date-controls>a{
    width:38px!important;
    min-width:38px!important;
  }
  .mmb-command-date-controls input[type="date"]{
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:13px!important;
  }
}


/* v2.2.27 — cartes publiques : photo pleine hauteur et tri tarifaire */
@media(min-width:761px){
  .mmb-booking-flow .mmb-accommodation-card > .mmb-card-photo{
    height:auto!important;
    min-height:100%!important;
    align-self:stretch!important;
  }
  .mmb-booking-flow .mmb-accommodation-card > .mmb-card-photo img,
  .mmb-booking-flow .mmb-accommodation-card > .mmb-card-photo .mmb-card-placeholder{
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
  }
}

/* v2.2.29 — « À encaisser » sur une ligne dédiée et ouverture automatique des trous haute saison */
@media(min-width:1101px){
  .mmb-command-topbar{
    grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(100px,1fr))!important;
  }
  .mmb-command-payment{
    grid-column:1/-1!important;
    min-height:64px!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    padding:12px 20px!important;
  }
  .mmb-command-payment>span,
  .mmb-command-payment>strong,
  .mmb-command-payment>small{
    flex:0 0 auto!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  .mmb-command-payment>strong{
    max-width:none!important;
    font-size:27px!important;
    line-height:1!important;
    overflow-wrap:normal!important;
  }
  .mmb-command-payment-details{
    flex:0 0 auto!important;
    width:auto!important;
    margin:0 0 0 auto!important;
    font-size:.75rem!important;
  }
  .mmb-command-payment-details>summary{white-space:nowrap!important}
}
.mmb-owner-complementary-exception{
  margin:12px 0!important;
  padding:13px 14px!important;
  border:1px solid rgba(52,113,61,.28)!important;
  border-radius:14px!important;
  background:#f0f8f1!important;
  color:#295d32!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  font-weight:700!important;
  line-height:1.45!important;
}
.mmb-owner-complementary-exception[hidden]{display:none!important}
.mmb-owner-complementary-exception input{
  flex:0 0 auto!important;
  width:18px!important;
  height:18px!important;
  margin-top:2px!important;
}
.mmb-owner-complementary-exception-text{min-width:0!important}

/* v2.2.30 — état neutre lorsque rien n’est à encaisser */
.mmb-command-payment.is-zero{
  background:#fff!important;
  color:#77706c!important;
  border-color:rgba(57,43,35,.10)!important;
  box-shadow:0 4px 15px rgba(48,34,26,.05)!important;
}
.mmb-command-payment.is-zero>span,
.mmb-command-payment.is-zero>small{
  color:#8a817c!important;
}
.mmb-command-payment.is-zero>strong{
  color:#68615d!important;
}
.mmb-command-payment.is-zero .mmb-command-payment-details>summary{
  color:#77706c!important;
}

/* v2.2.31 - Synchronisation manuelle depuis le planning propriétaire */
.mmb-owner-calendar-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:4px;
}
.mmb-owner-calendar-heading h3{margin:0;}
.mmb-owner-sync-form{margin:0;flex:0 0 auto;}
.mmb-owner-sync-button{white-space:nowrap;padding:8px 13px;font-size:.84rem;}
.mmb-owner-sync-button:disabled{opacity:.65;cursor:wait;}
@media(max-width:760px){
  .mmb-owner-calendar-heading{align-items:stretch;flex-direction:column;}
  .mmb-owner-sync-form,.mmb-owner-sync-button{width:100%;}
}



/* v2.2.32 — tableau de taxe sans défilement horizontal */
@media(max-width:900px){
  .mmb-tourist-tax-table-wrap{border:0;overflow:visible;}
  .mmb-tourist-tax-table,.mmb-tourist-tax-table tbody,.mmb-tourist-tax-table tfoot{display:block;width:100%;}
  .mmb-tourist-tax-table thead{display:none;}
  .mmb-tourist-tax-table tbody tr{display:block;margin:0 0 12px;border:1px solid #eadfd9;background:#fff;}
  .mmb-tourist-tax-table tbody td{display:grid;width:100%!important;grid-template-columns:minmax(130px,38%) minmax(0,1fr);gap:12px;padding:9px 12px;border-right:0;border-bottom:1px solid #eee4df;text-align:left!important;}
  .mmb-tourist-tax-table tbody td:last-child{border-bottom:0;}
  .mmb-tourist-tax-table tbody td::before{content:attr(data-label);color:#713126;font-size:.68rem;font-weight:800;line-height:1.35;text-transform:uppercase;letter-spacing:.025em;}
  .mmb-tourist-tax-table .mmb-tourist-tax-value{display:block;min-width:0;text-align:right;}
  .mmb-tourist-tax-table tbody td:first-child .mmb-tourist-tax-value{text-align:left;}
  .mmb-tourist-tax-table tfoot{margin-top:14px;border:1px solid #dccbc3;background:#f7eee9;}
  .mmb-tourist-tax-table tfoot tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .mmb-tourist-tax-table tfoot th{display:flex!important;width:100%!important;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-right:0;border-bottom:1px solid #e6d7cf;text-align:right!important;}
  .mmb-tourist-tax-table tfoot th:first-child{grid-column:1/-1;justify-content:flex-start;text-align:left!important;}
  .mmb-tourist-tax-table tfoot th:not(:first-child)::before{content:attr(data-label);color:#713126;font-size:.66rem;text-transform:uppercase;}
}
@media(max-width:520px){
  .mmb-tourist-tax-table tbody td{grid-template-columns:1fr;gap:4px;}
  .mmb-tourist-tax-table .mmb-tourist-tax-value{text-align:left;}
  .mmb-tourist-tax-table tfoot tr{grid-template-columns:1fr;}
  .mmb-tourist-tax-table tfoot th:first-child{grid-column:auto;}
}

/* v2.2.33 — dossier unique pour les réservations de groupe */
.mmb-group-linked-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(113,49,38,.18);
  border-radius:15px;
  background:#fbf5f1;
  color:#3f332f;
}
.mmb-group-linked-banner>div{display:flex;flex-direction:column;gap:3px;min-width:0;}
.mmb-group-linked-banner strong{color:#713126;font-size:.94rem;}
.mmb-group-linked-banner span{color:#6e625c;font-size:.84rem;line-height:1.45;overflow-wrap:anywhere;}
.mmb-group-inline-label{display:inline-block;margin-top:3px;color:#713126;font-style:normal;font-size:.78rem;font-weight:700;}
@media(max-width:650px){
  .mmb-group-linked-banner{align-items:stretch;flex-direction:column;}
  .mmb-group-linked-banner .mmb-owner-small-button{width:100%;text-align:center;}
}

/* v2.2.34 — suppression sécurisée des dossiers liés */
.mmb-owner-delete-linked{border-color:#b85445!important;color:#9f3d2f!important;background:#fff8f5!important}
.mmb-owner-delete-linked:hover{background:#fff0ea!important}

/* v2.2.35 — demande groupée propriétaire : répartition des voyageurs */
.mmb-owner-group-distribution{
  margin:18px 0;
  padding:18px;
  border:1px solid #dfd1c8;
  border-radius:16px;
  background:#fffaf6;
}
.mmb-owner-group-distribution[hidden]{display:none!important}
.mmb-owner-group-distribution-head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:13px;
}
.mmb-owner-group-distribution-head strong{color:#713126;font-size:1rem}
.mmb-owner-group-distribution-head span{color:#74645c;font-size:.86rem;line-height:1.45}
.mmb-owner-group-distribution-rows{display:grid;gap:10px}
.mmb-owner-group-distribution-row{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(110px,140px) minmax(110px,140px);
  gap:12px;
  align-items:end;
  padding:12px 14px;
  background:#fff;
  border:1px solid #eadfd8;
  border-radius:12px;
}
.mmb-owner-group-distribution-row>div{display:flex;flex-direction:column;gap:3px;align-self:center}
.mmb-owner-group-distribution-row>div strong{color:#3f332d}
.mmb-owner-group-distribution-row>div small{color:#7d6d65}
.mmb-owner-group-distribution-row label{margin:0;font-size:.82rem;color:#65564f}
.mmb-owner-group-distribution-row input{width:100%;margin-top:5px;box-sizing:border-box}
.mmb-owner-group-distribution-total{
  margin:12px 0 0;
  padding:9px 11px;
  border-radius:10px;
  font-size:.86rem;
  font-weight:700;
}
.mmb-owner-group-distribution-total.is-valid{background:#eef8f0;color:#35613d}
.mmb-owner-group-distribution-total.is-invalid{background:#fff0eb;color:#963f31}
@media (max-width:760px){
  .mmb-owner-group-distribution-row{grid-template-columns:1fr 1fr}
  .mmb-owner-group-distribution-row>div{grid-column:1/-1}
}


/* v2.2.37 — espaces mariage / privatisation */
.mmb-owner-event-space-row{grid-template-columns:minmax(220px,1fr) 160px!important;align-items:start!important}
.mmb-owner-event-space-row>label{padding-top:9px}
.mmb-owner-event-space-description{grid-column:1/-1;display:block;color:#6c5a50;line-height:1.45;margin:-2px 0 7px 30px}
.mmb-owner-privatization-edit .mmb-owner-event-space-row{margin-bottom:3px}
@media(max-width:760px){.mmb-owner-event-space-row{grid-template-columns:1fr!important}.mmb-owner-event-space-description{margin-left:0}}

/* v2.2.38 — correctif encodage Unicode des espaces mariage */


/* v2.2.40 — fenêtre « À encaisser » toujours visible et refermable */
.mmb-command-payment-details>div{
  position:fixed!important;
  z-index:1000005!important;
  left:50%!important;
  right:auto!important;
  top:max(16px,env(safe-area-inset-top))!important;
  transform:translateX(-50%)!important;
  width:min(680px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100dvh - 32px - env(safe-area-inset-top))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  padding:50px 12px 12px!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable;
}
.mmb-payment-details-close{
  position:sticky!important;
  z-index:3!important;
  top:-42px!important;
  margin:-42px 0 8px auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border:1px solid #dfd4cd!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8f3027!important;
  box-shadow:0 3px 12px rgba(0,0,0,.08)!important;
  font:700 25px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
.mmb-payment-details-close:hover,
.mmb-payment-details-close:focus-visible{
  background:#f8eee9!important;
  outline:2px solid rgba(159,49,39,.22)!important;
  outline-offset:2px!important;
}
@media(max-width:700px){
  .mmb-command-payment-details>div{
    top:max(10px,env(safe-area-inset-top))!important;
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-top))!important;
    padding:48px 8px 8px!important;
  }
}

/* === Avis après-séjour (v2.2.41) === */
.mmb-owner-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:auto;border-radius:999px;background:#a53528;color:#fff;font-size:11px;line-height:1;font-weight:800}
.mmb-owner-reviews-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:20px;align-items:center;margin:20px 0;padding:22px 24px;background:#fff;border:1px solid #eadfd8;border-radius:20px;box-shadow:0 10px 30px rgba(71,45,32,.06)}
.mmb-owner-reviews-summary-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px;background:#f7eee8;color:#a53528;font-size:28px}
.mmb-owner-reviews-summary-copy h3{margin:2px 0 4px;font-size:25px}.mmb-owner-reviews-summary-copy p{margin:0;color:#73665f}
.mmb-owner-reviews-summary-stats,.mmb-owner-reviews-kpis{display:flex;gap:8px;flex-wrap:wrap}.mmb-owner-reviews-summary-stats>span,.mmb-owner-reviews-kpis>span{display:flex;min-width:92px;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;border:1px solid #eadfd8;border-radius:14px;background:#fbf8f5}.mmb-owner-reviews-summary-stats strong,.mmb-owner-reviews-kpis strong{font-size:21px;color:#342a25}.mmb-owner-reviews-summary-stats small,.mmb-owner-reviews-kpis small{font-size:11px;color:#786a62;text-transform:uppercase;letter-spacing:.04em}.mmb-owner-reviews-summary-stats .has-alert,.mmb-owner-reviews-kpis .has-alert{background:#fff0ed;border-color:#e8b4aa}.mmb-owner-reviews-summary-stats .has-alert strong,.mmb-owner-reviews-kpis .has-alert strong{color:#a53528}
.mmb-owner-reviews-panel{display:flex;flex-direction:column;gap:20px}.mmb-owner-reviews-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:24px;background:#fff;border:1px solid #eadfd8;border-radius:20px}.mmb-owner-reviews-head h3{margin:4px 0 8px;font-size:30px}.mmb-owner-reviews-head p{margin:0;max-width:760px;color:#75685f;line-height:1.55}
.mmb-owner-reviews-google,.mmb-owner-review-requests{background:#fff;border:1px solid #eadfd8;border-radius:20px;padding:24px}.mmb-owner-reviews-google-head,.mmb-owner-review-section-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.mmb-owner-reviews-google h4,.mmb-owner-review-requests h4{margin:0 0 6px;font-size:22px;color:#352b26}.mmb-owner-reviews-google p,.mmb-owner-review-section-title p{margin:0;color:#786a62}.mmb-owner-review-google-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mmb-owner-review-google-actions form{margin:0}.mmb-owner-small-button.is-light{background:#fff!important;color:#8f3d2e!important;border:1px solid #d9c9c0!important}.mmb-owner-review-google-error{margin-top:14px;padding:12px 14px;border-radius:12px;background:#fff2f0;border:1px solid #e6b9b1;color:#8f3025}
.mmb-owner-google-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.mmb-owner-google-review{padding:16px;border:1px solid #eadfd8;border-radius:16px;background:#fbf8f5}.mmb-owner-google-review.is-new{border-color:#d99c91;background:#fff4f1;box-shadow:inset 4px 0 0 #a53528}.mmb-owner-google-review-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mmb-owner-google-review-top strong{margin-right:auto}.mmb-owner-google-review-top em{font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase;background:#a53528;color:#fff;border-radius:999px;padding:4px 8px}.mmb-owner-google-stars{color:#d6a329;letter-spacing:1px}.mmb-owner-google-review>p{margin:11px 0;color:#4e433d;line-height:1.55}.mmb-owner-google-review footer{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#8a7c74;font-size:12px}.mmb-owner-google-review footer form{margin:0}.mmb-owner-text-button{border:0;background:none;color:#983629;text-decoration:underline;font-weight:700;cursor:pointer;padding:0}
.mmb-owner-review-request-list{display:flex;flex-direction:column;gap:12px;margin-top:18px}.mmb-owner-review-request{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:20px;align-items:start;padding:18px;border:1px solid #eadfd8;border-radius:16px;background:#fcfaf8}.mmb-owner-review-request.is-sent{background:#fbfdf9;border-color:#d8e4d5}.mmb-owner-review-request-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mmb-owner-review-request-title h5{margin:7px 0 0;font-size:19px}.mmb-owner-review-request-title time{font-size:13px;color:#83766e;white-space:nowrap}.mmb-owner-review-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mmb-owner-review-status.is-pending{background:#fff0e7;color:#9b4a2b}.mmb-owner-review-status.is-sent{background:#eaf5e8;color:#36723d}.mmb-owner-review-status.is-disabled{background:#efefef;color:#777}.mmb-owner-review-stay{margin:8px 0 3px;color:#51453f}.mmb-owner-review-email,.mmb-owner-review-sent-at{margin:3px 0;color:#7a6d65;font-size:13px}.mmb-owner-review-composer{border:1px solid #e1d4cd;border-radius:14px;background:#fff;overflow:hidden}.mmb-owner-review-composer summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#8f3d2e;list-style:none}.mmb-owner-review-composer summary::-webkit-details-marker{display:none}.mmb-owner-review-composer[open] summary{border-bottom:1px solid #eadfd8;background:#fbf7f3}.mmb-owner-review-composer form{padding:14px}.mmb-owner-review-composer label{display:block;font-weight:700;color:#433833}.mmb-owner-review-composer textarea{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #d8c9c1;border-radius:10px;padding:10px 11px;resize:vertical;font:inherit}.mmb-owner-review-composer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.mmb-owner-review-composer>form>small{display:block;color:#80736b;line-height:1.45}.mmb-owner-review-disabled{display:block;padding:12px 14px;border-radius:12px;background:#f1efed;color:#766c67;font-size:13px}.mmb-owner-empty-state{margin-top:16px;padding:18px;border:1px dashed #d7c8bf;border-radius:14px;color:#74675f;text-align:center}
@media (max-width:1100px){.mmb-owner-reviews-summary{grid-template-columns:auto minmax(0,1fr);}.mmb-owner-reviews-summary-stats,.mmb-owner-reviews-summary>.mmb-owner-button{grid-column:2}.mmb-owner-google-review-list{grid-template-columns:1fr}.mmb-owner-review-request{grid-template-columns:1fr}}
@media (max-width:720px){.mmb-owner-reviews-summary{grid-template-columns:1fr;padding:18px}.mmb-owner-reviews-summary-icon{width:48px;height:48px}.mmb-owner-reviews-summary-stats,.mmb-owner-reviews-summary>.mmb-owner-button{grid-column:auto}.mmb-owner-reviews-summary-stats>span,.mmb-owner-reviews-kpis>span{flex:1;min-width:75px}.mmb-owner-reviews-head,.mmb-owner-reviews-google-head,.mmb-owner-review-section-title,.mmb-owner-review-request-title{flex-direction:column;align-items:stretch}.mmb-owner-reviews-google,.mmb-owner-review-requests,.mmb-owner-reviews-head{padding:18px}.mmb-owner-review-google-actions{width:100%}.mmb-owner-review-google-actions>*{flex:1}.mmb-owner-review-google-actions .mmb-owner-small-button{width:100%;text-align:center}.mmb-owner-review-request-title time{white-space:normal}}

/* v2.2.44 - Dates propres aux hébergements des mariages */
.mmb-owner-priv-accommodation-list{display:grid;gap:12px}
.mmb-owner-priv-accommodation-row{border:1px solid rgba(143,61,46,.18);border-radius:12px;padding:12px 14px;background:#fff}
.mmb-owner-priv-accommodation-choice{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mmb-owner-priv-accommodation-dates{margin-left:26px}
.mmb-owner-event-space-row[data-mmb-primary-space="1"]{border-left:3px solid rgba(143,61,46,.45);padding-left:10px}
.mmb-owner-event-space-row input[type="number"][readonly]{background:#f6f1ee;color:#6e625c}
@media(max-width:700px){.mmb-owner-priv-accommodation-dates{margin-left:0}.mmb-owner-priv-accommodation-row{padding:10px}}

/* v2.2.45 - tarifs événementiels et occupants par hébergement */
.mmb-owner-priv-accommodation-dates{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:900px){.mmb-owner-priv-accommodation-dates{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.mmb-owner-priv-accommodation-dates{grid-template-columns:1fr;}}

/* v2.2.47 — choix tarif événementiel des suites */
.mmb-owner-rate-choice{display:inline-flex;align-items:center;gap:7px;margin:8px 0 6px 26px;padding:6px 10px;border-radius:9px;background:rgba(143,61,46,.06);font-weight:600}
@media(max-width:700px){.mmb-owner-rate-choice{margin-left:0}}

/* v2.2.56 — Suivi léger des demandes mariage */
.mmb-owner-sidebar .mmb-owner-nav-badge {
  margin-left:auto;
}
.mmb-wedding-leads-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-left:5px solid #9b63b4;
  background:linear-gradient(135deg,#fbf7fd 0%,#fff 72%);
}
.mmb-wedding-leads-summary h3,
.mmb-owner-wedding-leads h3 {
  margin:3px 0 6px;
}
.mmb-wedding-leads-summary p {
  margin:0;
}
.mmb-wedding-leads-summary p strong {
  font-size:1.35em;
}
.mmb-wedding-leads-summary .is-due {
  color:#a53c61;
}
.mmb-wedding-leads-kicker {
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
  font-weight:800;
  color:#7f4a98;
}
.mmb-wedding-leads-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:4px;
}
.mmb-wedding-no-block {
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:999px;
  padding:7px 11px;
  background:#f4eef7;
  color:#6f477f;
  font-size:12px;
  font-weight:700;
}
.mmb-wedding-lead-add-form,
.mmb-wedding-lead-edit-form {
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) minmax(155px,1fr) minmax(210px,1.25fr) auto;
  gap:10px;
  align-items:end;
}
.mmb-wedding-lead-add-form {
  padding:16px;
  margin:18px 0 20px;
  border:1px solid #eadff0;
  border-radius:14px;
  background:#fcf9fd;
}
.mmb-wedding-lead-add-form label,
.mmb-wedding-lead-edit-form label {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0;
  font-size:12px;
  font-weight:700;
}
.mmb-wedding-lead-add-form input,
.mmb-wedding-lead-add-form select,
.mmb-wedding-lead-edit-form input,
.mmb-wedding-lead-edit-form select {
  width:100%;
  min-height:40px;
}
.mmb-wedding-leads-list {
  display:grid;
  gap:12px;
}
.mmb-wedding-lead-card {
  border:1px solid #e7dceC;
  border-left:5px solid #9b63b4;
  border-radius:14px;
  padding:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(57,34,68,.05);
  scroll-margin-top:22px;
}
.mmb-wedding-lead-card.is-selected {
  box-shadow:0 0 0 3px rgba(155,99,180,.14),0 8px 24px rgba(57,34,68,.08);
}
.mmb-wedding-lead-card.is-due {
  border-left-color:#c85177;
  background:#fffafb;
}
.mmb-wedding-lead-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.mmb-wedding-lead-card-head > div:first-child {
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mmb-wedding-lead-card-head strong {
  font-size:16px;
}
.mmb-wedding-lead-card-head span {
  font-size:12px;
}
.mmb-wedding-lead-badges {
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mmb-wedding-lead-status,
.mmb-wedding-followup-badge {
  border-radius:999px;
  padding:5px 9px;
  font-size:11px !important;
  font-weight:800;
}
.mmb-wedding-lead-status.is-received {
  background:#eee3f3;
  color:#704584;
}
.mmb-wedding-lead-status.is-in_progress {
  background:#d8bce5;
  color:#563167;
}
.mmb-wedding-lead-status.is-visit_scheduled {
  background:#e7eef7;
  color:#365978;
}
.mmb-wedding-lead-status.is-quote_sent {
  background:#f5ead2;
  color:#79591d;
}
.mmb-wedding-lead-status.is-contract_preparing {
  background:#e8edf3;
  color:#46586d;
}
.mmb-wedding-lead-status.is-contract_signed {
  background:#dcefdc;
  color:#35643a;
}
.mmb-wedding-lead-status.is-deposit_pending {
  background:#fff0cf;
  color:#7b5a14;
}
.mmb-wedding-lead-status.is-confirmed {
  background:#d4eadb;
  color:#285b39;
}
.mmb-wedding-followup-badge {
  background:#f7dce5;
  color:#9d3659;
}
.mmb-wedding-lead-reminder {
  margin:0 0 12px;
  padding:8px 10px;
  border-radius:9px;
  background:#f8f5f9;
  color:#655a69;
  font-size:12px;
}
.mmb-wedding-lead-card.is-due .mmb-wedding-lead-reminder {
  background:#fff0f4;
  color:#86334e;
}
.mmb-wedding-lead-actions {
  display:flex;
  gap:8px;
  align-items:center;
  margin-top:10px;
  flex-wrap:wrap;
}
.mmb-wedding-lead-actions form { margin:0; }
.mmb-owner-small-button.is-danger {
  border-color:#d9a1b2;
  color:#913b56;
}
.mmb-wedding-leads-empty {
  padding:20px;
  text-align:center;
  background:#faf8fb;
  border-radius:12px;
}
.mmb-wedding-lead-conversion-note {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:13px 15px;
  margin-bottom:14px;
  border:1px solid #dfcce8;
  border-left:5px solid #9b63b4;
  border-radius:12px;
  background:#fbf7fd;
}
.mmb-wedding-lead-conversion-note strong { color:#603a72; }
.mmb-wedding-lead-conversion-note small { color:#756d78; }

/* Ligne mariage du planning : volontairement distincte et non bloquante. */
.mmb-gc-status-wedding-lead {
  background:#9b63b4 !important;
}
.mmb-wedding-lead-calendar-row > th.mmb-gc-accommodation {
  background:#f6eff9 !important;
  color:#684078;
}
.mmb-wedding-lead-calendar-cell {
  position:relative;
  padding:0 !important;
  background:#f8f3fa !important;
  border-color:#eadff0 !important;
}
.mmb-wedding-lead-calendar-cell.is-empty.is-weekend {
  background:#f4edf7 !important;
}
.mmb-wedding-lead-calendar-cell > a {
  display:flex;
  width:100%;
  height:100%;
  min-height:32px;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  font-weight:900;
  color:#fff !important;
  background:#b787ca;
}
.mmb-wedding-lead-calendar-cell.is-in_progress > a {
  background:#8f58a8;
}
.mmb-wedding-lead-calendar-cell.is-due > a {
  background:#c85177;
}
.mmb-wedding-lead-calendar-cell.is-due::after {
  content:'!';
  position:absolute;
  top:2px;
  right:2px;
  width:12px;
  height:12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#a73559;
  font-size:8px;
  font-weight:900;
  pointer-events:none;
}

@media (max-width: 980px) {
  .mmb-wedding-lead-add-form,
  .mmb-wedding-lead-edit-form {
    grid-template-columns:1fr 1fr;
  }
  .mmb-wedding-lead-add-form .mmb-owner-button,
  .mmb-wedding-lead-edit-form .mmb-owner-small-button {
    width:100%;
  }
}
@media (max-width: 640px) {
  .mmb-wedding-leads-summary,
  .mmb-wedding-leads-heading,
  .mmb-wedding-lead-card-head {
    flex-direction:column;
    align-items:stretch;
  }
  .mmb-wedding-lead-add-form,
  .mmb-wedding-lead-edit-form {
    grid-template-columns:1fr;
  }
  .mmb-wedding-lead-badges { justify-content:flex-start; }
}

/* v2.2.57 — visites du domaine liées aux demandes mariage */
.mmb-wedding-visit-badge {
  border-radius:999px;
  padding:5px 9px;
  font-size:11px !important;
  font-weight:800;
}
.mmb-wedding-visit-badge.is-scheduled {
  background:#f5e4bf;
  color:#805b16;
}
.mmb-wedding-visit-badge.is-completed {
  background:#dceadf;
  color:#3f6d49;
}
.mmb-wedding-visit-summary {
  margin:0 0 12px;
  padding:9px 11px;
  border-radius:9px;
  font-size:12px;
  border:1px solid transparent;
}
.mmb-wedding-visit-summary.is-scheduled {
  background:#fff8e8;
  border-color:#f0dfb7;
  color:#765718;
}
.mmb-wedding-visit-summary.is-completed {
  background:#f0f7f1;
  border-color:#d3e4d6;
  color:#42684a;
}
.mmb-owner-small-button.is-visit {
  border-color:#d8bd7d;
  background:#fff9ea;
  color:#765718;
}

/* Deux lignes commerciales avant les hébergements : demande + visite. */
.mmb-wedding-visit-calendar-row > th.mmb-gc-accommodation {
  background:#fbf5e8 !important;
  color:#765718;
}
.mmb-wedding-visit-calendar-cell {
  position:relative;
  padding:0 !important;
  background:#fcf8ef !important;
  border-color:#eee1c3 !important;
}
.mmb-wedding-visit-calendar-cell.is-empty.is-weekend {
  background:#f8f1e3 !important;
}
.mmb-wedding-visit-calendar-cell > a {
  display:flex;
  width:100%;
  height:100%;
  min-height:32px;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  font-weight:900;
  color:#fff !important;
  background:#c79239;
}
.mmb-wedding-visit-calendar-cell.is-completed > a {
  background:#73977b;
}

/* Ligne des événements : uniquement après signature du contrat. */
.mmb-gc-status-event {
  background:#4f7b58 !important;
}
.mmb-event-calendar-row > th.mmb-gc-accommodation {
  background:#edf5ee !important;
  color:#365c3d;
}
.mmb-event-calendar-cell {
  position:relative;
  padding:0 !important;
  background:#f2f7f2 !important;
  border-color:#d9e8dc !important;
}
.mmb-event-calendar-cell.is-empty.is-weekend {
  background:#ebf3ec !important;
}
.mmb-event-calendar-cell > a {
  display:flex;
  width:100%;
  height:100%;
  min-height:32px;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  font-weight:900;
  color:#fff !important;
  background:#6f9977;
}
.mmb-event-calendar-cell.is-confirmed > a {
  background:#4f7b58;
}

/* Les champs du suivi événement se répartissent sur plusieurs lignes sur grand écran. */
.mmb-wedding-lead-add-form,
.mmb-wedding-lead-edit-form {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.mmb-wedding-lead-filter-form {
  display:flex;
  justify-content:flex-end;
  margin:0 0 14px;
}
.mmb-wedding-lead-filter-form label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
}
.mmb-wedding-lead-filter-form select {
  min-height:38px;
  border:1px solid #dccdc2;
  border-radius:9px;
  background:#fff;
  padding:0 10px;
}
.mmb-wedding-lead-add-form .mmb-owner-button,
.mmb-wedding-lead-edit-form .mmb-owner-small-button {
  justify-self:start;
}

@media (max-width:980px) {
  .mmb-wedding-lead-add-form,
  .mmb-wedding-lead-edit-form {
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px) {
  .mmb-wedding-lead-add-form,
  .mmb-wedding-lead-edit-form {
    grid-template-columns:1fr;
  }
}

/* v2.2.58 — heure facultative des visites mariage */
.mmb-wedding-visit-calendar-cell.has-time > a {
  font-size:9px !important;
  letter-spacing:-.2px;
  white-space:nowrap;
}
.mmb-wedding-lead-add-form input[type="time"],
.mmb-wedding-lead-edit-form input[type="time"] {
  width:100%;
  min-height:38px;
}

/* v2.2.72 — planning global public des disponibilités */
.mmb-public-global-planning {
  margin:42px 0 20px;
  padding:28px;
  border:1px solid rgba(103,66,51,.16);
  border-radius:22px;
  background:#fffaf4;
  color:#3e2f29;
  box-shadow:0 12px 34px rgba(72,46,36,.07);
}
.mmb-public-planning-heading {
  max-width:720px;
  margin:0 auto 20px;
  text-align:center;
}
.mmb-public-planning-kicker {
  display:block;
  margin-bottom:5px;
  color:#9b2f24;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mmb-public-planning-heading h2 {
  margin:0 0 8px;
  color:#4b3027;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(25px,3vw,36px);
  line-height:1.15;
}
.mmb-public-planning-heading p,
.mmb-public-planning-note {
  margin:0;
  color:#745f55;
}
.mmb-public-planning-toolbar {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.mmb-public-planning-toolbar a,
.mmb-public-planning-toolbar span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 13px;
  border:1px solid #d7c5bb;
  border-radius:999px;
  background:#fff;
  color:#71352c;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.mmb-public-planning-toolbar a:hover,
.mmb-public-planning-toolbar a:focus {
  border-color:#9b2f24;
  background:#9b2f24;
  color:#fff;
}
.mmb-public-planning-toolbar .is-disabled {
  opacity:.38;
}
.mmb-public-planning-toolbar .is-current {
  border-color:#9b2f24;
  background:#f7e8e4;
}
.mmb-public-planning-legend {
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 24px;
  font-size:13px;
  font-weight:700;
}
.mmb-public-planning-legend span {
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.mmb-public-planning-legend i {
  width:15px;
  height:15px;
  border-radius:4px;
  border:1px solid rgba(51,38,32,.13);
}
.mmb-public-planning-legend i.is-free {background:#dcebd2;}
.mmb-public-planning-legend i.is-busy {background:#a74b40;}
.mmb-public-planning-month {
  margin:0 0 24px;
}
.mmb-public-planning-month h3 {
  margin:0 0 9px;
  color:#6f342b;
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  text-transform:capitalize;
}
.mmb-public-planning-scroll {
  max-width:100%;
  overflow-x:auto;
  border:1px solid #ddcfc7;
  border-radius:12px;
  background:#fff;
  -webkit-overflow-scrolling:touch;
}
.mmb-public-planning-scroll:focus {
  outline:3px solid rgba(155,47,36,.22);
  outline-offset:2px;
}
.mmb-public-planning-table {
  width:max-content;
  min-width:100%;
  border:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  margin:0;
}
.mmb-public-planning-table th,
.mmb-public-planning-table td {
  box-sizing:border-box;
  width:36px;
  min-width:36px;
  height:38px;
  padding:0;
  border:0;
  border-right:1px solid #eee5df;
  border-bottom:1px solid #eee5df;
  text-align:center;
  vertical-align:middle;
}
.mmb-public-planning-table thead th {
  background:#f8f1ec;
  color:#5e463d;
  font-size:12px;
  font-weight:800;
}
.mmb-public-planning-table thead th span,
.mmb-public-planning-table thead th small {
  display:block;
  line-height:1.05;
}
.mmb-public-planning-table thead th small {
  margin-top:3px;
  color:#927a6f;
  font-size:9px;
  text-transform:uppercase;
}
.mmb-public-planning-table .mmb-public-planning-accommodation {
  position:sticky;
  left:0;
  z-index:2;
  width:205px;
  min-width:205px;
  max-width:205px;
  padding:7px 11px;
  border-right:1px solid #d9c9c0;
  background:#fff;
  text-align:left;
  white-space:normal;
}
.mmb-public-planning-table thead .mmb-public-planning-accommodation {
  z-index:3;
  background:#f2e7df;
}
.mmb-public-planning-table .mmb-public-planning-accommodation a,
.mmb-public-planning-table .mmb-public-planning-accommodation > span {
  display:block;
  color:#7f3028;
  font-size:13px;
  font-weight:800;
  line-height:1.15;
  text-decoration:none;
}
.mmb-public-planning-table .mmb-public-planning-accommodation a:hover,
.mmb-public-planning-table .mmb-public-planning-accommodation a:focus {
  color:#a43d31;
  text-decoration:underline;
}
.mmb-public-planning-table .mmb-public-planning-accommodation small {
  display:block;
  margin-top:3px;
  color:#887168;
  font-size:10px;
  font-weight:500;
  line-height:1.1;
}
.mmb-public-planning-table td.is-free {
  background:#e4f0dc;
  color:#4d753c;
}
.mmb-public-planning-table td.is-busy {
  background:#a74b40;
  color:#fff;
}
.mmb-public-planning-table td.is-past {
  background:#eeeae7;
  color:#aaa19c;
}
.mmb-public-planning-table th.is-weekend {background:#efe3dc;}
.mmb-public-planning-table td.is-free.is-weekend {background:#dcebd2;}
.mmb-public-planning-table td.is-busy.is-weekend {background:#9b4036;}
.mmb-public-planning-table td span {
  display:block;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
.mmb-public-planning-table tbody tr:last-child th,
.mmb-public-planning-table tbody tr:last-child td {border-bottom:0;}
.mmb-public-planning-table tr > :last-child {border-right:0;}
.mmb-public-planning-note {
  padding-top:2px;
  text-align:center;
  font-size:12px;
}
@media (max-width:680px) {
  .mmb-public-global-planning {
    margin-top:30px;
    padding:22px 12px;
    border-radius:17px;
  }
  .mmb-public-planning-toolbar {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .mmb-public-planning-toolbar > :last-child {
    grid-column:1 / -1;
  }
  .mmb-public-planning-table .mmb-public-planning-accommodation {
    width:150px;
    min-width:150px;
    max-width:150px;
    padding:6px 8px;
  }
  .mmb-public-planning-table th,
  .mmb-public-planning-table td {
    width:32px;
    min-width:32px;
    height:36px;
  }
}

/* v2.2.74 — CA prévisionnel et effectué */
.mmb-revenue-page{display:grid;gap:18px;}
.mmb-revenue-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.mmb-revenue-filter label{display:grid;gap:5px;font-size:12px;font-weight:750;color:#5e463d;}
.mmb-revenue-filter select{min-width:190px;min-height:38px;border:1px solid #d9c9c0;border-radius:9px;background:#fff;padding:6px 10px;color:#352823;}
.mmb-revenue-kpis{margin:0;}
.mmb-revenue-section{display:grid;gap:10px;padding-top:6px;}
.mmb-revenue-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:15px 17px;border-radius:14px;background:#f8f1ec;border:1px solid #eadfd8;}
.mmb-revenue-section.is-actual .mmb-revenue-section-heading{background:#edf5e9;border-color:#d8e7d1;}
.mmb-revenue-section-heading h4{margin:0 0 4px;font-size:17px;color:#352823;}
.mmb-revenue-section-heading p{margin:0;font-size:11px;color:#806c63;}
.mmb-revenue-section-heading>strong{font-size:22px;color:#8d352d;white-space:nowrap;}
.mmb-revenue-section.is-actual .mmb-revenue-section-heading>strong{color:#4d753c;}
.mmb-revenue-table a{color:#7f3028;text-decoration:none;}
.mmb-revenue-table a:hover{text-decoration:underline;}
@media(max-width:720px){.mmb-revenue-section-heading{align-items:flex-start;flex-direction:column}.mmb-revenue-section-heading>strong{font-size:20px}}

/* v2.2.76 — privatisation : occupation réelle vs exclusivité */
.mmb-owner-portal .mmb-gc-status-privatization-occupied,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-privatization-occupied{background:#8f3f70!important;color:#fff!important;}
.mmb-owner-portal .mmb-gc-status-privatization-free,
.mmb-owner-portal .mmb-owner-legend .mmb-gc-status-privatization-free{background:#c9a8bd!important;color:#34222e!important;}
.mmb-owner-portal .mmb-dossier-state{display:inline-block;border-radius:999px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:700;white-space:nowrap;margin:4px 0}
.mmb-owner-portal .mmb-dossier-state.is-occupied{background:#f2dce9;color:#6e2850}
.mmb-owner-portal .mmb-dossier-state.is-free{background:#eee3ea;color:#5d4555}


/* v2.2.89 — calendrier : mois entier visible sur ordinateur
   Sur desktop, le sélecteur est centré dans la fenêtre et compacté pour que
   les 5/6 semaines du mois soient visibles sans faire défiler la page.
   Le comportement mobile/tablette reste inchangé. */
@media screen and (min-width: 761px){
  .mmb-floating-datepicker{
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    width:min(420px, calc(100vw - 48px))!important;
    max-width:420px!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    transform:translate(-50%, -50%)!important;
    z-index:2147483000!important;
    box-sizing:border-box!important;
  }
  .mmb-floating-datepicker .mmb-datepicker-head{
    margin-bottom:8px!important;
  }
  .mmb-floating-datepicker .mmb-datepicker-help{
    margin:6px 0 8px!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single caption{
    padding:6px 0 8px!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single th{
    padding:5px 2px!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single .mmb-day{
    width:32px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0!important;
  }
}
@media screen and (min-width: 761px) and (max-height: 650px){
  .mmb-floating-datepicker{
    padding:10px!important;
  }
  .mmb-floating-datepicker .mmb-datepicker-head{
    margin-bottom:5px!important;
  }
  .mmb-floating-datepicker .mmb-datepicker-help{
    margin:4px 0 6px!important;
    font-size:.82rem!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single caption{
    padding:4px 0 6px!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single th{
    padding:3px 2px!important;
  }
  .mmb-floating-datepicker .mmb-calendar-single .mmb-day{
    width:28px!important;
    height:28px!important;
    min-height:28px!important;
  }
}


/* v2.2.90 — planning global public : mois complet visible sur ordinateur
   Le tableau "Vue globale des disponibilités" tient sur une seule largeur
   en desktop. Le défilement horizontal reste disponible sur mobile/tablette. */
@media screen and (min-width: 1024px){
  .mmb-public-global-planning .mmb-public-planning-scroll{
    overflow-x:hidden!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table .mmb-public-planning-accommodation{
    width:205px!important;
    min-width:205px!important;
    max-width:205px!important;
    padding-left:10px!important;
    padding-right:8px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table th:not(.mmb-public-planning-accommodation),
  .mmb-public-global-planning .mmb-public-planning-table td{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table thead th:not(.mmb-public-planning-accommodation){
    font-size:10px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table thead th small{
    margin-top:2px!important;
    font-size:8px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table td span{
    font-size:12px!important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1180px){
  .mmb-public-global-planning{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table .mmb-public-planning-accommodation{
    width:175px!important;
    min-width:175px!important;
    max-width:175px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table .mmb-public-planning-accommodation a,
  .mmb-public-global-planning .mmb-public-planning-table .mmb-public-planning-accommodation > span{
    font-size:11px!important;
  }
  .mmb-public-global-planning .mmb-public-planning-table .mmb-public-planning-accommodation small{
    font-size:9px!important;
  }
}

/* v2.2.91 — tarifs modifiables dossier par dossier */
.mmb-owner-rate-choice input[type="number"]{
  width:110px!important;
  min-width:90px!important;
  height:auto!important;
  margin-left:6px;
}
.mmb-owner-edit-option input[type="number"]{
  width:110px!important;
  min-width:90px!important;
  height:auto!important;
  flex:0 0 110px!important;
}
@media(max-width:700px){
  .mmb-owner-edit-option{flex-wrap:wrap}
  .mmb-owner-edit-option span{min-width:180px}
}
