/* base */
:root {
  --line-color: #05439a; /* สีเริ่มต้น */
}

#navtop {
   font-size: 1.0em;
   top: 0px; 
   height: 80px; 
   width: 100%; 
   z-index: 100; 
   box-shadow: 0 2px 6px rgba(0,0,0,.15);
   text-transform: uppercase; 
   background-color: #05439a;
   color: white; /* เพื่อให้ข้อความมองเห็นชัดขึ้น */
   
   /* เพิ่มส่วนนี้เพื่อให้เนื้อหาภายในอยู่กึ่งกลางแนวตั้ง */
   display: flex;
   align-items: center;
   /* เพิ่มบรรทัดนี้: ทำให้ความสูงของแถบน้ำเงินยืด/หด แบบสมูท */
   transition: height 0.2s ease-in-out;
}
#navtop img {
   height: 50px; border: 3px solid #ffffff;
   /* เพิ่มบรรทัดนี้: ทำให้รูปโลโก้ย่อ/ขยาย แบบสมูท */
   transition: height 0.2s ease-in-out;
}
#navtop .container-fluid {
   width: 100%; /* บังคับให้ container ขยายเต็มพื้นที่ flex */
}
#navtop .navbar-company {
   font-size: 2.6em; 
   margin-left: 20px;
}
#navtop a {
   text-decoration: none; color: #ffffff;
}

#navtop .contact-info {
   font-size: 1.2em; letter-spacing: 0.2px;
}

.navbar {
   /* เปลี่ยนจาก fixed เป็น sticky และปรับ top เป็น 0 */
   position: sticky;
   top: 0; 

   font-size: 1.0em; 
   height: 60px; 
   width: 100%; 
   z-index: 100; 
   box-shadow: 0 2px 6px rgba(0,0,0,.15);
   text-transform: uppercase;
   background-color: #f28300;
   transition: background-color 0.3s ease; 
   padding-top: 0;
   padding-bottom: 0;
}

