

 @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@200;300;400;500;600;700&family=Satisfy&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');




:root {
  --font-bebas: 'Bebas Neue', sans-serif;
  --font-oswald: 'Oswald', sans-serif;
  --font-herricane: 'Satisfy', cursive;
  --border-radius: 1.25rem;
}




/* Font Family */
.font-bebas{font-family:var(--font-bebas);}
.font-oswald{font-family:var(--font-oswald);}
.font-herricane{font-family:var(--font-herricane);}


html, body{
  position: relative; padding:0; margin:0;
  font-size:16px; font-weight:300; line-height:1.6;
  font-family: "Prompt", sans-serif;
}

*{box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; outline:none;}


/* Section & Container */
.section-padding{padding:4rem 0;}
@media screen and (max-width:1199.98px){
  .section-padding{padding:3.5rem 0;}
}
@media screen and (max-width:991.98px){
  .section-padding{padding:3rem 0;}
}
@media screen and (max-width:767.98px){
  .section-padding{padding:3rem 0;}
}
@media screen and (max-width:575.98px){
  .section-padding{padding:2.5rem 0;}
}
@media screen and (max-width:414.98px){
  .section-padding{padding:2rem 0;}
}


/* Typography */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .p, li, label{
   line-height:1.62;
}
h1, .h1{font-size:4rem!important; line-height:1.1!important;}
h2, .h2{font-size:3.5rem!important; line-height:1.1!important;}
h3, .h3{font-size:2.75rem!important; line-height:1.2!important;}
h4, .h4{font-size:2rem!important; line-height:1.4!important;}
h5, .h5{font-size:1.75rem!important; line-height:1.5!important;}
h6, .h6{font-size:1.25rem!important;}
p.lg, .p.lg, li.lg, label.lg{font-size:1.0625rem!important;}
p, .p, li, label{font-size:1rem!important;}
p.sm, .p.sm, li.sm, label.sm{font-size:.9375rem!important;}
p.xs, .p.xs, li.xs, label.xs{font-size:.875rem!important;}
p.xxs, .p.xxs, li.xxs, label.xxs{font-size:.8125rem!important;}
@media screen and (max-width:1199.98px){
h1, .h1{font-size:3.625rem!important; line-height:1.15!important;}
h3, .h3{font-size:2.5rem!important; line-height:1.25!important;}
h4, .h4{font-size:1.875rem!important; line-height:1.4!important;}
h5, .h5{font-size:1.625rem!important; line-height:1.55!important;}
}
@media screen and (max-width:991.98px){
h1, .h1{font-size:3.25rem!important; line-height:1.2!important;}
h3, .h3{font-size:2.25rem!important; line-height:1.3!important;}
h4, .h4{font-size:1.75rem!important; line-height:1.45!important;}
h5, .h5{font-size:1.5rem!important; line-height:1.62!important;}
}
@media screen and (max-width:767.98px){
h1, .h1{font-size:2.875rem!important; line-height:1.25!important;}
h3, .h3{font-size:2rem!important; line-height:1.35!important;}
h4, .h4{font-size:1.625rem!important; line-height:1.5!important;}
h5, .h5{font-size:1.375rem!important; line-height:1.62!important;}
}
@media screen and (max-width:575.98px){
h1, .h1{font-size:2.5rem!important; line-height:1.3!important;}
h3, .h3{font-size:1.75rem!important; line-height:1.4!important;}
p.lg, .p.lg, li.lg, label.lg{font-size:1rem!important;}
h6, .h6{font-size:1.125rem!important;}
}
@media screen and (max-width:1199.98px){
  .lg-no-br > br{display:none;}
}


/* Border Radius */
.bradius-rounded{border-radius:var(--border-radius);}


/* Box Content 01 */
.box-content-01{height:100%; display:flex; align-items:center;}


.auth-01{
  height:100dvh; display:flex; align-items:center; justify-content:center;
}
.auth-signin{
  border-radius:1rem; overflow:hidden; width:100%; 
  max-width:70rem; margin:0 auto;
}
.auth-signin .logo img{display:block; width:auto; height:2.5rem;}
.auth-signin .wrapper{display:flex;}
.auth-signin .panel-left{width:50%; padding:2rem 3.5rem;}
.auth-signin .panel-right{width:50%;}
.auth-signin .panel-right .ss-img{height:100%;}

