


html, body { overflow-x: clip; }

html { scroll-behavior: smooth; }
#cjs-pronajem-tiskaren,
#servis,
#pronajem,
#tym,
#sluzby { scroll-margin-top: 90px; }

button:focus, a:focus { outline: none; }
button:focus-visible, a:focus-visible {
    outline: 2px solid #E0382D !important;
    outline-offset: 2px !important;
}

input[type="checkbox"], input[type="radio"] { accent-color: #E0382D; }

#ast-scroll-top { width: 32px !important; height: 32px !important; }

#cjs-custom-header.cjs-custom-header {
    
    display: block; width: 100%; z-index: 9000; font-family: 'Inter', sans-serif;
    box-sizing: border-box; overflow: visible; position: relative;
}

.cjs-header-bg-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden;
    z-index: 1; pointer-events: none; background-color: #1C1C1C;
    background-image: var(--cjs-hero-bg);
    background-repeat: no-repeat; background-position: center top; background-size: 1850px auto;
}

.cjs-header-blend-decor {
    position: absolute; top: 160px; left: 50%; transform: translateX(-50%);
    width: 975px; height: 593px;
    background-image: var(--cjs-ribbon-bg);
    background-repeat: no-repeat; background-position: center top; background-size: contain;
    mix-blend-mode: color-dodge; pointer-events: none;
}

#cjs-custom-header.cjs-header--home { position: absolute; top: 0; left: 0; height: 666px; }

#cjs-custom-header.cjs-header--inner { position: relative; box-shadow: 0 2px 15px rgba(0,0,0,0.15); margin-bottom: 80px; }


#cjs-custom-header::before { content: ""; display: block; height: 73px; width: 100%; }

.cjs-header-inner-container { max-width: 1100px; margin: 0 auto; padding: 0 8px; box-sizing: border-box; }
.cjs-header-row { display: flex; align-items: center; width: 100%; box-sizing: border-box; }


