@charset "utf-8";

/* --------------------------------------------
 * HanbitSoft Service Development Team
 * GEM TW My Card Stylesheet
 * Author - sgp8116@hanbitsoft.co.kr Apr 2025
----------------------------------------------- */

/* CSS Reset
-------------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
img,
strong,
small,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
select,
input,
button,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure,
figcaption {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: inherit;
}
img,
fieldset,
button {
    border: 0;
}
article,
aside,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
    display: block;
}
html,
body {
    width: 100%;
    height: 100%;
    line-height: 1.2;
    font-size: 16px;
    color: #000;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
}
img {
    width: 100%;
    vertical-align: middle;
}
ol,
ul {
    list-style: none;
}
a {
    text-decoration: none;
    color: #000;
}
a:hover,
a:focus,
a:active {
    text-decoration: none;
    color: #181c26;
}
strong,
em {
    font-weight: normal;
}
em {
    font-style: normal;
}
button {
    font-family: inherit;
    cursor: pointer;
    border: 0;
    outline: 0;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
input[type="text"]:-ms-clear {
    display: none !important;
}
caption,
legend {
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    visibility: hidden;
}
input {
    font-family: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
}
input[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    cursor: pointer;
}
input[type="text"],
input[type="password"],
input[type="submit"],
input[type="search"] {
    border-radius: 0;
    outline: 0;
}
input:checked[type="checkbox"] {
    background-color: #fff;
    -webkit-appearance: checkbox;
    cursor: pointer;
}
input[type="checkbox"] {
    background-color: #fff;
    -webkit-appearance: checkbox;
    cursor: pointer;
}
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="file"] {
    -webkit-appearance: button;
    border-radius: 0;
    cursor: pointer;
}
input[type="text"]::-ms-clear {
    display: none;
}
/* placeholder */
.placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
} /* IE9 이하를 위한 css */
input::-webkit-input-placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
}
input:-ms-input-placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
} /* IE */
input:-moz-input-placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
} /* Firefox */
input::-ms-input-placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
    transform: scale(0.55) translateX(-40%);
} /* IE */
input::placeholder {
    color: #999;
    font-size: 1rem;
    font-weight: 400;
    opacity: 1;
} /* IE10 이상을 위한 css */

/* Reserved Class
-------------------------------------------------------------- */
.irPm {
    display: block;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    overflow: hidden;
}
.irWa {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}
.blind {
    position: absolute;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    margin: -1px;
    width: 1px;
    height: 1px;
}
.show {
    display: block;
}
.hide {
    display: none;
}
.fL {
    float: left;
}
.fR {
    float: right;
}
.clearFix:after {
    display: block;
    content: "";
    clear: both;
}

/* Styles
-------------------------------------------------------------- */
html,
body {
    font-family: "Noto Sans Thai", "Inter", Arial, Verdana, sans-serif;
    font-optical-sizing: auto;
    width: 100%;
    height: 100%;
}
body {
    display: flex;
    flex-direction: column;
}

/* global header */
.globalheader {
    background: #000;
}
.globalheader .globalheader-content {
    display: flex;
    align-items: center;
    max-width: 1280px;
    height: 68px;
    margin: 0 auto;
    padding-left: 36px;
    box-sizing: border-box;
}
.globalheader .globalheader-content .globalheader-logo {
    background: url(../images/logo-header.png) no-repeat 0 0 / contain;
    width: 112px;
    height: 48px;
}
.globalheader .globalheader-content .globalheader-logo .globalheader-logo-link {
    display: block;
    height: 48px;
}
.globalheader .globalheader-content .globalnav {
    margin-left: auto;
    display: flex;
}
.globalheader .globalheader-content .globalnav .globalnav-list {
    display: flex;
    align-items: center;
}
.globalheader .globalheader-content .globalnav .globalnav-list .globalnav-item {
    position: relative;
    padding: 0 25px;
}
.globalheader
    .globalheader-content
    .globalnav
    .globalnav-list
    .globalnav-item::before {
    content: "";
    background: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 1px;
    height: 18px;
}
.globalheader
    .globalheader-content
    .globalnav
    .globalnav-list
    .globalnav-item:first-child:before {
    display: none;
}
.globalheader
    .globalheader-content
    .globalnav
    .globalnav-list
    .globalnav-item
    .globalnav-link {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.3px;
    color: #fff;
}
.globalheader .globalheader-content .globalnav .globalnav-login {
    padding-left: 5px;
}
.globalheader .globalheader-content .globalnav .globalnav-login .login,
.globalheader .globalheader-content .globalnav .globalnav-login .logout {
    border-radius: 5px;
    border: 1px solid #fff;
    overflow: hidden;
}
.globalheader
    .globalheader-content
    .globalnav
    .globalnav-login
    .login
    .link-login,
.globalheader
    .globalheader-content
    .globalnav
    .globalnav-login
    .logout
    .button-logout {
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 42px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.3px;
    color: #fff;
}

/* visual area */
.visualarea {
    background: url(../images/common-background-image.jpg) no-repeat 50% 0 /
        cover;
    width: 100%;
    max-width: 2560px;
    height: 520px;
    margin: 0 auto;
}

