/* 1. Configuración de la entidad */
:root {
  --color-brand-turquoise: #40cfde;
  --color-brand-bright: #40cfde;
  --color-primary: #302c74;
  --color-primary-hover: #27245e;
  --color-primary-tint: #eeedf7;
  --color-on-primary: #ffffff;
  --color-secondary: #16152e;
  --color-secondary-hover: #111025;
  --color-secondary-tint: #eeedf7;
  --color-on-secondary: #ffffff;
  --color-accent: var(--color-primary);
  --color-on-accent: #ffffff;
  --color-link: var(--color-primary);
  --color-link-hover: var(--color-primary-hover);
  --color-dark: #252438;
  --color-muted: #5e6070;
  --color-white: #ffffff;
  --color-page-background: #f6f7fa;
  --color-surface: #ffffff;
  --color-focus-ring: rgba(48,44,116,0.22);
  --color-action-bar-background: var(--color-secondary);
  --color-action-bar-text: #ffffff;
  --color-footer-background: #ffffff;
  --color-footer-text: #5e6070;
  --color-footer-link: var(--color-primary);
  --color-footer-title: var(--color-secondary);
  --color-footer-accent: var(--color-primary);
  --access-background: #f1f0f8;
  --access-text: var(--color-secondary);
  --access-icon-filter: brightness(0.4);
  --access-button-background: var(--color-primary);
  --access-button-text: var(--color-on-primary);
  --access-login-background: var(--color-surface);
  --access-login-text: var(--color-primary);
  --font-family: "Raleway", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-heading: var(--font-family);
  --navigation-text-transform: none;
  --header-min-height: clamp(104px, 9vw, 124px);
  --logo-height: clamp(80px, 7vw, 96px);
  --footer-logo-width: min(100%, 150px);
  --content-max-width: 1200px;
  --card-radius: 6px;
  --card-border: #e0e2ea;
  --card-shadow: none;
  --slider-max-width: calc(var(--content-max-width) - 30px);
  --slider-height: clamp(240px, 25vw, 340px);
  --slider-background-size: cover;
  --slider-background-position: center;
  --slider-mobile-aspect-ratio: 16 / 9;
}

/* 2. Tipografía, cabecera y logotipos */
body {
  font-size: 1rem;
  line-height: 1.65;
  font-family: var(--font-family);
  color: var(--color-dark);
  background-color: var(--color-page-background);
}

h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); color: var(--color-dark); }
.btn, .form-control { font-family: var(--font-family); }

header,
header .container {
  min-height: var(--header-min-height);
  display: flex;
  align-items: center;
}

header {
  background-color: var(--color-secondary);
}

header .container > a {
  max-width: 100%;
}

header .logo {
  position: static;
  display: block;
  height: var(--logo-height);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 1007px) {
  header .container { background-image: none; }
}