.navbar-brand { color:#ffffff; font-weight:600; letter-spacing:.6px; }
/*.navbar-brand img {
   height: 60px; border: 3px solid #ffffff;
}*/
#navbarNav { padding-left: 0; padding-right:0; }
.navbar-nav .nav-item { padding-right: 1.2em; }
.navbar .dropdown-toggle { font-size:1.0em; padding-right:1.25rem; } /* กันพื้นที่ caret */
.navbar .dropdown-menu { font-size:.9em; }
.navbar .rounded-circle { background-color:#e2e6ea; }
.nav-small-icon { font-size:16px; font-weight:700; vertical-align:middle; }
.navbar .btn-language { background:#05439a; color:#fff; border:0; font-size: 0.9em; } /* สีตัวเปลี่ยนภาษา เบอร์โทร */

/* --- ปิดเส้นใต้สีดำของเบราว์เซอร์ --- */
.navbar .nav-link {
   position: relative;            /* ให้ pseudo วางอิงลิงก์ได้ */
   padding: .5rem 1rem;
   text-decoration: none;
   transition: background-color .3s ease;
   color: #000000;
   letter-spacing: 0.8px;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-item.show > .nav-link {
  text-decoration: none;
}

/* --- เส้นใต้สีแดง ใช้ ::before (จะไม่ชน caret ของ Bootstrap) --- */
.navbar .nav-link::before {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 8px;   /* ให้ตำแหน่งตรงกับที่ต้องการ เส้นวิ่งด้านล่าง*/
  height: 4px;
  /*background-color: #05439a; /* เส้นด้านล่างเมนู */
  background-color: var(--line-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.navbar .nav-link.active {
   color: #000000;
}
.navbar .nav-link:hover::before,
.navbar .nav-link.active::before,
.navbar .nav-item.show > .nav-link::before {
  transform: scaleX(1);
}

/* --- ปรับ caret ของ dropdown ให้ใช้สีตามตัวอักษร และคงระยะ --- */
.navbar .dropdown-toggle::after {
  border-top-color: currentColor;   /* caret เปลี่ยนสีตามข้อความ */
  margin-left: .35em;
}

/* ==== ปุ่ม hamburger: ไม่ให้มีกรอบ/เงาเวลาจิ้ม ==== */
.navbar .navbar-toggler { border: 0; }
.navbar .navbar-toggler:focus { box-shadow: none; }

/* กำหนดให้ dropdown-item เป็น relative เพื่อให้เส้น (absolute) อ้างอิงตำแหน่งได้ */
.dropdown-item {
   position: relative;
   overflow: hidden; /* ป้องกันเส้นล้น (เผื่อไว้) */
   border-bottom: 1px solid #dddddd;
   height: 45px;
   display: flex;
   align-items: center;     /* แนวตั้ง */
}

/* สร้างเส้นแดงเตรียมไว้ที่ด้านล่าง แต่กำหนดความกว้างเป็น 0 */
.dropdown-item::after {
   content: '';
   position: absolute;
   bottom: 0;       /* ให้อยู่ติดขอบล่าง */
   left: 0;         /* เริ่มจากซ้าย */
   width: 0%;       /* ความกว้างเริ่มต้น 0 */
   height: 3px;     /* ความหนาของเส้น */
   background-color: #05439a; /* สีของเส้น */
   transition: width 0.3s ease; /* Effect ให้เส้นค่อยๆ วิ่ง (0.3 วินาที) */
}

/* เมื่อเอาเมาส์วาง ให้ขยายความกว้างเป็น 100% */
.dropdown-item:hover::after {
   width: 100%;
}

/* CSS สำหรับ Navbar ปกติ */
.navbar-custom {
   padding-top: 0px;
   padding-bottom: 0px;
   transition: all 0.2s ease-in-out; /*ทำให้การเปลี่ยนแปลงดูนุ่มนวล */
}

/* ทำให้เมนูอยู่กึ่งกลางแนวตั้งและขยายความสูงเต็มแถบเมนูเพื่อตำแหน่งเส้นใต้ที่ถูกต้อง */
.navbar .container-fluid,
.navbar #navbarNav,
.navbar .navbar-nav,
.navbar .nav-item {
   height: 100%;
}
.navbar .nav-link {
   height: 100%;
   display: inline-flex;
   align-items: center;
}

/* CSS สำหรับ Navbar ที่หดเล็กลง */
.navbar-custom.navbar-shrink {
   padding-top: 5px;
   padding-bottom: 5px;
}
/* Mobile */
/* Mobile and Tablet (below 992px) */
@media (max-width: 991.98px) {
  .navbar .container-fluid {
      padding-left: 10px; padding-right: 10px;
   }
   .navbar .navPhone {
      display: none;
   }
   #navbarNav {
      width: 80%;
   }
   .navbar-nav {
      width: 80%;
   }

   #mobileNav { --bs-offcanvas-width: 80vw; border-left: 0; box-shadow: -8px 0 20px rgba(0,0,0,.08); }
   #mobileNav .navbar-nav { width: 100%; }
   #mobileNav .nav-link { width: 100%; text-align: left; padding: .9rem 1rem; border-bottom: 1px solid #f2f2f2;}
   /* ปิดเอฟเฟ็กต์เส้นแดงบนมือถือ */
   .navbar .nav-link::before { display: none !important; }

   /* ปรับปรุงโครงสร้างแถบบนสุด (navtop) บนมือถือเพื่อกันจอล้น และทำให้เป็น Sticky */
   #navtop {
      height: 60px;
      position: sticky;
      top: 0;
      z-index: 1000;
   }
   #navtop img {
      height: 38px !important;
      width: auto !important;
      border: 2px solid #ffffff !important;
   }
   #navtop .navbar-company {
      font-size: 1.25rem !important;
      margin-left: 10px !important;
      white-space: nowrap !important;
   }
   #navtop .contact-info {
      display: none !important;
   }
}

/* Tablet (unused backup) */
@media (min-width: 768px) and (max-width: 991.98px) {

}

/* Small Laptop */
@media (min-width: 992px) and (max-width: 1279.98px) {

}

/* Standard Desktop (1280+) */
@media (min-width: 1280px) and (max-width: 1439.98px) {
   .navbar-nav .nav-item { 
      font-size: 0.8em;
   }
   .navbar-brand { 
      margin-right:20px;
   }
   .navbar-brand img {
      height: 40px;
   }
   #navbarNav { padding-left:2rem; }
}

/* Large Desktop (1440+) */
@media (min-width: 1440px) {

}

.navPhone a {
  color: #ffffff; text-decoration: none;
}
.navPhone .btn-language:hover {
  background-color: #032d69 !important; /* เปลี่ยนเป็นสีกรมท่าเข้มขึ้น เพื่อไม่ให้กลืนกับแถบสีส้ม */
  color: #ffffff !important;
}
.navPhone .btn-language:hover a {
  color: #ffffff !important;
}

/*@media (min-width: 992px) { /* เฉพาะจอใหญ่ (desktop)
  .navbar .nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0px; /* กันเมนูเด้งลงมา
  }
}
/* เดสก์ท็อป: เปิดเมนูเมื่อ hover และไม่ให้คลิกที่ตัว toggle
@media (hover: hover) and (pointer: fine) {
  .navbar .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0; /* กันระยะเด้งลง
  }
  .navbar .nav-item.dropdown > .nav-link.dropdown-toggle {
    pointer-events: none; /* ตัดคลิกเฉพาะตัวหัวข้อ ไม่กระทบเมนูย่อย
  }
} */