/* contents */
.section-content {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}

/* item badge */
.hot,
.new,
.mycard,
.best {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95px;
    height: 35px;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
}
.hot {
    background: #eb2525;
}
.new {
    background: #09724d;
}
.best {
    background: #094172;
}

.mycard {
    background: url(../images/mycard.png) no-repeat 50% 50% / cover;
    width: 130px;
    height: 45px;
}

/* 뒤로가기 */
.go-back {
    border-bottom: 1px solid #d4d4d4;
    padding-bottom: 30px;
}
.go-back .button-go-back {
    background: transparent;
    position: relative;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -1.1px;
    color: #000;
    padding-left: 30px;
}
.go-back .button-go-back::before {
    content: "";
    background: url(../images/arrow-left.png) no-repeat 0 0 / cover;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
}

/* pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-top: 50px;
}
.pagination button,
.pagination strong {
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    font-size: 18px;
    font-weight: 500;
    color: #7d7d7d;
}
.pagination button:hover {
    color: #000;
}
.pagination strong {
    color: #000;
}

/* global footer */
.globalfooter {
    background: #000;
    padding: 51px 0 50px;
    margin-top: auto;
}
.globalfooter .globalfooter-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 27px;
    color: #7d7d7d;
}
.globalfooter .globalfooter-content .grade {
    display: flex;
    align-items: center;
    gap: 9px;
}
.globalfooter .globalfooter-content .grade .img-grade {
    background: url(../images/grade.jpg) no-repeat 0 0 / cover;
    width: 58px;
    height: 58px;
}
.globalfooter .globalfooter-content .grade .text {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: -0.6px;
}
.globalfooter .globalfooter-content .copyright {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: -0.65px;
}

@media screen and (max-width: 1300px) {
    .globalheader .globalheader-content {
        padding-right: 36px;
    }

    .section-content {
        padding: 0 36px;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 768px) {
    body {
        display: block;
    }
    .globalheader {
        background: #fff;
    }
    .globalheader .globalheader-content {
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        height: auto;
        padding: 0;
    }
    .globalheader .globalheader-content .globalheader-logo {
        background: #000;
        width: 100%;
        height: 90px;
        padding: 23px 29px;
        box-sizing: border-box;
    }
    .globalheader
        .globalheader-content
        .globalheader-logo
        .globalheader-logo-link {
        background: url(../images/m-logo-header.png) no-repeat 0 0 / contain;
        width: 90px;
        height: 44px;
    }
    .globalheader .globalheader-content .globalnav {
        margin-left: initial;
        display: block;
        width: 100%;
        padding: 0 29px;
        box-sizing: border-box;
    }
    .globalheader .globalheader-content .globalnav .globalnav-list {
        border-bottom: 1px solid #333;
        padding: 20px 0 19px;
    }
    .globalheader
        .globalheader-content
        .globalnav
        .globalnav-list
        .globalnav-item {
        padding: 0;
        width: calc(100% / 3);
        text-align: center;
    }
    .globalheader
        .globalheader-content
        .globalnav
        .globalnav-list
        .globalnav-item::before {
        background: rgba(51, 51, 51, 0.5);
    }
    .globalheader
        .globalheader-content
        .globalnav
        .globalnav-list
        .globalnav-item
        .globalnav-link {
        font-size: 14px;
        color: #333;
    }
    .globalheader .globalheader-content .globalnav .globalnav-login {
        position: absolute;
        top: 28px;
        right: 29px;
    }
    .globalheader
        .globalheader-content
        .globalnav
        .globalnav-login
        .login
        .link-login,
    .globalheader
        .globalheader-content
        .globalnav
        .globalnav-login
        .logout
        .button-logout {
        width: 82px;
        height: 34px;
        font-size: 14px;
    }

    .section-content {
        padding: 0 29px;
    }

    .visualarea {
        display: none;
    }

    .hot,
    .new,
    .best {
        width: 57px;
        height: 21px;
        font-size: 10px;
    }

    .mycard {
        width: 80px;
        height: 30px;
        padding: 0;
    }

    .go-back {
        padding-bottom: 20px;
    }
    .go-back .button-go-back {
        font-size: 14px;
        letter-spacing: -0.7px;
        padding-left: 20px;
    }
    .go-back .button-go-back::before {
        width: 16px;
        height: 16px;
    }

    .pagination {
        padding-top: 20px;
    }
    .pagination button,
    .pagination strong {
        width: 16px;
        height: 16px;
        font-size: 12px;
    }

    .globalfooter {
        padding: 23px 42px;
    }
    .globalfooter .globalfooter-content {
        gap: 20px;
    }
    .globalfooter .globalfooter-content .grade {
        gap: 8px;
    }
    .globalfooter .globalfooter-content .grade .img-grade {
        flex-shrink: 0;
        width: 46px;
        height: 46px;
    }
    .globalfooter .globalfooter-content .grade .text {
        font-size: 8px;
        font-weight: 400;
    }
    .globalfooter .globalfooter-content .copyright {
        font-size: 8px;
    }
}
