/* ===============================
   🎨 FRINA CUSTOM FORM STYLES
   ===============================*/

/* Contenedor principal */
.frina-job-form {
    max-width: 1200px;
    margin: 40px auto;
    padding: 40px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
}

/* ===============================
   TITULOS & SECCIONES
   ===============================*/
.frina-job-form h3,
.frina-job-form legend {
    margin: 25px 0 15px;
    color: #ff4a1a;
    border-bottom: 2px solid #ff4a1a;
    font-size: 1.3em;
    font-weight: 700;
}

.form-section {
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    margin: 25px 0;
    border-left: 4px solid #ff4a1a;
}

/* ===============================
   LAYOUT
   ===============================*/
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 15px;
}
.form-row.single {
    grid-template-columns: 1fr;
}

/* ===============================
   INPUTS & LABELS
   ===============================*/
.form-group {
    margin: 15px 0;
}

.form-group label {
    font-weight: 600;
    display: block;
    margin-bottom: 6px;
    color: #333;
    font-size: 14px;
}
.form-group label.required::after {
    content: " *";
    color: #e74c3c;
}

.frina-job-form input[type=text],
.frina-job-form input[type=email],
.frina-job-form input[type=number],
.frina-job-form input[type=file],
.frina-job-form select,
.frina-job-form textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    transition: all 0.2s ease;
}

.frina-job-form input:focus,
.frina-job-form select:focus,
.frina-job-form textarea:focus {
    border-color: #ff4a1a !important;
    box-shadow: 0 0 0 3px rgba(255,74,26,0.25) !important;
    outline: none;
}

/* ===============================
   CHECKBOXES
   ===============================*/
.checkbox-group,
.frina-job-form .fieldset-featured {
    background: #fff5f0;
    border: 1px solid #ffcab8;
    padding: 12px 15px;
    border-radius: 8px;
    margin: 12px 0;
    display: flex;
    align-items: center;
}
.checkbox-group input[type=checkbox],
.frina-job-form .fieldset-featured input[type=checkbox] {
    margin-right: 10px;
    transform: scale(1.2);
    accent-color: #ff4a1a;
}
.checkbox-group label {
    font-weight: 500;
    margin: 0;
    color: #333;
}

/* ===============================
   BOTONES
   ===============================*/
.submit-section {
    text-align: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px solid #eee;
}
.frina-job-form input[type=submit],
.frina-job-form button[type=submit],
.frina-job-form .submit-btn {
    background: linear-gradient(135deg, #ff4a1a, #ff7733);
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}
.frina-job-form input[type=submit]:hover,
.frina-job-form button[type=submit]:hover,
.frina-job-form .submit-btn:hover {
    background: linear-gradient(135deg, #e03d11, #ff5f1d);
    box-shadow: 0px 4px 10px rgba(255,74,26,0.4);
    transform: translateY(-1px);
}
.frina-job-form input[type=submit]:active {
    transform: scale(0.98);
}

/* Section Save Buttons */
.section-save {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 15px;
}

.save-section-btn {
    background: linear-gradient(135deg, #4a90e2, #5ba3f5);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.save-section-btn:hover {
    background: linear-gradient(135deg, #357abd, #4a90e2);
    box-shadow: 0px 2px 8px rgba(74,144,226,0.3);
    transform: translateY(-1px);
}

.save-section-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
    transform: none;
}

.save-status {
    font-size: 13px;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 5px;
}

.save-status.success {
    color: #27ae60;
    background: #d5f4e6;
}

.save-status.error {
    color: #e74c3c;
    background: #fadbd8;
}

/* ===============================
   NOTIFICACIONES
   ===============================*/
.notice-success {
    background: #fff5f0;
    border: 1px solid #ffcab8;
    border-left: 5px solid #ff4a1a;
    padding: 15px 20px;
    border-radius: 8px;
    color: #8c2d12;
    margin-bottom: 20px;
    font-weight: 500;
}
.notice-success a {
    color: #ff4a1a;
    font-weight: 600;
    text-decoration: none;
}
.notice-success a:hover {
    color: #e03d11;
    text-decoration: underline;
}

/* ===============================
   RESPONSIVE
   ===============================*/
@media (max-width: 1024px) {
    .frina-job-form {
        margin: 20px;
        padding: 20px;
    }
    .form-row {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}