/* ===== _variables.css ===== */
:root {
    --c-text: #000000;
    --c-text-inv: #ffffff;
    --c-text-sec1: #81939C;
    --c-text-sec2: #5A6A72;
    --c-text-placeholder: #d5d5d5;
    --c-bg: #ffffff;
    --c-bg-inv: #000000;
    --c-bg-off: #F1F4F5;
    --c-fill: #ffffff;
    --c-fill-inv: #000000;
    --c-fill-sec1: #81939C;
    --c-accent: #01E683;
    --c-accent-l: #0BFE95;
    --c-accent-d: #01B768;
    --c-accent-dd: #018E51;
    --c-trans: transparent;
    --c-border-d: #CEDBD4;
    --c-border-dd: #8088BF;
    --c-border-inv: #000000;

    --c-accent-10: rgba(1,230,131,0.1);
    --c-accent-20: rgba(1,230,131,0.2);
    --c-accent-30: rgba(1,230,131,0.3);
    --c-accent-50: rgba(1,230,131,0.5);
    --c-accent-80: rgba(1,230,131,0.8);
    --c-bg-20: rgba(255,255,255,0.2);
    --c-bg-70: rgba(255,255,255,0.7);
    --c-bg-80: rgba(255,255,255,0.8);
    --c-bg-90: rgba(255,255,255,0.9);
    --c-bg-off-50: rgb(241,244,245,0.5);
    --c-bg-inv-10: rgba(0,0,0,0.1);
    --c-bg-inv-30: rgba(0,0,0,0.3);
    --c-bg-inv-050: rgba(0,0,0,0.05);
    --c-bg-inv-60: rgba(0,0,0,0.6);
    --c-bg-inv-80: rgba(0,0,0,0.8);
    --c-border-d-40: rgb(206, 219, 212, 0.4);

    --c-aqua: #A0FFD6;
    --c-ice: #9EEFE5;
    --c-plat: #E2E6E8;
    --c-salt: #F9FBFD;
    
    --c-gr-1: rgba(88,254,182,0.4);
    --c-gr-2: rgba(66,250,238,0.4);
    --c-gr-3: rgba(157,232,247,0.4);
    --c-gr-4: rgba(56,223,203,0.4);


    --bg-gradient-1: linear-gradient(120deg, var(--c-gr-1), var(--c-gr-2));
    --bg-gradient-2: linear-gradient(120deg, var(--c-gr-2), var(--c-gr-3));
    --bg-gradient-3: linear-gradient(120deg, var(--c-gr-3), var(--c-gr-4));
    --bg-gradient-4: linear-gradient(-52deg, var(--c-ice), var(--c-accent));
    --bg-gradient-5: linear-gradient(-135deg, var(--c-bg-90), var(--c-bg-off));
    --bg-gradient-6: linear-gradient(10deg, var(--c-bg-90), var(--c-bg-off));

    /* Spacing */
    --s-3xs: 3px;
    --s-2xs: 5px; 
    --s-xs: 7px;
    --s-s: 10px;
    --s-d: 12px;
    --s-m: 15px;
    --s-l: 20px;
    --s-xl: 30px;
    --s-2xl: 40px;
    --s-3xl: 60px;
    --s-4xl: 80px;
    --s-5xl: 100px;
    --s-6xl: 120px;

    /* Font Sizes */
    --f-3xs: 1.2rem;
    --f-2xs: 1.3rem;
    --f-xs: 1.4rem;
    --f-s: 1.5rem;
    --f-base: 1.6rem;
    --f-m: 1.8rem;
    --f-l: 2rem;
    --f-xl: 2.2rem;
    --f-2xl: 2.4rem;
    --f-3xl: 2.6rem;
    --f-4xl: 3rem;
    --f-5xl: 3.6rem;
    --f-6xl: 4.8rem;
    --f-7xl: 5.6rem;

    /* Font family */
    --f-body: 'Inter', -apple-system, "system-ui", Segoe UI, helvetica, sans-serif;

    /* Shadows */
    --sh-2xs: 0px 2px 4px rgba(0, 0, 0, 0.14);
    --sh-xs: 0px 3px 10px rgba(0, 0, 0, 0.04);
    --sh-s: 0px 3px 18px rgba(0, 0, 0, 0.07);
    --sh-l: 0 10px 12px rgba(0, 0, 0, 0.07);
    --sh-xl: 8px 16px 16px 6px rgba(0, 0, 0, 0.07);
    --sh-inset-l: inset 0px 0px 80px 50px var(--c-bg);
    --sh-inset-xl: inset 0px 0px 60px 100px var(--c-bg);

    /* Border Radius */
    --r-0: 0;
    --r-2xs: 6px;
    --r-xs: 12px;
    --r-s: 16px;
    --r-m: 32px;
    --r-full: 10em;


    /* Transitions */
    --transition-all: all;
    --transition-rotate: rotate;
    --transition-opacity: opacity;
    --transition-200: 0.2s;
    --transition-500: 0.5s;
    --ease-smooth: cubic-bezier(0.22, 1, 0.36, 1);

    /* Other */
    --h-header: 4.5rem;
    --gap-header: 7px;
    --available-height-vh: calc(100vh - (var(--h-header) + var(--gap-header) * 3));
    --available-height-dvh: calc(100dvh - (var(--h-header) + var(--gap-header) * 3));
}

