/* =========================================================
   ZLATO Z OLIV – KONTAKT V1
   ========================================================= */

.zzo-contact,
.zzo-contact *{
    box-sizing:border-box !important;
}

.zzo-contact{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    color:#253511 !important;
}

.zzo-contact-container{
    position:relative !important;
    z-index:4 !important;

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

    margin:0 auto !important;
}


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

.zzo-contact-hero{
    position:relative !important;

    width:100% !important;
    min-height:500px !important;

    margin:0 !important;
    padding:0 !important;

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

    overflow:hidden !important;

    background:#fffdf8 !important;
}

.zzo-contact-hero-bg{
    position:absolute !important;

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

    width:60% !important;

    z-index:1 !important;

    background-image:url("/user/documents/kontakt-hero-v1.jpg") !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.zzo-contact-hero-overlay{
    position:absolute !important;
    inset:0 !important;

    z-index:2 !important;

    background:
        linear-gradient(
            90deg,
            #fffdf8 0%,
            #fffdf8 39%,
            rgba(255,253,248,.97) 47%,
            rgba(255,253,248,.64) 57%,
            rgba(255,253,248,.10) 72%,
            rgba(255,253,248,0) 100%
        ) !important;
}

.zzo-contact-hero-content{
    position:relative !important;
    z-index:5 !important;

    width:570px !important;
    max-width:50% !important;

    padding:52px 0 58px !important;
}

.zzo-contact-brand{
    width:300px !important;
    max-width:100% !important;

    margin:0 0 23px !important;
}

.zzo-contact-brand img{
    display:block !important;

    width:100% !important;
    height:auto !important;

    margin:0 !important;

    border:0 !important;
    background:transparent !important;
}

.zzo-contact-hero h1{
    margin:0 !important;
    padding:0 !important;

    color:#253511 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:68px !important;
    line-height:1 !important;
    font-weight:400 !important;
    letter-spacing:-1px !important;
}

.zzo-contact-hero-ornament{
    width:174px !important;

    margin:21px 0 22px !important;

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

    gap:11px !important;

    color:#c9a442 !important;
}

.zzo-contact-hero-ornament span{
    flex:1 !important;
    height:1px !important;

    background:#c9a442 !important;
}

.zzo-contact-hero-ornament b{
    font-size:10px !important;
    line-height:1 !important;
    font-weight:400 !important;
}

.zzo-contact-hero p{
    max-width:510px !important;

    margin:0 0 12px !important;
    padding:0 !important;

    color:#4d5148 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:15px !important;
    line-height:1.68 !important;
    font-weight:400 !important;
}

.zzo-contact-hero-emphasis{
    display:block !important;

    margin:0 !important;

    color:#253511 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:14px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
}


/* =========================================================
   KONTAKT + FORMULÁŘ
   ========================================================= */

.zzo-contact-main{
    width:100% !important;

    margin:0 !important;
    padding:38px 0 32px !important;

    background:#fffdf8 !important;
}

.zzo-contact-grid{
    display:grid !important;
    grid-template-columns:.78fr 1.55fr !important;

    gap:22px !important;

    width:100% !important;
}

.zzo-contact-card{
    min-width:0 !important;

    padding:28px 29px 30px !important;

    border:1px solid rgba(201,164,66,.38) !important;
    border-radius:13px !important;

    background:#fffdf8 !important;

    box-shadow:0 7px 22px rgba(37,53,17,.055) !important;
}

.zzo-contact-card > h2{
    margin:0 !important;
    padding:0 !important;

    color:#253511 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:27px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
}

.zzo-contact-small-line{
    width:56px !important;
    height:1px !important;

    margin:13px 0 24px !important;

    background:#c9a442 !important;
}


/* levá karta */

.zzo-contact-info-item{
    display:grid !important;
    grid-template-columns:58px 1fr !important;
    align-items:center !important;

    gap:14px !important;

    margin:0 0 21px !important;
}

.zzo-contact-info-item:last-child{
    margin-bottom:0 !important;
}

.zzo-contact-info-icon{
    width:54px !important;
    height:54px !important;

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

    border:1px solid rgba(201,164,66,.26) !important;
    border-radius:50% !important;

    background:#faf8f2 !important;
}

.zzo-contact-info-icon img{
    display:block !important;

    width:34px !important;
    height:34px !important;

    object-fit:contain !important;
}

.zzo-contact-info-item h3{
    margin:0 0 4px !important;
    padding:0 !important;

    color:#253511 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
}

.zzo-contact-info-item p{
    margin:0 !important;
    padding:0 !important;

    color:#5c6056 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px !important;
    line-height:1.55 !important;
    font-weight:400 !important;
}

.zzo-contact-info-item p strong{
    color:#b98b24 !important;
    font-weight:700 !important;
}


/* =========================================================
   SHOPTET KONTAKTNÍ FORMULÁŘ
   ========================================================= */

.zzo-contact-form-intro{
    margin:-5px 0 18px !important;
    padding:0 !important;

    color:#68695f !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px !important;
    line-height:1.5 !important;
}

/* maximálně široké zásahy jen uvnitř formulářové karty */
.zzo-contact-form-shell form{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
}

.zzo-contact-form-shell .form-group,
.zzo-contact-form-shell .form-control-wrapper,
.zzo-contact-form-shell .form-field,
.zzo-contact-form-shell .field{
    width:100% !important;
    max-width:none !important;
}

.zzo-contact-form-shell label{
    color:#4e5148 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
}

.zzo-contact-form-shell input[type="text"],
.zzo-contact-form-shell input[type="email"],
.zzo-contact-form-shell input[type="tel"],
.zzo-contact-form-shell input[type="number"],
.zzo-contact-form-shell select,
.zzo-contact-form-shell textarea{
    width:100% !important;
    max-width:none !important;

    border:1px solid rgba(37,53,17,.18) !important;
    border-radius:5px !important;

    background:#fff !important;

    color:#253511 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px !important;

    box-shadow:none !important;
}

.zzo-contact-form-shell input[type="text"],
.zzo-contact-form-shell input[type="email"],
.zzo-contact-form-shell input[type="tel"],
.zzo-contact-form-shell input[type="number"],
.zzo-contact-form-shell select{
    min-height:46px !important;
    padding:0 13px !important;
}

.zzo-contact-form-shell textarea{
    min-height:155px !important;

    padding:12px 13px !important;

    resize:vertical !important;
}

.zzo-contact-form-shell input:focus,
.zzo-contact-form-shell textarea:focus,
.zzo-contact-form-shell select:focus{
    border-color:#c9a442 !important;

    outline:none !important;

    box-shadow:0 0 0 2px rgba(201,164,66,.10) !important;
}

.zzo-contact-form-shell input[type="checkbox"]{
    accent-color:#253511 !important;
}

/* Shoptet button variants */
.zzo-contact-form-shell button,
.zzo-contact-form-shell input[type="submit"],
.zzo-contact-form-shell .btn,
.zzo-contact-form-shell .btn-primary,
.zzo-contact-form-shell .button{
    min-height:48px !important;

    padding:0 21px !important;

    border:1px solid #253511 !important;
    border-radius:6px !important;

    background:#253511 !important;

    color:#fffaf0 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:700 !important;

    text-decoration:none !important;

    box-shadow:0 6px 16px rgba(37,53,17,.15) !important;

    transition:
        background .18s ease,
        transform .18s ease !important;
}

.zzo-contact-form-shell button:hover,
.zzo-contact-form-shell input[type="submit"]:hover,
.zzo-contact-form-shell .btn:hover,
.zzo-contact-form-shell .btn-primary:hover,
.zzo-contact-form-shell .button:hover{
    background:#30451b !important;

    color:#fffaf0 !important;

    transform:translateY(-1px) !important;
}


/* =========================================================
   MAP / LOKACE
   ========================================================= */

.zzo-contact-location{
    width:100% !important;

    margin:0 !important;
    padding:0 0 30px !important;

    background:#fffdf8 !important;
}

.zzo-contact-location-box{
    position:relative !important;

    min-height:290px !important;

    overflow:hidden !important;

    border:1px solid rgba(201,164,66,.35) !important;
    border-radius:13px !important;

    background:
        linear-gradient(rgba(247,244,233,.87),rgba(247,244,233,.87)),
        repeating-linear-gradient(
            0deg,
            transparent 0 34px,
            rgba(37,53,17,.045) 35px
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 48px,
            rgba(37,53,17,.045) 49px
        ) !important;
}

.zzo-contact-location-pattern{
    position:absolute !important;
    inset:0 !important;

    background:
        radial-gradient(circle at 20% 30%, rgba(201,164,66,.08), transparent 22%),
        radial-gradient(circle at 70% 65%, rgba(37,53,17,.055), transparent 24%) !important;
}

.zzo-contact-location-pin{
    position:absolute !important;

    left:62% !important;
    top:45% !important;

    width:72px !important;
    height:72px !important;

    transform:translate(-50%,-50%) !important;

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

    border-radius:50% !important;

    background:#17330f !important;

    box-shadow:0 10px 24px rgba(37,53,17,.20) !important;
}

.zzo-contact-location-pin img{
    width:42px !important;
    height:42px !important;

    filter:brightness(0) invert(1) !important;
}

.zzo-contact-location-card{
    position:absolute !important;

    left:24px !important;
    bottom:24px !important;

    width:330px !important;
    max-width:calc(100% - 48px) !important;

    padding:20px 21px !important;

    border:1px solid rgba(201,164,66,.35) !important;
    border-radius:10px !important;

    background:rgba(255,253,248,.95) !important;

    box-shadow:0 8px 22px rgba(37,53,17,.09) !important;
}

.zzo-contact-location-label{
    display:block !important;

    margin:0 0 6px !important;

    color:#b98b24 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:10.5px !important;
    line-height:1 !important;
    font-weight:700 !important;

    text-transform:uppercase !important;
    letter-spacing:.08em !important;
}

.zzo-contact-location-card h2{
    margin:0 0 6px !important;
    padding:0 !important;

    color:#253511 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:600 !important;
}

.zzo-contact-location-card p{
    margin:0 !important;

    color:#62645b !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    line-height:1.45 !important;
}


/* =========================================================
   BENEFITY
   ========================================================= */

.zzo-contact-benefits{
    width:100% !important;

    margin:0 !important;
    padding:26px 0 28px !important;

    background:#faf8f2 !important;

    border-top:1px solid rgba(201,164,66,.18) !important;
}

.zzo-contact-benefits-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;

    width:100% !important;
}

