@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* =========================================================
   PORTADA FINAL CERRADA - JOOMLA 6 / CASSIOPEIA
   ========================================================= */


/* =========================================================
   BASE
   ========================================================= */

html,
body {
  overflow-x: hidden;
}

.site-grid,
main {
  overflow-x: clip;
}


/* =========================================================
   LIMPIEZA GENERAL DE CHROME / CAJAS
   ========================================================= */

.container-top-a .card,
.container-top-b .card,
.container-main-top .card,
.container-top-a .moduletable,
.container-top-b .moduletable,
.container-main-top .moduletable {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.container-top-a,
.container-top-b,
.container-main-top {
  gap: 0 !important;
}


/* =========================================================
   HEADER LOGO + MENU
   ========================================================= */

.container-header.full-width {
  background: #ebefeb !important;
  box-shadow: none !important;
  background-image: none !important;
  min-height: 78.83px !important;
}

.container-header.full-width .grid-child.container-nav {
  max-width: 1320px !important;
  min-height: 78.83px !important;
  margin: 0 auto !important;
  padding: 0 90px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 28px !important;
  background: #ebefeb !important;
}

#mod-custom112 {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* =========================================================
   HEADER / LOGO / MENU
   ========================================================= */

#mod-custom112 p {
  margin: 0 !important;
}

#mod-custom112 a {
  display: block !important;
  line-height: 0 !important;
}

#mod-custom112 img {
  display: block !important;
  width: 252px !important;
  height: 78.83px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

#mod-menu1 {
  display: flex !important;
  align-items: center !important;
  gap: 45px !important;
  margin: 0 !important;
  margin-left: 9px !important;
  padding: 0 !important;
  padding-top: 20px !important;
  list-style: none !important;
}

#mod-menu1 > li {
  margin: 0 !important;
  padding: 0 !important;
}

#mod-menu1 > li > a {
  display: block !important;
  padding: 0 !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 1.875rem !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
  color: #111111 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

#mod-menu1 > li > a:hover {
  color: #db545a !important;
}

#mod-menu1 > li.current > a,
#mod-menu1 > li.active > a,
#mod-menu1 > li > a[aria-current="page"] {
  color: #f1c50e !important;
}

#mod-menu1 > li.current > a:hover,
#mod-menu1 > li.active > a:hover,
#mod-menu1 > li > a[aria-current="page"]:hover {
  color: #f1c50e !important;
}

/* =========================================================
   FRASE PORTADA - MODULO 120
   ========================================================= */

#mod-custom120,
#mod-custom120 .mod-custom,
#mod-custom120 .mod-custom__body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mod-custom120 .frase-portada {
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 40px 20px 115px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  align-items: center;
  justify-items: start !important;
  column-gap: 10px;
  background: #ffffff;
}

#mod-custom120 .frase-portada-izq {
  display: flex;
  justify-content: center;
  align-items: center;
}

#mod-custom120 .frase-portada-img {
  display: block;
  width: 265px !important;
  height: 128px !important;
  max-width: none !important;
  object-fit: contain !important;
}

#mod-custom120 .frase-portada-der {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-align: center;
}

#mod-custom120 .frase-portada-tucuman {
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 65px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 2px !important;
  background: linear-gradient(
    to bottom,
    #6cb6e8 0%,
    #6cb6e8 32%,
    #ffffff 32%,
    #ffffff 68%,
    #6cb6e8 68%,
    #6cb6e8 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  -webkit-text-stroke: 1px #6cb6e8;
  position: relative;
  left: 145px;
  top: 30px;
}

/* =========================================================
   SLIDER / TOP-A LIMPIO
   ========================================================= */

.container-top-a .n2-ss-slider,
.container-top-a .n2-ss-slider * {
  box-shadow: none !important;
}

.container-top-a .n2-ss-slider {
  margin-top: 0 !important;
}

/* =========================================================
   CTA PORTADA
   ========================================================= */

.cta-portada {
  background: #ffe135 !important;
  height: 100px !important;
  min-height: 100px !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 40px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.cta-portada-animacion {
  position: relative !important;
  width: 100% !important;
  max-width: 1320px !important;
  height: 58px !important;
}

.cta-linea {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  white-space: nowrap !important;
  opacity: 0;
}

.cta-linea-1 {
  animation: ctaLinea1 12s infinite;
}

.cta-linea-2 {
  animation: ctaLinea2 12s infinite;
}

.cta-linea-3 {
  animation: ctaLinea3 12s infinite;
}

@keyframes ctaLinea1 {
  0%   { opacity: 1; }
  30%  { opacity: 1; }
  33%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes ctaLinea2 {
  0%   { opacity: 0; }
  33%  { opacity: 0; }
  36%  { opacity: 1; }
  63%  { opacity: 1; }
  66%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes ctaLinea3 {
  0%   { opacity: 0; }
  66%  { opacity: 0; }
  69%  { opacity: 1; }
  97%  { opacity: 1; }
  100% { opacity: 0; }
}

.cta-texto {
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 2.5rem !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

.cta-portada-boton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #111111 !important;
  color: #ffe135 !important;
  text-decoration: none !important;
  padding: 0 22px !important;
  height: 58px !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 2.5rem !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* =========================================================
   BOTONES PORTADA - MODULO 116
   ========================================================= */

#mod-custom116,
#mod-custom116 .mod-custom,
#mod-custom116 .mod-custom__body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mod-custom116 {
  margin-top: 30px !important;
}

#mod-custom116 .botones-portada,
#mod-custom116 .button-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

#mod-custom116 .btn-portada,
#mod-custom116 .button-container a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 223.67px !important;
  min-width: 223.67px !important;
  height: 49.19px !important;
  padding: 12px 25px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  letter-spacing: 1px !important;
  white-space: nowrap !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

#mod-custom116 .btn-portada span,
#mod-custom116 .button-container a span {
  display: inline-block !important;
  width: 100% !important;
  text-align: center !important;
  font-weight: 700 !important;
}

#mod-custom116 .btn-portada-gris,
#mod-custom116 .button-container a.u-grey-60 {
  background: #666666 !important;
  color: #ffffff !important;
}

#mod-custom116 .btn-portada-gris:hover,
#mod-custom116 .button-container a.u-grey-60:hover {
  background: #f1c50e !important;
  color: #111111 !important;
}

