/* All styles scoped under .snu-app so they only affect this page's content */
.snu-app {
  --snu-primary:#003366; --snu-secondary:#005BAC; --snu-accent:#F5A623;
  --snu-bg-light:#F8F9FA; --snu-card-bg:#FFFFFF; --snu-text:#2B2D42; --snu-text-muted:#6C757D;
  --glass-bg:rgba(255,255,255,0.85); --glass-border:rgba(255,255,255,0.2);
  --shadow-sm:0 2px 4px rgba(0,0,0,0.05); --shadow-md:0 10px 20px rgba(0,0,0,0.08);
  --transition:all 0.3s ease;
  font-family:'Cairo',sans-serif; background-color:var(--snu-bg-light); color:var(--snu-text);
  transition:var(--transition); overflow-x:hidden; display:block;
}
.snu-app[data-theme="dark"] {
  --snu-primary:#0A192F; --snu-secondary:#172A45; --snu-accent:#F5A623;
  --snu-bg-light:#0B132B; --snu-card-bg:#1C2541; --snu-text:#E2E8F0; --snu-text-muted:#94A3B8;
  --glass-bg:rgba(28,37,65,0.85); --glass-border:rgba(255,255,255,0.05);
}
.snu-app .text-primary-custom { color:var(--snu-primary); }
.snu-app[data-theme="dark"] .text-primary-custom { color:var(--snu-text); }
.snu-app .bg-primary-custom { background-color:var(--snu-primary); }
.snu-app .btn-accent { background-color:var(--snu-accent); color:#fff; font-weight:600; }
.snu-app .btn-accent:hover { background-color:#d98e16; color:#fff; }
.snu-app .dark-mode-toggle {
  position:fixed; bottom:30px; left:30px; right:auto; z-index:1050;
  width:50px; height:50px; border-radius:50%; background:var(--snu-accent); color:#fff;
  border:none; box-shadow:var(--shadow-md); cursor:pointer; display:flex;
  align-items:center; justify-content:center; font-size:1.2rem; transition:var(--transition);
}
.snu-app .dark-mode-toggle:hover { transform:scale(1.1); }
.snu-app .glass-card {
  background:var(--glass-bg); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);
}
.snu-app .hero-section {
  background:linear-gradient(135deg, rgba(0,51,102,0.92), rgba(0,91,172,0.88)),
             url('https://images.unsplash.com/photo-1541339907198-e08756dedf3f?auto=format&fit=crop&w=1920&q=80');
  background-size:cover; background-position:center; padding:160px 0 120px 0; color:#fff;
  clip-path:polygon(0 0, 100% 0, 100% 95%, 0% 100%);
}
.snu-app .custom-card {
  background-color:var(--snu-card-bg); border:none; border-radius:12px; box-shadow:var(--shadow-sm);
  transition:var(--transition); overflow:hidden; height:100%; display:flex; flex-direction:column;
  color:var(--snu-text);
}
.snu-app .custom-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.snu-app .card-img-container { position:relative; overflow:hidden; background-color:#eaeaea; padding-top:130%; }
.snu-app .card-img-container img {
  position:absolute; top:0; right:0; width:100%; height:100%; object-fit:cover; transition:var(--transition);
}
.snu-app .custom-card:hover .card-img-container img { transform:scale(1.05); }
.snu-app .skeleton {
  background:linear-gradient(90deg, var(--snu-bg-light) 25%, var(--snu-card-bg) 50%, var(--snu-bg-light) 75%);
  background-size:200% 100%; animation:snu-loading-skeleton 1.5s infinite;
}
@keyframes snu-loading-skeleton { 0%{background-position:200% 0;} 100%{background-position:-200% 0;} }
.snu-app .stats-section { background:var(--snu-primary); color:#fff; padding:60px 0; }
.snu-app .carousel-indicators [data-bs-target] { background-color:var(--snu-accent); }
.snu-app #pdfPreviewFrame { width:100%; height:100%; border:0; }

/* ---- Override theme defaults so the original look is preserved ---- */
/* Header (hero) text must be white — themes set a dark heading color that beats inherited white */
.snu-app .hero-section,
.snu-app .hero-section h1,
.snu-app .hero-section h2,
.snu-app .hero-section h3,
.snu-app .hero-section p,
.snu-app .hero-section .lead,
.snu-app .hero-section span:not(.badge):not(.text-warning),
.snu-app .hero-section a:not(.btn) { color:#fff !important; }
.snu-app .hero-section .text-warning { color:#ffc107 !important; }      /* keep the gold accent word */
.snu-app .hero-section .badge.text-dark { color:#212529 !important; }   /* dark text inside the badge */
.snu-app .hero-section .btn-outline-light { color:#f8f9fa !important; } /* light outline button */
.snu-app .stats-section,
.snu-app .stats-section h3,
.snu-app .stats-section p { color:#fff !important; }                    /* white stats numbers/labels */
.snu-app #contact .bg-primary-custom,
.snu-app #contact .bg-primary-custom h3,
.snu-app #contact .bg-primary-custom p { color:#fff !important; }       /* white CTA text */

/* Keep the Cairo font on headings/text (themes override heading fonts). Icons (<i>) untouched. */
.snu-app h1, .snu-app h2, .snu-app h3, .snu-app h4, .snu-app h5, .snu-app h6,
.snu-app p, .snu-app a, .snu-app button, .snu-app .btn,
.snu-app input, .snu-app select, .snu-app .badge {
  font-family:'Cairo', sans-serif;
}

/* Full-bleed: break out of the theme's content column to span the whole site width */
.snu-app {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
