/* Hide unwanted native elements (search, breadcrumbs, language switcher) */
#block-titulodelapagina,
#block-sitiosucr-breadcrumbs,
.top-header,
.region-top-header,
.block-search,
#block-buscador,
.search-toggle,
.search-icon,
.search-form,
.block-language,
.language-switcher-language-url,
.language-switcher-locale-url,
.lang-dropdown,
.block-gtranslate,
.header-icons,
.navbar-top-right,
a[href*="/search"],
a[data-drupal-link-system-path="search"] {
  display: none !important;
}

/* Uniform white background for content areas */
#main-wrapper,
#page,
.section,
main#content {
  background-color: #ffffff !important;
}

/* Main container width and side padding (desktop default) */
#main.container,
#main .container {
  width: 100% !important;
  max-width: 1600px !important;
  padding-left: 80px !important;
  padding-right: 80px !important;
  box-sizing: border-box;
}

/* Remove bottom spacing from header */
header,
.site-header,
.region-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Reset top spacing on global Drupal wrappers */
.dialog-off-canvas-main-canvas,
.page-wrapper,
#page,
div#page,
#main-wrapper,
.main-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Hide secondary regions to avoid empty gaps */
.region-breadcrumb,
.region-highlighted,
.region-help,
.region-content-top,
.breadcrumb,
#block-sitiosucr-breadcrumbs {
  display: none !important;
}

/* Top spacing for content so it doesn't sit under the fixed header */
#main.container,
#main .container,
.region-content,
#main-content {
  padding-top: 75px !important;
  margin-top: 0 !important;
}

/* Remove top margin on first inner element */
.region-content > *:first-child,
.dima-wrapper,
.material-practico-wrapper {
  margin-top: 0 !important;
}

/* Section title style */
.dima-section-title {
  color: #0065a2;
  font-weight: 700;
  margin-bottom: 12px;
}

/* General header style (background, shadow, full width) */
header,
.site-header {
  background-color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border: none !important;
  width: 100% !important;
}

/* Override native Bootstrap/Drupal float behavior */
.region-header,
.region-primary-menu,
.navbar-header,
.navbar-collapse,
#block-sitiosucr-logodimaheader,
#block-navegacionprincipal,
[class*="col-"] {
  float: none !important;
  width: auto !important;
}

/* Logo container aligned left */
.region-header,
#block-sitiosucr-logodimaheader,
[id*="logodimaheader"],
.logo-dima-link {
  margin-right: auto !important;
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Logo image size */
.site-logo img,
.navbar-brand img,
#block-sitiosucr-branding img,
.logo-dima-link img {
  max-height: 55px !important;
  width: auto !important;
}

/* Main menu container aligned right */
.region-primary-menu,
#block-navegacionprincipal,
.navbar-collapse,
.menu--main {
  margin-left: auto !important;
  margin-right: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Remove default background on menu list items */
.region-primary-menu li,
.region-primary-menu li a,
.region-primary-menu .dropdown-toggle,
#block-navegacionprincipal li,
#block-navegacionprincipal li a,
#block-navegacionprincipal .dropdown-toggle,
.navbar-nav > li,
.navbar-nav > li > a {
  background-color: transparent !important;
  background: none !important;
}

/* Menu link text style */
.region-primary-menu a,
.region-primary-menu .dropdown-toggle,
#block-navegacionprincipal a,
#block-navegacionprincipal .dropdown-toggle,
.navbar-nav > li > a,
.navbar-nav > li > .dropdown-toggle {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0065a2 !important;
  text-transform: none !important;
  padding: 8px 12px !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hover and active state on menu links */
.region-primary-menu a:hover,
.region-primary-menu a:focus,
.region-primary-menu a:active,
.region-primary-menu .dropdown-toggle:hover,
.region-primary-menu .dropdown-toggle:focus,
#block-navegacionprincipal a:hover,
#block-navegacionprincipal a:focus,
#block-navegacionprincipal .dropdown-toggle:hover,
.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus {
  background-color: transparent !important;
  background: none !important;
  color: #004b79 !important;
  text-decoration: underline !important;
  box-shadow: none !important;
}

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

/* Desktop only (>=992px): horizontal header and menu layout */
@media (min-width: 992px) {
  header .container,
  .site-header .container,
  .navbar,
  .navbar-header-container {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1400px !important;
    padding: 10px 25px !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  .region-primary-menu ul.menu,
  #block-navegacionprincipal ul.menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
}

/* Tablet (768px - 991px): reduce padding, let Bootstrap collapse take over */
@media (min-width: 768px) and (max-width: 991px) {
  #main.container,
  #main .container {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  header .container,
  .site-header .container,
  .navbar,
  .navbar-header-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 16px !important;
  }

  .navbar-collapse {
    width: 100% !important;
  }

  .region-primary-menu ul.menu,
  #block-navegacionprincipal ul.menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    list-style: none !important;
  }
}

/* Mobile (<=767px) */
@media (max-width: 767px) {
  #main.container,
  #main .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 40px !important;
  }

  header .container,
  .site-header .container,
  .navbar,
  .navbar-header-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 16px !important;
  }

  .navbar-collapse {
    width: 100% !important;
  }

  .region-primary-menu ul.menu,
  #block-navegacionprincipal ul.menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    list-style: none !important;
  }

  .site-logo img,
  .navbar-brand img,
  #block-sitiosucr-branding img {
    max-height: 40px !important;
  }
}

/* Small phones */
@media (max-width: 380px) {
  .region-primary-menu a,
  #block-navegacionprincipal a,
  .navbar-nav > li > a {
    font-size: 13px !important;
    padding: 6px 8px !important;
  }
}

/* ============================================= */
/* TEXTO MÁS GRANDE - RESPALDO GLOBAL             */
/* Cubre cualquier página que no tenga su propio  */
/* CSS específico en CSS Injector                 */
/* ============================================= */
body,
.region-content,
#main-content,
main#content {
  font-size: 19px !important;
  line-height: 1.6 !important;
}

.region-content p,
.region-content li,
.region-content span,
.region-content td,
.region-content th,
#main-content p,
#main-content li,
#main-content span,
#main-content td,
#main-content th {
  font-size: 19px !important;
  line-height: 1.6 !important;
}

.region-content h1, #main-content h1 { font-size: 42px !important; }
.region-content h2, #main-content h2 { font-size: 34px !important; }
.region-content h3, #main-content h3 { font-size: 28px !important; }
.region-content h4, #main-content h4 { font-size: 22px !important; }

@media (max-width: 767px) {
  body, .region-content, #main-content, main#content {
    font-size: 17px !important;
  }
}