/* Pineda Luxury: estilos limitados a la ficha y su visor. */
.plpc-property{--plpc-ink:#22312c;--plpc-muted:#626d67;--plpc-line:#e1e5df;--plpc-paper:#f5f5f0;--plpc-accent:#82663c;color:var(--plpc-ink);background:#fff;font-size:16px;line-height:1.7;padding:0 0 72px}
.plpc-property *{box-sizing:border-box}
.plpc-shell{width:100%;max-width:1384px;margin:0 auto;padding:0 40px}
.plpc-property a:not(.plpc-button){color:inherit}
.plpc-property a:focus-visible,.plpc-property button:focus-visible,.plpc-property summary:focus-visible{outline:3px solid #967a4c;outline-offset:5px}
.plpc-property .plpc-breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:25px 0 30px;font-size:12px;letter-spacing:.02em;color:var(--plpc-muted)}
.plpc-breadcrumb a{text-decoration:none}.plpc-breadcrumb a:hover{text-decoration:underline}
.plpc-property .plpc-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:44px;margin:0 0 34px}
.plpc-property .plpc-eyebrow{font-family:Arial,sans-serif;font-size:11px;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--plpc-accent);margin:0 0 14px}
.plpc-property h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.1vw,46px);line-height:1.16;letter-spacing:-.025em;font-weight:400;color:var(--plpc-ink);margin:0 0 16px;overflow-wrap:anywhere}
.plpc-property .plpc-location{color:var(--plpc-muted);font-size:14px;margin:0}
.plpc-prices{text-align:right;min-width:235px}.plpc-prices p{margin:0 0 12px}.plpc-prices p:last-child{margin-bottom:0}.plpc-prices span{display:block;color:var(--plpc-muted);font-size:11px;text-transform:uppercase;letter-spacing:.13em}.plpc-prices strong{display:block;font-size:26px;line-height:1.45;font-weight:500;white-space:nowrap}
.plpc-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:clamp(340px,40vw,550px);gap:8px;background:var(--plpc-paper)}
.plpc-mosaic__item{display:block;position:relative;overflow:hidden;min-width:0;min-height:0;background:#e6e9e2}.plpc-mosaic__item:first-child{grid-row:span 2}
.plpc-property .plpc-photo{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transition:transform .45s ease}
.plpc-mosaic__item:hover .plpc-photo{transform:scale(1.025)}
.plpc-property .plpc-photo-count{position:absolute;right:14px;bottom:14px;padding:8px 12px;background:rgba(255,255,255,.94);color:#22312c;font-size:11px;font-weight:600;line-height:1.4;box-shadow:0 2px 16px #0001}
.plpc-mosaic--1{display:block}.plpc-mosaic--1 .plpc-mosaic__item{height:100%}.plpc-mosaic--2{grid-template-columns:2fr 1fr;grid-template-rows:1fr}.plpc-mosaic--2 .plpc-mosaic__item:first-child{grid-row:auto}
.plpc-mosaic--3{grid-template-columns:2fr 1fr}.plpc-mosaic--4 .plpc-mosaic__item:nth-child(2){grid-column:span 2}
.plpc-property .plpc-summary{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 0;border-bottom:1px solid var(--plpc-line)}
.plpc-property .plpc-facts{display:flex;flex-wrap:wrap;gap:22px 40px;margin:0}.plpc-facts div{display:flex;flex-direction:column;gap:3px}.plpc-facts dt{order:2;font-size:11px;font-weight:400;letter-spacing:.055em;text-transform:uppercase;color:var(--plpc-muted)}.plpc-facts dd{margin:0;font-size:22px;font-weight:500;line-height:1.25}
.plpc-property .plpc-button,.plpc-property .plpc-button:visited{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:13px 22px;background:#223c33;color:#fff;border:1px solid #223c33;text-decoration:none;font-family:Arial,sans-serif;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.025em;border-radius:0;cursor:pointer;transition:background .2s}
.plpc-property .plpc-button:hover,.plpc-property .plpc-button:focus{background:#142b22;color:#fff;text-decoration:none}.plpc-button span{font-size:20px;font-weight:400;line-height:1}
.plpc-property .plpc-button--outline{background:transparent;color:var(--plpc-ink);border-color:var(--plpc-ink)}.plpc-property .plpc-button--outline:hover{background:#223c33;color:#fff}
.plpc-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:start;padding-top:10px}.plpc-layout--wide{grid-template-columns:minmax(0,1fr);max-width:980px}.plpc-main{min-width:0}
.plpc-property .plpc-section{padding:42px 0;margin:0;border-bottom:1px solid var(--plpc-line);scroll-margin-top:130px}
.plpc-property h2{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.25;letter-spacing:-.02em;font-weight:400;color:var(--plpc-ink);margin:0 0 24px}
.plpc-description{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.plpc-description p{margin:0 0 20px}.plpc-description p:last-child{margin-bottom:0}.plpc-description img{max-width:100%;height:auto}.plpc-description iframe,.plpc-description video{max-width:100%}.plpc-description .vc_row{margin-left:0;margin-right:0}
.plpc-property .plpc-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0}.plpc-details div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid #eef0eb}.plpc-details dt{font-size:13px;font-weight:400;color:var(--plpc-muted)}.plpc-details dd{font-size:13px;margin:0;font-weight:500;text-align:right}
.plpc-property .plpc-equipment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;margin:0;padding:0;list-style:none}.plpc-equipment li{display:flex;gap:12px;align-items:center;font-size:14px}.plpc-equipment li span{color:var(--plpc-accent);font-size:17px}
.plpc-property .plpc-area{font-size:17px;margin:0 0 10px}.plpc-aside{position:sticky;top:130px;padding-top:42px}.plpc-contact-card{background:var(--plpc-paper);padding:32px}.plpc-property .plpc-contact-card h2{font-size:28px;line-height:1.3}.plpc-contact-card p:not(.plpc-eyebrow){font-size:13px;color:var(--plpc-muted);margin:0 0 22px}.plpc-contact-card .plpc-reference{padding-top:18px;border-top:1px solid #dce1d8;display:flex;gap:16px;justify-content:space-between}.plpc-reference strong{font-weight:600;color:var(--plpc-ink)}.plpc-contact-card .plpc-button{width:100%}.plpc-email{display:block;font-size:12px;margin-top:16px;text-align:center;overflow-wrap:anywhere}
.plpc-property .plpc-film{display:block;width:100%;aspect-ratio:16/9;background:#111}.plpc-video{padding:32px;background:var(--plpc-paper)}.plpc-video p{font-size:12px;color:var(--plpc-muted);margin:14px 0 0}.plpc-video iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}.plpc-video--loaded{padding:0}
.plpc-property .plpc-gallery-section{margin-top:20px;padding:32px 0}.plpc-gallery-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-family:Georgia,serif;font-size:28px;line-height:1.3;list-style:none}.plpc-gallery-details summary::-webkit-details-marker{display:none}.plpc-gallery-details summary>span{font-family:Arial,sans-serif;font-size:12px;white-space:nowrap;color:var(--plpc-muted)}.plpc-gallery-details summary>span>span{display:inline-block;margin-left:10px;font-size:22px;vertical-align:middle;transition:transform .2s}.plpc-gallery-details[open] summary>span>span{transform:rotate(45deg)}
.plpc-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:28px}.plpc-gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden}
.plpc-property .plpc-contact-end{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--plpc-paper);padding:44px;margin:48px 0 0;scroll-margin-top:140px}.plpc-contact-end h2{margin-bottom:12px}.plpc-contact-end p:last-child{font-size:13px;color:var(--plpc-muted);margin:0}.plpc-editor-note{margin-top:24px;font-size:13px;padding:16px;border:1px dashed var(--plpc-line)}
.plpc-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100%;max-height:100%;margin:0;padding:0;border:0;background:#101512;color:#fff;overscroll-behavior:contain}.plpc-lightbox:not([open]){display:none}.plpc-lightbox::backdrop{background:#101512}.plpc-lightbox[open]{display:flex;flex-direction:column}
.plpc-lightbox__top{display:flex;align-items:center;gap:24px;padding:16px 26px;border-bottom:1px solid #ffffff20}.plpc-property .plpc-lightbox__top h2{font-family:Arial,sans-serif;font-size:13px;font-weight:400;letter-spacing:0;color:#fff;margin:0;margin-right:auto}.plpc-lightbox__top span[data-plpc-counter]{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.plpc-property .plpc-lightbox button{background:transparent;border:1px solid #ffffff50;color:#fff;font-family:Arial,sans-serif;min-width:44px;min-height:44px;padding:8px 12px;border-radius:0;font-size:14px;line-height:1.3;cursor:pointer}.plpc-property .plpc-lightbox button:hover{background:#ffffff20}.plpc-property .plpc-lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}.plpc-property .plpc-lightbox button:disabled{opacity:.35;cursor:default}
.plpc-lightbox__stage{flex:1;min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;gap:20px;padding:24px}.plpc-lightbox__stage img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;min-height:0}.plpc-lightbox__stage button{font-size:24px!important}.plpc-lightbox-open{overflow:hidden}
.plpc-password{padding-top:60px;padding-bottom:60px}
@media(min-width:1200px){body.single-inmueble>.gt-header.gt-absolute{position:relative;top:auto}}
@media(max-width:1100px){.plpc-shell{padding:0 28px}.plpc-layout{gap:38px;grid-template-columns:minmax(0,1fr) 290px}.plpc-contact-card{padding:24px}.plpc-property .plpc-details{grid-template-columns:1fr}.plpc-property .plpc-facts{gap:20px 28px}.plpc-property .plpc-heading{gap:28px}.plpc-prices{min-width:195px}.plpc-prices strong{font-size:23px}}
@media(max-width:800px){.plpc-property{padding-bottom:40px}.plpc-layout{grid-template-columns:1fr;gap:0}.plpc-aside{position:static;top:auto;padding-top:32px}.plpc-contact-card{padding:28px}.plpc-property .plpc-heading{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.plpc-prices{display:flex;gap:28px;flex-wrap:wrap;text-align:left;min-width:0}.plpc-prices p{margin:0}.plpc-property .plpc-summary{flex-wrap:wrap;gap:24px}.plpc-mosaic{height:380px;grid-template-columns:2fr 1fr}.plpc-mosaic--5 .plpc-mosaic__item:nth-child(n+4){display:none}.plpc-mosaic--4 .plpc-mosaic__item:nth-child(2){grid-column:auto}.plpc-mosaic--4 .plpc-mosaic__item:nth-child(4){display:none}.plpc-mosaic--5 .plpc-mosaic__item:nth-child(3):after,.plpc-mosaic--4 .plpc-mosaic__item:nth-child(3):after{content:'Ampliar galería';position:absolute;bottom:10px;right:10px;color:#22312c;font-size:11px;padding:6px 10px;background:#fff}.plpc-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plpc-property .plpc-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.plpc-shell{padding:0 20px}.plpc-property .plpc-breadcrumb{font-size:11px;padding:20px 0;gap:9px}.plpc-property .plpc-eyebrow{font-size:10px;margin-bottom:12px}.plpc-property h1{font-size:29px;line-height:1.16}.plpc-property .plpc-location{font-size:13px}.plpc-prices strong{font-size:24px}.plpc-mosaic{display:block;height:320px}.plpc-mosaic .plpc-mosaic__item{display:none;height:100%}.plpc-mosaic .plpc-mosaic__item:first-child{display:block}.plpc-mosaic .plpc-mosaic__item:first-child:after{content:'Ampliar galería';position:absolute;bottom:14px;right:14px;padding:8px 12px;background:#fffffff2;color:#22312c;font-size:11px;font-weight:600}.plpc-mosaic--1 .plpc-mosaic__item:first-child:after{content:none}.plpc-property .plpc-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;width:100%}.plpc-facts dd{font-size:23px}.plpc-facts dt{font-size:10px}.plpc-property .plpc-summary{padding:25px 0}.plpc-summary .plpc-button{width:100%}.plpc-property .plpc-section{padding:30px 0}.plpc-property h2{font-size:27px;margin-bottom:20px}.plpc-property .plpc-details{grid-template-columns:1fr}.plpc-property .plpc-equipment{grid-template-columns:1fr;gap:12px}.plpc-gallery-details summary{font-size:23px;gap:12px}.plpc-gallery-details summary>span{font-size:10px}.plpc-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plpc-property .plpc-contact-end{padding:28px;display:block;margin-top:28px}.plpc-contact-end .plpc-button{margin-top:24px;width:100%}.plpc-lightbox__top{padding:10px 12px;gap:12px}.plpc-property .plpc-lightbox__top h2{font-size:11px;max-width:110px}.plpc-lightbox__stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;padding:12px 4px}.plpc-property .plpc-lightbox button{padding:6px;font-size:12px}.plpc-lightbox__stage button{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){.plpc-property *, .plpc-property *:before,.plpc-property *:after{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   PINEDA LUXURY — MAQUETACION VALIDADA DE FICHAS
   Consolidacion CSS adicional (02-11-2026)
   Mantener al final de assets/property.css para prevalecer
   sobre los estilos base y sus media queries originales.
   ============================================================ */
/* ==========================================
   PINEDA LUXURY - TIPOGRAFÍA DEFINITIVA
   ========================================== */

.plpc-property h1,
.plpc-property h2,
.plpc-property h3,
.plpc-property h4,
.plpc-property h5,
.plpc-property h6,
.plpc-property .plpc-gallery-details summary {
    font-family: 'Manrope', sans-serif;
}


.plpc-property h1 {
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.025em;
    text-transform: none;
    margin-bottom: 12px;
}

.plpc-property .plpc-gallery-details summary {
    font-family: inherit;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

/* Descripcion */
.plpc-property .plpc-description,
.plpc-property .plpc-description p {
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0;
}
.plpc-property .plpc-description p {
    margin-bottom: 18px;
}

/* Caracteristicas principales debajo de la galeria */
.plpc-property .plpc-facts {
    column-gap: 32px;
    row-gap: 16px;
}
.plpc-property .plpc-facts dd {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.02em;
    margin: 0 0 5px;
}
.plpc-property .plpc-facts dt {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.5;
}

/* Tarjeta lateral */
.plpc-property .plpc-contact-card {
    padding: 32px;
    border-radius: 2px;
}
.plpc-property .plpc-contact-card h2 {
    font-family: inherit;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}
.plpc-property .plpc-contact-card p:not(.plpc-eyebrow) {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 18px;
}
.plpc-property .plpc-contact-card > .plpc-eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-bottom: 14px;
}

/* CTA inferior */
.plpc-property .plpc-contact-end {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    background: var(--plpc-paper);
    padding: 40px;
    margin: 48px 0 0;
    scroll-margin-top: 140px;
}
.plpc-property .plpc-contact-end h2 {
    font-family: inherit;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

/* Detalle de superficies y caracteristicas */
.plpc-property .plpc-details {
    column-gap: 36px;
}
.plpc-property .plpc-details > div {
    padding: 15px 0;
    gap: 18px;
    align-items: baseline;
}
.plpc-property .plpc-details dt {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}
.plpc-property .plpc-details dd {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--plpc-ink);
}

/* Equipamiento */
.plpc-property .plpc-equipment {
    column-gap: 36px;
    row-gap: 18px;
}
.plpc-property .plpc-equipment li {
    font-size: 14px;
    line-height: 1.6;
    align-items: flex-start;
    gap: 12px;
}
.plpc-property .plpc-equipment li span {
    font-size: 16px;
    line-height: 1.6;
    flex-shrink: 0;
}

/* Portada de video: sin cargar YouTube hasta pulsar el boton */
.plpc-property .plpc-video {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16 / 9;
    padding: 0;
    overflow: hidden;
    background: #203d32;
}
.plpc-property .plpc-video-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition: transform .4s ease;
}
.plpc-property .plpc-video::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.20);
    pointer-events: none;
}
.plpc-property .plpc-video-play {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: #203d32;
    cursor: pointer;
    transition: background .25s ease, transform .25s ease;
}
.plpc-property .plpc-video-play span {
    font-size: 26px;
    margin-left: 4px;
}
.plpc-property .plpc-video-play:hover {
    background: #fff;
    transform: scale(1.08);
}
.plpc-property .plpc-video-play:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}
.plpc-property .plpc-video-notice {
    position: absolute;
    z-index: 2;
    bottom: 14px;
    left: 20px;
    right: 20px;
    margin: 0;
    color: #fff;
    font-size: 12px;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0,0,0,.6);
    pointer-events: none;
}
.plpc-property .plpc-video.plpc-video--loaded {
    display: block;
    padding: 0;
}
.plpc-property .plpc-video.plpc-video--loaded::after {
    display: none;
}

