/* Shared Simple Booking style for the Rooms bar and booking dialog. */
.rama-booking-widget { container: rama-booking / inline-size; }
.rama-booking-section { padding:35px 56px !important; overflow:visible !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb { padding:0 !important; background:transparent !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form { display:grid !important; grid-template-columns:minmax(0,542fr) minmax(0,282fr) minmax(150px,234fr); align-items:center; gap:0 !important; position:relative; padding:0 !important; margin:0; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__property,
body #sb-container-inline.rama-booking-widget .sb__footer { display:none !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates { display:grid !important; grid-template-columns:251fr 291fr; gap:0 !important; width:auto !important; margin:0 !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field { display:flex; flex-direction:column; justify-content:center; gap:9px; width:100% !important; min-width:0; min-height:80px; padding:0 40px 0 0 !important; margin:0 !important; border-right:1px solid white; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field + .sb__form-field { padding-left:40px !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates .sb__form-field-label,
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-label { color:white !important; font:400 16px/24px Inter,sans-serif !important; letter-spacing:.05em; text-transform:uppercase; margin:0 !important; white-space:normal; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field > .sb__form-field-input,
body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--guests"] { background:transparent !important; box-shadow:none !important; border:0 !important; border-radius:0; padding:0 !important; margin:0 !important; color:white !important; min-height:0; height:auto !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-date { font:400 28px/31px Forum,serif; letter-spacing:.05em; color:white; white-space:nowrap; text-transform:capitalize; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__guests-rooms { width:auto !important; margin:0 !important; padding:0 !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__guests-rooms > .sb__form-field { width:100% !important; padding:0 !important; margin:0 !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__guests-rooms > .sb__form-field > .sb__form-field-label { display:none; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--guests"] { display:grid; grid-template-columns:1fr 1fr; width:100%; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-guest-part { display:flex; flex-direction:column; justify-content:center; gap:9px; min-height:80px; min-width:0; padding-left:40px; text-align:left; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-guest-part:first-child { border-right:1px solid white; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-count { display:flex; align-items:center; gap:16px; font:400 28px/31px Forum,serif; letter-spacing:.05em; color:white; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-arrows { display:flex; flex-direction:column; gap:7px; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-arrows img { display:block; width:auto; height:auto; max-width:none; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-arrows img:first-child { transform:rotate(180deg); }
body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--checkavailability"] { justify-self:end; width:134px !important; min-width:0; min-height:48px; height:48px; padding:0 16px !important; margin:0 !important; border:0; border-radius:0; box-shadow:none; font:400 14px/20px Inter,sans-serif !important; letter-spacing:.3em; text-transform:uppercase; color:#110404 !important; background:#e9dcc4 !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form::after { content:''; position:absolute; right:0; top:calc(50% + 29px); width:134px; height:1px; background:white; pointer-events:none; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form-field-input:focus-visible,
body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--checkavailability"]:focus-visible { outline:2px solid #e9dcc4; outline-offset:5px; }
/* Native calendars and allocation popovers retain their original readable colours. */
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__calendar,
body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__guests { z-index:100; }
@container rama-booking (min-width:761px) {
  html[lang^="de"] body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-label { font-size:14px !important; letter-spacing:.02em; }
  html[lang^="fr"] body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--checkavailability"],
  html[lang^="fr"] body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form::after { width:176px !important; }
}
@container rama-booking (max-width:1040px) and (min-width:761px) {
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates { grid-template-columns:1fr 1fr; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field { padding-right:16px !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field + .sb__form-field,
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-guest-part { padding-left:16px !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates .sb__form-field-label,
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-label { font-size:13px !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-date { font-size:23px; }
  html[lang^="fr"] body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 190px; }
}
@container rama-booking (max-width:760px) {
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form { grid-template-columns:minmax(0,1fr); gap:24px !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates { grid-template-columns:1fr 1fr; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field { padding-right:12px !important; min-height:72px; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates > .sb__form-field + .sb__form-field { padding:0 0 0 16px !important; border-right:0; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-guest-part { padding-left:0; min-height:72px; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-guest-part + .rama-sb-guest-part { padding-left:16px; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates .sb__form-field-label,
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-label { font-size:14px !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-date { font-size:24px; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--checkavailability"] { width:100% !important; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__form::after { top:auto; bottom:-5px; width:100%; }
}
@container rama-booking (max-width:280px) {
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-date { font-size:21px; letter-spacing:0; }
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .sb__dates .sb__form-field-label,
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-label { font-size:12px !important; }
}
@container rama-booking (max-width:240px) {
  body :is(#sb-container-inline,#sb-container).rama-booking-widget .rama-sb-date { font-size:20px; }
}

/* Keep the dialog's title and close control outside the red search panel. */
body .rama-booking-dialog { width:1282px; max-width:calc(100vw - 48px); padding:48px 56px; max-height:calc(100dvh - 48px); overflow:auto; background:white; }
body .rama-booking-dialog h2 { margin:0 0 24px; font:400 40px/44px Forum,serif; letter-spacing:.05em; }
body .rama-booking-dialog #rama-booking-room { margin:0 0 24px; }
body .rama-booking-dialog .rama-dialog-close { width:44px; height:44px; min-width:44px; padding:0; line-height:44px; color:#110404 !important; background:transparent !important; }
body .rama-booking-dialog .rama-booking-widget { background:#781a1d; padding:35px 56px; }
body #sb-container.rama-booking-widget .sb__footer { display:block !important; padding-top:16px; margin-top:28px; border-top:1px solid #ffffff60; }
body #sb-container.rama-booking-widget .sb__footer-actions { display:flex; flex-wrap:wrap; gap:16px 24px; justify-content:space-between; }
body #sb-container.rama-booking-widget .sb__footer-link { display:inline-flex; align-items:center; gap:6px; color:white !important; font:400 13px/20px Inter,sans-serif !important; }
body #sb-container.rama-booking-widget .sb__footer-link > svg { display:block; flex-shrink:0; margin:0 !important; fill:white !important; }
/* Panels expand within the scrollable dialog instead of being clipped by it. */
body #sb-container.rama-booking-widget .sb__calendar,
body #sb-container.rama-booking-widget .sb__guests,
body #sb-container.rama-booking-widget .sb__footer-promo { position:relative !important; inset:auto !important; width:100% !important; min-width:0 !important; max-width:100%; margin:16px 0 0; transform:none !important; }
body #sb-container.rama-booking-widget .sb__dates:has(.sb__calendar[style*="display: block"]) > .sb__form-field--checkin { grid-column:1/-1; border-right:0; padding-right:0 !important; }
body :is(#sb-container-inline,#sb-container).rama-booking-widget [id$="_sb__form-field--checkavailability"] { transition:background-color .2s; }
@container rama-booking (min-width:761px) {
  body #sb-container.rama-booking-widget .sb__form.editing { align-items:start; }
  body #sb-container.rama-booking-widget .sb__form.editing [id$="_sb__form-field--checkavailability"] { align-self:start; margin-top:16px !important; }
}
@media (max-width:1199px) and (min-width:768px) {
  .rama-booking-section { padding:32px 24px !important; }
  body .rama-booking-dialog { padding:48px 24px 32px; }
  body .rama-booking-dialog .rama-booking-widget { padding:32px 24px; }
}
@media (max-width:767px) {
  .rama-booking-section { padding:28px 24px 32px !important; }
  body .rama-booking-dialog { width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:48px 12px 20px; }
  body .rama-booking-dialog h2 { font-size:28px; line-height:31px; margin-bottom:20px; }
  body .rama-booking-dialog #rama-booking-room { font-size:14px; line-height:21px; margin-bottom:20px; }
  body .rama-booking-dialog .rama-booking-widget { padding:28px 16px 24px; }
}
@media (max-width:359px) {
  .rama-booking-section { padding-left:16px !important; padding-right:16px !important; }
}
