@font-face {
    font-family: 'Noto Sans Thai';
    src: url('../fonts/Noto_Sans_Thai/NotoSansThai-VariableFont_wdth\,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Monst/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}
body.th {
    font-family: 'Noto Sans Thai', sans-serif !important;
}

body.en {
    font-family: 'Montserrat', sans-serif !important;
}

/* ที่เหลือคงไว้เหมือนเดิม */
body.th,
body.en {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background-color: #FFF;
    margin: 0;
    line-height: 1.8;
    color: #013060;
    font-size: 14px;
    font-weight: 400;
    text-wrap: wrap;
    background: url('../images/bg-web-new.png') no-repeat center/cover;
    background-position: inherit;
}

.container-custom {
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.header {
    padding: 50px 15px 0px 15px;
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    color: white;
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
}

.content {
    flex-grow: 1;
    background: white;
    border-top-right-radius: 60px;
    padding: 0px 30px;
    /*min-height: calc(100vh - 120px);*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom:5px;
   
}
.content-block{
    max-width: 440px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .content-block {
        width: 440px;
    }
}

@media (max-width: 991px) {
    .content-block{
        margin: 0;
    }
}
.footer {
    margin-top: auto;
    padding: 10px;
    text-align: center;
    font-size: 10px;
}

.box-shadow{
    box-shadow: 0px 4px 15px 0px #0000001A;
    border-radius: 6px;
}

.f-white { color: #FFF !important;}
.f-black { color:#11305D}
.f-blue { color: #167EE5;}
.f-yellow { color:#E5AC00;}
.f-gray { color: #000;}
.f-bold { font-weight: 600;}
.f-bold-2 { font-weight: 700 !important;}
.f-indent {text-indent: 50px}
.fs-event_name { font-size: 16px; line-height:1.5rem;}
.fs-detail { font-size: 12px; font-weight: 400;}

.btn-choose{ color: #fff !important;
    background-color: #11305D;
    border-color: #11305D;
    border-radius: 16px;
    width: 150px;
    font-size: 12px;
    font-weight: 700;
}

.btn-choose:hover { color: #FFF !important;}

.g-gray { filter: grayscale(100%);}

.text-register-for {
    font-weight: 700;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0%;
    text-align: center;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-thickness: 0%;
    color: #167EE5;
}

hr {border: 0.5px solid #cccdd1}

.fs-16-b {
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0%;
}

.fs-14 {
    font-size: 14px;
    font-weight: 400;
}
.fs-30 {
    font-size: 29px;
    font-weight: 700;
}
.fs-40 {
    font-weight: 700;
    font-size: 40px;
    line-height: 125%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
}

.remark {
    color: #97A3B6;
}

.btn-confirm{ 
    color: #fff !important;
    background-color: #11305D;
    border-radius: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    font-size: 14px;
}

.btn-confirm:hover { color: #FFF !important;}

.btn-confirm-otp{ 
    color: #fff !important;
    background-color: #11305D;
    border-radius: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    font-size: 14px;
}

a[disabled] {
    pointer-events: none;
    cursor: default;
    color: #ccc !important;
}
input:disabled {
    color: #999;
}

.btn-confirm-otp:hover { color: #FFF !important;}

.btn-cancel{ 
    color: #FF0000!important;
    background-color: #FFF;
    border-radius: 20px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 100%;
    font-size: 14px;
    border: 1px solid #FF0000;
}
.btn-cancel:hover { color: #FF0000 !important;}

.form-check-input {
    width: 20px !important;
    height: 20px !important;
}

.form-check-input:checked {
    background-color: #11305D !important;
    border-color: #11305D !important;
}

.bt-back {
    padding-top: 35px;
    position: absolute;
    padding-left: 30px;
    cursor: pointer;
}

.bg-white { background: #F4F7FC; }

.text-header {
    font-weight: 700;
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
}
.text-sub-header{
    font-weight: 500;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0%;
    text-align: center;
    
}

.form-control, .form-select {
    border: 1px solid #BFBFBF;
    border-radius: 10px;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    font-size: 14px;
}

input::placeholder {
    color: #E0E0E0 !important; 
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 1%;
}

.form-control:focus, .form-select:focus {
    /*border: 2px solid #167EE5 !important;*/
    outline-width: none !important;
    -webkit-box-shadow: none  !important;
    box-shadow: none !important;
}
#year::placeholder {
    color: red !important; /* หรือใช้สีอื่น เช่น #999, rgba(0,0,0,0.5) */
}
.row>* {
    padding-right: unset !important;
    padding-left: unset !important;
}
.px-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}
.px-auto {
    padding-right: calc(var(--bs-gutter-x) / 2) !important;
    padding-left: calc(var(--bs-gutter-x) / 2) !important;
}
.show-img img{ width: 100%; border-radius: 4px;}
.pr-10{ padding-right: 10px !important;}

.pt-30 {padding-top: 30px !important;}
.pr-bd {    
    padding-right: 0.5rem !important;
}

.px-bd{
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
}
.numotp{ 
    height: 47px !important; 
    width: 47px;text-align: 
    center;padding: 0px !important; 
    font-weight: 900; 
    font-size: 16px;
}

.alert-warning {
    color: #11305D;
    background-color: #FFF9E5;
    border-color: #FFECB2;
    border-radius: 10px;
}

.alert-primary {
    color: #11305D;
    background: #F4F7FC;
    border-color: #F4F7FC;
    border-radius: 10px;
}

select option:disabled {
    color: #E0E0E0;
}

.qrcode {
    width: 100%;
    background-image: url('../images/bg-qrcode-final-2.png');
    background-size: 100% 119%;
    background-repeat: no-repeat;
}
hr.mx-3.bd-white {
    opacity: 0.45;
}
hr {
    margin: 10px 0;  
}

.bd-white { border: 1px solid #FFF;}

.text-ticket-type {
    padding-top: 75px;
    text-align: center;
}
.pd-b-50 { padding-bottom: 50px;}
.show-name-blue {
    display: inline-block;
    padding: 8px 15px;
    height: 40px;
    border-radius: 10px;
    background-color: #167EE5;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    margin: auto;
}
.show-name-yellow {
    display: inline-block;
    padding: 8px 15px;
    height: 40px;
    border-radius: 10px;
    background-color: #FFC800;
    color: #FFF;
    text-align: center;
    font-weight: bold;
    margin: auto;
}
.text-register-for{
    color: #167ee5;
    text-decoration: underline !important;
}
a {
    text-decoration: none !important;
    color: inherit;
}
a:hover, a:focus, a:visited, a:active {
    color: inherit;
    text-decoration: none !important;
}
.custom-title-class {
    font-family: 'Noto Sans Thai', sans-serif !important;
}
.swal2-title {
    font-family: 'Noto Sans Thai', sans-serif !important;
}
.swal2-content {
    font-family: 'Noto Sans Thai', sans-serif !important;
}
.swal2-text {
    font-family: 'Noto Sans Thai', sans-serif !important;
}

.swal2-button {
    font-family: 'Noto Sans Thai', sans-serif !important;
}
.swal2-modal.swal2-show {
    border-radius: 10px;
}
button.swal2-confirm.swal2-styled{
    border-radius: 10px;
    font-family: 'Noto Sans Thai', sans-serif !important;
}
button.swal2-cancel.swal2-styled{
    border-radius: 10px;
    font-family: 'Noto Sans Thai', sans-serif !important;
}
.select2-container--default .select2-selection--single {
    border: 1px solid #BFBFBF !important;
    border-radius: 10px !important;
    font-size: 14px !important;
}
span.select2-selection.select2-selection--single{
    padding: 6px;
    height: 42px;
}
.select2-dropdown {
    border: 1px solid #BFBFBF !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #BFBFBF !important;
}
.select2-selection__placeholder{
    color: #E0E0E0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    position: relative;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    width: 12px !important;
    height: 12px !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23BFBFBF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    position: absolute !important;
    top: 50% !important;
    left: 0% !important;
    border: none !important;
}

.select2-container .select2-selection.is-invalid {
    border-color: #dc3545 !important;
    padding-right: calc(1.5em + .75rem);
    background-repeat: no-repeat;
    background-position: right calc(.375em + 1.5rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.select2-container .select2-selection.is-valid {
    border-color: #198754 !important;
    padding-right: calc(1.5em + .75rem);
    background-repeat: no-repeat;
    background-position: right calc(.375em + 1.5rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

#birthdayerror{
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545
}

#showmore{
    text-decoration: underline;
    cursor: pointer;
}

.ui-autocomplete{
    position: absolute;
    display: block;
    background: #FFF;
    padding: 5px;
    font-size: 14px !important;
    border: 1px solid rgb(255, 255, 255);
    width: 696px;
    list-style: none;
    z-index: 9;
    max-height: 300px !important;
    overflow: auto;
    padding: 1rem;
    box-shadow: rgba(19, 25, 38, 0.2) 0px 24px 48px;
    border-radius: .5rem;
  }
.ui-menu-item{ 
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: .5rem;
    --tw-bg-opacity: 1;
    background-color: rgb(244 247 252 / var(--tw-bg-opacity));
    margin-bottom: .5rem;
}
.ui-helper-hidden-accessible { display:none; }

.form-control.is-invalid {
    background-image: none !important;
    padding-right: inherit !important;
    background-position: inherit !important;
    background-size: inherit !important;
}
.form-control.is-valid {
    background-image: none !important;
    padding-right: inherit !important;
    background-position: inherit !important;
    background-size: inherit !important;
}
.was-validated .form-control:invalid {
    background-image: none !important;
    padding-right: inherit !important;
    background-position: inherit !important;
    background-size: inherit !important;
}
.was-validated .form-control:valid {
    background-image: none !important;
    padding-right: inherit !important;
    background-position: inherit !important;
    background-size: inherit !important;
}
.invalid-feedback.with-icon::before, .with-icon::before {
    content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-right: 0.2rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}
.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    background: #bfbfbf;
    border-color: #bfbfbf !important;
}
button.select2-selection__clear {
    border: 0;
    background: inherit;
}
.form-control {
    height: 42px;
}
img.img-radius {
    border-radius: 6px;
}
label.form-label{
    font-size: 15px !important;
    font-weight: 700;
}