/* Glass, page transitions and pop-ups (black and gold theme). Loaded after style.css. */
body.pg-in{animation:pgIn .7s cubic-bezier(.2,.7,.2,1) backwards}
@keyframes pgIn{from{opacity:0;transform:translateY(14px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
body.pg-out{opacity:0;filter:blur(10px);transform:scale(.985);transition:opacity .32s ease,filter .32s ease,transform .32s ease}

.glass{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.04));backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(201,164,92,.22);box-shadow:0 12px 36px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .8s,box-shadow .35s,border-color .35s}
.card.glass:hover,.offer.glass:hover,.step.glass:hover,.item.glass:hover,.gal figure.glass:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.1);border-color:rgba(201,164,92,.7)}
.btn{transition:transform .2s,box-shadow .3s,background .3s,color .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,164,92,.3)}
.btn.ghost:hover{background:var(--gold);color:var(--on-gold)}
.btn:active{transform:scale(.96)}

/* Pop-ups */
.pop-bg{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.6);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .25s}
.pop-bg.in{opacity:1}
.pop:has(.ticket){background:#12100c}
.pop{width:min(420px,92vw);padding:28px;display:grid;gap:14px;background:#12100c;border:1px solid rgba(201,164,92,.3);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(26px) scale(.9);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.3),opacity .3s}
.pop-bg.in .pop{transform:none;opacity:1}
.pop h3{margin:0;font:700 1.4rem var(--serif,Georgia,serif)}
.pop-b{opacity:.85;line-height:1.5}
.pop-a{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pop-a .btn{margin:0}


/* date picker (dates.js) */
input.dp-alt{cursor:pointer;background-image:linear-gradient(transparent,transparent)}
.dp-pop{position:absolute;z-index:200;background:#12100c;border:1px solid rgba(201,164,92,.45);border-radius:16px;padding:12px;box-shadow:0 24px 60px rgba(0,0,0,.8)}
.dp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-h strong{font:700 1rem var(--serif,Georgia,serif);color:var(--gold-l)}
.dp-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--edge);background:transparent;color:var(--gold-l);font-size:1.3rem;line-height:1;cursor:pointer}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.dp-w{font-size:.72rem;color:var(--gold);padding:4px 0}
.dp-d{aspect-ratio:1;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer;padding:0}
.dp-d:hover:not([disabled]){background:rgba(201,164,92,.18)}
.dp-d.td{border-color:var(--gold)}
.dp-d.on{background:var(--gold);color:var(--on-gold);font-weight:700}
.dp-d[disabled]{opacity:.25;cursor:default}

/* alert toast (push.js) */
.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 14px);transform:translate(-50%,-24px);z-index:300;width:min(430px,94vw);display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:start;padding:14px 16px;border-radius:16px;background:#12100c;border:1px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.75),0 0 26px rgba(201,164,92,.28);opacity:0;transition:opacity .3s,transform .35s cubic-bezier(.2,.9,.3,1.2);cursor:pointer}
.toast.in{opacity:1;transform:translate(-50%,0)}
.toast strong{font:700 1rem var(--serif,Georgia,serif);color:var(--gold-l)}
.toast span{grid-column:1;opacity:.92;font-size:.92rem;line-height:1.4}
.toast button{grid-column:2;grid-row:1/3;align-self:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--edge);background:transparent;color:var(--gold-l);font-size:1.1rem;line-height:1;cursor:pointer}

@media(prefers-reduced-motion:reduce){.toast{transition:none}body.pg-in{animation:none}body.pg-out{transition:none}.pop,.pop-bg{transition:none}.glass,.btn{transition:none}}
