@charset "utf-8";
/* CSS Document */



/* -------------------------------------------

#PRESETS 

------------------------------------------- */



/* #font face */



/* #admin bar */
#wpadminbar #adminbarsearch {
	display: none !important;
}

/* #root */ 
:root {


	/* colores base */
	--fff-rgb               : 255 255 255;
	--bbb-rgb               : 187 187 187;
	--eee-rgb               : 238 238 238;
	--ddd-rgb               : 221 221 221;
	--ccc-rgb               : 204 204 204;
	--999-rgb               : 153 153 153;
	--666-rgb               : 102 102 102;
	--333-rgb               : 51 51 51;
	--222-rgb               : 34 34 34;
	--111-rgb               : 17 17 17;
	--000-rgb               : 2 3 4;

	--fff                   : rgb(var(--fff-rgb));
	--bbb                   : rgb(var(--bbb-rgb));
	--eee                   : rgb(var(--eee-rgb));
	--ddd                   : rgb(var(--ddd-rgb));
	--ccc                   : rgb(var(--ccc-rgb));
	--999                   : rgb(var(--999-rgb));
	--666                   : rgb(var(--666-rgb));
	--333                   : rgb(var(--333-rgb));
	--222                   : rgb(var(--222-rgb));
	--111                   : rgb(var(--111-rgb));
	--000                   : rgb(var(--000-rgb));
	--placeholder           : rgb(var(--666));

	/*
	--color-cygnus-hash     : #003F55; 
	--color-cygnus-rgb      : 0 63 85;
	*/ 
	--color-cygnus-hash     : #003F55; 
	--color-cygnus-rgb      : 0 63 85;
	--cygnus                : rgb(var(--color-cygnus-rgb));

	/* colores web */
	--color-web-1-rgb       : 0 36 163;
	--color-web-1           : var(--color-web-1-rgb);
	
	--color-web-2-rgb       : 5 26 230;
	--color-web-2           : var(--color-web-2-rgb);

	--color-web-3-rgb       : 5 26 230;
	--color-web-3           : var(--color-web-3-rgb);

	--color-web-4-rgb       : 5 26 230;
	--color-web-4           : var(--color-web-4-rgb);

	--color-texto-rgb       : 0 0 0;
	--color-texto           : var(--color-texto-rgb);

	--color-azul: #1D55A0;
	--cate-1    : #f15f32;
	--cate-2    : #1fb357;
	--cate-3    : #E6B329;
	--cate-4    : #7B489A;

	/* form */
	--msj-ok-tx             : #00ad17;
	--msj-ok-bg             : #e5ffe8;
	--msj-error-tx          : #c40000;
	--msj-error-bg          : #ffe5e5;
	--msj-info-tx           : #a39200;
	--msj-info-bg           : #fffbdb;

	/* font base */
	--font-awesone          : "Font Awesome 6 Free";
	--font-material         : "Material Symbols Outlined";
	
	/* font web */
	--font                  : 'Sofia Sans Semi Condensed', sans-serif;
	--font-titulos          : 'Sofia Sans Semi Condensed', sans-serif;
	--font-weight           : 'normal';

	/* size */
	--size                  : 1.05rem; /*  */
	--size-1                : 4.35rem; /*  */
	--size-2                : 3.8rem; /*  */
	--size-3                : 3.25rem; /*  */
	--size-4                : 2.6rem; /*  */
	--size-5                : 2.15rem; /*  */
	--size-6                : 1.32rem; /*  */

	--display               : 1.25;

	--display-1             : calc(var(--size-1) * var(--display)); /* 74px */
	--display-2             : calc(var(--size-2) * var(--display)); /* 67px */
	--display-3             : calc(var(--size-3) * var(--display)); /* 54px */
	--display-4             : calc(var(--size-4) * var(--display)); /* 44px */
	--display-5             : calc(var(--size-5) * var(--display)); /* 34px */
	--display-6             : calc(var(--size-6) * var(--display)); /* 28px */

	--line-height           : 1.2;
	--line-height-tit       : 1.2;

	/* container */
	--container-full        : 100%;
	--container-gr          : 1320px;
	--container-md          : 1200;
	--container-ch          : 1024px;
	--padding-container     : 30px;

	/* header */
	--h-header              : 120px;
	--h-header-scroll       : 65px;
	--col-header-right      : 1fr;
	--bg-header             : var(--fff);

	/* logo */
	--w-logo                : 142px;
	--w-logo-scroll         : calc(var(--w-logo) * .65);
	--w-logo-mobile         : var(--w-logo-scroll);
	--w-logo-footer         : 50px;

	/* main */
	--top-main              : var(--h-header);

	/* sidebar */
	--w-sidebar             : 360px;

	/* footer */
	--bg-footer             : var(--color-web-1);

	/* cabezal */
	--h-cabezal             : 320px;
	--bg-cabezal            : var(--color-web-1);
	--color-cabezal         : var(--fff);
	
	/* btn */
	--h-btn                 : 45px;
	
	/* redes */
	--w-redes               : 130px;

	/* gap */
	--gap                   : 30px;

	/* radius */
	--radius-30             : 30px;
	--radius-20             : 20px;
	--radius-10             : 10px;
	--radius-5              : 5px;
	--radius                : var(--radius-5);

	/* espacios */
	--espacio               : var(--espacio-10);
	--espacio-10            : 10px;
	--espacio-20            : 20px;
	--espacio-30            : 30px;
	--espacio-40            : 40px;
	--espacio-50            : 50px;
	--espacio-60            : 60px;
	--espacio-70            : 70px;
	--espacio-80            : 80px;
	--espacio-90            : 90px;
	--espacio-100           : 100px;

	/* ratio */
	--ratio-100             : 100%;
	--ratio-75              : 75%;
	--ratio-60              : 60%;
	--ratio-55              : 55%;
	--ratio-40              : 40%;
	--ratio                 : var(--ratio-75);

	/* efectos */
	--transition            : all .75s ease;
	--opacity               : 0;

	/* letter */
	--letter-spacing        : 0.04em;


} 