/* ===== _base.css ===== */
html, body {
    -webkit-overflow-scrolling: touch;
}

html {
    background-color: var(--c-bg-off);
    scroll-behavior: smooth;
}

body {
    height: 100vh;
    max-width: 1296px;
    padding: 0 14px;
    font-family: var(--f-body);
    color: var(--c-text);
    font-size: var(--f-base);
    background-color: var(--c-trans);
    -webkit-tap-highlight-color: transparent;
}

body.auth {
    max-width: 90rem;
    padding: 0 18px;
}

.dashboard header {
    position: sticky;
    top: var(--gap-header);
    z-index: 998;
}

.dashboard header:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(10px);
    z-index: -1;
    border-radius: var(--r-full); 
}

footer {
    margin-top: var(--s-6xl);
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    line-height: 1.2;
}

h1 {
    font-size: var(--f-4xl);
    font-weight: 900;
}

h2 {
    font-size: var(--f-3xl);
    font-weight: 800;
}

h3 {
    font-size: var(--f-l);
    font-weight: 600;
}

h4, h5, h6 {
    font-weight: 600;
}

p {
    margin: 0;
}

ul, ol {
    margin: 0;
}

button, .bricks-button {
    line-height: 1;
    border-radius: var(--r-full);
    font-weight: 500;
}

.btn--primary {
    background-color: var(--c-accent);
    color: var(--c-text);
    font-weight: 600;
}

.btn--primary:hover {
    background-color: var(--c-accent-80);
}

.btn--secondary {
    background-color: var(--c-bg-inv);
    color: var(--c-text-inv);
}

.btn--secondary svg {
    fill: var(--c-fill);
}

.btn--secondary:hover {
    background-color: var(--c-bg-inv-80);
}

.btn--trans {
    background-color: var(--c-bg-70);
}

.btn--trans svg {
    fill: var(--c-fill-inv);
}

.btn--trans:hover {
    background-color: var(--c-bg);
}

.btn--tertiary {
    background-color: var(--c-bg-inv-050);
}

.btn--has-icon {
    display: inline-flex;
    gap: var(--s-s);
    align-items: center;
    justify-content: center;
}

.btn--has-icon svg {
    width: 20px;
    height: 20px;
}

.btn--s {
    font-size: var(--f-s);
    padding: var(--s-xs) var(--s-m);
}

.btn--default {
    padding: var(--s-d) var(--s-l);
}

.btn--m {
    font-size: var(--f-m);
    padding: var(--s-m) var(--s-xl);
}

.btn--l {
    font-size: var(--f-l);
    padding: var(--s-m) var(--s-2xl);
}

.text-link:hover {
    color: var(--c-accent-d);
}

.text-link--color {
    color: var(--c-accent-d);
}

.text-link--color:hover {
    text-decoration: underline;
}

/* ===== _utilities.css ===== */
.inline-flex {
    display: inline-flex;
}

.flex {
    display: flex;
}

.flex-1 {
    flex: 1;
}

