/* FabryLab 360 v58.29.61 — unified identity; public presentation only.
   All colors derived from supplied FabryLab mark. Safe for current legal, commerce and estimator flows. */
body:not(.wp-admin){
  --fl-brand-navy:#092f55;--fl-brand-deep:#101820;--fl-brand-turquoise:#078fa5;
  --fl-brand-green:#83c900;--fl-brand-border:#d5e7ec;--fl-brand-ink:#102639;
  --fl-brand-muted:#526b79;--fl-brand-card:#fff;--fl-brand-surface:#f5fafb;
  --fl-brand-shadow:0 12px 34px rgba(9,47,85,.075);
  --fl-brand-spectrum:linear-gradient(100deg,#0b4d83 0%,#0397a8 70%,#78bf05 100%);
}
/* All public brand image slots: horizontal lockup on desktop, symbol on small devices. */
body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header,[data-elementor-type="header"])
 img.fl-exact-logo-582959,
body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header,[data-elementor-type="header"])
 img.custom-logo,
body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header,[data-elementor-type="header"])
 .wp-block-site-logo img{
  display:block!important;width:clamp(210px,19vw,260px)!important;height:auto!important;
  max-width:min(260px,100%)!important;max-height:66px!important;
  aspect-ratio:1550/245!important;object-fit:contain!important;object-position:left center!important;
  border-radius:0!important;box-shadow:none!important;background:transparent!important;
}
body:not(.wp-admin) .fl-v582821-sticky-comfort img.fl-exact-logo-582959{
  width:220px!important;max-width:220px!important;max-height:56px!important;height:auto!important;
}
body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header)
 :is(.custom-logo-link,.site-logo,.site-branding,.wp-block-site-logo){min-width:0;overflow:visible!important}