.zzo-contact-benefit{
    min-width:0 !important;

    padding:7px 26px !important;

    display:grid !important;
    grid-template-columns:52px 1fr !important;
    align-items:center !important;

    gap:13px !important;
}

.zzo-contact-benefit + .zzo-contact-benefit{
    border-left:1px solid rgba(201,164,66,.28) !important;
}

.zzo-contact-benefit img{
    width:48px !important;
    height:48px !important;

    object-fit:contain !important;
}

.zzo-contact-benefit h3{
    margin:0 0 4px !important;

    color:#253511 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
}

.zzo-contact-benefit p{
    margin:0 !important;

    color:#5d6157 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:10.8px !important;
    line-height:1.4 !important;
}


/* =========================================================
   CTA
   ========================================================= */

.zzo-contact-cta{
    width:100% !important;

    margin:0 !important;
    padding:0 !important;

    background:#17330f !important;

    color:#fffaf0 !important;
}

.zzo-contact-cta-inner{
    min-height:150px !important;

    display:grid !important;
    grid-template-columns:180px 1fr auto !important;
    align-items:center !important;

    gap:26px !important;
}

.zzo-contact-cta-decoration{
    height:150px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.zzo-contact-cta-decoration img{
    width:165px !important;
    max-width:100% !important;
    height:auto !important;

    opacity:.85 !important;
}

.zzo-contact-cta-copy h2{
    margin:0 0 4px !important;
    padding:0 !important;

    color:#fffaf0 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:34px !important;
    line-height:1.08 !important;
    font-weight:500 !important;
}

.zzo-contact-cta-copy p{
    margin:0 !important;

    color:#d0a741 !important;

    font-family:Georgia,"Times New Roman",serif !important;
    font-size:24px !important;
    line-height:1.1 !important;
}

.zzo-contact-cta-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:14px !important;
}

