/* Hall Availability — interactive 2D floor plan */
/* active nav state (this page loads styles.css + avail.css only) */
.is-current{color:var(--accent-ink)!important;font-weight:700}
.mainnav .navdd__menu a.is-current{color:var(--accent-ink);background:var(--p-50)}
.hallavail{background:var(--surface-2)}
.hav__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s-4) var(--s-6);margin-bottom:var(--s-6)}
.hav__head .txt{max-width:60ch}
.hav__head h2{margin-top:var(--s-3)}
.hav__sub{color:var(--text-muted);font-size:1.05rem;line-height:1.6;margin-top:var(--s-3);max-width:62ch}
.hav__book{flex-shrink:0}

/* status swatches (shared by legend, blocks and badges) */
.hav-available{background:var(--ok)}
.hav-booked{background:var(--crit)}
.hav-reserved{background:var(--warn)}
.hav-unavailable{background:var(--n-600)}

/* Controls bar */
.hav__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4) var(--s-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);box-shadow:var(--e-1);margin-bottom:var(--s-5)}
.hav__date{display:flex;align-items:center;gap:var(--s-3)}
.hav__date>label{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.hav__datectl{display:inline-flex;align-items:center;gap:8px}
.hav__nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s,transform .15s}
.hav__nav:hover{background:var(--sand-100);border-color:var(--ink)}
.hav__nav:active{transform:scale(.92)}
.hav__nav svg{width:16px;height:16px}
.hav__input{font-family:var(--sans);font-weight:600;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:9px 16px;cursor:pointer}
.hav__input:focus{outline:none;border-color:var(--accent-solid);box-shadow:0 0 0 3px rgba(225,79,39,.14)}

/* Legend */
.hav__legend{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-5);margin-left:auto}
.hav__lg{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text)}
.hav__dot{width:14px;height:14px;border-radius:5px;flex-shrink:0}

/* Layout: plan + detail panel */
.hav__layout{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:var(--s-5);align-items:start}
@media(max-width:900px){.hav__layout{grid-template-columns:1fr}}

/* Floor plan card */
.hav__plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:clamp(14px,1.8vw,22px);box-shadow:var(--e-1)}
.hav__planhint{font-size:.74rem;color:var(--text-faint);text-align:center;margin:0 0 12px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.hav__map{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(88px,10.5vw,124px);gap:10px;
  grid-template-areas:
    "vayu vayu vayu prithvi prithvi prithvi"
    "aakash aakash aakash vasudha vasudha vasudha"
    "chintan chintan manan manan manthan manthan";}
.hav__hall[data-id="vayu"]{grid-area:vayu}
.hav__hall[data-id="prithvi"]{grid-area:prithvi}
.hav__hall[data-id="aakash"]{grid-area:aakash}
.hav__hall[data-id="vasudha"]{grid-area:vasudha}
.hav__hall[data-id="chintan"]{grid-area:chintan}
.hav__hall[data-id="manan"]{grid-area:manan}
.hav__hall[data-id="manthan"]{grid-area:manthan}

/* Hall block */
.hav__hall{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:8px;text-align:left;border:0;cursor:pointer;color:#fff;background:var(--n-600);border-radius:var(--r-md);padding:12px 14px;font-family:var(--sans);overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,filter .25s ease}
.hav__hall::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,0) 60%);pointer-events:none}
.hav__hall:hover,.hav__hall:focus-visible{transform:translateY(-3px);box-shadow:var(--e-2);filter:brightness(1.07);outline:none;z-index:2}
.hav__hall.is-active{box-shadow:0 0 0 3px var(--ink),0 10px 22px -10px rgba(34,28,25,.5)}
.hav__hall[data-status="available"]{background:var(--ok)}
.hav__hall[data-status="booked"]{background:var(--crit)}
.hav__hall[data-status="reserved"]{background:var(--warn)}
.hav__hall[data-status="unavailable"]{background:var(--n-600)}
.hav__htop{position:relative;z-index:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.hav__hname{font-weight:700;font-size:1.02rem;line-height:1.15;letter-spacing:-.01em}
.hav__hkind{font-size:.7rem;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hav__hbot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.hav__harea{font-size:.72rem;color:rgba(255,255,255,.9)}
.hav__hstatus{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.22);padding:3px 8px;border-radius:var(--r-pill);white-space:nowrap}

/* Detail panel */
.hav__detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--e-1);position:sticky;top:96px;min-height:220px}
@media(max-width:900px){.hav__detail{position:static}}
.hav__dkind{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink)}
.hav__dname{font-size:1.5rem;margin:5px 0 0;color:var(--ink)}
.hav__dbadge{display:inline-flex;align-items:center;margin-top:var(--s-3);color:#fff;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding:5px 12px;border-radius:var(--r-pill)}
.hav__dstats{margin:var(--s-4) 0 0}
.hav__dstats>div{display:flex;justify-content:space-between;gap:var(--s-4);padding:11px 0;border-bottom:1px solid var(--border)}
.hav__dstats dt{color:var(--text-muted);font-size:.86rem}
.hav__dstats dd{margin:0;font-weight:600;color:var(--ink);font-size:.92rem}
.hav__dcta{width:100%;justify-content:center;margin-top:var(--s-5)}
.hav__dempty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-6) var(--s-2);color:var(--text-muted)}
.hav__dempty svg{width:38px;height:38px;color:var(--sand-400)}
.hav__dempty p{max-width:32ch;line-height:1.6;margin:0;font-size:.92rem}

/* Mobile: reflow plan to two columns */
@media(max-width:640px){
  .hav__map{grid-template-columns:1fr 1fr;grid-template-areas:none;grid-auto-rows:minmax(104px,auto)}
  .hav__hall{grid-area:auto!important}
  .hav__legend{margin-left:0}
  .hav__date{flex:1 1 100%;min-width:0}
  .hav__datectl{flex:1 1 auto;min-width:0}
  .hav__input{flex:1 1 auto;min-width:0;width:100%;padding-inline:12px;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  .hav__hall,.hav__nav{transition:none}
}
