.header {
    background: rgba(14, 61, 115, 0.60);
}
body:has(.page-custom) header {
    position: sticky;
    --background-color: rgba(42, 44, 57, 0.9);
}
.content_portfolio_listing .top-banner {
    width: 100%;
    margin-bottom: 30px;
}
.content_portfolio_listing .top-banner img {
    width: 100%;
    height: auto;
}
.content_portfolio_listing .control-post a {
    display: inline-block;
    padding: 6px 12px;
    margin: 5px;
    border-radius: 6px;
    background: #eee;
    text-decoration: none;
    color: #333;
}
.content_portfolio_listing .control-post {
    text-align: center;
    margin-top: 20px;
}
.content_portfolio_listing .control-post a.active {
    background: #ff6600;
    color: #fff;
}/* PAGE */
.portfolio-page {
  padding: 60px 0;
  background: #f8f9fb;
}

/* HEADER */
.portfolio-header {
  margin-bottom: 40px;
}

.portfolio-header h1 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 10px;
}

.portfolio-header p {
  color: #777;
  font-size: 16px;
}

/* GRID */
.portfolio-grid {
  margin-top: 20px;
}

/* CARD */
.portfolio-card {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  margin-bottom: 25px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.portfolio-card:hover {
  transform: translateY(-8px);
}

/* IMAGE */
.image-wrapper {
  width: 100%;
  height: 0;
  padding-bottom: 65%;
  overflow: hidden;
  position: relative;
}

.image-wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* OVERLAY */
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.65);
  opacity: 0;
  transition: 0.3s ease;
}

.portfolio-card:hover .overlay {
  opacity: 1;
}

/* OVERLAY CONTENT */
.overlay-content {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  color: #fff;
}

.overlay-content h3 {
  font-size: 18px;
  margin: 0 0 5px;
}

.view-btn {
  font-size: 14px;
  border-bottom: 1px solid #fff;
  padding-bottom: 2px;
}

/* PAGINATION */
.block-control {
  margin: 30px 0;
}

/* NO LISTING */
.no-listing {
  padding: 60px 0;
  font-size: 18px;
  color: #888;
}

[class^="col-"], [class*=" col-"] {
    float: left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.title-slide > div:first-child img {
    position: relative;
    left: 7%;
}
.title-slide > div:last-child img {
    position: relative;
    right: 7%;
    margin-top: 18px;
}
.col-1-2 {
    width: 50%;
}
.we-box {
  display: flex;
  align-items: stretch; /* เปลี่ยนจาก center */
  position: relative;
}

/* ซ้าย */
.we-left {
  background: #e6c84f;
  flex: 1;
  padding: 40px;
  position: relative;
  z-index: 2; /* สำคัญ: ดันขึ้นมา */
}

/* ขวา */
.we-right {
  background: #2f477a;
  flex: 1;
  padding: 40px;
  color: #fff;
  position: relative;
  z-index: 1;
}

/* ตัวเฉียง */
.we-right::before {
  content: "";
  position: absolute;
  left: -60px;   /* ลดระยะไม่ให้ล้ำเยอะ */
  top: 0;
  width: 120px; /* ลดขนาด */
  height: 100%;
  background: #2f477a;
  transform: skewX(-30deg);
  z-index: -1; /* 👈 สำคัญมาก ไม่ให้ทับ */
}

.title-slide > div img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    border: 0;
    -ms-interpolation-mode: bicubic;
}
.section p {
    margin-bottom: 0;
}

.service-for-you {
    min-height: 500px;
    background: url(../images/bg-service.png) no-repeat top center;
    background-attachment: fixed;
    background-size: cover;
}
.service-for-you .container {
    font-size: 35px;
    line-height: 120%;
    color: #fff;
    padding-top: 8%;
    clear: both;
    text-align: center;
}
.content.alliance {
    text-align: center;
    margin: 40px 0;
}
.content.our-brand {
    background: url(../images/bg-brand.png) no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    overflow: hidden;
}
.content.our-brand .inner-page {
    position: relative;
    padding: 20px 0;
    margin: 40px 0;
}
/* logo */
.our-brand .swiper-slide {
  text-align: center;
}

.our-brand img {
  box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.1);
  transition: all ease-in-out 0.3s;
  border-radius: 12px;
  transition: 0.3s;
}