*, 
:before,
:after{
	margin                  : 0;
	padding                 : 0; 
	box-sizing              : border-box;
	position                : relative;
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust   : none;
	-ms-text-size-adjust    : none; 
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust   : 100%; 
	-ms-text-size-adjust    : 100%;
}

/* #html - body */
html {
	font-size      : var(--size);
	scroll-behavior: none !important;
}
html, body{
	height: 100%
}
body{
	overflow-x      : hidden;
	background-color: var(--fff);
	font-size       : var(--size);
	color           : var(--color-texto);
	font-family     : var(--font);
}

/* #container */
[class*=container--] {
	width        : 100%;
	max-width    : var(--container);
	padding-right: var(--padding-container);
	padding-left : var(--padding-container);
	margin       : 0 auto;
}

.container--full {
	max-width   : none;
	padding-left : 0;
	padding-right: 0;
}  
.container--gr {
	max-width: var(--container-gr);
}
.container--md {
	max-width: var(--container-md);
}
.container--ch {
	max-width: var(--container-ch);
}

/* #selection */
::selection{
	background: var(--000);
	color     : var(--fff);
}
::-moz-selection{
	background: var(--000);
	color     : var(--fff);
}
::-o-selection{
	background: var(--000);
	color     : var(--fff);
}
::-ms-selection{
	background: var(--000);
	color     : var(--fff);
}


/* #img */
img{
	width    : auto;
	max-width: 100%;
	height   : auto
}
figure{
	margin     : 0;
	line-height: 0;
	overflow   : hidden;
}

.post-thumbnail {
	overflow: hidden;
}
	.post-thumbnail img {
		width     : 100%;
		transition: var(--transition);
	}


.entry-header {
	display: none;
}


/* #tx */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font);
	margin     : 0;
	font-weight: var(--font-weight);
	line-height: normal;
	color      : var(--color-texto);
}
h1 {
	font-size: var(--size-1);
}
h2 {
	font-size: var(--size-2);
}
h3 {
	font-size: var(--size-3);
}
h4 {
	font-size: var(--size-4);
}
h5 {
	font-size: var(--size-5);
}
h6 {
	font-size  : var(--size-6);
	font-weight: 700;
	line-height: 1.3;
}

h1.entry-title {
	font-weight: 300;
	font-size  : var(--size-3);
	padding    : 60px 0;
}

.cont--tit {
	font-weight   : 800 !important;
	letter-spacing: 0.03em;
}
	.cont--tit span {
		background-color: #c2cc50;
	}



p {
	font-family: var(--font);
	font-size  : var(--size);
	color      : var(--color-texto);
	margin     : 0 0 15px 0;
	padding    : 0;
	line-height: 1.45;	
}
.tx--destacado {
	color: var(--color-azul);
	font-weight: 600;
}

.tx--destacado p {
	font-size: 1.2rem;
}

.vc_do_custom_heading {
	margin-bottom: 0 !important;
}

ul {
	padding-left: 18px;
	margin      : 12px 0;
}
	ul li {
		line-height: normal;
		font-size  : var(--size);
		/*line-height: normal;*/
		line-height: var(--line-height);
	}

b,
strong {
	font-weight: 700;
}

