/* UCO Enterprise v3.9.4 — subtle interactions + readable photographic paper + living mastheads */
:root{--uco-ease:cubic-bezier(.2,.75,.25,1);--uco-focus:#276fb7}
/* Very pale page texture; each page uses a different original UCO photograph. */
body.page:not(.home){background:#fff}
body.page:not(.home) #main{position:relative;isolation:isolate;background:#fff}
body.page:not(.home) #main:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(255,255,255,.963),rgba(255,255,255,.963)),var(--uco-subpage-photo,none);background-size:cover;background-position:center center;background-repeat:no-repeat}
body.page:not(.home) #main > :not(.inner-banner){position:relative;z-index:1}
body.page:not(.home) #main .inner-layout,body.page:not(.home) #main .uco-gallery-page{background:transparent}
/* Meaningful photograph is visible as an extremely discreet accent in the masthead. */
body.page .inner-banner{background:linear-gradient(105deg,#061a34 5%,#0c2b50 53%,#17456f 100%)!important;position:relative;isolation:isolate}
body.page .inner-banner:before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;opacity:.18!important;background-image:linear-gradient(90deg,#06172ecc,#071e3b99),var(--uco-subpage-photo,none)!important;background-position:center!important;background-size:cover!important;animation:uco394PhotoFloat 26s ease-in-out infinite alternate!important;transform:scale(1.04)}
body.page .inner-banner:after{content:""!important;position:absolute!important;inset:-30% -10%!important;width:auto!important;height:auto!important;top:-30%!important;right:-10%!important;z-index:1!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:.36!important;background:repeating-linear-gradient(117deg,transparent 0 100px,rgba(170,214,255,.24) 101px,transparent 102px 190px)!important;background-size:900px 900px!important;animation:uco394Lines 34s linear infinite!important}
body.page .inner-banner .shell{position:relative!important;z-index:2!important}
@keyframes uco394PhotoFloat{0%{transform:scale(1.04) translate3d(0,0,0)}100%{transform:scale(1.10) translate3d(-.8%,.6%,0)}}
@keyframes uco394Lines{0%{background-position:0 0}100%{background-position:220px -125px}}
/* Links should react subtly and consistently on hover, keyboard focus and click. */
a,button,input[type=submit],summary{ -webkit-tap-highlight-color:rgba(32,96,165,.15)}
a{transition:color .22s var(--uco-ease),background-color .22s var(--uco-ease),border-color .22s var(--uco-ease),box-shadow .22s var(--uco-ease),opacity .22s var(--uco-ease)}
:where(.content-body,.article-body,.uco-realizacje-content) a:not(.button):not(.wp-block-button__link){text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#9bb8d0}
:where(.content-body,.article-body,.uco-realizacje-content) a:not(.button):not(.wp-block-button__link):hover{color:#0b3c76!important;text-decoration-color:#185ca0;background:rgba(225,239,253,.24)}
:where(.content-body,.article-body,.uco-realizacje-content) a:not(.button):not(.wp-block-button__link):active{color:#08274d!important}
.site-header .primary-nav a{transition:color .24s var(--uco-ease),background-color .24s var(--uco-ease),box-shadow .24s var(--uco-ease)!important}
.site-header .primary-nav a:hover,.site-header .primary-nav a:focus-visible{box-shadow:inset 0 -2px 0 rgba(31,89,155,.52)}
.site-header .primary-nav a:active{background:#dceaf8!important}
:is(.service-card,.uco-offer-card,.uco-gallery-card,.uco-gallery-item,.reviews-card) {transition:transform .27s var(--uco-ease),box-shadow .27s var(--uco-ease),border-color .27s var(--uco-ease)}
:is(.service-card,.uco-offer-card,.uco-gallery-card,.uco-gallery-item):hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(12,43,80,.10);border-color:#b8cee3}
:is(.button,.header-call,.mobile-cta a,.footer-reviews){transition:transform .22s var(--uco-ease),background-color .22s var(--uco-ease),box-shadow .22s var(--uco-ease)!important}
:is(.button,.header-call,.mobile-cta a,.footer-reviews):hover{transform:translateY(-2px)}
:is(.button,.header-call,.mobile-cta a,.footer-reviews):active{transform:translateY(0) scale(.985)}
.site-footer a:not(.button):not(.footer-reviews){text-decoration-color:transparent;text-underline-offset:4px}
.site-footer a:not(.button):not(.footer-reviews):hover{color:#fff!important;text-decoration:underline;text-decoration-color:#93c7f2;transform:translateX(2px)}
.site-footer a:active{opacity:.75}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--uco-focus)!important;outline-offset:3px!important}
/* Avoid noticeable fixed wallpaper on small touchscreens. */
@media(max-width:767px){body.page:not(.home) #main:before{position:absolute;background-image:linear-gradient(rgba(255,255,255,.977),rgba(255,255,255,.977)),var(--uco-subpage-photo,none)}body.page .inner-banner:after{opacity:.22!important}}
@media(prefers-reduced-motion:reduce){body.page .inner-banner:before,body.page .inner-banner:after{animation:none!important;transform:none!important}a,button,input[type=submit],summary{transition:none!important}}

/* UCO v3.9.5 — restrained interactive treatment for remaining links and CTAs. */
:where(.text-link,.section a:not(.button),.inner-aside a:not(.button),.footer-menu a,.footer-bottom a,.uco-service-link,.uco-offer-card a,.content-body a:not(.button)):not(.uco-photo):not(.uco-gallery-card){transition:color .24s var(--uco-ease),text-decoration-color .24s var(--uco-ease),background-color .24s var(--uco-ease),box-shadow .24s var(--uco-ease),opacity .24s var(--uco-ease);text-underline-offset:.27em}
:where(.text-link,.section a:not(.button),.inner-aside a:not(.button),.footer-menu a,.footer-bottom a,.uco-service-link,.uco-offer-card a,.content-body a:not(.button)):not(.uco-photo):not(.uco-gallery-card):hover{color:#2472be;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:currentColor}
:where(.text-link,.section a:not(.button),.inner-aside a:not(.button),.footer-menu a,.footer-bottom a,.uco-service-link,.uco-offer-card a,.content-body a:not(.button)):not(.uco-photo):not(.uco-gallery-card):active{opacity:.78}
/* The screenshot's primary call button: perceptible yet discreet hover / press feedback. */
:where(.button,.button-primary,.button-outline,.hero-actions a,.uco-hero-actions a,.header-call,.topbar a,.contact-phone a){transition:color .24s var(--uco-ease),background-color .24s var(--uco-ease),border-color .24s var(--uco-ease),box-shadow .24s var(--uco-ease),transform .24s var(--uco-ease)!important}
:where(.button,.button-primary,.button-outline,.hero-actions a,.uco-hero-actions a,.header-call,.topbar a,.contact-phone a):hover{box-shadow:0 7px 18px rgba(15,48,91,.15);transform:translateY(-2px)}
:where(.button,.button-primary,.button-outline,.hero-actions a,.uco-hero-actions a,.header-call,.topbar a,.contact-phone a):active{transform:translateY(0) scale(.99);box-shadow:0 2px 8px rgba(15,48,91,.12)}
:where(.hero-actions,.uco-hero-actions) a:not(.button){text-underline-offset:5px;text-decoration-thickness:1px}
:where(.hero-actions,.uco-hero-actions) a:not(.button):hover{color:#125a9a;text-decoration-color:#125a9a}
@media (hover:none){:where(.button,.button-primary,.button-outline,.hero-actions a,.uco-hero-actions a,.header-call,.topbar a,.contact-phone a):hover{transform:none;box-shadow:none}}
@media (prefers-reduced-motion:reduce){:where(.button,.button-primary,.button-outline,.hero-actions a,.uco-hero-actions a,.header-call,.topbar a,.contact-phone a){transition:none!important}}
