/* ───────────────────────────────────────────
   Reservation Widget (WordPress)
   Scoped to .res-widget to prevent global bleed
   ─────────────────────────────────────────── */
.res-widget{--bd:#d0d5dd;--fg:#2d333f;--muted:#667085;--btn:#e60012}

/* Layout & grid */
.res-widget .res-row{
  font-size:1.1em;
  display:grid;gap:.75rem;
  grid-template-columns:1fr 10rem 12rem 12rem auto;
  align-items:end;max-width:72rem;margin-left:auto;margin-right:auto;padding:1rem;
  background-color:rgba(255,255,255,0.5);
}
@media (max-width:1100px){
  .res-widget .res-row{grid-template-columns:1fr 1fr; gap:.5rem }
  .res-widget .res-row > .field-cta { grid-column: 1 / -1 }
  .res-widget .res-row > .field-cta .find-btn { width: 100% }
}
@media (max-width:560px){.res-widget .res-row{grid-template-columns:1fr;gap:.25rem;margin-left:1rem;margin-right:1rem}}

.res-widget .field{display:flex;flex-direction:column;gap:.25rem}

/* Icons */
.res-widget .icon{
  position:absolute;left:.75rem;top:50%;transform:translateY(-50%);
  width:1.1rem;height:1.1rem;opacity:.9;pointer-events:none;z-index:2
}
.res-widget .icon svg{display:block;width:100%;height:100%}
.res-widget .icon svg path[opacity]{opacity:.4}

/* Faux-select shell (flicker-proof: native <select> stays on top, invisible) */
.res-widget .mini-select{
  position:relative;display:flex;align-items:center;gap:.5rem;
  border:1px solid var(--bd);background:#fff;
  min-height:2.75rem;padding:.6rem .875rem .6rem 2.5rem;
}
.res-widget .mini-select .mini-select-label,
.res-widget .mini-select .mini-select-caret,
.res-widget .mini-select .icon { pointer-events:none; }
.res-widget .mini-select-label{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  flex:1 1 auto;font-size:1em;position:relative;z-index:2;color:var(--fg)
}
.res-widget .mini-select-caret{
  width:1rem;height:1rem;flex:0 0 auto;opacity:.7;position:relative;z-index:2
}
.res-widget .mini-select select{
  -webkit-appearance:none;appearance:none;
  position:absolute;inset:0;height:100%;width:100%;
  opacity:0;cursor:pointer;font:inherit;
  outline:none;border:none;background:transparent;
  -webkit-tap-highlight-color:transparent;
  z-index:3;pointer-events:auto;transform:translateZ(0)
}
.res-widget .mini-select select:focus{outline:none}
.res-widget .mini-select:focus-within{outline:none}

/* Date input (with leading icon) */
.res-widget .input-affix{position:relative}
.res-widget .input-like{
  border:1px solid var(--bd);background:#fff;font-size:1em;width:100%;
  min-height:2.75rem;padding:.6rem 2.5rem .6rem 2.5rem;color:var(--fg);
  text-align:center;
}
.res-widget .input-like::placeholder{color:#98a2b3}
.res-widget .input-like:focus{outline:none}

/* CTA button */
.res-widget .find-btn{
  display:inline-flex;align-items:center;gap:.5rem;justify-content:center;
  padding:.75rem 1.25rem;border:1px solid var(--btn);
  background:var(--btn);color:#fff;text-decoration:none;min-height:2.75rem;white-space:nowrap;
}
.res-widget .find-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.res-widget .find-btn span{font-weight:600}
.res-widget .find-btn .btn-ic{width:1.1rem;height:1.1rem;display:inline-block;line-height:0}
.res-widget .find-btn .btn-ic svg{width:100%;height:100%}
.res-widget .find-btn .btn-ic svg path{fill:currentColor}