.flex-col {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.row-reverse {
    flex-direction: row-reverse;
}

.items-start {
    align-items: flex-start;
}

.items-center {
    align-items: center;
}

.justify-start {
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.self-start {
    align-self: flex-start;
}

.self-end {
    align-self: flex-end;
}

.self-stretch {
    align-self: stretch;
    width: 100%;
}

.grid {
    display: grid;
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.gap-3xs {
    gap: var(--s-3xs);
}

.gap-2xs {
    gap: var(--s-2xs);
}

.gap-xs {
    gap: var(--s-xs);
}

.gap-s {
    gap: var(--s-s);
}

.gap-m {
    gap: var(--s-m);
}

.gap-l {
    gap: var(--s-l);
}

.gap-xl {
    gap: var(--s-xl);
}

.gap-2xl {
    gap: var(--s-2xl);
}

.p-0 {
    padding: 0;
}

.p-2xs {
    padding: var(--s-2xs);
}

.p-xs {
    padding: var(--s-xs);
}

.p-s {
    padding: var(--s-s);
}

.p-l {
    padding: var(--s-l);
}

.p-xl {
    padding: var(--s-xl);
}

.px-0 {
    padding-left: 0;
    padding-right: 0;
}

.px-xs {
    padding-left: var(--s-xs);
    padding-right: var(--s-xs);
}

.px-s {
    padding-left: var(--s-s);
    padding-right: var(--s-s);
}

.px-m {
    padding-left: var(--s-m);
    padding-right: var(--s-m);
}

.px-l {
    padding-left: var(--s-l);
    padding-right: var(--s-l);
}

.px-xl {
    padding-left: var(--s-xl);
    padding-right: var(--s-xl);
}

.py-2xs {
    padding-top: var(--s-2xs);
    padding-bottom: var(--s-2xs);
}

.py-m {
    padding-top: var(--s-m);
    padding-bottom: var(--s-m);
}

.py-l {
    padding-top: var(--s-l);
    padding-bottom: var(--s-l);
}

.py-xl {
    padding-top: var(--s-xl);
    padding-bottom: var(--s-xl);
}

.py-2xl {
    padding-top: var(--s-2xl);
    padding-bottom: var(--s-2xl);
}

.py-3xl {
    padding-top: var(--s-3xl);
    padding-bottom: var(--s-3xl);
}

.py-4xl {
    padding-top: var(--s-4xl);
    padding-bottom: var(--s-4xl);
}

.pb-l {
    padding-bottom: var(--s-l);
}

.pb-xl {
    padding-bottom: var(--s-xl);
}

.pt-2xl {
    padding-top: var(--s-2xl);
}

.mt-xs {
    margin-top: var(--s-xs);
}

.mt-s {
    margin-top: var(--s-s);
}

.mt-m {
    margin-top: var(--s-m);
}

.mt-l {
    margin-top: var(--s-l);
}

.mt-xl {
    margin-top: var(--s-xl);
}

.mt-2xl {
    margin-top: var(--s-2xl);
}

.mt-3xl {
    margin-top: var(--s-3xl);
}

.mt-4xl {
    margin-top: var(--s-4xl);
}

.mt-6xl {
    margin-top: var(--s-6xl);
}

.mt-auto {
    margin-top: auto;
}

.-mt-6xl {
    margin-top: calc(var(--s-6xl) * -1);
}

.mb-s {
    margin-bottom: var(--s-s);
}

.-mb-s {
    margin-bottom: calc(var(--s-s) * -1);
}

.-mb-l {
    margin-bottom: calc(var(--s-l) * -1);
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.w-full {
    width: 100%;
}

.w-auto {
    width: auto;
}

.max-w-50 {
    max-width: 50rem;
}

.max-w-70 {
    max-width: 70rem;
}

.max-w-80 {
    max-width: 80rem;
}

.max-w-full {
    max-width: 100%;
}

.ratio-square {
    aspect-ratio: 1/1;
}

.not-visible {
    visibility: hidden;
    pointer-events: none;
}

.hidden {
    display: none;
}

.order-first {
    order: -1;
}

.text-center {
    text-align: center;
}

.rounded-xs {
    border-radius: var(--r-xs);
}

.rounded-s {
    border-radius: var(--r-s);
}

.rounded-m {
    border-radius: var(--r-m);
}

.round-full {
    border-radius: var(--r-full);
}

.sh-inset-l {
    box-shadow: var(--sh-inset-l);
}

.z-1 { 
    z-index: 1; 
}

.faded-90 {
    -webkit-mask-image: linear-gradient(to bottom, #ffffff 0%, #ffffff 60%, transparent 90%);
    mask-image: linear-gradient(to bottom, #ffffff 0%, #ffffff 60%, transparent 90%);
}

.faded-100 {
    -webkit-mask-image: linear-gradient(to bottom, #ffffff 0%, #ffffff 50%, transparent 100%);
    mask-image: linear-gradient(to bottom, #ffffff 0%, #ffffff 50%, transparent 100%);
}

.bg-gradient-1 {
    background-image: var(--bg-gradient-1);
}

.bg-gradient-2 {
    background-image: var(--bg-gradient-2);
}

.bg-gradient-3 {
    background-image: var(--bg-gradient-3);
}

.bg-gradient-5 {
    background-image: var(--bg-gradient-5);
}

.bg-gradient-6 {
    background-image: var(--bg-gradient-6);
}

/*================ Mobile and above =====================*/ @media (min-width: 479px) {
    .sm\@items-center {
        align-items: center;
    }

    .sm\@grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\@self-start {
        align-self: flex-start;
    }

}

/*================ Mobile Landscape and above =====================*/ @media (min-width: 768px) {
    .md\@flex-nowrap {
        flex-wrap: nowrap;
    }

    .md\@flex-row {
        flex-direction: row;
    }

    .md\@p-2xl {
        padding: var(--s-2xl);
    }

    .md\@px-xl {
        padding-left: var(--s-xl);
        padding-right: var(--s-xl);
    }

    .md\@px-2xl {
        padding-left: var(--s-2xl);
        padding-right: var(--s-2xl);
    }

    .md\@py-m {
        padding-top: var(--s-m);
        padding-bottom: var(--s-m);
    }

    .md\@py-xl {
        padding-top: var(--s-xl);
        padding-bottom: var(--s-xl);
    }

    .md\@py-3xl {
        padding-top: var(--s-3xl);
        padding-bottom: var(--s-3xl);
    }

    .md\@py-4xl {
        padding-top: var(--s-4xl);
        padding-bottom: var(--s-4xl);
    }

    .md\@p-0 {
        padding: 0;
    }
    
    .md\@gap-2xs {
        gap: var(--s-2xs);
    }
    
    .md\@gap-xs {
        gap: var(--s-xs);
    }

    .md\@gap-s {
        gap: var(--s-s);
    }

    .md\@gap-xl {
        gap: var(--s-xl);
    }

    .md\@gap-4xl {
        gap: var(--s-4xl);
    }

    .md\@grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\@grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\@col-span-1 {
        grid-column: span 1 / span 1;
    }

    .md\@col-span-2 {
        grid-column: span 2 / span 2;
    }

    .md\@row-span-2 {
        grid-row: span 2 / span 2;
      }

    .md\@flex-row {
        flex-direction: row;
    }

    .md\@inline-flex {
        display: inline-flex;
    }

    .md\@ratio-square {
        aspect-ratio: 1/1;
    }

    .md\@hidden {
        display: none;
    }

    .md\@rounded-m {
        border-radius: var(--r-m);
    }

    .md\@bg-gradient-5 {
        background-image: var(--bg-gradient-5);
    }

}
/*================ Tablet and above =====================*/ @media (min-width: 992px) {
    .lg\@p-3xl {
        padding: var(--s-3xl);
    }

    .lg\@pt-4xl {
        padding-top: var(--s-4xl);
    }

    .lg\@px-3xl {
        padding-left: var(--s-3xl);
        padding-right: var(--s-3xl);
    }

    .lg\@py-4xl {
        padding-top: var(--s-4xl);
        padding-bottom: var(--s-4xl);
    }

    .lg\@mt-0 {
        margin-top: 0;
    }

    .lg\@mt-3xl {
        margin-top: var(--s-3xl);
    }

    .lg\@mt-4xl {
        margin-top: var(--s-4xl);
    }

    .lg\@-mb-xl {
        margin-bottom: calc(var(--s-xl) * -1);
    }

    .lg\@-mb-2xl {
        margin-bottom: calc(var(--s-2xl) * -1);
    }
    
    .lg\@grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\@grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\@grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .lg\@col-span-2 {
        grid-column: span 2 / span 2;
    }

    .lg\@col-span-3 {
        grid-column: span 3 / span 3;
    }

    .lg\@col-span-4 {
        grid-column: span 4 / span 4;
    }

    .lg\@col-start-5 {
        grid-column-start: 5;
    }

    .lg\@row-start-2 {
        grid-row-start: 2;
    }

    .lg\@gap-2xl {
        gap: var(--s-2xl);
    }

    .lg\@gap-3xl {
        gap: var(--s-3xl);
    }

    .lg\@max-w-4\/5 {
        max-width: 80%;
    }

    .lg\@max-w-9\/10 {
        max-width: 90%;
    }

    .lg\@p-2xl {
        padding: var(--s-2xl);
    }

}

/* ===== _forms.css ===== */
/* ==========================================================================
   FORMS CSS - Organized Structure
   ========================================================================== */

/* ==========================================================================
   1. BASE FORM ELEMENTS
   ========================================================================== */

/* Form Controls Reset */
input,
select,
textarea {
    outline: none;
}

/* Base Form Styling */
form label {
    display: flex;
    flex-direction: column;
    padding: 0 10px;
    margin-bottom: var(--s-xs);
    font-size: var(--f-xs);
    font-weight: 500;
}

form .has-desc label {
    margin-bottom: 0;
}

/* ==========================================================================
   11. FRAMEWORK OVERRIDES
   ========================================================================== */

/* Bricks Framework Overrides */
.brxe-brf-pro-forms .form-group,
.bricks-is-frontend .brxe-brf-pro-forms .form-group:not(.submit-button-wrapper):not(.brf-steps) {
    padding: 0;
}

.bricks-is-frontend .brxe-brf-pro-forms .step-progress {
    margin-right: 0;
}

/* ==========================================================================
   11. MESSAGES AND NOTICES
   ========================================================================== */
form .message {
    border-radius: var(--r-s);
}

/* Input Field Styling */
.input,
input:not([type=submit], [type=checkbox], [type=radio]),
select,
textarea,
.select-ui,
.checkbox-card input[type=checkbox] + label {
    border: none;
    border-radius: var(--r-s);
    background-color: var(--c-bg);
    box-shadow: 0 0 0 2px var(--c-border-d-40);
    transition: box-shadow 0.25s ease;
}

/* Input Focus States */
:is(.input, input:not([type=submit], [type=checkbox], [type=radio]), select, textarea):focus-visible,
.select-ui[aria-expanded="true"] {
    outline: none;
    box-shadow: 0 0 0 2px var(--c-border-inv);
}

/* Input Sizing */
input:is([type=text], [type=email], [type=password], [type=tel], [type=url]) {
    height: 45px;
}

textarea {
    resize: vertical;
}

/* Placeholder Styling */
::placeholder,
.select-display.placeholder,
.select-placeholder {
    color: var(--c-text-placeholder);
}

/* Label Wrapper & Help Messages */
.form-label-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--s-s);
}

.help-message {
    display: block;
    font-size: var(--f-2xs);
    font-weight: 400;
    line-height: 1.5;
    color: var(--c-text-sec1);
    padding: 0 10px;
}

/* ==========================================================================
   2. BUTTONS
   ========================================================================== */

/* Submit Button */
form button[type=submit] {
    font-weight: 600;
    line-height: 1.4;
    color: var(--c-text);
    background-color: var(--c-accent);
    min-width: 130px;
    padding: var(--s-s);
}

form button[type=submit]:hover {
    background-color: var(--c-accent-80);
}

/* Navigation Buttons */
:where(.steps-btns) :is(button.next, button.prev) {
    background-color: var(--c-bg-inv);
    color: var(--c-text-inv);
    min-width: 130px;
    padding: var(--s-s);
    line-height: 1.4;
}

:where(form) :is(button.next, button.prev):hover {
    background-color: var(--c-bg-inv-80);
}

/* Steps Navigation Buttons */
.steps-nav__btns button {
    padding: var(--s-2xs);
    width: 30px;
    height: 30px;
}

.steps-nav__btns button svg {
    width: 100%;
    height: 100%;
}

.steps-nav__btns button.disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.steps-nav__btns button.disabled:hover {
    background-color: var(--c-bg-inv);
}

/* ==========================================================================
   3. STEP NAVIGATION
   ========================================================================== */

.steps-nav {
    background-color: var(--c-bg);
}

.steps-nav__number {
    font-size: var(--f-xs);
    font-weight: 500;
    line-height: 1;
    color: var(--c-text-sec1);
}

.steps-nav__number .step-current {
    color: var(--c-text);
}

.steps-btns {
    margin-top: var(--s-3xl);
}

/* ==========================================================================
   4. FORM STEPS
   ========================================================================== */

.form-step-title {
    font-size: var(--f-l);
    font-weight: 700;
}

.form-step-desc {
    line-height: 1.4;
}

.field-group-title {
    font-size: var(--f-m);
    line-height: 1;
}

.field-group-desc {
    font-size: var(--f-s);
}

/* ==========================================================================
   5. CUSTOM SELECT DROPDOWN
   ========================================================================== */

/* Select Visibility Control */
select {
    opacity: 0;
    visibility: hidden;
}

/* Custom Select UI */
.select-ui {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020.76%2028.92%22%3E%3Cpath%20d%3D%22M.24%2019.27c.36-.42.99-.47%201.41-.11l8.68%207.44%208.68-7.44a.999.999%200%201%201%201.3%201.52l-9.33%208a1%201%200%200%201-1.3%200l-9.33-8a.999.999%200%200%201-.11-1.41ZM20.52%209.66c-.36.42-.99.47-1.41.11l-8.68-7.45-8.68%207.44a.999.999%200%201%201-1.3-1.52L9.78.25a1%201%200%200%201%201.3%200l9.33%208c.42.36.47.99.11%201.41Z%22%2F%3E%3C%2Fsvg%3E);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 8px;
    padding: 10px 37px 10px 15px;
}

select, .select-ui {
    min-height: 45px;
}

/* Searchable Select */
.select-ui.searchable {
    padding: 0 37px 0 0;
}

.select-ui.multi.searchable {
    padding: 7px 37px 7px 15px;
}

:is(.select-ui.searchable) :is(.select-input, .select-input:focus-visible) {
    box-shadow: none;
}

/* Select Dropdown */
.select-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% + 7px);
    width: 100%;
    z-index: 1000;
    background-color: var(--c-bg);
    border-radius: var(--r-s);
    box-shadow: var(--sh-l);
    max-height: 0;
    opacity: 0.8;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: max-height, opacity, visibility;
}

.select-dropdown.open {
    max-height: 300px;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

/* Select Options */
.select-options {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: var(--f-s);
    max-height: 300px;
    padding: 7px;
    overflow-y: auto;
}

.select-option {
    width: 100%;
    padding: var(--s-s) var(--s-m);
    border-radius: var(--r-xs);
    cursor: pointer;
}

.select-option:hover,
.select-option.focused {
    background-color: var(--c-bg-off);
}

.select-option.disabled {
    color: var(--c-text-sec1);
    pointer-events: none;
}

/* Multi-Select */
.select-ui.multi .selected {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-s);
}

.select-ui.multi.searchable .selected .select-input {
    padding: 0;
    width: 0;
    flex: 1 1 auto;
    min-height: 35px;
}

/* Selected Tags */
.selected-tag {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 0 0 auto;
    white-space: nowrap;
    gap: var(--s-2xs);
    background: var(--c-bg);
    padding: 5px 6px 5px 10px;
    border-radius: var(--r-full);
    font-size: var(--f-2xs);
    font-weight: 500;
    line-height: 1;
    box-shadow: var(--sh-2xs);
}

.selected-tag .remove-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--c-trans);
    padding: var(--s-2xs);
    cursor: pointer;
}

.selected-tag .remove-tag svg {
    width: 11px;
    height: 11px;
    fill: var(--c-fill-sec1);
}

.selected-tag .remove-tag:hover svg {
    fill: var(--c-fill-inv);
}

/* ==========================================================================
   6. RADIO BUTTONS
   ========================================================================== */

.radio-wrapper {
    column-gap: var(--s-xl);
    row-gap: var(--s-m);
    padding: var(--s-l) !important;
    margin-top: var(--s-s);
    background-color: var(--c-bg);
    border-radius: var(--r-s);
    box-shadow: 0 0 0 2px var(--c-border-d-40);
}

.radio-wrapper ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--s-m);
    padding: 0;
}

