.col-xs-15,
.col-sm-15,
.col-md-15,
.col-lg-15 {
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}
.col-xs-15 {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
.col-sm-15 {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-15 {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-15 {
        width: 20%;
        float: left;
    }
}
/****************************/
body, .body-innerwrapper {
	background: #000 !important;
	color:#000 !important;
	font-family: inherit;
	font-size: 13px;
}
.row {
	margin-top: 10px;
	margin-bottom: 10px;
}
p {
	text-align: justify;
}
strong {
	color: #FF6600;
}
.table > thead > tr > th {
	text-align: center;
}
#sp-top-bar {
	display: none;
}
#sp-header {
	height: 120px;
	border: 3px solid #222;
	border-radius: 10px;
	margin-top: 5px;
	max-width: 1040px;
	margin: 0 auto;
}
#sp-main-body {
	padding: 0;
}
#sp-header .container, #sp-main-body .container, #sp-footer .container{
	max-width:1040px;
}
/*#sp-component{
	background:#fff url(../../../images/contenido/backposts.png) no-repeat;
	background-position:center center;
	border-radius:5px;
	min-height: 350px;
}*/
.filascontenido {
	background: #fff url(../../../images/contenido/backposts.png) no-repeat;
	background-position: center center;
	border-radius: 5px;
	min-height: 350px;
	padding: 15px;
	display: block;
}
/*#sp-component img{
	margin:0 auto;
}*/
.filascontenido img {
	margin: 0 auto;
	border-radius: 10px;
}
/*#sp-component h2{
	background:#FF9900;
	color:#fff;
	padding:5px 10px;
	border-radius:5px;
}*/
.filascontenido h2, .filascontenido h3 {
	background: #FF9900;
	color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
}
/*#sp-component h2:before{
	content:url(../../../images/contenido/vineta-titulos.png);
	position:relative;
	top:2px;
}*/
.filascontenido h2:before, .filascontenido h3:before {
	content: url(../../../images/contenido/vineta-titulos.png);
	position: relative;
	top: 2px;
}
h3.sp-module-title {
	background: #FF9900;
	color: #fff;
	font-weight: bold;
	padding: 5px;
	margin-bottom: 5px !important;
	border-radius: 5px;
}
h3.sp-module-title:before {
	content: url(../../../images/contenido/vineta-menu.png);
	position: relative;
	top: 2px;
	margin-right: 5px;
}
a {
	outline: 0 !important;
}
#sp-footer {
	font-weight: bold;
	border-radius: 5px;
	max-width: 1040px;
	margin: 0 auto;
}
#sp-footer .row {
	max-width: 1070px;
	margin:0;
}
#sp-footer1, #sp-footer2, #sp-footer3, #sp-footer4 {
	background: rgba(0,0,0,0.8);
}
#sp-footer1 .mod-title{margin-top: 18px;}
#sp-footer1 .color2, #sp-footer1 .e-mail a{color: #ff6600;}
#sp-footer1 address dt{margin-bottom: 18px;}
#sp-footer1 .address1{display: block; text-align: left;}
#sp-footer1 .address1 dd div {
    min-width: 70px;
    display: inline-block;
    text-align: left;
}
/*.left-custom-class .menu li.active a {
	background: #222;
	color: #FF6600;
	font-weight: bold;
	margin-left: 10px;
}*/
/*.left-custom-class .menu li{
	border-color:#222;
	padding:5px 0;
}*/
.left-custom-class .menu li {
	border-color: #222;
	padding: 5px 0;
	background: #373737;
	background: -moz-linear-gradient(top, #373737 0%, #4c4c4c 25%, #383838 50%, #141414 100%);
	background: -webkit-linear-gradient(top, #373737 0%, #4c4c4c 25%, #383838 50%, #141414 100%);
	background: linear-gradient(to bottom, #373737 0%, #4c4c4c 25%, #383838 50%, #141414 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#373737', endColorstr='#141414', GradientType=0 );
	border: 2px #2c2c2c solid;
	border-radius: 5px;
}
.left-custom-class .menu li a {
	color: #FF9900;
	padding-left: 10px;
	border-radius: 8px;
	line-height: 10px;
	font-size:12px;
}
.left-custom-class .menu li a:hover, .left-custom-class .menu li a:focus {
	background: none;
}
.left-custom-class .menu li:hover, .left-custom-class .menu li:focus {	
	background: #2c2c2c;
	background: -moz-linear-gradient(top, #2c2c2c 0%, #785a36 82%);
	background: -webkit-linear-gradient(top, #2c2c2c 0%, #785a36 82%);
	background: linear-gradient(to bottom, #2c2c2c 0%, #785a36 82%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2c2c2c', endColorstr='#785a36', GradientType=0 );
}
.left-custom-class .menu li.active a {
	font-weight: bold;
	color: #fff;
}
.left-custom-class .menu li:hover a, .left-custom-class .menu:focus li a {
	color: #fff;
}
#offcanvas-toggler > i {
	color: #fff;
}
#offcanvas-toggler {
	display: none !important;
}
.bottomcursos.filascontenido {
	min-height: 0 !important;
	margin: 10px 0;
	padding: 0px;
}
.bottomdestacados {
	display: block;
}
.bottomdestacados.filascontenido {
	min-height: 0 !important;
	margin: 10px 0;
	padding: 0px;
}
.bottomcursos .moduletable, .bottomdestacados .moduletable {
	padding: 15px;
}
.calendario table {
	width: 100%;
}
.calendario table th, .calendario table td {
	text-align: center;
}
.calendario .jcalpro_calendar_month a {
	color: #fff;
	font-weight: bold;
}
.calendario .jcalpro_calendar .jcalpro_calendar_nav_button, .calendario .jcalpro_calendar .jcalpro_calendar_nav_button:link, .calendario .jcalpro_calendar .jcalpro_calendar_nav_button:visited, .calendario .jcalpro_calendar .jcalpro_calendar_nav_button:hover, .calendario .jcalpro_calendar .jcalpro_calendar_nav_button:active {
	float: left;
	margin: 0 3px;
}
.calendario .jcalpro_calendar {
	margin-top: 15px;
}
.calendario .jcalpro_calendar .jcalpro_calendar_sunday {
	color: rgb(255, 102, 0);
}
#jcl_component .powered_by {
	display: none;
}
table.table th {
	color: #FF6600;
}
img.sp-default-logo {
	max-height: 95px;
}
.pdfs img {
	max-height: 150px !important;
}
.permisos-img img {
	max-width: 131px;
	max-height: 100px;
}
.permisos-img a {
	font-weight: bold;
}
#cboxContent .entry-header h2 {
	background: #FF9900;
	color: #fff;
	padding: 5px 10px;
	border-radius: 5px;
}
#cboxContent .entry-header h2:before {
	content: url(../../../images/contenido/vineta-titulos.png);
	position: relative;
	top: 2px;
}
#cboxContent img {
	border-radius: 10px;
}
/*@media(min-width:992px){
div[itemprop="articleBody"] .col-md-4 {
	width:25% !important;
}
}*/
#faceb {
    width: 200px;
    position: relative;
    top: 90px;
    float: right;
    padding-right: 35px;
    margin-right: 90px;
}
#faceb a {
	color: #fff;
	font-weight: bold;
}
#faceb img {
	float: right;
}
#faceba {
	font-weight: bold;
	width: 285px;
	padding-right: 15px;
}
#faceba img {
	float: right;
}

