/** FONTS **/
@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Regular.woff') format('woff'),
       url('../fonts/Gilroy-Regular.ttf') format('ttf');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Medium.woff') format('woff'),
       url('../fonts/Gilroy-Medium.ttf') format('ttf');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-SemiBold.woff') format('woff'),
       url('../fonts/Gilroy-SemiBold.ttf') format('ttf');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/Gilroy-Bold.woff') format('woff'),
       url('../fonts/Gilroy-Bold.ttf') format('ttf');
  font-weight: 700;
  font-style: normal;
}

.font-gilroy {
    font-family: 'Gilroy';
}

.fw-bold {
    font-weight: 700;
}

.fw-medium {
    font-weight: 500;
}

.fw-semibold {
    font-weight: 600;
}

.fw-bold {
    font-weight: 700;
}

body {
    font-family: 'Gilroy';
    font-size: 1rem;
}

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

.ta-start {
    text-align: start;
}

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

/** FORMS **/

.form-group.form-group-readonly {
    background-color: #EEEEF4;
}

.form-group.form-group-color {
    display: flex;
    justify-content: stretch;
    align-items: center;
    gap: 15px;
}

.form-group.form-group-file {
    border: 0;
    border-radius: 0;
    background-color: #EDF2FF;
    border-radius: 6px;
    text-align: center;
}

.form-group-file .custom-file {
    display: flex;
    flex-direction: column;
}

.form-group-file .custom-file  label {
    cursor: pointer;
}

.form-group.form-group-file input[type="file"] {
    display: none;
}

.form-group-w-icon {
    display: flex;
    gap: 18px;
}

.form-group-icon {
    border-right: 2px solid #B0B0B0;
    width: 45px;
}

.form-input.invalid,
.form-select.invalid,
.form-textarea.invalid {
    border: 2px solid rgb(255, 28, 28);
}

.form-input[type="color"] {
    padding: 5px;
    height: 40px;
    cursor: pointer;
}

.validation-messages {
    list-style-type: none;
    display: none;
    flex-direction: column;
    color: rgb(255, 28, 28);
    font-size: 14px;
    font-weight: 500;
    padding-top: 5px;
}

.validation-messages li {
    list-style-type: none;
}

.form-input.invalid ~ .validation-messages,
.form-select.invalid ~ .validation-messages,
.form-textarea.invalid ~ .validation-messages {
    display: flex;
}

.btn {
    font-family: 'Gilroy';
    font-weight: 600;
    transition: 0.2s ease-in-out;
}

.btn-blue {
    background-color: #0041FF;
}

.btn-blue:hover {
    background-color: #0031c5;
}

.add-btn {
    background: #0057FF;
    color: white;
    border: none;
    padding: 16px 32px;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem;
    transition: all 0.2s ease;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 87, 255, 0.2);
    text-decoration: none;
}

.add-btn:hover {
    background: #0043CC;
    box-shadow: 0 4px 12px rgba(0, 87, 255, 0.3);
    transform: translateY(-1px);
}

.d-flex {
    display: flex;
}

.gap-1 {
    gap: 8px;
}

.gap-2 {
    gap: 16px;
}

.gap-3 {
    gap: 24px;
}

.dflex-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.d-grid {
    display: grid
} 

.d-grid-2col {
    grid-template-columns: repeat(2, 1fr);
}

.d-grid-3-1-col {
    grid-template-columns: 3fr 1fr;
}

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

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

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

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

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

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

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

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