h1 b,
h1 strong,
h2 b,
h2 strong,
h3 b,
h3 strong,
h4 b,
h4 strong,
h5 b,
h5 strong,
h6 b,
h6 strong {
	font-weight: 900;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size  : 1em;
}
small {
	font-size: 75%;
}
sub,
sup {
	font-size     : 70%;
	line-height   : 0;
	position      : relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
pre {
	background   : var(--eee);
	font-family  : "Courier 10 Pitch", courier, monospace;
	line-height  : 1.6;
	margin-bottom: 1.6em;
	max-width    : 100%;
	overflow     : auto;
	padding      : 1.6em;
}
code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
fieldset {
	border: none;
}
abbr,
acronym {
	border-bottom: 1px dotted var(--666);
	cursor       : help;
}
mark,
ins {
	background     : #fff9c0;
	text-decoration: none;
}
big {
	font-size: 125%;
}
a {
	color: var(--000);
}
/*
a:visited {
	color: var(--fff);
} 
*/
a:hover,
a:focus,
a:active {
	color: var(--000);
}
a:hover,
a:active {
	outline: 0;
}

address {
	font-style: normal;
}

.thin { font-weight: 100; }
.light { font-weight: 300; }
.medium { font-weight: 500; }
.semibold { font-weight: 600; }
.bold { font-weight: 700; }
.extra-bold { font-weight: 800; }
.black { font-weight: 900; }
.ultra-black { font-weight: 1000; }

/* #btn's */
button {
	border    : none;
	cursor    : pointer;
	background: none;
}

.btn,
input[type="submit"],
button[type="submit"] {
	width           : auto;
	height          : var(--h-btn);
	background-color: var(--000);
	color           : var(--fff);
	font-weight     : normal;
	font-size       : var(--size);
	border          : 1px solid var(--fff);
	text-align      : center;
	border-radius   : 0;
	transition      : var(--transition);
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	padding         : 5px 20px;
	text-decoration : none;
	background-image: none;
	cursor          : pointer;
}
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	background-color: var(--color-web-3);
	color           : var(--fff);
	border          : 1px solid var(--color-web-3);
}

.vc_general,
.vc_btn3.vc_btn3-size-md {
	font-size: var(--size) !important;
}



/* #paginado */
.navigation.post-navigation {
	/*display: none;*/
	margin-top: 15px;
}


	.navigation.post-navigation a {
		color          : var(--000);
		text-decoration: none;
		font-weight    : 400;
		display        : inline-flex; 
	}

		.navigation.post-navigation .nav-previous a::before {
			content     : "\f104"; 
			font-family : "Font Awesome 6 Free"; 
			font-weight : 600; 
			margin-right: 8px;
			transform   : translateY(1px);
			transition  : all .3s ease;
		}

		/* Icono para Siguiente (Flecha derecha) */
		.navigation.post-navigation .nav-next a::after {
			content    : "\f105"; 
			font-family: "Font Awesome 6 Free";
			font-weight: 600;
			margin-left: 8px;
			transform  : translateY(1px);
			transition : all .3s ease;
		}

		.navigation.post-navigation .nav-previous a:hover:before {
			transform: translateY(1px) translateX(-3px);
		}
		.navigation.post-navigation .nav-next a:hover:after {
			transform: translateY(1px) translateX(3px);
		}



.color--azul,
.color--azul * {
	color: var(--color-azul)
}
.color--1,
.color--1 * {
	color: var(--cate-1)
}
.color--2,
.color--2 * {
	color: var(--cate-2)
}
.color--3,
.color--3 * {
	color: var(--cate-3)
}
.color--4,
.color--4 * {
	color: var(--cate-4)
}



/* #HEADER ----------------------------------------------- */