.our-brand img:hover {
  opacity: 1;
  transform: scale(1.05);
}
.brand-slider .swiper-slide {

  display: flex;
  justify-content: center;
  align-items: center;
}
.brand-slider {
  overflow: hidden;
}
.our-brand .swiper-wrapper {
  height: auto;
}
.section.our-brand.content .section-title p {
    color: #fff;
}
.our-brand .post-swiper .slide-image{
  height: auto;
}
.content.our-brand .section-title h2 {
    color: #999999;
}
.brand-content {
    background: rgba(255, 255, 255, 0.50);
    padding: 30px 0;
}
div[page-id="5017"] {
    background: rgba(255, 255, 255, 0.50);
}

.form-box form#contactform input, .form-box form#contactform textarea {
    width: 97%;
    margin-bottom: 15px;
    border-radius: 5px;
}
.content.form-contact {
    padding-bottom: 60px;
}





.footer {
  background: #0f172a;
  color: #fff;
  padding: 30px 0;
  font-size: 14px;
}

.footer a {
  color: #e6c84f;
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

/* social */
.footer-social a {
  display: inline-block;
  margin-left: 10px;
  font-size: 18px;
  color: #fff;
  transition: 0.3s;
}

.footer-social a:hover {
  color: #e6c84f;
}

/* extra */
.footer-extra {
  margin-top: 15px;
}


.fa {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}
html:not(.scrolled):has(.hero) header#header{
    margin-top: 64px;
}

html .scrolled > .header {
    margin-top: 0 !important;
}

.header .logo img {
    max-height: inherit;
    margin-right: auto;
}
.scrolled .header .logo img {
    max-height: 45px;
}
.header{
  padding: 15px 0;
}

.layer {
  position: absolute;
  opacity: 0;
  transition: all 0.9s ease;
}

/* animation */
.layer[data-anim="left"]   { transform: translateX(-80px); }
.layer[data-anim="right"]  { transform: translateX(80px); }
.layer[data-anim="up"]     { transform: translateY(40px); }
.layer[data-anim="zoom"]   { transform: scale(0.8); }
.layer[data-anim="fade"]   { transform: translateY(20px); }

.layer.show {
  opacity: 1;
  transform: translate(0,0) scale(1);
}

.hero {
  position: relative;
}

.carousel-container {
  position: relative;
}

.hero-slide {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

.layer {
  position: absolute;
  opacity: 0;
  transform: translate3d(0,0,0) scale(1);
  transition: all 0.8s ease;
}

/* ตอนแสดง */
.layer.show {
  opacity: 1;
}
.hero .hero-waves {

}
.text-justify, .text-justify p, .text-justify span, .text-justify ul, .text-justify li {
    text-align: justify !important;
}
.navmenu a{
  font-size: 18px;
}

footer .row.gy-4.align-items-center {
    width: 100%;
}

.about-section {
  padding: 60px 0;
  font-family: 'Prompt', sans-serif;
  color: #333;
}

/* ===== Layout ===== */
.about-section .container {
  max-width: 1140px;
  margin: auto;
  display: flex;
  gap: 40px;
  padding: 40px 20px;
  align-items: center;
}

.about-section .col-1-2 {
  width: 50%;
}

.about-section .col-1-3 {
  width: 33.33%;
}

/* ===== Image ===== */
.about-section img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ===== Typography ===== */
.about-section h1 {
  font-size: 30px;
  margin-bottom: 10px;
  line-height: 1.4;
}

.about-section h2 {
  font-size: 22px;
}

.about-section p {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
}

/* ===== Line img ===== */
.about-section h1 img {
  width: 100px;
  margin: 10px 0;
}

/* ===== Align ===== */
.about-section .text-right {
  text-align: right;
}

.about-section .text-center {
  text-align: center;
}

/* ===== Full Image Section ===== */
.about-section > div > p img {
  width: 100%;
}

/* ===== KEP Section ===== */
.about-section .container h1,
.about-section .container p {
  text-align: center;
}

.about-section .col-1-3 {
  text-align: center;
}

.about-section .col-1-3 img {
  margin-bottom: 15px;
  transition: 0.3s;
}

.about-section .col-1-3 img:hover {
  transform: translateY(-5px);
}

/* ===== Overlay Section ===== */
.about-section form[name="content"] {
  position: relative;
}

.about-section form[name="content"] img {
  width: 100%;
}

.about-section form[name="content"] p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  max-width: 800px;
  width: 90%;

  color: #fff;
  text-align: center;

  background: rgba(0,0,0,0.5);
  padding: 25px;
  border-radius: 10px;
}

