/* Centralized stylesheet - move any additional styling here. Ready for minification. */

:root{
  --sw-red:#8a1212;
  --sw-green:#006400;
  --accent:#218838;
  --muted:#6c757d;
  --card-shadow: 0 8px 24px rgba(18,18,18,0.06);
}

*{box-sizing:border-box}

body{
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background:#f4f6f8;color:#222;margin:0;padding:0;
}

a{color:var(--sw-red);text-decoration:none}
a:hover{text-decoration:underline}

/* News ticker */
.news-strip{background:var(--sw-green);color:#fff;padding:8px 0;font-weight:700}
.ticker-label{margin-right:.75rem;font-weight:800}
.ticker{display:flex;gap:24px;overflow:hidden;white-space:nowrap;padding:6px 0;scroll-behavior:smooth}
.ticker-item{display:inline-block;color:#fff;margin-right:18px;opacity:.95;font-weight:600}
.ticker-item:hover{text-decoration:underline;opacity:1}

/* Portal links */
.portal-link{color:#fff;margin-left:1rem;font-weight:600}

/* Navbar */
.main-nav{background:var(--sw-red);box-shadow:0 4px 8px rgba(0,0,0,0.06)}
.brand-logo{height:54px;width:auto;background:#fff;border-radius:8px;padding:4px;object-fit:contain}
.brand-title{font-weight:800;color:#fff}
.brand-sub{color:var(--accent);font-size:.9rem;line-height:1}

/* Hero */
.hero { margin: 0 0 24px; position: relative; }
.hero-img{height:60vh;object-fit:cover;border-radius:8px;border:0;display:block;width:100%}
.carousel-caption{left:2rem;right:auto;bottom:2.5rem;text-align:left}
.carousel-caption h2{font-size:2rem;color:#fff;text-shadow:0 6px 18px rgba(0,0,0,.45)}

/* Sections */
.container { max-width:1100px; }
.section-heading{color:var(--sw-red);font-weight:800}

/* Cards and tables */
.card, .testimonial-card{border-radius:10px;box-shadow:var(--card-shadow);border:0;background:#fff}
.school-banner{width:100%;height:220px;object-fit:cover;border-radius:8px}
@media(max-width:767px){ .school-banner{height:140px} }

/* Buttons & badges */
.fee-link{background:#fff;color:var(--sw-red);padding:6px 10px;border-radius:6px;font-weight:700}
.btn-apply{background:var(--sw-green);color:#fff;padding:10px 16px;border-radius:6px}
.btn-primary{background:var(--sw-red);border-color:var(--sw-red)}
.btn-primary:hover{background:#6d0b0b;border-color:#6d0b0b}

/* Testimonials */
.testimonial-img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.testimonial-card{padding:14px;border-radius:10px;display:flex;gap:12px;align-items:flex-start}

/* Blog cards */
.card .card-img-top{height:160px;object-fit:cover;border-top-left-radius:10px;border-top-right-radius:10px}

/* Footer */
footer{background:var(--sw-red);color:#fff;padding:24px 0;text-align:center}
footer a{color:#fff}

/* Utilities */
.text-muted{color:var(--muted)}

/* Accessibility focus outlines */
a:focus, button:focus, input:focus { outline:3px solid rgba(33,136,56,0.18); outline-offset:2px; }

/* Make tables responsive for small screens */
.table-responsive { overflow-x:auto }

/* Ready for minification: keep spacing minimal when deploying */