/* ============================================================
   THE FIRE â€” DESIGN SYSTEM MILITAR UNIFICADO
   Substitui todos os blocos duplicados de tema militar.
   Carrega DEPOIS de style.css e sobrescreve via especificidade.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap');

/* --- TOKENS --- */
body.tpl-militar {
  --primary:#6f8a3f; --primary-dark:#4a5e28; --accent:#d8bd6d;
  --dark:#0a100b; --dark-2:#0e1710; --dark-3:#142115; --gray:#a3bd97;
  --light:#e9f1e3; --white:#f4f8f2;
  --gradient:linear-gradient(135deg,#6f8a3f,#4a5e28);
  --mil-bg-0:#0a100b; --mil-bg-1:#0e1710; --mil-bg-2:#142115; --mil-bg-3:#1b2c1e;
  --mil-border:#2b422e; --mil-primary:#6f8a3f; --mil-primary-d:#4a5e28;
  --mil-accent:#d8bd6d; --mil-text:#e9f1e3; --mil-muted:#a3bd97; --mil-alert:#e0663c;
}

/* --- GLOBAL --- */
body.tpl-militar {
  background-color:var(--dark);
  background-image:
    linear-gradient(rgba(111,138,63,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(111,138,63,.03) 1px,transparent 1px);
  background-size:40px 40px;
  color:var(--mil-text);
  -webkit-font-smoothing:antialiased;
}
body.tpl-militar ::selection { background:#6f8a3f; color:#0a100b; }
body.tpl-militar ::-webkit-scrollbar { width:8px; }
body.tpl-militar ::-webkit-scrollbar-track { background:#0a100b; }
body.tpl-militar ::-webkit-scrollbar-thumb { background:#2b422e; border-radius:4px; }
body.tpl-militar ::-webkit-scrollbar-thumb:hover { background:#6f8a3f; }

/* --- BOTÕES CUNHADOS (angular) --- */
body.tpl-militar .btn-primary {
  background:linear-gradient(135deg,#6f8a3f,#4a5e28)!important;
  border:none!important;color:#0a100b!important;font-family:'Oswald',sans-serif;
  font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  transition:transform .2s,box-shadow .2s;
}
body.tpl-militar .btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(111,138,63,.4); }
body.tpl-militar .btn-outline {
  border:2px solid var(--mil-accent);color:var(--mil-accent);
  background:transparent;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);
  transition:background .2s,color .2s;
}
body.tpl-militar .btn-outline:hover { background:rgba(216,189,109,.15);color:#fff; }
body.tpl-militar .btn-secondary { background:var(--mil-bg-2);border:1px solid var(--mil-border);color:var(--mil-text); }
body.tpl-militar .btn-secondary:hover { border-color:var(--mil-primary); }
body.tpl-militar .btn-nav { background:var(--mil-primary)!important;color:#0a100b!important;border-color:var(--mil-primary)!important;font-weight:700; }

/* --- TOP BAR --- */
body.tpl-militar .top-bar {
  background:var(--mil-bg-0)!important;
  border-bottom:2px solid var(--mil-border)!important;
  position:fixed; top:0; left:0; right:0; width:100%; z-index:1002;
}
body.tpl-militar .top-bar::after {
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:repeating-linear-gradient(90deg,var(--mil-accent) 0 8px,transparent 8px 16px);
}
body.tpl-militar .top-bar-left a, body.tpl-militar .top-bar-right a { color:var(--mil-muted)!important; }
body.tpl-militar .top-bar-left a:hover, body.tpl-militar .top-bar-right a:hover { color:var(--mil-accent)!important; }

/* --- NAVBAR --- */
body.tpl-militar .navbar {
  position:fixed; top:37px; left:0; right:0; width:100%; z-index:1001;
  background:linear-gradient(180deg,var(--mil-bg-1),var(--mil-bg-0))!important;
  border-bottom:1px solid var(--mil-border)!important;
}
body.tpl-militar .nav-brand { color:var(--mil-text)!important; display:inline-flex; align-items:center; }
body.tpl-militar .logo-fire { position:relative; display:inline-flex; }
body.tpl-militar .logo-fire::before,
body.tpl-militar .fire-icon::before {
  content:''; position:absolute; left:50%; top:50%; width:52px; height:52px;
  transform:translate(-50%,-50%); border-radius:50%; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(255,60,30,.55) 0%, rgba(190,15,10,.32) 45%, transparent 70%);
  filter:blur(3px); animation:flamePulse 1.5s ease-in-out infinite alternate;
}
body.tpl-militar .nav-logo { position:relative; z-index:1; border-radius:12px; animation:fireAura 1.8s ease-in-out infinite alternate; }
body.tpl-militar .footer-logo-img { position:relative; z-index:1; border-radius:12px; animation:fireAura 1.8s ease-in-out infinite alternate; }
body.tpl-militar .fire-icon { position:relative; z-index:1; filter:none!important; display:inline-block; animation:fireFlicker 1.4s ease-in-out infinite alternate; }
@keyframes fireAura {
  0%   { filter:drop-shadow(0 0 4px rgba(255,70,40,.60)) drop-shadow(0 0 10px rgba(190,20,10,.45)); }
  100% { filter:drop-shadow(0 0 9px rgba(255,80,45,.95)) drop-shadow(0 0 20px rgba(190,20,10,.80)); }
}
@keyframes fireFlicker {
  0%   { transform:scale(1) rotate(-4deg); filter:drop-shadow(0 0 4px rgba(255,70,40,.6)); }
  100% { transform:scale(1.14) rotate(4deg); filter:drop-shadow(0 0 11px rgba(190,20,10,.9)); }
}
@keyframes flamePulse {
  0%   { opacity:.45; transform:translate(-50%,-50%) scale(.85); }
  100% { opacity:.95; transform:translate(-50%,-50%) scale(1.2); }
}
body.tpl-militar .nav-link {
  color:var(--mil-muted)!important;font-family:'Oswald',sans-serif;font-weight:500;
  letter-spacing:1px;text-transform:uppercase;font-size:.82rem;
}
body.tpl-militar .nav-link:hover, body.tpl-militar .nav-link.active { color:#fff!important; }
body.tpl-militar .nav-link::after { background:var(--mil-accent)!important;height:2px!important; }
body.tpl-militar .nav-toggle .hamburger,
body.tpl-militar .nav-toggle .hamburger::before,
body.tpl-militar .nav-toggle .hamburger::after { background:var(--mil-muted)!important; }

/* --- HERO / SLIDER --- */
body.tpl-militar .hero-overlay { background:linear-gradient(135deg,rgba(10,16,11,.88),rgba(14,23,16,.82))!important; }
body.tpl-militar .hero-slide-bg::after { background:linear-gradient(135deg,rgba(10,16,11,.92),rgba(20,33,21,.85))!important; }
body.tpl-militar .hero-title { color:var(--mil-text)!important; }
body.tpl-militar .hero-subtitle, body.tpl-militar .slide-subtitle {
  color:var(--mil-accent)!important;font-family:'Black Ops One',cursive;
  letter-spacing:3px;text-transform:uppercase;font-size:.85rem;
}
body.tpl-militar .hero-description, body.tpl-militar .slide-description { color:var(--mil-muted); }
body.tpl-militar .slider-dot { background:var(--mil-border); }
body.tpl-militar .slider-dot.active { background:var(--mil-accent); }
body.tpl-militar .slider-arrow { color:var(--mil-muted); }
body.tpl-militar .slider-arrow:hover { color:var(--mil-accent); }
body.tpl-militar .slider-progress-bar { background:var(--mil-accent); }

/* --- PAGE BANNER --- */
body.tpl-militar .page-banner, body.tpl-militar .mil-banner { background:var(--mil-bg-0)!important; }
/* compensa o top-bar(36px) + navbar(~60px) fixos para o título não ficar tampado */
body.tpl-militar .page-banner, body.tpl-militar .mil-banner { padding-top:165px!important; }
body.tpl-militar .page-banner h1 { color:var(--mil-text); }

/* --- SECTIONS --- */
body.tpl-militar .section:not(.partners-section) { background:var(--dark)!important; }
body.tpl-militar .section-dark { background:var(--mil-bg-1)!important; }
body.tpl-militar .section-header h2 { color:var(--mil-text)!important; }
body.tpl-militar .section p { color:var(--mil-muted)!important; }
body.tpl-militar .section-tag, body.tpl-militar .section-header .section-tag {
  color:var(--mil-accent)!important;font-family:'Black Ops One',cursive;
  letter-spacing:4px;text-transform:uppercase;
}
body.tpl-militar .section-tag::before { content:'[ ';color:var(--mil-border); }
body.tpl-militar .section-tag::after { content:' ]';color:var(--mil-border); }
body.tpl-militar .section-divider { background:var(--mil-accent)!important;height:2px!important; }

/* --- STATS HUD --- */
body.tpl-militar .stats {
  background:linear-gradient(135deg,var(--mil-bg-1),var(--mil-bg-2))!important;
  border-top:1px solid var(--mil-border);border-bottom:1px solid var(--mil-border);
}
body.tpl-militar .stat-number { color:var(--mil-accent)!important;font-family:'Oswald',sans-serif; }
body.tpl-militar .stat-label { color:var(--mil-muted)!important;letter-spacing:1px;text-transform:uppercase; }

/* --- ABOUT / FEATURES --- */
body.tpl-militar .about-home { background:var(--mil-bg-0)!important; }
body.tpl-militar .about-home p { color:var(--mil-muted)!important; }
body.tpl-militar .feature-item {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
  border-left:3px solid var(--mil-primary)!important;position:relative;
}
body.tpl-militar .feature-item::before {
  content:'';position:absolute;top:6px;right:6px;width:8px;height:8px;
  border-top:2px solid var(--mil-primary);border-right:2px solid var(--mil-primary);opacity:.5;
}
body.tpl-militar .feature-item:hover { border-color:var(--mil-primary)!important;transform:translateX(6px); }
body.tpl-militar .feature-item h3 { color:var(--mil-text)!important; }
body.tpl-militar .feature-item p { color:var(--mil-muted)!important; }
body.tpl-militar .feature-icon { color:var(--mil-primary)!important; }

/* --- MVV --- */
body.tpl-militar .mission-vision-values { background:var(--mil-bg-1)!important; }
body.tpl-militar .mvv-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;position:relative;
}
body.tpl-militar .mvv-card::before, body.tpl-militar .mvv-card::after {
  content:'';position:absolute;width:12px;height:12px;border-color:var(--mil-accent);border-style:solid;
}
body.tpl-militar .mvv-card::before { top:-1px;left:-1px;border-width:2px 0 0 2px; }
body.tpl-militar .mvv-card::after { bottom:-1px;right:-1px;border-width:0 2px 2px 0; }
body.tpl-militar .mvv-card:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .mvv-card h3 { color:var(--mil-text)!important; }
body.tpl-militar .mvv-card p { color:var(--mil-muted)!important; }
body.tpl-militar .mvv-icon { color:var(--mil-accent)!important; }

/* PART2 */

/* --- ACTIVITIES --- */
body.tpl-militar .activities-preview { background:var(--mil-bg-0)!important; }
body.tpl-militar .activity-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .activity-card::before { background:var(--mil-primary)!important; }
body.tpl-militar .activity-card:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .activity-card h3 { color:var(--mil-text)!important; }
body.tpl-militar .activity-card p { color:var(--mil-muted)!important; }
body.tpl-militar .activity-icon { color:var(--mil-primary)!important; }

/* --- SOBRE --- */
body.tpl-militar .sobre-content { background:var(--mil-bg-0)!important; }
body.tpl-militar .sobre-text p { color:var(--mil-muted)!important; }
body.tpl-militar .sobre-text strong { color:var(--mil-accent)!important; }
body.tpl-militar .visual-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .visual-card:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .visual-card h3 { color:var(--mil-text)!important; }
body.tpl-militar .visual-card p { color:var(--mil-muted)!important; }
body.tpl-militar .visual-icon { color:var(--mil-primary)!important; }

/* --- COLLECTIONS / GALERIA --- */
body.tpl-militar .collection-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .collection-card:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .collection-cover-placeholder { background:var(--mil-bg-1)!important; }
body.tpl-militar .collection-info h3 { color:var(--mil-text)!important; }
body.tpl-militar .collection-info p { color:var(--mil-muted)!important; }
body.tpl-militar .collection-count { color:var(--mil-accent)!important; }
body.tpl-militar .collection-photo-item img { border:1px solid var(--mil-border); }
body.tpl-militar .collection-photo-item:hover img { border-color:var(--mil-primary); }
body.tpl-militar .video-thumb-placeholder { background:var(--mil-bg-1)!important; }
body.tpl-militar .video-play-btn { background:var(--mil-primary)!important;color:#0a100b!important; }

/* --- TEAM --- */
body.tpl-militar .team-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .team-card:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .team-photo-placeholder { background:var(--mil-bg-1)!important; }
body.tpl-militar .team-info h3 { color:var(--mil-text)!important; }
body.tpl-militar .team-role { color:var(--mil-accent)!important; }
body.tpl-militar .team-info p { color:var(--mil-muted)!important; }

/* --- TESTIMONIALS --- */
body.tpl-militar .testimonial-card {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .testimonial-card::before { color:var(--mil-border)!important; }
body.tpl-militar .testimonial-content p { color:var(--mil-muted)!important; }
body.tpl-militar .testimonial-avatar-placeholder {
  background:var(--mil-bg-1)!important;border:1px solid var(--mil-primary)!important;color:var(--mil-primary)!important;
}
body.tpl-militar .testimonial-author strong { color:var(--mil-text)!important; }
body.tpl-militar .testimonial-author span { color:var(--mil-accent)!important; }

/* --- TIMELINE --- */
body.tpl-militar .timeline-container::before { background:var(--mil-border)!important; }
body.tpl-militar .timeline-item { border-left-color:var(--mil-border)!important; }
body.tpl-militar .timeline-number { color:var(--mil-bg-0)!important;background:var(--mil-accent)!important; }
body.tpl-militar .timeline-content {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .timeline-content:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .timeline-content h3 { color:var(--mil-text)!important; }
body.tpl-militar .timeline-content p { color:var(--mil-muted)!important; }

/* --- FAQ --- */
body.tpl-militar .faq-item { border-color:var(--mil-border)!important; }
body.tpl-militar .faq-question { color:var(--mil-text)!important; }
body.tpl-militar .faq-question:hover { color:var(--mil-accent)!important; }
body.tpl-militar .faq-toggle { color:var(--mil-primary)!important; }
body.tpl-militar .faq-answer p { color:var(--mil-muted)!important; }

/* --- PARTNERS --- */
body.tpl-militar .partner-item {
  background:var(--mil-bg-2)!important;border:1px solid var(--mil-border)!important;
}
body.tpl-militar .partner-item:hover { border-color:var(--mil-primary)!important; }
body.tpl-militar .partner-name { color:var(--mil-text)!important; }

/* PART3 */

/* --- CONTACT FORM --- */
body.tpl-militar .contact-form input,
body.tpl-militar .contact-form textarea,
body.tpl-militar .contact-form select {
  background:var(--mil-bg-1)!important;border:1px solid var(--mil-border)!important;color:var(--mil-text)!important;
}
body.tpl-militar .contact-form input:focus,
body.tpl-militar .contact-form textarea:focus,
body.tpl-militar .contact-form select:focus { border-color:var(--mil-primary)!important; }
body.tpl-militar .contact-form label { color:var(--mil-muted)!important; }
body.tpl-militar .info-icon { color:var(--mil-primary)!important; }
body.tpl-militar .info-item strong { color:var(--mil-text)!important; }
body.tpl-militar .info-item p { color:var(--mil-muted)!important; }

/* --- FOOTER --- */
body.tpl-militar .footer {
  background:linear-gradient(180deg,var(--mil-bg-0),#060a07)!important;
  border-top:2px solid var(--mil-border)!important;position:relative;
}
body.tpl-militar .footer::before {
  content:'';position:absolute;top:-2px;left:0;right:0;height:2px;
  background:repeating-linear-gradient(90deg,var(--mil-accent) 0 8px,transparent 8px 16px);
}
body.tpl-militar .footer-logo { color:var(--mil-text)!important; }
body.tpl-militar .footer-logo .fire-icon { filter:none!important; }
body.tpl-militar .footer-text { color:var(--mil-muted)!important; }
body.tpl-militar .footer-links h4 { color:var(--mil-accent)!important;border-bottom-color:var(--mil-border)!important; }
body.tpl-militar .footer-links a { color:var(--mil-muted)!important; }
body.tpl-militar .footer-links a:hover { color:var(--mil-accent)!important; }
body.tpl-militar .footer-links li { color:var(--mil-muted)!important; }
body.tpl-militar .footer-bottom { border-top:1px solid var(--mil-border)!important; }
body.tpl-militar .footer-bottom p { color:var(--mil-primary-d)!important; }
body.tpl-militar .footer-social a { color:var(--mil-muted)!important; }
body.tpl-militar .footer-social a:hover { color:var(--mil-accent)!important; }
body.tpl-militar .back-to-top { background:var(--mil-primary)!important;color:#0a100b!important; }
body.tpl-militar .back-to-top:hover { background:var(--mil-accent)!important; }

/* --- CTA / PAGE CONTENT / LIGHTBOX --- */
body.tpl-militar .cta-section {
  background:linear-gradient(135deg,var(--mil-bg-1),var(--mil-bg-2))!important;border:1px solid var(--mil-border);
}
body.tpl-militar .cta-content h2 { color:var(--mil-text)!important; }
body.tpl-militar .cta-content p { color:var(--mil-muted)!important; }
body.tpl-militar .page-content h2 { color:var(--mil-text)!important; }
body.tpl-militar .page-content p { color:var(--mil-muted)!important; }
body.tpl-militar .lightbox-overlay { background:rgba(10,16,11,.95)!important; }
body.tpl-militar .lightbox-close { color:var(--mil-muted)!important; }
body.tpl-militar .lightbox-close:hover { color:var(--mil-accent)!important; }

/* --- INSCRICAO --- */
body.tpl-militar .form-group label { color:var(--mil-muted)!important; }
body.tpl-militar .form-group input,
body.tpl-militar .form-group textarea,
body.tpl-militar .form-group select {
  background:var(--mil-bg-1)!important;border:1px solid var(--mil-border)!important;color:var(--mil-text)!important;
}
body.tpl-militar .form-group input:focus,
body.tpl-militar .form-group textarea:focus,
body.tpl-militar .form-group select:focus { border-color:var(--mil-primary)!important; }
body.tpl-militar .step-indicator { color:var(--mil-muted)!important;border-color:var(--mil-border)!important; }
body.tpl-militar .step-indicator.active { color:var(--mil-accent)!important;border-color:var(--mil-accent)!important; }
body.tpl-militar .step-indicator.completed { color:var(--mil-primary)!important; }

/* --- ALERTAS --- */
body.tpl-militar .alert, body.tpl-militar .msg { border-left:3px solid var(--mil-primary);background:var(--mil-bg-2);color:var(--mil-text); }
body.tpl-militar .ok { border-left-color:var(--mil-primary); }
body.tpl-militar .err, body.tpl-militar .alert-error { border-left-color:var(--mil-alert); }

/* --- MIL HELPERS (templates.php) --- */
body.tpl-militar .mil-title { color:var(--mil-text)!important; }
body.tpl-militar .mil-subtitle { color:var(--mil-accent)!important; }
body.tpl-militar .mil-divider { background:var(--mil-accent)!important; }
body.tpl-militar .mil-banner-overlay { background:rgba(10,16,11,.9); }
body.tpl-militar .mil-doc-header { border-color:var(--mil-border)!important; }
body.tpl-militar .mil-doc-label { color:var(--mil-muted)!important; }
body.tpl-militar .mil-doc-id { color:var(--mil-accent)!important;font-family:'Black Ops One',cursive; }
body.tpl-militar .mil-stamp-circle { border-color:var(--mil-alert)!important;color:var(--mil-alert)!important; }
body.tpl-militar .mil-footer-stamp { border-color:var(--mil-border)!important;color:var(--mil-muted)!important; }

/* --- UTILITÁRIOS TÁTICOS --- */
.mil-stripes {
  height:6px;
  background:repeating-linear-gradient(45deg,var(--mil-accent) 0 10px,var(--mil-bg-0) 10px 20px);
}
.mil-tag {
  display:inline-block;padding:3px 12px;background:var(--mil-bg-2);
  border:1px solid var(--mil-border);border-radius:2px;
  font-family:'Black Ops One',cursive;font-size:.7rem;letter-spacing:2px;
  color:var(--mil-accent);text-transform:uppercase;
}
.mil-card-frame { position:relative; }
.mil-card-frame::before, .mil-card-frame::after {
  content:'';position:absolute;width:14px;height:14px;border:2px solid var(--mil-accent);
}
.mil-card-frame::before { top:-1px;left:-1px;border-width:2px 0 0 2px; }
.mil-card-frame::after { bottom:-1px;right:-1px;border-width:0 2px 2px 0; }

/* --- NOVAS SEÇÕES (home: eventos, galeria recente, aniversariantes) --- */
.events-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:30px; }
.event-card {
  display:flex;background:var(--mil-bg-2);border:1px solid var(--mil-border);
  clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);
}
.event-card:hover { border-color:var(--mil-primary); }
.event-date-block {
  flex:0 0 88px;background:linear-gradient(135deg,var(--mil-primary-d),var(--mil-bg-0));
  color:var(--mil-text);display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-right:2px solid var(--mil-border);font-family:'Oswald',sans-serif;
}
.event-date-block .day { font-size:2rem;font-weight:700;line-height:1;color:var(--mil-accent); }
.event-date-block .mon { font-size:.75rem;text-transform:uppercase;letter-spacing:2px; }
.event-info { padding:18px 20px; }
.event-info h3 { color:var(--mil-text);font-size:1.1rem;margin-bottom:6px; }
.event-info .event-meta { color:var(--mil-muted);font-size:.85rem;margin-bottom:4px; }
.event-info .event-meta i { color:var(--mil-primary);margin-right:6px; }
.events-empty { color:var(--mil-muted);text-align:center;padding:30px;border:1px dashed var(--mil-border); }

.recent-gallery-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:25px; }
.recent-gallery-grid a { position:relative;overflow:hidden;border:1px solid var(--mil-border);aspect-ratio:1;display:block; }
.recent-gallery-grid img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.recent-gallery-grid a:hover img { transform:scale(1.08); }
.recent-gallery-grid a::after {
  content:'+';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(111,138,63,.35);color:#fff;font-size:2rem;opacity:0;transition:opacity .3s;
}
.recent-gallery-grid a:hover::after { opacity:1; }

.birthday-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:25px; }
.birthday-card { text-align:center;background:var(--mil-bg-2);border:1px solid var(--mil-border);padding:18px 10px; }
.birthday-card:hover { border-color:var(--mil-primary); }
.birthday-card .bd-avatar {
  width:60px;height:60px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;
  justify-content:center;background:var(--mil-bg-1);border:2px solid var(--mil-accent);color:var(--mil-accent);
  font-family:'Black Ops One',cursive;font-size:1.3rem;
}
.birthday-card .bd-name { color:var(--mil-text);font-weight:600;font-size:.95rem; }
.birthday-card .bd-date { color:var(--mil-muted);font-size:.8rem; }

/* PART4 */

/* --- APLICAÇÃO GLOBAL: todo o site em tema militar --- */
/* As regras acima usam body.tpl-militar. Para forçar o tema em TODAS as
   páginas independentemente da flag do banco, replicamos os tokens em :root
   e removemos a exigência da classe (ver includes/header.php). */
:root {
  --mil-bg-0:#0a100b; --mil-bg-1:#0e1710; --mil-bg-2:#142115; --mil-bg-3:#1b2c1e;
  --mil-border:#2b422e; --mil-primary:#6f8a3f; --mil-primary-d:#4a5e28;
  --mil-accent:#d8bd6d; --mil-text:#e9f1e3; --mil-muted:#a3bd97; --mil-alert:#e0663c;
}

/* --- RESPONSIVO --- */
@media (max-width:768px) {
  body.tpl-militar .navbar { top:0!important; }
  .events-grid { grid-template-columns:1fr; }
  .recent-gallery-grid { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
  .birthday-grid { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
}

/* Fim do design system militar */



