/* Booking and social shortcuts: soft curves with a garden-green accent. */
:root{--booking-green:#147b48;--booking-deep:#0b5836;--booking-light:#19804b}
.booking-cta{border-radius:999px;background:linear-gradient(125deg,var(--booking-light),var(--booking-green) 55%,var(--booking-deep));color:#fff;border:1px solid #ffffff50;box-shadow:0 6px 18px #105f3824,inset 0 1px 0 #ffffff36;transition:background .2s,box-shadow .2s,transform .2s}
.booking-cta:hover{background:linear-gradient(125deg,#1c8752,#116a40 65%,#084b2c);color:#fff;box-shadow:0 9px 24px #105f3838,inset 0 1px 0 #ffffff40;transform:translateY(-2px)}
.nav-book.booking-cta{padding-inline:23px}
.closing .booking-cta{min-height:58px;padding-inline:29px;box-shadow:0 8px 30px #061d2440,inset 0 1px 0 #ffffff40}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:8px 15px 8px 9px;border:1px solid #d4e1e3;border-radius:999px;background:#fff;color:#24465a;font:400 13px/1.3 var(--sans);letter-spacing:.01em;box-shadow:0 3px 10px #183d5306;transition:transform .2s,box-shadow .2s,border-color .2s}
.social-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%}
.social-icon svg{width:19px;height:19px;stroke-width:1.7}
.social-facebook .social-icon{background:#eaf2ff;color:#1877f2}
.social-instagram .social-icon{background:linear-gradient(145deg,#7c40b7,#cb3b7a 58%,#e28948);color:white}
.social-link:hover{transform:translateY(-3px);border-color:#aac4cf;box-shadow:0 7px 18px #183d5315}
.footer-brand>.social-links{margin-top:22px}
.contact-socials{grid-column:1;margin:24px 0 8px}
.contact-socials .eyebrow{margin-bottom:12px}
.contact-dock{position:fixed;z-index:50;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px}
.contact-dock .social-links{flex-wrap:nowrap;gap:8px}
.contact-dock .social-link{width:48px;height:48px;min-height:48px;padding:0;border-color:#ffffffd9;background:#fff;box-shadow:0 5px 22px #143c4e24}
.contact-dock .social-icon{width:34px;height:34px}
.contact-dock .social-icon svg{width:22px;height:22px}
.contact-dock .floating-contact{position:static;min-height:54px;padding:7px 18px 7px 8px;gap:10px;font-size:13px;letter-spacing:.08em;white-space:nowrap}
.booking-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;background:#ffffff1c;border:1px solid #ffffff30;border-radius:50%}
.contact-dock .booking-icon svg{width:19px;height:19px}
.booking-cta:focus-visible,.social-link:focus-visible{outline:3px solid #d3ad58;outline-offset:4px}
.site-footer{padding-bottom:100px}
@media(max-width:900px){
 nav>a.nav-book.booking-cta{justify-content:center;gap:24px}
 .contact-info .contact-image{grid-row:1/8}
}
@media(max-width:640px){
 .contact-dock{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:8px}
 .contact-dock .social-links{gap:7px}
 .contact-dock .social-link{width:44px;height:44px;min-height:44px}
 .contact-dock .social-icon{width:31px;height:31px}
 .contact-dock .floating-contact{min-height:49px;padding:6px 15px 6px 6px;font-size:12px;gap:8px}
 .booking-icon{width:34px;height:34px}
 .footer-brand>.social-links{margin-top:20px}
 .contact-socials{margin-top:22px}
 .site-footer{padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){.booking-cta,.social-link{transition:none}.booking-cta:hover,.social-link:hover{transform:none}}