#mod-custom116 .btn-portada-amarillo,
#mod-custom116 .button-container a.u-palette-2-base {
  background: #f1c50e !important;
  color: #111111 !important;
}

#mod-custom116 .btn-portada-amarillo:hover,
#mod-custom116 .button-container a.u-palette-2-base:hover {
  background: #111111 !important;
  color: #ffffff !important;
}

#mod-custom116 .btn-portada-claro,
#mod-custom116 .button-container a.u-grey-5,
#mod-custom116 .button-container a.u-white {
  background: #f2f2f2 !important;
  color: #111111 !important;
}

#mod-custom116 .btn-portada-claro:hover,
#mod-custom116 .button-container a.u-grey-5:hover,
#mod-custom116 .button-container a.u-white:hover {
  background: #db545a !important;
  color: #ffffff !important;
}

/* =========================================================
   TITULO SPONSORS - MODULO 118
   ========================================================= */

#mod-custom118,
#mod-custom118 .mod-custom,
#mod-custom118 .mod-custom__body {
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mod-custom118 {
  margin-top: 50px !important;
  margin-bottom: 0 !important;
}

#mod-custom118 .titulo-sponsors {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* =========================================================
   SPONSORS 3X - MODULO 121
   ========================================================= */

#mod-custom121,
#mod-custom121 .mod-custom,
#mod-custom121 .mod-custom__body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#mod-custom121 .sponsors-carrusel {
  position: relative;
  width: 100%;
  padding: 0 70px;
  box-sizing: border-box;
}

#mod-custom121 .sponsors-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  min-height: 170px;
}

#mod-custom121 .sponsors-pista {
  position: relative;
  width: 100%;
  min-height: 170px;
}

#mod-custom121 .sponsors-grupo {
  position: absolute;
  inset: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 40px;
  opacity: 0;
}

#mod-custom121 .sponsors-grupo:nth-child(1) {
  animation: sponsorSlide1 15s infinite;
}

#mod-custom121 .sponsors-grupo:nth-child(2) {
  animation: sponsorSlide2 15s infinite;
}

#mod-custom121 .sponsors-grupo:nth-child(3) {
  animation: sponsorSlide3 15s infinite;
}

#mod-custom121 .sponsor-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
}

#mod-custom121 .sponsor-item img {
  max-width: 220px;
  max-height: 90px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

#mod-custom121 .sponsors-flecha {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 48px;
  border-radius: 4px;
  background: #8e8e8e;
  color: #ffffff;
  font-size: 34px;
  line-height: 48px;
  text-align: center;
  z-index: 3;
  user-select: none;
}

#mod-custom121 .sponsors-flecha-izq {
  left: 8px;
}

#mod-custom121 .sponsors-flecha-der {
  right: 8px;
}

@keyframes sponsorSlide1 {
  0%   { opacity: 1; transform: translateX(0); }
  26%  { opacity: 1; transform: translateX(0); }
  33%  { opacity: 1; transform: translateX(-100%); }
  34%  { opacity: 0; transform: translateX(100%); }
  100% { opacity: 0; transform: translateX(100%); }
}

@keyframes sponsorSlide2 {
  0%   { opacity: 0; transform: translateX(100%); }
  33%  { opacity: 0; transform: translateX(100%); }
  34%  { opacity: 1; transform: translateX(100%); }
  45%  { opacity: 1; transform: translateX(0); }
  59%  { opacity: 1; transform: translateX(0); }
  66%  { opacity: 1; transform: translateX(-100%); }
  67%  { opacity: 0; transform: translateX(100%); }
  100% { opacity: 0; transform: translateX(100%); }
}

@keyframes sponsorSlide3 {
  0%   { opacity: 0; transform: translateX(100%); }
  66%  { opacity: 0; transform: translateX(100%); }
  67%  { opacity: 1; transform: translateX(100%); }
  78%  { opacity: 1; transform: translateX(0); }
  92%  { opacity: 1; transform: translateX(0); }
  100% { opacity: 1; transform: translateX(-100%); }
}

/* =========================================================
   FOOTER PORTADA - MODULO 119
   ========================================================= */

#mod-custom119,
#mod-custom119 .mod-custom,
#mod-custom119 .mod-custom__body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: #ebefeb !important;
  box-shadow: none !important;
}

#mod-custom119 {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

#mod-custom119 .mod-custom__body {
  max-width: 1865px !important;
  margin: 0 auto !important;
  background: transparent !important;
}

#mod-custom119 .footer-portada {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 20px;
}

#mod-custom119 .footer-portada-col {
  min-width: 0;
}

#mod-custom119 .footer-portada-logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 40px;
}

#mod-custom119 .footer-portada-logo img {
  display: block;
  width: 240px !important;
  height: 75.08px !important;
  max-width: none !important;
  object-fit: contain !important;
}

#mod-custom119 .footer-portada-centro {
  text-align: center;
}

#mod-custom119 .footer-portada-texto {
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  margin: 0 0 5px 0 !important;
}

#mod-custom119 .footer-portada-mail {
  display: inline-block !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #000000 !important;
  text-decoration: none !important;
}

#mod-custom119 .footer-portada-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-right: 40px;
}

#mod-custom119 .footer-portada-redes a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  background: #f1c50e !important;
  color: #111111 !important;
  text-decoration: none !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
#mod-custom119 .footer-portada-redes a img {
  width: 60px;
  height: 60px;
  display: block;
  object-fit: contain;
}

/* =========================================================
   CORRECCION DEFINITIVA TOP-A: FRASE ARRIBA / SLIDER ABAJO
   ========================================================= */

.itemid-101 .container-top-a,
.itemid-101 .top-a {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  align-items: start !important;
  gap: 0 !important;
}

.itemid-101 .container-top-a > *,
.itemid-101 .top-a > * {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.itemid-101 #mod-custom120 {
  position: relative !important;
  z-index: 20 !important;
  order: 1 !important;
  margin: 0 !important;
}