div.social-icons {
    position: relative;
    top: 80px;
    float: right;
    padding-right: 35px;
    margin-right: 90px;
}
div.social-icons span {
	color: #fff;
	font-weight: bold;
}
div.social-icons a {
    display: inline-block;
	margin-left: 5px;
}

.sp-module ul > li > a::before {
    margin-right: 5px;
	content:url(../../../images/contenido/vineta-y.png);
	position:relative;
	top:1px;
}
.sp-module ul > li.active > a:before, .sp-module ul > li:hover > a:before {
	content:url(../../../images/contenido/vineta-w.png);
}
#sp-main-body .container{
	position:relative;
	top:-20px;
}
@media(max-width:400px) {
#sp-footer {
    background-size: cover;
}
div.social-icons{top: 15px!important; margin-right: 15px!important; padding-right: 0!important;}
div.social-icons span{display: none;}
}
@media(max-width:530px) {
.fbtext {
	display: none;
}
div.social-icons{top: 70px; margin-right: 15px!important;}
div.social-icons span{display: none;}
}

@media(max-width:768px) {
#offcanvas-toggler {
	display: block !important;
}
.view-responsive {
	display: none !important;
}
#sp-main-body {
	padding: 0px;
}
#sp-component {
	padding: 15px;
	border-radius: 0;
}
img.sp-default-logo {
	max-height: 100px;
}
#sp-main-body .container{
	position:relative;
	top:-65px;
}
div.social-icons{top: 70px; margin-right: 30px;}
}