/* Site's original structure preserved. Tidy separators, active nav, visible focus. */
body:not(.wp-admin) :is(#masthead,.site-header,.main-header,.fl-site-header){border-bottom-color:#d7e6ec!important}
body:not(.wp-admin) :is(#masthead,.site-header,.main-header,.fl-site-header)
 :is(.current-menu-item>a,.current_page_item>a,[aria-current="page"]){color:var(--fl-brand-navy)!important}
body:not(.wp-admin) :is(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid #098da7!important;outline-offset:3px!important}
/* Section system on service/store/quote landing pages; no hidden content or form changes. */
body:not(.wp-admin) :is(.fl-v272-visual,.fl-v25-cad,.fl-v583-wrap,.fl-store,.flp4,.fl100-contact-hero){color:var(--fl-brand-ink)}
body:not(.wp-admin) :is(.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero,.fl96-hero,.fl100-contact-hero){
  border:1px solid #c4dfe5!important;border-radius:clamp(18px,2vw,25px)!important;
  background:linear-gradient(127deg,#f1f9fc 0%,#fff 49%,#eff9f4 100%)!important;
  box-shadow:var(--fl-brand-shadow)!important;isolation:isolate;
}
/* Retire outdated orange/blue animated outline. Clean static border is deliberate. */
body:not(.wp-admin) .fl100-hero-trace{display:none!important}
body:not(.wp-admin) :is(.fl-v272-kicker,.fl-v25-cad-kicker,.fl-v583-kicker,.fl-store-kicker,.fl100-contact-kicker){color:#067c94!important;letter-spacing:.11em}
body:not(.wp-admin) :is(.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero,.fl100-contact-hero) :is(h1,h2){
  color:var(--fl-brand-ink)!important;letter-spacing:-.035em;line-height:1.08;overflow-wrap:break-word;text-wrap:balance;
}
/* Only gradient-accent elements: preserve text contrast and semantic status badges. */
body.home :is(.entry-content,.wp-block-post-content) h1 :is(.gradient,.gradient-text,.text-gradient,em),
body.home :is(.entry-content,.wp-block-post-content) h1 :is(span,strong)[class*="accent"]{
  background:var(--fl-brand-spectrum)!important;background-clip:text!important;
  -webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;color:#0b4d83!important;
}
/* Cards and product photos: common radius, quiet borders; never tint actual product pixels. */
body:not(.wp-admin) :is(.fl-store-card,.fl-v583-mat-card,.fl-v25-cards>article,.fl-v272-grid3>article,.fl-v272-grid4>article){
  border-color:var(--fl-brand-border)!important;border-radius:18px!important;
  box-shadow:0 10px 27px rgba(9,47,85,.065)!important;
}
body:not(.wp-admin) .fl-store .fl-store-media{background:#f5fafb!important}
body:not(.wp-admin) .fl-store .fl-store-media img{object-fit:contain!important;max-width:100%;height:auto}
/* Primary calls to action: coherent navy; secondary ghost buttons remain light. */
body:not(.wp-admin) :is(.fl-v272-actions,.fl-v25-cad-actions,.fl-v583-actions,.fl-store-actions,.fl100-contact-actions)
 a{min-height:44px;border-radius:11px;white-space:normal;text-decoration:none!important}
body:not(.wp-admin) :is(.fl-store,.fl-v272-visual,.fl-v25-cad,.fl-v583-wrap,.fl100-contact-hero)
 :is(a,button):hover{transition:box-shadow .2s ease,border-color .2s ease}
body:not(.wp-admin) .fl100-contact-actions a.fl100-contact-primary{background:var(--fl-brand-navy)!important;border-color:var(--fl-brand-navy)!important}
/* Footer: no white image tile; high-contrast brand art and calm typography. */
body:not(.wp-admin) :is(footer#colophon,#colophon,footer.site-footer,.site-footer,#site-footer,.fl-site-footer,[data-elementor-type="footer"]){
  background-color:var(--fl-brand-deep)!important;color:#d8e7ef;
}
body:not(.wp-admin) :is(footer,#colophon,#site-footer,.site-footer,.fl-site-footer,[data-elementor-type="footer"])
 img.fl-exact-footer-logo-582960{
  display:block!important;width:clamp(225px,22vw,300px)!important;max-width:100%!important;
  height:auto!important;max-height:none!important;aspect-ratio:1550/245!important;
  object-fit:contain!important;object-position:left center!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;
}
body:not(.wp-admin) :is(footer,#colophon,#site-footer,.site-footer,.fl-site-footer)
 .fl-footer-logo-wrap-582960{width:clamp(225px,22vw,300px)!important;max-width:100%!important;
  height:auto!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body:not(.wp-admin) :is(#colophon,.site-footer,.fl-site-footer) a:not(.button){text-underline-offset:3px}
/* Avoid narrow viewport sideways scrolling, especially in legal tables/cart. */
body:not(.wp-admin) :is(main,.entry-content,.wp-block-post-content,.fl-store,.fl-v272-visual,.fl-v25-cad,.fl-v583-wrap,.flp4){min-width:0}
body:not(.wp-admin) :is(.fl-store,.fl-v272-visual,.fl-v25-cad,.fl-v583-wrap,.flp4) img{max-width:100%}
body:not(.wp-admin) :is(.entry-content,.wp-block-post-content) table{max-width:100%}
@media(max-width:980px){
 body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header) img.fl-exact-logo-582959{width:220px!important;max-width:220px!important}
 body:not(.wp-admin) :is(.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero){padding:clamp(20px,4vw,38px)!important}
}
@media(max-width:680px){
 body:not(.wp-admin) :is(header,#masthead,.site-header,.main-header,.fl-site-header,[data-elementor-type="header"])
 img.fl-exact-logo-582959{width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;aspect-ratio:1!important;object-fit:contain!important}
 body:not(.wp-admin) .fl-v582821-sticky-comfort img.fl-exact-logo-582959{width:45px!important;height:45px!important;max-width:45px!important;max-height:45px!important}
 body:not(.wp-admin) :is(.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero,.fl100-contact-hero){padding:24px 19px!important}
 body:not(.wp-admin) :is(.fl-v272-hero,.fl-v25-cad-hero,.fl-v583-hero,.fl-store-hero,.fl100-contact-hero) :is(h1,h2){font-size:clamp(29px,7.8vw,40px)!important}
 body:not(.wp-admin) :is(.fl-store-actions,.fl-v272-actions,.fl-v25-cad-actions,.fl-v583-actions,.fl100-contact-actions){gap:10px}
 body:not(.wp-admin) :is(.fl-store-actions,.fl-v272-actions,.fl-v25-cad-actions,.fl-v583-actions,.fl100-contact-actions) a{min-height:46px}
 body:not(.wp-admin) :is(footer,#colophon,.site-footer,.fl-site-footer) img.fl-exact-footer-logo-582960{width:min(280px,100%)!important}
 body:not(.wp-admin) :is(footer,#colophon,.site-footer,.fl-site-footer) .fl-footer-logo-wrap-582960{width:min(280px,100%)!important}
}
@media(prefers-reduced-motion:reduce){
 body:not(.wp-admin) *{scroll-behavior:auto!important}
 body:not(.wp-admin) .fl-store-card,body:not(.wp-admin) :is(.fl-v272-grid3,.fl-v272-grid4)>article{transition:none!important;transform:none!important}
}