.itemid-101 #mod-smartslider3-114,
.itemid-101 #mod-custom114,
.itemid-101 .container-top-a .n2-ss-slider,
.itemid-101 .container-top-a .smartslider3 {
  position: relative !important;
  z-index: 10 !important;
  order: 2 !important;
  margin-top: -25px !important;
}

.itemid-101 #mod-custom120 .frase-portada {
  position: relative !important;
  z-index: 20 !important;
  margin-bottom: 0 !important;
}

.itemid-101 .container-top-a .n2-ss-slider,
.itemid-101 .container-top-a .n2-ss-slider-outer-container,
.itemid-101 .container-top-a .n2-ss-slider .n2-ss-slide-backgrounds,
.itemid-101 .container-top-a .n2-ss-slider .n2-ss-slider-viewport {
  z-index: 10 !important;
}

/* =========================================================
   PAGINA INTERNA - QUIENES SOMOS
   ========================================================= */

.qs-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 10px 20px 40px;
  box-sizing: border-box;
}

.qs-page,
.qs-page * {
  box-sizing: border-box;
}

.qs-top {
  display: grid;
  grid-template-columns: 390px minmax(0, 1fr);
  gap: 42px;
  align-items: start;
}

.qs-left {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.qs-image img {
  display: block;
  width: 100%;
  height: auto;
}

.qs-contacto-texto {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 24px;
  line-height: 1.1;
  color: #111111;
  text-transform: uppercase;
}

.qs-contacto-texto a {
  color: #111111 !important;
  text-decoration: underline;
  font-weight: 700;
}


.qs-right {
  min-width: 0;
}

.qs-title {
  margin: 0 0 14px 0;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  color: #f1c50e;
  text-transform: uppercase;
}

.qs-subtitle {
  margin: 22px 0 12px 0;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 32px;
  font-weight: 400;
  line-height: 1;
  color: #111111;
  text-transform: uppercase;
}

.qs-right p {
  margin: 0 0 24px 0;
  font-size: 18px;
  line-height: 1.45;
  color: #111111;
}

.qs-right a {
  color: #6a8fd8;
  text-decoration: none;
}

.qs-right a:hover {
  text-decoration: underline;
}

.qs-bold {
  font-weight: 700;
}

/* FOOTER INTERNO FULL WIDTH */
.qs-footer {
  width: 100%;
  margin-top: 40px;
  background: #ebefeb;
  padding: 24px 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  box-shadow: 0 0 0 100vmax #ebefeb;
  clip-path: inset(0 -100vmax);
}
.qs-footer {
  position: relative;
  overflow: visible;
}

.qs-footer::before,
.qs-footer::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  background: #ebefeb;
}

.qs-footer::before {
  right: 100%;
}

.qs-footer::after {
  left: 100%;
}

.qs-footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex: 1 1 33%;
}

.qs-footer-logo img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
}

.qs-footer-centro {
  flex: 1 1 33%;
  text-align: center;
}

.qs-footer-texto {
  margin: 0 0 5px 0;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 16px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #000;
}

.qs-footer-mail {
  display: inline-block;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
  color: #000 !important;
  text-decoration: none !important;
}

.qs-footer-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  flex: 1 1 33%;
}

.qs-footer-redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #f1c50e;
  color: #111 !important;
  text-decoration: none !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .qs-footer {
    flex-direction: column;
    text-align: center;
  }

  .qs-footer-logo,
  .qs-footer-centro,
  .qs-footer-redes {
    justify-content: center;
    flex: none;
    width: 100%;
  }
}

.lqa-page {
  max-width: 1120px;
  margin: 0 auto;
  padding: 10px 20px 40px;
  box-sizing: border-box;
}

.lqa-page,
.lqa-page * {
  box-sizing: border-box;
}

.lqa-title {
  margin: 0 0 18px 0;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  color: #111111;
  text-transform: uppercase;
}

.lqa-page p {
  margin: 0 0 24px 0;
  font-size: 18px;
  line-height: 1.5;
  color: #111111;
}

.lqa-page a {
  color: #6a8fd8;
  text-decoration: none;
}

.lqa-page a:hover {
  text-decoration: underline;
}

.lqa-bold {
  font-weight: 700;
}

.lqa-map-wrap {
  position: relative;
  margin-top: 16px;
}

.lqa-map-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.lqa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  background: #f1c50e;
  color: #111111;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
}

#lqa-map {
  width: 100%;
  height: 620px;
  border: 1px solid #d8d8d8;
  background: #f3f3f3;
}

.lqa-filters {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  margin-top: 18px;
}

.lqa-input,
.lqa-select {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 2px solid #f1c50e;
  background: #ffffff;
  color: #111111;
  font-size: 16px;
  outline: none;
}

.lqa-input::placeholder {
  color: #8b8b8b;
  text-transform: uppercase;
}

.lqa-select {
  text-transform: uppercase;
}

.lqa-footer {
  width: 100%;
  margin-top: 34px;
  margin-left: 0;
  margin-right: 0;
  background: #ebefeb;
  padding: 24px 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lqa-footer-logo,
.lqa-footer-centro,
.lqa-footer-redes {
  flex: 1 1 33%;
}

.lqa-footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.lqa-footer-logo img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
}

.lqa-footer-centro {
  text-align: center;
}

.lqa-footer-texto {
  margin: 0 0 5px 0;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 16px;
  line-height: 1.1;
  text-transform: uppercase;
  color: #000000;
}

.lqa-footer-mail {
  display: inline-block;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
  color: #000000 !important;
  text-decoration: none !important;
}

.lqa-footer-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.lqa-footer-redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #f1c50e;
  color: #111111 !important;
  text-decoration: none !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 18px;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .lqa-title {
    font-size: 48px;
  }

  #lqa-map {
    height: 480px;
  }

  .lqa-filters {
    grid-template-columns: 1fr;
  }

  .lqa-footer {
    flex-direction: column;
    text-align: center;
  }

  .lqa-footer-logo,
  .lqa-footer-centro,
  .lqa-footer-redes {
    width: 100%;
    flex: none;
    justify-content: center;
  }
}

