/* ================================
   SISTEMA DE CORES - IMPULSO PASTORAL
   ================================ */

/* --------------------------------
   VARIÁVEIS DE CORES
   -------------------------------- */
:root {
  /* Cores Primárias */
  --primary: #007bff;
  --primary-light: #66b3ff;
  --primary-dark: #0056b3;
  --primary-10: rgba(0, 123, 255, 0.1);
  --primary-20: rgba(0, 123, 255, 0.2);
  --primary-30: rgba(0, 123, 255, 0.3);
  --primary-50: rgba(0, 123, 255, 0.5);
  
  /* Cores Secundárias */
  --secondary: #16c6f0;
  --secondary-light: #4dd4f7;
  --secondary-dark: #0ba3cc;
  --secondary-10: rgba(22, 198, 240, 0.1);
  --secondary-20: rgba(22, 198, 240, 0.2);
  --secondary-30: rgba(22, 198, 240, 0.3);
  --secondary-50: rgba(22, 198, 240, 0.5);
  
  /* Cores de Sistema */
  --success: #28a745;
  --success-light: #5cb85c;
  --success-dark: #1e7e34;
  --success-10: rgba(40, 167, 69, 0.1);
  --success-20: rgba(40, 167, 69, 0.2);
  --success-30: rgba(40, 167, 69, 0.3);
  
  --danger: #dc3545;
  --danger-light: #f86c6b;
  --danger-dark: #bd2130;
  --danger-10: rgba(220, 53, 69, 0.1);
  --danger-20: rgba(220, 53, 69, 0.2);
  --danger-30: rgba(220, 53, 69, 0.3);
  
  --warning: #ffc107;
  --warning-light: #ffdb4d;
  --warning-dark: #d39e00;
  --warning-10: rgba(255, 193, 7, 0.1);
  --warning-20: rgba(255, 193, 7, 0.2);
  --warning-30: rgba(255, 193, 7, 0.3);
  
  --info: #17a2b8;
  --info-light: #5bc0de;
  --info-dark: #138496;
  --info-10: rgba(23, 162, 184, 0.1);
  --info-20: rgba(23, 162, 184, 0.2);
  --info-30: rgba(23, 162, 184, 0.3);
  
  /* Cores Neutras */
  --dark: #1a1a1a;
  --dark-light: #343a40;
  --dark-lighter: #495057;
  --dark-10: rgba(26, 26, 26, 0.1);
  --dark-20: rgba(26, 26, 26, 0.2);
  --dark-30: rgba(26, 26, 26, 0.3);
  
  --light: #f8f9fa;
  --light-dark: #e9ecef;
  --light-darker: #dee2e6;
  
  --white: #ffffff;
  --white-10: rgba(255, 255, 255, 0.1);
  --white-20: rgba(255, 255, 255, 0.2);
  --white-30: rgba(255, 255, 255, 0.3);
  --white-50: rgba(255, 255, 255, 0.5);
  
  --black: #000000;
  --black-10: rgba(0, 0, 0, 0.1);
  --black-20: rgba(0, 0, 0, 0.2);
  --black-30: rgba(0, 0, 0, 0.3);
  --black-50: rgba(0, 0, 0, 0.5);
  
  /* Cores Específicas do Projeto */
  --golden: #b39762;
  --golden-light: #d4be85;
  --golden-dark: #9b8354;
  --golden-10: rgba(179, 151, 98, 0.1);
  --golden-20: rgba(179, 151, 98, 0.2);
  --golden-30: rgba(179, 151, 98, 0.3);
  
  /* Cores de Gradiente */
  --gradient-primary: linear-gradient(135deg, var(--primary), var(--primary-dark));
  --gradient-secondary: linear-gradient(135deg, var(--secondary), var(--secondary-dark));
  --gradient-success: linear-gradient(135deg, var(--success), var(--success-dark));
  --gradient-danger: linear-gradient(135deg, var(--danger), var(--danger-dark));
  --gradient-warning: linear-gradient(135deg, var(--warning), var(--warning-dark));
  --gradient-dark: linear-gradient(135deg, var(--dark), var(--dark-light));
  --gradient-golden: linear-gradient(135deg, var(--golden), var(--golden-dark));
}