.radio-wrapper label {
    margin-top: -5px;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.radio-wrapper .form-label-wrapper {
    gap: var(--s-3xs);
    margin-bottom: 0;
}

.radio-wrapper .help-message {
    padding-left: 0;
    padding-right: 0;
}

.radio-card input[type=radio] + label {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: var(--s-s);
    padding: var(--s-s) var(--s-m);
    margin: 0;
    border-radius: var(--r-s);
    font-size: var(--f-s);
    font-weight: 500;
    line-height: 1;
    min-width: max-content;
    text-align: center;
    background-color: var(--c-bg);
    box-shadow: 0 0 0 1px var(--c-border-d-40);
}

.radio-card__icon {
    background-color: var(--c-bg-off);
}

.radio-card__icon svg {
    width: 16px;
    height: 16px;
}

.radio-card input:checked + label {
    background-color: var(--c-bg-inv);
    color: var(--c-text-inv);
}

.radio-card input:checked + label .radio-card__icon {
    background-color: var(--c-bg);
}

/* ==========================================================================
   7. CHECKBOXES
   ========================================================================== */

.checkbox-wrapper ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-m);
    padding-top: var(--s-2xs);
}

.checkbox-card input[type=checkbox] + label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--s-s);
    padding: var(--s-s) var(--s-m);
    font-size: var(--f-s);
    font-weight: 500;
    line-height: 1;
    margin: 0;
}

