:root {
    --azm15-orange: #ff7a1a;
    --azm15-orange-dark: #d9600c;
    --azm15-peach: #fff0e3;

    --azm15-dark: #0a151c;
    --azm15-text: #10191f;
    --azm15-muted: #6a747c;

    --azm15-bg: #f8f5f0;
    --azm15-border: #e8e0d7;

    --azm-copper: #ff7a1a !important;
    --azm-copper-dark: #d9600c !important;
}


/* =========================================================
   GENERAL
   ========================================================= */

body {
    background:
        var(--azm15-bg);

    color:
        var(--azm15-text);
}


.azm15-shell {
    width:
        min(
            1420px,
            calc(100% - 96px)
        );

    margin:
        0 auto;
}


.azm15-line {
    display:
        block;

    width:
        38px;

    height:
        3px;

    margin-bottom:
        13px;

    background:
        var(--azm15-orange);
}


.azm15-eyebrow {
    color:
        var(--azm15-orange);

    font-size:
        11px;

    font-weight:
        850;

    line-height:
        1.4;

    letter-spacing:
        .145em;

    text-transform:
        uppercase;
}


.azm15-button {
    min-height:
        52px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    padding:
        0 25px;

    color:
        #fff !important;

    background:
        var(--azm15-orange);

    border:
        1px solid
        var(--azm15-orange);

    text-decoration:
        none !important;

    font-size:
        11px;

    font-weight:
        850;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;

    box-shadow:
        0 10px 24px
        rgba(255,122,26,.21);

    transition:
        transform .18s ease,
        background .18s ease,
        box-shadow .18s ease;
}


.azm15-button:hover {
    color:
        #fff !important;

    background:
        var(--azm15-orange-dark);

    border-color:
        var(--azm15-orange-dark);

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 30px
        rgba(255,122,26,.27);
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    z-index:
        100;

    background:
        #fff !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        rgba(13,23,30,.055) !important;

    box-shadow:
        0 3px 20px
        rgba(13,23,30,.025) !important;
}


.site-header .header-inner {
    min-height:
        86px;

    display:
        flex;

    align-items:
        center;
}


.site-header .brand-logo {
    width:
        auto !important;

    height:
        52px !important;

    max-width:
        190px !important;

    object-fit:
        contain !important;
}


.site-header nav a {
    font-size:
        11px !important;

    font-weight:
        850 !important;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}


.site-header .nav-contact {
    color:
        #fff !important;

    background:
        #101a21 !important;

    box-shadow:
        inset 0 -3px 0
        var(--azm15-orange) !important;
}


/* =========================================================
   HERO
   ========================================================= */

.azm15-hero {
    position:
        relative;

    min-height:
        565px;

    display:
        flex;

    align-items:
        center;

    isolation:
        isolate;

    overflow:
        hidden;

    background:
        var(--azm15-dark);
}


.azm15-hero::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background-image:
        url('/site/templates/assets/img/nove-stroje.jpg');

    background-size:
        cover;

    background-position:
        center 50%;
}


.azm15-hero::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -1;

    background:
        linear-gradient(
            90deg,
            rgba(5,14,19,.97) 0%,
            rgba(5,14,19,.87) 37%,
            rgba(5,14,19,.40) 67%,
            rgba(5,14,19,.08) 100%
        );
}


.azm15-hero-copy {
    width:
        min(660px,59%);

    padding:
        92px 0 105px;
}


.azm15-hero h1 {
    max-width:
        650px;

    margin:
        17px 0 20px;

    color:
        #fff;

    font-size:
        clamp(48px,5vw,72px);

    font-weight:
        780;

    line-height:
        .99;

    letter-spacing:
        -.052em;
}


.azm15-hero p {
    max-width:
        590px;

    margin:
        0 0 31px;

    color:
        rgba(255,255,255,.82);

    font-size:
        16px;

    line-height:
        1.65;
}


/* =========================================================
   THREE TILES
   ========================================================= */

.azm15-categories {
    padding:
        30px 0 63px;

    background:
        #fff;
}


.azm15-category-grid {
    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        22px;
}


.azm15-category {
    position:
        relative;

    min-height:
        345px;

    display:
        block;

    overflow:
        hidden;

    background:
        #0b151c;

    border-radius:
        9px;

    box-shadow:
        0 15px 40px
        rgba(13,23,30,.075);

    text-decoration:
        none !important;

    transition:
        transform .22s ease,
        box-shadow .22s ease;
}


.azm15-category:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 54px
        rgba(13,23,30,.14);
}


.azm15-category > img {
    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    filter:
        saturate(.92)
        brightness(.98);

    transition:
        transform .4s ease,
        filter .4s ease;
}


.azm15-category:hover > img {
    transform:
        scale(1.025);

    filter:
        saturate(1.03)
        brightness(1.02);
}


.azm15-category-gradient {
    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            180deg,
            transparent 25%,
            rgba(5,13,18,.10) 48%,
            rgba(5,13,18,.95) 100%
        );
}


.azm15-category-copy {
    position:
        absolute;

    left:
        29px;

    right:
        29px;

    bottom:
        27px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;
}


.azm15-category-copy i {
    width:
        37px;

    height:
        2px;

    margin-bottom:
        13px;

    background:
        var(--azm15-orange);
}


.azm15-category-copy strong {
    color:
        #fff;

    font-size:
        29px;

    font-weight:
        760;

    line-height:
        1.08;

    letter-spacing:
        -.032em;
}


.azm15-category-copy > span:last-child {
    margin-top:
        12px;

    color:
        #ff9d52;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


/* =========================================================
   BRANDS
   ========================================================= */

.azm15-brands {
    padding:
        65px 0;

    background:
        var(--azm15-bg);
}


.azm15-brands-layout {
    display:
        grid;

    grid-template-columns:
        minmax(320px,.72fr)
        minmax(0,1.28fr);

    gap:
        72px;

    align-items:
        center;
}


.azm15-brands-title h2 {
    max-width:
        440px;

    margin:
        8px 0 0;

    color:
        var(--azm15-text);

    font-size:
        clamp(32px,3vw,45px);

    font-weight:
        770;

    line-height:
        1.02;

    letter-spacing:
        -.043em;
}


.azm15-brand-grid {
    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        18px;
}


.azm15-brand-card {
    min-height:
        136px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        22px;

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        8px;

    box-shadow:
        0 10px 28px
        rgba(13,23,30,.04);
}


.azm15-brand-card img {
    width:
        auto;

    height:
        auto;

    max-width:
        82%;

    max-height:
        76px;

    object-fit:
        contain;
}


/* =========================================================
   WHY
   ========================================================= */

.azm15-why {
    padding:
        68px 0 77px;

    background:
        #fff;
}


.azm15-why-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(320px,.92fr);

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        32px;
}


.azm15-why-heading h2 {
    margin:
        8px 0 0;

    color:
        var(--azm15-text);

    font-size:
        clamp(34px,3vw,46px);

    font-weight:
        770;

    line-height:
        1.03;

    letter-spacing:
        -.043em;
}


.azm15-why-heading > p {
    margin:
        0;

    color:
        var(--azm15-muted);

    font-size:
        15px;

    line-height:
        1.62;
}


.azm15-benefit-grid {
    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        20px;
}


.azm15-benefit {
    min-height:
        205px;

    padding:
        27px;

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        8px;

    box-shadow:
        0 12px 32px
        rgba(13,23,30,.05);
}


.azm15-benefit-icon {
    width:
        58px;

    height:
        58px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    margin-bottom:
        18px;

    background:
        #fff0e3;

    border-radius:
        50%;
}


.azm15-benefit-icon img {
    display:
        block;

    width:
        34px;

    height:
        34px;
}


.azm15-benefit h3 {
    margin:
        0 0 8px;

    color:
        var(--azm15-text);

    font-size:
        19px;

    font-weight:
        760;

    line-height:
        1.2;
}


.azm15-benefit p {
    margin:
        0;

    color:
        var(--azm15-muted);

    font-size:
        14px;

    line-height:
        1.58;
}


/* =========================================================
   CONTACT BAND
   ========================================================= */

.azm15-contact-band {
    position:
        relative;

    isolation:
        isolate;

    overflow:
        hidden;

    padding:
        68px 0;

    color:
        #fff;

    background:
        var(--azm15-dark);

    border-top:
        2px solid
        var(--azm15-orange);
}


.azm15-contact-band::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background-image:
        url('/site/templates/assets/img/footer-machining.jpg');

    background-size:
        cover;

    background-position:
        center;
}


.azm15-contact-band::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -1;

    background:
        linear-gradient(
            90deg,
            rgba(5,14,19,.98) 0%,
            rgba(5,14,19,.93) 47%,
            rgba(5,14,19,.54) 72%,
            rgba(5,14,19,.24) 100%
        );
}


.azm15-contact-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    gap:
        70px;

    align-items:
        center;
}


.azm15-contact-copy {
    max-width:
        790px;
}


.azm15-contact-copy h2 {
    margin:
        8px 0 10px;

    color:
        #fff;

    font-size:
        clamp(35px,3.6vw,53px);

    font-weight:
        770;

    line-height:
        1.02;

    letter-spacing:
        -.043em;
}


.azm15-contact-copy p {
    max-width:
        700px;

    margin:
        0;

    color:
        rgba(255,255,255,.78);

    font-size:
        14px;

    line-height:
        1.65;
}


/* =========================================================
   FOOTER
   ========================================================= */

.azm15-footer {
    padding:
        52px 0 0;

    color:
        rgba(255,255,255,.66);

    background:
        #081219;

    border:
        0 !important;
}


.azm15-footer-grid {
    display:
        grid;

    grid-template-columns:
        1.2fr .72fr .95fr 1.15fr;

    gap:
        56px;

    align-items:
        start;
}


.azm15-footer-logo {
    display:
        inline-flex;

    background:
        transparent !important;
}


.azm15-footer-logo img {
    display:
        block;

    width:
        auto !important;

    height:
        62px !important;

    max-width:
        205px !important;

    max-height:
        none !important;

    object-fit:
        contain !important;

    filter:
        none !important;

    opacity:
        1 !important;
}


.azm15-footer-brand p {
    max-width:
        260px;

    margin:
        15px 0 0;

    color:
        rgba(255,255,255,.56);

    font-size:
        12px;

    line-height:
        1.55;
}


.azm15-footer-column > strong {
    display:
        block;

    margin-bottom:
        15px;

    color:
        #fff;

    font-size:
        11px;

    font-weight:
        850;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}


.azm15-footer-column nav {
    display:
        flex;

    flex-direction:
        column;

    gap:
        9px;
}


.azm15-footer a {
    color:
        rgba(255,255,255,.68) !important;

    text-decoration:
        none !important;
}


.azm15-footer a:hover {
    color:
        var(--azm15-orange) !important;
}


.azm15-footer-address {
    display:
        flex;

    flex-direction:
        column;

    gap:
        4px;

    font-size:
        12px;

    line-height:
        1.45;
}


.azm15-footer-address b {
    color:
        #fff;
}


.azm15-footer-contact {
    display:
        flex;

    flex-direction:
        column;

    gap:
        10px;
}


.azm15-footer-contact > a {
    display:
        grid;

    grid-template-columns:
        24px 1fr;

    gap:
        9px;

    align-items:
        center;

    font-size:
        12px;
}


.azm15-footer-icon {
    color:
        var(--azm15-orange);

    font-size:
        17px;

    text-align:
        center;
}


.azm15-footer-lang {
    margin-top:
        10px;
}


.azm15-footer .lang-current {
    min-height:
        42px;

    color:
        #fff !important;

    background:
        transparent !important;

    border:
        1px solid
        rgba(255,255,255,.35) !important;
}


.azm15-footer-bottom {
    min-height:
        66px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-top:
        41px;

    border-top:
        1px solid
        rgba(255,255,255,.10);

    color:
        rgba(255,255,255,.43);

    font-size:
        10px;
}


/* =========================================================
   MOBILE MENU
   ========================================================= */

.azm15-menu-toggle {
    display:
        none;

    width:
        44px;

    height:
        44px;

    padding:
        9px;

    border:
        0;

    background:
        transparent;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        5px;

    cursor:
        pointer;
}


.azm15-menu-toggle span {
    width:
        24px;

    height:
        2px;

    display:
        block;

    background:
        #101a21;
}


.azm15-menu-toggle.is-open span:nth-child(1) {
    transform:
        translateY(7px)
        rotate(45deg);
}


