/* Luxe Vista Responsive & Mobile System v1.0 */
:root{
  --lvrm-bg:#070908;
  --lvrm-bg2:#080a09;
  --lvrm-gold:#c9a35e;
  --lvrm-white:#f5f0e7;
  --lvrm-serif:Georgia,"Times New Roman",serif;
  --lvrm-sans:Arial,Helvetica,sans-serif;
}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body.lvrm-enabled{max-width:100%;overflow-x:hidden;background:var(--lvrm-bg);}
body.lvrm-enabled *,body.lvrm-enabled *::before,body.lvrm-enabled *::after{box-sizing:border-box;}
body.lvrm-enabled img,body.lvrm-enabled video,body.lvrm-enabled iframe,body.lvrm-enabled svg{max-width:100%;}
body.lvrm-enabled img{height:auto;}
body.lvrm-enabled a,body.lvrm-enabled button,body.lvrm-enabled input,body.lvrm-enabled select,body.lvrm-enabled textarea{-webkit-tap-highlight-color:transparent;}

/* Premium Home footer. We intentionally suppress the theme footer only on Home. */
body.lvrm-home #site-footer{display:none!important;}
.lvrm-footer{width:100%;background:#050605;border-top:1px solid rgba(201,163,94,.20);color:var(--lvrm-white);font-family:var(--lvrm-sans);}
.lvrm-footer-inner{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:64px 0 28px;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:48px 64px;align-items:start;}
.lvrm-footer-wordmark{display:inline-block;color:var(--lvrm-gold)!important;text-decoration:none!important;font:600 13px/1.2 var(--lvrm-sans);letter-spacing:.18em;}
.lvrm-footer-wordmark span{display:block;color:var(--lvrm-white);font:400 10px/1.4 var(--lvrm-sans);letter-spacing:.20em;margin-top:5px;}
.lvrm-footer-brand p{max-width:390px;margin:22px 0 0;color:rgba(245,240,231,.67);font:400 14px/1.75 var(--lvrm-sans);}
.lvrm-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 28px;}
.lvrm-footer-nav a,.lvrm-footer-contact a{color:rgba(245,240,231,.84)!important;text-decoration:none!important;font:600 11px/1.45 var(--lvrm-sans);letter-spacing:.10em;text-transform:uppercase;transition:color .2s ease;}
.lvrm-footer-nav a:hover,.lvrm-footer-contact a:hover{color:var(--lvrm-gold)!important;}
.lvrm-footer-contact{display:grid;gap:16px;justify-items:start;}
.lvrm-footer-contact a{text-transform:none;letter-spacing:.035em;font-size:12px;overflow-wrap:anywhere;}
.lvrm-footer-bottom{grid-column:1/-1;border-top:1px solid rgba(245,240,231,.09);padding-top:24px;margin-top:12px;display:flex;justify-content:space-between;gap:24px;color:rgba(245,240,231,.44);font:400 10px/1.5 var(--lvrm-sans);letter-spacing:.12em;text-transform:uppercase;}

/* Home — fixes the 375px layout seen in live testing while preserving desktop. */
body.lvrm-home .lvhl-site,body.lvrm-home .lvhl-site main,body.lvrm-home .lvhl-bleed{width:100%!important;max-width:none!important;min-width:0!important;}
body.lvrm-home .lvhl-site{overflow:hidden!important;background:var(--lvrm-bg)!important;}
body.lvrm-home .lvhl-wrap,body.lvrm-home [class*="lvhl-shell"]{min-width:0!important;}
body.lvrm-home .lvhl-hero-image{width:100%!important;height:100%!important;object-fit:cover!important;}
body.lvrm-home .lvhl-actions{display:flex;flex-wrap:wrap;gap:12px;}
body.lvrm-home .lvhl-actions a,body.lvrm-home .lvhl-actions button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;}
body.lvrm-home .lvhl-search input,body.lvrm-home .lvhl-search select,body.lvrm-home .lvhl-search button{min-height:46px;}
body.lvrm-home .lvhl-final,body.lvrm-home [class*="lvhl-final"]{width:100%!important;max-width:none!important;background-size:cover!important;background-position:center!important;}

