/* Estilos que antes iban inline (compatibles con style-src 'self') */
.js-calendar-trigger {
    cursor: pointer;
}

.container-main-padding {
    padding-top: 1em;
}

.landing-simple {
    margin: 5px;
    width: 100vw;
}

.landing-simple .logo {
    width: 100%;
    max-width: 200px;
}

/* Modal de login mostrado estáticamente (sin JS) */
.modal-static-login {
    display: block;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-static-login .modal-dialog {
    margin-top: 10vh;
}

.btn-login {
    color: #fff;
    background-color: #009E62;
    border-color: #009E62;
}

.btn-login:hover,
.btn-login:focus,
.btn-login:active {
    color: #fff;
    background-color: #008a56;
    border-color: #008a56;
}

.btn-secondary {
    color: #009E62;
    background-color: #fff;
    border-color: #009E62;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
    color: #008a56;
    background-color: #fff;
    border-color: #008a56;
}

.active > .page-link,
.page-link.active {
    color: #fff;
    background-color: #009E62;
    border-color: #009E62;
}

h2 {
    color: #009E62;
}

a {

    color: #009E62;
}

a:hover {

    color: #008a56;
}

.navbar a,
.breadcrumb a,
.btn,
.page-link,
.dropdown-item {
    background-color: transparent;
    color: inherit;
}

.breadcrumb {
    --bs-breadcrumb-bg: #009E62;
    background-color: #009E62;
    color: #fff;
}

.breadcrumb .breadcrumb-item a {
    color: #fff;
    text-decoration: none;
}

.breadcrumb .breadcrumb-item a:hover {
    color: #fff;
    text-decoration: underline;
    opacity: 0.9;
}

.breadcrumb .breadcrumb-item.active {
    color: #fff;
}

.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #fff;
}

/* Filas de formulario heredadas de Bootstrap 3 (columnas sin .row explícito) */
.legacy-form-row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.legacy-form-row > [class*="col-"] {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    margin-top: var(--bs-gutter-y);
}

/* Admin: estilos que antes eran atributos style="" (CSP style-src sin unsafe-inline) */
.menu-logo-float {
    float: left;
    margin-right: 20%;
    max-height: 40px;
    width: auto;
}

.logotop-center {
    display: flex;
    justify-content: center;
}

.principal-padded {
    padding-top: 10px;
}

.text-usuario-bloqueado {
    color: red;
}

.ratio-tall {
    --bs-aspect-ratio: 60%;
}

.ratio-tall > object {
    width: 100%;
    height: 100%;
}

.pdf-manual-frame {
    width: 100%;
    min-height: 75vh;
    border: 0;
}

.table-layout-fixed {
    table-layout: fixed;
    width: 100%;
}

.table-scroll-x {
    max-width: 100%;
    overflow-x: auto;
}

th.table-col-desc,
td.table-col-desc {
    max-width: 500px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

th.table-col-resp-300,
td.table-col-resp-300 {
    max-width: 300px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

th.table-col-resp-400,
td.table-col-resp-400 {
    max-width: 400px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

/* Tabla de resultados en consultas */
table.consultas-datatable thead th {
    font-weight: 700;
    background-color: #555 !important;
    color: #fff !important;
}

table.consultas-datatable tbody tr:nth-child(odd),
table.consultas-datatable tbody tr:nth-child(odd) td {
    background-color: #f0f0f0 !important;
}

table.consultas-datatable tbody tr:nth-child(even),
table.consultas-datatable tbody tr:nth-child(even) td {
    background-color: #fff !important;
}

/* Evita que DataTables pinte columnas ordenadas con otro tono */
table.consultas-datatable tbody td.sorting_1,
table.consultas-datatable tbody td.sorting_2,
table.consultas-datatable tbody td.sorting_3 {
    background-color: inherit !important;
}
