/* =========================================================
   AZM-METAL
   Premium industrial design
   ========================================================= */

:root {
    --azm-paper: #f4f2ee;
    --azm-white: #ffffff;
    --azm-ink: #171c20;
    --azm-graphite: #20262b;
    --azm-dark: #11171b;
    --azm-muted: #667078;
    --azm-line: #dedbd5;

    --azm-copper: #b86d32;
    --azm-copper-dark: #955021;
    --azm-copper-light: #d39a6d;
}


/* =========================================================
   GLOBAL
   ========================================================= */

body {
    background: var(--azm-paper);
    color: var(--azm-ink);

    font-family:
        "Helvetica Neue",
        Helvetica,
        Arial,
        system-ui,
        sans-serif;

    -webkit-font-smoothing: antialiased;
}

.container {
    width:
        min(
            1240px,
            calc(100% - 64px)
        );
}

.section {
    padding:
        96px 0;
}

.section-white {
    background:
        var(--azm-white);
}

.eyebrow {
    color:
        var(--azm-copper);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .18em;

    text-transform: uppercase;
}

.section-head {
    margin-bottom: 44px;
}

.section-head h2 {
    max-width: 780px;

    font-size:
        clamp(
            32px,
            4vw,
            46px
        );

    font-weight: 700;
    line-height: 1.07;

    letter-spacing:
        -.035em;
}

.section-head p {
    max-width: 650px;

    color:
        var(--azm-muted);

    font-size: 17px;
}


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

.site-header {
    position: sticky;
    top: 0;

    z-index: 100;

    background:
        rgba(255,255,255,.97);

    border-bottom:
        1px solid
        rgba(23,28,32,.09);

    box-shadow:
        0 8px 35px
        rgba(14,19,22,.045);

    backdrop-filter:
        blur(12px);
}

.header-inner {
    min-height: 108px;

    gap: 50px;
}

.brand {
    height: 88px;

    display: flex;
    align-items: center;

    flex-shrink: 0;
}

.brand-logo {
    width: auto;

    max-width: 380px;
    max-height: 78px;

    object-fit: contain;
}

.main-nav {
    gap: 11px;
}

.main-nav a {
    position: relative;

    padding:
        12px 10px;

    color:
        #242a2f;

    background:
        transparent;

    border-radius: 0;

    font-size: 13px;
    font-weight: 700;

    letter-spacing:
        .065em;

    text-transform:
        uppercase;

    transition:
        color .2s ease;
}

.main-nav a::after {
    content: "";

    position: absolute;

    left: 10px;
    right: 10px;
    bottom: 4px;

    height: 2px;

    background:
        var(--azm-copper);

    transform:
        scaleX(0);

    transform-origin:
        left center;

    transition:
        transform .2s ease;
}

.main-nav a:hover,
.main-nav a.active {
    color:
        var(--azm-copper-dark);

    background:
        transparent;
}

.main-nav a:hover::after,
.main-nav a.active::after {
    transform:
        scaleX(1);
}


/*
 * Kontakt vypada jako samostatne CTA,
 * ale porad decentne.
 */
.main-nav .nav-contact {
    margin-left: 12px;

    padding:
        13px 20px;

    color: #fff;

    background:
        var(--azm-graphite);

    border:
        1px solid
        var(--azm-graphite);

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

.main-nav .nav-contact::after {
    display: none;
}

.main-nav .nav-contact:hover {
    color: #fff;

    background:
        var(--azm-copper);

    border-color:
        var(--azm-copper);

    transform:
        translateY(-1px);
}

.menu-toggle {
    color:
        var(--azm-ink);
}


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

.hero-photo {
    position: relative;

    min-height:
        min(
            680px,
            calc(100vh - 108px)
        );

    display: flex;
    align-items: center;

    overflow: hidden;

    background-position:
        center center;
}

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

    position: absolute;

    inset: auto 0 0;

    height: 130px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(10,15,18,.20)
        );

    pointer-events: none;
}

.hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(12,17,20,.96) 0%,
            rgba(12,17,20,.86) 32%,
            rgba(12,17,20,.55) 63%,
            rgba(12,17,20,.13) 100%
        );
}

.hero-content {
    position: relative;
    z-index: 2;

    max-width: 870px;

    padding:
        76px 0;
}

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

    display: block;

    width: 55px;
    height: 3px;

    margin-bottom:
        29px;

    background:
        var(--azm-copper);
}

.hero-content .eyebrow {
    color:
        #d9a77f;
}

.hero-content h1 {
    max-width: 850px;

    margin:
        12px 0 28px;

    color: #fff;

    font-size:
        clamp(
            48px,
            5.7vw,
            76px
        );

    font-weight: 700;
    line-height: .99;

    letter-spacing:
        -.052em;
}