.azm15-menu-toggle.is-open span:nth-child(2) {
    opacity:
        0;
}


.azm15-menu-toggle.is-open span:nth-child(3) {
    transform:
        translateY(-7px)
        rotate(-45deg);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    .azm15-shell {
        width:
            calc(100% - 32px);
    }


    .site-header .header-inner {
        position:
            relative;

        min-height:
            72px;
    }


    .site-header .brand-logo {
        height:
            44px !important;

        max-width:
            150px !important;
    }


    .site-header .lang-menu {
        margin-left:
            auto;
    }


    .azm15-menu-toggle {
        display:
            flex;

        order:
            50;

        margin-left:
            7px;
    }


    .site-header .azm15-main-nav {
        position:
            absolute;

        top:
            100%;

        left:
            0;

        right:
            0;

        z-index:
            250;

        display:
            none !important;

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            0 !important;

        padding:
            8px 16px 16px;

        background:
            #fff;

        border-top:
            1px solid
            #eee7df;

        box-shadow:
            0 18px 35px
            rgba(13,23,30,.13);
    }


    .site-header .azm15-main-nav.is-open {
        display:
            flex !important;
    }


    .site-header .azm15-main-nav a {
        min-height:
            48px;

        display:
            flex;

        align-items:
            center;

        padding:
            0 13px !important;

        border-bottom:
            1px solid
            #eee7df;
    }


    .site-header .azm15-main-nav .nav-contact {
        margin-top:
            8px;

        justify-content:
            center;
    }


    .azm15-hero {
        min-height:
            500px;
    }


    .azm15-hero::before {
        background-position:
            63% center;
    }


    .azm15-hero::after {
        background:
            linear-gradient(
                90deg,
                rgba(5,13,18,.92) 0%,
                rgba(5,13,18,.75) 62%,
                rgba(5,13,18,.30) 100%
            );
    }


    .azm15-hero-copy {
        width:
            100%;

        max-width:
            510px;

        padding:
            62px 0 66px;
    }


    .azm15-hero h1 {
        font-size:
            clamp(38px,11vw,51px);
    }


    .azm15-hero p {
        max-width:
            440px;

        font-size:
            15px;
    }


    .azm15-categories {
        padding:
            15px 0 43px;
    }


    .azm15-category-grid {
        grid-template-columns:
            1fr;

        gap:
            11px;
    }


    .azm15-category {
        min-height:
            155px;
    }


    .azm15-category-copy {
        left:
            21px;

        right:
            21px;

        bottom:
            18px;
    }


    .azm15-category-copy i {
        margin-bottom:
            8px;
    }


    .azm15-category-copy strong {
        font-size:
            23px;
    }


    .azm15-category-copy > span:last-child {
        margin-top:
            7px;
    }


    .azm15-brands {
        padding:
            47px 0;
    }


    .azm15-brands-layout {
        grid-template-columns:
            1fr;

        gap:
            24px;
    }


    .azm15-brands-title h2 {
        font-size:
            34px;
    }


    .azm15-brand-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));

        gap:
            8px;
    }


    .azm15-brand-card {
        min-height:
            85px;

        padding:
            9px;
    }


    .azm15-brand-card img {
        max-width:
            95%;

        max-height:
            53px;
    }


    .azm15-why {
        padding:
            48px 0 50px;
    }


    .azm15-why-heading {
        grid-template-columns:
            1fr;

        gap:
            12px;

        margin-bottom:
            23px;
    }


    .azm15-why-heading h2 {
        font-size:
            35px;
    }


    .azm15-benefit-grid {
        grid-template-columns:
            1fr;

        gap:
            10px;
    }


    .azm15-benefit {
        min-height:
            0;

        display:
            grid;

        grid-template-columns:
            63px 1fr;

        gap:
            16px;

        align-items:
            center;

        padding:
            17px 18px;
    }


    .azm15-benefit-icon {
        width:
            56px;

        height:
            56px;

        margin:
            0;
    }


    .azm15-benefit h3 {
        margin-bottom:
            4px;

        font-size:
            17px;
    }


    .azm15-benefit p {
        font-size:
            13px;

        line-height:
            1.45;
    }


    .azm15-contact-band {
        padding:
            48px 0;
    }


    .azm15-contact-band::before {
        background-position:
            65% center;
    }


    .azm15-contact-band::after {
        background:
            rgba(5,14,19,.75);
    }


    .azm15-contact-layout {
        grid-template-columns:
            1fr;

        gap:
            22px;
    }


    .azm15-contact-copy h2 {
        max-width:
            440px;

        font-size:
            34px;
    }


    .azm15-contact-layout .azm15-button {
        justify-self:
            start;
    }


    .azm15-footer {
        padding-top:
            37px;
    }


    .azm15-footer-grid {
        grid-template-columns:
            1fr 1fr;

        gap:
            27px 20px;
    }


    .azm15-footer-brand {
        grid-column:
            1 / -1;
    }


    .azm15-footer-logo img {
        height:
            53px !important;

        max-width:
            180px !important;
    }


    .azm15-footer-contact {
        grid-column:
            1 / -1;

        display:
            grid;

        grid-template-columns:
            1fr 1fr auto;

        gap:
            8px 14px;

        align-items:
            center;
    }


    .azm15-footer-lang {
        margin:
            0;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .azm15-shell {
        width:
            calc(100% - 28px);
    }


    .azm15-hero {
        min-height:
            470px;
    }


    .azm15-hero h1 {
        font-size:
            39px;
    }


    .azm15-hero p {
        font-size:
            14px;
    }


    .azm15-button {
        min-height:
            48px;

        padding:
            0 20px;
    }


    .azm15-category {
        min-height:
            145px;
    }


    .azm15-category-copy strong {
        font-size:
            21px;
    }


    .azm15-brands-title h2,
    .azm15-why-heading h2 {
        font-size:
            31px;
    }


    .azm15-brand-card {
        min-height:
            77px;

        padding:
            7px;
    }


    .azm15-brand-card img {
        max-height:
            45px;
    }


    .azm15-benefit {
        grid-template-columns:
            54px 1fr;

        padding:
            15px;
    }


    .azm15-benefit-icon {
        width:
            49px;

        height:
            49px;
    }


    .azm15-benefit-icon img {
        width:
            29px;

        height:
            29px;
    }


    .azm15-contact-copy h2 {
        font-size:
            31px;
    }


    .azm15-footer-grid {
        grid-template-columns:
            1fr 1fr;

        gap:
            24px 16px;
    }


    .azm15-footer-contact {
        display:
            flex;

        flex-direction:
            column;

        align-items:
            flex-start;
    }


    .azm15-footer-bottom {
        min-height:
            82px;

        flex-direction:
            column;

        align-items:
            flex-start;

        justify-content:
            center;

        gap:
            7px;

        padding:
            15px 0;
    }

}


/* =========================================================
   AZM-METAL V15
   INNER PAGE HERO WITH INDUSTRIAL PHOTO
   ========================================================= */

.page-hero,
.azm-page-hero,
.internal-hero {
    position: relative !important;

    min-height: 300px;

    display: flex;
    align-items: center;

    isolation: isolate;
    overflow: hidden;

    color: #fff !important;

    background:
        #09151c !important;

    border-bottom:
        2px solid
        var(--azm15-orange) !important;
}


/*
 * Prumyslova fotografie.
 * Pouzivame stejny vizualni jazyk jako spodní CTA,
 * ale jiny vyrez.
 */
.page-hero::before,
.azm-page-hero::before,
.internal-hero::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: -2;

    background-image:
        url('/site/templates/assets/img/footer-machining.jpg');

    background-repeat:
        no-repeat;

    background-size:
        cover;

    background-position:
        center 54%;

    transform:
        scale(1.025);

    filter:
        saturate(.95)
        contrast(1.04);
}


/*
 * Silnejsi tmava plocha vlevo pro text,
 * fotografie zustane citelna vpravo.
 */
.page-hero::after,
.azm-page-hero::after,
.internal-hero::after {
    content: "";

    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(5,14,19,.98) 0%,
            rgba(5,14,19,.94) 32%,
            rgba(5,14,19,.76) 53%,
            rgba(5,14,19,.34) 76%,
            rgba(5,14,19,.18) 100%
        );
}


/*
 * Obsah musi byt nad fotkou.
 */
.page-hero > .container,
.azm-page-hero > .container,
.internal-hero > .container,
.page-hero > .azm15-shell,
.azm-page-hero > .azm15-shell,
.internal-hero > .azm15-shell {
    position: relative;

    z-index: 2;

    padding-top: 58px;
    padding-bottom: 58px;
}


/*
 * Oranzovy detail nad nadpisem,
 * stejny jazyk jako homepage.
 */
.page-hero h1::before,
.azm-page-hero h1::before,
.internal-hero h1::before {
    content: "";

    display: block;

    width: 38px;
    height: 3px;

    margin-bottom: 18px;

    background:
        var(--azm15-orange);
}


.page-hero h1,
.azm-page-hero h1,
.internal-hero h1 {
    max-width: 760px;

    margin-top: 0 !important;
    margin-bottom: 18px !important;

    color: #fff !important;

    font-size:
        clamp(42px, 4.3vw, 64px) !important;

    line-height: 1 !important;

    letter-spacing:
        -.045em;
}


.page-hero p,
.azm-page-hero p,
.internal-hero p {
    max-width: 720px;

    margin:
        0 !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        16px !important;

    line-height:
        1.65 !important;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 900px) {

    .page-hero,
    .azm-page-hero,
    .internal-hero {
        min-height:
            270px;
    }

    .page-hero::before,
    .azm-page-hero::before,
    .internal-hero::before {
        background-position:
            62% center;
    }

    .page-hero::after,
    .azm-page-hero::after,
    .internal-hero::after {
        background:
            linear-gradient(
                90deg,
                rgba(5,14,19,.96) 0%,
                rgba(5,14,19,.87) 55%,
                rgba(5,14,19,.45) 100%
            );
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 620px) {

    .page-hero,
    .azm-page-hero,
    .internal-hero {
        min-height:
            235px;
    }

    .page-hero::before,
    .azm-page-hero::before,
    .internal-hero::before {
        background-position:
            68% center;

        transform:
            scale(1.04);
    }

    .page-hero::after,
    .azm-page-hero::after,
    .internal-hero::after {
        background:
            rgba(5,14,19,.74);
    }

    .page-hero > .container,
    .azm-page-hero > .container,
    .internal-hero > .container,
    .page-hero > .azm15-shell,
    .azm-page-hero > .azm15-shell,
    .internal-hero > .azm15-shell {
        padding-top:
            42px;

        padding-bottom:
            42px;
    }

    .page-hero h1,
    .azm-page-hero h1,
    .internal-hero h1 {
        font-size:
            39px !important;

        margin-bottom:
            13px !important;
    }

    .page-hero h1::before,
    .azm-page-hero h1::before,
    .internal-hero h1::before {
        width:
            34px;

        margin-bottom:
            14px;
    }

    .page-hero p,
    .azm-page-hero p,
    .internal-hero p {
        max-width:
            92%;

        font-size:
            14px !important;

        line-height:
            1.55 !important;
    }

}


/* =========================================================
   INNER HERO - FINAL SPLIT COMPOSITION
   Text vlevo / foto vpravo / plynuly gradient
   ========================================================= */

.page-hero,
.azm-page-hero,
.internal-hero {
    position: relative !important;

    min-height: 300px !important;

    display: flex !important;
    align-items: center !important;

    isolation: isolate !important;
    overflow: hidden !important;

    background: #09151c !important;

    border-bottom:
        2px solid
        var(--azm15-orange) !important;
}


/*
 * Fotografie zacina az vpravo.
 * Neni pres cely header.
 */
.page-hero::before,
.azm-page-hero::before,
.internal-hero::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    left: 38% !important;

    z-index: -2 !important;

    background-image:
        url('/site/templates/assets/img/footer-machining.jpg') !important;

    background-repeat:
        no-repeat !important;

    background-size:
        cover !important;

    background-position:
        center 54% !important;

    filter:
        saturate(.96)
        contrast(1.04) !important;

    transform: none !important;
    opacity: 1 !important;
}


/*
 * Vlevo zustava cista grafitova plocha.
 * Teprve smerem doprava se odkryva fotografie.
 */
