/* Expresserwis: adjustments for modern WP without loading unsafe legacy scripts */
html{scroll-behavior:smooth}body{overflow-x:hidden;background:#0d1117;color:#fff}*,*::before,*::after{box-sizing:border-box}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ffdbdc;outline-offset:3px}
.screen-reader-text:not(:focus){position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.esr-skip:focus{position:fixed;z-index:9999;top:15px;left:15px;padding:12px;background:#fff;color:#111}
#h-main{z-index:15!important;padding:35px 0!important}#h-main .logo img{max-width:490px;width:auto;height:auto;max-height:82px}
.esr-logo-text{font:800 clamp(24px,3.2vw,44px)/1.1 Poppins,Arial,sans-serif;color:#fff;letter-spacing:.045em;text-decoration:none!important;display:inline-flex;align-items:center;gap:14px}
.esr-logo-text:before{content:"";height:40px;width:7px;background:#ea1630;display:inline-block}
.baner-section .baners{position:relative}.baner-section .baners>.baner{display:none!important;min-height:750px!important;height:auto!important;padding:195px 0 255px!important;background-size:cover!important;background-position:center center!important;position:relative;background-color:#102434;}
.baner-section .baners>.baner.esr-active{display:flex!important;align-items:center!important;justify-content:center!important}
.baner-section .baners>.baner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,17,.67),rgba(2,8,17,.14) 80%);pointer-events:none}
.baner-section .baner .wrapper{z-index:1;position:relative}.baner-section .baner h2{font-size:clamp(30px,3.7vw,52px)!important;line-height:1.16!important;max-width:800px}.baner-section .baner h3{font-size:clamp(16px,2vw,24px)!important;line-height:1.4!important}
.baner-section .baner p{margin-top:16px}.baner-section .baner ul{display:flex;flex-wrap:wrap;gap:25px;margin:24px 0!important;padding:0}.baner-section .baner li{display:inline-flex!important;width:auto!important;padding:20px 0 0!important;min-width:132px;font-size:14px!important}
.baner-section .baner ul li:before{top:0!important}.baner-section .baner a[href^=tel]{color:#fff}
.esr-hero-phone{font-size:22px;font-weight:700}.esr-hero-phone a{font-size:28px}
.esr-slider-dots{position:absolute;left:clamp(18px,5vw,70px);top:42%;z-index:6;display:flex;flex-direction:column;gap:15px}
.esr-slider-dots button{display:block;border:1px solid #fff;border-radius:50%;background:transparent;width:12px;height:12px;padding:0;cursor:pointer}
.esr-slider-dots button[aria-current=true]{background:#e71d32;border-color:#e71d32}
/* fixed menu: top level only; 20 offer links expandable rather than endlessly scrolling */
.menu-outer{position:fixed!important;inset:0 0 0 auto!important;left:auto!important;right:0!important;width:270px!important;max-width:270px!important;background:rgba(13,19,26,.95)!important;overflow-y:auto!important;padding:55px 0 25px!important;display:block!important;z-index:40!important}
.menu-outer>div{width:100%}.menu-outer nav{width:100%}.menu-outer nav>ul{padding:0;margin:0;list-style:none}
.menu-outer nav>ul>li{position:relative}.menu-outer nav a{font-size:14px!important;line-height:1.3!important;padding:13px 22px!important;display:block!important;text-transform:uppercase;letter-spacing:.03em;color:#fff!important}
.menu-outer .sub-menu{display:none!important;margin:0!important;padding:0!important;background:rgba(0,0,0,.18);max-height:none!important}
.menu-outer li.esr-submenu-open>.sub-menu,.menu-outer li:focus-within>.sub-menu{display:block!important}
.menu-outer .sub-menu a{font-size:12px!important;line-height:1.35!important;padding:9px 18px 9px 30px!important;color:#e6edf3!important}
.esr-submenu-toggle{position:absolute;right:4px;top:4px;z-index:4;cursor:pointer;background:none!important;border:0!important;font-size:22px;color:white!important;padding:4px 13px!important}
.menu-outer .menu-contact{padding:22px!important;font-size:12px!important;line-height:1.6!important;max-width:100%;overflow-wrap:anywhere}
.menu-outer .menu-contact p{margin:0 0 6px!important}
#es-main,#f-main{margin-right:270px!important;max-width:calc(100% - 270px)}
/* carousel of devices: original images if uploads exist, visible placeholders otherwise */
.baner-section .what-do-we-fix{position:absolute!important;left:0;bottom:0;z-index:5;width:100%;padding:18px 0 23px!important;background:linear-gradient(180deg,transparent,rgba(2,6,12,.95) 16%,rgba(2,6,12,.98))}
.baner-section .what-do-we-fix .wrapper{width:calc(100% - 92px)!important;max-width:1130px!important}
.baner-section .what-do-we-fix .intro{font-size:15px!important;font-weight:700!important;line-height:1.5!important;margin-bottom:12px!important}
.esr-products-wrapper{position:relative;display:flex;align-items:center;gap:10px}
.baner-section .what-do-we-fix .what-do-we-fix-slider{display:flex!important;align-items:stretch!important;gap:15px;overflow-x:auto!important;scrollbar-width:thin;scroll-snap-type:x mandatory;max-width:100%!important;width:100%!important;padding:5px 6px 10px!important;margin:0!important}
.baner-section .what-do-we-fix .what-do-we-fix-slider>.slide{flex:0 0 128px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:115px;scroll-snap-align:start}
.baner-section .what-do-we-fix .slide .image{height:86px;display:flex;align-items:center;justify-content:center;margin:0!important}
.baner-section .what-do-we-fix .slide .image img{opacity:1!important;transform:none!important;max-height:84px!important;max-width:120px!important;object-fit:contain}
.baner-section .what-do-we-fix .slide .text{opacity:1!important;pointer-events:auto!important;font-size:12px!important;line-height:1.3!important;width:140px!important;max-width:100%;text-align:center}
.esr-missing-thumb{width:65px;height:65px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:34px;color:#8ea1b1}
.esr-product-arrow{height:40px;min-width:28px;flex-shrink:0;border:none;background:rgba(255,255,255,.1);color:#fff;font-size:28px;cursor:pointer}
/* original red form section exactly after repair carousel */
.form-section{background:#df0d18 url('../img/form-section-bgr.jpg') center center / cover no-repeat!important;min-height:670px;padding:65px 0!important;position:relative;z-index:1}
.form-section:before{content:"";position:absolute;inset:0;background:rgba(176,0,14,.6);pointer-events:none;z-index:-1}
.form-section .wrapper{width:min(100% - 72px,1100px)!important;padding:0!important;margin:0 auto!important}
.form-section .section-inner{position:relative!important;display:grid!important;grid-template-columns:minmax(0,720px) minmax(0,1fr);gap:28px!important;align-items:start!important}
.form-section .forms{width:100%!important;max-width:none!important;grid-row:1/span 3}
.form-section h2{font-size:clamp(27px,3vw,38px)!important;color:#fff!important;font-family:Poppins,Arial,sans-serif;margin:0 0 12px!important}
.form-section p.esr-form-intro{font-size:15px;margin:0 0 18px!important;color:#fff}
.form-section .description{position:static!important;display:block!important;opacity:1!important;transform:none!important;pointer-events:auto!important;max-width:none!important;width:100%!important;padding:10px 0!important;border-top:1px dashed rgba(255,255,255,.6)!important;font-size:13px!important;line-height:1.6!important;color:white!important}
.form-section .description.second{grid-column:2!important;grid-row:2!important}
.form-section .esr-incident-form,.form-section .esr-incident-form *{box-sizing:border-box}
.form-section .esr-incident-form{padding:0!important;margin:0!important;max-width:100%!important;display:block!important;width:100%!important}
.form-section .esr-fields{display:grid!important;grid-template-columns:1fr 1fr;gap:11px 14px;align-items:start}
.form-section .esr-field{display:block!important;width:100%!important;max-width:none!important;position:static!important;margin:0!important;padding:0!important;height:auto!important;float:none!important}
.form-section .esr-fields .esr-wide{grid-column:1/-1}
.form-section .esr-field input,.form-section .esr-field textarea{width:100%!important;max-width:none!important;height:44px!important;line-height:1.35!important;padding:11px 13px!important;border:1px solid #ddd!important;background:#fff!important;color:#142332!important;font-family:inherit;border-radius:2px!important;box-shadow:none!important;margin:0!important;font-size:14px!important}
.form-section .esr-field textarea{height:104px!important;min-height:104px!important;resize:vertical}
.form-section .esr-upload{grid-column:1/-1;display:flex;flex-direction:column;gap:7px;min-height:110px;padding:15px;border:1px dashed #fff;background:rgba(0,0,0,.12);cursor:pointer;color:white}
.form-section .esr-upload strong{font-size:14px}.form-section .esr-upload small{font-size:11px}.form-section .esr-upload input{max-width:100%;color:#fff;font-size:13px}
.esr-hidden-field{position:absolute!important;clip-path:inset(50%);height:1px!important;width:1px!important;overflow:hidden}
.form-section .esr-submit-row{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:8px}
.form-section .esr-submit-row>p{flex:1 1 240px;font-size:12px!important;line-height:1.6!important;margin:0!important;color:white}
.form-section .esr-consent{width:100%;display:flex;align-items:flex-start;gap:9px;font-size:12px;margin:3px 0!important}
.form-section .esr-consent input{width:17px!important;height:17px!important;flex-shrink:0;margin:1px 0!important}
.form-section .esr-submit-row button{display:inline-flex!important;align-items:center;gap:22px;background:#008aff!important;color:#fff!important;border:0!important;border-radius:2px!important;padding:13px 22px!important;font-size:15px!important;font-weight:700!important;cursor:pointer}
.form-section .esr-submit-row button:hover{background:#005db8!important}
.form-section .esr-form-result{margin:0 0 14px;padding:12px;background:rgba(255,255,255,.15);border-left:3px solid #fff;color:#fff}
.esr-about{background:#f9f9f9;color:#252b30;padding:65px 22px;text-align:center}.esr-about .wrapper{max-width:930px}.esr-about h1{font-size:clamp(26px,3vw,34px);color:#162c41}.esr-about h2{font-size:25px;color:#d00e20}.esr-about p{color:#333;line-height:1.8;font-size:15px}
.work-section{background-image:url('../img/work.jpg')!important;background-size:cover!important;color:#fff}
#f-main{padding-top:65px!important;background:#141a20;color:#fff}
#f-main .wrapper{max-width:1100px;margin:0 auto}#f-main nav{max-width:950px;margin:0 auto}#f-main nav>ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 15px;padding:0;list-style:none}
#f-main nav li{display:block}#f-main nav a{font-size:12px!important;line-height:1.3!important;padding:5px!important;color:#fff!important;text-transform:uppercase}
#f-main .contact-footer{margin-top:24px;font-size:14px;line-height:1.8}#f-main .contact-footer a{color:#fff}
#f-main .copyrights{margin-top:30px;padding:25px 10px;border-top:1px solid rgba(255,255,255,.13)}#f-main .copyrights .container{display:flex;justify-content:space-between;gap:15px}#f-main .copyrights .container>div{flex:1;font-size:12px}
.esr-page{background:#f6f7f8;color:#182b3d;min-height:75vh;padding:140px 0 70px!important}.esr-page-inner{max-width:1120px;margin:auto}.esr-page-title{font-size:32px;color:#162b40;margin:0 0 26px}
.esr-page .elementor{max-width:100%}
@media(max-width:1100px){.menu-outer{display:none!important}#show-smart-menu{display:block!important;position:fixed;top:14px;right:15px;width:46px;height:46px;background:#fff;z-index:100;cursor:pointer;border:0;border-radius:5px}#show-smart-menu span{height:3px;width:27px;display:block;background:#132230;margin:7px auto}nav.smart-menu{position:fixed!important;inset:0 0 0 auto!important;z-index:99!important;display:block!important;visibility:visible!important;width:min(340px,100%);max-width:100%;height:100dvh;overflow-y:auto;padding:90px 18px 30px;background:#081925;transform:translateX(100%);transition:transform .25s ease}nav.smart-menu.esr-open{transform:translateX(0)}nav.smart-menu a{display:block;color:#fff;padding:10px}#h-main{width:100%!important;padding:25px 0!important}#es-main,#f-main{margin-right:0!important;max-width:none!important}.baner-section .baners>.baner{min-height:730px!important;padding:150px 0 250px!important}.form-section .section-inner{grid-template-columns:1fr!important}.form-section .forms{grid-row:auto}.form-section .description,.form-section .description.second{grid-column:1!important;grid-row:auto!important}.esr-page{padding:120px 20px 50px!important}}
@media(max-width:650px){#h-main .logo img{max-width:260px}.esr-logo-text{font-size:25px}.baner-section .baners>.baner{min-height:760px!important;padding:138px 0 260px!important}.baner-section .baner h2{font-size:30px!important}.baner-section .baner h3{font-size:16px!important}.baner-section .baner li{font-size:11px!important;min-width:100px;padding-top:15px!important}.esr-slider-dots{left:20px;top:58%}.baner-section .what-do-we-fix .wrapper{width:calc(100% - 24px)!important}.baner-section .what-do-we-fix .slide{flex-basis:114px}.esr-product-arrow{min-width:20px}.form-section{padding:38px 0!important}.form-section .wrapper{width:calc(100% - 30px)!important}.form-section .esr-fields{grid-template-columns:1fr}.form-section .esr-upload,.form-section .esr-submit-row{grid-column:1}.esr-about{padding:45px 15px}#f-main .copyrights .container{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* WP legacy form label order must not reorder the reconstructed form on mobile. */
.form-section .esr-incident-form .esr-fields > *{order:0!important;}
.form-section .esr-incident-form .esr-fields>.esr-submit-row{order:100!important;}
@media(max-width:650px){.esr-slider-dots{left:auto!important;right:20px!important;top:48%!important;}}


/* === 2.2 NAVIGATION AND SLIDES === */
/* Link labels also receive repaired URLs in the PHP menu filter. */
.menu-outer li.menu-item-has-children > .sub-menu{display:none!important}
.menu-outer li.menu-item-has-children.esr-submenu-open > .sub-menu{display:block!important}
.menu-outer li.menu-item-has-children:not(.esr-submenu-open):focus-within > .sub-menu{display:none!important}
.menu-outer .esr-submenu-toggle{position:absolute!important;top:5px!important;right:9px!important;z-index:7!important;width:39px!important;height:38px!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;color:white!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:4px;background:rgba(255,255,255,.05)!important}
.menu-outer nav>ul>li.menu-item-has-children>a{padding-right:53px!important}
.menu-outer a:hover,.menu-outer a:focus-visible{background:rgba(255,255,255,.08)!important;color:#fff!important}
.menu-outer .sub-menu{position:static!important;height:auto!important;overflow:visible!important;opacity:1!important;visibility:visible!important;transform:none!important}
/* Disable competing legacy slider dots, only our new controls stay visible. */
.baner-section .baners .slick-dots{display:none!important}
.baner-section .baners{height:760px!important;min-height:760px!important;position:relative!important;overflow:hidden!important}
.baner-section .baners>.baner{position:absolute!important;inset:0!important;height:100%!important;min-height:0!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:140px 0 235px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(20px);transition:opacity .65s ease, transform .65s ease, visibility .65s ease;z-index:0!important}
.baner-section .baners>.baner.esr-active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0);z-index:2!important}
/* Three original slides contain identical words and the same media ID in SQL.
   These quiet alternatives allow identifying the active slide if photo is missing. */
.baner-section .baners>.baner.esr-no-photo:nth-child(1){background-image:radial-gradient(circle at 74% 39%,rgba(68,132,165,.30),transparent 32%),linear-gradient(114deg,#06121e 6%,#153246 68%,#07131e 100%)}
.baner-section .baners>.baner.esr-no-photo:nth-child(2){background-image:radial-gradient(circle at 75% 30%,rgba(168,64,72,.22),transparent 35%),linear-gradient(118deg,#08131e 6%,#252f43 67%,#07121d 100%)}
.baner-section .baners>.baner.esr-no-photo:nth-child(3){background-image:radial-gradient(circle at 72% 45%,rgba(34,132,127,.28),transparent 36%),linear-gradient(112deg,#07161e 5%,#15363e 65%,#081921 100%)}
/* Older CSS included extra slide indicators at left. New arrows and counter are one group. */
.baner-section .esr-slider-dots{position:absolute!important;left:58px!important;top:42%!important;right:auto!important;display:flex!important;gap:14px!important;flex-direction:column!important;z-index:12!important}
.baner-section .esr-slider-dots button{width:12px!important;height:12px!important;opacity:.85!important}
.baner-section .esr-hero-controls{position:absolute;left:58px;top:59%;display:flex;align-items:center;gap:10px;z-index:12;color:white}
.baner-section .esr-hero-arrow{background:rgba(2,10,18,.5);border:1px solid rgba(255,255,255,.25);border-radius:5px;color:#fff;width:39px;height:39px;font:30px/1 Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.baner-section .esr-hero-arrow:hover{background:#cf152b}
.baner-section .esr-hero-counter{font:700 14px/1 Arial,sans-serif;letter-spacing:.04em;min-width:64px;text-align:center}
.baner-section .what-do-we-fix{z-index:10!important}
/* mobile menu and submenu; independent from CSS inherited from original theme */
#esr-mobile-menu li.menu-item-has-children{position:relative}
#esr-mobile-menu li.menu-item-has-children>.sub-menu{display:none!important}
#esr-mobile-menu li.menu-item-has-children.esr-submenu-open>.sub-menu{display:block!important}
#esr-mobile-menu li.menu-item-has-children>a{padding-right:48px!important}
#esr-mobile-menu .esr-submenu-toggle{position:absolute;top:4px;right:10px;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:white;font-size:24px;border-radius:4px;cursor:pointer}
#esr-mobile-menu .sub-menu{padding-left:10px!important}
#esr-mobile-menu .sub-menu a{font-size:13px!important}
@media(max-width:1100px){
 .baner-section .baners{height:740px!important;min-height:740px!important}
 .baner-section .baners>.baner{padding:125px 0 245px!important}
 .baner-section .esr-slider-dots{left:25px!important;top:51%!important}
 .baner-section .esr-hero-controls{left:25px!important;top:67%!important}
}
@media(max-width:650px){
 .baner-section .baners{height:755px!important;min-height:755px!important}
 .baner-section .baners>.baner{padding:115px 0 250px!important}
 .baner-section .esr-slider-dots{left:auto!important;right:17px!important;top:48%!important}
 .baner-section .esr-hero-controls{left:15px!important;top:58%!important}
 .baner-section .esr-hero-arrow{width:34px;height:34px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){.baner-section .baners>.baner{transition:none!important;transform:none!important}}
/* Original theme disabled pointer events on the off-canvas menu.
   This must be explicitly reverted when mobile navigation is open. */
@media(max-width:1100px){
  #esr-mobile-menu.esr-open{pointer-events:auto!important;z-index:9999!important}
  #esr-mobile-menu.esr-open *,#esr-mobile-menu.esr-open a,#esr-mobile-menu.esr-open button{pointer-events:auto!important}
  #show-smart-menu{z-index:10000!important}
}
/* Smooth anchor navigation leaves room for the theme's fixed header. */
#awaria,#onas,#praca,#kontakt{scroll-margin-top:80px}
