/*
 Theme Name:   Hello Elementor Child - GESPLAN
 Theme URI:    https://wp.9ideas.es/
 Description:  Tema hijo adaptado para la migración de GESPLAN desde Joomla a WordPress. Recrea con exactitud la estética institucional, estilos, menús multilingües y maquetación de SP Page Builder / Educon.
 Author:       Equipo GESPLAN / Antigravity
 Template:     hello-elementor
 Version:      1.0.1
 Text Domain:  hello-elementor-child
*/

:root {
  --gesplan-primary: #056839;
  --gesplan-primary-hover: #034b28;
  --gesplan-accent: #d7df21;
  --gesplan-dark: #222222;
  --gesplan-gray: #7a7a7a;
  --gesplan-light: #f9f9f9;
  --gesplan-border: #e5e5e5;
}

body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  color: #555555;
  background-color: #ffffff;
  line-height: 1.65;
  font-size: 15px;
  margin: 0;
  padding: 0;
}

a {
  color: var(--gesplan-primary);
  text-decoration: none;
  transition: color 0.25s ease;
}
a:hover, a:focus {
  color: var(--gesplan-accent);
  text-decoration: none;
}

/* TOP BAR (VERDE CORPORATIVO) */
.gesplan-topbar,
#sp-top-bar {
  background-color: var(--gesplan-primary);
  border-bottom: none;
  font-size: 13px;
  color: #ffffff;
  padding: 8px 0;
  position: relative;
  z-index: 1001;
  width: 100%;
}
.gesplan-topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.gesplan-topbar-info span {
  margin-right: 18px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #ffffff;
}
.gesplan-topbar-info a {
  color: #ffffff;
}
.gesplan-topbar-info a:hover {
  color: var(--gesplan-accent);
}
.gesplan-lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.gesplan-lang-switcher a {
  color: #ffffff;
  padding: 3px 8px;
  border-radius: 3px;
  text-transform: uppercase;
  font-size: 12px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  transition: all 0.2s ease;
}
.gesplan-lang-switcher a.current-lang,
.gesplan-lang-switcher a:hover {
  background-color: var(--gesplan-accent);
  color: #056839 !important;
  border-color: var(--gesplan-accent);
}

/* HEADER PRINCIPAL */
.gesplan-header {
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}
.gesplan-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.gesplan-logo img {
  max-height: 58px;
  width: auto;
  display: block;
}

/* NAVIGATION DESKTOP */
.gesplan-nav {
  display: flex;
  align-items: center;
}
.gesplan-nav ul.menu,
.gesplan-nav ul.sp-megamenu-parent {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}
.gesplan-nav li {
  position: relative;
  list-style: none;
}
.gesplan-nav > ul > li > a {
  display: block;
  padding: 10px 12px;
  font-weight: 700;
  color: #222222;
  font-size: 13.5px;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.gesplan-nav > ul > li:hover > a,
.gesplan-nav > ul > li.current-menu-item > a,
.gesplan-nav > ul > li.current-menu-ancestor > a {
  color: var(--gesplan-primary);
  background-color: rgba(5, 104, 57, 0.08);
}

/* DROPDOWN MENUS */
.gesplan-nav ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  min-width: 260px;
  padding: 8px 0;
  display: none;
  flex-direction: column;
  align-items: stretch;
  border-top: 3px solid var(--gesplan-primary);
  border-radius: 0 0 4px 4px;
  z-index: 9999;
}
.gesplan-nav li:hover > ul.sub-menu {
  display: flex !important;
}
.gesplan-nav ul.sub-menu li {
  width: 100%;
}
.gesplan-nav ul.sub-menu li a {
  display: block;
  padding: 9px 18px;
  color: #444444;
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
  border-bottom: 1px solid #f2f2f2;
  transition: all 0.2s ease;
}
.gesplan-nav ul.sub-menu li:last-child a {
  border-bottom: none;
}
.gesplan-nav ul.sub-menu li a:hover,
.gesplan-nav ul.sub-menu li.current-menu-item a {
  background-color: #f4f8f4;
  color: var(--gesplan-primary);
  padding-left: 22px;
}
.gesplan-nav ul.sub-menu ul.sub-menu {
  top: 0;
  left: 100%;
}

/* MOBILE TOGGLE */
.gesplan-mobile-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--gesplan-primary);
  cursor: pointer;
}

@media (max-width: 992px) {
  .gesplan-mobile-toggle {
    display: block;
  }
  .gesplan-nav {
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border-top: 1px solid #eee;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
  }
  .gesplan-nav.active {
    display: block;
  }
  .gesplan-nav ul.menu,
  .gesplan-nav ul.sp-megamenu-parent {
    flex-direction: column;
    align-items: stretch;
    padding: 10px 0;
  }
  .gesplan-nav ul.sub-menu {
    position: static;
    display: block;
    box-shadow: none;
    border-top: none;
    background: #fafafa;
    padding-left: 20px;
  }
}

