/* Heraldos - Intenciones de Misa: estilos del frontend.
   Paleta basada en heraldos.pe: granate #7B1F24, dorado #B8963E, crema #F7F2E9. */

.hdi-form, .hdi-tabla, .hdi-contacto, .hdi-alerta { font-family: Georgia, "Times New Roman", serif; color: #3A3532; }

.hdi-titulo { color: #7B1F24; font-weight: 600; letter-spacing: .5px; margin: 1.4em 0 .6em; }

.hdi-campo label { display: block; margin-bottom: 1em; font-size: .95em; }
.hdi-campo input[type="text"], .hdi-campo input[type="email"], .hdi-campo input[type="tel"],
.hdi-campo input[type="password"], .hdi-campo input[type="date"], .hdi-campo textarea {
	display: block; width: 100%; box-sizing: border-box; margin-top: .3em;
	background: #F7F2E9; border: 1px solid #E3D9C6; border-radius: 6px;
	padding: .7em .9em; font-family: inherit; font-size: 1em; color: #3A3532;
}
.hdi-campo input:focus, .hdi-campo textarea:focus { outline: 2px solid #B8963E; background: #FDFBF6; }

.hdi-dos-columnas { display: flex; gap: 1em; flex-wrap: wrap; }
.hdi-dos-columnas .hdi-campo { flex: 1 1 240px; }

.hdi-etiqueta { margin: .8em 0 .3em; font-size: .95em; }
.hdi-radios { margin-bottom: 1em; }
.hdi-radio { display: block; margin: .25em 0; cursor: pointer; }
.hdi-radio em { color: #8a7a60; font-size: .9em; }

.hdi-consentimiento label { font-size: .9em; line-height: 1.5; }

.hdi-boton {
	background: #7B1F24; color: #fff; border: 0; border-radius: 6px;
	padding: .8em 1.8em; font-family: inherit; font-size: 1em; cursor: pointer;
}
.hdi-boton:hover { background: #5f181c; }
.hdi-boton-secundario { background: #B8963E; }
.hdi-boton-secundario:hover { background: #9a7c31; }

.hdi-alerta { padding: 1em 1.2em; border-radius: 6px; margin: 1em 0; background: #F7F2E9; border-left: 4px solid #B8963E; }
.hdi-alerta-ok { background: #eef5ec; border-left-color: #4c7a4c; }
.hdi-alerta-error { background: #fdecec; border-left-color: #b00020; }

.hdi-tabla { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: .95em; }
.hdi-tabla th { background: #F7F2E9; color: #7B1F24; text-align: left; padding: .6em .8em; border-bottom: 2px solid #B8963E; }
.hdi-tabla td { padding: .6em .8em; border-bottom: 1px solid #E3D9C6; }

.hdi-enlace { color: #7B1F24; text-decoration: underline; }
.hdi-eliminar { color: #b00020; }

/* Acciones con iconos en "Mis intenciones". */
.hdi-acciones { display: inline-flex; gap: .45em; align-items: center; }
.hdi-accion {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 6px; box-sizing: border-box;
	color: #7B1F24; background: #F7F2E9; border: 1px solid #E3D9C6; text-decoration: none;
}
.hdi-accion svg { width: 17px; height: 17px; }
.hdi-accion:hover { background: #7B1F24; color: #fff; border-color: #7B1F24; }
.hdi-accion-eliminar { color: #b00020; }
.hdi-accion-eliminar:hover { background: #b00020; border-color: #b00020; color: #fff; }
.hdi-nota { font-size: .85em; color: #8a7a60; }
.hdi-tel { color: #7B1F24; text-decoration: none; border-bottom: 1px dotted #B8963E; }
.hdi-tel:hover { color: #5f181c; }

/* Menú desplegable [hdi_menu]. */
.hdi-menu { display: inline-block; font-family: Georgia, "Times New Roman", serif; position: relative; }
.hdi-menu .hdi-menu-acceso { text-decoration: none; display: inline-block; }
.hdi-desplegable { position: relative; }
.hdi-desplegable summary {
	list-style: none; cursor: pointer; background: #7B1F24; color: #fff;
	padding: .6em 1.2em; border-radius: 6px; user-select: none;
	display: inline-flex; align-items: center; justify-content: space-between;
	gap: .5em; white-space: nowrap; min-width: 130px; box-sizing: border-box;
}
.hdi-desplegable summary::-webkit-details-marker, .hdi-desplegable summary::marker { display: none; content: ""; }
.hdi-caret { font-size: .75em; line-height: 1; transition: transform .15s ease; }
.hdi-desplegable[open] .hdi-caret { transform: rotate(180deg); }
.hdi-desplegable[open] summary { border-radius: 6px 6px 0 0; }
.hdi-desplegable ul {
	position: absolute; right: 0; z-index: 999; margin: 0; padding: 0; list-style: none;
	min-width: 220px; background: #fff; border: 1px solid #E3D9C6; border-top: 3px solid #B8963E;
	box-shadow: 0 6px 18px rgba(0,0,0,.12); border-radius: 0 0 6px 6px;
}
.hdi-desplegable ul a { display: block; padding: .7em 1em; color: #3A3532; text-decoration: none; border-bottom: 1px solid #F1EADD; }
.hdi-desplegable ul a:hover { background: #F7F2E9; color: #7B1F24; }
.hdi-menu-salir a { color: #b00020 !important; }

/* Navegación superior de /intenciones/xxx. */
.hdi-nav {
	display: flex; flex-wrap: wrap; gap: .3em; margin: 0 0 1.4em;
	border-bottom: 2px solid #B8963E; padding-bottom: 0; font-family: Georgia, serif;
}
.hdi-nav a {
	padding: .55em 1em; text-decoration: none; color: #7B1F24;
	border-radius: 6px 6px 0 0; background: #F7F2E9;
}
.hdi-nav a:hover { background: #EFE6D4; }
.hdi-nav a.hdi-nav-activo { background: #7B1F24; color: #fff; }
.hdi-nav .hdi-nav-salir { margin-left: auto; color: #b00020; }

/* Panel de opciones (hub). */
.hdi-opciones { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1em; margin: 1em 0; }
.hdi-opcion {
	display: block; padding: 1.1em 1.2em; background: #F7F2E9; border: 1px solid #E3D9C6;
	border-left: 4px solid #B8963E; border-radius: 6px; text-decoration: none; color: #3A3532;
}
.hdi-opcion:hover { background: #FDFBF6; border-left-color: #7B1F24; }
.hdi-opcion strong { display: block; color: #7B1F24; margin-bottom: .3em; }
.hdi-opcion span { font-size: .88em; color: #6b5d4f; }
.hdi-opcion-salir { border-left-color: #b00020; }
.hdi-opcion-salir strong { color: #b00020; }
/* Acceso al panel de colaborador/administrador: destacado en dorado. */
.hdi-opcion-panel { background: #FBF6E9; border-left-color: #B8963E; border-color: #B8963E; }
.hdi-opcion-panel strong { color: #8a6d24; }
.hdi-nav-panel { background: #FBF6E9 !important; color: #8a6d24 !important; border: 1px solid #B8963E; border-bottom: 0; }
.hdi-menu-panel a { color: #8a6d24 !important; background: #FBF6E9; }

/* Pestañas Iniciar sesión / Crear cuenta en [hdi_proceso_intencion].
   CSS puro (radios ocultos): se muestra solo el formulario elegido. */
.hdi-tabs { font-family: Georgia, "Times New Roman", serif; }
.hdi-tabs > input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.hdi-tabs-nav { display: flex; gap: .4em; border-bottom: 3px solid #B8963E; margin-bottom: 1.6em; }
.hdi-tabs-nav label {
	flex: 1; text-align: center; padding: .85em 1em; cursor: pointer;
	background: #F7F2E9; color: #7B1F24; border: 1px solid #E3D9C6; border-bottom: 0;
	border-radius: 8px 8px 0 0; font-size: 1.05em; user-select: none;
}
.hdi-tabs-nav label:hover { background: #EFE6D4; }
#hdi-tab-login:checked ~ .hdi-tabs-nav label[for="hdi-tab-login"],
#hdi-tab-registro:checked ~ .hdi-tabs-nav label[for="hdi-tab-registro"] {
	background: #7B1F24; color: #fff; border-color: #7B1F24;
}
.hdi-tab-panel { display: none; }
#hdi-tab-login:checked ~ .hdi-panel-login { display: block; }
#hdi-tab-registro:checked ~ .hdi-panel-registro { display: block; }
/* El título del formulario es redundante dentro de su pestaña. */
.hdi-tabs .hdi-titulo-form { display: none; }
@media (max-width: 480px) {
	.hdi-tabs-nav { gap: .25em; }
	.hdi-tabs-nav label { padding: .7em .4em; font-size: .95em; }
}

/* Separador (usado por los shortcodes individuales si se apilan). */
.hdi-separador { display: flex; align-items: center; gap: 1em; margin: 2em 0; color: #8a7a60; font-family: Georgia, serif; }
.hdi-separador::before, .hdi-separador::after { content: ""; flex: 1; border-top: 1px solid #E3D9C6; }

/* Captcha. */
.hdi-captcha { margin: 1em 0; }

/* Ancla del bloque de acceso: al recargar, la página baja hasta el formulario.
   scroll-margin evita que quede oculto bajo cabeceras fijas del tema. */
.hdi-ancla { display: block; height: 0; scroll-margin-top: 120px; }

/* Honeypot anti-bots: oculto para personas, visible para robots. */
.hdi-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
