@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap');

:root {
    /* Tipograf?a */
    --bs-font-sans-serif: "Plus Jakarta Sans", sans-serif;

    /* Paleta de colores principal - Tonos elegantes y coordinados */
    --bs-primary: #1a5f7a;         /* Azul profundo */
    --bs-secondary: #457b9d;       /* Azul medio */
    --bs-success: #2a9d8f;         /* Verde turquesa */
    --bs-info: #64b5f6;            /* Azul claro */
    --bs-warning: #e9c46a;         /* ?mbar suave */
    --bs-danger: #e76f51;          /* Coral rojizo */
    --bs-light: #f8f9fa;           /* Gris muy claro */
    --bs-dark: #2d3142;            /* Gris oscuro azulado */

    /* Colores RGB para efectos de transparencia */
    --bs-primary-rgb: 26, 95, 122;
    --bs-secondary-rgb: 69, 123, 157;
    --bs-success-rgb: 42, 157, 143;
    --bs-info-rgb: 100, 181, 246;
    --bs-warning-rgb: 233, 196, 106;
    --bs-danger-rgb: 231, 111, 81;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 45, 49, 66;

    /* Colores de texto y fondos */
    --bs-body-font-size: 0.875rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #4a5568;
    --bs-body-bg: #fff;
    --bs-border-color: #dde2e5;
    --bs-heading-color: #222831;

    /* Bordes y espaciado */
    --bs-border-radius: 7px;
    --bs-gutter-x: 24px;
    --bs-btn-font-size: 0.875rem;
    --bs-card-spacer-y: 30px;
    --bs-card-spacer-x: 30px;
    --bs-card-border-width: 0px;

    /* Para formularios */
    --bs-input-border-color: #c7d2db;
    --bs-input-focus-border-color: var(--bs-primary);
    --bs-input-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* Botones generales */
.btn {
    --bs-btn-padding-x: 16px;
    --bs-btn-padding-y: 7px;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-font-weight: 500;
    --bs-btn-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    --bs-btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Estilos de botones por tipo */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: #144d64;
    --bs-btn-hover-border-color: #144d64;
    --bs-btn-focus-shadow-rgb: 26, 95, 122;
    --bs-btn-active-bg: #144d64;
    --bs-btn-active-border-color: #144d64;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
    --bs-btn-disabled-opacity: 0.65;
}

.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: #3b6a89;
    --bs-btn-hover-border-color: #3b6a89;
    --bs-btn-focus-shadow-rgb: 69, 123, 157;
    --bs-btn-active-bg: #3b6a89;
    --bs-btn-active-border-color: #3b6a89;
    --bs-btn-disabled-bg: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-danger {
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-bg: #d15e44;
    --bs-btn-hover-border-color: #d15e44;
    --bs-btn-focus-shadow-rgb: 231, 111, 81;
    --bs-btn-active-bg: #d15e44;
    --bs-btn-active-border-color: #d15e44;
    --bs-btn-disabled-bg: var(--bs-danger);
    --bs-btn-disabled-border-color: var(--bs-danger);
}

/* Botones outline */
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: 26, 95, 122;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-primary);
}

/* Clases de fondo */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.bg-dark { background-color: var(--bs-dark) !important; }

/* Colores de texto */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-success { color: var(--bs-success) !important; }
.text-info { color: var(--bs-info) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-light { color: var(--bs-light) !important; }
.text-dark { color: var(--bs-dark) !important; }
.text-muted { color: #6c757d !important; }

/* Estilos de tarjeta */
.card {
    --bs-card-spacer-y: 30px;
    --bs-card-spacer-x: 30px;
    --bs-card-title-color: var(--bs-heading-color);
    --bs-card-subtitle-color: var(--bs-heading-color);
    --bs-card-border-width: 0px;
    --bs-card-box-shadow: rgba(145, 158, 171, 0.2) 0px 0px 2px 0px, rgba(145, 158, 171, 0.12) 0px 12px 24px -4px;
    --bs-card-inner-border-radius: var(--bs-border-radius);
}

/* Formularios - Mejora visual */
.form-control {
    border-color: var(--bs-input-border-color);
    border-width: 1.5px;
    /* padding: 0.5rem 0.75rem; */
    /* font-size: var(--bs-body-font-size); */
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.form-control:focus {
    border-color: var(--bs-input-focus-border-color);
    box-shadow: var(--bs-input-focus-box-shadow);
}

.form-label {
    font-weight: 500;
    color: var(--bs-heading-color);
    margin-bottom: 0.5rem;
}

.form-select {
    border-color: var(--bs-input-border-color);
    border-width: 1.5px;
}

.form-select:focus {
    border-color: var(--bs-input-focus-border-color);
    box-shadow: var(--bs-input-focus-box-shadow);
}

/* Container */
.container {
    max-width: 1150px;
}

/* Custom classes (mantener las existentes) */
.spacer {
    padding: 80px 0;
}

.pro-demo {
    box-shadow: 0px 4px 45px rgb(0 0 0 / 9%);
}

.line-h33 {
    line-height: 33px;
}

.icon-circle {
    background-color: var(--bs-dark);
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    position: relative;
}

.icon-circle.circle-primary {
    background-color: var(--bs-primary) !important;
}

.icon-circle.circle-muted {
    background-color: var(--bs-body-color) !important;
    opacity: 0.8;
}

.icon-circle:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: #fff;
    display: block;
    margin: 0 auto;
    top: 5px;
}

.live-box {
    position: relative;
    height: 275px;
    overflow: hidden;
}
