/* ============================================
   Theme: Solara
   Creme Solar + Azul-Brasil Cobalto + Âmbar Dourado
   Tipografia: Bricolage Grotesque + Plus Jakarta Sans
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

[data-theme="solara"] {
    --font-display: 'Bricolage Grotesque', Georgia, serif;
    --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-mono: 'DM Mono', 'Fira Code', monospace;

    /* ---- Backgrounds: Escala solar quente ---- */
    --bg-primary:    #FFFCF0;
    --bg-secondary:  #FFF7DC;
    --bg-tertiary:   #FEF0C0;
    --bg-card:       #FFFFFF;
    --bg-card-hover: #FFFBEE;
    --bg-surface:    rgba(201, 125, 16, 0.05);
    --bg-glass:      rgba(255, 252, 240, 0.93);

    /* ---- Foreground: Tintas quentes, nunca frias ---- */
    --fg-primary:   #1A1200;
    --fg-secondary: #4A3A18;
    --fg-muted:     #8A7045;
    --fg-faint:     #C8B088;

    /* ---- Accents: Azul-Brasil + Âmbar ---- */
    --accent-primary:       #1553C0;
    --accent-primary-hover: #0D3E99;
    --accent-gold:          #C97D10;
    --accent-gold-hover:    #A86A08;

    /* ---- Semantic ---- */
    --color-success: #1C7A38;
    --color-warning: #C97D10;
    --color-error:   #C83830;
    --color-info:    #1553C0;

    /* ---- Stats: alto contraste em fundo claro ---- */
    --stat-green:        #1C7A38;
    --stat-green-light:  #2EA84C;
    --stat-green-bg:     rgba(28, 122, 56, 0.08);
    --stat-green-border: rgba(28, 122, 56, 0.16);
    --stat-green-shadow: rgba(28, 122, 56, 0.10);

    --stat-orange:        #C97D10;
    --stat-orange-light:  #E09B1C;
    --stat-orange-bg:     rgba(201, 125, 16, 0.08);
    --stat-orange-border: rgba(201, 125, 16, 0.16);
    --stat-orange-shadow: rgba(201, 125, 16, 0.10);

    --stat-red:        #C83830;
    --stat-red-bg:     rgba(200, 56, 48, 0.08);
    --stat-red-border: rgba(200, 56, 48, 0.16);
    --stat-red-shadow: rgba(200, 56, 48, 0.10);

    --stat-blue:        #1553C0;
    --stat-blue-bg:     rgba(21, 83, 192, 0.08);
    --stat-blue-border: rgba(21, 83, 192, 0.16);
    --stat-blue-shadow: rgba(21, 83, 192, 0.10);

    /* ---- Badges: marcadores de agenda física ---- */
    --badge-nacional:       #1553C0;
    --badge-nacional-bg:    rgba(21, 83, 192, 0.09);
    --badge-bancario:       #C97D10;
    --badge-bancario-bg:    rgba(201, 125, 16, 0.09);
    --badge-facultativo:    #D4521A;
    --badge-facultativo-bg: rgba(212, 82, 26, 0.09);
    --badge-lunar:          #6B3FA0;
    --badge-lunar-bg:       rgba(107, 63, 160, 0.09);
    --badge-estacao:        #1C7A38;
    --badge-estacao-bg:     rgba(28, 122, 56, 0.09);
    --badge-especial:       #C83830;
    --badge-especial-bg:    rgba(200, 56, 48, 0.09);
    --badge-default:        #8A7045;
    --badge-default-bg:     rgba(138, 112, 69, 0.09);

    /* ---- Borders: âmbar solar ---- */
    --border-color:        rgba(201, 125, 16, 0.15);
    --border-color-hover:  rgba(201, 125, 16, 0.30);
    --border-color-active: rgba(21, 83, 192, 0.55);

    /* ---- Gradients ---- */
    --gradient-hero:   linear-gradient(145deg, #FFFCF0 0%, #FFF7DC 55%, #FEF0C0 100%);
    --gradient-accent: linear-gradient(135deg, #1553C0 0%, #1E66D8 100%);
    --gradient-gold:   linear-gradient(135deg, #C97D10 0%, #E09B1C 60%, #F0B830 100%);
    --gradient-card:   linear-gradient(145deg, #FFFFFF 0%, #FFFBEE 100%);

    /* ---- Shadows ---- */
    --shadow-sm:       0 1px 3px rgba(26, 18, 0, 0.06);
    --shadow-md:       0 4px 12px rgba(26, 18, 0, 0.09);
    --shadow-lg:       0 8px 28px rgba(26, 18, 0, 0.12);
    --shadow-glow:     0 4px 20px rgba(21, 83, 192, 0.12);
    --shadow-gold-glow:0 4px 20px rgba(201, 125, 16, 0.16);

    /* ---- Glass ---- */
    --glass-bg:     rgba(255, 252, 240, 0.92);
    --glass-border: 1px solid rgba(201, 125, 16, 0.15);

    /* ---- Scrollbar ---- */
    --scrollbar-track: #FFF7DC;
    --scrollbar-thumb: rgba(201, 125, 16, 0.32);
}

/* ============================================
   Solara — refinamentos visuais exclusivos
   ============================================ */

/* Hero com textura solar sutil */
[data-theme="solara"] .hero,
[data-theme="solara"] .page-hero {
    background: var(--gradient-hero);
    position: relative;
}

[data-theme="solara"] .hero::before,
[data-theme="solara"] .page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse 60% 40% at 80% 20%, rgba(201, 125, 16, 0.08) 0%, transparent 60%),
        radial-gradient(ellipse 40% 60% at 15% 70%, rgba(21, 83, 192, 0.06) 0%, transparent 55%);
    pointer-events: none;
}

/* Cards com elevação creme */
[data-theme="solara"] .card,
[data-theme="solara"] .stat-card,
[data-theme="solara"] .info-card {
    background: var(--gradient-card);
    border: 1px solid rgba(201, 125, 16, 0.13);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--duration-normal) var(--ease-out),
                border-color var(--duration-normal) var(--ease-out),
                transform var(--duration-normal) var(--ease-out);
}

