/* Ruff Cuts V3 additions. site.css is the untouched compiled Tailwind from the V2 build. */

/* scroll reveals: resting state is the V2 final state; hidden only while JS is running */
.js [data-reveal] { opacity: 0; transition: opacity .5s ease-out, transform .5s ease-out; }
.js [data-reveal="up20"] { transform: translateY(20px); }
.js [data-reveal="up30"] { transform: translateY(30px); }
.js [data-reveal="sc95"] { transform: scale(.95); }
.js [data-reveal="sc90"] { transform: scale(.9); }
.js [data-reveal="upsc"] { transform: translateY(20px) scale(.95); }
.js [data-reveal].revealed { opacity: 1; transform: none; }

/* booking modal: V2 animated backdrop 0 -> .7 and panel from y20/scale .95 */
[data-booking-modal] [data-modal-backdrop] { opacity: 0; transition: opacity .2s ease-out; }
[data-booking-modal] [data-modal-panel] { opacity: 0; transform: translateY(20px) scale(.95); transition: opacity .2s ease-out, transform .2s ease-out; }
[data-booking-modal].is-open [data-modal-backdrop] { opacity: .7; }
[data-booking-modal].is-open [data-modal-panel] { opacity: 1; transform: none; }

/* overrides.py: closure notice + hours line */
.v3-notice { background: hsl(var(--primary)); color: #fff; text-align: center; font-family: Montserrat, sans-serif; font-weight: 600; font-size: .9375rem; line-height: 1.4; padding: .625rem 1rem; }
.v3-closure { color: hsl(var(--primary)); font-weight: 600; }
footer .v3-closure { color: hsl(var(--accent)); }
