
/* ==============================
   DESKTOP SMALL / TABLET LANDSCAPE (≤1199px)
   ============================== */

@media only screen and (max-width: 1199px) {
    /* === ALT-SERVICES - NAŠE SLUŽBY === */
    /* iPad je skrytý, služby zabírají celou šířku */
    #alt-services .alt-left-col {
        width: 100%;
    }
}

@charset "utf-8";
/*------------------------------------------------------------------
[Responsive Stylesheet]Version:    1.5.9
Last change:    11.09.2018
Primary use:    MultiPurpose One Page Template  
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[Table of contents]

1. Small desktop
2. Tablet landskape
3. Tablet Portrait
4. Phone
5. Small Phone
6. Max Height 768
-------------------------------------------------------------------*/


/* ==============================
   Small desktop
   ============================== */

@media only screen and (max-width: 1366px) {


    .inner-nav ul li {
        margin-left: 25px;
    }

}

@media only screen and (max-width: 1200px) {

    .hs-wrap {
        max-width: 540px;
    }

    .hs-line-2 {
        font-size: 68px;
    }

    .hs-line-13 {
        font-size: 78px;
        letter-spacing: 0.195em;
    }

    .contact-text {
        padding: 0 30px;
    }

    .alt-service-grid {
        margin-top: -40px;
    }

    .alt-service-item {
        margin-top: 40px;
        padding-left: 48px;
    }

    .alt-services-title {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .alt-services-image {
        margin-top: 10px;
    }

}


/* ==============================
   Tablet landskape
   ============================== */

@media only screen and (max-width: 1024px) {

    .hs-wrap {
        max-width: 480px;
        padding-top: 37px;
        padding-bottom: 43px;
    }

    .hs-line-2 {
        font-size: 60px;
    }

    .hs-line-8 {
        font-size: 20px;
    }

    .hs-line-9 {
        font-size: 71px;
    }

    .hs-line-10 {
        padding: 10px 14px;
        letter-spacing: 1px;
    }

    .hs-line-10>span {
        margin: 0 1px;
    }

    .hs-line-11 {
        font-size: 24px;
        letter-spacing: 4px;
    }

    .hs-line-12 {
        font-size: 70px;
        letter-spacing: 0.3em;
    }

    .benefit-item {
        width: 300px;
        padding: 15px 32px;
    }

    .split-section-headings {
        width: 30%;
    }

    .split-section-content {
        width: 70%;
    }

    .split-section-headings .section-title {
        font-size: 26px;
        letter-spacing: 2px;
    }

    .service-descr .service-title {
        margin-bottom: 20px;
    }

    .page-section {
        padding: 120px 0;

    }

    .page-section,
    .home-section {
        background-attachment: scroll;
    }

    .owl-pagination {
        bottom: 25px;
    }

    .section-bot-image {
        margin: 120px 0 -120px;
    }

    #portfolio+.small-section {
        margin-top: -90px;
    }

    #news+.small-section {
        margin-top: -120px;
    }

    .work-title,
    .work-descr {
        font-size: 13px;
    }

    .lp-item {
        width: 50%;
    }

    .lp-item:nth-child(4n + 5) {
        clear: none;
    }

    .lp-item:nth-child(2n + 3) {
        clear: left;
    }

    .lp-title,
    .lp-author {
        font-size: 13px;
    }

}

@media only screen and (max-width: 992px) {

    .hs-line-13 {
        letter-spacing: 0.17em;
    }

    .split-section-headings,
    .split-section-headings.left,
    .split-section-headings.right,
    .split-section-content,
    .split-section-content.left,
    .split-section-content.right {
        float: none !important;
        width: auto;
    }

    .split-section-headings .section-title {
        font-size: 35px;
        letter-spacing: 5px;
    }

    .banner-text {
        text-align: center;
    }

    .banner-button {
        margin-top: 40px;
        text-align: center;
    }

    .team-item {
        width: 230px;
    }

    .team-item-descr {
        margin-left: 13px;
        margin-right: 13px;
        padding: 10px 7px;
    }

    .team-item-name {
        font-size: 13px;
    }

    .features-icon {
        font-size: 64px;
    }

    .features-title {
        font-size: 20px;
        font-weight: 700;
    }

    .features-descr {
        font-size: 14px;
    }

    .work-item,
    .work-grid-3 .work-item,
    .container .work-grid-3 .work-item {
        width: 50%;
    }

    .form input.newsletter-field {
        text-align: center;
        margin-top: 40px;
    }

    .form input.newsletter-field::-webkit-input-placeholder {
        color: #000;
        text-align: center;
    }


    .contact-item {
        text-align: center;
        padding-right: 0 !important;
    }

    .ci-icon {
        margin: 0 auto 7px;
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
        border-left: none;
    }

    .blog-item-date {
        border: none;
    }


}


