/* ═══════════════════════════════════════════════════════════════
   CROSSFIRE NT — MILITARY DESIGN SYSTEM v2.0
   Design System centralizado para todas as páginas públicas
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root{
  /* Backgrounds */
  --ds-bg:        #0a0e14;
  --ds-bg2:       #0d1117;
  --ds-card:      #151921;
  --ds-card2:     #1a2030;
  --ds-border:    #1f2430;
  --ds-border2:   rgba(255,255,255,.07);

  /* Accent Colors */
  --ds-green:     #4CAF50;
  --ds-neon:      #00ff9c;
  --ds-gold:      #ffd700;
  --ds-red:       #e74c3c;
  --ds-blue:      #3498db;
  --ds-orange:    #ff6b00;
  --ds-cyan:      #00d4ff;

  /* Text */
  --ds-text:      #ffffff;
  --ds-text2:     rgba(255,255,255,.75);
  --ds-muted:     rgba(255,255,255,.45);

  /* Spacing */
  --ds-radius:    12px;
  --ds-radius-lg: 16px;
  --ds-radius-sm: 8px;

  /* Shadows */
  --ds-shadow:    0 4px 24px rgba(0,0,0,.5);
  --ds-shadow-lg: 0 12px 48px rgba(0,0,0,.7);
  --ds-glow-red:  0 0 20px rgba(231,76,60,.3);
  --ds-glow-neon: 0 0 20px rgba(0,255,156,.25);
  --ds-glow-gold: 0 0 20px rgba(255,215,0,.25);

  /* Transitions */
  --ds-t: .22s ease;
}

/* ── RESET & BASE ── */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{
  font-family:'Rajdhani','Barlow Condensed',system-ui,sans-serif;
  background:var(--ds-bg);
  color:var(--ds-text);
  overflow-x:hidden;
  min-height:100vh;
}
body{ padding-top:90px !important; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; }

/* ── LAYOUT ── */
.page-container{
  max-width:1400px;
  margin:0 auto;
  padding:40px 20px;
}
.page-header{
  text-align:center;
  margin-bottom:48px;
  padding:40px 20px 36px;
  position:relative;
}
.page-header::after{
  content:'';
  position:absolute;
  bottom:0;left:50%;
  transform:translateX(-50%);
  width:80px;height:3px;
  background:linear-gradient(90deg,var(--ds-red),var(--ds-orange));
  border-radius:2px;
}
.page-title{
  font-size:clamp(2rem,5vw,3.2rem);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:3px;
  margin-bottom:12px;
  color:var(--ds-text);
}
.page-title span{ color:var(--ds-red); }
.page-subtitle{
  font-size:clamp(.95rem,2vw,1.1rem);
  color:var(--ds-muted);
  max-width:600px;
  margin:0 auto;
  line-height:1.6;
  letter-spacing:.3px;
}

/* ── CARDS ── */
.ds-card{
  background:var(--ds-card);
  border:1px solid var(--ds-border);
  border-radius:var(--ds-radius-lg);
  padding:24px;
  position:relative;
  overflow:hidden;
  transition:border-color var(--ds-t), box-shadow var(--ds-t), transform var(--ds-t);
}
.ds-card::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--ds-red),var(--ds-orange),transparent);
}
.ds-card:hover{
  border-color:rgba(231,76,60,.35);
  box-shadow:var(--ds-glow-red);
  transform:translateY(-2px);
}
/* alias for legacy */
.modern-card{ background:var(--ds-card);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:24px;position:relative;overflow:hidden;transition:border-color var(--ds-t),box-shadow var(--ds-t),transform var(--ds-t); }
.modern-card::before{ content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--ds-red),var(--ds-orange),transparent); }
.modern-card:hover{ border-color:rgba(231,76,60,.35);box-shadow:var(--ds-glow-red);transform:translateY(-2px); }

.ds-card-title, .card-title{
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--ds-red);
  margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
}
.ds-card-title i, .card-title i{ font-size:17px; }

