/* --------------------------------------------------
   HERO – KIB International Hotel School
   -------------------------------------------------- */
:root{
  --primary:#ffb703;      /* KIB yellow */
  --primary-dark:#d69d00;
  --dark:#111;
  --grey:#555;
  --light:#fafafa;
  --radius:12px;
  --transition:.35s cubic-bezier(.25,.8,.25,1);
}

.hero-section{
  min-height:100vh;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#18347a 0%,#1e3a8a 100%); /* NEW BLUE */
  padding:120px 0 80px;
  overflow:hidden;
  position:relative;
}

.hero-content{max-width:1320px;margin:auto;padding:0 1rem;}

/* grid */
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center;
}
@media(max-width:992px){.hero-grid{grid-template-columns:1fr;text-align:center;}}

/* text block */
.hero-text h1{
  font-size:clamp(2.2rem,4vw,3.5rem);
  font-weight:800;
  line-height:1.2;
  color:#fff;
  margin-bottom:1.2rem;
}
.hero-text .yellow-text{color:var(--primary);}

.hero-text p{
  font-size:1.1rem;
  color:#fff;
  margin-bottom:2.2rem;
  max-width:480px;
}

/* features */
.features-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem 2rem;
  margin-bottom:2.2rem;
}
.feature-item{
  display:flex;
  align-items:center;
  gap:.75rem;
  font-size:.95rem;
  font-weight:600;
  color:#fff;
}
.feature-icon{
  width:22px;height:22px;
  color:var(--primary);
  flex-shrink:0;
}

/* cta */
.button-group{margin-top:1rem;}
.btn-primary{
  background:var(--primary);
  color:#000;
  border:none;
  padding:1rem 2.5rem;
  font-weight:700;
  border-radius:var(--radius);
  box-shadow:0 4px 14px rgba(255,183,3,.35);
  transition:var(--transition);
}
.btn-primary:hover{
  background:var(--primary-dark);
  transform:translateY(-3px);
  box-shadow:0 8px 22px rgba(255,183,3,.45);
}

/* image block */
.hero-image{
  position:relative;
  display:flex;
  justify-content:center;
}
.hero-image img{
  width:100%;
  max-width:540px;
  border-radius:var(--radius);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  object-fit:cover;
}

/* floating badges */
.floating-badge{
  position:absolute;
  background:#fff;
  border-radius:var(--radius);
  padding:.75rem 1.25rem;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:.9rem;
  animation:float 4s ease-in-out infinite;
}
.badge-1{top:10%;left:0;}
.badge-2{bottom:10%;right:0;animation-delay:.8s;}
.badge-icon{font-size:1.4rem;}
.badge-text strong{display:block;font-size:1.1rem;color:var(--dark);}

@keyframes float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}

/* whatsapp */
.floating-whatsapp{
  position:fixed;
  bottom:30px;
  right:30px;
  width:60px;height:60px;
  background:#25d366;
  color:#fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  box-shadow:0 4px 14px rgba(37,211,102,.4);
  z-index:999;
  transition:var(--transition);
}
.floating-whatsapp:hover{
  transform:scale(1.1);
  color:#fff;
}

/* =========================================================
   ABOUT / TABS – KIB International Hotel School
   ========================================================= */
:root{
  --accent:#1e3a8a;   /* deep blue */
  --accent-light:#3b82f6;
  --text:#111;
  --text-soft:#555;
  --bg:#f7f9fc;
  --radius:12px;
  --transition:.3s ease;
}

/* ---- section spacing ---- */
.about.section-padding{padding:100px 0;background:var(--bg);}

/* ---- heading ---- */
.about h2{font-weight:700;color:var(--text);}
.about h2 span{color:var(--accent-light);}

/* ---- vertical pills (desktop) ---- */
.about .nav-pills{
  border-right:2px solid #e5e9f2;
  padding-right:1rem;
}
.about .nav-pills .nav-link{
  width:100%;
  text-align:left;
  padding:.85rem 1.2rem;
  margin-bottom:.5rem;
  border-radius:var(--radius);
  font-weight:600;
  color:var(--text-soft);
  background:transparent;
  transition:var(--transition);
  display:flex;
  align-items:center;
}
.about .nav-pills .nav-link:hover{background:rgba(30,58,138,.06);color:var(--accent);}
.about .nav-pills .nav-link.active{
  background:var(--accent);
  color:#fff;
  box-shadow:0 4px 14px rgba(30,58,138,.25);
}
.about .nav-pills .nav-link i{font-size:1.1rem;}

/* ---- tab content ---- */
.tab-content>.tab-pane{background:#fff;border-radius:var(--radius);padding:2.5rem;box-shadow:0 8px 30px rgba(0,0,0,.05);}
.tab-pane h4{font-weight:700;margin-bottom:1.2rem;color:var(--text);}
.tab-pane h4 span{color:var(--accent-light);}

/* lists */
.program-features{list-style:none;padding:0;margin:0;}
.program-features li{display:flex;align-items:flex-start;margin-bottom:.9rem;font-size:1rem;color:var(--text-soft);}
.program-features .bi-check-circle-fill{font-size:1.15rem;margin-right:.6rem;color:#10b981;}

/* registration steps */
.registration-steps{list-style:none;padding:0;margin:0;}
.registration-steps li{display:flex;align-items:flex-start;gap:1rem;}
.step-number{
  flex-shrink:0;
  width:34px;height:34px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  display:grid;place-items:center;
  font-weight:700;font-size:.9rem;
}
.step-content h5{margin-bottom:.2rem;font-weight:600;font-size:1.05rem;}
.step-content p{margin-bottom:0;font-size:.95rem;color:var(--text-soft);}

/* custom link */
.custom-link{
  display:inline-flex;
  align-items:center;
  font-weight:600;
  color:var(--accent);
  text-decoration:none;
  transition:var(--transition);
}
.custom-link:hover{color:var(--accent-light);}
.custom-link i{transition:transform .25s;}
.custom-link:hover i{transform:translateX(4px);}

/* ---- mobile : horizontal scroll pills ---- */
@media(max-width:992px){
  .about .nav-pills{
    flex-direction:row!important;
    border-right:none;
    padding-right:0;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .about .nav-pills .nav-link{
    white-space:nowrap;
    margin-right:.5rem;
    margin-bottom:0;
  }
}