/* ==============================
   Tablet Portrait
   ============================== */

@media only screen and (max-width: 768px) {

    .hs-wrap {
        max-width: 400px;
    }

    .hs-line-2 {
        font-size: 50px;
    }

    .hs-line-7 {
        font-size: 50px;
    }

    .page-section {
        padding: 70px 0;
    }

    .small-section {
        padding: 50px 0;
    }

    .small-title {
        font-size: 18px;
    }

    .owl-pagination {
        bottom: 17px;
    }

    .item-carousel .owl-pagination {
        bottom: -53px;
    }

    .section-bot-image {
        margin: 70px 0 -70px;
    }

    .service-item {
        width: 50%;
    }

    #portfolio+.small-section {
        margin-top: -40px;
    }

    #news+.small-section {
        margin-top: -70px;
    }

    .tpl-minimal-tabs>li {
        padding: 0 5px;
    }


    .benefit-item {
        width: 264px;
    }

    .count-descr {
        margin-bottom: 30px;
    }

    .alt-service-grid {
        margin-top: -30px;
    }

    .alt-service-item {
        margin-top: 30px;
    }

    .alt-service-butt {
        display: none;
    }

    .works-filter a {
        padding-left: 10px;
        padding-right: 10px;
        margin: 4px;
    }

    .blog-item {
        margin-bottom: 50px;
    }

    .blog-item-date {
        top: 0;
        left: -100px;
    }

    .blog-item-title {
        font-size: 20px;
    }

    .blog-item-title .small {
        font-size: 15px;
    }

    .blog-item-body {
        font-size: 14px;
    }

    .blog-media {
        margin-bottom: 15px;
    }

    .blog-item-body .small {
        font-size: 13px;
    }


    #map-canvas iframe {
        height: 300px;
    }



}

@media only screen and (max-width: 767px) {

    .hs-wrap {
        max-width: 320px;
        padding-top: 27px;
        padding-bottom: 33px;
    }

    .hs-line-1 {
        font-size: 18px;
    }

    .hs-line-2 {
        font-size: 36px;
    }

    .hs-line-3 {
        font-size: 13px;
    }

    .hs-image {
        display: none;
    }

    .hs-wrap-1 {
        max-width: 240px;
    }

    .hs-line-5 {
        font-size: 44px;
        letter-spacing: 0.28em;
    }

    .hs-line-6 {
        font-size: 16px;
    }

    .hs-line-7 {
        font-size: 32px;
    }

    .hs-line-8 {
        font-size: 16px;
    }

    .hs-line-9 {
        font-size: 48px;
    }

    .hs-line-10 {
        padding: 5px 8px;
        font-size: 11px;
        letter-spacing: 1px;
    }

    .hs-line-10>span {
        margin: 0;
    }

    .hs-line-11 {
        font-size: 18px;
        letter-spacing: 2px;
    }

    .hs-line-12 {
        font-size: 44px;
    }

    .hs-line-13 {
        font-size: 60px;
        letter-spacing: 0.1em;
    }

    .nbc-logo-wrap {
        min-width: 125px;
    }

    .nbc-logo-wrap,
    .nbc-menu-button {
        height: 50px;
    }

    .nbc-menu-button {
        width: 64px;
    }

    .service-item {
        width: 100%;
        float: none;
    }

    .benefit-item {
        width: 230px;
        padding: 0;
    }

    .benefit-item:hover:after {
        display: none;
    }

    .wide-heading {
        font-size: 32px;
        letter-spacing: 2px;
    }

    .works-filter a {
        padding-left: 10px;
        padding-right: 10px;
        margin: 4px;
        width: 46%;
        font-size: 11px;
    }

    .blog-item-date {
        width: auto;
        position: relative;
        top: auto;
        left: auto;
        padding: 0;
        text-align: left;
    }

    .date-num {
        display: inline !important;
        margin: 0 5px 10px 0;
    }

    .sidebar {
        margin-top: 50px;
    }

    blockquote p {
        font-size: 16px;
    }

    blockquote footer {
        margin-top: 0;
        font-size: 12px;
    }

}


