/* Dr. Gagandeep Rotary Public School - shared stylesheet */
:root { --primary:#0b3d91; --accent:#f7b500; --dark:#0a1f44; }
body { font-family:'Poppins',sans-serif; color:#333; }
.text-accent { color:var(--accent)!important; }
.bg-primary-custom { background:var(--primary); }
.btn-accent { background:var(--accent); color:#000; font-weight:600; border:none; }
.btn-accent:hover { background:#e0a400; color:#000; }

/* Top bar */
.topbar { background:var(--dark); color:#fff; font-size:.9rem; }
.topbar marquee { vertical-align:middle; }
.topbar img { height:28px; width:auto; flex-shrink:0; }

/* Navbar */
.navbar { box-shadow:0 2px 10px rgba(0,0,0,.08); }
.navbar-brand img { height:70px; }
.navbar .nav-link { font-weight:500; color:var(--dark); padding:.8rem 1rem!important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color:var(--primary); }
.dropdown-menu { border:none; border-top:3px solid var(--accent); box-shadow:0 8px 20px rgba(0,0,0,.1); max-height:75vh; overflow-y:auto; }
.dropdown-item { font-size:.9rem; padding:.5rem 1.2rem; white-space:normal; }
.dropdown-item:hover { background:var(--primary); color:#fff; }
@media (min-width:992px){ .navbar .dropdown:hover>.dropdown-menu{ display:block; margin-top:0; } .dropdown-menu{min-width:300px;} }

/* Hero */
.hero { background:linear-gradient(rgba(10,31,68,.55),rgba(10,31,68,.55)), url('../images/WhatsApp-Image-2026-10-30-at-11.49.15-AM.jpeg') center/cover no-repeat; color:#fff; padding:110px 0; }
.hero h1 { font-weight:700; font-size:clamp(2rem,4vw,3.2rem); }
.hero img { max-height:420px; }

.section { padding:80px 0; }
.section-title { font-weight:700; color:var(--dark); position:relative; padding-bottom:12px; margin-bottom:20px; }
.section-title::after { content:''; position:absolute; left:0; bottom:0; width:70px; height:3px; background:var(--accent); }
.text-center .section-title::after { left:50%; transform:translateX(-50%); }

.about-img { border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.15); }

.facility-card { background:#fff; border-radius:12px; padding:30px 25px; height:100%; box-shadow:0 5px 20px rgba(0,0,0,.06); transition:.3s; border-bottom:3px solid transparent; }
.facility-card:hover { transform:translateY(-6px); border-bottom-color:var(--accent); }
.facility-card i { font-size:2.5rem; color:var(--primary); }

.mvp-card { background:var(--primary); color:#fff; border-radius:12px; padding:35px 28px; height:100%; }
.mvp-card h4 { color:var(--accent); font-weight:600; }
.mvp-card a { color:#fff; font-weight:600; text-decoration:none; }
.mvp-card a:hover { color:var(--accent); }

.highlight { background:#fff; border-radius:10px; padding:28px 15px; text-align:center; height:100%; box-shadow:0 4px 15px rgba(0,0,0,.06); }
.highlight i { font-size:2.3rem; color:var(--accent); }
.highlight h5 { margin-top:12px; font-weight:600; color:var(--dark); text-transform:uppercase; font-size:1rem; }

.gallery img { width:100%; height:220px; object-fit:cover; border-radius:10px; cursor:pointer; transition:.3s; }
.gallery img:hover { transform:scale(1.03); box-shadow:0 8px 20px rgba(0,0,0,.2); }

footer { background:var(--dark); color:#cfd6e4; }
footer h5 { color:#fff; font-weight:600; margin-bottom:18px; }
footer a { color:#cfd6e4; text-decoration:none; }
footer a:hover { color:var(--accent); }
footer .logo-footer { height:80px; background:#fff; padding:6px; border-radius:8px; }
.copyright { background:#061430; font-size:.9rem; }

.call-btn { position:fixed; bottom:22px; right:22px; z-index:999; border-radius:50px; padding:12px 22px; box-shadow:0 5px 15px rgba(0,0,0,.3); }

.page-banner { background:linear-gradient(rgba(10,31,68,.6),rgba(10,31,68,.6)), url('../images/WhatsApp-Image-2026-10-30-at-11.49.15-AM.jpeg') center/cover; color:#fff; padding:70px 0; }
.page-banner h1 { font-weight:700; }
.page-banner .breadcrumb a { color:var(--accent); text-decoration:none; }
.page-banner .breadcrumb-item.active, .page-banner .breadcrumb-item+.breadcrumb-item::before { color:#fff; }
.msg-photo { border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.15); width:100%; max-width:340px; }
.quote-box { border-left:4px solid var(--accent); background:#f8f9fb; padding:18px 22px; font-style:italic; border-radius:0 8px 8px 0; }
.value-card { background:#fff; border-radius:12px; padding:28px; height:100%; box-shadow:0 5px 20px rgba(0,0,0,.06); border-top:3px solid var(--accent); }
.value-card h4 { color:var(--primary); font-weight:600; font-size:1.2rem; }
.doc-table td, .doc-table th { vertical-align:middle; }
.todo { background:#fff8e1; border:1px dashed #f7b500; padding:14px 18px; border-radius:8px; font-size:.92rem; }
  

/* ================= Mobile & tablet ================= */
img { max-width:100%; height:auto; }
html, body { overflow-x:clip; }

@media (max-width:991.98px){
  .navbar-brand img { height:54px; }
  .navbar-collapse { max-height:80vh; overflow-y:auto; padding-bottom:10px; }
  .navbar .nav-link { padding:.6rem .5rem!important; border-bottom:1px solid #eee; }
  .dropdown-menu { box-shadow:none; border-top:none; border-left:3px solid var(--accent); max-height:none; }
  .dropdown-item { padding:.45rem 1rem; }
  .hero { padding:60px 0; text-align:center; }
  .hero img { max-height:300px; }
  .section { padding:55px 0; }
  .section-title::after { left:0; }
  .page-banner { padding:45px 0; }
}

@media (max-width:575.98px){
  body { font-size:15px; }
  .topbar { font-size:.8rem; }
  .topbar img { height:22px; }
  .hero h1 { font-size:1.7rem; }
  .hero .btn { display:block; width:100%; margin:0 0 10px!important; }
  .section { padding:42px 0; }
  .section-title { font-size:1.45rem; }
  .page-banner h1 { font-size:1.6rem; }
  .facility-card, .value-card, .mvp-card { padding:22px 18px; }
  .highlight { padding:20px 10px; }
  .highlight h5 { font-size:.82rem; }
  .gallery img { height:150px; }
  .msg-photo { max-width:240px; }
  .call-btn { padding:10px 16px; bottom:14px; right:14px; font-size:.9rem; }
  footer { text-align:center; }
  footer .logo-footer { margin:0 auto; display:block; }
  .doc-table { font-size:.85rem; }
}

/* Video cards */
.video-card { display:block; position:relative; border-radius:12px; overflow:hidden; background:#000; }
.video-card img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.video-card:hover img { transform:scale(1.04); }
.video-card .play-icon { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:68px; height:68px; border-radius:50%; background:rgba(220,38,38,.92); color:#fff; font-size:2.2rem; display:flex; align-items:center; justify-content:center; }
