@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100..900&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

:root {
    --color-linkpie: #777;
    --color-linkpie-hover: #333;
}

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

h1, h2, h3, h4, h5, h6 {
    font-family: 'Catamaran', sans-serif;
    font-weight: 800 !important;
}

/* navbar transparencia */
.navbar.bg-light {
    background-color: rgba(248, 248, 248, 0.9) !important;
    border-color: rgba(231, 231, 231, 0.9) !important;
}

/* video fondo */
.video-background-holder,
.video-background-holder-sub {
    position: relative;
    background-color: black;
    width: 100%;
    overflow: hidden;
}

.video-background-holder {
    height: 100vh;
    min-height: 25rem;
}

.video-background-holder-sub {
    height: 28vh;
    min-height: 25rem;
}

.video-background-holder video,
.video-background-holder-sub video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    transform: translateX(-50%) translateY(-50%);
}

.video-background-content {
    position: relative;
    z-index: 2;
}

.video-background-overlay {
    position: absolute;
    inset: 0;
    background-color: black;
    opacity: 0.5;
    z-index: 1;
}

/* link pie */
a.linkpie {
    color: var(--color-linkpie);
    transition: all ease 0.8s;
    text-decoration: none;
}

a.linkpie:hover,
a.linkpie:focus {
    color: var(--color-linkpie-hover);
    background-color: transparent;
    text-decoration: none;
}

/* footer */
footer.footer {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

/* listar */
.listar-txt-titulo {
    text-align: center;
    font-size: 3em;
    font-weight: bold;
    color: #5882FA;
}

/* intro mensajes */
.intro-message {
    font-size: 5.5em;
    color: white;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
}

.intro-submessage {
    font-size: 2em;
    color: white;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
}

@media (max-width: 767px) {
    .intro-message {
        font-size: 3em;
    }
    .intro-submessage {
        font-size: 1.2em;
    }
}

/* =========================================================
   Panel de administración (layout oscuro estilo sidebar)
   ========================================================= */

.page-content {
    overflow-y: auto;
}

.sidebar-heading {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

.sidebar .nav-link {
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.6rem 1rem;
    transition: all 0.2s ease;
}

.sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateX(3px);
}

.sidebar .nav-link.active {
    font-weight: 600;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
}

.sidebar .nav-link.active.bg-primary {
    background-color: #0d6efd !important;
}

.sidebar .nav-link.active.bg-warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

.sidebar .nav-link.text-danger:hover {
    background-color: rgba(220, 53, 69, 0.1);
}

@media (min-width: 768px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        overflow-y: auto;
        z-index: 1020;
    }
    .sidebar .offcanvas-body {
        padding-top: 3rem;
    }
    .page-content {
        margin-left: 25%;
    }
}

@media (min-width: 992px) {
    .page-content {
        margin-left: 16.67%;
    }
}

/* Dropdown del usuario (sólo en la cabecera oscura del panel) */
.navbar.bg-dark .dropdown-menu {
    min-width: 250px;
}

.navbar.bg-dark .dropdown-item {
    padding: 0.6rem 1rem;
    transition: all 0.2s ease;
}

.navbar.bg-dark .dropdown-item:hover {
    background-color: rgba(13, 110, 253, 0.1);
    padding-left: 1.25rem;
}

/* Efecto elevación en tarjetas del panel */
.hover-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.5) !important;
}

/* Tablas con hover en tema oscuro */
[data-bs-theme="dark"] .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* Tarjetas de estadística con borde lateral de color */
.stat-card {
    border-left: 4px solid transparent;
}

.stat-card--info {
    border-left-color: var(--bs-info);
}

.stat-card--success {
    border-left-color: var(--bs-success);
}

.stat-card--warning {
    border-left-color: var(--bs-warning);
}

.stat-card--danger {
    border-left-color: var(--bs-danger);
}

.stat-card--primary {
    border-left-color: var(--bs-primary);
}

/* Utilidades de tamaño para avatares/iconos circulares */
.size-28 {
    width: 28px;
    height: 28px;
    object-fit: cover;
}

.size-36 {
    width: 36px;
    height: 36px;
}

.size-44 {
    width: 44px;
    height: 44px;
}

.size-68 {
    width: 68px;
    height: 68px;
}

.size-72 {
    width: 72px;
    height: 72px;
}

.max-w-420 {
    max-width: 420px;
}
