using System;

namespace EventsAppQuest.Domain.Models
{
    /// <summary>
    /// Tema visual / direção estética reutilizável por categoria ou template.
    /// Prepara a futura apresentação coerente em MR (cores, mood).
    /// </summary>
    [Serializable]
    public class EventVisualTheme
    {
        /// <summary>Identificador único.</summary>
        public string Id { get; set; }

        /// <summary>Nome do tema (ex.: Casamento clássico elegante).</summary>
        public string Name { get; set; }

        /// <summary>Id da categoria de evento (opcional).</summary>
        public string EventCategoryId { get; set; }

        /// <summary>Id do template de evento ao qual o tema se aplica (opcional).</summary>
        public string EventTemplateId { get; set; }

        /// <summary>Descrição da direção estética.</summary>
        public string Description { get; set; }

        /// <summary>Cor principal (ex.: #2C1810 ou nome).</summary>
        public string PrimaryColor { get; set; }

        /// <summary>Cor secundária.</summary>
        public string SecondaryColor { get; set; }

        /// <summary>Cor de destaque.</summary>
        public string AccentColor { get; set; }

        /// <summary>Mood / atmosfera (ex.: Elegante, Clean luxury).</summary>
        public string Mood { get; set; }

        /// <summary>Se true, é o tema padrão para o contexto.</summary>
        public bool IsDefault { get; set; }

        /// <summary>Ordem de exibição (menor = antes).</summary>
        public int DisplayOrder { get; set; }
    }
}
