@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap');

:root {
    --bs-primary:   #691C32;   /* Guinda base */
    --bs-secondary: #A04C61;   /* Rosa quemado, tono armónico */
    --bs-success:   #4CAF50;   /* Verde estándar */
    --bs-danger:    #C94F4F;   /* Rojo armónico */
    --bs-warning:   #FFB84D;   /* Ámbar */
    --bs-info:      #5B89A6;   /* Azul grisáceo frío */
    --bs-light:     #f8f9fa;
    --bs-dark:      #1f2e3c;
}

/* === BTN PRIMARY === */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #4d1224; /* más oscuro */
    border-color: #4d1224;
    color: #fff;
}

.btn-primary:disabled {
    background-color: #b37c8a;
    border-color: #b37c8a;
    color: #fff;
}

/* === BTN SECONDARY === */
.btn-secondary {
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: #fff;
}

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

.btn-secondary:disabled {
    background-color: #d9aebd;
    border-color: #d9aebd;
    color: #fff;
}

/* === BTN SUCCESS === */
.btn-success {
    background-color: var(--bs-success);
    border-color: var(--bs-success);
    color: #fff;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #3d9142;
    border-color: #3d9142;
    color: #fff;
}

.btn-success:disabled {
    background-color: #a7d7a9;
    border-color: #a7d7a9;
    color: #fff;
}

/* === BTN DANGER === */
.btn-danger {
    background-color: var(--bs-danger);
    border-color: var(--bs-danger);
    color: #fff;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    background-color: #a73838;
    border-color: #a73838;
    color: #fff;
}

.btn-danger:disabled {
    background-color: #e6a2a2;
    border-color: #e6a2a2;
    color: #fff;
}

/* === BTN WARNING === */
.btn-warning {
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
    color: #212529;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    background-color: #e6a31f;
    border-color: #e6a31f;
    color: #212529;
}

.btn-warning:disabled {
    background-color: #f9deb3;
    border-color: #f9deb3;
    color: #212529;
}

/* === BTN INFO === */
.btn-info {
    background-color: var(--bs-info);
    border-color: var(--bs-info);
    color: #fff;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: #3c6f87;
    border-color: #3c6f87;
    color: #fff;
}

.btn-info:disabled {
    background-color: #bad0dd;
    border-color: #bad0dd;
    color: #fff;
}

/* === BTN OUTLINE === */
.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--bs-primary);
    color: #fff;
}

.btn-outline-secondary {
    color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    background-color: var(--bs-secondary);
    color: #fff;
}

.btn-outline-success {
    color: var(--bs-success);
    border-color: var(--bs-success);
}

.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
    background-color: var(--bs-success);
    color: #fff;
}

.btn-outline-danger {
    color: var(--bs-danger);
    border-color: var(--bs-danger);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active {
    background-color: var(--bs-danger);
    color: #fff;
}

.btn-outline-warning {
    color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
    background-color: var(--bs-warning);
    color: #212529;
}

.btn-outline-info {
    color: var(--bs-info);
    border-color: var(--bs-info);
}

.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active {
    background-color: var(--bs-info);
    color: #fff;
}

/* === PAGINATION LIGHT MODE FOR #691C32 === */
/* === PAGINACIÓN MODO CLARO === */
html:not([data-bs-theme="dark"]) .pagination {
    --bs-pagination-color: #6a1a31;
    --bs-pagination-bg: #fff;
    --bs-pagination-border-color: #8e4559;
    --bs-pagination-hover-color: #fff;
    --bs-pagination-hover-bg: var(--bs-primary);
    --bs-pagination-hover-border-color: var(--bs-primary);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    --bs-pagination-disabled-color: #999;
    --bs-pagination-disabled-bg: #fff;
    --bs-pagination-disabled-border-color: #ccc;
}

html:not([data-bs-theme="dark"]) .page-link {
    background-color: var(--bs-pagination-bg);
    color: var(--bs-pagination-color);
    border: 1px solid var(--bs-pagination-border-color);
}

html:not([data-bs-theme="dark"]) .page-link:hover,
html:not([data-bs-theme="dark"]) .page-link:focus {
    background-color: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}

html:not([data-bs-theme="dark"]) .page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

html:not([data-bs-theme="dark"]) .page-item.disabled .page-link {
    background-color: var(--bs-pagination-disabled-bg);
    color: var(--bs-pagination-disabled-color);
    border-color: var(--bs-pagination-disabled-border-color);
}

/* === PAGINACIÓN MODO OSCURO === */
html[data-bs-theme="dark"] .pagination {
    --bs-pagination-color: #e2dede;
    --bs-pagination-bg: transparent;
    --bs-pagination-border-color: #8e4559;
    --bs-pagination-hover-color: #fff;
    --bs-pagination-hover-bg: var(--bs-primary);
    --bs-pagination-hover-border-color: var(--bs-primary);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    --bs-pagination-disabled-color: #888;
    --bs-pagination-disabled-bg: transparent;
    --bs-pagination-disabled-border-color: #8e4559;
}

html[data-bs-theme="dark"] .page-link {
    background-color: transparent;
    color: var(--bs-pagination-color);
    border: 1px solid var(--bs-pagination-border-color);
}

html[data-bs-theme="dark"] .page-link:hover,
html[data-bs-theme="dark"] .page-link:focus {
    background-color: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}

html[data-bs-theme="dark"] .page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}

html[data-bs-theme="dark"] .page-item.disabled .page-link {
    background-color: transparent;
    color: var(--bs-pagination-disabled-color);
    border-color: var(--bs-pagination-disabled-border-color);
}

/* Espaciador "..." */
html[data-bs-theme="dark"] .page-item.disabled .page-link[aria-disabled="true"] {
    background-color: transparent;
    color: #aaa;
    border-color: transparent;
}



body {
    font-family: 'Nunito Sans', sans-serif;
}