@media(min-width:768px) and (max-width:991px) {
img.sp-default-logo {
	top:10px;
	position:relative;
}
}
.col-lg-2
{
	width: 19.666667% !important;
}

/* Additional Joomla 6 / Bootstrap 5 Compatibility Fixes */
#sp-top-bar {
    display: none !important;
}

body, .body-innerwrapper {
    background: #000 !important;
}

#sp-header {
    background: #fff;
    border: 3px solid #222;
    border-radius: 10px;
    margin-top: 5px;
    max-width: 1040px;
    margin: 10px auto;
}

#sp-main-body .container, #sp-footer .container {
    max-width: 1040px;
}

/* Sidebar Module Styling (Botonera) */
.sp-module {
    margin-bottom: 20px;
}

.sp-module .sp-module-title, h3.sp-module-title {
    background: #FF9900 !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 15px;
    padding: 8px 12px !important;
    margin-bottom: 8px !important;
    border-radius: 5px;
    text-transform: uppercase;
    display: block;
}

.sp-module .sp-module-title:before, h3.sp-module-title:before {
    content: url(../../../images/contenido/vineta-menu.png);
    position: relative;
    top: 2px;
    margin-right: 8px;
}

/* Left Menu Module Buttons (Botonera) */
.sp-module ul.menu, .left-custom-class .menu, .sp-module .nav {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.sp-module ul.menu > li, .left-custom-class .menu > li, .sp-module .nav > li {
    margin-bottom: 5px;
    background: #373737;
    background: linear-gradient(to bottom, #373737 0%, #4c4c4c 25%, #383838 50%, #141414 100%);
    border: 2px #2c2c2c solid;
    border-radius: 5px;
    transition: all 0.2s ease;
}

.sp-module ul.menu > li > a, .left-custom-class .menu > li > a, .sp-module .nav > li > a {
    color: #FF9900 !important;
    font-weight: bold;
    font-size: 13px;
    padding: 8px 12px;
    display: block;
    text-decoration: none;
}

.sp-module ul.menu > li:hover, .sp-module .nav > li:hover {
    background: linear-gradient(to bottom, #2c2c2c 0%, #785a36 82%);
}

.sp-module ul.menu > li:hover > a, .sp-module .nav > li:hover > a, .sp-module ul.menu > li.active > a {
    color: #ffffff !important;
}

/* Article Title Box Header (Cabecera de la botonera) */
.entry-header h2, .page-header h1, article h2, .filascontenido h2, .filascontenido h3 {
    background: #FF9900 !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 18px;
    padding: 10px 15px !important;
    border-radius: 5px;
    margin-top: 0;
    margin-bottom: 15px;
}

.entry-header h2:before, .page-header h1:before, article h2:before, .filascontenido h2:before {
    content: url(../../../images/contenido/vineta-titulos.png);
    position: relative;
    top: 3px;
    margin-right: 8px;
}

/* Fix for Girl holding L image at bottom of article */
.img-responsive, .col-md-4 img, article img {
    max-width: 100% !important;
    height: auto !important;
}
/* Fix Article White Background */
#sp-main-body {
    background: transparent !important;
    padding-top: 10px !important;
    padding-bottom: 20px !important;
}

#sp-component, article.item, .item-page, .filascontenido {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 25px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    min-height: 450px !important;
}

#sp-component p, #sp-component li, #sp-component td, #sp-component span, article p, article li {
    color: #333333 !important;
    font-size: 14px;
    line-height: 1.6;
}