.content-div form {
    margin: 80px 0;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    display: block;
}

.pages .container {
}
.content-div h3 {
    margin: 0;
    line-height: 100%;
}
.sec-2 {
    clear: both;
}
.sec-4 {
  display: flow-root;
  margin-bottom: 80px;
}
#footer {
  clear: both;
}
body:has(.contact-content) header {
  position: sticky;
}

.container.contact form#contact {
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: inherit;
    width: inherit;
    max-width: inherit;
    position: relative;
    left: inherit;
    right: inherit;
    margin-left: inherit;
    margin-right: inherit;
    display: block;
    height: auto;
}
.txt-banner.container{
    overflow: hidden;
}

li::marker {
/*   display: none;
  content: ""; */
}
form.contact li textarea {
    width: 96.3%;
    height: 200px;
}
form.contact li input {
    width: 85%;
    margin: 20px 0;
}
.contact form .btn-small {
  display: block;
  clear: both;
  margin: 0 25px;
}
.container.contact {
    display: block;
    width: 100%;
    clear: both;
}
.st-5 {
    clear: both;
}
body:has(.gallery-page) header,
body:has(.portfolio-details) header {
    top:0;
    width:100%;
    position: sticky;
    --background-color: rgba(42, 44, 57, 0.9);
}
body:has(.gallery-page).scrolled header,
body:has(.portfolio-details).scrolled header {
    
}
body:has(.portfolio-details) .breadcrumbs a {
    color: #f5f5f5;
}
body:has(.portfolio-details) .breadcrumbs .current {
    color: #ffffff;
}

body:has(.portfolio-details) .breadcrumbs {
    padding-top: 50px;
    padding-bottom: 10px;
}
body:has(.portfolio-details) .page-title.dark-background {
    align-items: center;
    padding: 130px 0 80px 0;
    background: #0f172a;
}
article section#portfolio {
    padding: 0;
}



