@import "./swipebox.css";
@import "./owl.carousel.css";
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-ExtraBold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

body {font-family: 'Montserrat', Arial, sans-serif;}
a, a:focus{text-decoration: none; color: #1d1d1d;}
a:hover {color: #6c6b6b;}
h1, h2, h3, h4 {font-weight: 800; margin:0}
h1 span {font-weight: normal;}
h1 {font-size: 2.2rem;}
label {cursor: pointer;}
label:hover {opacity:.75}
.container-fluid {--bs-gutter-x: 3rem;}
.relative {position: relative;}
.cover {background-size: cover;}
.underline {border-bottom:1px solid #5b5b5b;}
.offcanvas-end, .offcanvas-start {max-width: 80%;}
:root {--dv-red: #e31e25; --dv-yellow: #e85d04; --white: #fff; --blue:#ebebeb}

.btn-block  {display: block;}
.btn-danger {background-color: var(--dv-red); border-color: var(--dv-red); padding:10px 30px; border-radius:3px}
.btn-danger:hover {background-color: #ce191f;border-color: #ce191f;}
.btn-yellow {background-color: var(--dv-yellow); border-color: var(--dv-yellow); color: var(--white); padding:10px 30px; border-radius:3px; font-weight: bold; display: inline-block; border: none; text-shadow: 1px 1px #23232352;}
.btn-yellow:hover {background-color: #d15000;border-color: var(--dv-yellow); color: var(--white);}
.btn-yellow:focus, .btn-yellow:active, .btn-yellow:focus-visible, .btn-yellow:focus-within, .btn-yellow:active:focus, .btn-yellow.active {  background-color: var(--dv-yellow) !important;   border-color: var(--dv-yellow) !important;   color: white !important;}
.btn-close {position: absolute; top:15px; left:30px; z-index: 1; transition: transform 0.2s ease-in-out; width:1rem; height: 1rem; opacity: .2;}
.modal-header .btn-close {right:15px !important; left:auto !important}
.btn-close:focus {box-shadow: none; outline:0px !important; box-shadow: none !important;}
.btn-close:hover {  transform: rotate(90deg);}
.btn-close-end {right:1rem !important; left:auto}
.form-check-input:checked {background-color: #59c09e; border-color: #59c09e;}
.form-check-input:checked:focus {box-shadow: none;}
.form-check-input:checked:active {box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);  outline: none;}
.form-check-input:focus, .form-check-input:active {box-shadow: 0 0 0 0.25rem rgba(204, 215, 210, 0.45); outline: none;}
.form-check-input {border-color:#a0a0a0; }
.form-control:focus {box-shadow: 0 0 0 0.25rem rgba(204, 215, 210, 0.45); outline: none; border-color: #d0d4d8}
.form-control {border-color: #c0c6cc; border-radius: 0;}
.mobile {display: none;}
.form-floating>label {z-index: 0; /* kvoli menu */}
#fileInput {opacity: 0; width: 0.1px; height: 0.1px; position: absolute; overflow: hidden; z-index: -1;}

/* CSS */

.logo::before {content: "";position: absolute; left: -2000px; top: 0; bottom: 0; width: 2120px; background: #d95a14; z-index: -2; clip-path: polygon( 0 0, 100% 0, 96.7% 100%, 0 100%);}
.logo::after {content: ""; position: absolute; left:84px; top: -16px; width: 18px; height: calc(89% + 30px); background: #fff; transform: skewX(-30deg); z-index: -1;}
.logo {width: 250px; position: relative;display: inline-flex; align-items: center; z-index: 2; padding:3rem 0}
.logo img {width: 100%; height: auto; max-width: 100%;}
.logo img:hover {opacity: .7;}


header {position: relative;  z-index: 3 !important; background: #353B3F; background: linear-gradient(0deg, rgba(53, 59, 63, 1) 0%, rgba(64, 69, 73, 1) 100%); border:0}
header .navbar {--bs-navbar-padding-y: 0; position:relative!important}
.nav-link {color: #fff; font-weight: 800; font-size: 1.1rem;}
.nav-link:hover {color: #fff; opacity: .7;}
.navbar-nav .nav-link:focus, .navbar-nav .nav-link.show {color:#fff; opacity: .7;}
.navbar-expand-lg .navbar-nav .nav-link {padding:2.5rem 1rem 2.5rem 1rem}
.navbar-nav .nav-link.active span {border-bottom:2px solid var(--dv-yellow); }
.navbar-nav .nav-link.active  {color: var(--dv-yellow);}

.btn-arrow {padding:10px 15px;border-radius:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);position:relative;overflow:hidden;z-index:1;transition:color .4s ease}.btn-arrow::before{content:'';position:absolute;inset:0;background:#fb8338;transform:translateX(-101%);clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);transition:transform .4s ease-in-out,clip-path .4s ease-in-out;z-index:-1}.btn-arrow:hover{color:#fff!important}
.btn-arrow:hover::before {transform:translateX(0);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.navsub .tel {color: var(--dv-yellow); font-weight: bold; font-size: 1.1rem; margin-right: 1.5rem;}
.navsub .tel:hover {opacity: .7;}



.mega-heavy-dropdown{position:static!important}.mega-heavy-dropdown .dropdown-toggle::after{display:none!important}.mega-heavy-panel{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;transform:none!important;background-color:#1a1d20;margin-top:0!important;border-radius:0 0 8px 8px!important;border-bottom:4px solid var(--dv-yellow)!important;box-shadow:0 20px 40px rgba(0,0,0,.5);z-index:1000;display:block!important;opacity:0;visibility:hidden;max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4, 0, .2, 1),opacity .25s,visibility .25s}.mega-heavy-dropdown .dropdown-menu.show,.mega-heavy-dropdown:hover .mega-heavy-panel{opacity:1;visibility:visible;max-height:600px}.dropdown-arrow{font-size:.85rem;color:rgba(255,255,255,.7);transition:transform .3s cubic-bezier(.4, 0, .2, 1),color .2s}.mega-heavy-dropdown .dropdown-toggle.show .dropdown-arrow,.mega-heavy-dropdown:hover .dropdown-arrow{transform:rotate(180deg);color:var(--dv-yellow)}.heavy-top-bar{height:4px;background:linear-gradient(90deg,var(--dv-yellow) 0,#e31e25 100%);width:100%}
.heavy-card{background-color:#24282d;border:1px solid #32373e;padding:0!important;overflow:hidden;height:100%;transition:.2s ease-in-out}
.heavy-card:hover {background-color:#2d3238;border-color:var(--dv-yellow);transform:translateX(4px)}
.heavy-card.active {background-color:#2d3238;border-color:var(--dv-yellow); color: var(--dv-yellow);}
.heavy-card.active .heavy-title {color:var(--dv-yellow) !important}

.heavy-img-box{width:120px;height:100%;min-height:80px;flex-shrink:0;border:none;border-right:1px solid #32373e;border-radius:0}.heavy-img-box img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%);transition:filter .2s,transform .2s}.heavy-card:hover .heavy-img-box img{filter:grayscale(0);transform:scale(1.08)}
.heavy-info{padding:.8rem 1rem; line-height: 1.3;}
.heavy-title {color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.5px; margin-bottom: 7px;}
.heavy-card:hover .heavy-title{color:var(--dv-yellow)}
.heavy-sub {color:#a0a6b1;font-size:.78rem; line-height: 1.1;}

#heroCarousel .carousel-item {min-height:550px;height:75vh;max-height:750px;position:relative;overflow:hidden;z-index:1}
.carousel-bg-img {position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:left center;z-index:1}
.carousel-overlay {position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,rgba(0,0,0,.8) 0,rgba(0,0,0,0) 100%);z-index:2}
.z-index-custom {z-index:5}
#heroCarousel .carousel-control-next,#heroCarousel .carousel-control-prev{width:5%;opacity:1;z-index:1}#heroCarousel .carousel-control-next i,#heroCarousel .carousel-control-prev i{color:#fff;transition:color .3s ease,transform .2s ease;opacity:.5}#heroCarousel .carousel-control-next:hover i,#heroCarousel .carousel-control-prev:hover i{color:#ff9800;opacity:1;transform:scale(1.15)}
.carousel-divider {position:absolute;bottom:0;left:0;width:100%;z-index:1;pointer-events:none; background-image: url('/images/divider.svg'); background-repeat: no-repeat; background-position: bottom center; height: 150px; background-size: 120% auto;}

#heroCarousel .btn-arrow{padding:10px 35px}.fresh-card{background-color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.1);transition:all .35s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden;border-radius:0}.fresh-card .img-box{height:220px}.fresh-card .img-box img{max-height:100%;transition:transform .35s ease}.fresh-card .circle-btn{width:46px;height:46px;border-radius:50%;background-color:#f1f3f5;color:#212529;font-size:1.1rem;transition:all .3s ease}.fresh-card .circle-btn i{transition:transform .3s ease}.fresh-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.12)!important}.fresh-card:hover .img-box img{transform:scale(1.06)}
.fresh-card:hover .circle-btn{background-color:#0d6efd;color:#fff;box-shadow:0 4px 12px rgba(13,110,253,.35)}
.fresh-card:hover .circle-btn i{transform:translateX(3px) rotate(-35deg)}


.info      {background-color: #4a5054; padding:3rem 0; margin-bottom:7rem;  position: relative; color: white; background-image: url(/images/paper.avif); background-repeat: no-repeat; background-size: cover;}
.info .box {padding:2rem 5rem 2rem 2rem}
.info h2   {font-size: clamp(1.8rem, 2vw + 1rem, 2.5rem); margin-bottom: 2rem;}
.info h3   {font-size: 1.1rem; margin: 2rem 0 .5rem 0;}
.info p    {font-size: 1.1rem; line-height: 1.7rem; opacity: .9;}
.info li   {font-size: 1.1rem; line-height: 1.7rem; opacity: .9; margin-bottom: 9px;}
.image-placeholder  {width:100%; height:100%;}
.absolute-image     {position:absolute; top:-53px; right:0; height:100%; pointer-events:none; display:flex; align-items:start}
.absolute-image img {display:block; width:750px; height:auto; pointer-events:auto}
.gradient-overlay {display:none}
.gradient-overlay.expanded{display:block}
.read-more-inline{display:inline;cursor:pointer;text-decoration:underline;font-weight:600;color:inherit;transition:opacity .2s ease-in-out}.read-more-inline:hover{opacity:.8}.read-more-inline i{font-size:.85em;vertical-align:middle}#expandableText .read-more-inline{display:inline-block;margin-top:15px}


.footer-section {background:linear-gradient(to right,#2b2e31,#4a5054)}
.footer-logo{max-height:32px;width:auto}
.footer-contacts-grid{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:30px}
.contact-item{display:flex;align-items:center;gap:12px;background:0 0;border:none;padding:0;width:auto}
.icon-box{width:44px;height:44px;background-color:var(--dv-yellow);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.contact-text{color:#fff;font-weight:600;text-decoration:none;font-size:.95rem;white-space:nowrap}
.contact-text:hover{color:var(--dv-yellow)}
.footer-divider{width:100%;border:0;border-top:1px solid rgba(255,255,255,.15);margin:0;opacity:1}
.footer-copyright{color:#8c9296;font-size:.85rem}.privacy-link{color:#8c9296;text-decoration:none}

/* GAL INDEX */
.gallery-section{overflow:hidden}
.gallery-track{overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:2rem}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-item{flex:0 0 auto;height:380px;background-size:cover;background-position:center;background-repeat:no-repeat; scroll-snap-align:start;transition:transform .3s,opacity .3s;display:block}
.gallery-item:hover{transform:translateY(-4px);opacity:.95}
.item-portrait{width:280px}
.item-square{width:350px}
.item-landscape{width:480px}
.gallery-indicators .dot{width:10px;height:10px;background-color:#ccc;border-radius:50%;cursor:pointer;transition:.3s}
.gallery-indicators .dot.active{background-color:var(--dv-yellow);transform:scale(1.3)}.gallery-controls button{width:40px;height:40px;padding:0;line-height:38px}

/* PROFILE */


.profile-page {--bg: url('/images/profil.webp');}
.profile-page .profile-hero-center {background: linear-gradient(90deg, rgba(30,34,37,.95) 0, rgba(53,59,63,.55) 50%, rgba(64,69,73,.4) 100%), var(--bg) center/cover; position:relative;padding:130px 0 170px;color:#fff;text-align:center}

.profile-page.zemne-prace { --bg: url('/data/page-zemne-prace.webp'); }
.profile-page.autodoprava { --bg: url('/data/page-autodoprava.avif'); }
.profile-page.buracie-prace { --bg: url('/data/page-buracie-prace.avif'); }
.profile-page.cistenie-komunikacii-nitra { --bg: url('/data/page-cistenie-komunikacii-nitra.avif'); }
.profile-page.cistenie-pozemkov-nitra { --bg: url('/data/page-cistenie-pozemkov-nitra.avif'); }
.profile-page.recyklacia-stavebneho-odpadu { --bg: url('/data/page-recyklacia-stavebneho-odpadu.avif'); }
.profile-page.vykopove-prace-nitra { --bg: url('/data/page-vykopove-prace-nitra.avif'); }
.profile-page.zemne-stabilizacie { --bg: url('/data/page-zemne-stabilizacie.avif'); }



.profile-page .profile-hero-content {position:relative;z-index:1;max-width:800px;margin:0 auto}
.profile-page .profile-hero-badge   {display:inline-block;color:var(--dv-yellow);font-size:.9rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:10px}
.profile-page .profile-hero-title   {font-size:clamp(2.7rem, 6vw, 4.5rem);font-weight:900;letter-spacing:-1px;text-transform:uppercase;margin-bottom:15px;color:#fff}
.profile-page .profile-hero-subtitle{font-size:1.25rem;color:#e0e0e0;font-weight:400;line-height:1.6;margin-bottom:0}.profile-page .carousel-divider{position:absolute;bottom:0;left:0;width:100%;z-index:1;pointer-events:none;background-image:url(/images/divider.svg);background-repeat:no-repeat;background-position:bottom center;height:150px;background-size:120% auto}.profile-page .profile-main-section{background-color:#fff;padding:60px 0 90px}.profile-page .profile-main-content{max-width:850px;margin:0 auto 70px;text-align:center}.profile-page .profile-main-heading{font-size:2rem;font-weight:800;color:#1a1d20;margin-bottom:25px;position:relative;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.profile-page .profile-main-heading::after{content:'';display:block;width:40px;height:3px;background-color:var(--dv-yellow);margin:12px auto 0}.profile-page .profile-text{font-size:1.1rem;line-height:1.8;color:#4a5056}.profile-page .profile-info-card{background-color:#f8f9fa;border:1px solid #e2e8f0;border-top:4px solid var(--dv-yellow);padding:40px 30px;text-align:center;height:100%;transition:transform .2s,box-shadow .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}.profile-page .profile-info-card:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.06);background-color:#fff}.profile-page .profile-card-accent-text{font-size:2.5rem;font-weight:900;color:var(--dv-yellow);line-height:1;margin-bottom:12px;letter-spacing:-1px}.profile-page .profile-info-title{font-size:1.15rem;font-weight:800;color:#1a1d20;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.profile-page .profile-info-text{font-size:.95rem;color:#6c757d;margin-bottom:0;line-height:1.6}

/* CONTACT */

.contact-badge,.contact-card-label,.contact-info-heading,.contact-title{text-transform:uppercase}
.contact-section{background-color:#f4f5f7;padding:60px 0 90px}.contact-header{max-width:800px;margin:0 auto 50px;text-align:center}.contact-badge{display:inline-block;color:var(--dv-yellow);font-size:.85rem;font-weight:700;letter-spacing:2.5px;margin-bottom:8px}.contact-title{font-size:clamp(2rem, 4vw, 3rem);font-weight:900;color:#1a1d20;letter-spacing:-.5px;margin-bottom:15px}.contact-title::after{content:'';display:block;width:45px;height:3px;background-color:var(--dv-yellow);margin:12px auto 0}.contact-subtitle{font-size:1.1rem;line-height:1.7;color:#5a626a}.contact-card{background-color:#fff;border:1px solid #e2e8f0;border-top:4px solid var(--dv-yellow);padding:30px;height:100%;display:flex;align-items:center;gap:20px;transition:transform .2s,box-shadow .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);text-decoration:none;color:inherit}.contact-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.06);color:inherit}.contact-card-label{font-size:.8rem;letter-spacing:1px;font-weight:700;color:var(--dv-yellow);margin-bottom:2px}.contact-card-value{font-size:1.35rem;font-weight:800;color:#1a1d20;margin-bottom:0;line-height:1.2}.contact-card-desc{font-size:.85rem;color:#6c757d;margin-bottom:0;margin-top:4px}
.contact-section .icon-box{width:44px;height:44px;background-color:#353b3f5b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.contact-form-wrapper,.contact-info-panel{background-color:#fff;border:1px solid #e2e8f0;padding:35px;height:100%}.contact-info-block{display:flex;align-items:flex-start;gap:15px;margin-bottom:20px}.contact-form-title,.contact-info-heading{font-weight:800;color:#1a1d20;margin-bottom:8px}.contact-info-block:last-child{margin-bottom:0}.contact-info-heading{font-size:1.1rem;letter-spacing:.5px}.contact-form-title{font-size:1.5rem}.fs-7{font-size:.75rem}

/* PAGE */
.page{background-color:#f4f5f7;color:#333;padding:5rem 0}.page .card{border:none;border-radius:0;box-shadow:0 4px 12px rgba(0,0,0,.05)}.page h1{font-size:1.6rem;font-weight:700;color:#1a1a1a}.page h2{font-size:1.15rem;font-weight:600;color:#2b2b2b;margin-top:1.5rem;margin-bottom:.5rem}.page li,.page p{font-size:.95rem;line-height:1.6;color:#4a4a4a}.page ul{padding-left:1.2rem}.page .contact-box{background-color:#f8f9fa;border-radius:8px;padding:1rem;border-left:4px solid #0d6efd}

/* REF */
.references-section{background-color:#f4f5f7;color:#1a1d20;padding:80px 0;position:relative}.section-header{margin-bottom:50px;text-align:center}.section-subtitle{color:var(--dv-yellow);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:10px}.section-title{font-size:2.5rem;font-weight:800;color:#1a1d20;margin-bottom:15px}.section-description{color:#5a626a;font-size:1.1rem;max-width:700px;margin:0 auto;line-height:1.6}.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ref-tile{display:block;position:relative;width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;overflow:hidden;border:1px solid #dcdcdc;transition:transform .3s,box-shadow .3s}.ref-tile::before{content:'';position:absolute;inset:0;background-color:rgba(26,29,32,.4);opacity:0;transition:opacity .3s;z-index:1}.ref-tile::after{content:'\f00e';font-family:'Font Awesome 7 Free','Font Awesome 6 Free',FontAwesome;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);width:44px;height:44px;background-color:var(--dv-yellow);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;opacity:0;transition:.3s;z-index:2}.ref-tile:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(0,0,0,.12)}.ref-tile:hover::before{opacity:1}.ref-tile:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}.ref-cta-box{margin-top:60px;background:#fff;border:1px solid #e2e8f0;padding:40px 30px;text-align:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%)}.ref-cta-title{font-size:1.5rem;font-weight:800;color:#1a1d20;margin-bottom:10px}.ref-cta-text{color:#5a626a;margin-bottom:25px;font-size:1.05rem}.btn-custom-primary{display:inline-flex;align-items:center;gap:10px;background-color:var(--dv-yellow);color:#fff;font-weight:700;padding:14px 32px;text-decoration:none;transition:.3s;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}.btn-custom-primary:hover{background-color:#dc2f02;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(232,93,4,.25)}@media (max-width:767.98px){.ref-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:1.5rem}.section-description{font-size:.9rem}}@media (max-width:575.98px){.ref-grid{grid-template-columns:1fr}.ref-cta-box{padding:30px 20px}.ref-tile::after,.ref-tile::before{display:none!important}}

/* DOPYT */
.dopyt,.tlacitko-priloha{align-items:center;display:flex}.btn-modern-submit,.dopyt-header h2,.uploaded-files-title{font-weight:700;text-transform:uppercase}
.dopyt{width:100%; min-height:100vh; background: linear-gradient(135deg, rgba(18, 20, 24, 0.82) 0%, rgba(26, 29, 32, 0.55) 100%), url('/images/dopyt.avif') center/cover fixed; padding:4rem 0}
.dopyt-card{background:#fff;border-radius:0!important;padding:3rem 2.5rem;box-shadow:0 15px 35px rgba(0,0,0,.1)}.dopyt-header h2{font-size:1.85rem;color:#111;letter-spacing:-.5px;margin-bottom:.75rem}.dopyt-header p{color:#444;font-size:.95rem;line-height:1.5;margin-bottom:2rem}.tlacitko-priloha{gap:12px;background:#f8f8f8;border:2px dashed #b0b0b0;border-radius:0!important;padding:1rem 1.25rem;cursor:pointer;transition:.2s ease-in-out}.tlacitko-priloha:hover{background:#fff;border-color:var(--dv-yellow);box-shadow:0 4px 12px rgba(232,93,4,.15)}.tlacitko-priloha .icon-circle{width:40px;height:40px;border-radius:0!important;background:rgba(232,93,4,.1);color:var(--dv-yellow);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.tlacitko-priloha .text-content{display:flex;flex-direction:column}.tlacitko-priloha .action-text{font-weight:700;color:#111;font-size:.95rem}.tlacitko-priloha .limit-text{font-size:.78rem;color:#666}.uploaded-files-title{font-size:.85rem;color:#111;margin-bottom:.5rem;display:block}.file-badges{display:flex;flex-wrap:wrap;gap:8px}.file-badge{display:inline-flex;align-items:center;background:#f8f8f8;border:1px solid #ccc;border-radius:0!important;padding:.4rem .75rem;font-size:.85rem}.file-badge .file-name{color:var(--dv-yellow);text-decoration:none;font-weight:600}.file-badge .file-delete{color:#dc2626;margin-left:8px;font-size:.95rem;transition:color .2s}.file-badge .file-delete:hover{color:#991b1b}.dopyt-card .form-control{border-radius:0!important;border:1px solid #b0b0b0;background-color:#fff;transition:border-color .2s,box-shadow .2s}.dopyt-card .form-floating>.form-control:focus{border-color:var(--dv-yellow);box-shadow:0 0 0 3px rgba(232,93,4,.2);background-color:#fff}.dopyt-card .form-floating>label{color:#666}.custom-gdpr .form-check-input{border-radius:0!important;border-color:#b0b0b0;cursor:pointer}.custom-gdpr .form-check-input:checked{background-color:var(--dv-yellow);border-color:var(--dv-yellow)}.custom-gdpr .form-check-label{font-size:.88rem;color:#333;cursor:pointer}.custom-gdpr .gdpr-link{color:var(--dv-yellow);text-decoration:underline;font-weight:600}.btn-modern-submit{background-color:var(--dv-yellow);color:#fff;border:none;border-radius:0!important;padding:.9rem 2.5rem;font-size:1rem;letter-spacing:.5px;box-shadow:0 4px 14px rgba(232,93,4,.35);transition:.2s;width:100%}.btn-modern-submit:hover{background-color:#dc2f02;color:#fff;box-shadow:0 6px 18px rgba(220,47,2,.45)}.btn-modern-submit:active{background-color:#d00000}

/* DOPYT 2 */
.dopyt-section {background:linear-gradient(135deg,rgba(18,20,24,.92) 0,rgba(26,29,32,.55) 100%),url('/images/dopyt.avif') center/cover no-repeat}.dopyt-section a:hover{opacity:.5;border-bottom:1px solid #ffffff90}.dopyt-section *,.dopyt-section .tlacitko-priloha,.dopyt-section button,.dopyt-section input,.dopyt-section textarea{border-radius:0!important}.dopyt-section .dopyt-card{background:linear-gradient(135deg,rgba(43,46,49,.85) 0,rgba(74,80,84,.85) 100%);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);padding:2.5rem;box-shadow:0 10px 30px rgba(0,0,0,.4)}.dopyt-section .form-control{background-color:rgba(20,22,24,.6)!important;border:1px solid rgba(255,255,255,.2);color:#fff!important;box-shadow:none;transition:.3s}.dopyt-section .form-control:focus{background-color:rgba(10,11,12,.85)!important;border-color:var(--dv-yellow);color:#fff!important;box-shadow:0 0 0 .25rem rgba(232,93,4,.25)}.dopyt-section .form-control::placeholder{color:rgba(255,255,255,.45)}.dopyt-section .tlacitko-priloha{background-color:rgba(20,22,24,.5)!important;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:.3s}.dopyt-section .tlacitko-priloha:hover{border-color:var(--dv-yellow);background-color:rgba(232,93,4,.2)!important}

/* SERVICES PAGES */
.service-content-card {padding:0 3rem 3rem 3rem}
.service-content-card h2{margin:0 0 2rem; font-size: clamp(1.3rem, 2vw + 1rem, 1.8rem);}
.service-content-card h3{font-size:1.3rem;margin:2rem 0 1rem}.bg-light-gray{background-color:#f4f5f7}
.sidebar-services-menu {background-color:#f4f5f7; border:1px solid #e2e8f0;padding:1rem}
.side-nav-list .side-nav-item{ border:1px solid #f4f5f7; transition:.25s ease-in-out}
.side-nav-list .side-nav-item .side-img-box{width:44px;height:44px;border-radius:4px;overflow:hidden;background-color:#f8f9fa;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.side-nav-list .side-nav-item .side-img-box img{width:100%;height:100%;object-fit:cover}
.side-nav-list .side-nav-item .title{color:#1a1d20;font-size:.95rem;line-height:1.2}
.side-nav-list .side-nav-item .subtitle{font-size:.75rem}
.side-nav-list .side-nav-item:hover{background-color:#f8f9fa;border-color:var(--dv-yellow);transform:translateX(3px)}
.side-nav-list .side-nav-item.active{background-color:#fff;border-color:var(--dv-yellow);border-left:4px solid var(--dv-yellow);box-shadow:0 4px 12px rgba(0,0,0,.05)}
.side-nav-list .side-nav-item.active .title{color:var(--dv-yellow)}
.gallery-main-box img,.gallery-sub-box img{transition:transform .3s}
.gallery-main-box:hover img,.gallery-sub-box:hover img{transform:scale(1.03)}
.custom-icon-list{list-style:none;padding-left:0;margin:1.8rem 0;display:flex;flex-direction:column;gap:10px}
.custom-icon-list li{display:flex;align-items:flex-start;font-size:1.05rem;line-height:1.6;color:#4a5056}
.custom-icon-list li .icon-check{color:var(--dv-yellow);font-size:1.1rem;margin-right:12px;margin-top:4px;flex-shrink:0}
.custom-icon-list li span{flex:1}



/* VIDEO */
video {height: 382px !important; width: 100%; object-fit: contain; /* aby sa nedeformovali */}
.video-float-right {float: right;width: 45%; margin-left: 2rem; margin-bottom: 1.5rem; }

.play-button {display:none !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; justify-content: center; align-items: center;width: 100%;height: 100%;  }
.play-button i {color: #ee4c38}
.play-button span {background-color: white; border-radius: 100%; line-height: 10px; }
.videomp4  {line-height: 0;}
.cursor {cursor: pointer;}
.ullist-container strong {display: inline-block; width:90px;}





/* MEDIA Q */

@media (max-width : 1500px) {
.navsub a.mail span {display: inline-block !important}
.container {max-width:100%;--bs-gutter-x:4rem}  
.info .box {padding-right:7rem; }
.info p {font-size: 1rem;}
.heavy-title {font-size: .8rem;}

}
@media (max-width: 1199px){
.container {max-width:100%;--bs-gutter-x:2rem}    

.logo img {width: 230px;}
.navbar-expand-lg .navbar-nav .nav-link {padding: .5rem .75rem;}
.nav-link {font-size: 1.05rem;}
.navsub .tel {display: none;}
.navsub .btn-arrow {margin-right: 15px;}
.absolute-image img {width: 600px;}
.absolute-image {align-items: center;}
.info h2 {font-size: 1.7rem;}
.info {margin:0}
#heroCarousel .col-12 { transform: scale(.9); }
.logo {width: 240px;}
}


@media (max-width: 992px) {
.nomobile {display: none;}
.mobile {display: inline}
.logo {position: absolute; left: 50%; transform: translateX(-50%); padding: 0; margin: 0; width: auto;}
.logo img {width: 130px; margin:20px 0}
.logo::before {width: 2070px; clip-path: polygon(0 0, 100% 0, 97.9% 100%, 0 100%);}
.logo::after {left:50px; transform: skewX(-33deg); width: 10px; top:-24px}

header {position: fixed; width: 100%;}
header .navbar {height: 55px;}

.mega-heavy-dropdown{position:relative!important}
.mega-heavy-panel{position:static!important;background-color:#24282d;border:none!important;box-shadow:none!important;max-height:none!important;display:none!important;opacity:1!important;visibility:visible!important; border-radius: 0 !important;}
.mega-heavy-panel.show{display:block!important}
.mega-heavy-dropdown .dropdown-toggle[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg);color:var(--dv-yellow)}
header .heavy-sub {display: none;}
.heavy-info {padding-left:0px}

#heroCarousel .carousel-item {height: 50vh;}
.z-index-custom {display: none;}
.carousel-indicators {bottom:2rem}
.carousel-bg-img {object-position: -550px center; }
.carousel-overlay {background:none;}
.carousel-divider {height: 90px;  background-size: 200% auto;}
.carousel-control-next {display: none;}
.info {padding-bottom:0}
.info .box {padding:1rem 0rem}
.info p {font-size: .9rem; line-height: 1.5rem;}
.absolute-image{position:static;display:block;width:100%;margin-top:1rem}
.absolute-image img{width:100%; position: relative; bottom:-2rem;}

.services .fs-5 {font-size: 1rem !important;}

.footer-logo      {max-height:25px; margin-bottom: 1rem;}
.footer-contacts-grid {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-item     {background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:8px 10px; width:100%;gap:8px}
.contact-address  {grid-column:span 2;justify-content:center}
.icon-box         {width:25px;height:25px;font-size:.75rem}
.contact-text     {font-size:.82rem}
.footer-copyright {font-size:.75rem}

/* gal index */
.gallery-section {margin-top: 2rem;}
.gallery-section .gallery-controls {display: none;}
.gallery-item {height: 260px;}
.item-portrait, .item-square, .item-landscape { width: calc(33.33vw - 20px); min-width: 140px; }

.offcanvas {--bs-offcanvas-bg: transparent;background: linear-gradient(0deg, rgba(53, 59, 63, 1) 0%, #404549 100%);}
.navbar-toggler {border:none; padding:9px 23px 9px 0; position: absolute; left:.8rem; z-index: 10;}
.navbar-toggler:focus {box-shadow: none !important;}
.offcanvas-header {height: 85px; padding:0; background-color: #404549; }
.offcanvas-header .btn-close {top:25px;left:.6rem; filter: invert(1); opacity: .7;}
.offcanvas-body {padding:0; display: flex; justify-content:space-between !important; flex-wrap: wrap; }
.offcanvas-body .pe-3{padding:0 !important}
.navbar-nav  {width: 100%;}
.navbar-expand-lg .navbar-nav .nav-link {padding:15px 0 15px 30px; width: 100%;}
.navbar-nav .nav-link:focus, .navbar-nav .nav-link.show, .nav-link:hover {margin:0; color: white}
header nav ul .nav-link.active {color:var(--dv-red)}
header .list-unstyled {color: white; display: flex; flex-direction: column; justify-content: flex-end; padding: 2rem 2rem 2rem 2rem !important; margin: 0; opacity: .5;}
header .list-unstyled a {color: white}
.heavy-img-box {width: 70px; min-height: auto;}
.heavy-title {font-size: .7rem; margin:0}

.navsub{position:absolute;top:50%;transform:translateY(-50%);right:15px;z-index:1000;display:flex;align-items:center;gap:5px}.navsub .tel.ico{display:flex!important;align-items:center;justify-content:center;font-size:0;margin-right:0;padding:10px 0 10px 10px;color:var(--dv-yellow)}.navsub .tel.ico i{font-size:18px}.navsub .tel:hover{opacity:1}.navsub .btn-arrow,.navsub .btn-yellow{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;color:var(--dv-yellow)}.navsub .btn-arrow::before,.navsub .btn-arrow:hover::before{display:none;background-color:transparent}.navsub .btn-arrow:focus,.navsub .btn-arrow:hover{color:var(--dv-yellow)!important;opacity:1;background-color:transparent!important}.navsub .btn-yellow span{font-size:0;display:flex;align-items:center}.navsub .btn-yellow i{font-size:18px;margin:0!important;color:var(--dv-yellow)}
.contact-section{padding:50px 0 25px 0}.contact-header{margin:50px 0 30px}.contact-badge{font-size:.75rem;letter-spacing:1.5px}.contact-title{font-size:1.6rem;margin-bottom:10px}.contact-title::after{width:35px;height:2px;margin:8px auto 0}.contact-subtitle{font-size:.9rem;line-height:1.5}.icon-box{width:36px;height:36px;font-size:.95rem}.contact-card{padding:16px 18px;gap:12px}.contact-card-label{font-size:.7rem}
.contact-card-value{font-size:1.25rem}
.contact-card-desc{display: none;}.contact-form-wrapper,.contact-info-panel{padding:25px 25px}.contact-info-block{gap:12px;margin-bottom:16px}
.contact-info-heading{font-size:.95rem;margin-bottom:10px}.contact-form-title{font-size:1.25rem}.contact-info-panel p{font-size:.88rem}hr{margin-top:1rem!important;margin-bottom:1rem!important}
.contact-section .icon-box {width: 30px;height: 30px; font-size: .8rem;}

.profile-page .profile-text {font-size: .9rem;}
.section-header {margin:50px 0}

.dopyt-card {padding: 2rem 1.25rem; margin-top: .95rem;}
.dopyt-header p {font-size: .85rem;}

.service-content-card {padding:3rem 2rem}
.sidebar-services-menu {display: none;}
.service-page.container {--bs-gutter-x: 0rem;         --bs-gutter-y: 0rem;}
.service-page.p-5 {padding:0 !important}
.service-page .row,
.service-page .row>*{--bs-gutter-x: 0; --bs-gutter-y: 0; margin:0 !important}
.dopyt-quick-contacts {display: none;}
.dopyt-section.p-5 {padding:2rem 1rem !important}
.dopyt-section .align-items-center {padding-top:1rem;}
.dopyt-header button {margin-top:1.5rem}
.dopyt-section .dopyt-card {padding:1rem 1rem 0 1rem}
.dopyt {background: none;}
.section-header-services {margin:0 0 30px 0}

.video-float-right {float: none; width: 100%; margin: 1rem 0 2rem 0;}
.profile-page .profile-hero-title  {margin:40px 0px;}
.references-section {padding:40px 0 25px 0}


} /* END */








/* Obal tabuľky - OSTRE HRANY (border-radius: 0) */
.tech-table-wrapper {
    background: #ffffff;
    border-radius: 0 !important; /* Hranatý obal */
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.table-tech {
    margin-bottom: 0;
    width: 100%;
    border-collapse: collapse;
}

/* Hlavička - #353B3F, biele písmo, hranaté rohy */
.table-tech thead th {
    background-color: #353B3F !important;
    color: #ffffff !important;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 16px;
    border-bottom: none;
    border-radius: 0 !important;
}

/* Bunky tabuľky */
.table-tech tbody td {
    padding: 14px 16px;
    color: #475569;
    font-size: 0.9rem;
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

.table-tech tbody tr:last-child td {
    border-bottom: none;
}

/* ========================================================= */
/* HOVER EFEKT: Práve tu sa mení pozadie celého riadka (tr)  */
/* ========================================================= */
.table-tech tbody tr:hover td {
    background-color: #f1f5f9 !important; /* Výraznejšia sivá pri prechode myšou */
    color: #0f172a !important; /* Tmavší text pre lepší kontrast */
    cursor: pointer;
}

/* Pri hoveri zvýrazníme aj názov stroja */
.table-tech tbody tr:hover .tech-title {
    color: #000000 !important;
}

.table-tech .tech-title {
    color: #0f172a;
    font-weight: 700;
}

/* Vlastné CSS Štítky - HRANATÉ (border-radius: 0) */
.tech-badge {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 700;
    border-radius: 0 !important; /* Hranatý štítok */
    text-align: center;
    line-height: 1.2;
}

.tech-badge-count {
    background-color: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.tech-badge-tech {
    background-color: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}

.tech-badge-info {
    background-color: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* CTA Blok - HRANATÝ (border-radius: 0) */
.cta-box-custom {
   
    border-radius: 0 !important; /* Hranatý box */
    padding: 40px 20px;
}

.cta-box-custom .ref-cta-title {
    font-size: 1.5rem;
    font-weight: 700;
}

.cta-box-custom .ref-cta-text {
    font-size: 0.95rem;
}

@media (max-width: 767.98px) {

    .tech-table-wrapper{background:0 0;border-radius:0!important;border:none!important;box-shadow:none!important;overflow:hidden}
    .mb-5>h3,.section-header {text-align:center!important}
    .table-tech tbody td:first-child::before,.table-tech thead {display:none}
    .table-tech,.table-tech tbody,.table-tech td,.table-tech tr {display:block;width:100%}
    .table-tech tr{margin-bottom:16px;border:1px solid #e2e8f0;background-color:#fff;padding:0}
    .table-tech tbody td:first-child{background-color:#353b3f;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:1rem}
    .table-tech .tech-title{color:#fff}
    .table-tech tbody td:last-child{border-bottom:none}
    .table-tech tbody td:not(:first-child){display:block;display:flex!important;justify-content:space-between;align-items:center;text-align:left!important;padding:8px 16px!important;border-bottom:1px solid #f1f5f9!important}
    .table-tech tbody td:not(:first-child)::before{content:attr(data-label);text-transform:uppercase;content:attr(data-label);display:inline-block;font-weight:700;text-transform:uppercase;font-size:.75rem;color:#64748b;margin-bottom:0;padding-right:15px;flex-shrink:0}
    .table-tech tbody td[data-label="Kategória"],.table-tech tbody td[data-label="Príslušenstvo"],.table-tech tbody td[data-label="Výbava"],.table-tech tbody td[data-label="Špecifikácia"],.table-tech tbody td[data-label="Prenájom"]{flex-direction:column;align-items:flex-start;gap:4px}
    .table-tech tbody td .tech-badge{display:inline-flex;align-items:center;justify-content:center;margin:0;font-size:.8rem}
    .table-tech tbody tr:hover td {
        background-color: #cbd5e17c !important; 
    }
    
  
}