.hero-content p {
    max-width: 690px;

    margin:
        0 0 38px;

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

    font-size: 19px;
    line-height: 1.7;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.btn {
    min-height: 52px;

    padding:
        0 25px;

    border-radius:
        2px;

    font-size: 13px;
    font-weight: 800;

    letter-spacing:
        .065em;

    text-transform:
        uppercase;

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

.btn-primary {
    background:
        var(--azm-copper);

    border-color:
        var(--azm-copper);
}

.btn-primary:hover {
    background:
        var(--azm-copper-dark);

    border-color:
        var(--azm-copper-dark);

    transform:
        translateY(-2px);
}


/* =========================================================
   HLAVNI 3 KARTY
   ========================================================= */

.service-cards {
    gap: 2px;

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

.service-card {
    min-height: 440px;

    border-radius: 0;

    background:
        var(--azm-dark);

    isolation: isolate;
}

.service-card img {
    opacity: .68;

    filter:
        saturate(.78)
        contrast(1.04);

    transition:
        transform .65s
        cubic-bezier(.2,.7,.2,1),
        opacity .4s ease,
        filter .4s ease;
}

.service-card::after {
    background:
        linear-gradient(
            180deg,
            rgba(10,15,18,.05) 15%,
            rgba(10,15,18,.92) 100%
        );
}

.service-card > div {
    left: 32px;
    right: 32px;
    bottom: 32px;
}

.service-card h2 {
    max-width: 330px;

    margin-bottom: 10px;

    font-size: 30px;
    font-weight: 650;

    letter-spacing:
        -.025em;
}

.service-card span {
    color:
        #e0aa80;

    font-size: 12px;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

.service-card:hover img {
    transform:
        scale(1.055);

    opacity: .80;

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


/* =========================================================
   KONTAKTNI PAS
   ========================================================= */

.contact-band {
    position: relative;

    padding:
        88px 0;

    background:
        var(--azm-dark);

    border-top:
        3px solid
        var(--azm-copper);
}

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

    position: absolute;

    right: 5%;
    bottom: -35px;

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

    font-size: 190px;
    font-weight: 900;

    line-height: 1;

    pointer-events: none;
}

.contact-band-inner {
    position: relative;
    z-index: 2;
}

.contact-band h2 {
    max-width: 720px;

    margin:
        7px 0 16px;

    font-size:
        clamp(
            30px,
            4vw,
            43px
        );

    line-height: 1.08;

    letter-spacing:
        -.035em;
}

.contact-band p {
    max-width: 720px;

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   VYROBCI - PREMIUM ROTATOR
   ========================================================= */

.manufacturer-section {
    position: relative;

    padding-top:
        100px;

    background:
        #f7f6f3;
}

.manufacturer-rotator {
    padding:
        12px 0 34px;
}

.manufacturer-track {
    gap: 2px;

    animation-duration:
        42s;
}

.manufacturer-set {
    gap: 2px;
}

.manufacturer-slide {
    width: 280px;
    height: 154px;

    flex-basis:
        280px;

    padding:
        25px 30px;

    background:
        #fff;

    border:
        0;

    border-right:
        1px solid
        #e6e3de;

    border-radius:
        0;

    box-shadow:
        none;

    transition:
        background .25s ease;
}

.manufacturer-slide img {
    max-width:
        190px;

    height:
        72px;

    filter:
        grayscale(1);

    opacity:
        .73;

    transition:
        filter .3s ease,
        opacity .3s ease,
        transform .3s ease;
}

.manufacturer-slide strong {
    color:
        #5b6369;

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        .045em;

    text-transform:
        uppercase;
}

.manufacturer-slide:hover {
    background:
        #faf9f7;
}

.manufacturer-slide:hover img {
    filter:
        grayscale(0);

    opacity: 1;

    transform:
        scale(1.035);
}


/* =========================================================
   PRODUKTOVE KARTY
   ========================================================= */

.product-grid {
    gap: 28px;
}

.product-card {
    border:
        1px solid
        #e1ded8;

    border-radius:
        3px;

    background:
        #fff;

    box-shadow:
        0 10px 32px
        rgba(15,20,23,.035);

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

.product-card:hover {
    transform:
        translateY(-5px);

    border-color:
        #cbc5bd;

    box-shadow:
        0 18px 50px
        rgba(15,20,23,.09);
}

.product-image {
    background:
        #eceae6;
}

.product-image img {
    transition:
        transform .5s ease;
}

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

.product-badge {
    top: 17px;
    left: 17px;

    padding:
        7px 10px;

    border-radius:
        2px;

    background:
        rgba(18,24,28,.88);

    backdrop-filter:
        blur(8px);

    font-size: 10px;

    letter-spacing:
        .07em;

    text-transform:
        uppercase;
}

.product-card-body {
    padding:
        27px 26px 29px;
}

.product-maker {
    color:
        var(--azm-copper);

    letter-spacing:
        .12em;
}

.product-card h3 {
    margin:
        8px 0 12px;

    font-size: 23px;

    letter-spacing:
        -.025em;
}


/* =========================================================
   VNITRNI STRANKY
   ========================================================= */

.page-hero {
    position: relative;

    padding:
        72px 0 68px;

    overflow: hidden;

    background:
        linear-gradient(
            120deg,
            #11171b 0%,
            #252d32 100%
        );

    border-bottom:
        3px solid
        var(--azm-copper);
}

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

    position: absolute;

    width: 420px;
    height: 420px;

    right: -160px;
    top: -220px;

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

    border-radius: 50%;
}

.page-hero h1 {
    position: relative;
    z-index: 2;

    font-size:
        clamp(
            38px,
            5vw,
            58px
        );

    font-weight: 700;

    letter-spacing:
        -.04em;
}

.page-hero p {
    position: relative;
    z-index: 2;

    max-width: 780px;

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

    line-height: 1.7;
}


/* =========================================================
   OBSAH
   ========================================================= */

.content {
    max-width: 930px;

    color:
        #343b40;

    font-size: 17px;

    line-height: 1.82;
}

.content h2 {
    margin:
        48px 0 18px;

    color:
        var(--azm-ink);

    font-size: 31px;

    letter-spacing:
        -.025em;
}

.content h3 {
    margin-top: 37px;

    color:
        var(--azm-ink);
}

.content a {
    color:
        var(--azm-copper-dark);

    text-decoration-thickness:
        1px;

    text-underline-offset:
        3px;
}


/* =========================================================
   TECHNICKE PARAMETRY
   ========================================================= */

.specs {
    margin-top:
        35px;

    border-top:
        2px solid
        var(--azm-ink);
}

.specs th,
.specs td {
    padding:
        14px 4px;

    border-bottom:
        1px solid
        #ddd9d2;
}

.specs th {
    color:
        #646c72;

    font-size:
        13px;

    text-transform:
        uppercase;

    letter-spacing:
        .045em;
}

.specs td {
    color:
        var(--azm-ink);

    font-weight: 600;
}


/* =========================================================
   FILTRY
   ========================================================= */

.catalog-filter {
    padding:
        26px;

    background:
        #fff;

    border:
        1px solid
        #ddd9d2;

    border-radius:
        3px;

    box-shadow:
        0 12px 35px
        rgba(15,20,23,.035);
}

.catalog-filter select {
    border-radius:
        2px;

    border-color:
        #d4d0c9;

    background:
        #faf9f7;
}


/* =========================================================
   KONTAKT
   ========================================================= */

.contact-box {
    position: relative;

    padding:
        40px;

    border:
        1px solid
        #ddd9d2;

    border-radius:
        3px;

    box-shadow:
        0 12px 35px
        rgba(15,20,23,.035);
}

.contact-box::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 3px;
    height: 100%;

    background:
        var(--azm-copper);
}


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

.site-footer {
    position: relative;

    margin-top: 0;

    padding-top:
        70px;

    background:
        #101519;

    color:
        #aeb5ba;

    border-top:
        3px solid
        var(--azm-copper);
}

.footer-grid {
    gap: 80px;
}

.footer-grid strong,
.footer-brand {
    color:
        #fff;
}

.footer-brand {
    margin-bottom:
        20px;

    font-size:
        22px;

    letter-spacing:
        -.015em;
}

.footer-grid p {
    line-height:
        1.75;
}

.footer-grid a {
    margin:
        9px 0;

    transition:
        color .2s ease;
}

.footer-grid a:hover {
    color:
        #fff;
}

.footer-bottom {
    margin-top:
        58px;

    padding:
        24px 0;

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

    color:
        #7f898f;

    font-size:
        12px;

    letter-spacing:
        .035em;
}


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

@media (max-width: 900px) {

    .container {
        width:
            min(
                100% - 40px,
                1240px
            );
    }

    .header-inner {
        min-height:
            90px;
    }

    .brand {
        height:
            72px;
    }

    .brand-logo {
        max-width:
            290px;

        max-height:
            64px;
    }

    .hero-photo {
        min-height:
            580px;
    }

    .hero-content {
        padding:
            60px 0;
    }

    .service-cards {
        gap:
            2px;
    }

    .manufacturer-slide {
        width: 235px;
        flex-basis: 235px;
    }

    .footer-grid {
        gap:
            45px;
    }
}


/* =========================================================
   MOBIL
   ========================================================= */

@media (max-width: 680px) {

    .container {
        width:
            calc(100% - 30px);
    }

    .section {
        padding:
            65px 0;
    }

    .header-inner {
        min-height:
            82px;
    }

    .brand {
        height:
            65px;
    }

    .brand-logo {
        max-width:
            220px;

        max-height:
            56px;
    }

    .main-nav {
        top:
            82px;

        background:
            #fff;
    }

    .main-nav a {
        padding:
            14px 16px;
    }

    .main-nav a::after {
        display:
            none;
    }

    .main-nav .nav-contact {
        margin:
            5px 0 0;

        text-align:
            center;
    }

    .hero-photo {
        min-height:
            530px;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(12,17,20,.94),
                rgba(12,17,20,.70)
            );
    }

    .hero-content h1 {
        font-size:
            47px;
    }

    .hero-content p {
        font-size:
            17px;
    }

    .service-card {
        min-height:
            300px;
    }

    .contact-band {
        padding:
            65px 0;
    }

    .manufacturer-slide {
        width:
            200px;

        height:
            135px;

        flex-basis:
            200px;

        padding:
            18px;
    }

    .manufacturer-slide img {
        height:
            60px;
    }

    .page-hero {
        padding:
            55px 0;
    }

    .contact-box {
        padding:
            28px;
    }
}


/* =========================================================
   AZM V9 - CONTACT
   ========================================================= */

.contact-premium-layout {
    display: grid;

    grid-template-columns:
        .88fr 1.12fr;

    gap: 28px;

    align-items: stretch;
}


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

.contact-company-card,
.contact-form-card {
    position: relative;

    padding: 46px;

    background: #fff;

    border:
        1px solid
        #ddd9d2;

    box-shadow:
        0 18px 55px
        rgba(16,21,25,.055);
}

.contact-company-card {
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #171d21 0%,
            #242c31 100%
        );

    color: #fff;

    border: 0;
}

.contact-company-card::after {
    content: "AZM";

    position: absolute;

    right: -20px;
    bottom: -35px;

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

    font-size: 170px;
    font-weight: 900;

    line-height: 1;

    pointer-events: none;
}

.contact-company-card > * {
    position: relative;
    z-index: 2;
}

.contact-company-card h2,
.contact-form-card h2 {
    margin:
        8px 0 16px;

    font-size:
        clamp(
            30px,
            3vw,
            40px
        );

    line-height: 1.05;

    letter-spacing:
        -.035em;
}

.contact-company-card h2 {
    color: #fff;
}

.contact-intro {
    max-width: 470px;

    margin:
        0 0 38px;

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

    font-size: 16px;
    line-height: 1.75;
}

.contact-person {
    padding:
        22px 0;

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

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

.contact-person span {
    display: block;

    margin-bottom:
        5px;

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

    font-size: 11px;

    letter-spacing:
        .11em;

    text-transform:
        uppercase;
}

.contact-person strong {
    font-size: 22px;
    font-weight: 600;
}

.contact-lines {
    padding:
        18px 0;
}

.contact-line {
    display: flex;
    align-items: center;

    gap: 15px;

    padding:
        12px 0;

    color: #fff !important;

    text-decoration: none;
}

.contact-icon {
    width: 38px;
    height: 38px;

    flex:
        0 0 38px;

    display: grid;
    place-items: center;

    color:
        var(--azm-copper-light);

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

    font-size: 11px;
    font-weight: 800;
}

.contact-line small {
    display: block;

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

    font-size: 11px;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

.contact-line strong {
    display: block;

    margin-top:
        2px;

    font-size: 15px;
    font-weight: 600;
}

.contact-company-data {
    margin-top: 20px;

    padding-top: 28px;

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

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

    font-size: 14px;
}

.contact-company-data > strong {
    display: block;

    margin-bottom: 12px;

    color: #fff;

    font-size: 16px;
}

.contact-company-data p {
    margin:
        7px 0;

    line-height: 1.65;
}


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

.contact-form-card {
    border-top:
        3px solid
        var(--azm-copper);
}

.contact-form-intro {
    margin:
        0 0 30px;

    color:
        var(--azm-muted);

    line-height: 1.65;
}

.azm-contact-form {
    display: grid;

    gap: 19px;
}

.form-row {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 16px;
}

.azm-contact-form label {
    display: grid;

    gap: 8px;
}

.azm-contact-form label > span {
    color:
        #4f585f;

    font-size: 11px;
    font-weight: 800;

    letter-spacing:
        .075em;

    text-transform:
        uppercase;
}

.azm-contact-form input[type="text"],
.azm-contact-form input[type="email"],
.azm-contact-form input[type="tel"],
.azm-contact-form textarea {
    width: 100%;

    padding:
        13px 14px;

    color:
        var(--azm-ink);

    background:
        #f8f7f4;

    border:
        1px solid
        #d8d4cd;

    border-radius:
        1px;

    outline: 0;

    font:
        inherit;

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

.azm-contact-form input {
    min-height:
        49px;
}

.azm-contact-form textarea {
    min-height:
        150px;

    resize:
        vertical;

    line-height:
        1.6;
}

.azm-contact-form input:focus,
.azm-contact-form textarea:focus {
    background: #fff;

    border-color:
        var(--azm-copper);

    box-shadow:
        0 0 0 3px
        rgba(184,109,50,.09);
}

.azm-contact-form
::placeholder {
    color:
        #9ba0a3;
}


/* =========================================================
   SOUHLAS
   ========================================================= */

.form-consent {
    display: grid !important;

    grid-template-columns:
        18px 1fr;

    gap: 11px !important;

    align-items: start;
}

.form-consent input {
    width: 16px;
    height: 16px;

    min-height: 0;

    margin:
        3px 0 0;

    accent-color:
        var(--azm-copper);
}

.form-consent span {
    color:
        #737b80 !important;

    font-size:
        12px !important;

    font-weight:
        400 !important;

    line-height:
        1.55;

    letter-spacing:
        0 !important;

    text-transform:
        none !important;
}

.form-consent a {
    color:
        var(--azm-copper-dark);
}


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

.contact-submit {
    justify-self:
        start;

    min-width:
        190px;

    gap:
        20px;
}

.contact-submit span {
    font-size:
        19px;

    transition:
        transform .2s ease;
}

.contact-submit:hover span {
    transform:
        translateX(4px);
}


/* =========================================================
   PRODUKT
   ========================================================= */

.form-product {
    margin-bottom:
        22px;

    padding:
        14px 17px;

    background:
        #f4f1ec;

    border-left:
        3px solid
        var(--azm-copper);
}

.form-product span {
    display: block;

    color:
        #7c7770;

    font-size: 10px;

    font-weight: 800;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}

.form-product strong {
    display: block;

    margin-top:
        3px;

    color:
        var(--azm-ink);
}


/* =========================================================
   HLASKY
   ========================================================= */

.form-error,
.form-success {
    margin:
        20px 0 28px;

    padding:
        17px 19px;

    border-left:
        3px solid;
}

.form-error {
    color:
        #7f2c27;

    background:
        #fcf1f0;

    border-color:
        #ad4b43;
}

.form-success {
    display: grid;

    gap: 4px;

    color:
        #295843;

    background:
        #edf7f1;

    border-color:
        #4c856a;
}

.form-success strong {
    font-size:
        17px;
}

.form-success span {
    font-size:
        14px;
}


/*
 * Honeypot - mimo obrazovku,
 * nikoliv display:none kvuli robotum.
 */
.contact-trap {
    position: absolute;

    width: 1px;
    height: 1px;

    overflow: hidden;

    left: -10000px;

    opacity: 0;

    pointer-events: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

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

    .contact-company-card,
    .contact-form-card {
        padding:
            38px;
    }
}

@media (max-width: 580px) {

    .contact-company-card,
    .contact-form-card {
        padding:
            28px 24px;
    }

    .form-row {
        grid-template-columns:
            1fr;
    }

    .contact-submit {
        width: 100%;

        justify-self:
            stretch;
    }
}


/* =========================================================
   AZM - LANGUAGE SWITCHER
   ========================================================= */

.lang-switcher {
    display: flex;
    align-items: center;

    gap: 2px;

    margin-left: 15px;
    padding-left: 15px;

    border-left:
        1px solid
        #ddd9d2;
}

.lang-link {
    min-width: 31px;
    height: 31px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 6px;

    color: #687077 !important;

    background: transparent !important;

    border: 1px solid transparent;

    font-size: 10px !important;
    font-weight: 800 !important;

    line-height: 1;

    letter-spacing:
        .05em !important;

    text-decoration: none;

    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.lang-link::after {
    display: none !important;
}

.lang-link:hover {
    color:
        var(--azm-copper-dark) !important;

    background:
        #f5f2ee !important;
}

.lang-link.active {
    color:
        var(--azm-copper-dark) !important;

    border-color:
        #d8c4b4;

    background:
        #f8f3ef !important;
}


/* mobil */
@media (max-width: 680px) {

    .lang-switcher {
        width: 100%;

        margin:
            8px 0 4px;

        padding:
            12px 16px 4px;

        border-left: 0;

        border-top:
            1px solid #e7e4df;
    }

    .lang-link {
        min-width: 37px;
        height: 34px;
    }
}


/* =========================================================
   AZM LANGUAGE DROPDOWN V3
   ========================================================= */

/* Stary radkovy prepinac vypnout */
.lang-switcher {
    display: none !important;
}


/* hlavni obal */
.lang-menu {
    position: relative;

    flex: 0 0 auto;

    margin-left: 10px;
}


/* browser sipka pryc */
.lang-menu > summary {
    list-style: none;
}

.lang-menu > summary::-webkit-details-marker {
    display: none;
}


/* svetle tlacitko */
.lang-current {
    width: 65px;
    height: 43px;

    padding: 0 13px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 9px;

    background: #ffffff;

    color: #1b2024;

    border: 1px solid #343b40;

    cursor: pointer;

    user-select: none;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .07em;

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

.lang-current:hover {
    background: #f6f5f2;

    border-color: #151a1e;
}


/* vlastni decentni sipka */
.lang-chevron {
    position: relative;

    width: 8px;
    height: 8px;

    flex: 0 0 8px;

    border-right: 1.5px solid #333a3f;
    border-bottom: 1.5px solid #333a3f;

    transform:
        translateY(-2px)
        rotate(45deg);

    transition:
        transform .18s ease;
}

.lang-menu[open]
.lang-chevron {
    transform:
        translateY(2px)
        rotate(225deg);
}


/* dropdown */
.lang-dropdown {
    position: absolute;

    z-index: 1000;

    top: calc(100% + 11px);
    right: 0;

    width: 190px;

    padding: 7px;

    background: #fff;

    border: 1px solid #d5d2cc;

    box-shadow:
        0 18px 45px
        rgba(13,18,21,.16);
}


/* mala sipka nad dropdownem */
.lang-dropdown::before {
    content: "";

    position: absolute;

    right: 23px;
    top: -6px;

    width: 10px;
    height: 10px;

    background: #fff;

    border-left: 1px solid #d5d2cc;
    border-top: 1px solid #d5d2cc;

    transform: rotate(45deg);
}


/* polozky */
.lang-dropdown a {
    position: relative;

    min-height: 43px;

    padding: 9px 11px;

    display: grid;

    grid-template-columns:
        34px 1fr;

    align-items: center;

    gap: 8px;

    color: #1f2529 !important;

    background: transparent !important;

    border: 0 !important;

    text-decoration: none !important;

    text-transform: none !important;

    letter-spacing: 0 !important;

    transition:
        background .14s ease;
}

.lang-dropdown a::after {
    display: none !important;
}

.lang-dropdown a:hover {
    color: #1f2529 !important;

    background: #f2f1ee !important;
}


.lang-code {
    color: #1e2428;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .06em;
}

.lang-name {
    color: #687077;

    font-size: 13px;

    font-weight: 500;
}


/* ---------------------------------------------------------
   MOBIL
   --------------------------------------------------------- */

@media (max-width: 680px) {

    .lang-menu {
        width:
            calc(100% - 32px);

        margin:
            8px 16px 14px;
    }

    .lang-current {
        width: 100%;

        height: 44px;

        padding:
            0 15px;
    }

    .lang-dropdown {
        position: static;

        width: 100%;

        margin-top: 7px;

        box-shadow:
            0 8px 22px
            rgba(13,18,21,.10);
    }

    .lang-dropdown::before {
        display: none;
    }
}


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

.azm-turnstile-wrap {
    margin:
        16px 0
        18px;

    min-height: 18px;
}

.azm-turnstile-error {
    margin:
        0 0 14px;

    padding:
        12px 14px;

    border:
        1px solid
        #d9a6a6;

    background:
        #fff4f4;

    color:
        #8a2929;

    font-size:
        14px;

    line-height:
        1.45;
}


/* =========================================================
   AZM-METAL V13
   SCHVALENY ORANZOVY REFRESH
   ========================================================= */

:root {
    --v13-orange: #ed781f;
    --v13-orange-dark: #c95e13;
    --v13-orange-pale: #fff0e2;

    --v13-dark: #10191f;
    --v13-dark-2: #18232a;

    --v13-text: #111a20;
    --v13-muted: #697178;

    --v13-paper: #f7f3ed;
    --v13-white: #fff;

    --v13-border: #e8e1d9;

    --azm-copper: #ed781f !important;
    --azm-copper-dark: #c95e13 !important;
}


body {
    color:
        var(--v13-text);

    background:
        var(--v13-paper);
}


/* ---------------------------------------------------------
   HEADER
   --------------------------------------------------------- */

.site-header,
.azm-header,
header.site-header {
    background:
        #fff !important;

    border-bottom:
        1px solid rgba(15,25,31,.06) !important;

    box-shadow:
        0 3px 18px rgba(15,25,31,.035) !important;
}


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

    background:
        var(--v13-dark) !important;

    border-color:
        var(--v13-dark) !important;

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


.lang-current:hover {
    border-color:
        var(--v13-orange) !important;
}


/* ---------------------------------------------------------
   OBECNE
   --------------------------------------------------------- */

.azm-v13-shell {
    width:
        min(
            1380px,
            calc(100% - 80px)
        );

    margin:
        0 auto;
}


.azm-v13-line {
    display:
        block;

    width:
        38px;

    height:
        3px;

    margin-bottom:
        17px;

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


.azm-v13-eyebrow {
    color:
        var(--v13-orange);

    font-size:
        11px;

    font-weight:
        850;

    line-height:
        1.4;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.azm-v13-button,
.azm-v13-small-button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    color:
        #fff !important;

    background:
        var(--v13-orange);

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

    text-decoration:
        none !important;

    text-transform:
        uppercase;

    font-weight:
        850;

    letter-spacing:
        .07em;

    transition:
        .18s ease;
}


.azm-v13-button {
    min-height:
        52px;

    padding:
        0 25px;

    font-size:
        11px;
}


.azm-v13-small-button {
    min-height:
        42px;

    padding:
        0 18px;

    font-size:
        10px;
}


.azm-v13-button:hover,
.azm-v13-small-button:hover {
    color:
        #fff !important;

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

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

    transform:
        translateY(-2px);

    box-shadow:
        0 12px 26px
        rgba(237,120,31,.22);
}


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

.azm-v13-hero {
    position:
        relative;

    min-height:
        575px;

    display:
        flex;

    align-items:
        center;

    isolation:
        isolate;

    overflow:
        hidden;

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


.azm-v13-hero::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background-image:
        var(--hero-image);

    background-size:
        cover;

    background-position:
        center 50%;
}


.azm-v13-hero::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -1;

    background:
        linear-gradient(
            90deg,
            rgba(7,15,20,.96) 0%,
            rgba(7,15,20,.82) 40%,
            rgba(7,15,20,.31) 70%,
            rgba(7,15,20,.08) 100%
        );
}


.azm-v13-hero-copy {
    width:
        min(
            720px,
            61%
        );

    padding:
        94px 0
        116px;
}


.azm-v13-hero h1 {
    max-width:
        700px;

    margin:
        18px 0 23px;

    color:
        #fff;

    font-size:
        clamp(
            46px,
            5.2vw,
            75px
        );

    font-weight:
        750;

    line-height:
        .99;

    letter-spacing:
        -.052em;
}


.azm-v13-hero p {
    max-width:
        630px;

    margin:
        0 0 34px;

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

    font-size:
        16px;

    line-height:
        1.72;
}


/* ---------------------------------------------------------
   HLAVNI DLAZDICE
   --------------------------------------------------------- */

.azm-v13-category-section {
    position:
        relative;

    z-index:
        4;

    padding:
        0 0 74px;

    background:
        var(--v13-paper);
}


.azm-v13-categories {
    display:
        grid;

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

    gap:
        18px;

    transform:
        translateY(-38px);

    margin-bottom:
        -38px;
}


.azm-v13-category {
    position:
        relative;

    min-height:
        345px;

    display:
        block;

    overflow:
        hidden;

    color:
        #fff;

    background:
        var(--v13-dark);

    border:
        8px solid #fff;

    border-radius:
        10px;

    box-shadow:
        0 15px 38px
        rgba(16,25,31,.075);

    text-decoration:
        none !important;

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


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

    box-shadow:
        0 22px 50px
        rgba(16,25,31,.13);
}


.azm-v13-category img {
    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    filter:
        saturate(.91)
        brightness(.97);

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


.azm-v13-category:hover img {
    transform:
        scale(1.025);

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


.azm-v13-category-shade {
    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            180deg,
            rgba(6,14,18,0) 31%,
            rgba(6,14,18,.12) 49%,
            rgba(6,14,18,.93) 100%
        );
}


.azm-v13-category-copy {
    position:
        absolute;

    left:
        29px;

    right:
        29px;

    bottom:
        27px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;
}


.azm-v13-card-line {
    width:
        36px;

    height:
        2px;

    margin-bottom:
        14px;

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


.azm-v13-category-copy strong {
    color:
        #fff;

    font-size:
        clamp(
            23px,
            2vw,
            31px
        );

    line-height:
        1.08;

    letter-spacing:
        -.03em;
}


.azm-v13-category-copy > span:last-child {
    margin-top:
        13px;

    color:
        #ff9e56;

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


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

.azm-v13-section {
    padding:
        80px 0;
}


.azm-v13-makers,
.azm-v13-products {
    background:
        #fff;
}


.azm-v13-why {
    background:
        var(--v13-paper);
}


.azm-v13-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0,1.12fr)
        minmax(330px,.88fr);

    gap:
        72px;

    align-items:
        end;

    margin-bottom:
        36px;
}


.azm-v13-heading h2 {
    margin:
        0;

    color:
        var(--v13-text);

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

    line-height:
        1.06;

    letter-spacing:
        -.04em;
}


.azm-v13-heading > p {
    margin:
        0;

    color:
        var(--v13-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


.azm-v13-heading-link {
    justify-self:
        end;

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

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-decoration:
        none !important;

    text-transform:
        uppercase;
}


/* ---------------------------------------------------------
   VYROBCI
   --------------------------------------------------------- */

.azm-v13-maker-grid {
    display:
        grid;

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

    gap:
        18px;
}


.azm-v13-maker {
    min-height:
        160px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        30px;

    background:
        #fff;

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

    border-radius:
        8px;

    box-shadow:
        0 10px 28px
        rgba(16,25,31,.045);
}


.azm-v13-maker img {
    max-width:
        74%;

    max-height:
        88px;

    width:
        auto;

    height:
        auto;

    object-fit:
        contain;
}


.azm-v13-maker strong {
    color:
        #303940;

    font-size:
        24px;
}


/* ---------------------------------------------------------
   PROC AZM
   --------------------------------------------------------- */

.azm-v13-benefits {
    display:
        grid;

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

    gap:
        18px;
}


.azm-v13-benefit {
    min-height:
        175px;

    display:
        grid;

    grid-template-columns:
        58px 1fr;

    gap:
        19px;

    align-items:
        start;

    padding:
        28px;

    background:
        #fff;

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

    border-radius:
        8px;

    box-shadow:
        0 10px 28px
        rgba(16,25,31,.04);
}


.azm-v13-icon {
    width:
        54px;

    height:
        54px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        var(--v13-orange);

    background:
        var(--v13-orange-pale);

    border-radius:
        50%;

    font-size:
        25px;

    font-weight:
        700;
}


.azm-v13-benefit h3 {
    margin:
        2px 0 9px;

    color:
        var(--v13-text);

    font-size:
        18px;
}


.azm-v13-benefit p {
    margin:
        0;

    color:
        var(--v13-muted);

    font-size:
        14px;

    line-height:
        1.58;
}


/* ---------------------------------------------------------
   PRODUKTY
   --------------------------------------------------------- */

.azm-v13-product-grid {
    display:
        grid;

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

    gap:
        20px;
}


.azm-v13-product-grid > :only-child {
    grid-column:
        1 / -1;

    max-width:
        680px;
}


.azm-v13-product {
    min-height:
        300px;

    display:
        grid;

    grid-template-columns:
        minmax(210px,43%)
        1fr;

    overflow:
        hidden;

    background:
        #fff;

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

    border-radius:
        8px;

    box-shadow:
        0 14px 38px
        rgba(16,25,31,.065);
}


.azm-v13-product-image {
    min-height:
        300px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        20px;

    background:
        #f5f2ed;
}


.azm-v13-product-image img {
    max-width:
        100%;

    max-height:
        255px;

    object-fit:
        contain;
}


.azm-v13-product-copy {
    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    justify-content:
        center;

    padding:
        30px;
}


.azm-v13-product-type {
    margin-bottom:
        8px;

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

    font-size:
        10px;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


.azm-v13-product h3 {
    margin:
        0 0 10px;

    color:
        var(--v13-text);

    font-size:
        27px;

    line-height:
        1.08;

    letter-spacing:
        -.035em;
}


.azm-v13-product p {
    margin:
        0 0 21px;

    color:
        var(--v13-muted);

    font-size:
        14px;

    line-height:
        1.57;
}


/* ---------------------------------------------------------
   CTA
   --------------------------------------------------------- */

.azm-v13-cta {
    position:
        relative;

    isolation:
        isolate;

    overflow:
        hidden;

    padding:
        78px 0;

    background:
        var(--v13-dark);

    color:
        #fff;
}


.azm-v13-cta::before {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -2;

    background-image:
        var(--cta-image);

    background-size:
        cover;

    background-position:
        center 62%;
}


.azm-v13-cta::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    z-index:
        -1;

    background:
        linear-gradient(
            90deg,
            rgba(7,15,20,.98) 0%,
            rgba(7,15,20,.93) 54%,
            rgba(7,15,20,.52) 100%
        );

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


.azm-v13-cta-layout {
    display:
        grid;

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

    gap:
        70px;

    align-items:
        center;
}


.azm-v13-cta h2 {
    margin:
        9px 0 13px;

    color:
        #fff;

    font-size:
        clamp(
            33px,
            3.5vw,
            51px
        );

    line-height:
        1.05;

    letter-spacing:
        -.04em;
}


.azm-v13-cta p {
    max-width:
        760px;

    margin:
        0;

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

    font-size:
        15px;

    line-height:
        1.68;
}


/* ---------------------------------------------------------
   CELY ZBYTEK WEBU - ORANZOVY DESIGN SYSTEM
   --------------------------------------------------------- */

a {
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}


button[type="submit"],
input[type="submit"],
.btn-primary,
.button-primary {
    color:
        #fff !important;

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

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


button[type="submit"]:hover,
input[type="submit"]:hover,
.btn-primary:hover,
.button-primary:hover {
    background:
        var(--v13-orange-dark) !important;

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


input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea,
select {
    border-color:
        #ddd5cc !important;

    background:
        #fff !important;
}


input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color:
        var(--v13-orange) !important;

    outline:
        none !important;

    box-shadow:
        0 0 0 3px
        rgba(237,120,31,.11) !important;
}


.page-hero,
.internal-hero,
.azm-page-hero {
    border-bottom:
        2px solid
        var(--v13-orange) !important;
}


.product-card,
.machine-card,
.offer-card,
.contact-card,
.contact-form,
.specs-card,
.filter-card,
.content-card,
.warning-box {
    border-left-width:
        1px !important;

    border-color:
        var(--v13-border) !important;

    box-shadow:
        0 12px 34px
        rgba(16,25,31,.055) !important;
}


footer,
.site-footer,
.azm-footer {
    background:
        #0b151b !important;

    border-top:
        2px solid
        var(--v13-orange) !important;
}


footer a:hover,
.site-footer a:hover,
.azm-footer a:hover {
    color:
        var(--v13-orange) !important;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 1050px) {

    .azm-v13-shell {
        width:
            calc(100% - 48px);
    }

    .azm-v13-categories {
        gap:
            13px;
    }

    .azm-v13-product {
        grid-template-columns:
            1fr;
    }

    .azm-v13-product-image {
        min-height:
            240px;
    }

}


@media (max-width: 820px) {

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

    .azm-v13-hero {
        min-height:
            540px;
    }

    .azm-v13-hero-copy {
        width:
            100%;

        padding:
            75px 0 100px;
    }

    .azm-v13-hero::after {
        background:
            rgba(7,15,20,.75);
    }

    .azm-v13-categories,
    .azm-v13-maker-grid,
    .azm-v13-benefits,
    .azm-v13-product-grid {
        grid-template-columns:
            1fr;
    }

    .azm-v13-categories {
        transform:
            translateY(-26px);

        margin-bottom:
            -26px;
    }

    .azm-v13-category {
        min-height:
            340px;
    }

    .azm-v13-heading,
    .azm-v13-cta-layout {
        grid-template-columns:
            1fr;

        gap:
            22px;
    }

    .azm-v13-heading-link {
        justify-self:
            start;
    }

}


@media (max-width: 520px) {

    .azm-v13-section {
        padding:
            58px 0;
    }

    .azm-v13-hero h1 {
        font-size:
            42px;
    }

    .azm-v13-category {
        min-height:
            295px;

        border-width:
            5px;
    }

    .azm-v13-category-copy {
        left:
            22px;

        right:
            22px;

        bottom:
            22px;
    }

    .azm-v13-benefit {
        padding:
            22px;

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

    .azm-v13-icon {
        width:
            46px;

        height:
            46px;
    }

}