.site-header {
	width           : 100%;
	height          : var(--h-header);
	position        : fixed;
	top             : 0; 
	left            : 0;
	z-index         : 999;

	display         : flex;
	align-items     : center;
	transition      : var(--transition);
}

	/* Container */
	.site-header .container--gr {
		height: 100%;
	}
	.site-header .container--gr section {
		height               : 100%;
		display              : grid;
		grid-template-columns: var(--w-logo) 1fr;
		gap                  : 30px;
		align-items          : center;
		justify-content      : space-between;
		padding-bottom       : 0;
		padding-left         : 15px;
		padding-right        : 15px;
	}


	/* Logo */
	.site-branding {
		padding-bottom: 0;
	}
	.site-branding,
	.site-branding a {
		width : 100%;
		float : left;
		height: 100%;
	}

	.site-branding a {
		display    : flex;
		align-items: center;
	}

	.site-branding img {
		width: 100%;
		float: left
	}

	.site-branding .site-title,
	.site-branding .site-description {
		display: none;
	}


	/* Menú */
	.btn--menu {
		display: none;
	}

	.cont--menu.mobile {
		display: none
	}


	.menu-menu-1-container,
	.site-header .main-navigation,
	.site-header .main-navigation ul,
	.site-header .main-navigation ul li,
	.site-header .main-navigation ul li a {
		height: 100%;
	}

	.main-navigation ul {
		align-items    : center;
		justify-content: flex-end;
		gap            : 42px;
		float          : right;
		width          : auto;
	}

		.site-header .main-navigation ul li a {
			color          : var(--000);
			text-transform : uppercase;
			font-size      : 1rem;
			font-weight    : 500;
			display        : flex;
			align-items    : center;
			padding-bottom : 0;
			text-decoration: none !important;
		}

		.site-header .main-navigation ul li.current_page_parent > a,
		.site-header .main-navigation ul li.current-menu-item > a {
			font-weight: 700;
		}

		.cate--1 .site-header .main-navigation ul li.current_page_parent > a,
		.cate--1 .site-header .main-navigation ul li.current-menu-item > a,
		.cate--1 .site-header .main-navigation ul li.current-menu-ancestor > a {
			color: var(--cate-1);
		}
		.cate--2 .site-header .main-navigation ul li.current_page_parent > a,
		.cate--2 .site-header .main-navigation ul li.current-menu-item > a,
		.cate--2 .site-header .main-navigation ul li.current-menu-ancestor > a {
			color: var(--cate-2);
		}
		.cate--3 .site-header .main-navigation ul li.current_page_parent > a,
		.cate--3 .site-header .main-navigation ul li.current-menu-item > a,
		.cate--3 .site-header .main-navigation ul li.current-menu-ancestor > a {
			color: var(--cate-3) !important;
		}
		.cate--4 .site-header .main-navigation ul li.current_page_parent > a,
		.cate--4 .site-header .main-navigation ul li.current-menu-item > a,
		.cate--4 .site-header .main-navigation ul li.current-menu-ancestor > a {
			color: var(--cate-4) !important;
		}

		.home .nav-line-helper {
			opacity         : 0;
			background-color: var(--000) !important
		}
		.cate--1 .nav-line-helper {
			background-color: var(--cate-1) !important
		}
		.cate--2 .nav-line-helper {
			background-color: var(--cate-2) !important
		}
		.cate--3 .nav-line-helper {
			background-color: var(--cate-3) !important
		}
		.cate--4 .nav-line-helper {
			background-color: var(--cate-4) !important
		}

		.site-header .main-navigation ul li.active a,
		.site-header .main-navigation ul li a:hover {
			text-decoration: underline;
			color          : var(--000);
		}

		.site-header.is-sticky {
			height          : 70px;
			background-color: var(--fff);
		}

			.site-header.is-sticky .container--gr section {
				grid-template-columns: var(--w-logo-scroll) 1fr;
			}


		/* Sub */
		.main-navigation ul ul {
			display   : none !important;
			opacity   : 0 !important;
			visibility: hidden !important;
			height    : 0;
			z-index   : -1 !important;
		}


/* agenda */
.link--agenda {
	height: auto !important
}
/* Estado normal del botón */
.link--agenda a {
	height: auto;
    background-color: #1D55A0 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px; /* Espacio entre el icono y el texto */
    padding: 10px 20px !important; /* Ajusta el tamaño del botón */
    border-radius: 4px; /* Bordes ligeramente redondeados */
    transition: all 0.3s ease !important; /* Animación suave para el hover */
}

/* Icono de agenda antes del texto */
.link--agenda a::before {
    content: "";
    width: 18px;
    height: 18px;
    background-color: #ffffff; /* Color del icono (blanco) */
    transition: background-color 0.3s ease;
    
    /* Icono de agenda en SVG */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' x2='16' y1='2' y2='6'%3E%3C/line%3E%3Cline x1='8' x2='8' y1='2' y2='6'%3E%3C/line%3E%3Cline x1='3' x2='21' y1='10' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' x2='16' y1='2' y2='6'%3E%3C/line%3E%3Cline x1='8' x2='8' y1='2' y2='6'%3E%3C/line%3E%3Cline x1='3' x2='21' y1='10' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
}

/* Estado Hover (al pasar el mouse) */
.link--agenda a:hover {
    background-color: #000000 !important; /* Fondo negro */
    color: #ffffff !important; /* Mantiene las letras blancas */
}

/* Asegura que el icono también cambie o se mantenga visible en el hover */
.link--agenda a:hover::before {
    background-color: #ffffff; 
}


/* #MAIN */
.site-main {
	flex       : 1; 
	padding-top: var(--h-header);
	margin     : 0;
}


	.site-main.post .container--gr .d--grid {
		display: grid;
		grid-template-columns: 1fr 300px;
		gap: 60px;
	}

	.site-main.post .container--gr .d--grid > div {
		width: 100%;
	}


	.page-content, 
	.entry-content, 
	.entry-summary {
		margin: 0
	}


	.widget-title {
		font-size: var(--size-5);
		font-weight: 600;
	}


#secondary {
	display: none;
}
.col--right #secondary {
	display: block;
}

/* #Cabezal */
.sec--cabezal {
	padding-top   : 20px !Important;
	padding-bottom: 30px !important;
}


.cate--abc-municipal .sec--cabezal {
	background-color: var(--cate-1);
}
.cate--desarrollo-social-y-ambiental .sec--cabezal {
	background-color: var(--cate-2);
}
.cate--espacios-publicos-y-convivencial .sec--cabezal {
	background-color: var(--cate-3);
}
.cate--patrimonio-y-cultura .sec--cabezal {
	background-color: var(--cate-4);
}
	