/* FULL WIDTH HOMEPAGE & SLIDER */
body.home .site-main,
body.front-page .site-main,
.page-id-1216 .site-main,
.page-id-1306 .site-main,
.page-id-2682 .site-main,
.page-id-2767 .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
body.home .page-header,
body.front-page .page-header,
.page-id-1216 .page-header,
.page-id-1306 .page-header,
.page-id-2682 .page-header,
.page-id-2767 .page-header {
  display: none !important;
}

/* FULLWIDTH SLIDER & OWL CAROUSEL */
#section-id-1484209043393 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #000000;
  min-height: 550px !important;
  position: relative;
}
#section-id-1484209043393 .sppb-container-inner,
#section-id-1484209043393 .sppb-row,
#section-id-1484209043393 .sppb-col-md-12 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sppb-slider-fullwidth-wrapper,
.sppb-slider-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  min-height: 550px !important;
}
#slide-fullwidth {
  min-height: 550px !important;
}
#slide-fullwidth:not(.owl-loaded) {
  display: block !important;
}
#slide-fullwidth:not(.owl-loaded) .sppb-slideshow-fullwidth-item:not(:first-child) {
  display: none !important;
}
.sppb-slideshow-fullwidth-item,
.sppb-slideshow-fullwidth-item.item {
  width: 100%;
  display: block;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg {
  width: 100%;
  height: 600px;
  min-height: 500px;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: center;
  position: relative;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg > .container,
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg > div {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  position: relative;
  z-index: 2;
  width: 100%;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg .sppb-slideshow-fullwidth-item-text {
  max-width: 700px;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg .sppb-fullwidth-title {
  font-size: 52px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  margin: 0 0 15px 0 !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7) !important;
}
.sppb-slide-item-bg.sppb-slideshow-fullwidth-item-bg .sppb-slidehsow-sub-title {
  font-size: 18px !important;
  line-height: 22px !important;
  font-weight: 800 !important;
  color: var(--gesplan-accent) !important;
  display: block !important;
  text-transform: uppercase !important;
  margin-bottom: 12px !important;
  letter-spacing: 1px !important;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8) !important;
}

/* OWL CAROUSEL CONTROLS */
.owl-theme .owl-dots {
  position: absolute;
  bottom: 235px;
  width: 100%;
  text-align: center;
  z-index: 15;
}
.owl-theme .owl-dots .owl-dot span {
  width: 14px;
  height: 14px;
  margin: 5px 7px;
  background: rgba(255, 255, 255, 0.6);
  display: inline-block;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--gesplan-accent) !important;
  transform: scale(1.2);
}

/* THREE FEATURED BOXES BELOW HOME SLIDER */
#section-id-1484214606897,
.sppb-section.home-featured {
  margin-top: -215px !important;
  position: relative;
  z-index: 25;
  padding-bottom: 50px;
}
.home-featured .sppb-row-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.home-featured .sppb-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.home-featured .sppb-col-md-4 {
  display: flex;
  margin-bottom: 25px;
}
.home-featured .sppb-column.margin-fix,
#section-id-1484214606897 .sppb-column {
  background: #ffffff;
  border: 1px solid #d5dbe1;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.05);
  padding: 0 !important;
  overflow: hidden !important;
  text-align: center;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box;
}
.home-featured .sppb-column.margin-fix:hover,
#section-id-1484214606897 .sppb-column:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.16), 0 4px 10px rgba(0, 0, 0, 0.08);
  border-color: var(--gesplan-primary);
}
.home-featured .sppb-addon-single-image {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  display: block !important;
  overflow: hidden;
  height: 215px !important;
  background-color: #f8fafc;
}
.home-featured .sppb-addon-content,
.home-featured .sppb-addon-single-image-container,
.home-featured .sppb-addon-single-image-container a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.home-featured .sppb-addon-single-image img,
.home-featured .sppb-img-responsive {
  width: 100% !important;
  max-width: 100% !important;
  height: 215px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top-left-radius: 7px !important;
  border-top-right-radius: 7px !important;
  border-bottom: 1px solid #eef2f6 !important;
  transition: transform 0.4s ease;
}
.home-featured .sppb-column.margin-fix:hover .sppb-img-responsive {
  transform: scale(1.04);
}
.home-featured .sppb-addon-text-block {
  padding: 25px 22px 30px !important;
  background: #ffffff !important;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
}
.home-featured .sppb-addon-title {
  margin: 0 0 12px 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1.3 !important;
}
.home-featured .sppb-addon-title br {
  display: none !important;
}
.home-featured .sppb-addon-title a {
  color: #1a202c !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
.home-featured .sppb-addon-title a:hover {
  color: var(--gesplan-primary) !important;
}
.home-featured .sppb-addon-content p {
  color: #4a5568 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
@media (max-width: 991px) {
  #section-id-1484214606897,
  .sppb-section.home-featured {
    margin-top: 30px !important;
  }
  .owl-theme .owl-dots {
    bottom: 25px;
  }
}

/* ESTRATEGIA GESPLAN SECTION (BELOW 3 BOXES) - EXACT JOOMLA EDUCON MATCH */
#section-id-1484218475045 {
  padding: 0px 0px 0px 0px !important;
  margin: 0px 0px 0px 0px !important;
  background-color: #ffffff !important;
  position: relative;
  z-index: 10;
}
#section-id-1484218475045 .sppb-row-container {
  max-width: 1170px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}
