/* Bent contact pattern using SVEN's existing semantic tokens.
   Layers: floating contacts 40, site header 100, theme dialogs above both. */
.nf-contact-float{position:fixed;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px;top:auto;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));font-family:var(--nf-font);transform:none}
.nf-contact-float .nf-contact-action{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;width:max-content;max-width:56px;height:56px;min-height:56px;padding:0;gap:0;overflow:hidden;box-sizing:border-box;border:0;border-radius:999px;text-decoration:none;white-space:nowrap;box-shadow:0 4px 12px rgb(22 59 75 / .22);transition:max-width .3s ease,background-color .2s ease,box-shadow .2s ease;cursor:pointer}
.nf-contact-float .nf-contact-action *{cursor:pointer}
.nf-contact-float .nf-contact-call{background:var(--nf-action);color:var(--nf-text)}
.nf-contact-float .nf-contact-call:hover{background:var(--nf-action-hover);color:var(--nf-text)}
.nf-contact-float .nf-contact-enquiry{background:var(--nf-brand);color:var(--nf-surface)}
.nf-contact-float .nf-contact-enquiry:hover{background:var(--nf-text);color:var(--nf-surface)}
.nf-contact-label{flex:0 0 auto;padding-left:16px;font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap}
.nf-contact-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px}
.nf-contact-symbol svg{display:block;width:24px;height:24px;flex:none;color:inherit}
.nf-contact-float .nf-contact-action:focus-visible{outline:3px solid var(--nf-focus-light);outline-offset:3px;box-shadow:0 0 0 3px var(--nf-surface),0 4px 12px rgb(22 59 75 / .22)}
.nf-contact-float .nf-contact-action:active{box-shadow:inset 0 0 0 2px currentColor}
.nf-contact-float.is-suppressed,body[data-panel] .nf-contact-float,body:has(#offcanvas.active) .nf-contact-float,body:has(form :is(input,textarea,select,button):focus) .nf-contact-float{visibility:hidden;opacity:0;pointer-events:none}
@media(min-width:768px){.nf-contact-float .nf-contact-action:hover,.nf-contact-float .nf-contact-action:focus-visible{max-width:min(24rem,calc(100vw - 48px))}}
@media(max-width:767px){
 .nf-contact-float{right:max(12px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));gap:10px}
 .nf-contact-float .nf-contact-action{height:48px;min-height:48px;max-width:48px}
 .nf-contact-symbol{width:48px;height:48px;flex-basis:48px}
 .nf-contact-label{display:none}
 /* Leave the same 144px clear area at the end of the page as Bent. */
 body.nf-has-contact-float #footer{padding-bottom:calc(144px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.nf-contact-float .nf-contact-action{transition:none}}