.sec--cabezal .col--left {
		padding-left: 0 !important;
	}
.sec--cabezal .col--right {
		/*padding-right: 90px !important;*/
	}

	.sec--cabezal .wpb_text_column {
			/*transform   : translateY(-38px);*/
			padding-left: 0;
		}

	.sec--cabezal .wpb_text_column p {
			text-align: justify;
			hyphens   : auto;
		}

.sec--cabezal img {
	max-width: 94% !important
}

		
	/* tit */
	.sec--cabezal .wpb_text_column {
		margin-bottom: 0 !important;
		transform    : translatey(3px);

	}
	.sec--cabezal p {
		color        : var(--fff);
		font-size    : 1.2rem;
		margin-bottom: 0;
	}

	.sec--cabezal strong {
		font-weight: 800;
	}

	/*.sec--cabezal .tx--subtitulo {
		padding-bottom: 30px;
		border-bottom : 2px solid #fff
	}*/

	/* img */
	.sec--cabezal .wpb_single_image.vc_align_left {
		margin-bottom: 0 !important
	}

	.sec--cabezal * {
		color: var(--fff);
	}






/* #FOOTER */
.site-footer {
	width           : 100%;
	background-color: #c2cc50;
	color           : var(--000);
	padding         : 0;
}

	.site-footer .container--gr section.d--grid {
		display              : grid;
		/*grid-template-columns: auto repeat(3, 1fr);*/
		grid-template-columns: auto auto auto 1fr;
		gap                  : 60px;
		align-items          : flex-start;
		padding              : 60px 30px
	}

	.site-footer a {
		text-decoration: none;
	}
.site-footer a:hover {
		text-decoration: underline;
	}
	.site-footer p {
		margin-bottom: 0;
		font-size: .95rem
	}

#custom_html-2 {
	left: -30px
}





/* ==========================================================================
   5. CUSTOM STYLES (ESPECÍFICO DEL SITIO)
 ========================================================================== */



/* #HOME */

.home .entry-header {
	display: none
}
/*
.sec--intro .col--svg .wpb_raw_code .wpb_wrapper {
	width: 100% !important;
	max-width: 100% !important;
	height: 0;
}
*/
.sec--intro h2 {
	font-weight: 900;
}
.sec--intro h2 small {
	font-weight: 600;
}

.cont--svg div {
	width: 100%;
	height: 0 !important;
	padding-top: 56%
}

.cont--svg div svg {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain
}

.firma {
	margin-bottom: 15px !important;
}
.firma img {
	max-height: 70px;
}

.sec--plan .cont--tit {
	margin-bottom: 0;
	transform    : translateY(-39px);
	font-size    : var(--size-3)
}

.sec--entrada .vc_general {
	width           : auto;
	border-radius   : 30px !important;
	color           : #fff !important;
	background-image: none !important;
	font-weight     : 600 !important;
}

.sec--entrada.uno .vc_general {
	background-color: #F15F32 !important;
	border: 1px solid #F15F32 !important;
}
.sec--entrada.dos .vc_general {
	background-color: #1FB357 !important;
	border: 1px solid #1FB357 !important;
}
.sec--entrada.tres .vc_general {
	background-color: #7C499D !important;
	border: 1px solid #7C499D !important;
}
.sec--entrada.cuatro .vc_general {
	background-color: #E5B22C !important;
	border: 1px solid #E5B22C !important;
}

.sec--entrada .vc_general:hover {
	background-color: #000 !important;
	border: 1px solid #000 !important;
}

.sec--entrada img {
	left: auto;
}

.sec--entrada p {
	font-size: 1.18rem;
	line-height: 1.5;
}

.sec--entrada .wpb_single_image {
	margin-bottom: 0 !important;
}



/* #CATE'S --------------- */


.cate--1 .sec--contenido h1,
.cate--1 .sec--contenido h2,
.cate--1 .sec--contenido h3,
.cate--1 .sec--contenido h4,
.cate--1 .sec--contenido h5,
.cate--1 .sec--contenido h6 {
	color: var(--cate-1);
	margin-bottom: 15px;
}
.cate--2 .sec--contenido h1,
.cate--2 .sec--contenido h2,
.cate--2 .sec--contenido h3,
.cate--2 .sec--contenido h4,
.cate--2 .sec--contenido h5,
.cate--2 .sec--contenido h6 {
	color: var(--cate-2);
	margin-bottom: 15px;
}
.cate--3 .sec--contenido h1,
.cate--3 .sec--contenido h2,
.cate--3 .sec--contenido h3,
.cate--3 .sec--contenido h4,
.cate--3 .sec--contenido h5,
.cate--3 .sec--contenido h6 {
	color: var(--cate-3);
	margin-bottom: 15px;
}
.cate--4 .sec--contenido h1,
.cate--4 .sec--contenido h2,
.cate--4 .sec--contenido h3,
.cate--4 .sec--contenido h4,
.cate--4 .sec--contenido h5,
.cate--4 .sec--contenido h6 {
	color        : var(--cate-4);
	margin-bottom: 15px;
}