#section-id-1484218475045 .sppb-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
}
#column-id-1484218475046 {
  padding-top: 10px !important;
  padding-right: 10px !important;
  padding-bottom: 70px !important;
  padding-left: 10px !important;
}
#section-id-1484218475045 .home-about-image {
  text-align: center;
}
#section-id-1484218475045 .home-about-image img,
#section-id-1484218475045 .sppb-addon-single-image-container img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  transition: none !important;
  transform: none !important;
}
#column-id-1484218475047 {
  padding-top: 10px !important;
  padding-right: 0px !important;
  padding-bottom: 0px !important;
  padding-left: 0px !important;
}
#sppb-addon-1484218475053 {
  padding: 20px !important;
}
#sppb-addon-1484218475053 .sppb-addon-title,
#section-id-1484218475045 .home-about-educon .sppb-addon-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 36px !important;
  line-height: 38px !important;
  font-weight: 600 !important;
  color: rgba(37, 37, 37, 1) !important;
  margin-top: 0 !important;
  margin-bottom: 25px !important;
  text-transform: uppercase !important;
  letter-spacing: normal !important;
}
#sppb-addon-1484218475053 .sppb-addon-title span,
#section-id-1484218475045 .home-about-educon .sppb-addon-title span {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 24px !important;
  font-weight: normal !important;
  color: rgba(37, 37, 37, 1) !important;
  display: inline !important;
  letter-spacing: normal !important;
  margin-bottom: 0 !important;
  text-transform: uppercase !important;
}
#section-id-1484218475045 .home-about-educon .sppb-addon-content,
#section-id-1484218475045 .home-about-educon .sppb-addon-content p,
#section-id-1484218475045 .home-about-educon .sppb-addon-content span {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.625 !important;
  color: #555555 !important;
  text-align: justify !important;
}
#section-id-1484218475045 .home-about-educon .sppb-addon-content p {
  margin-bottom: 12px !important;
}
#section-id-1484218475045 a,
#section-id-1484218475045 a:hover,
#section-id-1484218475045 a:focus,
#section-id-1484218475045 .home-about-educon .sppb-addon-content a,
#section-id-1484218475045 .home-about-educon .sppb-addon-content a:hover,
#section-id-1484218475045 .home-about-educon .sppb-addon-content a:focus {
  color: #056839 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
#section-id-1484218475045 a:hover,
#section-id-1484218475045 a:focus,
#section-id-1484218475045 .home-about-educon .sppb-addon-content a:hover,
#section-id-1484218475045 .home-about-educon .sppb-addon-content a:focus {
  color: #d7df21 !important;
  text-decoration: none !important;
}
#sppb-addon-1484218475071 {
  padding: 10px 0px 0px 0px !important;
}
#section-id-1484218475045 #btn-1484218475071,
#section-id-1484218475045 .sppb-btn.sppb-btn-primary {
  background-color: #056839 !important;
  border-color: #056839 !important;
  color: #ffffff !important;
  padding: 8px 20px !important;
  border-radius: 4px !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  display: inline-block !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}
#section-id-1484218475045 #btn-1484218475071:hover,
#section-id-1484218475045 .sppb-btn.sppb-btn-primary:hover {
  background-color: #d7df21 !important;
  border-color: #d7df21 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
#section-id-1484218475045 #btn-1484218475071 i {
  margin-left: 6px !important;
}

/* SIGUIENTE SECCIÓN (CARTEL MASTER GESPLAN / BANNER) - ESPACIO POR ARRIBA Y POR ABAJO */
#section-id-1640092857066 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
  margin-top: 25px !important;
  margin-bottom: 25px !important;
  position: relative !important;
  z-index: 10 !important;
}
#section-id-1640092857066 .sppb-row-container {
  max-width: 1170px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}
#section-id-1640092857066 .sppb-addon-single-image-container img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Ocultar secciones vacías adyacentes para garantizar espaciado limpio */
#section-id-1605351307384,
#section-id-1588772269557,
#section-id-1588772269564 {
  display: none !important;
}

/* ==========================================================================
   NUESTROS RESULTADOS / OUR ACHIEVEMENT SECTION (#section-id-1484297541482)
   ========================================================================== */
#section-id-1484297541482 {
  position: relative !important;
  padding: 125px 0 140px 0 !important;
  margin: 0 !important;
  background-image: url('/images/2017/03/22/doctoradotr.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: 50% 50% !important;
  background-attachment: scroll !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
  overflow: hidden;
}

#section-id-1484297541482::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(5, 104, 57, 0.9) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

#section-id-1484297541482 .sppb-row-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

#section-id-1484297541482 .sppb-section-title {
  text-align: center !important;
  margin-bottom: 65px !important;
}

#section-id-1484297541482 .sppb-section-title .sppb-title-heading {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 36px !important;
  line-height: 36px !important;
  font-weight: 400 !important;
  color: #ffffff !important;
  letter-spacing: normal !important;
  margin: 0 0 20px 0 !important;
  border: 0 !important;
  text-align: center !important;
}

/* 4 Columns row */
#section-id-1484297541482 .sppb-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
  align-items: stretch !important;
}

