/* ==========================================================================
   BRM Advogados Associados - Folha de Estilos Customizada
   Integração direta com o Design System de Advocacia Premium
   ========================================================================== */

/* Cores Primitivas e Semânticas herdadas do Design System */
:root {
    --color-primary-base: #0B1B3D;      /* Azul Marinho Nobre */
    --color-primary-light: #182C55;     /* Azul Marinho Médio */
    --color-primary-dark: #050D1E;      /* Azul Marinho Escuro */
    
    --color-secondary-base: #C5A880;    /* Dourado Envelhecido Fosco (Bronze) */
    --color-secondary-light: #D4BE9F;   /* Dourado Claro */
    --color-secondary-dark: #A4855C;    /* Dourado Escuro / Bronze */
    
    --color-neutral-100: #FAF9F6;       /* Off-white Puro (Fundo Geral) */
    --color-neutral-200: #F4F2EC;       /* Off-white Escuro (Fundo de Cards/Seções) */
    --color-neutral-300: #E5E2D9;       /* Divisores e Bordas Suaves */
    --color-neutral-600: #666666;       /* Texto de Apoio / Legendas */
    --color-neutral-800: #333333;       /* Grafite Escuro (Texto Principal - Contraste AA) */
    --color-neutral-900: #1A1A1A;       /* Grafite Quase Preto (Títulos) */

    --font-title: 'Playfair Display', Georgia, serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Tipografia */
.font-title {
    font-family: var(--font-title);
}

.font-body {
    font-family: var(--font-body);
}

/* Utilitários de Cores Customizadas */
.bg-primary-base { background-color: var(--color-primary-base); }
.bg-primary-light { background-color: var(--color-primary-light); }
.bg-primary-dark { background-color: var(--color-primary-dark); }

.bg-secondary-base { background-color: var(--color-secondary-base); }
.bg-secondary-light { background-color: var(--color-secondary-light); }
.bg-secondary-dark { background-color: var(--color-secondary-dark); }

.text-primary-base { color: var(--color-primary-base); }
.text-primary-light { color: var(--color-primary-light); }
.text-secondary-base { color: var(--color-secondary-base); }
.text-secondary-dark { color: var(--color-secondary-dark); }
.text-neutral-800 { color: var(--color-neutral-800); }
.text-neutral-900 { color: var(--color-neutral-900); }

.border-secondary-base { border-color: var(--color-secondary-base); }
.border-neutral-300 { border-color: var(--color-neutral-300); }

/* Gradiente Metálico Premium (Dourado Bronze) */
.text-gold-gradient {
    background: linear-gradient(135deg, #A4855C 0%, #D4BE9F 40%, #C5A880 70%, #A4855C 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.bg-gold-gradient {
    background: linear-gradient(135deg, #A4855C 0%, #D4BE9F 40%, #C5A880 70%, #A4855C 100%);
}

.bg-gold-gradient-hover:hover {
    background: linear-gradient(135deg, #C5A880 0%, #FAF9F6 50%, #A4855C 100%);
}

.bg-radial-glow {
    background: radial-gradient(circle at 50% 50%, rgba(24, 44, 85, 0.15) 0%, rgba(5, 13, 30, 0.0) 70%);
}

/* Transições e Efeitos de Interação */
.transition-premium {
    transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hover-lift {
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.hover-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(11, 27, 61, 0.12);
}

/* Accordion FAQ Customizado */
.faq-trigger[aria-expanded="true"] .faq-icon {
    transform: rotate(180deg);
    color: var(--color-secondary-base);
}

.faq-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 350ms cubic-bezier(0.16, 1, 0.3, 1), padding 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* Efeito de Vidro Fosco (Glassmorphism) */
.glass-panel {
    background: rgba(11, 27, 61, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(197, 168, 128, 0.2);
}

.glass-panel-light {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(197, 168, 128, 0.15);
}

/* Animações de Revelação (Scroll Reveal) */
.reveal {
    opacity: 0.95;
    transform: translateY(10px);
    transition: opacity 800ms cubic-bezier(0.16, 1, 0.3, 1), transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Molduras Elegantes para as Obras de Arte */
.art-frame {
    border: 12px solid #1A1A1A;
    box-shadow: 
        inset 0 0 5px rgba(0,0,0,0.5), 
        0 10px 20px rgba(0,0,0,0.3);
    position: relative;
}

.art-frame::after {
    content: '';
    position: absolute;
    top: -8px; left: -8px; right: -8px; bottom: -8px;
    border: 2px solid var(--color-secondary-base);
    pointer-events: none;
}