.sec--contenido p {
	text-align: justify;
	hyphens   : auto;
}

.column--2-fix .wpb_wrapper,
.column--2 .wpb_text_column .wpb_wrapper {
	column-count: 2;
	column-gap  : 60px;

	width: 100%;
}

.justify,
.justify p {
	text-align: justify;
	hyphens   : auto;
}

.img--full,
.img--full figure,
.img--full figure div,
.img--full img {
	width: 100% !important;
}


.bg--textura {
	width: 100%;
	height: 100px;
	background-image: url(https://plandelb.com/wp-content/uploads/2026/04/textura.png);
	background-position: center;
	background-repeat: repeat-x;
	background-size: auto;
	
	margin-bottom: 60px
}



/* Noticias */
	
	/* tit */
	.sec--noticias h4.cont--tit {
		font-size: var(--size-4) !important;
	}

	/* tit */
	.sec--noticias .vc_gitem-zone h4 {
		font-size: var(--size-6) !important;
	}

	/* btn */
	.cate--1 .sec--noticias .vc_general {
		background-color: var(--cate-1) !important;
		font-weight     : 600 !important;
		border-radius   : 30px !important;
	}
	.cate--2 .sec--noticias .vc_general {
		background-color: var(--cate-2) !important;
		font-weight     : 600 !important;
		border-radius   : 30px !important;
	}
	.cate--3 .sec--noticias .vc_general {
		background-color: var(--cate-3) !important;
		font-weight     : 600 !important;
		border-radius   : 30px !important;
	}
	.cate--4 .sec--noticias .vc_general {
		background-color: var(--cate-4) !important;
		font-weight     : 600 !important;
		border-radius   : 30px !important;
	}
	.sec--noticias .vc_general:hover {
		background-color: var(--000) !important;
	}

	.sec--noticias .vc_gitem_row .vc_gitem-col {
		background-color: var(--fff);
	}
	.cate--1 .sec--noticias .vc_gitem_row .vc_gitem-col {
		border-bottom: 2px solid var(--cate-1);
	}
	.cate--2 .sec--noticias .vc_gitem_row .vc_gitem-col {
		border-bottom: 2px solid var(--cate-2);
	}
	.cate--3 .sec--noticias .vc_gitem_row .vc_gitem-col {
		border-bottom: 2px solid var(--cate-3);
	}
	.cate--4 .sec--noticias .vc_gitem_row .vc_gitem-col {
		border-bottom: 2px solid var(--cate-4);
	}



/* Galeria */
.vc_gitem-zone .vc-zone-link {
    position: relative;
    display: inline-block;
    text-decoration: none;
}

.vc_gitem-zone .vc-zone-link::after {
    /* Contenido de Font Awesome 6 */
    content: "\f002"; 
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /* Requerido para iconos solid */
    
    /* Posicionamiento */
    position: absolute;
    bottom: 20px; /* Ajusta según qué tanto quieras que sobresalga */
    right: 20px;
    
    /* Estilo circular y colores */
    background-color: #ffffff;
    color: #000000;
    width: 35px;  /* Tamaño del círculo */
    height: 35px;
    border-radius: 50%;
    
    /* Centrado del icono */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Opcional: una sombra para que resalte sobre el fondo */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    
    /* Ajuste de tamaño del icono */
    font-size: 14px;
    transition: all .3s ease;
}

.cate--1 .vc_gitem-zone .vc-zone-link::after {
	color: var(--cate-1);
}
.cate--2 .vc_gitem-zone .vc-zone-link::after {
	color: var(--cate-2);
}
.cate--3 .vc_gitem-zone .vc-zone-link::after {
	color: var(--cate-3);
}
.cate--4 .vc_gitem-zone .vc-zone-link::after {
	color: var(--cate-4);
}

.vc_gitem-zone .vc-zone-link:hover::after {
	transform: scale(1.15);
}

.sec--noticias .vc_gitem-zone .vc-zone-link::after {
	display: none !important;
}


/* AUdios */
.col--audio,
.vc_row.vc_column-gap-30>.vc_column_container.col--audio {
	padding-top: 0 !important;
}

	.box--audio audio {
		width: 100% !important;
	}



.sec--capital .tx--destacado,
.sec--capital p {
	color: var(--fff);
} 

.sec--capital .col--right,
.sec--capital .vc_row.vc_column-gap-30>.vc_column_container.col--right {
	padding-bottom: 0 !important;
}

.sec--capital .col--right:after {
	content            : '';
	width              : 100%;
	height             : 110px;
	background-size    : contain;
	background-repeat  : no-repeat;
	background-position: right bottom;
	background-image   : url(https://plandelb.com/wp-content/uploads/2026/04/image-8.png);
	position           : absolute;
	right              : 30px;
	bottom             : -15px;

	display: none;
}

	.sec--capital .border {
		background-color: #fff;
	}
	.sec--capital .border img {
		border: 5px solid #fff;
	}

	/*.sec--capital .figura {
		position: absolute;
		right: 0;
		bottom: 0;
	}*/

	.sec--capital .figura img {
		max-width: 55%;
		transform: translateY(0);
	}

	.column--2-fix p {
		text-align: justify;
		hyphens: auto;
	}




/* form */
div.wpforms-container-full input[type=date], div.wpforms-container-full input[type=datetime], div.wpforms-container-full input[type=datetime-local], div.wpforms-container-full input[type=email], div.wpforms-container-full input[type=month], div.wpforms-container-full input[type=number], div.wpforms-container-full input[type=password], div.wpforms-container-full input[type=range], div.wpforms-container-full input[type=search], div.wpforms-container-full input[type=tel], div.wpforms-container-full input[type=text], div.wpforms-container-full input[type=time], div.wpforms-container-full input[type=url], div.wpforms-container-full input[type=week], div.wpforms-container-full select, div.wpforms-container-full textarea, .wp-core-ui div.wpforms-container-full input[type=date], .wp-core-ui div.wpforms-container-full input[type=datetime], .wp-core-ui div.wpforms-container-full input[type=datetime-local], .wp-core-ui div.wpforms-container-full input[type=email], .wp-core-ui div.wpforms-container-full input[type=month], .wp-core-ui div.wpforms-container-full input[type=number], .wp-core-ui div.wpforms-container-full input[type=password], .wp-core-ui div.wpforms-container-full input[type=range], .wp-core-ui div.wpforms-container-full input[type=search], .wp-core-ui div.wpforms-container-full input[type=tel], .wp-core-ui div.wpforms-container-full input[type=text], .wp-core-ui div.wpforms-container-full input[type=time], .wp-core-ui div.wpforms-container-full input[type=url], .wp-core-ui div.wpforms-container-full input[type=week], .wp-core-ui div.wpforms-container-full select, .wp-core-ui div.wpforms-container-full textarea {
	border-color: #000 !important;
}


div.wpforms-container-full input[type=submit]:not(:hover):not(:active), div.wpforms-container-full button[type=submit]:not(:hover):not(:active), div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active) {
	background-color: #000 !important;
	color           : #fff !important;
	transition      : all .2s ease;
}
div.wpforms-container-full input[type=submit]:hover, div.wpforms-container-full input[type=submit]:active, div.wpforms-container-full button[type=submit]:hover, div.wpforms-container-full button[type=submit]:active, div.wpforms-container-full .wpforms-page-button:hover, div.wpforms-container-full .wpforms-page-button:active, .wp-core-ui div.wpforms-container-full input[type=submit]:hover, .wp-core-ui div.wpforms-container-full input[type=submit]:active, .wp-core-ui div.wpforms-container-full button[type=submit]:hover, .wp-core-ui div.wpforms-container-full button[type=submit]:active, .wp-core-ui div.wpforms-container-full .wpforms-page-button:hover, .wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
	background-color: var(--color-azul) !important;
	color           : #fff !important;
}



