
/* Local contrast and presentation fixes; keep original layout and animation. */
.navbar-top-default { background: #202020; margin-top: 0; }
.header-appear .navbar-top-default { background: #202020; }
.navbar-simple .navbar-nav .nav-link, .top-info a { color: #fff; }
.banner-area .black-box { background: linear-gradient(110deg, rgba(15,19,20,.66), rgba(15,19,20,.60)); }
.booking-area::before, .testimonial-sec::before {
    content: ""; position: absolute; inset: 0; pointer-events: none;
}
.booking-area::before {
    background: linear-gradient(180deg, rgba(17,22,23,.12), rgba(17,22,23,.62) 32%, rgba(17,22,23,.62) 70%, rgba(17,22,23,.16));
}
.booking-area > .row, .testimonial-sec > .container { position: relative; }
.booking-area .inner-text { padding-inline: 20px; }
.testimonial-sec::before {
    background: linear-gradient(90deg, rgba(16,21,22,.05), rgba(16,21,22,.60) 45%, rgba(16,21,22,.66));
}
.text-green, .heading-area .sub-heading.text-green { color: #347b22; }
.elements-boxes .about-box.green-box:hover { background-color: #347b22; }
.elements-boxes .about-box p { opacity: 1; }
.elements-boxes .about-box { box-shadow: 0 3px 18px rgba(20,30,35,.09); border: 1px solid #e5e7e8; }
.btn.btn-blue:hover, .btn.btn-white:hover, .go-top { background-color: #347b22 !important; border-color: #347b22; }
.contact-sec .contact-form .form-control { color: #202020; }
.contact-sec .contact-form input::placeholder, .contact-sec .contact-form textarea::placeholder { color: #555; opacity: 1; }
.contact-sec .contact-form .form-control:focus { border-bottom: 2px solid #2b65dd; }
a:focus-visible { outline: 3px solid #2b65dd; outline-offset: 5px; }
.navbar a:focus-visible, .side-menu a:focus-visible, .button:focus-visible { outline-color: #fff; }
.static-city-map { position: relative; filter: none; background: #ebece5; }
.static-city-map > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.map-address { position: absolute; left: 20px; right: 20px; bottom: 20px; padding: 18px 20px; background: #fff; color: #202020; box-shadow: 0 4px 20px #1b29331a; text-align: left; }
.map-address strong, .map-address span, .map-address small { display: block; }
.map-address strong { font-size: 18px; }
.map-address span { font-size: 14px; line-height: 1.6; margin-top: 4px; }
.map-address small { font-size: 12px; color: #555; }
@media (max-width: 991px) {
    .testimonial-sec::before { background: rgba(16,21,22,.62); }
}

/* Preserve readable white captions while the portfolio photo remains visible. */
.cube-portfolio1 .cbp-l-grid-mosaic-flat .cbp-caption-activeWrap { background: #184aa8; }
.cube-portfolio1 .cbp-caption-zoom .cbp-caption:hover .cbp-caption-activeWrap { opacity: .95; }
