/*** General CSS ***/
.btn,  
#sp_qc_submit {
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff !important;
    background-color: rgba(0,0,0,0);
    border-radius: 5px;
    padding: 18px 15px 18px 15px !important;
    border: none;
    border: none;
    display: inline-block;
    position: relative;
    z-index: 1;
}
.btn:before,
.slider-btn a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0;
    background: #333;
    transform: scale3d(0.7, 1, 1);
    transition: transform 0.42s, opacity 0.42s;
    border-radius: inherit;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition:    all 0.2s ease-in-out;
    -ms-transition:     all 0.2s ease-in-out;
    -o-transition:      all 0.2s ease-in-out;
    transition:         all 0.2s ease-in-out;
}
.btn:hover:before,
.slider-btn a:hover::before {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

/*** Header Area ***/
/* Top Header */
#sp-top-bar {
    z-index: 2;
    position: relative;
}
/* Header Logo */

/*** Head ***/
#sp-header {
    top: 0;
    height: inherit;
    width: 100%;
    z-index: 2;
    box-shadow: none;
    max-width: 1320px;
    margin: 0 auto;
}
#sp-header .logo {
    height: 90px;
}
#sp-header.header-sticky {
    position: fixed;
    max-width: 100%;
    margin: 0 auto;
    top: 0;
  	box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
    padding: 0 10px 0 0px;
}
body:not(.home) #sp-header {
    box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
    position: static;
    max-width: 100%;
    margin: 0 auto;
}
body:not(.home) #sp-header.header-sticky {
    position: fixed;    
}
#sp-header.header-sticky .logo {
    height: 80px;
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
}
#sp-header.header-sticky .sp-megamenu-parent > li > a {
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
}
#sp-header .logo-image,
.sp-megamenu-parent > li > a {
    -webkit-transition: width .3s ease;
    -o-transition: width .3s ease;
    transition: width .3s ease;
}
.sp-megamenu-parent > li > span,
.sp-megamenu-parent > li > a {
    text-transform: uppercase;
}
.sp-megamenu-parent > li > span {
    color: #fff;
}
.sp-megamenu-parent > li a {
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.sp-megamenu-parent > li li a:hover {
    padding-left: 7px!important;
}
.sp-megamenu-parent > li li a:before {
    content: '+';
    left: -25px;
    width: 20px;
    position: relative;
    color: #001659;
    font-size: 18px;
    font-weight: 400!important;
    line-height: inherit;
    -webkit-transition: .2s ease-in-out;
    -o-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    opacity: 0;
}
.sp-megamenu-parent > li li a:hover:before {
    opacity: 1;
    left: -5px;
}
.sp-megamenu-parent > li:last-child > a {
    font-size: 13px;
    padding: 4px 14px !important;
    line-height: 2.5;
    margin: auto 0;
    margin-top: 25px;
    border-radius: 5px;
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    background-color: #242C33;
    max-width: 100px;
}

/* Canvas Menu */


/*** Block Styles ***/
/* Promotion Slider */


/*** What ***/
.what .sppb-col-md-4 {
    margin-bottom: 40px;
}
.what-colum {
    border: 1px solid #ddd;
}
.what-colum .sppb-icon-container i {
    width: 50px !important;
    height: 50px !important;
    line-height: 50px !important;
    border-radius: 5px;
}
.what-colum .clearfix {
    position: relative;
    z-index: 1;
}
.what-colum .clearfix:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    opacity: 0.5;
    z-index: -1;
}
/*** About ***/
.about-img img, .lt-carousel-filter img {
  	transition: all .4s ease-out 0s;
    -webkit-transition: all .4s ease-out 0s;
}
.about-img:hover img {
  	transform: scale(1.08);
}
/*** Carousel ***/
.carousel-colum .clearfix {
    float: left;
    width: 20%;
    padding: 0 10px;
}
.carousel-filter:hover img {
  	filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
}
/*** Team ***/
.team-colum {
    position: relative;
}
.team-colum .sppb-media-content {
    background: rgb(54, 54, 54);
    padding: 20px 10px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    transition: all .4s ease-out 0s;
    -webkit-transition: all .4s ease-out 0s;
}
.team-colum .team-icon {
    left: 0;
    right: 0;    
    opacity: 0;
    position: absolute;
    bottom: 95px;
    margin: auto;
    text-align: center;
    padding: 0 0 10px 0;
    color: #fff;
    transition: all .4s ease-out 0s;
    -webkit-transition: all .4s ease-out 0s;
}
.team-colum .sppb-img-container img {
    width: 100%;
}
.social-links {
    margin: 0;
    padding: 10px 0;
    list-style-type: none;
}
.social-links li {
    display: inline-block;
}
.social-links li a {
    font-size: 25px;
    display: inline-block;
    padding: 0 10px;
    color: #fff;
}
.social-links li a strong {
    display: none;
}
.team-colum:hover .sppb-media-content {
    bottom: 60px;
}
.team-colum:hover .team-icon {    
    opacity: 1;
    bottom: 0px;
}
/*** Client ***/
.client-star em {
    font-size: 25px;
    color: #fec736;
}
.client-star em strong {
    display: none;
}
.client-item img {
    border-radius: 5px;
}
.client-map-title-left, .lt-client-map-title-right {
    width: 50%;
    float: left;
}
.client-map-title-right {
    padding-left: 20px;
}
.client-map-title h3 {
    color: #242C33;
    font-family: 'Poppins';
    font-size: 36px;
    font-weight: 600;
    margin-top: 3px;
}
.client-map-title-right ul { 
    margin: 20px 0 0;
    padding: 0;
    list-style-type: none;
}
.client-map-title-right ul em { 
    padding-right: 10px;
}
.client-map-title-right ul em strong { 
    display: none;
}

