/* Phase 3: approved offer, negotiation, reservation and checkout compositions. */
html body.app-site.bkk-international:is([data-view=proposal],[data-view=offers],[data-view=booking]) .bf-play-banner{display:none!important}
html body.app-site.bkk-international .stay-proposal{max-width:940px}
html body.app-site.bkk-international .stay-proposal>h1{font-size:30px;margin-bottom:10px}
html body.app-site.bkk-international form.stay-form[data-mode=offer]{display:flex;flex-direction:column;max-width:820px;padding:20px;gap:12px;background:var(--bkk-surface);border-radius:22px}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-main-grid{display:contents!important}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .direct-offer-card{order:0;border:1px solid var(--bkk-line);border-radius:18px;overflow:hidden;margin:0 0 12px}
html body.app-site.bkk-international .stay-offer .direct-offer-intro{background:var(--bkk-tint);padding:12px 18px;font-size:13px}
html body.app-site.bkk-international .stay-offer .direct-offer-main{display:block;padding:0}
html body.app-site.bkk-international .stay-offer .direct-offer-photo{display:block;width:100%;height:260px;aspect-ratio:auto;border-radius:0}
html body.app-site.bkk-international .stay-offer .direct-offer-photo img{width:100%;height:100%;object-fit:cover}
html body.app-site.bkk-international .stay-offer .direct-offer-info{padding:18px 20px}
html body.app-site.bkk-international .stay-offer .direct-offer-info h2{font-size:28px;margin:6px 0 10px}
html body.app-site.bkk-international .stay-offer .direct-offer-description{display:none}
html body.app-site.bkk-international .stay-offer .direct-offer-services{padding:0 20px 14px;display:flex;gap:10px;flex-wrap:wrap}
html body.app-site.bkk-international .stay-offer .direct-offer-services li{background:var(--bkk-tint);border-radius:18px;font-size:12px;padding:6px 10px}
html body.app-site.bkk-international .stay-offer .direct-offer-footer{padding:12px 20px;background:var(--bkk-surface);border-top:1px solid var(--bkk-line)}
html body.app-site.bkk-international .stay-offer .direct-offer-footer p{display:none}
.jx-reference-price{font-size:13px;color:var(--bkk-muted);padding:12px 20px;margin:0;border-top:1px solid var(--bkk-line)}
html body.app-site.bkk-international form.stay-form[data-mode=offer][data-targeted="1"] .stay-destination{display:none!important}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-destination{order:1}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget{order:2;min-height:150px!important;border:0!important;position:relative;text-align:center;align-items:center!important;justify-content:center;background:var(--bkk-tint)!important;padding:22px 66px!important;border-radius:18px!important}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget>label{font-size:14px!important;text-align:center}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget>div{justify-content:center;max-width:100%}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget input{font-size:52px!important;max-width:230px!important;text-align:center;min-width:0;color:var(--bkk-blue-ink)!important}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget [data-budget-currency]{font-size:21px!important;color:var(--bkk-blue-ink)!important}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .budget-tag,html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget>small{display:none}
.jx-price-step{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:var(--bkk-surface);border:1px solid var(--bkk-line);font-size:28px;font-weight:500;color:var(--bkk-blue-ink);display:grid;place-items:center}
.jx-price-step:disabled{opacity:.4}
.jx-price-minus{left:12px}.jx-price-plus{right:12px}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-date-pair{order:3;display:block;grid-column:auto}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-occupancy{order:4}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-below-bar{order:5;text-align:center;font-size:17px;font-weight:600;color:var(--bkk-blue-ink);margin:0}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-options{order:6}
html body.app-site.bkk-international form.stay-form[data-mode=offer]>label{order:7;font-size:14px;margin:8px 0 0}
html body.app-site.bkk-international form.stay-form[data-mode=offer]>textarea{order:8}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-actions{order:9;display:block;padding:0}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-actions>.btn{width:100%;min-height:54px}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-error{order:10}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-trust,html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-duration{order:11;font-size:12px;color:var(--bkk-muted)}
.jx-offer-duration{background:var(--bkk-tint);border-radius:12px;padding:12px;text-align:center;font-size:13px;color:var(--bkk-blue-ink);margin:0 0 12px}
/* One active intention, then the actual hotel responses. */
html body.app-site.bkk-international .request-group,html body.app-site.bkk-international .nx-request{background:var(--bkk-tint);border:1px solid var(--bkk-line);border-radius:20px;padding:24px;box-shadow:none}
html body.app-site.bkk-international .request-group h2{font-size:24px;margin:12px 0}
html body.app-site.bkk-international .request-group .mx-price strong{font-size:36px;color:var(--bkk-blue-ink)}
html body.app-site.bkk-international .nx-request-offer strong{color:var(--bkk-blue-ink);font-size:34px}
html body.app-site.bkk-international .offer-expiry{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--bkk-line);border-radius:12px;background:var(--bkk-surface);font-size:12px}
html body.app-site.bkk-international .offer-expiry strong{font-size:21px;color:var(--bkk-blue-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
html body.app-site.bkk-international .offer-expiry.is-urgent strong{color:#b3293d}
html body.app-site.bkk-international .jx-response{border:1px solid var(--bkk-line);border-radius:20px;padding:18px;background:var(--bkk-surface);overflow:hidden}
.jx-response-photo{display:block;aspect-ratio:1.9;border-radius:14px;overflow:hidden;margin-bottom:18px}
.jx-response-photo img{width:100%;height:100%;object-fit:cover}
.jx-response:has(>.jx-response-photo) .nx-thumb{display:none}
html body.app-site.bkk-international .jx-response .nx-head{display:flex;align-items:flex-start;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--bkk-line)}
html body.app-site.bkk-international .jx-response h3{font-size:24px;margin:0 0 8px}
html body.app-site.bkk-international .jx-response .nx-ladder{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0;padding:18px;background:var(--bkk-tint);border-radius:16px}
html body.app-site.bkk-international .jx-response .nx-arrow{display:none}
html body.app-site.bkk-international .jx-response .nx-price strong{font-size:31px;color:var(--bkk-blue-ink)}
html body.app-site.bkk-international .jx-response .nx-price>span{font-size:12px}
html body.app-site.bkk-international .jx-response .nx-total{padding:16px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-block:1px solid var(--bkk-line);background:transparent}
html body.app-site.bkk-international .jx-response .nx-total strong{font-size:28px;color:var(--bkk-dark);margin-left:auto}
html body.app-site.bkk-international .jx-response .nx-total small{width:100%;font-size:12px}
html body.app-site.bkk-international .jx-response .nx-actions{display:flex;flex-direction:column;gap:10px}
html body.app-site.bkk-international .jx-response .nx-actions .btn{width:100%;min-height:48px}
.jx-again-note{font-size:11px;color:var(--bkk-muted);text-align:center;margin:0}
/* Reservation -> provider payment -> server-confirmed result. */
.jx-progress{display:flex;list-style:none;padding:0;margin:16px 0 30px;counter-reset:none;gap:12px}
.jx-progress li{flex:1;text-align:center;position:relative;color:var(--bkk-muted);min-width:0}
.jx-progress li::before{content:'';position:absolute;left:calc(-50% - 6px);right:calc(50% + 18px);top:18px;height:2px;background:var(--bkk-line)}
.jx-progress li:first-child::before{display:none}
.jx-progress li>span{display:grid;place-items:center;position:relative;z-index:1;width:38px;height:38px;border-radius:50%;border:1px solid var(--bkk-line);background:var(--bkk-surface);margin:0 auto 8px;font-size:16px;font-weight:600}
.jx-progress li>strong{font-size:12px;font-weight:500}
.jx-progress li[aria-current],.jx-progress li.is-complete{color:var(--bkk-blue-ink)}
.jx-progress li[aria-current]>span,.jx-progress li.is-complete>span{background:var(--bkk-action);color:#fff;border-color:var(--bkk-action)}
.jx-page-heading h1{font-size:34px!important;margin:0 0 12px}
.jx-page-heading p{font-size:15px;color:var(--bkk-muted);margin-bottom:26px}
.jx-reservation-summary{max-width:920px;margin-inline:auto}
.jx-stay-card,.jx-price-summary,.jx-conditions{background:var(--bkk-surface);border:1px solid var(--bkk-line);border-radius:20px;overflow:hidden;margin-bottom:20px}
.jx-stay-hero{width:100%;height:300px;object-fit:cover}
.jx-stay-content{padding:24px}
.jx-stay-content h2{font-size:28px!important;margin-bottom:10px}
.jx-stay-content>p{font-size:14px;color:var(--bkk-muted)}
.jx-stay-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:24px 0 0}
.jx-stay-facts>div{min-width:0}
.jx-stay-facts dt{font-size:12px;color:var(--bkk-muted);font-weight:400}
.jx-stay-facts dd{font-size:14px;font-weight:600;margin:5px 0}
.jx-price-summary{padding:24px}
.jx-price-summary h2{font-size:24px!important}
.jx-price-summary dl>div{display:flex;gap:14px;justify-content:space-between;margin:18px 0}
.jx-price-summary dt{font-size:14px;color:var(--bkk-muted);font-weight:400}
.jx-price-summary dd{font-size:17px;font-weight:600;text-align:right;margin:0;white-space:nowrap}
.jx-price-summary .jx-summary-total{padding-top:20px;border-top:1px solid var(--bkk-line);align-items:center}
.jx-summary-total dt{font-size:19px;font-weight:700;color:var(--bkk-dark)}
.jx-summary-total dd{font-size:30px;color:var(--bkk-blue-ink)}
.jx-conditions{padding:18px 22px}
.jx-conditions summary{cursor:pointer;min-height:30px;font-size:15px;font-weight:600}
.jx-conditions p,.jx-conditions a{font-size:13px;margin-top:12px}
.jx-hold-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--bkk-tint);padding:20px;border-radius:18px;margin:20px 0}
.jx-hold-notice strong{font-size:16px;color:var(--bkk-blue-ink)}
.jx-hold-notice p{font-size:12px;color:var(--bkk-muted);margin:5px 0}
.jx-hold-notice .offer-expiry{margin:0;min-width:125px}
html body.app-site.bkk-international .jx-hold-notice .offer-expiry>span{display:none}
.jx-next-payment{width:100%;min-height:54px!important}
.jx-reference{font-size:11px;color:var(--bkk-muted);text-align:center;margin:20px 0}
.jx-reservation-summary.is-expired [data-hold-action]{opacity:.5;pointer-events:none}
.jx-expiry-message{padding:16px;border-radius:12px;background:#fff0f1;color:#a02536;font-size:14px}
.jx-confirmed{display:flex;align-items:center;gap:18px;background:#eaf8ef;color:#11743e;border:1px solid #c3e8d1;border-radius:20px;padding:24px;margin-bottom:20px}
.jx-confirmed>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#128747;color:#fff;font-size:32px;flex-shrink:0}
html body.app-site.bkk-international .jx-confirmed h1{font-size:29px!important;color:#11743e;margin:0 0 8px}
.jx-confirmed p{font-size:14px;margin:0}
.jx-confirmed-actions{display:flex;gap:12px;margin-bottom:24px}
.jx-confirmed-actions a{flex:1}
html body.app-site.bkk-international .nx-trip{border:1px solid var(--bkk-line);border-radius:20px;background:var(--bkk-surface);overflow:hidden}
html body.app-site.bkk-international .nx-trip-body{display:block;padding:26px}
html body.app-site.bkk-international .nx-trip-cover{height:310px}
html body.app-site.bkk-international .nx-trip-cover>img{width:100%;height:100%;object-fit:cover}
html body.app-site.bkk-international .nx-trip-head h2{font-size:30px}
.jx-booking-filters{display:flex;align-items:center;gap:16px;margin:24px 0}
.jx-booking-filters nav{display:flex;flex:1;padding:5px;background:var(--bkk-tint);border-radius:14px;gap:6px}
.jx-booking-filters nav a{flex:1;text-align:center;border-radius:10px;color:var(--bkk-muted);padding:12px;font-size:14px}
.jx-booking-filters nav a[aria-current]{background:var(--bkk-action);color:#fff}
.jx-booking-filters select{border:1px solid var(--bkk-line);border-radius:12px;min-height:48px;background:var(--bkk-surface);color:var(--bkk-dark);font:inherit;font-size:13px;padding:8px 14px;max-width:200px}
.jx-booking-card{border:1px solid var(--bkk-line);background:var(--bkk-surface);border-radius:20px;overflow:hidden}
.jx-booking-photo{display:block;height:220px;background:var(--bkk-tint)}
.jx-booking-photo>img{width:100%;height:100%;object-fit:cover}
.jx-photo-empty{display:grid;place-items:center;align-content:center;gap:12px;height:100%;font-size:12px;color:var(--bkk-muted)}
.jx-booking-body{padding:22px}
.jx-booking-body h2{font-size:24px!important;margin:14px 0 10px}
.jx-booking-body>p{font-size:13px;color:var(--bkk-muted)}
.jx-booking-status{display:inline-block;border-radius:20px;padding:7px 12px;font-size:12px;background:var(--bkk-tint);color:var(--bkk-blue-ink)}
.jx-booking-status[data-state=confirmada]{background:#eaf8ef;color:#11743e}
.jx-booking-status:is([data-state=retenida],[data-state=conciliacion]){background:#fff3d9;color:#80520b}
.jx-booking-facts{display:grid;gap:12px;font-size:12px;border-block:1px solid var(--bkk-line);padding:16px 0;margin:16px 0}
.jx-booking-facts strong{font-size:25px;color:var(--bkk-dark)}
.jx-booking-actions{display:flex;gap:10px}
.jx-booking-actions a{flex:1;font-size:13px!important;display:grid;place-items:center;text-align:center}
html body.app-site.bkk-international .bf-pay-summary{padding:18px;gap:18px;border:1px solid var(--bkk-line);border-radius:18px;background:var(--bkk-surface);box-shadow:none}
html body.app-site.bkk-international .bf-pay-summary img{width:130px;height:130px;border-radius:12px;object-fit:cover}
html body.app-site.bkk-international .bf-pay-summary h2{font-size:23px;margin-bottom:10px}
html body.app-site.bkk-international .bf-pay-summary p{font-size:12px}
html body.app-site.bkk-international .bf-pay-summary>div{min-width:0;flex:1}
html body.app-site.bkk-international .bf-pay-summary small{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-all;font-size:10px}
html body.app-site.bkk-international .bf-pay{border-radius:20px;padding:24px;box-shadow:none;border:1px solid var(--bkk-line)}
html body.app-site.bkk-international .bf-pay-total strong{color:var(--bkk-blue-ink);font-size:36px}
html body.app-site.bkk-international .bf-pay-total{background:var(--bkk-tint);color:var(--bkk-dark)}
html body.app-site.bkk-international .bf-pay-total>span,html body.app-site.bkk-international .bf-pay-total>small{color:var(--bkk-muted)}
html body.app-site.bkk-international form.stay-form[data-mode=offer][data-targeted="1"] .stay-type-options{display:none}
html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-occupancy-trigger small,html body.app-site.bkk-international form.stay-form[data-mode=offer]>label{letter-spacing:0!important;text-transform:none!important;font-weight:500!important}
html body.app-site.bkk-international .bf-pay-card{background:var(--bkk-surface);border:1px solid var(--bkk-line);border-radius:12px;padding:16px;min-height:110px}
html body.app-site.bkk-international .bf-pay-cta{min-height:52px;font-size:17px}
html body.app-site.bkk-international .bf-pay-sandbox{display:block;font-size:12px}
@media(max-width:767px){
 html body.app-site.bkk-international .stay-proposal{padding:20px 16px}
 html body.app-site.bkk-international form.stay-form[data-mode=offer]{padding:12px;gap:10px}
 html body.app-site.bkk-international .stay-offer .direct-offer-photo{height:210px}
 html body.app-site.bkk-international .stay-offer .direct-offer-info{padding:16px}
 html body.app-site.bkk-international .stay-offer .direct-offer-info h2{font-size:25px}
 html body.app-site.bkk-international .stay-offer .direct-offer-location{font-size:12px}
 html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget{padding:22px 55px!important;min-height:140px!important}
 html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget input{font-size:40px!important;max-width:150px!important}
 html body.app-site.bkk-international form.stay-form[data-mode=offer] .stay-budget [data-budget-currency]{font-size:17px!important}
 .jx-price-step{width:42px;height:42px;font-size:25px}.jx-price-minus{left:8px}.jx-price-plus{right:8px}
 html body.app-site.bkk-international .jx-response h3{font-size:22px}
 html body.app-site.bkk-international .jx-response .nx-head{flex-wrap:wrap}
 html body.app-site.bkk-international .jx-response .nx-price strong{font-size:25px}
 html body.app-site.bkk-international .jx-response .nx-total strong{font-size:25px}
 .jx-page-heading h1{font-size:28px!important}.jx-page-heading p{font-size:13px}
 .jx-progress{gap:6px;margin-bottom:24px}.jx-progress li>strong{font-size:11px}
 .jx-stay-hero{height:210px}.jx-stay-content{padding:18px}.jx-stay-content h2{font-size:25px!important}
 .jx-stay-facts{grid-template-columns:1fr 1fr;gap:14px}.jx-stay-facts>div:last-child{grid-column:1/-1}
 .jx-price-summary{padding:18px}.jx-price-summary dd{font-size:15px}.jx-summary-total dd{font-size:27px}
 .jx-hold-notice{padding:16px;gap:12px}.jx-hold-notice .offer-expiry{min-width:100px!important;padding:10px!important}
 .jx-confirmed{padding:18px;gap:12px}.jx-confirmed>span{width:42px;height:42px;font-size:26px}
 html body.app-site.bkk-international .jx-confirmed h1{font-size:24px!important}.jx-confirmed p{font-size:12px}
 .jx-confirmed-actions{flex-direction:column}.jx-confirmed-actions a{text-align:center}
 html body.app-site.bkk-international .nx-trip-cover{height:210px}.nx-trip-body{padding:18px!important}
 html body.app-site.bkk-international .nx-trip-head h2{font-size:25px}
 .jx-booking-filters{flex-wrap:wrap;gap:10px}.jx-booking-filters nav{flex-basis:100%}.jx-booking-filters form{margin-left:auto}
 .jx-booking-photo{height:200px}.jx-booking-body{padding:18px}.jx-booking-actions{flex-wrap:wrap}
 .jx-booking-actions a{font-size:12px!important;min-width:120px}.jx-booking-body h2{font-size:23px!important}
 html body.app-site.bkk-international .bf-pay{padding:18px}.bf-pay-summary{gap:12px!important}
 html body.app-site.bkk-international .bf-pay-summary img{width:90px;height:110px}
 html body.app-site.bkk-international .bf-pay-summary h2{font-size:20px}.bf-pay-grid{grid-template-columns:1fr!important}
 .bf-pay-processing>div{padding:22px!important;max-width:90vw}
}