@media (max-width: 575.98px) {
  header .container {
    justify-content: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* 3. Enlaces y foco por teclado */
a { color: var(--color-link); }

a:not(.btn):hover,
a:not(.btn):focus {
  color: var(--color-link-hover);
  text-decoration: underline;
}

a:focus-visible,
.btn:focus-visible,
.navbar-toggler:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* 4. Botones: incluye los estados de pulsación de Bootstrap 4 */
.btn-primary,
.btn-primary:visited {
  color: var(--color-on-primary);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle,
.open > .dropdown-toggle.btn-primary {
  color: var(--color-on-primary);
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.btn-primary:focus,
.btn-primary.focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem var(--color-focus-ring);
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: var(--color-on-primary);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  opacity: 0.7;
}

/* 5. Navegación: el menú horizontal comienza a 992px, como Bootstrap */
.navbar.bg-light {
  background-color: var(--color-page-background) !important;
  border-bottom: 1px solid var(--card-border);
  box-shadow: var(--card-shadow);
}

.navbar-light .navbar-nav .nav-link {
  color: var(--color-secondary);
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: var(--navigation-text-transform);
  letter-spacing: normal;
  border-radius: 7px;
  transition: color 0.15s, box-shadow 0.15s;
}

@media (min-width: 992px) {
  #navbarSupportedContent .navbar-nav { flex-wrap: wrap; }
  #navbarSupportedContent .navbar-nav > .nav-item { flex: 0 0 auto; }
  #navbarSupportedContent .navbar-nav > .nav-item > .nav-link { white-space: nowrap; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #navbarSupportedContent .navbar-nav > .nav-item > .nav-link {
    padding-left: 0.45rem;
    padding-right: 0.45rem;
  }
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  background-color: transparent;
  color: var(--color-accent);
  box-shadow: inset 0 -3px 0 var(--color-accent);
  text-decoration: none;
}

.dropdown-item:hover,
.dropdown-item:focus,
a.dropdown-item:hover,
a.dropdown-item:focus {
  color: var(--color-on-secondary);
  background-color: var(--color-secondary-hover);
  text-decoration: none;
}

#navbarSupportedContent .dropdown-item {
  white-space: normal;
  overflow-wrap: anywhere;
}

#navbarSupportedContent .dropdown-item:hover,
#navbarSupportedContent .dropdown-item:focus {
  background-color: var(--color-secondary-tint);
  color: var(--color-secondary-hover);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-pills > li.active > a,
.sidebar-list li a.currentStep {
  color: var(--color-on-secondary);
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}

.nav-pills .nav-link.active:hover,
.nav-pills .nav-link.active:focus,
.nav-pills .show > .nav-link:hover,
.nav-pills .show > .nav-link:focus,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus,
.sidebar-list li a.currentStep:hover,
.sidebar-list li a.currentStep:focus {
  color: var(--color-on-secondary);
  background-color: var(--color-secondary-hover);
}

/* 6. Carrusel de portada. No afecta a otros carruseles de la aplicación. */
.slider {
  position: relative;
  max-width: var(--slider-max-width);
  width: calc(100% - 30px);
  margin: 24px auto 0;
  overflow: hidden;
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  background-color: var(--color-secondary-tint);
}

.slider .carousel { margin-bottom: 0; }

.slider .carousel-item {
  /* establecerSlides() deja display:block en línea en la primera imagen. */
  display: none !important;
  min-height: var(--slider-height);
  background-size: var(--slider-background-size);
  background-position: var(--slider-background-position);
  background-repeat: no-repeat;
}

.slider .carousel-item.active,
.slider .carousel-item-next,
.slider .carousel-item-prev {
  display: block !important;
}

.slider .carousel-control-prev,
.slider .carousel-control-next {
  position: absolute;
  /* base.css fija top con !important. */
  top: 50% !important;
  transform: translateY(-50%);
  height: 48px;
  bottom: auto;
  max-height: none;
  width: clamp(48px, 6vw, 80px);
  opacity: 1;
}

.slider .carousel-control-prev-icon,
.slider .carousel-control-next-icon {
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  background-size: 50% 50%;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-color 0.2s;
}

.slider .carousel-control-prev:hover .carousel-control-prev-icon,
.slider .carousel-control-next:hover .carousel-control-next-icon,
.slider .carousel-control-prev:focus .carousel-control-prev-icon,
.slider .carousel-control-next:focus .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.75);
}

@media (max-width: 767.98px) {
  .slider { margin-top: 16px; }
  .slider .carousel-item {
    min-height: 0;
    aspect-ratio: var(--slider-mobile-aspect-ratio);
  }
  .slider .carousel-control-prev-icon,
  .slider .carousel-control-next-icon { width: 32px; height: 32px; }
  .slider .carousel-control-prev,
  .slider .carousel-control-next {
    top: auto !important;
    bottom: 0;
    transform: none;
  }
  .slider .carousel-indicators { bottom: 2px; margin-bottom: 0; }
}

/* 7. Portadas con jumbotron: sus textos y acciones permanecen visibles */
.jumbotron.inicio {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 0;
  padding: 2rem 0 !important;
  min-height: var(--slider-height);
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--color-white);
}

.jumbotron.inicio::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.jumbotron.inicio .container { position: relative; visibility: visible; }
.jumbotron.inicio h1 {
  color: inherit;
  font-size: clamp(1.75rem, 3vw, 3rem);
  overflow-wrap: anywhere;
}
.jumbotron.inicio p { font-size: clamp(1rem, 1.5vw, 1.25rem); }

/* 8. Barra superior: también cubre desplegables con sesión iniciada */
.action-bar { background-color: var(--color-action-bar-background); }

.action-bar a,
.action-bar a:link,
.action-bar a:visited,
.action-bar a:hover,
.action-bar a:focus,
.action-bar a:active {
  color: var(--color-action-bar-text);
  opacity: 1;
  text-decoration: none;
}

.action-bar .dropdown-menu .dropdown-item,
.action-bar .dropdown-menu .dropdown-item:link,
.action-bar .dropdown-menu .dropdown-item:visited {
  background-color: var(--color-surface);
  color: var(--color-dark);
  text-decoration: none;
}

