/* BATES Laravel 0.15.9 – úplné odstránenie rolloveru loga a menšie vertikálne odsadenie hlavičky */

/*
 * Úplný reset odkazu loga. Staršie štýly môžu meniť nielen transformáciu,
 * ale aj pozadie, tieň, priehľadnosť, filter alebo pseudo-elementy.
 */
.site-header-centered .brand-logo-centered,
.site-header-centered .brand-logo-mobile,
.site-header-centered .brand-logo-centered:link,
.site-header-centered .brand-logo-mobile:link,
.site-header-centered .brand-logo-centered:visited,
.site-header-centered .brand-logo-mobile:visited,
.site-header-centered .brand-logo-centered:hover,
.site-header-centered .brand-logo-mobile:hover,
.site-header-centered .brand-logo-centered:focus,
.site-header-centered .brand-logo-mobile:focus,
.site-header-centered .brand-logo-centered:active,
.site-header-centered .brand-logo-mobile:active {
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    text-decoration: none !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    scale: 1 !important;
    rotate: 0deg !important;
    -webkit-tap-highlight-color: transparent;
}

.site-header-centered .brand-logo-centered::before,
.site-header-centered .brand-logo-centered::after,
.site-header-centered .brand-logo-mobile::before,
.site-header-centered .brand-logo-mobile::after {
    content: none !important;
    display: none !important;
}

.site-header-centered .brand-logo-centered img,
.site-header-centered .brand-logo-mobile img,
.site-header-centered .brand-logo-centered:hover img,
.site-header-centered .brand-logo-mobile:hover img,
.site-header-centered .brand-logo-centered:focus img,
.site-header-centered .brand-logo-mobile:focus img,
.site-header-centered .brand-logo-centered:active img,
.site-header-centered .brand-logo-mobile:active img {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    scale: 1 !important;
    rotate: 0deg !important;
    transform-origin: center center !important;
    mix-blend-mode: normal !important;
}