/* About */
body.lvrm-about .lvab2,body.lvrm-about .lvab2-hero,body.lvrm-about .lvab2-cta{width:100%!important;max-width:none!important;}
body.lvrm-about .lvab2-hero-img,body.lvrm-about .lvab2-story-image{object-fit:cover!important;}

/* Contact */
body.lvrm-contact .lvcf,body.lvrm-contact .lvcf-hero,body.lvrm-contact .lvcf-cta{width:100%!important;max-width:none!important;}
body.lvrm-contact .lvcf-hero-image{object-fit:cover!important;}

/* Car rental */
body.lvrm-car-rental .lvcr21,body.lvrm-car-rental .lvcr21-hero,body.lvrm-car-rental .lvcr21-final{width:100%!important;max-width:none!important;}

/* Stays */
body.lvrm-stays main{width:100%;max-width:100%;overflow:hidden;}
body.lvrm-stays .lv-stays-gallery-item{min-width:0;}

/* Safe global treatment for Luxe Vista property/index layouts. */
body.lvrm-properties main,body.lvrm-for-rent main,body.lvrm-property-detail main{max-width:100%;overflow:hidden;}
body.lvrm-properties main img,body.lvrm-for-rent main img,body.lvrm-property-detail main img{max-width:100%!important;height:auto;}
body.lvrm-property-detail main iframe{width:100%!important;}