.page-hero::after,
.azm-page-hero::after,
.internal-hero::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -1 !important;

    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 31%,

            rgba(9,21,28,.99) 38%,
            rgba(9,21,28,.96) 43%,
            rgba(9,21,28,.83) 49%,
            rgba(9,21,28,.58) 56%,
            rgba(9,21,28,.29) 64%,
            rgba(9,21,28,.10) 72%,
            rgba(9,21,28,0) 82%
        ) !important;
}


/*
 * Odstraneni stareho dekorativniho kruhu
 * z puvodnich vnitrnich headeru.
 */
.page-hero > .container::before,
.page-hero > .container::after,
.azm-page-hero > .container::before,
.azm-page-hero > .container::after,
.internal-hero > .container::before,
.internal-hero > .container::after {
    content: none !important;
    display: none !important;
}


/*
 * Textova cast zustava vlevo.
 */
.page-hero > .container,
.azm-page-hero > .container,
.internal-hero > .container,
.page-hero > .azm15-shell,
.azm-page-hero > .azm15-shell,
.internal-hero > .azm15-shell {
    position: relative !important;

    z-index: 3 !important;

    padding-top: 58px !important;
    padding-bottom: 58px !important;
}


.page-hero h1,
.azm-page-hero h1,
.internal-hero h1 {
    max-width: 650px !important;

    margin:
        0 0 17px !important;

    color:
        #fff !important;

    font-size:
        clamp(
            42px,
            4vw,
            62px
        ) !important;

    line-height:
        1 !important;

    letter-spacing:
        -.045em !important;
}


/*
 * Oranzova linka jako na homepage.
 */
.page-hero h1::before,
.azm-page-hero h1::before,
.internal-hero h1::before {
    content: "" !important;

    display: block !important;

    width: 38px !important;
    height: 3px !important;

    margin-bottom: 18px !important;

    background:
        var(--azm15-orange) !important;
}


.page-hero p,
.azm-page-hero p,
.internal-hero p {
    max-width: 620px !important;

    margin: 0 !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        16px !important;

    line-height:
        1.6 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 950px) {

    .page-hero,
    .azm-page-hero,
    .internal-hero {
        min-height:
            270px !important;
    }

    .page-hero::before,
    .azm-page-hero::before,
    .internal-hero::before {
        left:
            34% !important;

        background-position:
            58% center !important;
    }

    .page-hero::after,
    .azm-page-hero::after,
    .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                #09151c 0%,
                #09151c 28%,

                rgba(9,21,28,.98) 37%,
                rgba(9,21,28,.88) 47%,
                rgba(9,21,28,.62) 58%,
                rgba(9,21,28,.24) 72%,
                rgba(9,21,28,.06) 88%
            ) !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    .page-hero,
    .azm-page-hero,
    .internal-hero {
        min-height:
            235px !important;
    }


    /*
     * Na mobilu nechame fotku pouze v prave pulce.
     */
    .page-hero::before,
    .azm-page-hero::before,
    .internal-hero::before {
        left:
            42% !important;

        background-position:
            62% center !important;
    }


    .page-hero::after,
    .azm-page-hero::after,
    .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                #09151c 0%,
                #09151c 32%,

                rgba(9,21,28,.98) 42%,
                rgba(9,21,28,.86) 55%,
                rgba(9,21,28,.52) 70%,
                rgba(9,21,28,.15) 88%
            ) !important;
    }


    .page-hero > .container,
    .azm-page-hero > .container,
    .internal-hero > .container,
    .page-hero > .azm15-shell,
    .azm-page-hero > .azm15-shell,
    .internal-hero > .azm15-shell {
        padding-top:
            40px !important;

        padding-bottom:
            40px !important;
    }


    .page-hero h1,
    .azm-page-hero h1,
    .internal-hero h1 {
        max-width:
            78% !important;

        font-size:
            38px !important;
    }


    .page-hero p,
    .azm-page-hero p,
    .internal-hero p {
        max-width:
            72% !important;

        font-size:
            14px !important;

        line-height:
            1.5 !important;
    }

}

/* === AZM CATEGORY REDESIGN START === */

.azm-shell {
    width: min(1280px, calc(100% - 48px));
    margin: 0 auto;
}

.azm-category-page {
    background: #f7f4ef;
}

.azm-category-hero {
    background: #f7f4ef;
    border-bottom: 2px solid #ef7d1a;
}

.azm-category-hero__inner {
    min-height: 420px;
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    align-items: stretch;
}

.azm-category-hero__content {
    background: #041823;
    color: #fff;
    padding: 72px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.azm-category-hero__eyebrow {
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: #ef7d1a;
    margin-bottom: 26px;
}

.azm-category-hero__content h1 {
    margin: 0 0 18px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 0.95;
    letter-spacing: -0.03em;
    color: #fff;
}

.azm-category-hero__content p {
    margin: 0;
    font-size: 22px;
    line-height: 1.6;
    color: rgba(255,255,255,0.82);
    max-width: 480px;
}

.azm-category-hero__visual {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    background: #c9d2d8;
}

.azm-category-hero__image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    transform: scale(1.02);
}

.azm-category-hero__fade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            #041823 0%,
            rgba(4,24,35,0.94) 6%,
            rgba(4,24,35,0.78) 13%,
            rgba(4,24,35,0.46) 24%,
            rgba(4,24,35,0.12) 38%,
            rgba(4,24,35,0.00) 55%);
    pointer-events: none;
}

.azm-category-intro {
    padding: 44px 0 8px;
}

.azm-category-intro__box {
    background: #ffffff;
    border: 1px solid rgba(4, 24, 35, 0.08);
    border-radius: 24px;
    padding: 30px 34px;
    box-shadow: 0 20px 50px rgba(4, 24, 35, 0.05);
    color: #30414c;
}

.azm-category-intro__box > *:first-child {
    margin-top: 0;
}

.azm-category-intro__box > *:last-child {
    margin-bottom: 0;
}

.azm-manufacturers-section {
    padding: 64px 0 90px;
}

.azm-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 34px;
    align-items: end;
    margin-bottom: 34px;
}

.azm-section-head__eyebrow {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #ef7d1a;
    margin-bottom: 10px;
}

.azm-section-head h2 {
    margin: 0;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: #071c28;
}

.azm-section-head p {
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    color: #6b7781;
}

.azm-manufacturer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

.azm-manufacturer-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: #fff;
    border: 1px solid rgba(4, 24, 35, 0.10);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(4, 24, 35, 0.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.azm-manufacturer-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgba(4, 24, 35, 0.09);
    border-color: rgba(239, 125, 26, 0.35);
}

.azm-manufacturer-card__top {
    padding: 26px 26px 8px;
}

.azm-manufacturer-card__logo {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%);
    border: 1px solid rgba(4, 24, 35, 0.06);
    padding: 22px;
}

.azm-manufacturer-card__logo img {
    max-width: 100%;
    max-height: 90px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

.azm-manufacturer-card__body {
    padding: 8px 26px 10px;
    flex: 1 1 auto;
}

.azm-manufacturer-card__body h3 {
    margin: 0 0 16px;
    font-size: 28px;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #0a1b26;
}

.azm-manufacturer-card__body p {
    margin: 0;
    font-size: 18px;
    line-height: 1.75;
    color: #5e6c76;
}

.azm-manufacturer-card__footer {
    padding: 18px 26px 26px;
}

.azm-manufacturer-card__footer a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-weight: 800;
    color: #c86c18;
}

.azm-manufacturer-card__footer a:hover {
    color: #ef7d1a;
}

.azm-manufacturer-card__muted {
    color: #7f8b94;
    font-size: 15px;
}

.azm-empty-box {
    background: #fff;
    border-radius: 22px;
    border: 1px solid rgba(4,24,35,0.10);
    padding: 28px 30px;
    color: #4a5a65;
}

@media (max-width: 1180px) {
    .azm-category-hero__inner {
        grid-template-columns: 360px minmax(0, 1fr);
    }

    .azm-category-hero__content {
        padding: 56px 38px;
    }

    .azm-section-head {
        grid-template-columns: 1fr;
    }

    .azm-manufacturer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .azm-shell {
        width: min(100%, calc(100% - 28px));
    }

    .azm-category-hero__inner {
        grid-template-columns: 1fr;
    }

    .azm-category-hero__content {
        padding: 40px 24px 34px;
    }

    .azm-category-hero__visual {
        min-height: 260px;
    }

    .azm-category-hero__fade {
        background:
            linear-gradient(180deg,
                rgba(4,24,35,0.24) 0%,
                rgba(4,24,35,0.10) 28%,
                rgba(4,24,35,0.00) 56%);
    }

    .azm-category-intro {
        padding-top: 28px;
    }

    .azm-category-intro__box {
        border-radius: 18px;
        padding: 22px 18px;
    }

    .azm-manufacturers-section {
        padding: 42px 0 64px;
    }

    .azm-manufacturer-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .azm-manufacturer-card {
        border-radius: 20px;
    }

    .azm-manufacturer-card__logo {
        height: 112px;
        border-radius: 16px;
    }

    .azm-manufacturer-card__body h3 {
        font-size: 24px;
    }

    .azm-manufacturer-card__body p {
        font-size: 17px;
        line-height: 1.65;
    }
}

/* === AZM CATEGORY REDESIGN END === */


/* =========================================================
   AZM CATEGORY V2
   FINAL HERO + MANUFACTURERS
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.azm-category-hero-v2 {
    position:
        relative;

    min-height:
        360px;

    display:
        flex;

    align-items:
        center;

    overflow:
        hidden;

    isolation:
        isolate;

    background:
        #09151c;

    border-bottom:
        2px solid
        var(--azm15-orange);
}


.azm-category-hero-v2__photo {
    position:
        absolute;

    top:
        0;

    right:
        0;

    bottom:
        0;

    width:
        72%;

    z-index:
        -3;

    background-repeat:
        no-repeat;

    background-size:
        cover;

    background-position:
        58% center;
}


.azm-category-hero-v2__gradient {
    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 23%,

            rgba(9,21,28,.99) 31%,
            rgba(9,21,28,.94) 38%,
            rgba(9,21,28,.78) 45%,
            rgba(9,21,28,.52) 53%,
            rgba(9,21,28,.27) 61%,
            rgba(9,21,28,.08) 71%,
            rgba(9,21,28,0) 82%
        );
}


.azm-category-hero-v2__shell {
    width:
        min(
            1420px,
            calc(100% - 96px)
        );

    margin:
        0 auto;
}


.azm-category-hero-v2__copy {
    max-width:
        640px;

    padding:
        65px 0;
}


.azm-category-hero-v2__line {
    display:
        block;

    width:
        38px;

    height:
        3px;

    margin-bottom:
        18px;

    background:
        var(--azm15-orange);
}


.azm-category-hero-v2 h1 {
    margin:
        0 0 16px;

    color:
        #fff;

    font-size:
        clamp(
            46px,
            4.4vw,
            65px
        );

    font-weight:
        780;

    line-height:
        .98;

    letter-spacing:
        -.05em;
}


.azm-category-hero-v2 p {
    max-width:
        590px;

    margin:
        0;

    color:
        rgba(255,255,255,.76);

    font-size:
        16px;

    line-height:
        1.6;
}


/* ---------------------------------------------------------
   MAKERS SECTION
   --------------------------------------------------------- */

.azm-category-makers-v2 {
    padding:
        78px 0 88px;

    background:
        var(--azm15-bg);
}


.azm-category-makers-v2__head {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(320px,.85fr);

    gap:
        70px;

    align-items:
        end;

    margin-bottom:
        34px;
}


.azm-category-makers-v2__head h2 {
    margin:
        8px 0 0;

    color:
        var(--azm15-text);

    font-size:
        clamp(
            34px,
            3vw,
            47px
        );

    line-height:
        1.02;

    letter-spacing:
        -.043em;
}


