:root {
  --topbar-bg-color: #1a2a40;
  --topbar-text-color: #ffffff;
  --header-bg-color: #f3edcd;
  --header-cta-bg-color: #ff5e15;
  --header-cta-text-color: #ffffff;
  --footer-bg-color: #d3d9e4;
  --footer-text-color: #333333;
  --footer-link-color: #333333;
  --footer-link-hover-color: #ff5e15;
}


/* Aplicación de la variable al elemento HTML correcto */
.header-bottom {
  background-color: var(--header-bg-color);
}

/* Estilos para widget de categorías - forzar color negro en todos los estados */
.widget-blog-categories a,
.widget-blog-categories a:link,
.widget-blog-categories a:visited,
.widget-blog-categories a:hover,
.widget-blog-categories a:active {
  color: #000 !important;
}

.widget-blog-categories h5 {
  color: #000 !important;
  font-size: 14px !important;
}

/* Reducir espacio entre widgets del sidebar */
.sidebar .widget,
.sidebar [class*="widget"] {
  margin-bottom: 15px !important;
}

.sidebar .widget:last-child,
.sidebar [class*="widget"]:last-child {
  margin-bottom: 0 !important;
}

/* Fix para el título del hero/slider - evitar desbordamiento */
.hero-cap h2,
.slider-area .hero-cap h2 {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
  padding: 0 15px;
}

/* Responsive para títulos largos en mobile */
@media (max-width: 767px) {
  .hero-cap h2,
  .slider-area .hero-cap h2 {
    font-size: 28px !important;
    line-height: 1.2;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hero-cap h2,
  .slider-area .hero-cap h2 {
    font-size: 36px !important;
    line-height: 1.3;
  }
}

/* ===============================================
   FIX CONTENIDO - DELIMITACIÓN Y CENTRADO
   =============================================== */

/* Contenedor principal de páginas - forzar centrado y delimitación */
main > .container,
main > .container-fluid,
main .page-container,
main .has-slider-content {
  max-width: 1170px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

/* Excepción: el slider debe ser full-width */
main > .slider-area,
.slider-area {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Contenido de artículos y páginas - sin padding extra */
.page-content-wrapper,
.blog-post-single,
article.page-content-wrapper,
article.blog-post-single {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Page body y post content - sin padding extra ya que el container lo tiene */
.page-body,
.post-content {
  max-width: 100%;
  width: 100%;
}

/* Fix para el espaciado del contenedor principal cuando hay slider */
.has-slider-content {
  margin-top: 0 !important;
}

/* ===============================================
   FIX FOOTER - REDUCIR ESPACIADO
   =============================================== */

/* Reducir espacio excesivo en el header del footer */
.footer-area {
  padding-top: 50px !important;
}

.footer-area .footer-top,
.footer-padding {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

/* Reducir espacio entre logo y widgets del footer */
.footer-area .footer-logo,
.single-footer-caption .footer-logo {
  margin-bottom: 15px !important;
}

.footer-area .footer-pera,
.single-footer-caption .footer-pera {
  margin-bottom: 20px !important;
}

/* ===============================================
   FIX SIDEBAR PAGES
   =============================================== */

/* Asegurar que el contenido de las páginas con sidebar no se desborde */
.page-with-sidebar .page-content-wrapper,
.page-with-sidebar .blog-post-single {
  width: 100%;
  max-width: 100%;
}

/* ===============================================
   RESPONSIVE
   =============================================== */

@media (max-width: 991px) {
  main > .container,
  main > .container-fluid,
  main .page-container,
  main .has-slider-content {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

@media (max-width: 575px) {
  main > .container,
  main > .container-fluid,
  main .page-container,
  main .has-slider-content {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .footer-area {
    padding-top: 40px !important;
  }

  .footer-area .footer-top,
  .footer-padding {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}