#section-id-1484297541482 .sppb-col-md-3 {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
  margin-bottom: 20px !important;
}

@media (max-width: 991px) {
  #section-id-1484297541482 .sppb-col-md-3 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  #section-id-1484297541482 {
    padding: 60px 0 !important;
  }
  #section-id-1484297541482 .sppb-section-title {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 767px) {
  #section-id-1484297541482 .sppb-col-md-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

#section-id-1484297541482 .sppb-column,
#section-id-1484297541482 .sppb-column-addons,
#section-id-1484297541482 .clearfix {
  height: 100% !important;
}

/* Four Boxes Cards - Exactly matching Educon / SP Page Builder */
#section-id-1484297541482 .sppb-addon-animated-number {
  background: #ffffff none repeat scroll 0 0 !important;
  border-radius: 3px !important;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2) !important;
  padding: 44px 30px 20px !important;
  margin: 0 0 30px 0 !important;
  height: 100% !important;
  min-height: 180px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  position: relative !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  #section-id-1484297541482 .sppb-addon-animated-number {
    padding: 40px 20px 20px !important;
  }
}

#section-id-1484297541482 .sppb-addon-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  width: 100% !important;
}

/* Icon (top right of card) */
#section-id-1484297541482 .sppb-icon-inner {
  position: absolute !important;
  right: 5px !important;
  top: -19px !important;
  left: auto !important;
  font-size: 36px !important;
  line-height: 1 !important;
  color: #056839 !important;
}

#section-id-1484297541482 .sppb-icon-inner i {
  color: #056839 !important;
  font-size: 36px !important;
  line-height: 1 !important;
}

/* Title inside card */
#section-id-1484297541482 .sppb-animated-number-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  color: #252525 !important;
  margin-top: 0 !important;
  margin-bottom: 39px !important;
  padding-right: 40px !important;
  letter-spacing: normal !important;
}

#section-id-1484297541482 .sppb-animated-number-title a {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 400 !important;
  color: #252525 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

#section-id-1484297541482 .sppb-animated-number-title a:hover {
  color: #056839 !important;
}

/* Number wrap & Counter - Exactly 36px, font-weight: 300 */
#section-id-1484297541482 .sppb-animated-number-wrap {
  display: block !important;
  margin-top: auto !important;
}

#section-id-1484297541482 .sppb-animated-number {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 36px !important;
  line-height: 36px !important;
  font-weight: 300 !important;
  color: #252525 !important;
  display: inline-block !important;
  float: left !important;
}

/* No syntax or symbols behind counter */
#section-id-1484297541482 .sppb-animated-number-syntax {
  display: none !important;
}

#section-id-1484297541482 p {
  margin: 0 !important;
  padding: 0 !important;
}

#section-id-1484297541482 p:empty {
  display: none !important;
}

/* ==========================================================================
   ULTIMAS NOTICIAS / LATEST NEWS SECTION (#section-id-1490194771386)
   ========================================================================== */
#section-id-1490194771386 {
  position: relative !important;
  background-image: none !important;
  background-color: #f9f9f9 !important;
  padding: 50px 0 35px 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#section-id-1490194771386::before {
  display: none !important;
  content: none !important;
}

#section-id-1490194771386 .sppb-row-overlay {
  background-color: #f9f9f9 !important;
  display: none !important;
}

/* Contained width: Do NOT occupy full page width */
#section-id-1490194771386 .sppb-row-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Section Title */
#section-id-1490194771386 .sppb-section-title {
  text-align: center !important;
  margin-bottom: 40px !important;
}

#section-id-1490194771386 .sppb-section-title .sppb-title-heading {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 35px !important;
  line-height: 35px !important;
  font-weight: 400 !important;
  color: #252525 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  border: 0 !important;
  text-align: center !important;
  letter-spacing: normal !important;
}

/* 3 Columns Grid */
#section-id-1490194771386 .sppb-addon-articles .sppb-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
  align-items: stretch !important;
}

#section-id-1490194771386 .sppb-addon-articles .sppb-col-sm-12 {
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
  margin-bottom: 30px !important;
  display: flex !important;
}

@media (max-width: 991px) {
  #section-id-1490194771386 .sppb-addon-articles .sppb-col-sm-12 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* 3 Cards with shadow */
#section-id-1490194771386 .sppb-addon-article {
  background-color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  border-radius: 4px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#section-id-1490194771386 .sppb-addon-article:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.14) !important;
  transform: translateY(-4px) !important;
}

#section-id-1490194771386 .sppb-addon-article .sppb-article-info-wrap {
  padding: 30px 25px 25px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
}

/* Meta date & author */
#section-id-1490194771386 .sppb-article-meta {
  font-size: 13px !important;
  color: #959595 !important;
  margin-bottom: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}

#section-id-1490194771386 .sppb-article-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #959595 !important;
}

#section-id-1490194771386 .sppb-article-meta i {
  color: #959595 !important;
  font-size: 14px !important;
}

/* Card title */
#section-id-1490194771386 .sppb-addon-article h3 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  line-height: 24px !important;
  font-weight: 600 !important;
  margin: 0 0 15px 0 !important;
}