.checkbox-card label svg {
    width: auto;
    height: 20px;
    fill: var(--c-fill-inv);
}

.checkbox-card input:checked + label {
    background-color: var(--c-bg-inv);
    color: var(--c-text-inv);
}

.checkbox-card input:checked + label svg {
    fill: var(--c-fill);
}

/* ==========================================================================
   8. REPEATER FIELDS
   ========================================================================== */

.brf-repeater-wrapper .brf-repeater-items {
    display: flex;
    flex-direction: column;
    gap: var(--s-m);
}

.brf-repeater-wrapper .brf-repeater-items .brf-repeater-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s-s);
}

.brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions {
    flex-direction: row;
    gap: var(--s-2xs);
    transform: none;
}

.brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions button {
    width: 45px;
    height: 25px;
    border-radius: var(--r-full);
    background-color: var(--c-bg-inv-30);
}

.brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions button svg {
    width: 13px;
    height: auto;
    fill: var(--c-fill);
}

.brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions button:hover {
    background-color: var(--c-bg-inv-80);
}

.brf-repeater-wrapper.packaging-repeater .brf-repeater-items .brf-repeater-item {
    flex-direction: column;
    align-items: flex-start;
}

.brf-repeater-wrapper.packaging-repeater .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions {
    flex-direction: row;
}

