namespace SIGCM2.Domain.Exceptions;

/// <summary>
/// Thrown when a combination of flags/multimedia is logically incoherent. → HTTP 422
/// Defensive exception — PRD-001 normalizes instead of throwing.
/// Reserved for future rules (e.g., PRD-004 IsBundle+HasDuration constraints).
/// </summary>
public sealed class ProductTypeFlagsIncoherentesException : DomainException
{
    public string Reason { get; }

    public ProductTypeFlagsIncoherentesException(string reason)
        : base($"Combinación de flags/multimedia inválida: {reason}")
    {
        Reason = reason;
    }
}
