/* Foundation pages for hall rental options on Västerås 9Pin. */
.hall-booking-page{
  --hall-navy:#173a5e;
  --hall-green:#226c4a;
  --hall-line:#dbe6ee;
  color:var(--hall-navy);
  background:radial-gradient(ellipse at 90% 0%,#e6f0e9 0,transparent 42%),#f3f6fa;
}
.hall-booking-shell{
  width:min(1080px,calc(100% - 48px));
  margin:0 auto;
  padding:42px 0 72px;
  min-height:54vh;
}
.hall-booking-shell a{-webkit-tap-highlight-color:transparent}
.hall-booking-shell a:focus-visible{outline:3px solid #c68a20;outline-offset:4px}
.hall-booking-back{
  display:inline-flex;align-items:center;gap:9px;
  margin-bottom:22px;color:#46627c;font-size:13px;font-weight:750;
  text-decoration:none;
}
.hall-booking-back:hover{color:var(--hall-green)}
.hall-booking-back svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hall-booking-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(235px,315px);
  align-items:stretch;
  gap:clamp(25px,4vw,54px);
  padding:clamp(25px,5vw,55px);
  background:#fff;
  border:1px solid var(--hall-line);
  border-radius:24px;
  box-shadow:0 16px 48px #173a5e0b;
}
.hall-booking-copy{min-width:0}
.hall-booking-eyebrow{
  margin:0 0 15px;
  font-size:11px;letter-spacing:1.6px;
  font-weight:800;text-transform:uppercase;color:var(--hall-green);
}
.hall-booking-panel h1{
  font-size:clamp(31px,4.5vw,53px);
  letter-spacing:-1.7px;line-height:1.12;
  margin:0 0 18px;
  text-wrap:balance;
}
.hall-booking-lead{
  font-size:clamp(16px,1.7vw,19px);
  line-height:1.7;color:#47617a;margin:0 0 24px;
}
.hall-booking-facts{margin:0 0 27px;padding:0;list-style:none;display:grid;gap:12px}
.hall-booking-facts li{display:flex;gap:10px;align-items:flex-start;color:#36526a;font-size:14px;line-height:1.6}
.hall-booking-check{flex:none;display:grid;place-items:center;width:21px;height:21px;margin-top:1px;color:#1c7649;background:#eaf5ee;border-radius:50%;font-size:13px;font-weight:900}
.hall-booking-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hall-booking-primary,.hall-booking-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 19px;min-height:48px;border-radius:11px;
  font-size:13px;font-weight:800;text-decoration:none;
  transition:background .15s,transform .15s;
}
.hall-booking-primary{background:var(--hall-green);color:#fff}
.hall-booking-primary:hover{background:#18583b;transform:translateY(-1px)}
.hall-booking-secondary{border:1px solid #c8d8d0;color:var(--hall-green);background:#f6faf8}
.hall-booking-secondary:hover{background:#e8f3ed}
.hall-booking-help{margin:19px 0 0;font-size:12px;line-height:1.6;color:#70849a}
.hall-booking-offer{
  display:flex;flex-direction:column;justify-content:center;gap:15px;
  padding:clamp(22px,3vw,34px);background:linear-gradient(145deg,#e9f5ed,#f6faf8);
  border:1px solid #d4e9d9;border-radius:19px;
}
.hall-booking-offer-label{margin:0;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#42745b;font-weight:800}
.hall-booking-offer-price{margin:0;color:#175e3d;font-size:clamp(33px,3.8vw,47px);font-weight:850;line-height:1.12;letter-spacing:-1.2px;overflow-wrap:anywhere}
.hall-booking-offer-price span{display:block;margin-top:7px;font-size:15px;letter-spacing:0;font-weight:650;line-height:1.45}
.hall-booking-offer-divider{height:1px;background:#cfe2d4}
.hall-booking-offer-detail{margin:0;color:#3c6650;font-size:14px;line-height:1.6}
.hall-booking-next{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  margin-top:19px;padding:26px 30px;background:#fff;border:1px solid var(--hall-line);
  border-radius:16px;
}
.hall-booking-next h2{font-size:18px;letter-spacing:-.3px;margin:0 0 7px}
.hall-booking-next p{color:#61758a;font-size:14px;line-height:1.6;margin:0}
.hall-booking-next a{flex:none;color:var(--hall-green);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){
  .hall-booking-shell{width:calc(100% - 30px);padding:25px 0 42px}
  .hall-booking-panel{grid-template-columns:1fr;padding:25px 20px;gap:28px;border-radius:19px}
  .hall-booking-panel h1{letter-spacing:-1.1px}
  .hall-booking-offer{padding:23px}
  .hall-booking-next{flex-direction:column;padding:22px 21px;gap:12px}
}
@media(max-width:390px){
  .hall-booking-actions{align-items:stretch;flex-direction:column}
  .hall-booking-primary,.hall-booking-secondary{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .hall-booking-primary,.hall-booking-secondary{transition:none}
  .hall-booking-primary:hover{transform:none}
}