.contact-page {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: -16px;
  padding: 0;
  overflow: visible;
}

.contact-overlay {
  background: #252b36;
  padding: 72px 40px 72px;
  overflow: hidden;
}

.contact-card {
  max-width: 1280px;
  margin: 0 auto;
  background: #f4f4f4;
  border-radius: 70px;
  padding: 70px 86px 54px;
  box-sizing: border-box;
  animation: contactCardIn 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center top;
}

@keyframes contactCardIn {
  0% {
    opacity: 0;
    transform: translateY(140px) scale(0.94);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.contact-title {
  margin: 0 0 22px 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 52px;
  line-height: 1;
  font-weight: 400;
  color: #111111;
  text-transform: uppercase;
}

.contact-text {
  margin: 0 0 34px 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.45;
  color: #111111;
}

.contact-form {
  margin: 0;
}

.contact-field {
  margin-bottom: 26px;
}

.contact-field input,
.contact-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 3px solid #1f1f1f;
  background: transparent;
  padding: 0 10px 14px;
  box-sizing: border-box;
  font-size: 18px;
  color: #111111;
  outline: none;
  box-shadow: none;
}

.contact-field input {
  height: 46px;
}

.contact-field textarea {
  resize: none;
  min-height: 118px;
  padding-top: 8px;
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
  color: #8e8e8e;
  opacity: 1;
}

.contact-submit-wrap {
  margin-top: 14px;
}

.contact-submit {
  width: 100%;
  height: 74px;
  border: 0;
  border-radius: 999px;
  background: #a9c4df;
  color: #111111;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 30px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
}

.contact-zocalo {
  background: #dfe4df;
  padding: 24px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-sizing: border-box;
}

.contact-zocalo-logo,
.contact-zocalo-centro,
.contact-zocalo-redes {
  flex: 1 1 33%;
}

.contact-zocalo-logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.contact-zocalo-logo img {
  display: block;
  width: 235px;
  max-width: 100%;
  height: auto;
}

.contact-zocalo-centro {
  text-align: center;
}

.contact-zocalo-copy {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  color: #111111;
  max-width: none;
  margin: 0 auto;
  white-space: nowrap;
}

.contact-zocalo-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
}

.contact-zocalo-redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f1c50e;
  color: #5c6570 !important;
  text-decoration: none !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 20px;
  line-height: 1;
  text-transform: uppercase;
}

.contact-zocalo-redes a img {
  width: 70px;
  height: 70px;
  display: block;
  object-fit: contain;
}