/* ==============================
   Phone
   ============================== */

@media only screen and (max-width: 480px) {

    .btn-mod.btn-large {
        padding: 12px 30px 11px;
        font-size: 13px;
    }

    .hs-line-2 {
        font-size: 28px;
    }

    .hs-line-6 {
        font-size: 15px;
    }

    .hs-line-7 {
        font-size: 28px;
    }

    .hs-line-9 {
        font-size: 42px;
    }

    .hs-line-12 {
        font-size: 32px;
    }

    .hs-line-13 {
        font-size: 30px;
        letter-spacing: 0.1em;
    }

    .scroll-down {
        bottom: 10px;
        height: 34px;
        line-height: 34px;
    }

    .scroll-down-icon {
        width: 22px;
        margin-left: -11px;
    }

    .scroll-down span {
        display: none;
    }

    .nav-bar-compact {
        top: 0;
        left: 0;
    }

    .nbc-menu-icon {
        width: 20px;
        margin-left: -10px;
        margin-top: -1px;
        height: 2px;
    }

    .nbc-menu-icon:before {
        height: 2px;
        top: -5px;
    }

    .nbc-menu-icon:after {
        height: 2px;
        top: 5px;
    }

    .nbc-menu-links a {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .page-section {
        padding: 50px 0;
    }

    .small-section {
        padding: 30px 0;
    }

    .owl-pagination {
        bottom: 10px;
    }

    .owl-page {
        padding-left: 1px;
        padding-right: 1px;
    }

    .owl-page span {
        width: 18px;
    }

    .item-carousel .owl-pagination {
        bottom: -40px;
    }

    .owl-prev,
    .owl-next {
        display: none;
    }

    .section-bot-image {
        margin: 50px 0 -50px;
    }

    #portfolio+.small-section {
        margin-top: -20px;
    }

    #news+.small-section {
        margin-top: -50px;
    }

    .section-title,
    .split-section-headings .section-title,
    .wide-heading {
        font-size: 24px;
        letter-spacing: 2px;
    }

    .section-heading,
    .sub-heading {
        font-size: 15px;
    }

    .section-text {
        font-size: 15px;
        line-height: 1.7;
    }

    .tpl-minimal-tabs>li {
        padding: 0;
    }

    .tpl-minimal-tabs>li>a {
        padding: 6px 10px 5px;
    }

    .work-container {
        padding: 30px 0;
    }

    .margin-bot {
        margin-bottom: 30px;
    }

    .section-text,
    .text {
        line-height: 1.7;
    }

    .count-number {
        font-size: 32px;
    }

    .count-title {
        font-size: 12px;
    }

    .team-item {
        width: 250px;
    }

    .works-filter a {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    .work-item,
    .work-grid-3 .work-item,
    .container .work-grid-3 .work-item {
        width: 100%;
    }

    .work-title {
        font-weight: 400;
    }

    .work-full-text {
        margin-top: 30px;
    }

    .work-full-title {
        font-size: 20px;
    }

    .blog-container {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .blog-item-title {
        font-size: 16px;
    }

    .blog-item-q p {
        font-size: 16px;
    }

    .comment-avatar {
        width: 30px;
        margin-top: 7px;
    }

    .comment-item {
        font-size: 13px;
    }

    .separ-space {
        display: block;
        height: 10px;
    }

    .lp-item {
        width: 100%;
    }

    .form input.newsletter-field {
        font-size: 16px;
        margin-top: 5px;
    }

    .cf-left-col,
    .cf-right-col {
        width: auto;
        margin-right: 0;
        float: none;
    }

    .bot-menu-item {
        font-size: 16px;
    }

    #map-canvas iframe {
        height: 200px;
    }

    .fixed-height-small {
        min-height: 300px;
    }

    .fixed-height-medium {
        min-height: 350px;
    }

    .fixed-height-large {
        min-height: 400px;
    }
}


