*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000}
body{font-family:Arial,sans-serif}
.pantalla,.arbol-pantalla{position:relative;width:100vw;height:100vh;overflow:hidden;background:#000}
.home-picture{position:absolute;inset:0;width:100%;height:100%;display:block}
.home-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}
.arbol-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;user-select:none}

/* INDEX: las zonas táctiles de ÁRBOL y PERSONAS se posicionan desde app.js */
.zona-arbol,.zona-personas{
  position:absolute;
  display:block;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  z-index:100;
}
/* PÁGINA 2 */
/* PÁGINA 2 */
.arbol-page{background:#000}
.arbol-pantalla{display:flex;align-items:center;justify-content:center}
.enlace-inicio-arbol,.enlace-volver-inicio{
  position:absolute;z-index:200;display:block;background:transparent;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.enlace-inicio-arbol{top:.7%;right:1.8%;width:9%;height:7.5%}
.enlace-volver-inicio{top:8.5%;right:2.5%;width:15%;height:9%}

/* PÁGINA 3 */
.fichas-page{background:#0a0a0a;color:#f2e5c8;overflow:auto}
.fichas-header{position:sticky;top:0;z-index:20;height:66px;background:#050505;border-bottom:1px solid #b78a22;display:flex;align-items:center;justify-content:center;color:#e7b83f;font:700 25px Georgia,serif;letter-spacing:.5px}
.fichas-inicio{position:absolute;right:22px;top:11px;padding:9px 16px;border:1px solid #b78a22;border-radius:8px;color:#fff;text-decoration:none;font:18px Georgia,serif}
.fichas-contenido{padding:28px 4vw 50px}
.fichas-contenido h1{text-align:center;color:#e7b83f;font:700 34px Georgia,serif;margin:5px 0}
.subtitulo{text-align:center;color:#d8c9aa;margin:0 0 28px;font:18px Georgia,serif}
.fichas-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:18px;max-width:1500px;margin:auto}
.ficha{position:relative;background:#f4e5ca;color:#17120b;border:1px solid #b78a22;border-radius:10px;padding:20px 17px 16px;min-height:150px;box-shadow:0 3px 12px #0008}
.ficha h2{font:700 19px Georgia,serif;margin:3px 0 14px;padding-right:30px}
.ficha div:not(.numero){display:flex;gap:8px;border-top:1px solid #d3bd99;padding:6px 0;font:15px Georgia,serif}
.ficha span{font-weight:700;min-width:105px}
.numero{position:absolute;right:12px;top:10px;color:#a87512;font:bold 14px Georgia,serif}
@media(max-width:1100px){.fichas-grid{grid-template-columns:repeat(3,minmax(210px,1fr))}}
@media(max-width:760px){.fichas-grid{grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px}.fichas-header{font-size:18px}.ficha h2{font-size:16px}.ficha div:not(.numero){font-size:13px}.ficha span{min-width:80px}}
@media(max-width:480px){.fichas-grid{grid-template-columns:1fr}.fichas-inicio{right:8px;font-size:14px}.fichas-contenido h1{font-size:25px}}

/* MENÚ LATERAL COMPARTIDO — página 3 y futuras páginas */
.fichas-page{
  padding-left:170px;
}
.menu-lateral{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:170px;
  z-index:500;
  background:#050505;
  border-right:1px solid #b78a22;
  color:#f1e6ce;
  overflow:hidden;
  box-shadow:4px 0 18px rgba(0,0,0,.45);
}
.menu-escudo{
  height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.menu-escudo img{
  width:190px;
  height:150px;
  object-fit:cover;
  object-position:left top;
  /* La portada contiene el escudo en la esquina superior izquierda. */
  clip-path:inset(0 0 0 0);
}
.menu-titulo{
  text-align:center;
  font:24px/1.05 Georgia,serif;
  margin:-8px 10px 16px;
}
.menu-navegacion{
  padding:0 16px;
}
.menu-item{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:5px 12px;
  border-radius:6px;
  text-decoration:none;
  color:#f0e9dc;
  font:20px Georgia,serif;
}
.menu-item.activo{
  color:#e7b83f;
  background:#241900;
}
.menu-item.activo-menu{
  color:#e7b83f;
}
.menu-item.futuro{
  opacity:.95;
}
.menu-icono{
  width:28px;
  text-align:center;
  color:#d8a63a;
  font-size:24px;
  flex:0 0 28px;
}
.menu-frase{
  position:absolute;
  left:22px;
  right:22px;
  bottom:95px;
  padding-top:15px;
  border-top:1px solid #b78a22;
  text-align:center;
  color:#e7b83f;
  font:italic 16px/1.45 Georgia,serif;
}
.fichas-header.contenido-con-menu,
.fichas-contenido.contenido-con-menu{
  margin-left:0;
}
.fichas-header.contenido-con-menu{
  width:calc(100vw - 170px);
}
.fichas-contenido.contenido-con-menu{
  width:100%;
}
@media(max-width:760px){
  .fichas-page{padding-left:0}
  .menu-lateral{
    position:relative;
    width:100%;
    height:auto;
    max-height:none;
    border-right:0;
    border-bottom:1px solid #b78a22;
  }
  .menu-escudo{height:90px}
  .menu-escudo img{width:110px;height:90px}
  .menu-titulo{font-size:20px;margin:0 0 8px}
  .menu-navegacion{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
    padding:5px 10px 10px;
  }
  .menu-item{font-size:15px;min-height:40px;padding:4px 6px;gap:7px}
  .menu-icono{font-size:19px;width:22px;flex-basis:22px}
  .menu-frase{position:relative;left:auto;right:auto;bottom:auto;margin:0 18px;padding:10px 0 14px}
  .fichas-header.contenido-con-menu{width:100%}
}
 
.ficha-interactiva{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.ficha-interactiva:hover,.ficha-interactiva:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px #000a;outline:2px solid #b78a22;outline-offset:2px}
.modal-persona{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px}
.modal-persona.abierto{display:flex}.modal-fondo{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(2px)}
.modal-tarjeta{position:relative;z-index:1;width:min(720px,94vw);max-height:88vh;overflow:auto;background:#f4e5ca;color:#17120b;border:2px solid #b78a22;border-radius:14px;box-shadow:0 18px 60px #000c;padding:30px}
.modal-cerrar{position:absolute;right:12px;top:8px;width:42px;height:42px;border:1px solid #b78a22;border-radius:50%;background:#17120b;color:#e7b83f;font:30px/38px Georgia,serif;cursor:pointer}
.modal-cabecera{display:flex;align-items:center;gap:18px;padding:5px 48px 22px 0;border-bottom:1px solid #b78a22}
.modal-inicial{width:72px;height:72px;flex:0 0 72px;display:flex;align-items:center;justify-content:center;border:2px solid #b78a22;border-radius:50%;background:#17120b;color:#e7b83f;font:bold 22px Georgia,serif}
.modal-etiqueta{color:#9b6c12;font:bold 13px Arial,sans-serif;letter-spacing:1.5px}.modal-cabecera h2{margin:5px 0 0;color:#5c3d08;font:700 29px Georgia,serif}
.modal-datos{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:22px 0}.modal-datos div{display:flex;flex-direction:column;gap:4px;padding-bottom:9px;border-bottom:1px solid #d3bd99;font-family:Georgia,serif}.modal-datos span{color:#8a641e;font-size:14px;font-weight:bold}.modal-datos strong{font-size:17px}
.modal-seccion{border-top:1px solid #b78a22;padding-top:16px}.modal-seccion h3{margin:0 0 7px;color:#5c3d08;font:700 21px Georgia,serif}.modal-seccion p{margin:0;font:16px/1.5 Georgia,serif}
@media(max-width:600px){.modal-persona{padding:12px}.modal-tarjeta{padding:22px 18px}.modal-cabecera h2{font-size:23px}.modal-datos{grid-template-columns:1fr}}

.modal-francisco-completa{width:min(820px,94vw)}
.modal-francisco-completa .modal-cabecera{align-items:center}
.modal-foto{width:120px;height:145px;flex:0 0 120px;border:2px solid #b78a22;border-radius:10px;background:#17120b;display:flex;align-items:center;justify-content:center;overflow:hidden}
.modal-foto img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.modal-identidad{min-width:0}
.modal-subtitulo{margin-top:8px;color:#806024;font:italic 15px Georgia,serif}
.modal-bloque{border-top:1px solid #b78a22;padding-top:16px;margin-top:18px}
.modal-bloque h3{margin:0 0 12px;color:#5c3d08;font:700 21px Georgia,serif}
.hijos-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hijos-grid div{padding:9px 11px;background:#ead8b8;border:1px solid #d3bd99;border-radius:6px;font:15px Georgia,serif}
.pendiente{margin:0;color:#66533a;font:15px/1.5 Georgia,serif;font-style:italic}
@media(max-width:600px){
  .modal-francisco-completa{width:96vw}
  .modal-francisco-completa .modal-cabecera{align-items:flex-start}
  .modal-foto{width:92px;height:112px;flex-basis:92px}
  .modal-cabecera h2{font-size:21px}
  .hijos-grid{grid-template-columns:1fr}
}

.enlace-personas-menu{
  position:absolute;
  z-index:201;
  display:block;
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

@media (min-width:761px) and (max-width:1000px){
  .menu-lateral{width:170px}
  .fichas-page{padding-left:170px}
  .fichas-header.contenido-con-menu{width:calc(100vw - 170px)}
  .fichas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fichas-contenido{padding-left:18px;padding-right:18px}
  .menu-item{font-size:17px}
  .menu-icono{font-size:21px}
}

/* MENÚ LATERAL — modo iconos */
.menu-navegacion .menu-item{
  position:relative;
  justify-content:center;
  padding:6px 4px;
}
.menu-navegacion .menu-icono{
  width:44px;
  flex:0 0 44px;
  font-size:29px;
  line-height:1;
  text-align:center;
}
.menu-navegacion .menu-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.menu-navegacion .menu-item:hover::after,
.menu-navegacion .menu-item:focus-visible::after{
  content:attr(aria-label);
  position:absolute;
  left:58px;
  top:50%;
  transform:translateY(-50%);
  z-index:900;
  padding:6px 9px;
  border:1px solid #b78a22;
  border-radius:5px;
  background:#050505;
  color:#e7b83f;
  white-space:nowrap;
  font:14px Georgia,serif;
  pointer-events:none;
}
@media(max-width:760px){
  .menu-navegacion .menu-item{
    min-height:48px;
  }
  .menu-navegacion .menu-icono{
    width:42px;
    flex-basis:42px;
    font-size:26px;
  }
}

/* MENÚ LATERAL COMPACTO — página 2 y página 3 */
.menu-lateral{width:170px}
.fichas-page{padding-left:170px}
.fichas-header.contenido-con-menu{width:calc(100vw - 170px)}
.menu-escudo{height:125px}
.menu-escudo img{width:125px;height:105px}
.menu-titulo{font-size:18px;margin:-4px 6px 10px}
.menu-navegacion{padding:0 10px}
.menu-navegacion .menu-item{min-height:46px;padding:5px 3px}
.menu-navegacion .menu-icono{width:48px;flex-basis:48px;font-size:28px}
.menu-frase{left:12px;right:12px;bottom:55px;font-size:12px}
@media(max-width:760px){
  .menu-lateral{width:100%}
  .fichas-page{padding-left:0}
  .fichas-header.contenido-con-menu{width:100%}
}

/* ÁRBOL — mismo menú compacto que PERSONAS */
.arbol-page{background:#000;overflow:hidden}
.menu-lateral-arbol{width:170px}
.arbol-page .arbol-pantalla{
  position:absolute;
  left:170px;
  top:0;
  width:calc(100vw - 170px);
  height:100vh;
  overflow:hidden;
}
.arbol-page .arbol-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  pointer-events:none;
  user-select:none;
}
.arbol-page .enlace-inicio-arbol,
.arbol-page .enlace-volver-inicio{
  z-index:600;
}
@media(max-width:760px){
  .arbol-page .menu-lateral-arbol{
    position:relative;
    width:100%;
    height:auto;
    max-height:none;
  }
  .arbol-page .arbol-pantalla{
    position:relative;
    left:0;
    width:100vw;
    height:calc(100vh - 300px);
  }
}

/* PÁGINA 2 — enlaces de inicio independientes de la escala del árbol */
.arbol-page .enlace-inicio-arbol,
.arbol-page .enlace-volver-inicio{
  z-index:1200;
  pointer-events:auto;
}
.arbol-page .enlace-inicio-arbol{
  top:12px;
  right:14px;
  width:86px;
  height:48px;
}
.arbol-page .enlace-volver-inicio{
  top:66px;
  right:14px;
  width:150px;
  height:44px;
}

/* Móvil horizontal: el menú conserva todos sus iconos sin que la frase los tape. */
@media (orientation: landscape) and (max-height: 520px){
  .menu-lateral{
    width:170px;
    overflow:hidden;
  }
  .menu-lateral .menu-escudo{
    height:62px;
  }
  .menu-lateral .menu-escudo img{
    width:78px;
    height:58px;
  }
  .menu-lateral .menu-titulo{
    font-size:12px;
    margin:0 4px 3px;
  }
  .menu-lateral .menu-navegacion{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:0 7px;
  }
  .menu-lateral .menu-item{
    min-height:34px;
    height:34px;
    padding:2px;
  }
  .menu-lateral .menu-icono{
    width:38px;
    flex-basis:38px;
    font-size:22px;
  }
  .menu-lateral .menu-frase{
    position:absolute;
    left:8px;
    right:8px;
    bottom:5px;
    margin:0;
    padding:3px 0 0;
    font-size:9px;
    line-height:1.15;
  }
  .fichas-page{
    padding-left:170px;
  }
  .fichas-header.contenido-con-menu{
    width:calc(100vw - 170px);
  }
}

/* Móvil vertical: el menú de página 2 aparece arriba, como ya ocurre en página 3. */
@media (orientation: portrait) and (max-width: 760px){
  .arbol-page .menu-lateral-arbol{
    position:relative;
    width:100%;
    height:auto;
    max-height:none;
  }
  .arbol-page .arbol-pantalla{
    position:relative;
    left:0;
    width:100vw;
    height:calc(100vh - 300px);
  }
}

/* PÁGINA 2 — corrección definitiva de los enlaces INICIO */
body.arbol-page .enlace-inicio-arbol,
body.arbol-page .enlace-volver-inicio{
  position:fixed !important;
  z-index:9999 !important;
  pointer-events:auto !important;
}
body.arbol-page .enlace-inicio-arbol{
  top:12px !important;
  right:14px !important;
  width:110px !important;
  height:52px !important;
}
body.arbol-page .enlace-volver-inicio{
  top:70px !important;
  right:14px !important;
  width:170px !important;
  height:50px !important;
}

/* PÁGINA 2 — eliminar el borde/recorte negro que tapa los iconos izquierdos */
body.arbol-page .menu-lateral-arbol{
  box-sizing:border-box;
  overflow:visible;
}
body.arbol-page .menu-lateral-arbol .menu-navegacion{
  padding-left:2px;
  padding-right:2px;
}
body.arbol-page .menu-lateral-arbol .menu-item{
  width:100%;
  overflow:visible;
}
body.arbol-page .menu-lateral-arbol .menu-icono{
  position:relative;
  z-index:2;
}

/* PORTADA VERTICAL — zonas táctiles de los iconos inferiores */
@media (orientation: portrait){
  .pantalla .zona-arbol,
  .pantalla .zona-personas{
    z-index:99999 !important;
    pointer-events:auto !important;
    touch-action:manipulation;
  }
}

/* PÁGINA 2 — BOTÓN INICIO: zona táctil fija y prioritaria */
body.arbol-page #enlace-inicio-arbol{
  position:fixed !important;
  top:8px !important;
  right:10px !important;
  left:auto !important;
  width:145px !important;
  height:60px !important;
  display:block !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}

/* PÁGINA 2 — INICIO alineado exactamente con el botón de la imagen */
body.arbol-page #enlace-inicio-arbol{
  position:absolute !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  display:block !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}

/* ===== FIX DEFINITIVO PÁGINA 2: BOTÓN INICIO =====
   El botón visible está siempre en la esquina superior derecha del árbol.
   La zona táctil ocupa esa misma esquina y queda por encima de la imagen. */
body.arbol-page .arbol-pantalla #enlace-inicio-arbol{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  left:auto !important;
  bottom:auto !important;
  width:190px !important;
  height:78px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  background:transparent !important;
}

/* ===== PÁGINAS 4–9 · ESTRUCTURA EN CONSTRUCCIÓN ===== */
.seccion-page{
  margin:0;
  background:#000;
  color:#e7b83f;
  min-height:100vh;
  overflow:hidden;
}
.seccion-page .menu-lateral-seccion{
  width:170px;
  height:100vh;
  box-sizing:border-box;
}
.seccion-contenido{
  position:fixed;
  left:170px;
  top:0;
  width:calc(100vw - 170px);
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
}
.seccion-inicio{
  position:absolute;
  top:12px;
  right:18px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:105px;
  min-height:48px;
  padding:0 14px;
  box-sizing:border-box;
  border:1px solid #b78a22;
  border-radius:5px;
  color:#e7b83f;
  background:#080808;
  font:700 15px Georgia,serif;
  text-decoration:none;
  touch-action:manipulation;
}
.seccion-inicio:hover,.seccion-inicio:focus-visible{
  background:#181818;
  outline:none;
}
.seccion-mensaje{
  text-align:center;
  width:min(760px,90%);
}
.seccion-icono{
  font-size:64px;
  line-height:1;
  margin-bottom:18px;
}
.seccion-mensaje h1{
  margin:0 0 22px;
  font:700 clamp(28px,4vw,48px) Georgia,serif;
  letter-spacing:.03em;
}
.construccion{
  display:inline-block;
  padding:12px 22px;
  border:1px solid #b78a22;
  border-radius:5px;
  font:700 18px Georgia,serif;
  letter-spacing:.12em;
}
@media(max-width:760px){
  .seccion-page .menu-lateral-seccion{
    position:relative;
    width:100%;
    height:auto;
    min-height:290px;
  }
  .seccion-contenido{
    position:relative;
    left:0;
    width:100%;
    height:calc(100vh - 290px);
    min-height:360px;
  }
  .seccion-inicio{
    top:10px;
    right:10px;
  }
}
@media (orientation: landscape) and (max-height:520px){
  .seccion-page .menu-lateral-seccion{
    width:170px;
    height:100vh;
    min-height:0;
    overflow:hidden;
  }
  .seccion-contenido{
    left:170px;
    width:calc(100vw - 170px);
    height:100vh;
  }
  .seccion-page .menu-lateral-seccion .menu-escudo{
    height:62px;
  }
  .seccion-page .menu-lateral-seccion .menu-escudo img{
    width:78px;height:58px;
  }
  .seccion-page .menu-lateral-seccion .menu-titulo{
    font-size:12px;margin:0 4px 3px;
  }
  .seccion-page .menu-lateral-seccion .menu-navegacion{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:0 7px;
  }
  .seccion-page .menu-lateral-seccion .menu-item{
    min-height:34px;height:34px;padding:2px;
  }
  .seccion-page .menu-lateral-seccion .menu-icono{
    width:38px;flex-basis:38px;font-size:22px;
  }
  .seccion-page .menu-lateral-seccion .menu-frase{
    left:8px;right:8px;bottom:5px;
    font-size:9px;line-height:1.15;
  }
}

/* PORTADA — zonas táctiles para todas las secciones */
.pantalla [id^="zona-"]{
  position:absolute;
  z-index:99999 !important;
  display:block;
  pointer-events:auto !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* ===== PÁGINA 9 · BÚSQUEDA ===== */
.busqueda-contenido{
  overflow:auto;
  align-items:flex-start;
  padding:78px 42px 40px;
  box-sizing:border-box;
}
.busqueda-panel{
  width:min(900px,100%);
  margin:auto;
  color:#151515;
  background:#f4ead9;
  border:1px solid #b78a22;
  border-radius:8px;
  box-shadow:0 10px 35px rgba(0,0,0,.35);
  padding:34px;
  box-sizing:border-box;
}
.busqueda-cabecera{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  border-bottom:1px solid #b78a22;
  padding-bottom:20px;
  margin-bottom:25px;
}
.busqueda-cabecera .seccion-icono{
  color:#b78a22;
  font-size:50px;
  margin:0;
}
.busqueda-cabecera h1{
  margin:0;
  font:700 clamp(30px,4vw,44px) Georgia,serif;
  color:#151515;
}
.busqueda-cabecera p{
  margin:6px 0 0;
  font:16px Georgia,serif;
  color:#51483c;
}
.busqueda-form label{
  display:block;
  margin-bottom:9px;
  font:700 17px Georgia,serif;
}
.busqueda-fila{
  display:flex;
  gap:10px;
}
.busqueda-fila input{
  flex:1;
  min-width:0;
  height:52px;
  padding:0 16px;
  border:1px solid #9b7625;
  border-radius:5px;
  background:#fffdf8;
  color:#171717;
  font:16px Georgia,serif;
  box-sizing:border-box;
}
.busqueda-fila input:focus{
  outline:2px solid #c79a35;
  outline-offset:1px;
}
.busqueda-fila button{
  width:125px;
  border:1px solid #9b7625;
  border-radius:5px;
  background:#101b22;
  color:#e7b83f;
  font:700 15px Georgia,serif;
  cursor:pointer;
  touch-action:manipulation;
}
.busqueda-ayuda{
  margin-top:22px;
  padding:18px;
  border:1px solid #d5bd86;
  border-radius:6px;
  background:#fbf5e9;
  font-family:Georgia,serif;
}
.busqueda-tipos{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:12px;
}
.busqueda-tipos span{
  padding:8px 11px;
  border:1px solid #d5bd86;
  border-radius:20px;
  background:#fffdf8;
  font-size:14px;
}
.resultados-busqueda{
  margin-top:22px;
}
.resultados-titulo{
  margin:0 0 12px;
  font:700 20px Georgia,serif;
}
.resultado-item{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:10px;
  padding:14px;
  border:1px solid #d5bd86;
  border-radius:6px;
  background:#fffdf8;
}
.resultado-icono{
  width:42px;
  text-align:center;
  font-size:26px;
  flex:0 0 42px;
}
.resultado-info{
  flex:1;
  min-width:0;
}
.resultado-nombre{
  font:700 18px Georgia,serif;
  color:#151515;
}
.resultado-meta{
  margin-top:3px;
  font:14px Georgia,serif;
  color:#665b4e;
}
.resultado-enlace{
  color:#8a6515;
  font:700 14px Georgia,serif;
  text-decoration:none;
  white-space:nowrap;
}
.resultado-enlace:hover{text-decoration:underline}
.sin-resultados{
  padding:18px;
  text-align:center;
  border:1px dashed #b78a22;
  border-radius:6px;
  font:16px Georgia,serif;
}
@media(max-width:760px){
  .busqueda-contenido{
    padding:65px 15px 30px;
    min-height:calc(100vh - 290px);
  }
  .busqueda-panel{padding:22px 17px}
  .busqueda-cabecera{justify-content:flex-start}
  .busqueda-cabecera .seccion-icono{font-size:40px}
  .busqueda-fila{flex-direction:column}
  .busqueda-fila button{width:100%;height:48px}
  .resultado-item{align-items:flex-start}
  .resultado-enlace{display:block;margin-top:7px}
}

/* GALERÍA PÁGINA 5 */
.galeria-contenido{overflow:auto;align-items:flex-start;padding:70px 28px 35px;box-sizing:border-box}
.galeria-panel{width:min(1100px,100%);margin:auto;color:#151515;background:#f4ead9;border:1px solid #b78a22;border-radius:8px;box-shadow:0 10px 35px rgba(0,0,0,.35);padding:24px;box-sizing:border-box}
.galeria-cabecera{display:flex;align-items:center;justify-content:center;gap:16px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #b78a22}
.galeria-cabecera .seccion-icono{font-size:44px;margin:0}.galeria-cabecera h1{margin:0;font:700 clamp(28px,4vw,42px) Georgia,serif}.galeria-cabecera p{margin:5px 0 0;color:#5b5145;font:15px Georgia,serif}
.coleccion-bloque{margin-top:18px;padding:17px;border:1px solid #d2b97f;border-radius:7px;background:#fbf5e9}
.coleccion-titulo{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.coleccion-titulo h2{margin:0;font:700 22px Georgia,serif}.coleccion-titulo p{margin:5px 0 0;color:#665b4e;font:14px Georgia,serif}
.ver-coleccion{border:1px solid #9b7625;border-radius:5px;background:#101b22;color:#e7b83f;padding:10px 13px;font:700 12px Georgia,serif;cursor:pointer;touch-action:manipulation}
.foto-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.coleccion-bloque:nth-of-type(2) .foto-grid,.coleccion-bloque:nth-of-type(3) .foto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.foto-card{padding:0;border:1px solid #c6a965;background:#fffdf8;border-radius:5px;overflow:hidden;cursor:pointer;text-align:left;touch-action:manipulation}.foto-card img{display:block;width:100%;height:150px;object-fit:cover}.foto-card span{display:block;padding:9px 8px;min-height:38px;box-sizing:border-box;font:700 13px Georgia,serif;color:#2d2924}
.visor-fotografias{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:35px 70px;box-sizing:border-box}.visor-fotografias[hidden]{display:none}
.visor-contenido{width:min(1100px,94vw);height:min(92vh,850px);display:flex;align-items:center;justify-content:center;gap:18px}.visor-contenido img{max-width:75%;max-height:82vh;object-fit:contain;border:1px solid #b78a22}
.visor-info{width:270px;color:#f4ead9;font-family:Georgia,serif}.visor-info h2{margin:8px 0;font-size:23px;color:#e7b83f}.visor-info p{font-size:15px;line-height:1.45}.visor-info #visor-contador{font-size:13px;color:#d5bd86}
.visor-cerrar,.visor-prev,.visor-next{position:absolute;border:1px solid #b78a22;background:#080808;color:#e7b83f;cursor:pointer;z-index:3;touch-action:manipulation}.visor-cerrar{top:15px;right:18px;width:45px;height:45px;border-radius:50%;font-size:32px}.visor-prev,.visor-next{top:50%;transform:translateY(-50%);width:48px;height:70px;font-size:44px;border-radius:5px}.visor-prev{left:15px}.visor-next{right:15px}
@media(max-width:900px){.foto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visor-contenido{flex-direction:column;height:90vh;gap:8px}.visor-contenido img{max-width:90%;max-height:68vh}.visor-info{width:90%;text-align:center}}
@media(max-width:600px){.galeria-contenido{padding:58px 10px 25px}.galeria-panel{padding:15px}.coleccion-titulo{align-items:flex-start;flex-direction:column}.ver-coleccion{width:100%}.foto-grid,.coleccion-bloque:nth-of-type(2) .foto-grid,.coleccion-bloque:nth-of-type(3) .foto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foto-card img{height:115px}.foto-card span{font-size:11px}.visor-fotografias{padding:20px 8px}}
\n.historia-coleccion{margin:12px 0 15px;padding:12px 14px;border-left:3px solid #b78a22;background:#f7efdf;color:#40382f;font:14px/1.5 Georgia,serif}.historia-coleccion strong{display:block;margin-bottom:4px;color:#7b5b18;font-size:15px}.historia-coleccion p{margin:0}\n
.vicente-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.vicente-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.vicente-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.arbol-interactivo{position:relative;width:100%;line-height:0}
.arbol-interactivo .arbol-img{display:block;width:100%;height:auto}
.arbol-plus{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:transparent;border:0;cursor:pointer;z-index:1300;padding:0;pointer-events:auto!important;touch-action:manipulation}
.arbol-plus:focus-visible{outline:3px solid #d8aa42;outline-offset:3px}
.arbol-popup-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.arbol-popup{position:relative;width:min(920px,96vw);max-height:90vh;overflow:auto;background:#f6ead7;border:2px solid #b78a22;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.55);color:#231f1a;font-family:Georgia,serif;padding:24px}
.arbol-popup h2{margin:0 40px 4px 0;color:#6f5117;font-size:27px}
.arbol-popup .subtitulo{margin:0 0 18px;color:#5a5145}
.arbol-popup-close{position:absolute;right:14px;top:10px;border:0;background:none;color:#6f5117;font-size:32px;cursor:pointer}
.mini-tree{display:flex;flex-direction:column;align-items:center;gap:12px}
.mini-parents{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mini-node{background:#fffaf1;border:1px solid #c6a45b;border-radius:8px;padding:9px 13px;text-align:center;min-width:150px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.mini-node strong{display:block;color:#4d3a18}
.mini-node small{display:block;margin-top:3px;color:#746958}
.mini-arrow{color:#9a741e;font-size:22px;line-height:1}
.mini-children{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mini-note{margin-top:18px;padding-top:14px;border-top:1px solid #d4bd8b;color:#5c5245;font-size:14px;text-align:center}
@media(max-width:600px){.arbol-plus{width:34px;height:34px}.arbol-popup{padding:18px 14px}.arbol-popup h2{font-size:22px}.mini-node{min-width:125px;font-size:14px}}

/* PWA-SIMPLE-046 — página 2: conservar la posición original del árbol */
.arbol-page .arbol-interactivo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  line-height:0;
}
.arbol-page .arbol-interactivo .arbol-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Árboles individuales: mostrar las imágenes originales sin reconstruirlas */
.arbol-popup-imagen{display:block;width:100%;height:auto;max-height:calc(90vh - 110px);object-fit:contain;margin:0 auto;border-radius:4px}
.arbol-popup-imagen-wrap{display:flex;justify-content:center;align-items:center;min-height:120px}
.arbol-popup.imagen-popup{padding:16px;max-width:1100px;background:#f6ead7}
.arbol-popup.imagen-popup h2{margin:0 45px 12px 4px}
@media(max-width:600px){.arbol-popup.imagen-popup{padding:10px}.arbol-popup-imagen{max-height:calc(92vh - 80px)}}

.arbol-plus[data-persona="francisco"],.arbol-plus[data-persona="rosa"]{z-index:1500!important}


/* PWA-SIMPLE-052 — escudo de Francisco dentro de su ficha desplegable */
.modal-escudo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
}
.modal-escudo img {
  width: 110px;
  height: 110px;
  object-fit: contain;
}

/* PWA-SIMPLE-053 — ficha desplegable de Rosa Herrero Segura */
.modal-rosa-completa { max-height: 92vh; overflow-y: auto; }

/* PWA-SIMPLE-054 — ficha de Francisco Branchadell Herrero */
.modal-francisco-completa {
  max-height: 92vh;
  overflow-y: auto;
}

/* PWA-SIMPLE-055 — Rosa Herrero y Francisco Branchadell Herrero */
.modal-francisco-herrero-completa,
.modal-rosa-completa {
  max-height: 92vh;
  overflow-y: auto;
}