.azm-category-makers-v2__head > p {
    margin:
        0;

    color:
        var(--azm15-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


/* ---------------------------------------------------------
   MAKER CARDS
   --------------------------------------------------------- */

.azm-category-maker-grid-v2 {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:
        22px;
}


.azm-category-maker-card-v2 {
    display:
        flex;

    flex-direction:
        column;

    min-height:
        100%;

    overflow:
        hidden;

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        9px;

    box-shadow:
        0 14px 36px
        rgba(13,23,30,.055);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.azm-category-maker-card-v2:hover {
    transform:
        translateY(-4px);

    box-shadow:
        0 22px 48px
        rgba(13,23,30,.10);
}


/*
 * Horni vizualni cast.
 * Logo ma dost prostoru a karta pusobi jako produkt.
 */
.azm-category-maker-card-v2__visual {
    min-height:
        205px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        28px 30px;

    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #faf8f5 100%
        );

    border-bottom:
        1px solid
        #eee7df;
}


.azm-category-maker-card-v2__visual img {
    display:
        block;

    width:
        auto;

    height:
        auto;

    max-width:
        82%;

    max-height:
        120px;

    object-fit:
        contain;
}


.azm-category-maker-card-v2__content {
    display:
        flex;

    flex-direction:
        column;

    flex:
        1;

    padding:
        27px 28px 28px;
}


.azm-category-maker-card-v2 h3 {
    margin:
        0 0 13px;

    color:
        var(--azm15-text);

    font-size:
        27px;

    font-weight:
        770;

    line-height:
        1.1;

    letter-spacing:
        -.035em;
}


.azm-category-maker-card-v2 p {
    margin:
        0 0 22px;

    color:
        var(--azm15-muted);

    font-size:
        14px;

    line-height:
        1.62;
}


.azm-category-maker-card-v2 a {
    display:
        inline-flex;

    align-items:
        center;

    margin-top:
        auto;

    color:
        var(--azm15-orange-dark) !important;

    font-size:
        11px;

    font-weight:
        850;

    letter-spacing:
        .07em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;
}


.azm-category-maker-card-v2 a:hover {
    color:
        var(--azm15-orange) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .azm-category-hero-v2__shell {
        width:
            calc(100% - 50px);
    }


    .azm-category-hero-v2__photo {
        width:
            74%;

        background-position:
            62% center;
    }


    .azm-category-maker-grid-v2 {
        gap:
            15px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    .azm-category-hero-v2 {
        min-height:
            275px;
    }


    .azm-category-hero-v2__shell {
        width:
            calc(100% - 32px);
    }


    .azm-category-hero-v2__photo {
        width:
            68%;

        background-position:
            65% center;
    }


    .azm-category-hero-v2__gradient {
        background:
            linear-gradient(
                90deg,

                #09151c 0%,
                #09151c 34%,

                rgba(9,21,28,.96) 46%,
                rgba(9,21,28,.72) 60%,
                rgba(9,21,28,.35) 76%,
                rgba(9,21,28,.08) 92%
            );
    }


    .azm-category-hero-v2__copy {
        max-width:
            74%;

        padding:
            48px 0;
    }


    .azm-category-hero-v2 h1 {
        font-size:
            41px;
    }


    .azm-category-hero-v2 p {
        font-size:
            14px;
    }


    .azm-category-makers-v2 {
        padding:
            52px 0 60px;
    }


    .azm-category-makers-v2__head {
        grid-template-columns:
            1fr;

        gap:
            15px;

        margin-bottom:
            25px;
    }


    .azm-category-maker-grid-v2 {
        grid-template-columns:
            1fr;

        gap:
            13px;
    }


    .azm-category-maker-card-v2 {
        display:
            grid;

        grid-template-columns:
            145px 1fr;
    }


    .azm-category-maker-card-v2__visual {
        min-height:
            0;

        height:
            100%;

        padding:
            18px;

        border-bottom:
            0;

        border-right:
            1px solid
            #eee7df;
    }


    .azm-category-maker-card-v2__visual img {
        max-width:
            100%;

        max-height:
            90px;
    }


    .azm-category-maker-card-v2__content {
        padding:
            21px;
    }


    .azm-category-maker-card-v2 h3 {
        font-size:
            21px;
    }


    .azm-category-maker-card-v2 p {
        font-size:
            13px;

        line-height:
            1.5;

        margin-bottom:
            15px;
    }

}


/* =========================================================
   SMALL PHONE
   ========================================================= */

@media (max-width: 520px) {

    .azm-category-hero-v2 {
        min-height:
            245px;
    }


    .azm-category-hero-v2__shell {
        width:
            calc(100% - 28px);
    }


    .azm-category-hero-v2__photo {
        width:
            62%;
    }


    .azm-category-hero-v2__copy {
        max-width:
            78%;
    }


    .azm-category-hero-v2 h1 {
        font-size:
            37px;
    }


    .azm-category-maker-card-v2 {
        grid-template-columns:
            115px 1fr;
    }


    .azm-category-maker-card-v2__content {
        padding:
            17px;
    }


    .azm-category-maker-card-v2 h3 {
        font-size:
            19px;

        margin-bottom:
            7px;
    }


    .azm-category-maker-card-v2 p {
        display:
            -webkit-box;

        -webkit-line-clamp:
            4;

        -webkit-box-orient:
            vertical;

        overflow:
            hidden;
    }

}


/* =========================================================
   AZM-METAL V16
   AKTUALNI NABIDKA
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.azm16-offer-hero
.azm-category-hero-v2__photo {
    background-position:
        60% center;
}


/* ---------------------------------------------------------
   MAIN
   --------------------------------------------------------- */

.azm16-offer-section {
    padding:
        76px 0 92px;

    background:
        var(--azm15-bg);
}


.azm16-offer-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(340px,.83fr);

    gap:
        72px;

    align-items:
        end;

    margin-bottom:
        34px;
}


.azm16-offer-heading h2 {
    margin:
        8px 0 0;

    color:
        var(--azm15-text);

    font-size:
        clamp(
            34px,
            3vw,
            47px
        );

    line-height:
        1.02;

    letter-spacing:
        -.043em;
}


.azm16-offer-heading > p {
    margin:
        0;

    color:
        var(--azm15-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


/* ---------------------------------------------------------
   FILTER
   --------------------------------------------------------- */

.azm16-filter {
    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr))
        auto
        auto;

    gap:
        15px;

    align-items:
        end;

    margin-bottom:
        40px;

    padding:
        25px;

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        10px;

    box-shadow:
        0 12px 32px
        rgba(13,23,30,.045);
}


.azm16-filter-field {
    display:
        flex;

    flex-direction:
        column;

    gap:
        8px;
}


.azm16-filter-field > span {
    color:
        var(--azm15-text);

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;
}


.azm16-filter-field select {
    width:
        100%;

    min-height:
        48px;

    padding:
        0 43px 0 15px;

    color:
        var(--azm15-text);

    background-color:
        #fff !important;

    border:
        1px solid
        #ddd6ce !important;

    border-radius:
        5px;

    font-size:
        13px;

    font-weight:
        600;
}


.azm16-filter-field select:focus {
    border-color:
        var(--azm15-orange) !important;

    box-shadow:
        0 0 0 3px
        rgba(255,122,26,.10) !important;
}


.azm16-filter-button {
    min-height:
        48px;

    padding:
        0 25px !important;

    color:
        #fff !important;

    background:
        var(--azm15-orange) !important;

    border:
        1px solid
        var(--azm15-orange) !important;

    border-radius:
        4px !important;

    box-shadow:
        none !important;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;

    cursor:
        pointer;
}


.azm16-filter-button:hover {
    background:
        var(--azm15-orange-dark) !important;
}


.azm16-filter-reset {
    min-height:
        48px;

    display:
        flex;

    align-items:
        center;

    color:
        #7a8287 !important;

    font-size:
        11px;

    font-weight:
        650;

    text-decoration:
        none !important;
}


.azm16-filter-reset:hover {
    color:
        var(--azm15-orange-dark) !important;
}


/* ---------------------------------------------------------
   PRODUCT GRID
   --------------------------------------------------------- */

.azm16-machine-grid {
    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        22px;
}


/* ---------------------------------------------------------
   CARD
   --------------------------------------------------------- */

.azm16-machine-card {
    min-width:
        0;

    display:
        flex;

    flex-direction:
        column;

    overflow:
        hidden;

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        9px;

    box-shadow:
        0 14px 36px
        rgba(13,23,30,.055);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.azm16-machine-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(255,122,26,.28);

    box-shadow:
        0 22px 50px
        rgba(13,23,30,.11);
}


/* ---------------------------------------------------------
   IMAGE
   --------------------------------------------------------- */

.azm16-machine-image {
    position:
        relative;

    aspect-ratio:
        4 / 3;

    display:
        block;

    overflow:
        hidden;

    background:
        #eeeae4;
}


.azm16-machine-image img {
    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform .4s ease;
}


.azm16-machine-card:hover
.azm16-machine-image img {
    transform:
        scale(1.025);
}


.azm16-machine-badge {
    position:
        absolute;

    top:
        16px;

    left:
        16px;

    padding:
        7px 10px;

    color:
        #fff;

    background:
        rgba(9,21,28,.91);

    border-radius:
        3px;

    backdrop-filter:
        blur(5px);

    font-size:
        9px;

    font-weight:
        850;

    line-height:
        1;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;
}


/* ---------------------------------------------------------
   CONTENT
   --------------------------------------------------------- */

.azm16-machine-content {
    min-height:
        215px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    padding:
        25px 25px 26px;
}


.azm16-machine-maker {
    margin-bottom:
        9px;

    color:
        var(--azm15-orange-dark);

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .085em;

    text-transform:
        uppercase;
}


.azm16-machine-content h3 {
    margin:
        0 0 11px;

    color:
        var(--azm15-text);

    font-size:
        25px;

    font-weight:
        770;

    line-height:
        1.08;

    letter-spacing:
        -.035em;
}


.azm16-machine-content h3 a {
    color:
        inherit !important;

    text-decoration:
        none !important;
}


.azm16-machine-content h3 a:hover {
    color:
        var(--azm15-orange-dark) !important;
}


.azm16-machine-content p {
    margin:
        0 0 20px;

    color:
        var(--azm15-muted);

    font-size:
        13px;

    line-height:
        1.58;
}


.azm16-machine-detail {
    margin-top:
        auto;

    color:
        var(--azm15-orange-dark) !important;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .075em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;
}


.azm16-machine-detail:hover {
    color:
        var(--azm15-orange) !important;
}


/* ---------------------------------------------------------
   EMPTY
   --------------------------------------------------------- */

.azm16-empty {
    min-height:
        180px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    padding:
        35px;

    text-align:
        center;

    color:
        var(--azm15-muted);

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        9px;
}


.azm16-empty-icon {
    width:
        48px;

    height:
        48px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        var(--azm15-orange);

    background:
        var(--azm15-peach);

    border-radius:
        50%;

    font-size:
        25px;
}


.azm16-empty p {
    margin:
        0;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .azm16-filter {
        grid-template-columns:
            repeat(3,minmax(0,1fr))
            auto;
    }


    .azm16-filter-reset {
        grid-column:
            1 / -1;

        min-height:
            auto;
    }


    .azm16-machine-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    .azm16-offer-section {
        padding:
            50px 0 60px;
    }


    .azm16-offer-heading {
        grid-template-columns:
            1fr;

        gap:
            14px;

        margin-bottom:
            25px;
    }


    .azm16-filter {
        grid-template-columns:
            1fr;

        gap:
            13px;

        padding:
            18px;

        margin-bottom:
            27px;
    }


    .azm16-filter-button {
        width:
            100%;
    }


    .azm16-filter-reset {
        min-height:
            32px;

        justify-content:
            center;
    }


    .azm16-machine-grid {
        grid-template-columns:
            1fr;

        gap:
            14px;
    }


    .azm16-machine-card {
        display:
            grid;

        grid-template-columns:
            42%
            minmax(0,1fr);
    }


    .azm16-machine-image {
        height:
            100%;

        min-height:
            230px;

        aspect-ratio:
            auto;
    }


    .azm16-machine-content {
        min-height:
            230px;

        padding:
            21px;
    }


    .azm16-machine-content h3 {
        font-size:
            21px;
    }


    .azm16-machine-content p {
        display:
            -webkit-box;

        -webkit-line-clamp:
            3;

        -webkit-box-orient:
            vertical;

        overflow:
            hidden;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 560px) {

    .azm16-machine-card {
        display:
            flex;
    }


    .azm16-machine-image {
        min-height:
            0;

        aspect-ratio:
            16 / 10;
    }


    .azm16-machine-content {
        min-height:
            190px;

        padding:
            20px;
    }


    .azm16-machine-content h3 {
        font-size:
            22px;
    }


    .azm16-machine-badge {
        top:
            12px;

        left:
            12px;
    }

}


/* =========================================================
   AZM-METAL V17
   SERVIS A NAHRADNI DILY
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.azm17-service-hero
.azm-category-hero-v2__photo {
    width:
        73%;

    background-position:
        61% center;
}


/*
 * Servisni fotografie ma trochu jemnejsi
 * prekryti nez katalog stroju.
 */
.azm17-service-hero
.azm-category-hero-v2__gradient {
    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 23%,

            rgba(9,21,28,.99) 31%,
            rgba(9,21,28,.94) 38%,
            rgba(9,21,28,.77) 45%,
            rgba(9,21,28,.50) 53%,
            rgba(9,21,28,.24) 62%,
            rgba(9,21,28,.06) 73%,
            rgba(9,21,28,0) 84%
        );
}


/* ---------------------------------------------------------
   MAIN
   --------------------------------------------------------- */

.azm17-service-section {
    padding:
        74px 0 88px;

    background:
        var(--azm15-bg);
}


.azm17-service-heading {
    margin-bottom:
        22px;
}


/* ---------------------------------------------------------
   LAYOUT
   --------------------------------------------------------- */

.azm17-service-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0,1.55fr)
        minmax(330px,.55fr);

    gap:
        26px;

    align-items:
        start;
}


