/* White Fox · mensajes del sitio con el diseño del cartel de verificación del carrito.
   Error: terracota. Éxito: verde del cupón aplicado. Advertencia: crema con borde dorado.
   La información (wf-info-notice) ya tiene su diseño en wf-cart.css.
   No incluye el aviso del newsletter del footer (tiene su propio diseño). */

/* El aviso del newsletter del footer queda como estaba (se excluye con :not). */
.alert-danger:not(.block_newsletter .alert-danger) {
    position: relative;
    padding: 12px 14px 12px 44px;
    border: 1px solid #E0CDC4;
    border-left: 3px solid #9F7565;
    border-radius: 0;
    background: #F5ECE6;
    color: #79554B;
    box-shadow: none;
    font-family: "PT Serif", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0;
}

/* Ícono de información (el mismo del carrito), sin tocar las plantillas */
.alert-danger:not(.block_newsletter .alert-danger)::before {
    content: "\e88e";
    position: absolute;
    top: 12px;
    left: 14px;
    width: 20px;
    height: 20px;
    font-family: "Material Icons";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    color: #9F7565;
    cursor: default;
}

.alert-danger:not(.block_newsletter .alert-danger) ul { margin: 0; padding: 0; list-style: none; }
.alert-danger:not(.block_newsletter .alert-danger) li { margin: 0; padding: 0; }
.alert-danger:not(.block_newsletter .alert-danger) li + li { margin-top: 5px; }
.alert-danger:not(.block_newsletter .alert-danger) p:last-child { margin-bottom: 0; }
.alert-danger:not(.block_newsletter .alert-danger) a,
.alert-danger:not(.block_newsletter .alert-danger) .alert-link { color: #79554B; text-decoration: underline; }

/* Avisos de arriba de la página (por ejemplo, un inicio de sesión incorrecto) */
#notifications .alert-danger:not(.block_newsletter .alert-danger) { width: max-content; max-width: 100%; margin: 16px 0 8px; }

/* Errores debajo de un campo: más compactos */
.help-block .alert-danger:not(.block_newsletter .alert-danger) { margin: 8px 0 0; padding: 9px 12px 9px 40px; font-size: 13px; }
.help-block .alert-danger:not(.block_newsletter .alert-danger)::before { top: 9px; left: 12px; }

/* Campo con error: borde terracota en lugar del contorno rojo */
.form-group.has-error input,
.form-group.has-error select,
.form-group.has-error textarea {
    outline: 0;
    border-color: #9F7565;
    box-shadow: 0 0 0 1px #9F7565;
}
.form-group.has-error .help-block { color: #79554B; }
.has-danger .custom-control,
.has-danger .form-check-inline,
.has-danger .form-check-label,
.has-danger .form-control-feedback,
.has-danger .form-control-label { color: #79554B; }
.has-danger .form-control { border-color: #9F7565; }
.has-danger .form-control:focus { box-shadow: 0 0 0 1px #9F7565; }
.has-danger .input-group-addon { color: #79554B; border-color: #9F7565; }

/* ---------- Éxito: verde suave (el del cupón aplicado) ---------- */
.alert-success:not(.block_newsletter .alert-success) {
    position: relative;
    padding: 12px 14px 12px 44px;
    border: 1px solid #D3E2CB;
    border-left: 3px solid #4F7A3A;
    border-radius: 0;
    background: #EEF4E9;
    color: #2F5D2B;
    box-shadow: none;
    font-family: "PT Serif", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0;
}
.alert-success:not(.block_newsletter .alert-success)::before {
    content: "\e86c";
    position: absolute; top: 12px; left: 14px; width: 20px; height: 20px;
    font-family: "Material Icons"; font-size: 20px; font-style: normal; font-weight: 400; line-height: 1;
    color: #4F7A3A; cursor: default;
}
.alert-success:not(.block_newsletter .alert-success) ul { margin: 0; padding: 0; list-style: none; }
.alert-success:not(.block_newsletter .alert-success) li { margin: 0; padding: 0; }
.alert-success:not(.block_newsletter .alert-success) li + li { margin-top: 5px; }
.alert-success:not(.block_newsletter .alert-success) a,
.alert-success:not(.block_newsletter .alert-success) .alert-link { color: #2F5D2B; text-decoration: underline; }
#notifications .alert-success:not(.block_newsletter .alert-success) { width: max-content; max-width: 100%; margin: 16px 0 8px; }

/* ---------- Advertencia: crema con borde dorado ---------- */
/* Se excluye el aviso de "producto inactivo" (.row), que trae su propio ícono y botones. */
.alert-warning:not(.row) {
    position: relative;
    padding: 12px 14px 12px 44px;
    border: 1px solid rgba(179, 149, 106, .45);
    border-left: 3px solid #B3956A;
    border-radius: 0;
    background: #F9F4F0;
    color: #1E2A3A;
    box-shadow: none;
    font-family: "PT Serif", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0;
}
.alert-warning:not(.row)::before {
    content: "\e002";
    position: absolute; top: 12px; left: 14px; width: 20px; height: 20px;
    font-family: "Material Icons"; font-size: 20px; font-style: normal; font-weight: 400; line-height: 1;
    color: #B3956A; cursor: default;
}
.alert-warning:not(.row) ul { margin: 0; padding: 0; list-style: none; }
.alert-warning:not(.row) li { margin: 0; padding: 0; }
.alert-warning:not(.row) li + li { margin-top: 5px; }
.alert-warning:not(.row) a,
.alert-warning:not(.row) .alert-link { color: #1E2A3A; text-decoration: underline; }
#notifications .alert-warning:not(.row) { width: max-content; max-width: 100%; margin: 16px 0 8px; }

/* ---------- Avisos de contraseña (recuperar / restablecer) ---------- */
.ps-alert-error,
.ps-alert-success { margin: 0; padding: 0 0 1.5rem; list-style: none; }
.ps-alert-error .item,
.ps-alert-success .item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 8px;
    padding: 12px 14px;
    border-radius: 0;
    font-family: "PT Serif", serif;
    font-size: 14px;
    line-height: 1.5;
}
.ps-alert-error .item i,
.ps-alert-success .item i {
    display: flex; flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px;
    border: 0; background: transparent;
}
.ps-alert-error .item i svg,
.ps-alert-success .item i svg { width: 20px; height: 20px; background: transparent; }
.ps-alert-error .item p,
.ps-alert-success .item p { flex: 1 1 auto; width: auto; margin: 0; padding: 0; background: transparent; color: inherit; }
.ps-alert-error .item {
    border: 1px solid #E0CDC4; border-left: 3px solid #9F7565; background: #F5ECE6; color: #79554B;
}
.ps-alert-error .item i svg path { fill: #9F7565; }
.ps-alert-success .item {
    border: 1px solid #D3E2CB; border-left: 3px solid #4F7A3A; background: #EEF4E9; color: #2F5D2B;
}
.ps-alert-success .item i svg path { fill: #4F7A3A; }
