/* =========================================================================
   Ficha individual. Mismos tokens que app.css.
   ========================================================================= */
.ficha{padding-top:clamp(84px,11vh,120px)}

.migas{max-width:1300px;margin:0 auto;padding:0 var(--pad) 16px;
  font-size:13px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:7px}
.migas a{color:var(--ink-3);text-decoration:none;transition:color .25s var(--ez)}
.migas a:hover{color:var(--amber)}
.migas [aria-current]{color:var(--ink-2)}

.ficha-head{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:flex-end;
  justify-content:space-between;margin-bottom:22px}
.ficha-head h1{font-size:clamp(27px,4.2vw,42px);margin:4px 0 6px;line-height:1.14}
.ficha-lugar{color:var(--ink-2);margin:0;font-size:15.5px}
.ficha-precio{font-family:var(--serif);font-size:clamp(26px,3.6vw,38px);
  color:var(--amber);margin:0;white-space:nowrap}

/* galeria: una grande y el resto en tira */
.galeria{display:grid;gap:10px;grid-template-columns:2fr 1fr;margin-bottom:34px}
.galeria figure{margin:0;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line-static);background:var(--navy-7)}
.g-principal{grid-row:span 2;aspect-ratio:3/2}
.g-secundaria{aspect-ratio:3/2}
.galeria img{width:100%;height:100%;object-fit:cover;display:block}
.galeria:has(figure:only-child){grid-template-columns:1fr}
.galeria figure:only-child{grid-row:auto}
@media(max-width:760px){.galeria{grid-template-columns:1fr}.g-principal{grid-row:auto}}

.ficha-cuerpo{display:grid;grid-template-columns:1fr 360px;gap:34px;align-items:start}
@media(max-width:980px){.ficha-cuerpo{grid-template-columns:1fr}}

.ficha-datos h2{font-family:var(--serif);font-size:23px;margin:34px 0 12px}
.prosa{color:var(--ink-2);line-height:1.72;font-size:15.5px}

.specs{list-style:none;margin:0;padding:20px var(--pad);display:flex;flex-wrap:wrap;
  gap:26px 40px;background:rgba(27,42,71,.8);border:1px solid var(--line-static);
  border-radius:var(--rl)}
.specs li{display:flex;flex-direction:column;gap:2px}
.specs-n{font-family:var(--serif);font-size:25px;color:var(--ink)}
.specs-l{font-size:12.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}

.tagpills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tagpills li{font-size:13.5px;color:var(--ink-2);background:rgba(36,54,92,.55);
  border-radius:999px;padding:6px 13px}

#mapa-ficha{height:330px;border-radius:var(--rl);overflow:hidden;
  border:1px solid var(--line-static);background:var(--navy-7)}

/* tarjeta de contacto */
.ficha-lado{position:sticky;top:96px}
@media(max-width:980px){.ficha-lado{position:static}}
.contacto-card{background:rgba(27,42,71,.9);border:1px solid var(--line-static);
  border-radius:var(--rl);padding:24px var(--pad)}
.contacto-precio{font-family:var(--serif);font-size:29px;color:var(--amber);margin:0 0 4px}
.contacto-agente{font-size:14px;color:var(--ink-2);margin:0 0 18px}
.contacto-card .btn-p{width:100%;justify-content:center;margin-bottom:18px}
.contacto-form{display:flex;flex-direction:column;gap:12px;
  border-top:1px solid var(--line-static);padding-top:18px}
.contacto-form label{display:flex;flex-direction:column;gap:5px;
  font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.contacto-form input,.contacto-form textarea{font:inherit;font-size:14.5px;color:var(--ink);
  background:rgba(15,24,41,.75);border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;
  text-transform:none;letter-spacing:0;font-weight:400;
  transition:border-color .25s var(--ez)}
.contacto-form input:hover,.contacto-form textarea:hover{border-color:var(--amber)}
.contacto-form input:focus,.contacto-form textarea:focus{outline:none;border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(217,164,65,.18)}
.contacto-form .btn{width:100%;justify-content:center}