/* ===== Profile Section ===== */
.about-section .container:last-child img {
  max-width: 320px;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* ===== Spacing ===== */
.about-section > div {
  margin-bottom: 40px;
}
.box-content {
    padding: 80px 0;
}
.content-row {
    clear: both;
    padding: 20px 0;
}





/* GRIDS */

[class^="col-"],
[class*=" col-"]  {
	float: left;
	
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.boxed {
	width: 1200px;
	margin: 0 auto;
	clear: both;
}

.row-content{
  padding: 40px 0;
  clear: both;
}
.font-default{
  font-size: 18px;
}


/* SIZE */

.col-1-6 {
	width: 16.66%;	
}

.col-2-6 {
	width: 33.33%;
}

.col-3-6 {
	width: 50%;
}

.col-4-6 {
	width: 66.66%;
}

.col-5-6 {
	width: 83.33%;
}

.col-1-5 {
	width: 20%;
}

.col-2-5 {
	width: 40%;
}

.col-3-5 {
	width: 60%;
}

.col-4-5 {
	width: 80%;
}

.col-1-4 {
	width: 25%;	
}

.col-2-4 {
	width: 50%;
}

.col-3-4 {
	width: 75%;
}

.col-1-3 {
	width: 33.33%
}

.col-2-3 {
	width: 66.66%;
}

.col-1-2 {
	width: 50%;	
}

/* ===== HERO CONTAINER ===== */
.hero {
  position: relative;
  height: clamp(320px, 60vh, 600px); /* ยืดหยุ่นตามจอ */
  min-height: 320px;
  overflow: hidden;
}

/* ===== HERO STATIC (LCP) ===== */
.hero-static {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hero-static.hide {
  display: none;
}

/* ===== IMAGE ===== */
.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hmg-bg {
  display: none;
}

/* ===== CAROUSEL ===== */
#hero-carousel {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.carousel-item,
.carousel-container {
  width: 100%;
  height: 100%;
  position: relative;
}

/* ===== FIX: CENTER CONTENT ===== */
.carousel-container > *:not(img):not(.pic-txt) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ===== TEXT BLOCK ===== */
.pic-txt {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding: 10px 20px;
  text-align: center;
  z-index: 5;
}

/* รูปข้อความ */
.pic-txt img {
  width: auto;
  max-width: 90%;
  height: auto;
}

/* ===== TEXT POSITION (DESKTOP DEFAULT) ===== */
.pictxt-1 {
  top: 38%;
}
.pictxt-2 {
  top: 55%;
}

/* ===== WAVES ===== */
.hero-waves {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  pointer-events: none;
}

body.index-pag:has(.fullwidthbanner-container) .header {
    margin-top: 65px;
}

.pic-txt {
  opacity: 0;
  transition: all 1s ease;
}

.carousel-item.active .pictxt-1 {
  opacity: 1;
  transform: translate(-50%, -20px);
}

.carousel-item.active .pictxt-2 {
  opacity: 1;
  transform: translate(-50%, 20px);
}
.caption.lfl.tp-caption img, 
.caption.lfr.tp-caption img,
.caption.lfb.tp-caption img,
.caption.lft.tp-caption img{
    max-height: 200px;
    width: auto !important;
}
.content-row.content-11 .col-1-3 {
    padding: 0 10px;
}


.animate {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease;
  will-change: transform, opacity;
}

/* เมื่อ active แล้ว */
.animate.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* แยกทิศ */
.fadeInLeft {
  transform: translate3d(-50px, 0, 0);
}

.fadeInRight {
  transform: translate3d(50px, 0, 0);
}
.container.contact form#contact ul li::marker{
  display: none;
  content: "";
}
.fullwidthbanner-container .tp-simpleresponsive >ul >li::marker{
  display: none;
  content: "";
}
.content-row.st-2 img , .content-row.st-3 img, .content-row.st-4 img {
    margin: 0 auto;
    display: block;
    max-width: 300px !important;
}
.content-row.st-7 i.fa {
    font-size: 60px !important;
}





















/* =========================
   📱 MOBILE (≤576px)
========================= */
@media (max-width: 576px) {

  .hero {
    height: 360px;
  }

  .pictxt-1 {
    top: 30%;
  }

  .pictxt-2 {
    top: 48%;
  }

  .pic-txt img {
    max-width: 95%;
  }
}

/* =========================
   📱 TABLET (577px–768px)
========================= */
@media (min-width: 577px) and (max-width: 768px) {

  .hero {
    height: 420px;
  }

  .pictxt-1 {
    top: 32%;
  }

  .pictxt-2 {
    top: 50%;
  }

  .pic-txt img {
    max-width: 90%;
  }
}

/* =========================
   💻 SMALL DESKTOP (769–1024)
========================= */
@media (min-width: 769px) and (max-width: 1024px) {

  .hero {
    height: 480px;
  }

  .pictxt-1 {
    top: 35%;
  }

  .pictxt-2 {
    top: 52%;
  }

  .pic-txt img {
    max-width: 85%;
  }
}

/* =========================
   🖥 LARGE DESKTOP (≥1440)
========================= */
@media (min-width: 1440px) {

  .hero {
    height: 650px;
  }

  .pic-txt img {
    max-width: 1200px;
  }
}





/* Mobile */
@media (max-width: 768px) {
  .pic-txt img {
    max-width: 90%;
  }

  .pictxt-1 {
    top: 30%;
  }

  .pictxt-2 {
    top: 50%;
  }
}


@media (min-width: 1441px) and (max-width: 1600px) {
  .header .logo img {
      max-height: 65px;
  }
  .navmenu a {
      font-size: 17px;
  }
}


@media screen and (max-width: 1440px) {
  header .navmenu a {
    padding: 8px 18px;
  }
  .header .logo img {
    max-height: 50px;
  }
  html:not(.scrolled):has(.hero) header#header{
      margin-top: 63px;
  }
  .navmenu a {
    font-size: 17px;
  }
  .brand-grid{
    padding: 0 10%;
  }
}
@media (min-width: 1301px) and (max-width: 1399px) {
    header .navmenu a {
        padding: 8px 15px;
        font-size: 15px;
    }
}
@media (min-width: 768px) and (max-width: 1399px) {
  .banner-page .txt-banner.container {
    display: flex;
    flex-direction: column;
    top: 20% !important;
    .brand-grid{
      padding: 0 5%;
    }
  }
  .banner-page .txt-banner.container.sec1-cont {
    flex-direction: row;
    top: 35% !important;
  }
}

@media screen and (max-width: 1300px) {	
	
	.boxed {
		width: 100%;
	}
  header .navmenu a {
    padding: 8px 15px;
    font-size: 15px;
  }
	.header .logo img {
    max-height: 50px;
  }
  
}	

@media screen and (max-width: 1199px) {
  .mobile-nav-active .navmenu{
    height: 100vh;
  }
}

@media screen and (max-width: 1200px) {	
	
	.col-1-4,
	.col-2-4,
	.col-3-4 {
		width: 50%;
	}
	
	.col-1-5,
	.col-2-5,
	.col-3-5,
	.col-4-5 {
		width: 50%;
	}
	
	.col-1-6,
	.col-2-6,
	.col-3-6,
	.col-4-6,
	.col-5-6 {
		width: 50%;
	}
	.topbar-right .inner-page {
    font-size: 12px;
  }
  .topbar-left .inner-page {
    font-size: 14px;
  }
  body.index-pag:has(.fullwidthbanner-container) .header {
    margin-top: 52px;
  }
}

@media screen and (max-width: 900px) {	
	
	.col-1-3,
	.col-2-3 {
		width: 100%
	}	
	
	[class^="col-"] [class^="col-"] {
		width: 100% !important;
	}	
	
}

/* RESP GRIDS */

@media screen and (max-width: 600px) {	
	
	[class^="col-"],
	[class*=" col-"] {
		width: 100%;
	}
	
}




/* ===== Responsive ===== */
@media (max-width: 992px) {
  .about-section .container {
    flex-wrap: wrap;
  }

  .about-section .col-1-2,
  .about-section .col-1-3 {
    width: 100%;
  }

  .about-section .container {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .content-div form > img {
      width: 100%;
  }
  .banner-title .col-5, 
  .banner-title .col-7,
  .txt-banner .col-5,
  .txt-banner .col-7 {
    width: 100%;
    overflow: hidden;
  }
  .banner-title .col-5 img, 
  .banner-title .col-7 img{
    
  }
  .txt-banner .col-5 img{
    height: 75px;
  }
  .txt-banner .col-7 img{
    height: 60px;
  }
  .container .col-1-2 {
    width: 100%;
  }
  .txt-banner.container .col-5 img {
    height: 60px !important;
  }
  .txt-banner.container .col-7 img {
    height: 47px !important;
  }
  body:has(.contact-content) header {
    
  }
  .font-default{
    font-size: 16px;
  }
  body.index-pag:has(.fullwidthbanner-container) .header {
      margin-top: 70px;
  }
  body.index-pag .fullwidthbanner-container {
    margin-top: 75px;
  }
  div[page-id="2505"] .inner-page {
    font-size: 16px;
  }
  .service-for-you {
    min-height: 360px;
  }
  div#topbar .container.d-flex {
    flex-direction: column;
  }
  .topbar-left .inner-page > p {
    margin: 0;
  }
  .topbar-right .inner-page {
    display: flex;
  }
  .topbar-right .right-top p {
      margin: 0px 5px;
  }
  body.index-pag:has(.fullwidthbanner-container) .header {
    margin-top: 60px;
    padding: 10px 0;
  }
  .topbar-left div[page-id="2493"] {
    margin: 0 auto;
  }
  .header .logo img {
      height: 45px;
  }
  .topbar-right .right-top p {
      margin: 5px 4px;
  }
  .topbar-right .right-top {
    margin: 0 auto !important;
  }
  .title-slide.bner-txt {
    flex-direction: row;
  }
  .title-slide.bner-txt .col-lg-6 {
    width: 50%;
    padding: 0;
  }
  section.section:has(.bner-txt) {
    padding: 20px 0;
  }
  section.about.section {
      padding: 20px 0;
  }
  .content.form-contact .form-box.contact {
    padding: 20px;
  }
  .topbar-right .right-top {
    top: 0 !important;
  }
  .txt-banner-i .col-6 img {
    max-height: 40px;
  }
  .txt-banner-i .col-6 .animate.fadeInLeft {
    text-align: right;
    position: relative;
    
  }
  .txt-banner-i .col-6 .animate.fadeInRight {
    text-align: left;
    position: relative;
    overflow: hidden;
  }
  .txt-banner.txt-banner-x.container {
      margin-left: -5px;
}
  .sec-2.banner-title div[name="content-h"] {
    padding: 5px 0 !important;
    font-size: 12px !important;
  }
  .sec-2.banner-title div[name="content-h"] h3 {
    font-size: 18px;
  }
    .content-row.content-5 .banner-page .txt-banner.container.sec1-cont {
    display: flex;
    flex-direction: row;
  }
  .content-row.content-5 .txt-banner.container.sec1-cont .col-5 {
    width: 33%;
  }
  .content-row.content-5 .txt-banner.container.sec1-cont .col-7 {
    width: 67%;
    overflow: visible;
  }
  .content-row.content-5 .txt-banner.container.sec1-cont .col-5 img {
    height: 30px !important;
  }
  .content-row.content-5 .txt-banner.container.sec1-cont .col-7 img {
    height: 30px !important;
  }
  .content-row.content-5 .txt-banner.container.sec1-cont .col-7 .animate.fadeInRight {
    left: -20px !important;
  }
  .content-row.content-5 .banner-page {
    height: 160px !important;
  }


  .content-row.content-8 .banner-page .txt-banner.container {
    display: flex;
    flex-direction: row;
  }
  .content-row.content-8 .txt-banner.container .col-5 {
    width: 40%;
    overflow: visible;
  }
  .content-row.content-8 .txt-banner.container .col-7 {
    width: 60%;
    overflow: visible;
  }
  .content-row.content-8 .txt-banner.container .col-5 img {
    height: 30px !important;
  }
  .content-row.content-8 .txt-banner.container .col-7 img {
    height: 30px !important;
  }
  .content-row.content-8 .txt-banner.container .col-7 .animate.fadeInRight {
    left: -20px !important;
  }
  .content-row.content-8 .txt-banner.container .col-5 .animate.fadeInLeft {
    position: relative;
    right: -30px;
    overflow: visible;
  }
  .content-row.content-8 .banner-page {
    height: 160px !important;
  }

  .content-row.content-10 .banner-page .txt-banner.container {
    display: flex;
    flex-direction: row;
  }
  .content-row.content-10 .txt-banner.container .col-5 {
    width: 40%;
    overflow: visible;
  }
  .content-row.content-10 .txt-banner.container .col-7 {
    width: 60%;
    overflow: visible;
  }
  .content-row.content-10 .txt-banner.container .col-5 img {
    height: 30px !important;
  }
  .content-row.content-10 .txt-banner.container .col-7 img {
    height: 30px !important;
  }
  .content-row.content-10 .txt-banner.container .col-7 .animate.fadeInRight {
    left: -20px !important;
  }
  .content-row.content-10 .txt-banner.container .col-5 .animate.fadeInLeft {
    position: relative;
    right: -30px;
    overflow: visible;
  }
  .content-row.content-10 .banner-page {
    height: 160px !important;
  }
  .content-row.content-12 .banner-page {
      height: 300px !important;
  }
  body:has(.portfolio) .txt-banner-i .col-6,  body:has(form#contact) .txt-banner-i .col-6  {
      width: 50%;
  }
  body:has(.portfolio) .txt-banner-i .col-6 img, body:has(form#contact) .txt-banner-i .col-6 img {
    max-height: 40px !important;
  }
  .banner-title.b-contact .txt-banner.txt-banner-i {
    flex-direction: row;
  }
  .contact-content .content-row {
    padding: 20px;
  }
  .content-row.st-5 div[name="content-h"] img {
    max-width: 420px;
  }
  .contact-content .content-row.st-6 .banner-page {
    height: 300px !important;
  }
  .contact-content .content-row.st-6 .banner-page .txt-banner.txt-banner-i {
      flex-direction: row;
      top: 50% !important;
  }
  .txt-banner.txt-banner-x {
    display: flex;
    flex-direction: row;
  }
  .txt-banner.txt-banner-x .col-6 {
    width: 50%;
  }
  .txt-banner.txt-banner-x .col-6 img {
    max-height: 45px;
  }
  .contact-content .content-row.st-5 .banner-page {
    height: 600px !important;
  }
  .contact-content .content-row.st-5 .banner-page div[name="content-h"] {
    padding: 70px 0 !important;
  }
  .box-content.other-c .content-row img {
    max-width: 300px;
  }
  .box-content.other-c .content-row.content-5 .banner-page {
      height: 520px !important;
  }
  .box-content.other-c .content-row.content-5 .banner-page div[name="content-h"] {
    padding: 30px 0 !important;
    font-size: 17px !important;
  }
  .brand-grid{
    padding: 0;
  }


}
@media (max-width: 600px) {
  .about-section h1 {
    font-size: 24px;
  }

  .about-section p {
    font-size: 14px;
  }

  .about-section form[name="content"] p {
    position: static;
    transform: none;
    margin-top: -80px;
    font-size: 14px;
    padding: 15px;
  }
  .banner-title .banner-page .txt-banner.container img {
    height: 50px;
  }
  .banner-title .inner-page .col-5,.banner-title .inner-page .col-7  {
    width: 100%;
  }
  .banner-title .banner-page {
    height: 220px !important;
  }
  .sec-2.banner-title .banner-page {
    height: 500px !important;
  }
  .topbar-left .inner-page a {
      font-size: 12px;
  }
  .topbar-right .right-top p {
    font-size: 12px;
    margin: 5px 0;
  }
  .header .logo img{
    height: 45px;
    margin-left: 10px;
  }
  i.mobile-nav-toggle {
    position: absolute;
    top: 8px;
    right: 15px;
  }
  html:not(.scrolled):has(.hero) header#header {
    margin-top: 70px;
  }
  .ps-l .col-6,
  .ps-s .col-6,
  .ps-h .col-6,
  .row.pl-w .col-6,
  .pl-b .col-4 {
    width: 100%;
  }
  .pl-h span[style="font-size:24px;"] {
    font-size: 12px !important;
  } 
  div[name="content-h"] {
    padding: 130px 0 !important;
  }
  .ps-l .col-6 img {
    width: 85%;
    margin: 0 auto;
    display: flex;
  }
  .row.pl-w .col-6 img {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
  }
  .txt-banner.container .col-5, .txt-banner.container .col-7 {
    width: 100%;
  }
  .banner-page {
    overflow: hidden;
  }
  .content-row.content-4 .st-5 div[name="content-h"] {
    padding: 20px 0 !important;
    font-size: 16px !important;
    line-height: 28px !important;
    height: 70% !important;
  }
  .content-row.content-4 .st-5 div[name="content-h"] h3 {
    font-size: 18px;
  }
  .content-row.content-4 .st-5 div[name="content-h"] span[style*="font-size:22px;"] {
    font-size: 16px !important;
  }

}