/* --------------------------------
   CLASSES DE TEXTO
   -------------------------------- */
.text-primary { color: var(--primary) !important; }
.text-primary-light { color: var(--primary-light) !important; }
.text-primary-dark { color: var(--primary-dark) !important; }

.text-secondary { color: var(--secondary) !important; }
.text-secondary-light { color: var(--secondary-light) !important; }
.text-secondary-dark { color: var(--secondary-dark) !important; }

.text-success { color: var(--success) !important; }
.text-success-light { color: var(--success-light) !important; }
.text-success-dark { color: var(--success-dark) !important; }

.text-danger { color: var(--danger) !important; }
.text-danger-light { color: var(--danger-light) !important; }
.text-danger-dark { color: var(--danger-dark) !important; }

.text-warning { color: var(--warning) !important; }
.text-warning-light { color: var(--warning-light) !important; }
.text-warning-dark { color: var(--warning-dark) !important; }

.text-info { color: var(--info) !important; }
.text-info-light { color: var(--info-light) !important; }
.text-info-dark { color: var(--info-dark) !important; }

.text-dark { color: var(--dark) !important; }
.text-dark-light { color: var(--dark-light) !important; }
.text-dark-lighter { color: var(--dark-lighter) !important; }

.text-light { color: var(--light) !important; }
.text-light-dark { color: var(--light-dark) !important; }
.text-light-darker { color: var(--light-darker) !important; }

.text-white { color: var(--white) !important; }
.text-black { color: var(--black) !important; }

.text-golden { color: var(--golden) !important; }
.text-golden-light { color: var(--golden-light) !important; }
.text-golden-dark { color: var(--golden-dark) !important; }

/* --------------------------------
   CLASSES DE BACKGROUND
   -------------------------------- */
.bg-primary { background-color: var(--primary) !important; }
.bg-primary-light { background-color: var(--primary-light) !important; }
.bg-primary-dark { background-color: var(--primary-dark) !important; }
.bg-primary-10 { background-color: var(--primary-10) !important; }
.bg-primary-20 { background-color: var(--primary-20) !important; }
.bg-primary-30 { background-color: var(--primary-30) !important; }
.bg-primary-50 { background-color: var(--primary-50) !important; }

.bg-secondary { background-color: var(--secondary) !important; }
.bg-secondary-light { background-color: var(--secondary-light) !important; }
.bg-secondary-dark { background-color: var(--secondary-dark) !important; }
.bg-secondary-10 { background-color: var(--secondary-10) !important; }
.bg-secondary-20 { background-color: var(--secondary-20) !important; }
.bg-secondary-30 { background-color: var(--secondary-30) !important; }

.bg-success { background-color: var(--success) !important; }
.bg-success-light { background-color: var(--success-light) !important; }
.bg-success-dark { background-color: var(--success-dark) !important; }
.bg-success-10 { background-color: var(--success-10) !important; }
.bg-success-20 { background-color: var(--success-20) !important; }
.bg-success-30 { background-color: var(--success-30) !important; }

.bg-danger { background-color: var(--danger) !important; }
.bg-danger-light { background-color: var(--danger-light) !important; }
.bg-danger-dark { background-color: var(--danger-dark) !important; }
.bg-danger-10 { background-color: var(--danger-10) !important; }
.bg-danger-20 { background-color: var(--danger-20) !important; }
.bg-danger-30 { background-color: var(--danger-30) !important; }

.bg-warning { background-color: var(--warning) !important; }
.bg-warning-light { background-color: var(--warning-light) !important; }
.bg-warning-dark { background-color: var(--warning-dark) !important; }
.bg-warning-10 { background-color: var(--warning-10) !important; }
.bg-warning-20 { background-color: var(--warning-20) !important; }
.bg-warning-30 { background-color: var(--warning-30) !important; }

.bg-info { background-color: var(--info) !important; }
.bg-info-light { background-color: var(--info-light) !important; }
.bg-info-dark { background-color: var(--info-dark) !important; }
.bg-info-10 { background-color: var(--info-10) !important; }
.bg-info-20 { background-color: var(--info-20) !important; }
.bg-info-30 { background-color: var(--info-30) !important; }

