/* Lienzzo alojamientos 1.2.0. Local styles; no fonts or third-party assets. */
.lza-ui {
    --lza-chip-bg:#d5d4ce; --lza-chip-text:#fff; --lza-title-color:#b9b1a8;
    --lza-text-color:#262521; --lza-card-bg:#fff; --lza-button-color:#85796a;
    --lza-border-color:#d8d1c5; --lza-radius:12px;
    max-width:100%; min-width:0; width:100%; font-family:inherit;
    color:var(--lza-text-color); box-sizing:border-box; line-height:1.4;
}
.lza-ui *, .lza-ui *::before, .lza-ui *::after { box-sizing:border-box; }
.lza-ui .lza-icon {
    display:inline-block; vertical-align:middle; width:21px; height:21px; flex:0 0 auto;
}
.lza-ui button, .lza-ui a { font-family:inherit; -webkit-tap-highlight-color:transparent; }
.lza-ui button { cursor:pointer; }
.lza-ui :where(button,a,[tabindex]):focus-visible {
    outline:2px solid var(--lza-button-color); outline-offset:4px;
}
.lza-ui button:disabled { opacity:.35; cursor:default; }

/* House services: wrap with an exact 5px gap; mobile scroll is applied below. */
.lza-ui .lza-chip-strip {
    display:flex; flex-wrap:wrap; align-items:center; gap:5px;
    max-width:100%; min-width:0; padding:0; overflow:visible;
}
.lza-ui .lza-chip {
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    flex:0 0 auto; max-width:100%; min-height:37px; line-height:1.2;
    background:var(--lza-chip-bg); color:var(--lza-chip-text);
    border:0; border-radius:999px; padding:8px 15px; font-size:16px;
    font-weight:400; text-decoration:none; box-shadow:none; white-space:normal;
}
.lza-ui .lza-chip > span { min-width:0; overflow-wrap:anywhere; }
.lza-ui .lza-chip-link:hover {
    color:var(--lza-chip-text); background:var(--lza-chip-bg);
    filter:brightness(.94); text-decoration:none;
}
.lza-ui .lza-chip-strip.lza-dragging { cursor:grabbing; user-select:none; }
.lza-ui .lza-chip-strip--small { gap:5px; }
.lza-ui .lza-chip-strip--small .lza-chip { min-height:0; font-size:12px; padding:5px 9px; gap:6px; }
.lza-ui .lza-chip-strip--small .lza-icon { width:14px; height:14px; }