.zzo-contact-cta-button{
    min-height:48px !important;

    padding:0 21px !important;

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

    gap:12px !important;

    border-radius:7px !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:11.5px !important;
    line-height:1 !important;
    font-weight:700 !important;

    text-decoration:none !important;
}

.zzo-contact-cta-outline{
    min-width:160px !important;

    border:1px solid rgba(201,164,66,.88) !important;

    background:transparent !important;

    color:#dfba50 !important;
}

.zzo-contact-cta-gold{
    min-width:170px !important;

    border:1px solid #d8b24b !important;

    background:
        linear-gradient(
            180deg,
            #d8b24b 0%,
            #b98b24 100%
        ) !important;

    color:#fffaf0 !important;
}

.zzo-contact-cta-button:hover{
    color:#fffaf0 !important;
    text-decoration:none !important;
}


/* =========================================================
   SHOPTET CLEANUP
   ========================================================= */

body.zzo-contact-page .breadcrumbs,
body.zzo-contact-page .breadcrumb,
body.zzo-contact-page .navigation-breadcrumb,
body.zzo-contact-page .navigation-home-icon-wrapper,
body.zzo-contact-page nav.breadcrumbs,
body.zzo-contact-page ol.breadcrumbs,
body.zzo-contact-page ul.breadcrumbs{
    display:none !important;
}