/* Disable Sticky Header Scroll Displacement */
#sp-header, .is-sticky #sp-header, #sp-header-sticky-wrapper, .sticky-wrapper {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    float: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Header Boxed Layout */
#sp-header {
    background: #ffffff !important;
    border: 3px solid #222222 !important;
    border-radius: 10px !important;
    max-width: 1040px !important;
    margin: 10px auto !important;
    height: 120px !important;
}

/* Hide top bar */
#sp-top-bar {
    display: none !important;
}

/* Responsive Image Fix for Girl holding L sign */
article img, .img-responsive, .col-md-4 img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px;
}
/* Hide post-format (blue pin icon) and article-info (metadata line) */
.post-format, span.post-format, .article-info, dl.article-info, dd.category-name, dd.published, dd.hits {
    display: none !important;
}

/* Make article title header background span 100% full width */
.entry-header, .page-header {
    width: 100% !important;
    display: block !important;
    margin-bottom: 15px !important;
}

.entry-header h2, .page-header h1, article h2, .filascontenido h2 {
    width: 100% !important;
    display: block !important;
    background: #FF9900 !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 18px;
    padding: 10px 15px !important;
    border-radius: 5px;
    margin-top: 0;
    margin-bottom: 15px;
    box-sizing: border-box !important;
}

.entry-header h2:before, .page-header h1:before, article h2:before, .filascontenido h2:before {
    content: url(../../../images/contenido/vineta-titulos.png);
    position: relative;
    top: 3px;
    margin-right: 8px;
}
/* 1. Title header overflow fix - Keep strictly inside article container */
.entry-header.has-post-format, .entry-header, .page-header {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.entry-header h2, .entry-header.has-post-format h2, .page-header h1, article h2, .filascontenido h2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 15px !important;
    box-sizing: border-box !important;
    display: block !important;
    background: #FF9900 !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 18px;
    border-radius: 5px;
    float: none !important;
    position: relative !important;
    left: 0 !important;
}

/* 2. Hide "Expirado" label & post-format metadata */
.label-warning, span.label-warning, .label, .post-format, span.post-format, .article-info, dl.article-info {
    display: none !important;
}



.carousel-control-prev, .carousel-control-next {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    width: 10% !important;
    max-width: 60px !important;
    z-index: 5 !important;
}

.carousel-control-prev {
    left: 0 !important;
}

.carousel-control-next {
    right: 0 !important;
}
/* Hide article pagenavigation (Anterior / Siguiente buttons) and social share */
nav.pagenavigation, .pagenavigation, .sp-social-share, .helix-social-share, ul.pagenav {
    display: none !important;
}

/* Restore dark footer color and remove bright cyan blue border */
#sp-footer, footer#sp-footer {
    background: #181818 !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    padding: 25px 0 !important;
}

#sp-footer a {
    color: #FF9900 !important;
    text-decoration: none !important;
}

#sp-footer .copyright, #sp-footer .sp-copyright {
    color: #aaaaaa !important;
    font-size: 13px !important;
}

#sp-bottom {
    background: #222222 !important;
    border: none !important;
    padding: 30px 0 !important;
}

/* Ensure no cyan blue outline/border on any footer section */
#sp-footer-wrapper, .sp-footer-wrap, #sp-footer div {
    border-color: transparent !important;
}
/* Hide all carousel controls (prev/next buttons) */
.carousel-control-prev, .carousel-control-next, button.carousel-control-prev, button.carousel-control-next {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
/* Remove fuzzy drop shadows from all content cards and apply clean flat separation */
#sp-component, article.item, .item-page, .filascontenido, .bottomcursos, .bottomdestacados {
    box-shadow: none !important;
    border-radius: 4px !important;
}

