.mcbe-booking-card{font-family:Arial,Helvetica,sans-serif;background:#fff;border-radius:28px;padding:26px;box-shadow:0 22px 70px rgba(7,59,47,.16);border:1px solid #eadfca;max-width:1280px;margin:35px auto;color:#063e33;position:relative;z-index:20;overflow:visible}.mcbe-home-widget{margin:40px auto 0}.mcbe-dedicated-booking-page{font-family:Arial,Helvetica,sans-serif;background:#f8f4eb;padding:70px 24px;min-height:70vh;color:#063e33}.mcbe-page-hero{max-width:1280px;margin:0 auto 22px;background:linear-gradient(135deg,#063e33,#0b6652);border-radius:28px;padding:42px;color:#fff;box-shadow:0 18px 55px rgba(7,59,47,.18)}.mcbe-page-hero span{display:block;color:#e7bd57;font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:13px}.mcbe-page-hero h1{margin:8px 0;font-size:44px;line-height:1.05;color:#fff}.mcbe-page-hero p{margin:0;color:#e7f4ef;font-size:17px}.mcbe-booking-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:10px}.mcbe-booking-head span{font-size:13px;font-weight:900;color:#c79a3b;letter-spacing:.18em}.mcbe-booking-head strong{font-size:24px}.mcbe-resort-note{font-size:13px;color:#c79a3b;font-weight:900;margin:8px 0 12px}.mcbe-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;align-items:end}.mcbe-grid-small{grid-template-columns:1fr 1fr}.mcbe-booking-card label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#61716b;font-weight:900}.mcbe-booking-card input,.mcbe-booking-card select,.mcbe-booking-card textarea{width:100%;margin-top:7px;border:1px solid #e6dece;border-radius:16px;padding:13px 14px;font-size:15px;background:#fff;color:#24312d}.mcbe-search-btn,.mcbe-book-btn{border:0;border-radius:16px;background:#073b2f;color:#fff!important;font-weight:900;padding:15px 22px;cursor:pointer;white-space:nowrap;min-height:52px}.mcbe-book-btn{background:#c79a3b;margin-top:14px}.mcbe-alert{padding:14px 16px;border-radius:16px;background:#fef3c7;color:#7c4a03;margin:14px 0}.mcbe-success{background:#dcfae6;color:#064536}.mcbe-error{background:#fee4e2;color:#7a271a}.mcbe-steps{display:flex;align-items:flex-start;gap:0;margin:24px 0 34px}.mcbe-step{flex:1;position:relative;color:#315f84;font-size:13px}.mcbe-step:before{content:"";position:absolute;top:12px;left:0;right:0;height:4px;background:#e8e5dd}.mcbe-step-dot{position:relative;display:block;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid #fff;box-shadow:0 0 0 1px #e8e5dd;margin-bottom:12px}.mcbe-step-dot.active,.mcbe-step-dot.done{background:#4e779b}.mcbe-room-results{padding:28px;background:#fff;border-radius:26px;margin-top:28px;color:#063e33!important;box-shadow:0 20px 55px rgba(7,59,47,.09)}.mcbe-results-title{background:#fff;padding:10px;border-radius:18px;margin-bottom:18px}.mcbe-results-title h2{font-size:38px;text-align:center;margin:0 0 12px;font-family:Arial,Helvetica,sans-serif;color:#063e33}.mcbe-results-title p{font-size:17px;margin:0 0 20px;color:#063e33;text-shadow:none}.mcbe-room-card{display:grid;grid-template-columns:42% 1fr;gap:34px;margin:28px 0 44px;padding:20px;border:1px solid #eadfca;background:#fffefb!important;border-radius:22px;color:#063e33!important;box-shadow:0 14px 38px rgba(7,59,47,.08);overflow:hidden}.mcbe-room-img{min-height:310px;background-size:cover;background-position:center;border-radius:18px;box-shadow:0 14px 35px rgba(0,0,0,.10)}.mcbe-room-info h3{font-size:34px;margin:5px 0 14px;color:#063e33!important}.mcbe-room-desc,.mcbe-room-info p{font-size:17px;line-height:1.6;color:#26352f!important}.mcbe-room-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.mcbe-room-meta span{background:#f7f2e8;border:1px solid #eadfca;border-radius:999px;padding:8px 12px;font-weight:800}.mcbe-amenities{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;padding:0;list-style:none}.mcbe-amenities li{color:#063e33!important}.mcbe-amenities li:before{content:"›";font-weight:900;margin-right:8px;color:#c79a3b}.mcbe-room-price{margin:22px 0;font-size:17px}.mcbe-room-price b{font-size:20px;color:#063e33}.mcbe-room-price span{color:#60716b!important}.mcbe-book-room{border:0;background:#4e779b;color:#fff!important;font-weight:900;border-radius:0;padding:15px 48px;font-size:18px;cursor:pointer}.mcbe-booking-details{background:#fbfaf6;border:1px solid #eadfca;border-radius:20px;padding:24px;margin-top:20px}.mcbe-booking-details h2,.mcbe-confirmation h2{font-size:34px;text-align:center;margin:6px 0 24px}.mcbe-selected-summary{background:#fff;border:1px solid #eadfca;border-radius:16px;padding:18px;margin-bottom:18px;display:flex;justify-content:space-between;gap:15px}.mcbe-selected-summary *{color:#063e33!important}.mcbe-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.mcbe-back-results{background:#eef4f2;color:#073b2f;border:0;border-radius:14px;padding:14px 20px;font-weight:900;cursor:pointer}.mcbe-voucher-link{display:inline-flex;margin-top:8px;padding:14px 22px;border:1px solid #c79a3b;border-radius:999px;color:#7a4d00!important;text-decoration:none!important;font-weight:900;background:#fff7e6}@media(min-width:1200px){.mcbe-grid{grid-template-columns:1.4fr 1fr 1fr .7fr .7fr 1fr 1fr auto}.mcbe-search-btn{min-width:210px}}@media(max-width:1000px){.mcbe-grid{grid-template-columns:1fr 1fr}.mcbe-search-btn{grid-column:1/-1}.mcbe-room-card{grid-template-columns:1fr}.mcbe-room-img{min-height:240px}.mcbe-page-hero h1{font-size:34px}}@media(max-width:600px){.mcbe-grid,.mcbe-grid-small{grid-template-columns:1fr}.mcbe-booking-head,.mcbe-selected-summary{display:block}.mcbe-room-info h3{font-size:26px}.mcbe-results-title h2{font-size:30px}.mcbe-dedicated-booking-page{padding:35px 12px}.mcbe-booking-card{border-radius:22px;padding:18px}.mcbe-room-results{padding:16px}.mcbe-room-card{gap:18px;padding:14px}}
/* v0.3.1 true separate booking flow */
.mcbe-compact-widget .mcbe-steps,
.mcbe-compact-widget .mcbe-room-results,
.mcbe-compact-widget .mcbe-booking-details,
.mcbe-compact-widget .mcbe-confirmation{display:none!important}
.mcbe-compact-widget{max-width:1280px;margin:24px auto 0!important;transform:none!important;clear:both}
.mcbe-search-results-page{padding-top:110px!important;position:relative;z-index:1;background:#f8f4eb!important}
.mcbe-search-results-page .mcbe-room-results{margin-top:30px!important;display:block;position:relative;z-index:1}
.mcbe-search-results-page .mcbe-room-card{scroll-margin-top:130px}
body .mcbe-dedicated-booking-page{clear:both;overflow:visible!important}

/* v0.3.2 hard safety: room result cards must NEVER display on homepage or normal content pages. */
body.mcbe-not-booking-search-page .mcbe-room-results,
body.mcbe-not-booking-search-page .mcbe-booking-details,
body.mcbe-not-booking-search-page .mcbe-confirmation,
body.mcbe-not-booking-search-page .mcbe-steps,
body.mcbe-not-booking-search-page .mcbe-room-card{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.mcbe-not-booking-search-page .mcbe-booking-card{max-width:1280px!important;margin:24px auto!important;}
body.mcbe-booking-search-page-active .site-header,
body.mcbe-booking-search-page-active header.site-header{
  position:relative!important;
  top:auto!important;
}
/* v0.4.0 separate room information and booking details pages */
body.mcbe-booking-details-page-active .mcbe-booking-details-only .mcbe-confirmation{display:block!important;height:auto!important;visibility:visible!important;overflow:visible!important;margin-top:18px!important}
body.mcbe-booking-details-page-active .mcbe-booking-details-only{max-width:1180px;margin:35px auto!important}
body.mcbe-booking-details-page-active .mcbe-confirm-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid #eadfca;border-radius:20px;padding:20px;margin-bottom:24px}
body.mcbe-booking-details-page-active .mcbe-confirm-summary>div{background:#fbf8f0;border-radius:16px;padding:16px}
.mcbe-terms{display:flex!important;gap:10px;align-items:center;margin-top:16px!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important}
.mcbe-terms input{width:auto!important;margin:0!important}
@media(max-width:900px){body.mcbe-booking-details-page-active .mcbe-confirm-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body.mcbe-booking-details-page-active .mcbe-confirm-summary{grid-template-columns:1fr}}
/* v0.4.1 booking summary before payment */
body.mcbe-booking-summary-page-active .mcbe-summary-only{max-width:1180px;margin:35px auto!important}
.mcbe-summary-header{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.mcbe-summary-header>div{background:#fbf8f0;border:1px solid #eadfca;border-radius:18px;padding:18px}.mcbe-summary-header span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#61716b;font-weight:900;margin-bottom:8px}.mcbe-summary-header strong{font-size:22px;color:#063e33}.mcbe-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.mcbe-summary-grid section{background:#fff;border:1px solid #eadfca;border-radius:18px;padding:20px}.mcbe-summary-grid h3,.mcbe-price-table h3{margin:0 0 14px;color:#063e33}.mcbe-price-table{background:#fff;border:1px solid #eadfca;border-radius:20px;padding:22px;margin-top:18px}.mcbe-price-table>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #efe4d1;padding:13px 0;font-size:17px}.mcbe-price-table>div:last-child{border-bottom:0}.mcbe-price-table .total,.mcbe-price-table .balance{font-size:20px;color:#063e33}.mcbe-price-table .balance b{font-size:26px}.mcbe-pay-now{background:#073b2f;color:#fff!important;border-radius:16px;padding:16px 26px;text-decoration:none!important;font-weight:900;display:inline-flex}.mcbe-summary-actions{align-items:center}.mcbe-note{color:#61716b;font-size:14px;margin-top:16px}.mcbe-booking-details-only .mcbe-grid-small label{background:#fff;border:1px solid #eadfca;border-radius:18px;padding:14px;text-transform:none!important;letter-spacing:0!important;font-size:14px}.mcbe-booking-details-only input,.mcbe-booking-details-only textarea{border-radius:12px!important}
@media(max-width:800px){.mcbe-summary-header,.mcbe-summary-grid{grid-template-columns:1fr}.mcbe-summary-actions{flex-direction:column;align-items:stretch}.mcbe-summary-actions a{text-align:center;justify-content:center}}


/* v0.4.2 booking summary + same-page voucher */
.mcbe-inline-summary{background:#ecfdf3!important;border:1px solid #9ee7b9!important;color:#073b2f!important;border-radius:18px!important;padding:22px!important}.mcbe-inline-summary h3{margin:0 0 10px!important;color:#073b2f!important}.mcbe-pay-now-inline{background:#073b2f!important;color:#fff!important;border-color:#073b2f!important}.mcbe-inline-voucher{background:#fff;border:1px solid #e7d9bd;border-radius:24px;padding:26px;box-shadow:0 18px 45px rgba(7,59,47,.08)}.mcbe-voucher-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #eadfca;padding-bottom:18px;margin-bottom:20px}.mcbe-voucher-top span{text-transform:uppercase;letter-spacing:.12em;color:#bc8a1b;font-weight:800}.mcbe-voucher-top h2{margin:4px 0;color:#073b2f;font-size:34px}.mcbe-status-stack{background:#f7f2e8;border:1px solid #eadfca;border-radius:16px;padding:14px 18px;text-align:right;color:#073b2f}.mcbe-status-stack small{display:block;color:#56706a;margin-top:4px}@media(max-width:760px){.mcbe-voucher-top{display:block}.mcbe-status-stack{text-align:left;margin-top:12px}}
@media print{body *{visibility:hidden}.mcbe-inline-voucher,.mcbe-inline-voucher *{visibility:visible}.mcbe-inline-voucher{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:0}.site-header,.mcbe-page-hero,.mcbe-actions{display:none!important}}

.mcbe-room-gallery{display:flex;flex-direction:column;gap:10px}.mcbe-room-thumbs{display:flex;gap:8px;flex-wrap:wrap}.mcbe-room-thumb{width:72px;height:54px;border-radius:10px;border:2px solid #eadfca;background-size:cover;background-position:center;cursor:pointer}.mcbe-room-thumb:hover{border-color:#c79a3b}