[data-theme="solara"] .card:hover,
[data-theme="solara"] .stat-card:hover,
[data-theme="solara"] .info-card:hover {
    box-shadow: var(--shadow-md), var(--shadow-gold-glow);
    border-color: rgba(201, 125, 16, 0.25);
    transform: translateY(-1px);
}

/* Botões primários: azul-brasil com brilho */
[data-theme="solara"] .btn-primary,
[data-theme="solara"] button[class*="primary"] {
    background: var(--gradient-accent);
    box-shadow: 0 2px 10px rgba(21, 83, 192, 0.25);
}

[data-theme="solara"] .btn-primary:hover,
[data-theme="solara"] button[class*="primary"]:hover {
    box-shadow: 0 4px 16px rgba(21, 83, 192, 0.35);
}

/* Calendário: cabeçalho quente */
[data-theme="solara"] .calendar__header {
    background: var(--gradient-accent);
}

/* Dias de feriado: borda âmbar de destaque */
[data-theme="solara"] .calendar__day--holiday {
    border-top: 2px solid var(--accent-gold);
}

/* Inputs: levemente mais escuros que o fundo */
[data-theme="solara"] input,
[data-theme="solara"] select,
[data-theme="solara"] textarea {
    background: #FFF7DC;
    border-color: rgba(201, 125, 16, 0.20);
}

[data-theme="solara"] input:focus,
[data-theme="solara"] select:focus,
[data-theme="solara"] textarea:focus {
    border-color: rgba(21, 83, 192, 0.55);
    box-shadow: 0 0 0 3px rgba(21, 83, 192, 0.10);
    background: #FFFFFF;
}

/* Header: vidro solar */
[data-theme="solara"] .header {
    background: rgba(255, 252, 240, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(201, 125, 16, 0.14);
    box-shadow: 0 1px 8px rgba(26, 18, 0, 0.06);
}

/* Nav links: hover com underline âmbar */
[data-theme="solara"] .header__link {
    position: relative;
}

[data-theme="solara"] .header__link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--gradient-gold);
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform var(--duration-normal) var(--ease-out);
}

[data-theme="solara"] .header__link:hover::after,
[data-theme="solara"] .header__link.active::after {
    transform: scaleX(1);
}

[data-theme="solara"] .header__link.active {
    color: var(--accent-primary);
    font-weight: var(--font-semibold);
}

/* Badges: tag de agenda com borda colorida */
[data-theme="solara"] .badge,
[data-theme="solara"] [class*="badge-"] {
    font-weight: var(--font-semibold);
    letter-spacing: 0.02em;
}

/* Bottom nav mobile */
[data-theme="solara"] .bottom-nav {
    background: rgba(255, 252, 240, 0.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-top: 1px solid rgba(201, 125, 16, 0.14);
    box-shadow: 0 -4px 20px rgba(26, 18, 0, 0.07);
}

[data-theme="solara"] .bottom-nav__item.active {
    color: var(--accent-primary);
}

[data-theme="solara"] .bottom-nav__item.active .bottom-nav__icon-wrap {
    background: rgba(21, 83, 192, 0.10);
}

/* Toasts */
[data-theme="solara"] .toast {
    background: var(--gradient-card);
    border: 1px solid rgba(201, 125, 16, 0.20);
    box-shadow: var(--shadow-lg), var(--shadow-gold-glow);
}

/* Scrollbar */
[data-theme="solara"] ::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
}

[data-theme="solara"] ::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: var(--radius-full);
}

[data-theme="solara"] ::-webkit-scrollbar-thumb:hover {
    background: rgba(201, 125, 16, 0.50);
}

/* Seleção de texto */
[data-theme="solara"] ::selection {
    background: rgba(21, 83, 192, 0.18);
    color: var(--fg-primary);
}

/* ---- Animação de entrada solar ---- */
@keyframes solara-fade-up {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

[data-theme="solara"] .card,
[data-theme="solara"] .stat-card,
[data-theme="solara"] .holiday-item,
[data-theme="solara"] .calendar__day {
    animation: solara-fade-up 0.35s var(--ease-out) both;
}