/* -------------------------------------------
#SIDEBAR & WIDGETS CUSTOM STYLES
------------------------------------------- */

/* Contenedor del Sidebar */
#secondary {
    padding: 20px;
    background-color: var(--fff); /* Usa tu variable de blanco */
    font-family: var(--font);
}

/* Estilo General del Widget */
.widget {
    margin-bottom: var(--espacio-40); /* 40px según tus variables */
    padding-bottom: var(--espacio-20);
}

/* Títulos de los Widgets */
.widget-title {
    font-size: var(--size-6); /* Aproximadamente 2.15rem según tu config */
    font-weight: 700; /* Siguiendo el estilo de tus h2/intro */
    color: var(--color-texto);
    margin-bottom: var(--espacio-20);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing);
    display: flex;
    align-items: center;
}

/* Línea decorativa bajo el título (estilo Municipio B) */
.widget-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 4px;
    background-color: var(--000); /* Color base negro */
    margin-left: 15px;
}

/* Listas dentro de Widgets (Categorías, Archivos, etc.) */
.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget ul li {
    padding: 10px 0;
    border-bottom: 1px solid var(--eee);
    font-size: var(--size);
    transition: var(--transition);
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget ul li a {
    text-decoration: none;
    color: var(--color-texto);
    display: block;
    transition: padding-left 0.3s ease;
}

.widget ul li a:hover {
    color: var(--color-azul); /* Tu color destacado azul */
    padding-left: 5px;
}

/* Adaptación dinámica por categoría (Opcional) */
/* Si el body tiene las clases cate--1, cate--2, etc. */
.cate--1 .widget-title::after { background-color: var(--cate-1); }
.cate--2 .widget-title::after { background-color: var(--cate-2); }
.cate--3 .widget-title::after { background-color: var(--cate-3); }
.cate--4 .widget-title::after { background-color: var(--cate-4); }

/* Input de búsqueda en el widget */
.widget .search-field {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--000);
    border-radius: var(--radius);
    font-family: var(--font);
}