/* Rooms: two desktop columns and horizontal image/content cards. */
.lza-ui.lza-rooms {
    --lza-columns:2; --lza-columns-tablet:1; --lza-columns-mobile:1;
    --lza-current-columns:var(--lza-columns); --lza-room-gap:26px;
    --lza-section-bg:#efefef;
    scroll-margin-top:120px; background:var(--lza-section-bg);
    padding:48px 40px 56px;
}
.lza-ui.lza-rooms:focus { outline:none; }
.lza-ui .lza-rooms-title {
    color:var(--lza-title-color); font-family:inherit; margin:0 auto 40px;
    max-width:1140px; font-size:clamp(32px,4.6vw,56px); font-weight:400;
    letter-spacing:-.025em; line-height:1.15; text-align:center; overflow-wrap:anywhere;
}
.lza-ui .lza-room-list {
    display:grid; grid-template-columns:repeat(var(--lza-current-columns),minmax(0,1fr));
    gap:var(--lza-room-gap); min-width:0; max-width:1140px; margin-inline:auto;
}
.lza-ui .lza-card {
    width:100%; min-width:0; margin:0; padding:0; border:0;
    container-type:inline-size; container-name:lza-card;
    background:var(--lza-card-bg); border-radius:var(--lza-radius); box-shadow:none;
}
.lza-ui .lza-card-layout {
    display:grid; grid-template-columns:35% minmax(0,1fr);
    border-radius:var(--lza-radius); overflow:hidden; min-height:246px; height:100%;
}
.lza-ui .lza-card-picture { min-width:0; position:relative; min-height:246px; align-self:stretch; }
.lza-ui .lza-card-picture > img {
    width:100%; height:100%; max-width:100%; position:absolute;
    inset:0; object-fit:cover; display:block; border-radius:0; margin:0;
}
.lza-ui .lza-picture-placeholder {
    height:100%; min-height:246px; display:flex; align-items:center;
    justify-content:center; background:#eeeae3; color:#b9b1a8;
}
.lza-ui .lza-picture-placeholder .lza-icon { width:48px; height:48px; stroke-width:1; }
.lza-ui .lza-card-content {
    display:flex; flex-direction:column; align-items:flex-start;
    padding:14px 26px 20px; min-width:0; gap:0;
}
.lza-ui .lza-card-content .lza-chip-strip { width:100%; flex-shrink:0; }
.lza-ui .lza-card-content .lza-chip-strip + .lza-chip-strip { margin-top:7px; }
.lza-ui .lza-room-title {
    font-family:inherit; font-size:29px; font-weight:400; letter-spacing:-.025em;
    line-height:1.16; color:var(--lza-title-color); margin:16px 0 12px; overflow-wrap:anywhere;
}
.lza-ui .lza-room-intro {
    color:var(--lza-text-color); font-size:15px; font-weight:400; line-height:1.22;
    margin:0 0 22px; overflow-wrap:anywhere;
}
.lza-ui .lza-room-button {
    display:inline-flex; align-items:center; justify-content:center; align-self:flex-start;
    margin-top:auto; padding:6px 17px; font-size:13px; font-weight:400; line-height:1.35;
    color:var(--lza-button-color); border:1px solid var(--lza-border-color); border-radius:999px;
    background:transparent; box-shadow:none; transition:background .2s,color .2s;
    text-transform:none; text-decoration:none;
}
.lza-ui .lza-room-button:hover {
    color:var(--lza-text-color); background:color-mix(in srgb,var(--lza-border-color) 22%,transparent);
    border-color:var(--lza-border-color);
}
.lza-ui.lza-rooms--scroll .lza-room-list {
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain; padding-bottom:12px; scrollbar-width:thin;
}
.lza-ui.lza-rooms--scroll .lza-card {
    flex:0 0 calc((100% - (var(--lza-current-columns) - 1)*var(--lza-room-gap))/var(--lza-current-columns));
    scroll-snap-align:start;
}