/* ==============================
   Small Phone
   ============================== */

@media only screen and (max-width: 319px) {

    .nav-social-links {
        display: none;
    }
}


/* ==============================
   Max Height 768
   ============================== */

@media only screen and (max-height: 768px) {

    .service-descr .service-icon,
    .service-descr .service-title {
        display: none;
    }

    .nbc-menu-links a {
        padding-top: 5px;
        padding-bottom: 5px;
    }

}


/* ==============================
   IOS Background Fix
   ============================== */

.mobile .page-section,
.mobile .home-section,
.mobile .small-section {
    background-attachment: scroll;
}

/*
 * iPad Pro
 */

@media only screen and (min-width: 1024px) and (max-height: 1366px) and (-webkit-min-device-pixel-ratio: 1.5) {

    html:not(.no-touch) .page-section,
    html:not(.no-touch) .home-section,
    html:not(.no-touch) .small-section {
        background-attachment: scroll;
    }
}

/* ==========================================================================
   AG RESPONSIVE FIXES (2026-02-18)
   Kompletní responsive optimalizace pro menší monitory, tablety a telefony
   ========================================================================== */


/* ==============================
   SMALL DESKTOP (≤1200px)
   ============================== */

@media only screen and (max-width: 1200px) {

    /* Navigace - jemné zmenšení pro 9 položek */
    .inner-nav ul li {
        margin-left: 12px;
    }

    .inner-nav ul li a {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}


/* ==============================
   TABLET LANDSCAPE (≤1024px)
   ============================== */

@media only screen and (max-width: 1024px) {

    /* Video section - menší padding */
    #video {
        padding: 160px 0 !important;
    }

    /* Benefit items - menší */
    .benefit-item {
        width: 240px;
        padding: 12px 24px;
    }

    /* Logo marquee - menší gap */
    .logo-marquee-track {
        gap: 40px;
    }

    .logo-item {
        height: 90px;
        min-width: 120px;
    }

    .logo-item img {
        max-height: 55px;
    }
}


/* ==============================
   TABLET (≤991px)
   ============================== */