/* Independent White Cards for Article, Bottom Cursos, and Bottom Destacados */
article.item, .item-page {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

.bottomcursos {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: block !important;
    clear: both !important;
}

.bottomdestacados {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: block !important;
    clear: both !important;
}

/* Ensure module headers inside bottomcursos and bottomdestacados span 100% width cleanly */
.bottomcursos h3.sp-module-title, .bottomdestacados h3.sp-module-title {
    width: 100% !important;
    display: block !important;
    background: #FF9900 !important;
    color: #ffffff !important;
    font-weight: bold;
    font-size: 18px;
    padding: 10px 15px !important;
    border-radius: 4px;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.bottomcursos h3.sp-module-title:before, .bottomdestacados h3.sp-module-title:before {
    content: url(../../../images/contenido/vineta-menu.png);
    position: relative;
    top: 2px;
    margin-right: 8px;
}
/* Make #sp-component and its column container transparent so black background shows in gaps */
#sp-component, #sp-component .sp-column, #sp-main-body #sp-component {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Individual White Cards for Main Article, Bottom Cursos, and Bottom Destacados */
article.item, .item-page {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: block !important;
}

.bottomcursos {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: block !important;
    clear: both !important;
}

.bottomdestacados {
    background: #ffffff !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    display: block !important;
    clear: both !important;
}
/* Article Translucent L Logo Watermark (backposts.png) */
article.item, .item-page, .filascontenido {
    background: #ffffff url(../../../images/contenido/backposts.png) no-repeat center center !important;
    background-size: auto !important;
    color: #222222 !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
/* Permisos license title links styling */
.license-title-link {
    color: #004d8c !important;
    transition: color 0.2s ease-in-out;
}

.license-title-link:hover {
    color: #FF9900 !important;
    text-decoration: underline !important;
}

.permiso-card {
    transition: transform 0.2s, box-shadow 0.2s;
}

.permiso-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12) !important;
}
/* ==========================================================================
   Sidebar Menu Flat Dark Styling (No 3D Relief, No Glossy Gradient)
   ========================================================================== */

/* Menu Orange Header Banners */
.sp-module .sp-module-title {
    background: #FF9900 !important;
    color: #ffffff !important;
    padding: 8px 15px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* Sidebar Menu Items - Flat Charcoal Background */
.sp-module ul.nav > li,
.sp-module ul.menu > li {
    margin: 0 !important;
    padding: 0 !important;
}

.sp-module ul.nav > li > a,
.sp-module ul.menu > li > a {
    background: #373737 !important;
    color: #FF9900 !important;
    padding: 9px 15px 9px 30px !important;
    border-bottom: 1px solid #484848 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: block !important;
    box-shadow: none !important; /* NO 3D RELIEF */
    border-radius: 0 !important; /* NO ROUNDED PILLS */
    text-shadow: none !important;
    position: relative !important;
    transition: background 0.2s, color 0.2s !important;
    background-image: url(../../../images/contenido/vineta-y.png) !important;
    background-repeat: no-repeat !important;
    background-position: 12px center !important;
}

/* Hover State */
.sp-module ul.nav > li > a:hover,
.sp-module ul.menu > li > a:hover,
.sp-module ul.nav > li.active > a,
.sp-module ul.menu > li.active > a {
    background-color: #444444 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

/* Header Logo Image Sizing */
#sp-logo img.logo-image {
    max-height: 85px !important;
    width: auto !important;
    display: block !important;
}

/* Footer Clean Styling */
#sp-footer {
    background: #181818 !important;
    color: #aaaaaa !important;
    padding: 20px 0 !important;
    border-top: 1px solid #282828 !important;
}

#sp-footer a {
    color: #FF9900 !important;
    text-decoration: none !important;
}

/* ==========================================================================
   Clean Single Arrow Vignette for Sidebar Menu (No Double Arrows)
   ========================================================================== */