/* Square photo grid. Shape assignment is seeded by the saved gallery IDs. */
.lza-ui .lza-gallery { min-width:0; max-width:100%; }
.lza-ui .lza-gallery--grid {
    --lza-gallery-columns:4; --lza-gallery-columns-tablet:2; --lza-gallery-columns-mobile:2;
    --lza-gallery-current-columns:var(--lza-gallery-columns);
    --lza-gallery-gap:8px; --lza-gallery-radius:48px;
}
.lza-ui .lza-gallery-grid {
    display:grid; grid-template-columns:repeat(var(--lza-gallery-current-columns),minmax(0,1fr));
    gap:var(--lza-gallery-gap); width:100%; min-width:0;
}
.lza-ui .lza-gallery-tile {
    --lza-tile-radius:min(var(--lza-gallery-radius),18%);
    display:block; position:relative; width:100%; min-width:0;
    aspect-ratio:1/1; overflow:hidden; background:#eeeae3;
    text-decoration:none; margin:0; padding:0; border:0; box-shadow:none;
    cursor:zoom-in; isolation:isolate;
}
.lza-ui .lza-gallery-tile > img {
    position:absolute; inset:0; width:100%; height:100%; max-width:100%; display:block;
    object-fit:cover; border-radius:0; margin:0; padding:0; transition:transform .3s ease;
}
.lza-ui .lza-gallery--aleatorios .lza-shape-1 { border-radius:0 var(--lza-tile-radius) 0 var(--lza-tile-radius); }
.lza-ui .lza-gallery--aleatorios .lza-shape-2 { border-radius:var(--lza-tile-radius) 0 var(--lza-tile-radius) 0; }
.lza-ui .lza-gallery--aleatorios .lza-shape-3 { border-radius:0 var(--lza-tile-radius) var(--lza-tile-radius) 0; }
.lza-ui .lza-gallery--aleatorios .lza-shape-4 { border-radius:var(--lza-tile-radius) 0 0 var(--lza-tile-radius); }
.lza-ui .lza-gallery--aleatorios .lza-shape-5 { border-radius:0 0 var(--lza-tile-radius) 0; }
.lza-ui .lza-gallery--aleatorios .lza-shape-6 { border-radius:0 var(--lza-tile-radius) 0 0; }
.lza-ui .lza-gallery--uniformes .lza-gallery-tile { border-radius:var(--lza-tile-radius); }
.lza-ui .lza-gallery--rectos .lza-gallery-tile { border-radius:0; }
.lza-ui .lza-gallery-tile:focus-visible { outline-offset:-4px; outline-color:#fff; }
.lza-ui .lza-zoom {
    position:absolute; bottom:12px; right:12px; border-radius:50%; padding:7px;
    background:rgba(25,23,20,.5); color:#fff; line-height:1; pointer-events:none;
}
.lza-ui .lza-zoom .lza-icon { width:16px; height:16px; }
@media (hover:hover) and (pointer:fine) {
    .lza-ui .lza-gallery-tile .lza-zoom { opacity:0; transition:opacity .2s; }
    .lza-ui .lza-gallery-tile:is(:hover,:focus-visible) .lza-zoom { opacity:1; }
    .lza-ui .lza-gallery-tile:hover > img { transform:scale(1.035); }
}

/* Optional legacy slider (formato="carrusel"). */
.lza-ui .lza-gallery-stage { position:relative; min-width:0; }
.lza-ui .lza-gallery-track {
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain; scrollbar-width:none;
    border-radius:var(--lza-radius); min-width:0; -webkit-overflow-scrolling:touch;
}
.lza-ui .lza-gallery-track::-webkit-scrollbar { display:none; }
.lza-ui .lza-gallery-slide {
    display:block; position:relative; flex:0 0 100%; width:100%; min-width:0;
    scroll-snap-align:start; aspect-ratio:16/10; background:#eeeae3; cursor:zoom-in;
}
.lza-ui .lza-gallery-slide > img { width:100%; height:100%; display:block; object-fit:cover; }
.lza-ui .lza-arrow {
    position:absolute; z-index:2; top:50%; transform:translateY(-50%);
    display:flex; align-items:center; justify-content:center; border:0; border-radius:50%;
    padding:0; width:40px; height:40px; background:rgba(255,255,255,.92); color:#514b44;
    box-shadow:0 2px 10px rgba(0,0,0,.06); text-decoration:none;
}
.lza-ui .lza-arrow:hover { background:#fff; color:#262521; }
.lza-ui .lza-arrow--prev { left:12px; }
.lza-ui .lza-arrow--next { right:12px; }
.lza-ui .lza-gallery-counter {
    position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
    padding:4px 11px; border-radius:999px; background:rgba(25,23,20,.58);
    color:#fff; font-size:12px; pointer-events:none;
}
.lza-ui .lza-thumbnails { display:flex; gap:8px; overflow-x:auto; padding:10px 2px; scrollbar-width:thin; }
.lza-ui .lza-thumbnails button {
    width:68px; height:48px; flex:0 0 auto; overflow:hidden; display:block; padding:0;
    border:2px solid transparent; border-radius:6px; background:transparent; opacity:.65; box-shadow:none;
}
.lza-ui .lza-thumbnails button[aria-current=true] { border-color:var(--lza-button-color); opacity:1; }
.lza-ui .lza-thumbnails img { width:100%; height:100%; object-fit:cover; display:block; }

/* Room details, separate descriptions and legacy information. */
.lza-ui .lza-dialog {
    position:fixed; inset:0; width:min(900px,calc(100% - 32px)); max-width:900px;
    max-height:calc(100dvh - 32px); margin:auto; border:0; border-radius:var(--lza-radius);
    padding:0; overflow:auto; background:var(--lza-card-bg); color:var(--lza-text-color);
    box-shadow:0 25px 90px rgba(0,0,0,.24); font-family:inherit; text-align:left; overscroll-behavior:contain;
}
.lza-ui .lza-dialog:not([open]) { display:none; }
.lza-ui .lza-dialog[open] { display:block; }
.lza-ui .lza-dialog::backdrop { background:rgba(25,24,21,.62); backdrop-filter:blur(3px); }
.lza-ui .lza-dialog-close {
    position:sticky; z-index:4; top:14px; margin:14px 14px -50px auto; width:38px; height:38px;
    display:flex; align-items:center; justify-content:center; padding:0;
    border:1px solid var(--lza-border-color); background:var(--lza-card-bg);
    color:var(--lza-text-color); border-radius:50%; box-shadow:none;
}
.lza-ui .lza-dialog-body { padding:30px; }
.lza-ui .lza-dialog-body h2 {
    font-family:inherit; font-weight:400; font-size:32px; line-height:1.2; letter-spacing:-.025em;
    color:var(--lza-title-color); margin:0 42px 22px 0; overflow-wrap:anywhere;
}
.lza-ui .lza-dialog-body > .lza-chip-strip { margin:14px 0; }
.lza-ui .lza-dialog-body .lza-description, .lza-ui .lza-dialog-intro { font-size:16px; overflow-wrap:anywhere; line-height:1.5; }
.lza-ui .lza-dialog-body p { margin:0 0 14px; }
.lza-ui .lza-description, .lza-ui .lza-intro { overflow-wrap:anywhere; min-width:0; }
.lza-ui .lza-description img { max-width:100%; height:auto; }
.lza-ui .lza-description :where(iframe,video,table,pre) { max-width:100%; }
.lza-ui .lza-description pre { overflow-x:auto; }
.lza-description-block p, .lza-info p { margin:0 0 14px; }
.lza-description-block :where(.lza-intro,.lza-description) > :last-child { margin-bottom:0; }
.lza-info h2 { color:var(--lza-title-color); font-family:inherit; font-weight:400; }
.lza-ui .lza-location { display:flex; gap:9px; align-items:center; }
.lza-ui .lza-rental { font-size:14px; opacity:.75; }
.lza-ui.lza-editor-note { padding:15px; border:1px dashed #b6b2a7; background:#faf9f5; font-size:14px; }
.lza-scroll-locked { overflow:hidden!important; }

/* Shared lightbox shows the entire original photo (not the cropped square). */
.lza-ui.lza-lightbox {
    position:fixed; inset:0; max-width:calc(100% - 24px); width:1100px;
    max-height:calc(100dvh - 24px); padding:0; margin:auto; border:0; border-radius:12px;
    overflow:auto; background:#1d1c19; color:#fff; box-shadow:0 25px 80px rgba(0,0,0,.4);
    overscroll-behavior:contain;
}
.lza-lightbox:not([open]) { display:none; }
.lza-lightbox[open] { display:block; }
.lza-lightbox::backdrop { background:rgba(15,14,12,.88); }
.lza-ui.lza-lightbox img { width:100%; height:min(78dvh,780px); object-fit:contain; display:block; margin:0; touch-action:pan-y pinch-zoom; }
.lza-ui.lza-lightbox .lza-dialog-close { position:absolute; top:12px; right:12px; margin:0; background:#fff; color:#333; font-size:26px; }
.lza-ui.lza-lightbox .lza-lightbox-caption { text-align:center; font-size:13px; padding:12px 56px; margin:0; color:#fff; min-height:40px; overflow-wrap:anywhere; }
.lza-ui.lza-lightbox .lza-arrow { top:50%; font-size:28px; }

/* Container queries also cover a widget placed in a narrow desktop column. */
@container lza-card (max-width:420px) {
    .lza-ui .lza-card-layout { grid-template-columns:1fr; }
    .lza-ui .lza-card-picture { min-height:0; aspect-ratio:16/10; }
    .lza-ui .lza-picture-placeholder { min-height:0; height:100%; }
    .lza-ui .lza-card-content { padding:18px 20px 22px; }
    .lza-ui .lza-room-title { font-size:27px; }
    .lza-ui .lza-room-intro { line-height:1.4; }
}
@media (max-width:1024px) {
    .lza-ui.lza-rooms { --lza-current-columns:var(--lza-columns-tablet); padding:36px 28px 40px; }
    .lza-ui .lza-gallery--grid { --lza-gallery-current-columns:var(--lza-gallery-columns-tablet); }
    .lza-ui .lza-rooms-title { margin-bottom:30px; }
}
@media (max-width:767px) {
    .lza-ui.lza-rooms { --lza-current-columns:var(--lza-columns-mobile); --lza-room-gap:20px; padding:30px 16px 32px; }
    .lza-ui .lza-gallery--grid { --lza-gallery-current-columns:var(--lza-gallery-columns-mobile); }
    .lza-ui .lza-chip-strip--responsive {
        flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain;
        white-space:nowrap; scrollbar-width:thin; scrollbar-color:var(--lza-border-color) transparent;
        padding:4px 2px 8px; -webkit-overflow-scrolling:touch;
    }
    .lza-ui .lza-chip-strip--responsive::-webkit-scrollbar { height:4px; }
    .lza-ui .lza-chip-strip--responsive::-webkit-scrollbar-thumb { background:var(--lza-border-color); border-radius:4px; }
    .lza-ui .lza-chip-strip--responsive .lza-chip { max-width:none; white-space:nowrap; }
    .lza-ui .lza-chip { font-size:14px; padding:8px 12px; }
    .lza-ui .lza-chip-strip--small .lza-chip { font-size:12px; padding:5px 9px; }
    .lza-ui .lza-card-layout { grid-template-columns:1fr; }
    .lza-ui .lza-card-picture { min-height:0; aspect-ratio:16/10; }
    .lza-ui .lza-picture-placeholder { min-height:0; height:100%; }
    .lza-ui .lza-card-content { padding:18px 20px 22px; }
    .lza-ui .lza-room-title { font-size:27px; }
    .lza-ui .lza-room-intro { line-height:1.4; }
    .lza-ui .lza-dialog { max-height:calc(100dvh - 20px); width:calc(100% - 20px); }
    .lza-ui .lza-dialog-body { padding:22px 18px; }
    .lza-ui .lza-dialog-body h2 { font-size:27px; }
    .lza-ui .lza-arrow { width:36px; height:36px; }
    .lza-ui .lza-gallery-slide { aspect-ratio:4/3; }
    .lza-ui.lza-rooms--scroll .lza-card { flex-basis:88%; }
    .lza-ui .lza-rooms-title { font-size:34px; margin-bottom:26px; }
}
@media (prefers-reduced-motion:reduce) {
    .lza-ui * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
.elementor-widget-lza-servicios, .elementor-widget-lza-galeria,
.elementor-widget-lza-habitaciones, .elementor-widget-lza-informacion,
.elementor-widget-lza-descripcion-corta, .elementor-widget-lza-descripcion-larga {
    min-width:0; max-width:100%;
}

/* 1.2.0 — House catalogue. Selectors do not change existing room cards. */
.lza-ui.lza-catalog {
    --lza-catalog-bg:#efefef; --lza-catalog-gap:24px; --lza-property-radius:26px;
    --lza-catalog-accent:#514d43; --lza-catalog-icon:#244b61;
    background:var(--lza-catalog-bg); padding:32px; container-type:inline-size;
    container-name:lza-catalog; text-align:left;
}
.lza-catalog [hidden] { display:none!important; }
.lza-ui .lza-sr-only {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.lza-ui .lza-catalog-title {
    font-family:inherit; font-size:clamp(30px,3.5vw,48px); line-height:1.2;
    font-weight:400; letter-spacing:-.025em; color:var(--lza-title-color);
    margin:0 0 28px; overflow-wrap:anywhere;
}
.lza-ui .lza-filter-panel {
    background:var(--lza-card-bg); border:0; border-radius:20px;
    margin:0 0 22px; padding:0 24px; min-width:0;
}
.lza-ui .lza-filter-panel > summary {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    cursor:pointer; padding:20px 0; list-style:none; font-size:20px; color:var(--lza-catalog-accent);
}
.lza-ui .lza-filter-panel > summary::-webkit-details-marker { display:none; }
.lza-ui .lza-filter-panel > summary:focus-visible { outline:2px solid var(--lza-button-color); outline-offset:4px; }
.lza-ui .lza-filter-heading { display:flex; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
.lza-ui .lza-filter-chevron { font-size:24px; line-height:1; transition:transform .2s; }
.lza-ui .lza-filter-panel[open] .lza-filter-chevron { transform:rotate(180deg); }
.lza-ui .lza-filter-active {
    background:var(--lza-catalog-accent); color:#fff; padding:3px 8px; font-size:12px; border-radius:999px;
}
.lza-ui .lza-filter-form { margin:0; padding:0 0 22px; width:100%; min-width:0; }
.lza-ui .lza-filter-intro { font-size:14px; color:#716b62; margin:0 0 20px; }
.lza-ui .lza-filter-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr)); gap:14px; min-width:0; }
.lza-ui .lza-filter-field { min-width:0; }
.lza-ui .lza-filter-field > label { display:block; margin:0 0 7px; font-size:13px; font-weight:500; color:var(--lza-catalog-accent); }
.lza-ui .lza-filter-field :is(input,select) {
    display:block; box-sizing:border-box; width:100%; min-width:0; max-width:100%; height:48px;
    font:inherit; font-size:14px; font-weight:400; line-height:1.3; color:var(--lza-text-color);
    border:1px solid #dfdcd6; border-radius:10px; background:#fafaf8;
    padding:10px 12px; margin:0; box-shadow:none; text-transform:none;
}
.lza-ui .lza-filter-field input::placeholder { color:#868076; opacity:1; }
.lza-ui .lza-filter-field :is(input,select):focus-visible, .lza-ui .lza-catalog-sort select:focus-visible {
    outline:2px solid var(--lza-button-color); outline-offset:2px;
}
.lza-ui .lza-filter-services { min-width:0; margin:20px 0 0; padding:0; border:0; }
.lza-ui .lza-filter-services legend { font-size:13px; font-weight:500; color:var(--lza-catalog-accent); margin:0 0 10px; padding:0; float:none; width:auto; }
.lza-ui .lza-filter-service-list { display:flex; flex-wrap:wrap; gap:8px; }
.lza-ui .lza-service-choice { position:relative; cursor:pointer; margin:0; min-width:0; max-width:100%; }
.lza-ui .lza-service-choice > input { position:absolute; width:1px; height:1px; padding:0; opacity:0; margin:0; }
.lza-ui .lza-service-choice > span {
    display:flex; align-items:center; gap:7px; padding:8px 12px; min-height:40px;
    border:1px solid #dfdcd6; border-radius:999px; background:#fff; color:#625d54;
    font-size:13px; line-height:1.2; transition:background .18s,color .18s,border-color .18s;
}
.lza-ui .lza-service-choice .lza-icon { width:18px; height:18px; }
.lza-ui .lza-service-choice .lza-service-check { display:none; }
.lza-ui .lza-service-choice > input:checked + span { background:var(--lza-catalog-accent); color:#fff; border-color:var(--lza-catalog-accent); }
.lza-ui .lza-service-choice > input:checked + span .lza-service-check { display:inline; }
.lza-ui .lza-service-choice > input:focus-visible + span { outline:2px solid var(--lza-button-color); outline-offset:3px; }
.lza-ui .lza-filter-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; }
.lza-ui .lza-filter-footer > p { color:#716b62; font-size:12px; margin:0; max-width:440px; }
.lza-ui .lza-filter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.lza-ui .lza-filter-clear { background:none; border:0; padding:8px 0; margin:0; font:inherit; font-size:13px; color:var(--lza-button-color); text-decoration:underline; text-underline-offset:3px; box-shadow:none; }
.lza-ui .lza-filter-submit, .lza-ui .lza-catalog-more-button {
    display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 23px;
    font:inherit; font-size:14px; line-height:1.3; font-weight:400; background:var(--lza-catalog-accent);
    color:#fff; border:1px solid var(--lza-catalog-accent); border-radius:999px; text-decoration:none; box-shadow:none; text-transform:none;
}
.lza-ui :is(.lza-filter-submit,.lza-catalog-more-button):hover { filter:brightness(.9); }
.lza-ui .lza-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 18px; scroll-margin-top:110px; }
.lza-ui .lza-catalog-toolbar:focus { outline:none; }
.lza-ui .lza-catalog-count { font-size:14px; color:#696358; margin:0; }
.lza-ui .lza-catalog-sort { display:flex; align-items:center; gap:10px; font-size:13px; color:#696358; max-width:100%; }
.lza-ui .lza-catalog-sort select { font:inherit; color:var(--lza-catalog-accent); background:var(--lza-card-bg); border:1px solid #dfdcd6; padding:8px 10px; border-radius:8px; max-width:100%; min-width:0; height:auto; }
.lza-ui .lza-property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--lza-catalog-gap); min-width:0; align-items:stretch; }
.lza-ui .lza-property {
    margin:0; padding:20px; min-width:0; max-width:100%; border:0;
    background:var(--lza-card-bg); border-radius:var(--lza-property-radius); box-shadow:none;
}
.lza-ui .lza-property-layout { display:flex; flex-direction:column; min-width:0; height:100%; }
.lza-ui .lza-property-media { min-width:0; aspect-ratio:1.85; position:relative; flex-shrink:0; }
.lza-ui .lza-property-gallery, .lza-ui .lza-property-gallery .lza-gallery-stage { height:100%; min-width:0; }
.lza-ui .lza-property-gallery .lza-gallery-track { position:absolute; inset:0; height:100%; width:100%; border-radius:0; }
.lza-ui .lza-property-gallery .lza-gallery-slide { height:100%; aspect-ratio:auto; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; }
.lza-ui .lza-property-gallery .lza-gallery-slide > img { object-fit:cover; width:100%; height:100%; max-width:100%; margin:0; border-radius:0; display:block; }
.lza-ui .lza-property-gallery .lza-arrow { width:38px; height:38px; opacity:.95; }
.lza-ui .lza-property-gallery .lza-arrow:disabled { opacity:.3; }
.lza-ui .lza-property-gallery .lza-arrow--prev { left:9px; }
.lza-ui .lza-property-gallery .lza-arrow--next { right:9px; }
.lza-ui .lza-property-gallery .lza-gallery-counter { bottom:10px; font-size:11px; }
.lza-ui .lza-property-placeholder { position:absolute; inset:0; background:#e9e6df; color:#847d70; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; font-size:12px; }
.lza-ui .lza-property-placeholder .lza-icon { width:38px; height:38px; }
.lza-ui .lza-property-content { display:flex; flex-direction:column; align-items:flex-start; padding:24px 8px 10px; min-width:0; flex:1; }
.lza-ui .lza-property-facts { display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; width:100%; }
.lza-ui .lza-property-room-count {
    display:inline-flex; align-items:center; justify-content:center; padding:10px 18px; min-height:40px;
    font-size:14px; line-height:1.3; border-radius:999px; color:#fff; background:var(--lza-catalog-accent);
    text-decoration:none; font-weight:400; max-width:100%; white-space:normal;
}
.lza-ui .lza-property-room-count:hover { color:#fff; background:var(--lza-catalog-accent); filter:brightness(.92); }
.lza-ui .lza-property-stats { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.lza-ui .lza-property-stat { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:#80796e; line-height:1.3; white-space:nowrap; }
.lza-ui .lza-property-stat .lza-icon { width:16px; height:16px; color:var(--lza-catalog-icon); }
.lza-ui .lza-property-title { margin:18px 0 12px; font-family:inherit; font-size:28px; line-height:1.18; letter-spacing:-.03em; font-weight:400; color:var(--lza-title-color); overflow-wrap:anywhere; }
.lza-ui .lza-property-title a { color:inherit; text-decoration:none; font:inherit; }
.lza-ui .lza-property-title a:hover { color:var(--lza-button-color); }
.lza-ui .lza-property-location { display:flex; gap:6px; align-items:center; font-size:12px; color:#80796e; margin:0 0 12px; overflow-wrap:anywhere; }
.lza-ui .lza-property-location .lza-icon { width:14px; height:14px; }
.lza-ui .lza-property-description { font-size:14px; line-height:1.65; color:#716b63; margin:0 0 22px; overflow-wrap:anywhere; }
.lza-ui .lza-property-description--extended { display:none; }
.lza-ui .lza-property-button {
    display:inline-flex; justify-content:center; align-items:center; margin-top:auto; padding:10px 22px;
    min-height:44px; max-width:100%; border:1px solid var(--lza-border-color); border-radius:999px;
    background:transparent; color:var(--lza-button-color); font:inherit; font-size:14px; line-height:1.35;
    text-align:center; text-transform:none; text-decoration:none; box-shadow:none;
}
.lza-ui .lza-property-button:hover { background:#f5f3ee; color:var(--lza-text-color); }
.lza-ui .lza-property--featured { grid-column:span 2; }
.lza-ui .lza-property--featured .lza-property-layout { display:grid; grid-template-columns:48% minmax(0,1fr); gap:24px; }
.lza-ui .lza-property--featured .lza-property-media { min-height:360px; aspect-ratio:auto; }
.lza-ui .lza-property--featured .lza-property-content { padding:20px 4px; }
.lza-ui .lza-property--featured .lza-property-description--short { display:none; }
.lza-ui .lza-property--featured .lza-property-description--extended { display:block; }
.lza-ui .lza-catalog-empty { padding:40px 24px; text-align:center; background:var(--lza-card-bg); border-radius:20px; }
.lza-ui .lza-catalog-empty h3 { font:inherit; font-size:23px; color:var(--lza-catalog-accent); margin:0 0 12px; }
.lza-ui .lza-catalog-empty p { font-size:14px; color:#716b62; margin:0 0 12px; }
.lza-ui .lza-catalog-more { text-align:center; margin:30px 0 0; }
.lza-ui .lza-catalog-noscript { font-size:13px; margin:20px 0 0; }
@media (max-width:1024px) {
    .lza-ui.lza-catalog { padding:24px; }
    .lza-ui .lza-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .lza-ui .lza-property--featured .lza-property-media { min-height:320px; }
}
@container lza-catalog (max-width:850px) {
    .lza-ui .lza-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container lza-catalog (max-width:580px) {
    .lza-ui .lza-property-grid { grid-template-columns:minmax(0,1fr); }
    .lza-ui .lza-property--featured { grid-column:auto; }
    .lza-ui .lza-property--featured .lza-property-layout { display:flex; gap:0; }
    .lza-ui .lza-property--featured .lza-property-media { min-height:0; aspect-ratio:1.85; }
    .lza-ui .lza-property--featured .lza-property-content { padding:24px 8px 10px; }
    .lza-ui .lza-property--featured .lza-property-description--short { display:block; }
    .lza-ui .lza-property--featured .lza-property-description--extended { display:none; }
}
@media (max-width:767px) {
    .lza-ui.lza-catalog { padding:18px 12px; }
    .lza-ui .lza-property-grid { grid-template-columns:minmax(0,1fr); gap:var(--lza-catalog-gap); }
    .lza-ui .lza-property { padding:16px; }
    .lza-ui .lza-property--featured { grid-column:auto; }
    .lza-ui .lza-property--featured .lza-property-layout { display:flex; gap:0; }
    .lza-ui .lza-property--featured .lza-property-media { min-height:0; aspect-ratio:1.65; }
    .lza-ui .lza-property-media { aspect-ratio:1.65; }
    .lza-ui .lza-property-content, .lza-ui .lza-property--featured .lza-property-content { padding:20px 2px 6px; }
    .lza-ui .lza-property--featured .lza-property-description--short { display:block; }
    .lza-ui .lza-property--featured .lza-property-description--extended { display:none; }
    .lza-ui .lza-property-title { font-size:27px; }
    .lza-ui .lza-filter-panel { padding:0 16px; border-radius:16px; }
    .lza-ui .lza-filter-panel > summary { font-size:18px; padding:17px 0; }
    .lza-ui .lza-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
    .lza-ui .lza-filter-field--ubicacion, .lza-ui .lza-filter-field--modalidad, .lza-ui .lza-filter-field--buscar { grid-column:1 / -1; }
    .lza-ui .lza-filter-field :is(input,select) { font-size:16px; }
    .lza-ui .lza-filter-actions { width:100%; justify-content:space-between; gap:10px; }
    .lza-ui .lza-filter-footer > p { font-size:12px; }
    .lza-ui .lza-catalog-sort { width:100%; justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) { .lza-catalog * { transition:none!important; } }
.elementor-widget-lza-listado { min-width:0; max-width:100%; }