/*** Contact Form ***/
#sp-quickcontact-form textarea#message {
    width: 100%;
    color: #495057;
    border: 1px solid rgba(0, 0, 0, .15);
    padding: 10px;
    font-size: 16px;
}
#sp-quickcontact-form input {
    width: 100%;
}
#sp-quickcontact-form .sp_qc_clr {
    display: none;
}
#sp-quickcontact-form textarea,
#sp-quickcontact-form input {
    margin-bottom: 20px;
    border-radius: 0;
}
#sp-quickcontact-form input#name,
#sp-quickcontact-form input#email {
    width: 49%;
    float: left;
    margin-right: 2%;
}
#sp-quickcontact-form input#email {
    margin-right: 0;
}
#sp-quickcontact-form #sp_qc_submit {
    width: auto;
    color: #fff;
    cursor: pointer;
    border-radius: 5px;
    padding: 12px 30px !important;
}

/* Bottom Area */


/* Footer Copyright */
#sp-footer .container-inner {
   text-align: center;
}

/*** Responsive Layout ***/
/* Tablet Landscape Layout */
@media (min-width: 1400px) {
    .sppb-row-container {
        max-width: 1320px;
    }
}
@media (min-width: 980px) and (max-width: 1199px) {

  
}

/* Tablet Portrait Layout */
@media (min-width: 768px) and (max-width: 979px) {

  
}
@media (max-width: 979px) {
  	#slider .clearfix {
    	margin-top: 0!important;
  	}
}

/* Mobile Standard Layout */
@media (max-width: 768px) {

  
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
	.carousel-colum .clearfix {
        width: 100%;
    }
}

/*** Color Variables ***/
/* Get Variables */
:root {
    --background-color: currentColor;
    --background: currentColor;
    --text-color: currentColor;
}

/* General */
.btn, 
.btn-slider a, 
#sp_qc_submit {
  	background: var(--background-color)!important;
}
#offcanvas-toggler .burger-icon>span,
.what-colum:hover .clearfix:before,
.what-colum .sppb-icon-container i,
.team-colum:hover .sppb-media-content, 
.team-colum:hover .team-icon, 
.contact-info i {
  	background: var(--background-color);
}
.what-colum:hover .what-title h3 {
    color: var(--text-color)!important;
}

/* Header */

/* Footer */

/* Blocks */

/*CSS CARRUSEL INICIO*/
.carousel-container {
  position: relative;
  width: 300px; /* ancho real de la imagen */
  overflow: hidden;
  margin: auto;
}

.carousel-track {
  display: flex;
  transition: transform 0.4s ease-in-out;
}