@media (max-width: 900px) {
  .contact-overlay {
    padding: 40px 16px 0;
  }

 .contact-card {
  max-width: 1280px;
  margin: 0 auto;
  background: #f4f4f4;
  border-radius: 70px;
  padding: 70px 86px 54px;
  box-sizing: border-box;
  animation: contactCardIn 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center top;
}

@keyframes contactCardIn {
  0% {
    opacity: 0;
    transform: translateY(140px) scale(0.94);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

  .contact-title {
    font-size: 38px;
  }

  .contact-text {
    font-size: 18px;
  }

  .contact-submit {
    height: 64px;
    font-size: 24px;
  }

  .contact-zocalo {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
  }

  .contact-zocalo-logo,
  .contact-zocalo-centro,
  .contact-zocalo-redes {
    width: 100%;
    flex: none;
    justify-content: center;
  }

  .contact-zocalo-copy {
    font-size: 22px;
    white-space: normal;
  }
}

/* LIBERA EL CONTENEDOR PADRE SOLO EN CONTACTO */
main:has(.contact-page),
.item-page:has(.contact-page),
.com-content-article:has(.contact-page),
.com-content-article__body:has(.contact-page),
.container-component:has(.contact-page) {
  overflow: visible !important;
  max-width: none !important;
}

.item-page:has(.contact-page),
.com-content-article:has(.contact-page),
.com-content-article__body:has(.contact-page) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* EL WRAPPER ES EL QUE ROMPE EL CONTENEDOR */
.contact-page {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 0;
  overflow: visible;
}

/* LOS HIJOS YA NO HACEN BREAKOUT */
.contact-overlay {
  width: 100%;
  left: auto;
  margin-left: 0;
  margin-right: 0;
  background: #252b36;
  padding: 72px 40px 0;
  overflow: hidden;
}

.contact-zocalo {
  width: 100%;
  left: auto;
  margin-left: 0;
  margin-right: 0;
  background: #dfe4df;
  padding: 24px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-sizing: border-box;
}

/* CONTACTO - corrección fina final */
.item-page:has(.contact-page),
.com-content-article:has(.contact-page),
.com-content-article__body:has(.contact-page),
.container-component:has(.contact-page),
main:has(.contact-page) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.contact-page {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: -32px !important;
  padding: 0 !important;
  overflow: visible !important;
}

.contact-overlay {
  background: #252b36;
  padding: 72px 40px 0 !important;
  overflow: hidden;
}

.contact-card {
  margin-bottom: 72px !important;
}

.contact-zocalo {
  margin-top: 0 !important;
}

/* =========================================================
   CTA HOME NUEVO
   ========================================================= */

.cta-home {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #f6f6f6;
}

.cta-home-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 44px 40px 36px;
  box-sizing: border-box;
}

.cta-home-title {
  margin: 0 0 18px 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 68px;
  line-height: 0.95;
  font-weight: 400;
  text-transform: uppercase;
  color: #4c5563;
}

.cta-home-texto {
  max-width: 780px;
  margin: 0 auto 64px;
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
  color: #5f5f5f;
}

.cta-home-subtitle {
  margin: 0 0 24px 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  color: #4c5563;
}

.cta-home-pasos {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 34px;
}

.cta-home-linea {
  position: absolute;
  top: 54px;
  left: 10%;
  right: 10%;
  height: 1px;
  background: #6b6b6b;
  z-index: 0;
}

.cta-home-paso {
  position: relative;
  z-index: 1;
  text-align: center;
}

.cta-home-icono {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-home-icono img {
  display: block;
  max-width: 120px;
  max-height: 120px;
  width: auto;
  height: auto;
}

.cta-home-label {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 400;
  text-transform: uppercase;
  color: #4c5563;
}

/* ===== QUIERO AYUDAR - PARTE BAJA LIMPIA ===== */

.item-page:has(.cta-home),
.com-content-article:has(.cta-home),
.com-content-article__body:has(.cta-home),
.container-component:has(.cta-home),
main:has(.cta-home) {
  overflow: visible !important;
  max-width: none !important;
}

.cta-home {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #f6f6f6;
  overflow: visible !important;
}

.cta-home-acciones {
  width: 100%;
  max-width: 760px;
  margin: 26px auto 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.cta-home-call,
.cta-home-wsp {
  position: relative;
  display: block;
  width: 520px;
  max-width: 100%;
  margin: 0 auto;
  text-decoration: none !important;
}

.cta-home-call img,
.cta-home-wsp img {
  display: block;
  width: 100%;
  height: auto;
}

.cta-home-call span,
.cta-home-wsp span {
  position: absolute;
  top: 43% !important;
  left: 57%;
  transform: translate(-50%, -50%);
  width: 62%;
  margin: 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  line-height: 1;
  color: #111111 !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.cta-home-call span {
  font-size: 22px;
}

.cta-home-wsp span {
  font-size: 18px;
}

.cta-home-bottom {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #2e2e33;
  padding: 14px 0;
  box-sizing: border-box;
}

.cta-home-bottom-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.cta-home-bottom-texto {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 28px;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
  white-space: nowrap;
  margin: 0;
}

.cta-home-bottom-form {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.cta-home-bottom-form input {
  width: 290px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #f1f4ef;
  padding: 0 18px;
  box-sizing: border-box;
  font-size: 13px;
  color: #111111;
  outline: none;
}

.cta-home-bottom-form input::placeholder {
  color: #b2b2b2;
  opacity: 1;
  text-transform: uppercase;
}

.cta-home-bottom-form button {
  height: 42px;
  min-width: 102px;
  border: 0;
  border-radius: 999px;
  background: #f1c50e;
  padding: 0 24px;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 24px;
  line-height: 1;
  color: #111111;
  text-transform: uppercase;
  cursor: pointer;
}

@media (max-width: 900px) {
  .cta-home-call,
  .cta-home-wsp {
    width: 100%;
    max-width: 520px;
  }

  .cta-home-call span {
    font-size: 18px;
  }

  .cta-home-wsp span {
    font-size: 14px;
    width: 58%;
  }

  .cta-home-bottom-inner {
    flex-direction: column;
    text-align: center;
    padding: 0 20px;
  }

  .cta-home-bottom-texto {
    white-space: normal;
  }

  .cta-home-bottom-form {
    width: 100%;
    flex-direction: column;
  }

  .cta-home-bottom-form input,
  .cta-home-bottom-form button {
    width: 100%;
    max-width: 360px;
  }
}

.cta-home-call,
.cta-home-wsp {
  position: relative !important;
}

.cta-home-call span,
.cta-home-wsp span {
  position: absolute !important;
  top: 50% !important;
  left: 57% !important;
  transform: translate(-50%, -50%) !important;
  width: 62% !important;
  margin: 0 !important;
  text-align: center !important;
  font-family: "Bebas Neue", sans-serif !important;
  line-height: 1 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.cta-home-call span {
  font-size: 22px !important;
}

.cta-home-wsp span {
  font-size: 18px !important;
}

/* FIX DEFINITIVO TELEFONO / WHATSAPP */
.cta-home-call,
.cta-home-wsp {
  position: relative !important;
  display: block !important;
  width: 520px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-decoration: none !important;
}

.cta-home-call img,
.cta-home-wsp img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.cta-home-call::after,
.cta-home-wsp::after {
  content: attr(data-label) !important;
  position: absolute !important;
  top: 43% !important;
  left: 57% !important;
  transform: translate(-50%, -50%) !important;
  width: 62% !important;
  text-align: center !important;
  font-family: "Bebas Neue", sans-serif !important;
  line-height: 1 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.cta-home-call::after {
  font-size: 22px !important;
}

.cta-home-wsp::after {
  font-size: 18px !important;
}

.lqa-results {
  margin: 24px 0 40px;
  display: grid;
  gap: 12px;
}

.lqa-results:empty {
  display: none;
}

.lqa-result-item {
  background: #ffffff;
  border: 1px solid #d9d9d9;
  padding: 16px 18px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.lqa-result-item:hover {
  background: #f7f7f7;
  border-color: #e0b800;
}

.lqa-result-name {
  margin: 0 0 4px;
  font-family: "Bebas Neue", sans-serif;
  font-size: 32px;
  line-height: 1;
  color: #111111;
}

.lqa-result-meta {
  margin: 0;
  font-size: 16px;
  color: #555555;
}

.lqa-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.lqa-modal.is-open {
  display: block;
}

.lqa-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}

.lqa-modal-box {
  position: relative;
  z-index: 2;
  width: min(600px, calc(100% - 32px));
  margin: 40px auto;
  background: #efefef;
  padding: 28px 24px 24px;
  box-sizing: border-box;
}

.lqa-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

.lqa-modal-icon {
  width: 76px;
  height: 76px;
  margin: 0 auto 18px;
  border: 4px solid #47b6df;
  border-radius: 50%;
  color: #47b6df;
  font-size: 54px;
  line-height: 68px;
  text-align: center;
  font-family: Arial, sans-serif;
}

.lqa-modal-title {
  margin: 0 0 26px;
  text-align: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: 40px;
  line-height: 1;
  color: #222222;
}

.lqa-modal-content p {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.5;
  color: #4a4a4a;
}

.lqa-modal-content strong {
  color: #4a4a4a;
}

.lqa-modal-content a {
  color: #1d6fb8;
  text-decoration: none;
}

.lqa-modal-content a:hover {
  text-decoration: underline;
}

.lqa-modal-actions {
  margin-top: 28px;
  text-align: center;
}

.lqa-modal-ok {
  min-width: 74px;
  padding: 10px 18px;
  border: 3px solid #595959;
  border-radius: 8px;
  background: #000000;
  color: #ffffff;
  font-size: 18px;
  cursor: pointer;
}

.lqa-marker-hover-popup .leaflet-popup-content-wrapper {
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.lqa-marker-hover-popup .leaflet-popup-content {
  margin: 14px 18px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  color: #222222;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.lqa-marker-hover-popup .leaflet-popup-content strong {
  display: block;
  margin-bottom: 4px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 700;
  color: #111111;
}

.lqa-marker-hover-popup .leaflet-popup-tip {
  box-shadow: none;
}

.lqa-marker-popup {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: #222222;
}
/* BOTONES DEBAJO DEL CTA */
.lqa-home-botones a,
.lqa-home-botones .mod-menu__link,
.lqa-home-botones .btn,
.lqa-home-botones .custom a {
  background: #e6c200;
  color: #111111 !important;
  border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease;
}
/* BOTONES DEBAJO DEL CTA */
.lqa-home-botones {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.lqa-home-botones .btn-portada {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  height: 50px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration: none;
  font-family: "Bebas Neue", sans-serif;
  font-size: 24px;
  line-height: 1;
  transition: background 0.2s ease, color 0.2s ease;
  box-sizing: border-box;
  white-space: nowrap;
}

/* ESTADO NORMAL */
.lqa-home-botones .btn-portada-gris,
.lqa-home-botones .btn-portada-amarillo,
.lqa-home-botones .btn-portada-claro {
  background: #e6cf17;
  color: #111111 !important;
}

.lqa-home-botones .btn-portada-negro {
  background: #000000;
  color: #ffffff !important;
}
.lqa-home-botones .btn-portada-negro {
  min-width: 500px;
}

/* HOVER GENERAL */
.lqa-home-botones .btn-portada-gris:hover,
.lqa-home-botones .btn-portada-amarillo:hover,
.lqa-home-botones .btn-portada-claro:hover {
  background: #000000;
  color: #ffffff !important;
}

/* HOVER ESPECIAL PARA "LA DROGA..." */
.lqa-home-botones .btn-portada-negro:hover {
  background: #d9d9d9;
  color: #111111 !important;
}

.lqa-home-botones .btn-portada.btn-portada-negro {
  width: 340px !important;
  min-width: 340px !important;
  max-width: 340px !important;
  flex: 0 0 340px !important;
}

/* QUIENES SOMOS - REDES IZQUIERDA */
.qs-redes {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.qs-redes-label {
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 24px;
  line-height: 1;
  color: #111111;
  text-transform: uppercase;
  margin-right: 6px;
}

.qs-redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #2f6fb3;
  color: #ffffff !important;
  text-decoration: none !important;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  padding: 0 !important;
}

.qs-redes a img {
  display: none !important;
}

.lqa-footer-redes a img {
  width: 60px;
  height: 60px;
  display: block;
  object-fit: contain;
}

.qs-contacto {
  margin-top: 150px !important;
}

.qs-contacto-texto {
  font-weight: 400 !important;
  line-height: 1.25;
}

.qs-contacto-texto a {
  font-weight: 400 !important;
}

/* QUIENES SOMOS - footer full width real */
.qs-page + .lqa-footer {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 34px;
  background: #ebefeb;
  padding: 24px 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.qs-page + .lqa-footer .lqa-footer-logo,
.qs-page + .lqa-footer .lqa-footer-centro,
.qs-page + .lqa-footer .lqa-footer-redes {
  flex: 1 1 33%;
}

.qs-page + .lqa-footer .lqa-footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.qs-page + .lqa-footer .lqa-footer-centro {
  text-align: center;
}

.qs-page + .lqa-footer .lqa-footer-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.qs-page + .lqa-footer .lqa-footer-redes a img {
  width: 60px;
  height: 60px;
  display: block;
  object-fit: contain;
}

/* QUIENES SOMOS - liberar contenedores para footer full width */
main:has(.qs-page + .lqa-footer),
.site-grid:has(.qs-page + .lqa-footer),
.container-component:has(.qs-page + .lqa-footer),
.com-content-article:has(.qs-page + .lqa-footer),
.com-content-article__body:has(.qs-page + .lqa-footer),
.item-page:has(.qs-page + .lqa-footer) {
  overflow: visible !important;
  max-width: none !important;
}

/* QUIENES SOMOS - footer ancho total de página */
.qs-page + .lqa-footer {
  position: relative;
  width: 100vw !important;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 34px;
  background: #ebefeb;
  padding: 24px 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.qs-page + .lqa-footer .lqa-footer-logo,
.qs-page + .lqa-footer .lqa-footer-centro,
.qs-page + .lqa-footer .lqa-footer-redes {
  flex: 1 1 33%;
}

.qs-page + .lqa-footer .lqa-footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.qs-page + .lqa-footer .lqa-footer-centro {
  text-align: center;
}

.qs-page + .lqa-footer .lqa-footer-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.qs-page + .lqa-footer .lqa-footer-redes a img {
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
}

/* LOS QUE AYUDAN - liberar contenedores para footer full width */
main:has(.lqa-page + .lqa-footer),
.site-grid:has(.lqa-page + .lqa-footer),
.container-component:has(.lqa-page + .lqa-footer),
.com-content-article:has(.lqa-page + .lqa-footer),
.com-content-article__body:has(.lqa-page + .lqa-footer),
.item-page:has(.lqa-page + .lqa-footer) {
  overflow: visible !important;
  max-width: none !important;
}

/* LOS QUE AYUDAN - footer ancho total de página */
.lqa-page + .lqa-footer {
  position: relative;
  width: 100vw !important;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 34px;
  background: #ebefeb;
  padding: 24px 30px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lqa-page + .lqa-footer .lqa-footer-logo,
.lqa-page + .lqa-footer .lqa-footer-centro,
.lqa-page + .lqa-footer .lqa-footer-redes {
  flex: 1 1 33%;
}

.lqa-page + .lqa-footer .lqa-footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.lqa-page + .lqa-footer .lqa-footer-centro {
  text-align: center;
}

.lqa-page + .lqa-footer .lqa-footer-redes {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

.lqa-page + .lqa-footer .lqa-footer-redes a img {
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
}

.qs-page + .lqa-footer .lqa-footer-redes a img {
  transform: scale(1.70) !important;
}

.lqa-page + .lqa-footer .lqa-footer-redes a img {
  transform: scale(1.70) !important;
}

/* =========================================================
   CONTACTO NATIVO JOOMLA - MISMO DISEÑO QUE EL FORM CUSTOM
   ========================================================= */

body.view-contact .com-contact__container,
body.view-contact .com-contact.contact,
body.view-contact .com-contact {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #252b36;
  padding: 36px 0 0;
  box-sizing: border-box;
}

body.view-contact .page-header,
body.view-contact h1,
body.view-contact h2:first-of-type,
body.view-contact .com-contact__container > h2 {
  display: none !important;
}

body.view-contact .contact-form {
  max-width: 1280px;
  margin: 0 auto 72px;
  background: #f4f4f4;
  border-radius: 70px;
  padding: 70px 86px 54px;
  box-sizing: border-box;
  box-shadow: none;
}

body.view-contact #contact-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.view-contact #contact-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

body.view-contact #contact-form legend {
  display: block !important;
  width: 100%;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 52px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
  border: 0 !important;
}

body.view-contact #contact-form .control-group.field-spacer {
  margin: 0 0 34px 0 !important;
  text-align: center !important;
}

body.view-contact #contact-form .control-group.field-spacer .control-label,
body.view-contact #contact-form .control-group.field-spacer label {
  display: none !important;
}

body.view-contact #contact-form .control-group.field-spacer .controls,
body.view-contact #contact-form .control-group.field-spacer .controls * {
  text-align: center !important;
}

body.view-contact #contact-form .control-group.field-spacer .controls {
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: #111111 !important;
}

body.view-contact #contact-form .control-group {
  margin: 0 0 26px 0 !important;
}

body.view-contact #contact-form .control-label {
  display: none !important;
}

body.view-contact #contact-form .controls {
  margin-left: 0 !important;
}

body.view-contact #contact-form input[type="text"],
body.view-contact #contact-form input[type="email"],
body.view-contact #contact-form textarea {
  width: 100% !important;
  border: 0 !important;
  border-bottom: 3px solid #1f1f1f !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 10px 14px !important;
  box-sizing: border-box !important;
  font-size: 18px !important;
  color: #111111 !important;
  outline: none !important;
  box-shadow: none !important;
}

body.view-contact #contact-form input[type="text"],
body.view-contact #contact-form input[type="email"] {
  height: 46px !important;
}

body.view-contact #contact-form textarea {
  resize: none !important;
  min-height: 118px !important;
  padding-top: 8px !important;
}

body.view-contact #contact-form input::placeholder,
body.view-contact #contact-form textarea::placeholder {
  color: #8e8e8e !important;
  opacity: 1 !important;
}

