/* Shared local UI: one canonical filled-button contract. Legacy aliases keep their action. */
body.wab-local-ui-contract{--wab-button-radius:999px;--wab-button-height:48px;--wab-button-padding:22px;--wab-button-font:16px;--wab-button-ink:#101117;--wab-button-paper:#fff;--wab-button-blue:#0056dc;--wab-button-whatsapp:#25d366}
/* Explicit compact header consumer: shared geometry without enlarging navigation. */
/* Width policy: text occupies its explicit container or grid column, never a second cap. */
body.wab-local-ui-contract :is(.wab-local-home-content,.local-question-page) :is(h1,h2,h3,h4,p,ul,ol):not(.home-hero *):not(.case-card *):not(.wb-project-marquee *){max-width:none!important}

/* Header consumers use the same contract and the existing avatar/icon-only variants. */
/* Semantic reading wrappers follow their explicit section/grid width, site-wide. */
body.wab-local-ui-contract main :is(h1,h2,h3,h4,p):not(.home-hero *):not(.case-card *):not(.wb-project-marquee *){max-width:none!important}
body.wab-local-ui-contract main :is([class*="content-max-"],.container--narrow){max-width:none!important;width:100%!important}
body.wab-local-ui-contract main .container .container:has(>h1,>h2,>h3,>p){width:100%!important;max-width:none!important;padding-inline:0!important;margin-inline:0!important}
/* Standard footer action-stack variant: aligned icon column and inverse dark hover. */
body.wab-local-ui-contract main.page-cookie-plugin :is(h1,h2,h3){overflow-wrap:anywhere}
/* Functional icon-control variant of the same outline contract. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button{display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:0!important;border:2px solid var(--case-section-fg,#fff)!important;border-radius:999px!important;background:transparent!important;color:var(--case-section-fg,#fff)!important;line-height:1!important;box-shadow:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button svg{display:block!important;width:18px!important;height:18px!important;flex:none!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button:hover:not(:disabled){background:var(--case-section-fg,#fff)!important;color:var(--case-section-bg,#101117)!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button:focus-visible{outline:2px solid var(--wab-focus-color,#4386ff)!important;outline-offset:4px!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button:disabled{opacity:.35!important;pointer-events:none!important}
/* Question-route surfaces consume the same approved neutral families. */
body.wab-local-ui-contract .local-question-page .lq-related{background:#13131c!important}
body.wab-local-ui-contract .local-question-page .lq-panels li{background:#f5f5f2!important}
body.wab-local-ui-contract .local-question-page .lq-feature img{background:#e6e6e2!important}
/* Legacy systems/hosting consumers: neutral surface mapping, no layout changes. */
body.wab-local-ui-contract .offer-study{--brand-paper:#f5f5f2;--brand-ink:#101117;background:#f5f5f2!important;color:#101117}
body.wab-local-ui-contract .offer-study :is(.brand-section,.brand-section.brand-intro){background:#f5f5f2!important;color:#101117}
body.wab-local-ui-contract .offer-study .brand-hero{background:#13131c!important;color:#fff!important}
body.wab-local-ui-contract .offer-study .brand-section.dark{background:#101117!important;color:#fff!important}
body.wab-local-ui-contract .offer-study .brand-service{background:#fff!important;color:#101117!important}
body.wab-local-ui-contract :is(.cookie-plugin-history,.support-agreements){background:#101117!important}
body.wab-local-ui-contract .cookie-plugin-feature-card{background:#21212d!important}

body.wab-local-ui-contract .local-question-page .lq-question{background:#21212d!important}
/* Existing page-title labels adopt the measured service-label baseline only. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)){display:block!important;width:100%!important;max-width:none!important;align-self:auto!important;justify-self:stretch!important;margin:0 0 18px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:400 17px/1.4 Effra,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-align:inherit!important;opacity:.8!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)) a{font:inherit!important;color:inherit!important;text-transform:inherit!important;letter-spacing:inherit!important}

/* Page labels use the existing brand/focus blues, fully opaque for small-text contrast. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)){color:var(--service-list-color,#0056dc)!important;opacity:1!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.dark,[data-header-theme=dark]) :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)){color:var(--service-label-color,#4386ff)!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract [data-header-theme=light] :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)){color:var(--service-list-color,#0056dc)!important}
/* Latest explicit page-label weight correction, shared by every existing/new consumer. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.wab-page-title-label,.svc-hero-label,.section__eyebrow:has(+h1)){font-weight:700!important}
/* Footer utility row shares one text baseline; wrapping and social layout remain native. */
body.wab-local-ui-contract .footer-bottom__meta{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important}
body.wab-local-ui-contract .footer-bottom__meta>.footer-copy{margin:0!important;padding:0!important;line-height:1.5!important}
body.wab-local-ui-contract .footer-bottom__meta>.footer-legal{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;list-style:none!important;margin:0!important;padding:0!important;line-height:1.5!important}
body.wab-local-ui-contract .footer-bottom__meta>.footer-legal>li{display:block!important;margin:0!important;padding:0!important;line-height:1.5!important}
body.wab-local-ui-contract .footer-bottom__meta>.footer-legal>li::before,body.wab-local-ui-contract .footer-bottom__meta>.footer-legal>li::after{display:none!important;content:none!important}
body.wab-local-ui-contract .footer-bottom__meta>.footer-legal a{display:inline-block!important;line-height:1.5!important;margin:0!important;padding:0!important;vertical-align:baseline!important}
/* Native form selects retain the browser chevron and keyboard interaction. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(#gform_1,#gform_7,.gform_wrapper form) select:not([multiple]){appearance:auto!important;-webkit-appearance:menulist!important;background-image:none!important;padding-right:36px!important}
/* Shared existing-FAQ composition: heading column + answer-list column. */
body.wab-local-ui-contract.wab-local-ui-contract :is(.br-faq>.container,.brand-faq>.container,.hosting-faq__inner){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:60px!important;align-items:start!important}
body.wab-local-ui-contract.wab-local-ui-contract :is(.br-faq>.container,.brand-faq>.container,.hosting-faq__inner)>*{min-width:0!important;max-width:none!important}
body.wab-local-ui-contract.wab-local-ui-contract :is(.brand-faq .brand-questions,.hosting-faq__inner>.accordion-list){margin-top:0!important;grid-template-columns:1fr!important}
body.wab-local-ui-contract.wab-local-ui-contract .brand-faq .brand-heading{display:block!important;margin-bottom:0!important}
@media(max-width:767px){body.wab-local-ui-contract.wab-local-ui-contract :is(.br-faq>.container,.brand-faq>.container,.hosting-faq__inner){grid-template-columns:minmax(0,1fr)!important;gap:30px!important}}
/* Footer social icon-button variant: equal circles, existing brand/focus blues. */
body.wab-local-ui-contract .footer-socials{--social-accent:#0056dc;display:flex;align-items:center;gap:12px}
body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple{--social-fg:#fff;display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:2px solid var(--social-border,var(--social-accent))!important;border-radius:999px!important;background:var(--social-bg,var(--social-accent))!important;color:var(--social-fg)!important;text-decoration:none!important;line-height:1!important;box-shadow:none!important;opacity:1!important;transition:background-color .18s ease,color .18s ease,border-color .18s ease!important}
body.wab-local-ui-contract .footer-socials a[href*="instagram"]{--social-accent:#c13584}
body.wab-local-ui-contract .footer-socials a[href*="linkedin"]{--social-accent:#0a66c2}
body.wab-local-ui-contract .footer-socials a[href*="facebook"]{--social-accent:#0866ff}
body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple:is(:hover,:focus-visible){background:var(--social-bg,var(--social-accent))!important;border-color:var(--social-border,var(--social-accent))!important;color:var(--social-fg)!important;text-decoration:none!important;opacity:1!important}
body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple:focus-visible{outline:2px solid var(--wab-focus-color,#4386ff)!important;outline-offset:4px!important}
body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple::before,body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple::after{content:none!important;display:none!important}
body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple i{display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;width:20px!important;height:20px!important;margin:0!important;padding:0!important;font-size:20px!important;line-height:1!important;color:inherit!important;transform:none!important}
body.wab-local-ui-contract .footer-socials .footer-link--simple i::before{display:block;line-height:1}
@media(prefers-reduced-motion:reduce){body.wab-local-ui-contract.wab-local-ui-contract .footer-socials .footer-link--simple{transition:none!important}}

/* Outline contrast inherits from the nearest semantic surface, not the page type. */
body.wab-local-ui-contract :is(.svc-page,.studio-pages,.dark,.wab-case-slider,.local-personal-contact){--wab-button-context-ink:#fff;--wab-button-context-paper:#101117}
body.wab-local-ui-contract [data-header-theme=light]{--wab-button-context-ink:#101117;--wab-button-context-paper:#fff}
body.wab-local-ui-contract [data-header-theme=dark]{--wab-button-context-ink:#fff;--wab-button-context-paper:#101117}

/* Filled hover surfaces carry one matching contour; mouse focus never adds a ring. */

/* Native icon controls share mouse-vs-keyboard focus behaviour, not a second hover outline. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-case-slider__controls button:not(:focus-visible){outline:none!important;outline-offset:0!important}

/* Existing knowledge help panel is a dark semantic surface. */
body.wab-local-ui-contract .knowledge-help-panel{--wab-button-context-ink:#fff;--wab-button-context-paper:#101117}

/* Canonical button rules, consolidated19October. Filled surface + a separate outer contour. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button){--wb-btn-bg:var(--wab-button-context-ink,#101117);--wb-btn-fg:var(--wab-button-context-paper,#fff);--wb-btn-border:var(--wb-btn-bg);--kit-hover-fill:var(--wb-btn-bg);--kit-hover-text:var(--wb-btn-fg);position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px!important;box-sizing:border-box!important;min-width:0!important;min-height:48px!important;max-width:calc(100% - 10px)!important;margin-inline:5px!important;padding:10px 22px!important;border:2px solid var(--wb-btn-border)!important;border-radius:999px!important;background:var(--wb-btn-bg)!important;color:var(--wb-btn-fg)!important;font:700 16px/1.4 Effra,sans-serif!important;letter-spacing:normal!important;text-transform:none!important;text-decoration:none!important;text-align:center!important;white-space:normal!important;overflow-wrap:break-word!important;overflow:visible!important;box-shadow:none!important;opacity:1;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.svc-button,.br-button,.button--hero-primary){--wb-btn-bg:#fff;--wb-btn-fg:#101117;--wb-btn-border:#fff}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button--dark,.button--hero-primary-light){--wb-btn-bg:#101117;--wb-btn-fg:#fff;--wb-btn-border:#101117}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button--primary,.gform_button){--wb-btn-bg:var(--wab-button-accent,#0056dc);--wb-btn-fg:var(--wab-button-accent-text,#fff);--wb-btn-border:var(--wb-btn-bg)}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .button--whatsapp{--wb-btn-bg:#25d366;--wb-btn-fg:#101117;--wb-btn-border:#25d366}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button)::before,
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button)::after{content:none!important;display:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button):hover:not(:disabled):not([aria-disabled=true]){background:var(--wb-btn-bg)!important;color:var(--wb-btn-fg)!important;border-color:var(--wb-btn-border)!important;text-decoration:none!important;box-shadow:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button):hover:not(.wab-outline-ready):not(:focus-visible){outline:2px solid var(--wb-btn-border)!important;outline-offset:3px!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button):not(:focus-visible){outline:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button):focus-visible{outline:2px solid var(--wab-focus-color,#4386ff)!important;outline-offset:4px!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button):is(:disabled,[aria-disabled=true],.button--disabled){opacity:.5!important;cursor:not-allowed!important;pointer-events:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button,.gform_button):where(:not(header.header-site *),.wab-menu-shared-button)>span{color:inherit!important;font:inherit!important;text-decoration:none!important;min-width:0}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button):where(:not(header.header-site *),.wab-menu-shared-button)>:is(i,svg:where(:not(.wab-outline-trace))){display:inline-grid!important;place-items:center!important;position:static!important;flex:0 0 16px!important;width:16px!important;height:16px!important;font-size:16px!important;line-height:1!important;margin:0!important;padding:0!important;transform:none!important;inset:auto!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button) i::before{display:block!important;position:static!important;line-height:1!important;margin:0!important;transform:none!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .button--whatsapp>i{flex-basis:22px!important;width:22px!important;height:22px!important;font-family:'Font Awesome 6 Brands'!important;font-weight:400!important;font-style:normal!important;font-size:22px!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button)>i.fa-solid{font-family:'Font Awesome 6 Pro'!important;font-weight:900!important}
body.wab-local-ui-contract .wab-outline-ready{position:relative!important;overflow:visible!important}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-outline-ready>svg.wab-outline-trace{position:absolute!important;display:block!important;top:var(--trace-top,-7px)!important;left:var(--trace-left,-7px)!important;right:auto!important;bottom:auto!important;width:var(--trace-width)!important;height:var(--trace-height)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;opacity:1!important;overflow:visible!important;pointer-events:none!important;fill:none!important;border:0!important;flex:none!important}
body.wab-local-ui-contract .wab-outline-trace>rect{fill:none!important;stroke:var(--wb-btn-border,var(--kit-hover-fill,currentColor));stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.001 1.001;stroke-dashoffset:1;vector-effect:non-scaling-stroke;opacity:0;transition:stroke-dashoffset .35s ease,opacity 0s linear .35s}
body.wab-local-ui-contract :is(.wab-outline-ready:hover:not(:disabled):not(:focus-visible)>.wab-outline-trace>rect,.wab-button-host:is(:hover,:focus-visible) .wab-outline-ready>.wab-outline-trace>rect){stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .35s ease,opacity 0s linear}
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-outline-ready:hover:not(:focus-visible){outline:none!important}
body.wab-local-ui-contract svg.wab-button-ring{display:none!important}
@media(prefers-reduced-motion:reduce){body.wab-local-ui-contract .wab-outline-trace>rect,body.wab-local-ui-contract :is(.button,.svc-button,.ws-button,.br-button,.gform_button){transition:none!important}}

/* Hero secondary action keeps the existing outline variant instead of a second filled CTA. */
body.wab-local-ui-contract.wab-local-ui-contract.wab-local-ui-contract .wab-local-home-content .home-hero__actions .button--outline{--wb-btn-bg:transparent;--wb-btn-fg:#fff;--wb-btn-border:#fff}
/* On the dark home hero the header WhatsApp trace is explicitly white. */
body.wab-local-ui-contract:has(.wab-local-home-content) header.header-site .header-whatsapp-link>.wab-outline-trace>rect{stroke:#fff!important}

/* Homepage button chevrons are plain icons; circular treatments belong to standalone controls. */
body.wab-local-ui-contract .wab-local-home-content :is(.button,.svc-button,.ws-button,.br-button,.br-service__link,.local-home-service__button)>.wab-local-short-chevron{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}

/* Logged-in toolbar stays fixed without changing WordPress' html offset. */
body.admin-bar.wab-local-ui-contract #wpadminbar{position:fixed!important;top:0!important}
/* Work archive: remove only the legacy collaboration eyebrow, preserve CTA copy. */