.carousel-track img {
  width: 300px;
  height: 200px;
  object-fit: contain; /* NO estira la imagen */
  flex-shrink: 0;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  z-index: 10;
}

.carousel-btn.prev {
  left: 5px;
}

.carousel-btn.next {
  right: 5px;
}

.carousel-container {
  width: 360px; /* 300 × 1.2 */
}

.carousel-track img {
  width: 360px;
  height: 240px;
}

/* ===============================
   PRENSA – DISEÑO VISUAL
================================ */

.prensa-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin: 40px 0;
}

.prensa-seccion {
  grid-column: 1 / -1;
  font-size: 26px;
  margin: 40px 0 15px;
  color: #61438f;
  border-bottom: 3px solid #f9b733;
  padding-bottom: 6px;
}

.prensa-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: all .3s ease;
}

.prensa-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(0,0,0,.15);
}

.prensa-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.prensa-card .item-content {
  padding: 20px;
}

.prensa-card h3 {
  font-size: 18px;
  color: #61438f;
  margin-bottom: 10px;
}

.prensa-card h3 a {
  text-decoration: none;
  color: inherit;
}

.prensa-card .item-introtext {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
}

.prensa-card .readmore a {
  display: inline-block;
  margin-top: 15px;
  padding: 8px 18px;
  background: #f9b733;
  color: #61438f;
  border-radius: 20px;
  font-weight: bold;
  text-decoration: none;
  transition: all .3s ease;
}

.prensa-card .readmore a:hover {
  background: #61438f;
  color: #fff;
}

.prensa-filtros {
  grid-column: 1 / -1;
  margin-bottom: 30px;
}

.prensa-filtros button {
  background: transparent;
  border: 2px solid #61438f;
  color: #61438f;
  padding: 8px 18px;
  margin-right: 10px;
  border-radius: 20px;
  cursor: pointer;
  transition: all .3s ease;
}

.prensa-filtros button.active,
.prensa-filtros button:hover {
  background: #61438f;
  color: #fff;
}

/* ===============================
   ARTÍCULO INDIVIDUAL – PRENSA
================================ */

.prensa-articulo {
  max-width: 900px;
  margin: 60px auto;
  padding: 0 20px;
}

.articulo-hero img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 30px;
}

.articulo-header {
  text-align: center;
  margin-bottom: 40px;
}

.articulo-categoria {
  display: inline-block;
  background: #f9b733;
  color: #61438f;
  padding: 6px 16px;
  border-radius: 20px;
  font-weight: bold;
  font-size: 13px;
  margin-bottom: 15px;
}

.articulo-header h1 {
  color: #61438f;
  font-size: 32px;
  line-height: 1.3;
}

.articulo-contenido {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
}

.articulo-contenido h2,
.articulo-contenido h3 {
  color: #61438f;
  margin-top: 40px;
}

.articulo-contenido img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 25px 0;
}

.prensa-articulo {
    padding-bottom: 60px;
}

/* Imagen grande arriba */
.prensa-hero img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

/* Contenedor */
.prensa-container {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 20px;
    text-align: left;
}

/* Etiqueta categoría */
.prensa-categoria {
    display: inline-block;
    background: #f3c344;
    color: #222;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    margin-bottom: 15px;
}

/* Título */
.prensa-titulo {
    font-size: 32px;
    margin: 10px 0 25px;
    color: #3a2b6a;
    text-align: center;
}

/* Contenido */
.prensa-contenido {
    font-size: 17px;
    line-height: 1.8;
}

.prensa-contenido p {
    margin-bottom: 18px;
}

.article-intro-image img{
    width:100%;
    border-radius:12px;
    object-fit:cover;
}

.video-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.video-thumb img {
  width: 100%;
  display: block;
  filter: brightness(0.9);
  transition: transform .3s ease;
}

.video-thumb::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: white;
  text-shadow: 0 0 15px rgba(0,0,0,.6);
}

.video-thumb:hover img {
  transform: scale(1.03);
}

.video-thumb {
  position: relative;
}

.video-thumb img {
  width: 100%;
  border-radius: 10px;
}

.play-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 42px;
  background: rgba(0,0,0,.55);
  color: #fff;
  padding: 14px 18px;
  border-radius: 50%;
}

