.has-submenu{
	cursor: pointer;
}

.project-type .elementor-post-info__terms-list {
    font-size: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.project-type .elementor-post-info__terms-list-item {
    display: inline-block;
    font-size: 12px;
    font-family: 'Kanit', sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
    background: #d32f2f;
    color: #fff !important;
    padding: 3px 12px;
    border-radius: 20px;
    text-decoration: none;
	  margin-right: 5px !important;
}
.project-type .elementor-post-info__terms-list-item:hover {
    background: #b71c1c;
}

/* การ์ดทุกใบยืดเต็มช่อง */
.project-grid .e-loop-item {
    height: 100%;
}
.project-grid .e-loop-item > .e-con {
    height: 100% !important;
}

/* รูปสูงเท่ากันทุกใบ */
.project-grid .elementor-widget-image img {
    width: 100% !important;
    height: 350px !important;
    object-fit: cover;
}

/* ชื่อสูง 2 บรรทัดเท่ากัน เกินกว่านั้นตัดเป็น ... */
.project-grid .project-title .elementor-heading-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
    line-height: 1.4 !important;
    height: calc(1.4em * 2) !important;
}

/* =========================================================
   Amatalift – Dropdown Menu แบบ B "Dark Glass" (Desktop)
   ใช้กับ Elementor Pro Nav Menu ใน Header template #6297
   วางใน: Appearance > Customize > Additional CSS
   ========================================================= */

:root {
  --amt-red: #E00000;                    /* สีแถบและลูกศรตอน hover */
  --amt-glass: rgba(16, 16, 18, .96);    /* สีพื้นกระจก = #101012F5 (ตัวท้าย = ความทึบ 0–1) */
  --amt-text: rgba(255, 255, 255, .78);
  --amt-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* ---------- ซ่อนไอคอนลูกศรของ Astra ที่ซ้อนอยู่ในเมนู ---------- */
.elementor-location-header .elementor-nav-menu .ast-icon.icon-arrow,
.elementor-location-header .elementor-nav-menu .dropdown-menu-toggle {
  display: none !important;
}

/* ---------- ลูกศรเมนูหลักหมุนเมื่อเปิด ---------- */
.elementor-location-header .elementor-nav-menu--main .elementor-item .sub-arrow {
  transition: transform .25s ease;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted .sub-arrow {
  transform: rotate(180deg);
}

/* ---------- กล่องกระจก ---------- */
.elementor-location-header .elementor-element .elementor-nav-menu--main > .elementor-nav-menu > li > ul.sub-menu.elementor-nav-menu--dropdown {
  margin-top: 16px !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu {
  min-width: 260px !important;
  width: max-content !important;
  max-width: 380px !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, .09) !important;
  border-radius: 16px !important;
  background: var(--amt-glass) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%);
          backdrop-filter: blur(18px) saturate(160%);
  box-shadow: 0 30px 60px -18px rgba(0, 0, 0, .6) !important;
  animation: amtDropIn .26s cubic-bezier(.2, .8, .2, 1);
  transform-origin: top left;
}

/* สะพานกันเมนูหายตอนเลื่อนเมาส์ผ่านช่องว่าง */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -17px;   /* = margin-top 16px + ขอบ 1px — ห้ามสูงกว่านี้ ไม่งั้นจะไปทับเมนูหลัก */
  height: 17px;
}

/* ---------- รายการ ---------- */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li {
  border: 0 !important;
  animation: amtItemIn .32s cubic-bezier(.2, .8, .2, 1) both;
}
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(2) { animation-delay: .03s; }
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(3) { animation-delay: .06s; }
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(4) { animation-delay: .09s; }
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(5) { animation-delay: .12s; }
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(6) { animation-delay: .15s; }
.elementor-location-header .elementor-nav-menu--main ul.sub-menu li:nth-child(n+7) { animation-delay: .18s; }

.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a {
  position: relative;
  display: flex !important;
  align-items: center;
  padding: 11px 40px 11px 16px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--amt-text) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  white-space: normal !important;
  transition: color .2s ease, background-color .2s ease;
}

/* แถบแดงเรืองแสงด้านซ้าย */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 3px;
  background: var(--amt-red);
  box-shadow: 0 0 12px 1px rgba(255, 30, 30, .8);
  transform: scaleY(0);
  transition: transform .22s ease;
}

/* ลูกศรด้านขวา */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: var(--amt-red);
  -webkit-mask: var(--amt-arrow) center / contain no-repeat;
          mask: var(--amt-arrow) center / contain no-repeat;
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .2s ease, transform .22s ease;
}

/* hover / focus / หน้าปัจจุบัน */
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:focus-visible,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a.elementor-item-active {
  color: #FFFFFF !important;
  background: linear-gradient(90deg, rgba(224, 0, 0, .22), rgba(255, 255, 255, .03) 70%) !important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:hover::before,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:focus-visible::before,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a.elementor-item-active::before {
  transform: scaleY(1);
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:hover::after,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:focus-visible::after,
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a.elementor-item-active::after {
  opacity: 1;
  transform: none;
}
.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu ul.sub-menu li a:focus-visible {
  outline: 2px solid var(--amt-red);
  outline-offset: -2px;
}

/* ---------- Animation ---------- */
@keyframes amtDropIn {
  from { opacity: 0; transform: translateY(10px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
@keyframes amtItemIn {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu,
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu li {
    animation: none !important;
  }
}