/* Listados privados — hoja propia, no toca nada del resto del sitio.
   Todo cuelga de .pv para que ninguna regla se escape a otra página. */
.pv{
  --pv-papel:#f5f3f0; --pv-tinta:#1c1b19; --pv-gris:#6b6863; --pv-tenue:#8b8781;
  --pv-bronce:#a08a5b; --pv-linea:#e2ddd5; --pv-blanco:#fff;
  background:var(--pv-papel); color:var(--pv-tinta);
  font-family:'Inter',Helvetica,Arial,sans-serif;
}
.pv .pv-caja{max-width:1160px;margin:0 auto;padding:0 28px}
.pv .pv-rotulo{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--pv-bronce);font-weight:600}
.pv h1,.pv h2,.pv h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.01em}

/* ---------- encabezado ---------- */
.pv-tapa{padding:120px 0 72px;border-bottom:1px solid var(--pv-linea)}
.pv-tapa h1{font-size:clamp(38px,5.4vw,64px);line-height:1.05;margin:16px 0 0;max-width:15ch}
.pv-tapa p{font-size:17px;line-height:1.75;color:var(--pv-gris);max-width:54ch;margin:26px 0 0}

/* ---------- la grilla de expedientes ---------- */
.pv-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1px;
  background:var(--pv-linea);border:1px solid var(--pv-linea);margin:72px 0 0}
.pv-ficha{background:var(--pv-blanco);padding:34px 30px 30px;display:flex;flex-direction:column;
  min-height:330px;text-decoration:none;color:inherit;transition:background .35s ease}
.pv-ficha:hover{background:#fbfaf8;color:inherit;text-decoration:none}

/* El sello: lo que ocupa el lugar donde iría la foto. Es la pieza que hace que
   la grilla se lea como un conjunto de expedientes cerrados y no como tarjetas
   a las que les falta la imagen. */
.pv-sello{display:flex;align-items:center;gap:10px;padding-bottom:22px;margin-bottom:22px;
  border-bottom:1px solid var(--pv-linea)}
.pv-sello i{width:26px;height:26px;border:1px solid var(--pv-bronce);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex:none}
.pv-sello i:before{content:"";width:7px;height:7px;background:var(--pv-bronce);border-radius:50%}
.pv-sello span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--pv-bronce);font-weight:600}

.pv-ficha h2{font-size:24px;line-height:1.22;margin:0 0 10px}
.pv-zona{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pv-tenue)}
.pv-ficha p{font-size:14.5px;line-height:1.72;color:var(--pv-gris);margin:16px 0 0}
.pv-datos{display:flex;gap:20px;flex-wrap:wrap;margin-top:auto;padding-top:24px;
  font-size:13px;color:var(--pv-tenue)}
.pv-datos b{color:var(--pv-tinta);font-weight:600}
.pv-pedir{margin-top:20px;font-size:13.5px;color:var(--pv-bronce);font-weight:600;letter-spacing:.02em}
.pv-ficha:hover .pv-pedir{text-decoration:underline;text-underline-offset:3px}

/* ---------- ficha individual ---------- */
.pv-detalle{padding:110px 0 0;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:72px;align-items:start}
.pv-detalle h1{font-size:clamp(32px,4.2vw,50px);line-height:1.1;margin:14px 0 0}
.pv-cuerpo{font-size:16.5px;line-height:1.85;color:var(--pv-gris)}
.pv-cuerpo p{margin:24px 0 0}
.pv-tabla{width:100%;border-collapse:collapse;margin:38px 0 0}
.pv-tabla th,.pv-tabla td{text-align:left;padding:15px 0;border-bottom:1px solid var(--pv-linea);font-size:15px}
.pv-tabla th{color:var(--pv-tenue);font-weight:400;width:40%}
.pv-tabla td{font-weight:600}

/* ---------- el recuadro del pedido ---------- */
.pv-panel{background:var(--pv-blanco);border:1px solid var(--pv-linea);padding:34px 30px;position:sticky;top:110px}
.pv-panel h3{font-size:21px;margin:12px 0 10px}
.pv-panel p{font-size:14px;line-height:1.7;color:var(--pv-gris);margin:0 0 22px}
.pv-campo{margin-bottom:14px}
.pv-campo label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pv-tenue);margin-bottom:7px;font-weight:600}
.pv-campo input,.pv-campo textarea{width:100%;border:1px solid var(--pv-linea);background:var(--pv-papel);
  padding:12px 13px;font:15px/1.5 inherit;color:var(--pv-tinta);border-radius:2px}
.pv-campo input:focus,.pv-campo textarea:focus{outline:none;border-color:var(--pv-bronce);background:#fff}
.pv-campo textarea{min-height:82px;resize:vertical}
.pv-boton{width:100%;border:0;background:var(--pv-tinta);color:#fff;padding:16px;border-radius:2px;
  font:600 14px/1 inherit;letter-spacing:.05em;cursor:pointer;transition:background .25s ease}
.pv-boton:hover{background:#000}
.pv-chico{font-size:12px;line-height:1.6;color:var(--pv-tenue);margin:14px 0 0}
.pv-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.pv-aviso{padding:16px 18px;border-left:2px solid var(--pv-bronce);background:#fff;
  font-size:14.5px;line-height:1.65;margin:0 0 24px}
.pv-aviso.mal{border-left-color:#a5615b}

/* ---------- ficha abierta ---------- */
.pv-abierta{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2px;margin:44px 0 0}
.pv-abierta img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3;background:var(--pv-linea)}
.pv-precio{font-family:Georgia,serif;font-size:36px;margin:0}
.pv-llave{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--pv-linea);
  padding:9px 15px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--pv-bronce);font-weight:600}

/* ---------- bloque para el dueño ---------- */
.pv-dueno{background:var(--pv-tinta);color:#fff;margin:100px 0 0;padding:84px 0}
.pv-dueno .pv-rotulo{color:var(--pv-bronce)}
.pv-dueno h2{font-size:clamp(28px,3.6vw,42px);line-height:1.15;margin:16px 0 0;max-width:20ch;color:#fff}
.pv-dueno p{font-size:16.5px;line-height:1.8;color:#b8b3ab;max-width:52ch;margin:24px 0 0}
.pv-dueno-fila{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:72px;align-items:start}
.pv-dueno .pv-panel{background:#262421;border-color:#3a3733}
.pv-dueno .pv-panel h3{color:#fff}
.pv-dueno .pv-panel p{color:#b8b3ab}
.pv-dueno .pv-campo input,.pv-dueno .pv-campo textarea{background:#1c1b19;border-color:#3a3733;color:#fff}
.pv-dueno .pv-boton{background:var(--pv-bronce)}
.pv-dueno .pv-boton:hover{background:#b59a66}

.pv-vacio{padding:90px 0;text-align:center;color:var(--pv-tenue);font-size:16px}

@media (max-width:900px){
  .pv-detalle,.pv-dueno-fila{grid-template-columns:1fr;gap:44px}
  .pv-panel{position:static}
  .pv-tapa{padding:88px 0 56px}
  .pv-grilla{margin-top:48px}
}