/* Completely disable ::before and ::after pseudo-elements on menu links */
.sp-module ul > li > a::before,
.sp-module ul > li > a::after,
.sp-module ul.menu > li > a::before,
.sp-module ul.menu > li > a::after,
.sp-module ul.nav > li > a::before,
.sp-module ul.nav > li > a::after {
    content: none !important;
    display: none !important;
}

/* Sidebar Module Title (Orange Banner with White L Circle Icon) */
.sp-module .sp-module-title {
    background: #FF9900 !important;
    color: #ffffff !important;
    padding: 8px 12px 8px 32px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    background-image: url(../../../images/contenido/vineta-titulos.png) !important;
    background-repeat: no-repeat !important;
    background-position: 8px center !important;
}

/* Sidebar Menu Items - Metallic Charcoal Gradient + Single Orange Arrow Vignette */
.sp-module ul.nav > li > a,
.sp-module ul.menu > li > a {
    background-color: #373737 !important;
    background-image: url(../../../images/contenido/vineta-y.png) !important;
    background-repeat: no-repeat !important;
    background-position: 12px center !important;
    color: #FF9900 !important;
    padding: 9px 15px 9px 32px !important;
    border-bottom: 1px solid #222222 !important;
    border-top: 1px solid #484848 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: block !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-shadow: none !important;
    transition: background 0.2s, color 0.2s !important;
}

/* Sidebar Menu Items - Hover & Active State (White Arrow Vignette + White Text) */
.sp-module ul.nav > li > a:hover,
.sp-module ul.menu > li > a:hover,
.sp-module ul.nav > li.active > a,
.sp-module ul.menu > li.active > a {
    background-color: #444444 !important;
    background-image: url(../../../images/contenido/vineta-w.png) !important;
    background-repeat: no-repeat !important;
    background-position: 12px center !important;
    color: #ffffff !important;
}

/* Footer Copyright Text Styling (No lone 1) */
#sp-footer {
    background: #181818 !important;
    color: #aaaaaa !important;
    padding: 15px 0 !important;
    border-top: 1px solid #282828 !important;
    text-align: center !important;
}

#sp-footer .sp-copyright {
    color: #ffffff !important;
    font-size: 13px !important;
    display: inline-block !important;
}

/* ==========================================================================
   FINAL CLEAN SIDEBAR MENU STYLING (Single L Title, Flat Lines, No Grey Boxes)
   ========================================================================== */

/* Module Title Banner: Single L text, no background image icon to prevent L L double */
.sp-module .sp-module-title,
h3.sp-module-title {
    background: #FF9900 !important;
    color: #ffffff !important;
    padding: 8px 15px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important; /* NO DOUBLE L IMAGE */
}

.sp-module .sp-module-title::before,
h3.sp-module-title::before {
    content: none !important;
    display: none !important;
}