@media (max-width:1024px){
  .lvrm-footer-inner{width:min(100% - 48px,960px);grid-template-columns:1fr 1fr;gap:40px 48px;padding-top:52px;}
  .lvrm-footer-brand{grid-column:1/-1;}

  body.lvrm-home .lvhl-hero-content{max-width:720px!important;}
  body.lvrm-about .lvab2-pillar-grid,body.lvrm-about .lvab2-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.lvrm-contact .lvcf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.lvrm-car-rental .lvcr21-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media (max-width:767px){
  body.lvrm-enabled{font-size:16px;}
  body.lvrm-enabled main{width:100%!important;max-width:100%!important;}

  /* Generic comfortable mobile side padding for page shells. */
  body.lvrm-home [class*="lvhl-shell"],
  body.lvrm-about .lvab2-shell,
  body.lvrm-contact .lvcf-shell,
  body.lvrm-car-rental .lvcr21-shell{
    width:100%!important;max-width:none!important;padding-left:22px!important;padding-right:22px!important;margin-left:auto!important;margin-right:auto!important;
  }

  /* HOME */
  body.lvrm-home .lvhl-nav{min-height:72px!important;padding-left:18px!important;padding-right:18px!important;gap:14px!important;}
  body.lvrm-home .lvhl-nav img,body.lvrm-home .lvhl-nav .logo,body.lvrm-home .lvhl-nav [class*="logo"]{max-width:145px!important;height:auto!important;}
  body.lvrm-home .lvhl-nav a,body.lvrm-home .lvhl-nav button{min-height:44px;}
  body.lvrm-home .lvhl-hero{min-height:620px!important;height:auto!important;display:flex!important;align-items:flex-end!important;}
  body.lvrm-home .lvhl-hero-content{width:100%!important;max-width:none!important;padding-top:132px!important;padding-bottom:54px!important;}
  body.lvrm-home .lvhl-eyebrow{font-size:10px!important;letter-spacing:.20em!important;}
  body.lvrm-home .lvhl-hero h1{font-size:clamp(42px,12.8vw,54px)!important;line-height:.98!important;letter-spacing:-.035em!important;max-width:9.4em!important;}
  body.lvrm-home .lvhl-hero p{font-size:14px!important;line-height:1.7!important;max-width:32em!important;}
  body.lvrm-home .lvhl-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:340px!important;gap:10px!important;}
  body.lvrm-home .lvhl-actions a,body.lvrm-home .lvhl-actions button{width:100%!important;min-height:48px!important;padding:0 18px!important;font-size:10px!important;letter-spacing:.12em!important;}
  body.lvrm-home .lvhl-search{padding-top:52px!important;padding-bottom:52px!important;}
  body.lvrm-home .lvhl-search h2{font-size:clamp(34px,10vw,43px)!important;line-height:1.03!important;}
  body.lvrm-home .lvhl-search form,body.lvrm-home .lvhl-search [class*="form"],body.lvrm-home .lvhl-search [class*="filters"]{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;}
  body.lvrm-home .lvhl-search input,body.lvrm-home .lvhl-search select,body.lvrm-home .lvhl-search button{width:100%!important;min-width:0!important;min-height:50px!important;}
  body.lvrm-home .lvhl-featured,body.lvrm-home .lvhl-guidance,body.lvrm-home .lvhl-destinations,body.lvrm-home .lvhl-ecosystem{padding-top:58px!important;padding-bottom:58px!important;}
  body.lvrm-home .lvhl-final,body.lvrm-home [class*="lvhl-final"]{min-height:560px!important;background-position:center!important;}
  body.lvrm-home .lvhl-final [class*="content"],body.lvrm-home [class*="lvhl-final"] [class*="content"]{width:100%!important;max-width:none!important;padding-left:22px!important;padding-right:22px!important;}
  body.lvrm-home .lvhl-final h2,body.lvrm-home [class*="lvhl-final"] h2{font-size:clamp(38px,11vw,48px)!important;line-height:1.02!important;}

  /* ABOUT */
  body.lvrm-about .lvab2-hero{min-height:620px!important;height:auto!important;}
  body.lvrm-about .lvab2-hero-inner{padding-top:120px!important;padding-bottom:58px!important;}
  body.lvrm-about .lvab2-hero h1{font-size:clamp(42px,12vw,52px)!important;line-height:1!important;}
  body.lvrm-about .lvab2-pillar-grid,body.lvrm-about .lvab2-card-grid,body.lvrm-about .lvab2-values-layout,body.lvrm-about .lvab2-story{grid-template-columns:1fr!important;}
  body.lvrm-about .lvab2-story-image{min-height:360px!important;}
  body.lvrm-about .lvab2-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-width:340px!important;}
  body.lvrm-about .lvab2-btn{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;}

  /* CONTACT */
  body.lvrm-contact .lvcf-hero{min-height:560px!important;height:auto!important;}
  body.lvrm-contact .lvcf-hero-content{padding-top:120px!important;padding-bottom:56px!important;}
  body.lvrm-contact .lvcf-card-grid,body.lvrm-contact .lvcf-direct-grid{grid-template-columns:1fr!important;}
  body.lvrm-contact .lvcf-buttons{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.lvrm-contact .lvcf-btn{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
  body.lvrm-contact .lvcf-contact-item{min-width:0!important;overflow-wrap:anywhere!important;}

  /* CAR RENTAL */
  body.lvrm-car-rental .lvcr21-hero{min-height:590px!important;height:auto!important;}
  body.lvrm-car-rental .lvcr21-hero-inner{padding-top:118px!important;padding-bottom:54px!important;}
  body.lvrm-car-rental .lvcr21-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 14px!important;}
  body.lvrm-car-rental .lvcr21-main-grid{grid-template-columns:1fr!important;gap:46px!important;}
  body.lvrm-car-rental .lvcr21-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.lvrm-car-rental .lvcr21-btn{width:100%!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;}
  body.lvrm-car-rental .lvcr21-fleet{grid-template-columns:1fr!important;}

  /* STAYS */
  body.lvrm-stays .lv-stays-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.lvrm-stays main h1{overflow-wrap:normal;word-break:normal;}
  body.lvrm-stays main a[class*="btn"],body.lvrm-stays main button{min-height:46px;}

  /* PROPERTIES / FOR RENT / PROPERTY DETAIL — safe, non-destructive mobile fallbacks. */
  body.lvrm-properties main [class*="grid"],body.lvrm-for-rent main [class*="grid"]{min-width:0;}
  body.lvrm-properties main [class*="card"],body.lvrm-for-rent main [class*="card"],body.lvrm-property-detail main [class*="card"]{min-width:0!important;max-width:100%!important;}
  body.lvrm-properties main select,body.lvrm-properties main input,body.lvrm-properties main button,
  body.lvrm-for-rent main select,body.lvrm-for-rent main input,body.lvrm-for-rent main button,
  body.lvrm-property-detail main select,body.lvrm-property-detail main input,body.lvrm-property-detail main button{max-width:100%!important;min-height:46px;}
  body.lvrm-property-detail main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.lvrm-property-detail main [class*="actions"]{flex-wrap:wrap!important;}
  body.lvrm-property-detail main [class*="actions"] a{min-height:46px;display:inline-flex;align-items:center;justify-content:center;}

  /* FOOTER */
  .lvrm-footer-inner{width:100%;grid-template-columns:1fr;gap:34px;padding:48px 22px 24px;}
  .lvrm-footer-brand{grid-column:auto;}
  .lvrm-footer-nav{grid-template-columns:1fr 1fr;gap:16px 24px;}
  .lvrm-footer-contact{gap:13px;}
  .lvrm-footer-bottom{grid-column:auto;display:grid;grid-template-columns:1fr;gap:8px;padding-top:20px;}
}