@media (max-width: 767px) {
    .plpc-property h1 {
        font-size: 28px;
        line-height: 1.25;
        letter-spacing: -0.02em;
    }
    .plpc-property .plpc-gallery-details summary {
        font-size: 23px;
    }
    .plpc-property .plpc-description,
    .plpc-property .plpc-description p {
        font-size: 15px;
        line-height: 1.7;
    }
    .plpc-property .plpc-facts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: 100%;
    }
    .plpc-property .plpc-facts > div {
        min-width: 0;
    }
    .plpc-property .plpc-facts dd {
        font-size: 20px;
        line-height: 1.3;
        margin-bottom: 5px;
    }
    .plpc-property .plpc-facts dt {
        font-size: 9px;
        letter-spacing: 0.03em;
    }
    .plpc-property .plpc-contact-card {
        padding: 24px;
    }
    .plpc-property .plpc-contact-card h2 {
        font-size: 22px;
    }
    .plpc-property .plpc-contact-end {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding: 26px 24px;
        margin-top: 36px;
    }
    .plpc-property .plpc-contact-end h2 {
        font-size: 22px;
        line-height: 1.35;
    }
    .plpc-property .plpc-contact-end a {
        width: 100%;
        box-sizing: border-box;
    }
    .plpc-property .plpc-details {
        grid-template-columns: 1fr;
    }
    .plpc-property .plpc-details > div {
        padding: 13px 0;
    }
    .plpc-property .plpc-details dt,
    .plpc-property .plpc-details dd {
        font-size: 13px;
    }
    .plpc-property .plpc-equipment {
        grid-template-columns: 1fr;
        row-gap: 14px;
    }
    .plpc-property .plpc-equipment li {
        font-size: 14px;
    }
    .plpc-property .plpc-video-play {
        width: 60px;
        height: 60px;
    }
    .plpc-property .plpc-video-play span {
        font-size: 22px;
    }
    .plpc-property .plpc-video-notice {
        font-size: 10px;
        bottom: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .plpc-property .plpc-video-cover,
    .plpc-property .plpc-video-play {
        transition: none;
    }
}