@media (min-width: 901px) {
    .site-header-centered .header-inner-centered {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        min-height: 44px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        align-items: center;
        position: relative;
    }

    .site-header-centered .main-nav-centered {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        width: 100%;
        min-width: 0;
        align-items: center;
        gap: clamp(34px, 4vw, 68px);
        font-weight: 650;
    }

    .site-header-centered .nav-side {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: clamp(16px, 1.55vw, 27px);
    }

    .site-header-centered .nav-side-left {
        justify-content: flex-end;
    }

    .site-header-centered .nav-side-right {
        justify-content: flex-start;
    }

    .site-header-centered .brand-logo-centered,
    .site-header-centered .brand-logo-centered:hover,
    .site-header-centered .brand-logo-centered:focus,
    .site-header-centered .brand-logo-centered:active {
        display: inline-flex;
        width: clamp(118px, 10vw, 138px);
        align-items: center;
        justify-content: center;
        justify-self: center;
        flex: 0 0 auto;
        transform: none !important;
    }

    .site-header-centered .brand-logo-centered img,
    .site-header-centered .brand-logo-centered:hover img,
    .site-header-centered .brand-logo-centered:focus img,
    .site-header-centered .brand-logo-centered:active img {
        display: block;
        width: 100%;
        max-height: 41px;
        height: auto;
        object-fit: contain;
        transform: none !important;
    }

    .site-header-centered .brand-logo-mobile,
    .site-header-centered .nav-toggle {
        display: none;
    }

    .site-header-centered .nav-side > a:not(.button),
    .site-header-centered .nav-side .nav-services > a {
        position: relative;
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        padding: 0;
        color: var(--dark, #13203c);
        font-weight: 750;
        line-height: 1.2;
        white-space: nowrap;
    }

    .site-header-centered .nav-side > a:not(.button)::after,
    .site-header-centered .nav-side .nav-services > a::after {
        content: "";
        position: absolute;
        right: 100%;
        bottom: 6px;
        left: 0;
        height: 2px;
        border-radius: 99px;
        background: var(--danger, #d71920);
        transition: right .2s ease;
    }

    .site-header-centered .nav-side > a:hover:not(.button),
    .site-header-centered .nav-side .nav-services > a:hover {
        color: var(--primary, #3157a7);
    }

    .site-header-centered .nav-side > a:hover:not(.button)::after,
    .site-header-centered .nav-side .nav-services:hover > a::after,
    .site-header-centered .nav-side .nav-services:focus-within > a::after {
        right: 0;
    }

    .site-header-centered .nav-services {
        position: static;
    }

    .site-header-centered .zone-access-button {
        display: inline-flex;
        min-height: 32px;
        align-items: center;
        justify-content: center;
        padding: 5px 13px;
        white-space: nowrap;
    }
}

/* Tablet landscape – rovnaká symetria, nižšia výška. */
@media (min-width: 901px) and (max-width: 1180px) {
    .site-header-centered .header-inner-centered {
        min-height: 38px;
        width: min(calc(100% - 28px), 1200px);
    }

    .site-header-centered .main-nav-centered {
        gap: clamp(16px, 2vw, 27px);
        font-size: 12.5px;
    }

    .site-header-centered .nav-side {
        gap: clamp(9px, 1.1vw, 15px);
    }

    .site-header-centered .brand-logo-centered,
    .site-header-centered .brand-logo-centered:hover,
    .site-header-centered .brand-logo-centered:focus,
    .site-header-centered .brand-logo-centered:active {
        width: clamp(106px, 12vw, 120px);
    }

    .site-header-centered .brand-logo-centered img,
    .site-header-centered .brand-logo-centered:hover img,
    .site-header-centered .brand-logo-centered:focus img,
    .site-header-centered .brand-logo-centered:active img {
        max-height: 36px;
    }

    .site-header-centered .nav-side > a:not(.button),
    .site-header-centered .nav-side .nav-services > a {
        min-height: 38px;
    }

    .site-header-centered .nav-side > a:not(.button)::after,
    .site-header-centered .nav-side .nav-services > a::after {
        bottom: 4px;
    }

    .site-header-centered .zone-access-button {
        min-height: 30px;
        padding: 4px 10px;
        font-size: 11.75px;
    }
}

/* Tablet portrait a mobil – logo vľavo, hamburger vpravo. */
@media (max-width: 900px) {
    .site-header-centered .header-inner-centered {
        display: flex;
        min-height: 42px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        align-items: center;
        justify-content: flex-end;
        position: relative;
    }

    .site-header-centered .brand-logo-mobile,
    .site-header-centered .brand-logo-mobile:hover,
    .site-header-centered .brand-logo-mobile:focus,
    .site-header-centered .brand-logo-mobile:active {
        display: inline-flex;
        position: absolute;
        top: 50%;
        left: 0;
        width: min(125px, calc(100vw - 88px));
        align-items: center;
        justify-content: flex-start;
        transform: translateY(-50%) !important;
    }

    .site-header-centered .brand-logo-mobile img,
    .site-header-centered .brand-logo-mobile:hover img,
    .site-header-centered .brand-logo-mobile:focus img,
    .site-header-centered .brand-logo-mobile:active img {
        display: block;
        width: 100%;
        max-height: 38px;
        height: auto;
        object-fit: contain;
        transform: none !important;
    }

    .site-header-centered .nav-toggle {
        display: block;
        width: 40px;
        height: 40px;
        margin-left: auto;
        padding: 7px;
        position: relative;
        z-index: 2;
    }

    .site-header-centered .main-nav-centered {
        position: fixed;
        top: 42px;
        right: 0;
        left: 0;
        display: none;
        width: 100vw;
        max-width: 100vw;
        max-height: calc(100dvh - 42px);
        margin: 0;
        padding: 14px 16px 26px;
        flex-direction: column;
        align-items: center;
        gap: 0;
        overflow-x: clip;
        overflow-y: auto;
        background: #fff;
        box-sizing: border-box;
    }

    .site-header-centered .main-nav-centered.is-open {
        display: flex;
    }

    .site-header-centered .brand-logo-centered {
        display: none;
    }

    .site-header-centered .nav-side {
        display: flex;
        width: min(100%, 430px);
        max-width: 430px;
        margin: 0 auto;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .site-header-centered .nav-side > a,
    .site-header-centered .nav-side .nav-services {
        width: 100% !important;
        max-width: 100%;
        margin-right: auto !important;
        margin-left: auto !important;
        box-sizing: border-box;
    }

    .site-header-centered .nav-side > a:not(.button),
    .site-header-centered .nav-side .nav-services > a {
        display: flex;
        width: 100%;
        min-height: 54px;
        align-items: center;
        justify-content: center !important;
        padding: 13px 18px;
        color: var(--dark, #13203c);
        text-align: center;
        box-sizing: border-box;
    }

    .site-header-centered .nav-services {
        position: relative;
        display: block;
        min-width: 0;
        padding: 0;
    }

    .site-header-centered .nav-mega-menu {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 auto 8px !important;
        padding: 8px 8px 12px !important;
        transform: none !important;
        box-sizing: border-box;
    }

    .site-header-centered .mega-service-grid {
        width: 100% !important;
        max-width: 400px;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .site-header-centered .zone-access-button {
        display: flex;
        width: 100% !important;
        margin: 12px auto 0 !important;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 660px) {
    .site-header-centered .brand-logo-mobile,
    .site-header-centered .brand-logo-mobile:hover,
    .site-header-centered .brand-logo-mobile:focus,
    .site-header-centered .brand-logo-mobile:active {
        width: min(118px, calc(100vw - 84px));
    }

    .site-header-centered .main-nav-centered {
        padding-right: 14px;
        padding-left: 14px;
    }

    .site-header-centered .nav-side {
        width: min(100%, 390px);
        max-width: 390px;
    }
}

/* BATES Laravel 0.15.10 – logo vizuálne +10 % bez zmeny rozmerov hlavičky. */
@media (min-width: 901px) {
    .site-header-centered .brand-logo-centered img,
    .site-header-centered .brand-logo-centered:hover img,
    .site-header-centered .brand-logo-centered:focus img,
    .site-header-centered .brand-logo-centered:active img {
        transform: scale(1.1) !important;
        transform-origin: center center !important;
    }
}

@media (max-width: 900px) {
    /* Mobil používa iba logo v hornej lište. Desktopové logo v otvorenom menu je tvrdo skryté. */
    .site-header-centered .main-nav-centered .brand-logo-centered,
    .site-header-centered .main-nav-centered.is-open .brand-logo-centered {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .site-header-centered .brand-logo-mobile img,
    .site-header-centered .brand-logo-mobile:hover img,
    .site-header-centered .brand-logo-mobile:focus img,
    .site-header-centered .brand-logo-mobile:active img {
        transform: scale(1.1) !important;
        transform-origin: left center !important;
    }
}