.video-thumb:hover .play-badge{
  background:#f9b733;
  cursor:pointer;
}

.prensa-volver {
    margin-bottom: 20px;
}

.btn-volver {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    background: #0F3C64;   /* color principal */
    color: #fff;
    transition: 0.2s ease;
}

.btn-volver:hover {
    background: #1579A5;    /* color secundario */
}

.botonvolver {
    background: #f9b733;
    border: 2px solid #61438f;
    color: #61438f;
    padding: 8px 18px;
    margin-right: 10px;
    border-radius: 20px;
    cursor: pointer;
    transition: all .3s ease;
}

.botonvolver:hover {
    background: #61438f;    /* color secundario */
    color: #ffffff;
}

/*PARA LA PÁGINA MULTIMEDIA JOOMLA*/
:root {
  --violet: #61438f;
  --orange: #f9b733;
  --light-bg: #fafafa;
  --text-dark: #333;
}

/* Encabezado */
.media-header {
  background: var(--violet);
  color: white;
  padding: 25px 15px;
  text-align: center;
  border-radius: 10px;
  margin-bottom: 15px;
}

.media-header h2 {
  font-weight: 700;
  letter-spacing: .5px;
  margin: 0;
}

/* Barra de filtros */
.filter-bar {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 15px;
  background: white;
  border: 2px solid #eee;
  border-radius: 10px;
  flex-wrap: wrap;
}

.filter-btn {
  padding: 10px 20px;
  border: none;
  cursor: pointer;
  font-weight: bold;
  border-radius: 25px;
  background: var(--violet);
  color: white;
  transition: 0.3s ease;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.filter-btn:hover,
.filter-btn.active {
  background: var(--orange);
  color: #222;
}

/* Grid */
.media-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  margin-top: 10px;
}

/* MÓVIL = 1 COLUMNA */
@media (max-width: 768px) {
  .media-grid {
    grid-template-columns: 1fr;
  }
}

/* Tarjetas multimedia */
.media-item {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
  /*padding: 20px 20px 25px;*/
  padding-top: 18px;   /* deja espacio arriba */
  padding: 22px;
  transition: transform .25s ease;
  overflow: visible;
  width: 100%;
  box-sizing: border-box;
}

.media-item:hover {
  transform: translateY(-5px);
}

/* Badge tipo */
.media-type-badge {
  position: relative !important;
  display: inline-block;
  top: 12px;
  left: 12px;
  background: #61438f !important;
  color: white;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: bold;
  z-index: 2;
  margin-bottom: 30px !important;
}

/*.media-item.galeria .media-type-badge {
  background: rgba(249,183,51,.95);
  color: #333;
}*/

@media (max-width: 768px){
  .media-type-badge{
    margin-bottom:18px !important;
  }
}

/* ⭐ CONTENIDO SIN RECORTE ⭐ */
.media-content {
  margin-top: 40px;
  max-width: 750px;   /* ajusta si quieres */
  margin: 0 auto;
  overflow: visible !important;
}

/* Videos responsivos */
.media-content video,
.media-content iframe {
  width: 100% !important;
  max-width: 780px;
  height: auto;
  border-radius: 12px;
  display: block;
  margin: 15px auto;
  background:#000;
}

/* Imágenes mantienen cover */
.media-content img {
  width: 100%;
  height:auto !important;
  object-fit: cover;
  border-radius: 12px;
  max-width:100%;
  display: block;
  max-height:480px;
}

/* Título */
.media-title {
  padding: 10px 0 0;
  font-weight: bold;
  margin: 0;
  color: var(--violet);
}

.media-item.galeria .media-title {
  color: var(--orange);
}

/* Responsive */
@media (max-width: 600px) {
  .media-content img {
    height: 180px;
    max-height:480px;
  }
}

/* --- NORMALIZAR TAMAÑO DE VIDEOS --- */

.media-video-wrapper {
  position: relative;
  width: 100%;
  max-width: 780px;
  margin: 15px auto;
  overflow: hidden;
  border-radius: 12px;
  background:#000;
}

/* Proporción 16:9 */
.media-video-wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

