/* Homepage quick booking — authoritative component stylesheet.
   Kept separate from main.css so responsive states are defined once. */
.hx-quick-booking{
  position:relative;
  z-index:10;
  margin-top:-48px;
}
.hx-quick-booking__shell{
  padding:0;
  overflow:visible;
  border:1px solid var(--hx-border);
  border-radius:17px;
  background:rgba(255,255,255,.98);
  box-shadow:0 14px 35px rgba(var(--hx-primary-rgb),.14);
}
.hx-quick-booking__form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.hx-booking-field{
  min-width:0;
  padding:1.2rem 1rem;
  border-inline-end:1px solid var(--hx-border);
}
.hx-booking-field:last-of-type{border-inline-end:0}
.hx-booking-field label{
  display:block;
  margin-bottom:.45rem;
  color:var(--hx-ink);
  font-size:.78rem;
  font-weight:700;
  line-height:1.6;
}
.hx-control-wrap{position:relative;min-width:0}
.hx-control-wrap>.hx-icon{
  position:absolute;
  z-index:2;
  top:50%;
  inset-inline-start:.75rem;
  width:18px;
  height:18px;
  color:var(--hx-primary);
  pointer-events:none;
  transform:translateY(-50%);
}
.hx-control-wrap select,
.hx-control-wrap input{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:44px;
  padding-inline-start:2.5rem;
  border-color:var(--hx-border);
  background:var(--hx-surface);
  color:var(--hx-ink);
  font-size:.8rem;
}
.hx-control-wrap>.hxz-jalali-picker{width:100%;min-width:0}
.hx-control-wrap>.hxz-jalali-picker .hxz-jalali-picker__display{padding-inline-start:2.5rem}
.hx-quick-booking__summary{
  grid-column:1/-1;
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  padding:1rem 1.2rem;
  border-top:1px solid var(--hx-border);
  text-align:start;
}
.hx-quick-booking__summary>div{display:grid;min-width:0;gap:.2rem}
.hx-quick-booking__summary strong{color:var(--hx-ink);font-size:1.05rem;line-height:1.6}
.hx-quick-booking__summary span{color:var(--hx-muted);font-size:.76rem;line-height:1.75}
.hx-quick-booking__summary .button{flex:0 0 auto;white-space:nowrap}
.hx-quick-booking__error{margin:.75rem 1rem 1rem;color:#8a552e;font-size:.8rem;line-height:1.8}

@media(max-width:980px){
  .hx-quick-booking{margin-top:-34px}
  .hx-quick-booking__form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-booking-field:nth-of-type(2n){border-inline-end:0}
  .hx-booking-field:nth-of-type(n+3){border-top:1px solid var(--hx-border)}
}

@media(max-width:720px){
  .hx-quick-booking{margin-top:-22px;padding-inline:.75rem}
  .hx-quick-booking .container{width:100%;max-width:none;padding-inline:0}
  .hx-quick-booking__shell{border-radius:20px;box-shadow:0 12px 32px rgba(var(--hx-primary-rgb),.12)}
  .hx-quick-booking__form{grid-template-columns:minmax(0,1fr)}
  .hx-booking-field,
  .hx-booking-field:nth-of-type(2n),
  .hx-booking-field:nth-of-type(n+3){
    padding:.85rem .9rem;
    border-top:0;
    border-inline-end:0;
    border-bottom:1px solid var(--hx-border);
  }
  .hx-booking-field label{margin-bottom:.42rem;font-size:.82rem}
  /* Native Safari/iOS selects own their arrow area. Hiding decorative SVGs
     prevents the RTL icon/text collision and 16px avoids focus zoom. */
  .hx-control-wrap>.hx-icon{display:none}
  .hx-control-wrap,
  .hx-control-wrap select,
  .hx-control-wrap input,
  .hx-control-wrap>.hxz-jalali-picker{width:100%;min-width:0}
  .hx-control-wrap select,
  .hx-control-wrap input,
  .hx-control-wrap .hxz-jalali-picker__display{
    min-height:48px;
    font-size:16px;
    direction:rtl;
    text-align:right;
  }
  .hx-control-wrap select{padding-inline:.9rem 2.25rem}
  .hx-control-wrap input,
  .hx-control-wrap>.hxz-jalali-picker .hxz-jalali-picker__display{padding-inline:.9rem}
  .hx-quick-booking__summary{
    display:grid;
    align-items:stretch;
    gap:.7rem;
    padding:.9rem;
    border-top:0;
    text-align:right;
  }
  .hx-quick-booking__summary strong{font-size:1rem}
  .hx-quick-booking__summary span{font-size:.78rem;line-height:1.8}
  .hx-quick-booking__summary .button{width:100%;min-height:50px;justify-content:center}
}

@media(max-width:380px){
  .hx-quick-booking{padding-inline:.4rem}
  .hx-booking-field,.hx-quick-booking__summary{padding:.78rem}
}
