/* Estilos generales del formulario con mayor especificidad */
.form-container {
    max-width: 100% !important;
    margin: 120px auto 0 !important; /* Añadido margen superior de 120px */
    background-color: white !important;
    border: 1px solid #ccc !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    font-family: Arial, sans-serif !important;
    line-height: 1.4 !important;
}

/* Estilos de tabla con mayor especificidad */
.form-container table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 15px !important;
    table-layout: fixed !important;
}

.form-container th, 
.form-container td {
    border: 1px solid #000 !important;
    padding: 8px !important;
    vertical-align: top !important;
    word-wrap: break-word !important;
    background-color: transparent !important;
}

.form-container th {
    background-color: #f2f2f2 !important;
    text-align: center !important;
    font-weight: bold !important;
}

/* Estilos para inputs y textareas con mayor especificidad */
.form-container input[type="text"],
.form-container input[type="tel"],
.form-container input[type="email"],
.form-container input[type="number"],
.form-container textarea {
    width: 100% !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    border: 1px solid #ddd !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.form-container textarea {
    resize: vertical !important;
    min-height: 60px !important;
}

/* Encabezados y títulos con mayor especificidad */
.form-container .title {
    text-align: center !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
    font-size: 16px !important;
}

.form-container .subtitle {
    font-weight: bold !important;
    background-color: #f2f2f2 !important;
}

/* Secciones específicas con mayor especificidad */
.form-container .details-box {
    height: auto !important;
    min-height: 100px !important;
}

.form-container .request-box {
    height: auto !important;
    min-height: 80px !important;
}

/* Botón de envío con mayor especificidad */
.libro-reclamaciones-submit {
    background-color: #0073aa !important;
    color: white !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    display: inline-block !important;
    line-height: normal !important;
    height: auto !important;
}

.libro-reclamaciones-submit:hover {
    background-color: #005d87 !important;
}

/* Mensaje de éxito con mayor especificidad */
.libro-reclamaciones-success {
    background-color: #dff0d8 !important;
    color: #3c763d !important;
    padding: 15px !important;
    margin-bottom: 20px !important;
    border: 1px solid #d6e9c6 !important;
    border-radius: 3px !important;
}

/* Pie de página y logos con mayor especificidad */
.form-container .footer-note {
    font-size: 11px !important;
    margin-top: 10px !important;
    line-height: 1.4 !important;
}

.form-container .footer-logos {
    display: flex !important;
    justify-content: center !important;
    margin-top: 20px !important;
}

.form-container .footer-logo {
    max-width: 100px !important;
    text-align: center !important;
}

.form-container .footer-logo img {
    max-width: 100% !important;
    height: auto !important;
}

/* Añade estos estilos específicos al archivo CSS de tu plugin (style.css) */

/* Asegurar que los inputs ocupen todo el ancho disponible */
.form-container input[type="text"],
.form-container input[type="tel"],
.form-container input[type="email"],
.form-container input[type="number"],
.form-container textarea {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 8px !important;
    min-height: 38px !important;
    border: 1px solid #ddd !important;
}

/* Estilos específicos para los campos DNI, TELÉFONO y EMAIL */
.form-container input[name="consumer_dni"],
.form-container input[name="consumer_phone"],
.form-container input[name="consumer_email"] {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 8px !important;
    min-height: 38px !important;
    border: 1px solid #ddd !important;
    background-color: white !important;
    color: #333 !important;
    font-size: 14px !important;
}

/* Resetear cualquier margen o padding que pueda afectar a estos campos */
.form-container td div {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-top: 5px !important;
}

/* Asegurar que las celdas de la tabla no tengan padding excesivo */
.form-container td {
    padding: 8px !important;
    box-sizing: border-box !important;
}

/* Ajuste para las filas con múltiples columnas */
.form-container tr:nth-child(4) td {
    padding: 8px !important;
    vertical-align: middle !important;
}

/* Estilos para radio buttons con mayor especificidad */
.form-container input[type="radio"] {
    margin-right: 5px !important;
}

/* Reseteo completo para formularios */
.form-container * {
    box-sizing: border-box !important;
}

.form-container input[type="text"],
.form-container input[type="tel"],
.form-container input[type="email"],
.form-container input[type="number"],
.form-container textarea {
    width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 8px !important;
    margin: 0 !important;
    border: 1px solid #ddd !important;
    min-height: 38px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    background-color: white !important;
    color: #333 !important;
}

/* Estilos específicos para áreas de texto */
.form-container textarea {
    resize: vertical !important;
    min-height: 80px !important;
}

/* Asegurar que las tablas se comporten correctamente */
.form-container table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 15px !important;
    table-layout: fixed !important;
}

/* Estilos para las celdas */
.form-container th, 
.form-container td {
    border: 1px solid #000 !important;
    padding: 8px !important;
    text-align: left !important;
    vertical-align: top !important;
    word-wrap: break-word !important;
}

/* Estilo para el botón */
.libro-reclamaciones-submit {
    background-color: #0073aa !important;
    color: white !important;
    border: none !important;
    padding: 10px 20px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

/* Media queries para responsividad */
@media screen and (max-width: 768px) {
    .form-container {
        padding: 10px !important;
    }
    
    .form-container th, 
    .form-container td {
        padding: 5px !important;
    }
    
    .form-container input[type="text"],
    .form-container input[type="tel"],
    .form-container input[type="email"],
    .form-container textarea {
        font-size: 14px !important;
    }
}