/* A shallow lens at the viewport edges. The reading area stays unfiltered. */
.cf-glass-defs { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.cf-glass-edge {
 position:fixed; left:0; right:0; z-index:60; pointer-events:none;
 height:100px; opacity:0; visibility:hidden;
 background:linear-gradient(180deg,transparent 30%,#c7efff05 74%,#f5daff08);
 -webkit-backdrop-filter:blur(.6px) saturate(1.08);
 backdrop-filter:blur(.6px) saturate(1.08);
 mask-image:linear-gradient(180deg,transparent 8%,#000 38%);
 transition:opacity .4s ease,visibility 0s .4s;
}
@supports (backdrop-filter:url('#cf-glass-bottom-filter')) {
 .cf-glass-edge--bottom { backdrop-filter:url('#cf-glass-bottom-filter'); }
 .cf-glass-edge--top { backdrop-filter:url('#cf-glass-top-filter'); }
}
.cf-glass-edge--bottom { bottom:0; }
.cf-glass-edge--top {
 top:var(--cf-glass-nav,80px); height:76px;
 mask-image:linear-gradient(0deg,transparent 8%,#000 38%);
 background:linear-gradient(0deg,transparent 40%,#bceeff05);
}
.cf-glass-edge.is-active { opacity:1; visibility:visible; transition:opacity .12s ease,visibility 0s; }
body:has(.mobile-menu.menu-open) .cf-glass-edge,
body:has(.booking-modal[aria-hidden="false"]) .cf-glass-edge,
body:has(.legal-modal[aria-hidden="false"]) .cf-glass-edge { opacity:0; visibility:hidden; }
@media(max-width:740px) {
 .cf-glass-edge--bottom { height:64px; }
 .cf-glass-edge--top { height:48px; }
}
@media(prefers-reduced-motion:reduce) {
 .cf-glass-edge { display:none!important; transition:none; }
}
