/* Ajusta o Bootstrap 5.3 ao padrão OITO III. */
:root,
[data-bs-theme] {
    --bs-body-font-family: var(--o3-font);
    --bs-body-bg: var(--o3-paper);
    --bs-body-color: var(--o3-ink);
    --bs-secondary-color: var(--o3-t2);
    --bs-border-color: var(--o3-line);
    --bs-link-color: var(--o3-ink);
    --bs-link-hover-color: var(--o3-ink);
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-xxl: 0;
    --bs-border-radius-pill: 0;
    --bs-box-shadow: none;
    --bs-box-shadow-sm: none;
    --bs-box-shadow-lg: none;
    --bs-box-shadow-inset: none;
    --bs-focus-ring-color: rgba(17, 17, 17, .25);
}

h1,
h2,
h3,
h4,
h5,
h6,
.fw-bold {
    font-weight: 400;
}

h1,
h2 {
    letter-spacing: var(--o3-ls-h2);
}

.lead {
    color: var(--o3-t2);
    font-size: var(--o3-fs-lead);
    font-weight: 400;
}

.btn {
    --bs-btn-font-family: var(--o3-font);
    --bs-btn-font-size: 10px;
    --bs-btn-font-weight: 700;
    --bs-btn-padding-x: 16px;
    --bs-btn-padding-y: 10px;
    --bs-btn-border-radius: 0;

    min-height: 44px;
    border-radius: 0;
    box-shadow: none;
    letter-spacing: var(--o3-ls-button);
    text-transform: uppercase;
}

.btn:focus-visible,
.btn-check:focus-visible + .btn {
    box-shadow: none;
}

.btn-lg {
    --bs-btn-font-size: 10px;
    --bs-btn-padding-x: 28px;

    min-height: 52px;
}

.btn-success,
.btn-primary {
    --bs-btn-color: var(--o3-paper);
    --bs-btn-bg: var(--o3-ink);
    --bs-btn-border-color: var(--o3-ink);
    --bs-btn-hover-color: var(--o3-ink);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: var(--o3-ink);
    --bs-btn-focus-shadow-rgb: 17, 17, 17;
    --bs-btn-active-color: var(--o3-paper);
    --bs-btn-active-bg: var(--o3-black);
    --bs-btn-active-border-color: var(--o3-black);
    --bs-btn-disabled-color: var(--o3-paper);
    --bs-btn-disabled-bg: var(--o3-ink);
    --bs-btn-disabled-border-color: var(--o3-ink);
}

.o3-dark .btn-success,
.o3-dark .btn-primary {
    --bs-btn-color: var(--o3-black);
    --bs-btn-bg: var(--o3-paper);
    --bs-btn-border-color: var(--o3-paper);
    --bs-btn-hover-color: var(--o3-paper);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(244, 242, 234, .5);
    --bs-btn-active-color: var(--o3-black);
    --bs-btn-active-bg: var(--o3-paper-2);
    --bs-btn-active-border-color: var(--o3-paper-2);
    --bs-btn-disabled-color: var(--o3-black);
    --bs-btn-disabled-bg: var(--o3-paper);
    --bs-btn-disabled-border-color: var(--o3-paper);
}

.btn-outline-success,
.btn-outline-light {
    --bs-btn-color: currentColor;
    --bs-btn-border-color: currentColor;
    --bs-btn-hover-color: var(--o3-paper);
    --bs-btn-hover-bg: var(--o3-t1);
    --bs-btn-hover-border-color: var(--o3-t1);
    --bs-btn-active-color: var(--o3-paper);
    --bs-btn-active-bg: var(--o3-t1);
    --bs-btn-active-border-color: var(--o3-t1);
    --bs-btn-disabled-color: currentColor;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: currentColor;
}

.o3-dark .btn-outline-success,
.o3-dark .btn-outline-light {
    --bs-btn-hover-color: var(--o3-black);
    --bs-btn-active-color: var(--o3-black);
}

.form-control,
.form-select {
    min-height: 56px;
    padding-right: 0;
    padding-left: 0;
    border: 0;
    border-bottom: 1px solid var(--o3-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
}

.form-control:focus,
.form-select:focus {
    border-color: currentColor;
    background: transparent;
    box-shadow: none;
    color: inherit;
}

.form-label {
    color: var(--o3-t3);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.navbar {
    min-height: var(--o3-nav-h);
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    background: rgba(242, 239, 233, .72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.navbar.o3-dark {
    border-bottom-color: rgba(255, 255, 255, .14);
    background: rgba(8, 8, 8, .70);
}

.navbar-toggler {
    min-width: 44px;
    min-height: 44px;
    border-radius: 0;
    box-shadow: none;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.nav-link {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: var(--o3-ls-button);
    opacity: .55;
    text-transform: uppercase;
}

.nav-link:hover,
.nav-link.active {
    opacity: 1;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: inherit;

    font-variant-numeric: tabular-nums;
}

.table th {
    color: var(--o3-t3);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.card {
    --bs-card-bg: transparent;
    --bs-card-border-color: var(--o3-line);
    --bs-card-border-radius: 0;

    border-radius: 0;
    box-shadow: none;
}

.badge {
    border-radius: 0;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

:where(
    .form-check-input,
    .input-group-text,
    .alert,
    .nav-pills .nav-link,
    .dropdown-menu,
    .list-group-item,
    .pagination,
    .page-link,
    .modal-content,
    .toast,
    .accordion-item,
    .accordion-button,
    .progress
) {
    border-radius: 0;
    box-shadow: none;
}
