/* Compact client-availability splash and conditional quote notice. */
body.availability-splash-open{overflow:hidden}
.availability-splash[hidden],.waitlist-form-notice[hidden]{display:none!important}
.availability-splash{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  overflow-y:auto;
  background:rgba(38,51,43,.66);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.availability-splash__dialog{
  position:relative;
  width:min(100%,540px);
  max-height:calc(100vh - 48px);
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
  padding:30px 34px 28px;
  border:1px solid var(--gold-light);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,242,234,.98)),var(--cream);
  color:var(--ink);
  text-align:center;
  box-shadow:0 24px 72px rgba(15,25,19,.3);
}
.availability-splash__dialog:before,.availability-splash__dialog:after{content:"";position:absolute;width:58px;height:58px;border:1px solid var(--gold);opacity:.28;pointer-events:none}
.availability-splash__dialog:before{left:10px;top:10px;border-right:0;border-bottom:0;border-radius:18px 0 0}
.availability-splash__dialog:after{right:10px;bottom:10px;border-left:0;border-top:0;border-radius:0 0 18px}
.availability-splash__close{position:absolute;top:11px;right:12px;z-index:2;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--pine);font-size:1.45rem;line-height:1;cursor:pointer;transition:.2s}
.availability-splash__close:hover,.availability-splash__close:focus-visible{background:var(--pine);border-color:var(--pine);color:#fff;outline:3px solid var(--gold-light);outline-offset:2px}
.availability-splash__brand{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;width:calc(100% - 52px);margin:0 auto 15px}
.availability-splash__brand img{flex:0 0 auto;width:58px;height:58px;border:1px solid rgba(193,153,86,.28);border-radius:17px;object-fit:cover;box-shadow:0 6px 18px rgba(43,53,47,.08)}
.availability-splash__brand p{max-width:250px;margin:0;color:var(--pine);font-size:.75rem;font-weight:800;letter-spacing:.13em;line-height:1.35;text-align:left;text-transform:uppercase}
.availability-splash h2{margin:0 0 10px;color:var(--pine);font-family:"Cormorant Garamond",serif;font-size:clamp(2.15rem,5vw,2.85rem);font-weight:600;line-height:1.02}
.availability-splash [data-availability-view]>p:not(.availability-splash__date){max-width:48ch;margin:0 auto;color:var(--muted);font-size:.98rem;line-height:1.52;text-wrap:pretty}
.availability-splash__date{display:grid;gap:2px;width:min(100%,360px);margin:18px auto 0;padding:12px 16px;border:1px solid var(--gold-light);border-radius:16px;background:#fff}
.availability-splash__date span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.availability-splash__date strong{color:var(--pine);font-family:"Cormorant Garamond",serif;font-size:1.55rem;font-weight:600}
.availability-splash__actions{position:relative;z-index:1;display:flex;justify-content:center;gap:10px;margin-top:20px}
.availability-splash__actions .button{min-width:140px}
.waitlist-form-notice{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:0;padding:16px 18px;border:1px solid var(--gold-light);border-left:5px solid var(--gold);border-radius:16px;background:var(--ivory);color:var(--pine);box-shadow:0 8px 24px rgba(43,53,47,.06)}
.waitlist-form-notice__mark{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--sage-light);color:var(--gold)}
.waitlist-form-notice p{margin:0;color:var(--pine);font-size:.92rem;font-weight:650;line-height:1.55}
@media(max-width:640px){
  .availability-splash{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(38,51,43,.56);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .availability-splash__dialog{width:min(94vw,400px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:22px 16px 16px;border-radius:20px}
  .availability-splash__dialog:before,.availability-splash__dialog:after{width:42px;height:42px}
  .availability-splash__close{top:8px;right:8px;width:34px;height:34px;font-size:1.35rem}
  .availability-splash__brand{gap:9px;width:calc(100% - 42px);margin-bottom:10px}
  .availability-splash__brand img{width:46px;height:46px;border-radius:14px}
  .availability-splash__brand p{max-width:190px;font-size:.64rem;letter-spacing:.11em;line-height:1.3}
  .availability-splash h2{margin-bottom:7px;font-size:clamp(1.7rem,8vw,2.05rem);line-height:1.03}
  .availability-splash [data-availability-view]>p:not(.availability-splash__date){font-size:.86rem;line-height:1.42}
  .availability-splash__date{margin-top:12px;padding:9px 12px;border-radius:13px}
  .availability-splash__date span{font-size:.62rem}
  .availability-splash__date strong{font-size:1.28rem}
  .availability-splash__actions{gap:8px;margin-top:14px}
  .availability-splash__actions .button{flex:1 1 0;min-width:0;padding:10px 8px;font-size:.8rem}
  .waitlist-form-notice{align-items:flex-start;padding:14px;border-radius:14px}
}
@media(max-width:350px){
  .availability-splash__dialog{padding-right:13px;padding-left:13px}
  .availability-splash__brand p{font-size:.59rem}
  .availability-splash__actions .button{font-size:.73rem}
}
@media(prefers-reduced-motion:reduce){.availability-splash *{scroll-behavior:auto!important;transition:none!important}}
