/* GW-SHARED-MOBILE-CONTACT-v1 — shared contact layout on every template. */
body:has(.gw-shared-dock) .gw-contact-actions,
.gw-service-template #gw-styled-contact .gw-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body:has(.gw-shared-dock) .gw-contact-actions>a{min-width:0;min-height:3.25rem;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;font-size:1rem;line-height:1.5;font-weight:400;text-align:center;text-decoration:none;border-radius:12px}
body:has(.gw-shared-dock) .gw-contact-actions>a[href^="tel:"]{background:var(--gwb-blue);color:var(--gwb-white)}
body:has(.gw-shared-dock) .gw-contact-actions>a[href*="wa.me/"]{background:var(--gwb-blue);color:var(--gwb-white)}
body:has(.gw-shared-dock) .gw-contact-actions.gw-contact-compact>a{flex-direction:column;gap:4px}
body:has(.gw-shared-dock) .gw-contact-actions.gw-contact-stack{grid-template-columns:minmax(0,1fr)}
.gw-service-template #gw-styled-contact .gw-contact-panel{padding-inline:16px}
.gw-service-template #gw-styled-contact .gw-contact-phone span{white-space:nowrap}
.gw-service-template #gw-styled-contact .gw-contact-actions.gw-contact-tight{margin-inline:-16px}
.gw-service-template #gw-styled-contact .gw-contact-actions.gw-contact-tight .gw-contact-button{padding-inline:4px}

#gw-site-contact-dock{display:none;box-sizing:border-box}
#gw-site-contact-dock.is-resting{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important}
@media(max-width:800px){
 body:has(#gw-site-contact-dock){padding-bottom:0!important}
 #gw-site-contact-dock{position:fixed!important;inset:auto 0 0!important;z-index:90;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;width:100%;margin:0;padding:12px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));border-top:1px solid var(--gwb-soft);background:var(--gwb-white);box-shadow:0 -2px 12px #0b172a08}
 html body #gw-site-contact-dock>a{box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%!important;min-width:0;min-height:52px;height:auto;padding:13px 8px;border:1px solid var(--gwb-blue);border-radius:12px;background:var(--gwb-blue);color:var(--gwb-white);font:400 16px/24px GWNav,GP,Arial,sans-serif;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere}
 html body #gw-site-contact-dock>a:last-child{background:var(--gwb-white);color:var(--gwb-blue);border-color:var(--gwb-blue)}
 #gw-site-contact-dock>a>svg{display:block;width:22px;height:22px;flex:0 0 22px}
 #gw-site-contact-dock>a>span{min-width:0;white-space:normal;overflow-wrap:anywhere}
 #gw-site-contact-dock a:focus-visible{outline:3px solid var(--gwb-blue);outline-offset:3px}
 body:has(#gw-site-contact-dock) #goodworks-footer .gwf-bottom{padding-bottom:calc(max(108px,calc(var(--gw-dock-height,84px) + 16px)) + env(safe-area-inset-bottom))}
}

/* GW-BACK-TO-TOP-v1 — shared 52px circular control. */
#gw-back-top{box-sizing:border-box;position:fixed;right:24px;bottom:24px;z-index:80;display:grid;place-items:center;width:52px;min-width:52px;height:52px;min-height:52px;margin:0;padding:12px;border:1px solid var(--gwb-line);border-radius:50%;background:var(--gwb-white);color:var(--gwb-blue);box-shadow:0 6px 20px #0b172a1a;cursor:pointer;line-height:1;touch-action:manipulation}
#gw-back-top svg{display:block;width:22px;height:22px;pointer-events:none}
#gw-back-top:hover{background:var(--gwb-paper)}
#gw-back-top:focus-visible{outline:3px solid var(--gwb-blue);outline-offset:3px}
#gw-back-top[hidden]{display:none!important}
@media(max-width:800px){#gw-back-top{right:max(14px,env(safe-area-inset-right,0px));bottom:calc(var(--gw-dock-height,0px) + 16px + env(safe-area-inset-bottom,0px))}}