/* ===== BANNER CONTAINER ===== */
.banner-title {

  overflow: hidden;
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  display: block;
}
.inner-page {
  position: relative;
}
/* ===== IMAGE WRAPPER ===== */
/* ===== ทำให้ banner เต็มหน้าจอ แม้อยู่ใน container ===== */
.banner-vi {
  position: relative;

  width: 100vw;
  height: 450px;
  max-height: 450px;

  left: 50%;
  transform: translateX(-50%); /* ใช้อันนี้แทน margin */

  overflow: hidden;
}

/* ===== IMAGE FULL COVER (แทน background) ===== */
.banner-vi img {
  position: absolute;
  top: -55px; /* เผื่อขยับ */
  left: 0;
  width: 100%;
  height: calc(100% + 100px);
  object-fit: cover;

  transform: translateY(0);
  transition: transform 0.1s linear;
  will-change: transform;
  transform: translateZ(0);
}

header, .menu, .navbar {
  will-change: transform;
  backface-visibility: hidden;
}

/* ===== TEXT OVERLAY ===== */
.txt-banner-i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  width: 100%;
  max-width: 1200px;

  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  overflow: hidden;
}

/* column */
.txt-banner-i .col-5,
.txt-banner-i .col-7 {
  padding: 10px;
}

/* ===== ANIMATION BASE ===== */
.animate {
  opacity: 0;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

/* ===== FADE IN LEFT ===== */
.fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===== FADE IN RIGHT ===== */
.fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .banner-vi {
    height: 300px;
  }
  .content-row.content-4 .banner-vi.banner-bg {
    height: 100vh;
  }
  .content-row.content-4 .inner-page.st-5 .ct-box span {
    font-size: 14px !important;
  }
  .content-row.content-4 .inner-page.st-5 .ct-box h3 {
    font-size: 16px;
  }
  .content-row.content-4 .banner-vi.banner-bg img {
    height: calc(100% + 350px);
  }
  .txt-banner {
    flex-direction: column;
    text-align: center;
  }
  .content-row.content-5 .txt-banner-i.container div[class*="col-"] img {
    height: 30px !important;
  }
  .content-row.content-5 .txt-banner-i.container div[class*="col-"] {
    padding: 0;
    width: 50%;
  }
  .content-row.content-5 .txt-banner-i.container div[class*="col-"]:nth-child(2) .animate {
      left: inherit !important;
      right: 45px;
  }
  .content-row.content-5 .txt-banner-i.container div[class*="col-"]:nth-child(1) {
      width: auto;
  }
  .content-row.content-5 .txt-banner-i.container div[class*="col-"]:nth-child(1) img {
      position: relative;
      right: 0;
  }
  .content-row.content-11 .txt-banner.container div[class*="col-"] {
      width: 50%;
  }
  .content-row.content-11 .txt-banner.container div[class*="col-"] img {
      height: 38px !important;
  }
  .content-row.content-11 .banner-page {
      height: 160px !important;
  }
  .content-row [class^="col-"] img {
      margin: 0 auto;
      display: block;
  }
  .content-row.content-4 .content-h .txt-banner.container span, .content-row.content-4 .content-h .txt-banner.container h3 {
      font-size: 18px !important;
  }
  .content-row.content-4 .banner-page {
      height: 700px !important;
  }
  .content-row.content-4 .banner-page .content-h {
      top: 10% !important;
  }
  .content-row.content-5 .banner-page .content-h{
      top: 30% !important;
  }
  .content-row .container h1 {
      font-size: 22px;
  }
  .content-row.container.st-7 iframe {
      width: 100% !important;
  }
  div[page-id="2522"] .st-6 .col-5, div[page-id="2522"] .st-6 .col-7 {
      width: 50%;
  }
  div[page-id="2522"] .st-6 .col-5 img {
      height: 38px !important;
  }
  .st-6 .banner-page {
      height: 200px !important;
      background-position: center center;
      background-repeat: no-repeat;
  }
  .banner-page div[name="content-h"] img {
      width: 100% !important;
  }
  .content-row.content-8.com-8i .banner-page{
      height: 760px !important;
      background-position: center right;
  }
  .content-row.content-8 .banner-page .txt-banner.container span {
      font-size: 16px !important;
  }
  .box-content h2 {
      font-size: 22px !important;
  }
}

.brand-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:20px;
    padding: 0 15%;
}

.brand-item{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:10px;
    border:1px solid #eee;
    border-radius:10px;
    background:#fff;
    min-height:120px;
}

.brand-item img{
    max-width:100%;
    object-fit:contain;
}

/* Tablet */
@media (max-width:991px){
    .brand-grid{
        grid-template-columns:repeat(4,1fr);
    }
}

/* Mobile */
@media (max-width:767px){
    .brand-grid{
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .brand-item{
        min-height:100px;
        padding:15px;
    }

    .brand-item img{
    }
} 
@media (max-width:420px){
    .content-row.content-11 .txt-banner.container div[class*="col-"] img {
        height: 32px !important;
    }
    .txt-banner.txt-banner-x .col-6 img {
        max-height: 40px;
    }
    .txt-banner.container .col-7 img {
        height: 35px !important;
    }
        div[page-id="2522"] .st-6 .col-5 img {
        height: 35px !important;
    }
    .right-top.me-3 .inner-page strong {
        font-size: 10px;
        margin: 0 5px;
    }
    .box-content h2 {
        font-size: 20px !important;
    }
}