/**
 * Zenth Toolkit — Estilos estructurales de widgets.
 *
 * Solo estructura (layout, reset, comportamiento). Los colores y
 * la identidad de marca viven en el style.css del tema hijo.
 */

/* Menú de navegación (zenth-nav-menu). */
.zenth-menu__list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: var( --zenth-menu-gap, 30px );
	margin: 0;
	padding: 0;
}

.zenth-menu__list li {
	list-style: none;
}

.zenth-menu__list a {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

/* Botón hamburguesa (zenth-drawer-toggle). */
.zenth-burger {
	background: transparent;
	border: 0;
	padding: 8px;
	cursor: pointer;
	color: inherit;
	display: inline-flex;
}

.zenth-burger__box {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.zenth-burger__line {
	display: block;
	width: 26px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

/* Panel de menú lateral (zenth-drawer). */
.zenth-drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
	visibility: hidden;
}

.zenth-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba( 0, 0, 0, 0.35 );
	opacity: 0;
	transition: opacity 0.25s;
}

.zenth-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min( 420px, 88vw );
	transform: translateX( 100% );
	transition: transform 0.28s ease;
	overflow-y: auto;
}

.zenth-drawer.is-open {
	visibility: visible;
}

.is-open .zenth-drawer__overlay {
	opacity: 1;
}

.is-open .zenth-drawer__panel {
	transform: none;
}

body.zenth-drawer-lock {
	overflow: hidden;
}

.zenth-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}

.zenth-drawer__close {
	background: transparent;
	border: 0;
	cursor: pointer;
}

/* Vista estática dentro del editor de Elementor. */
.zenth-drawer--editor {
	position: static;
	visibility: visible;
}

.zenth-drawer--editor .zenth-drawer__panel {
	position: static;
	transform: none;
	width: 100%;
}

/* Formulario de newsletter (zenth-newsletter). */
.zenth-news__row {
	display: flex;
	align-items: center;
}

.zenth-news__hp {
	position: absolute;
	left: -9999px;
}

.zenth-news__input {
	flex: 1;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
}

.zenth-news__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.zenth-news__btn:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.zenth-news__msg {
	min-height: 1.2em;
	margin: 10px 0 0;
}

/* Selector de idioma (zenth-lang-select). */
.zenth-lang {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: inherit;
}

/* Ícono con enlace (zenth-icon-link): sin reglas propias aquí. El widget ya
   existe (class-zenth-icon-link.php) y no necesita estructura base; tamaño,
   círculo y color de marca se definen en el style.css del tema hijo. */

/* Documentos de transparencia con pestañas (zenth-doc-tabs). Solo mecánica:
   qué se muestra/oculta y cómo se acomodan los bloques. Colores, tipografía,
   tamaños y responsive viven en el bloque gestionado del tema hijo
   (style.css, subsección "TRANSPARENCIA DOC"). */
[hidden] {
	display: none;
}

.zenth-doctabs__year {
	position: relative;
	display: inline-block;
}

.zenth-doctabs__year-btn {
	display: inline-flex;
	align-items: center;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.zenth-doctabs__year-list {
	position: absolute;
	top: 100%;
	right: 0;
	list-style: none;
	margin: 0;
	z-index: 20;
}

.zenth-doctabs__year-list li {
	list-style: none;
	cursor: pointer;
}

.zenth-doctabs__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
}

.zenth-doctabs__tabs {
	display: flex;
	flex-direction: column;
}

.zenth-doctabs__tab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.zenth-doctabs__subtabs {
	display: flex;
	flex-wrap: wrap;
}

.zenth-doctabs__subtab {
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
}

.zenth-doctabs__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.zenth-doctabs__btn {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	cursor: pointer;
}

/* Carrusel de directivos (zenth-team-carousel). Solo mecánica: mismo
   reparto de responsabilidades que zenth-doctabs arriba (dropdown de año
   con el mismo patrón, pero con sus propias clases ".zenth-teamcar__*" para
   no interferir con instancias de zenth-doctabs en la misma página — ver
   assets/js/zenth-teamcar.js). Colores, tamaños y responsive viven en el
   bloque gestionado del tema hijo (style.css, subsección
   "TRANSPARENCIA DIRECTIVA"). */
.zenth-teamcar__toolbar {
	display: flex;
	align-items: center;
}

.zenth-teamcar__year {
	position: relative;
	display: inline-block;
}

.zenth-teamcar__year-btn {
	display: inline-flex;
	align-items: center;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.zenth-teamcar__year-list {
	position: absolute;
	top: 100%;
	right: 0;
	list-style: none;
	margin: 0;
	z-index: 20;
}

.zenth-teamcar__year-list li {
	list-style: none;
	cursor: pointer;
}

.zenth-teamcar__nav {
	display: flex;
}

.zenth-teamcar__navbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font: inherit;
}

.zenth-teamcar__navbtn[disabled],
.zenth-teamcar__navbtn[aria-disabled="true"] {
	cursor: default;
}

.zenth-teamcar__track {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.zenth-teamcar__card {
	list-style: none;
}

.zenth-teamcar__overlay {
	display: flex;
}

.zenth-teamcar__download {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	cursor: pointer;
}

/* Formulario de participación ciudadana (zenth-comment-form). Solo
   mecánica: honeypot oculto, filas/columnas del formulario y comportamiento
   del listbox de motivo (mismo patrón que .zenth-doctabs__year, con sus
   propias clases ".zenth-partform__*" para no interferir con instancias de
   zenth-doctabs/zenth-teamcar en la misma página). Colores, tipografía,
   tamaños y responsive viven en el bloque gestionado del tema hijo
   (style.css, subsección "TRANSPARENCIA PARTICIPACION"). */
.zenth-partform__hp {
	position: absolute;
	left: -9999px;
}

.zenth-partform__body {
	display: flex;
	flex-direction: column;
}

.zenth-partform__row--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.zenth-partform__field {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.zenth-partform__field .zenth-partform__input {
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	font: inherit;
	color: inherit;
	resize: none;
}

/* Etiqueta flotante: oculta-visualmente (técnica clip, sigue expuesta a
   lectores de pantalla) hasta que zenth-partform.js marca el wrapper con
   "has-value"; el placeholder nativo del input hace de pista visual mientras
   tanto. */
.zenth-partform__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	white-space: nowrap;
	border: 0;
}

.zenth-partform__field.has-value .zenth-partform__label {
	position: static;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

.zenth-partform__select-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	text-align: left;
}

.zenth-partform__select-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
}

.zenth-partform__select-list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 20;
	list-style: none;
	margin: 0;
}

.zenth-partform__select-list li {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

.zenth-partform__validicon {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.zenth-partform__validicon svg {
	display: none;
}

.zenth-partform__field.is-valid .zenth-partform__valid-ok {
	display: block;
}

.zenth-partform__field.is-invalid .zenth-partform__valid-err {
	display: block;
}

.zenth-partform__submitrow {
	display: flex;
}

.zenth-partform__submit {
	border: 0;
	cursor: pointer;
	font: inherit;
}

.zenth-partform__submit:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.zenth-partform__status:empty {
	display: none;
}
