:root {
    /* Institutional Palette */
    --ipn-guinda: #750946;
    --ipn-gris: #636569;
    --ipn-negro: #231f20;
    --ipn-blanco: #ffffff;

    /* Bootstrap Overrides */
    --bs-primary: var(--ipn-guinda);
    --bs-primary-rgb: 117, 9, 70;
    
    --bs-secondary: var(--ipn-gris);
    --bs-secondary-rgb: 99, 101, 105;

    --bs-body-color: var(--ipn-negro);
    --bs-link-color: var(--ipn-guinda);
    --bs-link-hover-color: #5a0736; /* Darker shade of Guinda */
}

/* Apply to specific elements to ensure override */
.bg-primary {
    background-color: var(--ipn-guinda) !important;
}

.text-primary {
    color: var(--ipn-guinda) !important;
}

.btn-primary {
    background-color: var(--ipn-guinda);
    border-color: var(--ipn-guinda);
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #5a0736; /* Darker shade */
    border-color: #5a0736;
}

.btn-outline-primary {
    color: var(--ipn-guinda);
    border-color: var(--ipn-guinda);
}

.btn-outline-primary:hover {
    background-color: var(--ipn-guinda);
    border-color: var(--ipn-guinda);
}

.page-link {
    color: var(--ipn-guinda);
}

.page-link.active, .active > .page-link {
    background-color: var(--ipn-guinda);
    border-color: var(--ipn-guinda);
}

/* Navbar Polish */
.navbar-dark .navbar-nav .nav-link.active {
    color: #fff;
    font-weight: 600;
    border-bottom: 2px solid rgba(255,255,255,0.5);
}

/* Card Polish (Global) */
.card {
    border: 0 !important;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.05) !important;
}

/* Badge Polish */
.badge {
    font-weight: 500;
}

/* Global Helpers */
.cursor-pointer { cursor: pointer; }
.border-transparent { border-color: transparent !important; }
.transition-all { transition: all 0.2s ease; }
.hover-shadow:hover { transform: scale(1.05); box-shadow: 0 .25rem .5rem rgba(0,0,0,.1); }

/* Global Layout Override */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.navbar-brand {
    font-weight: 700;
    font-size: 1.5rem;
}

.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
}

footer {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    padding: 1.5rem 0;
    margin-top: auto;
}
