/* Vivienda Lista: photographic native navigation, release 1.0.54. */
.vl-header { backdrop-filter:none; }
.vl-header .wp-block-navigation {
  font-family:"Red Hat Display",sans-serif;
  font-size:1rem;
  font-weight:550;
  letter-spacing:-.015em;
}
.vl-header .wp-block-navigation .wp-block-navigation-item__content {
  box-sizing:border-box;
  font-family:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:.35em;
}
.vl-header .wp-block-navigation .wp-block-navigation__submenu-icon {
  transition:transform 160ms cubic-bezier(.16,1,.3,1);
}
.vl-header .wp-block-navigation .vl-nav-services:has(> button[aria-expanded="true"]) > .wp-block-navigation__submenu-icon {
  transform:rotate(180deg);
}
.vl-header .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
  outline:3px solid var(--vl-pine);
  outline-offset:3px;
  box-shadow:none;
}
@media (min-width:981px) {
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container {
    position:fixed;
    inset:var(--vl-nav-top,5.25rem) auto auto 50%;
    translate:-50% 0;
    width:min(46.25rem,calc(100vw - 3rem));
    max-height:calc(100dvh - var(--vl-nav-top,5.25rem) - 1.5rem);
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:.75rem 1.25rem 1rem;
    gap:.25rem 1.25rem;
    border:0;
    border-radius:1rem;
    background:var(--vl-ivory);
    color:var(--vl-pine);
    box-shadow:0 18px 46px -20px rgba(13,46,39,.42);
    transform-origin:50% 0;
    scrollbar-width:thin;
    scrollbar-color:var(--vl-pine-soft) var(--vl-ivory);
  }
  .vl-header .wp-block-navigation .vl-nav-services > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
    width:min(46.25rem,calc(100vw - 3rem));
    left:50%;
    right:auto;
    animation:vl-nav-panel 240ms cubic-bezier(.16,1,.3,1);
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-overview {
    margin-bottom:.5rem;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-overview a {
    min-height:7rem;
    display:flex;
    align-items:flex-end;
    padding:1.15rem 1.25rem;
    border-radius:.75rem;
    color:var(--vl-ivory);
    font-size:1.6rem;
    font-weight:650;
    line-height:1.15;
    letter-spacing:-.025em;
    background:var(--vl-pine);
  }
  .vl-header .wp-block-navigation .vl-nav-services > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container > .vl-nav-overview a {
    background-image:linear-gradient(90deg,rgba(13,46,39,.94),rgba(13,46,39,.65)),url('/wp-content/themes/vivienda-lista/assets/images/venta-salon-visual.webp');
    background-position:center,center 48%;
    background-size:cover;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > :nth-child(n+2):nth-child(-n+5) a {
    display:flex;
    align-items:center;
    min-height:3.4rem;
    padding:.75rem .6rem;
    font-size:1.125rem;
    font-weight:650;
    line-height:1.3;
    border-bottom:1px solid var(--vl-line);
    letter-spacing:-.02em;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-heading {
    margin-top:.65rem;
    padding-top:.35rem;
    border:0;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-heading a {
    padding:.35rem .6rem;
    font-family:Manrope,sans-serif;
    font-size:.8rem;
    font-weight:650;
    color:var(--vl-pine-soft);
    letter-spacing:0;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > :nth-child(n+7) a {
    display:flex;
    align-items:center;
    min-height:2.75rem;
    padding:.5rem .6rem;
    font-size:1rem;
    line-height:1.35;
    font-weight:500;
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container a:is(:hover,:focus-visible) {
    background-color:transparent;
    color:var(--vl-pine);
    text-decoration:underline;
    text-decoration-color:var(--vl-pine);
  }
  .vl-header .wp-block-navigation .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-overview a:is(:hover,:focus-visible) {
    background-color:var(--vl-pine);
    color:var(--vl-ivory);
    text-decoration-color:var(--vl-lime);
    outline-color:var(--vl-pine);
  }
  .vl-header .wp-block-navigation .vl-nav-services > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container > :nth-child(n+2) {
    animation:vl-nav-links 220ms cubic-bezier(.16,1,.3,1) backwards;
    animation-delay:25ms;
  }
  .vl-header .wp-block-navigation .vl-nav-services > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container > :nth-child(n+6) {
    animation-delay:45ms;
  }
}
@media (max-width:980px) {
  .vl-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display:inline-flex;
    gap:.5rem;
    align-items:center;
    min-height:2.75rem;
    min-width:2.75rem;
    font-family:"Red Hat Display",sans-serif;
    font-weight:600;
  }
  .vl-header .wp-block-navigation__responsive-container-open::before { content:"Menú";font-size:1rem; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
    background:linear-gradient(125deg,rgba(13,46,39,.97),rgba(13,46,39,.89)),url('/wp-content/themes/vivienda-lista/assets/images/venta-salon-visual.webp') center/cover no-repeat !important;
    color:var(--vl-ivory) !important;
    animation:vl-nav-mobile 260ms cubic-bezier(.16,1,.3,1);
    scrollbar-width:thin;
    scrollbar-color:var(--vl-lime) var(--vl-pine);
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    box-sizing:border-box;
    min-height:100dvh;
    padding:1.5rem clamp(1.5rem,5vw,3rem) max(2rem,env(safe-area-inset-bottom));
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    min-height:calc(100dvh - 4rem);
    padding:4rem 0 0 !important;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
    content:"";
    display:block;
    width:min(100%,13rem);
    height:2.7rem;
    background:url('/wp-content/themes/vivienda-lista/assets/images/logo-vivienda-lista-inverse.svg') left center/contain no-repeat;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100%;
    gap:0 !important;
    margin:1.5rem 0 0;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li {
    width:100%;
    border-top:1px solid rgba(246,245,239,.25);
    align-items:flex-start !important;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li > .wp-block-navigation-item__content {
    display:flex;
    align-items:center;
    min-height:3.25rem;
    padding:.65rem 0;
    color:var(--vl-ivory) !important;
    font-size:1.65rem;
    font-weight:550;
    line-height:1.25;
    text-align:left;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services {
    flex-direction:column;
    align-items:stretch !important;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container {
    position:static;
    inset:auto;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:none;
    height:auto;
    max-height:none;
    visibility:visible;
    opacity:1;
    margin:0;
    padding:.25rem 0 1rem !important;
    gap:.15rem 1rem;
    border:0;
    box-shadow:none;
    background:transparent;
    color:var(--vl-ivory);
    overflow:visible;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > li {
    min-width:0;
    width:auto;
    border:0;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container a {
    display:flex;
    align-items:center;
    min-height:2.75rem;
    padding:.5rem 0;
    font-size:1rem;
    line-height:1.35;
    color:var(--vl-ivory) !important;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > :nth-child(n+2):nth-child(-n+5) a {
    font-size:1.15rem;
    font-weight:650;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > :is(.vl-nav-overview,.vl-nav-heading) { grid-column:1/-1; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-overview a { color:var(--vl-lime) !important;font-size:.85rem; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-heading { border-top:1px solid rgba(246,245,239,.25);margin-top:.35rem;padding-top:.35rem; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .vl-nav-services > .wp-block-navigation__submenu-container > .vl-nav-heading a { font-size:.8rem;font-weight:600; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:is(:hover,:focus-visible) { background:transparent;text-decoration:underline;text-decoration-color:var(--vl-lime); }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline-color:var(--vl-lime); }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position:fixed;
    top:max(1rem,env(safe-area-inset-top));
    right:max(1.5rem,env(safe-area-inset-right));
    display:grid;
    place-items:center;
    width:2.75rem;
    height:2.75rem;
    border-radius:50%;
    background:var(--vl-lime);
    color:var(--vl-pine);
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.vl-button { border:0;margin-top:.75rem; }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.vl-button > a {
    width:fit-content;
    padding:.85rem 1.25rem;
    border-radius:.5rem;
    background:var(--vl-lime);
    color:var(--vl-pine) !important;
    font-size:1rem;
    font-weight:700;
  }
  .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::after {
    content:"Tu vivienda, lista para lo que viene.";
    margin-top:1.5rem;
    padding-top:1rem;
    border-top:1px solid rgba(246,245,239,.25);
    font-size:.9rem;
    color:var(--vl-ivory);
  }
}
@keyframes vl-nav-panel { from { opacity:0;transform:translateY(-8px) scale(.985); } to { opacity:1;transform:none; } }
@keyframes vl-nav-links { from { opacity:.2;transform:translateY(-5px); } to { opacity:1;transform:none; } }
@keyframes vl-nav-mobile { from { opacity:.2;transform:translateY(-12px); } to { opacity:1;transform:none; } }
html[data-vl-nav-savedata="true"] .vl-header .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open { background:var(--vl-pine) !important; }
html[data-vl-nav-savedata="true"] .vl-header .wp-block-navigation .vl-nav-services > button[aria-expanded="true"] ~ .wp-block-navigation__submenu-container > .vl-nav-overview a { background-image:none; }
html[data-vl-nav-input="keyboard"] .vl-header .wp-block-navigation *,
html[data-vl-nav-savedata="true"] .vl-header .wp-block-navigation * { animation:none !important;transition:none !important; }
@media (prefers-reduced-motion:reduce) { .vl-header .wp-block-navigation * { animation:none !important;transition:none !important; } }

/* Home choice is singular; messaging has its own permanent floating entry. */
.vl-home .vl-hero__content .vl-actions { gap:0; }
.vl-home .vl-hero__content .vl-actions .wp-block-button__link {
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  min-height:3.25rem;
  padding:.9rem 1.35rem;
  border-radius:.5rem;
  font-family:"Red Hat Display",sans-serif;
  font-size:1.05rem;
  font-weight:650;
}
.vl-home .vl-hero__content .vl-actions .wp-block-button__link::after {
  content:"";
  width:1.2rem;
  height:1.2rem;
  background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vl-floating-contact { visibility:visible;pointer-events:auto; }
html:not([data-vl-floating-ready="true"]) .vl-floating-contact { visibility:visible;pointer-events:auto; }
html[data-vl-floating-ready="true"] .vl-floating-contact:not(.vl-floating-contact--visible) { visibility:hidden;pointer-events:none; }
body:has(.vl-header .is-menu-open) .vl-floating-contact,
body:has(input:focus,textarea:focus,select:focus) .vl-floating-contact { visibility:hidden;pointer-events:none; }
.vl-floating-contact a {
  font-family:"Red Hat Display",sans-serif;
  font-weight:650;
  border:0;
  min-height:3.5rem;
  background:var(--vl-pine);
  color:var(--vl-ivory);
  box-shadow:0 6px 24px -8px rgba(13,46,39,.42);
}
.vl-floating-contact a:focus-visible { outline:3px solid var(--vl-lime);outline-offset:3px; }
@media (max-width:980px) {
  .vl-floating-contact { right:1rem;bottom:max(1rem,env(safe-area-inset-bottom)); }
  .vl-floating-contact a { width:3.5rem;min-height:3.5rem;padding:0;border-radius:50%; }
  .vl-floating-contact__label { display:none; }
  .vl-floating-contact__icon { width:1.6rem;height:1.6rem; }
}