.widget .search-submit {
    margin-top: 10px;
    width: 100%;
    /* Reutiliza el estilo de tus botones .btn */
}


/* #FOOTER */


.municipio-contacto {
	padding       : 0;
	display       : flex;
	flex-direction: column;
	gap           : 15px;
	max-width     : fit-content;
}

	.contacto-item {
		display              : grid;
		grid-template-columns: auto 1fr;
		align-items          : center;
		gap                  : 15px;
	}

	.contacto-item.x {
		margin-top: 26px
	}

	.contacto-item i {
		font-size : 24px;
		color     : #000;
		text-align: center;
		width     : 30px
	}

	.contacto-item span {
		font-weight: 600;
		color      : #000;
		line-height: 1;
	}
	.fa-x-twitter {
	    font-weight: 900;
	}

	/* Para la negrita de los dos primeros */
	.fw-bold {
	    font-weight: bold !important;
	}

	/* Reset de links para que no se vean azules o subrayados */
	.contacto-item a {
		text-decoration      : none;
		color                : inherit;
		display              : grid;
		grid-template-columns: auto 1fr;
		align-items          : center;
		gap                  : 15px;
	}







/* AUDIOS */
.custom-audio-player {
    display: flex;
    align-items: center;
    gap: 20px;
    background-color: var(--color-azul);
    padding: 8px 22px 12px 22px;
    border-radius: 50px;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font);
    color: white;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.box--audio.linea--1,
.box--audio.linea--2,
.box--audio.linea--3,
.box--audio.linea--4 {
    margin-bottom: 25px !important
}

.box--audio.linea--1 .custom-audio-player,
.box--audio.linea--2 .custom-audio-player,
.box--audio.linea--3 .custom-audio-player,
.box--audio.linea--4 .custom-audio-player {
     padding: 22px;
}

.box--audio.linea--1 .custom-audio-player {
    background-color: var(--cate-1);
}
.box--audio.linea--2 .custom-audio-player {
    background-color: var(--cate-2);
}
.box--audio.linea--3 .custom-audio-player {
    background-color: var(--cate-3);
}
.box--audio.linea--4 .custom-audio-player {
    background-color: var(--cate-4);
}

.player-btn {
    background: white;
    border: none;
    color: var(--color-azul);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background-color 0.2s;
    flex-shrink: 0;
}

.player-btn img {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important
}

.player-btn:hover {
    transform: scale(1.08);
    background-color: #ccc;
}

/* Contenedor que empuja la barra y textos a ocupar el resto del ancho */
.player-controls-wrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.audio-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
    font-weight: 500;
}

.time-display {
    font-size: 0.85rem;
    opacity: 0.85;
}

/* Estilizando la barra de progreso */
.progress-bar {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.45); /* Fondo de la barra semi-transparente */
    outline: none;
    cursor: pointer;
}

/* El "tirador" o bolita de la barra (Chrome, Safari, Edge) */
.progress-bar::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: white;
	border: 1px solid #ccc !important;
    transition: transform 0.1s;
}

.progress-bar::-webkit-slider-thumb:hover {
    transform: scale(1.3);
}

/* El "tirador" o bolita de la barra (Firefox) */
.progress-bar::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border: none;
    border-radius: 50%;
    background: white;
    transition: transform 0.1s;
    cursor: pointer;
	border: 1px solid #ccc !important;
	
}

.progress-bar::-moz-range-thumb:hover {
    transform: scale(1.3);
}


.sec--capital .custom-audio-player {
	 background-color: #fff;
}
.sec--capital .custom-audio-player * {
	 color: var(--color-azul) !important
}
.sec--capital .player-btn {
	 background-color: var(--color-azul) !important;
}


/* 1. Preparamos el contenedor padre y definimos las bases del pseudo-elemento */
.img--full[class*="linea-"] a {
	position: relative;
	display: inline-block; /* O 'block', según tu diseño, para que admita el posicionamiento del :after */
	padding-bottom: 28px
}

.img--full[class*="linea-"] a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px; /* El desplazamiento que solicitaste */
	height: 30px; /* Reemplaza el grosor del antiguo border-bottom */
}

/* 2. Asignamos el color de fondo correspondiente a cada línea */
.img--full.linea-1 a::after {
	background-color: var(--cate-1) !important;
}

.img--full.linea-2 a::after {
	background-color: var(--cate-2) !important;
}

.img--full.linea-3 a::after {
	background-color: #E6B028 !important;
}

.img--full.linea-4 a::after,
.img--full.linea-4 a {
	background-color: #783D8D !important;
}



