@font-face {
    font-family: 'KASTELOV_AXIFORMA_REGULAR';
    src: url('../fonts/KASTELOV_AXIFORMA_REGULAR.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'KASTELOV_AXIFORMA_BOLD';
    src: url('../fonts/KASTELOV_AXIFORMA_BOLD.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

/* Fondo general */
body {
    background-color: #f5f5f5;
    font-family: 'KASTELOV_AXIFORMA_REGULAR', sans-serif;
    color: #222;
}

/* Contenedor principal del formulario */
.reclamacion_cont_form {
    width: 100%;
    max-width: 1250px;
    margin: auto;
    padding: 50px 15px;
}

/* Títulos */
.reclamacion_titulo {
    font-size: 28px;
    font-family: 'Axiforma_Bold';
    text-align: center;
    margin-bottom: 10px;
}

.reclamacion_subtitulo {
    font-size: 20px;
    font-family: 'KASTELOV_AXIFORMA_BOLD', sans-serif;
    margin: 30px 0 10px;
}

/* Textos */
.reclamacion_info_text {
    font-size: 15px;
    margin-bottom: 20px;
    font-family: 'KASTELOV_AXIFORMA_BOLD', sans-serif;
}

/* Estructura de inputs */
.reclamacion_form_row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
}

.reclamacion_input_group,
.reclamacion_input_half,
.reclamacion_input_third {
    flex: 1 1 100%;
}

.reclamacion_input_half {
    flex: 1 1 calc(50% - 7.5px);
}

.reclamacion_input_third {
    flex: 1 1 calc(33.333% - 10px);
}

/* Inputs y selects */
.reclamacion_input_group input,
.reclamacion_input_group textarea,
.reclamacion_input_half input,
.reclamacion_input_half textarea,
.reclamacion_input_third input,
.reclamacion_input_third textarea,
.reclamacion_input_group select,
.reclamacion_input_half select,
.reclamacion_input_third select {
    width: 100%;
    padding: 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
    font-family: 'KASTELOV_AXIFORMA_REGULAR', sans-serif;
}

/* Checkbox */
.reclamacion_check_group {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.reclamacion_check_group input {
    margin-right: 10px;
}

/* Botón */
.btn_reclamacion_enviar {
    background-color: #2d6a4f;
    color: #fff;
    border: none;
    padding: 14px 25px;
    font-size: 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s;
    font-family: 'KASTELOV_AXIFORMA_BOLD', sans-serif;
}

.btn_reclamacion_enviar:hover {
    background-color: #225c41;
}

/* Mensaje de éxito */
#mensaje-exito-reclamacion {
    display: none;
    text-align: center;
    background-color: #d4edda;
    color: #155724;
    padding: 15px;
    margin-top: 20px;
    border-radius: 6px;
    border: 1px solid #c3e6cb;
    font-family: 'KASTELOV_AXIFORMA_REGULAR', sans-serif;
}

/* Responsive: apilar columnas en móviles */
@media (max-width: 768px) {
    .reclamacion_form_row {
        flex-direction: column;
        gap: 10px;
    }

    .reclamacion_input_half,
    .reclamacion_input_third,
    .reclamacion_input_group {
        width: 100% !important;
    }

    .btn_reclamacion_enviar {
        width: 100%;
    }
    .info_texto {
        text-align: center;
    }
}

/* Estilo general para campos inválidos con ícono */
.needs-validation.was-validated input:invalid,
.needs-validation.was-validated select:invalid,
.needs-validation.was-validated textarea:invalid {
    border-color: #dc3545;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 16px;
    padding-right: 2rem;
}

/* Ajuste especial para textarea (evita que el ícono lo deforme) */
.needs-validation.was-validated textarea:invalid {
    background-position: right 0.75rem top 0.75rem;
}

/* Resplandor al enfocar campos inválidos */
.needs-validation.was-validated input:invalid:focus,
.needs-validation.was-validated select:invalid:focus,
.needs-validation.was-validated textarea:invalid:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}