/* Video / iframe dentro */
.media-video-wrapper iframe,
.media-video-wrapper video {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.media-banner {
  text-align: center;
  margin: 10px auto 25px auto;
}

.media-banner img {
  max-width: 950px;   /* ajustable */
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}

.article-body iframe {
  width: 100% !important;
  max-width: 780px;
  aspect-ratio: 16/9;
  display: block;
  margin: 15px auto;
}

iframe {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

iframe[src*="youtube"],
iframe[src*="vimeo"] {
  height: auto !important;
}

.media-grid iframe {
  height: auto !important;
}

/* El contenedor del artículo */
[itemprop="articleBody"],
.article-body,
.article-details,
.entry-content,
.content,
.media-item,
.media-content,
.media-grid .media-item {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.embed-responsive,
.video-container,
.videoWrapper {
  height: auto !important;
}

.media-video-wrapper,
.media-item iframe,
iframe[src*="youtube"] {
  display: block !important;
  width: 100% !important;
  max-width: 780px;
  margin: 15px auto;
  aspect-ratio: 16 / 9;
  height: auto !important;
}

.media-item,
.media-content,
.article-body,
.entry-content {
  height: auto !important;
  min-height: 0 !important;
}

.blog .items-row .item {
    width: 50% !important;   /* 2 columnas */
    float: left;
    box-sizing: border-box;
}

/* Evitar que Bootstrap siga forzando columnas */
.blog .items-row .item[class*="col-"] {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

/*PAGINACIÓN PÁGINA MULTIMEDIA*/
.media-pagination {
  margin-top: 35px;
  text-align: center;
}

.media-pagination ul.pagination {
  display: inline-flex;
  gap: 6px;
}

.media-pagination a,
.media-pagination span {
  padding: 8px 12px;
  border-radius: 6px;
  text-decoration: none;
}

.media-pagination .page-link {
  border-radius: 8px;
  padding: 8px 14px;
  border: 1px solid #61438f;
  color: #61438f;
  background: #ffffff;
  font-weight: 500;
  transition: all .2s ease-in-out;
}

.media-pagination .active span {
  background: #61438f;
  color: #fff;
}

.media-pagination .page-link:hover {
  background: #f9b733;
  color: #000;
  border-color: #f9b733;
  text-decoration: none;
}

/* Página activa */
.media-pagination .active .page-link,
.media-pagination .page-item.active .page-link {
  background: #61438f;
  color: #fff;
  border-color: #61438f;
}

/* Deshabilitados */
.media-pagination .disabled .page-link {
  opacity: 0.5;
  color: #999;
}

/* Bordes redondeados del grupo */
.media-pagination .pagination {
  border-radius: 10px;
}

.media-item img{
  object-fit:contain !important;
}

/*FONDO BARRA MENÚ PRINCIPAL*/
#sp-header {
    background-color: #61438f !important;
}
/*.sticky-header {
    background-color: #61438f !important;
}
#sp-header,
.sticky-header {
    background: #61438f !important;
}*/
/* Botón CALL US */
#sp-header ul.sp-megamenu-parent > li:last-child > a {
    background-color: #4f3274 !important;   /* violeta más oscuro */
    color: #ffffff !important;
    border-radius: 4px;
    padding: 8px 14px;
}

/* Hover */
#sp-header ul.sp-megamenu-parent > li:last-child > a:hover {
    background-color: #3e255d !important;
    color: #ffffff !important;
}
/* BOTONES DEL SLIDER */
.n2-ss-slider .n2-ss-button-container a {
    background-color: #4f3274 !important;   /* violeta oscuro */
    border-color: #4f3274 !important;
    color: #ffffff !important;
    border-radius: 4px;
}

/* Hover */
.n2-ss-slider .n2-ss-button-container a:hover {
    background-color: #3e255d !important;
    border-color: #3e255d !important;
    color: #ffffff !important;
}

.n2-ss-slider .n2-ss-button-container a {
    display: inline-block;
    padding: 10px 24px !important;   /* ajusta si quieres */
    min-width: 150px;                /* ancho mínimo igual */
    text-align: center;
}

#sp-logo img {
    max-height: 80px !important;   /* prueba 60–90px hasta que te guste */
    height: auto !important;
    width: auto;
}