.auth-signin{background:#ffffff;}
@media screen and (max-width:767.98px){
  .auth-signin .panel-right{display:none;}
  .auth-signin .panel-left{width:100%;}
}
@media screen and (max-width:490.98px){
  .auth-signin .panel-left{padding:2rem 2rem;}
}


/* Popup Container */
.popup-container{
  position:fixed; top:0; left:0; right:0; bottom:0; z-index:100; pointer-events:none;
  display:flex; justify-content:center; align-items:center; padding:1rem; opacity:0;
  transition:opacity .25;
}
.popup-container.active{
  pointer-events:all;
  opacity:1;
}
.popup-container .wrapper{width:100%; max-width:25rem; border-radius:.5rem; overflow:hidden;}
.popup-container .wrapper .header{position:relative;}
.popup-container .wrapper .header{padding:1.25rem 1.5rem;}
.popup-container .wrapper .header .close-btn{position:absolute; top:.875rem; right:1.5rem; cursor:pointer;}
.popup-container .wrapper .header .close-btn svg{
    display:block; max-width:100%; width:auto; max-height:100%; height:1.5rem;
}
.popup-container .wrapper .body{padding:.75rem 1.5rem;}
.popup-container .wrapper .body .desc{max-height:100px; overflow-y:auto;}
.popup-container .wrapper .body .desc::-webkit-scrollbar-track{background:#ffcfdc; border-radius:.25rem;}
.popup-container .wrapper .body .desc::-webkit-scrollbar-thumb{background:#eec2cd; border-radius:.25rem;}
.popup-container .wrapper .footer{display:flex; padding:.75rem 1.5rem; border-top:1px solid transparent;}
.popup-container .wrapper .footer .options{display:flex; align-items:center;}
.popup-container.promotion .header-logo{position:absolute; top:-2.5rem; left:1rem;}
.popup-container.promotion .header-logo img{
  display:block; max-width:100%; width:auto; max-height:100%; height:4.75rem;
}
.popup-container.promotion .wrapper{overflow:visible;}


/* Signature */
.signature svg{
  display:block; max-width:100%; width:auto; max-height:100%; height:14rem;
}
@media screen and (max-width:767.98px){
  .signature svg{height:10rem;}
}


/* Sep */
.ss-sep-02{display:block; width:100%; max-width:100%; height:.0625rem;}


/* Hamburger */
.hamburger{cursor:pointer;}
.hamburger > *{width:2rem; height:.14rem; transition:all .5s;}
.hamburger > *:nth-child(2){margin:.375rem 0;}
.hamburger.active > *:nth-child(1){
	-webkit-transform:rotate(-45deg)translate(-.375rem, .375rem);
	transform:rotate(-45deg)translate(-.375rem, .375rem);
}
.hamburger.active > *:nth-child(2){opacity:0;}
.hamburger.active > *:nth-child(3){
	-webkit-transform:rotate(45deg)translate(-.375rem,-.375rem);
	transform:rotate(45deg)translate(-.375rem, -.375rem);
}


.jc-start{justify-content:flex-start!important;}
.height-full, .h-full{height:100%!important; max-height:100%!important;}


/* Special Card */
.ss-card{display:block; width:100%;}
.ss-card .text-container .title, .ss-card .text-container .desc{
  display:block; display:-webkit-box; text-overflow:ellipsis; overflow:hidden;
  -webkit-box-orient:vertical; transition:color .25s;
}

.btns{
  display:flex; align-items:center; flex-wrap:wrap;
  margin-left: -.125rem; margin-right: -.125rem; width:calc(100% + .25rem);
}
.btns > .btn{margin:.25rem .3125rem 0 .3125rem;}
.btn.btn-action, button.btn.btn-action{
  display:block; font-size:1rem; font-weight:500; outline:none; box-shadow:none;
  white-space:nowrap; border:.125rem solid transparent; padding:0.75rem 1.25rem 0.625rem 1.25rem;
  text-decoration:none; border-radius:1000em; min-width:9rem; text-align:center;
  cursor:pointer; transition:all .25s;
}
.btn.btn-action.style-02{
  display:block; font-size:1rem; font-weight:500; outline:none; box-shadow:none;
  white-space:nowrap; border:.125rem solid transparent; padding:0.75rem 1.25rem 0.625rem 1.25rem;
  text-decoration:none; border-radius:0; min-width:9rem; text-align:center;
  cursor:pointer; transition:all .25s; box-shadow:4px 4px 0 0 #ff4073;
}
.btn.btn-action.sm{padding:0.125rem .5rem 0.125rem .5rem; min-width:unset; font-size:.75rem;}

.btns.position-01{
  position:absolute; bottom:1.25rem; z-index:1;
}


/* Paginate */
.paginate{display:flex; align-items:center;}
.paginate .arrow{
  display:flex; align-items:center; position:relative; pointer-events:auto; border:1px solid transparent;
  background:none; box-shadow:none; cursor:pointer; font-size:.75rem; width:2rem; height:2rem;
  transition:color .25s, opacity .25s; border-radius:.375rem; justify-content:center;
}
.paginate .arrow:hover{opacity:1;}
.paginate .pages{display:flex; align-items:center; margin:0 .375rem;}
.paginate .page{
  display:block; border:2px solid transparent; width:2rem; height:2rem; line-height:2rem;
  font-size:.9375rem; font-weight:500; border-radius:.4375rem; box-shadow:none;
  cursor:pointer; margin:0 .375rem; padding:0; text-align:center;
  transition:background .25s, color .25s;
}
.paginate .page.style-02{border:0;}
.paginate .page.disabled{pointer-events:none; opacity:.7;}



/* Slider Card */
.slider-card-container{
  background:#f2e6d6; height:30rem; border-radius:var(--border-radius);
}

.slide-top-row, .slide-bottom-row{height:50%;}
.slide-top-row .swiper-02{height:100%; display:flex; align-items:end; padding-bottom:1rem;}
.slide-bottom-row .swiper-03{height:100%; display:flex; align-items:start; padding-top:1rem;}


/* Special Tags */
.ss-tags{position:relative; display:inline-block; overflow:hidden; border-radius:1000em;}
.ss-tags > .tag{
    font-size:1.125rem; font-weight:700;
    padding:.5rem 1.25rem .375rem 1.25rem;
}
.ss-tags.size-02 > .tag{
  font-size:.75rem; font-weight:700;
  padding:.3125rem 1.125rem .3rem 1.125rem;
}



/* Stars */
.stars{display:flex; align-items:center;}
.stars .star{margin:.25rem .125rem;}


/* Special Image */
.ss-img{display:block; position:relative; width:100%; padding:64% 0 0 0; overflow:hidden;}
.ss-img.square{padding:100% 0 0 0;}
.ss-img.horizontal{padding:50% 0 0 0;}
.ss-img.horizontal-02{padding:45% 0 0 0;}
.ss-img.vertical{padding:120% 0 0 0;}
.ss-img.vertical-02{padding:140% 0 0 0;}
.ss-img > .img-bg{
    position:absolute; top:0; bottom:0; left:0; right:0; background-size:cover;
    background-position:center; transition:transform .75s, filter .5s;
}
.ss-card:hover .ss-img:not(.no-hover) > .img-bg,
.ss-img:not(.no-hover):hover > .img-bg{transform:scale(1.05);}


/* Special Card 01 */
.ss-card-01.mt-adaptive{margin-top:2.5rem;}
.ss-card-01.mt-negative{margin-top:-2.5rem;}
@media screen and (max-width:767.98px){
  .ss-card-01.mt-adaptive, .ss-card-01.mt-negative{margin-top:unset;}
}

.ss-card-03 .text-container .title{-webkit-line-clamp:1;}
.ss-card-03 .text-container .desc{-webkit-line-clamp:3; min-height:5rem;}
@media screen and (max-width:575.98px){
  .ss-card-03 .text-container .desc{min-height:unset;}
}


/* Special Card 04 */
.ss-card-04 .wrapper{display:flex; align-items:center;}
.ss-card-04 .img-container{position:relative; width:30%;}
.ss-card-04 .img-container .ss-img{border-radius:50%;}
.ss-card-04 .text-container{width:70%; padding-left:1rem;}
.ss-card-04 .text-container .title{-webkit-line-clamp:2;}
.ss-card-04 .img-container .post-number{
  position:absolute; width:1.375rem; height:1.375rem;
  font-size:.6875rem; font-weight:600; border-radius:50%; border:1px solid transparent;
  top:-2px; right:-2px; display:flex; justify-content:center; align-items:center;
}

@media screen and (max-width:639.98px){
  .ss-card-04 .img-container .post-number{
    bottom:calc(100% + 1px); left:calc(100% - 50px); width:2rem; height:2rem;
  }
}
@media screen and (max-width:575.98px){
  .ss-card-04 .img-container .post-number{width:1.875rem; height:1.875rem;}
}
@media screen and (max-width:490.98px){
  .ss-card-04 .img-container .post-number{width:1.625rem; height:1.625rem; left:calc(100% - 40px);}
}
@media screen and (max-width:375.98px){
  .ss-card-04 .img-container .post-number{width:1.625rem; height:1.625rem; left:calc(100% - 35px);}
}
@media screen and (max-width:375.98px){
  .ss-card-04 .img-container .post-number{width:1.5rem; height:1.5rem; left:calc(100% - 32px);}
}

.d-flex{display:flex!important;}
.jc-center{justify-content:center!important;}


/* Special Stat */
.ss-stats{
  width:100%; display:flex;  margin:.25rem 0 0 0;
}
.ss-stats .stat{
  display:flex; align-items:center; white-space:nowrap; margin:.1875rem .625rem 0 0;
  font-size:.875rem; font-weight:400; transition:color .25s;
}
.ss-stats .stat .title{font-size:.875rem;}
.ss-stats .stat .icon{
  display:flex; align-items:center; font-size:.8125rem;
  justify-content:start; width:1.25rem; height:1.25rem;
}
.ss-stats .stat .icon img{
  display:block; width:.875rem; height:auto;
}
.ss-stats .stat .icon svg{
  display:block; width:1rem; height:auto;
}



/* Special Card 02 */
.ss-card-02{background:#ffffff;}
.ss-card-02{padding:1.5rem; border-radius:0.625rem;}
.ss-card-02 .wrapper{display:flex;}
.ss-card-02 .img-container{width:6rem; }
.ss-card-02 .img-container .ss-img{border-radius:.625rem;}
.ss-card-02 .text-container{width:calc(100% - 6rem); padding-left:1rem;}
.ss-card-02 .title{font-size:.875rem!important; min-height:2rem;}


/* Scrollbar */
::-webkit-scrollbar{width:7px; border-radius:.25rem;}
::-webkit-scrollbar-track{background:#ffcfdc;}
::-webkit-scrollbar-thumb{background:#000000; border-radius:.25rem;}
::-webkit-scrollbar-thumb:hover{background:#453074;}
::-webkit-scrollbar:horizontal{height:7px;}

@media screen and (max-width:767.98px){
  .gap-8{gap:0!important;}
}


@media screen and (min-width:1299.98px){
  .xxl-no-br > br{display:none;}
}
@media screen and (max-width:1299.98px){
  .xl-no-br > br{display:none;}
}
@media screen and (max-width:1199.98px){
  .lg-no-br > br{display:none;}
}
@media screen and (max-width:991.98px){
  .md-no-br > br{display:none;}
}
@media screen and (max-width:767.98px){
  .sm-no-br > br{display:none;}
}
@media screen and (max-width:575.98px){
  .xs-no-br > br{display:none;}
  .xs-hide{display:none;}
}

.ws-nowrap{white-space: nowrap!important;}
.table-wrapper {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

/* Footer */
nav.footer .footer-top{height:2.5rem;}
nav.footer .logo{display:flex; align-items:center;}
nav.footer .logo .wrapper{height:100%; display:flex; align-items:center;}

nav.footer .logo .text{width:calc(100% - 3.4375rem);}
nav.footer .menu{
  display:flex; align-items:center; opacity:.75; transition:opacity .25s, padding .25s;
  width:max-content; margin:.25rem;
}
nav.footer .menu:hover{opacity:1; padding-left:.3125rem;}
nav.footer .menu .icon{margin-right:.75rem; font-size:.75rem;}
nav.footer .menu a{position:relative;}
nav.footer .menu a:after{
  position:absolute; content:''; bottom:0; right:0; left:0;
  height:1px; background:#ffffff; transform-origin: right center;
  -webkit-transform-origin: right center; -webkit-transform:scale(0,1);
  transform:scale(0, 1); transition:transform .25s cubic-bezier(.37,.31,.2,.85);
  -webkit-transition:transform .25s cubic-bezier(.37,.31,.2,.85);
}
nav.footer .menu:hover a:after{
  transform:scale(1, 1); transform-origin:left center;
  -webkit-transform-origin:left center; -webkit-transform:scale(1,1);
}
nav.footer .copyright{text-align:center; padding:.9375rem; border-top:1px solid transparent;}
@media screen and (max-width:575.98px){
  nav.footer .topic{margin-top:1rem;}
  nav.footer .grid{margin-top:0;}
  nav.footer .footer-bottom{padding-bottom:1rem!important;}
}


/* Table */
table.table{width:100%; border-spacing:0;}
table.table th{border:1px solid transparent; border-left:0; text-align:center;}
table.table th:first-child{border-left:1px solid transparent;}
table.table td{
	border-right:1px solid transparent; border-bottom:1px solid transparent;
	transition:background .25s;
}
table.table td:first-child{border-left:1px solid transparent;}
table.table > *:first-child > *:first-child > td{border-top:1px solid transparent;}
table.table > *:first-child > *:first-child > *:first-child{border-top-left-radius:var(--bradius);}
table.table > *:first-child > *:first-child > *:last-child{border-top-right-radius:var(--bradius);}
table.table > *:last-child > *:last-child > *:first-child{border-bottom-left-radius:var(--bradius);}
table.table > *:last-child > *:last-child > *:last-child{border-bottom-right-radius:var(--bradius);}
table.table th, table.table td{
	text-align:left; font-size:.9375rem; font-weight:400; padding:.625rem .75rem;
}
table.table th{font-weight:700; white-space:nowrap;}
table.table .table-option{font-size:1rem; cursor:pointer; margin:0 .25rem;}
table.table .table-option.lg{font-size:1.125rem;}
table.table .table-img{
  display:flex; align-items:center; border-radius:50%; margin:0 auto;
  justify-content:center; width:4rem; height:4rem; overflow:hidden;
}
table.table .table-img img{
	display:block; width:auto;  height:auto;
}
table.table .table-img.sm img{max-width:4.5rem; max-height:3rem;}
table.table .table-video{
	display:block; position:relative; border-radius:var(--bradius); overflow:hidden;
	width:6.5rem; height:calc(6.5rem * 56 / 100);
}
table.table .table-video.sm{width:4.5rem; height:calc(4.5rem * 56 / 100);}
table.table .table-video > video{
	position:absolute; top:0; bottom:0; left:0; right:0;
	display:block; width:100%; height:100%;
}
table.table .table-checkbox{font-size:.9375rem; width:.9375rem; height:.9375rem; margin:0;}

table.table > tbody > tr{transition:opacity .25s;}
table.table.loading > tbody > tr{pointer-events:none; opacity:.3;}

.table-wrapper {
  width: 100%;
  /* /* overflow-x: auto; */
  /* overflow-y: auto; */
}

.text-center{text-align:center!important;}

.app-card {
  width: 100%;
  border-radius: var(--bradius);
  padding: 1rem;
  margin: 0;
}


input[type=text], input[type=email], input[type=password], input[type=date], input[type=tel],
input[type=number], input[type=phone], input[type=submit], input[type=time],
select, textarea, button{font-family:var(--font-bebas)}
textarea{display:block;}
select {padding: .475rem 1rem; height:2.4375rem;}
input[type=text], input[type=email], input[type=password], input[type=date], input[type=tel], input[type=number], input[type=phone], input[type=submit], input[type=file], input[type=time], input[type=color], select, textarea {
  width: 100%;
  border: 1.5px solid transparent;
  border-radius: var(--bradius);
  padding: .375rem .625rem;
  font-size: .9375rem;
  margin: 0;
  outline: none;
  font-weight: var(--fw);
  line-height: var(--lh);
  box-shadow: none;
  transition: border-color .25s, color .25s;
}
.input-icon > .icon-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: .25rem .5625rem;
  font-size: 1rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: .25;
  transition: opacity .25s, color .25s;
}


.ss-tag {
  display: inline-block;
  padding: .125rem .625rem;
  font-size: .75rem;
  font-weight: 500;
  text-align: center;
  border-radius: 1000em;
  white-space: nowrap;
  color: #ffffff;
}

.bg-success {
  background: #4ecc48!important;
}
.bg-warning {
  background: #ecb403!important;
}



/* List Footer */
.list-footer{
  margin:-.5rem 0; display:flex; align-items:center;
  justify-content:space-between; font-weight:300; white-space:nowrap;
}
.list-footer .option{display:flex; align-items:center; margin:.5rem 0;}
@media screen and (max-width:991.98px){
  .list-footer{display:block;}
  .list-footer .option{width:100%; justify-content:center;}
}
@media screen and (max-width:435.98px){
  .list-footer .option{flex-direction:column;}
}

/* ====== Base Grid System ====== */
.grid {
  display: grid;
}

.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }

/* ==== Grid Columns ==== */
.grid-cols-1  { grid-template-columns: repeat(1, 1fr); }
.grid-cols-2  { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3  { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4  { grid-template-columns: repeat(4, 1fr); }
.grid-cols-5  { grid-template-columns: repeat(5, 1fr); }
.grid-cols-6  { grid-template-columns: repeat(6, 1fr); }
.grid-cols-7  { grid-template-columns: repeat(7, 1fr); }
.grid-cols-8  { grid-template-columns: repeat(8, 1fr); }
.grid-cols-9  { grid-template-columns: repeat(9, 1fr); }
.grid-cols-10 { grid-template-columns: repeat(10, 1fr); }
.grid-cols-11 { grid-template-columns: repeat(11, 1fr); }
.grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

/* ==== Column Span ==== */
[class*="col-span-"] {
  min-width: 0;
}

.col-span-1  { grid-column: span 1 / span 1; }
.col-span-2  { grid-column: span 2 / span 2; }
.col-span-3  { grid-column: span 3 / span 3; }
.col-span-4  { grid-column: span 4 / span 4; }
.col-span-5  { grid-column: span 5 / span 5; }
.col-span-6  { grid-column: span 6 / span 6; }
.col-span-7  { grid-column: span 7 / span 7; }
.col-span-8  { grid-column: span 8 / span 8; }
.col-span-9  { grid-column: span 9 / span 9; }
.col-span-10 { grid-column: span 10 / span 10; }
.col-span-11 { grid-column: span 11 / span 11; }
.col-span-12 { grid-column: span 12 / span 12; }

/* ====== Responsive Breakpoints ====== */
/* sm = ≥640px */
@media (min-width: 640px) {
  .sm\:grid-cols-1  { grid-template-columns: repeat(1, 1fr); }
  .sm\:grid-cols-2  { grid-template-columns: repeat(2, 1fr); }
  .sm\:grid-cols-3  { grid-template-columns: repeat(3, 1fr); }
  .sm\:grid-cols-4  { grid-template-columns: repeat(4, 1fr); }
  .sm\:grid-cols-6  { grid-template-columns: repeat(6, 1fr); }
  .sm\:grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

  .sm\:col-span-1  { grid-column: span 1 / span 1; }
  .sm\:col-span-2  { grid-column: span 2 / span 2; }
  .sm\:col-span-3  { grid-column: span 3 / span 3; }
  .sm\:col-span-4  { grid-column: span 4 / span 4; }
  .sm\:col-span-5  { grid-column: span 5 / span 5; }
  .sm\:col-span-6  { grid-column: span 6 / span 6; }
  .sm\:col-span-7  { grid-column: span 7 / span 7; }
  .sm\:col-span-8  { grid-column: span 8 / span 8; }
  .sm\:col-span-9  { grid-column: span 9 / span 9; }
  .sm\:col-span-12 { grid-column: span 12 / span 12; }
}

/* md = ≥768px */
@media (min-width: 768px) {
  .md\:grid-cols-1  { grid-template-columns: repeat(1, 1fr); }
  .md\:grid-cols-2  { grid-template-columns: repeat(2, 1fr); }
  .md\:grid-cols-3  { grid-template-columns: repeat(3, 1fr); }
  .md\:grid-cols-4  { grid-template-columns: repeat(4, 1fr); }
  .md\:grid-cols-6  { grid-template-columns: repeat(6, 1fr); }
  .md\:grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

  .md\:col-span-1  { grid-column: span 1 / span 1; }
  .md\:col-span-2  { grid-column: span 2 / span 2; }
  .md\:col-span-3  { grid-column: span 3 / span 3; }
  .md\:col-span-4  { grid-column: span 4 / span 4; }
  .md\:col-span-5  { grid-column: span 5 / span 5; }
  .md\:col-span-6  { grid-column: span 6 / span 6; }
  .md\:col-span-7  { grid-column: span 7 / span 7; }
  .md\:col-span-8  { grid-column: span 8 / span 8; }
  .md\:col-span-9  { grid-column: span 9 / span 9; }
  .md\:col-span-12 { grid-column: span 12 / span 12; }
}

/* lg = ≥1024px */
@media (min-width: 1024px) {
  .lg\:grid-cols-1  { grid-template-columns: repeat(1, 1fr); }
  .lg\:grid-cols-2  { grid-template-columns: repeat(2, 1fr); }
  .lg\:grid-cols-3  { grid-template-columns: repeat(3, 1fr); }
  .lg\:grid-cols-4  { grid-template-columns: repeat(4, 1fr); }
  .lg\:grid-cols-6  { grid-template-columns: repeat(6, 1fr); }
  .lg\:grid-cols-12 { grid-template-columns: repeat(12, 1fr); }

  .lg\:col-span-1  { grid-column: span 1 / span 1; }
  .lg\:col-span-2  { grid-column: span 2 / span 2; }
  .lg\:col-span-3  { grid-column: span 3 / span 3; }
  .lg\:col-span-4  { grid-column: span 4 / span 4; }
  .lg\:col-span-6  { grid-column: span 6 / span 6; }
  .lg\:col-span-7  { grid-column: span 7 / span 7; }
  .lg\:col-span-8  { grid-column: span 8 / span 8; }
  .lg\:col-span-9  { grid-column: span 9 / span 9; }
  .lg\:col-span-12 { grid-column: span 12 / span 12; }
}

/* xl = ≥1280px */
@media (min-width: 1280px) {
  .xl\:grid-cols-12 { grid-template-columns: repeat(12, 1fr); }
  .xl\:col-span-6  { grid-column: span 6 / span 6; }
  .xl\:col-span-12 { grid-column: span 12 / span 12; }
}

/* ====== DISPLAY ====== */
.flex { display: flex; }
.inline-flex { display: inline-flex; }

/* ====== DIRECTION ====== */
.flex-row { flex-direction: row; }
.flex-row-reverse { flex-direction: row-reverse; }
.flex-col { flex-direction: column; }
.flex-col-reverse { flex-direction: column-reverse; }

/* ====== WRAP ====== */
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }
.flex-wrap-reverse { flex-wrap: wrap-reverse; }

/* ====== JUSTIFY CONTENT ====== */
.justify-start   { justify-content: flex-start; }
.justify-center  { justify-content: center; }
.justify-end     { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around  { justify-content: space-around; }
.justify-evenly  { justify-content: space-evenly; }

/* ====== ALIGN ITEMS ====== */
.items-start   { align-items: flex-start; }
.items-center  { align-items: center; }
.items-end     { align-items: flex-end; }
.items-baseline{ align-items: baseline; }
.items-stretch { align-items: stretch; }

/* ====== ALIGN SELF ====== */
.self-auto    { align-self: auto; }
.self-start   { align-self: flex-start; }
.self-center  { align-self: center; }
.self-end     { align-self: flex-end; }
.self-stretch { align-self: stretch; }

/* ====== ALIGN CONTENT ====== */
.content-start   { align-content: flex-start; }
.content-center  { align-content: center; }
.content-end     { align-content: flex-end; }
.content-between { align-content: space-between; }
.content-around  { align-content: space-around; }
.content-evenly  { align-content: space-evenly; }

/* ====== FLEX GROW / SHRINK ====== */
.flex-1 { flex: 1 1 0%; }
.flex-auto { flex: 1 1 auto; }
.flex-initial { flex: 0 1 auto; }
.flex-none { flex: none; }

/* ====== GAP (ช่องว่างระหว่าง item) ====== */
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }

/* ====== Responsive Breakpoints ====== */
/* sm ≥640px */
@media (min-width: 640px) {
  .sm\:flex { display: flex; }
  .sm\:flex-col { flex-direction: column; }
  .sm\:justify-center { justify-content: center; }
  .sm\:items-center { align-items: center; }
}

/* md ≥768px */
@media (min-width: 768px) {
  .md\:flex { display: flex; }
  .md\:flex-row { flex-direction: row; }
  .md\:justify-between { justify-content: space-between; }
  .md\:items-center { align-items: center; }
}

/* lg ≥1024px */
@media (min-width: 1024px) {
  .lg\:flex { display: flex; }
  .lg\:flex-row { flex-direction: row; }
  .lg\:justify-around { justify-content: space-around; }
  .lg\:items-center { align-items: center; }
}

/* xl ≥1280px */
@media (min-width: 1280px) {
  .xl\:flex { display: flex; }
  .xl\:justify-between { justify-content: space-between; }
  .xl\:items-center { align-items: center; }
}

@media (max-width: 767px) {
.order-first{order: -1;}
}