#section-id-1490194771386 .sppb-addon-article h3 a {
  color: #252525 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

#section-id-1490194771386 .sppb-addon-article h3 a:hover {
  color: #056839 !important;
}

/* Card intro text */
#section-id-1490194771386 .sppb-article-introtext {
  color: #666666 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-bottom: 25px !important;
  flex-grow: 1 !important;
}

#section-id-1490194771386 .sppb-article-introtext img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 4px !important;
  margin: 10px auto !important;
  display: block !important;
}

/* Action button and count hits wrapper */
#section-id-1490194771386 .sppb-article-info-wrap .sppb-readmore.sppb-btn-primary {
  background-color: #056839 !important;
  border: none !important;
  border-radius: 20px !important;
  color: #ffffff !important;
  padding: 8px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: background-color 0.2s ease !important;
  text-decoration: none !important;
  float: left !important;
}

#section-id-1490194771386 .sppb-article-info-wrap .sppb-readmore.sppb-btn-primary:hover {
  background-color: #044e2b !important;
  color: #ffffff !important;
}

#section-id-1490194771386 .count-hits {
  font-size: 13px !important;
  color: #aaaaaa !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  float: right !important;
  margin-top: 8px !important;
}

#section-id-1490194771386 .count-hits i {
  font-size: 16px !important;
  color: #cccccc !important;
}

/* Button "Ver todas las noticias" */
#section-id-1490194771386 #btn-1505811537353,
#section-id-1490194771386 .sppb-btn-rounded {
  background-color: #444444 !important;
  color: #ffffff !important;
  border-radius: 25px !important;
  padding: 10px 25px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
  border: none !important;
}

#section-id-1490194771386 #btn-1505811537353:hover,
#section-id-1490194771386 .sppb-btn-rounded:hover {
  background-color: #222222 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   DESTACADO / UPCOMING EVENTS SECTION (#section-id-1590089338070 & .home-upcoming-events)
   ========================================================================== */
#section-id-1590089338070 {
  padding: 50px 0 25px 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

#section-id-1590089338070 .sppb-row-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#section-id-1590089338070 .sppb-addon-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 35px !important;
  line-height: 35px !important;
  font-weight: 400 !important;
  color: #252525 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin: 0 !important;
  border: none !important;
}

/* Featured items container (not full width) */
body.home .home-upcoming-events {
  padding: 0 0 30px 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.home .home-upcoming-events .sppb-row-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

/* Card row: unified card with shadow and equal height */
body.home .home-upcoming-events .sppb-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  background: #ffffff !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

body.home .home-upcoming-events .sppb-row:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14) !important;
}

/* Left Column: Date Box */
body.home .home-upcoming-events .sppb-col-md-3 {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  padding: 0 !important;
  display: flex !important;
  position: relative !important;
}

body.home .home-upcoming-events .sppb-col-md-3 > .sppb-column,
body.home .home-upcoming-events .sppb-col-md-3 .sppb-column-addons,
body.home .home-upcoming-events .sppb-col-md-3 .clearfix,
body.home .home-upcoming-events .sppb-addon-single-image,
body.home .home-upcoming-events .sppb-addon-single-image .sppb-addon-content,
body.home .home-upcoming-events .sppb-addon-single-image-container {
  height: 100% !important;
  width: 100% !important;
  min-height: 100% !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Background image of the date box */
body.home .home-upcoming-events .sppb-addon-single-image-container img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  z-index: 1 !important;
}