/*BLOQUE ÍCONOS DE LA PÁGINA DE CONTACTOS*/
/* BLOQUE específico */
/* SOLO en la página Contáctanos (ID 26) */
.page-26 .sppb-icon-container {
    background: #61438f !important;
    border-color: #61438f !important;
}

/* Quitar cualquier fondo amarillo al icono */
.page-26 .sppb-icon-container i {
    background: transparent !important;
    color: #ffffff !important;
}

/* Por si el template mete el fondo en pseudo-elementos */
.page-26 .sppb-icon-container::before,
.page-26 .sppb-icon-container::after,
.page-26 .sppb-icon i::before,
.page-26 .sppb-icon i::after {
    background: transparent !important;
}

/* Y si el cuadrado viene del icono fa-whatsapp-square */
.page-26 i.fa-whatsapp-square {
    color: #ffffff !important; /* icono blanco */
    background: transparent !important;
}

/* color normal del título */
#sppb-addon-1630291316827 .sppb-feature-box-title {
    color: #4A4A4A !important;
    box-shadow: #FFFFFF !important;
}

/* color cuando pasas el mouse por encima del bloque */
#sppb-addon-1630291316827.sppb-addon-feature:hover .sppb-feature-box-title,
#sppb-addon-1630291316827 .sppb-addon-feature:hover .sppb-feature-box-title {
    color: #4A4A4A !important;
}

/* color normal del título */
#sppb-addon-1630290721313 .sppb-feature-box-title {
    color: #4A4A4A !important;
}

/* color cuando pasas el mouse por encima del bloque */
#sppb-addon-1630290721313.sppb-addon-feature:hover .sppb-feature-box-title,
#sppb-addon-1630290721313 .sppb-addon-feature:hover .sppb-feature-box-title {
    color: #4A4A4A !important;
}

/* --- SIN HOVER AMARILLO --- */

/* DESACTIVAR COMPLETAMENTE EL HOVER AMARILLO EN PAGE ID 26 */

/* DESACTIVAR HOVER AMARILLO SOLO EN PÁGINA 26 */

.page-26 [id^="sppb-addon-"]:hover,
.page-26 [id^="sppb-addon-wrapper-"]:hover,
.page-26 [id^="sppb-addon-"]::before,
.page-26 [id^="sppb-addon-wrapper-"]::before {
    background: transparent !important;
    box-shadow: none !important;
}

#sp-page-builder .fab {
  font-size: 50px;
}

/*COLORES ÍCONOS DE REDES SOCIALES*/

/* FACEBOOK */
.fab.fa-facebook-f {
  color: #1877F2;
}

/* INSTAGRAM (degradado no es posible en FA5, usamos uno cercano) */
.fab.fa-instagram {
  color: #E4405F;
}

/* YOUTUBE */
.fab.fa-youtube {
  color: #FF0000;
}

/* WHATSAPP */
.fab.fa-whatsapp {
  color: #25D366;
}

/* X (SVG) */
.icon-x svg path {
  fill: #000000;
}

/* === CONTENEDOR EN FILA === */
.social-icons{
  display:flex !important;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;
  gap:16px;                 /* separación */
}

/* fallback si la plantilla ignora gap */
.social-icons > *{
  margin:0 8px;
}

/* === FORZAR QUE LOS ICONOS SEAN BLOQUES === */
.social-icons i,
.social-icons svg{
  display:inline-block !important;
  width:30px;
  height:30px;
}

/* ajustar font awesome */
.social-icons i{
  font-size:30px !important;
  line-height:30px;
}

/* X */
.social-icons svg path{
  fill:#000;
}

/* === EVITAR QUE LA PLANTILLA LOS AMONTONE === */
.social-icons *{
  vertical-align:middle;
}

/*TIKTOK*/
/* Esto mata cualquier scroll interno y fuerza la altura */
#wrapper-tiktok-total, 
#wrapper-tiktok-total iframe, 
.tiktok-embed {
    height: 850px !important;
    min-height: 850px !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Si Joomla le pone un scroll al div padre por error */
div.custom {
    overflow: visible !important;
    height: auto !important;
}

/*X - TWITTER*/
/* Forzar que el widget de X ocupe el espacio correcto */
#contenedor-x-web {
    display: block !important;
    min-height: 750px !important;
}

