/* R177 R5 mobile booking: localized upward popovers, readable controls, truthful CTA. */
.r177-r5-control-trigger{display:none}
.r177-r5-popover[hidden]{display:none!important}
.r177-booking-dock{overflow:visible!important}
.r177-r5-popover{
 position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);z-index:12;
 background:#fffaf4;border:1px solid #dfbd9a;color:#21160f;
 border-radius:18px;box-shadow:0 18px 65px #120b08a8,0 3px 0 #cf8d59;
 width:min(390px,calc(100vw - 20px));max-height:calc(100dvh - var(--r3-dock-height,175px) - 14px);
 padding:15px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;
 font-family:"Manrope",Arial,sans-serif;
}
.r177-r5-popover--period{width:min(330px,calc(100vw - 20px))}
.r177-r5-popover__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px}
.r177-r5-popover__title{margin:0;font:850 18px/1.2 "Outfit","Manrope",Arial,sans-serif;letter-spacing:-.025em;color:#23170f}
.r177-r5-popover__sub{font:600 11px/1.35 "Manrope",Arial,sans-serif;color:#675145;margin:4px 0 0}
.r177-r5-popover__close{width:39px;height:39px;flex:none;border-radius:11px;display:grid;place-items:center;border:1px solid #d8bd9f;background:#f8eee3;color:#503525;font:800 24px/1 Arial;cursor:pointer}
.r177-r5-calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:10px}
.r177-r5-calendar__month{font:850 15px/1.2 "Outfit","Manrope",Arial,sans-serif;color:#302116;text-align:center;flex:1;letter-spacing:-.02em}
.r177-r5-calendar__nav button{width:42px;height:42px;flex:none;display:grid;place-items:center;background:#fff0df;border:1px solid #dbc0a3;border-radius:10px;color:#50321e;font:800 24px/1 Arial;cursor:pointer}
.r177-r5-calendar__nav button:disabled{opacity:.28;cursor:default}
.r177-r5-calendar__weekday,.r177-r5-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.r177-r5-calendar__weekday{margin-bottom:6px}
.r177-r5-calendar__weekday span{text-align:center;color:#675449;font:800 10px/1.25 "Manrope",Arial,sans-serif;padding:4px 0}
.r177-r5-calendar__days button,.r177-r5-calendar__empty{width:100%;min-width:0;height:41px;border-radius:10px;border:1px solid transparent;display:grid;place-items:center;padding:0;font:750 13.5px/1 "Manrope",Arial,sans-serif;background:transparent;color:#30241a;cursor:pointer}
.r177-r5-calendar__days button:hover:not(:disabled){background:#ffe4cf;border-color:#edaa79}
.r177-r5-calendar__days button[aria-selected="true"]{background:#f9782b!important;border-color:#b74917!important;color:#21140f!important;font-weight:900}
.r177-r5-calendar__days button[data-r5-today]{border-color:#a56d43;font-weight:850}
.r177-r5-calendar__days button:disabled{opacity:.22;cursor:default}
.r177-r5-calendar__note{border-top:1px solid #e9d9c9;padding-top:10px;margin-top:11px;font:650 10.5px/1.4 "Manrope",Arial,sans-serif;color:#635044;text-align:center}
.r177-r5-period-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.r177-r5-period-choice{min-height:64px;border:1px solid #d9b898;background:#fff6eb;border-radius:13px;padding:14px 6px;display:grid;place-items:center;gap:6px;color:#302015;font:850 16px/1.1 "Manrope",Arial,sans-serif;cursor:pointer}
.r177-r5-period-choice[aria-pressed="true"]{background:#ffe0c6;border:2px solid #d96227;color:#6e2c0a}
.r177-r5-period-choice__icon{font-size:23px;line-height:1;color:#c3682e}
.r177-r5-period-choice:hover{border-color:#c76b32;background:#ffead9}
.r177-r5-popover button:focus-visible,.r177-r5-control-trigger:focus-visible{outline:3px solid #e06924;outline-offset:3px}
.r177-r5-popover[aria-hidden="true"]{display:none!important}
@media(max-width:760px){
 .r177-r5-ready .r177-r5-control-trigger{
  display:flex!important;position:relative;align-items:center;justify-content:space-between;gap:5px;
  width:100%!important;height:47px!important;min-height:47px!important;
  box-sizing:border-box!important;margin:0!important;
  padding:0 10px!important;
  border:1px solid #d4b9a0!important;border-radius:10px!important;
  background:#fff8ef!important;color:#291a11!important;
  box-shadow:inset 0 1px 1px #ffffff!important;
  font:800 13.2px/1.1 "Manrope",Arial,sans-serif!important;
  letter-spacing:-.025em!important;text-align:left!important;white-space:nowrap;
  cursor:pointer!important;overflow:hidden;
 }
 .r177-r5-ready .r177-r5-control-trigger--period{
  background:#fff3e4!important;font-size:14.2px!important;
 }
 .r177-r5-control-trigger__text{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
 .r177-r5-control-trigger__icon{font:900 19px/1 Arial,sans-serif!important;color:#9f5728!important;flex:none}
 .r177-r5-control-trigger[aria-expanded="true"]{border:2px solid #f4792b!important;box-shadow:0 0 0 2px #ff9f4c55!important}
 .r177-r5-ready .r177-dock-field--date input[data-r177-date],
 .r177-r5-ready .r177-period-selector select[data-r177-period]{
  position:absolute!important;width:1px!important;min-width:1px!important;max-width:1px!important;
  height:1px!important;min-height:1px!important;padding:0!important;margin:0!important;
  border:0!important;opacity:0!important;clip-path:inset(50%)!important;
  pointer-events:none!important;overflow:hidden!important;
 }
 .r177-booking-dock__selectors{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.84fr) minmax(107px,.89fr)!important;
  gap:6px!important;align-items:end!important;
 }
 .r177-people-selector{width:auto!important;min-width:107px!important}
 .r177-people-stepper{
  grid-template-columns:42px minmax(20px,1fr) 42px!important;height:47px!important;
  border-radius:10px!important;background:#fff8ef!important;
 }
 .r177-people-stepper button{min-width:42px!important;min-height:45px!important;font:850 20px/1 Arial,sans-serif!important}
 .r177-people-stepper button:disabled{opacity:.35!important;cursor:default!important}
 .r177-people-stepper output{font-size:14px!important;font-weight:900!important;color:#24160e!important}
 .r177-dock-field>span,.r177-period-selector>span{
  color:#f8d2b8!important;font-size:10px!important;line-height:1.25!important;
  margin-bottom:5px!important;font-weight:850!important;letter-spacing:.035em!important;
 }
 .r177-booking-dock__form{row-gap:7px!important;padding:6px 0 3px!important}
 .r177-booking-dock__form::before{font-size:9.6px!important;line-height:1.2!important}
 .r177-booking-dock__trust{font-size:10.5px!important;line-height:1.3!important}
 .r177-r5-popover{padding:14px!important}
}
@media(max-width:359px){
 .r177-booking-dock__selectors{
  grid-template-columns:minmax(0,1fr) 115px!important;
  grid-template-areas:"date people" "period period"!important;gap:7px!important;
 }
 .r177-dock-field--date{grid-area:date!important}
 .r177-period-selector{grid-area:period!important}
 .r177-people-selector{grid-area:people!important;min-width:115px!important}
 .r177-people-stepper{grid-template-columns:44px minmax(20px,1fr) 44px!important}
 .r177-r5-control-trigger{min-height:46px!important;height:46px!important}
 .r177-r5-popover{padding:12px!important}
 .r177-r5-calendar__days button,.r177-r5-calendar__empty{height:35px!important;font-size:13px!important}
 .r177-r5-calendar__nav button{height:38px;width:38px}
 .r177-r5-popover__title{font-size:17px}
 .r177-r5-calendar__note{font-size:10px}
}
@media(max-height:600px){
 .r177-r5-popover{padding:8px 12px!important}
 .r177-r5-calendar__days button,.r177-r5-calendar__empty{height:32px!important}
 .r177-r5-popover__head{margin-bottom:4px}
 .r177-r5-calendar__nav{margin-bottom:4px}
 .r177-r5-calendar__note{margin-top:4px;padding-top:4px}
}
@media(prefers-reduced-motion:reduce){.r177-r5-popover{transition:none!important}}

/* R5 visual/assistive review: clear focus vs selected state, no duplicate small copy. */
.r177-r5-calendar__days button[aria-pressed="true"]{background:#f9782b!important;border-color:#b74917!important;color:#21140f!important;font-weight:900}
.r177-r5-calendar__days button:focus-visible{outline:2px solid #6c4a34!important;outline-offset:1px!important}
.r177-r5-period-choice:focus-visible{outline:2px solid #625044!important;outline-offset:2px!important}
.r177-r5-calendar__note{display:none!important}
@media(max-width:359px){
 .r177-booking-dock__form::before{display:none!important}
 .r177-booking-dock__form{row-gap:5px!important;padding:4px 0 2px!important}
 .r177-booking-dock__trust{font-size:10px!important}
}
@media(min-width:761px){
 .r177-dock-field>span,.r177-period-selector>span{font-size:10.5px!important;margin-bottom:4px!important}
 .r177-period-selector select{font-size:14px!important;height:44px!important}
 .r177-dock-field--date input{font-size:13.5px!important;height:44px!important}
 .r177-people-stepper{height:44px!important;grid-template-columns:44px minmax(20px,1fr) 44px!important}
 .r177-people-stepper button{min-width:44px!important;font-size:20px!important}
 .r177-people-stepper output{font-size:14px!important}
 .r177-booking-dock__trust{font-size:10px!important}
}