/* ── BUTTONS ── */
.ds-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;
  font-family:'Rajdhani','Barlow Condensed',system-ui,sans-serif;
  font-size:13px;font-weight:800;
  text-transform:uppercase;letter-spacing:.8px;
  border-radius:var(--ds-radius-sm);
  border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;
  transition:all var(--ds-t);
  white-space:nowrap;
}
.ds-btn-primary, .btn-primary{
  background:linear-gradient(135deg,var(--ds-red),var(--ds-orange));
  border-color:var(--ds-red);color:#fff;
  box-shadow:0 4px 16px rgba(231,76,60,.3);
}
.ds-btn-primary:hover, .btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(231,76,60,.5);color:#fff;
}
.ds-btn-secondary, .btn-secondary{
  background:rgba(52,152,219,.1);
  border-color:var(--ds-blue);color:var(--ds-blue);
}
.ds-btn-secondary:hover, .btn-secondary:hover{
  background:rgba(52,152,219,.2);transform:translateY(-2px);color:var(--ds-blue);
}
.ds-btn-success, .btn-success{
  background:rgba(76,175,80,.12);
  border-color:var(--ds-green);color:var(--ds-green);
}
.ds-btn-success:hover, .btn-success:hover{
  background:rgba(76,175,80,.22);transform:translateY(-2px);color:var(--ds-green);
}
.ds-btn-danger, .btn-danger{
  background:rgba(231,76,60,.12);
  border-color:var(--ds-red);color:var(--ds-red);
}
.ds-btn-danger:hover, .btn-danger:hover{
  background:rgba(231,76,60,.22);transform:translateY(-2px);color:var(--ds-red);
}
.ds-btn-gold{
  background:rgba(255,215,0,.1);
  border-color:var(--ds-gold);color:var(--ds-gold);
}
.ds-btn-gold:hover{
  background:rgba(255,215,0,.2);transform:translateY(-2px);color:var(--ds-gold);
}
/* legacy alias */
.btn-modern{ display:inline-flex;align-items:center;gap:8px;padding:10px 22px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;border-radius:var(--ds-radius-sm);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--ds-t); }

/* ── FORMS ── */
.form-group{ margin-bottom:18px; }
.form-label{
  display:block;
  font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:.8px;
  color:var(--ds-muted);margin-bottom:7px;
}
.form-control{
  width:100%;padding:11px 14px;
  background:rgba(0,0,0,.3) !important;
  border:1.5px solid var(--ds-border) !important;
  border-radius:var(--ds-radius-sm);
  color:var(--ds-text) !important;
  font-family:'Rajdhani','Barlow Condensed',system-ui,sans-serif;
  font-size:14px;font-weight:600;
  transition:border-color var(--ds-t),box-shadow var(--ds-t);
}
.form-control:focus{
  outline:none;
  border-color:var(--ds-red) !important;
  box-shadow:0 0 14px rgba(231,76,60,.18) !important;
  background:rgba(0,0,0,.4) !important;
}
.form-control::placeholder{ color:var(--ds-muted) !important; }
.form-control option{ background:var(--ds-bg2); }
select.form-control option{ background:var(--ds-bg2); }

/* ── TABLES ── */
.modern-table, .ds-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 5px;
}
.modern-table thead th, .ds-table thead th{
  background:rgba(231,76,60,.12);
  color:var(--ds-red);
  font-weight:800;text-transform:uppercase;
  letter-spacing:.8px;padding:11px 14px;
  font-size:11px;text-align:left;
}
.modern-table tbody tr, .ds-table tbody tr{
  background:rgba(0,0,0,.2);
  transition:background var(--ds-t);
}
.modern-table tbody tr:hover, .ds-table tbody tr:hover{
  background:rgba(231,76,60,.08);
}
.modern-table tbody td, .ds-table tbody td{
  padding:11px 14px;
  color:var(--ds-text2);
  font-size:13px;font-weight:600;
}
.modern-table tbody td:first-child, .ds-table tbody td:first-child{
  border-left:2px solid var(--ds-red);
  border-radius:6px 0 0 6px;
}
.modern-table tbody td:last-child, .ds-table tbody td:last-child{
  border-radius:0 6px 6px 0;
}
.table-responsive{ overflow-x:auto; }

/* ── ALERTS ── */
.alert{
  padding:13px 18px;
  border-radius:var(--ds-radius-sm);
  margin-bottom:18px;
  font-weight:700;font-size:13px;
  display:flex;align-items:center;gap:10px;
  border:1.5px solid;
}
.alert i{ font-size:17px; }
.alert-success{ background:rgba(76,175,80,.1);border-color:var(--ds-green);color:var(--ds-green); }
.alert-danger{  background:rgba(231,76,60,.1);border-color:var(--ds-red);color:var(--ds-red); }
.alert-warning{ background:rgba(255,215,0,.1);border-color:var(--ds-gold);color:var(--ds-gold); }
.alert-info{    background:rgba(52,152,219,.1);border-color:var(--ds-blue);color:var(--ds-blue); }

