body {
    font-family: "Open Sans";
    color: #333;
    font-size: 13px;
}

h1, h2, h3, h4, h5, h6, .special-heading-2, .email {
    font-family: "Open Sans";
    letter-spacing: 0px;
    color: #ed008c;

}

.text-zakuskarna {
    color: #ed008c;
}


/* === VLASTNÍ BARVY === */
:root {
    --bs-vlastni: #ed008c;
    --bs-vlastni-hover: #c00074;
    --bs-vlastni-bg-light: #ffe6f2;
    --bs-vlastni-text: #ffffff;
    --bs-nav-tabs-link-active-bg: #ed008c;
    --bs-nav-tabs-link-active-color: #fff;
    --bs-nav-tabs-link-active-border-color: #ed008c;
    --bs-vlastni-shadow: 0 0 0 0.25rem rgba(237, 0, 140, 0.25);
}

/* === TEXT, POZADÍ, OHRANIČENÍ === */
.text-vlastni {
    color: var(--bs-vlastni) !important;
}

.bg-vlastni {
    background-color: var(--bs-vlastni) !important;
    color: var(--bs-vlastni-text);
}

.border-vlastni {
    border-color: var(--bs-vlastni) !important;
}

/* === TLAČÍTKA === */
.btn-vlastni {
    color: var(--bs-vlastni-text);
    background-color: var(--bs-vlastni);
    border-color: var(--bs-vlastni);
}

    .btn-vlastni:hover,
    .btn-vlastni:focus {
        background-color: var(--bs-vlastni-hover);
        border-color: var(--bs-vlastni-hover);
        color: var(--bs-vlastni-text);
    }

/* === OUTLINE VARIANTA === */
.btn-outline-vlastni {
    color: var(--bs-vlastni);
    border-color: var(--bs-vlastni);
    background-color: transparent;
}

    .btn-outline-vlastni:hover,
    .btn-outline-vlastni:focus {
        color: var(--bs-vlastni-text);
        background-color: var(--bs-vlastni);
        border-color: var(--bs-vlastni);
    }

/* === FORM ELEMENTY === */
.form-control.vlastni:focus {
    border-color: var(--bs-vlastni);
    box-shadow: 0 0 0 0.25rem rgba(237, 0, 140, 0.25);
}

.form-check-input.vlastni:checked {
    background-color: var(--bs-vlastni);
    border-color: var(--bs-vlastni);
}

.form-check-input.vlastni:focus {
    box-shadow: 0 0 0 0.25rem rgba(237, 0, 140, 0.25);
}

/* === BADGE === */
.badge-vlastni {
    background-color: var(--bs-vlastni);
    color: var(--bs-vlastni-text);
}

.nav-link-vlastni {
    color: var(--bs-vlastni);
}

    .nav-link-vlastni:hover,
    .nav-link-vlastni:focus {
        color: var(--bs-vlastni-hover);
        /*text-decoration: underline;*/
    }

/* Custom nav-tab styling */
.nav-tabs .nav-link.vlastni {
    color: var(--bs-vlastni);
    border: 1px solid transparent;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

    .nav-tabs .nav-link.vlastni:hover {
        color: var(--bs-vlastni-hover);
        border-color: var(--bs-vlastni-hover);
    }

    .nav-tabs .nav-link.vlastni.active {
        background-color: var(--bs-nav-tabs-link-active-bg);
        color: var(--bs-nav-tabs-link-active-color);
        border-color: var(--bs-nav-tabs-link-active-border-color);
    }

/* Nav-pills vlastní barva */
.nav-pills .nav-link.vlastni {
    color: var(--bs-vlastni);
    background-color: transparent;
    border: 0px solid var(--bs-vlastni);
}

    .nav-pills .nav-link.vlastni:hover {
        color: #cb3c87;
        /*background-color: var(--bs-vlastni-hover);*/
        border-color: var(--bs-vlastni-hover);
    }

    .nav-pills .nav-link.vlastni.active {
        color: #fff;
        background-color: var(--bs-vlastni);
        border-color: var(--bs-vlastni);
    }


input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px var(--bs-vlastni-bg-light) inset !important;
    color: var(--bs-vlastni) !important;
    transition: background-color 5000s ease-in-out 0s;
}

