/* ==========================================================================
   DOMelia — hoja única de las páginas públicas de las agencias
   Base común (las mismas piezas en las 4 plantillas) + una piel por plantilla:
   .t1 Insignia · .t2 Galería · .t3 Nocturna · .t4 Vitrina
   Cada piel trae sus propios colores y letra, en modo claro y en modo oscuro
   (.modo-claro / .modo-oscuro). La agencia ya no escoge colores ni letra.
   ========================================================================== */

*{box-sizing:border-box;margin:0;padding:0}
a{text-decoration:none;color:inherit}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:none;background:none}
img{display:block;max-width:100%}
[hidden]{display:none!important}
body{-webkit-font-smoothing:antialiased}

/* ---------- colores y letra de cada plantilla ---------- */
.t1{--fondo:#F3F0EA;--texto:#16150F;--suave:rgba(22,21,15,.7);--linea:rgba(22,21,15,.16);--papel:#EAE5DC;
    --campo:#FFFFFF;--campo-txt:#16150F;--panel:#16150F;--panel-txt:#F3F0EA;--panel-suave:rgba(243,240,234,.78);--panel-linea:rgba(243,240,234,.2);
    --marca:#8C6B3F;--marca-txt:#FFFFFF;--acento:#8C6B3F;--wa:#128C4A;--radio:0px;--radio-btn:0px;
    --fuente:'Jost',system-ui,sans-serif;--display:'Cormorant Garamond',Georgia,serif;--peso:500;--esp:0}