/* Direct background-image fallbacks matching each featured item */
#sppb-addon-1551780296573 .sppb-addon-single-image-container {
  background-image: url('/images/2020/12/26/cartel-master-gesplan.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
#sppb-addon-1551780296565 .sppb-addon-single-image-container {
  background-image: url('/images/2017/03/22/destacado01.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
#sppb-addon-1530612035660 .sppb-addon-single-image-container {
  background-image: url('/images/2021/03/29/cartel_ipma_1.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
#sppb-addon-1530612035834 .sppb-addon-single-image-container {
  background-image: url('/images/2020/05/06/folleto_master_a.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
#sppb-addon-1530612035841 .sppb-addon-single-image-container {
  background-image: url('/images/2017/03/22/destacado01.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}
#sppb-addon-1530612035850 .sppb-addon-single-image-container {
  background-image: url('/images/2021/03/29/cartel_ipma_1.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Date Text Overlay */
body.home .home-upcoming-events .sppb-addon-single-image .sppb-addon-title {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2 !important;
  background: rgba(5, 104, 57, 0.88) !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 15px !important;
  box-sizing: border-box !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 32px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  transition: background 0.4s ease, color 0.4s ease !important;
}

/* Hover effect on date box: matches Educon / preset4 yellow-green */
body.home .home-upcoming-events .sppb-row:hover .sppb-addon-single-image .sppb-addon-title {
  background: rgba(215, 223, 33, 0.88) !important;
  color: #252525 !important;
}

/* Right Column: Content */
body.home .home-upcoming-events .sppb-col-md-9 {
  flex: 0 0 75% !important;
  max-width: 75% !important;
  padding: 0 !important;
  display: flex !important;
}

body.home .home-upcoming-events .sppb-col-md-9 > .sppb-column,
body.home .home-upcoming-events .sppb-col-md-9 .sppb-column-addons,
body.home .home-upcoming-events .sppb-col-md-9 .clearfix,
body.home .home-upcoming-events .sppb-addon-text-block {
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

body.home .home-upcoming-events .sppb-addon-text-block {
  background: #ffffff !important;
  padding: 35px 40px !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 19px !important;
  line-height: 27px !important;
  font-weight: 600 !important;
  margin: 0 0 10px 0 !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-title a {
  color: #252525 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-title a:hover,
body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-title a:focus {
  color: #d7df21 !important;
  text-decoration: none !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-content {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #666666 !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-content a {
  color: #056839 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-content a:hover,
body.home .home-upcoming-events .sppb-addon-text-block .sppb-addon-content a:focus,
body.home .home-upcoming-events .sppb-addon-text-block a:hover,
body.home .home-upcoming-events .sppb-addon-text-block a:focus {
  color: #d7df21 !important;
  text-decoration: none !important;
}

/* Tablet & Mobile handling */
@media (max-width: 991px) and (min-width: 768px) {
  body.home .home-upcoming-events .sppb-col-md-3 {
    flex: 0 0 30% !important;
    max-width: 30% !important;
  }
  body.home .home-upcoming-events .sppb-col-md-9 {
    flex: 0 0 70% !important;
    max-width: 70% !important;
  }
  body.home .home-upcoming-events .sppb-addon-text-block {
    padding: 25px 25px !important;
  }
}

@media (max-width: 767px) {
  body.home .home-upcoming-events .sppb-col-md-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    height: 140px !important;
  }
  body.home .home-upcoming-events .sppb-col-md-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  body.home .home-upcoming-events .sppb-addon-text-block {
    padding: 25px 20px !important;
  }
}

/* SP Page Builder Responsive Helpers */
@media (max-width: 767px) {
  .sppb-hidden-xs { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .sppb-hidden-sm { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .sppb-hidden-md { display: none !important; }
}
@media (min-width: 1200px) {
  .sppb-hidden-lg { display: none !important; }
}
@media (min-width: 768px) {
  #section-id-1530612035781 { display: none !important; }
}

/* ==========================================================================
   SEGUNDO PERIODO DE PREINSCRIPCION DEL MASTER (#section-id-1484544532618)
   ========================================================================== */
#section-id-1484544532618,
.home-callto-action {
  position: relative !important;
  padding: 70px 0 55px 0 !important;
  margin: 0 !important;
  background-image: url('/images/2017/03/23/masters.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: scroll !important;
  min-height: 237px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#section-id-1484544532618::before,
.home-callto-action::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(215, 223, 33, 0.9) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

#section-id-1484544532618 .sppb-row-container,
.home-callto-action .sppb-row-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#section-id-1484544532618 .sppb-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

#section-id-1484544532618 .sppb-col-md-3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#section-id-1484544532618 .sppb-addon-single-image-container img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  max-height: 120px !important;
}

#section-id-1484544532618 .sppb-col-md-9 {
  display: flex !important;
  align-items: center !important;
}

#section-id-1484544532618 .sppb-addon-cta {
  width: 100% !important;
}

#section-id-1484544532618 .sppb-addon-cta .sppb-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
}

#section-id-1484544532618 .sppb-addon-cta .sppb-col-sm-9 {
  flex: 0 0 75% !important;
  max-width: 75% !important;
  padding: 0 15px 0 0 !important;
}

#section-id-1484544532618 .sppb-addon-cta .sppb-col-sm-3 {
  flex: 0 0 25% !important;
  max-width: 25% !important;
  text-align: right !important;
  padding: 0 !important;
}

#section-id-1484544532618 .sppb-addon-title,
.home-callto-action .sppb-cta-title {
  margin: 0 0 10px 0 !important;
  color: #252525 !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 24px !important;
  line-height: 30px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border: none !important;
}

#section-id-1484544532618 .sppb-cta-subtitle,
.home-callto-action .sppb-cta-subtitle {
  color: #252525 !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 28px !important;
  line-height: 34px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

#section-id-1484544532618 #btn-1484544532628,
.home-callto-action .sppb-btn-rounded {
  background-color: #444444 !important;
  color: #ffffff !important;
  border-radius: 25px !important;
  padding: 12px 32px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  display: inline-block !important;
  text-decoration: none !important;
  border: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

#section-id-1484544532618 #btn-1484544532628:hover,
.home-callto-action .sppb-btn-rounded:hover {
  background-color: #222222 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 991px) {
  #section-id-1484544532618,
  .home-callto-action {
    padding: 50px 0 40px 0 !important;
  }
  #section-id-1484544532618 .sppb-addon-title,
  .home-callto-action .sppb-cta-title {
    font-size: 20px !important;
    line-height: 26px !important;
  }
  #section-id-1484544532618 .sppb-cta-subtitle,
  .home-callto-action .sppb-cta-subtitle {
    font-size: 22px !important;
    line-height: 28px !important;
  }
  #section-id-1484544532618 .sppb-addon-cta .sppb-col-sm-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }
  #section-id-1484544532618 .sppb-addon-cta .sppb-col-sm-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    margin-top: 15px !important;
  }
}

@media (max-width: 767px) {
  #section-id-1484544532618 .sppb-col-md-3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
    justify-content: flex-start !important;
  }
  #section-id-1484544532618 .sppb-col-md-9 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* CONTENT CONTAINER WRAPPER FOR INNER PAGES */
.site-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body:not(.home) .site-main .page-content:not(:has(#sp-page-builder)) {
  max-width: 1200px;
  margin: 30px auto;
  padding: 0 20px;
}
.site-main.full-width,
body.home .site-main,
.home .site-main,
.page-template-elementor_header_footer .site-main,
.page-template-elementor_canvas .site-main {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* EDUCON / HELIX3 PAGE TITLE BANNER */
#sp-page-title {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: var(--gesplan-primary);
}
.sp-page-title {
  background-attachment: scroll;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 100px 0 105px !important;
  position: relative;
  text-align: center;
  background-color: var(--gesplan-primary);
}
.sp-page-title:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgba(5, 104, 57, 0.95);
}
.sp-page-title .container {
  position: relative;
  z-index: 2;
}
.sp-page-title h2 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 60px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0.5px;
}
.sp-page-title h3 {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: normal !important;
  line-height: 1.75 !important;
  color: #ffffff !important;
  margin: 21px auto 0 !important;
  width: 68% !important;
  max-width: 68% !important;
  padding: 0 !important;
}
.sp-page-title .breadcrumb {
  display: none !important;
}


/* Ensure home content and CTA join seamlessly to the footer with NO gap */
body.home .site-main,
body.home .page-content,
body.home #sp-page-builder,
body.home #section-id-1484544532618,
body.home .home-callto-action {
  margin-bottom: 0 !important;
}

/* GRID SYSTEM COMPATIBILITY FOR SP PAGE BUILDER */
.sppb-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.sppb-col-md-1, .sppb-col-md-2, .sppb-col-md-3, .sppb-col-md-4,
.sppb-col-md-5, .sppb-col-md-6, .sppb-col-md-7, .sppb-col-md-8,
.sppb-col-md-9, .sppb-col-md-10, .sppb-col-md-11, .sppb-col-md-12,
.sppb-col-sm-1, .sppb-col-sm-2, .sppb-col-sm-3, .sppb-col-sm-4,
.sppb-col-sm-5, .sppb-col-sm-6, .sppb-col-sm-7, .sppb-col-sm-8,
.sppb-col-sm-9, .sppb-col-sm-10, .sppb-col-sm-11, .sppb-col-sm-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .sppb-col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .sppb-col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .sppb-col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .sppb-col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .sppb-col-md-9 { flex: 0 0 75%; max-width: 75%; }
  .sppb-col-md-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (max-width: 991px) and (min-width: 768px) {
  .sppb-col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .sppb-col-sm-6 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 767px) {
  .sppb-col-md-4, .sppb-col-sm-4 { flex: 0 0 100%; max-width: 100%; margin-bottom: 25px; }
}
.sppb-row-container,
.sp-page-builder .sppb-row-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}
.sppb-section {
  position: relative;
  box-sizing: border-box;
}
.sppb-btn-primary,
.btn-primary {
  background-color: var(--gesplan-primary);
  border-color: var(--gesplan-primary);
  color: #ffffff;
  padding: 10px 22px;
  border-radius: 4px;
  display: inline-block;
  font-weight: 600;
  cursor: pointer;
}
.sppb-btn-primary:hover,
.btn-primary:hover {
  background-color: var(--gesplan-primary-hover);
  color: #ffffff;
}

/* ==========================================================================
   FOOTER STYLING (#sp-bottom & #sp-footer - Helix3 / Educon match)
   ========================================================================== */
#sp-bottom {
  background: #20232e !important;
  color: #959595 !important;
  padding: 100px 0 85px !important;
  margin: 0 !important;
  position: relative !important;
  box-sizing: border-box !important;
}

#sp-bottom .container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#sp-bottom .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
}

#sp-bottom #sp-bottom1,
#sp-bottom #sp-bottom2,
#sp-bottom #sp-bottom3 {
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

#sp-bottom .sp-module .sp-module-title {
  text-transform: uppercase !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  margin-top: 0 !important;
  margin-bottom: 30px !important;
  font-family: 'Open Sans', sans-serif !important;
  letter-spacing: 0.5px !important;
}

#sp-bottom .custom p {
  color: #959595 !important;
  font-size: 14px !important;
  line-height: 1.714 !important;
  margin-bottom: 12px !important;
  font-family: 'Open Sans', sans-serif !important;
}

#sp-bottom ul.sp-contact-info {
  list-style: none !important;
  padding: 0 !important;
  margin: 15px 0 0 0 !important;
}

#sp-bottom ul.sp-contact-info li {
  list-style: none !important;
  margin-bottom: 7px !important;
  padding: 0 !important;
}

#sp-bottom ul.sp-contact-info li p {
  color: #959595 !important;
  font-size: 14px !important;
  line-height: 1.714 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

#sp-bottom ul.sp-contact-info li p i {
  color: #ffffff !important;
  font-size: 14px !important;
  width: 16px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

#sp-bottom ul.sp-contact-info li a {
  color: #959595 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

#sp-bottom ul.sp-contact-info li a:hover {
  color: #d7df21 !important;
}

