html, body {overflow-x: hidden;}
body {font-family: 'Montserrat', sans-serif;}
h1, h2, h3, h4, h5 {color: #082b53;}
h5 {font-weight: bold;}
p {margin:0px;}
a {color: #152c52;}
a:hover {color: #000;}
.odkaz {color: #e3b96d; font-weight: bold; text-decoration: underline;}
.menu {font-weight: normal; color: #152c52; margin-left: 36px; position: relative; text-decoration: none;}
.menu::after {content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: transparent; transition: background-color 0.2s;}
.menu:hover::after, .menu:focus::after {background-color: #e3b96d;}
.menu.active::after {background-color: #e3b96d;}
.menu.active {color: #152c52;}
.hero-image {position: relative; overflow: hidden;}
.text-overlay {color: white; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);}
.text-blue {color: #152c52;}
.text-black {color: #152c52;}
.text-orange {color: #e3b96d;}

.odkaz { transition: color 0.3s ease;}
.odkaz:hover {color:#FFFFFF;} 

.small-text {font-size: 1.2rem; font-weight: 500;}
@media (max-width: 768px) {#mainMenu {flex-direction: column; align-items: flex-start; padding-top: 1rem;} .menu {margin: 5px 0;} .text-overlay {padding-left: 2rem; padding-right: 2rem;}}
.navbar-toggler {border: none; background-color: transparent;}
.bg-odhad-ceny {background: linear-gradient(to right, #152c52 0%, #152c52 60%, transparent), url('../img/strecha.jpg') no-repeat right center; background-size: cover; color: white;}
.bg-gray {background: #f8f8f8;}
.bg-dark-gray {background: #d1d1d1;}
.bg-blue {background: #152c52; color: white;}
.narrow-paragraph {max-width: 600px;}

.btn-orange {background: #e3b96d; border:none; border-radius: 28px; padding: 8px 18px;}
.btn-orange:hover {background: #082b53;}

.bg-blue .btn-orange:hover {background: #214064;}

.btn-blue {background: #082b53; border:none; border-radius: 28px; padding: 8px 18px;}
.btn-blue:hover {background: #e3b96d;}

.property-card a { text-decoration: none; }
.property-card { transition: transform 0.3s ease; }
.property-card .carousel, .property-card .carousel-inner, .property-card .carousel-item, .property-card .carousel-item img { width: 100%; height: 100%; }
.property-card .carousel-inner { aspect-ratio: 4 / 3; overflow: hidden; }
.property-card .carousel-item img { object-fit: cover; transition: transform 0.3s ease; will-change: transform; }
.property-card:hover .carousel-item img { transform: scale(1.05); }

.overlay-gradient { z-index: 1; background: linear-gradient(to bottom, rgba(0,0,0,0.6), rgba(0,0,0,0) 60%); pointer-events: none; }
.custom-list { list-style: none; padding-left: 0; }
.custom-list li { position: relative; padding-left: 1.5em; margin-bottom: 0.5em; }
.custom-list li::before { content: "•"; position: absolute; left: 0; color: #e3b96d; font-weight: bold; }
.filter-tag { display: inline-block; background-color: #e3b96d; color: #152c52; padding: 8px 16px; margin: 5px; border-radius: 20px; cursor: pointer; transition: 0.3s; }
.filter-tag.active { background-color: #152c52; color: #fff; }
.card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.15); transform: translateY(-3px); transition: all 0.3s ease-in-out; }
.card-img-top { width: 100%; height: 200px; object-fit: cover; }
.card-status { position: absolute; top: 10px; right: 10px; background-color: #152c52; color: white; padding: 5px 10px; border-radius: 5px; font-size: 12px; text-transform: uppercase; z-index: 2; }
.card-footer { background-color: #e3b96d; color: #152c52; display: flex; justify-content: space-between; padding: 10px 15px; font-weight: bold; }

#loadMore {display: block; margin: 20px auto; background-color: #e3b96d; color: #152c52; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold;}
blockquote {margin: 1em 2em; padding: 0.5em 1em; /*background: #f9f9f9; border-left: 4px solid #ccc;*/}
blockquote footer {font-size: 0.9em; color: #FFF; text-align: right;}
cite {font-style: normal; font-weight: bold;}
.info-banner {background: linear-gradient(90deg, #152c52 0%, #697890 100%); color: white; border-radius: 1.8rem;}
.info-banner .bi {font-size: 2.5rem; opacity: .9;}
.info-banner .btn-light {min-width: 100px;}
.profile-img {max-height: 300px; width: auto;}

.thumb-item { aspect-ratio: 16/9; overflow: hidden; position: relative; }
.video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.3); transition: background 0.3s ease; }
.video-overlay:hover { background: rgba(0, 0, 0, 0.5); }
.play-icon { width: 64px; height: 64px; opacity: 0.9; }
.thumb-item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.main-image { aspect-ratio: 32/9; overflow: hidden; width: 100%; height: 100%; }
.object-fit-cover { object-fit: cover; }
.row.g-1 { --bs-gutter-x: 4px; --bs-gutter-y: 4px; }
.text-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.property-card { border: 1px solid #e0e0e0; border-radius: .5rem; overflow: hidden; background: #fff; }
.bookmark-btn { top: .5rem; right: .5rem; background: rgba(255,255,255,0.8); border: none; padding: .25rem; border-radius: .25rem; }
.carousel-indicators button { width: .5rem; height: .5rem; border-radius: 50%; }
#recaptcha-wrapper { max-height: 0; overflow: hidden; transition: max-height 0.6s ease; border-radius: 8px; }
#recaptcha-wrapper.active { max-height: 150px; }