/* Sidebar Menu List Container: Flat dark container, no rounded boxes */
.sp-module div.sp-module-content {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.sp-module ul.nav,
.sp-module ul.menu {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    list-style: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Sidebar Menu Item: Flat background, separated only by 1px bottom line */
.sp-module ul.nav > li,
.sp-module ul.menu > li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #333333 !important;
}

/* Sidebar Menu Link: Single Orange Arrow + Orange Text */
.sp-module ul.nav > li > a,
.sp-module ul.menu > li > a {
    background: transparent !important;
    background-image: none !important;
    color: #FF9900 !important;
    padding: 10px 15px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: block !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: none !important;
    text-shadow: none !important;
    transition: color 0.2s ease-in-out !important;
}

/* Single Arrow Vignette via ::before */
.sp-module ul.nav > li > a::before,
.sp-module ul.menu > li > a::before {
    content: url(../../../images/contenido/vineta-y.png) !important;
    display: inline-block !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

/* Hover & Active State: White Arrow + White Text */
.sp-module ul.nav > li > a:hover,
.sp-module ul.menu > li > a:hover,
.sp-module ul.nav > li.active > a,
.sp-module ul.menu > li.active > a {
    background: transparent !important;
    color: #ffffff !important;
}

.sp-module ul.nav > li > a:hover::before,
.sp-module ul.menu > li > a:hover::before,
.sp-module ul.nav > li.active > a::before,
.sp-module ul.menu > li.active > a::before {
    content: url(../../../images/contenido/vineta-w.png) !important;
}

/* ==========================================================================
   Module Title Header: Vineta-menu.png White L Circle Icon
   ========================================================================== */
.sp-module .sp-module-title,
h3.sp-module-title {
    background: #FF9900 !important;
    color: #ffffff !important;
    padding: 8px 12px 8px 36px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    position: relative !important;
}

.sp-module .sp-module-title::before,
h3.sp-module-title::before {
    content: url(../../../images/contenido/vineta-menu.png) !important;
    display: inline-block !important;
    position: absolute !important;
    left: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    line-height: 1 !important;
}

/* ==========================================================================
   Strict Mobile Responsive 2, 2, 1 Layout for Footer Centers
   ========================================================================== */

/* Mobile Viewports (< 768px): 2 Columns for Items 1-4, 1 Column for Item 5 */
@media (max-width: 767px) {
    .footer-center-row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .footer-center-col {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        float: left !important;
        box-sizing: border-box !important;
        padding: 0 8px !important;
        margin-bottom: 20px !important;
    }

    .footer-center-col.last-item {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 auto 20px auto !important;
    }

    .footer-center-col .map-container iframe {
        height: 140px !important;
    }
}

/* Desktop Viewports (>= 992px): 5 Columns in 1 Row */
@media (min-width: 992px) {
    .footer-center-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
    }

    .footer-center-col {
        width: 20% !important;
        max-width: 20% !important;
        flex: 0 0 20% !important;
        padding: 0 10px !important;
    }
}

/* ==========================================================================
   Top Right Social Icons ("Visítanos en:")
   ========================================================================== */

/* Position social icons in top right area next to header */
#sp-header .sp-module, 
.sp-module-social,
ul.social-icons {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.social-icons::before {
    content: "Visítanos en:" !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-right: 10px !important;
    display: inline-block !important;
}

ul.social-icons li {
    display: inline-block !important;
    margin-left: 5px !important;
    margin-bottom: 0 !important;
}

ul.social-icons li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: transform 0.2s, opacity 0.2s !important;
}

ul.social-icons li a:hover {
    transform: scale(1.1) !important;
    opacity: 0.9 !important;
}

/* Specific Brand Colors for Social Icons */
ul.social-icons li a .fa-facebook,
ul.social-icons li a[aria-label="facebook"] {
    background: #3b5998 !important;
    padding: 6px 9px !important;
    border-radius: 4px !important;
}

ul.social-icons li a[aria-label="twitter"] {
    background: #000000 !important;
    padding: 6px !important;
    border-radius: 4px !important;
}

ul.social-icons li a .fa-instagram {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
    padding: 6px !important;
    border-radius: 4px !important;
}

/* ==========================================================================
   Header Social Block ("Visítanos en:") - Visible in Header Top Right
   ========================================================================== */
#sp-header {
    position: relative !important;
}

.header-social-block {
    position: absolute !important;
    right: 25px !important;
    top: 25px !important;
    z-index: 1000 !important;
    display: flex !important;
    align-items: center !important;
}

.header-social-block .social-label {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-right: 10px !important;
}

.header-social-block .social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 4px !important;
    margin-left: 6px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: transform 0.2s, opacity 0.2s !important;
}

.header-social-block .social-icon:hover {
    transform: scale(1.1) !important;
    opacity: 0.9 !important;
}

.header-social-block .social-icon.fb {
    background: #3b5998 !important;
}

.header-social-block .social-icon.tw {
    background: #000000 !important;
}

.header-social-block .social-icon.ig {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
}

/* ==========================================================================
   Clean Header Top-Right Social Icons ("Visítanos en:")
   ========================================================================== */
#sp-header {
    position: relative !important;
}