body.view-contact #contact-form .btn,
body.view-contact #contact-form button[type="submit"] {
  width: 100% !important;
  height: 74px !important;
  margin-top: 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #a9c4df !important;
  color: #111111 !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.view-contact .alert,
body.view-contact .contact-miscinfo,
body.view-contact .contact-links,
body.view-contact .contact-address,
body.view-contact .contact-position,
body.view-contact .contact-emailto,
body.view-contact .contact-telephone,
body.view-contact .contact-mobile,
body.view-contact .contact-webpage,
body.view-contact .contact-vcard {
  display: none !important;
}

@media (max-width: 900px) {
  body.view-contact .contact-form {
    margin: 0 16px 48px !important;
    padding: 40px 24px 36px !important;
    border-radius: 40px !important;
  }

  body.view-contact #contact-form legend {
    font-size: 38px !important;
  }

  body.view-contact #contact-form .control-group.field-spacer .controls {
    font-size: 18px !important;
  }

  body.view-contact #contact-form .btn,
  body.view-contact #contact-form button[type="submit"] {
    height: 64px !important;
    font-size: 24px !important;
  }
}

/* CONTACTO NATIVO JOOMLA - OVERRIDE VISUAL */
body.view-contact .page-header,
body.view-contact h1:first-of-type,
body.view-contact h2:first-of-type,
body.view-contact .com-contact__container > h2,
body.view-contact .contact-address,
body.view-contact .contact-links,
body.view-contact .contact-miscinfo,
body.view-contact .contact-position,
body.view-contact .contact-emailto,
body.view-contact .contact-telephone,
body.view-contact .contact-mobile,
body.view-contact .contact-webpage,
body.view-contact .contact-vcard,
body.view-contact .contact .dl-horizontal {
  display: none !important;
}