.action-bar .dropdown-menu .dropdown-item:hover,
.action-bar .dropdown-menu .dropdown-item:focus,
.action-bar .dropdown-menu .dropdown-item:active {
  background-color: var(--color-secondary-tint);
  color: var(--color-secondary-hover);
  text-decoration: none;
}

/* 9. Portada: tarjetas y columnas */
#paneles-inicio {
  padding-top: clamp(24px, 3vw, 40px);
  padding-bottom: 32px;
}

@media (min-width: 1200px) {
  header .container,
  .navbar > .container,
  #paneles-inicio,
  footer > .container { max-width: var(--content-max-width); }

  #paneles-inicio > .row > .col-md-4 { flex-basis: 33.333333%; max-width: 33.333333%; }
}

@media (max-width: 991.98px) {
  #paneles-inicio > .row > .col-md-4 { flex-basis: 100%; max-width: 100%; }
}

#paneles-inicio .panel-inicio:not(.tarjeta-curso) {
  background-color: var(--color-surface);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  padding: 24px;
  margin-bottom: 24px;
  line-height: 1.65;
}

.panel-inicio h5,
footer h5 {
  display: block;
  position: relative;
  left: 0 !important;
  text-indent: 0 !important;
  text-align: left;
  font-weight: 700;
  color: var(--color-dark);
  margin: 0 0 0.4rem !important;
  padding-left: 0 !important;
}

.panel-inicio h5 a,
footer h5 a { color: inherit; margin-left: 0 !important; padding-left: 0 !important; }
.panel-inicio h5 .glyphicon,
footer h5 .glyphicon { display: none; }

.panel-inicio hr,
footer hr {
  height: 2px;
  width: 32px;
  background-color: var(--color-accent);
  border: none;
  opacity: 1;
  margin: 0 0 1rem;
}

#paneles-inicio .panel-inicio h5 { font-size: 1.125rem; line-height: 1.4; }
#paneles-inicio .panel-inicio .table {
  font-size: 0.9375rem;
  line-height: 1.5;
  margin-bottom: 0;
}
#paneles-inicio .table th:first-child,
#paneles-inicio .table td:first-child { width: 96px; white-space: nowrap; }
#paneles-inicio .table td { vertical-align: top; }
#paneles-inicio .table td:not(:first-child) { overflow-wrap: anywhere; }

.panel-inicio-sin-datos { text-align: center; padding: 1rem 0; }
#paneles-inicio .panel-inicio .icono-grande-gris,
#paneles-inicio .panel-inicio .sin-datos-panel {
  color: var(--color-secondary);
  opacity: 1;
  font-size: 3.25rem;
  line-height: 1;
}
#paneles-inicio .panel-inicio-sin-datos .sin-datos-panel { display: block; margin-bottom: 0.75rem; }

/* 10. Accesos: detectados por su enlace de registro, en cualquier columna.
   Los href relativos y absolutos conservan sus destinos. */
#paneles-inicio .panel-inicio:has(.panel-inicio-sin-datos > a[href$="/registro"]) {
  background-color: var(--access-background);
  border-color: var(--card-border);
  color: var(--access-text);
}
#paneles-inicio .panel-inicio:has(.panel-inicio-sin-datos > a[href$="/registro"]) h5 {
  color: var(--access-text);
}
#paneles-inicio .panel-inicio:has(.panel-inicio-sin-datos > a[href$="/registro"]) hr {
  background-color: var(--access-text);
}

#paneles-inicio .panel-inicio-sin-datos:has(> a[href$="/registro"]) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  color: var(--access-text);
  border-bottom: none;
  padding: 1rem 0 0.5rem;
  line-height: 1.5;
}
#paneles-inicio .panel-inicio-sin-datos:has(> a[href$="/registro"]) > img {
  filter: var(--access-icon-filter);
  margin-bottom: 0.5rem !important;
}
#paneles-inicio .panel-inicio-sin-datos:has(> a[href$="/registro"]) > a {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  margin: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  border-radius: 4px;
  border: 1px solid var(--color-primary);
  min-height: 44px;
  line-height: 1.5;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}
