/* Public contact controls: preserve positions and catalogue artwork. */
body[data-public-ui] :is(.booking-fab,#socialFabToggle){isolation:isolate;animation:none!important;transform:none!important;overflow:visible;color:var(--mx-white)}
/* Anchor children use the padding box; start the wave 1px beyond the white outline. */
body[data-public-ui] .booking-fab{--contact-halo:var(--mx-green);--contact-halo-inset:-5px}
body[data-public-ui] #socialFabToggle{--contact-halo:var(--mx-red)}
body[data-public-ui].contact-fab-ready :is(.booking-fab,#socialFabToggle)::after{content:"";position:absolute;inset:var(--contact-halo-inset,-2px);box-sizing:border-box;border:2px solid var(--contact-halo);border-radius:50%;pointer-events:none;opacity:0;animation:contact-sync-wave 4s ease-out infinite}
@keyframes contact-sync-wave{0%{opacity:.85;transform:scale(1)}48%{opacity:0;transform:scale(1.6)}50%,100%{opacity:0;transform:scale(1)}}
body[data-public-ui]:is(.contact-menu-open,.ui-overlay-open,.ui-popup-open,.ui-gallery-open,.ui-editing) :is(.booking-fab,#socialFabToggle)::after{animation:none;opacity:0}
body[data-public-ui] #socialFab .social-fab__list{display:block;align-items:stretch;position:absolute;right:0;bottom:calc(100% + 18px);width:260px;max-width:calc(100vw - 36px - env(safe-area-inset-right,0px));max-height:calc(100dvh - 170px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;padding:16px;border:1px solid var(--mx-border);border-radius:var(--mx-card-radius);background:var(--mx-white);color:var(--mx-text);box-shadow:0 12px 38px #10261b38;transform:translateY(26px);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s,visibility 0s .32s}
body[data-public-ui] #socialFab.open .social-fab__list{opacity:1;visibility:visible;transform:translateY(0);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s,visibility 0s}
body[data-public-ui] #socialFab .social-fab__heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
body[data-public-ui] #socialFabHeading{margin:0;padding:0;font:var(--mx-subtitle-weight) var(--mx-card-title-size)/var(--mx-title-leading) var(--mx-font);color:var(--mx-text);text-transform:none}
body[data-public-ui] #socialFab .social-fab__close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--mx-page);color:var(--mx-text);font:400 26px/1 var(--mx-font)}
body[data-public-ui] #socialFab .social-fab__item{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:auto;min-height:52px;margin:0;padding:7px 8px;overflow:visible;border-radius:var(--mx-mobile-button-radius);box-shadow:none;transform:none;transition:background-color .2s;font:400 16px/var(--mx-body-leading) var(--mx-font);color:var(--mx-text)!important;text-decoration:none}
body[data-public-ui] #socialFab .social-fab__item--brand:hover{background:var(--mx-page)!important}
body[data-public-ui] #socialFab .social-fab__arrow{margin-left:auto;color:var(--mx-green-deep);font-size:20px;line-height:1}
body[data-public-ui] #socialFab .social-fab__item--call{justify-content:center;gap:10px;min-height:var(--mx-control-height);margin-top:12px;background:var(--mx-accent)!important;border-radius:var(--mx-mobile-button-radius);color:var(--mx-white)!important;font-weight:var(--mx-subtitle-weight)}
body[data-public-ui] #socialFab .social-fab__item--call img{width:24px;height:24px;filter:none!important}
body[data-public-ui] #socialFab .social-fab__cross-icon{display:none;font:400 34px/1 var(--mx-font)}
body[data-public-ui] #socialFab.open .social-fab__chat-icon{display:none}
body[data-public-ui] #socialFab.open .social-fab__cross-icon{display:block}
@media(prefers-reduced-motion:reduce){body[data-public-ui].contact-fab-ready :is(.booking-fab,#socialFabToggle)::after{animation:none}body[data-public-ui] #socialFab .social-fab__list{transition:none}}
