/* ==== Soft Perfect Computer Academy brand theme ====
   Colors sampled from the official spca.co.in template
   (templatemo-space-dynamic.css) and the SPCA logo. */
:root {
  --spca-navy: #0b1f4d;       /* from logo */
  --spca-navy-dark: #071230;
  --spca-blue: #03a4ed;       /* site's brand blue */
  --spca-red: #fe3f40;        /* site's accent/CTA color */
  --spca-red-dark: #e12b2c;
  --spca-gray-bg: #f4f6f9;
}

html, body { height: 100%; }

body {
  background: var(--spca-gray-bg);
  font-family: 'Poppins', 'Segoe UI', Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Normal, non-bold heading sizes for the web pages (certificate print output is unaffected) */
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}
h1 { font-size: 1.6rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.15rem; }
h5 { font-size: 1.05rem; }
h6 { font-size: 0.95rem; }

label, .form-label { font-weight: 400; }
.btn { font-weight: 400; }
.table { font-size: 0.92rem; }

/* Push footer to the bottom of the viewport even on short pages */
.page-content {
  flex: 1 0 auto;
}
.spca-footer {
  flex-shrink: 0;
}

/* Navbar */
.navbar.spca-navbar { background: var(--spca-navy) !important; border-bottom: 3px solid var(--spca-blue); }
.navbar.spca-navbar .navbar-brand { font-weight:500; font-size:1.1rem; letter-spacing:.2px; display:flex; align-items:center; }
.navbar.spca-navbar .navbar-brand img { height:36px; margin-right:10px; }
.navbar.spca-navbar .navbar-brand span { color: var(--spca-blue); font-style:italic; font-weight:400; }
.navbar.spca-navbar .nav-link { color:#e8edf5 !important; font-weight:400; }
.navbar.spca-navbar .nav-link:hover,
.navbar.spca-navbar .nav-link.active { color: var(--spca-blue) !important; }
.navbar.spca-navbar .btn-outline-light:hover { background: var(--spca-red); border-color: var(--spca-red); }

/* Buttons */
.btn-primary { background: var(--spca-red); border-color: var(--spca-red); }
.btn-primary:hover { background: var(--spca-red-dark); border-color: var(--spca-red-dark); }
.btn-outline-primary { color: var(--spca-navy); border-color: var(--spca-navy); }
.btn-outline-primary:hover { background: var(--spca-navy); border-color: var(--spca-navy); }
.btn-success { background:#1f9c5a; border-color:#1f9c5a; }
.btn-outline-success { color:#1f9c5a; border-color:#1f9c5a; }

/* Cards */
.card { border:none; border-radius:10px; box-shadow:0 2px 10px rgba(11,31,77,.08); }
.card h6, .card h4, .card h5 { color: var(--spca-navy); font-weight:500; }

/* Login / hero styling */
.spca-hero { background: linear-gradient(135deg, var(--spca-navy) 0%, var(--spca-navy-dark) 100%); color:#fff; }
.spca-hero .accent { color: var(--spca-blue); font-style:italic; }
.spca-hero .logo-badge { width:110px; margin-bottom:10px; }
.spca-login-card { border-top:4px solid var(--spca-blue); }
#loginTabs .nav-link { color: var(--spca-navy); font-weight:500; }
#loginTabs .nav-link.active { background: var(--spca-red); color:#fff; }

/* Footer */
.spca-footer { background: var(--spca-navy-dark); color:#cfd8e6; padding:18px 0; margin-top:40px; font-size:.92rem; }
.spca-footer a { color: var(--spca-blue); }

.badge.bg-warning { color:#5c3d00; }

@media print {
  .no-print { display:none !important; }
  body { background:#fff; display:block; }
}

/* Certificate print overlay (base defaults; print_template.php sets its own inline sizes/colors) */
.cert-overlay { position:relative; width:794px; height:1123px; margin:0 auto; background:#fff; }
.cert-field { position:absolute; font-family:'Times New Roman', serif; font-size:16px; color:#5c1a00; white-space:nowrap; }
.cert-field-strong {
  position:absolute;
  font-family:'Times New Roman', serif;
  font-size:22px;
  font-weight:700;
  color:#3d0f00;
  white-space:nowrap;
}