.brf-repeater-wrapper.packaging-repeater .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions button {
    width: 45px;
    height: 25px;
}

/* ==========================================================================
   9. FILE UPLOAD (FILEPOND)
   ========================================================================== */

.filepond--root {
    font-family: var(--f-body) !important;
}

div.filepond--drip {
    background-color: var(--c-accent-10);
    border: 1px dashed var(--c-accent-d);
    border-radius: var(--r-s);
    opacity: 1;
}

div.filepond--root {
    font-size: var(--f-s);
}

div.filepond--drop-label label {
    color: var(--c-accent-dd);
    font-size: var(--f-s);
    padding: 0;
}

span.filepond--label-action {
    -webkit-text-decoration-color: currentColor;
    text-decoration-color: currentColor;
}

div.filepond--item-panel {
    background-color: var(--c-bg);
}

.filepond--file-info {
    font-family: var(--f-body);
}

.filepond--file-info .filepond--file-info-main {
    color: var(--c-text);
    font-weight: 400;
}

.filepond--file-info .filepond--file-info-sub {
    color: var(--c-text-sec2);
}

button.filepond--file-action-button {
    background-color: var(--c-bg-inv);
}

button.filepond--file-action-button:focus,
button.filepond--file-action-button:hover {
    box-shadow: none;
    background-color: var(--c-bg-inv-80);
    cursor: pointer;
}

