/* =====================
   ROOT COLORS
===================== */
:root{
  --blue:#0b3c7d;
  --light-blue:#eaf2ff;
  --green:#1fa463;
  --light-green:#e8f7ef;
  --dark:#222;
}

/* =====================
   GLOBAL RESET
===================== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Segoe UI', Tahoma, sans-serif;
  background:#f4f7fb;
  color:var(--dark);
  line-height:1.6;
}

a{
  text-decoration:none;
}

/* =====================
   HEADER & NAVBAR
===================== */
header{
  background:linear-gradient(135deg,var(--blue),var(--green));
  color:#fff;
  padding:18px 30px;
  position:sticky;
  top:0;
  z-index:100;
}

header h1{
  margin:0;
  font-size:26px;
  letter-spacing:.5px;
}

nav{
  margin-top:10px;
}

nav a{
  color:#eaf2ff;
  margin-right:18px;
  font-weight:600;
  transition:.3s;
}

nav a:hover{
  color:#fff;
  border-bottom:2px solid #fff;
  padding-bottom:4px;
}

/* =====================
   HERO SECTION (HOME)
===================== */
.home-hero{
  background:
    linear-gradient(
      135deg,
      rgba(11,60,125,0.85),
      rgba(31,164,99,0.85)
    ),
    url('https://images.unsplash.com/photo-1524995997946-a1c2e315a42f');

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  padding:120px 30px;
  color:#fff;
  text-align:center;
}


.hero-content{
  max-width:900px;
  margin:auto;
}

.home-hero h2{
  font-size:44px;
  margin-bottom:15px;
  font-weight:700;
}

.home-hero p{
  font-size:20px;
  margin-bottom:35px;
  opacity:.95;
}

/* =====================
   HERO BUTTONS
===================== */
.hero-buttons{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.btn{
  padding:14px 34px;
  border-radius:30px;
  font-size:16px;
  font-weight:600;
  transition:.3s;
}

.btn.primary{
  background:#fff;
  color:var(--blue);
}

.btn.primary:hover{
  background:var(--light-green);
  transform:translateY(-3px);
}

.btn.secondary{
  background:transparent;
  color:#fff;
  border:2px solid #fff;
}

.btn.secondary:hover{
  background:#fff;
  color:var(--green);
}

/* =====================
   SECTION STYLE
===================== */
.section{
  max-width:1100px;
  margin:60px auto;
  padding:60px 30px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.section h3{
  font-size:30px;
  margin-bottom:20px;
  color:var(--blue);
  position:relative;
}

.section h3::after{
  content:'';
  width:60px;
  height:4px;
  background:var(--green);
  display:block;
  margin-top:8px;
  border-radius:2px;
}

.section p{
  font-size:18px;
}

/* =====================
   COURSES PAGE
===================== */
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:25px;
}

.card{
  background:#fff;
  border-radius:16px;
  padding:25px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  transition:.3s;
}

.card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.card h4{
  margin-top:0;
  font-size:22px;
  color:var(--blue);
}

/* =========================
   COURSE FLOATING CARDS
========================= */
.course-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:30px;
  margin-top:40px;
}

.course-card{
  background:#ffffff;
  border-radius:18px;
  padding:28px;
  box-shadow:0 12px 30px rgba(0,0,0,0.1);
  transition:all .35s ease;
  position:relative;
  overflow:hidden;
}

.course-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#0b3c7d,#1fa463);
}

.course-card:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 22px 45px rgba(0,0,0,0.18);
}

.course-card h4{
  color:#0b3c7d;
  font-size:20px;
  margin-bottom:12px;
}

.course-card p{
  font-size:15px;
  margin-bottom:6px;
}

.course-card .content{
  margin-top:12px;
  font-size:14px;
  color:#444;
  line-height:1.5;
}

