html,
body {
    height: 100%;
}

body {
  padding-top: 50px; /* reducido de 60px para menos espacio */
  font-size: 1rem; /* devolver tamaño base */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Layout: hacer que wrap ocupe el espacio disponible */
.wrap {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

.wrap > .container {
  flex: 1 0 auto;
}

/* Navbar: aún más delgada (mínima) */
.navbar {
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
}
.navbar .navbar-brand {
  font-size: 0.9rem;
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
}
.navbar .nav-link {
  padding-top: 0.15rem;
  padding-bottom: 0.15rem;
}

/* Contenedor principal: ajustar padding a valores sobrios */
.wrap > .container,
.container {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Footer: siempre al final, sin importar el contenido */
.footer {
  flex-shrink: 0;
  padding: 5px 0;
  border-top: 1px solid rgba(0,0,0,0.12);
  background-color: #f5f5f5;
  margin-top: auto;
}

.jumbotron {
    text-align: center;
    background-color: transparent;
    margin-top: 1rem;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}

/* Secciones de landing: evitar exceso de espacio inferior */
.site-index section {
  margin-bottom: 0.25rem; /* más compacto */
  padding-bottom: 0; /* no añadir espacio extra */
}

/* Ajuste de tarjetas para landing: compactas */
.site-index .card-body {
  padding: 1rem !important; /* antes 0.75rem */
}

/* Limitar ancho máximo de tarjetas y centrar */
.site-index .feature-card {
  max-width: 360px; /* antes 300px */
}

/* Widgets del index: +25% altura y mejor respiración interna */
.site-index .feature-card {
  max-width: 360px;
}
.site-index .feature-card .card-body {
  padding-top: 1.25rem !important;  /* separar del borde superior */
  padding-bottom: 1.25rem !important; /* separar del borde inferior */
}
.site-index .feature-card i {
  font-size: 2.1rem; /* leve ajuste para acompañar mayor altura */
}
.site-index .feature-card h5 {
  margin-top: 0.5rem; /* separar título del icono */
  margin-bottom: 0.5rem; /* separar título del párrafo */
}

 /* Kartik Editable: asegurar que los iconos Bootstrap Icons se muestren */
.editable-buttons .bi {
  font-family: 'bootstrap-icons' !important;
  font-size: 1rem;
}

/* Ocultar iconos Font Awesome del editable si existen */
.editable-buttons .glyphicon,
.editable-buttons .fa {
  display: none;
}

/* Mejorar apariencia de botones editable */
.editable-buttons {
  margin-top: 0.5rem;
}

.editable-buttons .btn {
  margin-right: 0.25rem;
}

