
:root{
  --blue:#0a3cff;
  --soft:#eef3ff;
  --border:#dbe4ff;
  --text:#1f2a44;
  --muted:#6b7aa6;
}

*{
 	 margin:0;
 	 padding:0;
     box-sizing:border-box
    }

body{
  font-family:'Inter',sans-serif;
  background:#f7f9ff;
  color:var(--text);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
    .jamb-class{
        max-width: 1100px;
        margin: auto;
    }
    .subjects-container {
         max-width: 1100px;
        border: 2px solid var(--blue);
        margin: auto;
        background: white;
        padding: 30px;
        border-radius: 15px;
     
        box-shadow: 0 15px 40px rgba(0,0,0,0.2);
    }
    
    .subjects-container h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #1e3c72;
    }
	.subjects-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        
    }
    
   .subjects-grid ol {
        margin: 0;
        padding-left: 28px;
    }

    .subjects-grid li {
        padding: 6px 0;
        transition: 0.3s;
        color: #2a5298;
    
    }

    .subjects-grid li:hover {
        color: #2a5298;
        transform: translateX(5px);
    }

    /* Mobile */
    @media (max-width: 768px) {
        .subjects-grid {
            grid-template-columns: repeat(2, 1fr);
        }
         .subjects-grid li {
        padding: 4px 0;
       font-size: 13px;
    
    }
        .subjects-grid ol {
        margin: 0;
        padding-left: 15px;
    }
    }

/* HEADER */
.header{
  background:#fff;
  border-bottom:2px solid var(--blue);
  position:sticky;
  top:0;
  z-index:1000;
}

.header-inner{
  max-width:1440px;
  margin:auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:nowrap; /* prevent breaking */
}

/* BRAND */
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0; /* prevents overflow */
}


.whatsapp-btn {
    display: inline-block;
    padding: 15px 30px;
    font-size: 1.2rem;
    background: #25D366;
    color: white;
    text-decoration: none;
    border-radius: 50px;
    transition: 0.3s;
    animation: pulse 2s infinite;
}

.whatsapp-btn:hover {
    background: #1ebc59;
    transform: scale(1.1);
}

/* Animations */

@keyframes glow {
    from {
        text-shadow: 0 0 10px #fff;
    }
    to {
        text-shadow: 0 0 20px #ffeb3b, 0 0 30px #ffeb3b;
    }
}

