.privacy-settings{font:inherit;color:inherit;border:0;background:none;padding:0;text-decoration:underline;cursor:pointer}
.privacy-notice{position:fixed;z-index:1100;left:20px;bottom:20px;width:min(400px,calc(100vw - 40px));box-sizing:border-box;padding:22px;background:#f5f2e9;color:#20313a;border:1px solid #bbb2a3;box-shadow:0 8px 35px #0003;max-height:calc(100dvh - 40px);overflow:auto}.privacy-notice[hidden]{display:none}.privacy-notice h2{font-size:25px;margin:0 0 10px}.privacy-notice p{font-size:13px;line-height:1.5;margin:0 0 12px}.privacy-notice>a{font-size:12px;color:inherit}.privacy-actions{display:flex;gap:12px;margin-top:16px}.privacy-actions button{flex:1;min-height:44px;border:1px solid #20313a;background:transparent;color:#20313a;font:inherit;font-size:14px;cursor:pointer}.privacy-actions button:hover{background:#e3dfd5}.privacy-actions button:focus-visible,.privacy-settings:focus-visible{outline:2px solid #906f39;outline-offset:3px}.legal-details{display:block;max-width:920px;margin:auto;overflow-wrap:anywhere}.legal-details h2{font-size:30px;margin:38px 0 16px}.legal-details p{font-size:16px;line-height:1.75}.legal-date{color:#63716b}@media(max-width:600px){.privacy-notice{left:12px;bottom:12px;width:calc(100vw - 24px);padding:18px}.legal-details h2{font-size:26px}}

@media(max-width:700px){html,body{scrollbar-width:none;scrollbar-gutter:auto}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}}

.floating-booking{display:none}
@media(max-width:700px){.floating-booking{position:fixed;z-index:40;left:12px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:15px;min-width:118px;height:52px;padding:0 15px;background:#20313a;color:#fff;border:1px solid #f3f0e8;border-radius:4px;box-shadow:0 4px 18px #0002;font:13px Arial,sans-serif;text-decoration:none}.film-audio-panel{bottom:calc(82px + env(safe-area-inset-bottom))}.film-intro-control{bottom:calc(146px + env(safe-area-inset-bottom));min-height:44px}.privacy-notice{bottom:calc(82px + env(safe-area-inset-bottom));max-height:calc(100dvh - 110px)}body:has(.privacy-notice:not([hidden])) .film-audio-panel,body:has(.privacy-notice:not([hidden])) .film-intro-control,body:has(.privacy-notice:not([hidden])) .back-top{visibility:hidden}footer{padding-bottom:95px}}

@media(max-width:700px){.floating-booking{width:62px;min-width:62px;height:44px;padding:0 3px;justify-content:center;gap:3px;border:1px solid #202e39;border-radius:0;box-shadow:none;background:#202e39;font-size:11px;letter-spacing:.02em}.floating-booking span{font-size:7px;line-height:1}}

/* Booking access on large screens, paired with the gift control. */
@media(min-width:701px){.floating-booking{position:fixed;z-index:40;left:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;width:82px;min-width:82px;height:48px;padding:0 6px;border:1px solid #202e39;border-radius:0;box-shadow:none;background:#202e39;color:white;font:12px Arial,sans-serif;text-align:center;text-decoration:none;letter-spacing:.02em}}
body:has(.privacy-notice:not([hidden])) .floating-booking,body:has(dialog[open]) .floating-booking{visibility:hidden}
@media print{.floating-booking{display:none}}
/* Shared media deterrence also applies to the standalone care page. */
img,video{-webkit-touch-callout:none;-webkit-user-drag:none}

/* Slightly wider desktop booking control; mobile dimensions remain unchanged. */
@media(min-width:701px){.floating-booking{width:auto;min-width:90px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;box-sizing:border-box;white-space:nowrap}}