.bg-dark { background-color: var(--dark) !important; }
.bg-dark-light { background-color: var(--dark-light) !important; }
.bg-dark-lighter { background-color: var(--dark-lighter) !important; }
.bg-dark-10 { background-color: var(--dark-10) !important; }
.bg-dark-20 { background-color: var(--dark-20) !important; }
.bg-dark-30 { background-color: var(--dark-30) !important; }

.bg-light { background-color: var(--light) !important; }
.bg-light-dark { background-color: var(--light-dark) !important; }
.bg-light-darker { background-color: var(--light-darker) !important; }

.bg-white { background-color: var(--white) !important; }
.bg-white-10 { background-color: var(--white-10) !important; }
.bg-white-20 { background-color: var(--white-20) !important; }
.bg-white-30 { background-color: var(--white-30) !important; }
.bg-white-50 { background-color: var(--white-50) !important; }

.bg-black { background-color: var(--black) !important; }
.bg-black-10 { background-color: var(--black-10) !important; }
.bg-black-20 { background-color: var(--black-20) !important; }
.bg-black-30 { background-color: var(--black-30) !important; }
.bg-black-50 { background-color: var(--black-50) !important; }

.bg-golden { background-color: var(--golden) !important; }
.bg-golden-light { background-color: var(--golden-light) !important; }
.bg-golden-dark { background-color: var(--golden-dark) !important; }
.bg-golden-10 { background-color: var(--golden-10) !important; }
.bg-golden-20 { background-color: var(--golden-20) !important; }
.bg-golden-30 { background-color: var(--golden-30) !important; }

/* --------------------------------
   CLASSES DE GRADIENTE
   -------------------------------- */
.bg-gradient-primary { background: var(--gradient-primary) !important; }
.bg-gradient-secondary { background: var(--gradient-secondary) !important; }
.bg-gradient-success { background: var(--gradient-success) !important; }
.bg-gradient-danger { background: var(--gradient-danger) !important; }
.bg-gradient-warning { background: var(--gradient-warning) !important; }
.bg-gradient-dark { background: var(--gradient-dark) !important; }
.bg-gradient-golden { background: var(--gradient-golden) !important; }

/* --------------------------------
   CLASSES DE BORDA
   -------------------------------- */
.border-primary { border-color: var(--primary) !important; }
.border-primary-light { border-color: var(--primary-light) !important; }
.border-primary-dark { border-color: var(--primary-dark) !important; }

.border-secondary { border-color: var(--secondary) !important; }
.border-secondary-light { border-color: var(--secondary-light) !important; }
.border-secondary-dark { border-color: var(--secondary-dark) !important; }

.border-success { border-color: var(--success) !important; }
.border-success-light { border-color: var(--success-light) !important; }
.border-success-dark { border-color: var(--success-dark) !important; }

.border-danger { border-color: var(--danger) !important; }
.border-danger-light { border-color: var(--danger-light) !important; }
.border-danger-dark { border-color: var(--danger-dark) !important; }

.border-warning { border-color: var(--warning) !important; }
.border-warning-light { border-color: var(--warning-light) !important; }
.border-warning-dark { border-color: var(--warning-dark) !important; }

.border-info { border-color: var(--info) !important; }
.border-info-light { border-color: var(--info-light) !important; }
.border-info-dark { border-color: var(--info-dark) !important; }

.border-dark { border-color: var(--dark) !important; }
.border-dark-light { border-color: var(--dark-light) !important; }
.border-dark-lighter { border-color: var(--dark-lighter) !important; }

.border-light { border-color: var(--light) !important; }
.border-light-dark { border-color: var(--light-dark) !important; }
.border-light-darker { border-color: var(--light-darker) !important; }

.border-white { border-color: var(--white) !important; }
.border-white-20 { border-color: var(--white-20) !important; }
.border-white-30 { border-color: var(--white-30) !important; }

.border-black { border-color: var(--black) !important; }
.border-black-10 { border-color: var(--black-10) !important; }
.border-black-20 { border-color: var(--black-20) !important; }

.border-golden { border-color: var(--golden) !important; }
.border-golden-light { border-color: var(--golden-light) !important; }
.border-golden-dark { border-color: var(--golden-dark) !important; }

