/* 전체 초기화 */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: rgb(28, 32, 36);
    font-family: 'Noto Sans KR', sans-serif;
    font-weight: 400;
}

a {
    text-decoration: none;
    color: inherit;
}

ul, li {
    list-style: none;
}
a,span,h1,h2,h3,h4,h5,h6,p,label,strong {
    -webkit-transform: rotate(-0.028deg);
        -ms-transform: rotate(-0.028deg);
            transform: rotate(-0.028deg);
}


/**
 * PC 버전 CSS
 */

/* 공통 컨테이너 */
.container {
    width: 100%;
    max-width: 1024px;
    padding: 0 16px;
    margin: 0 auto;
}

/* 헤더 영역 */
header {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: 2px solid rgb(62, 99, 221);
    -webkit-box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),
        0px 2px 3px -2px rgba(0, 0, 51, 0.06),
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);
    box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),
        0px 2px 3px -2px rgba(0, 0, 51, 0.06),
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);
    z-index: 999;
}

.header-top {
    padding: 23px 0;
    border-bottom: 1px solid rgb(232, 232, 236);
}

.header-top .inner-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.header-top .logo {
    font-size: 0;
}
.header-top .logo img {
    height: 48px;
}

.header-top .user-menu a {
    display: inline-block;
    padding: 0 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 32px;
}
.header-top .user-menu a.login {
    background-color: rgba(0, 0, 51, 0.06);
    color: rgba(0, 7, 20, .62);
}
.header-top .user-menu a.signup {
    margin-left: 16px;
    background-color: rgba(0, 71, 241, 0.07);
    color: rgba(0, 43, 183, 0.77);
}

/* 메인 네비게이션 */
.main-nav {
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
}

.main-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.main-nav li {
    padding: 0 32px;
    text-align: center;
}

.main-nav a {
    display: block;
    padding: 20px 0;
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.main-nav a:hover {
    color: #1a6ed8;
}

/* 메인 영역 */
main {
    margin-top: 160px;
    padding: 32px 0;
}

/* 메인 배너 */
.main-banner {
    width: 100%;
    margin-bottom: 32px;
}

.main-banner .banner-wrapper {
    position: relative;
    height: 496px;
    border-radius: 12px;
    overflow: hidden;
    -webkit-box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),  
        0px 2px 3px -2px rgba(0, 0, 51, 0.06), 
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);
            box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),  
        0px 2px 3px -2px rgba(0, 0, 51, 0.06), 
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);
}
.main-banner img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    /* -o-object-fit: cover;
       object-fit: cover; */
}

/* 로또 정보 섹션 */
.lotto-info {
    margin-bottom: 32px;
}

.lotto-info .round-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 16px;
}

.lotto-info .round-box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border: 1px solid rgb(203, 192, 170);
    border-radius: 9px;
    padding: 9px 8px;
    text-align: center;
    -webkit-box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),  
        0px 2px 3px -2px rgba(0, 0, 51, 0.06), 
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);
            box-shadow:
        0px 0px 0px 1px rgba(0, 0, 0, 0.1),  
        0px 2px 3px -2px rgba(0, 0, 51, 0.06), 
        0px 3px 12px -4px rgba(0, 0, 0, 0.1),
        0px 4px 16px -8px rgba(0, 0, 0, 0.1);

}

.lotto-info .round-box h3 {
    margin-bottom: 6px;
    color: rgb(140, 122, 94);
    font-size: 16px;
    font-weight: 500;
}

.lotto-info .round-box .count {
}

.lotto-info .round-box .count .number {
    color: rgb(229, 72, 77);
    font-size: 24px;
    font-weight: 700;
}

.lotto-info .round-box .count .unit {
    color: #000;
    font-size: 16px;
    font-weight: 700;
}

/* 로또 결과 섹션 */
.lotto-results {
    margin-bottom: 32px;
}

.lotto-results .inner-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 16px;
}

