/* ===== PROMOTIONS ===== */

.promo-section{
  background: var(--promoBg);
}

.promo-subtitle{
  font-size:25px;
  letter-spacing:2px;
  color:var(--secondColor);
}

.promo-title{
  color:var(--promoText);
  font-weight:200!important;
}

/* carousel wrapper */
.promo-carousel{
  max-width:1920px;
  margin:0 auto;
}

.promo-carousel-inner{
  border-radius:0;
  overflow:hidden;
}

/* arrows */
.promo-arrow{
  width:50px;
  height:50px;
  background:rgba(0,0,0,.6);
  border-radius:50%;
  top:50%;
  transform:translateY(-50%);
  opacity:.8;
}

.promo-arrow.prev{
  left:20px;
}

.promo-arrow.next{
  right:20px;
}

.promo-arrow-icon{
  width:18px;
  height:18px;
}

/* ===== PROJECTS ===== */

.projects-section{
  position:relative;
  overflow:hidden;
  background:var(--projectBg);
}

/* background image layer */
.projects-bg-overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-image:var(--projectBgImg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
  pointer-events:none;
  opacity:.1;
}

/* container above bg */
.projects-container{
  position:relative;
  z-index:1;
}

/* subtitle */
.projects-subtitle{
  font-size:25px;
  letter-spacing:2px;
  color:var(--secondColor);
}

/* title */
.projects-title{
  letter-spacing:-1px;
  color:#000;
  font-weight:500!important;
}

/* grid */
.projects-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
}

/* ===== NEWS SECTION ===== */

.news-section{
  position:relative;
}

/* top color band */
.news-top-bg{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  height:250px;
  background:var(--primaryColor);
  z-index:0;
}

/* bg image */
.news-bg-overlay{
  position:absolute;
  top:250px;
  left:0;
  width:100%;
  height:calc(100% - 250px);
  background-image:var(--newsBgImg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
  pointer-events:none;
  opacity:.1;
}

/* container above bg */
.news-container{
  position:relative;
  z-index:1;
}

/* header spacing */
.news-header{
  padding-top:30px;
  padding-bottom:20px;
}

/* subtitle */
.news-subtitle{
  font-size:25px;
  letter-spacing:2px;
  color:var(--secondColor);
}

/* title */
.news-title{
  letter-spacing:-1px;
  color:var(--newsText);
  font-weight:500!important;
}

/* grid */
.news-row{
  margin-top:60px;
}

.news-btn{
  font-family:'PK Maehongson',sans-serif;
  font-size:30px;
  border-radius:50px;
  letter-spacing:1px;
  color:var(--secondColor);
  background:var(--newsCard);
  border:none;
}

/* ล็อกไม่ให้ hover เปลี่ยน */
.news-btn:hover,
.news-btn:focus,
.news-btn:active{
  color:var(--secondColor) !important;
  background:var(--newsCard) !important;
  border:none !important;
  box-shadow:none !important;
  transform:none !important;
}

.register-section{
  position:relative;
  background:var(--primaryColor);
}

.register-bg-overlay{
  position:absolute;
  inset:0;
  background-image:var(--contactBgImg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  z-index:0;
  pointer-events:none;
  opacity:.4;
}

.register-container{
  position:relative;
  z-index:1;
}

.register-subtitle{
  font-size:25px;
  letter-spacing:2px;
  color:var(--contactText);
}

.register-title{
  letter-spacing:-1px;
  color:var(--contactText);
  font-weight:500!important;
}

.register-card{
  background:var(--contactCard);
}

.input-text{
  color:var(--inputText);
}

.select-placeholder{
  color:var(--placeholderColor);
}

/* ===== TERMS MODAL ===== */

.terms-modal-title{
  font-size:2rem;
  font-weight:700;
  margin:0 0 1rem 0;
  line-height:1.2;
}

.terms-modal-body{
  color:var(--inputText);
}

.title_1{
  position: relative; width: 100%; padding-bottom: 56.25%; overflow: hidden; line-height: 0; margin: 0;
}
.title_img{
      transition: transform 0.5s ease;
}
.title_2{
  padding: 15px 12px 12px 12px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-height: 180px;
}