/* =========================================================
   CASA HOME — FICHA DE PROYECTO AL ESTILO APPLE
   (/catalogo/proyecto_detalle.php)

   Capa que va despues de los estilos de la pagina y los reajusta:
   fondo gris claro liso, tarjetas blancas sin bordes, letra Inter en
   tamanos normales, un solo tono oscuro, y nada de adornos: sin
   rayas junto a los titulos, sin la linea del rotulo y sin cajitas de
   iconos genericos en las cifras. La cabecera de la pagina es la
   minima (logo y volver), asi que la ruta "Inicio · Proyectos" sobra.
========================================================= */

.pd{
    --v1:#1d1d1f;
    --v2:#1d1d1f;
    --v3:#1d1d1f;
    --ti:#f5f5f7;
    --bl:#ffffff;
    --tx:#1d1d1f;
    --tm:#424245;
    --ts:#86868b;
    --bo:transparent;
    --vf:#f5f5f7;
    --vs:#ebebef;
    --r:20px;
    --fb:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.pd-wrap{ max-width:1200px; }

/* ---------- Portada ---------- */
.pd-bread{ display:none !important; }
.pd-eyebrow-line{ display:none !important; }
.pd-eyebrow{ margin-bottom:8px; }
.pd-eyebrow-text{
    color:rgba(255,255,255,.85) !important;
    font-size:12px;
    font-weight:500;
    letter-spacing:.08em;
}
.pd-titulo{
    font-size:clamp(28px,3.4vw,44px) !important;
    font-weight:600 !important;
    letter-spacing:-.02em !important;
    line-height:1.08 !important;
}
.pd-ubicacion{ font-size:14px; color:rgba(255,255,255,.85); }
.pd-logo-proyecto{ box-shadow:none; border-radius:12px; }
.pd-badge-estado{
    padding:6px 14px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.92) !important;
    color:#1d1d1f !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.06em !important;
    box-shadow:none !important;
}
.pd-precio-label{ letter-spacing:.06em; color:rgba(255,255,255,.7); }
.pd-precio-val{ font-size:28px; font-weight:600; }
.pd-ctrl{ background:rgba(232,232,237,.72); border:0; color:#1d1d1f; backdrop-filter:saturate(180%) blur(20px); }
.pd-ctrl:hover{ background:rgba(246,246,248,.92); }
.pd-thumb{ border-radius:10px; border-width:2px; }
.pd-thumb.active,
.pd-thumb:hover{ border-color:#1d1d1f; }

/* ---------- Bloques ---------- */
.pd-main{ gap:24px; padding:28px 0 72px; }
.pd-sec{
    border:0 !important;
    border-radius:22px !important;
    padding:28px !important;
    margin-bottom:16px;
    box-shadow:none;
}
.pd-sec-h{
    margin-bottom:16px !important;
    color:#1d1d1f !important;
    font-size:21px !important;
    font-weight:600 !important;
    letter-spacing:-.015em;
}
.pd-sec-h::before{ display:none !important; }
.pd-sec p{ color:#424245 !important; font-size:15.5px !important; line-height:1.7 !important; }

/* ---------- Cifras: numero y etiqueta, sin iconos ---------- */
.pd-metricas{ gap:12px; margin-bottom:16px; }
.pd-metrica{
    border:0 !important;
    border-radius:20px !important;
    padding:22px 16px !important;
    text-align:left !important;
}
.pd-metrica-ico,
.pd-lote-stat-ico{ display:none !important; }
.pd-metrica-val{
    margin-bottom:6px !important;
    color:#1d1d1f !important;
    font-size:22px !important;
    font-weight:600 !important;
    letter-spacing:-.01em;
}
.pd-metrica-lbl{
    color:#86868b !important;
    font-size:12.5px !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* ---------- Disponibilidad ---------- */
.pd-lote-stat{
    border:0 !important;
    border-radius:16px !important;
    background:#f5f5f7 !important;
    padding:16px 18px !important;
}
.pd-lote-stat-val{ color:#1d1d1f !important; font-weight:600 !important; }
.pd-lote-stat-lbl{ color:#86868b !important; }
.pd-lote-disponib-num{ color:#1d1d1f !important; font-weight:600 !important; }
.pd-barra-track{ height:6px !important; border-radius:999px !important; background:#e8e8ed !important; }
.pd-barra-fill{ border-radius:999px !important; background:#1d1d1f !important; }
.pd-sec a[href*="tipo=lote"]{
    border-radius:980px !important;
    background:#1d1d1f !important;
    font-weight:500 !important;
    padding:11px 20px !important;
}

/* ---------- Servicios, galeria, mapa, video ---------- */
.pd-servicio{ border:0 !important; border-radius:14px !important; background:#f5f5f7 !important; color:#1d1d1f !important; }
.pd-servicio i{ color:#1d1d1f !important; }
.pd-galeria-grid{ gap:10px !important; }
.pd-gal-item{ border:0 !important; border-radius:14px !important; overflow:hidden; aspect-ratio:4/3; }
.pd-gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.pd-gal-item:hover img{ transform:scale(1.03); }
.pd-mapa-wrap,
.pd-video-wrap,
.pd-plano-img{ border:0 !important; border-radius:16px !important; overflow:hidden; }

/* ---------- Otros proyectos ---------- */
.pd-op-card{ border:0 !important; border-radius:20px !important; box-shadow:none !important; }
.pd-op-btn-d{ border-radius:980px !important; background:#1d1d1f !important; font-weight:500 !important; }
.pd-op-btn-l{ border:0 !important; border-radius:980px !important; background:#f5f5f7 !important; color:#1d1d1f !important; font-weight:500 !important; }

/* ---------- Formulario lateral: blanco, como una tarjeta de Apple ---------- */
.pd-form-wrap{ border:0 !important; border-radius:22px !important; }
.pd-form-head{ background:#fff !important; padding:24px 22px 6px !important; }
.pd-form-head h3{ color:#1d1d1f !important; font-size:21px !important; font-weight:600 !important; letter-spacing:-.015em; }
.pd-form-head p{ color:#86868b !important; font-size:13px !important; }
.pd-form-body input,
.pd-form-body select,
.pd-form-body textarea{
    border:1px solid #e3e3e8 !important;
    border-radius:12px !important;
    background:#fff !important;
    font-size:14.5px !important;
}
.pd-form-body input:focus,
.pd-form-body select:focus,
.pd-form-body textarea:focus{ border-color:#1d1d1f !important; box-shadow:0 0 0 3px rgba(0,0,0,.06) !important; }
.pd-tipo{ border:0 !important; border-radius:12px !important; background:#f5f5f7 !important; color:#424245 !important; font-weight:500 !important; }
.pd-tipo.active{ background:#1d1d1f !important; color:#fff !important; }
.pd-form-body button[type="submit"],
.pd-form-body .pd-btn-enviar{
    border-radius:980px !important;
    background:#1d1d1f !important;
    font-weight:500 !important;
}

@media (max-width:768px){
    .pd-sec{ padding:20px 16px !important; border-radius:18px !important; }
    .pd-metrica{ padding:16px 14px !important; }
    .pd-metrica-val{ font-size:19px !important; }
}

/* ---------- Portada: fotos al natural, logo junto al nombre ----------
   Sin el degradado oscuro sobre las fotos: se ven tal cual. El texto se
   sostiene con una sombra propia, no tapando la imagen. El logo del
   proyecto va pegado al nombre y alineado con el, como un solo bloque. */
.pd-slide::after{ display:none !important; }
.pd-logo-bloque{ text-align:left !important; margin:0 0 4px !important; line-height:0; }
.pd-logo-proyecto{
    height:48px !important;
    max-width:140px !important;
    margin:0 !important;
    padding:6px 10px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.95) !important;
    box-shadow:0 4px 14px rgba(0,0,0,.25) !important;
}
/* El h1 traia el margen de arriba del navegador (~29 px): la regla que
   lo anulaba en la pagina (".pd*") esta mal escrita y no se aplica. */
.pd-titulo{
    margin:0 0 6px !important;
    line-height:1.02 !important;
    text-shadow:0 2px 14px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35);
}
.pd-slider-left > *{ margin-top:0; }
.pd-ubicacion{ text-shadow:0 1px 8px rgba(0,0,0,.55); }
.pd-slider-content{ padding-bottom:34px !important; }
@media (max-width:768px){
    .pd-logo-bloque{ text-align:center !important; }
    .pd-logo-proyecto{ margin:0 auto !important; height:40px !important; }
}

/* ---------- Otros proyectos: tarjeta limpia ----------
   Foto al natural con su estado, y debajo solo lo que hay: nombre,
   lugar, lotes y area si existen, precio si existe. Toda la tarjeta es
   el enlace; "Ver proyecto" al estilo de los enlaces de Apple. */
.pd-otros-grid{ gap:16px !important; }
.pd-oc{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    color:#1d1d1f;
    text-decoration:none;
    box-shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.07);
    transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease;
}
.pd-oc:hover{ transform:translateY(-4px); box-shadow:0 2px 4px rgba(0,0,0,.05), 0 16px 34px rgba(0,0,0,.12); }
.pd-oc-foto{ position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#ececf0; }
.pd-oc-foto img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.pd-oc:hover .pd-oc-foto img{ transform:scale(1.04); }
.pd-oc-sin{ position:absolute; inset:0; display:grid; place-items:center; color:#aeaeb2; background:linear-gradient(180deg,#f5f5f7,#ececf0); }
.pd-oc-sin svg{ width:32px; height:32px; }
.pd-oc-estado{
    position:absolute;
    top:10px;
    left:10px;
    padding:4px 10px;
    border-radius:999px;
    background:var(--c,#1d1d1f);
    color:#fff;
    font-size:11px;
    font-weight:500;
}
.pd-oc-cuerpo{ display:flex; flex-direction:column; gap:3px; padding:14px 16px 16px; }
.pd-oc-nombre{ font-size:15.5px; font-weight:600; line-height:1.3; letter-spacing:-.01em; }
.pd-oc-lugar{ color:#86868b; font-size:12.5px; }
.pd-oc-datos{ margin-top:6px; color:#424245; font-size:13px; }
.pd-oc-precio{ margin-top:2px; font-size:14px; font-weight:600; }
.pd-oc-ver{
    display:inline-flex;
    align-items:center;
    gap:2px;
    margin-top:10px;
    color:#0066cc;
    font-size:13.5px;
    font-weight:500;
}
.pd-oc-ver svg{ width:14px; height:14px; transition:transform .2s ease; }
.pd-oc:hover .pd-oc-ver svg{ transform:translateX(3px); }

/* ---------- Logo y nombre en una sola fila ----------
   El logo va a la izquierda del nombre, centrado con el, y no salta
   de linea: si el nombre es largo, es el nombre el que se parte. */
.pd-titulo-row{
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:14px !important;
    margin-bottom:6px;
}
.pd-titulo-row .pd-logo-bloque{
    flex:0 0 auto;
    display:block;
    margin:0 !important;
}
.pd-titulo-row .pd-titulo{ margin:0 !important; min-width:0; }
@media (max-width:768px){
    .pd-titulo-row{ gap:10px !important; }
    .pd-titulo-row .pd-logo-proyecto{ height:36px !important; margin:0 !important; padding:4px 7px !important; }
    .pd-titulo-row .pd-titulo{ text-align:left !important; }
}
