/* BS Add-Ons */
.bg-medium {
    background: var(--medium) !important;
}
.bg-light-hover:hover {
    background: var(--light) !important;
}
.bg-secondary-hover:hover {
    background: var(--bs-secondary) !important;
}
.text-medium {
    color: var(--medium) !important;
}
.text-blue {
    color: var(--blue) !important;
}
.text-primary-hover:hover {
    color: var(--primary) !important;
}
.text-white-hover:hover {
    color: white !important;
}
.text-underline-hover:hover {
    text-decoration: underline !important;
}
.border-medium {
    border-color: var(--medium) !important;
}
.shadow-sm-hover {
    transition: box-shadow 0.3s ease-in-out;
}
.shadow-sm-hover:hover {
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
}
.backdrop-blur {
    background: rgba(255, 255, 255, 0.6); /* Fallback */
    -webkit-backdrop-filter: blur(30px); /* Safari */
    backdrop-filter: blur(30px); /* Modern browsers */
}
.object-fit-cover {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
}
.object-position-center {
    -o-object-position: center center; 
    object-position: center center; 
}
.wh-100 {
    height: var(--wh-100) !important;
}
.mwh-100 {
    min-height: var(--wh-100) !important;
}
.unset-all {
    unset: all;
}
.fs-7 { font-size: 14px; }
.fs-8 { font-size: 12px; }
.fs-9 { font-size: 10px; }
.small-text { font-size: 12px; }
/* BS Media Add-Ons */
@media (max-width: 768px) { /* sm breakpoint */
    .position-sm-relative { position: relative !important; }
    .position-sm-absolute { position: absolute !important; }
}
@media (min-width: 768px) { /* md breakpoint */
    .border-md { border: 1px solid var(--bs-border-color) !important; }
}

/* Bootstrap Edits */
.text-primary {
    color: var(--primary) !important;
}
.bg-primary {
    background: var(--primary) !important;
}
.border-primary {
    border: 2px solid var(--primary) !important;
}
.btn-primary {
    background: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    color: var(--textOnPrimary) !important;
}
.btn-primary:hover {
    background: var(--primaryDark) !important;
}
.btn-outline-primary {
    color: var(--primary) !important;
    border: 1px solid var(--primary) !important;
}
.btn-outline-primary:hover {
    background: var(--primary) !important;
    color: #fff !important;
}
.btn-nohover:hover {
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-bg);
    color: var(--bs-btn-color);
} 
.input-focus-box-shadow-none:focus {
    box-shadow: none !important;
}
.vh-100 {
    height: calc(100vh - var(--app-nav-height)) !important;
}
.modal {
    padding-top: var(--app-nav-height);
}
.aspect-ratio-1 {
    aspect-ratio: 1 / 1;
}
.btn-xs {
    padding: .4rem .4rem;
    font-size: .750rem;
    line-height: .5;
    border-radius: .2rem;
}

/* BS Tabs Add-On */
.nav-tabs .nav-link {
    color: inherit;
}
.nav-tabs .nav-link.active {
    color: var(--primary);
}
.tabs-boxed .nav-link {
    border: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    border-radius: 0;
    padding-top: 16px;
    padding-bottom: 16px;
}
.tabs-boxed .nav-link.nav-icon-link {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 20px;
}
.tabs-boxed .nav-link.active {
    border-bottom-color: transparent;
}
.tabs-boxed .nav-item:first-child .nav-link {
    border-top-left-radius: var(--bs-nav-tabs-border-radius);
}
.tabs-boxed .nav-item:last-child .nav-link {
    border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.tabs-dossier .nav-link.active {
    background: var(--bs-secondary);
    color: #fff;
    border-bottom: 2px solid var(--primary);
}

/* BS Carousel Edits */
.carousel-indicators {
    margin-bottom: 6px;
}
.carousel-indicators-inner {
    display: flex;
    justify-content: center;
    background: var(--dark);
    padding: 0 4px;
    border-radius: 10px;
}
.carousel-indicators .indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}