/* ============================================================
   NOVA GERAÇÃO FC — Estilos das páginas internas
   (banner interno, matrícula, galeria completa, admin link)
   ============================================================ */

/* ---------- Banner de página interna ---------- */
.page-banner{
  position:relative;background:var(--navy-950);padding:168px 0 58px;overflow:hidden;
}
.page-banner::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(243,194,28,0.08), transparent 45%),
             radial-gradient(circle at 85% 80%, rgba(139,188,229,0.08), transparent 45%);
}
.page-banner .container{position:relative;z-index:1;}
.page-banner .crumbs{font-family:var(--mono);font-size:11.5px;color:rgba(246,247,250,0.5);letter-spacing:0.04em;margin-bottom:18px;}
.page-banner .crumbs a{color:var(--gold-bright);}
.page-banner .crumbs a:hover{text-decoration:underline;}
.page-banner .eyebrow{color:var(--gold-dim);}
.page-banner h1{color:var(--chalk);font-size:clamp(32px,5vw,52px);}
.page-banner-sub{margin-top:16px;color:rgba(246,247,250,0.72);font-size:16px;max-width:60ch;}

/* ---------- Link discreto para a área administrativa ---------- */
.admin-link{
  font-family:var(--mono);font-size:11.5px;color:rgba(246,247,250,0.35);letter-spacing:0.04em;
  transition:color var(--dur-in) var(--ease);
}
.admin-link:hover{color:var(--gold-bright);}

/* ============================================================
   FORMULÁRIO DE MATRÍCULA
   ============================================================ */
.enroll-form{max-width:920px;margin:0 auto;}
.form-section{background:#fff;border:1px solid var(--line);margin-bottom:24px;padding:34px 36px;}
.form-section:first-child{clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);}
@media (max-width:640px){.form-section{padding:26px 22px;}}

.form-section-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.form-section-num{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--navy-950);background:var(--gold);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.form-section-head h2{font-size:20px;margin-bottom:6px;}
.form-section-head p{font-size:13.5px;color:var(--ink-soft);font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:500;}

.label-note{font-weight:500;color:var(--ink-soft);text-transform:none;letter-spacing:0;font-size:12px;}

.radio-group{display:flex;gap:22px;flex-wrap:wrap;margin-top:2px;}
.radio-option{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;}
.radio-option input{width:17px;height:17px;accent-color:var(--navy-700);cursor:pointer;}

.conditional-field{margin-top:12px;}

.idade-display{
  font-family:var(--display);font-size:26px;color:var(--navy-700);
  background:var(--chalk-dim);padding:11px 14px;text-align:center;
}
.field-hint{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:6px;}
.field-hint.warn{color:var(--gold-dim);font-weight:700;}

.declaration-box{
  background:var(--chalk-dim);border-left:3px solid var(--gold);padding:18px 22px;
  font-size:14px;font-style:italic;color:var(--ink-soft);line-height:1.6;margin-bottom:20px;
}

.checkbox-option{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);cursor:pointer;}
.checkbox-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy-700);flex-shrink:0;cursor:pointer;}

.signature-wrap{border:1.5px dashed var(--line);background:var(--chalk-dim);border-radius:2px;overflow:hidden;}
#signaturePad{width:100%;height:180px;display:block;touch-action:none;cursor:crosshair;background:#fff;}
.signature-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap;}

/* ---------- Cartão de sucesso ---------- */
.success-card{
  max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);
  padding:56px 40px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);
}
.success-card svg{width:56px;height:56px;stroke:var(--navy-600);margin:0 auto 20px;}
.success-card h2{font-size:26px;margin-bottom:14px;}
.success-card p{color:var(--ink-soft);font-size:15px;max-width:48ch;margin:0 auto;}
.success-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px;}

@media print{
  .site-header, .nav-mobile, .page-banner, .site-footer, .success-actions, .lightbox{display:none !important;}
  body{background:#fff;}
}

/* ============================================================
   GALERIA COMPLETA (página dedicada)
   ============================================================ */
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-tab{
  font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
  padding:10px 20px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);
  transition:background var(--dur-in) var(--ease), color var(--dur-in) var(--ease), border-color var(--dur-in) var(--ease);
}
.filter-tab:hover{border-color:var(--navy-500);}
.filter-tab.active{background:var(--navy-900);color:var(--chalk);border-color:var(--navy-900);}

.gallery-cat-tag{display:block;font-family:var(--mono);font-size:10px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:0.06em;margin-top:3px;}

.empty-state{max-width:520px;margin:60px auto;text-align:center;color:var(--ink-soft);}
.empty-state svg{width:44px;height:44px;stroke:var(--ink-soft);opacity:0.5;margin:0 auto 18px;}
.empty-state h2{font-size:22px;color:var(--ink);margin-bottom:10px;}
.empty-state code{font-family:var(--mono);background:var(--chalk-dim);padding:2px 6px;font-size:12.5px;}