body.view-contact .com-contact__container,
body.view-contact .com-contact.contact,
body.view-contact .com-contact {
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #252b36;
  padding: 72px 40px 0;
  box-sizing: border-box;
}

body.view-contact .contact-form-custom-wrap {
  max-width: 1280px;
  margin: 0 auto 72px;
  background: #f4f4f4;
  border-radius: 70px;
  padding: 70px 86px 54px;
  box-sizing: border-box;
}

body.view-contact .contact-form-custom-header {
  margin-bottom: 34px;
}

body.view-contact .contact-title {
  margin: 0 0 22px 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 52px;
  line-height: 1;
  font-weight: 400;
  color: #111111;
  text-transform: uppercase;
}

body.view-contact .contact-text {
  margin: 0 0 34px 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.45;
  color: #111111;
}

body.view-contact .contact-form-custom {
  margin: 0;
}

body.view-contact .contact-field {
  margin-bottom: 26px;
}

body.view-contact .contact-field input,
body.view-contact .contact-field textarea {
  width: 100%;
  border: 0;
  border-bottom: 3px solid #1f1f1f;
  border-radius: 0 !important;
  background: transparent;
  padding: 0 10px 14px;
  box-sizing: border-box;
  font-size: 18px;
  color: #111111;
  outline: none;
  box-shadow: none;
}

body.view-contact .contact-field input {
  height: 46px;
}

body.view-contact .contact-field textarea {
  resize: none;
  min-height: 118px;
  padding-top: 8px;
}

