/* =========================================================
   GALU — Ficha de propiedad, perfil de agente y lista de agentes
   (se suma a galu.css; colores en :root de galu.css)
   ========================================================= */
.galu-home{--suave:#5B6B70;--fondo:#F2F6F6;--tinte:#E6F5F4}
.galu-home .ic{width:20px;height:20px;flex:none;vertical-align:middle}
.ficha-pag{background:var(--paper);padding-bottom:64px}
.ficha-pag .wrap{padding-top:22px}
.galu-home .ficha-pag h1,.galu-home .agente-pag h1{color:var(--ink);font-size:clamp(25px,3vw,36px);line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
.galu-home .ficha-pag h2,.galu-home .agente-pag h2{font-family:var(--display);font-size:21px;font-weight:700;color:var(--ink);margin:0 0 16px;line-height:1.2}
.galu-home .ficha-pag h3,.galu-home .agente-pag h3{margin:0;line-height:1.25}
.galu-home .ficha-pag p,.galu-home .agente-pag p{margin:0}
.galu-home .ficha-pag b,.galu-home .agente-pag b{font-weight:700}

/* Botones propios (sin el estilo heredado del tema) */
.galu-home .fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:9px;border:1.5px solid transparent;background:var(--teal-deep);color:#fff;font:700 15px/1.2 var(--display);text-decoration:none;cursor:pointer;box-shadow:none;text-shadow:none;transition:background .15s,border-color .15s}
.galu-home .fx-btn:hover{background:var(--navy);color:#fff}
.galu-home .fx-btn .ic{width:19px;height:19px}
.galu-home .fx-btn.wa{background:#25D366;color:#073B22}
.galu-home .fx-btn.wa:hover{background:#1EBE5A;color:#052b19}
.galu-home .fx-btn.sec{background:#fff;color:var(--ink);border-color:var(--line)}
.galu-home .fx-btn.sec:hover{border-color:var(--teal-soft);background:var(--tinte)}
.galu-home .fx-btn.bloque{width:100%}
.galu-home .fx-btn.chico{min-height:40px;padding:8px 14px;font-size:14px}

/* Migas y avisos */
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;color:var(--suave);margin-bottom:16px}
.galu-home .migas a{color:var(--teal-deep);text-decoration:none;font-weight:600}
.galu-home .migas a:hover{text-decoration:underline}
.banda{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:10px;margin-bottom:18px;font-weight:600;background:var(--tinte);color:var(--navy)}
.banda.cerrada{background:var(--ink);color:#fff}
.galu-home .banda a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Cabecera de la ficha */
.ficha-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:18px}
.ficha-cab .izq{flex:1 1 520px;min-width:0;display:grid;gap:10px}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.et{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font:700 12.5px/1.4 var(--display);background:var(--tinte);color:var(--teal-deep)}
.et.op{background:var(--teal-deep);color:#fff}
.et.separado{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--teal-soft)}
.et.vendido,.et.alquilado{background:var(--ink);color:#fff}
.et.cod{background:#EDF1F2;color:var(--navy)}
.ubic{display:flex;align-items:center;gap:6px;color:var(--suave);font-size:15.5px}
.ubic .ic{color:var(--teal-deep)}
.precio-caja{text-align:right}
.precio-caja .precio{display:block;font:800 clamp(26px,3vw,34px)/1.1 var(--display);color:var(--ink);letter-spacing:-.01em}
.precio-caja small{display:block;color:var(--suave);font-size:13.5px;margin-top:4px}

/* Galería */
.galeria{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;height:clamp(300px,42vw,520px);border-radius:14px;overflow:hidden;margin-bottom:28px;background:#E3EAEB}
.galeria button{all:unset;cursor:zoom-in;position:relative;overflow:hidden;background:#DDE5E6}
.galeria button:focus-visible{outline:3px solid var(--teal);outline-offset:-3px}
.galeria img{width:100%;height:100%!important;object-fit:cover;transition:transform .4s}
.galeria button:hover img{transform:scale(1.03)}
.galeria .g0{grid-row:1/3}
.galeria.n1{grid-template-columns:1fr}
.galeria.n2{grid-template-columns:2fr 1fr}.galeria.n2 .g1{grid-row:1/3}
.galeria.n3{grid-template-columns:2fr 1fr}
.galeria.n4{grid-template-columns:2fr 1fr 1fr}.galeria.n4 .g3{grid-column:2/4}
.galu-home .g-todas{all:unset;position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:9px;background:rgba(255,255,255,.95);color:var(--ink);font:700 14px var(--display);cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.galu-home .g-todas:hover{background:#fff;color:var(--teal-deep)}
.g-contador{display:none}
.galeria-vacia{display:grid;place-items:center;height:260px;border-radius:14px;background:var(--fondo);color:var(--suave);margin-bottom:28px}

/* Cuerpo de la ficha */
.ficha{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.ficha-cuerpo>section{padding:28px 0;border-top:1px solid var(--line)}
.ficha-cuerpo>section:first-child{border-top:0;padding-top:0}
.datos-clave{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.datos-clave li{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--fondo)}
.datos-clave .ic{width:26px;height:26px;color:var(--teal-deep)}
.datos-clave b{display:block;font:800 17px/1.15 var(--display);color:var(--ink)}
.datos-clave small{display:block;font-size:12.5px;color:var(--suave);line-height:1.3}
.galu-home .texto-desc{font-size:16px;line-height:1.75;color:#33444A;white-space:pre-line}
.galu-home .texto-desc.corto{max-height:13.5em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.galu-home .leer-mas{all:unset;margin-top:10px;color:var(--teal-deep);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.car-grupos{display:grid;gap:20px}
.car-grupos h3{font:700 12px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--suave);margin-bottom:10px}
.car-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px}
.car-lista li{display:flex;align-items:center;gap:10px;font-size:15px;color:#33444A}
.car-lista .ic{width:18px;height:18px;color:var(--teal-deep)}
.detalles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0}
.detalles div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.detalles dt{color:var(--suave)}
.detalles dd{margin:0;font-weight:700;color:var(--ink);text-align:right}
.video-caja{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.video-caja iframe,.video-caja video{position:absolute;inset:0;width:100%;height:100%;border:0}
.videos-pub{display:grid;gap:14px}
.mapa-ficha{height:340px;border-radius:12px;overflow:hidden;background:#E8EEEF;z-index:0}
.nota-mapa{font-size:13px;color:var(--suave);margin-top:8px}

/* Columna lateral */
.ficha-lado{position:sticky;top:110px;display:grid;gap:16px}
.caja{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff;box-shadow:0 10px 30px -22px rgba(19,30,35,.45)}
.agente-mini{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.agente-mini img,.agente-mini .ini{width:68px;height:68px;border-radius:50%;object-fit:cover;flex:none;background:var(--teal-deep);color:#fff;display:grid;place-items:center;font:700 20px var(--display)}
.agente-mini b{display:block;font:700 17px/1.25 var(--display);color:var(--ink)}
.agente-mini small{display:block;color:var(--suave);font-size:13.5px}
.galu-home .agente-mini a{text-decoration:none;color:inherit}
.chip-cod{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--navy);color:#fff;font:700 12px var(--display);letter-spacing:.04em}
.chip-cod .ic{width:14px;height:14px;color:var(--teal-soft)}
.caja .acciones{display:grid;gap:10px}
.caja .fila-btn{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.caja .ref{font-size:12.5px;color:var(--suave);margin-top:12px;text-align:center}
.compartir h3{font:700 15px var(--display);color:var(--ink);margin-bottom:12px}
.redes-btn{display:flex;gap:8px;flex-wrap:wrap}
.galu-home .redes-btn a,.galu-home .redes-btn button{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff}
.galu-home .redes-btn a:hover,.galu-home .redes-btn button:hover{border-color:var(--teal-soft);background:var(--tinte);color:var(--teal-deep)}
.galu-home .redes-btn a:focus-visible,.galu-home .redes-btn button:focus-visible{outline:3px solid var(--teal)}
.redes-btn .ic{width:20px;height:20px}
.aviso-copiado{font-size:13px;color:var(--teal-deep);font-weight:600;margin-top:8px;min-height:1.2em}

/* Tarjetas de propiedades */
.similares{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.tarjetas-prop{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.tp{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.tp:hover{box-shadow:0 18px 36px -22px rgba(19,30,35,.5);transform:translateY(-2px)}
.tp-foto{position:relative;display:block;aspect-ratio:3/2;background:#E3EAEB;overflow:hidden}
.tp-foto img{width:100%;height:100%!important;object-fit:cover}
.tp-op,.tp-estado{position:absolute;top:12px;padding:4px 10px;border-radius:7px;font:700 12px var(--display)}
.tp-op{left:12px;background:rgba(19,30,35,.78);color:#fff}
.tp-estado{right:12px;background:#fff;color:var(--navy)}
.tp-estado.vendido,.tp-estado.alquilado{background:var(--teal-deep);color:#fff}
.tp-cuerpo{padding:16px 18px 18px;display:grid;gap:6px}
.galu-home .tp-precio{font:800 19px var(--display);color:var(--ink)}
.galu-home .tp h3{font:700 15.5px/1.3 var(--display);color:var(--ink)}
.galu-home .tp h3 a{text-decoration:none;color:inherit}
.galu-home .tp h3 a:hover{color:var(--teal-deep)}
.tp-lugar{display:flex;align-items:center;gap:5px;color:var(--suave);font-size:14px}
.tp-lugar .ic{width:15px;height:15px;color:var(--teal-deep)}
.tp-datos{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:#33444A}
.tp-datos span{display:inline-flex;align-items:center;gap:5px}
.tp-datos .ic{width:16px;height:16px;color:var(--teal-deep)}
.tp-cod{font-size:12.5px;color:var(--suave);border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.vacio-publico{text-align:center;padding:72px 16px;display:grid;justify-items:center;gap:14px}
.galu-home .vacio-publico p{color:var(--suave);max-width:46ch}

/* Visor de fotos a pantalla completa */
.visor{position:fixed;inset:0;z-index:200;background:rgba(10,16,19,.96);display:flex;flex-direction:column}
.visor[hidden]{display:none}
.visor-barra{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;color:#fff;font:600 14px var(--display)}
.galu-home .visor button{all:unset;box-sizing:border-box;cursor:pointer;color:#fff;display:grid;place-items:center;border-radius:50%}
.galu-home .visor .cerrar{width:44px;height:44px}
.galu-home .visor .cerrar:hover{background:rgba(255,255,255,.12)}
.visor-escena{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;touch-action:pan-y}
.visor-escena img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.galu-home .visor .ant,.galu-home .visor .sig{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;background:rgba(255,255,255,.12)}
.galu-home .visor .ant:hover,.galu-home .visor .sig:hover{background:rgba(255,255,255,.24)}
.galu-home .visor .ant{left:16px}.galu-home .visor .sig{right:16px}
.visor .ic{width:26px;height:26px}
.visor-minis{display:flex;gap:6px;overflow-x:auto;padding:10px 16px 16px;justify-content:center}
.galu-home .visor-minis button{width:64px;height:46px;border-radius:6px;overflow:hidden;opacity:.5;flex:none}
.galu-home .visor-minis button[aria-current="true"]{opacity:1;outline:2px solid var(--teal-soft)}
.visor-minis img{width:100%;height:100%!important;object-fit:cover}

/* Barra de contacto fija en el celular */
.contacto-movil{display:none}

/* ---------- Perfil del agente ---------- */
.agente-pag{background:var(--paper);padding-bottom:64px}
.agente-hero{margin:24px 0 8px;border-radius:18px;background:var(--navy);color:#D5E2E4;padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;position:relative;overflow:hidden}
.agente-hero::after{content:"";position:absolute;right:-90px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(0,170,162,.32),rgba(0,170,162,0) 70%);pointer-events:none}
.agente-hero .foto{width:clamp(120px,14vw,168px);aspect-ratio:1;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.9);background:var(--teal-deep);color:#fff;display:grid;place-items:center;font:800 40px var(--display)}
.galu-home .agente-hero h1{color:#fff}
.agente-hero .cargo{font-size:16px;margin-top:4px;color:#BFD0D4}
.agente-hero .metas{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.agente-hero .meta{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:13.5px;color:#fff}
.agente-hero .meta .ic{width:16px;height:16px;color:var(--teal-soft)}
.agente-hero .meta.cod{background:var(--teal-deep);border-color:var(--teal-deep);font-family:var(--display);font-weight:700;letter-spacing:.03em}
.agente-hero .meta.cod .ic{color:#fff}
.agente-hero .lado{display:grid;gap:10px;position:relative;z-index:1;min-width:230px}
.galu-home .agente-hero .fx-btn.sec{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff}
.galu-home .agente-hero .fx-btn.sec:hover{background:rgba(255,255,255,.16)}
.agente-hero .redes-btn{margin-top:4px;justify-content:center}
.galu-home .agente-hero .redes-btn a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.galu-home .agente-hero .redes-btn a:hover{background:rgba(255,255,255,.18);color:#fff}
.agente-info{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;margin:36px 0 12px;align-items:start}
.agente-info .bio{font-size:16px;line-height:1.75;color:#33444A;white-space:pre-line}
.ficha-datos{display:grid;gap:14px}
.ficha-datos div{display:flex;gap:12px;align-items:flex-start}
.ficha-datos .ic{color:var(--teal-deep);margin-top:2px}
.ficha-datos b{display:block;color:var(--ink);font-size:14px}
.ficha-datos span{color:#33444A;font-size:15px}
.especialidades{display:flex;flex-wrap:wrap;gap:8px}
.especialidades span{padding:6px 12px;border-radius:999px;background:var(--tinte);color:var(--teal-deep);font-weight:700;font-size:13px}
.pestanas-pub{display:flex;gap:8px;margin:36px 0 20px;flex-wrap:wrap}
.galu-home .pestanas-pub button{all:unset;cursor:pointer;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font:700 14px var(--display);color:var(--ink)}
.galu-home .pestanas-pub button[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.galu-home .pestanas-pub button:focus-visible{outline:3px solid var(--teal)}

/* Lista de agentes */
.agentes-cab{padding:40px 0 24px;display:grid;gap:8px}
.galu-home .agentes-cab p{color:var(--suave);font-size:17px;max-width:60ch}
.agentes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.ag{border:1px solid var(--line);border-radius:16px;padding:24px 20px;text-align:center;display:grid;justify-items:center;gap:8px;background:#fff;transition:box-shadow .2s}
.ag:hover{box-shadow:0 18px 36px -22px rgba(19,30,35,.5)}
.ag img,.ag .ini{width:112px;height:112px;border-radius:50%;object-fit:cover;background:var(--teal-deep);color:#fff;display:grid;place-items:center;font:800 30px var(--display);margin-bottom:6px}
.galu-home .ag h2{font-size:18px;margin:0}
.galu-home .ag h2 a{text-decoration:none;color:var(--ink)}
.ag .cargo{color:var(--suave);font-size:14px}
.ag .n{font-size:13.5px;color:#33444A}
.ag .botones{display:flex;gap:8px;margin-top:8px;width:100%}
.ag .botones .fx-btn{flex:1}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .ficha{grid-template-columns:minmax(0,1fr);gap:8px}
  .ficha-lado{position:static}
  .agente-hero{grid-template-columns:auto minmax(0,1fr)}
  .agente-hero .lado{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
  .agente-hero .redes-btn{grid-column:1/-1}
  .agente-info{grid-template-columns:minmax(0,1fr)}
}
/* ---------- Celular ---------- */
@media (max-width:767px){
  .ficha-pag{padding-bottom:96px}
  .ficha-pag .wrap{padding-top:14px}
  .ficha-cab{align-items:flex-start}
  .precio-caja{text-align:left}
  .galeria{display:flex;height:auto;aspect-ratio:4/3;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:12px;gap:0;margin-inline:calc(var(--gutter) * -1);border-radius:0;scrollbar-width:none}
  .galeria::-webkit-scrollbar{display:none}
  .galeria button{flex:0 0 100%;scroll-snap-align:start;height:100%}
  .galeria .g-mas{display:block}
  .galu-home .g-todas{display:none}
  .g-contador{display:block;position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:7px;background:rgba(19,30,35,.75);color:#fff;font:700 12.5px var(--display);pointer-events:none}
  .galeria-envoltura{position:relative;margin-bottom:22px}
  .galeria-envoltura .galeria{margin-bottom:0}
  .detalles{grid-template-columns:minmax(0,1fr)}
  .datos-clave{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .datos-clave li{padding:12px}
  .mapa-ficha{height:260px}
  .contacto-movil{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -10px 24px -16px rgba(19,30,35,.4)}
  .contacto-movil .fx-btn{min-height:46px}
  .ficha-pag~.site-footer .wrap,.con-contacto-movil .site-footer .wrap{padding-bottom:110px}
  .con-contacto-movil .wa-float{display:none!important}
  .agente-hero{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:16px;margin-top:16px}
  .agente-hero .metas{justify-content:center}
  .agente-hero .lado{grid-template-columns:minmax(0,1fr);width:100%}
  .tarjetas-prop{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:768px){.galeria .g-extra{display:none}}
@media (min-width:1025px){.site-footer .wrap{grid-template-columns:1.3fr 1fr 1fr 1fr}}
