/* Ficha ampliada de Recomendados (28-09-2026).
   Usa los tokens del sistema de diseño (tokens.css). Fondo blanco siempre:
   es la identidad de la revista. */
.cv-fa{background:var(--cv-white);color:var(--cv-secondary);font-family:var(--cv-font-main)}
.cv-fa-ancho{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}

.cv-fa-portada{position:relative;margin:0;background:#1d1d1d;overflow:hidden}
.cv-fa-portada img{display:block;width:100%;height:clamp(300px,52vw,620px);object-fit:cover}
.cv-fa-portada figcaption{position:absolute;inset:auto 0 0 0;padding-block:70px 30px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.cv-fa-migas{margin:0;font-family:var(--cv-font-sub);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.cv-fa-portada h1{font-family:var(--cv-font-sub);font-weight:600;font-size:clamp(38px,6.5vw,76px);line-height:1;margin:.15em 0 .15em;color:#fff;text-wrap:balance}
.cv-fa-subtitulo{margin:0;font-size:clamp(16px,2vw,19px);opacity:.95}
.cv-fa-cabecera-simple{padding-block:40px 10px}

.cv-fa-acciones{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--cv-white);border-bottom:1px solid #e6e6e6;padding-block:12px}
.cv-fa-acciones .cv-fa-ancho{display:flex;flex-wrap:wrap;gap:10px}
.cv-fa-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--cv-secondary);border-radius:2px;color:var(--cv-secondary);font-size:14px;letter-spacing:.04em;text-decoration:none;background:transparent}
.cv-fa-btn small{font-size:12px;opacity:.75}
.cv-fa-btn-principal{background:var(--cv-secondary);color:#fff}
.cv-fa-btn:hover{background:var(--cv-secondary);color:#fff}
.cv-fa-btn:focus-visible{outline:2px solid var(--cv-primary);outline-offset:2px}

.cv-fa-cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:56px;padding-block:52px}
@media (max-width:900px){.cv-fa-cuerpo{grid-template-columns:1fr;gap:34px}}
.cv-fa-texto{max-width:68ch;font-size:16.5px;line-height:1.7;color:var(--cv-text)}
.cv-fa-eyebrow{margin:0 0 10px;font-family:var(--cv-font-sub);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cv-primary)}
.cv-fa-titular{font-family:var(--cv-font-sub);font-weight:600;font-size:clamp(28px,3.6vw,40px);line-height:1.15;color:var(--cv-secondary);margin:0 0 22px;text-wrap:balance}
.cv-fa-entrada{font-size:20px;line-height:1.55;color:var(--cv-secondary);font-weight:300}
.cv-fa-texto h3{font-family:var(--cv-font-sub);font-weight:600;font-size:22px;color:var(--cv-secondary);margin:1.6em 0 .4em}
.cv-fa-texto p{margin:0 0 1em}
.cv-fa-lista{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:8px}
.cv-fa-lista li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dotted #d8d8d8;padding-bottom:6px}
.cv-fa-lista li span:last-child{font-size:14px;text-align:right}
.cv-fa-figura{margin:26px 0}
.cv-fa-figura img,.cv-fa-retrato img{width:100%;display:block}
.cv-fa-figura figcaption,.cv-fa-retrato figcaption{font-size:13px;color:#777;margin-top:8px}
.cv-fa-retrato{float:right;width:230px;margin:4px 0 16px 24px}
@media (max-width:600px){.cv-fa-retrato{float:none;width:100%;margin:0 0 18px}}
.cv-fa-premio{display:flex;gap:18px;align-items:center;border:1px solid #e6e6e6;padding:16px 18px;margin:0 0 22px}
.cv-fa-premio img{width:60px;flex:none}
.cv-fa-premio strong{display:block;color:var(--cv-secondary);font-weight:700}
.cv-fa-premio span{font-size:14px}
.cv-fa-firma{clear:both;font-size:13px;color:#888;border-top:1px solid #e6e6e6;padding-top:14px;margin-top:28px}

.cv-fa-datos{align-self:start;position:sticky;top:84px;border:1px solid #e6e6e6;padding:24px}
@media (max-width:900px){.cv-fa-datos{position:static}}
.cv-fa-datos h2{font-family:var(--cv-font-sub);font-weight:600;font-size:21px;margin:0 0 16px;color:var(--cv-secondary)}
.cv-fa-datos dl{margin:0;display:grid;gap:14px}
.cv-fa-datos dt{font-family:var(--cv-font-sub);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#888}
.cv-fa-datos dd{margin:2px 0 0;font-size:15px;color:var(--cv-secondary)}
.cv-fa-redes{display:flex;flex-wrap:wrap;gap:10px}

.cv-fa-bloque{padding-block:46px;border-top:1px solid #e6e6e6}
.cv-fa-bloque h2{font-family:var(--cv-font-sub);font-weight:600;font-size:30px;margin:0 0 6px;color:var(--cv-secondary)}
.cv-fa-sub{color:#777;margin:0 0 24px}
.cv-fa-galeria{columns:3 260px;column-gap:14px}
.cv-fa-galeria figure{margin:0 0 14px;break-inside:avoid}
.cv-fa-galeria img{width:100%;display:block}
.cv-fa-galeria figcaption{font-size:12.5px;color:#777;padding-top:5px}

.cv-fa-casas{display:grid;gap:42px}
.cv-fa-casa{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:26px;align-items:start;padding-bottom:38px;border-bottom:1px solid #e6e6e6}
.cv-fa-casa:last-child{border-bottom:0}
@media (max-width:800px){.cv-fa-casa{grid-template-columns:1fr}}
.cv-fa-casa-fotos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cv-fa-casa-fotos img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.cv-fa-casa-fotos .cv-fa-grande{grid-column:1/-1;aspect-ratio:16/10}
.cv-fa-casa h3{font-family:var(--cv-font-sub);font-weight:600;font-size:26px;line-height:1.15;margin:0 0 6px;color:var(--cv-secondary)}
.cv-fa-zona{margin:0 0 12px;color:#777}
.cv-fa-casa-datos{margin:0 0 14px;font-size:15px;color:var(--cv-text)}
.cv-fa-precio{font-family:var(--cv-font-sub);font-size:28px;font-weight:600;margin:0;color:var(--cv-secondary);font-variant-numeric:tabular-nums}
.cv-fa-nota{font-size:13px;color:#777;margin:10px 0 0}

.cv-fa-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}
.cv-fa-cifras div{border:1px solid #e6e6e6;padding:18px}
.cv-fa-cifras strong{display:block;font-family:var(--cv-font-sub);font-size:30px;font-weight:600;color:var(--cv-secondary);font-variant-numeric:tabular-nums}
.cv-fa-cifras span{font-size:13px;color:#777}
.cv-fa-zonas{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cv-fa-zonas span{border:1px solid #e6e6e6;padding:5px 10px;font-size:13.5px}

.cv-fa-revista{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:40px;align-items:center}
@media (max-width:760px){.cv-fa-revista,.cv-fa-revista-doble{grid-template-columns:1fr}}
.cv-fa-revista-pags{display:flex;box-shadow:0 12px 30px rgba(0,0,0,.16);max-width:280px}
.cv-fa-revista-pags img{width:100%;min-width:0;flex:1;display:block}
.cv-fa-revista-doble{grid-template-columns:minmax(0,520px) minmax(0,1fr)}
.cv-fa-revista-doble .cv-fa-revista-pags{max-width:520px}
.cv-fa-volver{padding-block:10px 50px}
@media (prefers-reduced-motion:no-preference){.cv-fa-btn{transition:background .15s,color .15s}}
@media (max-width:700px){.cv-fa-acciones .cv-fa-ancho{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cv-fa-acciones .cv-fa-ancho::-webkit-scrollbar{display:none}.cv-fa-btn{flex:none;min-height:40px;padding:0 14px}}
@media (max-width:760px){.cv-fa-revista.cv-fa-revista-doble,.cv-fa-revista{grid-template-columns:1fr}.cv-fa-revista-pags{max-width:100%}}

/* 29-09-2026: acciones en dos niveles en el móvil y archivo de casas plegable */
.cv-fa-acciones-sec{display:contents}
.cv-fa-mas{margin-top:34px}
.cv-fa-mas>summary{list-style:none;cursor:pointer;width:max-content}
.cv-fa-mas>summary::-webkit-details-marker{display:none}
.cv-fa-mas[open]>summary{margin-bottom:34px}
@media (max-width:700px){
 .cv-fa-acciones .cv-fa-ancho{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible}
 .cv-fa-acciones .cv-fa-ancho>.cv-fa-btn{justify-content:center;text-align:center;flex:initial;min-height:44px;padding:0 10px;font-size:13.5px}
 .cv-fa-acciones .cv-fa-ancho>.cv-fa-btn small{display:none}
 .cv-fa-acciones-sec{display:flex;grid-column:1/-1;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .cv-fa-acciones-sec::-webkit-scrollbar{display:none}
 .cv-fa-acciones-sec .cv-fa-btn{flex:none;min-height:34px;padding:0 12px;font-size:13px}
}

/* 29-09-2026: bloque «Aquí encuentras Class & Villas» (Red de Distribución) */
.cv-fa-reparto{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end}
.cv-fa-reparto p{margin:0 0 8px}
.cv-fa-reparto-dir{font-size:15px;color:var(--cv-secondary)}
.cv-fa-reparto-btns{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:700px){.cv-fa-reparto{grid-template-columns:1fr}.cv-fa-reparto-btns .cv-fa-btn{flex:1 1 auto;justify-content:center}}