body.view-contact .contact-field input::placeholder,
body.view-contact .contact-field textarea::placeholder {
  color: #8e8e8e;
  opacity: 1;
}

body.view-contact .contact-submit-wrap {
  margin-top: 14px;
}

body.view-contact .contact-submit {
  width: 100%;
  height: 74px;
  border: 0;
  border-radius: 999px;
  background: #a9c4df;
  color: #111111;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 30px;
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
}

body.view-contact .contact-submit:hover {
  background: #97b8d8;
}

@media (max-width: 900px) {
  body.view-contact .com-contact__container,
  body.view-contact .com-contact.contact,
  body.view-contact .com-contact {
    padding: 40px 16px 0;
  }

  body.view-contact .contact-form-custom-wrap {
    margin: 0 auto 48px;
    border-radius: 40px;
    padding: 40px 24px 36px;
  }

  body.view-contact .contact-title {
    font-size: 38px;
  }

  body.view-contact .contact-text {
    font-size: 18px;
  }

  body.view-contact .contact-submit {
    height: 64px;
    font-size: 24px;
  }
}

body.view-contact .page-header,
body.view-contact .com-contact__container > h2,
body.view-contact .contact-address,
body.view-contact .contact-links,
body.view-contact .contact-miscinfo,
body.view-contact .contact-position,
body.view-contact .contact-emailto,
body.view-contact .contact-telephone,
body.view-contact .contact-mobile,
body.view-contact .contact-webpage,
body.view-contact .contact-vcard,
body.view-contact .contact .dl-horizontal {
  display: none !important;
}

body.view-contact .contact-subtitle {
  margin: 0 0 18px 0;
  text-align: center;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 34px;
  line-height: 1;
  font-weight: 400;
  color: #111111;
}

/* =========================================
   NOTICIAS - FORZAR GRILLA DE CARDS
   ========================================= */

body.view-category .blog-items,
body.view-category .items-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

body.view-category .items-row {
  margin: 0 !important;
}

body.view-category .blog-item,
body.view-category .items-row > [class*="span"],
body.view-category .items-row > .item,
body.view-category .blog-items > .blog-item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.view-category article,
body.view-category .item-content,
body.view-category .blog-item .item-content {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.view-category .item-image,
body.view-category figure {
  margin: 0 0 14px 0 !important;
}

body.view-category .item-image img,
body.view-category figure img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
}

body.view-category h2,
body.view-category .page-header h2,
body.view-category .item-title {
  margin: 0 0 10px 0 !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 34px !important;
  line-height: 1 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
}

body.view-category h2 a,
body.view-category .item-title a {
  color: #111111 !important;
  text-decoration: none !important;
}

body.view-category .introtext,
body.view-category .article-introtext,
body.view-category .item-content p,
body.view-category .blog-item p {
  display: none !important;
}

body.view-category .readmore,
body.view-category .btn,
body.view-category .icons,
body.view-category .article-info,
body.view-category .category-name,
body.view-category .tags,
body.view-category .pagination {
  display: none !important;
}

@media (max-width: 1100px) {
  body.view-category .blog-items,
  body.view-category .items-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.view-category .blog-items,
  body.view-category .items-row {
    grid-template-columns: 1fr !important;
  }

  body.view-category .item-image img,
  body.view-category figure img {
    height: 220px !important;
  }
}
/* =========================================
   NOTICIAS - GRILLA FINAL + PRIMER PÁRRAFO
   ========================================= */

body.view-category .blog-items,
body.view-category .items-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

body.view-category .items-row {
  margin: 0 !important;
}

body.view-category .blog-item,
body.view-category .items-row > [class*="span"],
body.view-category .items-row > .item,
body.view-category .blog-items > .blog-item {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.view-category article,
body.view-category .item-content,
body.view-category .blog-item .item-content {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.view-category .item-image,
body.view-category figure {
  margin: 0 0 14px 0 !important;
}

body.view-category .item-image img,
body.view-category figure img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
}

body.view-category h2,
body.view-category .page-header h2,
body.view-category .item-title {
  margin: 0 0 10px 0 !important;
  font-family: "Bebas Neue", sans-serif !important;
  font-size: 34px !important;
  line-height: 1 !important;
  color: #111111 !important;
  text-transform: uppercase !important;
}

body.view-category h2 a,
body.view-category .item-title a {
  color: #111111 !important;
  text-decoration: none !important;
}

/* mostrar solo el primer párrafo */
body.view-category .introtext,
body.view-category .article-introtext {
  display: block !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #111111 !important;
}

body.view-category .introtext p,
body.view-category .article-introtext p,
body.view-category .item-content p,
body.view-category .blog-item p {
  display: none !important;
  margin: 0 0 10px 0 !important;
}

body.view-category .introtext p:first-child,
body.view-category .article-introtext p:first-child,
body.view-category .item-content p:first-child,
body.view-category .blog-item p:first-child {
  display: block !important;
}

body.view-category .readmore,
body.view-category .btn,
body.view-category .icons,
body.view-category .article-info,
body.view-category .category-name,
body.view-category .tags,
body.view-category .pagination {
  display: none !important;
}

@media (max-width: 1100px) {
  body.view-category .blog-items,
  body.view-category .items-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  body.view-category .blog-items,
  body.view-category .items-row {
    grid-template-columns: 1fr !important;
  }

  body.view-category .item-image img,
  body.view-category figure img {
    height: 220px !important;
  }
}

/* NOTICIAS - mostrar solo el primer párrafo */
body.view-category .introtext p,
body.view-category .article-introtext p,
body.view-category .item-content p,
body.view-category .blog-item p {
  display: none !important;
}

body.view-category .introtext p:first-of-type,
body.view-category .article-introtext p:first-of-type,
body.view-category .item-content p:first-of-type,
body.view-category .blog-item p:first-of-type {
  display: block !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #111111 !important;
}
.cta-home-acciones{
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  float: none !important;
  clear: both !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  width: 100% !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  z-index: 1 !important;
}

.cta-home-call,
.cta-home-wsp{
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  float: none !important;

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

.cta-home-call-texto,
.cta-home-wsp-texto{
  position: static !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #111 !important;
  white-space: normal !important;
}