/* --------------------------------
   CLASSES DE SOMBRA
   -------------------------------- */
.shadow-primary { box-shadow: 0 0.5rem 1rem var(--primary-30) !important; }
.shadow-secondary { box-shadow: 0 0.5rem 1rem var(--secondary-30) !important; }
.shadow-success { box-shadow: 0 0.5rem 1rem var(--success-30) !important; }
.shadow-danger { box-shadow: 0 0.5rem 1rem var(--danger-30) !important; }
.shadow-warning { box-shadow: 0 0.5rem 1rem var(--warning-30) !important; }
.shadow-info { box-shadow: 0 0.5rem 1rem var(--info-30) !important; }
.shadow-dark { box-shadow: 0 0.5rem 1rem var(--dark-30) !important; }
.shadow-golden { box-shadow: 0 0.5rem 1rem var(--golden-30) !important; }

/* Sombras específicas para efeitos */
.shadow-glow-primary { box-shadow: 0 0 20px var(--primary-50) !important; }
.shadow-glow-secondary { box-shadow: 0 0 20px var(--secondary-50) !important; }
.shadow-glow-success { box-shadow: 0 0 20px var(--success-30) !important; }
.shadow-glow-danger { box-shadow: 0 0 20px var(--danger-30) !important; }
.shadow-glow-warning { box-shadow: 0 0 20px var(--warning-30) !important; }
.shadow-glow-dark { box-shadow: 0 0 20px var(--dark-50) !important; }
.shadow-glow-golden { box-shadow: 0 0 20px var(--golden-30) !important; }

/* --------------------------------
   CLASSES DE HOVER
   -------------------------------- */
.hover-primary:hover { color: var(--primary) !important; }
.hover-bg-primary:hover { background-color: var(--primary) !important; }
.hover-border-primary:hover { border-color: var(--primary) !important; }

.hover-secondary:hover { color: var(--secondary) !important; }
.hover-bg-secondary:hover { background-color: var(--secondary) !important; }
.hover-border-secondary:hover { border-color: var(--secondary) !important; }

.hover-success:hover { color: var(--success) !important; }
.hover-bg-success:hover { background-color: var(--success) !important; }
.hover-border-success:hover { border-color: var(--success) !important; }

.hover-danger:hover { color: var(--danger) !important; }
.hover-bg-danger:hover { background-color: var(--danger) !important; }
.hover-border-danger:hover { border-color: var(--danger) !important; }

.hover-warning:hover { color: var(--warning) !important; }
.hover-bg-warning:hover { background-color: var(--warning) !important; }
.hover-border-warning:hover { border-color: var(--warning) !important; }

.hover-info:hover { color: var(--info) !important; }
.hover-bg-info:hover { background-color: var(--info) !important; }
.hover-border-info:hover { border-color: var(--info) !important; }

.hover-dark:hover { color: var(--dark) !important; }
.hover-bg-dark:hover { background-color: var(--dark) !important; }
.hover-border-dark:hover { border-color: var(--dark) !important; }

.hover-light:hover { color: var(--light) !important; }
.hover-bg-light:hover { background-color: var(--light) !important; }
.hover-border-light:hover { border-color: var(--light) !important; }

.hover-white:hover { color: var(--white) !important; }
.hover-bg-white:hover { background-color: var(--white) !important; }
.hover-border-white:hover { border-color: var(--white) !important; }

.hover-golden:hover { color: var(--golden) !important; }
.hover-bg-golden:hover { background-color: var(--golden) !important; }
.hover-border-golden:hover { border-color: var(--golden) !important; }

/* --------------------------------
   CLASSES DE FILL (para SVG)
   -------------------------------- */
.fill-primary { fill: var(--primary) !important; }
.fill-secondary { fill: var(--secondary) !important; }
.fill-success { fill: var(--success) !important; }
.fill-danger { fill: var(--danger) !important; }
.fill-warning { fill: var(--warning) !important; }
.fill-info { fill: var(--info) !important; }
.fill-dark { fill: var(--dark) !important; }
.fill-light { fill: var(--light) !important; }
.fill-white { fill: var(--white) !important; }
.fill-black { fill: var(--black) !important; }
.fill-golden { fill: var(--golden) !important; }

