.mrv-booking-box,.mrv-booking-page{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.mrv-booking-box{width:100%;max-width:100%;background:#fff;border-radius:24px;box-shadow:0 18px 45px rgba(18,53,36,.16);border:1px solid rgba(23,63,43,.08);padding:18px;overflow:visible}.mrv-booking-form{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(2,minmax(150px,1fr)) repeat(2,minmax(88px,.6fr)) auto;gap:12px;align-items:end;width:100%;max-width:100%;min-width:0}.mrv-field{min-width:0;position:relative}.mrv-field label{display:block;font-size:12px;font-weight:900;color:#173f2b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;line-height:1.15}.mrv-field input,.mrv-field select{width:100%;max-width:100%;min-width:0;height:48px;border:1px solid #d9e5dc;border-radius:16px;padding:0 13px;background:#fff;color:#172d21}.mrv-booking-btn{height:48px;border:0;border-radius:16px;background:var(--mrv-booking-primary,#173f2b);color:#fff;padding:0 20px;font-weight:950;cursor:pointer;box-shadow:0 12px 26px rgba(23,63,43,.2);white-space:nowrap}.mrv-booking-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.mrv-help-line{margin:13px 0 0;color:#7a5634;font-weight:850;font-size:14px}.mrv-help-line a{color:#173f2b;text-decoration:underline;text-underline-offset:3px}.mrv-booking-message{margin-top:12px;color:#694600;font-weight:700}.mrv-booking-page{background:#fff;border-radius:28px;padding:30px;box-shadow:0 18px 45px rgba(18,53,36,.12);border:1px solid rgba(23,63,43,.08);max-width:1180px;margin:30px auto}.mrv-page-head h2,.mrv-booking-page h2{margin:0;color:var(--mrv-booking-primary,#173f2b);font-size:34px;line-height:1.1}.mrv-page-head p{color:#68766e}.mrv-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--mrv-booking-accent,#cba35c);font-weight:950;margin:0 0 8px}.mrv-search-summary,.mrv-selected-card,.mrv-summary-card,.mrv-confirm-card{background:#fbf7ee;border:1px solid #eadcc3;border-radius:18px;padding:18px;margin:14px 0}.mrv-results-rich{display:grid;grid-template-columns:1fr;gap:22px;margin-top:22px}.mrv-room-card-rich{display:grid;grid-template-columns:360px 1fr;border:1px solid #dfe8e2;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 16px 40px rgba(18,53,36,.10)}.mrv-room-photo{min-height:310px;background:linear-gradient(135deg,#e3f1e5,#fff3d5);display:grid;place-items:center;font-size:54px}.mrv-room-photo img{width:100%;height:100%;object-fit:cover}.mrv-room-body{padding:24px}.mrv-room-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.mrv-room-body h3{margin:0 0 8px;color:#173f2b;font-size:30px;line-height:1.06}.mrv-room-desc{color:#5f6f66;font-size:17px;line-height:1.7;margin:12px 0}.mrv-left-count{background:#eff8f2;color:#173f2b;border-radius:999px;padding:9px 12px;font-weight:950;white-space:nowrap}.mrv-room-specs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.mrv-room-specs span,.mrv-tag{font-size:13px;background:#eef7f1;color:#244b34;border-radius:999px;padding:7px 11px;font-weight:900}.mrv-price-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0}.mrv-price-wrap strong{display:block;font-size:34px;color:#173f2b;line-height:1}.mrv-price-wrap small{display:block;color:#68766e;margin-top:5px}.mrv-old-price{display:block;color:#8d978f;text-decoration:line-through;font-weight:800}.mrv-card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.mrv-room-count-label{display:flex;align-items:center;gap:8px;background:#fbf7ee;border:1px solid #eadcc3;border-radius:16px;padding:8px 12px;font-weight:950;color:#173f2b}.mrv-room-count-label select{height:36px;border:1px solid #d9e5dc;border-radius:10px;background:white}.mrv-room-link{font-weight:950;color:#173f2b;text-decoration:underline;text-underline-offset:4px}.mrv-guest-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mrv-guest-form .mrv-booking-btn{grid-column:1/-1}.mrv-loader{padding:20px;border-radius:16px;background:#fbf7ee;color:#66543b}.mrv-error{padding:14px 16px;border-radius:14px;background:#fff0f0;color:#9a1d1d;border:1px solid #ffd0d0}.mrv-success{padding:14px 16px;border-radius:14px;background:#eff9f0;color:#1d6b34;border:1px solid #ccebd0}.mrv-summary-line{display:flex;justify-content:space-between;border-bottom:1px dashed #dbcdb6;padding:9px 0;gap:18px}.mrv-payment-link{display:inline-flex;margin-top:18px;background:var(--mrv-booking-accent,#cba35c);color:#1e2d22;border-radius:999px;padding:13px 20px;font-weight:950;text-decoration:none}.mrv-price-calendar{position:absolute;z-index:999;background:#fff;border:1px solid #d9e5dc;border-radius:18px;box-shadow:0 20px 50px rgba(18,53,36,.18);padding:14px;width:330px;top:calc(100% + 6px);left:0}.mrv-cal-title{font-weight:950;color:#173f2b;margin-bottom:10px}.mrv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mrv-cal-day{border:1px solid #e2eadf;border-radius:10px;background:#fff;padding:7px 4px;min-height:54px;cursor:pointer;color:#173f2b}.mrv-cal-day span{display:block;font-weight:950}.mrv-cal-day small{display:block;font-size:10px;color:#c08b2f}.mrv-cal-day.is-disabled{opacity:.45;background:#f3f3f3;cursor:not-allowed}.mrv-room-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.mrv-room-detail-hero img{border-radius:26px;box-shadow:0 18px 45px rgba(18,53,36,.14);width:100%;height:430px;object-fit:cover}
@media(max-width:1180px){.mrv-booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.mrv-booking-btn{grid-column:1/-1;width:100%}.mrv-room-card-rich{grid-template-columns:1fr}.mrv-room-photo{min-height:260px}.mrv-room-detail-hero{grid-template-columns:1fr}}
@media(max-width:640px){.mrv-booking-form,.mrv-guest-form{grid-template-columns:1fr}.mrv-booking-page{padding:20px}.mrv-booking-btn{grid-column:auto}.mrv-room-body h3{font-size:25px}.mrv-price-wrap{display:block}.mrv-price-calendar{width:min(330px,calc(100vw - 44px));left:0}.mrv-cal-grid{grid-template-columns:repeat(4,1fr)}}


/* Aura V2.1 connector layout hotfix */
.mrv-booking-box {
  max-width: 100% !important;
  overflow: visible !important;
}
.mrv-booking-form {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.mrv-field,
.mrv-field *,
.mrv-booking-form > * {
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.mrv-field input,
.mrv-field select {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.mrv-booking-btn {
  width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.15 !important;
}
.mrv-help-line {
  clear: both !important;
}

/* When placed in the homepage hero panel, always use clean compact stacking */
.mrg-book-panel .mrv-booking-form {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.mrg-book-panel .mrv-field-resort,
.mrg-book-panel .mrv-booking-btn {
  grid-column: 1 / -1 !important;
}

/* Full resort booking panel can expand horizontally but wraps safely */
.mrg-book-zone .mrv-booking-form {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
}
.mrg-book-zone .mrv-field-resort {
  min-width: 220px !important;
}

/* Search result page proportions */
.mrv-booking-page {
  width: min(1180px, calc(100% - 34px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.mrv-room-card-rich {
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
}
.mrv-room-body {
  min-width: 0 !important;
}
.mrv-room-desc {
  max-width: 100% !important;
}
.mrv-card-actions {
  align-items: stretch !important;
}
.mrv-card-actions .mrv-booking-btn {
  width: auto !important;
  min-width: 170px !important;
}
@media(max-width: 900px) {
  .mrv-room-card-rich {
    grid-template-columns: 1fr !important;
  }
  .mrv-card-actions .mrv-booking-btn {
    width: 100% !important;
  }
}
@media(max-width: 640px) {
  .mrv-booking-form,
  .mrg-book-panel .mrv-booking-form,
  .mrg-book-zone .mrv-booking-form {
    grid-template-columns: 1fr !important;
  }
  .mrg-book-panel .mrv-field-resort,
  .mrg-book-panel .mrv-booking-btn,
  .mrg-book-zone .mrv-field-resort,
  .mrg-book-zone .mrv-booking-btn {
    grid-column: auto !important;
  }
}



/* =========================================================
   Aura V2.2 - professional date-price calendar + compact form
   ========================================================= */
.mrv-booking-box,
.mrv-booking-page {
  font-family: "Manrope", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.mrv-booking-form {
  gap: 11px !important;
}
.mrg-book-panel .mrv-booking-form {
  grid-template-columns: 1fr 1fr !important;
}
.mrg-book-panel .mrv-field-resort,
.mrg-book-panel .mrv-booking-btn {
  grid-column: 1 / -1 !important;
}
.mrg-book-panel .mrv-field input,
.mrg-book-panel .mrv-field select,
.mrg-book-panel .mrv-booking-btn {
  height: 46px !important;
  border-radius: 14px !important;
}
.mrv-field input[readonly] {
  cursor: pointer !important;
  background: #fff !important;
}
.mrv-booking-btn {
  font-size: 15px !important;
  font-weight: 900 !important;
}

/* Professional calendar */
.mrv-price-calendar-pro {
  width: 372px !important;
  max-width: min(372px, calc(100vw - 34px)) !important;
  padding: 16px !important;
  border-radius: 22px !important;
  box-shadow: 0 26px 70px rgba(13,51,35,.22) !important;
  z-index: 99999 !important;
}
.mrv-cal-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.mrv-cal-head strong {
  color: #123d2a !important;
  font-weight: 950 !important;
  font-size: 16px !important;
}
.mrv-cal-nav {
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f2ead8 !important;
  color: #123d2a !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.mrv-cal-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
}
.mrv-cal-weekdays span {
  text-align: center !important;
  color: #7a5634 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
.mrv-cal-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 6px !important;
}
.mrv-cal-loading-grid {
  grid-template-columns: 1fr !important;
}
.mrv-cal-loading {
  padding: 18px !important;
  text-align: center !important;
  color: #607069 !important;
}
.mrv-cal-blank {
  min-height: 58px !important;
}
.mrv-cal-day {
  min-height: 58px !important;
  border: 1px solid #dfe8e2 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #123d2a !important;
  padding: 7px 4px !important;
  cursor: pointer !important;
  transition: .18s ease !important;
}
.mrv-cal-day:hover {
  border-color: #cba35c !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(13,51,35,.10) !important;
}
.mrv-cal-day span {
  display: block !important;
  font-weight: 950 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
.mrv-cal-day small {
  display: block !important;
  margin-top: 5px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  color: #c08b2f !important;
  white-space: nowrap !important;
}
.mrv-cal-day.is-disabled {
  opacity: .52 !important;
  background: #f0f0ee !important;
  cursor: not-allowed !important;
}
.mrv-cal-day.is-disabled small {
  color: #8f8f8f !important;
}
.mrv-cal-foot {
  margin-top: 12px !important;
  color: #7a5634 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

@media(max-width:640px){
  .mrv-price-calendar-pro {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  .mrv-cal-grid,
  .mrv-cal-weekdays {
    grid-template-columns: repeat(7, 1fr) !important;
  }
  .mrg-book-panel .mrv-booking-form {
    grid-template-columns: 1fr !important;
  }
}


/* Aura V2.5 - complete PMS room detail rendering */
.mrv-room-detail-page {
  width: min(1280px, calc(100% - 34px)) !important;
  margin: 44px auto 80px !important;
}
.mrv-room-detail-pro {
  display: grid !important;
  gap: 28px !important;
}
.mrv-room-detail-hero-pro {
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) minmax(360px, .95fr) !important;
  gap: 34px !important;
  align-items: center !important;
  padding: 34px !important;
  background: #fff !important;
  border-radius: 34px !important;
  box-shadow: 0 24px 70px rgba(13,51,35,.12) !important;
}
.mrv-room-main-image img,
.mrv-image-placeholder {
  width: 100% !important;
  height: 520px !important;
  object-fit: cover !important;
  border-radius: 26px !important;
  background: #eef3ef !important;
}
.mrv-room-hero-copy h2 {
  margin: 8px 0 14px !important;
  color: #0d3323 !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}
.mrv-room-hero-copy p {
  color: #4f6259 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}
.mrv-room-detail-price {
  margin: 18px 0 18px !important;
}
.mrv-room-detail-price strong {
  display: block !important;
  color: #0d3323 !important;
  font-size: 38px !important;
  line-height: 1 !important;
}
.mrv-room-detail-price small {
  display: block !important;
  color: #607069 !important;
  margin-top: 8px !important;
}
.mrv-room-detail-section {
  padding: 30px !important;
  background: #fff !important;
  border: 1px solid rgba(13,51,35,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 14px 38px rgba(13,51,35,.08) !important;
}
.mrv-room-detail-section h3 {
  margin: 0 0 16px !important;
  color: #0d3323 !important;
  font-size: 24px !important;
}
.mrv-room-detail-section p {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: #40554b !important;
}
.mrv-room-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
}
.mrv-room-gallery a {
  border-radius: 20px !important;
  overflow: hidden !important;
  min-height: 220px !important;
}
.mrv-room-gallery img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
}
.mrv-room-detail-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr !important;
  gap: 24px !important;
}
.mrv-info-line {
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid #edf1ee !important;
}
.mrv-info-line span {
  color: #607069 !important;
}
.mrv-info-line strong {
  color: #0d3323 !important;
}
.mrv-amenity-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.mrv-amenity-list span {
  background: #edf6ef !important;
  color: #0d3323 !important;
  border-radius: 999px !important;
  padding: 9px 14px !important;
  font-weight: 850 !important;
}
.mrv-room-help-card {
  padding: 22px 26px !important;
  border-radius: 22px !important;
  background: #fff8ec !important;
  border: 1px solid #ead8b4 !important;
  color: #7a5634 !important;
}
.mrv-room-help-card a {
  color: #0d3323 !important;
  text-decoration: underline !important;
}

@media(max-width: 900px) {
  .mrv-room-detail-hero-pro,
  .mrv-room-detail-grid {
    grid-template-columns: 1fr !important;
  }
  .mrv-room-main-image img,
  .mrv-image-placeholder {
    height: 360px !important;
  }
  .mrv-room-gallery {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media(max-width: 600px) {
  .mrv-room-gallery {
    grid-template-columns: 1fr !important;
  }
  .mrv-room-detail-hero-pro,
  .mrv-room-detail-section {
    padding: 20px !important;
  }
}


/* Aura V2.6 - individual resort booking widget refinement */
.mrg-book-zone .mrv-field-resort select.mrv-native-select {
  display: none !important;
}
.mrg-resort-fixed-name {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  padding: 12px 15px !important;
  border: 1px solid rgba(13,51,35,.14) !important;
  border-radius: 15px !important;
  background: #f8fbf8 !important;
  color: #0d3323 !important;
  font-weight: 900 !important;
}
.mrv-help-line + .mrv-help-line,
.mrg-help-line + .mrg-help-line {
  display: none !important;
}
.mrg-book-zone .mrv-booking-form {
  grid-template-columns: minmax(220px, 1.1fr) repeat(4, minmax(120px, .85fr)) auto !important;
}
@media(max-width: 1180px){
  .mrg-book-zone .mrv-booking-form {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width: 640px){
  .mrg-book-zone .mrv-booking-form {
    grid-template-columns: 1fr !important;
  }
}


/* Aura V2.8 / V5.1 PMS banner display */
.mrv-pms-banner{background-size:cover!important;background-position:center!important;}
.mrv-pms-banner .mrg-page-hero-content h1{color:#fff!important;}
.mrv-pms-banner .mrg-page-hero-content p{color:rgba(255,255,255,.9)!important;}


/* Aura V3.0 - booking engine inside room detail page */
.mrv-room-booking-engine {
  display: grid !important;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr) !important;
  gap: 26px !important;
  align-items: start !important;
  padding: 30px !important;
  background: #fffdf8 !important;
  border: 1px solid rgba(203,163,92,.25) !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 48px rgba(13,51,35,.10) !important;
}
.mrv-room-booking-copy h3 {
  margin: 8px 0 10px !important;
  color: #0d3323 !important;
  font-size: clamp(24px, 2.2vw, 34px) !important;
  line-height: 1.15 !important;
}
.mrv-room-booking-copy p {
  color: #52665c !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.mrv-room-detail-booking-box {
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.mrv-room-detail-booking-box .mrv-booking-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.mrv-room-detail-booking-box .mrv-booking-btn {
  grid-column: 1 / -1 !important;
}
.mrv-room-detail-booking-box .mrv-field-resort select {
  display: none !important;
}
@media(max-width: 980px){
  .mrv-room-booking-engine {
    grid-template-columns: 1fr !important;
  }
  .mrv-room-detail-booking-box .mrv-booking-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width: 640px){
  .mrv-room-detail-booking-box .mrv-booking-form {
    grid-template-columns: 1fr !important;
  }
}


/* Aura V3.1 - Locations menu + room detail banner-first layout */
.mrv-locations-menu .sub-menu {
  z-index: 9999 !important;
}
.mrv-room-detail-page-v31 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.mrv-room-banner-v31 {
  min-height: 500px !important;
  background-size: cover !important;
  background-position: center !important;
  color: #fff !important;
}
.mrv-room-banner-v31 h1 {
  color: #fff !important;
}
.mrv-room-banner-v31 p {
  color: rgba(255,255,255,.9) !important;
}
.mrv-room-booking-strip-v31 {
  margin-top: -54px !important;
  position: relative !important;
  z-index: 5 !important;
}
.mrv-room-book-zone-v31 {
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 24px 70px rgba(13,51,35,.14) !important;
}
.mrv-room-detail-content-v31 {
  width: min(1280px, calc(100% - 34px)) !important;
  margin: 44px auto 80px !important;
}
.mrv-room-detail-content-v31 .mrv-room-booking-engine {
  margin: 0 !important;
}
@media(max-width: 720px){
  .mrv-room-banner-v31 {
    min-height: 420px !important;
  }
  .mrv-room-booking-strip-v31 {
    margin-top: -32px !important;
  }
}


/* Aura V3.2 - resort page booking UX and soft availability messaging */
.mrv-resort-only-booking .mrv-hidden-location-select,
.mrv-resort-only-booking .mrv-field-resort {
  display: none !important;
}
.mrv-resort-only-booking .mrv-booking-form {
  grid-template-columns: repeat(4, minmax(130px, 1fr)) auto !important;
  align-items: end !important;
}
.mrv-resort-only-booking .mrv-booking-btn {
  min-height: 56px !important;
}
.mrv-resort-only-booking .mrv-help-line,
.mrv-resort-only-booking [data-mrv-help-line] {
  display: none !important;
}

/* Calendar disabled/past-date language */
.mrv-cal-day.is-past span {
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
}
.mrv-cal-day.is-past {
  background: #eeeeea !important;
  color: #8a8f88 !important;
}
.mrv-cal-day.is-na:not(.is-disabled) small {
  color: #8a6a34 !important;
}

/* Friendly availability messages */
.mrv-friendly-message {
  background: #fffdf8 !important;
  border: 1px solid rgba(203,163,92,.28) !important;
  border-radius: 26px !important;
  padding: 26px 28px !important;
  box-shadow: 0 14px 36px rgba(13,51,35,.08) !important;
  color: #43574e !important;
}
.mrv-friendly-message h3 {
  margin: 0 0 8px !important;
  color: #0d3323 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
}
.mrv-friendly-message p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.mrv-alternative-message {
  margin-bottom: 20px !important;
}
.mrv-alternative-results {
  display: grid !important;
  gap: 22px !important;
}
.mrv-room-card.is-alternative-room {
  border-color: rgba(203,163,92,.42) !important;
}
.mrv-room-card.is-alternative-room .mrv-kicker {
  color: #c5943f !important;
}

@media(max-width: 980px) {
  .mrv-resort-only-booking .mrv-booking-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .mrv-resort-only-booking .mrv-booking-btn {
    grid-column: 1 / -1 !important;
  }
}
@media(max-width: 640px) {
  .mrv-resort-only-booking .mrv-booking-form {
    grid-template-columns: 1fr !important;
  }
}


/* Aura V3.3 - seamless resort and room-type booking UX */
.mrv-resort-only-booking .mrv-booking-form {
  grid-template-columns: repeat(4, minmax(130px, 1fr)) auto !important;
  align-items: end !important;
}
.mrv-resort-only-booking .mrv-hidden-location-select { display: none !important; }
.mrv-inline-results { margin-top: 28px !important; }
.mrv-inline-title { margin: 0 0 18px !important; }
.mrv-inline-title h3 { color: #0d3323 !important; font-size: 26px !important; margin: 0 0 6px !important; }
.mrv-inline-title p { color: #52665c !important; margin: 0 !important; }
.mrv-inline-room-results { display: grid !important; gap: 22px !important; }
.mrv-room-card-rich .mrv-room-specs { gap: 8px !important; }
.mrv-room-card-rich .mrv-room-specs span { white-space: normal !important; }
.mrv-room-detail-booking-box .mrv-booking-form {
  grid-template-columns: repeat(5, minmax(115px, 1fr)) auto !important;
  align-items: end !important;
}
.mrv-room-detail-booking-box .mrv-booking-btn { min-height: 56px !important; }
.mrv-room-detail-booking-box .mrv-help-line,
.mrv-room-detail-booking-box .mrv-field-resort { display: none !important; }
.mrv-room-inline-results { margin-top: 22px !important; }
.mrv-note { background:#edf6ef !important; color:#0d3323 !important; border-radius:14px !important; padding:12px 14px !important; font-weight:800 !important; }
[data-mrv-room-available] { color:#0d3323 !important; font-weight:900 !important; }
.mrv-left-count { background:#edf6ef !important; color:#0d3323 !important; padding:10px 14px !important; border-radius:999px !important; font-weight:900 !important; }
@media(max-width:1100px){
  .mrv-room-detail-booking-box .mrv-booking-form,
  .mrv-resort-only-booking .mrv-booking-form { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .mrv-room-detail-booking-box .mrv-booking-btn,
  .mrv-resort-only-booking .mrv-booking-btn { grid-column:1/-1 !important; }
}
@media(max-width:640px){
  .mrv-room-detail-booking-box .mrv-booking-form,
  .mrv-resort-only-booking .mrv-booking-form { grid-template-columns: 1fr !important; }
}


/* Aura V3.4 - booking journey polish */
.mrv-progress {
  width: min(980px, 100%) !important;
  margin: 0 auto 24px !important;
}
.mrv-progress-track {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
}
.mrv-progress-step {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 12px 14px !important;
  border-radius: 999px !important;
  background: #eef4ef !important;
  color: #53675d !important;
  font-weight: 850 !important;
}
.mrv-progress-step span {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #0d3323 !important;
}
.mrv-progress-step.is-active {
  background: #0d3323 !important;
  color: #fff !important;
}
.mrv-progress-step.is-done {
  background: #dfefdf !important;
  color: #0d3323 !important;
}
.mrv-hold-timer,
.mrv-hold-expired {
  width: min(980px, 100%) !important;
  margin: 0 auto 20px !important;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  background: #fff8e8 !important;
  border: 1px solid rgba(203,163,92,.4) !important;
  color: #684a20 !important;
}
.mrv-hold-timer span {
  color: #7d6748 !important;
  margin-left: 6px !important;
}
.mrv-hold-expired {
  background: #fff0ef !important;
  border-color: #f0b8b0 !important;
  color: #87352c !important;
}
.mrv-inline-title {
  margin: 22px 0 14px !important;
}
.mrv-inline-title h3 {
  color: #0d3323 !important;
  font-size: 26px !important;
  margin: 0 0 6px !important;
}
.mrv-room-count-label select,
.mrv-room-type-book-now-form select[name="room_count"] {
  min-width: 112px !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(13,51,35,.18) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #0d3323 !important;
  font-weight: 850 !important;
}
.mrv-room-type-book-now-form .mrv-field:has(select[name="room_count"]) {
  display: block !important;
}
.mrv-total-line {
  border-top: 1px solid #dfe7e1 !important;
  padding-top: 14px !important;
  margin-top: 8px !important;
}
.mrv-total-line strong {
  font-size: 22px !important;
}
.mrv-thank-you-message {
  background: #f5fbf5 !important;
  border-radius: 16px !important;
  padding: 14px 16px !important;
  color: #0d3323 !important;
}
.mrv-secondary-link {
  display: inline-flex !important;
  margin-left: 10px !important;
  padding: 13px 18px !important;
  border-radius: 999px !important;
  background: #eef4ef !important;
  color: #0d3323 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.mrv-back-button,
.mrv-go-back,
[data-mrv-back] {
  display: none !important;
}
@media(max-width: 760px){
  .mrv-progress-track {
    grid-template-columns: 1fr 1fr !important;
  }
  .mrv-progress-step strong {
    font-size: 13px !important;
  }
}


/* Aura V6.6.0 / Connector V3.7 - calendar past-date display */
.mrv-cal-day.is-past {
  background: #f1f1ee !important;
  color: #8d938c !important;
  opacity: .78 !important;
}
.mrv-cal-day.is-past span {
  text-decoration: line-through !important;
  text-decoration-thickness: 2px !important;
  text-decoration-color: #8d938c !important;
}
.mrv-cal-day.is-past small {
  display: none !important;
}
.mrv-cal-day.is-past::after {
  content: "";
  display: block;
  height: 0;
}
.mrv-price-calendar .mrv-cal-foot {
  font-size: 12px !important;
  color: #6f6250 !important;
}
