/* ══ Fixes to the purchased theme (style.css), loaded right after it in _Layout ══════════ */

/* Language menu: the theme opens it on hover and keeps it laid out while hidden; it sat 84px past
   the right edge and gave every page a sideways scroll on desktop. */
.navbar .navbar-right .dropdown-menu { left: auto; right: 0; }

/* Homepage "about": the button and both phone numbers on one line, wrapping cleanly. */
.home-about-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.home-about-actions .button-3 { margin: 0; }
.home-phone { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; color: #141414; white-space: nowrap; }
.home-phone img { width: 24px; height: auto; }
.home-phone:hover { color: #BD945A; }

/* Homepage villa carousel: the villa name opens the villa. */
.rooms3 .item .cont .title a:hover { color: #BD945A; }

@media (max-width: 575.98px) {
    /* "ULTRA & LUXURY & VILLAS" and the like were wider than the screen. */
    .section-title { font-size: 28px; line-height: 36px; }

    /* Villa carousel: on a phone the text sat on top of a short photo; put it under the photo. */
    .rooms3 .item .cont { position: static; padding: 14px 4px 0; }
    .rooms3 .item .cont .title, .rooms3 .item .cont .title a { font-size: 22px; }
    .rooms3 .item .cont .details { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 14px; }
    .rooms3 .item .cont .details span { margin-right: 0; }
    .rooms3 .item .discount { top: 14px; left: 14px; font-size: 12px; }

    /* About photos side by side instead of two full-screen-tall images. */
    .about .about-photo { margin-top: 0 !important; }
}

/* Error / 404 page (Pages/Error) */
.banner-header .error-text { max-width: 620px; margin: 18px auto 0; font-size: 18px; color: rgba(255, 255, 255, .85); }
.banner-header .error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
.banner-header .error-ref { margin-top: 24px; font-size: 13px; color: rgba(255, 255, 255, .6); }
.banner-header .error-ref code { color: inherit; }

/* Plain text pages (Privacy) */
.text-page { max-width: 820px; margin: 0 auto; font-size: 17px; line-height: 1.8; }
.text-page a { color: #BD945A; text-decoration: underline; }

/* Never a sideways scroll on phones or desktops (clip keeps position: sticky working, unlike hidden). */
body { overflow-x: clip; }

/* Header over light photos: a soft shade behind the transparent navbar keeps the logo, menu and the
   language label readable (gold logo and white links disappeared on bright or grey heroes). */
.navbar:not(.nav-scroll)::before {
    content: ""; position: absolute; inset: 0 0 -30px 0; z-index: -1; pointer-events: none;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}
.navbar:not(.nav-scroll) .navbar-right .nav-link, .navbar:not(.nav-scroll) .navbar-right .nav-link span { color: #fff; }

/* Footer: icons in the theme gold, copyright centred under the centred links on small screens. */
.footer .item p a i, .footer .item .mail a i { margin-right: 6px; color: #BD945A; }
@media (max-width: 991.98px) {
    .footer .bottom .text-end { text-align: center !important; margin-top: 10px; }
}

/* Villa detail description (editor HTML from the villa admin) */
.villa-desc { margin-bottom: 20px; }
.villa-desc h2, .villa-desc h3 { margin: 4px 0 14px; font-family: "Gilda Display", serif; font-size: 26px; font-weight: 400; line-height: 1.3; color: #141414; }
.villa-desc h4 { margin: 26px 0 10px; font-family: "Gilda Display", serif; font-size: 22px; font-weight: 400; color: #141414; }
.villa-desc h2 strong, .villa-desc h3 strong, .villa-desc h4 strong { font-weight: inherit; }
.villa-desc p { margin-bottom: 14px; }
.villa-desc ul { padding-left: 20px; }

/* Extra-service pages (Premium Lounge, Private Concierge, VIP Transfer): the body HTML comes from the
   translations. Lounge's text wraps itself in another col-lg-10, which made its column narrower and
   off-centre next to the sister pages. */
.post .col-lg-10 > .col-lg-10 { width: 100%; }
.post .list { padding-left: 0; }
.post .list li { display: flex; align-items: flex-start; gap: 10px; }
.post .list li > span:first-child { flex: none; margin-top: 2px; }
/* Call-to-action buttons side by side instead of one per half column. */
.post .cont .row:has(> [class*="col-"] > .button-3) { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.post .cont .row > [class*="col-"]:has(> .button-3) { flex: 0 0 auto; width: auto; padding: 0; margin: 0 !important; }
@media (max-width: 575.98px) {
    blockquote { padding: 28px 24px; }
    blockquote:before { right: 18px; bottom: auto; top: 26px; font-size: 64px; }
}

/* Homepage video band: its huge italic word ("videos", longer in other languages) is positioned
   against the page, not the band, and stuck out on the right (Turkish homepage scrolled sideways). */
.video-wrapper { position: relative; overflow: hidden; }

/* Privacy notice (Pages/Privacy) */
.legal-text h3 { margin: 34px 0 12px; font-family: "Gilda Display", serif; font-size: 24px; font-weight: 400; color: #141414; scroll-margin-top: 120px; }
.legal-text .lead { font-size: 18px; color: #333; }
.legal-text .legal-updated { margin-bottom: 18px; font-size: 14px; color: #8a8a8a; }
.legal-text ul { padding-left: 22px; margin-bottom: 16px; }
.legal-text li { margin-bottom: 6px; }
.legal-text table { width: 100%; margin: 10px 0 18px; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.legal-text th, .legal-text td { padding: 10px 12px; border: 1px solid #e8ded0; text-align: left; vertical-align: top; }
.legal-text th { background: #f6f1eb; font-weight: 600; }
@media (max-width: 575.98px) { .legal-text table { display: block; overflow-x: auto; } }
.footer .footer-legal { margin-top: 6px; font-size: 14px; }
.footer .footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer .footer-legal a:hover { color: #BD945A; }
.form-privacy { margin: 14px 0 0; font-size: 13px; color: #777; }
.form-privacy a { color: #BD945A; text-decoration: underline; }

/* Cookie choice bar (_CookieConsent) */
.vc-consent {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1200; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px;
    max-width: 980px; margin: 0 auto; padding: 18px 22px; border-radius: 14px; background: #141414; color: rgba(255, 255, 255, .88);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .35); font-size: 15px; line-height: 1.55;
}
.vc-consent[hidden] { display: none; }
.vc-consent-text { flex: 1 1 420px; margin: 0; color: inherit; }
.vc-consent-text a { color: #BD945A; text-decoration: underline; }
.vc-consent-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.vc-consent-btn {
    padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 8px; background: transparent; color: #fff;
    font: 600 14px/1.2 "Urbanist", sans-serif; cursor: pointer; white-space: nowrap;
}
.vc-consent-btn:hover { border-color: #fff; }
.vc-consent-btn.is-primary { border-color: #BD945A; background: #BD945A; }
.vc-consent-btn.is-primary:hover { background: #a07a44; border-color: #a07a44; }
@media (max-width: 575.98px) { .vc-consent { left: 10px; right: 10px; bottom: 10px; padding: 16px; } .vc-consent-actions { width: 100%; } .vc-consent-btn { flex: 1; } }

/* Home "blog" cards link to the site's own article and service pages; their photos have different
   proportions, so the cards crop them to one shape and stay the same height. */
.blog1 .item .img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
