.gravi-ui [data-slot=dialog-content].booking-review-dialog{width:min(600px,100vw - 24px);max-width:600px;max-height:min(90dvh,var(--gravi-viewport-height,90dvh));background:var(--popover,#15171b);border:1px solid var(--border,#363a42);border-radius:20px;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.gravi-ui .booking-review-header{border-bottom:1px solid var(--border,#363a42);flex-shrink:0;align-items:flex-start;gap:16px;padding:22px 22px 16px;display:flex}.gravi-ui .booking-review-header>div{flex:1;min-width:0}.gravi-ui .booking-review-header [data-slot=dialog-title]{margin:0 0 8px;font-size:1.3rem;line-height:1.4}.gravi-ui .booking-review-header [data-slot=dialog-description]{font-size:.9rem;line-height:1.6}.gravi-ui .booking-review-close{flex:0 0 44px;width:44px;min-width:44px;height:44px;padding:0;position:static}.gravi-ui .booking-review-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:20px 22px;overflow-y:auto}.gravi-ui .booking-review-room span{color:var(--muted-foreground,#b4bac4);font-size:.9rem}.gravi-ui .booking-review-room h3{overflow-wrap:anywhere;margin:5px 0;font-size:1.5rem}.gravi-ui .booking-review-room p{color:var(--muted-foreground,#b4bac4);margin:0 0 16px;font-size:.9rem}.gravi-ui .booking-review-facts,.gravi-ui .booking-review-cost{gap:12px;margin:0;display:grid}.gravi-ui .booking-review-facts>div,.gravi-ui .booking-review-cost>div{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.gravi-ui .booking-review-facts dt{align-items:center;gap:8px;font-size:.95rem;display:flex}.gravi-ui .booking-review-facts dt svg{flex-shrink:0}.gravi-ui .booking-review-facts dd,.gravi-ui .booking-review-cost dd{text-align:right;overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:700}.gravi-ui .booking-review-facts small{margin-top:4px;font-size:.85rem;font-weight:400;display:block}.gravi-ui .booking-review-cost{border-block:1px solid var(--border,#363a42);margin-top:18px;padding:16px 0;font-size:.95rem}.gravi-ui .booking-review-contact{overflow-wrap:anywhere;margin:16px 0;font-size:.9rem}.gravi-ui .booking-review-contact span{display:block}.gravi-ui .booking-review-note{color:var(--muted-foreground,#b4bac4);margin:0;font-size:.875rem;line-height:1.6}.gravi-ui .booking-review-actions{padding:16px 22px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border,#363a42);flex-shrink:0;grid-template-columns:auto 1fr;gap:10px;display:grid}.gravi-ui .booking-review-actions .button{white-space:normal;min-width:0;height:auto;min-height:48px;margin:0;line-height:1.45}@media (max-width:480px){.gravi-ui .booking-review-header{gap:10px;padding:16px}.gravi-ui .booking-review-body{padding:16px}.gravi-ui .booking-review-actions{padding:12px 16px max(12px,env(safe-area-inset-bottom));grid-template-columns:1fr}.gravi-ui .booking-review-actions .primary{grid-row:1}.gravi-ui .booking-review-facts>div{gap:8px}.gravi-ui .booking-review-facts dd{max-width:58%}}.mode-switch{margin:0 0 14px}.mode-switch .text-button{align-items:center;gap:6px;font-size:14px;display:inline-flex}.room-picked{background:#1d1819;border:1px solid #a2414799;border-radius:12px;align-items:center;gap:12px;min-width:0;margin:6px 0 16px;padding:10px;display:flex}.room-picked img{aspect-ratio:2/3;object-fit:cover;border-radius:6px;flex:0 0 48px;width:48px}.room-picked span{flex:1;gap:2px;min-width:0;display:grid}.room-picked strong{overflow-wrap:anywhere}.room-picked small{color:#a9a9a9;font-size:12px}.room-picked .text-button{flex-shrink:0;font-size:14px}.booking-sticky-summary{display:none}@media (max-width:767px){.booking-sticky-summary{z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101010f5;border-top:1px solid #3a3a3a;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000073}.booking-sticky-summary>div{gap:1px;min-width:0;display:grid}.booking-sticky-summary small{color:#a9a9a9;font-size:11px}.booking-sticky-summary strong{font-size:19px}.booking-sticky-summary .button{flex-shrink:0;gap:8px;min-height:46px;padding:10px 18px}.page-shell:has(.booking-sticky-summary){padding-bottom:96px}}