.cjs-header-top-wrapper {
    position: fixed; top: 0; left: 50%; transform: translateX(-50%);
    width: 100%; height: 73px; box-sizing: border-box;
    background-color: transparent; z-index: 15;
}
.cjs-header--inner .cjs-header-top-wrapper { background-color: #1C1C1C; }

.cjs-header-top-wrapper.cjs-header-stuck { background-color: #1C1C1C; }

body.admin-bar .cjs-header-top-wrapper { top: 32px; }
@media screen and (max-width: 782px) {
    body.admin-bar .cjs-header-top-wrapper { top: 46px; }
}
.cjs-header-row--top { justify-content: space-between; height: 72px; }


@media (min-width: 901px) {
    .cjs-header-top-wrapper {
        transition: width .25s ease, height .25s ease,
            background-color .25s ease, border-radius .25s ease, box-shadow .25s ease;
    }
    
    .cjs-header-top-wrapper.cjs-header-stuck {
        top: 0;
        width: min(1084px, calc(100% - 40px));
        height: 76px;
        background-color: #3C3C3C !important;
        border-radius: 0 0 12px 12px;
        box-shadow: 0px 12px 30.3px rgba(0, 0, 0, 0.2);
    }
    body.admin-bar .cjs-header-top-wrapper.cjs-header-stuck { top: 32px; }
    .cjs-header-top-wrapper.cjs-header-stuck .cjs-header-row--top { height: 76px; padding: 0 24px; }
    
    .cjs-header-top-wrapper.cjs-header-stuck .cjs-header-support-text { display: none; }
    .cjs-header-top-wrapper.cjs-header-stuck .cjs-header-support { flex-direction: row; align-items: center; }
}

.cjs-header-col { display: flex; align-items: center; }
.cjs-header-col--left { flex: 0 0 auto; }
.cjs-header-col--center { flex: 1 1 auto; justify-content: center; padding: 0 20px; }
.cjs-header-col--right { flex: 0 0 auto; }

.cjs-header-logo { display: flex; align-items: center; }
.cjs-logo-link { display: flex; align-items: center; }
.cjs-logo-img { display: block; height: 29px; width: auto; }
.cjs-logo-img--mobile { display: none; }

.cjs-header-menu-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 32px; }
.cjs-header-menu-list a {
    display: block; text-decoration: none; font-family: 'Inter', sans-serif;
    font-weight: 500; font-size: 16px; line-height: 19px; color: #ffffff;
    transition: color 0.2s ease; padding: 10px 0; white-space: nowrap;
}
.cjs-header-menu-list a:hover { color: #E0382D; }

.cjs-header-support { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.cjs-header-support-text { font-size: 12px; color: #FFFFFF; white-space: nowrap; }
.cjs-header-support-text strong { color: #E0382D; }
.cjs-header-phone-btn {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    height: 35px !important; padding: 0 18px !important;
    background: linear-gradient(90deg, #E0382D 51.75%, #BB2530 100%) !important;
    color: #fff !important; border-radius: 30px !important; font-family: 'Inter', sans-serif !important;
    font-size: 14px !important; font-weight: 700 !important; text-decoration: none !important;
    white-space: nowrap; transition: opacity 0.2s !important;
}
.cjs-header-phone-btn:hover { opacity: 0.9 !important; }



.cjs-header-burger {
    background: transparent !important; border: none !important;
    display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; cursor: pointer; padding: 0;
    position: absolute; left: -9999px; visibility: hidden;
}

.cjs-header-burger svg { width: 24px; height: 24px; color: #fff; pointer-events: none; }


.cjs-header-hero { display: flex; justify-content: center; align-items: center; height: 460px; box-sizing: border-box; position: relative; z-index: 5; }
.cjs-header-hero-title { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 105px 0 0; text-align: center; }
.cjs-hero-line-1 { font-family: 'Inter', sans-serif; font-weight: 900; font-size: 79px; line-height: 96px; text-align: center; text-transform: uppercase; color: #FFFFFF; }
.cjs-hero-line-2 { font-family: 'Inter', sans-serif; font-weight: 900; font-size: 45px; line-height: 100%; text-align: center; text-transform: uppercase; color: #FFFFFF; margin-top: -4px; }


.cjs-hero-subtitle-row {
    margin-top: 30px; display: flex; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 6px; font-family: 'Inter', sans-serif; font-size: 17px;
    font-weight: 700; color: #FFFFFF; text-align: center;
    
    line-height: 1.3;
}

.cjs-hero-subtitle-buttons { display: contents; }
.cjs-branch-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 94px; height: 39px; box-sizing: border-box; border-radius: 30px;
    font-family: 'Inter', sans-serif; font-size: 17px; font-weight: 700; cursor: pointer;
    box-shadow: 0px 12px 30.3px rgba(0,0,0,0.2); border: none; transition: 0.2s;
}

.cjs-branch-toggle.active { background: linear-gradient(90deg, #E0382D 51.75%, #BB2530 100%) !important; color: #FFFFFF; }
.cjs-branch-toggle:not(.active) { background: #FFFFFF !important; border: 1px solid #FF0000; color: #E0382D; }


.cjs-branch-box-wrapper { position: absolute; bottom: -60px; left: 0; width: 100%; z-index: 10; pointer-events: none; }
.cjs-branch-box {
    position: relative; width: 100%; max-width: 1084px; height: 119px; margin: 0 auto;
    background: linear-gradient(90deg, #E0382D 51.75%, #BB2530 100%);
    box-shadow: 0px 12px 30.3px rgba(0,0,0,0.2); border-radius: 12px; box-sizing: border-box;
    overflow: hidden; pointer-events: auto; font-family: 'Inter', sans-serif;
    display: none;
}
.cjs-branch-box.is-active { display: block; }
.cjs-branch-box-gray { position: absolute; left: 0; top: 0; width: 278px; height: 100%; background: #3C3C3C; }

.cjs-branch-box-map {
    position: absolute; left: 278px; top: 0; width: 201px; height: 100%;
    
    background-color: #FFFFFF !important;
    background-repeat: no-repeat; background-position: center; background-size: cover;
    border: none; padding: 0; margin: 0; cursor: pointer; display: block;
    font-family: 'Inter', sans-serif;
    
    border-radius: 0 !important;
}

.cjs-branch-map-ov {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    text-align: center; padding: 8px; box-sizing: border-box;
    font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; line-height: 1.3;
    color: #FFFFFF; background: rgba(28,28,28,0); opacity: 0; transition: 0.18s; pointer-events: none;
}
.cjs-branch-box-map:hover .cjs-branch-map-ov,
.cjs-branch-box-map:focus-visible .cjs-branch-map-ov { background: rgba(28,28,28,0.55); opacity: 1; }
.cjs-branch-box-map:focus-visible { outline: none; }
.cjs-branch-box-pin {
    position: absolute; left: 260px; top: 45px; width: 37px; height: 36px; border-radius: 30px;
    background: #E0382D; box-shadow: 0px 12px 30.3px rgba(0,0,0,0.2);
    display: flex; align-items: center; justify-content: center; color: #FFFFFF; z-index: 3;
    pointer-events: none;
}
.cjs-branch-box-pin svg { width: 16px; height: 16px; }
.cjs-branch-name { position: absolute; left: 40px; top: 35px; font-size: 24px; line-height: 29px; font-weight: 400; color: #FFFFFF; margin: 0; }
.cjs-branch-name strong { color: #E0382D; font-weight: 400; }
.cjs-branch-address { position: absolute; left: 40px; top: 68px; font-size: 13px; line-height: 16px; font-weight: 400; color: #BCBCBC; }

.cjs-branch-info-right {
    position: absolute; left: 479px; top: 0; right: 20px; height: 100%;
    display: flex; align-items: center; justify-content: space-evenly; gap: 10px;
}
.cjs-branch-col { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cjs-branch-label { font-size: 12px; line-height: 15px; font-weight: 400; color: #FFFFFF; white-space: nowrap; }

.cjs-branch-value,
.cjs-branch-value:visited,
.cjs-branch-value:hover,
.cjs-branch-value:focus { font-size: 24px; line-height: 29px; font-weight: 400; color: #FFFFFF !important; text-decoration: none; white-space: nowrap; }


.cjs-map-dialog {
    border: none; border-radius: 16px; padding: 0; width: min(680px, 92vw);
    box-shadow: 0 30px 80px rgba(0,0,0,0.4); overflow: hidden; font-family: 'Inter', sans-serif;
}
.cjs-map-dialog::backdrop { background: rgba(17,24,39,0.55); }
.cjs-map-dialog-head {
    background: linear-gradient(90deg, #E0382D 51.75%, #BB2530 100%); color: #fff;
    padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.cjs-map-dialog-title { margin: 0; font-size: 17px; font-weight: 700; color: #fff; }

.cjs-map-dialog-close {
    background: #FFFFFF !important; color: #1C1C1C !important; border: none !important;
    flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: 50%; padding: 0; cursor: pointer;
}

.cjs-map-dialog-close svg { width: 16px; height: 16px; display: block; pointer-events: none; }

@media (hover: hover) {
    .cjs-map-dialog-close:hover { background: #F2F2F2 !important; }
}
.cjs-map-dialog-frame { width: 100%; height: 360px; border: none; display: block; background: #e5e7eb; }
.cjs-map-dialog-foot { padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cjs-map-dialog-addr { color: #6b7280; font-size: 13px; }

.cjs-map-open-btn,
.cjs-map-open-btn:visited,
.cjs-map-open-btn:hover,
.cjs-map-open-btn:focus {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(90deg, #E0382D 51.75%, #BB2530 100%);
    color: #fff !important; text-decoration: none; font-weight: 700; font-size: 14px;
    padding: 11px 22px; border-radius: 30px;
}
.cjs-map-open-btn:hover { opacity: 0.92; }
@media (max-width: 768px) { .cjs-map-dialog-frame { height: 300px; } }


@media (min-width: 1001px) {
    .cjs-branch-col-phone { width: 142px; }
}


@media (max-width: 1000px) {
    .cjs-branch-col-phone { display: none; }
}
@media (max-width: 860px) {
    .cjs-branch-col-hours { display: none; }
}

@media (max-width: 900px) {
    .cjs-header-row--top { padding: 0 12px; }
    .cjs-header-support { display: none; }
    
    .cjs-header-burger { position: static; left: auto; visibility: visible; }
    .cjs-header-col--center { justify-content: flex-end; padding: 0; }
    .cjs-header-menu-list {
        display: none; position: absolute; top: 73px; left: 0; right: 0;
        flex-direction: column; align-items: stretch; gap: 0;
        background: #1C1C1C; border-top: 1px solid #333; padding: 8px 20px 16px;
    }
    .cjs-header-menu-list.is-open { display: flex; }
    .cjs-header-menu-list a { padding: 14px 0; border-bottom: 1px solid #2c2c2c; }
    .cjs-header-menu-list li:last-child a { border-bottom: none; }
}

@media (max-width: 768px) {
    .cjs-header-logo { position: relative; }
    .cjs-logo-img--desktop { display: none; }
    .cjs-logo-img--mobile { display: block; }

    
    .cjs-header-bg-container {
        background-image: var(--cjs-hero-bg-mobile);
        background-size: cover;
    }

    
    .cjs-header-blend-decor {
        top: 186px; left: 50%; transform: translateX(-50%);
        width: 477px; height: 475px;
    }

    #cjs-custom-header.cjs-header--home { height: 420px; }
    
    .cjs-header-hero { display: block; height: 347px; padding: 0; }
    
    .cjs-header-hero-title { display: block; margin: 34px -8px 0; }
    
    .cjs-hero-line-1 { display: block; font-size: min(40px, 10.4vw); line-height: 1.2; margin-top: 0; }
    .cjs-hero-line-2 { display: block; font-size: min(34px, 8.2vw); line-height: 1.2; margin-top: 0; }
    .cjs-hero-subtitle-row { margin-top: 26px; gap: 8px 0; }
    .cjs-hero-subtitle-row > span { width: 100%; }
    .cjs-hero-subtitle-buttons { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; }
    .cjs-branch-toggle { width: 87px; height: 33px; font-size: 15px; }

    
    .cjs-branch-box-wrapper { position: absolute; top: 327px; bottom: auto; }
    .cjs-branch-box {
        width: min(360px, calc(100% - 32px)); max-width: none; height: auto; border-radius: 17px;
    }
    
    .cjs-branch-box-gray { display: none; }
    .cjs-branch-name {
        position: static; margin: 0; padding: 18px 12px 0;
        background: #3C3C3C; font-size: 23px; line-height: 28px; text-align: center;
    }
    .cjs-branch-address {
        position: static; margin: 0; padding: 6px 12px 16px;
        background: #3C3C3C; font-size: 14px; line-height: 17px; text-align: center;
    }
    .cjs-branch-box-map, .cjs-branch-box-pin { display: none; }

    .cjs-branch-info-right {
        position: static; display: flex; flex-direction: column; align-items: center;
        gap: 0; padding: 14px 0 16px; height: auto;
    }
    .cjs-branch-col { align-items: center; text-align: center; padding: 6px 0; gap: 2px; }
    .cjs-branch-value, .cjs-branch-value:visited, .cjs-branch-value:hover, .cjs-branch-value:focus {
        font-size: 19px; line-height: 23px;
    }
    
    .cjs-branch-col-phone,
    .cjs-branch-col-hours { display: flex; }
}