@media (max-width:430px){
  body.lvrm-home .lvhl-nav{padding-left:14px!important;padding-right:14px!important;}
  body.lvrm-home .lvhl-nav img,body.lvrm-home .lvhl-nav .logo,body.lvrm-home .lvhl-nav [class*="logo"]{max-width:130px!important;}
  body.lvrm-home [class*="lvhl-shell"],body.lvrm-about .lvab2-shell,body.lvrm-contact .lvcf-shell,body.lvrm-car-rental .lvcr21-shell{padding-left:18px!important;padding-right:18px!important;}
  body.lvrm-home .lvhl-hero-content{padding-bottom:46px!important;}
  body.lvrm-home .lvhl-hero h1{font-size:clamp(39px,12vw,48px)!important;}
  body.lvrm-car-rental .lvcr21-service-grid{grid-template-columns:1fr 1fr!important;}
  .lvrm-footer-inner{padding-left:18px;padding-right:18px;}
  .lvrm-footer-nav{grid-template-columns:1fr 1fr;gap:14px 16px;}
}

@media (max-width:390px){
  body.lvrm-home .lvhl-actions,body.lvrm-about .lvab2-actions{max-width:none!important;}
  body.lvrm-home .lvhl-hero h1{font-size:42px!important;}
  body.lvrm-home .lvhl-hero p{font-size:13px!important;}
  body.lvrm-car-rental .lvcr21-service-grid{gap:14px 10px!important;}
  .lvrm-footer-nav{grid-template-columns:1fr;}
}

/* v1.1 — stronger mobile-width enforcement and single Facebook feed */
body.lvrm-enabled #page,
body.lvrm-enabled .site,
body.lvrm-enabled .site-content,
body.lvrm-enabled .page-content,
body.lvrm-enabled main,
body.lvrm-home .lvhl-site,
body.lvrm-home .lvhl-site > main,
body.lvrm-home .lvhl-site main > section{
  width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;
}
body.lvrm-enabled{width:100%!important;min-width:0!important;position:relative;}
body.lvrm-enabled .elementor,
body.lvrm-enabled .elementor-section,
body.lvrm-enabled .e-con{max-width:100%!important;min-width:0!important;}

/* Final Home CTA: image/background must fill the entire phone viewport. */
body.lvrm-home .lvhl-final,
body.lvrm-home [class*="lvhl-final"]{
  position:relative!important;overflow:hidden!important;width:100%!important;max-width:100%!important;
}
body.lvrm-home .lvhl-final > img,
body.lvrm-home [class*="lvhl-final"] > img,
body.lvrm-home .lvhl-final-image,
body.lvrm-home [class*="lvhl-final"] [class*="image"]{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;
}

/* Approved single Facebook section. */
body.lvrm-home .lvrm-fb-section{width:100%!important;max-width:100%!important;overflow:hidden!important;}
body.lvrm-home .lvrm-fb-section .lvrm-fb-primary{width:min(100%,520px)!important;max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}
body.lvrm-home .lvrm-fb-section iframe{display:block!important;width:100%!important;max-width:500px!important;margin:0 auto!important;}
body.lvrm-home .lvrm-fb-section em{font-family:var(--lvrm-serif)!important;font-style:italic!important;color:var(--lvrm-gold)!important;font-weight:400!important;}
body.lvrm-home .lvrm-fb-eyebrow{font:600 11px/1.2 var(--lvrm-sans)!important;letter-spacing:.23em!important;text-transform:uppercase!important;color:var(--lvrm-gold)!important;}