/* Apuntar al iframe que genera Twitter/X */
#contenedor-x-web iframe {
    height: 750px !important;
    width: 100% !important;
    border: none !important;
    visibility: visible !important;
}

/* Ajuste para que las redes sociales respiren mejor */
#contenedor-x-web, #wrapper-tiktok-total {
    margin-top: 20px !important;
    clear: both; /* Esto evita que se monten sobre otros elementos */
}

/* Forzar que el widget de X no se salga de su sitio */
.twitter-timeline {
    margin: 0 auto !important;
}

/* Usa este código en tu custom.css para asegurar el espacio */
#contenedor-x-final {
    height: 600px !important;
    background-color: #f5f8fa; /* Un gris muy claro para saber que el espacio está ahí */
    display: block !important;
}

/* Corregir el desplazamiento de TikTok en dispositivos móviles */
@media (max-width: 767px) {
    #wrapper-tiktok-total {
        margin-top: 50px !important; /* Crea una separación con lo que esté arriba */
        clear: both !important;      /* Rompe cualquier flotación que lo empuje hacia arriba */
        display: block !important;
        position: relative !important;
        z-index: 10;
    }

    /* Aseguramos que el área del título amarillo no sea invadida */
    .sp-page-title {
        margin-bottom: 30px !important;
        overflow: hidden;
    }
}

/* Forzar que el encabezado esté siempre por encima de todo */
#sp-header {
    z-index: 9999 !important;
    position: relative !important;    
}

/* Darle aire al contenido en móviles para que no suba al menú */
@media (max-width: 767px) {
    .sp-column.custom-class-donde-esta-tiktok, 
    #sp-main-body {
        padding-top: 100px !important; /* Empuja el contenido hacia abajo */
        margin-top: 0 !important;
    }

    /* Asegurar que el logo y el menú hamburguesa sean visibles */
    .logo, .sp-mobile-menu-toggler {
        z-index: 10000 !important;
        position: relative !important;
    }
}

.fa-bars, .sp-mobile-menu-toggler i {
    color: #000000 !important; /* Cambia a negro o al color de tu logo para que resalte */
}

/* =====================================================
   FIX DEFINITIVO HEADER MÓVIL – PÁGINAS INTERNAS
   NO AFECTA HOME / NO AFECTA DESKTOP
===================================================== */

@media (max-width: 767px) {

  /* Header fijo y estable */
  body:not(.home) #sp-header,
  body:not(.home) header#sp-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 70px !important;
    background-color: #61438f !important;
    z-index: 999999 !important;
  }

  /* Evitar que columnas inflen el header */
  body:not(.home) #sp-header .container,
  body:not(.home) #sp-header .row,
  body:not(.home) #sp-header [class*="col-"] {
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
  }

  /* Logo siempre visible */
  body:not(.home) #sp-logo,
  body:not(.home) .logo {
    display: block !important;
    z-index: 1000000 !important;
  }

  body:not(.home) #sp-logo img {
    max-height: 48px !important;
    width: auto !important;
    display: block !important;
  }

  /* Botón hamburguesa SIEMPRE visible */
  body:not(.home) .sp-mobile-menu-toggler,
  body:not(.home) #offcanvas-toggler {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 1000001 !important;
    background: transparent !important;
  }

  body:not(.home) .sp-mobile-menu-toggler i,
  body:not(.home) #offcanvas-toggler i,
  body:not(.home) .fa-bars {
    color: #ffffff !important;
    font-size: 28px !important;
  }

  /* Empujar contenido, no el header */
  body:not(.home) {
    padding-top: 75px !important;
  }

  /* Evitar espacios fantasma arriba */
  body:not(.home) #sp-page-title {
    margin-top: 0 !important;
  }
}

/* =====================================================
   FIX REAL – COLOR HEADER HELIX (DESKTOP + MÓVIL)
   ===================================================== */

#sp-header,
#sp-header > .container,
#sp-header .container-inner {
    background-color: #61438F !important;
}
/* Header sticky */
#sp-header.header-sticky,
#sp-header.header-sticky > .container,
#sp-header.header-sticky .container-inner {
    background-color: #61438F !important;
}