/* ---------------------------------------------------------
   CONTENT CARD
   --------------------------------------------------------- */

.azm17-service-content {
    padding:
        38px 40px 40px;

    color:
        var(--azm15-muted);

    background:
        #fff;

    border:
        1px solid
        var(--azm15-border);

    border-radius:
        10px;

    box-shadow:
        0 14px 36px
        rgba(13,23,30,.05);
}


.azm17-service-content > *:first-child {
    margin-top:
        0;
}


.azm17-service-content > *:last-child {
    margin-bottom:
        0;
}


.azm17-service-content h1,
.azm17-service-content h2 {
    margin:
        0 0 18px;

    color:
        var(--azm15-text);

    font-size:
        clamp(
            30px,
            2.5vw,
            38px
        );

    font-weight:
        770;

    line-height:
        1.07;

    letter-spacing:
        -.038em;
}


.azm17-service-content h3 {
    margin:
        31px 0 15px;

    color:
        var(--azm15-text);

    font-size:
        18px;

    font-weight:
        780;

    line-height:
        1.25;
}


.azm17-service-content p {
    margin:
        0 0 20px;

    color:
        var(--azm15-muted);

    font-size:
        15px;

    line-height:
        1.72;
}


/* ---------------------------------------------------------
   SERVICE LIST
   --------------------------------------------------------- */

.azm17-service-content ul {
    display:
        grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:
        10px;

    margin:
        17px 0 25px;

    padding:
        0;

    list-style:
        none;
}


.azm17-service-content li {
    position:
        relative;

    min-height:
        66px;

    display:
        flex;

    align-items:
        center;

    padding:
        14px 17px 14px 48px;

    color:
        #39464e;

    background:
        #faf7f3;

    border:
        1px solid
        #eee6dd;

    border-radius:
        7px;

    font-size:
        13px;

    line-height:
        1.48;
}


.azm17-service-content li::before {
    content:
        "✓";

    position:
        absolute;

    left:
        16px;

    top:
        50%;

    width:
        22px;

    height:
        22px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        #fff;

    background:
        var(--azm15-orange);

    border-radius:
        50%;

    font-size:
        11px;

    font-weight:
        900;

    transform:
        translateY(-50%);
}


/* ---------------------------------------------------------
   CONTACT ASIDE
   --------------------------------------------------------- */

.azm17-service-contact {
    position:
        sticky;

    top:
        110px;

    overflow:
        hidden;

    padding:
        31px;

    color:
        #fff;

    background:
        #0b171e;

    border-radius:
        10px;

    box-shadow:
        0 18px 42px
        rgba(13,23,30,.14);
}


.azm17-service-contact::after {
    content:
        "";

    position:
        absolute;

    right:
        -80px;

    bottom:
        -80px;

    width:
        210px;

    height:
        210px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius:
        50%;
}


.azm17-service-contact-line {
    display:
        block;

    width:
        37px;

    height:
        3px;

    margin-bottom:
        14px;

    background:
        var(--azm15-orange);
}


.azm17-service-contact-kicker {
    margin-bottom:
        10px;

    color:
        var(--azm15-orange);

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .10em;

    text-transform:
        uppercase;
}


.azm17-service-contact h2 {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 14px;

    color:
        #fff;

    font-size:
        29px;

    font-weight:
        760;

    line-height:
        1.07;

    letter-spacing:
        -.035em;
}


.azm17-service-contact > p {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 25px;

    color:
        rgba(255,255,255,.69);

    font-size:
        13px;

    line-height:
        1.6;
}


/* ---------------------------------------------------------
   CONTACT DATA
   --------------------------------------------------------- */

.azm17-service-contact-info {
    position:
        relative;

    z-index:
        2;

    display:
        flex;

    flex-direction:
        column;

    gap:
        9px;

    margin-bottom:
        25px;
}


.azm17-service-contact-info > a {
    display:
        grid;

    grid-template-columns:
        39px 1fr;

    gap:
        12px;

    align-items:
        center;

    padding:
        11px 0;

    color:
        #fff !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.09);

    text-decoration:
        none !important;
}


.azm17-service-contact-icon {
    width:
        37px;

    height:
        37px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        var(--azm15-orange);

    background:
        rgba(255,122,26,.09);

    border-radius:
        50%;

    font-size:
        16px;
}


.azm17-service-contact-info small {
    display:
        block;

    margin-bottom:
        2px;

    color:
        rgba(255,255,255,.48);

    font-size:
        9px;

    font-weight:
        750;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}


.azm17-service-contact-info strong {
    color:
        #fff;

    font-size:
        13px;

    font-weight:
        650;
}


.azm17-service-contact-button {
    position:
        relative;

    z-index:
        2;

    width:
        100%;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .azm17-service-layout {
        grid-template-columns:
            minmax(0,1.35fr)
            minmax(300px,.65fr);
    }


    .azm17-service-content ul {
        grid-template-columns:
            1fr;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    .azm17-service-section {
        padding:
            49px 0 60px;
    }


    .azm17-service-layout {
        grid-template-columns:
            1fr;

        gap:
            16px;
    }


    .azm17-service-content {
        padding:
            25px 22px;
    }


    .azm17-service-content h1,
    .azm17-service-content h2 {
        font-size:
            29px;
    }


    .azm17-service-content h3 {
        margin-top:
            25px;

        font-size:
            17px;
    }


    .azm17-service-content ul {
        grid-template-columns:
            1fr;

        gap:
            8px;
    }


    .azm17-service-content li {
        min-height:
            58px;
    }


    .azm17-service-contact {
        position:
            relative;

        top:
            auto;

        padding:
            26px;
    }


    .azm17-service-contact h2 {
        max-width:
            390px;

        font-size:
            27px;
    }


    .azm17-service-contact-info {
        display:
            grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 520px) {

    .azm17-service-content {
        padding:
            21px 18px;
    }


    .azm17-service-content p {
        font-size:
            14px;
    }


    .azm17-service-content li {
        padding:
            13px 14px 13px 45px;

        font-size:
            12px;
    }


    .azm17-service-contact {
        padding:
            22px;
    }


    .azm17-service-contact-info {
        grid-template-columns:
            1fr;
    }


    .azm17-service-contact h2 {
        font-size:
            25px;
    }

}

/* AZM CONTACT V18 START */


/* =========================================================
   KONTAKT - HERO
   ========================================================= */

body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    position: relative !important;

    min-height: 360px !important;

    display: flex !important;
    align-items: center !important;

    isolation: isolate !important;
    overflow: hidden !important;

    background:
        #09151c !important;

    border-bottom:
        2px solid
        var(--azm15-orange) !important;
}


/*
 * Fotografie pouze vpravo.
 */
body.azm18-contact-page .page-hero::before,
body.azm18-contact-page .azm-page-hero::before,
body.azm18-contact-page .internal-hero::before {
    content: "" !important;

    position: absolute !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    left: 28% !important;

    z-index: -2 !important;

    background-image:
        url('/site/templates/assets/img/footer-machining.jpg') !important;

    background-repeat:
        no-repeat !important;

    background-size:
        cover !important;

    background-position:
        62% center !important;

    transform:
        none !important;

    filter:
        saturate(.96)
        contrast(1.04) !important;
}


/*
 * Grafit vlevo -> fotografie vpravo.
 */
body.azm18-contact-page .page-hero::after,
body.azm18-contact-page .azm-page-hero::after,
body.azm18-contact-page .internal-hero::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -1 !important;

    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 23%,

            rgba(9,21,28,.99) 31%,
            rgba(9,21,28,.94) 38%,
            rgba(9,21,28,.78) 46%,
            rgba(9,21,28,.50) 54%,
            rgba(9,21,28,.24) 63%,
            rgba(9,21,28,.06) 74%,
            rgba(9,21,28,0) 84%
        ) !important;
}


body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    position: relative !important;

    z-index: 2 !important;

    width:
        min(
            1420px,
            calc(100% - 96px)
        ) !important;

    margin:
        0 auto !important;

    padding:
        64px 0 !important;
}


body.azm18-contact-page .page-hero h1,
body.azm18-contact-page .azm-page-hero h1,
body.azm18-contact-page .internal-hero h1 {
    max-width:
        650px !important;

    margin:
        0 0 15px !important;

    color:
        #fff !important;

    font-size:
        clamp(
            46px,
            4.4vw,
            65px
        ) !important;

    font-weight:
        780 !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.05em !important;
}


body.azm18-contact-page .page-hero h1::before,
body.azm18-contact-page .azm-page-hero h1::before,
body.azm18-contact-page .internal-hero h1::before {
    content:
        "" !important;

    display:
        block !important;

    width:
        38px !important;

    height:
        3px !important;

    margin-bottom:
        18px !important;

    background:
        var(--azm15-orange) !important;
}


body.azm18-contact-page .page-hero p,
body.azm18-contact-page .azm-page-hero p,
body.azm18-contact-page .internal-hero p {
    max-width:
        590px !important;

    margin:
        0 !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        16px !important;

    line-height:
        1.6 !important;
}


/* =========================================================
   HLAVNI KONTAKTNI SEKCE
   ========================================================= */

body.azm18-contact-page
.azm18-contact-section {
    padding:
        76px 0 88px !important;

    background:
        var(--azm15-bg) !important;
}


/*
 * Zachovame existujici sirku webu.
 */
body.azm18-contact-page
.azm18-contact-section > .container,
body.azm18-contact-page
.azm18-contact-section > .azm15-shell {
    width:
        min(
            1420px,
            calc(100% - 96px)
        ) !important;

    margin:
        0 auto !important;
}


/* =========================================================
   GRID
   ========================================================= */

body.azm18-contact-page
.azm18-contact-grid {
    display:
        grid !important;

    grid-template-columns:
        minmax(320px,.72fr)
        minmax(0,1.28fr) !important;

    gap:
        26px !important;

    align-items:
        stretch !important;
}


/* =========================================================
   LEVA KONTAKTNI KARTA
   ========================================================= */

body.azm18-contact-page
.azm18-info-card {
    position:
        relative;

    overflow:
        hidden;

    padding:
        36px !important;

    color:
        #fff !important;

    background:
        #0a171e !important;

    border:
        0 !important;

    border-radius:
        10px !important;

    box-shadow:
        0 18px 42px
        rgba(13,23,30,.14) !important;
}


body.azm18-contact-page
.azm18-info-card::before {
    content:
        "";

    display:
        block;

    width:
        38px;

    height:
        3px;

    margin-bottom:
        18px;

    background:
        var(--azm15-orange);
}


body.azm18-contact-page
.azm18-info-card::after {
    content:
        "";

    position:
        absolute;

    right:
        -100px;

    bottom:
        -100px;

    width:
        260px;

    height:
        260px;

    border:
        1px solid
        rgba(255,255,255,.065);

    border-radius:
        50%;

    pointer-events:
        none;
}


body.azm18-contact-page
.azm18-info-card h2,
body.azm18-contact-page
.azm18-info-card h3,
body.azm18-contact-page
.azm18-info-card strong {
    position:
        relative;

    z-index:
        2;

    color:
        #fff !important;
}


body.azm18-contact-page
.azm18-info-card h2 {
    margin:
        0 0 16px !important;

    font-size:
        clamp(
            30px,
            3vw,
            42px
        ) !important;

    line-height:
        1.03 !important;

    letter-spacing:
        -.04em !important;
}


body.azm18-contact-page
.azm18-info-card p {
    position:
        relative;

    z-index:
        2;

    color:
        rgba(255,255,255,.67) !important;

    line-height:
        1.65 !important;
}


/* ---------------------------------------------------------
   Telefon / email
   --------------------------------------------------------- */