.header-social-block {
    position: absolute !important;
    right: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
}

.header-social-block .social-label {
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin-right: 8px !important;
}

.header-social-block .social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 4px !important;
    margin-left: 5px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: transform 0.2s, opacity 0.2s !important;
}

.header-social-block .social-icon:hover {
    transform: scale(1.1) !important;
    opacity: 0.9 !important;
}

.header-social-block .social-icon.fb {
    background: #3b5998 !important;
}

.header-social-block .social-icon.tw {
    background: #000000 !important;
}

.header-social-block .social-icon.ig {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important;
}



#homeSlideshowCarousel .carousel-inner,
#homeSlideshowCarousel .carousel-item {
    height: 488px !important;
    background: transparent !important;
}

#homeSlideshowCarousel .carousel-item img {
    height: 488px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}



#homeSlideshowCarousel .carousel-inner,
#homeSlideshowCarousel .carousel-item {
    height: 520px !important;
    background: #000000 !important;
}

#homeSlideshowCarousel .carousel-item img {
    height: 520px !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}



#homeSlideshowCarousel .carousel-inner,
#homeSlideshowCarousel .carousel-item {
    height: 520px !important;
    background: #ffffff !important;
}

#homeSlideshowCarousel .carousel-item img {
    height: 520px !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

#homeSlideshowCarousel .carousel-indicators button {
    background-color: #333333 !important;
    border: 1px solid #ffffff !important;
}

#homeSlideshowCarousel .carousel-indicators button.active {
    background-color: #FF9900 !important;
}

/* ==========================================================================
   Dynamic Carousel Styling (Respects Admin Panel Width & Height)
   ========================================================================== */
.carousel-item img {
    max-height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

.carousel-indicators button {
    background-color: #333333 !important;
    border: 1px solid #ffffff !important;
}

.carousel-indicators button.active {
    background-color: #FF9900 !important;
}

/* ==========================================================================
   Clean Dynamic Carousel Styling (Allows Admin Panel Height/Width Control)
   ========================================================================== */
.carousel {
    position: relative;
    overflow: hidden;
    margin: 0 auto 20px auto;
    border-radius: 6px;
}

.carousel-inner {
    overflow: hidden;
}

.carousel-item img {
    max-height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

.carousel-indicators button {
    background-color: #333333 !important;
    border: 1px solid #ffffff !important;
}

.carousel-indicators button.active {
    background-color: #FF9900 !important;
}

/* ==========================================================================
   Uniform Gallery Thumbnails & Premium Lightbox Modal
   ========================================================================== */
.twoj-gallery-card {
    position: relative;
    height: 150px !important;
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #f8f9fa;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.25s cubic-bezier(0.2, 0, 0.2, 1), box-shadow 0.25s ease;
    cursor: pointer;
}

.twoj-gallery-card:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 20px rgba(0,0,0,0.18) !important;
}

.twoj-gallery-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 8px !important;
}

.twoj-modal-backdrop {
    background: rgba(0, 0, 0, 0.88) !important;
    backdrop-filter: blur(8px) !important;
}

.twoj-modal-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.twoj-modal-img {
    max-height: 85vh !important;
    max-width: 95vw !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6) !important;
}

.twoj-modal-close-btn {
    position: absolute !important;
    top: -15px !important;
    right: -15px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #000000 !important;
    opacity: 0.95 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    z-index: 1060 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
    transition: transform 0.2s ease, background 0.2s ease;
}

.twoj-modal-close-btn:hover {
    transform: scale(1.1);
    background: #FF9900 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Lightbox Modal Navigation Arrows (Prev / Next)
   ========================================================================== */
.twoj-modal-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    color: #111111 !important;
    border: none !important;
    font-size: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1065 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.4) !important;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}

.twoj-modal-prev {
    left: 15px !important;
}

.twoj-modal-next {
    right: 15px !important;
}

.twoj-modal-arrow:hover {
    transform: translateY(-50%) scale(1.15) !important;
    background: #FF9900 !important;
    color: #ffffff !important;
}