:root {
    --bs-primary: #7F0E2C !important;
    --bs-primary-alt: #8EB9FE !important; /* darker/lighter version */
}


.bg-primary{
    background-color: #7F0E2C !important;
}

.text-primary{
    color: #7F0E2C !important;
}

.bg-primary-alt{
    background-color: #8EB9FE !important;
}

.text-primary-alt{
    color: #8EB9FE !important;
}

.btn-primary:hover{
    background-color: #8EB9FE !important;
    color: #7F0E2C !important;
    border-color: #8EB9FE;
}

.object-fit-cover{
    object-fit: cover !important;
}

/*Custom Borders*/
.border-primary         { border-color: var(--bs-primary) !important; }
.border-top-primary     { border-top-color: var(--bs-primary) !important; }
.border-end-primary     { border-right-color: var(--bs-primary) !important; }
.border-bottom-primary  { border-bottom-color: var(--bs-primary) !important; }
.border-start-primary   { border-left-color: var(--bs-primary) !important; }

.border-primary-alt         { border-color: var(--bs-primary-alt) !important; }
.border-top-primary-alt     { border-top-color: var(--bs-primary-alt) !important; }
.border-end-primary-alt     { border-right-color: var(--bs-primary-alt) !important; }
.border-bottom-primary-alt  { border-bottom-color: var(--bs-primary-alt) !important; }
.border-start-primary-alt   { border-left-color: var(--bs-primary-alt) !important; }




.text-justify{
    text-align: justify;
}

.fs-3x{
    font-size: 3rem;
}

.fs-2x{
    font-size: 2rem;
}

.fs-1-5x{
    font-size: 1.5rem;
}

.select2-container .select2-selection--single {
    height: calc(2.375rem + 2px); /* match your .form-control */
    padding: 0.525rem 1rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--bs-body-color);
    background-color: var(--bs-form-control-bg);
    border: var(--bs-border-width) solid var(--bs-border-color-translucent);
    border-radius: 0.5rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    display: flex;
    align-items: center;
    position: relative;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.6;
    padding-left: 0;
    padding-right: 0;
    color: var(--bs-body-color);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
    right: 0.75rem;
    position: absolute;
    height: auto;
}

/* Font Sizes: .fs-1 to .fs-50 (in px) */
.fs-1  { font-size: 1px !important; }
.fs-2  { font-size: 2px !important; }
.fs-3  { font-size: 3px !important; }
.fs-4  { font-size: 4px !important; }
.fs-5  { font-size: 5px !important; }
.fs-6  { font-size: 6px !important; }
.fs-7  { font-size: 7px !important; }
.fs-8  { font-size: 8px !important; }
.fs-9  { font-size: 9px !important; }
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-17 { font-size: 17px !important; }
.fs-18 { font-size: 18px !important; }
.fs-19 { font-size: 19px !important; }
.fs-20 { font-size: 20px !important; }
.fs-21 { font-size: 21px !important; }
.fs-22 { font-size: 22px !important; }
.fs-23 { font-size: 23px !important; }
.fs-24 { font-size: 24px !important; }
.fs-25 { font-size: 25px !important; }
.fs-26 { font-size: 26px !important; }
.fs-27 { font-size: 27px !important; }
.fs-28 { font-size: 28px !important; }
.fs-29 { font-size: 29px !important; }
.fs-30 { font-size: 30px !important; }
.fs-31 { font-size: 31px !important; }
.fs-32 { font-size: 32px !important; }
.fs-33 { font-size: 33px !important; }
.fs-34 { font-size: 34px !important; }
.fs-35 { font-size: 35px !important; }
.fs-36 { font-size: 36px !important; }
.fs-37 { font-size: 37px !important; }
.fs-38 { font-size: 38px !important; }
.fs-39 { font-size: 39px !important; }
.fs-40 { font-size: 40px !important; }
.fs-41 { font-size: 41px !important; }
.fs-42 { font-size: 42px !important; }
.fs-43 { font-size: 43px !important; }
.fs-44 { font-size: 44px !important; }
.fs-45 { font-size: 45px !important; }
.fs-46 { font-size: 46px !important; }
.fs-47 { font-size: 47px !important; }
.fs-48 { font-size: 48px !important; }
.fs-49 { font-size: 49px !important; }
.fs-50 { font-size: 50px !important; }

