:root{
  --brand:#804197;

  /* Transparent page + white labels */
  --pageText:#fff;
  --pageBorder:rgba(255,255,255,.25);

  /* Controls readable */
  --controlBg:rgba(255,255,255,.92);
  --controlText:#111;

  --h:44px;
  --radius:0px;
  --w:1120px;
  --gap:16px;
  --border:#e5e7eb;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:300;
  background:transparent;
  color:var(--pageText);
}

/* Hide scrollbars but keep scroll working */
html, body{
  overflow:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{ width:0; height:0; }

/* Mobile-only CTA */
.mobileCta{
  display:none;
  text-decoration:none;
  text-align:center;
  width:min(520px, calc(100vw - 32px));
  height:56px;
  line-height:56px;
  margin:16px auto;
  border:1px solid var(--brand);
  background:var(--brand);
  color:#fff;
  font-weight:600;
  letter-spacing:.4px;
}

/* Widget container (desktop) */
.widget{
  width:min(var(--w), calc(100vw - 32px));
  margin:16px auto;
  background:transparent;
}

.row{
  display:grid;
  grid-template-columns: 1.1fr 1.6fr 1.3fr 180px;
  gap:var(--gap);
  align-items:end;
}

.field label{
  display:block;
  font-size:13px;
  line-height:1.2;
  margin:0 0 6px 0;
  color:var(--pageText);
  font-weight:300;
}

/* Controls */
select,
input[type="text"],
.guestBtn{
  width:100%;
  height:var(--h);
  border:1px solid var(--pageBorder);
  outline:none;
  padding:0 12px;
  border-radius:var(--radius);
  background:var(--controlBg);
  color:var(--controlText);
  font-weight:300;
  font-size:14px;
  line-height:var(--h);
}

input::placeholder{ color:#6b7280; }

select:focus,
input[type="text"]:focus,
.guestBtn:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 2px rgba(128,65,151,0.18);
}

/* Remove hint entirely */
.hint{ display:none !important; }

/* Guests button */
.guestBtn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
}
.chev{ opacity:.7; }

/* CTA */
.cta{ display:flex; align-items:end; }

#searchBtn{
  width:100%;
  height:var(--h);
  border:1px solid var(--brand);
  background:var(--brand);
  color:#fff;
  border-radius:var(--radius);
  font-weight:500;
  letter-spacing:.4px;
  cursor:pointer;
  transition:filter .15s ease, transform .02s ease;
}
#searchBtn:hover{ filter:brightness(1.03); }
#searchBtn:active{ transform:translateY(1px); }
#searchBtn:disabled{ opacity:.6; cursor:not-allowed; }

/* Guest popover */
.field.guests{ position:relative; }

.guestPopover{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(320px, 100%);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:12px;
  display:none;
  z-index:50;
  box-shadow:0 10px 20px rgba(0,0,0,.10);
  color:#111;
}

.guestRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 0;
}

.guestTitle{ font-size:14px; font-weight:400; }
.stepper{ display:flex; align-items:center; gap:8px; }

.stepBtn{
  width:34px;
  height:34px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:var(--radius);
  font-weight:400;
  cursor:pointer;
}
.stepBtn:active{ transform:translateY(1px); }
.count{ width:24px; text-align:center; font-weight:400; }

.applyBtn{
  margin-top:10px;
  width:100%;
  height:40px;
  border:1px solid var(--brand);
  background:#fff;
  color:var(--brand);
  border-radius:var(--radius);
  font-weight:600;
  cursor:pointer;
}

/* Flatpickr font consistency */
.flatpickr-calendar,
.flatpickr-calendar *{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif !important;
}

/* Mobile: show ONLY the big button; hide widget entirely */
@media (max-width: 720px){
  .mobileCta{ display:block; }
  .widget{ display:none; }
}