input:focus,
textarea:focus,
select:focus,
.form-control:focus {
    border-color: var(--bs-vlastni);
    box-shadow: var(--bs-vlastni-shadow);
    outline: none;
}

/* Tlačítka */
/*button:focus,
.btn:focus,
.btn-check:focus + .btn {
    border-color: var(--bs-vlastni);
    box-shadow: var(--bs-vlastni-shadow);
    outline: none;
}*/

/* Checkboxy a radiobuttony */
.form-check-input:focus {
    border-color: var(--bs-vlastni);
    box-shadow: var(--bs-vlastni-shadow);
    outline: none;
}
.form-check-input:checked {
    background-color: var(--bs-vlastni);
    border-color: var(--bs-vlastni);
}

.form-check-input:focus {
    border-color: var(--bs-vlastni);
    box-shadow: 0 0 0 0.25rem rgba(237, 0, 140, 0.25);
}
.form-check-label {
    color: var(--bs-vlastni);
}

.barva {
    color: #ed008c;
}

.email:hover {
    color: #ed008c;
    text-decoration: none;
}

hr {
    border: 0;
    height: 1px;
    background-color: #ccc;
   

}
p {
    line-height: 1.8;
}

.stranka {
    max-width: 1060px;
    margin: 0px auto;
    padding: 50px 50px 80px 50px;
}




.swiper {
    width: 100%;
    aspect-ratio: 3 / 1;
    max-height: 380px;
    position: relative;
    overflow: hidden;
}