body.zzo-contact-page .sidebar,
body.zzo-contact-page .sidebar-left,
body.zzo-contact-page .sidebar-inner,
body.zzo-contact-page aside.sidebar,
body.zzo-contact-page #sidebar,
body.zzo-contact-page .content-wrapper-in > aside,
body.zzo-contact-page .content-wrapper-in > .sidebar,
body.zzo-contact-page .content-wrapper-in > .sidebar-left{
    display:none !important;
}

body.zzo-contact-page .content-wrapper,
body.zzo-contact-page .content-wrapper-in,
body.zzo-contact-page .container.content-wrapper,
body.zzo-contact-page main,
body.zzo-contact-page .content,
body.zzo-contact-page .content-inner,
body.zzo-contact-page #content{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;

    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:0 !important;

    float:none !important;
    flex:0 0 100% !important;
}

body.zzo-contact-page .content-wrapper-in{
    display:block !important;
}

body.zzo-contact-page .discussion,
body.zzo-contact-page #discussion,
body.zzo-contact-page .discussion-wrapper,
body.zzo-contact-page .discussion-form,
body.zzo-contact-page .comments,
body.zzo-contact-page #comments{
    display:none !important;
}


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

@media (max-width:1000px){

    .zzo-contact-container{
        width:calc(100% - 48px) !important;
    }

    .zzo-contact-grid{
        grid-template-columns:1fr !important;
    }

    .zzo-contact-benefits-grid{
        grid-template-columns:1fr 1fr !important;
    }

    .zzo-contact-benefit:nth-child(3){
        border-left:0 !important;
    }

    .zzo-contact-benefit:nth-child(-n+2){
        border-bottom:1px solid rgba(201,164,66,.25) !important;
    }

    .zzo-contact-benefit{
        padding-top:16px !important;
        padding-bottom:16px !important;
    }

    .zzo-contact-cta-inner{
        grid-template-columns:130px 1fr !important;

        padding:18px 0 !important;
    }

    .zzo-contact-cta-actions{
        grid-column:1 / -1 !important;

        justify-content:center !important;

        padding-bottom:8px !important;
    }
}


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

@media (max-width:720px){

    .zzo-contact-hero{
        min-height:660px !important;

        align-items:flex-end !important;
    }

    .zzo-contact-hero-bg{
        width:100% !important;
        height:44% !important;

        top:0 !important;
        bottom:auto !important;
    }

    .zzo-contact-hero-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(255,253,248,0) 0%,
                rgba(255,253,248,.12) 31%,
                rgba(255,253,248,.94) 48%,
                #fffdf8 58%,
                #fffdf8 100%
            ) !important;
    }

    .zzo-contact-hero-content{
        width:100% !important;
        max-width:none !important;

        padding:285px 0 36px !important;
    }

    .zzo-contact-brand{
        width:240px !important;

        margin-bottom:18px !important;
    }

    .zzo-contact-hero h1{
        font-size:52px !important;
    }

    .zzo-contact-location-pin{
        left:72% !important;
    }
}

@media (max-width:600px){

    .zzo-contact-container{
        width:calc(100% - 30px) !important;
    }

    .zzo-contact-card{
        padding:23px 20px 25px !important;
    }

    .zzo-contact-benefits-grid{
        grid-template-columns:1fr !important;
    }

    .zzo-contact-benefit,
    .zzo-contact-benefit:nth-child(3){
        border-left:0 !important;
        border-bottom:1px solid rgba(201,164,66,.25) !important;
    }

    .zzo-contact-benefit:last-child{
        border-bottom:0 !important;
    }

    .zzo-contact-location-box{
        min-height:330px !important;
    }

    .zzo-contact-location-pin{
        left:73% !important;
        top:32% !important;
    }

    .zzo-contact-location-card{
        left:15px !important;
        right:15px !important;
        bottom:15px !important;

        width:auto !important;
        max-width:none !important;
    }

    .zzo-contact-cta-inner{
        grid-template-columns:1fr !important;

        gap:8px !important;

        padding:26px 0 30px !important;

        text-align:center !important;
    }

    .zzo-contact-cta-decoration{
        height:80px !important;
    }

    .zzo-contact-cta-decoration img{
        width:120px !important;
    }

    .zzo-contact-cta-actions{
        grid-column:auto !important;

        width:100% !important;

        flex-direction:column !important;

        padding-top:15px !important;
    }

    .zzo-contact-cta-button{
        width:100% !important;
    }
}