@media only screen and (max-width: 991px) {

    /* === HERO SEKCE === */
    /* Pozadí hero sekce - Default (Home) Gradient z #large-header-home */
    .home-section {
        background:
            radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),
            linear-gradient(#224256 0%, #224256 63%, #224155 83%, #224256 100%) !important;
        height: 100vh !important;
        min-height: 100vh !important;
        position: relative !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Dopravní stavby Gradient */
    #large-header-dopravni-stavby+.home-section {
        background:
            radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),
            linear-gradient(#233125 0%, #233125 63%, #233024 83%, #233125 100%) !important;
    }

    /* Developeři Gradient */
    #large-header-developeri+.home-section {
        background:
            radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),
            linear-gradient(#23353b 0%, #23353b 63%, #24343b 83%, #23353b 100%) !important;
    }

    /* Produktové rendery Gradient */
    #large-header-produktove-rendery+.home-section {
        background:
            radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),
            linear-gradient(#4e3b48 0%, #4e3b48 63%, #4e3a48 83%, #4e3b48 100%) !important;
    }

    /* Hero bg videa/obrázky - 80% šířka, vycentrované (jako na Desktopu) */
    .hero-bg-image-home,
    .hero-bg-image-dopravni-stavby,
    .hero-bg-image-developeri,
    .hero-bg-image-produktove-rendery {
        width: 80% !important;
        height: auto !important;
        object-fit: contain !important;

        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;

        transform: translate(-50%, -50%) !important;
        /* Enable centering transform */
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
        max-height: none !important;
        display: block !important;
        z-index: 0 !important;
    }

    /* Hero particles - menší výška, ale musí být vidět */
    #hero-particles {
        height: 50vh !important;
        /* Zvětšeno pro lepší efekt */
        z-index: 1 !important;
        pointer-events: none;
    }

    /* === O NÁS - ZÁLOŽKY 2x2 GRID === */
    .tpl-minimal-tabs {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 500px;
        margin: 0 auto;
        padding: 0 !important;
        list-style: none !important;
        gap: 0 !important;
        /* Zrušit gap, použijeme padding */
    }

    .tpl-minimal-tabs>li {
        width: 50% !important;
        display: block !important;
        float: none !important;
        flex: 0 0 50% !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        padding: 5px !important;
        /* Mezera mezi boxy */
    }

    .tpl-minimal-tabs>li>a {
        display: block !important;
        text-align: center;
        white-space: nowrap;
        width: 100% !important;
        height: 100%;
        /* Aby byla tlačítka stejně vysoká */
        margin: 0 !important;
    }

    /* === VIDEO SECTION === */
    #video {
        padding: 120px 0 !important;
    }

    .wide-heading {
        font-size: 26px;
        letter-spacing: 1px;
    }

    .big-icon {
        width: 70px;
        height: 70px;
        line-height: 70px;
    }

    .big-icon i {
        font-size: 24px;
    }


    #alt-services .alt-service-wrap {
        margin-bottom: 20px;
    }

    /* Šablona používá position:absolute na ikonu + padding-left na itemu.
       Zachováme tento pattern, jen zvětšíme padding pro větší ikony. */
    #alt-services .alt-service-item {
        padding-left: 70px !important;
        text-align: left !important;
    }

    #alt-services .alt-service-icon {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 55px !important;
        height: 55px !important;
    }

    #alt-services .alt-service-icon img {
        width: 55px;
        height: auto;
    }

    #alt-services .alt-services-title {
        text-align: left;
        margin-bottom: 5px;
    }

    /* Alt-service button */
    .alt-service-butt {
        display: block !important;
        text-align: left;
        margin-top: 8px;
        padding-left: 70px;
    }

    /* === BANNER CTA === */
    .banner-text,
    .banner-button {
        text-align: center;
        width: 100%;
        float: none;
    }

    .banner-button {
        margin-top: 25px;
    }

    /* === CONTACT === */
    .contact-item {
        text-align: center;
        margin-bottom: 25px;
    }

    /* === LOGO MARQUEE === */
    .logo-marquee-track {
        gap: 30px;
    }

    .logo-item {
        height: 80px;
        min-width: 100px;
    }

    .logo-item img {
        max-height: 45px;
    }

    .logo-tooltip {
        font-size: 9px;
    }

    /* === BENEFIT ITEMS === */
    .benefits-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px;
    }

    .benefit-item {
        width: 220px;
        padding: 10px 20px;
    }

    /* === GALLERY POPUP === */
    .gallery-popup-container {
        padding: 15px;
    }

    .gallery-popup-thumb {
        max-width: 100%;
        height: auto;
    }
}


/* ==============================
   TABLET PORTRAIT (≤768px)
   ============================== */

@media only screen and (max-width: 768px) {


    #siteHeader:not(.header-solid) .logo-hero {
        height: 35px !important;
    }

    /* Hero particles */
    #hero-particles {
        height: 30vh !important;
    }

    /* Video section */
    #video {
        padding: 100px 0 !important;
    }

    .wide-heading {
        font-size: 22px;
    }

    .big-icon {
        width: 60px;
        height: 60px;
        line-height: 60px;
    }

    .big-icon i {
        font-size: 20px;
    }

    /* Section paddings - menší na tabletu */
    .page-section {
        padding: 60px 0;
    }

    /* About section */
    .section-title {
        font-size: 28px;
    }

    .section-heading {
        font-size: 15px;
    }

    .section-text {
        font-size: 15px;
    }

    .section-text h3 {
        font-size: 20px;
    }

    /* Benefit items - 2 per row */
    .benefit-item {
        width: 200px;
        padding: 8px 15px;
    }

    .benefit-icon span {
        font-size: 32px;
    }

    .benefit-title {
        font-size: 14px;
    }

    .benefits-descr {
        font-size: 12px;
    }

    /* Banner CTA */
    .banner-heading {
        font-size: 22px;
    }

    .banner-decription {
        font-size: 14px;
    }

    .btn-mod.btn-w.btn-large,
    .btn-mod.btn-large {
        padding: 12px 24px;
        font-size: 13px;
    }

    /* Contact - form columns full width */
    .cf-left-col,
    .cf-right-col {
        width: 100%;
        margin-right: 0;
        float: none;
    }

    .cf-right-col {
        margin-top: 15px;
    }

    /* Subpage layouts - text + media sections */
    .col-md-2.mb-sm-40,
    .col-md-3.mb-sm-40 {
        margin-bottom: 25px;
    }

    /* Footer - menší */
    footer.footer,
    footer.footer.bg-dark {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
}