#paneles-inicio .panel-inicio-sin-datos > a[href$="/registro"] {
  background-color: var(--access-button-background);
  color: var(--access-button-text);
}
#paneles-inicio .panel-inicio-sin-datos > a[href$="/registro"]:hover,
#paneles-inicio .panel-inicio-sin-datos > a[href$="/registro"]:focus {
  background-color: var(--color-primary-hover);
  color: var(--color-on-primary);
}
#paneles-inicio .panel-inicio-sin-datos > a[href$="/login"] {
  background-color: var(--access-login-background);
  color: var(--access-login-text);
}
#paneles-inicio .panel-inicio-sin-datos > a[href$="/login"]:hover,
#paneles-inicio .panel-inicio-sin-datos > a[href$="/login"]:focus {
  background-color: var(--color-primary-tint);
  color: var(--color-primary-hover);
}

/* 11. Pie de página */
footer {
  padding: 48px 0;
  color: var(--color-footer-text);
  background-color: var(--color-footer-background);
  border-top: 1px solid var(--card-border);
}
footer .logo-pie { width: var(--footer-logo-width); max-width: 100%; height: auto; }
footer h5,
footer h5 a { color: var(--color-footer-title); }
footer hr { background-color: var(--color-footer-accent); }
footer a { color: var(--color-footer-link); }
footer a:not(.btn):hover,
footer a:not(.btn):focus { color: var(--color-footer-text); text-decoration: underline; }
footer .datos-contacto dl,
footer .datos-contacto ul { font-size: 0.875rem; line-height: 1.6; color: var(--color-footer-text); }
footer .datos-contacto ul { padding-left: 0; list-style: none; }
footer .datos-contacto a { overflow-wrap: anywhere; }

@media (max-width: 991.98px) {
  footer > .container > .row > [class*="col-"] { margin-bottom: 24px; }
}

/* 12. Calendario integrado en el pie: días neutros, hoy enmarcado,
   eventos subrayados. No cambia los enlaces ni las fechas. */
footer .calendario {
  max-width: 260px;
  padding: 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
}
footer .calendario .calendar {
  width: 100%;
  margin: 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 3px;
}
footer .calendario .calendar th {
  display: table-cell;
  padding: 0 0 10px;
  border: none;
  text-align: left;
  color: var(--color-footer-text);
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: capitalize;
}
footer .calendario .calendar td {
  height: 32px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1;
  color: var(--color-muted);
  background-color: transparent;
  border-radius: 3px;
  box-shadow: none;
}
footer .calendario .calendar .cal-empty {
  color: transparent;
  pointer-events: none;
}
footer .calendario .calendar .cal-today {
  color: var(--color-footer-text);
  font-weight: 700;
  box-shadow: inset 0 0 0 1px var(--color-primary);
  background-color: var(--color-primary-tint);
}
footer .calendario .calendar .cal-event a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 32px;
  color: var(--color-primary);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  border-radius: 3px;
}
footer .calendario .calendar .cal-event:hover { background-color: transparent; }
footer .calendario .calendar .cal-event a:hover,
footer .calendario .calendar .cal-event a:focus {
  color: var(--color-secondary);
  background-color: var(--color-primary-tint);
  text-decoration: underline;
}
footer .calendario .calendar .cal-event a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* 13. Validaciones y aviso de cookies */
.validation-summary-errors { border-left: 5px solid var(--color-secondary); }
#divCookies a:not(.boton-cookies) { color: var(--color-white); }
#divCookies a:not(.boton-cookies):hover,
#divCookies a:not(.boton-cookies):focus { color: var(--color-white); text-decoration: underline; }

/* 14. Portal Orienta */
#cphPagina_panelPortalOrienta > div {
  position: relative !important;
  padding: 60px 20px !important;
  overflow: hidden;
}
#cphPagina_panelPortalOrienta > div::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: none;
  z-index: 1;
}
#cphPagina_panelPortalOrienta > div > * { position: relative; z-index: 2; }
#cphPagina_panelPortalOrienta .btn-primary { margin-top: 1rem; padding: 0.6rem 2rem; }

/* 15. Reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .navbar-light .navbar-nav .nav-link,
  .slider .carousel-control-prev-icon,
  .slider .carousel-control-next-icon,
  .slider .carousel-item,
  footer .calendario .calendar .cal-event a { transition: none; }
}
/* 16. Ajustes de la plantilla estándar y accesos de SCIO. */
.navbar-light .navbar-nav .nav-link {
  /* base.css fija estos espacios con !important. */
  padding: 14px 12px !important;
}
.navbar.bg-light { box-shadow: none; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  #navbarSupportedContent .navbar-nav > .nav-item > .nav-link {
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 0.875rem;
  }
}
#paneles-inicio > .row > [class*="col-"] { min-width: 0; }
#paneles-inicio .panel-inicio p { margin-bottom: 0; }