@media (max-width:767px){
  html,body.lvrm-enabled{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;}
  body.lvrm-enabled #page,body.lvrm-enabled .site,body.lvrm-enabled .site-content,body.lvrm-enabled main{width:100%!important;max-width:100%!important;min-width:0!important;}
  body.lvrm-home .lvhl-site,body.lvrm-home .lvhl-site main,body.lvrm-home .lvhl-site main > section{width:100%!important;max-width:100%!important;min-width:0!important;}
  body.lvrm-home .lvhl-final,body.lvrm-home [class*="lvhl-final"]{min-height:520px!important;background-size:cover!important;background-position:center!important;}
  body.lvrm-home .lvrm-fb-section{padding-left:18px!important;padding-right:18px!important;}
  body.lvrm-home .lvrm-fb-section .lvrm-fb-primary{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  body.lvrm-home .lvrm-fb-section iframe{width:100%!important;max-width:100%!important;min-width:0!important;}
  .lvrm-footer{width:100%!important;max-width:100%!important;overflow:hidden!important;}
}

/* v1.2 — viewport-true Home mobile layout and stronger component overrides */
body.lvrm-home .lvhl-footer,
body.lvrm-home #site-footer{display:none!important;}
body.lvrm-home .lvrm-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:3!important;}

@media (max-width:767px){
  /* Escape any width constraint inherited from the theme/page wrapper. */
  body.lvrm-home .lvhl-site,
  body.lvrm-home .lvhl-site > main{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
    padding-left:0!important;padding-right:0!important;overflow:hidden!important;
  }
  body.lvrm-home .lvhl-site > main > section,
  body.lvrm-home .lvhl-site main > section{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;
    margin-left:0!important;margin-right:0!important;
    padding-left:0!important;padding-right:0!important;
  }
  body.lvrm-home .lvhl-wrap{
    width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;min-width:0!important;
    margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;
  }

  /* Header: readable brand + compact premium CTA. */
  body.lvrm-home .lvhl-nav{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;
    padding:14px 18px!important;min-height:78px!important;display:flex!important;
    align-items:center!important;justify-content:space-between!important;gap:16px!important;
  }
  body.lvrm-home .lvhl-nav [class*="brand"],
  body.lvrm-home .lvhl-nav [class*="logo"]{min-width:0!important;max-width:155px!important;}
  body.lvrm-home .lvhl-nav img{width:auto!important;max-width:150px!important;max-height:48px!important;object-fit:contain!important;}
  body.lvrm-home .lvhl-nav a[href*="contact"],
  body.lvrm-home .lvhl-nav a[href*="inquir"],
  body.lvrm-home .lvhl-nav .lvhl-inquire{
    width:auto!important;min-width:112px!important;max-width:128px!important;min-height:46px!important;
    padding:0 16px!important;font-size:10px!important;letter-spacing:.18em!important;white-space:nowrap!important;
  }

  /* Hero: full-bleed image, no clipped headline, better reading rhythm. */
  body.lvrm-home .lvhl-hero{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;
    min-height:610px!important;height:auto!important;overflow:hidden!important;position:relative!important;
  }
  body.lvrm-home .lvhl-hero-image{
    position:absolute!important;inset:0!important;width:100vw!important;max-width:none!important;height:100%!important;
    object-fit:cover!important;object-position:center center!important;
  }
  body.lvrm-home .lvhl-hero-content{
    width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;margin:0 auto!important;
    padding:132px 0 48px!important;position:relative!important;z-index:2!important;
  }
  body.lvrm-home .lvhl-hero h1{
    width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
    font-size:42px!important;line-height:.98!important;letter-spacing:-.035em!important;
    overflow-wrap:normal!important;word-break:normal!important;
  }
  body.lvrm-home .lvhl-hero h1 em{font-size:1em!important;line-height:inherit!important;white-space:normal!important;}
  body.lvrm-home .lvhl-hero p{width:100%!important;max-width:34em!important;font-size:14px!important;line-height:1.65!important;}
  body.lvrm-home .lvhl-actions{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.lvrm-home .lvhl-actions a,
  body.lvrm-home .lvhl-actions button{width:100%!important;max-width:100%!important;min-height:50px!important;}

  /* Property Finder: use the phone width instead of desktop mini-controls. */
  body.lvrm-home .lvhl-search{width:100vw!important;max-width:100vw!important;padding:54px 0!important;}
  body.lvrm-home .lvhl-search .lvhl-wrap{width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;}
  body.lvrm-home .lvhl-search form,
  body.lvrm-home .lvhl-search [class*="filter"],
  body.lvrm-home .lvhl-search [class*="field"],
  body.lvrm-home .lvhl-search [class*="controls"]{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  body.lvrm-home .lvhl-search form,
  body.lvrm-home .lvhl-search [class*="filters"],
  body.lvrm-home .lvhl-search [class*="controls"]{
    display:grid!important;grid-template-columns:1fr!important;gap:12px!important;
  }
  body.lvrm-home .lvhl-search label{display:block!important;width:100%!important;min-width:0!important;font-size:10px!important;line-height:1.3!important;}
  body.lvrm-home .lvhl-search select,
  body.lvrm-home .lvhl-search input,
  body.lvrm-home .lvhl-search button,
  body.lvrm-home .lvhl-search a[class*="btn"]{
    display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:50px!important;
    align-items:center!important;justify-content:center!important;padding-left:14px!important;padding-right:14px!important;
  }

  /* Single Facebook feed: one column and centered. */
  body.lvrm-home .lvhl-community,
  body.lvrm-home .lvrm-fb-section{width:100vw!important;max-width:100vw!important;padding:56px 18px!important;overflow:hidden!important;}
  body.lvrm-home .lvhl-community [class*="grid"],
  body.lvrm-home .lvrm-fb-section [class*="grid"]{
    display:grid!important;grid-template-columns:1fr!important;gap:20px!important;width:100%!important;max-width:520px!important;margin:0 auto!important;
  }
  body.lvrm-home .lvrm-fb-primary{width:100%!important;max-width:520px!important;margin:0 auto!important;}

  /* Final CTA must be a true full-width visual block. */
  body.lvrm-home .lvhl-inquiry,
  body.lvrm-home .lvhl-final,
  body.lvrm-home [class*="lvhl-final"]{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;min-height:540px!important;
    margin:0!important;padding:0!important;background-size:cover!important;background-position:center center!important;overflow:hidden!important;
  }
  body.lvrm-home .lvhl-inquiry .lvhl-wrap,
  body.lvrm-home .lvhl-final .lvhl-wrap,
  body.lvrm-home [class*="lvhl-final"] .lvhl-wrap{
    width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;margin:0 auto!important;
    padding-top:62px!important;padding-bottom:62px!important;
  }
  body.lvrm-home .lvhl-inquiry h2,
  body.lvrm-home .lvhl-final h2,
  body.lvrm-home [class*="lvhl-final"] h2{font-size:42px!important;line-height:1.02!important;max-width:9em!important;}
  body.lvrm-home .lvhl-inquiry [class*="actions"],
  body.lvrm-home .lvhl-final [class*="actions"]{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:100%!important;}
  body.lvrm-home .lvhl-inquiry [class*="actions"] a,
  body.lvrm-home .lvhl-final [class*="actions"] a{width:100%!important;min-height:50px!important;justify-content:center!important;}

  /* Our footer is the only Home footer and is comfortable on phones. */
  body.lvrm-home .lvrm-footer{width:100vw!important;max-width:100vw!important;margin:0!important;}
  body.lvrm-home .lvrm-footer-inner{width:100%!important;max-width:100%!important;padding:46px 18px 24px!important;}
}

@media (max-width:430px){
  body.lvrm-home .lvhl-wrap,
  body.lvrm-home .lvhl-hero-content,
  body.lvrm-home .lvhl-search .lvhl-wrap,
  body.lvrm-home .lvhl-inquiry .lvhl-wrap,
  body.lvrm-home .lvhl-final .lvhl-wrap,
  body.lvrm-home [class*="lvhl-final"] .lvhl-wrap{
    width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;
  }
  body.lvrm-home .lvhl-nav{padding-left:16px!important;padding-right:16px!important;}
  body.lvrm-home .lvhl-nav img{max-width:138px!important;}
  body.lvrm-home .lvhl-hero h1{font-size:40px!important;}
  body.lvrm-home .lvhl-inquiry h2,
  body.lvrm-home .lvhl-final h2,
  body.lvrm-home [class*="lvhl-final"] h2{font-size:40px!important;}
}

/* =========================================================
   v1.3 — whole-site mobile hardening
   Fixes reported from real-phone screenshots: black mobile nav,
   Home ecosystem clipping/footer visibility, For Rent vertical start,
   Stays clipping/centering/button wrapping, property image full-view.
   ========================================================= */

/* Mobile/tablet navigation overlays must stay Luxe Vista black. */
@media (max-width:1024px){
  body.lvrm-enabled .elementor-nav-menu--dropdown,
  body.lvrm-enabled .elementor-nav-menu--dropdown .elementor-nav-menu,
  body.lvrm-enabled .site-navigation-dropdown,
  body.lvrm-enabled .site-navigation-dropdown ul,
  body.lvrm-enabled .menu-dropdown-tablet .site-navigation,
  body.lvrm-enabled .menu-dropdown-tablet .site-navigation ul,
  body.lvrm-enabled .dropdown-menu,
  body.lvrm-enabled .sub-menu,
  body.lvrm-enabled [class*="mobile-menu"],
  body.lvrm-enabled [class*="mobile_nav"],
  body.lvrm-enabled [class*="menu-panel"],
  body.lvrm-enabled [class*="nav-panel"]{
    background:#050605!important;
    background-color:#050605!important;
    color:var(--lvrm-white)!important;
  }
  body.lvrm-enabled .elementor-nav-menu--dropdown a,
  body.lvrm-enabled .site-navigation-dropdown a,
  body.lvrm-enabled .menu-dropdown-tablet .site-navigation a,
  body.lvrm-enabled .dropdown-menu a,
  body.lvrm-enabled .sub-menu a,
  body.lvrm-enabled [class*="mobile-menu"] a{
    color:var(--lvrm-white)!important;
    background:transparent!important;
  }
  body.lvrm-enabled .elementor-nav-menu--dropdown a:hover,
  body.lvrm-enabled .elementor-nav-menu--dropdown a:focus,
  body.lvrm-enabled .site-navigation-dropdown a:hover,
  body.lvrm-enabled .site-navigation-dropdown a:focus,
  body.lvrm-enabled [class*="mobile-menu"] a:hover,
  body.lvrm-enabled [class*="mobile-menu"] a:focus{
    color:var(--lvrm-gold)!important;
    background:rgba(201,163,94,.06)!important;
  }
}

/* HOME: all three ecosystem choices must remain visible on phones. */
@media (max-width:767px){
  body.lvrm-home .lvhl-ecosystem{
    width:100vw!important;max-width:100vw!important;overflow:visible!important;
    padding:58px 0!important;
  }
  body.lvrm-home .lvhl-ecosystem .lvhl-wrap{
    width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;
    overflow:visible!important;
  }
  body.lvrm-home .lvhl-ecosystem [class*="grid"],
  body.lvrm-home .lvhl-ecosystem [class*="cards"],
  body.lvrm-home .lvhl-ecosystem [class*="items"]{
    display:grid!important;grid-template-columns:1fr!important;
    width:100%!important;max-width:100%!important;gap:16px!important;
    overflow:visible!important;
  }
  body.lvrm-home .lvhl-ecosystem a,
  body.lvrm-home .lvhl-ecosystem [class*="card"],
  body.lvrm-home .lvhl-ecosystem [class*="item"]{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;transform:none!important;overflow:visible!important;
  }
  body.lvrm-home .lvhl-ecosystem img{
    max-width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;
  }
}

/* HOME footer: never let page/plugin CSS hide our footer. */
body.lvrm-home footer.lvrm-footer{
  display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;
  max-height:none!important;overflow:visible!important;position:relative!important;clear:both!important;
  background:#050605!important;color:var(--lvrm-white)!important;
}
@media (max-width:767px){
  body.lvrm-home footer.lvrm-footer{
    width:100vw!important;max-width:100vw!important;min-width:100vw!important;
    margin:0!important;padding:0!important;
  }
}

/* FOR RENT: begin at the top instead of vertically centered mid-screen. */
@media (max-width:767px){
  body.lvrm-for-rent,
  body.lvrm-for-rent #page,
  body.lvrm-for-rent .site,
  body.lvrm-for-rent .site-content,
  body.lvrm-for-rent .page-content,
  body.lvrm-for-rent main{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;overflow-x:hidden!important;
  }
  body.lvrm-for-rent main > section:first-of-type,
  body.lvrm-for-rent main [class*="hero"]:first-of-type{
    min-height:auto!important;height:auto!important;
    align-items:flex-start!important;justify-content:flex-start!important;
    padding-top:92px!important;padding-bottom:54px!important;
    margin-top:0!important;transform:none!important;
  }
  body.lvrm-for-rent main > section,
  body.lvrm-for-rent main [class*="section"]{
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  body.lvrm-for-rent main [class*="wrap"],
  body.lvrm-for-rent main [class*="inner"],
  body.lvrm-for-rent main [class*="container"]{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:auto!important;margin-right:auto!important;
    padding-left:18px!important;padding-right:18px!important;
  }
  body.lvrm-for-rent main [class*="actions"],
  body.lvrm-for-rent main [class*="buttons"]{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;
  }
  body.lvrm-for-rent main a[class*="btn"],
  body.lvrm-for-rent main button{
    width:100%!important;max-width:100%!important;min-height:48px!important;
    white-space:normal!important;text-align:center!important;overflow:visible!important;
  }
}

/* STAYS: center imagery, prevent cut text/buttons, use full phone width. */
@media (max-width:767px){
  body.lvrm-stays,
  body.lvrm-stays #page,
  body.lvrm-stays .site,
  body.lvrm-stays .site-content,
  body.lvrm-stays .page-content,
  body.lvrm-stays main{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin:0!important;overflow-x:hidden!important;
  }
  body.lvrm-stays main > section,
  body.lvrm-stays main [class*="section"]{
    width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;
  }
  body.lvrm-stays main [class*="wrap"],
  body.lvrm-stays main [class*="inner"],
  body.lvrm-stays main [class*="container"]{
    width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:auto!important;margin-right:auto!important;
    padding-left:18px!important;padding-right:18px!important;
  }
  body.lvrm-stays main h1,
  body.lvrm-stays main h2,
  body.lvrm-stays main h3,
  body.lvrm-stays main p,
  body.lvrm-stays main li,
  body.lvrm-stays main span{
    max-width:100%!important;min-width:0!important;
    overflow:visible!important;overflow-wrap:break-word!important;word-break:normal!important;
  }
  body.lvrm-stays main [class*="actions"],
  body.lvrm-stays main [class*="buttons"]{
    display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;max-width:100%!important;
  }
  body.lvrm-stays main a[class*="btn"],
  body.lvrm-stays main [class*="button"],
  body.lvrm-stays main button{
    width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;
    white-space:normal!important;text-align:center!important;justify-content:center!important;
    overflow:visible!important;padding-left:16px!important;padding-right:16px!important;
  }
  body.lvrm-stays main img{
    display:block!important;max-width:100%!important;height:auto!important;
    margin-left:auto!important;margin-right:auto!important;object-position:center center!important;
  }
  body.lvrm-stays main [class*="hero"] img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;
  }
  body.lvrm-stays .lv-stays-gallery{
    width:100%!important;max-width:100%!important;grid-template-columns:1fr!important;gap:12px!important;overflow:visible!important;
  }
  body.lvrm-stays .lv-stays-gallery-item{
    width:100%!important;max-width:100%!important;aspect-ratio:4/3!important;
    background:#070908!important;overflow:hidden!important;
  }
  body.lvrm-stays .lv-stays-gallery-item img{
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;
    background:#070908!important;transform:none!important;
  }
}

/* Property and rental listing images: show the complete property instead of cropping it. */
body.lvrm-properties main [class*="card"] img:not([class*="icon"]):not([class*="logo"]),
body.lvrm-properties main [class*="listing"] img:not([class*="icon"]):not([class*="logo"]),
body.lvrm-for-rent main [class*="card"] img:not([class*="icon"]):not([class*="logo"]),
body.lvrm-for-rent main [class*="listing"] img:not([class*="icon"]):not([class*="logo"]){
  width:100%!important;max-width:100%!important;aspect-ratio:4/3!important;height:auto!important;
  object-fit:contain!important;object-position:center center!important;background:#070908!important;
}

/* Generic mobile safety across all Luxe Vista pages. */
@media (max-width:767px){
  body.lvrm-enabled main *{min-width:0;}
  body.lvrm-enabled main a,
  body.lvrm-enabled main button{max-width:100%;}
  body.lvrm-enabled main img{object-position:center center;}
  body.lvrm-enabled .site-footer,
  body.lvrm-enabled #site-footer{
    max-width:100%!important;overflow:hidden!important;
  }
}
