/*
 * Identidad institucional UMH
 * Distribucion de acentos: verde 70 %, vino 25 %, dorado 5 %.
 * Los tonos neutros se conservan para legibilidad, superficies y estados.
 */
:root {
    --umh-brand-primary: #007146;
    --umh-brand-primary-hover: #005a38;
    --umh-brand-primary-soft: rgba(0, 113, 70, 0.10);
    --umh-brand-secondary: #71002b;
    --umh-brand-secondary-hover: #590022;
    --umh-brand-secondary-soft: rgba(113, 0, 43, 0.10);
    --umh-brand-accent: #d28600;
    --umh-brand-accent-hover: #a96c00;
    --umh-brand-accent-soft: rgba(210, 134, 0, 0.12);

    --bs-primary: var(--umh-brand-primary);
    --bs-primary-rgb: 0, 113, 70;
    --bs-success: var(--umh-brand-primary);
    --bs-success-rgb: 0, 113, 70;
    --bs-secondary: var(--umh-brand-secondary);
    --bs-secondary-rgb: 113, 0, 43;
    --bs-warning: var(--umh-brand-accent);
    --bs-warning-rgb: 210, 134, 0;
    --bs-link-color: var(--umh-brand-primary);
    --bs-link-hover-color: var(--umh-brand-secondary);
}

a {
    --bs-link-color-rgb: 0, 113, 70;
}

a:not(.btn):not(.nav-link):not([class*="text-"]):hover {
    color: var(--umh-brand-secondary);
}

.bg-primary,
.bg-success {
    background-color: var(--umh-brand-primary) !important;
}

.text-primary,
.text-success {
    color: var(--umh-brand-primary) !important;
}

.border-primary,
.border-success {
    border-color: var(--umh-brand-primary) !important;
}

.btn-primary,
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--umh-brand-primary);
    --bs-btn-border-color: var(--umh-brand-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umh-brand-primary-hover);
    --bs-btn-hover-border-color: var(--umh-brand-primary-hover);
    --bs-btn-active-bg: var(--umh-brand-primary-hover);
    --bs-btn-active-border-color: var(--umh-brand-primary-hover);
    --bs-btn-disabled-bg: var(--umh-brand-primary);
    --bs-btn-disabled-border-color: var(--umh-brand-primary);
}

.btn-outline-primary,
.btn-outline-success {
    --bs-btn-color: var(--umh-brand-primary);
    --bs-btn-border-color: var(--umh-brand-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umh-brand-primary);
    --bs-btn-hover-border-color: var(--umh-brand-primary);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--umh-brand-primary-hover);
    --bs-btn-active-border-color: var(--umh-brand-primary-hover);
}

.bg-secondary {
    background-color: var(--umh-brand-secondary) !important;
}

.text-secondary {
    color: var(--umh-brand-secondary) !important;
}

.border-secondary {
    border-color: var(--umh-brand-secondary) !important;
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--umh-brand-secondary);
    --bs-btn-border-color: var(--umh-brand-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umh-brand-secondary-hover);
    --bs-btn-hover-border-color: var(--umh-brand-secondary-hover);
    --bs-btn-active-bg: var(--umh-brand-secondary-hover);
    --bs-btn-active-border-color: var(--umh-brand-secondary-hover);
}

.btn-outline-secondary {
    --bs-btn-color: var(--umh-brand-secondary);
    --bs-btn-border-color: var(--umh-brand-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umh-brand-secondary);
    --bs-btn-hover-border-color: var(--umh-brand-secondary);
}

.bg-warning {
    background-color: var(--umh-brand-accent) !important;
}

.text-warning {
    color: var(--umh-brand-accent) !important;
}

.border-warning {
    border-color: var(--umh-brand-accent) !important;
}

.btn-warning {
    --bs-btn-color: #17120a;
    --bs-btn-bg: var(--umh-brand-accent);
    --bs-btn-border-color: var(--umh-brand-accent);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--umh-brand-accent-hover);
    --bs-btn-hover-border-color: var(--umh-brand-accent-hover);
    --bs-btn-active-bg: var(--umh-brand-accent-hover);
    --bs-btn-active-border-color: var(--umh-brand-accent-hover);
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--umh-brand-primary);
    box-shadow: 0 0 0 0.25rem rgba(0, 113, 70, 0.20);
}

.form-check-input:checked {
    background-color: var(--umh-brand-primary);
    border-color: var(--umh-brand-primary);
}

.page-link {
    color: var(--umh-brand-primary);
}

.active > .page-link,
.page-link.active {
    background-color: var(--umh-brand-primary);
    border-color: var(--umh-brand-primary);
}

.progress-bar {
    background-color: var(--umh-brand-primary);
}

.umh-brand-logo {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    object-fit: contain;
    filter: none !important;
}

img[src*="logo-umh-negativo-horizontal.png"] {
    display: block;
    width: min(100%, 280px) !important;
    height: auto !important;
    max-height: 104px !important;
    object-fit: contain;
    filter: none !important;
    padding: 12px 18px;
    border-radius: 12px;
    background: var(--umh-brand-primary);
}

header img[src*="logo-umh-negativo-horizontal.png"],
footer img[src*="logo-umh-negativo-horizontal.png"],
.site-header img[src*="logo-umh-negativo-horizontal.png"],
.header-section img[src*="logo-umh-negativo-horizontal.png"] {
    width: min(100%, 430px) !important;
    max-height: 82px !important;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

footer img[src*="logo-umh-negativo-horizontal.png"] {
    width: min(100%, 320px) !important;
    max-height: 104px !important;
}

.top-header .wrap {
    display: flex;
    align-items: center;
    height: 100%;
}

.top-header img.umh-nav-logo[src*="logo-umh-negativo-horizontal.png"] {
    width: auto !important;
    height: 52px !important;
    max-width: min(100%, 360px) !important;
    max-height: 52px !important;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

.card-header img.umh-login-logo[src*="logo-umh-negativo-horizontal.png"] {
    width: min(100%, 280px) !important;
    height: auto !important;
    margin: 0 auto 1rem;
}

.umh-brand-logo--header {
    width: min(100%, 430px) !important;
    max-height: 82px !important;
}

.umh-brand-logo--footer {
    width: min(100%, 320px) !important;
    max-height: 104px !important;
}

.umh-brand-logo--card {
    width: min(100%, 280px) !important;
    margin-inline: auto;
    padding: 14px 20px;
    border-radius: 14px;
    background: var(--umh-brand-primary);
}

.umh-brand-logo--compact {
    width: min(100%, 210px) !important;
    max-height: 64px !important;
}

@media (max-width: 575.98px) {
    .top-header img.umh-nav-logo[src*="logo-umh-negativo-horizontal.png"] {
        width: auto !important;
        height: 42px !important;
        max-width: min(100%, 270px) !important;
        max-height: 42px !important;
    }

    .umh-brand-logo--header {
        width: min(100%, 310px) !important;
        max-height: 66px !important;
    }

    .umh-brand-logo--footer {
        width: min(100%, 260px) !important;
        max-height: 88px !important;
        margin-inline: auto;
    }
}