/* =========================
   COURSE POPUP
========================= */
.popup-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.65);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.popup-box{
  background:#fff;
  padding:40px 30px;
  border-radius:18px;
  max-width:420px;
  width:90%;
  text-align:center;
  box-shadow:0 25px 60px rgba(0,0,0,0.25);
  animation:popupZoom .35s ease;
}

@keyframes popupZoom{
  from{transform:scale(0.8);opacity:0}
  to{transform:scale(1);opacity:1}
}

.popup-box h2{
  color:#0b3c7d;
  font-size:26px;
  margin-bottom:12px;
}

.popup-box p{
  font-size:16px;
  margin-bottom:25px;
  color:#444;
}

.popup-btn{
  display:inline-block;
  padding:14px 34px;
  background:linear-gradient(135deg,#0b3c7d,#1fa463);
  color:#fff;
  border-radius:30px;
  font-weight:600;
  transition:.3s;
}

.popup-btn:hover{
  transform:translateY(-3px);
  opacity:.95;
}

.close-popup{
  position:absolute;
  top:18px;
  right:22px;
  font-size:26px;
  cursor:pointer;
  color:#888;
}

.close-popup:hover{
  color:#000;
}

/* =====================
   ADMISSION FORM
===================== */
form{
  max-width:600px;
  background:#fff;
  padding:35px;
  border-radius:18px;
  box-shadow:0 15px 35px rgba(0,0,0,.1);
}

input, textarea, select{
  width:100%;
  padding:12px;
  margin-bottom:14px;
  border-radius:8px;
  border:1px solid #ccc;
  font-size:15px;
}

input:focus, textarea:focus, select:focus{
  outline:none;
  border-color:var(--green);
}

button{
  background:linear-gradient(135deg,var(--blue),var(--green));
  color:#fff;
  border:none;
  padding:12px 28px;
  border-radius:30px;
  font-size:16px;
  cursor:pointer;
  transition:.3s;
}

button:hover{
  transform:translateY(-2px);
  opacity:.95;
}

/* =====================
   CONTACT SECTION
===================== */
#contact{
  background:var(--light-green);
}

#contact p{
  font-size:18px;
  background:#fff;
  padding:16px 22px;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.07);
  margin-bottom:12px;
}

#contact a{
  color:var(--green);
  font-weight:600;
}

#contact a:hover{
  text-decoration:underline;
}

/* =====================
   FOOTER
===================== */
footer{
  background:var(--blue);
  color:#dbe8ff;
  text-align:center;
  padding:18px;
  font-size:14px;
  margin-top:60px;
}

/* =====================
   NOTICE SECTION
===================== */
.notice-section{
  background:var(--light-blue);
}

/* Notice Card */
.notice-card{
  background:#fff;
  padding:26px;
  border-radius:16px;
  margin-bottom:22px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  border-left:5px solid var(--green);
  transition:.3s;
}

.notice-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.12);
}

/* Important Notice */
.notice-card.important{
  border-left-color:#e53935;
  background:#fff7f7;
}

/* Meta Row */
.notice-meta{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

.notice-date{
  font-size:14px;
  font-weight:600;
  color:var(--green);
}

/* Important Tag */
.notice-tag{
  background:#e53935;
  color:#fff;
  font-size:12px;
  padding:4px 10px;
  border-radius:14px;
  font-weight:600;
}

/* Notice Title */
.notice-card h4{
  color:var(--blue);
  font-size:22px;
  margin-bottom:8px;
}

/* Notice Text */
.notice-card p{
  font-size:16px;
  color:#444;
  line-height:1.6;
}

/* Daybook Popup */
.popup-overlay{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.6);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.popup-box{
  background:#fff;
  padding:40px 30px;
  border-radius:18px;
  width:350px;
  text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  position:relative;
}

.popup-box h2{
  color:var(--blue);
  margin-bottom:10px;
}

.popup-box p{
  margin-bottom:25px;
  color:#555;
}

.popup-btn{
  display:block;
  padding:12px;
  margin:10px 0;
  background:linear-gradient(135deg,var(--blue),var(--green));
  color:#fff;
  border-radius:30px;
  font-weight:600;
  transition:.3s;
}

.popup-btn:hover{
  transform:translateY(-2px);
}

.close-popup{
  position:absolute;
  top:15px;
  right:18px;
  font-size:22px;
  cursor:pointer;
}

/* Payment Popup */
.popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.65);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.popup-box{
  background:#fff;
  padding:35px 30px;
  border-radius:18px;
  text-align:center;
  max-width:420px;
  width:90%;
  box-shadow:0 25px 60px rgba(0,0,0,.25);
}

