:root {
    /* Colors */
    --primary: #A1876E;
    --secondary: #FF8343;
    --black: #161A19;
    --white: #FFF;
    --lightgrey: #FAFBFD;
    --darkgrey: #6B6B78;
    --grey: #888;
    --p-text: #6B6B78;
    --danger: #F95353;

    /* Font style */
    --size64: 64px;
    --size48: 48px;
    --size36: 36px;
    --size30: 30px;
    --size24: 24px;
    --size20: 20px;
    --size18: 18px;
    --size16: 16px;
    --size14: 14px;

    --semi-bold: 600;
    --medium: 500;
    --regular: 400;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Kanit' !important;
    width: 100%;
    overflow-x: hidden !important;
}

a {
    text-decoration: none;
}

p {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5 {
    line-height: normal;
    margin-bottom: 0;
}

.p-relative {
    position: relative;
}

/* .container-custom {
    max-width: 1620px;
    margin-left: auto;
    padding-left: 15px;
} */

li::marker {
  color: #facc15; /* เปลี่ยนเป็นสีส้ม */
}

/* font style */
.font--64 {
    font-size: var(--size64);
}

.font--48 {
    font-size: var(--size48);
}

.font--36 {
    font-size: var(--size36);
}

.font--32-custom {
    font-size: 32px;
}

.font--30 {
    font-size: var(--size30);
}

.font--24 {
    font-size: var(--size24);
}

.font--20 {
    font-size: var(--size20);
}

.font--18 {
    font-size: var(--size18);
}

.font--16 {
    font-size: var(--size16);
}

.font--14 {
    font-size: var(--size14);
}

.semi--bold {
    font-weight: var(--semi-bold);
}

.medium {
    font-weight: var(--medium);
}

.regular {
    font-weight: var(--regular);
}

@media (max-width: 1399px) {
    .font--32-custom {
        font-size: 28px;
    }
}

@media (max-width: 1199px) {
    .font--64 {
        font-size: 54px;
    }

    .font--48 {
        font-size: 40px;
    }

    .font--32-custom {
        font-size: 36px;
    }

    .font--30 {
        font-size: 26px;
    }
}

@media (max-width: 991px) {
    .font--20 {
        font-size: 18px;
    }

    .font--18 {
        font-size: 16px;
    }
}


@media (max-width: 767px) {
    .font--64 {
        font-size: 42px;
    }

    .font--48 {
        font-size: 36px;
    }

    .font--36 {
        font-size: 28px;
    }

    .font--32-custom {
        font-size: 28px;
    }

    .font--30 {
        font-size: 20px;
    }

    .font--24 {
        font-size: 20px;
    }

    .font--20 {
        font-size: 17px;
    }

    .font--14 {
        font-size: 12px;
    }
}

@media (max-width: 575px) {
    .font--36 {
        font-size: 24px;
    }

    .font--32-custom {
        font-size: 24px;
    }

    .font--20 {
        font-size: 16px;
    }

    .font--18,
    .font--16 {
        font-size: 14px;
    }
}



/* Color style */
.primary--color {
    color: var(--primary);
}

.secondary--color {
    color: var(--secondary);
}

.black {
    color: var(--black);
}

.white {
    color: var(--white);
}

.lightgrey {
    color: var(--lightgrey);
}

.darkgrey {
    color: var(--darkgrey);
}

.grey {
    color: var(--grey);
}

.text--color {
    color: var(--p-text);
}

.danger {
    color: var(--danger);
}



.border--24 {
    border-radius: 24px;
}


/* Space style */
.gap-4 {
    gap: 4px !important;
}

.gap-8 {
    gap: 8px;
}

.gap-16 {
    gap: 16px;
}

.gap-20 {
    gap: 20px;
}

.gap-32 {
    gap: 32px;
}

.section--space {
    margin-top: 100px;
    /* margin-bottom: 100px; */
}

.martop-18 {
    margin-top: 18px;
}

.martop-24 {
    margin-top: 24px;
}

.martop-32 {
    margin-top: 32px;
}

.martop-40 {
    margin-top: 40px;
}

.marbot-18 {
    margin-bottom: 18px;
}

.marbot-18-custom {
    margin-bottom: 18px;
}

.marbot-24 {
    margin-bottom: 24px;
}

.marbot-32 {
    margin-bottom: 32px;
}

.marbot-40 {
    margin-bottom: 40px;
}

.marbot-40-custom {
    margin-bottom: 40px;
}

@media (max-width: 1199px) {
    .gap-32 {
        gap: 18px;
    }

    .marbot-18-custom {
        margin-bottom: 0;
    }
}

@media (max-width: 991px) {
    .marbot-md-24 {
        margin-bottom: 24px;
    }

    .marbot-md-32 {
        margin-bottom: 32px;
    }

    .marbot-md-40 {
        margin-bottom: 40px;
    }

    .marbot-md-100 {
        margin-bottom: 100px;
    }
}

@media (max-width: 767px) {
    .marbot-sm-24 {
        margin-bottom: 24px;
    }

    .section--space {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

@media (max-width: 575px) {
    .section--space {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .martop-40 {
        margin-top: 18px;
    }

    .marbot-40 {
        margin-bottom: 18px;
    }

    .marbot-md-32 {
        margin-bottom: 18px;
    }

    .martop-24 {
        margin-top: 18px;
    }

    .marbot-24 {
        margin-bottom: 18px;
    }

    .marbot-md-24 {
        margin-bottom: 18px;
    }

    .martop-32 {
        margin-top: 18px;
    }

    .marbot-32 {
        margin-bottom: 18px;
    }

    .marbot-md-40 {
        margin-bottom: 18px;
    }

    .marbot-md-100 {
        margin-bottom: 50px;
    }
}



/* Button style */

/* circle button */
.circle--btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s ease-in-out;
}

.circle--btn span {
    color: var(--white);
    font-size: var(--size30);
    text-decoration: none;
}

.circle--btn:hover {
    background-color: var(--darkgrey);
}

@media (max-width: 575px) {
    .circle--btn {
        width: 45px;
        height: 45px;
    }

    .circle--btn span {
        font-size: 24px;
    }
}


/* link button */
.link--btn {
    font-size: var(--size18);
    font-weight: var(--medium);
    color: var(--primary);
    display: flex;
    /* justify-content: center; */
    align-items: center;
    gap: 2px;
    transition: 0.4s ease-in-out;
}

.link--btn span {
    width: 18px;
    font-size: var(--size30);
    padding-top: 3px;
}

.link--btn:hover {
    color: var(--secondary);
}

@media (max-width: 575px) {
    .link--btn {
        font-size: 14px;
    }

    .link--btn span {
        font-size: 26px;
    }

}


/* badge style */
.badge-outline {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px 20px;
    border: 1px #545454 solid;
    border-radius: 30px;
    font-size: var(--size16);
    color: #494949;
    font-weight: 600;
}

.badge-alert {
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    padding: 2px 10px 2px 8px;
    height: fit-content;
    border-radius: 30px;
    font-size: var(--size18);
    font-weight: var(--medium);
    color: var(--white);
    background: linear-gradient(115deg,
            #f97316 0%,
            #d97706 40%,
            #facc15 50%,
            #fbbf24 55%,
            #f59e0b 100%);
    background-size: 400% auto;
    animation: textShine 3s ease-in-out infinite;
    /* font-size: 18px; */
    font-weight: 600;
}

@keyframes textShine {
    0% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.badge-alert span {
    font-size: 22px;
}

@media (max-width: 575px) {
    .badge-alert {
        font-size: var(--size16);
    }

    .badge-alert span {
        font-size: 20px;
    }

    .badge-outline {
        font-size: 14px;
    }
}

br.show-1399.hide-1199.show-767,
br.show-1399,
br.show-1199,
br.show-767 {
    display: none;
}

br.hide-1199.show-767 {
    display: block;
}

@media screen and (max-width: 1399px) {
    br.hide-1399 {
        display: none;
    }

    br.show-1399.hide-1199.show-767 {
        display: block;
    }

    br.show-1399 {
        display: block;
    }
}

@media screen and (max-width: 1199px) {
    br.hide-1199 {
        display: none;
    }

    br.show-1199 {
        display: block;
    }

    br.show-1399.hide-1199.show-767 {
        display: none;
    }

    br.hide-1199.show-767 {
        display: none;
    }
}

@media screen and (max-width: 991px) {
    br.hide-991 {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    br.show-767 {
        display: block;
    }

    br.show-1399.hide-1199.show-767 {
        display: block;
    }

    br.hide-1199.show-767 {
        display: block;
    }
}

@media screen and (max-width: 425px) {
    br.hide-425 {
        display: none;
    }
}



.cursor {
    position: fixed;
    /* เปลี่ยนเป็น fixed เพื่อให้เคอร์เซอร์แสดงทุกจุด */
    width: 50px;
    /* ขนาดของวงกลมใหญ่ */
    height: 50px;
    /* ขนาดของวงกลมใหญ่ */
    border-radius: 50%;
    /* ทำให้เป็นวงกลม */
    border: 0.25px solid rgba(0, 0, 0, 0.7);
    /* ขอบวงกลม */
    pointer-events: none;
    /* ทำให้วงกลมไม่รบกวนการคลิก */
    transform: translate(-50%, -50%);
    /* ทำให้วงกลมอยู่ที่ตำแหน่งของเมาส์ */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1200;
    /* ให้เคอร์เซอร์อยู่บนสุด */
}

.cursor .inner-circle {
    width: 8px;
    /* ขนาดของวงกลมในทึบ */
    height: 8px;
    /* ขนาดของวงกลมในทึบ */
    border-radius: 50%;
    /* ทำให้เป็นวงกลม */
    background-color: rgb(65 88 166);
    /* สีของวงกลมในทึบ */
}

canvas {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    /* อยู่หลังสุด */
}

@media screen and (max-width: 575px) {
    .cursor {
        display: none;
    }

    .cursor .inner-circle {
        display: none;
    }
}

/* สำหรับ WebKit browsers เช่น Chrome, Safari */
::-webkit-scrollbar {
    width: 4px;
    /* ความกว้างของ Scrollbar */
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    /* สีพื้นหลังของ Scrollbar */
    border-radius: 10px;
    /* มุมโค้งมนของ Scrollbar */
}

::-webkit-scrollbar-thumb {
    background: var(--grey-100);
    /* สีของ Scrollbar */
    border-radius: 10px;
    /* มุมโค้งมนของ Scrollbar */
    border: 3px solid #aaaaaa;
    /* สีของขอบ Scrollbar */
}

::-webkit-scrollbar-thumb:hover {
    background: var(--darkgrey);
    /* สีของ Scrollbar เมื่อ Hover */
}


.pagination-n-btn .swiper-button-next,
.pagination-n-btn .swiper-button-prev {
    position: static;
    width: 50px;
    height: 50px;
    margin: 0;
    border-radius: 50%;
    background-color: var(--black);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination-n-btn .swiper-button-next span,
.pagination-n-btn .swiper-button-prev span {
    color: var(--white);
    font-size: var(--size30);
    text-decoration: none;
    user-select: none;
}

.pagination-n-btn .swiper-button-next:after,
.pagination-n-btn .swiper-button-prev:after {
    display: none;
}

.pagination-n-btn .swiper-button-next.swiper-button-disabled,
.pagination-n-btn .swiper-button-prev.swiper-button-disabled {
    pointer-events: unset;
}

@media (max-width: 575px) {

    .pagination-n-btn .swiper-button-next,
    .pagination-n-btn .swiper-button-prev {
        width: 45px;
        height: 45px;
    }

    .pagination-n-btn .swiper-button-next span,
    .pagination-n-btn .swiper-button-prev span {
        font-size: 24px;
    }
}


.placeholder {
    background: #b0b0b0;
    border-radius: 4px;
}