body.azm18-contact-page
.azm18-info-card
.azm18-contact-link {
    position:
        relative;

    z-index:
        2;

    display:
        flex !important;

    align-items:
        center;

    min-height:
        48px;

    margin:
        5px 0;

    color:
        #fff !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.08);

    text-decoration:
        none !important;

    font-weight:
        650;
}


body.azm18-contact-page
.azm18-info-card
.azm18-contact-link:hover {
    color:
        var(--azm15-orange) !important;
}


/* =========================================================
   FORM CARD
   ========================================================= */

body.azm18-contact-page
.azm18-form-card {
    min-width:
        0;

    padding:
        38px 40px !important;

    background:
        #fff !important;

    border:
        1px solid
        var(--azm15-border) !important;

    border-radius:
        10px !important;

    box-shadow:
        0 14px 36px
        rgba(13,23,30,.055) !important;
}


body.azm18-contact-page
.azm18-form-card h2,
body.azm18-contact-page
.azm18-form-card h3 {
    margin-top:
        0 !important;

    color:
        var(--azm15-text) !important;

    letter-spacing:
        -.035em;
}


body.azm18-contact-page
.azm18-form-card h2 {
    font-size:
        34px !important;

    line-height:
        1.05 !important;
}


body.azm18-contact-page
.azm18-form-card p {
    color:
        var(--azm15-muted);
}


/* =========================================================
   FORM
   ========================================================= */

body.azm18-contact-page
.azm18-contact-form {
    width:
        100%;
}


body.azm18-contact-page
.azm18-contact-form label {
    color:
        var(--azm15-text) !important;

    font-size:
        12px !important;

    font-weight:
        750 !important;
}


body.azm18-contact-page
.azm18-contact-form input[type="text"],
body.azm18-contact-page
.azm18-contact-form input[type="email"],
body.azm18-contact-page
.azm18-contact-form input[type="tel"],
body.azm18-contact-page
.azm18-contact-form textarea {
    width:
        100% !important;

    color:
        var(--azm15-text) !important;

    background:
        #fbfaf8 !important;

    border:
        1px solid
        #ddd6ce !important;

    border-radius:
        5px !important;

    box-shadow:
        none !important;
}


body.azm18-contact-page
.azm18-contact-form input[type="text"],
body.azm18-contact-page
.azm18-contact-form input[type="email"],
body.azm18-contact-page
.azm18-contact-form input[type="tel"] {
    min-height:
        50px !important;

    padding:
        0 15px !important;
}


body.azm18-contact-page
.azm18-contact-form textarea {
    min-height:
        150px !important;

    padding:
        14px 15px !important;

    resize:
        vertical;
}


body.azm18-contact-page
.azm18-contact-form input:focus,
body.azm18-contact-page
.azm18-contact-form textarea:focus {
    background:
        #fff !important;

    border-color:
        var(--azm15-orange) !important;

    outline:
        0 !important;

    box-shadow:
        0 0 0 3px
        rgba(255,122,26,.10) !important;
}


/* ---------------------------------------------------------
   Submit
   --------------------------------------------------------- */

body.azm18-contact-page
.azm18-contact-form button[type="submit"],
body.azm18-contact-page
.azm18-contact-form input[type="submit"] {
    min-height:
        50px;

    padding:
        0 25px !important;

    color:
        #fff !important;

    background:
        var(--azm15-orange) !important;

    border:
        1px solid
        var(--azm15-orange) !important;

    border-radius:
        4px !important;

    box-shadow:
        0 10px 24px
        rgba(255,122,26,.18) !important;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;
}


body.azm18-contact-page
.azm18-contact-form button[type="submit"]:hover,
body.azm18-contact-page
.azm18-contact-form input[type="submit"]:hover {
    background:
        var(--azm15-orange-dark) !important;

    border-color:
        var(--azm15-orange-dark) !important;
}


/* =========================================================
   CHECKBOX
   ========================================================= */

body.azm18-contact-page
.azm18-contact-form input[type="checkbox"] {
    accent-color:
        var(--azm15-orange);
}


/* =========================================================
   TURNSTILE
   ========================================================= */

body.azm18-contact-page
.azm18-turnstile {
    margin:
        17px 0 !important;

    padding:
        14px !important;

    background:
        #faf7f3;

    border:
        1px solid
        #eee6dd;

    border-radius:
        6px;
}


/* =========================================================
   SUCCESS / ERROR MESSAGES
   ========================================================= */

body.azm18-contact-page
.azm18-form-card
[role="alert"],
body.azm18-contact-page
.azm18-form-card
.alert,
body.azm18-contact-page
.azm18-form-card
.success,
body.azm18-contact-page
.azm18-form-card
.error {
    margin-bottom:
        18px;

    padding:
        14px 16px;

    border-radius:
        6px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    body.azm18-contact-page
    .azm18-contact-grid {
        grid-template-columns:
            minmax(280px,.8fr)
            minmax(0,1.2fr) !important;

        gap:
            18px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            29px !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            30px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    body.azm18-contact-page
    .page-hero,
    body.azm18-contact-page
    .azm-page-hero,
    body.azm18-contact-page
    .internal-hero {
        min-height:
            275px !important;
    }


    body.azm18-contact-page
    .page-hero::before,
    body.azm18-contact-page
    .azm-page-hero::before,
    body.azm18-contact-page
    .internal-hero::before {
        left:
            35% !important;

        background-position:
            68% center !important;
    }


    body.azm18-contact-page
    .page-hero::after,
    body.azm18-contact-page
    .azm-page-hero::after,
    body.azm18-contact-page
    .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                #09151c 0%,
                #09151c 34%,

                rgba(9,21,28,.96) 46%,
                rgba(9,21,28,.72) 61%,
                rgba(9,21,28,.35) 77%,
                rgba(9,21,28,.08) 94%
            ) !important;
    }


    body.azm18-contact-page
    .page-hero > div,
    body.azm18-contact-page
    .azm-page-hero > div,
    body.azm18-contact-page
    .internal-hero > div {
        width:
            calc(100% - 32px) !important;

        padding:
            48px 0 !important;
    }


    body.azm18-contact-page
    .page-hero h1,
    body.azm18-contact-page
    .azm-page-hero h1,
    body.azm18-contact-page
    .internal-hero h1 {
        max-width:
            75% !important;

        font-size:
            41px !important;
    }


    body.azm18-contact-page
    .page-hero p,
    body.azm18-contact-page
    .azm-page-hero p,
    body.azm18-contact-page
    .internal-hero p {
        max-width:
            68% !important;

        font-size:
            14px !important;
    }


    body.azm18-contact-page
    .azm18-contact-section {
        padding:
            50px 0 60px !important;
    }


    body.azm18-contact-page
    .azm18-contact-section > .container,
    body.azm18-contact-page
    .azm18-contact-section > .azm15-shell {
        width:
            calc(100% - 32px) !important;
    }


    body.azm18-contact-page
    .azm18-contact-grid {
        grid-template-columns:
            1fr !important;

        gap:
            14px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            27px !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            26px !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 520px) {

    body.azm18-contact-page
    .page-hero,
    body.azm18-contact-page
    .azm-page-hero,
    body.azm18-contact-page
    .internal-hero {
        min-height:
            245px !important;
    }


    body.azm18-contact-page
    .page-hero > div,
    body.azm18-contact-page
    .azm-page-hero > div,
    body.azm18-contact-page
    .internal-hero > div {
        width:
            calc(100% - 28px) !important;
    }


    body.azm18-contact-page
    .page-hero h1,
    body.azm18-contact-page
    .azm-page-hero h1,
    body.azm18-contact-page
    .internal-hero h1 {
        font-size:
            37px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            23px !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            22px 18px !important;
    }


    body.azm18-contact-page
    .azm18-form-card h2 {
        font-size:
            28px !important;
    }


    body.azm18-contact-page
    .azm18-turnstile {
        padding:
            8px !important;

        overflow:
            hidden;
    }

}


/* AZM CONTACT V18 END */

/* AZM CONTACT V19 START */


/* =========================================================
   KONTAKT V19
   Form vlevo / kontakt vpravo
   ========================================================= */


/* ---------------------------------------------------------
   HERO - stejna osa jako zbytek webu
   --------------------------------------------------------- */

body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    min-height:
        320px !important;
}


body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    width:
        min(
            1220px,
            calc(100% - 64px)
        ) !important;

    margin:
        0 auto !important;

    padding:
        56px 0 !important;
}


body.azm18-contact-page .page-hero h1,
body.azm18-contact-page .azm-page-hero h1,
body.azm18-contact-page .internal-hero h1 {
    font-size:
        clamp(
            45px,
            4vw,
            60px
        ) !important;
}


/*
 * Fotka zustava napravo,
 * vlevo je dostatek cisteho grafitu.
 */
body.azm18-contact-page .page-hero::before,
body.azm18-contact-page .azm-page-hero::before,
body.azm18-contact-page .internal-hero::before {
    left:
        34% !important;

    background-position:
        65% center !important;
}


body.azm18-contact-page .page-hero::after,
body.azm18-contact-page .azm-page-hero::after,
body.azm18-contact-page .internal-hero::after {
    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 28%,

            rgba(9,21,28,.99) 35%,
            rgba(9,21,28,.93) 42%,
            rgba(9,21,28,.76) 49%,
            rgba(9,21,28,.50) 57%,
            rgba(9,21,28,.25) 65%,
            rgba(9,21,28,.07) 75%,
            rgba(9,21,28,0) 86%
        ) !important;
}


/* ---------------------------------------------------------
   SEKCE
   --------------------------------------------------------- */

body.azm18-contact-page
.azm18-contact-section {
    padding:
        64px 0 76px !important;
}


body.azm18-contact-page
.azm18-contact-section > .container,
body.azm18-contact-page
.azm18-contact-section > .azm15-shell {
    width:
        min(
            1220px,
            calc(100% - 64px)
        ) !important;

    margin:
        0 auto !important;
}


/* =========================================================
   GRID
   Hlavni formular vlevo, kontakt napravo.
   ========================================================= */

body.azm18-contact-page
.azm18-contact-grid {
    display:
        grid !important;

    grid-template-columns:
        minmax(0,1.38fr)
        minmax(310px,.62fr) !important;

    gap:
        24px !important;

    align-items:
        start !important;
}


/*
 * DOM ma kontakt vetsinou prvni.
 * Vizuálně jej dame napravo.
 */
body.azm18-contact-page
.azm18-info-card {
    grid-column:
        2 !important;

    grid-row:
        1 !important;
}


body.azm18-contact-page
.azm18-form-card {
    grid-column:
        1 !important;

    grid-row:
        1 !important;
}


/* =========================================================
   FORMULAR
   ========================================================= */

body.azm18-contact-page
.azm18-form-card {
    padding:
        37px 39px 39px !important;

    border-radius:
        9px !important;

    border:
        1px solid
        var(--azm15-border) !important;

    box-shadow:
        0 14px 36px
        rgba(13,23,30,.05) !important;
}


body.azm18-contact-page
.azm18-form-card h2 {
    margin-bottom:
        11px !important;

    font-size:
        35px !important;

    line-height:
        1.04 !important;

    letter-spacing:
        -.04em !important;
}


body.azm18-contact-page
.azm18-form-card > p {
    margin-bottom:
        28px !important;
}


/*
 * Inputy jsou mekci a lepe odpovidaji
 * ostatnim kartam na webu.
 */
body.azm18-contact-page
.azm18-contact-form input[type="text"],
body.azm18-contact-page
.azm18-contact-form input[type="email"],
body.azm18-contact-page
.azm18-contact-form input[type="tel"],
body.azm18-contact-page
.azm18-contact-form textarea {
    background:
        #fdfbf8 !important;

    border-color:
        #e3dcd4 !important;
}


body.azm18-contact-page
.azm18-contact-form input[type="text"]:hover,
body.azm18-contact-page
.azm18-contact-form input[type="email"]:hover,
body.azm18-contact-page
.azm18-contact-form input[type="tel"]:hover,
body.azm18-contact-page
.azm18-contact-form textarea:hover {
    border-color:
        #cfc5bb !important;
}


/* =========================================================
   TURNSTILE
   interaction-only nesmi vytvaret prazdny pruh
   ========================================================= */

body.azm18-contact-page
.azm18-turnstile {
    min-height:
        0 !important;

    margin:
        13px 0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    background:
        transparent !important;

    border:
        0 !important;

    border-radius:
        0 !important;
}


body.azm18-contact-page
.azm18-turnstile:empty {
    display:
        none !important;
}