/* Word break utilities */
.break-word   { word-break: break-word; }
.break-all    { word-break: break-all; }
.no-break     { white-space: nowrap; }

/* Text overflow utilities */
.text-truncate-1 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Text transform */
.text-capitalize-first::first-letter {
    text-transform: capitalize;
}

/* Shadow Utilities */
.shadow-none       { box-shadow: none !important; }
.shadow-sm-soft    { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.shadow-md-soft    { box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.shadow-lg-soft    { box-shadow: 0 10px 15px rgba(0,0,0,0.15); }

/* Scrollbar hiding */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Rotation utilities */
.rotate-45   { transform: rotate(45deg); }
.rotate-90   { transform: rotate(90deg); }
.rotate-180  { transform: rotate(180deg); }
.rotate-270  { transform: rotate(270deg); }

/* Z-index helpers */
.z--1  { z-index: -1 !important; }
.z-1   { z-index: 1 !important; }
.z-10  { z-index: 10 !important; }
.z-100 { z-index: 100 !important; }

/* Custom border radius */
.radius-0     { border-radius: 0 !important; }
.radius-10    { border-radius: 10px !important; }
.radius-pill  { border-radius: 50rem !important; }
.radius-circle { border-radius: 50% !important; }

/* Cursor helpers */
.cursor-pointer { cursor: pointer !important; }
.cursor-not-allowed { cursor: not-allowed !important; }

/* Opacity helpers (percent based) */
.opacity-0   { opacity: 0 !important; }
.opacity-25  { opacity: 0.25 !important; }
.opacity-50  { opacity: 0.5 !important; }
.opacity-75  { opacity: 0.75 !important; }
.opacity-100 { opacity: 1 !important; }

.scale-text-110 { font-size: 1.10em !important; }
.scale-text-120 { font-size: 1.20em !important; }
.scale-text-130 { font-size: 1.30em !important; }
.scale-text-140 { font-size: 1.40em !important; }
.scale-text-150 { font-size: 1.50em !important; }
.scale-text-175 { font-size: 1.75em !important; }
.scale-text-200 { font-size: 2.00em !important; }
.scale-text-100 { font-size: 1em !important; }
.scale-text-95  { font-size: 0.95em !important; }
.scale-text-90  { font-size: 0.90em !important; }
.scale-text-85  { font-size: 0.85em !important; }
.scale-text-80  { font-size: 0.80em !important; }
.scale-text-75  { font-size: 0.75em !important; }
.scale-text-70  { font-size: 0.70em !important; }
.scale-text-65  { font-size: 0.65em !important; }
.scale-text-60  { font-size: 0.60em !important; }
.scale-text-50  { font-size: 0.50em !important; }
.scale-text-40  { font-size: 0.40em !important; }
.scale-text-30  { font-size: 0.30em !important; }

.scale-105 { transform: scale(1.05); }
.scale-110 { transform: scale(1.10); }
.scale-115 { transform: scale(1.15); }
.scale-120 { transform: scale(1.20); }
.scale-125 { transform: scale(1.25); }
.scale-130 { transform: scale(1.30); }
.scale-140 { transform: scale(1.40); }
.scale-150 { transform: scale(1.50); }
.scale-175 { transform: scale(1.75); }
.scale-200 { transform: scale(2.00); }

/* Hover variants */
.hover-scale-105:hover { transform: scale(1.05); }
.hover-scale-110:hover { transform: scale(1.10); }
.hover-scale-115:hover { transform: scale(1.15); }
.hover-scale-120:hover { transform: scale(1.20); }
.hover-scale-125:hover { transform: scale(1.25); }
.hover-scale-130:hover { transform: scale(1.30); }
.hover-scale-140:hover { transform: scale(1.40); }
.hover-scale-150:hover { transform: scale(1.50); }
.hover-scale-175:hover { transform: scale(1.75); }
.hover-scale-200:hover { transform: scale(2.00); }

/* Smooth transitions */
.scale-transition {
    transition: transform 0.3s ease-in-out;
}