/* ==========================================================================
   10. SCROLLBAR STYLING
   ========================================================================== */

.select-options::-webkit-scrollbar {
    width: 4px;
}

.select-options::-webkit-scrollbar-track {
    background: transparent;
    margin: 15px 0;
}

.select-options::-webkit-scrollbar-thumb {
    background-color: #d5d5d5;
    border-radius: 50px;
    border: none;
}

.select-options::-webkit-scrollbar-thumb:hover {
    background-color: #acacac;
}



/* ===== _components.css ===== */
.top-header {
    position: relative;
    top: var(--gap-header);
    height: var(--h-header);
    padding: var(--s-2xs) var(--s-s);
    background-color: var(--c-bg-80);
    border-radius: var(--r-full);
    box-shadow: var(--sh-xs);
}

.main-header {
    position: relative;
    margin-top: calc(var(--gap-header) * 2);
    border-radius: var(--r-m);
    background-color: var(--c-bg);
    background-image: radial-gradient(ellipse 70% 80% at 50% 100%, rgba(172, 179, 195, 0.3) 0%, rgba(172, 179, 195, 0.15) 40%, transparent 70%);
}

.main-header__title {
    font-size: clamp(var(--f-5xl), 4.8vw, var(--f-6xl));
    font-weight: 800;
}

.main-header__caption {
    font-size: clamp(var(--f-base), 1.8vw, var(--f-m));
    color: var(--c-text-sec2);
    line-height: 1.5;
}

.main-header__select label {
    font-size: var(--f-xs);
    font-weight: 500;
    color: var(--c-text);
    padding: 0 var(--s-s);
    margin: 0;
    line-height: 1;
}

.main-header__select :is(select, .select-ui) {
    font-size: var(--f-s);
    line-height: 1;
    text-align: left;
    min-width: 131px;
    min-height: auto;
    height: 35px;
    border-radius: var(--r-full);
}

.auth :is(.header-btn, .brx-submenu-toggle) {
    min-width: 8.5rem;
    height: 3.5rem;
    align-items: center;
    justify-content: center;
}

.back-btn {
    background-color: var(--c-bg);
}

.auth .back-btn {
    font-size: var(--f-s);
}

.back-btn:hover {
    color: var(--c-accent-d);
}

.back-btn svg {
    width: 7px;
    height: 13px;
}

.back-btn:hover svg {
    fill: var(--c-accent-d);
}

.auth .back-btn {
    padding: var(--s-s) var(--s-m);
}

.brx-submenu-toggle {
    gap: var(--s-xs);
}

#brxe-kwlxgp {
    padding: 0;
}

.header-btn--lang .brx-submenu-toggle {
    background-color: var(--c-bg);
    padding: 5px 10px;
    flex-direction: row-reverse;
    font-weight: 500;
    line-height: 1;
    border-radius: var(--r-full);
}

.header-btn--lang:is(:hover, .open) .brx-submenu-toggle {
  color: var(--c-accent-d);
}

.header-btn--lang:is(:hover, .open) .brx-submenu-toggle svg {
  fill: var(--c-accent-d);
}

.header-btn--lang svg {
    width: 27px;
    height: 27px;
}

.auth .header-btn--lang svg {
    width: 21px;
    height: 21px;
}

.header-btn--lang .lang-list {
    align-items: stretch;
    gap: var(--s-s);
    padding: var(--s-xs);
    top: calc(100% + 5px);;
    border-radius: var(--r-xs);
    min-width: 100%;
    max-width: max-content;
    box-shadow: var(--sh-s);
    transform: translate(-50%, -8px);
}

@layer bricks.reset {
    .header-btn--lang .lang-list {
        left: 50% !important;
        right: auto !important;
    }
}

.header-btn--lang.open .lang-list {
    transform: translate(-50%, 0px);
}

.lang-list__item {
    justify-content: center;
    padding: var(--s-xs) var(--s-s);
    font-size: var(--f-s);
    font-weight: 500;
    line-height: 1;
    font-family: 'Noto Kufi Arabic';
    border-radius: var(--r-full);
}

.lang-list__item:hover {
    background-color: var(--c-bg-off);
}

.header-btn--icon svg {
    height: 30px;
    width: 30px;
}

.header-btn--icon:hover svg {
    fill: var(--c-accent-d);
}

.auth main {
    display: flex;
    align-items: center;
}

.auth-page-logo {
    width: 7rem;
    padding: var(--s-m);
    background-color: var(--c-bg);
    border-radius: var(--r-s);
}

