/**
 * Forms - Inputs & Buttons
 * Clean, modern styling (no MDB/Bootstrap)
 */

.form-group,
.md-form {
    position: relative;
    margin-bottom: 1.25em;
}

.form-group label,
.md-form label {
    display: block;
    margin-bottom: 0.4em;
    font-size: 0.9em;
    font-weight: 500;
    color: #475569;
}

/* Required field — آیکون ستاره قرمز (بدون وابستگی به گلیف فونت) */
.form-group label.label-required::after,
.md-form label.label-required::after {
    content: "";
    display: inline-block;
    width: 0.65em;
    height: 0.65em;
    margin-inline-start: 0.2em;
    vertical-align: -0.08em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5v15'/%3E%3Cpath d='M7.2 9.5l9.6 5'/%3E%3Cpath d='M16.8 9.5l-9.6 5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position:absolute;
    top:0.1em;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.65em 1em;
    font-size: 0.95em;
    line-height: 1.5;
    color: #1e293b;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.5rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.form-control:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(36, 86, 143, 0.15);
}

.form-control::placeholder {
    color: #94a3b8;
}

select.form-control {
    cursor: pointer;
    padding-right: 2.5em;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 1em center;
}

textarea.form-control {
    min-height: 5em;
    resize: vertical;
}

/* Form field layout */
.main-content section .cards-container .card-container form .form-field .form-group,
.main-content section .cards-container .card-container form .form-field .md-form {
    margin-bottom: 1em;
}

.main-content section .cards-container .card-container form .form-field .form-control,
.main-content section .cards-container .card-container form .form-field .md-form input,
.main-content section .cards-container .card-container form .form-field .md-form textarea,
.main-content section .cards-container .card-container form .form-field .md-form select {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0.5rem;
    padding: 0.7em 1em;
    font-size: 0.95em;
}

.main-content section .cards-container .card-container form .form-field .form-control:focus,
.main-content section .cards-container .card-container form .form-field .md-form input:focus,
.main-content section .cards-container .card-container form .form-field .md-form textarea:focus,
.main-content section .cards-container .card-container form .form-field .md-form select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(36, 86, 143, 0.1);
    outline: none;
}

.main-content section .cards-container .card-container form .form-field .md-form select {
    cursor: pointer;
}

/* Filter form */
.main-content section .cards-container .filter .form-field .form-control,
.main-content section .cards-container .filter .form-field .md-form input,
.main-content section .cards-container .filter .form-field .md-form select {
    padding: 0.55em 1em;
}

/* Form action buttons */
.main-content section .cards-container .card-container form .actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
}

.main-content section .cards-container .card-container form .actions button .icon {
    margin: 0;
    width: 1.15em;
    height: 1.15em;
    flex-shrink: 0;
}

/* File input - modern styling */
.file-field {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.75em;
}

.file-field .btn,
.file-field > div.btn {
    position: relative;
    overflow: hidden;
}

.file-field .btn input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    font-size: 0;
}

.file-field .btn span {
    display: inline-block;
    padding: 0.5em 1em;
}

.file-field .file-path-wrapper {
    flex: 1;
    min-width: 12em;
}

.file-field input.file-path {
    width: 100%;
    padding: 0.5em 0.75em;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.5rem;
    background: #f8fafc;
    font-size: 0.9em;
}

.file-field .btn-primary {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    font-size: 0.9em;
}

.file-field .btn-primary:hover {
    filter: brightness(1.08);
}
