/* Solo [vlc_proyecto_ficha]. Los gutters exteriores siguen definidos en el sitio. */
.vlc-proyecto-ficha { color:#1e293b; font-family:inherit; }
.vlc-proyecto-ficha *,.vlc-proyecto-ficha *::before,.vlc-proyecto-ficha *::after { box-sizing:border-box; }
.vlc-proyecto-ficha .vlc-pf-icono { width:24px; height:24px; flex:0 0 24px; vertical-align:middle; }
.vlc-proyecto-ficha .vlc-pf-migas { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; color:#64748b; font-size:13px; }
.vlc-proyecto-ficha .vlc-pf-migas a { color:#00236f; text-decoration:none; }
.vlc-proyecto-ficha .vlc-pf-hero { min-height:450px; display:flex; align-items:flex-end; padding:40px; margin-bottom:40px; border-radius:24px; background-color:#00236f; background-size:cover; background-position:center; }
.vlc-proyecto-ficha .vlc-pf-hero-contenido { min-width:0; }
#vvc-inmobiliario-ficha.vlc-proyecto-ficha h1.vlc-pf-titulo { margin:0 0 8px; padding:0; color:#fff !important; font-size:48px; line-height:1.15; font-weight:800; letter-spacing:-.02em; overflow-wrap:anywhere; text-shadow:0 2px 8px rgba(0,0,0,.45); }
.vlc-proyecto-ficha .vlc-pf-badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; color:#fff; }
.vlc-proyecto-ficha .vlc-pf-badges span { padding:6px 14px; border-radius:100px; font-size:12px; font-weight:700; }
.vlc-proyecto-ficha .vlc-pf-estado { background:#3b82f6; text-transform:uppercase; }
.vlc-proyecto-ficha .vlc-pf-entrega { background:rgba(0,0,0,.4); }
.vlc-proyecto-ficha .vlc-pf-direccion-hero { display:flex; align-items:flex-start; gap:8px; color:#fff; font-size:18px; line-height:1.5; margin:0; }
.vlc-proyecto-ficha .vlc-pf-grilla { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,350px); column-gap:40px; row-gap:32px; align-items:start; }
.vlc-proyecto-ficha .vlc-pf-grilla > * { min-width:0; margin:0; }
.vlc-proyecto-ficha .vlc-pf-principal,.vlc-proyecto-ficha .vlc-pf-lateral { display:flex; flex-direction:column; gap:32px; }
.vlc-proyecto-ficha h2 { margin:0 0 20px; padding:0; color:#00236f; font-size:24px; font-weight:800; line-height:1.3; }
.vlc-proyecto-ficha .vlc-pf-descripcion { color:#475569; font-size:17px; line-height:1.7; }
.vlc-proyecto-ficha .vlc-pf-amenities-grilla { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); gap:16px; }
.vlc-proyecto-ficha .vlc-pf-amenity { display:flex; flex-direction:column; align-items:center; gap:12px; min-width:0; padding:20px; border:1px solid #eff4ff; border-radius:16px; background:#f8faff; color:#00236f; text-align:center; font-weight:600; overflow-wrap:anywhere; }
.vlc-proyecto-ficha .vlc-pf-amenity .vlc-pf-icono { color:#3b82f6; width:32px; height:32px; flex-basis:32px; }
.vlc-proyecto-ficha .vlc-pf-tipologias-grilla { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.vlc-proyecto-ficha .vlc-pf-tipo { min-width:0; border:1px solid #e2e8f0; border-radius:20px; overflow:hidden; background:#fff; }
.vlc-proyecto-ficha .vlc-pf-tipo-cabecera { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px; background:#f8faff; }
.vlc-proyecto-ficha .vlc-pf-tipo h3 { margin:0; padding:0; font-size:18px; font-weight:700; line-height:1.3; color:#00236f; }
.vlc-proyecto-ficha .vlc-pf-precio { font-size:14px; color:#0060ab; background:#fff; padding:4px 10px; border-radius:6px; }
.vlc-proyecto-ficha .vlc-pf-tipo-datos { display:flex; flex-wrap:wrap; gap:12px; padding:16px 20px; color:#64748b; font-size:14px; }
.vlc-proyecto-ficha .vlc-pf-tipo-datos p { margin:0; padding:0; }
.vlc-proyecto-ficha .vlc-pf-tarjeta { background:#fff; border:1px solid #f1f5f9; padding:32px; border-radius:24px; box-shadow:0 4px 20px rgba(0,0,0,.02); }
.vlc-proyecto-ficha .vlc-pf-tarjeta h2 { font-size:20px; }
.vlc-proyecto-ficha dl { margin:0; }
.vlc-proyecto-ficha .vlc-pf-dato { display:flex; gap:16px; margin-bottom:24px; }
.vlc-proyecto-ficha .vlc-pf-dato:last-child { margin-bottom:0; }
.vlc-proyecto-ficha .vlc-pf-dato .vlc-pf-icono { color:#3b82f6; }
.vlc-proyecto-ficha dt { font-size:13px; color:#64748b; text-transform:uppercase; letter-spacing:.05em; line-height:1.4; overflow-wrap:anywhere; }
.vlc-proyecto-ficha dd { margin:4px 0 0; font-size:16px; font-weight:600; line-height:1.5; }
.vlc-proyecto-ficha .vlc-pf-direccion { display:flex; align-items:flex-start; gap:8px; margin:0; color:#475569; line-height:1.5; }
.vlc-proyecto-ficha .vlc-pf-direccion span,.vlc-proyecto-ficha dd { overflow-wrap:anywhere; }
.vlc-proyecto-ficha .vlc-pf-mapas { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.vlc-proyecto-ficha .vlc-pf-mapas a { flex:1; padding:12px; border:1px solid #dbeafe; border-radius:10px; text-align:center; color:#00236f; font-weight:700; text-decoration:none; }
.vlc-proyecto-ficha .vlc-pf-mirada { padding:32px; border-radius:24px; background:#eff4ff; }
.vlc-proyecto-ficha .vlc-pf-mirada h2 { display:flex; align-items:center; gap:12px; font-size:20px; }
.vlc-proyecto-ficha .vlc-pf-mirada h3 { font-size:15px; color:#00236f; margin:0 0 8px; padding:0; }
.vlc-proyecto-ficha .vlc-pf-mirada p { color:#475569; margin:0; line-height:1.6; }
.vlc-proyecto-ficha .vlc-pf-mirada > div + div { margin-top:24px; }
.vlc-proyecto-ficha .vlc-pf-boton { display:flex; justify-content:center; align-items:center; gap:12px; background:#00236f; color:#fff !important; padding:18px; border-radius:12px; font-weight:700; text-align:center; text-decoration:none; }
.vlc-proyecto-ficha .vlc-pf-boton:hover { background:#1e3a8a; }
.vlc-proyecto-ficha a:focus-visible { outline:3px solid #3b82f6; outline-offset:3px; }
@media(max-width:992px) {
    .vlc-proyecto-ficha .vlc-pf-hero { min-height:350px; padding:20px; }
    #vvc-inmobiliario-ficha.vlc-proyecto-ficha h1.vlc-pf-titulo { font-size:32px; }
    .vlc-proyecto-ficha .vlc-pf-grilla { display:flex; flex-direction:column; gap:24px; }
    .vlc-proyecto-ficha .vlc-pf-principal,.vlc-proyecto-ficha .vlc-pf-lateral { display:contents; }
    .vlc-proyecto-ficha .vlc-pf-grilla section,.vlc-proyecto-ficha .vlc-pf-consulta { width:100%; margin:0; }
    .vlc-proyecto-ficha .vlc-pf-sobre { order:1; }
    .vlc-proyecto-ficha .vlc-pf-tipologias { order:2; }
    .vlc-proyecto-ficha .vlc-pf-amenities { order:3; }
    .vlc-proyecto-ficha .vlc-pf-datos { order:4; }
    .vlc-proyecto-ficha .vlc-pf-ubicacion { order:5; }
    .vlc-proyecto-ficha .vlc-pf-mirada { order:6; }
    .vlc-proyecto-ficha .vlc-pf-consulta { order:7; }
    .vlc-proyecto-ficha .vlc-pf-amenities-grilla { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .vlc-proyecto-ficha .vlc-pf-tipologias-grilla { grid-template-columns:minmax(0,1fr); }
    .vlc-proyecto-ficha .vlc-pf-tipo-cabecera { flex-direction:column; align-items:flex-start; }
    .vlc-proyecto-ficha .vlc-pf-tarjeta,.vlc-proyecto-ficha .vlc-pf-mirada { padding:20px; }
    .vlc-proyecto-ficha .vlc-pf-amenity { padding:16px; }
    .vlc-proyecto-ficha .vlc-pf-dato { gap:12px; margin-bottom:16px; }
    .vlc-proyecto-ficha .vlc-pf-dato > div { flex:1; min-width:0; }
    .vlc-proyecto-ficha dd { margin:4px 0 0; }
    .vlc-proyecto-ficha .vlc-pf-migas [aria-current="page"],.vlc-proyecto-ficha .vlc-pf-migas-actual { display:none; }
}