.auth-page-headline {
    font-size: var(--f-m);
    font-weight: 700;
}

.login-form-wrapper {
    max-width: 37rem;
    background-color: var(--c-bg);
    padding: var(--s-xl);
    border-radius: var(--r-m);
}

.login-form input:not([type=submit], [type=checkbox], [type=radio]) {
    background-color: var(--c-bg-off);
}

.login-form input:not([type=submit], [type=checkbox], [type=radio]):focus-visible {
    background-color: var(--c-bg);
}

.login-form input:not([type=submit], [type=checkbox], [type=radio])::placeholder {
    color: var(--c-text-sec1);
}

.login-form .form-group:nth-child(n+3):nth-child(-n+4) {
    width: auto;
    justify-content: center;
    line-height: 1;
    padding: 0;
}

.login-form .options-wrapper li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--s-xs);
}

.login-form .options-wrapper li label {
    display: inline-flex;
    padding: 0;
    margin: 0;
}

.login-form input[type=password] {
    padding-right: 4.5rem;
}

.login-form .password-toggle {
    right: 0;
    display: flex;  
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 100%; 
}

.login-form input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    top: 0;
    padding: 0;
    margin: 0;
    display: inline-flex;
    border: 2px solid var(--c-border-d);
    border-radius: 6px;
    background-color: var(--c-bg);
    transition: none;
}

.login-form input[type=checkbox]:checked {
    border-color: var(--c-accent-d);
    background-color: var(--c-accent-d);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-size: 14px;
    background-position: center;
    background-repeat: no-repeat;
}

.password-reset-form :nth-child(2) {
    padding-bottom: 0;
}

.login-form .password-toggle :is(.show-password, .hide-password) svg {
    width: 2.4rem;
    height: 2.4rem;
    fill: var(--c-fill-sec1);
}

.login-form .reset-password-link {
    font-size: var(--f-xs);
    font-weight: 500;
}

:is(.login-form, .password-reset-form) .submit-button-wrapper {
    width: 100%;
    margin-top: var(--s-2xl);
}

:is(.login-form, .password-reset-form) button[type=submit] {
    background-color: var(--c-bg-inv);
    color: var(--c-text-inv);
    min-height: 5rem;
}

:is(.login-form, .password-reset-form) button[type=submit]:hover {
    background-color: var(--c-bg-inv-80);
}

.success-message {
    max-width: 60rem;
    padding: var(--s-xl);
    border-radius: var(--r-m);
    background-color: var(--c-bg);
}

.success-message__icon {
    width: 80px;
    height: 80px;
    box-shadow: 0 0 0 20px var(--c-accent-10);
    margin-top: 20px;
    margin-bottom: 15px;
}

.success-message__title {
    font-size: var(--f-3xl);
    font-weight: 700;
}

.success-message__txt {
    color: var(--c-text-sec2);
    line-height: 1.5;
}

.success-message .btn--tertiary {
    gap: var(--s-xs);
}

.success-message .btn--tertiary svg {
    width: 12px;
    height: auto;
}

.footer__secure {
    width: max-content;
    background-color: var(--c-accent-20);
}

.footer__secure-txt {
    font-size: var(--f-2xs);
    font-weight: 500;
    color: var(--c-accent-dd);
}

.footer__secure-icon {
    fill: var(--c-accent-dd);
    width: 22px;
    height: auto;
}

.footer__copyright {
    font-size: var(--f-3xs);
    color: var(--c-text-sec1);
}

.footer__menu li a {
    font-size: var(--f-2xs);
    color: var(--c-text-sec1);
}

.footer__menu li a:hover {
    text-decoration: underline;
    color: var(--c-text);
}

/* ===== _responsive.css ===== */
/*================ Mobile and above =====================*/ @media (min-width: 479px) {
    .brf-repeater-wrapper .brf-repeater-items {
        gap: var(--s-s);
    }

    .brf-repeater-wrapper .brf-repeater-items .brf-repeater-item {
        gap: var(--s-m);
    }
    .brf-repeater-wrapper .brf-repeater-items .brf-repeater-item {
        flex-direction: row;
        align-items: center;
    }

    .brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions {
        flex-direction: column;
    }

    .brf-repeater-wrapper .brf-repeater-items .brf-repeater-item .brf-repeater-item__actions button {
        width: 16px;
        height: 16px;
    }
}


/*================ Mobile Landscape and above =====================*/ @media (min-width: 768px) {
    body {
        padding: 0 16px;
    }

    .checkbox-wrapper ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .radio-wrapper {
        flex-direction: row !important;
        justify-content: space-between;
        align-items: center;
    }

    .radio-wrapper label {
        margin-top: 0;
    }

    .success-message {
        padding: var(--s-4xl);
    }

}

/*================ Tablet and above =====================*/ @media (min-width: 992px) {
    
}

/*================ Only mobile =====================*/ @media (max-width: 768px) {
    
}



/* Version: 1760573978 */
