/* Definições de Font Proxima Nova */
@font-face {
    font-family: Proxima Nova;
    src: url("fonts/proxima_nova_alt_regular-webfont.eot");
    src: url("fonts/proxima_nova_alt_regular-webfont.eot?#iefix") format("embedded-opentype"),
    url("fonts/proxima_nova_alt_regular-webfont.woff2") format("woff2"),
    url("fonts/proxima_nova_alt_regular-webfont.woff") format("woff"),
    url("fonts/proxima_nova_alt_regular-webfont.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Proxima Nova;
    src: url("fonts/proxima_nova_alt_light-webfont.eot");
    src: url("fonts/proxima_nova_alt_light-webfont.eot?#iefix") format("embedded-opentype"),
    url("fonts/proxima_nova_alt_light-webfont.woff2") format("woff2"),
    url("fonts/proxima_nova_alt_light-webfont.woff") format("woff"),
    url("fonts/proxima_nova_alt_light-webfont.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Proxima Nova;
    src: url("fonts/proxima_nova_alt_semibold-webfont.eot");
    src: url("fonts/proxima_nova_alt_semibold-webfont.eot?#iefix") format("embedded-opentype"),
    url("fonts/proxima_nova_alt_semibold-webfont.woff2") format("woff2"),
    url("fonts/proxima_nova_alt_semibold-webfont.woff") format("woff"),
    url("fonts/proxima_nova_alt_semibold-webfont.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Proxima Nova;
    src: url("fonts/proxima_nova_alt_bold-webfont.eot");
    src: url("fonts/proxima_nova_alt_bold-webfont.eot?#iefix") format("embedded-opentype"),
    url("fonts/proxima_nova_alt_bold-webfont.woff2") format("woff2"),
    url("fonts/proxima_nova_alt_bold-webfont.woff") format("woff"),
    url("fonts/proxima_nova_alt_bold-webfont.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Customizações de tema Bootstrap - Sobrescreve as variáveis do Bootstrap */
:root,
html,
body {
    /* Cores principais do seu tema */
    --bs-primary: #0099CD;
    --bs-primary-rgb: 0, 153, 205;
    --bs-primary-text-emphasis: #007a9e;
    --bs-primary-bg-subtle: #e6f7fc;
    --bs-primary-border-subtle: #66c6e3;

    /* Cor secundária customizada */
    --bs-secondary: #6c757d; /* ou a cor que preferir */
    --bs-secondary-rgb: 108, 117, 125;

    /* Cores de estado customizadas */
    --bs-success: #198754;
    --bs-info: #0099CD;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;

    /* Focus ring customizado */
    --bs-focus-ring-color: rgba(0, 153, 205, 0.25);
}

/* Aplicar Proxima Nova como font padrão */
body {
    font-family: 'Proxima Nova', sans-serif;
}

/* Aplicar cores customizadas aos componentes */
.btn.btn-primary,
button.btn-primary,
input.btn-primary {
    background-color: #0099CD !important;
    border-color: #0099CD !important;
}

.btn.btn-primary:hover,
button.btn-primary:hover,
input.btn-primary:hover,
.btn.btn-primary:focus,
button.btn-primary:focus,
input.btn-primary:focus {
    background-color: #007a9e !important;
    border-color: #007a9e !important;
}

/* Customizar cores dos outlines */
.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

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

/* Customizar links */
a {
    color: var(--bs-primary);
}

a:hover {
    color: #007a9e;
}

/* Customizar textos com cores do tema */
.text-primary {
    color: var(--bs-primary) !important;
}

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

/* Customizar bordas */
.border-primary {
    border-color: var(--bs-primary) !important;
}

/* ===========================
   FOCUS STYLES PARA INPUTS
   =========================== */

/* Inputs e form controls - focus */
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus {
    border-color: #0099CD !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 205, 0.25) !important;
}

/* Inputs com classes Bootstrap específicas */
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
input.form-select:focus,
select.form-select:focus {
    border-color: #0099CD !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 205, 0.25) !important;
}

/* ===========================
   FOCUS STYLES PARA ACCORDIONS
   =========================== */

/* Accordion buttons - focus */
.accordion-button:focus {
    border-color: #0099CD !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 205, 0.25) !important;
}

/* Accordion button quando não collapsed */
.accordion-button:not(.collapsed):focus {
    border-color: #0099CD !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 205, 0.25) !important;
}

/* Accordion headers em geral */
.accordion-header button:focus,
.accordion-item button:focus {
    border-color: #0099CD !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 153, 205, 0.25) !important;
}

/* ===========================
   DATE PICKER CUSTOMIZATIONS
   =========================== */

/* Date picker - usar cores primárias */
.ui-datepicker-calendar-container a.ui-state-active,
.mat-calendar-body-selected {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

.ui-datepicker-calendar-container a.ui-state-active:hover,
.mat-calendar-body-selected:hover {
    background-color: var(--bs-primary-text-emphasis) !important;
    color: #fff !important;
}

/* Botões Clear e Today */
.ui-datepicker-buttonbar button {
    color: var(--bs-primary) !important;
    background: transparent !important;
    border: none !important;
}

.ui-datepicker-buttonbar button:hover {
    color: var(--bs-primary-text-emphasis) !important;
}

/* Toggle ativo do date picker */
.mat-datepicker-toggle-active {
    color: var(--bs-primary) !important;
}

/* ===========================
   TABELA EDITÁVEL - ALINHAMENTO
   =========================== */

/* Alinhamento vertical para checkboxes na tabela editável */
.editable-table-container .table td .form-check {
    text-align: center;
    vertical-align: middle;
    line-height: 1.5;
    padding: 0.5rem 0;
}

/* Garantir que o checkbox esteja centralizado */
.editable-table-container .table td .form-check-input {
    margin: 0 auto;
}

/* Alinhamento vertical para botões de ação na tabela editável */
.editable-table-container .table td.text-center {
    vertical-align: middle !important;
    text-align: center;
    padding: 0.5rem;
}

/* Garantir que o botão esteja verticalmente alinhado */
.editable-table-container .table td.text-center button {
    margin: 0 auto;
    display: inline-block;
}

/* ===========================
   CONTAINER WIDTH OVERRIDE
   =========================== */

/* Override Bootstrap container max-widths para full width */
body .container,
body .container-fluid,
body .container-sm,
body .container-md,
body .container-lg,
body .container-xl,
body .container-xxl,
div.container,
div.container-fluid,
div.container-sm,
div.container-md,
div.container-lg,
div.container-xl,
div.container-xxl {
    max-width: none !important;
    width: 100% !important;
}

/* Responsividade para containers */
@media (min-width: 576px) {
    .container-sm, .container {
        max-width: 100% !important;
    }
}

@media (min-width: 768px) {
    .container-md, .container-sm, .container {
        max-width: 100% !important;
    }
}

@media (min-width: 992px) {
    .container-lg, .container-md, .container-sm, .container {
        max-width: 100% !important;
    }
}

@media (min-width: 1200px) {
    .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 100% !important;
    }
}

@media (min-width: 1400px) {
    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
        max-width: 100% !important;
    }
}
