/* Shared floating actions for all three service pages. */
.service-floating{position:fixed;z-index:35;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:7px;border-radius:50px;background:#263040d9;border:1px solid #ffffff4a;box-shadow:0 12px 40px #0005;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);white-space:nowrap}
.service-floating a,.service-floating button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;font:inherit;font-size:13px;color:#fff;text-decoration:none;border:0;border-radius:30px;background:transparent;padding:14px 19px;cursor:pointer;min-height:48px}
.service-floating>:first-child{background:#ece8f4;color:#1b2130}
.service-floating :focus-visible{outline:3px solid #e0d2ff;outline-offset:3px}
body:has(dialog[open]) .service-floating,body.menu-open .service-floating{visibility:hidden}
body:has(.service-floating) .company-footer{padding-bottom:135px}
@media(max-width:700px){.service-floating{width:min(310px,calc(100% - 64px));max-width:none;justify-content:center;bottom:calc(20px + env(safe-area-inset-bottom))}.service-floating a,.service-floating button{font-size:12px;padding:11px 10px;flex:1;min-width:0;white-space:normal;text-align:center;line-height:1.4}}
.action-arrow{display:inline-block;width:15px;height:15px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
@media(max-width:700px){body:has(.service-floating) .ai-scene-label{bottom:calc(86px + env(safe-area-inset-bottom))}}
/* Replace the former mobile System-only sticky CTA with this shared bar. */
@media(max-width:700px){body[data-department=system]:has(.service-floating).header-docked .nav-create{display:none}}

.company-floating{display:none}
@media(max-width:700px){.company-floating:not([hidden]){display:flex}body:has(.service-floating) .ai-scene-label{bottom:calc(100px + env(safe-area-inset-bottom))}body:has(.company-floating[hidden]) .ai-scene-label{bottom:calc(20px + env(safe-area-inset-bottom))}}

@media(max-width:700px){.service-floating .action-arrow{display:none}}

/* Mobile actions sit in a slim centered row below the navigation. */
@media(max-width:700px){
 body .service-floating{top:84px;bottom:auto;width:min(310px,calc(100% - 48px));padding:3px;gap:4px;border-radius:28px}
 body .service-floating>:is(a,button){min-height:40px;padding:8px 9px;font-size:11px;line-height:1.2;white-space:nowrap}
 body:has(.service-floating) .ai-scene-label{bottom:calc(20px + env(safe-area-inset-bottom))}
 body:has(.service-floating) .company-footer{padding-bottom:80px}
 body .menu-toggle{width:44px;height:44px;padding:10px;border:0;display:grid;place-items:center;color:inherit;background:none}
 .menu-icon{display:grid;gap:5px;width:22px}
 .menu-icon i{height:1.5px;width:22px;background:currentColor;display:block;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded=true] .menu-icon i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
 body:has(.service-floating) #main [id]{scroll-margin-top:148px}
}

/* Keep the action row alongside the burger, not below the header. */
.action-mobile{display:none}
@media(max-width:700px){
 body .service-floating{top:18px;left:auto;right:calc(var(--gutter) + 52px);transform:none;width:calc(100% - var(--gutter)*2 - 84px);max-width:285px;z-index:43}
 .service-floating .action-desktop{display:none}
 .service-floating .action-mobile{display:inline}
 body .service-floating>:is(a,button){font-size:11px;padding:8px 7px}
 body:has(.service-floating:not([hidden])) .nav-login{display:none}
 body:has(.service-floating) #main [id]{scroll-margin-top:100px}
}

@media(max-width:700px){body .company-floating{width:174px;max-width:calc(100% - var(--gutter)*2 - 84px)}}

.mobile-login{display:none}
@media(max-width:700px){body .company-floating>button{font-size:13px}body[data-department=system] #mobile-nav .mobile-login{display:block;font-size:18px;margin-top:4px}}

body.world-travelling .service-floating{visibility:hidden}
@media(max-width:700px){body .service-floating{width:calc(100% - var(--gutter)*2 - 118px);max-width:260px}body .company-floating{width:174px;max-width:calc(100% - var(--gutter)*2 - 118px)}body .service-floating>:is(a,button){padding-inline:5px;font-size:10px}body .company-floating>button{font-size:12px}}

/* Anchors and native buttons use the same centered label box on mobile. */
@media(max-width:700px){
 body .service-floating>:is(a,button){height:40px;min-height:40px;flex:1 1 0;padding-block:0;align-items:center;justify-content:center;text-align:center}
 .service-floating .action-mobile{display:block;line-height:1.4;margin:0;padding:0}
}