.t1.modo-oscuro{--fondo:#121110;--texto:#F3F0EA;--suave:rgba(243,240,234,.78);--linea:rgba(243,240,234,.2);--papel:#1C1A17;
    --campo:#1C1A17;--campo-txt:#F3F0EA;--panel:#0A0A09;--marca:#C9A46A;--marca-txt:#16150F;--acento:#C9A46A;--wa:#1FA65C}

.t2{--fondo:#FFFFFF;--texto:#0E1116;--suave:rgba(14,17,22,.7);--linea:#E3E6EA;--papel:#F4F6F8;
    --campo:#FFFFFF;--campo-txt:#0E1116;--panel:#0E1116;--panel-txt:#F2F4F6;--panel-suave:rgba(242,244,246,.78);--panel-linea:rgba(255,255,255,.18);
    --marca:#1F4FD1;--marca-txt:#FFFFFF;--acento:#1F4FD1;--wa:#128C4A;--radio:12px;--radio-btn:10px;
    --fuente:'Inter',system-ui,sans-serif;--display:'Inter',system-ui,sans-serif;--peso:700;--esp:-.025em}
.t2.modo-oscuro{--fondo:#0E1116;--texto:#F2F4F6;--suave:rgba(242,244,246,.78);--linea:#2A2F38;--papel:#161A21;
    --campo:#161A21;--campo-txt:#F2F4F6;--panel:#080A0D;--marca:#7FA2FF;--marca-txt:#0E1116;--acento:#9DB8FF;--wa:#1FA65C}

.t3{--fondo:#101013;--texto:#F5F3F0;--suave:rgba(245,243,240,.78);--linea:rgba(245,243,240,.22);--papel:#18181C;
    --campo:#18181C;--campo-txt:#F5F3F0;--panel:#0A0A0C;--panel-txt:#F5F3F0;--panel-suave:rgba(245,243,240,.76);--panel-linea:rgba(245,243,240,.2);
    --marca:#C9A46A;--marca-txt:#101013;--acento:#C9A46A;--wa:#1FA65C;--radio:2px;--radio-btn:2px;
    --fuente:'Jost',system-ui,sans-serif;--display:'Cormorant Garamond',Georgia,serif;--peso:500;--esp:0}
.t3.modo-claro{--fondo:#F3F0EA;--texto:#16150F;--suave:rgba(22,21,15,.7);--linea:rgba(22,21,15,.16);--papel:#EAE5DC;
    --campo:#FFFFFF;--campo-txt:#16150F;--panel:#16150F;--marca:#8C6B3F;--marca-txt:#FFFFFF;--acento:#8C6B3F;--wa:#128C4A}

.t4{--fondo:#FFFFFF;--texto:#0B1715;--suave:rgba(11,23,21,.72);--linea:#D5DEDB;--papel:#F3F6F5;
    --campo:#FFFFFF;--campo-txt:#0B1715;--panel:#0B1715;--panel-txt:#F4F8F7;--panel-suave:rgba(244,248,247,.78);--panel-linea:rgba(244,248,247,.2);
    --marca:#0D6B5E;--marca-txt:#FFFFFF;--acento:#0D6B5E;--wa:#128C4A;--radio:14px;--radio-btn:10px;
    --fuente:'Figtree',system-ui,sans-serif;--display:'Bricolage Grotesque',system-ui,sans-serif;--peso:800;--esp:-.02em}
.t4.modo-oscuro{--fondo:#0F1514;--texto:#F4F8F7;--suave:rgba(244,248,247,.78);--linea:#33433F;--papel:#17201E;
    --campo:#17201E;--campo-txt:#F4F8F7;--panel:#070C0B;--marca:#3FB9A6;--marca-txt:#04120F;--acento:#5FD0BD;--wa:#1FA65C}

/* el fondo bajo el pie toma el color del pie, sin franja de otro color */
html.t1.modo-claro,html.t3.modo-claro{background:#16150F}
html.t1.modo-oscuro{background:#0A0A09}
html.t3.modo-oscuro{background:#0A0A0C}
html.t2.modo-claro{background:#F4F6F8}
html.t4.modo-claro{background:#F3F6F5}
html.t2.modo-oscuro{background:#161A21}
html.t4.modo-oscuro{background:#17201E}

/* ==========================================================================
   BASE COMÚN
   ========================================================================== */
.sitio{background:var(--fondo);color:var(--texto);font-family:var(--fuente);font-size:16px;line-height:1.55;min-height:100vh}
.sitio h1,.sitio h2,.sitio h3,.sitio .pr{font-family:var(--display);font-weight:var(--peso);letter-spacing:var(--esp);line-height:1.12;text-wrap:balance}
.sitio :focus-visible{outline:3px solid var(--acento);outline-offset:2px}
.cont{max-width:1280px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));width:100%}
.et{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--acento)}
.cargando{padding:120px 20px;text-align:center;color:var(--suave)}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;background:var(--fondo);color:var(--texto);border-bottom:1px solid var(--linea)}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;min-height:70px}
.logo{display:flex;align-items:center;gap:12px;min-width:0}
.logo .av,.ase .av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--marca);color:var(--marca-txt);
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1rem}
.logo .av img,.ase .av img{width:100%;height:100%;object-fit:cover}
.logo b{display:block;font-family:var(--display);font-weight:var(--peso);font-size:1.12rem;line-height:1.2;letter-spacing:var(--esp)}
.logo span{display:block;font-size:.78rem;color:var(--suave)}
.cab-links{display:flex;align-items:center;gap:6px;font-size:.92rem;font-weight:600}
.cab-links>a:not(.wa){padding:8px 12px;border-radius:var(--radio-btn)}
.cab-links>a:not(.wa):hover{background:var(--papel)}
.cab-links .wa{display:inline-flex;align-items:center;gap:8px;background:var(--wa);color:#fff;border-radius:var(--radio-btn);padding:10px 16px}
.cab-links .wa svg{width:18px;height:18px}
.v-modo{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--linea);color:var(--texto);display:inline-flex;align-items:center;justify-content:center;margin:0 4px}
.v-modo:hover{border-color:var(--texto)}
.v-modo svg{width:20px;height:20px}

/* ---------- barra de filtros (como la de Mis Inmuebles) ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fb-marca{height:1px}
.fb{position:sticky;top:70px;z-index:40;background:var(--fondo);border-bottom:1px solid var(--linea);transition:box-shadow .2s}
.fb.pegada{box-shadow:0 10px 24px -18px rgba(0,0,0,.55)}
.fb-in{display:flex;align-items:center;gap:8px;padding-top:10px;padding-bottom:10px}
.fb-caja{flex:0 1 280px;min-width:160px;display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);background:var(--campo);color:var(--campo-txt);cursor:text}
.fb-caja:focus-within{border-color:var(--acento)}
.fb-caja svg{width:18px;height:18px;flex:none;color:var(--suave)}
.fb-caja input{flex:1;min-width:0;border:0;background:none;font-size:.92rem;color:inherit;height:100%}
.fb-caja input:focus{outline:none}
.fb-caja input::placeholder{color:var(--suave)}
.fb-pastillas{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.fb-pf{position:relative;flex:none}
.fb-pf-mas{position:static}
.fb-pastilla{display:flex;align-items:center;height:42px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);background:var(--fondo);color:var(--texto)}
.fb-pastilla:hover,.fb-pastilla.abierta{border-color:var(--texto)}
.fb-pastilla-btn{display:inline-flex;align-items:center;gap:6px;height:100%;padding:0 12px;font-size:.9rem;font-weight:600;white-space:nowrap}
.fb-pastilla-btn span{max-width:200px;overflow:hidden;text-overflow:ellipsis}
.fb-pastilla-btn svg{width:15px;height:15px;flex:none;opacity:.7}
.fb-pastilla-btn b,.fb-btn-filtros b{background:var(--marca);color:var(--marca-txt);border-radius:10px;padding:1px 8px;font-size:.74rem}
.fb-pastilla.activa{background:var(--texto);border-color:var(--texto);color:var(--fondo)}
.fb-pastilla.activa .fb-pastilla-btn{padding-right:2px}
.fb-pastilla.activa .fb-pastilla-btn b{background:var(--fondo);color:var(--texto)}
.fb-x{display:grid;place-items:center;width:32px;height:100%;color:inherit}
.fb-x svg{width:15px;height:15px}
.fb-limpiar{font-weight:700;font-size:.88rem;text-decoration:underline;text-underline-offset:3px;padding:0 6px;white-space:nowrap}
.fb-in .ord{margin-left:auto;flex:none}
.fb-in .ord select{height:42px;border-radius:var(--radio-btn)}
.fb-ventana{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:260px;display:flex;flex-direction:column;gap:10px;padding:16px;
  background:var(--fondo);color:var(--texto);border:1.5px solid var(--texto);border-radius:var(--radio);box-shadow:0 18px 40px -16px rgba(0,0,0,.5)}
.fb-ventana-mas{left:max(18px,env(safe-area-inset-left,0px));right:max(18px,env(safe-area-inset-right,0px));min-width:0;max-width:720px}
.fb-ventana h4,.fb-grupo h4{font-size:.76rem;font-weight:700;letter-spacing:.04em;color:var(--suave)}
.fb-chips{display:flex;flex-wrap:wrap;gap:6px}
.fb-chips button{min-height:36px;min-width:40px;padding:0 13px;border:1.5px solid var(--linea);border-radius:999px;font-weight:600;font-size:.86rem;background:var(--fondo);white-space:nowrap}
.fb-chips button:hover{border-color:var(--texto)}
.fb-chips button.on{background:var(--texto);border-color:var(--texto);color:var(--fondo)}
.fb-rango{display:flex;align-items:center;gap:8px}
.fb-rango span{color:var(--suave)}
.fb-rango input{flex:1;min-width:0;width:130px;height:40px;padding:0 10px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);background:var(--campo);color:var(--campo-txt)}
.fb-rango input:focus{outline:none;border-color:var(--acento)}
.fb-pie{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--linea)}
.fb-pie button{font-weight:700;font-size:.9rem}
.fb-aplicar{background:var(--marca);color:var(--marca-txt);border-radius:var(--radio-btn);padding:9px 16px}
.fb-btn-filtros{display:none;align-items:center;gap:8px;height:42px;padding:0 14px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);font-weight:700;font-size:.9rem;background:var(--fondo);flex:none}
.fb-btn-filtros svg{width:18px;height:18px}
.fb-hoja{position:fixed;inset:0;z-index:250;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}
.fb-hoja-in{background:var(--fondo);color:var(--texto);width:100%;max-width:560px;max-height:86vh;display:flex;flex-direction:column;border-radius:16px 16px 0 0}
.fb-hoja-cab{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--linea)}
.fb-hoja-cab b{font-size:1.1rem}
.fb-hoja-cab .fb-x{width:40px;height:40px}
.fb-hoja-cuerpo{overflow-y:auto;padding:6px 18px 12px}
.fb-grupo{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid var(--linea)}
.fb-grupo:last-child{border-bottom:0}
.fb-hoja-pie{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--linea)}
.fb-hoja-pie>button:first-child{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.fb-hoja-pie .btn-marca{flex:1;max-width:300px}
.v-confianza{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:.9rem;font-weight:600}
.v-confianza span{display:inline-flex;align-items:center;gap:7px}
.v-confianza svg{width:18px;height:18px;color:var(--acento);flex-shrink:0}

/* ---------- resultados ---------- */
.res{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding:18px 0 16px}
.res h2{font-family:var(--fuente);font-size:1rem;font-weight:700;letter-spacing:0;flex:none}
.ord{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--suave)}
.ord select{border:1.5px solid var(--linea);border-radius:var(--radio-btn);padding:8px 10px;background:var(--campo);color:var(--campo-txt)}
.v-zonas{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1}
.v-zonas::-webkit-scrollbar{display:none}
.v-zonas:empty{display:none}
.v-zonas button{border:1.5px solid var(--linea);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.84rem;background:var(--fondo);white-space:nowrap;flex:none}
.v-zonas button b{margin-left:6px;color:var(--acento)}
.v-zonas button.on{border-color:var(--texto);background:var(--papel)}
.vermas{display:flex;justify-content:center;padding:30px 0 0}
.vermas button{border:1.5px solid var(--linea);border-radius:var(--radio-btn);padding:13px 28px;font-weight:700}
.vermas button:hover{border-color:var(--texto)}
.vacio{border:2px dashed var(--linea);border-radius:var(--radio);padding:44px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.vacio h3{font-size:1.4rem}
.vacio p{color:var(--suave);max-width:46ch}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

/* piezas que comparten las tarjetas */
.ph{position:relative;background:var(--papel);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.sin-foto{width:100%;height:100%;display:grid;place-items:center;color:var(--suave);font-weight:600;font-size:.9rem}
.f-op,.f-dest,.f-nf,.f-cod{position:absolute;z-index:3;font-size:.72rem;font-weight:700;padding:5px 10px}
.f-op{top:12px;left:12px;background:var(--texto);color:var(--fondo);text-transform:uppercase;letter-spacing:.05em;border-radius:999px}
.f-dest{top:12px;right:12px;background:var(--marca);color:var(--marca-txt);border-radius:999px}
.f-nf,.f-cod{bottom:12px;background:rgba(0,0,0,.68);color:#fff;font-weight:600;padding:4px 8px;border-radius:6px}
.f-nf{right:12px}.f-cod{left:12px}
.cb{display:flex;flex-direction:column;gap:6px;min-width:0}
.cb .pr{font-size:1.35rem;font-variant-numeric:tabular-nums}
.pr small{font-family:var(--fuente);font-size:.78rem;font-weight:600;color:var(--suave);margin-left:3px;letter-spacing:0}
.cb h3{font-family:var(--fuente);font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.loc{display:flex;gap:6px;align-items:flex-start;font-size:.9rem;color:var(--suave)}
.loc svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.sp{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:auto;padding-top:12px;border-top:1px solid var(--linea)}
.sp div{display:flex;flex-direction:column;min-width:0}
.sp b{font-size:1.02rem;font-variant-numeric:tabular-nums}
.sp span{font-size:.72rem;font-weight:600;color:var(--suave)}

/* ---------- captación, vendidos, aliados ---------- */
.v-capta{margin-top:clamp(40px,6vw,70px);background:var(--panel);color:var(--panel-txt);border-radius:calc(var(--radio) + 6px);padding:clamp(24px,4vw,44px);
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.v-capta h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:8px 0 10px}
.v-capta p{color:var(--panel-suave);max-width:54ch;line-height:1.6}
.v-capta .et{color:var(--panel-txt);opacity:.85}
.modo-oscuro .v-capta{background:var(--papel);color:var(--texto);border:1px solid var(--linea)}
.modo-oscuro .v-capta p{color:var(--suave)}
.modo-oscuro .v-capta .et{color:var(--acento);opacity:1}
.btn-marca{display:inline-block;text-align:center;background:var(--marca);color:var(--marca-txt);border-radius:var(--radio-btn);font-weight:700;font-size:.95rem;padding:14px 22px}
.btn-linea{display:inline-block;text-align:center;border:1.5px solid var(--linea);border-radius:var(--radio-btn);font-weight:600;font-size:.9rem;padding:11px 18px;color:var(--texto)}
.btn-linea:hover{border-color:var(--texto)}
.bloque{padding-top:clamp(44px,6vw,70px)}
.bloque h2{font-size:clamp(1.5rem,3vw,2rem);margin:6px 0 4px}
.bloque .sub{color:var(--suave);margin-bottom:22px}
.vend{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.vend img{width:100%;height:160px;object-fit:cover;border-radius:var(--radio)}
.sello{display:inline-block;background:#1F7A4D;color:#fff;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;font-weight:700;margin:12px 0 6px}
.vend .n{font-weight:700}
.vend .d{font-size:.86rem;color:var(--suave);margin-top:2px;line-height:1.5}
.aliados{display:flex;align-items:center;gap:clamp(20px,3.4vw,52px);flex-wrap:wrap;padding:clamp(36px,5vh,56px) 0 0}
.aliados .et{color:var(--suave)}
.aliados img{height:44px;width:auto;filter:grayscale(1);opacity:.75}
.aliados img:hover{filter:none;opacity:1}

/* ---------- pie y WhatsApp flotante ---------- */
.pie{background:var(--papel);color:var(--suave);border-top:1px solid var(--linea);margin-top:clamp(44px,6vw,80px);padding:clamp(34px,5vh,56px) 0 calc(28px + env(safe-area-inset-bottom,0px))}
.pie-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.pie h4{color:var(--texto);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.pie p,.pie a{font-size:.92rem;line-height:2;display:block}
.pie a:hover{color:var(--texto)}
.pie .legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--linea);font-size:.78rem}
.v-fab{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;
  width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.55)}
.v-fab svg{width:28px;height:28px}

/* ==========================================================================
   FICHA DEL INMUEBLE — la misma en las 4, con la piel de cada plantilla
   ========================================================================== */
.v-volver{display:inline-flex;gap:6px;align-items:center;font-weight:700;padding:18px 0}
.v-gal{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:var(--radio);overflow:hidden;aspect-ratio:21/9;max-width:100%;background:var(--papel)}
.v-gal>*{min-height:0;min-width:0}
.v-gal img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.v-gal .g0{grid-row:1/3}
.v-gal .g2{position:relative;overflow:hidden}
.v-gal .g2 img{position:absolute;inset:0}
.v-gal .g2 button{position:absolute;right:12px;bottom:12px;background:var(--fondo);color:var(--texto);font-weight:700;font-size:.86rem;padding:9px 14px;border-radius:var(--radio-btn);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.v-gal-una{grid-template-columns:1fr;grid-template-rows:1fr}
.v-gal-vacia{grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;color:var(--suave);font-weight:600}
.v-det{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(24px,4vw,48px);align-items:start;margin-top:26px}
.v-det-main{min-width:0}
.v-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.v-chip{font-size:.78rem;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--papel);color:var(--texto)}
.v-chip.op{background:var(--texto);color:var(--fondo);text-transform:uppercase;letter-spacing:.05em}
.v-chip.cod{font-family:ui-monospace,Consolas,monospace;font-weight:600}
.v-chip.borr{background:#B5760F;color:#fff}
.v-det h1{font-size:clamp(1.8rem,3.6vw,2.7rem);margin-bottom:10px}
.v-det .loc{font-size:1rem}
.v-hechos{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin:22px 0 6px}
.v-hechos div{background:var(--papel);border-radius:var(--radio);padding:12px 14px}
.v-hechos span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.v-hechos b{font-family:var(--display);font-weight:var(--peso);font-size:1.35rem;font-variant-numeric:tabular-nums}
.v-sec{border-top:1px solid var(--linea);padding:24px 0}
.v-sec:first-of-type{margin-top:18px}
.v-sec h2{font-size:1.4rem;margin-bottom:14px}
.desc{font-size:1rem;line-height:1.75;max-width:68ch;white-space:pre-line}
.v-enlaces{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.atributos{display:flex;flex-wrap:wrap;gap:8px}
.atributos span{font-size:.88rem;border:1.5px solid var(--linea);border-radius:999px;font-weight:600;padding:7px 13px}
.tec .r{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--linea);font-size:.92rem}
.tec .r:first-child{border-top:1px solid var(--linea)}
.tec .r span{color:var(--suave)}
.tec .r b{font-weight:600;text-align:right}
#mapa{height:clamp(280px,44vh,400px);background:var(--papel);border-radius:var(--radio);margin-bottom:12px}
.v-zona{display:flex;gap:12px;align-items:center;background:var(--papel);border-radius:var(--radio);padding:16px}
.v-zona svg{width:34px;height:34px;color:var(--acento);flex-shrink:0}
.v-zona b{display:block}
.v-zona span{font-size:.9rem;color:var(--suave)}
.caja{position:sticky;top:90px;border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:12px;
  box-shadow:0 18px 40px -30px rgba(0,0,0,.55);background:var(--fondo)}
.caja .et{color:var(--suave)}
.caja .pr{font-size:clamp(1.9rem,3vw,2.4rem);font-variant-numeric:tabular-nums}
.v-filas{display:grid;gap:7px;font-size:.94rem;padding-bottom:14px;border-bottom:1px solid var(--linea)}
.v-filas div{display:flex;justify-content:space-between;gap:12px}
.v-filas span{color:var(--suave)}
.v-filas b{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
.v-btn-wa{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--wa);color:#fff;border-radius:var(--radio-btn);padding:14px 18px;font-weight:700}
.v-btn-wa svg{width:20px;height:20px}
.caja .btn-marca{display:block;width:100%}
.ase{display:flex;align-items:center;gap:12px;border-top:1px solid var(--linea);padding-top:14px}
.ase b{display:block;font-weight:700}
.ase span{font-size:.82rem;color:var(--suave)}
.v-compartir{display:flex;gap:8px}
.v-compartir .btn-linea{flex:1;padding:10px;font-size:.88rem}
.caja .aviso{font-size:.82rem;color:var(--suave);word-break:break-all}
.v-barra-movil{display:none}

/* ---------- formulario de contacto y visor de fotos ---------- */
.overlay{display:none;position:fixed;inset:0;background:rgba(10,10,10,.74);z-index:200;align-items:center;justify-content:center;padding:20px}
.overlay.on{display:flex}
.modal{background:var(--fondo);color:var(--texto);width:100%;max-width:460px;max-height:88vh;overflow-y:auto;padding:clamp(24px,3vw,36px);position:relative;border-radius:var(--radio)}
.modal h3{font-family:var(--display);font-weight:var(--peso);letter-spacing:var(--esp);font-size:1.7rem;margin-bottom:6px}
.modal .sub{font-size:.88rem;color:var(--suave);margin-bottom:20px}
.modal .cerrar{position:absolute;top:12px;right:14px;font-size:1.6rem;color:var(--suave);line-height:1;width:40px;height:40px}
.campo{margin-bottom:12px}
.campo label{display:block;font-size:.74rem;letter-spacing:.04em;font-weight:700;color:var(--suave);margin-bottom:6px}
.campo input,.campo textarea{width:100%;padding:12px 13px;border:1.5px solid var(--linea);background:var(--campo);color:var(--campo-txt);font-size:.95rem;border-radius:var(--radio-btn)}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--acento)}
.campo textarea{resize:vertical;min-height:90px}
.modal .btn-marca{width:100%;margin-top:6px;padding:15px}
.msg{margin-top:12px;font-size:.88rem}
.msg.ok{color:#1F7A4D}
.msg.error{color:#C0503F}
.modo-oscuro .msg.ok{color:#5BD08F}
.modo-oscuro .msg.error{color:#FF8A75}
.lightbox{display:none;position:fixed;inset:0;background:rgba(10,10,10,.95);z-index:300;align-items:center;justify-content:center}
.lightbox.on{display:flex}
.lightbox img{max-width:88%;max-height:84vh;object-fit:contain}
.lightbox .cerrar{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(18px + env(safe-area-inset-right,0px));color:#fff;font-size:2rem;line-height:1;width:48px;height:48px}
.lightbox .flecha{position:absolute;top:50%;transform:translateY(-50%);color:#141414;background:#fff;font-size:1.8rem;width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center}
.lightbox .izq{left:calc(18px + env(safe-area-inset-left,0px))}
.lightbox .der{right:calc(18px + env(safe-area-inset-right,0px))}
.lightbox .pos{position:absolute;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.1em}

/* ==========================================================================
   PIEL 1 — INSIGNIA: editorial, esquinas rectas, listado a una columna
   ========================================================================== */
.t1 .et{letter-spacing:.24em}
.t1 .cab{background:var(--panel);color:var(--panel-txt);border-bottom-color:var(--panel-linea)}
.t1 .cab .logo span{color:var(--panel-suave)}
.t1 .cab-links>a:not(.wa):hover{background:rgba(255,255,255,.08)}
.t1 .cab .v-modo{color:var(--panel-txt);border-color:var(--panel-linea)}
.t1 .cab .v-modo:hover{border-color:var(--panel-txt)}
.t1 .hero{position:relative;overflow:hidden;background:var(--panel);color:var(--panel-txt)}
.t1 .hero .fondo{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);opacity:.4}
.t1 .hero .fondo img{width:100%;height:100%;object-fit:cover}
.t1 .hero .velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,15,11,.6),rgba(16,15,11,.94))}
.t1 .hero .in{position:relative;z-index:3;padding-top:clamp(30px,4.5vw,54px);padding-bottom:clamp(28px,4vw,48px);text-align:center}
.t1 .hero .et{color:var(--marca)}
.t1.modo-claro .hero .et{color:#C9A46A}
.t1 .hero h1{font-size:clamp(2rem,4vw,3.2rem);margin:10px auto 8px;max-width:22ch}
.t1 .hero .sub{color:var(--panel-suave);font-size:1rem}
.t1 .res{border-bottom:1px solid var(--linea)}
.t1 .fb-pastilla,.t1 .fb-caja,.t1 .fb-chips button,.t1 .fb-in .ord select,.t1 .fb-btn-filtros{border-radius:0}
.t1 .listado{display:flex;flex-direction:column}
.t1 .item{display:grid;grid-template-columns:.44fr .56fr;gap:clamp(20px,3vw,44px);align-items:center;padding:26px 0;border-bottom:1px solid var(--linea)}
.t1 .item .ph{aspect-ratio:4/3;max-width:100%}
.t1 .item:hover .ph img{transform:scale(1.04)}
.t1 .item .f-op{border-radius:0;background:var(--marca);color:var(--marca-txt)}
.t1 .item .f-dest{border-radius:0}
.t1 .item .cb{gap:8px}
.t1 .item .pr{font-size:clamp(1.5rem,2.4vw,1.9rem)}
.t1 .item h3{font-family:var(--display);font-weight:var(--peso);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.2;min-height:0}
.t1 .item .sp{max-width:440px;margin-top:10px}
.t1 .item .sp b{font-family:var(--display);font-size:1.25rem;font-weight:600}
.t1 .item .ver{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--acento);margin-top:8px}
.t1 .v-capta{border-radius:0}
.t1 .pie{background:var(--panel);color:var(--panel-suave);border-top:0}
.t1 .pie h4{color:var(--panel-txt)}
.t1 .pie a:hover{color:var(--panel-txt)}
.t1 .pie .legal{border-top-color:var(--panel-linea)}
.t1 .v-chip,.t1 .v-zonas button,.t1 .atributos span{border-radius:0}

/* ==========================================================================
   PIEL 2 — GALERÍA: limpia, filtros fijos a un lado y grilla
   ========================================================================== */
.t2 .cab{background:color-mix(in srgb,var(--fondo) 94%,transparent);backdrop-filter:blur(8px)}
.t2 .intro{background:var(--papel);border-bottom:1px solid var(--linea)}
.t2 .intro .cont{padding-top:clamp(22px,3vw,34px);padding-bottom:clamp(18px,2.6vw,28px)}
.t2 .intro h1{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-top:6px}
.t2 .intro .sub{color:var(--suave);margin-top:8px}
.t2 .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.t2 .intro+.fb-marca+.fb{border-top:0}
.t2 .card,.t4 .card{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;background:var(--fondo);transition:transform .18s,box-shadow .18s}
.t2 .card:hover,.t4 .card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -22px rgba(0,0,0,.5)}
.t2 .card .ph,.t4 .card .ph{aspect-ratio:16/11;max-width:100%}
.t2 .card .cb,.t4 .card .cb{padding:16px 16px 18px;flex:1}
.t2 .card .f-op{background:var(--fondo);color:var(--texto);border:1px solid var(--linea)}

/* ==========================================================================
   PIEL 3 — NOCTURNA: la foto manda, el texto va encima
   ========================================================================== */
.t3 .arriba{position:relative}
.t3 .arriba .cab{position:absolute;left:0;right:0;top:0;background:transparent;border-bottom:0;color:#F5F3F0}
.t3 .arriba .cab .logo span{color:rgba(245,243,240,.8)}
.t3 .arriba .cab .v-modo{color:#F5F3F0;border-color:rgba(245,243,240,.4)}
.t3 .arriba .cab-links>a:not(.wa):hover{background:rgba(255,255,255,.12)}
.t3 .hero{position:relative;min-height:min(46vh,420px);display:flex;align-items:flex-end;overflow:hidden;background:#0A0A0C;color:#F5F3F0}
.t3 .hero .fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.t3 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.75),rgba(10,10,12,.35) 45%,rgba(10,10,12,.92))}
.t3 .hero .in{position:relative;z-index:5;text-align:center;padding-top:110px;padding-bottom:40px}
.t3 .hero .et{color:#C9A46A}
.t3 .hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:18ch;margin:10px auto 8px}
.t3 .hero .sub{color:rgba(245,243,240,.88)}
.t3 .fb{top:0}
.t3.ficha .fb{top:70px}
.t3 .grid{gap:14px}
.t3 .card{position:relative;overflow:hidden;display:block;background:#16161A;min-height:380px;border-radius:var(--radio)}
.t3 .card>img,.t3 .card>.sin-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.t3 .card:hover>img{transform:scale(1.05)}
.t3 .card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,12,.3) 0%,rgba(10,10,12,0) 34%,rgba(10,10,12,.94) 100%)}
.t3 .card .f-op{background:#C9A46A;color:#101013;border-radius:2px}
.t3 .card .f-dest{border-radius:2px;top:46px}
.t3 .card .f-nf,.t3 .card .f-cod{top:12px;bottom:auto}
.t3 .card .f-cod{left:auto;right:12px}
.t3 .card .f-nf{display:none}
.t3 .card .bd{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:18px;color:#F5F3F0;display:flex;flex-direction:column;gap:6px}
.t3 .card .pr{font-size:1.55rem}
.t3 .card .pr small{color:rgba(245,243,240,.8)}
.t3 .card h3{font-family:var(--fuente);font-weight:500;font-size:1rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.t3 .card .loc{color:rgba(245,243,240,.85)}
.t3 .card .sp{border-top-color:rgba(245,243,240,.28)}
.t3 .card .sp span{color:rgba(245,243,240,.78)}
.t3 .v-chip,.t3 .v-zonas button,.t3 .atributos span{border-radius:2px}
.t3 .pie{background:var(--panel);color:var(--panel-suave);border-top:1px solid var(--panel-linea)}
.t3 .pie h4{color:var(--panel-txt)}
.t3 .pie .legal{border-top-color:var(--panel-linea)}
.t3.ficha .v-gal{aspect-ratio:2/1}

/* ==========================================================================
   PIEL 4 — VITRINA: buscador corto, foto destacada y WhatsApp a la mano
   ========================================================================== */
.t4 .v-hero{background:var(--papel);border-bottom:1px solid var(--linea)}
.v-hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,48px);align-items:center;padding-top:clamp(22px,3.4vw,38px);padding-bottom:clamp(22px,3.4vw,38px)}
.v-hero-txt{min-width:0}
.t4 .v-hero h1{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:8px 0 0}
.t4 .v-hero .sub{font-size:1.06rem;color:var(--suave);margin-top:14px;max-width:46ch}
.v-hero-foto{position:relative;display:block;border-radius:var(--radio);overflow:hidden;aspect-ratio:16/10;max-height:300px;width:100%;max-width:100%;background:var(--linea)}
.v-hero-foto img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.v-hero-foto:hover img{transform:scale(1.03)}
.v-hero-foto .tag{position:absolute;left:14px;bottom:14px;background:var(--fondo);color:var(--texto);padding:8px 12px;border-radius:10px;font-weight:600;font-size:.88rem;max-width:calc(100% - 28px)}

/* ==========================================================================
   CELULAR Y TABLETA
   ========================================================================== */
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vend{grid-template-columns:repeat(2,1fr)}
  .v-det{grid-template-columns:1fr}
  .caja{position:static}
  .t2 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1080px){
  .fb-pastillas{display:none}
  .fb-btn-filtros{display:inline-flex}
  .fb-caja{flex:1 1 auto}
}
@media (max-width:700px){
  .fb-in{gap:6px}
  .fb-caja{min-width:0;padding:0 10px}
  .fb-btn-filtros{padding:0 11px;font-size:0}
  .fb-btn-filtros b{font-size:.74rem}
  .fb-in .ord select{max-width:122px;padding:0 6px;font-size:.84rem}
}
@media (max-width:860px){
  .t2 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t3 .fb{top:0}
  .fb-in .ord span{display:none}
  .v-hero-in{grid-template-columns:1fr}
  .v-hero-foto{display:none}
  .cab-links>a:not(.wa){display:none}
  .cab-links .wa span{display:none}
  .cab-links .wa{padding:10px 12px}
  .ficha .v-barra-movil{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:75;background:var(--fondo);border-top:1px solid var(--linea);
    padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .ficha .v-barra-movil>*{flex:1;margin:0;text-align:center}
  .ficha .pie{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .t1 .item{grid-template-columns:1fr}
  .t3 .hero{min-height:0}
  .t3 .hero .in{padding-top:96px;padding-bottom:28px}
}
@media (max-width:700px){
  .grid,.t2 .grid,.vend,.pie-in{grid-template-columns:1fr}
  .v-gal{grid-template-columns:1fr;grid-template-rows:auto;aspect-ratio:auto}
  .t3.ficha .v-gal{aspect-ratio:auto}
  .v-gal .g0{grid-row:auto;aspect-ratio:4/3}
  .v-gal .g1{display:none}
  .v-gal .g2{position:static}
  .v-gal .g2 img{display:none}
  .v-gal .g2 button{bottom:12px}
  .lightbox .flecha{width:42px;height:42px;font-size:1.5rem}
  .lightbox .izq{left:8px}.lightbox .der{right:8px}
}
@media (prefers-reduced-motion:reduce){
  .ph img,.t3 .card>img,.v-hero-foto img,.t2 .card,.t4 .card{transition:none}
}

/* ==========================================================================
   24 oct 2026 — mapa bajo la cabecera, buscador con barrios (concepto Red MLS)
   ========================================================================== */
/* El mapa (Leaflet) trae capas con z-index alto: en su propia capa ya no tapa la cabecera pegada */
#mapa{position:relative;z-index:0;isolation:isolate}

/* Caja de ubicación: escribe y sugiere barrio, ciudad o código; elegido queda como pastilla */
.fb-in{position:relative}
.fb-ubic{position:relative;flex:0 1 300px;min-width:170px}
.fb-ubic .fb-caja{width:100%}
.fb-caja-elegida{background:var(--texto);color:var(--fondo);border-color:var(--texto);cursor:default;padding-right:0}
.fb-caja-elegida svg{color:inherit}
.fb-caja-elegida>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}
.fb-caja-elegida .fb-x{height:40px}
.fb-sug{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:260px;z-index:65;background:var(--fondo);color:var(--texto);border:1.5px solid var(--texto);
  border-radius:var(--radio);box-shadow:0 18px 40px -16px rgba(0,0,0,.5);padding:6px;display:flex;flex-direction:column}
.fb-sug button{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radio-btn);text-align:left;font-size:.92rem}
.fb-sug button:hover,.fb-sug button:focus-visible{background:var(--papel)}
.fb-sug b{flex:1;font-weight:600}
.fb-sug em{font-style:normal;font-size:.78rem;font-weight:700;color:var(--acento)}
.fb-sug-et{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);min-width:52px}

/* Ventanas: "puede marcar varios" y Más filtros en dos columnas */
.fb-ventana h4 small,.fb-grupo h4 small{font-weight:600;letter-spacing:0;text-transform:none;opacity:.8;margin-left:4px}
.fb-ventana-mas{max-height:calc(100vh - 170px);overflow-y:auto}
.fb-mas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.fb-g{display:flex;flex-direction:column;gap:8px;min-width:0}
.fb-g-ancho{grid-column:1/-1}
.fb-nota{font-size:.88rem;color:var(--suave)}
.fb-hoja .fb-mas-grid{grid-template-columns:1fr;gap:14px}
.t1 .fb-caja-elegida,.t1 .fb-sug,.t1 .fb-sug button{border-radius:0}

@media (max-width:1080px){.fb-ubic{flex:1 1 auto}}
@media (max-width:700px){
  .fb-ubic{min-width:0}
  /* ficha: sin la franja vacía bajo la foto (el botón "Ver las fotos" queda sobre la foto) */
  .v-gal .g2{position:absolute;inset:auto 0 0 auto;width:auto;height:auto;background:none;overflow:visible}
  .v-gal .g2 button{white-space:nowrap}
}

/* Departamento y ciudad como listas */
.fb-lugar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fb-sel select{width:100%;height:42px;padding:0 10px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);background:var(--campo);color:var(--campo-txt);font-size:.92rem}
.fb-sel select:focus{outline:none;border-color:var(--acento)}
@media (max-width:420px){.fb-lugar{grid-template-columns:1fr}}

/* Números de las tarjetas y la ficha más grandes y con cifras parejas
   (Cormorant trae cifras "antiguas" que se ven bajitas: se fuerzan las de altura completa) */
.sitio .pr,.sp b,.v-hechos b,.caja .pr,.v-filas b{font-variant-numeric:lining-nums tabular-nums}
.sp{gap:8px}
.sp b{font-size:1.25rem;line-height:1.2}
.sp span{font-size:.8rem}
.t1 .item .sp b{font-size:1.55rem}
.t3 .card .sp b{font-size:1.3rem}
@media (max-width:700px){
  .sp b{font-size:1.3rem}
  .t1 .item .sp b{font-size:1.45rem}
  .sp span{font-size:.82rem}
}

/* Botón de WhatsApp de la cabecera: redondo en todas las plantillas
   (en Insignia salía cuadrado porque sus esquinas son rectas) */
.cab-links .wa{border-radius:999px}
@media (max-width:860px){
  .cab-links .wa{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
}

/* ==========================================================================
   Buscador de la portada (estilo BD) — mismo contenido, distinto acomodo por plantilla
   ========================================================================== */
.hb{width:100%;text-align:left;display:flex;flex-direction:column;gap:12px}
.hb-tabs{display:flex;gap:8px}
.hb-tab{border:1.5px solid var(--linea);border-radius:var(--radio-btn);padding:11px 16px;font-weight:700;font-size:.95rem;background:var(--fondo);color:var(--texto)}
.hb-tab small{font-weight:600;opacity:.7;margin-left:6px;font-size:.8rem}
.hb-tab[aria-pressed="true"]{background:var(--marca);color:var(--marca-txt);border-color:var(--marca)}
.hb-campos{display:grid;gap:10px}
.hb-campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.hb-campo>span{font-size:.76rem;font-weight:700;color:var(--suave);letter-spacing:.02em}
.hb-campo select,.hb-campo input{height:46px;width:100%;padding:0 12px;border:1.5px solid var(--linea);border-radius:var(--radio-btn);background:var(--campo);color:var(--campo-txt);font-size:.95rem}
.hb-campo select:focus,.hb-campo input:focus{outline:none;border-color:var(--acento)}
.hb-campo select:disabled{opacity:.6}
.hb-acc{display:flex;gap:10px;flex-wrap:wrap}
.hb-ir{min-height:48px;padding:12px 24px}
.hb-limpiar{min-height:48px}
.hb-movil{display:none;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;font-size:1.05rem}
.hb-movil svg{width:20px;height:20px}

/* 1 · Insignia: una sola línea elegante sobre la banda oscura, pestañas como texto */
.hb-linea{max-width:1120px;margin:22px auto 0;padding:14px;background:rgba(255,255,255,.07);border:1px solid var(--panel-linea)}
.hb-linea .hb-tabs{justify-content:center;gap:26px}
.hb-linea .hb-tab{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--panel-suave);padding:4px 2px;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}
.hb-linea .hb-tab[aria-pressed="true"]{color:var(--panel-txt);border-bottom-color:#C9A46A;background:none}
.hb-linea .hb-campos{grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:end}
.hb-linea .hb-campo>span{color:var(--panel-suave);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.hb-linea .hb-campo select{border-radius:0}
.hb-linea .hb-ir{border-radius:0;height:46px;min-height:0;padding:0 22px}

/* 2 · Galería: tarjeta limpia bajo el título, pestañas segmentadas, botón a la derecha */
.hb-tarjeta{margin-top:18px;padding:16px;background:var(--fondo);border:1px solid var(--linea);border-radius:calc(var(--radio) + 6px);box-shadow:0 20px 40px -32px rgba(0,0,0,.5)}
.hb-tarjeta .hb-tabs{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;background:var(--papel);border-radius:calc(var(--radio-btn) + 4px)}
.hb-tarjeta .hb-tab{border:0;background:none;padding:9px 16px}
.hb-tarjeta .hb-tab[aria-pressed="true"]{background:var(--fondo);color:var(--texto);box-shadow:0 1px 4px rgba(0,0,0,.15)}
.hb-tarjeta .hb-campos{grid-template-columns:repeat(3,minmax(0,1fr))}
.hb-tarjeta .hb-acc{justify-content:flex-end}

/* 3 · Nocturna: como BD, tarjeta centrada sobre la foto con tres botones grandes */
.hb-centro{max-width:1040px;margin:24px auto 0;padding:18px;background:var(--fondo);color:var(--texto);border-radius:calc(var(--radio) + 14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.hb-centro .hb-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:14px;border-bottom:1px solid var(--linea)}
.hb-centro .hb-tab{padding:12px;font-size:1rem}
.hb-centro .hb-campos{grid-template-columns:repeat(3,minmax(0,1fr))}
.hb-centro .hb-acc{justify-content:center}
.hb-centro .hb-ir{min-width:240px}

/* 4 · Vitrina: a un lado de la foto, en forma de preguntas y botón de ancho completo */
.hb-lateral{margin-top:20px;padding:16px;background:var(--fondo);border:1px solid var(--linea);border-radius:var(--radio)}
.hb-lateral .hb-tabs{gap:6px}
.hb-lateral .hb-tab{border-radius:999px;padding:9px 16px}
.hb-lateral .hb-campos{grid-template-columns:repeat(2,minmax(0,1fr))}
.hb-lateral .hb-campo>span{font-size:.86rem;font-weight:700;color:var(--texto);letter-spacing:0}
.hb-lateral .hb-acc{flex-direction:column}
.hb-lateral .hb-ir{width:100%}
.hb-lateral .hb-limpiar{border:0;text-decoration:underline;text-underline-offset:3px;padding:4px}
.t4 .v-hero-in{align-items:start}
.t4 .v-hero-foto{max-height:none;aspect-ratio:4/5}

/* celular: un solo botón grande que abre la hoja de filtros */
@media (max-width:860px){
  .hb{padding:0;background:none;border:0;box-shadow:none;margin-top:16px}
  .hb .hb-tabs,.hb .hb-campos,.hb .hb-acc{display:none}
  .hb-movil{display:flex}
  .t4 .v-hero-foto{display:none}
}

/* Tira de abajo: lo elegido + Modificar búsqueda + orden */
.fb-tira .fb-in{gap:10px}
.fb-activos{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.fb-activos::-webkit-scrollbar{display:none}
.fb-chip{display:inline-flex;align-items:center;gap:2px;height:36px;padding:0 2px 0 12px;border-radius:999px;background:var(--texto);color:var(--fondo);font-weight:700;font-size:.86rem;white-space:nowrap;flex:none}
.fb-chip button{width:30px;height:30px;display:grid;place-items:center;color:inherit}
.fb-chip svg{width:14px;height:14px}
.t1 .fb-chip{border-radius:0}
.fb-nada{color:var(--suave);font-weight:600;font-size:.92rem;white-space:nowrap}
.fb-modificar{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:1.5px solid var(--texto);border-radius:var(--radio-btn);font-weight:700;font-size:.92rem;background:var(--fondo);color:var(--texto);flex:none}
.fb-modificar svg{width:18px;height:18px}
.fb-modificar b{background:var(--marca);color:var(--marca-txt);border-radius:10px;padding:1px 8px;font-size:.74rem}
.fb-mod-corto{display:none}
.fb-lugar{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:700px){
  .fb-tira .fb-activos{display:none}
  .fb-modificar{flex:1;justify-content:center}
  .fb-mod-txt{display:none}.fb-mod-corto{display:inline}
  .fb-lugar{grid-template-columns:1fr}
}
/* La hoja en computador sale centrada, no pegada abajo */
@media (min-width:861px){
  .fb-hoja{align-items:center}
  .fb-hoja-in{border-radius:16px;max-width:620px;max-height:88vh}
}
.fb-hoja .fb-lugar{grid-template-columns:1fr}
