:root{--site-accent:#96C9EC;--site-navy:#073b67}
.header-area{background:rgba(255,255,255,.98)!important;box-shadow:0 2px 15px rgba(4,44,77,.09);z-index:100!important}
.header-area .container{max-width:1400px!important}.main-nav{min-height:96px!important;display:flex!important;align-items:center!important;gap:14px}.main-nav>a:first-child img{height:88px!important;width:auto!important;max-width:360px!important;object-fit:contain!important;padding:4px!important;margin-right:8px!important}.main-nav .logo{display:block!important;margin:0 8px 0 0!important;padding:0!important;line-height:1!important;white-space:nowrap}.main-nav .logo h1{font-size:19px!important;line-height:1.1!important;margin:0!important;color:var(--site-navy)!important}.main-nav .nav{margin-left:auto!important;align-items:center!important}.main-nav .nav li a{color:var(--site-navy)!important}.fv-header-contact{display:flex;flex-direction:column;gap:1px;white-space:nowrap;font-size:11px;line-height:1.25;margin-left:5px;color:#526b82}.fv-header-contact a{color:var(--site-navy)!important;text-decoration:none!important}.fv-header-contact a:hover{text-decoration:underline!important}
footer{background:var(--site-accent)!important;color:#12345b!important}footer p,footer a{color:#12345b!important}
/* Detail pages: softer spacing/cards without touching component IDs or JS behaviour */
body:not(.home-page) .section{padding-top:70px;padding-bottom:70px}body:not(.home-page) .best-deal{background:#f7fafc}body:not(.home-page) .contact-content,body:not(.home-page) #contact-form{border-radius:16px}body:not(.home-page) .main-banner{margin-top:0}
@media(max-width:1200px){.fv-header-contact{display:none}.main-nav>a:first-child img{height:76px!important}.main-nav{min-height:84px!important}.main-nav .logo h1{font-size:16px!important}}
@media(max-width:767px){.main-nav>a:first-child img{display:none!important}.main-nav{min-height:70px!important}.main-nav .logo h1{font-size:18px!important}.main-nav .nav{margin-left:0!important}}

/* v3 — clean always-visible header + modern detail tabs */
.header-area.header-sticky{
  position:sticky!important;top:0!important;left:0!important;right:0!important;width:100%!important;
  background:#fff!important;box-shadow:0 5px 22px rgba(7,59,103,.10)!important;
  border-bottom:1px solid rgba(7,59,103,.08)!important;z-index:9999!important;
}
.main-nav{min-height:76px!important;gap:18px!important}
.main-nav>a:first-child:not(.logo){display:none!important}
.main-nav .logo{display:flex!important;align-items:center!important;margin:0 auto 0 0!important;padding:0 4px!important;max-height:none!important}
.main-nav .logo h1{font-family:'Poppins',sans-serif!important;font-size:20px!important;font-weight:600!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--site-navy)!important;text-transform:none!important;margin:0!important;padding:0!important}
.main-nav .logo h1 span{font:inherit!important;color:inherit!important}
.main-nav .nav{margin-left:auto!important}
.main-nav .nav li a{font-family:'Poppins',sans-serif!important;font-size:13px!important;font-weight:500!important}
.fv-header-contact{font-family:'Poppins',sans-serif!important;font-size:11px!important;padding-left:16px;border-left:1px solid #e4ebf1}

/* Logo lives on the photography, not in the navigation. */
.fv-media-logo{position:absolute;z-index:12;left:28px;bottom:28px;background:rgba(255,255,255,.94);padding:11px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,31,58,.18);backdrop-filter:blur(5px);pointer-events:none}
.fv-media-logo img{display:block;width:auto;height:62px;max-width:240px;object-fit:contain}
.fv-hero,.main-banner{position:relative!important}
body:not(.home-page) .fv-media-logo{left:clamp(18px,4vw,64px);bottom:24px}
body:not(.home-page) .fv-media-logo img{height:58px}

/* Generated villa-detail tabs — visual only; IDs/events stay untouched. */
body:not(.home-page) #tabs-container-1 .tabs-content{background:#fff;border:1px solid #e8eef3;border-radius:18px;padding:18px;box-shadow:0 12px 34px rgba(7,59,103,.07)}
body:not(.home-page) #tabs-container-1 .nav-tabs{display:flex!important;flex-wrap:wrap!important;gap:9px!important;border:0!important;margin:0 0 18px!important;padding:0!important}
body:not(.home-page) #tabs-container-1 .nav-item{margin:0!important}
body:not(.home-page) #tabs-container-1 .nav-link{font-family:'Poppins',sans-serif!important;border:1px solid #dce7ef!important;border-radius:999px!important;background:#f7fafc!important;color:var(--site-navy)!important;font-size:13px!important;font-weight:600!important;padding:10px 17px!important;line-height:1.2!important;box-shadow:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important}
body:not(.home-page) #tabs-container-1 .nav-link:hover{transform:translateY(-1px);background:#eef5f9!important;border-color:#bfd3e1!important}
body:not(.home-page) #tabs-container-1 .nav-link.active{background:var(--site-navy)!important;border-color:var(--site-navy)!important;color:#fff!important;box-shadow:0 7px 18px rgba(7,59,103,.16)!important}
body:not(.home-page) #tabs-container-1 .tab-content{margin-top:0!important;padding-top:4px}

@media(max-width:1200px){.main-nav{min-height:72px!important}.main-nav .logo h1{font-size:17px!important}.fv-header-contact{display:none!important}}
@media(max-width:767px){.header-area.header-sticky{position:sticky!important}.main-nav{min-height:66px!important}.main-nav .logo{max-width:70%!important}.main-nav .logo h1{font-size:16px!important;white-space:normal!important}.fv-media-logo{left:14px;bottom:16px;padding:8px 11px;border-radius:9px}.fv-media-logo img,body:not(.home-page) .fv-media-logo img{height:43px;max-width:175px}body:not(.home-page) #tabs-container-1 .tabs-content{padding:12px;border-radius:14px}body:not(.home-page) #tabs-container-1 .nav-tabs{gap:7px!important}body:not(.home-page) #tabs-container-1 .nav-link{font-size:12px!important;padding:9px 13px!important}}

/* v3.1 — ONLY slideshow + logo polish. No functional selectors/JS changed. */
/* Larger logo directly on photography — no white badge/card. */
.fv-media-logo{
  left:clamp(22px,4vw,64px)!important;
  bottom:clamp(22px,4vw,52px)!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.34));
}
.fv-media-logo img{height:96px!important;max-width:360px!important;width:auto!important}
.home-page .fv-media-logo img{height:118px!important;max-width:430px!important}

/* Detail-page slideshow: keep Owl/Carousel behaviour intact, only improve its frame. */
body:not(.home-page) .main-banner{
  width:min(1440px,calc(100% - 44px))!important;
  margin:28px auto 10px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 18px 48px rgba(7,59,103,.14)!important;
  background:#eaf1f6!important;
}
body:not(.home-page) .main-banner .owl-stage-outer{border-radius:22px!important}
body:not(.home-page) .main-banner .owl-carousel .item{
  height:min(72vh,720px)!important;
  min-height:520px!important;
  position:relative!important;
}
/* Gentle contrast only; never a box behind slideshow text. */
body:not(.home-page) .main-banner .owl-carousel .item:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(2,24,42,.05) 35%,rgba(2,24,42,.22) 100%);
}
body:not(.home-page) .main-banner .header-text{z-index:3!important;background:transparent!important;box-shadow:none!important;border:0!important;padding:0 18px!important}
body:not(.home-page) .main-banner .header-text .category,
body:not(.home-page) .main-banner .header-text h2{
  background:transparent!important;box-shadow:none!important;border:0!important;
}
body:not(.home-page) .main-banner .header-text .category{padding:0!important;margin-bottom:12px!important}
body:not(.home-page) .main-banner .owl-nav{z-index:8!important;transform:translateY(-25px)!important}
body:not(.home-page) .main-banner .owl-nav .owl-prev i,
body:not(.home-page) .main-banner .owl-nav .owl-next i{
  width:46px!important;height:46px!important;line-height:46px!important;
  background:rgba(5,38,64,.34)!important;border:1px solid rgba(255,255,255,.5)!important;
  backdrop-filter:blur(5px);box-shadow:0 5px 16px rgba(0,0,0,.12)!important;
}
body:not(.home-page) .main-banner .owl-nav .owl-prev i:hover,
body:not(.home-page) .main-banner .owl-nav .owl-next i:hover{background:rgba(5,38,64,.62)!important}
body:not(.home-page) .main-banner .owl-dots{left:50%!important;bottom:20px!important;transform:translateX(-50%)!important;z-index:8!important;white-space:nowrap}
body:not(.home-page) .main-banner .owl-dots .owl-dot{width:8px!important;height:8px!important;margin:0 5px!important;background:rgba(255,255,255,.65)!important}
body:not(.home-page) .main-banner .owl-dots .owl-dot.active{width:24px!important;border-radius:999px!important;background:#fff!important}

@media(max-width:767px){
  .fv-media-logo{left:16px!important;bottom:20px!important}
  .fv-media-logo img{height:66px!important;max-width:245px!important}
  .home-page .fv-media-logo img{height:78px!important;max-width:280px!important}
  body:not(.home-page) .main-banner{width:calc(100% - 20px)!important;margin:14px auto 4px!important;border-radius:15px!important}
  body:not(.home-page) .main-banner .owl-stage-outer{border-radius:15px!important}
  body:not(.home-page) .main-banner .owl-carousel .item{height:62vh!important;min-height:430px!important}
  body:not(.home-page) .main-banner .owl-nav .owl-prev i{left:14px!important}
  body:not(.home-page) .main-banner .owl-nav .owl-next i{right:14px!important}
  body:not(.home-page) .main-banner .owl-nav .owl-prev i,
  body:not(.home-page) .main-banner .owl-nav .owl-next i{width:40px!important;height:40px!important;line-height:40px!important;font-size:19px!important}
}

/* v3.2 — targeted slideshow/logo/spacing refinements only */
/* Soft glass badge behind every logo placed over photography. */
.fv-media-logo{
  background:rgba(255,255,255,.82)!important;
  padding:12px 18px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:14px!important;
  box-shadow:0 8px 24px rgba(3,35,61,.13)!important;
  backdrop-filter:blur(7px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(7px) saturate(115%)!important;
  filter:none!important;
}
.fv-media-logo img{height:92px!important;max-width:350px!important}
.home-page .fv-media-logo img{height:116px!important;max-width:430px!important}

/* Detail pages: remove the large dead area between the slideshow/title and generated tabs. */
body:not(.home-page) .main-banner + .best-deal{
  margin-top:18px!important;
  padding-top:34px!important;
}
body:not(.home-page) .best-deal .section-heading{
  margin-bottom:22px!important;
}
body:not(.home-page) .best-deal .section-heading h2{
  margin-top:8px!important;
  margin-bottom:0!important;
}
body:not(.home-page) #tabs-container-1{margin-top:0!important}

@media(max-width:767px){
  .fv-media-logo{padding:8px 11px!important;border-radius:10px!important;background:rgba(255,255,255,.84)!important}
  .fv-media-logo img{height:62px!important;max-width:230px!important}
  .home-page .fv-media-logo img{height:76px!important;max-width:280px!important}
  body:not(.home-page) .main-banner + .best-deal{margin-top:8px!important;padding-top:24px!important}
  body:not(.home-page) .best-deal .section-heading{margin-bottom:16px!important}
}
/* v3.3: homepage logo slightly lower so it does not compete with hero copy. */
.home-page .fv-media-logo{bottom:10px!important}
@media(max-width:767px){.home-page .fv-media-logo{bottom:8px!important}}

/* v3.5 — responsive mode follows the existing JS isMobile flag (<= 992px). */
.is-mobile-layout body .header-area.header-sticky{position:sticky!important;top:0!important;z-index:9999!important}
.is-mobile-layout body .main-nav{position:relative!important;min-height:72px!important;height:72px!important;display:block!important}
.is-mobile-layout body .main-nav .fv-header-contact{display:none!important}
.is-mobile-layout body .main-nav .logo{
  position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;
  margin:0!important;padding:0!important;max-width:calc(100% - 76px)!important;height:auto!important;max-height:60px!important;
  display:flex!important;align-items:center!important;z-index:3!important
}
.is-mobile-layout body .main-nav .logo h1{margin:0!important;padding:0!important;font-size:17px!important;line-height:1.12!important;white-space:normal!important;max-width:100%!important}
.is-mobile-layout body .main-nav .menu-trigger{
  display:block!important;position:absolute!important;right:12px!important;left:auto!important;top:50%!important;
  transform:translateY(-50%)!important;margin:0!important;z-index:5!important
}
/* The dropdown itself remains the original menu; only its collapsed placement is stabilized. */
.is-mobile-layout body .main-nav .nav{top:72px!important}

/* Detail slideshow: logo high in the photo so it cannot collide with the generated image-fit button below. */
.is-mobile-layout body:not(.home-page) .main-banner{width:calc(100% - 20px)!important;margin:14px auto 6px!important;border-radius:15px!important}
.is-mobile-layout body:not(.home-page) .main-banner .owl-stage-outer{border-radius:15px!important}
.is-mobile-layout body:not(.home-page) .main-banner .owl-carousel .item{height:62vh!important;min-height:450px!important}
.is-mobile-layout body:not(.home-page) .fv-media-logo{left:14px!important;top:18px!important;bottom:auto!important;padding:8px 11px!important;border-radius:10px!important}
.is-mobile-layout body:not(.home-page) .fv-media-logo img{height:62px!important;max-width:230px!important}

/* Compact title -> tabs spacing for both phones and tablets. */
.is-mobile-layout body:not(.home-page) .main-banner + .best-deal{margin-top:4px!important;padding-top:20px!important;padding-bottom:18px!important}
.is-mobile-layout body:not(.home-page) .best-deal .section-heading{margin-bottom:10px!important}
.is-mobile-layout body:not(.home-page) .best-deal .section-heading h6{margin-bottom:4px!important}
.is-mobile-layout body:not(.home-page) .best-deal .section-heading h2{margin-top:2px!important;margin-bottom:2px!important;line-height:1.1!important}
.is-mobile-layout body:not(.home-page) #tabs-container-1{margin-top:0!important}
.is-mobile-layout body:not(.home-page) #tabs-container-1.mb-4{margin-bottom:10px!important}

/* Contact title stays in normal flow instead of being pulled over phone/email cards. */
.is-mobile-layout body:not(.home-page) .contact.section{margin-top:18px!important;padding:32px 0 18px!important;min-height:0!important;height:auto!important}
.is-mobile-layout body:not(.home-page) .contact.section .section-heading{margin:0 auto!important;padding:0 14px!important}
.is-mobile-layout body:not(.home-page) .contact.section .section-heading h2{font-size:28px!important;line-height:1.15!important;margin:6px 0 0!important}
.is-mobile-layout body:not(.home-page) .contact-content{margin-top:0!important;padding-top:0!important}
.is-mobile-layout body:not(.home-page) .contact-content .col-lg-7>.row{margin-top:24px!important}

/* v3.5.1 — restore original hamburger behaviour in isMobile mode. */
.is-mobile-layout body .header-area,
.is-mobile-layout body .header-area .container,
.is-mobile-layout body .header-area .main-nav{
  overflow:visible!important;
}
.is-mobile-layout body .header-area .main-nav .menu-trigger{
  right:12px!important;
  left:auto!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  z-index:10002!important;
}
.is-mobile-layout body .header-area .main-nav .nav{
  position:absolute!important;
  top:72px!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  z-index:10001!important;
  float:none!important;
}
.is-mobile-layout body .header-area.header-sticky .nav{
  margin-top:0!important;
}


/* v3.6 — isMobile detail slideshow logo: bottom-left, clear of dots and controls. */
.is-mobile-layout body:not(.home-page) .main-banner .fv-media-logo{
  top:auto!important;
  left:14px!important;
  bottom:70px!important;
  padding:7px 10px!important;
  border-radius:10px!important;
  z-index:7!important;
}
.is-mobile-layout body:not(.home-page) .main-banner .fv-media-logo img{
  height:54px!important;
  max-width:205px!important;
}


/* v3.7 — isMobile contact strip on every page, visible immediately and kept under sticky header. */
.is-mobile-layout body .header-area.header-sticky{
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
}
.is-mobile-layout body .fv-mobile-home-contact{
  position:sticky!important;
  top:72px!important;
  z-index:9998!important;
}
/* Avoid legacy homepage-only display rules hiding the same strip on detail pages. */
.is-mobile-layout body:not(.home-page) .fv-mobile-home-contact{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:8px 12px!important;
  min-height:44px!important;
  background:#fff!important;
  border-bottom:1px solid rgba(7,59,103,.10)!important;
  box-shadow:0 4px 12px rgba(7,59,103,.05)!important;
}
.is-mobile-layout body:not(.home-page) .fv-mobile-home-contact a{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#f4f8fb!important;
  color:var(--site-navy)!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.is-mobile-layout body:not(.home-page) .fv-mobile-home-contact a b{
  overflow:hidden!important;text-overflow:ellipsis!important;font-weight:600!important;
}
/* Keep phone numbers whole, matching the homepage; email uses the remaining space. */
.is-mobile-layout body:not(.home-page) .fv-mobile-contact-phone{flex:0 0 auto!important}
.is-mobile-layout body:not(.home-page) .fv-mobile-contact-email{max-width:58%!important}
@media(max-width:430px){
  .is-mobile-layout body:not(.home-page) .fv-mobile-home-contact{gap:5px!important;padding:7px!important}
  .is-mobile-layout body:not(.home-page) .fv-mobile-home-contact a{font-size:10.5px!important;padding:7px 8px!important}
}

/* v3.8 — tiny isMobile visual fixes only. */
.is-mobile-layout body:not(.home-page) .main-banner .fv-media-logo{
  bottom:92px!important; /* clear carousel dots */
}
.is-mobile-layout body .fv-mobile-home-contact{
  min-height:48px!important;
  padding-top:9px!important;
  padding-bottom:9px!important;
  overflow:visible!important;
}
.is-mobile-layout body .fv-mobile-home-contact a{
  line-height:1.35!important;
  min-height:30px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
  overflow:visible!important;
}
.is-mobile-layout body .fv-mobile-home-contact a b{
  line-height:1.35!important;
  padding-bottom:1px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* v3.14 — contain detail-page rows/carousel inside the mobile viewport. */
.is-mobile-layout body:not(.home-page) .main-banner,
.is-mobile-layout body:not(.home-page) .main-banner .owl-carousel,
.is-mobile-layout body:not(.home-page) .main-banner .owl-stage-outer,
.is-mobile-layout body:not(.home-page) .contact,
.is-mobile-layout body:not(.home-page) .contact-content{
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* v3.15 — actual viewport overflow fix.
   is-mobile-layout is on <html>, so target the documentElement itself. */
html.is-mobile-layout{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overscroll-behavior-x:none;
}
html.is-mobile-layout body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  position:relative;
}
html.is-mobile-layout *,
html.is-mobile-layout *::before,
html.is-mobile-layout *::after{
  box-sizing:border-box;
}
html.is-mobile-layout .contact-page .item{
  min-width:0!important;
  max-width:100%!important;
}

/* Header logo (existing behavior). */
.main-nav .logo .fv-header-logo{display:block!important;height:48px!important;width:auto!important;max-width:105px!important;object-fit:contain!important;margin-right:10px!important;flex-shrink:0}
@media(max-width:767px){.main-nav .logo .fv-header-logo{height:37px!important;max-width:70px!important;margin-right:7px!important}}

/* Footer v4: isolated layout, overrides legacy 100px paragraph line-height. */
footer{min-height:0!important;padding:25px 22px 14px!important}
footer .container.fv-new-layout{display:block!important;max-width:1140px!important;width:100%!important;margin:0 auto!important;padding:0 12px!important}
footer .fv-new-layout *{box-sizing:border-box}
footer .fv-new-main{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:30px;padding:0 0 20px}
footer .fv-new-brand{display:flex;align-items:center;justify-content:flex-start;min-width:0}
footer .fv-new-logo{display:block;width:100%;max-width:310px;height:auto;max-height:150px;object-fit:contain;object-position:left center}
footer .fv-new-contact{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:11px 22px;min-width:0}
footer .fv-new-contact a{font-size:14px!important;line-height:1.5!important;color:#173b5c!important;text-decoration:none!important;font-weight:500}
footer .fv-new-contact a:hover,footer .fv-new-bottom a:hover{text-decoration:underline!important}
footer .fv-new-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 22px;align-items:center;border-top:1px solid rgba(22,57,87,.2);padding-top:12px}
footer .fv-new-bottom #footer-text{grid-column:1;grid-row:1;margin:0!important;padding:0!important;text-align:left!important;font-size:11px!important;line-height:1.5!important;color:#244561!important;font-weight:400!important}
footer .fv-new-bottom #footer-text a{color:inherit!important;text-decoration:none!important}
footer .fv-new-legal{grid-column:2;grid-row:1}
footer .fv-new-legal .fv-privacy-links{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:7px 15px;margin:0!important;padding:0!important;width:auto!important}
footer .fv-new-legal .fv-privacy-links a{color:#244561!important;font-size:11px!important;line-height:1.5!important;text-decoration:none!important}
footer .fv-new-status{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-end;min-height:0}
footer .fv-new-status #reserved-footer{margin:0!important;padding:0!important;font-size:9px!important;line-height:1.3!important;text-align:right!important;color:rgba(22,57,87,.58)!important;opacity:.8;font-weight:400!important}
footer .fv-new-status #reserved-footer *{font-size:inherit!important;line-height:inherit!important;color:inherit!important}
@media(max-width:767px){
 footer{padding:22px 16px 13px!important}
 footer .fv-new-main{grid-template-columns:1fr;gap:15px;padding-bottom:16px}
 footer .fv-new-brand{justify-content:center}
 footer .fv-new-logo{max-width:280px;max-height:145px;object-position:center}
 footer .fv-new-contact{justify-content:center;gap:9px 17px;text-align:center}
 footer .fv-new-contact a{font-size:13px!important}
 footer .fv-new-bottom{grid-template-columns:1fr;gap:8px;text-align:center}
 footer .fv-new-bottom #footer-text,footer .fv-new-legal,footer .fv-new-status{grid-column:1;grid-row:auto}
 footer .fv-new-bottom #footer-text{text-align:center!important}
 footer .fv-new-legal .fv-privacy-links{justify-content:center}
 footer .fv-new-status{justify-content:center}
 footer .fv-new-status #reserved-footer{text-align:center!important}
}

/* Logo u kutu glavne fotografije vile */
.main-banner .fv-villa-corner-logo{position:absolute!important;left:20px!important;bottom:20px!important;width:auto!important;height:auto!important;max-width:145px!important;max-height:90px!important;object-fit:contain!important;z-index:8!important;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
@media(max-width:600px){.main-banner .fv-villa-corner-logo{left:12px!important;bottom:12px!important;max-width:100px!important;max-height:65px!important}}


/* FIX 2026-10-10: detail pages only, full-width OUTER villa info panel on phones. */
@media screen and (max-width: 767px) {
  body:not(.home-page) .best-deal {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body:not(.home-page) .best-deal > .container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 10px !important;
  }
  body:not(.home-page) .best-deal > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  body:not(.home-page) .best-deal > .container > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  body:not(.home-page) .best-deal #tabs-container-1,
  body:not(.home-page) .best-deal #tabs-container-1 > .tabs-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  body:not(.home-page) .best-deal #tabs-container-1 > .tabs-content {
    padding: 10px 7px !important;
  }
  body:not(.home-page) .best-deal #tabs-container-1 .tab-pane > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body:not(.home-page) .best-deal #tabs-container-1 .tab-pane > .row > [class*="col-"] {
    padding-left: 2px !important;
    padding-right: 2px !important;
    min-width: 0 !important;
  }
}
/* Keep feature labels and short values in separate, wrapping columns. */
body:not(.home-page) .best-deal .info-table {
  padding: 24px 18px;
}
body:not(.home-page) .best-deal .info-table ul li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: baseline;
  column-gap: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body:not(.home-page) .best-deal .info-table ul li span {
  float: none !important;
  width: auto !important;
  min-width: 0;
  font-size: 16px;
  line-height: 1.45;
  text-align: right;
  white-space: normal;
}

/* Larger shared brand and upper-right villa photo logos. */
.home-page .main-nav .logo .fv-header-logo{height:80px!important;max-width:175px!important}
body:not(.home-page) .main-banner .fv-media-logo,
.is-mobile-layout body:not(.home-page) .main-banner .fv-media-logo,
.main-banner .fv-villa-corner-logo{left:auto!important;bottom:auto!important;right:20px!important;top:20px!important}
@media(max-width:767px){
 .home-page .main-nav .logo .fv-header-logo{height:58px!important;max-width:112px!important}
 body:not(.home-page) .main-banner .fv-media-logo,
 .is-mobile-layout body:not(.home-page) .main-banner .fv-media-logo,
 .main-banner .fv-villa-corner-logo{right:12px!important;top:12px!important}
}