/* ── BADGES ── */
.badge, .ds-badge{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;
  border-radius:50px;
  font-size:10px;font-weight:800;
  text-transform:uppercase;letter-spacing:.5px;
  border:1px solid;
}
.badge-primary, .ds-badge-red{   background:rgba(231,76,60,.12);border-color:rgba(231,76,60,.3);color:var(--ds-red); }
.badge-success, .ds-badge-green{ background:rgba(76,175,80,.12);border-color:rgba(76,175,80,.3);color:var(--ds-green); }
.badge-warning, .ds-badge-gold{  background:rgba(255,215,0,.12);border-color:rgba(255,215,0,.3);color:var(--ds-gold); }
.badge-info,    .ds-badge-blue{  background:rgba(52,152,219,.12);border-color:rgba(52,152,219,.3);color:var(--ds-blue); }
.ds-badge-neon{ background:rgba(0,255,156,.1);border-color:rgba(0,255,156,.3);color:var(--ds-neon); }

/* ── GRID ── */
.ds-grid{ display:grid;gap:20px; }
.ds-grid-2{ grid-template-columns:repeat(2,1fr); }
.ds-grid-3{ grid-template-columns:repeat(3,1fr); }
.ds-grid-4{ grid-template-columns:repeat(4,1fr); }
.ds-grid-auto{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
/* legacy */
.row{ display:flex;flex-wrap:wrap;margin:0 -10px; }
.col{ flex:1;padding:0 10px; }
.col-6{ flex:0 0 50%;max-width:50%;padding:0 10px; }
.col-4{ flex:0 0 33.333%;max-width:33.333%;padding:0 10px; }
.col-3{ flex:0 0 25%;max-width:25%;padding:0 10px; }

/* ── UTILITIES ── */
.text-center{ text-align:center; }
.text-right{  text-align:right; }
.text-muted{  color:var(--ds-muted); }
.text-red{    color:var(--ds-red); }
.text-green{  color:var(--ds-green); }
.text-gold{   color:var(--ds-gold); }
.text-blue{   color:var(--ds-blue); }
.text-neon{   color:var(--ds-neon); }
.fw-900{ font-weight:900; }
.fw-700{ font-weight:700; }
.tt-upper{ text-transform:uppercase; }
.mt-1{margin-top:8px;} .mt-2{margin-top:16px;} .mt-3{margin-top:24px;} .mt-4{margin-top:32px;}
.mb-1{margin-bottom:8px;} .mb-2{margin-bottom:16px;} .mb-3{margin-bottom:24px;} .mb-4{margin-bottom:32px;}
.gap-1{gap:8px;} .gap-2{gap:16px;} .gap-3{gap:24px;}

/* ── FOOTER ── */
.footer-mini{
  padding:20px 0;
  background:linear-gradient(180deg,rgba(10,14,20,.95),rgba(5,8,12,.98));
  border-top:1px solid var(--ds-border);
  margin-top:80px;
}
.footer-mini .footer-wrap{
  display:flex;align-items:center;justify-content:center;
  gap:20px;flex-wrap:wrap;text-align:center;
  font-size:12px;color:var(--ds-muted);font-weight:600;letter-spacing:.5px;
}
.footer-mini .label-strong{ color:var(--ds-red);font-weight:900;text-transform:uppercase; }
.footer-mini .dot{
  width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;
  background:var(--ds-neon);
  box-shadow:0 0 0 3px rgba(0,255,156,.15),0 0 12px rgba(0,255,156,.4);
  animation:dsPulse 2s infinite;
}
@keyframes dsPulse{
  0%,100%{ box-shadow:0 0 0 3px rgba(0,255,156,.15),0 0 12px rgba(0,255,156,.4); }
  50%{     box-shadow:0 0 0 6px rgba(0,255,156,.08),0 0 20px rgba(0,255,156,.6); }
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .ds-grid-4{ grid-template-columns:repeat(2,1fr); }
  .ds-grid-3{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  body{ padding-top:90px !important; }
  .page-container{ padding:24px 16px; }
  .page-header{ padding:28px 16px 24px; }
  .ds-grid-2,.ds-grid-3,.ds-grid-4{ grid-template-columns:1fr; }
  .col,.col-6,.col-4,.col-3{ flex:0 0 100%;max-width:100%;margin-bottom:16px; }
  .ds-card,.modern-card{ padding:18px; }
}
@media(max-width:480px){
  .page-title{ letter-spacing:1px; }
  .ds-btn,.btn-primary,.btn-secondary{ padding:9px 16px;font-size:12px; }
}
