/* ==============================
   Info Hero
============================== */
.info-hero {
  background: linear-gradient(to bottom, #f9fbff, #ffffff);
  padding: clamp(64px, 10vw, 120px) 1rem 56px;
  text-align: center;
}
.info-hero_content h1 {
  color:#1e2d64;
  font-weight:800;
  font-size:clamp(2rem, 3.8vw, 4rem);
  margin:10px 0 14px;
  letter-spacing:0.2px;
}
.info-hero_content p {
  color:#3f4b63;
  font-size:clamp(1.05rem, 1.3vw, 1.45rem);
  line-height:1.75;
  max-width:980px;
  margin:0 auto;
  padding:0 0.5rem;
}
@media (max-width:480px){
  .info-hero { padding:56px 1rem 44px; }
  .info-hero_content h1 { font-size:1.9rem; }
  .info-hero_content p { font-size:1rem; }
}

/* ==============================
   Tabs (anchors)
============================== */
.info-tabs { background:#f9f9f9; padding:1.25rem; }
.tabs-container {
  display:flex; justify-content:center; gap:.9rem;
  background:#f5f5f5; border-radius:14px; padding:.75rem;
  max-width: none;
   margin:0 auto;
  box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.tabs-container .tab {
  display:inline-block;
  text-decoration:none;
  cursor:pointer;
  padding:.9rem 1.3rem;
  border-radius:10px;
  font-weight:700;
  font-size:1.02rem;
  color:#475569;
  transition:background .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}
.tabs-container .tab:hover { background:#fff; color:#c42e2e; }
.tabs-container .tab.active {
  background:#fff; color:#c42e2e;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* ==============================
   Content wrapper
============================== */
.content_wrap { max-width: none; padding-left: 1rem; padding-right: 1rem; }


/* ==============================
   Academics hero band
============================== */
.acad_hero{
  background: linear-gradient(180deg, #243b93 0%, #2b48c7 100%);
  padding: 56px 18px;
  border-radius: 14px;
  color:#fff;
  margin-bottom: 28px;
}
.acad_hero_inner{ max-width: 1100px; margin: 0 auto; text-align:center; }
.acad_hero_title{
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 800;
  letter-spacing: .3px;
}
.acad_hero_title span{
  background: linear-gradient(90deg,#ffb199 0%, #ff6f91 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.acad_hero_sub{
  margin-top: 10px;
  opacity: .95;
  font-size: clamp(.95rem, 1.8vw, 1.05rem);
}

/* ==============================
   Core Curriculum
============================== */
.acad_core{ padding: 14px 6px 0; }
.acad_core_head{
  max-width: 900px; margin: 0 auto 18px; text-align:center;
}
.acad_core_badge{
  width: 44px; height: 44px; margin: 0 auto 8px;
  display:grid; place-items:center;
  border-radius: 999px;
  background: #eef2ff;
  color: #2b48c7;
  border:1px solid #e5e7ff;
}
.acad_core_head h2{
  font-size: clamp(1.6rem, 3.5vw, 2rem);
  color:#1e2d64; font-weight: 800; margin: 2px 0 6px;
}
.acad_core_head p{ color:#47507a; line-height:1.6; }

.acad_core_grid{
  margin: 18px auto 6px;
  display:grid; gap:14px;
  grid-template-columns: repeat(3, 1fr);
}
.acad_core_grid,
.hifz,
.islamic_grid { max-width: none !important; }
@media (max-width: 980px){ .acad_core_grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 620px){ .acad_core_grid{ grid-template-columns: 1fr; } }

.acad_card {
  background: #fff;
  border: 1px solid #e9e9f4;
  border-radius: 12px;
  padding: 18px 16px;
  box-shadow: 0 2px 12px rgba(10, 22, 70, .04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  min-height: 148px;
  text-align: center;
}
.acad_card_icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff0f0;
  color: #c42e2e;
  border: 1px solid #ffe1e1;
  font-size: 1.05rem;
}
.acad_card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(10,22,70,.10);
  border-color:#dfe3ff;
}
.acad_card h3{
  font-size: 1.05rem; color:#1f2a68; margin: 2px 0 6px; font-weight: 800;
}
.acad_card p{
  color:#536089; font-size:.92rem; line-height:1.5;
}

/* ==============================
   Enhanced Learning
============================== */
.acad_enhanced {
  max-width: 1000px;
  margin: 32px auto;
  background: linear-gradient(180deg, #f8faff 0%, #fff7f7 100%);
  border: 1px solid #e1e7ff;
  border-radius: 14px;
  padding: 32px 20px;
  text-align: center;
}
.acad_enhanced h3 {
  font-size: 1.3rem;
  color: #1f2a68;
  font-weight: 800;
  margin-bottom: 12px;
}
.acad_enhanced p {
  color: #46507a;
  margin: 0 auto 18px;
  max-width: 760px;
  line-height: 1.6;
}
.acad_chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.acad_chips .chip {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.88rem;
  font-weight: 600;
  background: #fff;
  border: 1px solid currentColor;
  transition: all 0.2s ease;
}
.acad_chips .chip:nth-child(1) { color: #2b48c7; }
.acad_chips .chip:nth-child(2) { color: #268c46; }
.acad_chips .chip:nth-child(3) { color: #6b3ec7; }
.acad_chips .chip:nth-child(4) { color: #c73e3e; }

/* ==============================
   Dual Credit
============================== */
.dual_credit {
  background: #f9fcff;
  border: 3.5px solid #d9f0e1;
  border-radius: 16px;
  padding: 0 28px 40px;
  margin: 60px auto;
  max-width: 1050px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
  overflow: hidden;
}
.dual_credit_header {
  background: linear-gradient(135deg,#eefdf0,#eaf4ff);
  padding: 40px 20px 50px;
  text-align: center;
  margin: -1px -28px 40px;
}
.dual_credit_badge {
  width: 60px; height: 60px;
  margin: 0 auto 12px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #e9fdee;
  border: 3px solid #c6f2d3;
  color: #26a345;
  font-size: 1.5rem;
}
.dual_credit_title {
  font-size: 1.9rem;
  font-weight: 800;
  color: #1e2d64;
  margin-bottom: 6px;
}
.dual_credit_subtitle { color: #444; }
.dual_credit_content {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  text-align: left;
}
.dual_credit_text { flex: 1 1 60%; }
.dual_credit_text h3 {
  color: #1e2d64;
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.dual_credit_text p {
  margin-bottom: 18px;
  color: #333;
  line-height: 1.55;
}
.dual_credit_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dual_credit_list li {
  margin-bottom: 10px;
  font-size: 0.95rem;
  color: #333;
}
.dual_credit_list i { color: #26a345; margin-right: 8px; }
.dual_credit_box {
  flex: 0 1 220px;
  background: linear-gradient(135deg,#eefdf0,#eaf4ff);
  border-radius: 15px;
  padding: 20px 16px;
  text-align: center;
}
.dual_credit_box h4 {
  font-size: 1.6rem;
  font-weight: 800;
  color: #26a345;
  margin-bottom: 4px;
}
.dual_credit_box p { font-size: 0.95rem; color: #1e2d64; }
@media(max-width:768px){
  .dual_credit_content { flex-direction: column; align-items: center; }
  .dual_credit_box { margin-top: 20px; }
}

/* ==============================
   Hifz
============================== */
.hifz{
  max-width: 1100px;
  margin: 56px auto;
  padding: 0 20px;
}
.hifz_header{
  text-align: center;
  margin-bottom: 26px;
}
.hifz_badge{
  width: 56px; height: 56px;
  display:grid; place-items:center;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: #e9f6eb;
  border: 1px solid #cceacc;
  color: #25a153;
  font-size: 1.25rem;
}
.hifz_header h2{
  font-weight: 900;
  color:#1e2d64;
  font-size: clamp(1.6rem, 2.6vw, 2.1rem);
  margin-bottom: 6px;
}
.hifz_header p{
  color:#344054;
  max-width: 850px;
  margin: 0 auto;
  line-height: 1.6;
}
.hifz_grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.hifz_card{
  background:#fff;
  border-radius: 12px;
  padding: 18px 18px 20px;
  border: 1px solid #e6eef7;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.hifz_card_green{ border-color:#cfead6; box-shadow: 0 8px 18px rgba(37,161,83,.06); }
.hifz_card_blue { border-color:#cfd9ff; box-shadow: 0 8px 18px rgba(43,72,199,.06); }
.hifz_card_head{
  display:flex; align-items:center; gap:10px;
  margin-bottom: 14px;
}
.hifz_card_head i{ font-size: 1.25rem; color:#2b48c7; }
.hifz_card_green .hifz_card_head i{ color:#25a153; }
.hifz_card_head h3{
  color:#1e2d64;
  font-size: 1.25rem;
  font-weight: 800;
}
.hifz_list{
  list-style:none; margin:0; padding:6px 2px 0;
  display:grid; gap:14px;
}
.hifz_list li{
  display:grid;
  grid-template-columns: 22px 1fr;
  gap:12px; align-items:start;
}
.hifz_list li i{ color:#25a153; margin-top: 2px; }
.hifz_list h4{ font-weight: 700; color:#1e2d64; margin-bottom: 2px; }
.hifz_list p{ color:#475569; font-size:.95rem; }
.hifz_steps{ display:grid; gap:14px; margin-top: 6px; }
.hifz_step{
  display:flex; gap:14px; align-items:center;
  background:#f6f8ff;
  border:1px solid #e3e8ff;
  border-radius: 12px;
  padding: 14px 16px;
}
.hifz_card_blue .hifz_step{ background:#f6f8ff; border-color:#e1e7ff; }
.step_dot{
  width: 34px; height: 34px; border-radius: 999px;
  display:grid; place-items:center;
  background:#2b48c7; color:#fff; font-weight:800;
}
.step_body h4{ color:#1e2d64; margin-bottom:2px; }
.step_body p { color:#475569; font-size:.95rem; }
@media (max-width: 860px){
  .hifz_grid{ grid-template-columns: 1fr; }
}

/* ==============================
   Islamic History & Culture
============================== */
.islamic {
  --ring: rgba(255,255,255,.22);
  --muted: #cfd7ff;
  --pill-bg: rgba(255,255,255,.06);
  --pill-ring: rgba(255,255,255,.14);
  background: radial-gradient(1200px 400px at 50% -40%, #3c4fad 0%, #2e4192 55%, #26397f 100%);
  color: #e9efff;
  padding: 64px 20px 72px;
  position: relative;
  overflow: hidden;
  width: 100%;
}
.islamic_head{
  text-align:center;
  max-width: 820px;
  margin: 0 auto 28px;
}
.islamic_badge {
  width: 56px; height: 56px;
  display: grid; place-items: center;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: #ffe1e1;
  color: #e3342f;
  border: 1px solid rgba(0,0,0,.05);
  font-size: 1.25rem;
}
.islamic_head h2 {
  font-weight: 900;
  letter-spacing: .2px;
  font-size: clamp(1.7rem, 3.4vw, 2.4rem);
  color: #ffffff;
  margin-bottom: 8px;
}
.islamic_head p { color: #e3e9ff; line-height: 1.6; }
.islamic_grid{
  max-width: 1100px;
  margin: 16px auto 0;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.islamic_card{
  background: rgba(255,255,255,.06);
  border: 1px solid var(--ring);
  border-radius: 14px;
  padding: 18px;
  backdrop-filter: blur(2px);
}
.islamic_card_title{
  display:flex; align-items:center; gap:10px;
  margin-bottom: 14px;
}
.islamic_card_title i{ color:#ffd5d5; }
.islamic_card_title h3{
  font-weight: 800; color:#ffffff; font-size:1.2rem;
}
.islamic_pills{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 14px;
}
.pill{
  display:flex; align-items:center; gap:10px;
  padding: 12px 14px;
  border-radius:10px;
  background: var(--pill-bg);
  border:1px solid var(--pill-ring);
  color:#e9efff;
  text-decoration:none; font-weight:600;
}
.pill i{ color:#f2a7a0; }
.pill:hover{ background: rgba(255,255,255,.12); }
.islamic_points{ display:grid; gap:16px; }
.point h4{ color:#ffffff; font-weight:800; margin-bottom:6px; }
.point p { color:#d9e2ff; line-height:1.55; }
@media (max-width: 900px){
  .islamic_grid{ grid-template-columns: 1fr; }
  .islamic_pills{ grid-template-columns: 1fr; }
}

/* Full-bleed utility: stretches a section edge-to-edge even inside a centered wrapper */
.full_bleed {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;              /* fill the viewport width */
}

/* Inner container so text doesn’t run too wide */
.islamic_inner {
  max-width: 1100px;         /* match your page rhythm */
  margin: 0 auto;
  padding: 64px 20px 72px;   /* moved from .islamic to the inner */
}

/* Remove horizontal padding from the band itself (the gradient) */
.islamic { padding: 0; }
