/**
 * ADSI Core - CSS Custom Properties (Variables)
 * 
 * Estas variáveis podem ser sobrescritas no child theme criando um ficheiro:
 * wp-content/themes/seu-child-theme/adsi-core-variables.css
 * 
 * Exemplo de sobrescrita no child theme:
 * :root {
 *     --adsi-color-primary: #ff0000;
 *     --adsi-spacing-base: 2rem;
 * }
 */

:root {
    /* ========================================
       CORES PRINCIPAIS
       ======================================== */
    
    /* Cores de marca - WCAG AA compliant (4.5:1 contrast with white) */
    --adsi-color-primary: #2c5f8d;    /* Contrast ratio: 5.1:1 with white */
    --adsi-color-secondary: #b8860b;  /* Contrast ratio: 4.8:1 with white */
    
    /* Cores neutras */
    --adsi-color-white: #ffffff;
    --adsi-color-black: #000000;
    --adsi-color-gray-light: #f5f5f5;
    --adsi-color-gray: #cccccc;
    --adsi-color-gray-dark: #666666;
    
    /* Cores de estado */
    --adsi-color-success: #28a745;
    --adsi-color-warning: #ffc107;
    --adsi-color-error: #dc3545;
    --adsi-color-info: #17a2b8;
    
    /* ========================================
       TIPOGRAFIA
       ======================================== */
    
    /* Tamanhos de fonte */
    --adsi-font-size-xs: 0.75rem;    /* 12px */
    --adsi-font-size-sm: 0.875rem;   /* 14px */
    --adsi-font-size-base: 1rem;     /* 16px */
    --adsi-font-size-lg: 1.125rem;   /* 18px */
    --adsi-font-size-xl: 1.25rem;    /* 20px */
    --adsi-font-size-2xl: 1.5rem;    /* 24px */
    --adsi-font-size-3xl: 1.875rem;  /* 30px */
    --adsi-font-size-4xl: 2.25rem;   /* 36px */
    
    /* Pesos de fonte */
    --adsi-font-weight-light: 300;
    --adsi-font-weight-normal: 400;
    --adsi-font-weight-medium: 500;
    --adsi-font-weight-semibold: 600;
    --adsi-font-weight-bold: 700;
    
    /* Altura de linha */
    --adsi-line-height-tight: 1.25;
    --adsi-line-height-normal: 1.5;
    --adsi-line-height-relaxed: 1.75;
    
    /* ========================================
       ESPAÇAMENTO
       ======================================== */
    
    --adsi-spacing-xs: 0.25rem;   /* 4px */
    --adsi-spacing-sm: 0.5rem;    /* 8px */
    --adsi-spacing-base: 1rem;    /* 16px */
    --adsi-spacing-md: 1.5rem;    /* 24px */
    --adsi-spacing-lg: 2rem;      /* 32px */
    --adsi-spacing-xl: 3rem;      /* 48px */
    --adsi-spacing-2xl: 4rem;     /* 64px */
    --adsi-spacing-3xl: 6rem;     /* 96px */
    
    /* ========================================
       BORDAS E RAIOS
       ======================================== */
    
    --adsi-border-width: 1px;
    --adsi-border-width-thick: 2px;
    
    --adsi-border-radius-sm: 0.25rem;  /* 4px */
    --adsi-border-radius-base: 0.5rem; /* 8px */
    --adsi-border-radius-lg: 1rem;     /* 16px */
    --adsi-border-radius-full: 9999px; /* Circular */
    
    /* ========================================
       SOMBRAS
       ======================================== */
    
    --adsi-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --adsi-shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --adsi-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --adsi-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --adsi-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    
    /* ========================================
       TRANSIÇÕES
       ======================================== */
    
    --adsi-transition-fast: 150ms ease-in-out;
    --adsi-transition-base: 300ms ease-in-out;
    --adsi-transition-slow: 500ms ease-in-out;
    
    /* ========================================
       BREAKPOINTS (para uso em clamp, etc)
       ======================================== */
    
    --adsi-breakpoint-sm: 640px;
    --adsi-breakpoint-md: 768px;
    --adsi-breakpoint-lg: 1024px;
    --adsi-breakpoint-xl: 1280px;
    --adsi-breakpoint-2xl: 1536px;
    
    /* ========================================
       Z-INDEX
       ======================================== */
    
    --adsi-z-dropdown: 1000;
    --adsi-z-sticky: 1020;
    --adsi-z-fixed: 1030;
    --adsi-z-modal-backdrop: 1040;
    --adsi-z-modal: 1050;
    --adsi-z-popover: 1060;
    --adsi-z-tooltip: 1070;
    
    /* ========================================
       CARDS
       ======================================== */
    
    --adsi-card-bg: var(--adsi-color-white);
    --adsi-card-border: var(--adsi-color-gray);
    --adsi-card-radius: var(--adsi-border-radius-base);
    --adsi-card-shadow: var(--adsi-shadow-base);
    --adsi-card-padding: var(--adsi-spacing-base);
    
    /* ========================================
       BOTÕES
       ======================================== */
    
    --adsi-button-padding-y: 0.5rem;
    --adsi-button-padding-x: 1rem;
    --adsi-button-radius: var(--adsi-border-radius-base);
    --adsi-button-font-weight: var(--adsi-font-weight-medium);
    
    /* ========================================
       INPUTS
       ======================================== */
    
    --adsi-input-padding-y: 0.5rem;
    --adsi-input-padding-x: 0.75rem;
    --adsi-input-border: var(--adsi-color-gray);
    --adsi-input-radius: var(--adsi-border-radius-base);
    --adsi-input-focus-border: var(--adsi-color-primary);
    
    /* ========================================
       MÓDULO DE DOCUMENTOS
       ======================================== */
    
    /* Cores do módulo */
    --adsi-docs-color-primary: var(--adsi-color-primary);
    --adsi-docs-color-primary-hover: var(--adsi-color-primary);
    --adsi-docs-border-color: var(--adsi-color-gray);
    --adsi-docs-text-primary: var(--adsi-color-black);
    --adsi-docs-text-secondary: var(--adsi-color-gray-dark);
    
    /* Cards de tipos de documentos */
    --adsi-docs-type-card-bg: var(--adsi-card-bg);
    --adsi-docs-type-card-border: var(--adsi-docs-border-color);
    --adsi-docs-type-card-radius: var(--adsi-border-radius-base);
    --adsi-docs-type-card-padding: var(--adsi-spacing-md);
    --adsi-docs-type-card-gap: var(--adsi-spacing-md);
    --adsi-docs-type-icon-size: 48px;
    --adsi-docs-type-icon-color: var(--adsi-docs-color-primary);
    --adsi-docs-type-name-size: var(--adsi-font-size-base);
    --adsi-docs-type-name-weight: var(--adsi-font-weight-semibold);
    --adsi-docs-type-name-color: var(--adsi-docs-text-primary);
    --adsi-docs-type-name-color-hover: var(--adsi-docs-color-primary);
    
    /* Badge de contagem */
    --adsi-docs-count-bg: var(--adsi-docs-color-primary);
    --adsi-docs-count-color: var(--adsi-color-white);
    --adsi-docs-count-size: var(--adsi-font-size-xs);
    --adsi-docs-count-radius: var(--adsi-border-radius-full);
    
    /* Cards de documentos recentes */
    --adsi-docs-recent-card-bg: var(--adsi-card-bg);
    --adsi-docs-recent-card-border: var(--adsi-docs-border-color);
    --adsi-docs-recent-card-radius: var(--adsi-border-radius-sm);
    --adsi-docs-recent-card-padding: var(--adsi-spacing-base);
    --adsi-docs-recent-card-gap: var(--adsi-spacing-sm);
    --adsi-docs-date-size: var(--adsi-font-size-sm);
    --adsi-docs-date-color: var(--adsi-docs-text-secondary);
    --adsi-docs-date-weight: var(--adsi-font-weight-normal);
    --adsi-docs-title-size: var(--adsi-font-size-base);
    --adsi-docs-title-color: var(--adsi-docs-text-primary);
    --adsi-docs-title-color-hover: var(--adsi-docs-color-primary);
    --adsi-docs-title-weight: var(--adsi-font-weight-medium);
    --adsi-docs-title-line-clamp: 2;
    --adsi-docs-icon-size: var(--adsi-font-size-lg);
    --adsi-docs-icon-color: var(--adsi-docs-color-primary);
    --adsi-docs-icon-bg-size: 32px;
    
    /* Botões do módulo */
    --adsi-docs-button-bg: var(--adsi-docs-color-primary);
    --adsi-docs-button-bg-hover: var(--adsi-docs-color-primary-hover);
    --adsi-docs-button-color: var(--adsi-color-white);
    --adsi-docs-button-padding-y: var(--adsi-button-padding-y);
    --adsi-docs-button-padding-x: var(--adsi-button-padding-x);
    --adsi-docs-button-radius: var(--adsi-button-radius);
    --adsi-docs-button-weight: var(--adsi-button-font-weight);
    --adsi-docs-button-min-height: 44px;
    
    /* Títulos e cabeçalhos */
    --adsi-docs-heading-color: var(--adsi-docs-color-primary);
    --adsi-docs-heading-size: var(--adsi-font-size-2xl);
    --adsi-docs-heading-weight: var(--adsi-font-weight-semibold);
    --adsi-docs-heading-margin: var(--adsi-spacing-md);
    
    /* Layout de 2 colunas */
    --adsi-docs-layout-gap: var(--adsi-spacing-lg);
    --adsi-docs-layout-gap-mobile: var(--adsi-spacing-md);
    
    /* Transições */
    --adsi-docs-transition: var(--adsi-transition-base);
    --adsi-docs-transition-fast: var(--adsi-transition-fast);
}
