/* V103 Fix Header/Menu Overlap
   แก้ปุ่มเมนูหน้าแรกและข้อความ Header ซ้อนกันจาก CSS หลายเวอร์ชันทับกัน
*/

/* ===== Reset header layout แบบเด็ดขาด ===== */
.v71-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:linear-gradient(180deg,rgba(8,31,58,.99),rgba(6,26,50,.98))!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 52px rgba(0,13,33,.24)!important;
  overflow:visible!important;
}

.v71-header *{
  box-sizing:border-box!important;
}

/* บังคับไม่ให้ grid/absolute เก่าทำเมนูซ้อนหัวเว็บ */
.v71-header-inner{
  width:min(1240px,calc(100% - 32px))!important;
  min-height:96px!important;
  margin-inline:auto!important;
  padding:14px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  position:relative!important;
  transform:none!important;
  inset:auto!important;
  text-align:left!important;
  overflow:visible!important;
}

/* ===== Brand ===== */
.v71-brand{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:560px!important;
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
  transform:none!important;
  inset:auto!important;
}

.v71-brand a{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:auto!important;
  max-width:100%!important;
  color:#fff!important;
  text-decoration:none!important;
  overflow:visible!important;
  position:relative!important;
}

.v71-brand img{
  display:block!important;
  flex:0 0 72px!important;
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  max-height:72px!important;
  object-fit:contain!important;
  border-radius:18px!important;
  padding:6px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;
  border:1px solid rgba(132,207,255,.22)!important;
  box-shadow:0 14px 34px rgba(0,10,30,.28),inset 0 1px rgba(255,255,255,.12)!important;
  content:normal!important;
}

.v71-brand strong{
  display:block!important;
  max-width:100%!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:clamp(32px,2.55vw,46px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  text-shadow:0 3px 14px rgba(0,0,0,.28)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  overflow:visible!important;
}

.v71-brand small{
  display:block!important;
  margin-top:5px!important;
  color:rgba(234,248,255,.84)!important;
  -webkit-text-fill-color:rgba(234,248,255,.84)!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:900!important;
  white-space:nowrap!important;
  text-shadow:0 2px 8px rgba(0,0,0,.22)!important;
  opacity:1!important;
}

/* ปิด pseudo/ghost ของ brand ที่อาจซ้อนข้อความ */
.v71-brand strong::before,
.v71-brand strong::after,
.v71-brand small::before,
.v71-brand small::after,
.v71-brand a::before,
.v71-brand a::after{
  content:none!important;
  display:none!important;
}

/* ===== Navigation ===== */
.v71-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:auto!important;
  position:relative!important;
  z-index:4!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.v71-nav ul{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  position:relative!important;
  transform:none!important;
  inset:auto!important;
}

.v71-nav li{
  flex:0 0 auto!important;
  position:relative!important;
}

/* ปุ่มเมนูไม่ให้ลอยทับตัวอื่น */
.v71-nav a{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  height:auto!important;
  padding:0 14px!important;
  border-radius:15px!important;
  color:rgba(255,255,255,.94)!important;
  -webkit-text-fill-color:rgba(255,255,255,.94)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-shadow:0 2px 8px rgba(0,0,0,.24)!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 10px 24px rgba(0,10,30,.10)!important;
  transform:none!important;
  inset:auto!important;
  overflow:hidden!important;
}

/* สำคัญ: pseudo เก่าบางตัวทำให้เหมือนตัวอักษรซ้อน */
.v71-nav a::before,
.v71-nav a::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  opacity:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0))!important;
  z-index:-1!important;
}

.v71-nav a:hover,
.v71-nav a.active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08))!important;
  border-color:rgba(133,208,255,.34)!important;
  box-shadow:0 14px 32px rgba(0,14,35,.22),inset 0 1px rgba(255,255,255,.12)!important;
  transform:translateY(-1px)!important;
}

.v71-nav a:hover::before,
.v71-nav a.active::before{
  opacity:1!important;
}

/* ปุ่มสุดท้าย */
.v71-nav li:last-child a{
  min-height:50px!important;
  padding:0 18px!important;
  background:linear-gradient(135deg,#0d84f0,#34bdff)!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 18px 44px rgba(13,132,240,.34),inset 0 1px rgba(255,255,255,.30)!important;
}

/* ===== Wide แต่เมนูเริ่มแน่น: ย่ออย่างปลอดภัย ===== */
@media (max-width:1320px){
  .v71-header-inner{
    width:min(1180px,calc(100% - 28px))!important;
    gap:18px!important;
  }
  .v71-brand img{
    flex-basis:64px!important;
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    max-width:64px!important;
  }
  .v71-brand strong{
    font-size:clamp(30px,2.35vw,42px)!important;
  }
  .v71-brand small{
    font-size:12px!important;
  }
  .v71-nav ul{
    gap:7px!important;
  }
  .v71-nav a{
    min-height:44px!important;
    padding:0 12px!important;
    font-size:13px!important;
  }
  .v71-nav li:last-child a{
    padding:0 15px!important;
  }
}

/* ===== Tablet: แยก brand กับเมนูเป็น 2 แถว ป้องกันซ้อน 100% ===== */
@media (max-width:1120px){
  .v71-header-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    min-height:auto!important;
    padding:14px 0 16px!important;
    text-align:center!important;
  }
  .v71-brand{
    max-width:100%!important;
  }
  .v71-brand a{
    justify-content:center!important;
  }
  .v71-nav{
    width:100%!important;
  }
  .v71-nav ul{
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:9px!important;
  }
  .v71-nav a{
    min-height:44px!important;
    padding:0 14px!important;
    font-size:14px!important;
  }
}

/* ===== Mobile: ใช้ hamburger/dropdown ===== */
@media (max-width:760px){
  .v71-header-inner{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    align-items:center!important;
    justify-content:stretch!important;
    width:calc(100% - 24px)!important;
    padding:12px 0!important;
    gap:10px!important;
    text-align:left!important;
  }

  .v71-brand a{
    justify-content:flex-start!important;
    gap:10px!important;
  }

  .v71-brand img{
    flex:0 0 50px!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    max-height:50px!important;
    border-radius:14px!important;
    padding:5px!important;
  }

  .v71-brand strong{
    font-size:clamp(22px,7vw,30px)!important;
    line-height:1!important;
    white-space:normal!important;
    letter-spacing:-.045em!important;
  }

  .v71-brand small{
    font-size:11px!important;
    line-height:1.25!important;
    white-space:normal!important;
  }

  .v71-menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:48px!important;
    border-radius:15px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  }

  .v71-nav{
    grid-column:1/-1!important;
    width:100%!important;
    background:rgba(3,16,31,.98)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:18px!important;
    padding:10px!important;
    box-shadow:0 20px 50px rgba(0,10,30,.34)!important;
  }

  .v71-nav ul{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .v71-nav a,
  .v71-nav li:last-child a{
    width:100%!important;
    min-height:46px!important;
    padding:0 10px!important;
    font-size:13px!important;
  }
}

@media (max-width:430px){
  .v71-nav ul{
    grid-template-columns:1fr!important;
  }
}