/* =========================================================
   TMAVA KONTAKTNI KARTA
   ========================================================= */

body.azm18-contact-page
.azm18-info-card {
    position:
        sticky !important;

    top:
        105px !important;

    width:
        100%;

    min-height:
        auto !important;

    padding:
        30px !important;

    border-radius:
        9px !important;

    box-shadow:
        0 18px 42px
        rgba(13,23,30,.12) !important;
}


body.azm18-contact-page
.azm18-info-card::before {
    margin-bottom:
        16px !important;
}


body.azm18-contact-page
.azm18-info-card h2 {
    margin:
        0 0 12px !important;

    font-size:
        30px !important;

    line-height:
        1.04 !important;
}


body.azm18-contact-page
.azm18-info-card p {
    margin-bottom:
        22px !important;

    font-size:
        13px !important;

    line-height:
        1.62 !important;
}


/*
 * Oddelovace uvnitr tmave karty
 * budou jemnejsi.
 */
body.azm18-contact-page
.azm18-info-card hr {
    margin:
        22px 0 !important;

    border:
        0 !important;

    border-top:
        1px solid
        rgba(255,255,255,.09) !important;
}


/*
 * Telefon a e-mail.
 */
body.azm18-contact-page
.azm18-info-card
.azm18-contact-link {
    min-height:
        53px;

    margin:
        0 !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.08);
}


/* =========================================================
   SUBMIT
   ========================================================= */

body.azm18-contact-page
.azm18-contact-form button[type="submit"],
body.azm18-contact-page
.azm18-contact-form input[type="submit"] {
    min-width:
        165px;

    min-height:
        50px;

    margin-top:
        6px;
}


/* =========================================================
   FOOTER LEGAL
   ========================================================= */

.azm15-footer-legal {
    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        23px;
}


.azm15-footer-legal a {
    color:
        rgba(255,255,255,.48) !important;

    font-size:
        10px;

    text-decoration:
        none !important;

    transition:
        color .18s ease;
}


.azm15-footer-legal a:hover {
    color:
        var(--azm15-orange) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    body.azm18-contact-page
    .azm18-contact-grid {
        grid-template-columns:
            minmax(0,1.15fr)
            minmax(285px,.85fr) !important;

        gap:
            17px !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            29px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            25px !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    body.azm18-contact-page
    .page-hero > div,
    body.azm18-contact-page
    .azm-page-hero > div,
    body.azm18-contact-page
    .internal-hero > div,

    body.azm18-contact-page
    .azm18-contact-section > .container,
    body.azm18-contact-page
    .azm18-contact-section > .azm15-shell {
        width:
            calc(100% - 32px) !important;
    }


    body.azm18-contact-page
    .azm18-contact-grid {
        display:
            flex !important;

        flex-direction:
            column !important;

        gap:
            13px !important;
    }


    /*
     * Na mobilu kontakt nejdrive,
     * formular hned pod nim.
     */
    body.azm18-contact-page
    .azm18-info-card {
        position:
            relative !important;

        top:
            auto !important;

        order:
            1 !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        order:
            2 !important;
    }


    body.azm18-contact-page
    .azm18-contact-section {
        padding:
            42px 0 55px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            25px !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            25px !important;
    }


    .azm15-footer-legal {
        justify-content:
            flex-start;

        flex-wrap:
            wrap;

        gap:
            8px 18px;
    }

}


/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 520px) {

    body.azm18-contact-page
    .page-hero > div,
    body.azm18-contact-page
    .azm-page-hero > div,
    body.azm18-contact-page
    .internal-hero > div,

    body.azm18-contact-page
    .azm18-contact-section > .container,
    body.azm18-contact-page
    .azm18-contact-section > .azm15-shell {
        width:
            calc(100% - 28px) !important;
    }


    body.azm18-contact-page
    .azm18-form-card {
        padding:
            22px 18px !important;
    }


    body.azm18-contact-page
    .azm18-info-card {
        padding:
            22px !important;
    }


    body.azm18-contact-page
    .azm18-form-card h2 {
        font-size:
            29px !important;
    }


    body.azm18-contact-page
    .azm18-info-card h2 {
        font-size:
            27px !important;
    }


    .azm15-footer-bottom {
        align-items:
            flex-start;
    }

}


/* AZM CONTACT V19 END */


/* =========================================================
   AZM CONTACT HERO V20
   FINAL: TEXT VLEVO / PLYNULY PRECHOD / FOTO VPRAVO
   ========================================================= */

body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    position: relative !important;

    min-height: 330px !important;

    display: flex !important;
    align-items: center !important;

    isolation: isolate !important;
    overflow: hidden !important;

    background: #08161e !important;

    border-bottom:
        2px solid
        var(--azm15-orange) !important;
}


/*
 * Fotka je POD CELYM headerem.
 * Zadny tvrdy svisly predel.
 */
body.azm18-contact-page .page-hero::before,
body.azm18-contact-page .azm-page-hero::before,
body.azm18-contact-page .internal-hero::before {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -2 !important;

    background-image:
        url('/site/templates/assets/img/footer-machining.jpg') !important;

    background-repeat:
        no-repeat !important;

    background-size:
        cover !important;

    background-position:
        67% center !important;

    transform: none !important;

    opacity: 1 !important;

    filter:
        saturate(.95)
        contrast(1.04) !important;
}


/*
 * Vlevo je plna tmava plocha.
 * Od cca 35 % se fotka pomalu objevuje.
 */
body.azm18-contact-page .page-hero::after,
body.azm18-contact-page .azm-page-hero::after,
body.azm18-contact-page .internal-hero::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -1 !important;

    background:
        linear-gradient(
            90deg,

            rgba(8,22,30,1) 0%,
            rgba(8,22,30,1) 29%,

            rgba(8,22,30,.99) 35%,
            rgba(8,22,30,.96) 40%,
            rgba(8,22,30,.88) 46%,
            rgba(8,22,30,.70) 53%,
            rgba(8,22,30,.46) 60%,
            rgba(8,22,30,.23) 67%,
            rgba(8,22,30,.08) 75%,
            rgba(8,22,30,0) 84%
        ) !important;
}


/*
 * Stejna obsahova osa jako formular.
 */
body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    position: relative !important;

    z-index: 2 !important;

    width:
        min(
            1220px,
            calc(100% - 64px)
        ) !important;

    margin:
        0 auto !important;

    padding:
        62px 0 !important;
}


/*
 * Text nesmi pretekat do fotky.
 */
body.azm18-contact-page .page-hero h1,
body.azm18-contact-page .azm-page-hero h1,
body.azm18-contact-page .internal-hero h1 {
    max-width:
        520px !important;

    margin:
        0 0 15px !important;

    color:
        #fff !important;

    font-size:
        clamp(
            46px,
            4.1vw,
            61px
        ) !important;

    font-weight:
        780 !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.05em !important;
}


body.azm18-contact-page .page-hero h1::before,
body.azm18-contact-page .azm-page-hero h1::before,
body.azm18-contact-page .internal-hero h1::before {
    content: "" !important;

    display: block !important;

    width: 38px !important;
    height: 3px !important;

    margin-bottom: 18px !important;

    background:
        var(--azm15-orange) !important;
}


body.azm18-contact-page .page-hero p,
body.azm18-contact-page .azm-page-hero p,
body.azm18-contact-page .internal-hero p {
    max-width:
        500px !important;

    margin: 0 !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        15px !important;

    line-height:
        1.6 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height:
            290px !important;
    }


    body.azm18-contact-page .page-hero::before,
    body.azm18-contact-page .azm-page-hero::before,
    body.azm18-contact-page .internal-hero::before {
        background-position:
            70% center !important;
    }


    body.azm18-contact-page .page-hero::after,
    body.azm18-contact-page .azm-page-hero::after,
    body.azm18-contact-page .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                rgba(8,22,30,1) 0%,
                rgba(8,22,30,1) 35%,

                rgba(8,22,30,.97) 43%,
                rgba(8,22,30,.82) 53%,
                rgba(8,22,30,.56) 64%,
                rgba(8,22,30,.24) 76%,
                rgba(8,22,30,.06) 90%
            ) !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height:
            245px !important;
    }


    body.azm18-contact-page .page-hero::before,
    body.azm18-contact-page .azm-page-hero::before,
    body.azm18-contact-page .internal-hero::before {
        background-position:
            73% center !important;
    }


    body.azm18-contact-page .page-hero::after,
    body.azm18-contact-page .azm-page-hero::after,
    body.azm18-contact-page .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                rgba(8,22,30,1) 0%,
                rgba(8,22,30,.99) 45%,
                rgba(8,22,30,.90) 58%,
                rgba(8,22,30,.62) 72%,
                rgba(8,22,30,.27) 86%,
                rgba(8,22,30,.10) 100%
            ) !important;
    }


    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width:
            calc(100% - 28px) !important;

        padding:
            43px 0 !important;
    }


    body.azm18-contact-page .page-hero h1,
    body.azm18-contact-page .azm-page-hero h1,
    body.azm18-contact-page .internal-hero h1 {
        max-width:
            75% !important;

        font-size:
            38px !important;
    }


    body.azm18-contact-page .page-hero p,
    body.azm18-contact-page .azm-page-hero p,
    body.azm18-contact-page .internal-hero p {
        max-width:
            72% !important;

        font-size:
            14px !important;
    }

}


/* =========================================================
   CONTACT HERO = SERVICE HERO 1:1
   ========================================================= */

body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    position: relative !important;

    min-height: 360px !important;

    display: flex !important;
    align-items: center !important;

    isolation: isolate !important;
    overflow: hidden !important;

    background: #09151c !important;

    border-bottom:
        2px solid
        var(--azm15-orange) !important;
}


/*
 * Stejne jako Servis a nahradni dily:
 * fotografie pres cely hero.
 */
body.azm18-contact-page .page-hero::before,
body.azm18-contact-page .azm-page-hero::before,
body.azm18-contact-page .internal-hero::before {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -2 !important;

    background-image:
        url('/site/templates/assets/img/servis.jpg') !important;

    background-repeat:
        no-repeat !important;

    background-size:
        cover !important;

    background-position:
        61% center !important;

    transform: none !important;

    opacity: 1 !important;

    filter: none !important;
}


/*
 * Stejny gradient jako servisni hero.
 */
body.azm18-contact-page .page-hero::after,
body.azm18-contact-page .azm-page-hero::after,
body.azm18-contact-page .internal-hero::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    z-index: -1 !important;

    background:
        linear-gradient(
            90deg,

            #09151c 0%,
            #09151c 23%,

            rgba(9,21,28,.99) 31%,
            rgba(9,21,28,.94) 38%,
            rgba(9,21,28,.77) 45%,
            rgba(9,21,28,.50) 53%,
            rgba(9,21,28,.24) 62%,
            rgba(9,21,28,.06) 73%,
            rgba(9,21,28,0) 84%
        ) !important;
}


/*
 * Stejna obsahova osa jako Servis.
 */
body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    position: relative !important;

    z-index: 2 !important;

    width:
        min(
            1420px,
            calc(100% - 96px)
        ) !important;

    margin:
        0 auto !important;

    padding:
        65px 0 !important;
}


/*
 * Nadpis 1:1 ve stejne typografii.
 */
body.azm18-contact-page .page-hero h1,
body.azm18-contact-page .azm-page-hero h1,
body.azm18-contact-page .internal-hero h1 {
    max-width: 640px !important;

    margin:
        0 0 16px !important;

    color:
        #fff !important;

    font-size:
        clamp(
            46px,
            4.4vw,
            65px
        ) !important;

    font-weight:
        780 !important;

    line-height:
        .98 !important;

    letter-spacing:
        -.05em !important;
}


/*
 * Oranzova linka nad titulkem.
 */
body.azm18-contact-page .page-hero h1::before,
body.azm18-contact-page .azm-page-hero h1::before,
body.azm18-contact-page .internal-hero h1::before {
    content: "" !important;

    display: block !important;

    width: 38px !important;
    height: 3px !important;

    margin-bottom: 18px !important;

    background:
        var(--azm15-orange) !important;
}