/* ==============================
   TABLET PORTRAIT / PHONE (≤767px)
   ============================== */

@media only screen and (max-width: 767px) {

    /* Hero background images */
    .hero-bg-image-home,
    .hero-bg-image-dopravni-stavby,
    .hero-bg-image-developeri,
    .hero-bg-image-produktove-rendery {
        width: 100% !important;
        height: auto !important;
        min-height: 100%;
        object-fit: cover;
    }

    /* Tabs - single column on small phones */
    .tpl-minimal-tabs {
        max-width: 300px;
    }

    .tpl-minimal-tabs>li {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .tpl-minimal-tabs>li>a {
        padding: 10px 15px 9px !important;
        font-size: 13px;
    }

    /* Benefit items - single column */
    .benefits-grid {
        flex-direction: column;
        align-items: center;
    }

    .benefits-grid .benefit-item {
        width: 100% !important;
        max-width: 300px;
        margin: 0 auto 30px;
        float: none !important;
        display: block;
    }

    .benefits-grid .benefit-item:last-child {
        margin-bottom: 0;
    }

    /* Section title sizing */
    .section-title {
        font-size: 24px;
        letter-spacing: 2px;
    }

    .section-text h3 {
        font-size: 18px;
    }

    /* Alt-services mobile tweaks */
    #alt-services .alt-service-item {
        padding: 15px;
        text-align: center;
    }

    #alt-services .alt-service-icon img {
        width: 40px;
        height: auto;
    }

    #alt-services .alt-services-title {
        font-size: 15px;
        margin-bottom: 8px;
    }

    /* Logo marquee mobile */
    .logo-marquee-track {
        gap: 25px;
    }

    .logo-item {
        height: 65px;
        min-width: 80px;
    }

    .logo-item img {
        max-height: 35px;
    }

    /* Skrýt tooltip na mobilech */
    .logo-tooltip {
        display: none;
    }

    /* Hover efekty - vypnout na touch zařízeních */
    .logo-item:hover {
        transform: none;
    }

    /* Banner CTA */
    .banner-heading {
        font-size: 20px;
    }

    .banner-decription {
        font-size: 13px;
    }

    /* Contact items - centrování */
    .contact-item {
        text-align: center;
        padding-right: 0;
        margin-bottom: 20px;
    }

    .ci-icon {
        margin: 0 auto 7px;
        position: relative;
        top: 0;
        left: 0;
    }

    /* Subpage sections - reorder for mobile */
    .col-md-2,
    .col-md-3 {
        margin-bottom: 20px;
    }

    /* Video containers in subpages */
    .video-container {
        margin-bottom: 20px;
    }

    .video-container iframe {
        min-height: 200px;
    }
}


/* ==============================
   PHONE (≤480px)
   ============================== */