.popup-box h2{
  color:var(--blue);
  margin-bottom:10px;
}

.popup-btn{
  display:block;
  margin:12px auto;
  padding:12px 28px;
  background:linear-gradient(135deg,var(--blue),var(--green));
  color:#fff;
  border-radius:25px;
  font-weight:600;
}

.close-popup{
  position:absolute;
  top:18px;
  right:22px;
  font-size:26px;
  cursor:pointer;
}

/* Admission Popup */
.popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.65);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}

.popup-box{
  background:#fff;
  padding:35px 30px;
  border-radius:18px;
  max-width:420px;
  width:90%;
  text-align:center;
  box-shadow:0 25px 60px rgba(0,0,0,.25);
  position:relative;
}

.popup-box h2{
  color:#0b3c7d;
  margin-bottom:10px;
}

.popup-btn{
  display:block;
  width:100%;
  margin:12px 0;
  padding:12px;
  border:none;
  border-radius:25px;
  background:linear-gradient(135deg,#0b3c7d,#1fa463);
  color:#fff;
  font-weight:600;
  cursor:pointer;
}

.close-popup{
  position:absolute;
  top:15px;
  right:20px;
  font-size:26px;
  cursor:pointer;
}

/* WHY CHOOSE GRID */
.why-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;
  margin-top:25px;
}

.why-card{
  background:#fff;
  padding:18px 20px;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  font-weight:600;
  color:#0b3c7d;
  text-align:center;
}

/* =====================
   RESPONSIVE
===================== */
@media(max-width:768px){
  header h1{font-size:22px}
  .home-hero h2{font-size:32px}
  .home-hero p{font-size:18px}
  .section{margin:40px 15px}
}

/* =====================================
   ENHANCED MOBILE OPTIMIZATION
===================================== */

@media (max-width:768px){

  /* Hero */
  .home-hero{
    padding:80px 20px;
  }

  .home-hero h2{
    font-size:28px;
    line-height:1.3;
  }

  .home-hero p{
    font-size:16px;
  }

  .hero-buttons{
    gap:12px;
  }

  .btn{
    padding:14px 22px;
    font-size:15px;
  }

  /* Sections */
  .section{
    margin:30px 12px;
    padding:35px 20px;
  }

  .section h3{
    font-size:22px;
  }

  .section p{
    font-size:15px;
  }

  /* Course Grid */
   .course-grid{
      grid-template-columns:1fr;
      gap:20px;
    }

    .course-card{
      padding:22px;
    }

    .course-card h4{
      font-size:18px;
    }

  .course-card{
    padding:22px;
  }

  .course-card h4{
    font-size:18px;
  }

  /* Notice */
  .notice-card{
    padding:20px;
  }

  .notice-card h4{
    font-size:18px;
  }

  .notice-card p{
    font-size:14px;
  }

  /* Forms */
  form{
    padding:25px 20px;
  }

  input, textarea, select{
    font-size:16px; /* Prevent iOS zoom */
  }

  button{
    width:100%;
    padding:14px;
  }

  /* Popup */
  .popup-box{
    width:92%;
    padding:25px 20px;
  }

  .popup-box h2{
    font-size:20px;
  }

  .popup-btn{
    font-size:14px;
  }

  /* Why Grid */
  .why-grid{
    grid-template-columns:1fr;
  }

  .why-card{
    font-size:15px;
  }

}

html {
  scroll-behavior:smooth;
}