.booking input.nv-home-date-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip:rect(0 0 0 0)!important}
.nv-home-date-picker{position:relative;width:100%;font-family:Lato,Arial,sans-serif}
.nv-home-date-trigger{display:flex!important;align-items:center;justify-content:space-between;text-align:left}
.nv-home-date-icon{display:flex;color:#2b190f}
.nv-home-date-popover{position:absolute;top:calc(100% + 7px);left:0;z-index:2147483100;width:310px;padding:16px;box-sizing:border-box;background:#fffaf1;border:1px solid #dbcaa9;box-shadow:0 16px 36px rgba(43,25,15,.2)}
.nv-home-date-popover[hidden]{display:none!important}
.nv-home-date-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;margin-bottom:12px}
.nv-home-date-head strong{text-align:center;font:700 15px/1.2 Lato,Arial,sans-serif;letter-spacing:.04em;color:#2b190f}
.nv-home-date-head button,.nv-home-date-foot button{border:0;background:transparent;color:#2b190f;cursor:pointer}
.nv-home-date-head button{height:34px;font-size:28px;line-height:1}
.nv-home-date-head button:hover,.nv-home-date-foot button:hover{color:#a9562f}
.nv-home-date-week,.nv-home-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.nv-home-date-week{margin-bottom:6px}
.nv-home-date-week span{text-align:center;color:#9a6c2b;font:700 11px/28px Lato,Arial,sans-serif}
.nv-home-date-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:#2b190f;font:500 12px/1 Lato,Arial,sans-serif;cursor:pointer}
.nv-home-date-day:hover:not(:disabled){background:#f0e2c9}
.nv-home-date-day.is-selected{border:1.5px solid #c79235;background:#fff8ec;font-weight:700}
.nv-home-date-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #d9bd88}
.nv-home-date-day.is-muted{color:#b9afa2}
.nv-home-date-day:disabled{color:#d6cec2;cursor:not-allowed}
.nv-home-date-foot{display:flex;justify-content:space-between;border-top:1px solid #e3d4bd;margin-top:12px;padding-top:10px}
.nv-home-date-foot button{color:#8c6228;font:700 12px Lato,Arial,sans-serif;padding:5px 0}
@media(max-width:520px){.nv-home-date-popover{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%);width:auto;max-width:none}}

/* Match Norwich date control: use the same single chevron, without a calendar icon. */
.nv-home-date-icon{display:none!important}

/* Home booking widget: match the approved Norwich boxed control treatment. */
.booking{
  max-width:1380px!important;
  grid-template-columns:minmax(220px,1.25fr) minmax(190px,.95fr) minmax(170px,.8fr) minmax(160px,.75fr) auto!important;
  gap:18px!important;
  padding:24px 32px 18px!important;
  align-items:end!important;
}
.booking label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-width:0!important;
  color:#4b2818!important;
  font-size:12px!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.booking select,
.booking input,
.booking .nv-booking-picker-trigger{
  width:100%!important;
  min-height:52px!important;
  height:52px!important;
  box-sizing:border-box!important;
  padding:0 15px!important;
  background:#fffaf0!important;
  border:1px solid #c18b3f!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#321b11!important;
  font:500 15px/1.2 Lato,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.booking .nv-booking-picker-trigger{
  position:relative!important;
  padding-right:42px!important;
  border-bottom:1px solid #c18b3f!important;
}
.booking .nv-booking-picker-trigger::after{
  right:16px!important;
  width:8px!important;
  height:8px!important;
  border-color:#321b11!important;
}
.booking .nv-booking-picker.is-open .nv-booking-picker-trigger{
  border-color:#a9562f!important;
  outline:1px solid #a9562f!important;
  outline-offset:0!important;
  background:#fffdf7!important;
}
.booking .nv-home-date-picker{
  position:relative!important;
}
.booking .nv-home-date-trigger::after{
  display:none!important;
}
.booking .nv-home-date-icon{
  display:flex!important;
  color:#321b11!important;
}
.booking .nv-home-date-trigger{
  padding-right:15px!important;
}
.booking .nv-home-date-popover{
  top:calc(100% + 7px)!important;
}
.booking .button{
  min-height:52px!important;
  height:52px!important;
  padding:0 32px!important;
  background:#a94a27!important;
  border-color:#a94a27!important;
  white-space:nowrap!important;
}
.booking-note{
  grid-column:1/-1!important;
  margin:10px 0 0!important;
  font-size:12px!important;
  line-height:1.45!important;
  text-align:center!important;
  color:#6d4b35!important;
}
@media(max-width:1180px){
  .booking{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .booking .button{width:100%!important}
}
@media(max-width:767px){
  .booking{grid-template-columns:1fr!important;padding:22px 20px 18px!important;gap:14px!important}
  .booking select,.booking input,.booking .nv-booking-picker-trigger,.booking .button{min-height:50px!important;height:50px!important}
}