.swiper-slide {
  position: relative;
  text-align: left;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.caption {
    position: absolute;
    top: 35%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    opacity: 0;
    animation: fadeInUp 1s ease-out 0.5s forwards;
    font-family: "Open Sans", sans-serif;
    font-weight: 100;
    font-style: normal;
    speak: none;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

.caption-inner {
    max-width: 1060px;
    margin: 0 auto;
    color: white;
    
}
    .caption .title {
        font-size: clamp(28px, 4vw, 54px);
        background-color: #ed008c;
        padding: 0px 20px;
        color: white;
        display: table-cell; 
    }

    .caption .desc {
        font-size: clamp(14px, 2vw, 16px);
        font-weight: 100;
        background-color: rgba(255, 255, 255, 0.9);
        color: #333;
        padding: 10px 20px;
        margin-top: 0px;
        display:  inline-block;
    }

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.swiper-button-prev,
.swiper-button-next {
    font-size: 24px !important ;
    color: white !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    background-color: rgba(50,50,50,.3 );
    padding: 50px;
}
    .swiper-button-prev::after,
    .swiper-button-next::after {
        font-size: 24px !important ;
    }

.swiper:hover .swiper-button-prev,
.swiper:hover .swiper-button-next {
    opacity: 1;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    color: gray !important;
    background-color: white;
}

.swiper-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  background-color: #ed008c;
  z-index: 10;
}

.swiper-progress-bar.animate {
  animation: progress 7s linear forwards;
}

@keyframes progress {
  from { width: 0%; }
  to { width: 100%; }
}

.grayscale-hover {
    transition: filter 0.3s ease, transform 0.6s ease !important; /* důležité: nezničí zoom */
    display: inline-block; /* zajistí, že transformace fungují správně */
}

    .grayscale-hover:hover {
        filter: grayscale(100%);
        transform: scale(1.03) !important;
    }



.img-zoom-in {
    transform: scale(0.1) !important;
    opacity: 0 !important;
    transition: transform 0.8s ease-in-out, opacity 0.8s ease-in-out !important;
}

    .img-zoom-in.visible {
        transform: scale(1) !important;
        opacity: 1 !important;
    }


/*.cubic-ease.aos-animate {
    transition-timing-function: cubic-bezier(.12, -1.17, .7, 1.68) !important;
}*/


/* Slide from left */
/*.slide-from-left {
    transform: translateX(-100vw);
    opacity: 0;
    transition: transform 0.9s ease-out, opacity 0.9s ease-out;
}*/

/* Slide from right */
/*.slide-from-right {
    transform: translateX(100vw);
    opacity: 0;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out !important;
    
}*/
    /* When in view, animate in */
    /*.slide-from-left.aos-animate {
        transform: translateX(0);
        opacity: 1;
    }
    .slide-from-right.aos-animate {
        transform: translateX(0);
        opacity: 1;
    }*/

.pse-6 {
    padding: 0px 40px 0px 20px;
}
.pes-6 {
    padding: 0px 20px 0px 40px;
}
.ps-6 {
    padding: 0px 0px 0px 60px;
}

.pe-6 {
    padding: 0px 60px 0px 0px;
}
.kolo-nabidka {
    padding: 20px 0px 0px 0px;
   
}

/* Extra responzivní úpravy */
@media (max-width: 1060px) {
    .kolo-nabidka {
        
        width: 100%
    }

    .pse-6, .pes-6, .ps-6, .pe-6 {
        padding: 0px 40px 0px 40px;
    }
}


    @media (max-width: 768px) {

        .stranka {
            margin: 0px auto;
            padding: 0px 30px 50px 30px;
        }

        .pse-6, .pes-6, .ps-6, .pe-6 {
            padding: 0px 20px 0px 20px;
        }

        

        .swiper {
            min-height: 180px;
        }

        .caption {
            top: 35%;
            left: 0%;
        }

            .caption .title, .caption .desc {
                padding: 0px 10px;
            }

        .swiper-button-prev,
        .swiper-button-next {
            font-size: 20px !important;
            padding: 30px;
        }
    }

    @media (max-width: 480px) {
        .swiper {
        }

        .caption {
            top: 30%;
            left: 0%;
        }

        .swiper-button-prev,
        .swiper-button-next {
            font-size: 16px !important;
            padding: 20px;
        }

        .p-6 {
            padding: 0px 10px 0px 10px;
        }
    }




/*@media (min-width: 992px) {
    .foto:hover  {
        transform: translate3d(0, 0, 0);
        transition: opacity 0.35s, transform 0.35s;
    }

    .foto:hover a::before {
        opacity: 0.3;
        transition: opacity 0.5s;
    }
}*/

.gallery-img {
    width: 100%;
    height: 200px; /* nebo libovolná výška např. 250px */
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 5px; /* volitelné, pro vzhled */
}


.custom-modal-dialog {

    min-width: 320px;
    min-height:200px;
    margin-top: 5vh; /* posune modal dolů od horního okraje */
    margin-bottom: auto;
}

@media (max-width: 576px) {
    .custom-modal-dialog {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100vw;
        /*height: 100vh;*/
        margin: 0 !important;
        box-sizing: border-box;
    }

    .custom-modal-content {
        border-radius: 0 !important;
        min-height: 100vh;
        height: 100vh;
        width: 100%;
        max-width: 100vw;
        box-sizing: border-box;
    }
    body.modal-open {
        overflow-x: hidden;
    }
}


.img-blur-shadow-wrapper {
    position: relative;
    display: inline-block;
}

    .img-blur-shadow-wrapper::before {
        content: "";
        position: absolute;
        top: -12px;
        left: -12px;
        right: -12px;
        bottom: -12px;
        z-index: 1;
        border-radius: 20px;
        filter: blur(12px);
        opacity: 0.5;
        background: inherit;
        pointer-events: none;
        box-shadow: 0 8px 16px 0 rgba(0,0,0,0.25);
    }

    .img-blur-shadow-wrapper img {
        position: relative;
        z-index: 2;
        border-radius: 20px;
        box-shadow: 0 8px 16px 0 rgba(0,0,0,0.25);
    }