@keyframes bounce {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(37,211,102,0.7); }
    70% { box-shadow: 0 0 0 20px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

@keyframes fadeSlide {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.jamb-class {
    background: linear-gradient(135deg, #0d47a1, #1976d2);
    padding: 60px 20px;
    color: white;
    text-align: center;
    overflow: hidden;
    border-radius:13px;
}



.jamb-title {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 20px;
    animation: glow 2s infinite alternate;
}

.jamb-description {
    font-size: 1.1rem;
    margin-bottom: 25px;
    line-height: 1.6;
}

.price-tag {
    font-size: 2rem;
    font-weight: bold;
    background: #ffcc00;
    color: black;
    padding: 10px 25px;
    display: inline-block;
    border-radius: 10px;
    margin-bottom: 20px;
    animation: bounce 1.5s infinite;
}

.jamb-benefits {
    margin-bottom: 30px;
    font-size: 1.1rem;
}
/* MOBILE HAMBURGER */
.menu-btn{
  display:none;
  background:none;
  border:none;
  font-size:22px;
  color:var(--blue);
  cursor:pointer;
}

.logo{
  width:42px;
  height:42px;
  color:#fff;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
  .logo img{
  width:40px;
  height:40px;
  flex-shrink:0;
}

.brand-text{
  font-size:1rem;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand-text span{color:var(--blue)}

.header-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}


.search{
  display:flex;
  align-items:center;
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:40px;
  padding:4px 6px 4px 12px;
  max-width:220px;
  width:100%;
}

.search input{
  border:none;
  background:none;
  outline:none;
  width:100%;
  min-width:0;
  font-size:14px;
}

.search button{
  background:var(--blue);
  border:none;
  color:#fff;
  padding:6px 12px;
  border-radius:30px;
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
}

/* ===== ROTATING NOTICE ===== */

.notice-bar{
  background:#fff;
  border:1px solid var(--border);
  border-left:4px solid var(--blue);
  border-radius:16px;
  padding:18px 20px;
  margin-bottom:25px;
  box-shadow:0 8px 25px rgba(10,60,255,0.06);
  overflow:hidden;
}

.notice-wrapper{
  position:relative;
  height:auto;
  min-height:28px;
  display:flex;
  align-items:center;
}

.notice-text{
  position:relative;
  width:100%;
  font-weight:600;
  color:var(--text);
  transition:transform 0.8s ease, opacity 0.6s ease;
  white-space:normal;
  line-height:1.5;
}

/* Animation states */
.notice-enter{
  transform:translateX(-100%);
  opacity:0;
}

.notice-active{
  transform:translateX(0);
  opacity:1;
}

.notice-exit{
  transform:translateX(100%);
  opacity:0;
}

/* Responsive */
@media(max-width:768px){
  .notice-text{
    font-size:14px;
  }
}

@media(max-width:480px){
  .notice-text{
    font-size:13px;
  }
}


.whatsapp{
  width:42px;
  height:42px;
  background:#25D366;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

/* LAYOUT */
.app{
  flex:1;
  display:flex;
  justify-content:center;   /* centers horizontally */
  padding:24px;
}
    /* ============================= */
/*   TELEGRAM PROMO - LIGHT UI  */
/* ============================= */

.promo-container{
  max-width:1100px;
  margin:30px auto;
  padding:40px 30px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:0 15px 40px rgba(10,60,255,0.08);
  text-align:center;
  position:relative;
  overflow:hidden;
  animation:fadeSlide 0.8s ease;
}

/* Top Accent Bar */
.promo-container::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,var(--blue),#4f46e5,#7c3aed);
}

/* Badge */
.promo-badge{
  display:inline-block;
  background:var(--soft);
  color:var(--blue);
  border:1px solid var(--border);
  padding:8px 18px;
  font-size:13px;
  border-radius:40px;
  margin-bottom:18px;
  font-weight:600;
}

/* Title */
.promo-container h2{
  font-size:30px;
  font-weight:700;
  margin-bottom:15px;
  color:var(--text);
}
#noticeText {
  font-weight: 600;
  background: linear-gradient(270deg, #0a3cff, #7c3aed, #0a3cff); /* Blue → Purple → Blue */
  background-size: 600% 600%; /* This allows smooth animation across gradient */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientAnimation 6s ease infinite;
  transition: opacity 0.3s ease;
}

/* Animate the gradient movement */
@keyframes gradientAnimation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/* Description */
.promo-container p{
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:25px;
}

/* Stats */
.promo-stats{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
  margin-bottom:30px;
  font-size:14px;
  font-weight:500;
  color:var(--text);
}

/* Telegram Button */
.telegram-btn{
  display:inline-block;
  padding:14px 36px;
  background:var(--blue);
  color:#fff;
  font-weight:600;
  border-radius:40px;
  text-decoration:none;
  font-size:16px;
  transition:all 0.3s ease;
  box-shadow:0 10px 25px rgba(10,60,255,0.25);
}

.telegram-btn:hover{
  background:#0630cc;
  transform:translateY(-3px);
  box-shadow:0 18px 35px rgba(10,60,255,0.35);
}

/* ============================= */
/*        RESPONSIVE AREA        */
/* ============================= */

/* Large Tablets */
@media(max-width:1024px){
  .promo-container{
    padding:35px 25px;
  }

  .promo-container h2{
    font-size:26px;
  }
}

.notice-top i{
  color:var(--blue);
  font-size:19px;
}

/* Tablets */
@media(max-width:768px){

  .promo-container{
    padding:28px 20px;
    margin:20px 0;
  }

  .promo-container h2{
    font-size:22px;
  }
    .notice-top i{
  color:var(--blue);
  font-size:15px;
}
  .brand-text{
  font-size:0.9rem;
  font-weight:700;
}
  .promo-container p{
    font-size:14px;
  }

  .promo-stats{
    gap:12px;
    font-size:13px;
  }

  .telegram-btn{
    padding:12px 28px;
    font-size:15px;
  }
}

/* Mobile */
@media(max-width:600px){

  .promo-container{
    padding:24px 16px;
    border-radius:16px;
  }
   .notice-top i{
  color:var(--blue);
  font-size:14px;
}
  .promo-stats{
    flex-direction:column;
    gap:8px;
  }

  .telegram-btn{
    width:100%;
    text-align:center;
    font-size:14px;
  }
}
.brand-text{
  font-size:0.9rem;
  font-weight:700;
}

/* Very Small Phones */
@media(max-width:380px){

  .promo-container h2{
    font-size:18px;
  }
.brand-text{
  font-size:0.9rem;
  font-weight:700;
}
    .notice-top i{
  color:var(--blue);
  font-size:12px;
}
  .promo-badge{
    font-size:11px;
    padding:6px 12px;
  }
}
    
    /* ===== CHANNEL SECTION ===== */

.channel-section{
  display:grid;
  gap:18px;
  margin:40px 0;
}

.channel-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--border);
  text-decoration:none;
  font-weight:600;
  color:var(--text);
  transition:all .35s ease;
  position:relative;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.channel-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  transition:0.4s;
}

.channel-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(0,0,0,0.08);
}

.channel-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  color:#fff;
}

/* WhatsApp */
.whatsapp-icon{
  background:#25D366;
}
.whatsapp-card::before{
  background:#25D366;
}