#sp-bottom ul.social-icons {
  margin: 20px 0 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  gap: 10px !important;
}

#sp-bottom ul.social-icons li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
}

#sp-bottom ul.social-icons li a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 50% !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 16px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

#sp-bottom ul.social-icons li a:hover {
  background: #d7df21 !important;
  color: #20232e !important;
}

#sp-bottom .gesplan-bottom-logos {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

#sp-bottom .gesplan-bottom-logos .logo-item {
  flex: 0 0 calc(50% - 10px) !important;
  max-width: calc(50% - 10px) !important;
}

#sp-bottom .gesplan-bottom-logos .logo-item img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  max-height: 80px !important;
  filter: brightness(0.95) !important;
}

#sp-bottom .collaborators-logo img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* SP FOOTER COPYRIGHT BAR */
#sp-footer {
  background: #1b1d26 !important;
  color: #c2c2c2 !important;
  text-align: center !important;
  padding: 34px 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}

#sp-footer .container {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}

#sp-footer .sp-copyright {
  color: #c2c2c2 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  font-family: 'Open Sans', sans-serif !important;
  display: inline-block !important;
}

#sp-footer .sp-copyright a {
  color: #ffffff !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

#sp-footer .sp-copyright a:hover {
  color: #d7df21 !important;
}