/* --------------------------------
   CLASSES DE STROKE (para SVG)
   -------------------------------- */
.stroke-primary { stroke: var(--primary) !important; }
.stroke-secondary { stroke: var(--secondary) !important; }
.stroke-success { stroke: var(--success) !important; }
.stroke-danger { stroke: var(--danger) !important; }
.stroke-warning { stroke: var(--warning) !important; }
.stroke-info { stroke: var(--info) !important; }
.stroke-dark { stroke: var(--dark) !important; }
.stroke-light { stroke: var(--light) !important; }
.stroke-white { stroke: var(--white) !important; }
.stroke-black { stroke: var(--black) !important; }
.stroke-golden { stroke: var(--golden) !important; }

/* --------------------------------
   CLASSES DE OUTLINE
   -------------------------------- */
.outline-primary { outline-color: var(--primary) !important; }
.outline-secondary { outline-color: var(--secondary) !important; }
.outline-success { outline-color: var(--success) !important; }
.outline-danger { outline-color: var(--danger) !important; }
.outline-warning { outline-color: var(--warning) !important; }
.outline-info { outline-color: var(--info) !important; }
.outline-dark { outline-color: var(--dark) !important; }
.outline-light { outline-color: var(--light) !important; }
.outline-white { outline-color: var(--white) !important; }
.outline-black { outline-color: var(--black) !important; }
.outline-golden { outline-color: var(--golden) !important; }

/* --------------------------------
   CLASSES DE ACCENT (para elementos destacados)
   -------------------------------- */
.accent-primary { color: var(--primary) !important; }
.accent-secondary { color: var(--secondary) !important; }
.accent-success { color: var(--success) !important; }
.accent-danger { color: var(--danger) !important; }
.accent-warning { color: var(--warning) !important; }
.accent-info { color: var(--info) !important; }
.accent-golden { color: var(--golden) !important; }

/* --------------------------------
   CLASSES UTILITÁRIAS ESPECIAIS
   -------------------------------- */
.text-shadow-primary { text-shadow: 0 0 20px var(--primary-50) !important; }
.text-shadow-secondary { text-shadow: 0 0 20px var(--secondary-50) !important; }
.text-shadow-success { text-shadow: 0 0 20px var(--success-30) !important; }
.text-shadow-danger { text-shadow: 0 0 20px var(--danger-30) !important; }
.text-shadow-warning { text-shadow: 0 0 20px var(--warning-30) !important; }
.text-shadow-info { text-shadow: 0 0 20px var(--info-30) !important; }
.text-shadow-dark { text-shadow: 0 0 20px var(--dark-50) !important; }
.text-shadow-light { text-shadow: 0 0 20px var(--light-dark) !important; }
.text-shadow-white { text-shadow: 0 0 20px var(--white-50) !important; }
.text-shadow-black { text-shadow: 0 0 20px var(--black-50) !important; }
.text-shadow-golden { text-shadow: 0 0 20px var(--golden-30) !important; }

/* Backdrop filter com cores */
.backdrop-blur-primary { backdrop-filter: blur(10px); background-color: var(--primary-10) !important; }
.backdrop-blur-secondary { backdrop-filter: blur(10px); background-color: var(--secondary-10) !important; }
.backdrop-blur-success { backdrop-filter: blur(10px); background-color: var(--success-10) !important; }
.backdrop-blur-danger { backdrop-filter: blur(10px); background-color: var(--danger-10) !important; }
.backdrop-blur-warning { backdrop-filter: blur(10px); background-color: var(--warning-10) !important; }
.backdrop-blur-info { backdrop-filter: blur(10px); background-color: var(--info-10) !important; }
.backdrop-blur-dark { backdrop-filter: blur(10px); background-color: var(--dark-10) !important; }
.backdrop-blur-light { backdrop-filter: blur(10px); background-color: var(--light-dark) !important; }
.backdrop-blur-white { backdrop-filter: blur(10px); background-color: var(--white-10) !important; }
.backdrop-blur-black { backdrop-filter: blur(10px); background-color: var(--black-10) !important; }
.backdrop-blur-golden { backdrop-filter: blur(10px); background-color: var(--golden-10) !important; } 