.bm24-lupc-wrap{max-width:1100px;margin:32px auto;font-family:inherit}.bm24-lupc-header{margin-bottom:24px}.bm24-lupc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.bm24-lupc-card{background:#fff;border:1px solid #dfe3e8;border-radius:16px;padding:24px;box-shadow:0 4px 18px rgba(16,24,40,.05)}.bm24-lupc-card h3{margin-top:0}.bm24-lupc-card dl{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.bm24-lupc-card dl div{display:grid;grid-template-columns:160px 1fr;gap:12px}.bm24-lupc-card dt{font-weight:600}.bm24-lupc-card dd{margin:0}.bm24-lupc-card input[type=text],.bm24-lupc-card input[type=email],.bm24-lupc-card textarea,.bm24-lupc-card select{width:100%;padding:10px 12px;border:1px solid #c8d0d9;border-radius:10px;background:#fff}/* BM24 v0.6.4: make checkout continue button portal-blue with white text */
.bm24-lupc-primary,.bm24-lupc-card .bm24-lupc-primary,.bm24-lupc-wrap button.bm24-lupc-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid #1f66c2!important;background:#1f66c2!important;background-image:none!important;color:#fff!important;font-weight:700;line-height:1.2;text-decoration:none!important;box-shadow:0 8px 20px rgba(31,102,194,.18);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}
.bm24-lupc-primary:hover,.bm24-lupc-primary:focus{background:#1858aa!important;border-color:#1858aa!important;color:#fff!important;box-shadow:0 10px 24px rgba(31,102,194,.24);transform:translateY(-1px)}
.bm24-lupc-primary:active{transform:translateY(0);box-shadow:0 5px 14px rgba(31,102,194,.18)}.bm24-lupc-notice{margin:0 0 20px;padding:14px 16px;border-radius:12px}.bm24-lupc-error{background:#fdecec;color:#8f1f1f;border:1px solid #f6c4c4}.bm24-lupc-info{background:#eef6ff;color:#174a8b;border:1px solid #caddff}.bm24-lupc-success-card{border-color:#c9e7cf;background:#f6fff7}.bm24-lupc-small{font-size:13px;color:#5d6b82}#bm24-lupc-payment-target{min-height:320px}

/* Hide legacy internal-note paragraphs from older template variants */
.bm24-lupc-card dl + p{display:none!important;}

/* Optional attempt to hide tiny footer text under LiteAPI widget */
.bm24-lupc-paynote{margin-top:10px}.bm24-lupc-wrap.bm24-lupc-hide-widget-footer #bm24-lupc-payment-target + *{display:none!important;}

.bm24-lupc-subsection{margin:18px 0;padding-top:8px;border-top:1px solid #e5e9ef}.bm24-lupc-subsection h4{margin:0 0 10px;font-size:16px}.bm24-lupc-card input[readonly]{background:#f4f7fb;color:#5a6577}

/* BM24 v0.6.3 room preview in checkout: stacked image/gallery above room text */
.bm24-lupc-room-preview{display:block;margin:4px 0 22px;padding:12px;border:1px solid #d9e7f7;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.bm24-lupc-room-preview-media{display:block;margin:0 0 14px;background:transparent;border-radius:14px;overflow:visible}
.bm24-lupc-room-preview-hero{position:relative;border-radius:14px;overflow:hidden;background:#eef4fb}
.bm24-lupc-room-preview-hero img,.bm24-lupc-room-preview-media>img{display:block;width:100%;height:220px;object-fit:cover}
.bm24-lupc-room-count{position:absolute;right:10px;bottom:10px;padding:4px 8px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:12px;font-weight:700}
.bm24-lupc-room-thumbs{display:flex;gap:7px;margin:9px 0 0;overflow:auto;padding-bottom:2px}
.bm24-lupc-room-thumbs img{width:58px;height:44px;object-fit:cover;border-radius:9px;border:1px solid #d5e5f8;background:#eef4fb;flex:0 0 auto}
.bm24-lupc-room-preview-body{display:block}.bm24-lupc-room-preview-body h4{margin:2px 0 8px;font-size:18px;line-height:1.25;color:#14213d}.bm24-lupc-room-preview-body p{margin:0 0 10px;color:#53657d;line-height:1.45}.bm24-lupc-room-preview-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#1f68c7;margin-bottom:4px}.bm24-lupc-room-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.bm24-lupc-room-meta span{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #d5e5f8;border-radius:999px;background:#f2f7ff;font-size:12px;font-weight:700;color:#35506d}.bm24-lupc-room-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.bm24-lupc-room-features span{padding:7px 10px;border:1px solid #d5e5f8;border-radius:999px;background:#fff;font-size:12px;font-weight:600;color:#263b59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.bm24-lupc-room-preview-hero img,.bm24-lupc-room-preview-media>img{height:190px}.bm24-lupc-room-features{grid-template-columns:1fr}.bm24-lupc-card dl div{grid-template-columns:1fr;gap:2px}}

/* BM24 v0.6.5: guest nationality is now a visible form field */
.bm24-lupc-select{min-height:44px;appearance:auto}

/* BM24 v0.6.6: friendly recovery action when LiteAPI rate is no longer prebookable */
.bm24-lupc-inline-action{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:10px 16px;border-radius:999px;background:#1f66c2;color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 8px 20px rgba(31,102,194,.18)}
.bm24-lupc-inline-action:hover,.bm24-lupc-inline-action:focus{background:#1858aa;color:#fff!important;text-decoration:none!important}

/* BM24 v0.6.7: localize and style the final LiteAPI payment widget button when rendered in the page DOM */
#bm24-lupc-payment-target .bm24-lupc-liteapi-pay-button,
#bm24-lupc-payment-target button.bm24-lupc-liteapi-pay-button,
#bm24-lupc-payment-target input.bm24-lupc-liteapi-pay-button,
.bm24-lupc-wrap .bm24-lupc-liteapi-pay-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  min-width:180px!important;
  padding:12px 24px!important;
  border-radius:999px!important;
  border:1px solid #1f66c2!important;
  background:#1f66c2!important;
  background-image:none!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:15px!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(31,102,194,.22)!important;
  cursor:pointer!important;
  margin-top:10px!important;
}
#bm24-lupc-payment-target .bm24-lupc-liteapi-pay-button:hover,
#bm24-lupc-payment-target .bm24-lupc-liteapi-pay-button:focus{
  background:#1858aa!important;
  border-color:#1858aa!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(31,102,194,.28)!important;
  transform:translateY(-1px);
}


/* BM24 v0.6.8: small professional spacing between LiteAPI card field and final payment button */
#bm24-lupc-payment-target .bm24-lupc-liteapi-pay-button{margin-top:10px!important;}

/* BM24 v0.7.2: robust LiteAPI payment loading state and visible error handling */
.bm24-lupc-payment-card{position:relative;min-height:360px}
.bm24-lupc-payment-shell{margin-top:14px}
.bm24-lupc-payment-status{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #cfe0f7;border-radius:14px;background:#f4f8ff;color:#173d72;font-size:13px;font-weight:700;margin:0 0 14px}
.bm24-lupc-payment-status[hidden],.bm24-lupc-payment-error[hidden],.bm24-lupc-retry-payment[hidden]{display:none!important}
.bm24-lupc-spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(31,102,194,.18);border-top-color:#1f66c2;animation:bm24-lupc-spin .8s linear infinite;flex:0 0 16px}
.bm24-lupc-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#e9fff2;color:#098a4b;font-weight:900;flex:0 0 18px}
.bm24-lupc-payment-status-ready{border-color:#b9edd0;background:#f3fff8;color:#11613b}
.bm24-lupc-payment-target{min-height:210px;border:1px dashed #cfe0f7;border-radius:16px;background:#fbfdff;padding:14px;transition:border-color .15s ease,background-color .15s ease}
.bm24-lupc-payment-target:has(iframe),.bm24-lupc-payment-target:has(input),.bm24-lupc-payment-target:has(button){border-style:solid;background:#fff}
.bm24-lupc-payment-error{margin-top:12px!important}
.bm24-lupc-retry-payment{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:10px 16px;border-radius:999px;border:1px solid #1f66c2;background:#1f66c2;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(31,102,194,.18)}
.bm24-lupc-retry-payment:hover,.bm24-lupc-retry-payment:focus{background:#1858aa;border-color:#1858aa;color:#fff}
@keyframes bm24-lupc-spin{to{transform:rotate(360deg)}}
@media (max-width:640px){.bm24-lupc-payment-card{min-height:260px}.bm24-lupc-payment-target{min-height:180px;padding:12px}.bm24-lupc-payment-status{font-size:12px;align-items:flex-start}}