.lotto-results .result-box {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-radius: 18px;
    padding: 16px;
    -webkit-box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.1),
    0 2px 3px -2px rgba(0, 0, 51, 0.06),
    0 4px 12px -2px rgba(0, 0, 0, 0.1);
            box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.1),
    0 2px 3px -2px rgba(0, 0, 51, 0.06),
    0 4px 12px -2px rgba(0, 0, 0, 0.1);
}

.lotto-results .result-box .box-header {
}
.lotto-results .result-box .box-header .label {
    font-weight: 700;
}
.lotto-results .result-box .box-header .round {
    color: rgb(220, 62, 66);
    font-weight: 700;
}
.lotto-results .result-box .box-header .status {
    font-size: 16px;
    font-weight: 400;
}


.lotto-results .result-box .box-middle {
    margin-top: 16px;
}
.lotto-results .result-box .box-middle .label {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}
.lotto-results .result-box .box-middle .ball-wrapper::after {
    content: '';
    display: block;
    clear: both;
}
.lotto-results .result-box .box-middle .ball-wrapper span {
    float: left;
    display: block;
}
.lotto-results .result-box .box-middle .ball-wrapper span + span {
    margin-left: 8px;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 32px;
    text-align: center;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-orange {
    background-color: #EF5F00;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-red {
    background-color: #DC3E42
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-gray {
    background-color: #80838D;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-yellow {
    background-color: #D5AE39;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-blue {
    background-color: #0090FF;
}
.lotto-results .result-box .box-middle .ball-wrapper .ball.ball-darkgray {
    background-color: #1C2024;
}
.lotto-results .result-box .box-middle .ball-wrapper .plus {
    color: #686A6D;
    font-size: 20px;
    font-weight: 500;
    line-height: 32px;
}

.lotto-results .result-box .box-table {
    margin-top: 16px;
}
.lotto-results .result-box .box-table table {
    width: 100%;
    border-collapse: collapse;
}

.lotto-results .result-box .box-table table tr {
    border-bottom: 1px solid #E0E1E6;
}
.lotto-results .result-box .box-table table th,
.lotto-results .result-box .box-table table td {
    padding: 8px;
    font-size: 14px;
    text-align: right;
}

.lotto-results .result-box .box-table table th {
    font-weight: 700;
}

.lotto-results .result-box .box-table table .rank {
    text-align: left;
}
.lotto-results .result-box .box-table table .result {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4.5px;
    font-size: 12px;
    font-weight: 500;
    line-height: 16px;
}
.lotto-results .result-box .box-table table .result.blue {
    background-color: #E5F4FE;
    color:rgba(0, 109, 203, 0.95);
}
.lotto-results .result-box .box-table table .result.red {
    background-color: #FEEBEC;
    color: rgba(196, 0, 6, 0.827);
}
.lotto-results .result-box .box-table table .result.yellow {
    background-color: #FFEFD6;
    color: rgb(204, 78, 0);
}

.blue { color: #3498db; }
.red { color: #e74c3c; }
.orange { color: #e67e22; }

/* 회원가입 배너 */
.join-banner {
    width: 100%;
    background-color: #F9F9FB;
    padding: 48px 0;
    text-align: center;
}

.join-banner h2 {
    margin-bottom: 80px;
    font-size: 28px;
    font-weight: 700;
}
.join-banner h2 .colored {
    color: rgba(0, 43, 183, 0.773);
    font-weight: 700;
}

.join-banner .space {
    margin-top: 32px;
    padding: 8px 0;
    border-top: 1px solid rgb(232, 232, 236);
    border-bottom: 1px solid rgb(232, 232, 236);
}

/* 푸터 영역 */
footer {
    background-color: #E0E1E6;
}

.footer-links {
    background-color: #8B8D98;
    text-align: center;
}

.footer-links .footer-menu {
    font-size: 0;
}
.footer-links .footer-menu .menu-item {
    display: inline-block;
    padding: 16px;
    vertical-align: middle;
}
.footer-links .footer-menu .menu-item a {
    display: block;
    font-size: 14px;
    color: #fff;
    line-height: 24px;
}

.footer-certifications .certifications-wrapper{
    padding: 32px 0;
}
.footer-certifications .certifications-wrapper:after {
    content: '';
    display: block;
    clear: both;
}
.footer-certifications .certifications-wrapper .cert-item {
    float: left;
    width: 16.6666%;
    text-align: center;
}
.footer-certifications .certifications-wrapper .cert-item img {
    margin-bottom: 8px;
    border-radius: 50%;
}
.footer-certifications .certifications-wrapper .cert-item .cert-label {
    font-size: 14px;
    font-weight: 700;
    line-height: 21px;
}
.footer-certifications .certifications-wrapper .cert-item .cert-text {
    margin-top: 8px;
    font-size: 12px;
    line-height: 18px;
}


/**
 * Mobile 버전 CSS
 */ 
.is-mobile .main-nav,
.is-mobile .header-top .user-menu {
    display: none;
}
.is-mobile .container {
    max-width: 767px;
}
.is-mobile .header-top {
    padding: 28px 0;
    border-bottom: 0;
}
.is-mobile .header-top .inner-wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}
.is-mobile .header-top .ham-btn {
    display: block;
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: 0;
    font-size: 0;
}
.is-mobile .header-top .logo img {
    height: 40px;
}
.is-mobile .main-banner .banner-wrapper {
    height: 21vh;
}
.is-mobile .lotto-info .round-boxes {
    display: block;
}
.is-mobile .lotto-info .round-boxes::after {
    content: '';
    display: block;
    clear: both;
}
.is-mobile .lotto-info .round-boxes .round-box {
    float: left;
    width: calc(50% - 4px );
    margin-bottom: 8px;
}
.is-mobile .lotto-info .round-boxes .round-box:nth-child(even) {
    margin-left: 8px;
}
.is-mobile main {
    margin-top: 96px;
}
.is-mobile .lotto-results .inner-wrap {
    display: block;
}
.is-mobile .lotto-results .result-box + .result-box {
    margin-top: 16px;
}
.is-mobile .join-banner h2 {
    text-align: left;
}
.is-mobile .footer-links .footer-menu .menu-item {
    padding: 16px 8px;
}
.is-mobile .footer-certifications .certifications-wrapper {
    padding: 32px 0 0;
}
.is-mobile .footer-certifications .certifications-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}
.is-mobile .footer-certifications .certifications-wrapper .cert-item {
    width: 100%;
}

/* 오버레이 */
.is-mobile .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.is-mobile .overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* 사이드 메뉴 */
.is-mobile .side-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 75%;
    height: 100%;
    padding: 24px;
    background: white;
    border-right: 1px solid rgb(28, 32, 36);
    z-index: 1002;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.is-mobile .side-menu.active {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
}

.is-mobile .side-menu .close-button {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 16px;
    height: 16px;
    padding: 0;
    background-color: transparent;
    border: 0;
    opacity: .7;
}
.is-mobile .side-menu .close-button svg {
    width: 100%;
    height: 100%;
}
.is-mobile .side-menu .inner-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    height: 100%;
}
.is-mobile .side-menu .side-menu-logo {
    font-size: 0;
    text-align: center;
}
.is-mobile .side-menu .side-menu-logo img {
    width: auto;
    height: 40px;
}
.is-mobile .side-menu .side-menu-nav {
    height: 100%;
}
.is-mobile .side-menu .side-menu-nav li {
    padding: 8px;
}
.is-mobile .side-menu .side-menu-nav li + li {
    border-top: 1px solid rgb(205, 206, 214);
}
.is-mobile .side-menu .side-menu-nav li a {
    display: block;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}
.is-mobile .side-menu .user-menu {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-align: center;
}
.is-mobile .side-menu .user-menu a { 
    display: block;
    padding: 0 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    line-height: 32px;
}
.is-mobile .side-menu .user-menu a.login {
    background-color: rgba(0, 0, 51, 0.06);
    color: rgba(0, 7, 20, .62);
}
.is-mobile .side-menu .user-menu a.signup {
    margin-top: 8px;
    background-color: rgba(0, 71, 241, 0.07);
    color: rgba(0, 43, 183, 0.77);
}