#paneles-inicio .panel-inicio > div:has(> .btn.float-right) > h5 {
  padding-right: 55px;
}
#paneles-inicio .panel-inicio-sin-datos:has(> a[href$="/registro"]) > a[href$="/registro"] {
  border-color: var(--color-primary);
}
#paneles-inicio .panel-inicio .sin-datos-panel {
  color: var(--color-primary);
  font-size: 2.25rem;
}
#paneles-inicio .panel-inicio .table th { font-weight: 600; }
#paneles-inicio .panel-inicio .table td .font-size-12 { color: var(--color-muted); }
#paneles-inicio .panel-inicio .table a { font-weight: 500; }
#paneles-inicio .panel-inicio-sin-datos:has(> a[href$="/registro"]) > img {
  height: 56px !important;
}
.slider .carousel-caption h3,
.slider .carousel-caption h5 { text-shadow: none; }
.slider .carousel-control-prev-icon,
.slider .carousel-control-next-icon { width: 40px; height: 40px; }
footer { text-align: left; }
footer h5 { font-size: 1rem; font-weight: 600; }
footer nav { font-size: 0.9375rem; line-height: 1.75; }
footer .datos-contacto .div-logo-pie { margin-bottom: 14px; }
footer .logo-pie { display: block; margin: 0; }
footer .calendario { margin: 0; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  footer > .container > .row > [class*="col-"] {
    flex-basis: 50%;
    max-width: 50%;
    margin-bottom: 24px;
  }
}
@media (max-width: 767.98px) {
  footer > .container > .row > [class*="col-"] { margin-bottom: 28px; }
  footer > .container > .row > [class*="col-"]:last-child { margin-bottom: 0; }
  .slider .carousel-control-prev-icon,
  .slider .carousel-control-next-icon { width: 32px; height: 32px; }
}
/* Cabeceras interiores más compactas y títulos que caben en móvil. */
.imagen-pagina { height: clamp(180px, 18vw, 240px); }
.titulo-pagina { padding: 20px 15px; background-color: rgba(255,255,255,0.94); }
.titulo-pagina h1 { font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 600; line-height: 1.2; }
.titulo-pagina .lead { font-size: 1rem; margin-bottom: 0; }


/* 17. Logos originales: blanco en cabecera, oscuro en el pie. */
header .container { background-color: transparent; }
header .logo { filter: none; }
header .container > a { display: inline-block; padding: 8px 0; }
header { border-bottom: 2px solid var(--color-brand-bright); }
.navbar.bg-light { background-color: var(--color-surface) !important; }
footer .datos-contacto .div-logo-pie { max-width: 150px; }
footer .logo-pie { filter: none; }
footer [class*="col-"]:has(img[src*="logo-sne"]) > div:has(> img.full-width) {
  width: 100%;
  max-width: 220px;
  margin: 0 0 18px !important;
  padding: 0;
  border: none;
  background: transparent;
}
footer img:is([src*="logo-sne"], [src*="logo-ministerio-empleo"]) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  filter: none;
  object-fit: contain;
}
footer [class*="col-"]:has(img[src*="logo-sne"]) > .small {
  max-width: 220px;
  color: var(--color-muted);
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: left !important;
}
#paneles-inicio .panel-inicio-sin-datos:not(:has(> a[href$="/registro"])) {
  border-bottom: none;
  color: var(--color-muted);
  font-size: 0.9375rem;
}
#paneles-inicio .panel-inicio p { font-size: 0.9375rem; }

/* Portada sin slides configurados: la imagen fija ocupa el mismo marco.
   El título automático y el botón sin destino se ocultan solo cuando
   tampoco existe descripción; el contenido editorial configurado sigue visible. */
.jumbotron.inicio {
  max-width: var(--slider-max-width);
  width: calc(100% - 30px);
  margin: 24px auto 0;
  border-radius: var(--card-radius);
  overflow: hidden;
  background-position: center;
}
.jumbotron.inicio #cphTitulo_Slider_lnkVerMas:not([href]) { display: none; }
.jumbotron.inicio #cphTitulo_Slider_panelTitulo:has(> .lead:empty):has(> p > a:not([href])) { display: none; }
.jumbotron.inicio:has(#cphTitulo_Slider_panelTitulo > .lead:empty):has(#cphTitulo_Slider_lnkVerMas:not([href]))::before { background: transparent; }
@media (max-width: 767.98px) {
  .jumbotron.inicio {
    margin-top: 16px;
    min-height: 180px;
    padding: 1rem 0 !important;
  }
}