/* Telegram */
.telegram-icon{
  background:#0088cc;
}
.telegram-card::before{
  background:#0088cc;
}

.channel-text{
  font-size:16px;
}




.notice-top i{
  color:var(--blue);
  font-size:18px;
}







.sidebar{
  display:none;
  width:260px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:20px;
  height: 100%;
  padding:20px;
}

.nav{list-style:none}
.nav a{
  display:block;
  padding:10px;
  text-decoration:none;
  color:var(--text);
  border-radius:10px;
}
.nav a:hover{background:var(--soft)}

/* ===== COLORFUL 2x2 QUICK NAV ===== */

.quick-nav{

  max-width:400px;

  margin:25px auto;

  display:grid;

  grid-template-columns: repeat(2, 1fr); /* 2 per row */

  gap:14px;

}

/* Base button style */

.quick-link{

  display:flex;

  align-items:center;

  gap:20px;

  padding:12px 16px;

  font-size:14px;

  font-weight:600;
    
  text-decoration:none;

  border-radius:10px;

  transition:all 0.3s ease;

  color:#fff;

  box-shadow:0 6px 18px rgba(0,0,0,0.08);

}

/* HOME - Blue */

.quick-link.home{

  background:linear-gradient(135deg,#0a3cff,#4f46e5);

}

/* CONTACT - Green */

.quick-link.contact{

  background:linear-gradient(135deg,#16a34a,#22c55e);

}

/* ADMIN - Purple */

.quick-link.admin{

  background:linear-gradient(135deg,#7c3aed,#a855f7);

}

/* SUPPORT - Orange */

.quick-link.support{

  background:linear-gradient(135deg,#f97316,#fb923c);

}

.quick-link i{

  font-size:14px;

}

/* Hover effect */

.quick-link:hover{

  transform:translateY(-4px);

  box-shadow:0 12px 28px rgba(0,0,0,0.15);

}

/* Mobile */

@media(max-width:600px){

  .quick-link{

    font-size:13px;

    padding:10px 12px;

  }

}

/* MOBILE SIDEBAR */
.mobile-menu{
  position:fixed;
  top:0;
  left:-260px;
  width:260px;
  height:100%;
  background:#fff;
  border-right:2px solid var(--blue);
  padding:20px;
  transition:0.3s;
  z-index:2000;
}

.mobile-menu.open{
  left:0;
}

.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.4);
  display:none;
  z-index:1500;
}

.overlay.show{
  display:block;
}




/* QUESTIONS */
.question-block{
  margin-bottom:20px;
  padding:14px;
  background:var(--soft);
  border-radius:12px;
  border:1px solid var(--border);
}
.question-block {
  overflow: hidden;
}
/* Make questions & answers use same font as site */
.question-block,
.question-block p,
.question-block strong {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
}

.question-block p {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* ================= IMAGE STYLE ================= */

.ans-image{
  width:100%;
  max-width:250px;
  height:auto;
  border:2px solid var(--blue);
  border-radius:14px;
  cursor:pointer;
  transition:0.3s ease;
  display:block;
  margin-top:15px;
}

.ans-image:hover{
  transform:scale(1.02);
  box-shadow:0 10px 25px rgba(10,60,255,0.25);
}

/* ================= MODAL ================= */

.image-modal{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.85);
  justify-content:center;
  align-items:center;
  z-index:5000;
  padding:20px;
}

.modal-box{
  background:#fff;
  padding:20px;
  border-radius:16px;
  max-width:900px;
  width:100%;
  text-align:center;
  position:relative;
}

.modal-box img{
  width:100%;
  max-height:75vh;
  object-fit:contain;
  border-radius:12px;
}

.close-btn{
  position:absolute;
  top:12px;
  right:15px;
  font-size:22px;
  font-weight:bold;
  cursor:pointer;
  color:#000;
}

.download-btn{
  display:inline-block;
  margin-top:15px;
  padding:12px 26px;
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  border-radius:10px;
  font-weight:600;
  transition:0.3s;
}

.download-btn:hover{
  background:#0630cc;
}
  
/* FOOTER */
.footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:20px;
  text-align:center;
}

/* SHOW HAMBURGER ON MOBILE */
@media(max-width:900px){
  .sidebar{display:none}
  .menu-btn{display:block}
}
    /* ===== MOBILE MARGIN FIX ===== */
@media(max-width:768px){

  .app{
    padding:12px;
    gap:12px;
  }

  .main{
    padding:0px;
    border-radius:16px;
  }

  .question-block{
    padding:10px;
    margin-bottom:14px;
  }

  /* Blog container fix */
  .main > div[style]{
    margin:20px auto !important;
    padding:18px !important;
    border-radius:10px !important;
  }

  /* Reduce large headings */
  .main h2{
    font-size:20px !important;
  }

  .main h3{
    font-size:18px !important;
  }

}
