/* CAEMG Bolsa do Grão — Frontend CSS */

:root {
  --caemg-red:      #D92B2B;
  --caemg-red-dark: #A81E1E;
  --caemg-dark:     #1A1A1A;
  --caemg-gray:     #4A4A4A;
  --caemg-gray-lt:  #F4F4F4;
  --caemg-white:    #FFFFFF;
  --grao-green:     #1A6B2E;
  --grao-amber:     #B45309;
  --font-display:   'Barlow Condensed', sans-serif;
  --font-body:      'Barlow', sans-serif;
  --font-mono:      'IBM Plex Mono', monospace;
}

*,*::before,*::after{box-sizing:border-box;}
body{font-family:var(--font-body);color:var(--caemg-dark);}

.bolsa-container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}
@media(max-width:768px){.bolsa-container{padding:0 16px;}}

/* ── Hero ────────────────────────────────────────────────────── */
.bolsa-hero{padding:80px 0 64px;position:relative;overflow:hidden;}
.grao-hero{background:linear-gradient(135deg,#0D1A0D 0%,#1A1A0A 50%,#1A1A1A 100%);}
.bolsa-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(217,43,43,0.03) 40px,rgba(217,43,43,0.03) 41px);pointer-events:none;}
.bolsa-hero h1{font-family:var(--font-display);font-size:clamp(36px,5.5vw,68px);font-weight:800;line-height:1.05;color:#fff;margin-bottom:20px;}
.bolsa-hero h1 span{color:var(--caemg-red);}
.hero-stats{display:flex;gap:40px;margin-top:48px;flex-wrap:wrap;}
.hero-stat-num{font-family:var(--font-display);font-size:48px;font-weight:800;color:var(--caemg-red);line-height:1;}
.hero-stat-label{font-size:13px;color:rgba(255,255,255,0.5);margin-top:4px;}

/* ── Badges / buttons ────────────────────────────────────────── */
.badge-caemg{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:var(--caemg-red);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;border-radius:2px;}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:0.4}}
.live-dot{width:8px;height:8px;border-radius:50%;background:#10B981;display:inline-block;animation:pulse-dot 2s infinite;}
.btn-caemg{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-display);font-size:15px;font-weight:700;background:var(--caemg-red);color:#fff!important;border:none;border-radius:4px;cursor:pointer;text-decoration:none!important;transition:all 0.2s;}
.btn-caemg:hover{background:var(--caemg-red-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(217,43,43,0.35);}
.btn-caemg-outline{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-display);font-size:15px;font-weight:700;background:transparent;color:var(--caemg-red)!important;border:2px solid var(--caemg-red);border-radius:4px;cursor:pointer;text-decoration:none!important;transition:all 0.2s;}
.btn-caemg-outline:hover{background:var(--caemg-red);color:#fff!important;}
.btn-contato-card{font-size:13px;font-weight:600;color:var(--caemg-red);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:0;font-family:var(--font-body);}

/* ── Categorias/Tipos ────────────────────────────────────────── */
.categorias-bar{background:#111;padding:32px 0;border-bottom:1px solid #2A2A2A;}
.categoria-item{display:flex;align-items:center;gap:10px;padding:14px 16px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:4px;text-decoration:none!important;transition:background 0.15s;color:#fff;}
.categoria-item:hover{background:rgba(255,255,255,0.08);}
.categoria-icon{font-size:20px;}
.categoria-label{font-family:var(--font-display);font-size:13px;font-weight:700;color:#fff;line-height:1.2;}
.categoria-desc{font-size:10px;color:rgba(255,255,255,0.4);margin-top:2px;line-height:1.3;}

/* ── Seções ──────────────────────────────────────────────────── */
.section-label-caemg{font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--caemg-red);display:block;margin-bottom:10px;}
.section-title-caemg{font-family:var(--font-display);font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.1;color:var(--caemg-dark);}

/* ── Cards oferta ────────────────────────────────────────────── */
.oferta-card{background:#fff;border:1px solid #E5E5E5;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,0.08);padding:20px 24px;transition:box-shadow 0.2s,transform 0.2s;}
.oferta-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.10);transform:translateY(-2px);}

/* ── Tabela ──────────────────────────────────────────────────── */
.bolsa-table-wrap{overflow-x:auto;}
.bolsa-table{width:100%;border-collapse:collapse;font-size:14px;}
.bolsa-table th{background:var(--caemg-dark);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 16px;text-align:left;white-space:nowrap;}
.bolsa-table td{padding:14px 16px;border-bottom:1px solid #F0F0F0;color:var(--caemg-gray);}
.bolsa-table tr:hover td{background:var(--caemg-gray-lt);}

/* ── Filtros ─────────────────────────────────────────────────── */
.filtro-btn{padding:6px 12px;border-radius:2px;font-size:13px;font-weight:600;background:#fff;color:#444;border:1px solid #D0D0D0;cursor:pointer;transition:all 0.15s;font-family:var(--font-body);}
.filtro-btn.ativo{background:var(--caemg-red);color:#fff;border-color:var(--caemg-red);}
.filtro-btn-dark.ativo{background:var(--caemg-dark);color:#fff;border-color:var(--caemg-dark);}

/* ── Formulário ──────────────────────────────────────────────── */
.bolsa-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.bolsa-form-label{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--caemg-gray);font-weight:500;}
.bolsa-form-input,.bolsa-form-select,.bolsa-form-textarea{width:100%;padding:12px 16px;border:1.5px solid #D0D0D0;border-radius:4px;font-family:var(--font-body);font-size:15px;color:var(--caemg-dark);background:#fff;transition:border-color 0.15s;}
.bolsa-form-input:focus,.bolsa-form-select:focus,.bolsa-form-textarea:focus{outline:none;border-color:var(--caemg-red);box-shadow:0 0 0 3px rgba(217,43,43,0.10);}
.bolsa-form-textarea{resize:vertical;min-height:100px;}
.bolsa-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:600px){.bolsa-form-grid-2{grid-template-columns:1fr;}}
.plano-card{padding:16px;border-radius:4px;cursor:pointer;border:2px solid #E5E5E5;background:#fff;transition:all 0.15s;}
.plano-ativo{border-color:var(--caemg-red)!important;background:#FFF5F5!important;}

/* ── Steps ───────────────────────────────────────────────────── */
.steps-bar{display:flex;margin-bottom:40px;}
.step-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;}
.step-circle{width:36px;height:36px;border-radius:50%;background:#E5E5E5;color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;position:relative;z-index:1;}
.step-circle.ativo{background:var(--caemg-red);color:#fff;}
.step-label{font-size:12px;color:#999;margin-top:6px;}
.step-label.ativo{color:var(--caemg-red);font-weight:600;}
.step-line{position:absolute;top:18px;left:50%;width:100%;height:2px;background:#E5E5E5;z-index:0;}
.step-line.ativo{background:var(--caemg-red);}

/* ── Modal ───────────────────────────────────────────────────── */
.modal-overlay{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,0.65);align-items:center;justify-content:center;padding:16px;}
.modal-overlay.aberto{display:flex;}
.modal-box{background:#fff;border-radius:4px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,0.3);}
.modal-header{background:#1A1A1A;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;}
.modal-fechar{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:28px;line-height:1;padding:0;}
.modal-oferta-info{background:#F8F8F8;padding:16px 24px;border-bottom:1px solid #E8E8E8;display:flex;gap:12px;align-items:center;}
.modal-body{padding:24px;}
.aviso-intermediacao{background:#FFF5F5;border:1px solid #F0C0C0;border-radius:4px;padding:12px 16px;margin-bottom:20px;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#666;}

/* ── CTA ─────────────────────────────────────────────────────── */
.cta-section{background:var(--caemg-red);padding:72px 0;position:relative;overflow:hidden;text-align:center;}
.cta-section::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 30px,rgba(255,255,255,0.04) 30px,rgba(255,255,255,0.04) 31px);pointer-events:none;}
.cta-section h2{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);font-weight:800;color:#fff;margin-bottom:16px;}
.cta-section p{font-size:18px;color:rgba(255,255,255,0.8);max-width:520px;margin:0 auto 36px;}
.btn-cta-branco{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--caemg-red)!important;padding:14px 32px;font-family:var(--font-display);font-size:16px;font-weight:800;border-radius:4px;text-decoration:none!important;border:none;cursor:pointer;margin:0 8px;transition:transform 0.2s;}
.btn-cta-branco:hover{transform:translateY(-2px);}
.btn-cta-outline-branco{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff!important;padding:14px 32px;font-family:var(--font-display);font-size:16px;font-weight:700;border:2px solid rgba(255,255,255,0.5);border-radius:4px;text-decoration:none!important;cursor:pointer;margin:0 8px;}

/* ── Alertas ─────────────────────────────────────────────────── */
.alerta-aviso{background:#FFFBEB;border:1px solid #FDE68A;border-radius:4px;padding:20px 24px;color:#92400E;font-size:13px;margin:40px 0;}
.alerta-erro{background:#FEF2F2;border:1px solid #FCA5A5;border-radius:4px;padding:12px 16px;color:#991B1B;font-size:14px;margin:16px 0;}
