.ema-booking{max-width:1050px;margin:35px auto;padding:42px;background:#f7efe6;border-radius:26px;color:#39291f;box-shadow:0 18px 45px #5f40271c}.ema-booking__header{text-align:center}.ema-booking__header span{letter-spacing:.25em;text-transform:uppercase;font-size:12px}.ema-booking h2{font-size:46px;margin:8px 0}.ema-note{padding:18px;border-radius:14px;margin:22px 0;line-height:1.55}.ema-note.ok{background:#e8efe3;border:1px solid #bfd1b3}.ema-note.err{background:#f7ded8;border:1px solid #dfa99c}.ema-legend{display:flex;gap:18px;justify-content:center;margin:22px 0}.ema-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;border:1px solid #c9b9aa}.ema-legend .pending{background:#e5ad4d}.ema-legend .blocked{background:#b7443a}.ema-cal{background:#fffaf5;border-radius:18px;padding:18px;margin-bottom:28px}.ema-cal nav{display:flex;justify-content:space-between;align-items:center}.ema-cal nav button{border:0;border-radius:50%;width:36px;height:36px}.ema-cal section{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ema-cal h3{text-align:center;text-transform:capitalize}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cal-grid b{text-align:center;font-size:11px}.cal-grid button{aspect-ratio:1;border:0;border-radius:8px;background:#fff}.cal-grid button.pending{background:#e5ad4d;color:#fff}.cal-grid button.blocked{background:#b7443a;color:#fff}.ema-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ema-grid label{font-size:13px;font-weight:600}.ema-grid input,.ema-grid select,.ema-grid textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #cab7a6;border-radius:11px;background:#fff}.ema-grid .full{grid-column:1/-1}.consent{display:block;margin:20px 0}.ema-booking form>button{width:100%;padding:15px;border:0;border-radius:999px;background:#5f4027;color:#fff;font-weight:700}.ema-booking small{display:block;text-align:center;margin-top:12px}@media(max-width:760px){.ema-booking{margin:15px;padding:24px}.ema-cal section,.ema-grid{grid-template-columns:1fr}.ema-grid .full{grid-column:auto}}

.ema-date-help{
  margin:0 0 14px;
  padding:11px 13px;
  border-left:3px solid #9a6a45;
  background:#f5eee6;
  color:#5c4637;
  font-size:13px;
}

/* Check-in e check-out sempre lado a lado e pela ordem correta */
.ema-field-checkin{grid-column:1}
.ema-field-checkout{grid-column:2}
@media (min-width:701px){
  .ema-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ema-field-checkin{grid-row:2;grid-column:1}
  .ema-field-checkout{grid-row:2;grid-column:2}
}
@media (max-width:700px){
  .ema-field-checkin,
  .ema-field-checkout{
    grid-column:1 / -1;
  }
  .ema-field-checkin{order:2}
  .ema-field-checkout{order:3}
}

.ema-discount-field span{font-weight:400;opacity:.68}
.ema-code-row{display:flex;gap:8px}.ema-code-row input{flex:1}.ema-code-row button{width:auto;padding:0 15px;margin:0;background:#8a6040}
#ema-code-message{display:block;margin-top:5px}.ema-discount-field small.ok{color:#3d7b4a}.ema-discount-field small.err{color:#a33b31}
.ema-price-box{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px;background:#f5eee6;border:1px solid #e5d6c7;border-radius:10px}
.ema-price-box>div{padding:10px;background:#fff;border-radius:7px}.ema-price-box span,.ema-price-box strong{display:block}.ema-price-box span{font-size:11px;color:#746356}.ema-price-box strong{font-size:17px;color:#4f3524}
.ema-price-box .ema-price-total{background:#6a4930}.ema-price-box .ema-price-total span,.ema-price-box .ema-price-total strong{color:#fff}.ema-price-box p{grid-column:1/-1;margin:2px 0 0;font-size:11px;color:#75675d}
@media(max-width:700px){.ema-price-box{grid-template-columns:1fr 1fr}}

.ema-cal button.pending{background:#f7d98a!important;color:#5a4318!important;border-color:#e6ad4c!important}
.ema-cal button.blocked{background:#b7463b!important;color:#fff!important;border-color:#9c352d!important}

.ema-calendar-guide{
  display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 15px;
  padding:12px 14px;background:#fff;border:1px solid #eadfd3;border-radius:10px;
  font-size:12px;color:#5e4a3d
}
.ema-calendar-guide span{display:flex;align-items:center;gap:7px}
.ema-calendar-guide i{width:11px;height:11px;border-radius:50%;display:inline-block}
.ema-calendar-guide i.available{background:#7aa874}
.ema-calendar-guide i.pending{background:#e6ad4c}
.ema-calendar-guide i.blocked{background:#b7463b}

.ema-cal .cal-grid button{
  min-height:58px;padding:5px 3px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;border-radius:8px
}
.ema-cal .cal-grid button.available{
  background:#e7f2e5!important;color:#355735!important;border-color:#a7c9a3!important
}
.ema-cal .cal-grid button.pending{
  background:#fff0bf!important;color:#6b5014!important;border-color:#e6ad4c!important
}
.ema-cal .cal-grid button.blocked{
  background:#b7463b!important;color:#fff!important;border-color:#9c352d!important
}
.ema-cal .cal-grid button.checkin,
.ema-cal .cal-grid button.checkout{
  box-shadow:inset 0 0 0 3px #6a4930!important
}
.ema-cal .cal-grid button.range{
  box-shadow:inset 0 0 0 2px rgba(106,73,48,.55)!important
}
.ema-day-number{font-weight:700;font-size:14px}
.ema-day-price{font-size:10px;font-weight:600;line-height:1.1}
.ema-cal button.blocked .ema-day-price{color:#fff}

.ema-price-breakdown{
  grid-column:1/-1;margin-top:4px;padding-top:10px;border-top:1px solid #dfd0c1
}
.ema-price-breakdown h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.ema-price-breakdown>div{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}
.ema-price-breakdown>div+div{border-top:1px dashed #e1d4c7}
@media(max-width:700px){
  .ema-cal .cal-grid button{min-height:54px}
  .ema-day-price{font-size:9px}
}

/* Interface pública simplificada */
.ema-booking .ema-legend{display:none!important}
.ema-booking__header{max-width:760px;margin:0 auto 28px;text-align:center}
.ema-booking__header span{font-size:11px;letter-spacing:.28em;text-transform:uppercase}
.ema-booking__header h2{font-size:clamp(38px,5vw,58px);margin:8px 0 12px}
.ema-booking__header p{max-width:660px;margin:0 auto;color:#705d50;font-size:15px}

.ema-calendar-guide{
  justify-content:center;
  gap:10px;
  margin:0 auto 10px;
  padding:0;
  background:transparent;
  border:0;
}
.ema-calendar-guide span{
  gap:7px;
  padding:7px 11px;
  border:1px solid #e3d8cd;
  background:#fff;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.ema-calendar-note{
  max-width:760px;
  margin:0 auto 18px;
  padding:11px 14px;
  text-align:center;
  background:#fff7df;
  border:1px solid #eedaa2;
  border-radius:9px;
  color:#725616;
  font-size:12px;
}
.ema-cal{
  margin-top:0;
  border-radius:16px;
}
.ema-cal nav strong{
  font-size:15px;
  letter-spacing:.02em;
}
.ema-cal .ema-cal-month h3{
  font-size:clamp(27px,3vw,38px);
  text-transform:capitalize;
}
.ema-cal .cal-grid b{
  font-size:11px;
  color:#7b685b;
}
.ema-cal .cal-grid button{
  min-height:66px;
  box-shadow:none;
}
.ema-cal .cal-grid button.available{
  background:#eef6ec!important;
  color:#365b36!important;
}
.ema-cal .cal-grid button.pending{
  background:#fff2c9!important;
  color:#705315!important;
}
.ema-cal .cal-grid button.blocked{
  background:#b7463b!important;
  color:#fff!important;
}
.ema-cal .cal-grid button.checkin,
.ema-cal .cal-grid button.checkout{
  box-shadow:inset 0 0 0 3px #6a4930!important;
}
.ema-cal .cal-grid button.range{
  box-shadow:inset 0 0 0 2px rgba(106,73,48,.35)!important;
}
.ema-day-price{
  font-size:10px;
  opacity:.9;
}
@media(max-width:700px){
  .ema-calendar-guide{
    display:grid;
    grid-template-columns:1fr;
    max-width:280px;
  }
  .ema-calendar-guide span{justify-content:center}
  .ema-calendar-note{text-align:left}
}

/* v4.6 — força a visualização do estado, seleção e preço por noite */
.ema-cal .cal-grid button.ema-date-cell{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:68px!important;
  padding:6px 3px!important;
  opacity:1!important;
}
.ema-cal .cal-grid button.ema-state-available{
  background:#e4f1e2!important;
  border:1px solid #9bc197!important;
  color:#2f5731!important;
}
.ema-cal .cal-grid button.ema-state-pending{
  background:#ffedb3!important;
  border:1px solid #dfa62e!important;
  color:#654b10!important;
}
.ema-cal .cal-grid button.ema-state-blocked{
  background:#b7463b!important;
  border:1px solid #96332b!important;
  color:#fff!important;
}
.ema-cal .cal-grid button.ema-selected-checkin,
.ema-cal .cal-grid button.ema-selected-checkout{
  outline:3px solid #4f3524!important;
  outline-offset:-3px!important;
  transform:translateY(-1px);
}
.ema-cal .cal-grid button.ema-selected-range{
  outline:2px solid rgba(79,53,36,.48)!important;
  outline-offset:-2px!important;
}
.ema-cal .ema-day-number{
  display:block!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:700!important;
}
.ema-cal .ema-day-price{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:5px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.ema-cal button.ema-state-blocked .ema-day-price{
  color:#fff!important;
}
.ema-cal button.ema-selected-checkin::after{
  content:"Check-in";
}
.ema-cal button.ema-selected-checkout::after{
  content:"Check-out";
}
.ema-cal button.ema-selected-checkin::after,
.ema-cal button.ema-selected-checkout::after{
  position:absolute;
  left:50%;
  bottom:-17px;
  transform:translateX(-50%);
  z-index:3;
  padding:2px 5px;
  border-radius:4px;
  background:#4f3524;
  color:#fff;
  font-size:8px;
  line-height:1.2;
  white-space:nowrap;
}

.ema-price-box{grid-template-columns:repeat(6,minmax(0,1fr))}
.ema-grid label>span{font-weight:400;opacity:.7;font-size:11px}
@media(max-width:950px){.ema-price-box{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ema-price-box{grid-template-columns:1fr 1fr}}

/* Resumo de seleção sempre visível acima do calendário */
.ema-selection-summary{
  position:sticky;
  top:92px;
  z-index:20;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
  padding:12px;
  background:rgba(255,250,245,.97);
  border:1px solid #dfd1c3;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(69,45,30,.10);
  backdrop-filter:blur(8px);
}
.ema-selection-summary>div{
  padding:10px 12px;
  background:#fff;
  border:1px solid #eadfd3;
  border-radius:8px;
}
.ema-selection-summary span,
.ema-selection-summary strong{
  display:block;
}
.ema-selection-summary span{
  margin-bottom:3px;
  color:#7a6657;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.ema-selection-summary strong{
  color:#4f3524;
  font-size:15px;
  line-height:1.25;
}
.ema-selection-summary>div:last-child{
  background:#6a4930;
  border-color:#6a4930;
}
.ema-selection-summary>div:last-child span,
.ema-selection-summary>div:last-child strong{
  color:#fff;
}
@media(max-width:800px){
  .ema-selection-summary{
    top:76px;
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:480px){
  .ema-selection-summary{
    position:sticky;
    top:70px;
    gap:6px;
    padding:8px;
  }
  .ema-selection-summary>div{
    padding:8px;
  }
  .ema-selection-summary strong{
    font-size:13px;
  }
}

/* v4.9 — dias pagos/bloqueados mostram apenas indisponibilidade */
.ema-cal button.ema-state-blocked .ema-day-price{
  font-size:9px!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#fff!important;
}

/* v5.1 — remove cabeçalho duplicado e simplifica a introdução */
.ema-booking__header{display:none!important}
.ema-booking-intro{
  max-width:780px;
  margin:0 auto 24px;
  text-align:center;
}
.ema-booking-intro p{
  margin:0;
  color:#6f5b4d;
  font-size:14px;
  line-height:1.6;
}

/* v5.2 — calendário contido dentro do template */
.ema-booking{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  overflow:visible;
}
.ema-booking__form,
.ema-booking-intro,
.ema-calendar-guide,
.ema-calendar-note,
.ema-selection-summary,
.ema-cal,
.ema-price-box{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.ema-cal{
  overflow:hidden;
}
.ema-cal section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:24px!important;
  width:100%!important;
}
.ema-cal .ema-cal-month{
  min-width:0!important;
  width:100%!important;
}
.ema-cal .cal-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
}
.ema-cal .cal-grid>*{
  min-width:0!important;
}
.ema-cal .cal-grid button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  aspect-ratio:auto!important;
}
.ema-selection-summary{
  position:sticky;
  left:0;
  right:0;
}
@media(max-width:1100px){
  .ema-booking{max-width:100%}
  .ema-cal section{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:700px){
  .ema-cal{
    overflow-x:hidden!important;
  }
  .ema-cal .cal-grid{
    gap:4px!important;
  }
  .ema-cal .cal-grid button{
    min-height:54px!important;
    padding:4px 2px!important;
  }
  .ema-day-price{
    font-size:9px!important;
  }
}

/* v5.3 — calendário compacto e resumo abaixo */
.ema-calendar-note[hidden]{display:none!important}
.ema-calendar-note{
  max-width:760px;
  margin:10px auto 16px;
  padding:10px 12px;
  text-align:center;
  background:#fff3c7;
  border:1px solid #e6c766;
  border-radius:8px;
  color:#6f5313;
  font-size:12px;
}
.ema-selection-summary{
  position:static!important;
  top:auto!important;
  margin:16px 0 0!important;
  box-shadow:none!important;
}
.ema-cal{
  max-width:1000px!important;
  margin:0 auto!important;
  padding:18px!important;
}
.ema-cal section{
  gap:18px!important;
}
.ema-cal .ema-cal-month h3{
  font-size:clamp(24px,2.4vw,34px)!important;
  margin-bottom:14px!important;
}
.ema-cal .cal-grid{
  gap:4px!important;
}
.ema-cal .cal-grid button{
  min-height:54px!important;
  padding:4px 2px!important;
  border-radius:6px!important;
}
.ema-cal .ema-day-number{
  font-size:13px!important;
}
.ema-cal .ema-day-price{
  font-size:9px!important;
  margin-top:3px!important;
}
.ema-cal nav{
  margin-bottom:8px!important;
}
@media(max-width:1100px){
  .ema-cal{max-width:760px!important}
}
@media(max-width:700px){
  .ema-cal{
    max-width:100%!important;
    padding:12px!important;
  }
  .ema-cal .cal-grid button{
    min-height:48px!important;
  }
  .ema-selection-summary{
    grid-template-columns:1fr 1fr!important;
  }
}

.ema-occupancy-note{
  margin-top:-4px;
  padding:10px 12px;
  background:#f5eee6;
  border:1px solid #e2d3c4;
  border-radius:8px;
  color:#665244;
  font-size:12px;
}
.ema-occupancy-note.is-error{
  background:#fae7e4;
  border-color:#d89b94;
  color:#8c3028;
  font-weight:600;
}

/* v5.8 — seleção visual das cabanas antes do calendário */
.ema-cabin-selector{
  max-width:1100px;
  margin:0 auto 30px;
}
.ema-cabin-selector__heading{
  max-width:760px;
  margin:0 auto 20px;
  text-align:center;
}
.ema-cabin-selector__heading>span{
  display:block;
  margin-bottom:6px;
  color:#8a684f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ema-cabin-selector__heading h3{
  margin:0 0 8px;
  color:#4f3524;
  font-family:Georgia,serif;
  font-size:clamp(25px,3vw,38px);
  font-weight:400;
}
.ema-cabin-selector__heading p{
  margin:0;
  color:#756356;
  font-size:13px;
}
.ema-cabin-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.ema-cabin-card{
  display:grid;
  grid-template-columns:42% 58%;
  min-height:265px;
  padding:0;
  overflow:hidden;
  text-align:left;
  border:1px solid #ded0c2;
  border-radius:13px;
  background:#fff;
  color:#4f3b2d;
  box-shadow:0 8px 24px rgba(75,48,31,.06);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ema-cabin-card:hover{
  transform:translateY(-2px);
  border-color:#aa8669;
  box-shadow:0 13px 30px rgba(75,48,31,.11);
}
.ema-cabin-card.is-selected{
  border:2px solid #6a4930;
  box-shadow:0 0 0 3px rgba(106,73,48,.12),0 15px 35px rgba(75,48,31,.13);
}
.ema-cabin-card__image,
.ema-cabin-card__double-image{
  display:block;
  width:100%;
  height:100%;
  min-height:265px;
  overflow:hidden;
}
.ema-cabin-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ema-cabin-card__double-image{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.ema-cabin-card__double-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ema-cabin-card__content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:23px;
}
.ema-cabin-card__eyebrow{
  margin-bottom:7px;
  color:#8e7059;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ema-cabin-card__content>strong{
  color:#513722;
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:400;
  line-height:1.1;
}
.ema-cabin-card__description{
  margin:10px 0 14px;
  color:#6d5b4e;
  font-size:12px;
  line-height:1.55;
}
.ema-cabin-card__features{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:17px;
}
.ema-cabin-card__features i{
  padding:5px 8px;
  border-radius:999px;
  background:#f2ebe4;
  color:#684d3a;
  font-size:10px;
  font-style:normal;
}
.ema-cabin-card__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-top:auto;
  padding:0 13px;
  border-radius:5px;
  background:#6a4930;
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ema-cabin-card.is-selected .ema-cabin-card__action{
  background:#76906b;
}
.ema-cabin-card--both{
  grid-column:1/-1;
  grid-template-columns:35% 65%;
  min-height:230px;
}
.ema-cabin-card--both .ema-cabin-card__double-image{
  min-height:230px;
}
.ema-cabin-native-field{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:850px){
  .ema-cabin-cards{
    grid-template-columns:1fr;
  }
  .ema-cabin-card,
  .ema-cabin-card--both{
    grid-column:auto;
    grid-template-columns:38% 62%;
  }
}
@media(max-width:590px){
  .ema-cabin-card,
  .ema-cabin-card--both{
    display:block;
  }
  .ema-cabin-card__image,
  .ema-cabin-card__double-image,
  .ema-cabin-card--both .ema-cabin-card__double-image{
    height:190px;
    min-height:190px;
  }
  .ema-cabin-card__content{
    padding:19px;
  }
}

/* v6.0 — ordem clara: cabana, resumo, calendário, dados e desconto */
.ema-booking-progress,
.ema-calendar-section{
  max-width:1000px;
  margin:26px auto;
}
.ema-booking-progress__title,
.ema-calendar-section__heading,
.ema-details-heading,
.ema-discount-section>div:first-child{
  margin-bottom:12px;
}
.ema-booking-progress__title span,
.ema-calendar-section__heading span,
.ema-details-heading span,
.ema-discount-section>div:first-child span{
  display:block;
  color:#8a684f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ema-booking-progress__title p,
.ema-calendar-section__heading p,
.ema-details-heading p,
.ema-discount-section>div:first-child p{
  margin:5px 0 0;
  color:#756356;
  font-size:12px;
}
.ema-selection-summary{
  margin:0!important;
}
.ema-calendar-section .ema-calendar-guide{
  margin-top:0;
}
.ema-details-heading{
  padding-top:8px;
  border-top:1px solid #eadfd4;
}
.ema-discount-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,1fr);
  gap:22px;
  align-items:end;
  margin:25px 0 18px;
  padding:20px;
  border:1px solid #e2d4c7;
  border-radius:12px;
  background:#faf6f1;
}
.ema-discount-section .ema-discount-field{
  margin:0;
}
@media(max-width:700px){
  .ema-discount-section{
    grid-template-columns:1fr;
  }
}

/* v6.1 — consentimento com informação explicativa */
.ema-consent-box{
  margin:18px 0;
  padding:16px;
  border:1px solid #e2d4c7;
  border-radius:10px;
  background:#fbf8f4;
}
.ema-consent-box .consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0;
  color:#4f3c2f;
  font-size:13px;
  line-height:1.5;
}
.ema-consent-box .consent input{
  margin-top:3px;
  flex:0 0 auto;
}
.ema-consent-toggle{
  margin:10px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#6a4930;
  font-size:12px;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}
.ema-consent-details{
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #e4d8cc;
  color:#6a5a4d;
  font-size:12px;
  line-height:1.6;
}
.ema-consent-details[hidden]{
  display:none!important;
}
.ema-consent-details p{
  margin:0 0 9px;
}
.ema-consent-details ul{
  margin:0 0 9px 18px;
  padding:0;
}
.ema-consent-details a{
  color:#6a4930;
  font-weight:700;
}

/* v6.3 — quadro detalhado de preço apenas no final */
.ema-final-summary{
  margin:24px 0 18px;
}
.ema-final-summary__heading{
  margin-bottom:12px;
}
.ema-final-summary__heading span{
  display:block;
  color:#8a684f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ema-final-summary__heading p{
  margin:5px 0 0;
  color:#756356;
  font-size:12px;
}
.ema-final-summary .ema-price-box{
  margin:0!important;
}

/* v6.9 — mensagem clara para datas com pedidos pendentes */
.ema-calendar-note{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ema-calendar-note strong{
  color:#6d4e0f;
  font-size:13px;
}
.ema-calendar-note span{
  font-size:12px;
  line-height:1.55;
}


/* v10.1 — datas primeiro, cabanas disponíveis depois */
.ema-date-first-step{
  margin:0 0 28px;
  padding:28px;
  background:#fffaf5;
  border:1px solid #eadfd3;
  border-radius:16px;
}
.ema-date-first-step__heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 22px;
}
.ema-date-first-step__heading>span,
.ema-cabin-selector__heading>span{
  color:#9a6a45;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
.ema-date-first-step__heading h3{
  margin:8px 0;
  font-family:Georgia,serif;
  font-size:clamp(28px,4vw,42px);
  font-weight:400;
  color:#4f3524;
}
.ema-date-first-step__heading p{margin:0;color:#705d50}
.ema-date-first-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  max-width:760px;
  margin:0 auto;
}
.ema-date-first-fields label{
  font-size:13px;
  font-weight:700;
}
.ema-date-first-fields input{
  display:block;
  width:100%;
  margin-top:7px;
  padding:14px;
  border:1px solid #cab7a6;
  border-radius:11px;
  background:#fff;
}
.ema-availability-message{
  max-width:760px;
  margin:16px auto 0;
  padding:0;
  text-align:center;
  font-size:13px;
}
.ema-availability-message.is-loading{color:#705d50}
.ema-availability-message.is-available{
  padding:12px 14px;
  color:#365b36;
  background:#eef6ec;
  border:1px solid #b8d2b4;
  border-radius:10px;
}
.ema-availability-message.is-unavailable{
  padding:12px 14px;
  color:#8a342d;
  background:#fae7e3;
  border:1px solid #e5b6ad;
  border-radius:10px;
}
.ema-cabin-card[hidden]{display:none!important}
.ema-cabin-selector[hidden],
.ema-booking-progress[hidden],
.ema-calendar-section[hidden],
.ema-details-heading[hidden],
.ema-discount-section[hidden],
.ema-final-summary[hidden],
.ema-consent-box[hidden],
.ema-booking form>button[hidden]{display:none!important}
@media(max-width:700px){
  .ema-date-first-step{padding:20px 16px}
  .ema-date-first-fields{grid-template-columns:1fr}
}


/* v10.2 — detailed amenities and payment journey */
.ema-cabin-card__details{
  display:block;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(106,73,48,.16);
  color:#6f5c4e;
  font-size:12px;
  line-height:1.55;
}
.ema-cabin-card__features{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.ema-cabin-card__features i{
  font-style:normal;
  padding:5px 8px;
  border-radius:999px;
  background:#f2e8de;
  color:#6a4930;
  font-size:11px;
}

/* v11.2 — global availability before cabin selection */
.ema-date-first-step .ema-calendar-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(106,73,48,.16)}
.ema-date-first-step .ema-calendar-section__heading span{font-weight:700;color:#6a4930}
.ema-cal .ema-state-blocked{background:#b94b45!important;color:#fff!important;border-color:#9f3d38!important;cursor:not-allowed!important}
.ema-cal .ema-state-blocked .ema-day-price{color:#fff!important}

.ema-extras-section,.ema-deposit-notice{margin:24px 0;padding:22px;border:1px solid #e2d6ca;border-radius:16px;background:#fffaf5}
.ema-extras-section>div:first-child span{display:block;font-weight:700;font-size:18px;color:#6a4930}
.ema-extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.ema-extra-card{display:flex!important;gap:12px;align-items:flex-start;padding:16px;border:1px solid #ddcec0;border-radius:12px;background:#fff}
.ema-extra-card input{width:auto!important;margin-top:4px}.ema-extra-card strong,.ema-extra-card small{display:block}
.ema-deposit-notice{background:#f3e8dc}.ema-deposit-notice p{margin-bottom:0}
@media(max-width:700px){.ema-extras-grid{grid-template-columns:1fr}}

.ema-cal .cal-grid button.ema-state-partial{
  background:#e7b75b!important;
  color:#3e2f20!important;
  border-color:#d39b35!important;
}
.ema-calendar-guide i.partial,.ema-calendar-guide i.pending{background:#e7b75b!important}
.ema-multi-night-row{margin-top:8px;padding-top:9px;border-top:1px solid #e2d6ca;color:#527044}
.ema-availability-message.is-available{margin-top:14px}

.ema-minimum-stay-notice{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
  padding:13px 16px;
  border:1px solid #d6b68f;
  border-radius:10px;
  background:#f6eadc;
  color:#513b2c;
}
.ema-minimum-stay-notice strong{font-size:15px;letter-spacing:.02em}
.ema-minimum-stay-notice span{font-size:14px}
.ema-availability-message.is-guidance{
  background:#f6eadc;
  border:1px solid #d6b68f;
  color:#513b2c;
}
.ema-cal button[disabled].ema-state-available{
  opacity:.38;
  cursor:not-allowed;
}