body.azm18-contact-page .page-hero p,
body.azm18-contact-page .azm-page-hero p,
body.azm18-contact-page .internal-hero p {
    max-width: 590px !important;

    margin: 0 !important;

    color:
        rgba(255,255,255,.76) !important;

    font-size:
        16px !important;

    line-height:
        1.6 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height:
            300px !important;
    }


    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width:
            calc(100% - 50px) !important;
    }


    body.azm18-contact-page .page-hero::before,
    body.azm18-contact-page .azm-page-hero::before,
    body.azm18-contact-page .internal-hero::before {
        background-position:
            64% center !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 820px) {

    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height:
            275px !important;
    }


    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width:
            calc(100% - 32px) !important;

        padding:
            48px 0 !important;
    }


    body.azm18-contact-page .page-hero::before,
    body.azm18-contact-page .azm-page-hero::before,
    body.azm18-contact-page .internal-hero::before {
        background-position:
            68% center !important;
    }


    body.azm18-contact-page .page-hero::after,
    body.azm18-contact-page .azm-page-hero::after,
    body.azm18-contact-page .internal-hero::after {
        background:
            linear-gradient(
                90deg,

                #09151c 0%,
                #09151c 34%,

                rgba(9,21,28,.97) 46%,
                rgba(9,21,28,.74) 61%,
                rgba(9,21,28,.37) 77%,
                rgba(9,21,28,.09) 94%
            ) !important;
    }


    body.azm18-contact-page .page-hero h1,
    body.azm18-contact-page .azm-page-hero h1,
    body.azm18-contact-page .internal-hero h1 {
        max-width:
            75% !important;

        font-size:
            41px !important;
    }


    body.azm18-contact-page .page-hero p,
    body.azm18-contact-page .azm-page-hero p,
    body.azm18-contact-page .internal-hero p {
        max-width:
            70% !important;

        font-size:
            14px !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 520px) {

    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height:
            245px !important;
    }


    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width:
            calc(100% - 28px) !important;

        padding:
            42px 0 !important;
    }


    body.azm18-contact-page .page-hero h1,
    body.azm18-contact-page .azm-page-hero h1,
    body.azm18-contact-page .internal-hero h1 {
        font-size:
            37px !important;
    }

}
/* AZM INNER UNIFIED V21 */
:root{
  --azm-inner-max:1220px;
  --azm-inner-side:64px;
}
.azm-category-hero-v2,
.page-hero,
.azm-page-hero,
.internal-hero{
  position:relative!important;
  min-height:250px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    linear-gradient(115deg,#08161e 0%,#0b1b24 58%,#102630 100%)!important;
  border-bottom:2px solid var(--azm15-orange)!important;
}
.azm-category-hero-v2__photo,
.azm-category-hero-v2__gradient{
  display:none!important;
}
.page-hero::before,
.page-hero::after,
.azm-page-hero::before,
.azm-page-hero::after,
.internal-hero::before,
.internal-hero::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.azm-category-hero-v2::after,
.page-hero > div::after,
.azm-page-hero > div::after,
.internal-hero > div::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-150px;
  top:-180px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:50%;
  pointer-events:none;
}
.azm-category-hero-v2__shell,
.page-hero > .container,
.azm-page-hero > .container,
.internal-hero > .container,
.page-hero > .azm15-shell,
.azm-page-hero > .azm15-shell,
.internal-hero > .azm15-shell{
  position:relative!important;
  z-index:2!important;
  width:min(var(--azm-inner-max),calc(100% - var(--azm-inner-side)))!important;
  margin:0 auto!important;
  padding:52px 0!important;
}
.azm-category-hero-v2__copy{
  max-width:none!important;
  padding:0!important;
}
.azm-category-hero-v2__line{
  width:38px!important;
  height:3px!important;
  display:block!important;
  margin:0 0 18px!important;
  background:var(--azm15-orange)!important;
}
.page-hero h1::before,
.azm-page-hero h1::before,
.internal-hero h1::before{
  content:""!important;
  display:block!important;
  width:38px!important;
  height:3px!important;
  margin-bottom:18px!important;
  background:var(--azm15-orange)!important;
}
.azm-category-hero-v2 h1,
.page-hero h1,
.azm-page-hero h1,
.internal-hero h1{
  max-width:none!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(42px,4vw,58px)!important;
  font-weight:780!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
}
.azm-category-hero-v2 p,
.page-hero p,
.azm-page-hero p,
.internal-hero p{
  display:none!important;
}

/* sjednocena sirka obsahu vnitrnich stranek */
.azm-category-page-v2 .azm15-shell,
.azm16-offer .azm15-shell,
.azm17-service .azm15-shell,
body.azm18-contact-page .azm18-contact-section > .container,
body.azm18-contact-page .azm18-contact-section > .azm15-shell,
.page-content > .container,
.content-section > .container{
  width:min(var(--azm-inner-max),calc(100% - var(--azm-inner-side)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:820px){
  :root{--azm-inner-side:32px;}
  .azm-category-hero-v2,
  .page-hero,
  .azm-page-hero,
  .internal-hero{
    min-height:190px!important;
  }
  .azm-category-hero-v2__shell,
  .page-hero > .container,
  .azm-page-hero > .container,
  .internal-hero > .container,
  .page-hero > .azm15-shell,
  .azm-page-hero > .azm15-shell,
  .internal-hero > .azm15-shell{
    padding:38px 0!important;
  }
  .azm-category-hero-v2 h1,
  .page-hero h1,
  .azm-page-hero h1,
  .internal-hero h1{
    font-size:38px!important;
  }
}
@media(max-width:520px){
  :root{--azm-inner-side:28px;}
  .azm-category-hero-v2,
  .page-hero,
  .azm-page-hero,
  .internal-hero{
    min-height:170px!important;
  }
  .azm-category-hero-v2 h1,
  .page-hero h1,
  .azm-page-hero h1,
  .internal-hero h1{
    font-size:34px!important;
  }
}
/* /AZM INNER UNIFIED V21 */
/* AZM CONTACT HEADER EXACT MATCH V22 */
body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    min-height: 250px !important;
    height: auto !important;
    padding: 0 !important;
}

body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    width: min(1220px, calc(100% - 64px)) !important;
    margin: 0 auto !important;
    padding: 52px 0 !important;
}

body.azm18-contact-page .page-hero h1,
body.azm18-contact-page .azm-page-hero h1,
body.azm18-contact-page .internal-hero h1 {
    margin: 0 !important;
    max-width: none !important;
    font-size: clamp(42px, 4vw, 58px) !important;
    line-height: 1 !important;
}

body.azm18-contact-page .page-hero h1::before,
body.azm18-contact-page .azm-page-hero h1::before,
body.azm18-contact-page .internal-hero h1::before {
    width: 38px !important;
    height: 3px !important;
    margin-bottom: 18px !important;
}

body.azm18-contact-page .page-hero p,
body.azm18-contact-page .azm-page-hero p,
body.azm18-contact-page .internal-hero p {
    display: none !important;
}

@media (max-width: 820px) {
    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height: 190px !important;
    }

    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width: calc(100% - 32px) !important;
        padding: 38px 0 !important;
    }

    body.azm18-contact-page .page-hero h1,
    body.azm18-contact-page .azm-page-hero h1,
    body.azm18-contact-page .internal-hero h1 {
        font-size: 38px !important;
    }
}

@media (max-width: 520px) {
    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height: 170px !important;
    }

    body.azm18-contact-page .page-hero > div,
    body.azm18-contact-page .azm-page-hero > div,
    body.azm18-contact-page .internal-hero > div {
        width: calc(100% - 28px) !important;
        padding: 32px 0 !important;
    }

    body.azm18-contact-page .page-hero h1,
    body.azm18-contact-page .azm-page-hero h1,
    body.azm18-contact-page .internal-hero h1 {
        font-size: 34px !important;
    }
}
/* /AZM CONTACT HEADER EXACT MATCH V22 */


/* AZM INNER FINAL V23 START */

:root {
    --azm-inner-width: 1220px;
    --azm-inner-gap: 64px;
}

/* VSECHNY VNITRNI HEADERY */
.azm-category-hero-v2,
.page-hero,
.azm-page-hero,
.internal-hero {
    position: relative !important;
    min-height: 250px !important;
    height: 250px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background: linear-gradient(115deg,#08161e 0%,#0b1b24 60%,#102630 100%) !important;
    border-bottom: 2px solid var(--azm15-orange) !important;
}

/* PRYC VSECHNY FOTKY A STARE DEKORACE */
.azm-category-hero-v2__photo,
.azm-category-hero-v2__gradient {
    display: none !important;
}

.page-hero::before,
.page-hero::after,
.azm-page-hero::before,
.azm-page-hero::after,
.internal-hero::before,
.internal-hero::after {
    content: none !important;
    display: none !important;
}

/* JEDNOTNA OSA */
.azm-category-hero-v2__shell,
.page-hero > .container,
.azm-page-hero > .container,
.internal-hero > .container,
.page-hero > .azm15-shell,
.azm-page-hero > .azm15-shell,
.internal-hero > .azm15-shell {
    width: min(var(--azm-inner-width),calc(100% - var(--azm-inner-gap))) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* PRYC STARE ODSAZENI COPY */
.azm-category-hero-v2__copy {
    max-width: none !important;
    padding: 0 !important;
}

/* ORANZOVA LINKA */
.azm-category-hero-v2__line,
.page-hero h1::before,
.azm-page-hero h1::before,
.internal-hero h1::before {
    content: "" !important;
    display: block !important;
    width: 38px !important;
    height: 3px !important;
    margin: 0 0 18px !important;
    background: var(--azm15-orange) !important;
}

/* MENI SE JEN NADPIS */
.azm-category-hero-v2 h1,
.page-hero h1,
.azm-page-hero h1,
.internal-hero h1 {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(42px,4vw,58px) !important;
    font-weight: 780 !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
}

.azm-category-hero-v2 p,
.page-hero p,
.azm-page-hero p,
.internal-hero p {
    display: none !important;
}

/* JEDNOTNA SIRKA OBSAHU */
.azm-category-page-v2 .azm15-shell,
.azm16-offer .azm15-shell,
.azm17-service .azm15-shell,
.azm18-contact-page .azm18-contact-section > .container,
.azm18-contact-page .azm18-contact-section > .azm15-shell,
.page-content > .container,
.content-section > .container {
    width: min(var(--azm-inner-width),calc(100% - var(--azm-inner-gap))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* KONTAKT - PREBITI STARYCH V18/V19/V20 PRAVIDEL */
body.azm18-contact-page .page-hero,
body.azm18-contact-page .azm-page-hero,
body.azm18-contact-page .internal-hero {
    min-height: 250px !important;
    height: 250px !important;
    background: linear-gradient(115deg,#08161e 0%,#0b1b24 60%,#102630 100%) !important;
}

body.azm18-contact-page .page-hero > div,
body.azm18-contact-page .azm-page-hero > div,
body.azm18-contact-page .internal-hero > div {
    width: min(var(--azm-inner-width),calc(100% - var(--azm-inner-gap))) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* MOBIL */
@media (max-width:820px) {
    :root {
        --azm-inner-gap: 32px;
    }

    .azm-category-hero-v2,
    .page-hero,
    .azm-page-hero,
    .internal-hero,
    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height: 190px !important;
        height: 190px !important;
    }

    .azm-category-hero-v2 h1,
    .page-hero h1,
    .azm-page-hero h1,
    .internal-hero h1,
    body.azm18-contact-page .page-hero h1 {
        font-size: 38px !important;
    }
}

@media (max-width:520px) {
    :root {
        --azm-inner-gap: 28px;
    }

    .azm-category-hero-v2,
    .page-hero,
    .azm-page-hero,
    .internal-hero,
    body.azm18-contact-page .page-hero,
    body.azm18-contact-page .azm-page-hero,
    body.azm18-contact-page .internal-hero {
        min-height: 170px !important;
        height: 170px !important;
    }

    .azm-category-hero-v2 h1,
    .page-hero h1,
    .azm-page-hero h1,
    .internal-hero h1 {
        font-size: 34px !important;
    }
}

/* AZM INNER FINAL V23 END */


/* AZM FOOTER LEGAL V24 */
.azm-footer-legal-v24 {
    width: min(1220px, calc(100% - 64px));
    margin: 0 auto;
    padding: 16px 0 22px;
    display: flex;
    align-items: center;
    gap: 24px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.azm-footer-legal-v24 a {
    color: rgba(255,255,255,.56) !important;
    font-size: 11px;
    text-decoration: none !important;
}
.azm-footer-legal-v24 a:hover {
    color: var(--azm15-orange) !important;
}
@media (max-width:820px) {
    .azm-footer-legal-v24 {
        width: calc(100% - 32px);
        gap: 10px 20px;
        flex-wrap: wrap;
    }
}
