@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin.woff2") format("woff2");font-style:normal;font-weight:500 600;font-display:swap}
*{box-sizing:border-box}
html{overflow-y:scroll;scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{--texto:#17201c;--muted:#52605a;--linea:#dbe5df;--verde:#1f7a4d;--cereza:#b83b5e;--teal:#217c83;--oliva:#687d2d;--app-header-height:calc(4.2rem + 1px);--registro-hero-fondo:radial-gradient(ellipse at 105% -20%,rgba(184,130,72,.045),transparent 38%),radial-gradient(ellipse at 90% 125%,rgba(224,192,139,.06),transparent 36%),linear-gradient(100deg,#fffdfa 0 68%,#fefbf6 88%,#fbf3e8 100%)}
body{font-family:"DM Sans",system-ui,sans-serif;margin:0;line-height:1.4;color:var(--texto);background:#fff}
body:has(.registro-page){display:flex;flex-direction:column;min-height:100dvh}
header{padding:0;border-bottom:1px solid var(--linea);background:#fff}
.apellido-inicial{font-weight:700}
main{padding:1rem}
main:has(.registro-page){flex:1;background:#f6f3f0}
footer{padding:1.15rem 15%;border-top:1px solid #ded7cc;background:#f0ebe2;color:var(--texto)}
nav{display:flex;gap:2rem;align-items:center;justify-content:space-between;padding:.725rem 2rem}
nav a{text-decoration:none;color:var(--texto)}
.nav-brand{display:flex;gap:.715rem;align-items:center;font-family:"Newsreader",Georgia,serif;font-size:1.7rem;font-weight:500;line-height:1}
.nav-brand>span{transform:translateY(.25rem)}
.nav-brand-suffix{color:#196f45}
.nav-logo{width:2.75rem;height:2.75rem;object-fit:contain}
.nav-toggle{display:none;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;flex-direction:column;gap:.26rem;border:1px solid var(--linea);border-radius:6px;background:#fff;color:var(--texto);font:inherit}
.nav-toggle span{display:block;width:1.25rem;height:2px;border-radius:999px;background:currentColor}
.nav-toggle:hover{border-color:var(--verde);color:var(--verde)}
.nav-links{display:flex;gap:clamp(1.3rem,2.2vw,2.4rem);align-items:center;flex-wrap:wrap}
.nav-links a{display:inline-flex;gap:.35rem;align-items:center;color:#33423b}
.nav-links a:hover,.nav-links a.nav-actual{color:var(--verde)}
.nav-actual{position:relative}.nav-actual::after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:2px;border-radius:999px;background:currentColor}
.nav-icon{position:relative;display:inline-block;width:1rem;height:1rem;flex:0 0 1rem}.nav-icon::before{content:"";position:absolute;inset:0;background:currentColor;mask:var(--nav-icon) center/contain no-repeat;-webkit-mask:var(--nav-icon) center/contain no-repeat}
.nav-icon--inicio{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M2 7.4 8 2l6 5.4-1.3 1.4-.7-.6V14H9.5v-4h-3v4H4V8.2l-.7.6z'/%3E%3C/svg%3E")}.nav-icon--buscar{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.8 2a4.8 4.8 0 1 0 0 9.6 4.8 4.8 0 0 0 0-9.6Zm0 2a2.8 2.8 0 1 1 0 5.6 2.8 2.8 0 0 1 0-5.6Zm3.5 6 4.1 4.1-1.4 1.4-4.1-4.1z'/%3E%3C/svg%3E")}.nav-icon--progreso{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M1.5 3.2 5.3 2l5.4 1.8 3.8-1.2v10.2L10.7 14 5.3 12.2 1.5 13.4zM6 3.8v6.9l4 1.3V5.1zM3.5 4.2v6.9l1-.3V3.9zM11.5 5.3v6.9l1-.3V5z'/%3E%3C/svg%3E")}.nav-icon--estadisticas{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M2 13h12v2H2zM3 7h2v5H3zm4-4h2v9H7zm4 2h2v7h-2z'/%3E%3C/svg%3E")}.nav-icon--colaborar{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6 8a3 3 0 1 1 0-6 3 3 0 0 1 0 6Zm6.5 0a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5ZM1 14c.3-3 2.2-4.5 5-4.5s4.7 1.5 5 4.5zm9.2-4.1c1.8.3 3.1 1.6 3.3 4.1H15c-.2-2.2-1.5-3.6-3.4-4.2-.4.1-.8.1-1.4.1Z'/%3E%3C/svg%3E")}.nav-icon--admin{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 1.5 13 3v4.1c0 3.4-2 5.9-5 7.4-3-1.5-5-4-5-7.4V3zm0 2.1L5 4.5v2.6c0 2.2 1.1 3.9 3 5.1 1.9-1.2 3-2.9 3-5.1V4.5z'/%3E%3C/svg%3E")}
.footer-inner{display:flex;gap:1.5rem;align-items:center;justify-content:space-between}.footer-brand{display:inline-flex;gap:.55rem;align-items:center;color:inherit;text-decoration:none}.footer-logo{width:1.8rem;height:1.8rem;object-fit:contain}.footer-brand strong{font-family:"Newsreader",Georgia,serif;font-size:1.15rem;font-weight:600;line-height:1}.footer-aside,.footer-links{display:flex;gap:1.15rem;align-items:center;white-space:nowrap}.footer-links a{color:var(--muted);font-size:.8rem;font-weight:600;text-decoration:none}.footer-links a:hover{color:var(--verde)}.footer-copyright{color:#77817c;font-size:.7rem}
.logo{height:42px}
table{width:100%;border-collapse:collapse}
td,th{border:1px solid #ddd;padding:.35rem;text-align:left}
button,a.button{cursor:pointer}
a.button{display:inline-block;border:1px solid #111;border-radius:6px;padding:.55rem .8rem;text-decoration:none;color:#111;background:#fff}
[x-cloak]{display:none!important}
.oculto{display:none}
.registro-icono{position:relative;display:inline-grid;place-items:center;width:var(--registro-icono-size,2.75rem);height:var(--registro-icono-size,2.75rem);flex:0 0 var(--registro-icono-size,2.75rem);border:var(--registro-icono-border,1px solid currentColor);border-radius:999px;background:var(--registro-icono-bg,transparent);color:var(--registro-icono-color,currentColor)}
.registro-icono::before{content:"";width:100%;height:100%;background:currentColor;mask:var(--registro-icono-mask) center/contain no-repeat;-webkit-mask:var(--registro-icono-mask) center/contain no-repeat}
.registro-icono--bautismos{--registro-icono-mask:url("img/registro/icono-bautismo.svg")}
.registro-icono--casados,.registro-icono--casadas,.registro-icono--matrimonios{--registro-icono-mask:url("img/registro/icono-matrimonio.svg")}
.registro-icono--defunciones{--registro-icono-mask:url("img/registro/icono-defuncion.svg")}
.mapa-page{min-height:calc(100vh - 2rem);margin:-1rem;padding:1rem;background:#f6f3f0;color:#101820;font-family:"DM Sans",system-ui,sans-serif;line-height:1.5}
.landing-page{margin:-1rem -1rem 0;background:#fff}

.landing-hero__content{position:relative;z-index:2;width:100%;padding:5rem 15% 6rem;color:#111}

.landing-hero h1{margin:0 0:1rem;font-size:3.35rem;line-height:1.02;letter-spacing:0}
.landing-hero p{max-width:34rem;font-size:1.15rem}
.landing-page a.button{border-radius:8px;padding:.7rem .95rem;text-transform:uppercase;font-weight:700;font-size:.9rem}
.landing-page a.button:hover{background:#111;color:#fff}
.button-hero{margin-top:1rem;border-color:#fff!important;background:#fff!important;color:#111!important}
.button-hero:hover{border-color:#111!important;background:#111!important;color:#fff!important}
.landing-divider{height:4em;background:var(--verde)}
.landing-sections{display:grid;gap:0;margin:0;padding:0 0 3rem}
.landing-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);gap:7em;align-items:center;min-height:22rem;padding:4rem 15%;border-bottom:1px solid var(--linea);scroll-margin-top:5rem}
.landing-info--reverse{grid-template-columns:minmax(16rem,.7fr) minmax(0,1fr)}
.landing-info--proyecto{background:#fff}
.landing-info--buscador{background:#eef8f7}
.landing-info--territorio{background:#fbfcfb}
.landing-info--colaborar{background:#fff1f4}
.landing-copy h2{margin:0 0:1rem;font-size:2.35rem;line-height:1.05;font-weight:700;letter-spacing:0}
.landing-copy p{max-width:44rem;margin:0 0:1.25rem;font-size:1.4em;line-height:1.7}
.landing-visual{margin:0;min-width:0}
.landing-visual--map{display:flex;align-items:center;justify-content:center;min-height:18rem}
.landing-region-svg{width:100%}
.landing-region-svg svg{display:block;width:100%;height:auto;max-height:22rem;filter:drop-shadow(0 14px 22px rgba(23,32,28,.14))}
.landing-visual--photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--linea);border-radius:30%}
.landing-visual--reino img{aspect-ratio:1/1;border:1px solid #000;border-radius:100%}
.landing-search-preview{width:100%;padding:1.5rem;border:1px solid var(--linea);border-radius:8px;background:#fff;box-shadow:0 18px 34px rgba(23,32,28,.12)}
.exportacion-localidad button{border:1px solid #cbd8d1;border-radius:6px;padding:.48rem .65rem;background:#fff;color:var(--texto);font:inherit;font-weight:700;cursor:pointer}
.detalle button{border:1px solid #cbd8d1;border-radius:6px;padding:.48rem .65rem;background:#fff;color:var(--texto);font:inherit;font-weight:700;cursor:pointer}
.exportacion-localidad button:hover,.detalle button:hover{border-color:var(--verde);color:var(--verde)}
.exportacion-localidad{display:grid;gap:.45rem;padding-top:.7rem;border-top:1px solid #edf1ee}
.exportacion-localidad span{font-size:.82rem;color:var(--muted)}
.registro-page{width:min(75rem,calc(100% - clamp(1.25rem,8vw,20rem)));margin:1.1rem auto}
.hero-tags{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.hero-tags>span,.hero-tags>a{display:inline-flex;gap:.55rem;align-items:center;min-height:2.35rem;border:1px solid #dfe5d7;border-radius:999px;padding:.36rem .75rem;background:rgba(255,255,255,.78);color:#101820;text-decoration:none;font-size:.9rem;font-weight:600;text-transform:none}.hero-tags>a:hover{border-color:var(--verde);color:var(--verde)}.hero-tags i{display:inline-block;width:1rem;height:1rem;flex:0 0 auto}.hero-tag-icon--locality,.hero-tag-icon--parish,.hero-tag-icon--date,.hero-tag-icon--category{width:1.3rem!important;height:1.3rem!important;margin-right:-.25rem;background:var(--verde);mask:var(--hero-tag-icon) center/contain no-repeat;-webkit-mask:var(--hero-tag-icon) center/contain no-repeat}.hero-tag-icon--locality{--hero-tag-icon:url("img/icons/lucide/map-pin.svg")}.hero-tag-icon--parish{--hero-tag-icon:url("img/icons/lucide/church.svg")}.hero-tag-icon--date{--hero-tag-icon:url("img/icons/lucide/calendar-days.svg")}.hero-tag-icon--category{width:1.45rem!important;height:1.45rem!important;--hero-tag-icon:url("img/icons/lucide/file-text.svg")}.hero-tag-icon--bautismos{--hero-tag-icon:url("img/registro/icono-bautismo-tab.svg?v=2")}.hero-tag-icon--matrimonios{--hero-tag-icon:url("img/registro/icono-matrimonio-tab.svg?v=2")}.hero-tag-icon--defunciones{--hero-tag-icon:url("img/registro/icono-defuncion-tab.svg?v=2")}.libro-header{grid-template-columns:minmax(0,1fr)}.detalle-eyebrow{margin:0;color:var(--verde);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.libro-histograma-panel{padding:1.25rem}.libro-histograma-scroll{overflow-x:auto}.libro-histograma{display:grid;grid-template-columns:repeat(var(--columnas),minmax(1.25rem,1fr));gap:2px;align-items:end;min-width:calc(var(--columnas) * 1.25rem);height:20rem}.libro-barra{display:grid;grid-template-rows:1fr 2.7rem;align-items:end;height:100%;text-align:center}.libro-barra i{display:block;min-height:1px;border-radius:3px 3px 0 0;background:var(--verde)}.libro-barra small{writing-mode:vertical-rl;margin:.3rem auto 0;color:var(--muted);font-size:.65rem}.libro-cobertura{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.4rem;margin:0}.libro-cobertura>div{border:1px solid #e3d9ca;border-radius:7px;padding:.5rem .6rem;background:#fff}.libro-cobertura dt{color:#1f6b45;font-size:.68rem;font-weight:700;text-transform:uppercase}.libro-cobertura dd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;margin:.28rem 0 0}.libro-cobertura dd span{height:.4rem;border-radius:999px;background:#edf1ee;overflow:hidden}.libro-cobertura dd i{display:block;height:100%;border-radius:inherit;background:var(--verde)}.libro-cobertura dd strong{min-width:2.25rem;font-size:.85rem;text-align:right}
.detalle{display:grid;gap:1.25rem;border:0;border-radius:0;padding:0;margin:0;background:transparent;color:#101820;font-family:"DM Sans",system-ui,sans-serif;line-height:1.5}
.detalle-header{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2.35rem;align-items:center;min-height:10.9rem;border:1px solid #e3d9ca;border-radius:8px;padding:1rem 1.5rem;overflow:hidden;background:var(--registro-hero-fondo);box-shadow:0 10px 22px rgba(65,49,31,.08)}
.detalle-header>*{position:relative;z-index:1}
.detalle-emblema{--registro-icono-size:9rem;--registro-icono-border:1px solid #d7d6c7;--registro-icono-bg:#f4f5ec;--registro-icono-color:#0b2a57;box-shadow:0 10px 18px rgba(65,49,31,.08)}
.detalle-hero-texto{display:grid;gap:.9rem;min-width:0}
.detalle-titulo{min-width:0;margin:0;color:#09131a;font-family:"Newsreader",Georgia,serif;font-size:2.75rem;font-weight:500;line-height:1.02;letter-spacing:-.025em;overflow-wrap:anywhere}
.detalle-hero-meta{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;color:#101820;font-size:1rem}
.detalle-fecha{display:inline-flex;gap:.45rem;align-items:center;font-size:1rem}
.detalle-fecha-icono{width:1rem;height:1rem;background:var(--verde);mask:url("img/icons/lucide/calendar-days.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/calendar-days.svg") center/contain no-repeat}
.detalle-header-acciones{display:flex;gap:.5rem;align-self:start;justify-self:end}
.detalle-cerrar,.detalle-admin-editar,.detalle-admin-guardar{display:inline-grid;width:2.15rem;height:2.15rem;place-items:center;flex:0 0 auto;border:1px solid #d8e5de!important;border-radius:999px!important;padding:0!important;background:rgba(255,255,255,.94)!important;color:#1f6b45!important;box-shadow:0 6px 14px rgba(32,46,39,.08);line-height:1}
.detalle-ver-sugerencias{position:absolute;right:0;bottom:0;z-index:2;display:inline-flex;gap:.45rem;align-items:center;justify-content:center;border:1px solid var(--verde);border-right:0;border-bottom:0;border-radius:999px 0 0 999px;padding:.48rem .65rem;background:var(--verde);color:#fff;text-decoration:none;font:inherit;font-size:.9rem;font-weight:600}
.detalle-ver-sugerencias:hover{background:#195f3e;color:#fff}
.detalle-cerrar-icono,.detalle-admin-editar-icono,.detalle-admin-guardar-icono,.detalle-ver-sugerencias-icono{display:block;width:1rem;height:1rem;background:currentColor;mask:var(--detalle-accion-icono) center/contain no-repeat;-webkit-mask:var(--detalle-accion-icono) center/contain no-repeat}
.detalle-ver-sugerencias-icono{--detalle-accion-icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5A4.9 4.9 0 0 0 18 8 6 6 0 0 0 6 8c0 1.4.5 2.6 1.5 3.5.8.8 1.3 1.5 1.5 2.5'/%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3C/svg%3E")}
.detalle-cerrar-icono{--detalle-accion-icono:url("img/icons/lucide/x.svg")}
.detalle-admin-editar-icono{--detalle-accion-icono:url("img/icons/lucide/pencil.svg")}
.detalle-admin-guardar{background:var(--verde)!important;color:#fff!important}.detalle-admin-guardar-icono{--detalle-accion-icono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.2 11.3 2.7 7.8l1.4-1.4 2.1 2.1 5.7-5.7 1.4 1.4z'/%3E%3C/svg%3E")}
.detalle-admin-guardar:hover{background:#195f3e!important;color:#fff!important}
.detalle-cerrar:hover,.detalle-cerrar:focus,.detalle-admin-editar:hover,.detalle-admin-editar:focus{border-color:var(--verde)!important;background:var(--verde)!important;color:#fff!important;outline:0}
.detalle-admin-estado{margin:-.35rem 0 .75rem;color:var(--verde);font-weight:700}
.detalle-edicion{display:grid;gap:.75rem}
.detalle-edicion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:.65rem}
.detalle-edicion-campo{display:grid;gap:.25rem;min-width:0;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase}
.detalle-edicion-campo input,.detalle-edicion-campo select,.detalle-edicion-campo textarea{width:100%;min-width:0;border:1px solid #cbd8d1;border-radius:6px;padding:.5rem;background:#fff;color:var(--texto);font:inherit;font-size:.95rem;font-weight:500;text-transform:none}
.detalle-edicion-campo textarea{min-height:6rem;resize:vertical}
.detalle-edicion-campo input:focus,.detalle-edicion-campo select:focus,.detalle-edicion-campo textarea:focus{border-color:var(--verde);outline:2px solid rgba(31,122,77,.14)}
.detalle-edicion-campo--observac,.detalle-edicion-campo--enlace{grid-column:1/-1}
.detalle-bloque{display:grid;gap:.45rem;min-width:0}
.detalle-bloque>h2{margin:0;color:#0f171c;font-family:"Newsreader",Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.15;letter-spacing:-.015em}
.section-subtitle{margin:.15rem 0 0;color:#52605a;font-size:.9rem}
.detalle-familia-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;border:1px solid #e3d9ca;border-radius:8px;padding:.6rem .75rem;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(65,49,31,.06)}
.detalle-familia-rama{--familia-linea:2px;--familia-gap:1.35rem;--familia-secundarios-gap:1.25rem;--familia-hijo-izq:calc(25% - var(--familia-secundarios-gap) / 4);--familia-hijo-der:calc(75% + var(--familia-secundarios-gap) / 4);display:grid;gap:var(--familia-gap);min-width:0}
.detalle-familia-rama+.detalle-familia-rama{border-left:1px solid #e7ded2;padding-left:1.25rem}
.detalle-familia-principal{position:relative;z-index:1;display:grid;min-width:0}
.detalle-familia-rama--arbol{gap:0}
.detalle-familia-rama--principal-centrado .detalle-familia-principal{width:calc((100% - var(--familia-secundarios-gap)) / 2);justify-self:center}
.detalle-familia-conector{position:relative;height:var(--familia-gap)}
.detalle-familia-conector::before{content:"";position:absolute;left:calc(var(--familia-hijo-izq) - var(--familia-linea) / 2);right:calc(100% - var(--familia-hijo-der) - var(--familia-linea) / 2);top:50%;height:var(--familia-linea);transform:translateY(-50%);background:var(--verde)}
.detalle-familia-conector::after,.detalle-familia-conector>i{content:"";position:absolute;width:var(--familia-linea);transform:translateX(-50%);background:var(--verde)}
.detalle-familia-conector::after{left:50%;top:0;height:calc(50% + var(--familia-linea) / 2)}
.detalle-familia-conector>i{top:calc(50% - var(--familia-linea) / 2);bottom:0}
.detalle-familia-conector>i:first-child{left:var(--familia-hijo-izq)}
.detalle-familia-conector>i:last-child{left:var(--familia-hijo-der)}
.detalle-familia-conector--uno::after{height:100%}
.detalle-familia-conector--uno>i,.detalle-familia-conector--uno::before{display:none}
.detalle-familia-secundarios{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;min-width:0}
.detalle-familia-secundarios--uno{grid-template-columns:1fr}
.detalle-familia-reserva{min-height:calc(var(--familia-gap) + 4.25rem)}
.detalle-familia-principal,.detalle-familia-secundarios{z-index:1}
.detalle-familiar{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;min-height:4.25rem;border:1px solid #e7ded2;border-radius:8px;padding:.385rem .595rem;background:#fff}
.detalle-avatar{position:relative;width:2.65rem;height:2.65rem;border:1px solid #d9d8c9;border-radius:999px;background:#f3f4ea}
.detalle-avatar::before{content:"";position:absolute;inset:.55rem .5rem .42rem;background:var(--verde);mask:url("img/icons/bx-user.svg") center/contain no-repeat;-webkit-mask:url("img/icons/bx-user.svg") center/contain no-repeat}
.detalle-familiar--padre .detalle-avatar::before{mask:url("img/icons/bootstrap/person-fill.svg") center/contain no-repeat;-webkit-mask:url("img/icons/bootstrap/person-fill.svg") center/contain no-repeat}
.detalle-familiar span:not(.detalle-avatar){display:block;color:#1f6b45;font-size:.74rem;font-weight:600;text-transform:uppercase}
.detalle-familiar strong{display:block;min-width:0;color:#0f171c;font-size:1rem;font-weight:500;line-height:1.2;overflow-wrap:anywhere}
.detalle-linea{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.55rem;margin:0 0 .75rem}
.detalle-contexto{display:flex;flex-wrap:wrap;gap:0;margin:0;border:1px solid #e3d9ca;border-radius:8px;background:#fff;box-shadow:0 8px 18px rgba(65,49,31,.05);overflow:hidden}
.detalle-dato{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center;flex:1 1 9rem;min-width:0;padding:1rem 1.1rem;border-right:1px solid #e7ded2;border-bottom:1px solid #e7ded2;background:#fff}
.detalle-dato:last-child{border-right:0;border-bottom:0}
.detalle-dato-icono{width:1.65rem;height:1.65rem;background:var(--verde);mask:var(--detalle-icono,url("img/icons/lucide/file-text.svg")) center/contain no-repeat;-webkit-mask:var(--detalle-icono,url("img/icons/lucide/file-text.svg")) center/contain no-repeat}
.detalle-dato--localidad{--detalle-icono:url("img/icons/lucide/map-pin.svg")}
.detalle-dato--parroquia{--detalle-icono:url("img/icons/lucide/church.svg")}
.detalle-dato--libro{--detalle-icono:url("img/icons/lucide/notebook-text.svg")}
.detalle-dato--indexador{--detalle-icono:url("img/icons/bx-user.svg")}.detalle-dato--actualizado{--detalle-icono:url("img/icons/lucide/calendar-days.svg")}.libro-header .detalle-titulo{font-size:clamp(3rem,5vw,4rem)}
.detalle-dato--localidad,.detalle-dato--parroquia,.detalle-dato--libro{flex-basis:15rem;flex-grow:2}
.detalle-dato--n-acta,.detalle-dato--folio,.detalle-dato--imagen{--detalle-icono:url("img/icons/lucide/file-text.svg")}
.detalle-dato dt{color:#1f6b45;font-size:.72rem;font-weight:700;text-transform:uppercase}
.detalle-dato dd{margin:0;min-width:0;color:#0f171c;font-size:1rem;font-weight:500;line-height:1.2;overflow-wrap:anywhere}
.detalle-tabla-wrap{border:1px solid #e3d9ca;border-radius:8px;overflow:hidden;background:#fff}
.detalle-tabla{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
.detalle-tabla th,.detalle-tabla td{border:0;border-bottom:1px solid #edf1ee;padding:.55rem .7rem;vertical-align:top}
.detalle-tabla tr:last-child th,.detalle-tabla tr:last-child td{border-bottom:0}
.detalle-tabla th{width:11rem;color:var(--muted);font-size:.74rem;font-weight:700;text-transform:uppercase;background:#f8fbf9}
.detalle-tabla td{color:#17201c;font-weight:650;overflow-wrap:anywhere}
.detalle-url{color:var(--verde);font-weight:400;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.libro-link,.localidad-link{color:inherit;text-decoration:none;cursor:pointer;transition:color .15s ease,opacity .15s ease}.libro-link:hover,.localidad-link:hover{color:var(--verde);opacity:.8}.libro-link:focus-visible,.localidad-link:focus-visible{border-radius:3px;outline:2px solid rgba(31,122,77,.28);outline-offset:2px}
.detalle-dato:has(.libro-link,.localidad-link){position:relative;cursor:pointer;transition:background .15s ease}.detalle-dato:has(.libro-link,.localidad-link):hover,.detalle-dato:has(:is(.libro-link,.localidad-link):focus-visible){background:#f3faf5}.detalle :is(.libro-link,.localidad-link){display:inline-flex;gap:.3rem;align-items:center;max-width:100%;transition:color .15s ease}.detalle :is(.libro-link,.localidad-link)::before{content:"";position:absolute;inset:0}.detalle :is(.libro-link,.localidad-link)::after{content:"";width:.75rem;height:.75rem;flex:0 0 auto;background:var(--verde);mask:url("img/icons/lucide/chevron-right.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/chevron-right.svg") center/contain no-repeat}.detalle-dato:has(.libro-link,.localidad-link):hover :is(.libro-link,.localidad-link){color:var(--verde);opacity:1}
.detalle-observaciones-fuente--doble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.detalle-observaciones p,.detalle-fuentes p{margin:0;min-width:0;border:1px solid #e3d9ca;border-radius:8px;padding:.8rem 1rem;background:#fff;color:#17201c;font-size:1rem;font-weight:500;overflow-wrap:anywhere}
.detalle-fuentes{gap:.35rem}
.detalle-url-fuente{display:inline-flex;gap:.45rem;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detalle-url-fuente::after{content:"";flex:0 0 auto;width:.95rem;height:.95rem;background:var(--verde);mask:url("img/icons/lucide/external-link.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/external-link.svg") center/contain no-repeat}
.acciones-registro{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:0;padding:0;border:0}
.detalle .accion-registro{display:inline-flex;gap:.55rem;align-items:center;justify-content:center;padding:.56rem .95rem}
.accion-registro-principal{border-color:var(--verde)!important;background:var(--verde)!important;color:#fff!important}
.accion-registro-principal:hover{background:#195f3e!important;color:#fff!important}
.detalle-boton-icono{width:1rem;height:1rem;background:currentColor;mask:var(--detalle-boton-icono) center/contain no-repeat;-webkit-mask:var(--detalle-boton-icono) center/contain no-repeat}
.detalle-boton-icono--compartir{--detalle-boton-icono:url("img/icons/lucide/share-2.svg")}
.detalle-boton-icono--corregir{--detalle-boton-icono:url("img/icons/lucide/pencil.svg")}
.acciones-registro [data-compartir-estado]{color:var(--muted);font-size:.85rem;font-weight:700}
.enlace-compartir{width:100%;margin-bottom:.75rem;border:1px solid #cbd8d1;border-radius:6px;padding:.5rem;color:var(--texto);font:inherit}
.correccion-registro{display:grid;gap:.5rem;margin:.75rem 0;padding:.75rem;border:1px solid #edf1ee;border-radius:8px;background:#f8fbf9}
.correccion-registro.oculto{display:none}
.correccion-registro textarea{min-height:5rem;width:100%;border:1px solid #cbd8d1;border-radius:6px;padding:.55rem;font:inherit;resize:vertical}










.mapa-layout{display:grid;grid-template-columns:minmax(14rem,25%) minmax(0,75%);gap:1rem;align-items:start}
.mapa-izquierda{position:sticky;top:.75rem;display:flex;flex-direction:column;min-height:calc(100vh - 1.5rem);max-height:calc(100vh - 1.5rem);overflow:auto;border:1px solid var(--linea);border-radius:8px;padding:.75rem .75rem 1rem;background:#fff}
.mapa-selector{display:grid;grid-template-columns:1fr;gap:.65rem;align-items:center;padding-bottom:.9rem;border-bottom:1px solid #edf1ee}
.mapa-selector label{color:var(--verde);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.mapa-selector-localidad{display:flex;gap:.4rem;align-items:center;border:1px solid #cbd8d1;border-radius:6px;padding:.45rem .5rem;background:#fff}.mapa-selector-localidad i{width:1.3rem;height:1.3rem;flex:0 0 auto;background:var(--verde);mask:url("img/icons/lucide/map-pin.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/map-pin.svg") center/contain no-repeat}.mapa-selector select{min-width:0;width:100%;border:0;outline:0;background:#fff;color:#0f171c;font:inherit;font-size:1.1rem;font-weight:600;text-align:center;text-align-last:center}
.mapa-selector select option,.mapa-selector select optgroup{text-align:left;text-align-last:left}
.mapa-selector select option{padding-left:.75rem}
.mapa-selector-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;text-align:center}
.mapa-selector-resumen div{display:grid;gap:.2rem;min-width:0}
.mapa-selector-resumen span{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}
.mapa-selector-resumen strong{color:var(--verde);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
#mapa-svg{flex:1;min-height:12rem;margin-top:5em}
#mapa-svg svg{display:block;width:100%;height:auto;max-height:calc(100vh - 8rem);filter:drop-shadow(0 0 1px #3f4a44)}
.mapa-derecha{min-width:0}
.mapa-panel-vacio{min-height:calc(100vh - 1.5rem);border:1px solid var(--linea);border-radius:8px;background:#fff}
.mapa-parroquia{border:1px solid var(--linea);border-radius:8px;margin-bottom:4.25rem;background:#fff}
.mapa-parroquia-resumen{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.65rem .75rem;cursor:pointer;list-style:none}
.mapa-parroquia-resumen::-webkit-details-marker{display:none}
.mapa-parroquia-resumen::before{content:">";display:inline-block;font-weight:700;color:var(--verde);transition:transform .12s ease}
.mapa-parroquia[open]>.mapa-parroquia-resumen::before{transform:rotate(90deg)}
.mapa-parroquia-principal{display:contents}
.mapa-parroquia-titulo{flex:1;min-width:0;color:#0f171c;font-family:"Newsreader",Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.1}
.mapa-parroquia-resumen small{color:var(--muted);font-size:.85rem;font-weight:500;white-space:nowrap}
.mapa-libros-toggle{display:inline-flex;gap:.45rem;align-items:center;white-space:nowrap;border:0;border-radius:6px;padding:.2rem .35rem;background:transparent;color:#33423b;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.mapa-libros-toggle:hover{color:var(--verde)}
.mapa-libros-toggle__pista{position:relative;display:inline-block;width:2rem;height:1.05rem;border:1px solid #cbd8d1;border-radius:999px;background:#edf1ee;transition:background .12s ease,border-color .12s ease}
.mapa-libros-toggle__pista::after{content:"";position:absolute;top:2px;left:2px;width:.7rem;height:.7rem;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .12s ease}
.mapa-libros-toggle[aria-expanded=true]{color:var(--verde)}
.mapa-libros-toggle[aria-expanded=true] .mapa-libros-toggle__pista{border-color:var(--verde);background:var(--verde)}
.mapa-libros-toggle[aria-expanded=true] .mapa-libros-toggle__pista::after{transform:translateX(.9rem)}
.mapa-categorias{display:grid;gap:.75rem;padding:0 .75rem .75rem}
.mapa-categoria{padding-top:.65rem}
.mapa-categoria-cabecera{display:flex;gap:.75rem;align-items:baseline;justify-content:space-between;margin-bottom:.35rem}
.mapa-categoria h3{margin:0;color:#0f171c;font-family:"Newsreader",Georgia,serif;font-size:1.25rem;font-weight:600;line-height:1.1}
.mapa-categoria-cabecera small{color:var(--muted);font-size:.82rem;font-weight:700}
.rango-linea{position:relative;margin:.2rem 0 .5rem;padding-bottom:1.25rem}
.rango-pista{position:relative;height:10px;background:#f0f0f0;border:0;border-radius:5px}
.rango-pista span{position:absolute;top:0;height:100%;outline:1px solid transparent}
.rango-pista span.extremo-inicio{border-radius:5px 0 0 5px}.rango-pista span.extremo-final{border-radius:0 5px 5px 0}.rango-pista span.extremo-inicio.extremo-final{border-radius:5px}
.rango-pista span:not(.sin-datos){z-index:2}
.rango-pista span.continuidad{z-index:1}
.rango-pista span.sin-datos{z-index:0}
.rango-pista span:hover{outline:2px solid #111;z-index:5}
[role=tooltip]:not(.genae-tooltip-portal){display:none!important}
.genae-tooltip{--genae-tooltip-display:block;--genae-tooltip-width:max-content;--genae-tooltip-max-width:24rem;box-sizing:border-box;width:var(--genae-tooltip-width);max-width:min(var(--genae-tooltip-max-width),calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;border:1px solid #dbe6e0;border-radius:8px;padding:.65rem .7rem;background:#17201c;color:#f7faf8;font-size:.78rem;font-weight:700;line-height:1.35;text-align:left;white-space:pre-line;box-shadow:0 18px 38px rgba(0,0,0,.22)}
.genae-tooltip-portal{position:fixed;z-index:100;display:var(--genae-tooltip-display);pointer-events:none}
.rango-marcas{position:absolute;left:0;right:0;top:10px;height:1.25rem}
.rango-marca{position:absolute;top:0;height:.45rem;border-left:1px solid #d8dfda;pointer-events:none;color:var(--muted);font-size:.68rem;font-style:normal;font-weight:500;font-variant-numeric:tabular-nums}
.rango-marca small{position:absolute;top:.45rem;left:0;transform:translateX(-50%);white-space:nowrap}
.rango-marca:is(.inicio,.final){border-left:0}.rango-marca:is(.inicio,.final)::before{content:"";position:absolute;top:0;height:.45rem;border-left:1px solid #d8dfda}.rango-marca.inicio::before{left:3px}.rango-marca.final::before{right:3px}
.rango-marca.inicio small{transform:translateX(-1px)}
.rango-marca.final{transform:translateX(-1px)}
.rango-marca.final small{left:auto;right:0;transform:none}
.mapa-rangos-resumen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .8rem;margin:.35rem 0 .5rem;font-size:.82rem}
.mapa-rangos-resumen div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.35rem;align-items:baseline}
.mapa-rangos-resumen dt{color:#0f171c;font-size:1.06em;font-weight:600}
.mapa-rangos-resumen dt i{display:inline-block;width:.6rem;height:.6rem;margin-right:.3rem;border-radius:2px;vertical-align:middle}
.mapa-rangos-resumen dd{margin:0;color:var(--muted);font-weight:500}
.mapa-libros-contenedor{margin-top:.4rem}
.mapa-libros-contenedor[hidden]{display:none}
.mapa-libros-titulo{margin:.45rem 0 .15rem;color:var(--verde);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.mapa-libros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 .8rem;align-items:start;margin:.45rem 0 .2rem;padding:0;list-style:none}
.mapa-libros li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.45rem;align-items:center;min-width:0;min-height:2.8rem;border-bottom:1px solid #edf1ee;padding:.4rem .2rem;font-size:.9em}.mapa-libros li:has(.mapa-libro-nombre[href]){cursor:pointer}.mapa-libros li:has(.mapa-libro-nombre[href]):hover{background:#f3faf5}
.mapa-libro-icono{width:1.1rem;height:1.1rem;background:var(--libro-color);mask:url("img/icons/lucide/notebook-text.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/notebook-text.svg") center/contain no-repeat}
.mapa-libro-nombre{display:flex;gap:.3rem;align-items:center;min-width:0;overflow:hidden;color:#0f171c;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.mapa-libro-nombre[href]::before{content:"";position:absolute;inset:0}.mapa-libro-nombre[href]::after{content:"";width:.75rem;height:.75rem;flex:0 0 auto;background:var(--verde);mask:url("img/icons/lucide/chevron-right.svg") center/contain no-repeat;-webkit-mask:url("img/icons/lucide/chevron-right.svg") center/contain no-repeat}
.mapa-libro-estado{display:inline-flex;align-items:center;color:var(--muted);font-size:.612rem;font-weight:500;text-transform:uppercase;white-space:nowrap}
.mapa-vacio{padding:1rem;border:1px solid var(--linea);border-radius:8px;color:var(--muted);background:#fff}
.mapa-observaciones-localidad{margin-top:2rem;border:1px solid var(--linea);border-radius:8px;padding:1rem 1.1rem;background:#fff;color:#17201c}.mapa-observaciones-localidad h2{margin:0 0 .4rem;color:#0f171c;font-family:"Newsreader",Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.15}.mapa-observaciones-localidad p{margin:0;color:var(--muted);font-weight:500;line-height:1.5}
@media(max-width:980px){
footer{padding:1.5rem 8%}
.landing-hero__content{padding-left:8%;padding-right:8%}
.landing-info{grid-template-columns:1fr;gap:1.5rem;padding:2rem 8%}
.landing-visual--map{min-height:14rem}
.landing-region-svg svg{max-height:18rem}
.mapa-libros{grid-template-columns:repeat(2,minmax(0,1fr))}
.mapa-rangos-resumen{grid-template-columns:1fr}
.detalle-familia-panel{grid-template-columns:1fr}
.detalle-familia-rama+.detalle-familia-rama{border-left:0;border-top:1px solid #e7ded2;padding:1rem 0 0}
}
@media(max-width:800px){
html{overflow-x:clip;overflow-y:auto;scrollbar-gutter:auto;scrollbar-width:none}html::-webkit-scrollbar{display:none}
nav{align-items:center;flex-wrap:wrap;padding:.625rem 1rem}
.nav-toggle{display:flex}
.nav-links{display:none;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:.2rem;padding:.65rem 0 0}
nav.nav-abierto .nav-links{display:flex}
.nav-links a{display:flex;border-top:1px solid #edf1ee;padding:.75rem .2rem}
main{padding:.75rem}
.registro-page{width:100%;margin:0}
footer{padding:.9rem 1rem}.footer-inner{gap:.75rem}.footer-brand{gap:.4rem}.footer-logo{width:1.6rem;height:1.6rem}.footer-brand strong{font-size:1.05rem}.footer-aside,.footer-links{gap:.65rem}.footer-links a{font-size:.72rem}.footer-copyright{font-size:.65rem}
.mapa-page{min-height:calc(100vh - 1.5rem);margin:-.75rem;padding:.75rem}
.landing-page{margin:-.75rem -.75rem 0}
.landing-hero__content{padding:4rem 1.25rem 4.5rem}
.landing-hero h1{font-size:2.25rem}
.landing-hero p{font-size:1rem}
.landing-info{min-height:0;padding:1.35rem 1rem;gap:1.25rem}
.landing-info .landing-copy{order:1}
.landing-info .landing-visual{order:2}
.landing-visual--map{min-height:12rem}
.detalle-header{grid-template-columns:1fr;min-height:0;padding:1rem}
.detalle-emblema{display:none}
.detalle-titulo{font-size:1.9rem}
.detalle-header-acciones{justify-self:start}
.detalle-familia-rama{--familia-gap:.55rem;--familia-indent:.85rem}
.detalle-familia-rama--principal-centrado .detalle-familia-principal{width:auto;justify-self:stretch}
.detalle-familia-rama--arbol{grid-template-columns:var(--familia-indent) minmax(0,1fr);gap:var(--familia-gap) 0}
.detalle-familia-rama--arbol .detalle-familia-principal{grid-column:1/-1}
.detalle-familia-rama--arbol .detalle-familia-conector{grid-column:1;grid-row:2;height:auto}
.detalle-familia-rama--arbol .detalle-familia-conector::before{display:none}
.detalle-familia-rama--arbol .detalle-familia-conector::after{left:50%;top:calc(0rem - var(--familia-gap));bottom:calc(25% - var(--familia-secundarios-gap)/4 - var(--familia-linea));height:auto}
.detalle-familia-rama--arbol .detalle-familia-conector>i{left:50%;width:50%;height:var(--familia-linea);transform:none}
.detalle-familia-rama--arbol .detalle-familia-conector>i:first-child{top:calc(25% - var(--familia-secundarios-gap)/4)}
.detalle-familia-rama--arbol .detalle-familia-conector>i:last-child{top:calc(75% + var(--familia-secundarios-gap)/4)}
.detalle-familia-rama--arbol .detalle-familia-conector--uno::after{display:block;bottom:calc(50% - var(--familia-linea))}
.detalle-familia-rama--arbol .detalle-familia-conector--uno>i:first-child{display:block;top:50%}
.detalle-familia-rama--arbol .detalle-familia-conector--uno>i:last-child{display:none}
.detalle-familia-rama--arbol .detalle-familia-secundarios{grid-column:2;grid-row:2;grid-template-columns:1fr;gap:var(--familia-secundarios-gap)}
.detalle-familia-reserva{display:none}
.detalle-contexto{display:grid;grid-template-columns:1fr}
.detalle-observaciones-fuente--doble{grid-template-columns:1fr}
.detalle-dato{border-right:0;border-bottom:1px solid #e7ded2}
.detalle-dato:last-child{border-bottom:0}
.detalle-tabla th{width:auto}
.mapa-layout{display:block}
.mapa-izquierda{position:static;min-height:0;max-height:none}
.mapa-panel-vacio{min-height:14rem}
.mapa-parroquia-resumen{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
.mapa-parroquia-resumen::before{grid-column:1;grid-row:1}
.mapa-parroquia-principal{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center;grid-column:2;min-width:0}
.mapa-parroquia-titulo{flex:1 1 auto}
.mapa-parroquia-resumen small{display:none}
.mapa-parroquia-titulo{overflow-wrap:anywhere}
.mapa-libros{grid-template-columns:1fr}
}
