.ena130{display:grid;grid-template-columns:minmax(0,1fr) 410px;max-width:1450px;margin:38px auto;background:#fff;border:1px solid #e7e7e7;box-shadow:0 18px 54px rgba(0,0,0,.08);font-family:inherit}
.ena130-main{padding:26px 34px 30px;min-width:0}.ena130-nav{display:flex;justify-content:space-between;margin-bottom:24px}.ena130-nav button{border:0;background:none;color:#cf6f32;font-size:1rem;cursor:pointer}
.ena130-calendars{display:grid;grid-template-columns:1fr 1fr;gap:38px}.ena130-month h3{text-align:center;color:#5b6267;font-size:1.12rem;margin:0 0 16px;text-transform:capitalize}
.ena130-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ena130-head{text-align:center;font-weight:700;color:#565b60;padding:8px 0 11px}.ena130-empty,.ena130-day{min-height:50px}
.ena130-day{border:0;background:#f0f5f4;color:#111;font-size:1rem}.ena130-day.is-reserved{background:#f4f4f4;color:#aaa;text-decoration:line-through}.ena130-day.is-unknown{background:#fafafa;color:#ccc}
.ena130-day.is-transition{background:linear-gradient(135deg,#0e969b 0 48%,#eff5f4 49% 100%)}.ena130-day.is-selectable{cursor:pointer;box-shadow:inset 0 0 0 1px rgba(14,150,155,.18)}
.ena130-day.is-range{background:#0e969b;color:#fff}.ena130-day.is-start{font-weight:800}.ena130-day.is-end{font-weight:800}
.ena130-legend{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 26px;font-size:.8rem;color:#777}.ena130-dot{width:12px;height:12px;display:inline-block;margin-right:6px;vertical-align:-1px}.ena130-dot.is-available{background:#eff5f4;border:1px solid #d6e2df}.ena130-dot.is-reserved{background:#f4f4f4;border:1px solid #ddd}.ena130-dot.is-transition{background:#0e969b}
.ena130-bottom{display:flex;align-items:end;gap:24px}.ena130-duration label{display:block;color:#555;margin-bottom:7px}.ena130-duration select{min-height:46px;border:1px solid #ccd3d5;padding:0 12px;background:#fff}.ena130-reserve-start{min-height:48px;border:0;background:#c76f32;color:#fff;padding:0 24px;font-weight:700;cursor:pointer}
.ena130-help{color:#777;margin:16px 0 0}.ena130-sync{font-size:.76rem;color:#8a8a8a;margin-top:8px}
.ena130-summary{border-left:1px solid #e7e7e7;padding:30px;display:flex;flex-direction:column}.ena130-summary-top{display:flex;align-items:baseline;gap:7px;border-bottom:1px solid #e9e9e9;padding-bottom:18px}.ena130-total{font-size:2.25rem;font-weight:800;color:#333}
.ena130-dates{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dfe3e4;margin:18px 0;padding:11px 13px}.ena130-dates span,.ena130-travellers>span{display:block;font-size:.82rem;color:#666}.ena130-dates strong{display:block;margin-top:3px;color:#444}
.ena130-travellers{border:1px solid #dfe3e4;padding:12px 13px;margin-bottom:20px}.ena130-guest-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:9px}.ena130-guest-row label{font-size:.78rem;color:#666}.ena130-guest-row select{width:100%;margin-top:4px;min-height:34px}
.ena130-lines>div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #ececec;color:#555}.ena130-lines .is-total{font-weight:800}.ena130-lines .is-caution{font-style:italic}
.ena130-price-note{font-size:.78rem;color:#888;margin:14px 0}.ena130-book{margin-top:auto;display:flex;justify-content:center;align-items:center;min-height:54px;background:#c76f32;color:#fff!important;text-decoration:none;font-size:1.1rem;font-weight:700}
@media(max-width:1080px){.ena130{grid-template-columns:1fr}.ena130-summary{border-left:0;border-top:1px solid #e7e7e7}.ena130-book{margin-top:22px}}
@media(max-width:760px){.ena130-main{padding:20px 14px}.ena130-calendars{grid-template-columns:1fr;gap:24px}.ena130-bottom{flex-direction:column;align-items:stretch}.ena130-reserve-start{width:100%}.ena130-summary{padding:22px 18px}.ena130-day,.ena130-empty{min-height:43px}}
.ena130-official{font-size:.74rem;line-height:1.45;color:#777;margin:6px 0 0}
.ena-booking-home{padding:34px 18px 46px;background:#f8f6f1}
.ena-booking-home .ena-shell{max-width:1500px;margin:0 auto}
.ena-booking-home .ena130{margin:0 auto}

/* === v1.4 visual refinement === */
.ena130-section{
  scroll-margin-top:110px;
  padding:64px 20px 72px;
  background:
    radial-gradient(circle at 12% 0%,rgba(199,111,50,.08),transparent 34%),
    linear-gradient(180deg,#fbfaf7 0%,#f5f2eb 100%);
}
.ena130-intro{max-width:860px;margin:0 auto 28px;text-align:center}
.ena130-kicker{display:block;letter-spacing:.16em;font-size:.73rem;font-weight:800;color:#b66934;margin-bottom:11px}
.ena130-intro h2{margin:0;color:#1f382d;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;font-family:Georgia,"Times New Roman",serif;font-weight:500}
.ena130-intro p{max-width:760px;margin:14px auto 0;color:#667069;line-height:1.65;font-size:1rem}

.ena130{
  max-width:1380px;
  border:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(31,56,45,.13);
  background:#fff;
}
.ena130-main{padding:32px 38px 34px}
.ena130-nav{margin-bottom:18px}
.ena130-nav button{
  color:#a85f2e;
  font-weight:700;
  padding:8px 10px;
  border-radius:999px;
  transition:.2s ease;
}
.ena130-nav button:hover{background:#f5ece4}
.ena130-calendars{gap:46px}
.ena130-month h3{
  color:#1f382d;
  font-size:1.18rem;
  font-weight:800;
  margin-bottom:14px;
}
.ena130-grid{gap:4px}
.ena130-head{color:#7b817d;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.ena130-empty,.ena130-day{min-height:48px}
.ena130-day{
  border-radius:8px;
  background:#eef4f2;
  transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
}
.ena130-day.is-selectable:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 15px rgba(14,150,155,.16);
}
.ena130-day.is-reserved{background:#f2f2f0;color:#aaa;text-decoration:none}
.ena130-day.is-unknown{background:#faf9f7;color:#c9c9c5}
.ena130-day.is-transition{background:linear-gradient(135deg,#0f8f91 0 48%,#eef4f2 49% 100%)}
.ena130-day.is-range{background:#0f8f91;color:#fff}
.ena130-day.is-start,.ena130-day.is-end{
  background:#0b7477;
  color:#fff;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);
}
.ena130-legend{margin:20px 0 26px;padding-top:6px}
.ena130-bottom{
  padding-top:22px;
  border-top:1px solid #ece9e3;
  justify-content:space-between;
}
.ena130-duration select{
  min-width:180px;
  border-radius:10px;
  border-color:#d8ddd9;
  padding:0 14px;
}
.ena130-reserve-start{
  border-radius:999px;
  background:#c76f32;
  padding:0 26px;
  box-shadow:0 8px 20px rgba(199,111,50,.22);
}
.ena130-reserve-start:hover{background:#aa5d2c}
.ena130-help{font-size:.9rem}
.ena130-sync,.ena130-official{max-width:840px}

.ena130-summary{
  background:#1f382d;
  color:#fff;
  border-left:0;
  padding:34px 30px;
}
.ena130-summary-top{border-bottom-color:rgba(255,255,255,.16)}
.ena130-total{color:#fff}
.ena130-summary-top small{color:rgba(255,255,255,.72)}
.ena130-dates,.ena130-travellers{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
  border-radius:12px;
}
.ena130-dates span,.ena130-travellers>span,.ena130-guest-row label{color:rgba(255,255,255,.72)}
.ena130-dates strong{color:#fff}
.ena130-guest-row select{
  border:1px solid rgba(255,255,255,.25);
  border-radius:8px;
  background:#fff;
  color:#1f382d;
}
.ena130-lines>div{
  color:rgba(255,255,255,.78);
  border-bottom-color:rgba(255,255,255,.14);
}
.ena130-lines strong{color:#fff}
.ena130-price-note{color:rgba(255,255,255,.7)}
.ena130-book{
  border-radius:999px;
  background:#d87b39;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.ena130-book:hover{background:#e48a48}
.ena130-sync,.ena130-official{color:#858b87}
.ena-booking-home{padding:0;background:transparent}

@media(max-width:1080px){
  .ena130-summary{border-top:0}
  .ena130-main{padding:30px 26px}
}
@media(max-width:760px){
  .ena130-section{padding:44px 12px 50px}
  .ena130-intro{margin-bottom:20px}
  .ena130{border-radius:16px}
  .ena130-main{padding:20px 14px 22px}
  .ena130-calendars{gap:22px}
  .ena130-day,.ena130-empty{min-height:42px}
  .ena130-summary{padding:24px 18px}
  .ena130-bottom{align-items:stretch}
  .ena130-duration select{width:100%}
}

/* === v1.5 petit moteur accueil === */
.ena-mini-booking{
  position:relative;
  z-index:5;
  max-width:1280px;
  margin:-36px auto 46px;
  padding:22px 24px 18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(31,56,45,.08);
  border-radius:18px;
  box-shadow:0 22px 60px rgba(31,56,45,.16);
  backdrop-filter:blur(10px);
}
.ena-mini-booking__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:15px;
}
.ena-mini-booking__head span{
  color:#b66934;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.16em;
}
.ena-mini-booking__head h2{
  margin:0;
  color:#1f382d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.75rem;
  font-weight:500;
}
.ena-mini-booking__form{
  display:grid;
  grid-template-columns:1.35fr 1.35fr .72fr .72fr 1.45fr;
  gap:10px;
  align-items:end;
}
.ena-mini-booking__form label{
  display:block;
  min-width:0;
}
.ena-mini-booking__form label>span{
  display:block;
  margin:0 0 6px 4px;
  color:#667069;
  font-size:.74rem;
  font-weight:700;
}
.ena-mini-booking__form input,
.ena-mini-booking__form select{
  width:100%;
  height:50px;
  border:1px solid #d8ddd9;
  border-radius:12px;
  padding:0 12px;
  background:#fbfcfa;
  color:#1f382d;
  box-sizing:border-box;
  font:inherit;
}
.ena-mini-booking__form input:focus,
.ena-mini-booking__form select:focus{
  outline:2px solid rgba(199,111,50,.22);
  border-color:#c76f32;
}
.ena-mini-booking__form button{
  height:50px;
  border:0;
  border-radius:999px;
  background:#c76f32;
  color:#fff;
  padding:0 20px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(199,111,50,.24);
}
.ena-mini-booking__form button:hover{background:#aa5d2c}
.ena-mini-booking__form button b{margin-left:7px}
.ena-mini-booking__note{
  display:flex;
  align-items:center;
  gap:7px;
  margin:11px 3px 0;
  color:#7d8580;
  font-size:.72rem;
}
.ena-mini-booking__note i{
  width:7px;height:7px;border-radius:50%;background:#0f8f91;display:block;
}
@media(max-width:1000px){
  .ena-mini-booking{margin:20px 18px 36px}
  .ena-mini-booking__form{grid-template-columns:1fr 1fr 1fr 1fr}
  .ena-mini-booking__form button{grid-column:1/-1}
}
@media(max-width:650px){
  .ena-mini-booking{padding:18px 14px;margin:14px 10px 28px}
  .ena-mini-booking__head{display:block}
  .ena-mini-booking__head h2{margin-top:5px;font-size:1.55rem}
  .ena-mini-booking__form{grid-template-columns:1fr 1fr}
  .ena-mini-booking__form label:nth-of-type(1),
  .ena-mini-booking__form label:nth-of-type(2){grid-column:1/-1}
  .ena-mini-booking__form button{grid-column:1/-1}
}

/* v1.5.1 — moteur accueil synchronisé */
.ena-mini-booking--smart .ena-mini-booking__form{
  grid-template-columns:1.55fr 1fr .72fr .72fr 1.5fr;
}
.ena-mini-booking--smart select:disabled{
  opacity:.65;
  cursor:wait;
}
.ena-mini-booking--smart button:disabled{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
.ena-mini-booking--smart .ena-mini-arrival select{
  font-weight:700;
  color:#1f382d;
}
@media(max-width:1000px){
  .ena-mini-booking--smart .ena-mini-booking__form{
    grid-template-columns:1fr 1fr 1fr 1fr;
  }
}
@media(max-width:650px){
  .ena-mini-booking--smart .ena-mini-booking__form{
    grid-template-columns:1fr 1fr;
  }
  .ena-mini-booking--smart .ena-mini-arrival{
    grid-column:1/-1;
  }
}

/* =====================================================
   v1.5.2 — PETIT MOTEUR ACCUEIL PREMIUM
   ===================================================== */

.ena-mini-booking{
  max-width:1280px !important;
  margin:-42px auto 54px !important;
  padding:20px 22px 18px !important;

  background:
    linear-gradient(180deg,rgba(255,255,255,.985),rgba(250,248,243,.985)) !important;

  border:1px solid rgba(31,56,45,.07) !important;
  border-radius:22px !important;

  box-shadow:
    0 26px 70px rgba(31,56,45,.16),
    0 4px 14px rgba(31,56,45,.04) !important;

  backdrop-filter:blur(14px) !important;
}

.ena-mini-booking__head{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:end !important;
  gap:20px !important;
  margin-bottom:16px !important;
}

.ena-mini-booking__head span{
  color:#b66934 !important;
  letter-spacing:.17em !important;
  font-size:.68rem !important;
  font-weight:800 !important;
}

.ena-mini-booking__head h2{
  margin:0 !important;
  color:#1f382d !important;

  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:500 !important;
  font-size:1.7rem !important;
  line-height:1.1 !important;
}

.ena-mini-booking--smart .ena-mini-booking__form{
  display:grid !important;
  grid-template-columns:minmax(230px,1.55fr) minmax(150px,1fr) minmax(105px,.72fr) minmax(105px,.72fr) minmax(230px,1.45fr) !important;
  gap:10px !important;
  align-items:end !important;
}

.ena-mini-booking__form label{
  min-width:0 !important;
}

.ena-mini-booking__form label > span{
  display:block !important;
  margin:0 0 6px 5px !important;

  color:#758078 !important;
  font-size:.7rem !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.ena-mini-booking__form input,
.ena-mini-booking__form select{
  width:100% !important;
  height:52px !important;

  padding:0 14px !important;

  border:1px solid #d9ded9 !important;
  border-radius:13px !important;

  background:#fbfcfa !important;
  color:#1f382d !important;

  box-shadow:
    inset 0 1px 2px rgba(31,56,45,.025) !important;

  font-size:.94rem !important;
  font-weight:600 !important;

  box-sizing:border-box !important;

  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease !important;
}

.ena-mini-booking__form input:hover,
.ena-mini-booking__form select:hover{
  background:#fff !important;
  border-color:#c9d1cb !important;
}

.ena-mini-booking__form input:focus,
.ena-mini-booking__form select:focus{
  outline:none !important;
  border-color:#c76f32 !important;

  box-shadow:
    0 0 0 3px rgba(199,111,50,.10) !important;
}

.ena-mini-booking--smart .ena-mini-arrival select{
  color:#1f382d !important;
  font-weight:700 !important;
}

.ena-mini-booking__form button{
  height:52px !important;

  border:0 !important;
  border-radius:999px !important;

  background:
    linear-gradient(180deg,#d17a3a 0%,#c76f32 100%) !important;

  color:#fff !important;

  padding:0 24px !important;

  font-size:.95rem !important;
  font-weight:800 !important;

  box-shadow:
    0 12px 24px rgba(199,111,50,.24) !important;

  cursor:pointer !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease !important;
}

.ena-mini-booking__form button:hover:not(:disabled){
  transform:translateY(-1px) !important;
  background:#ad5e2d !important;

  box-shadow:
    0 15px 28px rgba(199,111,50,.28) !important;
}

.ena-mini-booking__form button b{
  margin-left:8px !important;
  font-size:1.05rem !important;
}

.ena-mini-booking__note{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:7px !important;

  margin:10px 4px 0 !important;

  color:#7d8580 !important;
  font-size:.7rem !important;
}

.ena-mini-booking__note i{
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  background:#277c72 !important;

  box-shadow:0 0 0 3px rgba(39,124,114,.08) !important;
}

/* Le moteur s'intègre mieux juste sous le hero */
.ena-hero + .ena-booking-home,
.ena-hero + section .ena-mini-booking{
  position:relative !important;
  z-index:6 !important;
}

/* Tablette */
@media(max-width:1100px){
  .ena-mini-booking{
    margin:22px 18px 42px !important;
  }

  .ena-mini-booking--smart .ena-mini-booking__form{
    grid-template-columns:1.35fr 1fr .7fr .7fr !important;
  }

  .ena-mini-booking__form button{
    grid-column:1/-1 !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .ena-mini-booking{
    margin:14px 10px 32px !important;
    padding:18px 14px 16px !important;
    border-radius:18px !important;
  }

  .ena-mini-booking__head{
    display:block !important;
  }

  .ena-mini-booking__head h2{
    margin-top:6px !important;
    font-size:1.55rem !important;
  }

  .ena-mini-booking--smart .ena-mini-booking__form{
    grid-template-columns:1fr 1fr !important;
  }

  .ena-mini-booking--smart .ena-mini-arrival{
    grid-column:1/-1 !important;
  }

  .ena-mini-booking__form button{
    grid-column:1/-1 !important;
  }

  .ena-mini-booking__note{
    justify-content:flex-start !important;
    line-height:1.4 !important;
  }
}
