/* Ultra Bookings booking card (sidebar) */
.booking-card.ub-bk{--bk-blue:#1583f0;--bk-ink:#0b2a63;--bk-mut:#61748f;--bk-bd:#dbe8f7;--bk-soft:#eef5ff;--bk-green:#0c9871;padding:24px;border:0;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(14,60,130,.12);color:var(--bk-ink)}
.ub-bk svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.booking-card.ub-bk .ub-bk-price{margin:0 0 14px;font-size:30px;font-weight:800;color:var(--bk-ink)}
.ub-bk .ub-bk-price small{font-size:15px;font-weight:500;color:var(--bk-mut)}
.ub-bk-label{display:flex;align-items:center;gap:9px;margin:14px 0 7px;font-weight:700;font-size:14px;color:var(--bk-ink)}
.ub-bk-label svg{color:var(--bk-blue)}
.ub-bk-label label{font:inherit;margin:0}
/* inputs */
.booking-card.ub-bk .ub-bk-input,.booking-card.ub-bk .ub-bk-select select,.booking-card.ub-bk .ub-dp-input{width:100%;box-sizing:border-box;min-height:48px;padding:12px 40px 12px 16px;border:1.5px solid var(--bk-bd)!important;border-radius:16px;background:#f6faff;font:500 15px/1.3 inherit;font-family:inherit;color:var(--bk-ink);appearance:none;-webkit-appearance:none}
.booking-card.ub-bk .ub-bk-input{background:#fff;padding-right:16px}
.booking-card.ub-bk .ub-bk-input::placeholder{color:#8a9bb2}
.ub-bk-select{position:relative}
.ub-bk-select::after,.ub-bk .ub-dp::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--bk-mut);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
.ub-bk .ub-dp{position:relative}
.ub-bk .ub-dp:has(.ub-dp-clear:not([hidden]))::after{display:none}
.ub-bk .ub-dp-clear{right:10px}
.ub-bk .ub-dp-val.is-empty{color:#8a9bb2}
.booking-card.ub-bk .ub-bk-form input:focus,.booking-card.ub-bk .ub-bk-form select:focus,.booking-card.ub-bk .ub-dp-input:focus,.booking-card.ub-bk .ub-dp-input[aria-expanded=true]{border-color:var(--bk-blue)!important;box-shadow:0 0 0 3px rgba(21,131,240,.18)!important;outline:0!important}
.ub-bk-dates input{display:block;width:100%;margin-bottom:8px;box-sizing:border-box}
/* buttons: always white text, never unreadable on hover */
.booking-card.ub-bk .ub-bk-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;min-height:54px;margin-top:20px;padding:14px 20px;border:0;border-radius:18px;background:var(--bk-blue);color:#fff!important;font:700 17px/1 inherit;font-family:inherit;text-decoration:none;cursor:pointer;box-shadow:0 8px 20px rgba(21,131,240,.28);transition:background .15s,box-shadow .15s}
.booking-card.ub-bk .ub-bk-btn:hover,.booking-card.ub-bk .ub-bk-btn:focus-visible{background:#0c70d6;color:#fff!important;box-shadow:0 10px 24px rgba(12,112,214,.34);transform:none;outline:0}
.ub-bk-btn.is-busy{opacity:.7;pointer-events:none}
/* state switching (no re-render of the form, so the date picker and scroll are untouched) */
.ub-bk.is-results .ub-bk-form,.ub-bk.is-results .ub-bk-price{display:none}
.ub-bk:not(.is-results) .ub-res{display:none}
.ub-info{display:flex;align-items:center;gap:14px;margin-top:18px;padding:16px;border-radius:16px;background:#eef5ff;color:var(--bk-mut);font-size:14px;line-height:1.5}
.ub-info p{margin:0}
.ub-info-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#dcebff;color:var(--bk-blue);flex:none}
.ub-secure{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--bk-mut);font-size:13px}
.ub-secure svg{color:var(--bk-blue)}
.ub-secure-form{padding-top:14px;border-top:1px solid #e6eef8}
.ub-secure-form svg{color:#6b86a8}
/* results card */
.ub-res-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.ub-res-ico{color:var(--bk-blue)}.ub-res-ico svg{width:34px;height:34px}
.ub-res-head h3{margin:0;font-size:24px;font-weight:800;color:var(--bk-ink)}
.ub-res-head p{margin:2px 0 0;color:var(--bk-mut);font-size:14px}
.ub-res-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #e9f0f8}
.ub-res-row small{display:block;color:var(--bk-mut);font-size:13px}
.ub-res-row strong{display:block;font-size:15px;color:var(--bk-ink);margin:1px 0}
.ub-res-dot{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf3ff;color:var(--bk-blue)}
.ub-res-dot svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.booking-card.ub-bk .ub-edit{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;border:0;border-radius:14px;background:#eaf3ff;color:var(--bk-blue);font:600 14px/1 inherit;font-family:inherit;cursor:pointer}
.booking-card.ub-bk .ub-edit:hover{background:#d9eaff;color:#0c70d6}
.ub-edit svg{width:14px;height:14px}
.ub-coupon-ok{display:flex;align-items:center;gap:12px;margin-top:14px}
.ub-coupon-ok strong{display:block;color:var(--bk-green);font-size:15px}
.ub-coupon-ok small{color:var(--bk-mut);font-size:13px}
.ub-tick{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#2fb67e;color:#fff;flex:none}
.ub-tick svg{width:16px;height:16px;stroke-width:3}
.ub-coupon-bad{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#fff6e8;color:#9a5b00;font-size:13px}
.ub-sum{margin-top:14px;padding:16px;border-radius:18px;background:#f4f8ff;border:1px solid #e3edfa}
.ub-line{display:flex;justify-content:space-between;gap:12px;padding:6px 0;color:#3d5273;font-size:14px}
.ub-line-disc{margin:4px -8px;padding:8px;border-radius:10px;background:#e8f8f0;color:var(--bk-green);font-weight:500}
.ub-line-disc span:first-child{display:flex;align-items:center;gap:8px}
.ub-line-disc svg{width:17px;height:17px}
.ub-total{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;padding-top:14px;border-top:1px solid #d6e4f5}
.ub-total strong{display:block;font-size:19px;font-weight:800}
.ub-total small{color:var(--bk-mut);font-size:12px}
.ub-total b{font-size:24px;font-weight:800;white-space:nowrap}
.ub-hold{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:11px 14px;border-radius:14px;background:#eaf3ff;color:var(--bk-mut);font-size:13px}
.ub-hold svg{width:24px;height:24px;color:var(--bk-blue)}
.ub-hold b{color:var(--bk-blue)}
.ub-note{margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#f4f8ff;font-size:13px}
.ub-bk .field-error{margin:10px 0 0;color:#c0392b;font-size:13px}
@media (prefers-reduced-motion:reduce){.booking-card.ub-bk .ub-bk-btn{transition:none}}

/* wider sidebar (about 20%) and a tighter results card so Pay now stays in view */
@media (min-width:1000px){.listing-detail-layout{grid-template-columns:minmax(0,1fr) 456px!important;gap:36px!important}}
.booking-card.ub-bk{padding:22px 24px}
.ub-res-head{margin-bottom:6px}
.ub-res-head>div{flex:1;min-width:0}
.ub-res-head h3{font-size:22px}
.ub-res-row{grid-template-columns:auto 1fr auto;padding:11px 0}
.ub-res-row strong{white-space:nowrap}
.ub-sum{margin-top:12px;padding:14px 16px}
.ub-line{padding:4px 0}
.ub-hold{margin-top:12px;padding:9px 14px}
.booking-card.ub-bk .ub-bk-btn{margin-top:14px;min-height:52px}
.ub-secure{margin-top:10px}
.booking-card.ub-bk .ub-clear{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:8px 13px;border:0;border-radius:999px;background:#eaf3ff;color:var(--bk-blue);font:600 14px/1 inherit;font-family:inherit;cursor:pointer;flex:none}
.booking-card.ub-bk .ub-clear:hover{background:#d9eaff;color:#0c70d6}
.ub-clear svg{width:14px;height:14px;stroke-width:2.6}

/* v3: minimal results header (no icon, 20% smaller title) */
.ub-res-head{justify-content:space-between;gap:10px}
.ub-res-head h3{margin:0;font-size:17.6px;font-weight:800}

/* ub-v91-width: booking card 4% narrower */
@media(min-width:981px){.booking-card.ub-bk{width:96% !important;margin-left:auto !important;justify-self:end}}

/* ub-v98: sidebar card 20% narrower (456px -> 365px); description column grows into the space */
@media (min-width:1000px){.listing-detail-layout{grid-template-columns:minmax(0,1fr) 365px!important}}

/* ub-v100 */
/* sidebar card another 5% narrower (365px -> 347px), tighter gap so the description column gets the room */
@media (min-width:1000px){.listing-detail-layout{grid-template-columns:minmax(0,1fr) 347px!important;gap:24px!important}}
/* Share button: orange */
.button.ub-share-btn,.button.button-light.ub-share-btn{background:#f58220!important;border-color:#f58220!important;color:#fff!important}
.button.ub-share-btn:hover,.button.button-light.ub-share-btn:hover,.button.ub-share-btn:focus-visible{background:#e06f10!important;border-color:#e06f10!important;color:#fff!important}
.icon-button.ub-share-btn{background:#f58220!important;border-color:#f58220!important;color:#fff!important}
/* hotel search "Check availability": small, rounded, same look as the booking card button */
.ubs-form .ubs-btn,button.ubs-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:auto!important;min-width:0!important;height:auto!important;min-height:48px!important;padding:12px 26px!important;border:0!important;border-radius:18px!important;background:#1583f0!important;color:#fff!important;font-size:16px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;line-height:1.2!important;align-self:center!important;justify-self:center!important;box-shadow:0 8px 20px rgba(21,131,240,.28)!important;cursor:pointer}
.ubs-form .ubs-btn::after,button.ubs-btn::after{content:"\2192";font-size:18px;line-height:1}
.ubs-form .ubs-btn:hover,.ubs-form .ubs-btn:focus-visible,button.ubs-btn:hover{background:#0c70d6!important;box-shadow:0 10px 24px rgba(12,112,214,.34)!important;outline:0}
