body{
  font-family:'Sarabun',sans-serif;
  margin:0;
  /*background:#E7F9FD;*/
}

/* ========================== HEADER ========================== */
.school-header{
  background:#ffffff;
  padding:6px 0;
  border-bottom:1px solid #ddd;
}
.school-logo{
  width:60px;
  height:auto;
}
.school-name-th{
  font-size:28px;
  font-weight:500;
  color:#222;
  line-height:1.1;
}
.school-name-th a{
  text-decoration: none;
  color: inherit;
}
.school-name-th a:hover{
  text-decoration: none;
}
.school-name-en{
  font-size:18px;
  color:#444;
}
.school-title {
  color: #004a7c;
}

/* ========================== NAVBAR ========================== */
.main-navbar{
  background:#005b96; /* สีฟ้าเข้ม */
  padding:0;
  min-height:40px;
}
.main-navbar .navbar-nav{
  width:100%;
}
.main-navbar .nav-item{
  position:relative;
}

/* เส้นแบ่งเมนู */
.main-navbar .nav-item:not(:last-child){
  border-right:1px solid rgba(255,255,255,.20);
}

/* ตัวอักษรเมนู */
.main-navbar .nav-link{
  color:#fff !important;
  font-size:16px;
  font-weight:500;
  padding:10px 30px !important;
  transition:.3s;
}

/* Hover */
.main-navbar .nav-link:hover{
  background:#0077c8;
}

/* Active */
.main-navbar .nav-link.active{
  background:#0077c8;
}

/* Dropdown */
.dropdown-menu{
  border:none;
  border-radius:0;
  margin-top:0;
  min-width:250px;
  box-shadow:0 4px 15px rgba(0,0,0,.15);
}
.dropdown-item{
  padding:12px 20px;
  font-size:16px;
}
.dropdown-item:hover{
  background:#eaf5ff;
  color:#005b96;
}

/* Hover Desktop */
@media(min-width:992px){
  .dropdown:hover .dropdown-menu{
      display:block;
      animation:fadeIn .25s;
  }
  .dropdown-toggle::after{
      margin-left:8px;
  }
}
@keyframes fadeIn{
  from{
      opacity:0;
      transform:translateY(5px);
  }
  to{
      opacity:1;
      transform:translateY(0);
  }
}

/* Mobile */
@media(max-width:991px){
  .main-navbar .nav-item{
      border-right:none;
      border-bottom:1px solid rgba(255,255,255,.15);
  }
  .main-navbar .nav-link{
      padding:15px 20px !important;
      font-size:18px;
  }
  .school-name-th{
      font-size:26px;
  }
  .school-name-en{
      font-size:16px;
  }
  .school-logo{
      width:60px;
  }
  .school-title {
      color: #004a7c;
  }
}

/* ========================== Carousel ========================== */
#schoolCarousel{
  margin-bottom:30px;
}
#schoolCarousel .carousel-item img{
  height:400px;
  object-fit:cover;
}
#schoolCarousel .carousel-caption{
  background:rgba(0,0,0,.45);
  padding:20px;
  border-radius:10px;
  bottom:0px;
}
#schoolCarousel .carousel-caption h2{
  font-size:40px;
  font-weight:600;
}
#schoolCarousel .carousel-caption p{
  font-size:20px;
}
.carousel-indicators button{
  width:12px !important;
  height:12px !important;
  border-radius:50%;
}

@media(max-width:768px){

  #schoolCarousel .carousel-item img{
      height:250px;
  }

  #schoolCarousel .carousel-caption{
      bottom:5px;
      padding:10px;
  }

  #schoolCarousel .carousel-caption h2{
      font-size:20px;
  }

  #schoolCarousel .carousel-caption p{
      font-size:14px;
  }
}

/* ========================== card ========================== */
.card-img-top{
  height:200px;
  object-fit:cover;
}
.card{
  transition:.3s;
  font-size:14px;
}
.card:hover{
  transform:translateY(-5px);
}
.section-title{
  border-left:5px solid #005b96;
  padding-left:15px;
  color: #004a7c;
  font-size:22px;
}

/* ========================== footer ========================== */
.footer-school{
  background:#005b96;
  color:#fff;
  padding:20px 0 0;
}
.footer-title{
  font-size:22px;
  font-weight:600;
  margin-bottom:20px;
  color:#fff;
}
.footer-info p{
  margin-bottom:8px;
  font-size:15px;
  color:#e8f4ff;
}
.map-box{
  overflow:hidden;
  border-radius:6px;
  border:3px solid rgba(255,255,255,.15);
}
.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}
.footer-links li{
  margin-bottom:10px;
}
.footer-links a{
  color:#ffffff;
  text-decoration:none;
  font-weight:500;
  transition:.3s;
}
.footer-links a:hover{
  color:#bde0ff;
  padding-left:5px;
}
.footer-bottom{
  background:#004a7c;
  text-align:center;
  padding:15px;
  margin-top:30px;
  font-size:14px;
  border-top:1px solid rgba(255,255,255,.1);
}
@media(max-width:768px){
  .footer-school{
    text-align:center;
  }
  .footer-title{
    margin-top:15px;
  }
}
/* ========================== Teacher and Staff ========================== */
.staff-card {
  border: none;
  border-radius: 15px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  transition: 0.3s;
}
.staff-card:hover {
  transform: translateY(-5px);
}
.staff-img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 50%;
  margin: 20px auto 10px;
  display: block;
}
.section-title {
  margin: 20px 0 20px;
  font-weight: bold;
}
/* ========================== icon vision ========================== */
.icon-circle{
    width:90px;
    height:90px;
    margin:auto;
    border-radius:50%;
    background:#1B6FC9;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    font-size:40px;
}
.philosophy{
    background:#fff;
    border-radius:25px;
}
.philosophy-icon{
    font-size:70px;
    color:#198754;
}