/* RESPONSIVE FOOTER */
@media (max-width: 991px) and (min-width: 768px) {
  #sp-bottom {
    padding: 60px 0 !important;
  }
  #sp-bottom #sp-bottom1,
  #sp-bottom #sp-bottom2 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin-bottom: 30px !important;
  }
  #sp-bottom #sp-bottom3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 767px) {
  #sp-bottom {
    padding: 50px 0 !important;
  }
  #sp-bottom #sp-bottom1,
  #sp-bottom #sp-bottom2,
  #sp-bottom #sp-bottom3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 35px !important;
  }
  #sp-bottom #sp-bottom3 {
    margin-bottom: 0 !important;
  }
  #sp-footer .sp-copyright {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
}

/* ARTICLES LISTING & SINGLE POST */
article.post {
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--gesplan-border);
}
article.post .entry-title {
  font-size: 26px;
  margin-bottom: 12px;
  color: #222;
}
article.post .entry-title a {
  color: #222;
}
article.post .entry-title a:hover {
  color: var(--gesplan-primary);
}
article.post .entry-meta {
  font-size: 13px;
  color: #888;
  margin-bottom: 18px;
}
article.post .entry-meta span {
  margin-right: 15px;
}
article.post .post-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin-bottom: 20px;
}


/* Base SPPB responsive image & layout helpers */
body:not(.home) .site-main,
.page-template-elementor_header_footer .site-main,
.page-template-elementor_canvas .site-main {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sppb-img-responsive,
img.sppb-img-responsive {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}

.sppb-addon-single-image-container {
  max-width: 100% !important;
  display: block !important;
}

@media (max-width: 991px) and (min-width: 768px) {
  .sppb-col-sm-3 { flex: 0 0 25% !important; max-width: 25% !important; }
  .sppb-col-sm-9 { flex: 0 0 75% !important; max-width: 75% !important; }
  .sppb-col-sm-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

@media (max-width: 767px) {
  .sppb-col-xs-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* ==========================================================================
   ESTRATEGIA PAGE SECTION (#section-id-1484645703409)
   ========================================================================== */
#section-id-1484645703409 {
  padding-top: 90px !important;
  padding-bottom: 60px !important;
  background: transparent !important;
}

#section-id-1484645703409 .sppb-addon-single-image-container,
#section-id-1484645703409 .sppb-addon-single-image,
#sppb-addon-1484304863502 {
  position: relative !important;
  height: auto !important;
  min-height: auto !important;
  display: block !important;
}

#section-id-1484645703409 .sppb-addon-single-image-container img,
#sppb-addon-1484304863502 .sppb-addon-single-image-container img {
  position: relative !important;
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  z-index: 1 !important;
}

#sppb-addon-1484304863505 {
  border-style: none !important;
  margin: 20px !important;
  padding: 20px !important;
  background: transparent !important;
  box-shadow: none !important;
}

#sppb-addon-1484304863505 .sppb-addon-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 24px !important;
  line-height: 24px !important;
  font-weight: normal !important;
  color: rgba(37, 37, 37, 1) !important;
  margin-top: 0 !important;
  margin-bottom: 25px !important;
}

#sppb-addon-1484304863505 .sppb-addon-content,
#sppb-addon-1484304863505 p {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.625 !important;
  color: #555555 !important;
  text-align: justify !important;
  margin: 0px 50px 10px 0px !important;
}

#sppb-addon-1484304863505 p span {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.625 !important;
  color: #555555 !important;
}

#sppb-addon-1484304863505 a {
  color: #056839 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

#sppb-addon-1484304863505 a:hover {
  color: #d7df21 !important;
  text-decoration: underline !important;
}
