@font-face {
    font-family: "lorimer-no-2";
    src: url('Lorimer_Semibold.otf');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "lorimer-no-2";
    src: url('Lorimer_Bold.otf');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

*:not(span) {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.035rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "lorimer-no-2", sans-serif !important;
    font-weight: 600;
    letter-spacing: 1px;
    font-style: normal;
}

.nav-link, .navbar-brand {
    font-family: "lorimer-no-2", sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    font-style: normal;
}

a{
    color: black;
    text-decoration: none;
}

.req{
    color: #dc3545;
    padding-left: 3px;
}

.fw-bolder{
    font-weight: 600 !important;
}

.col1{
    color: #A28462;
}

::selection{
    background-color: #A28462DD;
    color: white;
}

.col-black{
    color: rgba(0, 0, 0, 0.9);
}

.col-black2{
    color: rgba(0, 0, 0, 0.8);
}

.pokoj .btn-cstm{
    padding: 12px 40px;
}

.btn{
    font-family: "lorimer-no-2", sans-serif;
    font-weight: 700 !important;
    font-style: normal;
}

.btn-none{
    border: 0 !important;
    background-color: transparent !important;
    font-size: 0.95rem;
}

.form-control, .form-select, .btn{
    border-radius: 4px !important;
}

.form-control, .form-select{
    padding: 8px 12px;
    border: 2px solid #9f866460 !important;
    background-color: #9F85640C !important;
}


.logo-admin{
    width: 32vw;
    max-width: 170px;
}

.fs-20{
    font-size: 20px;
}

.rezim{
    background-color: #9F8564;
    padding: 7px 0;
    color: white;
    overflow: hidden;
}

.rezim .bi{
    font-size: 110%;
    color: white;
}

.rezim .bi:hover{
    font-size: 110%;
    background-color: #C39F03;
}

.btn-cstm{
    padding-top: 6px;
    padding-bottom: 6px;
    border: 2px solid #9F8564;
    background-color: white;
    color: #9F8564;
    font-weight: bold;
}

.btn-cstm:hover{
    background-color: #9F8564;
    color: white;
    border: 2px solid #9F8564;
}

.btn-cstm-rev{
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 20px;
    letter-spacing: 0.5px;
    background-color: #9F8564;
    color: white;
    font-weight: bold;
    border: 2px solid #9F8564;
}

.btn-cstm-rev:hover{
    border: 2px solid #9F8564;
    background-color: white;
    color: #9F8564;
}

.detPokoje:hover  .btn-cstm{
    background-color: #9F8564;
    color: white;
    border: 2px solid #9F8564;
}

.btn-cstm-white{
    padding: 3px 24px !important;
    background-color: white;
    color: #9F8564 !important;
    font-weight: bold !important;
    border: 2px solid white !important;
    border-radius: 4px;
    transition: 150ms;
}

.btn-cstm-white:hover{
    border: 2px solid white !important;
    background-color: transparent !important;
    color: white  !important;
}

.odkz{
    color: rgba(0, 0, 0, 0.85);
}

.odkz:hover{
    color: #9F8564;
    transition: 150ms;
}

.btn-group{
    position: relative;
    top: -1px;
}

.bezova{
    color: #9F8564 !important;
}

.pribeh-odd{
    border-color: #9F8564 !important;
}

.iknEdit{
    position: relative;
    padding: 4px 8px;
    top: -2px;
}

.adminIcn:hover{
    color: #9F8564;
    transition: 150ms;
}

.lista{
    background-color: #9f8764;
    color: white;
    padding: 8px 0;
}

.jaz .oddelovac{
    position: relative;
    font-weight: light;
    border-left: 1px solid rgba(255, 255, 255, 0.7);
    height: 16px;
    top: 4px;
}

.jaz .btn-group .btn-none{
    color: rgba(255, 255, 255, 0.7);
    margin: 0 2px;
    border: none !important;
    font-weight: 500;
}

.jaz .active, .jaz .btn-none:hover{
    color: rgba(255, 255, 255) !important;
    font-weight: 600 !important;
    border: none !important;
    position: relative;
    top: -1px;
    margin: 0 1px;
}

footer{
    padding: 32px 0 18px;
}

footer p{
    color: #616161;
    font-size: 95%;
}

footer .logo{
    width: 40vw;
    max-width: 170px;
}

.navbar .btn-group .btn-none{
    color: #9F8564 !important;
}

.navbar .active, .navbar.jaz .btn-none:hover{
    color: #9F8564 !important;
}

.navbar .oddelovac{
    border-left: 1px solid rgba(159, 134, 100, 0.6);
}

.jaz .odkaz{
    color: white;
    font-size: 95%;
    transition: 150ms;
}

.dis-pod-xxl{
    display: none !important;
}

.nav-link{
    font-weight: 600;
    letter-spacing: 0.21px;
    transition: 150ms;
    color: rgba(0, 0, 0, 0.9);
}

.nav-link:hover, .nav-link.active{
    text-decoration: underline;
    text-decoration-color: #9F8564;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    font-weight: 600 !important;
    color: #9F8564 !important;
}



.navbar{
    z-index: 999 !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}

.nav-item{
    padding: 12px 0px 8px 28px;
}

.dropdown-menu {
    border-radius: 0px;
    border: none !important;
    position: relative;
    left: 36px !important;
    top: 52px !important;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    display: none;
}

/* Zobrazit dropdown pri najeti na PC */
@media (min-width: 1401px) {
    .dropdown:hover .dropdown-menu {
        display: block;
    }
}

html {
    scroll-padding-top: 200px;
}

.dropdown-item {
    padding: 8px 18px;
    background-color: transparent !important;
    color: rgba(0, 0, 0, 0.8);
    font-family: "lorimer-no-2", sans-serif;
    font-weight: 600;
    font-size: 1.1rem;
    transition: 150ms;
}

.dropdown-item.it2{
    position: relative;
    top: -2px;
    padding: 4px 18px 4px 40px;
    font-size: 1.035rem;
}


.dropdown-item:hover {
    color: #9F8564 !important;
}

.dropdown-item.active {
    background-color: transparent !important;
    color: #9F8564 !important;
}

nav .logo{
    height: 60px;
}

.pokoj img{
    height: 260px;
    object-fit: cover;
    min-width: 100% !important;
}

.navbar-toggler{
    border: none !important;
    box-shadow: none !important;
    padding: 0;
}

.navbar-toggler:focus{
    box-shadow: none !important;
}

.navbar-toggler-icon {
    width: 26px;
    height: 25px;
    position: relative;
    top: -1px;
    right: 20px;
    transition: 0.3s;
    background-image: none !important;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #9F8564;
    transition: 0.3s;
}

.navbar-toggler-icon::before {
    top: 3px;
    transform: rotate(0);
}

.navbar-toggler-icon::after {
    bottom: 2px;
    transform: rotate(0);
}

.navbar-toggler-icon span {
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #9F8564;
    top: 12px;
    left: 13px;
    transition: 0.3s;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon span {
    opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
    top: 11px;
    transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
    bottom: 11px;
    transform: rotate(-45deg);
}

.end .btn-group{
    position: relative;
    top: -2px;
    left: -24px;
}


.navbar{
    padding: 8px 0 !important;
}

.dis-nad-sm{
    display: none !important;
}

.mail-bg{
    background-image: url('/img/mail.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: rgba(0, 0, 0, 0.425);
    background-blend-mode: multiply;
    padding: 75px 0;
}

.mail .form-control, .mail .form-select{
    border: 2px solid rgb(240, 240, 245) !important;
    background-color: rgba(255, 255, 255, 0.95) !important;
    color: black !important;
    border-radius: 4px !important;
    padding: 12px 16px;
}

.mail .form-control::placeholder, .mail .form-select::placeholder{
    color: rgba(0, 0, 0, 0.25) !important;
}

.btn-cstm2{
    padding: 11px 56px 10px;
    background-color: transparent;
    color: white;
    font-weight: bold !important;
    border: 2px solid white;
    font-size: 17px;
}

.btn-cstm2:hover {
    background-color: white;
    color: #9F8564;
    border: 2px solid white;
}

.banner-bg{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-blend-mode: multiply;
    padding: 21.5vh 0 12.25vh;
}

.kontakt-bg{
    background-image: url('/img/kontakt.jpg');
    background-color: rgba(0, 0, 0, 0.275);
}

.restaurace-bg{
    background-image: url('/img/restaurace.jpg');
    background-color: rgba(0, 0, 0, 0.275);
}

.wellness-bg{
    background-image: url('/img/wellness.jpg');
    background-color: rgba(0, 0, 0, 0.225);
}

.aktivity-bg{
    background-image: url('/img/aktivity.jpg');
    background-color: rgba(0, 0, 0, 0.275);
    background-position: top !important;
}

.skupiny-bg{
    background-image: url('/img/skupiny.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.pokoje-bg{
    background-image: url('/img/banner.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.balicky-bg{
    background-image: url('/img/banner.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.fotogalerie-bg{
    background-image: url('/img/pokoj1.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.recenze-bg{
    background-image: url('/img/recenze.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

/* Recenze Cards */
.recenze-card {
    background: white;
    border: 2px solid #A2846250;
    border-radius: 0;
    padding: 30px;
    height: 100%;
    position: relative;
    transition: all 0.3s ease;
}

.accordion-item{
    border: 2px solid #A2846250 !important;
    border-radius: 0px !important;
    background-color: rgba(255, 255, 255, 0.75);
    box-shadow: none !important;
}

.accordion-button{
    background-color: rgba(255, 255, 255, 0.75);
}

.accordion-button:not(.collapsed){
    background-color: rgba(255, 255, 255, 0.75);
    box-shadow: none !important;
}

.accordion-button:focus{
    box-shadow: none !important;
}

.quote-icon-top {
    position: absolute;
    top: -12px;
    left: 20px;
}

.quote-icon-top-alt {
    position: absolute;
    top: -10px;
    right: 20px;
}

.quote-icon-top svg,
.quote-icon-top-alt svg {
    width: 50px;
    height: auto;
}

.recenze-header {
    margin-bottom: 12px;
    padding-top: 8px;
    font-size: 0.95rem;
    color: #A28462;
}

.recenze-jmeno {
    font-weight: 400;
    color: #A28462;
}

.recenze-separator {
    margin: 0 4px;
    font-weight: 400;
    color: #A28462;
}

.recenze-datum,
.recenze-typ {
    font-weight: 400;
    color: #A28462;
}

.recenze-text {
    font-size: 1rem;
    line-height: 1.7;
    color: #333;
    margin-bottom: 0;
}

.poukazy-bg{
    background-image: url('/img/poukazy.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.faq-bg{
    background-image: url('/img/recenze.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.kosmetika-bg{
    background-image: url('/img/kosmetika.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.masaze-bg{
    background-image: url('/img/well6.jpg');
    background-color: rgba(0, 0, 0, 0.3);
}

.cenik-line{
    border-top: 2px solid #9F8564;
    opacity: 0.75 !important;
}

.minus-nav{
    position: relative;
    top: -86px;
    margin-bottom: -86px;
}

.overlay-fotky, .ofp{
    position: relative;
    overflow: hidden;
}

.overlay-fotky::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(162, 132, 98, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 2.5rem;
    font-weight: 500;
    z-index: 2;
    transition: 300ms;
    cursor: pointer;
}

.overlay-fotky:hover::before{
    background-color: rgba(162, 132, 98, 0.65);
    color: rgba(255, 255, 255, 0.9);
}

.overlay-fotky img, .ofp img{
    transition: 300ms;
    scale: 1;
}

.overlay-fotky:hover img, .ofp:hover img{
    scale: 1.05;
    cursor: pointer;
}

.logo-banner{
    width: 47vw;
    max-width: 357px;
}

.cesty{
    padding-top: 24px;
}

.cesty a, .cesty span{
    color: #A3A3A3;
}

.cesty a.active, .cesty a:hover{
    text-decoration: underline 1px solid #A3A3A3;
    text-decoration: underline;
    text-decoration-color: #A3A3A3;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.bg-bezova{
    background-color: #F7F6F2;
}

b, strong{
    font-weight: 600 !important;
}

.textik li, .textik li{
    margin-bottom: 6px;
}

.ikona-vybaveni{
    width: 26px;
    height: 26px;
    object-fit: contain;
    position: relative;
    top: -1px;
}

.ikn-vybaveni{
    position: relative;
    top: 1px;
}

.panel-rezervace .form-control{
    border: none !important;
    background-color: white !important;
    border-radius: 0 !important;
    width: 100%;
    text-align: center !important;
    padding-top: 1.75rem !important;
    padding-bottom: 1rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.panel-rezervace .form-control::placeholder{
    color: transparent !important;
}

.panel-rezervace input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

.panel-rezervace input[type="date"]::-webkit-inner-spin-button,
.panel-rezervace input[type="date"]::-webkit-clear-button {
    display: none;
    -webkit-appearance: none;
}

.panel-rezervace .floating-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: rgba(0, 0, 0, 0.5);
    font-size: 0.95rem;
    pointer-events: none;
    transition: all 0.2s ease;
    z-index: 1;
    background-color: transparent;
}

.panel-rezervace .floating-label.active {
    top: 27%;
    font-size: 0.85rem;
    color: rgba(0, 0, 0, 0.5);
}

.shadow-mid{
    box-shadow: 2px 2px 24px rgba(0, 0, 0, 0.125);
}

.panel-rezervace{
    position: relative;
    top: -96px;
    margin-bottom: -96px;
}

.udrz2{
    position: relative;
    top: -84px;
    margin-bottom: -84px;
}

.minus-nav .display-4{
    padding-top: 8px;
}

.onas-img3{
    position: relative;
    top: 45%;
    left: -20%;
    z-index: 3;
    width: 160%;
}

.onas-img2{
    position: relative;
    left: -11%;
    width: 90%;
    z-index: 4;
}

.onas-img1{
    position: relative;
    top: 60%;
    left: 10%;
    z-index: 5;
    width: 120%;
}

.img-ubyt2{
    position: relative;
    top: 12%;
    left: -17%;
    width: 90%;
}

.img-ubyt3{
    position: relative;
    top: 0%;
    left: -13%;
    width: 85%;
    margin-bottom: -17%;
}

.img-well1{
    position: relative;
    top: 3%;
    left: -7%;
    width: 90%;
}

.img-well2{
    position: relative;
    top: 20%;
    width: 92%;
}

.img-well3{
    position: relative;
    top: -10%;
    left: 17%;
    width: 87%;
}

.img-prbh1{
    width: 90%;
    position: relative;
    top: 0%;
}

.img-prbh2{
    width: 97%;
    position: relative;
    top: 11%;
}

.img-cyklo1{
    width: 100%;
    position: relative;
    top: 10%;
    left: -2%;
    z-index: 5;
}

.img-cyklo2{
    width: 100%;
    position: relative;
    top: -5%;
    z-index: 4;
}

.img-cyklo3{
    width: 100%;
    position: relative;
    top: -32%;
    margin-bottom: -12%;
    left: -20%;
    z-index: 3;
}

.img-vltava1{
    width: 120%;
    position: relative;
    top: 56%;
    left: 2%;
    z-index: 4;
}

.img-vltava2{
    width: 115%;
    position: relative;
    left: -17%;
    z-index: 5;
}

.img-tenis1{
    width: 145%;
    position: relative;
    top: 47%;
    left: 0%;
    z-index: 5;
}

.img-tenis2{
    width: 117%;
    position: relative;
    left: -20%;
    z-index: 4;
}

.img-tenis3{
    width: 100%;
    position: relative;
    top: 0;
    left: -10%;
    z-index: 5;
}

.img-tenis4{
    width: 100%;
    position: relative;
    top: -60%;
    margin-bottom: -30%;
    left: -20%;
    z-index: 4;
}

.img-poukazy1{
    width: 105%;
    position: relative;
    top: 15%;
    left: 5%;
    z-index: 5;
}

.img-poukazy2{
    width: 110%;
    position: relative;
    top: 0%;
    left: -10%;
    z-index: 4;
}

.img-boruvky1{
    width: 90%;
    position: relative;
    top: 0%;
    left: 20%;
    z-index: 5;
}

.img-boruvky2{
    width: 100%;
    position: relative;
    top: 14%;
    left: 20%;
    z-index: 5;
}

html{
    overflow-x: hidden;
    max-width: 100vw !important;
}

.pokoj .display-6{
    line-height: 100%;
    padding-bottom: 4px;
}

.ofxhid{
    overflow-x: hidden;
}

.hide-foto img{
    filter: brightness(0);
}

.lista .odkaz{
    font-size: 0.95rem;
}

.detail-pokoj .btn-cstm-rev{
    padding: 12px 48px;
}

.obal-fotky-pokoje{
    padding: 6px 8px;
}

.fw-bldr{
    font-weight: 500 !important;
}

.dis-nad-md{
    display: block !important;
}

.dis-nad-md-img{
    display: none !important;
}

.sidepanel{
    background-color: #F7F6F2;
    padding: 32px 36px;
}

.sidepanel i{
    margin-right: 16px;
    font-size: 115%;
    position: relative;
    top: 0.025rem;
}

.obal-fotky-pokoje img{
    height: 50% !important;
    width: 100%;
    object-fit: cover;
}

.ps-05{
    padding-left: 2px !important;
}

.dotaz{
    border: 2px solid #9F8564;
    padding: 24px;
}

@media (max-width: 1400px) {
    * {
        font-size: 1rem;
    }

    .pokoj img{
        height: 290px;
    }

    .dis-nad-xxl{
        display: none !important;
    }

    .dis-pod-xxl{
        display: block !important;
    }

    .cesty{
        padding-top: 16px;
    }

    nav .logo{
        height: 54px;
    }

    .onas-img3{
        width: 145%;
        left: -25% !important;
    }

    .navbar-collapse {
        position: fixed;
        top: 80px;
        left: -300px;
        width: 300px;
        height: calc(110vh - 80px);
        background-color: rgba(255, 255, 255, 0.9) !important;
        box-shadow: 2px 10px 10px rgba(0,0,0,0.1);
        transition: left 150ms ease-in-out;
        z-index: 998 !important;
        overflow-y: auto;
        padding: 16px 24px 100px 24px;
    }

    .navbar-collapse.show {
        left: 0;
    }

    .navbar-collapse.collapsing {
        left: -300px;
        transition: left 150ms ease-in-out;
        height: calc(100vh - 80px) !important;
    }

    .navbar-nav {
        flex-direction: column;
        width: 100%;
        z-index: 900 !important;
    }

    .nav-item {
        padding: 4px 0;
    }

    .nav-item:last-child {
        border-bottom: none;
    }

    .dropdown-menu {
        position: static !important;
        transform: none !important;
        box-shadow: none !important;
        background-color: rgb(255, 255, 255, 0) !important;
        margin-left: 0 !important;
        padding: 0;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        left: 0 !important;
        top: 0 !important;
        display: none;
    }

    .dropdown-menu.show {
        display: block !important;
    }

    .nav-link.active + .dropdown-menu {
        display: block !important;
    }

    .dropdown-item {
        padding: 4px 16px;
        background-color: rgb(255, 255, 255, 0) !important;
        font-size: 1.1rem;
    }

    .navbar{
        padding: 8px !important;
    }
    
    .minus-nav{
        position: relative;
        top: -80px;
        margin-bottom: -80px;
    }

    .overlay-fotky::before{
        font-size: 2rem;
    }

    html {
        scroll-padding-top: 100px;
    }
}

@media (max-width: 992px) {
    .pribeh-odd{
        border: none !important;
    }

    
    .img-boruvky1{
        width: 90%;
        top: 0%;
        left: 0%;
    }

    .img-boruvky2{
        width: 115%;
        top: 18%;
        left: 0%;
    }
    
    .img-poukazy1{
        width: 110%;
        left: 0%;
    }

    .pokoj img{
        height: 220px;
    }

    .dis-nad-lg{
        display: none !important;
    }

    .udrz2{
        display: none;
    }

    .img-ubyt2{
        display: none;
    }

    .img-ubyt3{
        display: none;
    }

    .img-well1{
        display: none;
    }

    .img-well2{
        top: 32%;
        left: -10%;
        width: 112%;
    }

    .img-well3{
        top: 0%;
        left: 12%;
        width: 92%;
    }

    .img-prbh1{
        width: 100%;
    }

    .img-prbh2{
        width: 100%;
        top: 15%;
    }

    .owhid{
        overflow-x: hidden;
    }

    
    .minus-nav .display-4{
        padding-top: 0px;
    }

    .obal-fotky-pokoje{
        padding: 3px 4px;
    }
}

@media (max-width: 768px) {
    .fs-20{
        font-size: 18px;
    }

    .odradkuj{
        width: 100% !important;
        text-align: left !important;
        padding-top: 8px !important;
    }

    .obal-fotky-pokoje{
        padding: 6px 8px;
    }

    .dis-nad-md{
        display: none !important;
    }

    .dis-nad-md-img{
        display: block !important;
    }

    .onas-img3{
        display: none;
    }

    .onas-img2{
        left: -5%;
        width: 100%;
    }

    .onas-img1{
        top: 60%;
        left: 10%;
        width: 135%;
    }

    .btn-cstm2{
        padding: 11px 48px 10px;
        font-size: 1rem;
    }

    .banner-bg{
        padding: 18vh 0 11vh;
    }

    .pokoj img{
        height: 170px;
    }
}

@media (max-width: 576px) {

    .img-boruvky1{
        width: 80%;
        top: 0%;
        left: 0%;
    }

    .img-boruvky2{
        width: 120%;
        top: 16%;
        left: -20%;
    }

    .pokoj img{
        height: 55vw;
    }

    nav .logo{
        height: 48px;
    }

    .dis-nad-sm{
        display: block !important;
    }

    footer p{
        font-size: 87%;
    }

    .navbar-collapse {
        top: 74px;
    }

    .navbar{
        height: 74px !important;
    }
    
    .minus-nav{
        position: relative;
        top: -74px;
        margin-bottom: -74px;
    }

    .cesty{
        padding-top: 10px;
        padding-left: 24px;
    }

    .cesty a{
        font-size: 0.9rem !important;
    }

    .cesty span{
        font-size: 0.85rem !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    
    .panel-rezervace .floating-label {
        font-size: 0.85rem;
    }

    .panel-rezervace .floating-label.active {
        top: 25%;
        font-size: 0.7rem;
    }

    .recenze-card {
        padding: 30px 20px 20px 20px;
    }
}

@media (max-width: 450px) {
    .fs-20{
        font-size: 17px;
    }

    * {
        font-size: 0.975rem;
    }

    .obal-fotky-pokoje{
        padding: 3px 4px;
    }
    
    .sidepanel{
        background-color: #F7F6F2;
        padding: 32px 24px;
    }

    .sidepanel i{
        margin-right: 12px;
    }
}



/* Lightbox Galerie */
.gallery-lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.gallery-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.gallery-content img {
    max-width: 100%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.gallery-close {
    position: absolute;
    top: 32px;
    right: 48px;
    font-size: 56px;
    color: white;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 10000;
    line-height: 1;
    padding: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 200ms;
    font-weight: 300;
}

.gallery-close:hover {
    color: #A28462;
    transform: rotate(90deg);
}

.gallery-prev,
.gallery-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 48px;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 2px solid rgba(255, 255, 255, 0.2);
    cursor: pointer;
    padding: 16px 20px;
    z-index: 10000;
    transition: 200ms;
    border-radius: 4px;
    line-height: 1;
    font-weight: 300;
}

.gallery-prev:hover,
.gallery-next:hover {
    background: rgba(162, 132, 98, 0.9);
    border-color: rgba(162, 132, 98, 0.9);
    color: white;
}

.gallery-prev {
    left: 48px;
}

.gallery-next {
    right: 48px;
}

.gallery-counter {
    position: fixed;
    top: 32px;
    left: 48px;
    color: white;
    font-size: 1.1rem;
    font-weight: 400;
    letter-spacing: 0.5px;
}

@media (max-width: 768px) {
    .gallery-close {
        top: 16px;
        right: 20px;
        font-size: 48px;
        width: 48px;
        height: 48px;
    }

    .gallery-prev,
    .gallery-next {
        font-size: 36px;
        padding: 12px 16px;
    }

    .gallery-prev {
        left: 12px;
    }

    .gallery-next {
        right: 12px;
    }

    .gallery-content img {
        max-height: 75vh;
    }

    .gallery-counter {
        font-size: 1rem;
        top: 20px;
        left: 20px;
    }
}

@media (max-width: 576px) {
    .gallery-close {
        top: 12px;
        right: 12px;
        font-size: 40px;
        width: 40px;
        height: 40px;
    }

    .gallery-prev,
    .gallery-next {
        font-size: 26px;
        padding: 12px 10px;
        background: rgba(255, 255, 255, 0.15);
    }

    .gallery-prev {
        left: 6px;
    }

    .gallery-next {
        right: 6px;
    }

    .gallery-content img {
        max-height: 70vh;
    }
}

