* {
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: "Inter", sans-serif;
}


.d-flex {
    display: flex;
}

.d-block {
    display: block;
}

.d-inline {
    display: inline;
}

.p-relative {
    position: relative;
}

.hide {
    display: none;
}

.w-100 {
    width: 100%;
}

.w-70 {
    width: 70%;
}

.w-60 {
    width: 60%;
}

.w-50 {
    width: 50%;
}

.w-30 {
    width: 30%;
}

.w-20 {
    width: 20%;
}

.w-25 {
    width: 25%;
}

.h-100 {
    height: 100%;
}

.w-fit-content {
    width: fit-content;
}

.h-fit-content {
    height: fit-content;
}

.flex-column {
    flex-direction: column;
}

@media screen and (max-width: 1080px) {
    .sm-flex-column {
        flex-direction: column;
    }

    .sm-w-100 {
        width: 100%;
    }

    .sm-w-50 {
        width: 50%;
    }

    .sm-mt-huge {
        margin-top: 64px;
    }

    .sm-mt-3 {
        margin-top: 16px;
    }

    .sm-mt-2 {
        margin-top: 8px;
    }

}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-grow {
    flex-grow: 1;
}

.align-items-center {
    align-items: center;
}

.align-self-start {
    align-self: start;
}

.align-self-center {
    align-self: center;
}

.align-self-end {
    align-self: end;
}

.justify-self-start {
    justify-self: start;
}

.justify-self-center {
    justify-self: center;
}

.justify-self-end {
    justify-self: end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-end {
    justify-content: end;
}

.justify-content-between {
    justify-content: space-between;
}

.gap-4 {
    gap: 32px !important;
}

.gap-3 {
    gap: 16px !important;
}

.gap-2 {
    gap: 8px !important;
}

.gap-1 {
    gap: 4px !important;
}

/* Typography */

.text-xs {
    font-size: 0.75rem !important;
    /* 12px */
    line-height: 1rem;
    /* 16px */
}

.text-sm {
    font-size: 0.875rem !important;
    /* 14px */
    line-height: 1.25rem;
    /* 20px */
}

.text-base {
    font-size: 1rem !important;
    /* 16px */
    line-height: 1.5rem;
    /* 24px */
}

.text-lg {
    font-size: 1.125rem !important;
    /* 18px */
    line-height: 1.75rem;
    /* 28px */
}

.text-xl {
    font-size: 1.25rem !important;
    /* 20px */
    line-height: 1.75rem;
    /* 28px */
}

.text-2xl {
    font-size: 1.5rem !important;
    /* 24px */
    line-height: 2rem;
    /* 32px */
}

.text-3xl {
    font-size: 1.875rem !important;
    /* 30px */
    line-height: 2.25rem;
    /* 36px */
}

.text-4xl {
    font-size: 2.25rem !important;
    /* 36px */
    line-height: 2.5rem;
    /* 40px */
}

.text-5xl {
    font-size: 3rem !important;
    /* 48px */
    line-height: 1;
}

.text-6xl {
    font-size: 3.75rem !important;
    /* 60px */
    line-height: 1;
}

.text-7xl {
    font-size: 4.5rem;
    /* 72px */
    line-height: 1;
}

.text-8xl {
    font-size: 6rem;
    /* 96px */
    line-height: 1;
}

.text-9xl {
    font-size: 8rem;
    /* 128px */
    line-height: 1;
}

.text-bold {
    font-weight: 600;
}

.mt-auto {
    margin-top: auto;
}

.mt-2 {
    margin-top: 8px;
}

.mt-3 {
    margin-top: 16px;
}

.mt-4 {
    margin-top: 32px;
}

.mb-1 {
    margin-bottom: 4px;
}

.mb-2 {
    margin-bottom: 8px;
}

.mb-3 {
    margin-bottom: 16px;
}

.mb-4 {
    margin-bottom: 32px;
}


.kg-after::after {
    content: " kg";
}

.p-1 {
    padding: 4px !important;
}

.p-2 {
    padding: 8px !important;
}

.p-3 {
    padding: 16px !important;
}

.square {
    aspect-ratio: 1/1;
    height: auto;
}

.landscape {
    aspect-ratio: 4/3;
    height: auto;
}

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

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

.text-align-last-center {
    text-align-last: center;
}

.deleted {
    text-decoration: line-through;
}

.scroll-x {
    overflow-x: auto;
}

.scroll-y {
    overflow-y: auto;
}

/* .scroll-x::-webkit-scrollbar {
    display: none;
} */

.nowrap {
    white-space: nowrap;
}

.pointer {
    cursor: pointer;
}

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.accordion:not(.active) .accordion-content {
    display: none !important;
}


.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;

}

.accordion-header::after {
    content: "";
    width: 16px;
    height: 16px;
    /* Exemplu: Un chevron (săgeată în jos) în format SVG */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23333" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.2s ease;
}

.accordion.active .accordion-header::after {
    transform: rotate(180deg);
}

.accordion-content {
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    /* Culoare foarte subtilă */
    margin-top: 16px;
    padding-top: 16px;
}