@media only screen and (max-width: 480px) {

    /* Hero particles */
    #hero-particles {
        height: 25vh !important;
    }

    /* Scroll down */
    .scroll-down {
        bottom: 10px;
    }

    .scroll-down span {
        display: none;
    }

    /* Video section */
    #video {
        padding: 70px 0 !important;
    }

    .wide-heading {
        font-size: 18px;
        letter-spacing: 1px;
    }

    .big-icon {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

    .big-icon i {
        font-size: 18px;
    }

    /* Section padding */
    .page-section {
        padding: 40px 0;
    }

    .small-section {
        padding: 25px 0;
    }

    /* Section titles */
    .section-title {
        font-size: 20px;
        letter-spacing: 1px;
    }

    .section-heading {
        font-size: 13px;
    }

    .section-text {
        font-size: 14px;
        line-height: 1.6;
    }

    .section-text h3 {
        font-size: 16px;
    }

    /* Tabs - kompaktní */
    .tpl-minimal-tabs>li>a {
        padding: 8px 12px 7px !important;
        font-size: 12px;
    }

    /* Benefit items */
    .benefits-grid .benefit-item {
        max-width: 260px;
        margin-bottom: 25px;
    }

    .benefit-number {
        font-size: 40px;
    }

    /* Alt services */
    #alt-services .alt-service-item {
        padding: 10px;
        font-size: 13px;
    }

    #alt-services .alt-service-icon img {
        width: 32px;
    }

    #alt-services .alt-services-title {
        font-size: 14px;
    }

    /* Banner CTA */
    .banner-heading {
        font-size: 18px;
    }

    .banner-decription {
        font-size: 12px;
    }

    .btn-mod.btn-w.btn-large,
    .btn-mod.btn-large {
        padding: 10px 20px;
        font-size: 12px;
    }

    .btn-mod.btn-medium {
        padding: 8px 16px;
        font-size: 12px;
    }

    /* Contact */
    .ci-title {
        font-size: 14px;
    }

    .ci-text,
    .ci-phone {
        font-size: 13px;
    }

    /* Logo marquee */
    .logo-marquee-track {
        gap: 20px;
    }

    .logo-item {
        height: 50px;
        min-width: 70px;
    }

    .logo-item img {
        max-height: 28px;
    }

    /* Footer */
    footer.footer,
    footer.footer.bg-dark {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    .footer-copy {
        font-size: 12px;
    }

    /* Subpage video containers */
    .video-container iframe {
        min-height: 180px;
    }

    /* Gallery popup */
    .gallery-popup-container {
        padding: 10px;
    }

    .gallery-popup-container .col-sm-4 {
        width: 50%;
        padding: 5px;
    }

    .gallery-popup-container h3 {
        font-size: 18px;
        margin-bottom: 15px;
    }
}


/* ==============================
   SMALL PHONE (≤375px)
   ============================== */

@media only screen and (max-width: 375px) {

    /* Header */
    #siteHeader:not(.header-solid) .logo-hero {
        height: 28px !important;
    }

    #siteHeader.header-solid .logo-scroll {
        height: 28px !important;
    }

    /* Section titles */
    .section-title {
        font-size: 18px;
        letter-spacing: 1px;
    }

    .section-heading {
        font-size: 12px;
    }

    .section-text h3 {
        font-size: 15px;
    }

    /* Video section */
    #video {
        padding: 50px 0 !important;
    }

    .wide-heading {
        font-size: 16px;
    }

    /* Tabs - ještě kompaktnější */
    .tpl-minimal-tabs>li>a {
        padding: 7px 10px 6px !important;
        font-size: 11px;
    }

    /* Benefit items */
    .benefits-grid .benefit-item {
        max-width: 240px;
    }

    /* Banner */
    .banner-heading {
        font-size: 16px;
    }

    /* Buttons */
    .btn-mod.btn-w.btn-large,
    .btn-mod.btn-large {
        padding: 8px 16px;
        font-size: 11px;
    }

    /* Contact */
    .ci-field,
    .ci-area {
        font-size: 14px;
    }

    /* Logo marquee */
    .logo-item {
        height: 40px;
        min-width: 60px;
    }

    .logo-item img {
        max-height: 22px;
    }

    /* Gallery popup - single column */
    .gallery-popup-container .col-sm-4 {
        width: 100%;
    }
}


/* ==============================
   Hamburger Menu Integration (Template Style)
   ============================== */

/* Default: Desktop (Main Nav Visible, Compact Nav Hidden) */
.nav-bar-compact {
    display: none !important;
}

.main-nav {
    display: block !important;
}

/* Mobile/Tablet (< 1610px): Switch to Compact Nav */
/* Mobile/Tablet (< 1610px): Switch to Compact Nav */
@media only screen and (max-width: 1610px) {

    /* Show Compact Nav */
    .nav-bar-compact {
        display: block !important;
    }

    /* Hide Main Nav (Class and ID for specificity) */
    .main-nav,
    #siteHeader {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Adjustments for Compact Menu items */
    .nbc-menu-wrap {
        top: 80px;
    }

    /* Ensure styles from template are active */
    .nbc-menu-button {
        display: block;
    }

    /* Color corrections for links */
    .nbc-menu-links a {
        color: #333;
    }

    .nbc-menu-links a:hover {
        color: #e41919;
    }

    .nbc-menu-button {
        z-index: 1001;
    }
}