:root{--blue:#0758d8;--navy:#062a68;--gold:#ffc62b;--bg:#f3f6fb;--text:#14233d;--line:#dfe6f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Noto Sans KR",sans-serif}a{text-decoration:none;color:inherit}.page-wrap,.header-inner,.hero-inner{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #e7ecf4}.header-inner{height:82px;display:flex;align-items:center;gap:24px}.brand{min-width:190px}.brand-mark{font-size:29px;font-weight:1000;letter-spacing:-2px;color:#0a3c90}.brand-mark span{color:#e6302f;margin-left:4px}.brand-sub{font-size:12px;font-weight:800;margin-top:4px}.top-nav{display:flex;flex:1;justify-content:center;gap:20px}.nav-item{font-size:12px;font-weight:800;text-align:center;color:#263753}.nav-icon{display:block;font-size:20px;color:#183f88;margin-bottom:6px}.nav-item.active,.nav-item.active .nav-icon{color:var(--blue)}.lang-select{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.hero{position:relative;background:linear-gradient(90deg,#031c4c 0%,#073278 45%,#061e50 100%);min-height:430px;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 58% 30%,rgba(255,196,30,.34),transparent 15%),linear-gradient(120deg,transparent 35%,rgba(255,255,255,.05));pointer-events:none}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 340px;gap:40px;padding:50px 0}.eyebrow{font-size:12px;color:#9fc6ff;letter-spacing:2px}.hero h1{font-size:48px;line-height:1.12;color:#fff;margin:10px 0}.hero h1 strong{color:var(--gold)}.hero-copy>p:last-of-type{color:#dce9ff;font-weight:700}.hero-actions{display:flex;gap:18px;margin-top:32px;flex-wrap:wrap}.hero-action{color:#fff;font-size:12px;font-weight:800;text-align:center}.hero-action span{display:flex;width:48px;height:48px;background:#1879f2;border-radius:13px;align-items:center;justify-content:center;margin:0 auto 8px;font-size:21px}.hero-action.green span{background:#19a95f}.hero-action.purple span{background:#7c45e7}.hero-action.orange span{background:#ff8a16}.hero-action.pink span{background:#eb3b78}.draw-card{background:rgba(4,22,61,.82);border:1px solid rgba(255,255,255,.24);border-radius:18px;color:#fff;text-align:center;padding:24px;box-shadow:0 15px 40px rgba(0,0,0,.25)}.draw-card-title{font-weight:900;font-size:17px}.draw-date{border-bottom:1px solid rgba(255,255,255,.18);padding:8px 0 14px}.prize-label{margin-top:18px}.prize{color:var(--gold);font-weight:1000;font-size:38px;margin-top:4px}.currency{font-weight:800}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.countdown div{display:flex;gap:4px;align-items:end;justify-content:center}.countdown b{font-size:24px}.countdown span{font-size:10px}.draw-button,.primary-btn{display:block;background:var(--blue);color:#fff;text-align:center;border-radius:8px;padding:12px 16px;font-weight:900}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-48px;position:relative;z-index:4}.card{background:#fff;border:1px solid #e3e9f3;border-radius:14px;padding:18px;box-shadow:0 5px 16px rgba(25,54,100,.06)}.card-title{font-size:18px;font-weight:1000;color:#103a82;margin-bottom:8px}.card-title em{font-size:10px;color:#fff;background:#ef2d2d;border-radius:12px;padding:4px 7px;font-style:normal}.muted{font-size:12px;color:#68758a}.result-label{background:#0758d8;color:#fff;text-align:center;padding:7px;border-radius:6px 6px 0 0;margin-top:13px;font-weight:900}.number-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:10px;background:#f7f9fc}.number-row span{background:#fff;border:1px solid #d8e0ec;border-radius:5px;text-align:center;font-size:25px;font-weight:1000;padding:9px 0}.mini-results{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.mini-results div{background:#f7f9fc;text-align:center;padding:10px 4px;border-radius:7px}.mini-results span{display:block;font-size:10px;color:#68758a}.mini-results b{font-size:18px}.stat-group{margin:12px 0}.stat-group>span{font-size:12px;font-weight:800}.ball-row,.small-ball-row,.tiny-number-row{display:flex;gap:10px;margin-top:8px}.ball-row b{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}.small-ball-row b{width:28px;height:28px;border-radius:50%;background:#f0f3f8;display:grid;place-items:center}.tiny-number-row b{font-size:12px;background:#f0f3f8;border-radius:4px;padding:6px}.summary-list{padding:0;margin:10px 0 22px;list-style:none}.summary-list li{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f6;padding:13px 0;font-size:12px}.outline-btn{display:block;border:1px solid var(--blue);color:var(--blue);text-align:center;border-radius:8px;padding:10px;font-weight:900}.quick-list{display:grid}.quick-list a{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid #edf1f6;font-size:13px;font-weight:800}.dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.generator-card,.contact-card{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;min-height:250px}.mode-tabs{display:flex;background:#f0f3f8;border-radius:7px;padding:3px}.mode-tabs button{flex:1;border:0;background:transparent;padding:8px;font-weight:800}.mode-tabs .active{background:var(--blue);color:#fff;border-radius:6px}.generated{font-size:38px;letter-spacing:12px;font-weight:1000;margin:15px 0;background:#fafbfd;border:1px solid #e6eaf1;padding:12px;border-radius:8px;white-space:nowrap}.regen-btn{border:0;background:transparent;color:var(--blue);font-weight:900;font-size:14px}.notice{display:block;margin-top:10px}.lotto-machine{font-size:95px;text-align:center}.contact-card p{font-size:14px}.primary-btn.compact{display:inline-block;padding:10px 28px}.ad-illustration{background:#0b4db5;color:#fff;height:150px;border-radius:15px;display:grid;place-items:center;text-align:center;font-size:28px;font-weight:1000;box-shadow:inset 0 0 0 12px #dbe7ff}.ad-scroll-section{margin-top:14px;background:#fff;border-radius:14px;padding:18px;border:1px solid #e3e9f3}.section-head{display:flex;justify-content:space-between;align-items:center}.section-head h2{font-size:21px;color:#103a82;margin:0 0 14px}.section-head a{border:1px solid #aac6ef;border-radius:8px;padding:8px 12px;font-size:12px;color:#0758d8}.ad-scroll-shell{position:relative}.ad-scroll-track{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px}.ad-scroll-track::-webkit-scrollbar{display:none}.ad-scroll-card{flex:0 0 265px;border:1px solid #e4e9f1;border-radius:10px;overflow:hidden;background:#fff}.ad-image{height:120px;background-size:cover;background-position:center;background-color:#dfe8f6;position:relative}.ad-image span{position:absolute;left:10px;bottom:8px;background:#fff;color:#0758d8;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:900}.ad-body{padding:12px}.ad-body b{display:block;font-size:14px;min-height:38px}.ad-body small{color:#758198}.scroll-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:#0758d8;color:#fff;font-size:28px;box-shadow:0 4px 14px rgba(0,0,0,.2);cursor:pointer}.scroll-arrow.left{left:-12px}.scroll-arrow.right{right:-12px}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e3e9f3;border-radius:12px;margin-top:14px}.trust-strip div{padding:17px;display:grid;grid-template-columns:auto 1fr;column-gap:9px}.trust-strip b{color:#17469a}.trust-strip span{font-size:11px;color:#718096}.footer{background:#fff;margin-top:18px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px;padding:28px 0}.footer-grid b{display:block;margin-bottom:12px}.footer-grid a{display:block;font-size:12px;margin:7px 0}.footer-grid p{font-size:12px;line-height:1.7}.footer-bottom{background:#062a68;color:#d6e3ff;text-align:center;padding:14px;font-size:11px}
@media(max-width:900px){.top-nav{display:none}.header-inner{height:68px}.lang-select{margin-left:auto}.hero-inner{grid-template-columns:1fr}.draw-card{max-width:420px}.dashboard-grid{grid-template-columns:repeat(2,1fr);margin-top:14px}.dual-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.page-wrap,.hero-inner{
    width:min(100% - 20px,1180px);
}
.brand-mark{font-size:24px}.brand-sub{font-size:10px}.hero{min-height:auto}.hero-inner{padding:32px 0}.hero h1{font-size:34px}.hero-actions{gap:12px}.hero-action{width:calc(33.333% - 8px)}.dashboard-grid{grid-template-columns:1fr}.generator-card,.contact-card{grid-template-columns:1fr}.lotto-machine,.ad-illustration{display:none}.generated{font-size:28px;letter-spacing:7px}.ad-scroll-card{flex-basis:82vw}.trust-strip{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.scroll-arrow{display:none}}
/* PC 화면 와이드 확장 */
@media (min-width: 1200px) {
    .page-wrap,
    .header-inner,
    .hero-inner {
        width: calc(100% - 60px);
        max-width: 1700px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero {
        min-height: 520px;
    }

    .hero-inner {
        grid-template-columns: minmax(0, 1fr) 390px;
        gap: 60px;
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .hero h1 {
        font-size: 58px;
    }

    .dashboard-grid {
        gap: 20px;
    }

    .card {
        padding: 22px;
    }

    .ad-scroll-card {
        flex-basis: 310px;
    }
}
/* ==================================================
   메뉴·카드·버튼 애니메이션
================================================== */

.nav-item,
.card,
.hero-action,
.primary-btn,
.outline-btn,
.draw-button,
.regen-btn {
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.nav-item:hover {
    color: var(--blue);
    transform: translateY(-4px);
}

.nav-item:hover .nav-icon {
    transform: scale(1.16);
    filter: drop-shadow(0 5px 8px rgba(7, 88, 216, .28));
}

.nav-icon {
    transition: transform .25s ease, filter .25s ease;
}

.card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 35px rgba(21, 61, 120, .15);
}

.hero-action:hover {
    transform: translateY(-6px);
}

.hero-action:hover span {
    animation: heroIconPulse .65s ease;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .25);
}

@keyframes heroIconPulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.16) rotate(-5deg);
    }

    100% {
        transform: scale(1);
    }
}


/* 버튼 빛 이동 효과 */

.primary-btn,
.draw-button,
.regen-btn {
    position: relative;
    overflow: hidden;
}

.primary-btn::after,
.draw-button::after,
.regen-btn::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -70%;
    width: 45%;
    height: 220%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .48),
        transparent
    );
    transform: rotate(25deg);
    transition: left .65s ease;
}

.primary-btn:hover::after,
.draw-button:hover::after,
.regen-btn:hover::after {
    left: 130%;
}

.primary-btn:hover,
.draw-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(7, 88, 216, .30);
}

.outline-btn:hover {
    background: var(--blue);
    color: #fff;
    transform: translateY(-3px);
}


/* ==================================================
   실제 공 회전형 행운번호 추첨기
================================================== */

.lotto-generator {
    grid-template-columns: minmax(300px, .85fr) minmax(430px, 1.15fr);
    min-height: 370px;
    gap: 25px;
    overflow: hidden;
}

.generator-info {
    width: 100%;
}

.lotto-machine-wrap {
    position: relative;
    min-height: 330px;
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(52, 143, 255, .25),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #031a49,
            #074198 55%,
            #03163d
        );
    overflow: hidden;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.15),
        inset 0 -25px 50px rgba(0,0,0,.30),
        0 14px 35px rgba(3, 37, 91, .20);
}

.lotto-machine-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 72% 15%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 85% 42%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 23% 65%, #fff 0 1px, transparent 2px);
    background-size: 140px 120px;
    opacity: .38;
    animation: machineStars 8s linear infinite;
    pointer-events: none;
}

.lotto-machine-wrap::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: -45%;
    background:
        radial-gradient(circle at 50% 50%, rgba(31,133,255,.30) 0 13%, transparent 35%),
        conic-gradient(
            from 15deg,
            transparent 0 20%,
            rgba(255,198,43,.13) 24%,
            transparent 29% 55%,
            rgba(90,173,255,.16) 60%,
            transparent 66% 100%
        );
    filter: blur(2px);
    animation: machineAura 16s linear infinite;
    pointer-events: none;
}

@keyframes machineAura {
    to {
        transform: rotate(360deg);
    }
}

@keyframes machineStars {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(120px);
    }
}

.machine-title {
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    z-index: 3;
    text-align: center;
    color: #bcd9ff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 2px;
}

#lottoMachine {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 330px;
    z-index: 2;
}

.machine-status {
    position: absolute;
    left: 50%;
    bottom: 16px;
    z-index: 4;
    transform: translateX(-50%);
    min-width: 125px;
    padding: 8px 16px;
    border-radius: 30px;
    background: rgba(1, 19, 54, .76);
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(8px);
}

.lotto-machine-wrap.is-spinning {
    animation: machineShake .16s linear infinite;
}

.lotto-machine-wrap.is-spinning .machine-status {
    background: #ffb000;
    color: #08204e;
    box-shadow: 0 0 22px rgba(255, 196, 43, .75);
}

@keyframes machineShake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-1px);
    }

    50% {
        transform: translateX(1px);
    }

    75% {
        transform: translateX(-1px);
    }

    100% {
        transform: translateX(0);
    }
}


/* 번호 표시 */

.lotto-result {
    display: grid;
    grid-template-columns: repeat(6, minmax(38px, 1fr));
    gap: 7px;
    margin: 18px 0;
}

.lotto-result span {
    display: grid;
    place-items: center;
    min-height: 62px;
    border: 1px solid #d9e3f1;
    border-radius: 10px;
    background:
        linear-gradient(180deg, #fff, #f3f7fd);
    color: #08275e;
    font-size: 29px;
    font-weight: 1000;
    box-shadow: 0 5px 12px rgba(26, 72, 135, .08);
}

.lotto-result span.number-drop {
    animation: numberDrop .48s cubic-bezier(.2,.8,.2,1);
}

@keyframes numberDrop {
    0% {
        opacity: 0;
        transform: translateY(-24px) rotateX(90deg) scale(.7);
    }

    60% {
        transform: translateY(5px) rotateX(0) scale(1.08);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* 추첨 버튼 */

.regen-btn {
    width: 100%;
    min-height: 50px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #0758d8, #087ff5);
    color: #fff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 1000;
    box-shadow: 0 9px 20px rgba(7, 88, 216, .24);
}

.regen-btn:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(7, 88, 216, .34);
}

.regen-btn:active {
    transform: translateY(1px) scale(.99);
}

.regen-btn:disabled {
    cursor: wait;
    opacity: .85;
}

.regen-btn.is-loading .button-icon {
    display: inline-block;
    animation: buttonSpin .6s linear infinite;
}

@keyframes buttonSpin {
    to {
        transform: rotate(360deg);
    }
}


/* 광고 카드 애니메이션 */

.ad-scroll-card {
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.ad-scroll-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 28px rgba(19, 55, 106, .16);
}


/* 모바일 */

@media (max-width: 900px) {
    .lotto-generator {
        grid-template-columns: 1fr;
    }

    .lotto-machine-wrap {
        min-height: 310px;
    }
}

@media (max-width: 600px) {
    .lotto-generator {
        padding: 15px;
    }

    .lotto-machine-wrap {
        min-height: 270px;
    }

    #lottoMachine {
        min-height: 270px;
    }

    .lotto-result {
        gap: 4px;
    }

    .lotto-result span {
        min-height: 51px;
        border-radius: 7px;
        font-size: 23px;
    }

    .card:hover {
        transform: none;
    }
}
.nav-item{
    transition:.3s;
}

.nav-item:hover{
    transform:translateY(-8px) scale(1.05);
}

.nav-item:hover .nav-icon{
    transform:rotate(8deg) scale(1.15);
}

.nav-item.active{
    box-shadow:0 15px 35px rgba(0,90,255,.25);
}

.nav-item.active::after{
    content:"";
    position:absolute;
    bottom:-10px;
    left:50%;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0b67ff;
    transform:translateX(-50%);
}
/* =========================================
   상단 메뉴 프리미엄 디자인
========================================= */

@media (min-width: 901px) {

    .header-inner {
        height: 100px;
        gap: 28px;
    }

    .top-nav {
        flex: 0 1 auto;
        justify-content: center;
        align-items: stretch;
        gap: 5px;
        padding: 8px 12px;
        border: 1px solid #edf2fa;
        border-radius: 20px;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 10px 30px rgba(19, 52, 102, .08);
    }

    .nav-item {
        position: relative;
        width: 76px;
        min-height: 69px;
        padding: 9px 5px 7px;
        border-radius: 15px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #19335d;
        font-size: 12px;
        font-weight: 900;
        line-height: 1.25;
        transition:
            transform .28s ease,
            background .28s ease,
            color .28s ease,
            box-shadow .28s ease;
    }

    .nav-icon {
        display: grid;
        place-items: center;
        width: 31px;
        height: 31px;
        margin: 0 auto 5px;
        border-radius: 10px;
        font-size: 21px;
        color: #0b4b9f;
        transition:
            transform .28s ease,
            color .28s ease,
            filter .28s ease;
    }

    .nav-item:hover {
        color: #0758d8;
        background: #f2f7ff;
        transform: translateY(-7px);
        box-shadow: 0 12px 24px rgba(7, 88, 216, .16);
    }

    .nav-item:hover .nav-icon {
        color: #0758d8;
        transform: scale(1.16) rotate(-6deg);
        filter: drop-shadow(0 6px 8px rgba(7, 88, 216, .25));
    }

    .nav-item.active {
        color: #0758d8;
        background: linear-gradient(180deg, #f7faff, #eaf3ff);
        box-shadow: 0 10px 24px rgba(7, 88, 216, .15);
    }

    .nav-item.active .nav-icon {
        color: #0758d8;
        animation: activeNavIcon 2s ease-in-out infinite;
    }

    .nav-item.active::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -13px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #1269ed;
        box-shadow: 0 0 0 5px rgba(18, 105, 237, .11);
        transform: translateX(-50%);
        animation: activeNavDot 1.6s ease-in-out infinite;
    }

    .lang-select {
        min-width: 103px;
        margin-left: auto;
        padding: 10px 12px;
        border-radius: 12px;
        font-weight: 800;
    }
}

@keyframes activeNavIcon {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

@keyframes activeNavDot {
    0%,
    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(-50%) scale(.68);
        opacity: .55;
    }
}
/* ==================================================
   메인 Hero 3단 배치
   왼쪽 제목 / 가운데 추첨기 / 오른쪽 추첨 카드
================================================== */

.hero-three-columns {
    display: grid;
    grid-template-columns:
        minmax(380px, 1fr)
        minmax(390px, 520px)
        minmax(330px, 390px);
    align-items: center;
    gap: 30px;
    min-height: 520px;
    padding-top: 38px;
    padding-bottom: 38px;
}


/* 왼쪽 제목 */

.hero-three-columns .hero-copy {
    position: relative;
    z-index: 4;
    min-width: 0;
}

.hero-three-columns .hero-description {
    color: #dce9ff;
    font-weight: 800;
}


/* 가운데 추첨기 */

.hero-machine {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-width: 0;
    height: 450px;
    overflow: visible;
}

.hero-machine-image {
    position: relative;
    z-index: 4;
    display: block;
    width: min(100%, 490px);
    max-height: 445px;
    object-fit: contain;
    object-position: center bottom;
    filter:
        drop-shadow(0 24px 22px rgba(0, 0, 0, .38))
        drop-shadow(0 0 18px rgba(44, 142, 255, .25));
    transform-origin: center bottom;
    animation: heroMachineFloat 4s ease-in-out infinite;
}

.hero-machine-glow {
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 1;
    width: 90%;
    height: 100px;
    border-radius: 50%;
    background: radial-gradient(
        ellipse,
        rgba(41, 153, 255, .75) 0%,
        rgba(21, 86, 218, .28) 42%,
        transparent 73%
    );
    transform: translateX(-50%);
    filter: blur(7px);
    animation: heroMachineGlow 2.4s ease-in-out infinite;
}

.hero-machine-ring {
    position: absolute;
    left: 50%;
    bottom: 17px;
    z-index: 2;
    border: 3px solid rgba(54, 169, 255, .9);
    border-radius: 50%;
    transform: translateX(-50%);
    pointer-events: none;
}

.hero-machine-ring.ring-one {
    width: 94%;
    height: 75px;
    box-shadow:
        0 0 12px #178cff,
        0 0 28px rgba(23, 140, 255, .85);
    animation: heroRingPulse 2s ease-in-out infinite;
}

.hero-machine-ring.ring-two {
    bottom: 30px;
    width: 72%;
    height: 50px;
    border-color: rgba(134, 72, 255, .78);
    box-shadow:
        0 0 10px rgba(134, 72, 255, .9),
        0 0 24px rgba(134, 72, 255, .55);
    animation: heroRingPulse 2s ease-in-out .5s infinite;
}

@keyframes heroMachineFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@keyframes heroMachineGlow {
    0%,
    100% {
        opacity: .72;
        transform: translateX(-50%) scale(.96);
    }

    50% {
        opacity: 1;
        transform: translateX(-50%) scale(1.06);
    }
}

@keyframes heroRingPulse {
    0%,
    100% {
        opacity: .65;
        transform: translateX(-50%) scale(.94);
    }

    50% {
        opacity: 1;
        transform: translateX(-50%) scale(1.04);
    }
}


/* 오른쪽 추첨 카드 */

.hero-three-columns .draw-card {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 390px;
    justify-self: end;
    border-color: rgba(80, 164, 255, .45);
    box-shadow:
        0 18px 45px rgba(0, 0, 0, .30),
        0 0 22px rgba(20, 105, 238, .18);
}


/* 와이드 PC */

@media (min-width: 1500px) {

    .hero-three-columns {
        grid-template-columns:
            minmax(420px, 1fr)
            minmax(470px, 570px)
            390px;
        gap: 34px;
        min-height: 540px;
    }

    .hero-machine {
        height: 480px;
    }

    .hero-machine-image {
        width: min(100%, 540px);
        max-height: 475px;
    }
}


/* 작은 PC 및 태블릿 */

@media (max-width: 1250px) {

    .hero-three-columns {
        grid-template-columns:
            minmax(340px, 1fr)
            minmax(310px, 390px)
            minmax(300px, 350px);
        gap: 18px;
    }

    .hero-machine {
        height: 390px;
    }

    .hero-three-columns .hero-copy h1 {
        font-size: 44px;
    }
}


/* 태블릿 */

@media (max-width: 1050px) {

    .hero-three-columns {
        grid-template-columns: 1fr 360px;
    }

    .hero-machine {
        display: none;
    }
}


/* 모바일 */

@media (max-width: 700px) {

    .hero-three-columns {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 25px;
        min-height: auto;
        padding-top: 30px;
        padding-bottom: 35px;
    }

    .hero-machine {
        display: flex;
        order: 2;
        width: 100%;
        height: 300px;
    }

    .hero-machine-image {
        width: min(100%, 340px);
        max-height: 295px;
    }

    .hero-three-columns .hero-copy {
        order: 1;
    }

    .hero-three-columns .draw-card {
        order: 3;
        max-width: none;
    }

    .hero-machine-ring.ring-one {
        width: 310px;
        max-width: 90%;
    }

    .hero-machine-ring.ring-two {
        width: 240px;
        max-width: 72%;
    }
}
/* 메인 PC 3열 배치 최종 강제 적용 */
@media screen and (min-width: 1101px) {

    .hero .hero-inner.hero-three-columns {
        display: grid !important;
        grid-template-columns:
            minmax(380px, 1fr)
            minmax(380px, 520px)
            380px !important;
        align-items: center !important;
        gap: 28px !important;
        width: calc(100% - 80px) !important;
        max-width: 1700px !important;
        min-height: 520px !important;
        margin: 0 auto !important;
        padding: 35px 0 !important;
    }

    .hero-three-columns .hero-copy {
        grid-column: 1 !important;
        min-width: 0 !important;
    }

    .hero-three-columns .hero-machine {
        grid-column: 2 !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        width: 100% !important;
        height: 460px !important;
        min-width: 0 !important;
    }

    .hero-three-columns .hero-machine-image {
        display: block !important;
        width: 100% !important;
        max-width: 500px !important;
        max-height: 455px !important;
        object-fit: contain !important;
    }

    .hero-three-columns .draw-card {
        grid-column: 3 !important;
        width: 100% !important;
        max-width: 380px !important;
        margin: 0 !important;
        justify-self: end !important;
        align-self: center !important;
    }
}
/* 뉴스 카드 태그를 사진 아래로 이동 */
.ad-scroll-card{
    position:relative;
}

.ad-image{
    position:relative;
    height:120px;
    overflow:hidden;
}

.ad-image span{
    position:absolute;
    left:10px;
    bottom:-34px;
    z-index:5;
    background:#eef5ff;
    color:#0758d8;
    border-radius:6px;
    padding:4px 8px;
    font-size:11px;
    font-weight:900;
}

.ad-body{
    position:relative;
    padding:38px 12px 12px;
}
.ad-image{
    aspect-ratio:4/3;
    height:auto;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    background-color:#fff;
}
/* ==========================
   Premium Footer
========================== */

.footer{

    margin-top:40px;

    background:#071f55;

    color:#fff;

}

.footer-grid{

    display:grid;

    grid-template-columns:1.3fr 1fr 1fr 1fr;

    gap:45px;

    padding:45px 0;

}

.footer-grid b{

    display:block;

    margin-bottom:18px;

    font-size:18px;

    color:#fff;

}

.footer-grid a{

    display:block;

    color:#cdd8ef;

    text-decoration:none;

    margin:9px 0;

    transition:.25s;

}

.footer-grid a:hover{

    color:#6ec2ff;

}

.footer-brand p{

    color:#cdd8ef;

    line-height:1.8;

}

.footer-bottom{

    display:grid;

    grid-template-columns:1fr 1fr auto;

    gap:35px;

    align-items:center;

    padding:22px 40px;

    border-top:1px solid rgba(255,255,255,.08);

    background:#04183f;

    font-size:12px;

    color:#d9e7ff;

}

.footer-bottom-left{

    line-height:1.8;

}

.footer-bottom-center{

    line-height:1.8;

}

.footer-bottom-right{

    display:flex;

    gap:24px;

    font-weight:700;

}

.footer-bottom-right div{

    display:flex;

    align-items:center;

    gap:8px;

    white-space:nowrap;

}

@media(max-width:900px){

.footer-grid{

grid-template-columns:1fr 1fr;

}

.footer-bottom{

grid-template-columns:1fr;

text-align:center;

}

.footer-bottom-right{

justify-content:center;

}

}
/* =========================================
   태국어 + 영어 프리미엄 푸터
========================================= */

.footer {
    position: relative;
    margin-top: 38px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 10% 10%,
            rgba(38, 117, 255, .18),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #061b49 0%,
            #072961 55%,
            #041536 100%
        );
    color: #ffffff;
}

.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .24;
    background:
        radial-gradient(circle at 15% 25%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 62% 20%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 85% 65%, #fff 0 1px, transparent 2px);
    background-size: 170px 140px;
}

.footer-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr 1fr;
    gap: 46px;
    padding-top: 48px;
    padding-bottom: 42px;
}

.footer-logo {
    font-size: 31px;
    color: #ffffff;
}

.footer-logo span {
    color: #ffca32;
    margin-left: 6px;
}

.footer-brand-text,
.footer-column p {
    margin: 15px 0 0;
    color: #c8d9f6;
    font-size: 13px;
    line-height: 1.85;
}

.footer-column b {
    display: block;
    margin-bottom: 16px;
    color: #ffffff;
    font-size: 15px;
}

.footer-column a {
    position: relative;
    display: block;
    margin: 10px 0;
    padding-left: 0;
    color: #bfd0eb;
    font-size: 12px;
    line-height: 1.55;
    transition:
        color .25s ease,
        transform .25s ease,
        padding-left .25s ease;
}

.footer-column a:hover {
    padding-left: 7px;
    color: #65c5ff;
    transform: translateX(2px);
}

.footer-notice {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(430px, 1fr);
    gap: 35px;
    align-items: center;
    padding: 25px max(30px, calc((100% - 1700px) / 2));
    border-top: 1px solid rgba(255, 255, 255, .10);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(2, 17, 49, .54);
    backdrop-filter: blur(12px);
}

.footer-notice-text {
    border-left: 3px solid #38a6ff;
    padding-left: 18px;
}

.footer-notice-th {
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.75;
}

.footer-notice-en {
    margin-top: 7px;
    color: #aebfdb;
    font-size: 11px;
    line-height: 1.7;
}

.footer-badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.footer-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 10px 12px;
    border: 1px solid rgba(118, 185, 255, .22);
    border-radius: 13px;
    background: rgba(255, 255, 255, .055);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .025),
        0 8px 20px rgba(0, 0, 0, .13);
    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.footer-badge:hover {
    transform: translateY(-4px);
    border-color: rgba(77, 170, 255, .55);
    background: rgba(25, 108, 218, .18);
}

.footer-badge-icon {
    display: grid;
    place-items: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: linear-gradient(145deg, #0c70e8, #15448f);
    font-size: 18px;
    box-shadow: 0 6px 15px rgba(3, 67, 159, .35);
}

.footer-badge b {
    display: block;
    margin: 0;
    color: #ffffff;
    font-size: 11px;
}

.footer-badge small {
    display: block;
    margin-top: 3px;
    color: #aabbd5;
    font-size: 9px;
    line-height: 1.35;
}

.footer-copyright {
    position: relative;
    z-index: 2;
    padding: 15px 20px;
    background: #03112e;
    color: #91a7c8;
    text-align: center;
    font-size: 10px;
    letter-spacing: .4px;
}

@media (max-width: 1100px) {

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-notice {
        grid-template-columns: 1fr;
    }

    .footer-badges {
        max-width: 700px;
    }
}

@media (max-width: 650px) {

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 35px;
        padding-bottom: 30px;
    }

    .footer-notice {
        padding: 23px 16px;
    }

    .footer-badges {
        grid-template-columns: 1fr;
    }

    .footer-badge {
        min-height: 61px;
    }

    .footer-notice-th {
        font-size: 12px;
    }

    .footer-notice-en {
        font-size: 10px;
    }
}
.footer-logo{
    font-size:36px;
}
.footer-badge{

backdrop-filter:blur(15px);

background:rgba(255,255,255,.08);

}
/* =========================================
   광고 자동 스크롤
========================================= */

.lotto-ad-section {
    margin-top: 18px;
    margin-bottom: 15px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #dce5f2;
    border-radius: 15px;
    background: #ffffff;
}

.lotto-ad-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
}

.lotto-ad-head > div:first-child {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lotto-ad-head h2 {
    margin: 0;
    color: #102a56;
    font-size: 18px;
    font-weight: 900;
}

.lotto-ad-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 25px;
    padding: 0 9px;
    border-radius: 7px;
    background: linear-gradient(135deg, #0e62d8, #0c3f99);
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .6px;
}

.lotto-ad-controls {
    display: flex;
    gap: 7px;
}

.lotto-ad-arrow {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #d7e2f1;
    border-radius: 9px;
    background: #ffffff;
    color: #174e9d;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: .22s ease;
}

.lotto-ad-arrow:hover {
    border-color: #246ed1;
    background: #edf5ff;
    transform: translateY(-2px);
}

.lotto-ad-slider {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 8px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.lotto-ad-slider::-webkit-scrollbar {
    display: none;
}

.lotto-ad-card {
    flex: 0 0 calc((100% - 56px) / 5);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce4ef;
    border-radius: 12px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    scroll-snap-align: start;
    box-shadow: 0 5px 15px rgba(14, 45, 89, .07);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.lotto-ad-card:hover {
    border-color: #b5cdf0;
    transform: translateY(-4px);
    box-shadow: 0 12px 25px rgba(14, 45, 89, .14);
}

.lotto-ad-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #edf2f8;
}

.lotto-ad-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.lotto-ad-card:hover .lotto-ad-image img {
    transform: scale(1.045);
}

.lotto-ad-body {
    padding: 12px 13px 13px;
}

.lotto-ad-category {
    display: inline-block;
    margin-bottom: 7px;
    color: #1763c4;
    font-size: 10px;
    font-weight: 900;
}

.lotto-ad-body strong {
    display: block;
    overflow: hidden;
    color: #122746;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lotto-ad-body small {
    display: block;
    overflow: hidden;
    margin-top: 6px;
    color: #7889a5;
    font-size: 10px;
    line-height: 1.5;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1200px) {

    .lotto-ad-card {
        flex-basis: calc((100% - 42px) / 4);
    }
}

@media (max-width: 900px) {

    .lotto-ad-card {
        flex-basis: calc((100% - 28px) / 3);
    }
}

@media (max-width: 650px) {

    .lotto-ad-section {
        margin-top: 12px;
        padding: 13px;
        border-radius: 13px;
    }

    .lotto-ad-head {
        margin-bottom: 11px;
    }

    .lotto-ad-head h2 {
        font-size: 16px;
    }

    .lotto-ad-arrow {
        width: 31px;
        height: 31px;
    }

    .lotto-ad-slider {
        gap: 10px;
    }

    .lotto-ad-card {
        flex-basis: 76%;
    }

    .lotto-ad-body {
        padding: 10px 11px 11px;
    }
}
/* 광고 카드 크기 강제 고정 */
.lotto-ad-section{
    width:100%;
    max-width:1700px;
    margin:18px auto 15px;
    padding:16px;
    box-sizing:border-box;
    overflow:hidden;
    border:1px solid #dce5f2;
    border-radius:15px;
    background:#fff;
}

.lotto-ad-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}

.lotto-ad-head > div:first-child{
    display:flex;
    align-items:center;
    gap:10px;
}

.lotto-ad-head h2{
    margin:0;
    font-size:17px;
}

.lotto-ad-slider{
    display:flex !important;
    gap:14px;
    width:100%;
    overflow-x:auto !important;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.lotto-ad-slider::-webkit-scrollbar{
    display:none;
}

.lotto-ad-card{
    display:block;
    flex:0 0 calc((100% - 56px) / 5) !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:hidden;
    border:1px solid #dce4ef;
    border-radius:12px;
    background:#fff;
    text-decoration:none;
    box-sizing:border-box;
}

.lotto-ad-image{
    position:relative;
    width:100% !important;
    height:150px !important;
    overflow:hidden !important;
    background:#edf2f8;
}

.lotto-ad-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    object-fit:cover !important;
}

.lotto-ad-body{
    padding:11px 12px;
}

.lotto-ad-body strong{
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:13px;
}

.lotto-ad-body small{
    display:block;
    overflow:hidden;
    margin-top:5px;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:10px;
}

@media(max-width:1200px){
    .lotto-ad-card{
        flex-basis:calc((100% - 42px) / 4) !important;
    }
}

@media(max-width:900px){
    .lotto-ad-card{
        flex-basis:calc((100% - 28px) / 3) !important;
    }
}

@media(max-width:650px){
    .lotto-ad-section{
        padding:12px;
    }

    .lotto-ad-card{
        flex-basis:82% !important;
    }

    .lotto-ad-image{
        height:190px !important;
    }
}
.header-right{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
}

.login-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    height:44px;
    padding:0 18px;
    border-radius:12px;
    background:#0b63f6;
    color:#fff;
    font-weight:700;
    text-decoration:none;
}
/* ===== Header Right ===== */

.header-inner{
    display:flex;
    align-items:center;
}

.top-nav{
    flex:1;
}

.lang-select{
    margin-left:auto;
}

.login-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:10px;
    padding:0 18px;
    height:42px;
    border-radius:12px;
    background:linear-gradient(135deg,#0b63f6,#1d7cff);
    color:#fff;
    text-decoration:none;
    font-weight:700;
    white-space:nowrap;
    transition:.25s;
}

.login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(0,90,255,.25);
}

@media(max-width:900px){

    .login-btn{
        height:36px;
        padding:0 12px;
        font-size:12px;
    }

}
/* ===== 언어선택 + 로그인 버튼 수정 ===== */

.header-inner{
    display:flex;
    align-items:center;
    gap:18px;
    overflow:visible;
}

.brand{
    flex:0 0 auto;
}

.top-nav{
    flex:1 1 auto;
    min-width:0;
}

.header-right{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:0;
    white-space:nowrap;
}

.header-right .lang-select{
    flex:0 0 auto;
    width:116px;
    height:44px;
    margin:0;
}

.login-btn{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:92px;
    height:44px;
    padding:0 14px;
    border-radius:12px;
    background:linear-gradient(135deg,#0758d8,#1681f8);
    color:#fff;
    font-size:13px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    box-shadow:0 7px 18px rgba(7,88,216,.22);
}

.login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(7,88,216,.32);
}

/* 메뉴가 긴 화면 */
@media(max-width:1450px){

    .header-inner{
        gap:10px;
    }

    .top-nav{
        gap:2px;
    }

    .nav-item{
        padding-left:8px;
        padding-right:8px;
        font-size:11px;
    }

    .header-right .lang-select{
        width:105px;
    }

    .login-btn{
        min-width:76px;
        padding:0 10px;
        font-size:12px;
    }
}

/* 모바일 */
@media(max-width:900px){

    .header-inner{
        flex-wrap:wrap;
        padding:10px 14px;
    }

    .brand{
        order:1;
    }

    .header-right{
        order:2;
        margin-left:auto;
    }

    .top-nav{
        order:3;
        flex:0 0 100%;
        width:100%;
        overflow-x:auto;
    }

    .header-right .lang-select{
        width:92px;
        height:38px;
        font-size:11px;
    }

    .login-btn{
        min-width:68px;
        height:38px;
        padding:0 9px;
        font-size:11px;
    }
}
/* ===== 상단 메뉴 프리미엄 디자인 ===== */

.top-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.nav-item{
    min-width:82px;
    height:74px;
    padding:8px 10px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border-radius:16px;
    color:#163b73;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    line-height:1.25;
    text-align:center;
    transition:all .25s ease;
}

.nav-item:hover{
    background:#f2f7ff;
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(13,77,165,.13);
}

.nav-item.active{
    background:linear-gradient(180deg,#eef6ff,#dcecff);
    color:#0758d8;
    box-shadow:0 10px 26px rgba(7,88,216,.16);
}

.nav-icon{
    width:34px;
    height:34px;
    margin-bottom:5px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    background:#edf5ff;
    color:#0758d8;
    font-size:18px;
    font-weight:900;
}

.nav-item.active .nav-icon{
    background:#0758d8;
    color:#fff;
}

.login-btn{
    border-radius:13px;
    background:linear-gradient(135deg,#0758d8,#1982f4);
    box-shadow:0 10px 24px rgba(7,88,216,.23);
}

.login-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(7,88,216,.32);
}

@media(max-width:1450px){

    .top-nav{
        gap:3px;
    }

    .nav-item{
        min-width:70px;
        height:70px;
        padding:7px 6px;
        font-size:11px;
    }

    .nav-icon{
        width:30px;
        height:30px;
        font-size:16px;
    }
}

@media(max-width:900px){

    .top-nav{
        justify-content:flex-start;
        overflow-x:auto;
        scrollbar-width:none;
        gap:5px;
        padding:5px 0;
    }

    .top-nav::-webkit-scrollbar{
        display:none;
    }

    .nav-item{
        flex:0 0 72px;
        min-width:72px;
        height:66px;
        font-size:10px;
    }

    .nav-icon{
        width:29px;
        height:29px;
        font-size:15px;
    }
}
/* 모바일 : 활성 메뉴 점 제거 */
@media (max-width:900px){

    .nav-item.active::after,
    .nav-item::after{
        display:none !important;
        content:none !important;
    }

}
@media (max-width:900px){

    .header-inner{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
    }

    .brand{
        width:100%;
        margin-bottom:12px;
    }

    .header-right{
        width:100%;
        display:flex;
        justify-content:flex-end;
        margin-bottom:12px;
    }

    .top-nav{
        width:100%;
        position:static !important;
        transform:none !important;

        display:flex;
        overflow-x:auto;

        background:#fff;
        border-radius:14px;

        padding:8px;

        box-shadow:none;
    }

}
/* ==================================================
   모바일 상단 최종 정리
================================================== */
@media (max-width:900px){

    .site-header{
        position:relative !important;
        z-index:100 !important;
        width:100% !important;
        height:auto !important;
        background:#fff !important;
        overflow:visible !important;
    }

    .site-header .header-inner{
        width:100% !important;
        max-width:none !important;
        height:auto !important;
        min-height:0 !important;
        padding:12px 14px 10px !important;

        display:flex !important;
        flex-wrap:wrap !important;
        align-items:center !important;
        gap:10px !important;

        background:#fff !important;
        overflow:visible !important;
    }

    /* 로고 */
    .site-header .brand{
        order:1 !important;
        flex:0 0 auto !important;
        width:auto !important;
        margin:0 !important;
    }

    .site-header .brand-mark{
        font-size:25px !important;
        line-height:1.1 !important;
    }

    .site-header .brand-sub{
        margin-top:5px !important;
        font-size:10px !important;
        white-space:nowrap !important;
    }

    /* 언어 + 로그인 */
    .site-header .header-right{
        order:2 !important;
        flex:0 0 auto !important;
        width:auto !important;
        margin:0 0 0 auto !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        gap:7px !important;
    }

    .site-header .lang-select{
        width:105px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 9px !important;
        border-radius:11px !important;
        font-size:11px !important;
    }

    .site-header .login-btn{
        width:auto !important;
        min-width:78px !important;
        height:40px !important;
        margin:0 !important;
        padding:0 11px !important;
        border-radius:11px !important;
        font-size:11px !important;
    }

    /* 메뉴는 헤더 안 두 번째 줄 */
    .site-header .top-nav{
        order:3 !important;
        position:static !important;
        inset:auto !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;
        transform:none !important;

        flex:0 0 100% !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:2px 0 0 !important;
        padding:6px 3px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:5px !important;

        overflow-x:auto !important;
        overflow-y:hidden !important;
        white-space:nowrap !important;

        background:#f7faff !important;
        border:1px solid #e3ecf8 !important;
        border-radius:14px !important;
        box-shadow:none !important;
        scrollbar-width:none !important;
    }

    .site-header .top-nav::-webkit-scrollbar{
        display:none !important;
    }

    .site-header .nav-item{
        position:relative !important;
        flex:0 0 70px !important;
        min-width:70px !important;
        width:70px !important;
        height:60px !important;
        margin:0 !important;
        padding:5px 3px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        border-radius:12px !important;
        font-size:9px !important;
        line-height:1.15 !important;
        text-align:center !important;
        box-shadow:none !important;
        transform:none !important;
    }

    .site-header .nav-icon{
        width:28px !important;
        height:28px !important;
        margin:0 0 4px !important;
        font-size:14px !important;
        border-radius:50% !important;
    }

    .site-header .nav-item.active{
        background:#e8f2ff !important;
        box-shadow:none !important;
    }

    /* 홈 아래 파란 점 완전 제거 */
    .site-header .nav-item::before,
    .site-header .nav-item::after,
    .site-header .nav-item.active::before,
    .site-header .nav-item.active::after{
        display:none !important;
        content:none !important;
        width:0 !important;
        height:0 !important;
    }

    /* 히어로 위 겹침 방지 */
    main,
    .hero{
        position:relative !important;
        clear:both !important;
        margin-top:0 !important;
    }
}
/* ==================================================
   상단 최종 미세조정
================================================== */

/* PC 메뉴 글씨 한 줄 */
@media (min-width:901px){

    .top-nav .nav-item{
        min-width:86px !important;
        width:86px !important;
        white-space:nowrap !important;
    }

    .top-nav .nav-item > span:last-child{
        display:block !important;
        white-space:nowrap !important;
        word-break:keep-all !important;
        font-size:11px !important;
        line-height:1.15 !important;
    }

    .top-nav{
        gap:4px !important;
    }
}


/* 모바일 상단 조금 더 예쁘게 */
@media (max-width:900px){

    .site-header .header-inner{
        padding:14px 14px 12px !important;
        gap:12px !important;
    }

    .site-header .brand{
        width:100% !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        margin-bottom:2px !important;
    }

    .site-header .brand-mark{
        font-size:26px !important;
    }

    .site-header .brand-sub{
        font-size:10px !important;
        margin-top:5px !important;
    }

    .site-header .header-right{
        width:100% !important;
        margin:0 !important;
        justify-content:flex-end !important;
        gap:8px !important;
    }

    .site-header .lang-select{
        width:145px !important;
        height:44px !important;
        border-radius:14px !important;
        padding:0 14px !important;
        background:#fff !important;
        border:1px solid #dbe5f3 !important;
        box-shadow:0 6px 16px rgba(24,61,120,.08) !important;
        font-size:12px !important;
    }

    .site-header .login-btn{
        min-width:105px !important;
        height:44px !important;
        border-radius:14px !important;
        font-size:12px !important;
        box-shadow:0 8px 20px rgba(7,88,216,.24) !important;
    }

    .site-header .top-nav{
        margin-top:2px !important;
        padding:8px 6px !important;
        border-radius:17px !important;
        background:#f8fbff !important;
        border:1px solid #e2ebf7 !important;
        box-shadow:0 7px 18px rgba(23,60,120,.06) !important;
    }

    .site-header .nav-item{
        flex:0 0 78px !important;
        min-width:78px !important;
        width:78px !important;
        height:64px !important;
        padding:5px 4px !important;
        border-radius:14px !important;
        font-size:9px !important;
        white-space:nowrap !important;
    }

    .site-header .nav-item > span:last-child{
        white-space:nowrap !important;
        word-break:keep-all !important;
    }

    .site-header .nav-icon{
        width:30px !important;
        height:30px !important;
        margin-bottom:4px !important;
        font-size:15px !important;
    }

    .site-header .nav-item.active{
        background:linear-gradient(180deg,#eaf4ff,#dcecff) !important;
        box-shadow:0 7px 16px rgba(7,88,216,.12) !important;
    }
}
/* ===== 모바일 헤더 한 줄 ===== */
@media (max-width:900px){

    .site-header .header-inner{
        display:grid !important;
        grid-template-columns:1fr auto auto;
        align-items:center;
        gap:8px;
        padding:12px 14px !important;
    }

    /* 로고 */
    .site-header .brand{
        order:0 !important;
        width:auto !important;
        margin:0 !important;
    }

    .site-header .brand-mark{
        font-size:24px !important;
    }

    .site-header .brand-sub{
        font-size:9px !important;
        margin-top:3px !important;
    }

    /* 언어 */
    .site-header .lang-select{
        width:120px !important;
        height:40px !important;
        margin:0 !important;
    }

    /* 로그인 */
    .site-header .login-btn{
        width:92px !important;
        min-width:92px !important;
        height:40px !important;
        margin:0 !important;
    }

    /* 메뉴는 아래 한 줄 */
    .site-header .top-nav{
        grid-column:1 / -1;
        margin-top:10px !important;
    }

}
@media (max-width:900px){

    /* 작은 글씨 숨김 */
    .brand-sub{
        display:none !important;
    }

    /* 로고 한 줄 */
    .brand{
        display:flex !important;
        align-items:center !important;
        height:44px !important;
        margin:0 !important;
    }

    /* 헤더 높이 줄이기 */
    .header-inner{
        padding:10px 14px !important;
        align-items:center !important;
    }

    /* 메뉴 위 공간 줄이기 */
    .top-nav{
        margin-top:6px !important;
    }

}
/* 모바일 언어/로그인 크기 수정 */
@media (max-width:900px){

    .header-right{
        gap:6px !important;
        margin-left:auto !important;
    }

    .lang-select{
        width:100px !important;
        height:38px !important;
        font-size:11px !important;
        padding:0 8px !important;
    }

    .login-btn{
        width:72px !important;
        min-width:72px !important;
        height:38px !important;
        padding:0 8px !important;
        font-size:11px !important;
    }

    .header-inner{
        padding-left:12px !important;
        padding-right:12px !important;
        overflow:hidden !important;
    }
}
/* 모바일 헤더 한 줄 최종 수정 */
@media(max-width:900px){

    .site-header .header-inner{
        width:100% !important;
        max-width:none !important;
        height:auto !important;
        min-height:70px !important;
        padding:10px 12px !important;
        margin:0 !important;

        display:grid !important;
        grid-template-columns:minmax(90px,1fr) 96px 72px !important;
        align-items:center !important;
        column-gap:6px !important;
        row-gap:9px !important;

        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    /* 로고 */
    .site-header .brand{
        width:auto !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
    }

    .site-header .brand-mark{
        font-size:22px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    .site-header .brand-sub{
        margin-top:5px !important;
        font-size:8px !important;
        white-space:nowrap !important;
    }

    /* 언어 선택 */
    .site-header .lang-select{
        width:96px !important;
        min-width:0 !important;
        height:38px !important;
        margin:0 !important;
        padding:0 6px !important;
        border-radius:11px !important;
        font-size:10px !important;
    }

    /* 로그인 */
    .site-header .login-btn{
        width:72px !important;
        min-width:72px !important;
        height:38px !important;
        margin:0 !important;
        padding:0 5px !important;
        border-radius:11px !important;
        font-size:10px !important;
        box-sizing:border-box !important;
    }

    /* 메뉴 아래 줄 */
    .site-header .top-nav{
        grid-column:1 / -1 !important;
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        box-sizing:border-box !important;
    }
}
/* 모바일 로그인 버튼 위치/크기 최종 수정 */
@media(max-width:900px){

    .site-header .header-inner{
        grid-template-columns:minmax(100px,1fr) 110px 92px !important;
        column-gap:8px !important;
        padding:10px 14px !important;
    }

    .site-header .header-right{
        display:contents !important;
    }

    .site-header .lang-select{
        grid-column:2 !important;
        width:110px !important;
        height:42px !important;
        margin:0 !important;
        justify-self:end !important;
        font-size:11px !important;
    }

    .site-header .login-btn{
        grid-column:3 !important;
        width:92px !important;
        min-width:92px !important;
        height:42px !important;
        margin:0 !important;
        padding:0 10px !important;
        justify-self:end !important;
        border-radius:12px !important;
        font-size:12px !important;
        font-weight:900 !important;
    }

    .site-header .top-nav{
        grid-column:1 / -1 !important;
    }
}
/* 모바일 로고 작은 글씨 다시 표시 */
@media(max-width:900px){

    .site-header .brand{
        display:flex !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:center !important;
        height:auto !important;
        min-height:42px !important;
        overflow:visible !important;
    }

    .site-header .brand-sub{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;

        height:auto !important;
        max-height:none !important;
        overflow:visible !important;

        margin-top:4px !important;
        padding:0 !important;

        color:#183b73 !important;
        font-size:8px !important;
        font-weight:800 !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }
}
.lotto-ad-slider {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action:auto;
}

.lotto-ad-slider::-webkit-scrollbar {
    display: none;
}

.lotto-ad-card {
    flex: 0 0 calc((100% - 56px) / 5);
    min-width: 250px;
    scroll-snap-align: start;
}

.lotto-ad-arrow {
    cursor: pointer;
    position: relative;
    z-index: 5;
}

@media (max-width: 900px) {
    .lotto-ad-card {
        flex: 0 0 78%;
        min-width: 260px;
    }
}
/* 광고문의 자동 슬라이더 */
.contact-ad-section {
    display: block;
    overflow: hidden;
    padding: 18px;
}

.contact-ad-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.contact-ad-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.contact-ad-info .card-title {
    margin: 0;
    color: #073f8c;
    font-size: 20px;
    font-weight: 900;
}

.contact-ad-info p {
    margin: 0;
    color: #536174;
    font-size: 14px;
}

.contact-ad-info p b {
    margin-left: 5px;
    color: #102a56;
}

.contact-ad-info > span {
    color: #34435a;
    font-size: 14px;
    font-weight: 700;
}

.contact-ad-controls {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.contact-ad-controls button {
    width: 36px;
    height: 36px;
    border: 1px solid #cbd9ee;
    border-radius: 10px;
    background: #fff;
    color: #0754b8;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.contact-ad-controls button:hover {
    background: #075bd8;
    color: #fff;
}

.contact-ad-slider {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action:auto;
}

.contact-ad-slider::-webkit-scrollbar {
    display: none;
}

.contact-ad-card {
    flex: 0 0 calc((100% - 18px) / 2);
    min-width: 0;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    border: 1px solid #cbd9ee;
    border-radius: 18px;
    background: #eaf2ff;
    scroll-snap-align: start;
    box-shadow: 0 8px 20px rgba(12, 62, 132, 0.08);
}

.contact-ad-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.contact-ad-card:hover img {
    transform: scale(1.03);
}

@media (max-width: 768px) {
    .contact-ad-section {
        padding: 14px;
    }

    .contact-ad-head {
        align-items: flex-start;
    }

    .contact-ad-info {
        gap: 8px 12px;
    }

    .contact-ad-info .card-title {
        width: 100%;
        font-size: 18px;
    }

    .contact-ad-info p {
        width: 100%;
        font-size: 13px;
    }

    .contact-ad-card {
        flex: 0 0 86%;
        aspect-ratio: 16 / 8;
    }
}
/* 광고문의 카드 아래 빈 공간 제거 */
.contact-card.contact-ad-section {
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    align-items: initial !important;
}

.contact-ad-slider {
    margin-bottom: 0 !important;
}

.contact-ad-card {
    height: 220px;
    aspect-ratio: auto !important;
}

@media (max-width: 768px) {
    .contact-card.contact-ad-section {
        padding: 14px !important;
    }

    .contact-ad-card {
        height: 190px;
    }
}
/* =========================================================
   JK LOTTO - 오락용 3D 행운번호 추첨기
   기존 lotto-home.css 뒤에 추가로 불러옵니다.
========================================================= */

.lotto-generator-3d{
  overflow:hidden;
  align-items:stretch;
}

.lotto-generator-3d .generator-info{
  position:relative;
  z-index:2;
}

.lotto-machine-stage{
  position:relative;
  min-height:470px;
  padding:18px;
  overflow:hidden;
  border:1px solid rgba(148,163,184,.25);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 15%, rgba(96,165,250,.22), transparent 32%),
    linear-gradient(155deg, #07111f 0%, #0d2037 48%, #08111e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -24px 55px rgba(0,0,0,.32),
    0 18px 45px rgba(15,23,42,.22);
}

.lotto-machine-stage::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.07) 44%, transparent 51%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 8px);
}

.lotto-machine-stage .machine-title{
  position:relative;
  z-index:2;
  margin-bottom:10px;
  color:#eaf5ff;
  font-weight:900;
  letter-spacing:.16em;
  text-align:center;
  text-shadow:0 0 18px rgba(96,165,250,.65);
}

.machine-screen{
  position:relative;
  z-index:2;
  width:100%;
  aspect-ratio:620 / 470;
  min-height:320px;
  overflow:hidden;
  border:1px solid rgba(191,219,254,.28);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 38%, rgba(30,64,175,.22), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.12));
  box-shadow:
    inset 0 0 35px rgba(96,165,250,.12),
    0 12px 25px rgba(0,0,0,.25);
}

#lottoMachine{
  display:block;
  width:100%;
  height:100%;
  touch-action:none;
}

.lotto-machine-stage .machine-status{
  position:relative;
  z-index:2;
  min-height:24px;
  margin-top:10px;
  color:#dbeafe;
  font-weight:800;
  text-align:center;
}

.machine-progress{
  position:relative;
  z-index:2;
  width:100%;
  height:7px;
  margin-top:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(148,163,184,.22);
}

.machine-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, #38bdf8, #60a5fa, #a78bfa);
  transition:width .35s ease;
}

.lotto-result{
  min-height:62px;
}

.lotto-result span{
  position:relative;
  transform-style:preserve-3d;
  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    opacity .35s ease,
    filter .35s ease;
}

.lotto-result-waiting span{
  opacity:.42;
  filter:grayscale(1);
}

.lotto-result span.is-revealed{
  opacity:1;
  filter:none;
  transform:translateY(-4px) rotateX(360deg) scale(1.08);
  animation:lottoResultPop .55s ease both;
}

.lotto-result span.is-current{
  box-shadow:
    0 0 0 4px rgba(96,165,250,.18),
    0 10px 22px rgba(37,99,235,.28);
}

.regen-btn.is-running{
  cursor:not-allowed;
  opacity:.72;
}

.regen-btn.is-running .button-icon{
  display:inline-block;
  animation:lottoSpin 1s linear infinite;
}

@keyframes lottoSpin{
  to{transform:rotate(360deg)}
}

@keyframes lottoResultPop{
  0%{transform:translateY(10px) scale(.55); opacity:0}
  65%{transform:translateY(-7px) scale(1.14); opacity:1}
  100%{transform:translateY(-4px) scale(1.08)}
}

@media (max-width:900px){
  .lotto-machine-stage{
    min-height:auto;
    padding:12px;
    border-radius:18px;
  }

  .machine-screen{
    min-height:270px;
  }
}

@media (max-width:520px){
  .lotto-machine-stage .machine-title{
    font-size:12px;
    letter-spacing:.1em;
  }

  .machine-screen{
    min-height:245px;
    border-radius:14px;
  }

  .lotto-result{
    gap:7px;
  }

  .lotto-result span{
    width:42px;
    height:42px;
    font-size:20px;
  }
}

/* 광고문의 카드 빈 공간: 작은 추천업체 */
.contact-recommended{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e7edf6;
}

.contact-recommended-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
}

.contact-recommended-title b{
  color:#103a82;
  font-size:15px;
}

.contact-recommended-title span{
  color:#8490a3;
  font-size:11px;
}

.contact-recommended-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.contact-recommended-item{
  display:flex;
  min-width:0;
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid #e1e8f2;
  border-radius:10px;
  background:#f8faff;
  transition:.2s ease;
}

.contact-recommended-item:hover{
  transform:translateY(-1px);
  border-color:#b9cdee;
  background:#fff;
  box-shadow:0 5px 13px rgba(20,55,105,.08);
}

.contact-recommended-item > span:last-child{
  min-width:0;
}

.contact-recommended-item b,
.contact-recommended-item small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.contact-recommended-item b{
  color:#243652;
  font-size:12px;
}

.contact-recommended-item small{
  margin-top:2px;
  color:#8490a3;
  font-size:9px;
}

.recommended-icon{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:9px;
  background:#0758d8;
  color:#fff;
  font-size:11px;
  font-weight:1000;
}

.recommended-icon.resort{background:#16846e}
.recommended-icon.food{background:#e87825}
.recommended-icon.spa{background:#8a5ac2}
.recommended-icon.market{background:#e45d2f}
.recommended-icon.plus{background:#eef4ff;color:#0758d8}
.contact-recommended-item.advertise{border-style:dashed}

@media (max-width:768px){
  .contact-recommended-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-recommended-title{align-items:flex-start;flex-direction:column;gap:2px}
}

@media (max-width:420px){
  .contact-recommended-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .lotto-result span,
  .machine-progress span{
    transition:none;
  }

  .lotto-result span.is-revealed,
  .regen-btn.is-running .button-icon{
    animation:none;
  }
}

/* JK LOTTO SAFE MACHINE FIX v2.0.6 — 2026-07-30 */
.lotto-machine-stage .machine-title{
  font-size:16px !important;
  color:#c9d6e5 !important;
  font-weight:900;
  letter-spacing:.13em;
  text-shadow:0 1px 7px rgba(96,165,250,.18) !important;
  -webkit-text-fill-color:#c9d6e5 !important;
  background:none !important;
}

.lotto-machine-stage .machine-status{
  color:#b9c8da;
  font-size:13px;
  font-weight:700;
  text-shadow:none;
}

@media (max-width:520px){
  .lotto-machine-stage .machine-title{
    font-size:13px !important;
    letter-spacing:.09em;
  }

  .lotto-machine-stage .machine-status{
    font-size:12px;
  }
}

/* JK LOTTO HEADER + FOOTER FINAL v20260730-4 */
.site-header{
  position:sticky !important;
  top:0;
  z-index:1000;
  border-bottom:1px solid #dbe7f7 !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 5px 22px rgba(16,58,125,.07) !important;
  backdrop-filter:blur(14px);
}

.site-header .header-inner{
  min-height:104px !important;
  height:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
  padding:12px 0 !important;
  overflow:visible !important;
}

.site-header .brand{
  min-width:230px !important;
  display:block !important;
  flex:0 0 auto !important;
}

.site-header .brand-mark{
  color:#073b8d !important;
  font-size:31px !important;
  line-height:1 !important;
  letter-spacing:-2px !important;
}

.site-header .brand-mark span{
  color:#f02d32 !important;
}

.site-header .brand-sub{
  display:block !important;
  margin-top:7px !important;
  color:#173866 !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.site-header .top-nav{
  position:static !important;
  flex:1 1 auto !important;
  display:flex !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:6px !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.site-header .nav-item{
  position:relative !important;
  width:82px !important;
  min-width:72px !important;
  min-height:76px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  padding:8px 5px !important;
  border:1px solid transparent !important;
  border-radius:17px !important;
  color:#172d50 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}

.site-header .nav-icon{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  border-radius:50% !important;
  background:#eef4ff !important;
  color:#0758d8 !important;
  font-size:17px !important;
  box-shadow:inset 0 0 0 1px rgba(7,88,216,.04) !important;
}

.site-header .nav-item:hover,
.site-header .nav-item.active{
  color:#0758d8 !important;
  border-color:#e4edfb !important;
  background:linear-gradient(180deg,#fff,#eaf3ff) !important;
  box-shadow:0 9px 22px rgba(7,88,216,.12) !important;
  transform:translateY(-2px) !important;
}

.site-header .nav-item.active::before,
.site-header .nav-item.active::after,
.site-header .nav-item::before,
.site-header .nav-item::after{
  display:none !important;
}

.site-header .nav-item.active .nav-icon{
  color:#fff !important;
  background:linear-gradient(145deg,#1680f7,#0758d8) !important;
  box-shadow:0 7px 16px rgba(7,88,216,.25) !important;
}

.site-header .header-right{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 !important;
}

.site-header .lang-select,
.site-header .login-btn{
  height:48px !important;
  border-radius:13px !important;
  font-size:12px !important;
  font-weight:900 !important;
}

.site-header .lang-select{
  width:145px !important;
  padding:0 13px !important;
  border:1px solid #d6e1f1 !important;
  color:#172d50 !important;
  background:#fff !important;
}

.site-header .login-btn{
  width:112px !important;
  min-width:112px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 14px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#0879f2,#0753cc) !important;
  box-shadow:0 8px 20px rgba(7,88,216,.22) !important;
}

.footer{
  position:relative !important;
  margin-top:18px !important;
  overflow:hidden !important;
  color:#dce9ff !important;
  background:
    radial-gradient(circle at 8% 16%,rgba(38,132,255,.22),transparent 25%),
    radial-gradient(circle at 91% 25%,rgba(34,114,224,.18),transparent 26%),
    linear-gradient(135deg,#031b47,#062d69 55%,#031b47) !important;
  border-top:1px solid rgba(114,173,255,.22) !important;
}

.footer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  opacity:.28 !important;
  background-image:radial-gradient(circle,#9dc8ff 0 1px,transparent 1.5px) !important;
  background-size:54px 54px !important;
}

.footer .footer-grid{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:1.15fr .75fr .8fr 1.45fr !important;
  gap:38px !important;
  padding:38px 0 30px !important;
}

.footer .footer-grid > div:not(:first-child){
  padding-left:30px !important;
  border-left:1px solid rgba(255,255,255,.18) !important;
}

.footer .footer-logo{
  color:#fff !important;
  font-size:27px !important;
}

.footer .footer-logo span{
  color:#ffc62b !important;
}

.footer .footer-brand-text,
.footer .footer-column p{
  color:#d6e4fa !important;
  font-size:12px !important;
  line-height:1.85 !important;
}

.footer .footer-column b{
  color:#fff !important;
  font-size:13px !important;
  margin-bottom:14px !important;
}

.footer .footer-column a{
  color:#dbe8fa !important;
  font-size:12px !important;
  line-height:1.55 !important;
  margin:7px 0 !important;
}

.footer .footer-column a:hover{
  color:#fff !important;
  transform:translateX(3px) !important;
}

.footer .footer-notice{
  position:relative !important;
  z-index:1 !important;
  width:min(1700px,calc(100% - 60px)) !important;
  margin:0 auto !important;
  padding:18px 0 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  border-bottom:0 !important;
}

.footer .footer-copyright,
.footer .footer-bottom{
  position:relative !important;
  z-index:1 !important;
  color:#c6d9f5 !important;
  background:rgba(0,13,39,.24) !important;
  border-top:1px solid rgba(255,255,255,.09) !important;
}

@media (max-width:1200px){
  .site-header .header-inner{
    gap:12px !important;
  }
  .site-header .brand{
    min-width:180px !important;
  }
  .site-header .nav-item{
    width:68px !important;
    min-width:64px !important;
    font-size:10px !important;
  }
  .site-header .lang-select{
    width:118px !important;
  }
  .site-header .login-btn{
    width:90px !important;
    min-width:90px !important;
  }
}

@media (max-width:900px){
  .site-header{
    position:relative !important;
  }

  .site-header .header-inner{
    width:100% !important;
    min-height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(120px,1fr) 104px 82px !important;
    column-gap:7px !important;
    row-gap:10px !important;
    padding:10px 12px 9px !important;
  }

  .site-header .brand{
    min-width:0 !important;
  }

  .site-header .brand-mark{
    font-size:22px !important;
  }

  .site-header .brand-sub{
    margin-top:4px !important;
    font-size:8px !important;
  }

  .site-header .header-right{
    display:contents !important;
  }

  .site-header .lang-select{
    grid-column:2 !important;
    width:104px !important;
    height:40px !important;
    justify-self:end !important;
    padding:0 7px !important;
    font-size:10px !important;
  }

  .site-header .login-btn{
    grid-column:3 !important;
    width:82px !important;
    min-width:82px !important;
    height:40px !important;
    justify-self:end !important;
    padding:0 6px !important;
    font-size:11px !important;
  }

  .site-header .top-nav{
    grid-column:1/-1 !important;
    width:calc(100% + 24px) !important;
    margin:0 -12px -9px !important;
    padding:1px 12px 9px !important;
    justify-content:flex-start !important;
    gap:7px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
  }

  .site-header .top-nav::-webkit-scrollbar{
    display:none !important;
  }

  .site-header .nav-item{
    flex:0 0 76px !important;
    width:76px !important;
    min-width:76px !important;
    min-height:61px !important;
    padding:5px 4px !important;
    gap:4px !important;
    border-radius:14px !important;
    font-size:9px !important;
  }

  .site-header .nav-icon{
    width:30px !important;
    height:30px !important;
    font-size:14px !important;
  }

  .footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    padding:30px 0 24px !important;
  }

  .footer .footer-grid > div:not(:first-child){
    padding-left:20px !important;
  }
}

@media (max-width:600px){
  .footer .footer-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .footer .footer-grid > div:not(:first-child){
    padding:18px 0 0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(255,255,255,.14) !important;
  }

  .footer .footer-notice{
    width:calc(100% - 24px) !important;
  }
}

/* support institutions and payment services */
.service-partners{margin-top:16px!important;padding:22px!important;background:linear-gradient(145deg,#fff,#f7faff)!important;border:1px solid #dfe8f5!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(21,53,101,.08)!important}
.service-partners-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:20px!important;margin-bottom:18px!important}
.service-partners-kicker{display:block!important;margin-bottom:4px!important;color:#3973c7!important;font-size:10px!important;font-weight:1000!important;letter-spacing:1.7px!important}
.service-partners-head h2{margin:0!important;color:#0b326d!important;font-size:21px!important;font-weight:1000!important;letter-spacing:-.6px!important}
.service-partners-head p{margin:0!important;color:#718198!important;font-size:11px!important}
.service-partners-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.service-partner{min-width:0!important;min-height:70px!important;display:flex!important;align-items:center!important;gap:11px!important;padding:11px 12px!important;background:#fff!important;border:1px solid #e3eaf4!important;border-radius:13px!important;box-shadow:0 4px 12px rgba(34,64,110,.045)!important}
.service-partner>span:last-child{min-width:0!important}
.service-partner b,.service-partner small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.service-partner b{color:#17375f!important;font-size:12px!important;font-weight:1000!important}
.service-partner small{margin-top:4px!important;color:#7d899b!important;font-size:9px!important}
.partner-symbol{flex:0 0 42px!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:12px!important;color:#fff!important;font-size:11px!important;font-weight:1000!important}
.partner-symbol.glo{background:linear-gradient(145deg,#d6a51c,#96700a)!important}.partner-symbol.ktb{background:linear-gradient(145deg,#24a5e4,#0867b6)!important}.partner-symbol.prompt{background:linear-gradient(145deg,#1c77bd,#0e477f)!important;font-size:18px!important}.partner-symbol.true{background:linear-gradient(145deg,#f05a31,#d51d4d)!important;font-size:18px!important}.partner-symbol.kbank{background:linear-gradient(145deg,#21a45f,#087a3d)!important;font-size:18px!important}.partner-symbol.scb{background:linear-gradient(145deg,#7852aa,#432676)!important}.partner-symbol.mastercard{background:linear-gradient(90deg,#e8352c 0 48%,#f29a22 52% 100%)!important;font-size:23px!important}.partner-symbol.visa{background:linear-gradient(145deg,#1a3e91,#132b65)!important;font-size:10px!important}
.service-partners-note{margin:13px 2px 0!important;color:#8b96a6!important;font-size:9px!important;line-height:1.5!important}
@media(max-width:900px){.service-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.service-partners{width:calc(100% - 24px)!important;padding:16px 12px!important;border-radius:15px!important}.service-partners-head{display:block!important;margin-bottom:13px!important}.service-partners-head h2{font-size:17px!important}.service-partners-head p{margin-top:5px!important;font-size:9px!important}.service-partners-grid{gap:7px!important}.service-partner{min-height:61px!important;gap:8px!important;padding:8px!important}.partner-symbol{flex-basis:36px!important;width:36px!important;height:36px!important;border-radius:10px!important;font-size:9px!important}.service-partner b{font-size:10px!important}}

/* SUPPORT + TRUST STRIP FINAL v20260730-6 */
.service-partners{
  margin-top:16px!important;
  padding:15px 20px 18px!important;
  background:#fff!important;
  border:1px solid #91b9f4!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.service-partners-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:10px!important;
  text-align:center!important;
}
.service-partners-head>div{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.service-partners-head>div::before,
.service-partners-head>div::after{
  content:""!important;
  width:34px!important;
  height:1px!important;
  background:#6fa6ee!important;
}
.service-partners-kicker,
.service-partners-head p,
.service-partners-note{
  display:none!important;
}
.service-partners-head h2{
  margin:0!important;
  color:#082d69!important;
  font-size:20px!important;
  font-weight:1000!important;
  letter-spacing:-.5px!important;
}
.service-partners-grid{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:0!important;
}
.service-partner{
  min-width:0!important;
  min-height:94px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:8px 5px!important;
  background:#fff!important;
  border:0!important;
  border-right:1px solid #d2def0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
.service-partner:last-child{border-right:0!important}
.service-partner>span:last-child{width:100%!important}
.service-partner b{
  color:#0b2b60!important;
  font-size:12px!important;
  font-weight:1000!important;
}
.service-partner small{
  margin-top:3px!important;
  color:#2c4264!important;
  font-size:9px!important;
}
.partner-symbol{
  flex:0 0 38px!important;
  width:auto!important;
  min-width:55px!important;
  height:38px!important;
  padding:0 8px!important;
  border-radius:6px!important;
  font-size:14px!important;
  letter-spacing:-.5px!important;
  box-shadow:none!important;
}
.partner-symbol.glo{background:linear-gradient(145deg,#efbe12,#b98600)!important}
.partner-symbol.ktb{background:linear-gradient(145deg,#14a4e7,#0870be)!important}
.partner-symbol.prompt{background:#fff!important;color:#123c72!important;border:2px solid #315987!important;font-size:20px!important}
.partner-symbol.true{background:#fff!important;color:#e12637!important;border:1px solid #e2e7ef!important;font-size:20px!important}
.partner-symbol.kbank{background:#fff!important;color:#139753!important;border:1px solid #dce6e1!important;font-size:21px!important}
.partner-symbol.scb{background:#63359a!important}
.partner-symbol.mastercard{background:linear-gradient(90deg,#eb211c 0 49%,#f6a212 51% 100%)!important;font-size:20px!important}
.partner-symbol.visa{background:#fff!important;color:#17479e!important;border:1px solid #dce4f1!important;font-size:17px!important}

.trust-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin-top:12px!important;
  overflow:hidden!important;
  color:#fff!important;
  background:linear-gradient(90deg,#06275e,#031c4c 55%,#06275e)!important;
  border:1px solid #0a438e!important;
  border-radius:12px!important;
  box-shadow:0 8px 22px rgba(4,32,78,.14)!important;
}
.trust-strip>div{
  position:relative!important;
  min-width:0!important;
  min-height:78px!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  padding:12px 22px!important;
}
.trust-strip>div:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  top:20%!important;
  right:0!important;
  width:1px!important;
  height:60%!important;
  background:rgba(255,255,255,.28)!important;
}
.trust-strip i{
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  color:#0d62db!important;
  background:#fff!important;
  border-radius:50%!important;
  font-size:24px!important;
  font-style:normal!important;
  font-weight:1000!important;
  box-shadow:inset 0 0 0 5px #edf5ff!important;
}
.trust-strip span{min-width:0!important}
.trust-strip b{
  display:block!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
.trust-strip small{
  display:block!important;
  margin-top:6px!important;
  overflow:hidden!important;
  color:#d4e4fb!important;
  font-size:10px!important;
  line-height:1.3!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .service-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .service-partner:nth-child(4){border-right:0!important}
  .service-partner:nth-child(-n+4){border-bottom:1px solid #d2def0!important}
  .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .trust-strip>div:nth-child(2)::after{display:none!important}
  .trust-strip>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)!important}
}
@media(max-width:600px){
  .service-partners{width:calc(100% - 24px)!important;padding:14px 10px!important}
  .service-partners-head h2{font-size:16px!important}
  .service-partners-head>div::before,.service-partners-head>div::after{width:20px!important}
  .service-partner{min-height:82px!important;padding:7px 3px!important}
  .partner-symbol{min-width:43px!important;height:32px!important;flex-basis:32px!important;font-size:11px!important}
  .service-partner b{font-size:9px!important}
  .service-partner small{font-size:7px!important}
  .trust-strip{width:calc(100% - 24px)!important}
  .trust-strip>div{min-height:70px!important;gap:9px!important;padding:10px!important}
  .trust-strip i{flex-basis:39px!important;width:39px!important;height:39px!important;font-size:19px!important}
  .trust-strip b{font-size:12px!important}
  .trust-strip small{font-size:8px!important}
}

/* MOBILE RECOMMENDED + FOOTER FINAL v20260730-8 */
.footer .footer-notice{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(520px,.85fr)!important;
  align-items:center!important;
  gap:28px!important;
  width:min(1700px,calc(100% - 60px))!important;
  padding:22px 0!important;
}

.footer .footer-notice-text{
  min-width:0!important;
}

.footer .footer-badges{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.footer .footer-badge{
  min-width:0!important;
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:11px 12px!important;
}

.footer .footer-badge>span:last-child{
  min-width:0!important;
}

.footer .footer-badge b,
.footer .footer-badge small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

@media(max-width:1100px){
  .footer .footer-notice{
    grid-template-columns:1fr!important;
  }

  .footer .footer-badges{
    max-width:none!important;
  }
}

/* COMPANY INFORMATION ALIGNMENT FINAL v20260730-12 */
.footer .footer-grid .footer-column:last-child{
  min-width:0!important;
}

.footer .footer-grid .footer-column:last-child > b{
  display:block!important;
  margin:0 0 12px!important;
  text-align:center!important;
}

.footer .footer-company-info{
  display:grid!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  max-width:540px!important;
  margin:0 auto!important;
  gap:6px!important;
  text-align:left!important;
}

.footer .footer-company-info > div{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  width:100%!important;
  margin:0!important;
  gap:0!important;
  align-items:start!important;
}

.footer .footer-company-info > div > b{
  display:block!important;
  margin:0!important;
  padding:0 10px 0 0!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.footer .footer-company-info > div > b::after{
  content:" :"!important;
  margin:0!important;
}

.footer .footer-company-info > div > span{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

.footer .footer-company-info > div:nth-child(3) > span{
  white-space:nowrap!important;
}

.footer .footer-company-info i{
  padding:0 4px!important;
  color:#7896c2!important;
  font-style:normal!important;
}

@media(max-width:600px){
  .footer .footer-company-info{
    max-width:360px!important;
  }

  .footer .footer-company-info > div{
    grid-template-columns:94px minmax(0,1fr)!important;
  }

  .footer .footer-company-info > div > b{
    padding-right:7px!important;
  }

  .footer .footer-company-info > div:nth-child(3) > span{
    white-space:normal!important;
  }
}

@media(max-width:600px){
  .contact-recommended{
    margin-top:14px!important;
    padding-top:13px!important;
  }

  .contact-recommended-title{
    margin-bottom:9px!important;
  }

  .contact-recommended-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .contact-recommended-item{
    min-height:58px!important;
    gap:7px!important;
    padding:8px 7px!important;
    border-radius:10px!important;
  }

  .contact-recommended-item b{
    font-size:10px!important;
  }

  .contact-recommended-item small{
    font-size:8px!important;
  }

  .recommended-icon{
    width:32px!important;
    height:32px!important;
    flex:0 0 32px!important;
  }

  .footer .footer-notice{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:22px 0!important;
  }

  .footer .footer-notice-text{
    padding-left:14px!important;
  }

  .footer .footer-badges{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .footer .footer-badge{
    width:100%!important;
    min-height:78px!important;
    padding:12px 14px!important;
    border-radius:15px!important;
  }

  .footer .footer-badge-icon{
    flex:0 0 44px!important;
    width:44px!important;
    height:44px!important;
    font-size:21px!important;
  }

  .footer .footer-badge b{
    font-size:12px!important;
  }

  .footer .footer-badge small{
    margin-top:4px!important;
    font-size:9px!important;
  }
}

@media(max-width:360px){
  .contact-recommended-item{
    padding:7px 5px!important;
  }

  .recommended-icon{
    width:29px!important;
    height:29px!important;
    flex-basis:29px!important;
  }
}

/* SUPPORT INSTITUTIONS + FOOTER BADGES FINAL v20260730-9 */
.service-partners{
  box-sizing:border-box!important;
  width:min(1700px,calc(100% - 48px))!important;
  margin:16px auto 0!important;
  padding:15px 20px 18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #82aff0!important;
  border-radius:13px!important;
}

.service-partners-grid{
  width:100%!important;
  align-items:stretch!important;
}

.service-partner{
  box-sizing:border-box!important;
  width:100%!important;
  height:94px!important;
  min-height:94px!important;
  align-self:stretch!important;
  overflow:hidden!important;
}

.footer .footer-badges{
  box-sizing:border-box!important;
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}

.footer .footer-badge{
  box-sizing:border-box!important;
  width:100%!important;
  height:72px!important;
  min-height:72px!important;
  align-self:stretch!important;
  margin:0!important;
  overflow:hidden!important;
}

@media(max-width:900px){
  .service-partner{
    height:86px!important;
    min-height:86px!important;
  }
}

@media(max-width:600px){
  .service-partners{
    width:calc(100% - 24px)!important;
    margin-top:12px!important;
    padding:13px 10px 14px!important;
  }

  .service-partner{
    height:82px!important;
    min-height:82px!important;
  }

  .footer .footer-badge{
    height:78px!important;
    min-height:78px!important;
  }
}

/* FOOTER CONTENT CENTER ALIGN FINAL v20260730-10 */
.footer .footer-grid{
  text-align:center!important;
}

.footer .footer-grid > div{
  box-sizing:border-box!important;
  min-width:0!important;
}

.footer .footer-grid > div:not(:first-child){
  padding-left:0!important;
}

.footer .footer-brand,
.footer .footer-column{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}

.footer .footer-brand-text,
.footer .footer-column p{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.footer .footer-column b{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}

.footer .footer-column a{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}

.footer .footer-column a:hover{
  transform:none!important;
}

@media(max-width:600px){
  .footer .footer-grid > div:not(:first-child){
    padding:18px 0 0!important;
  }
}
.footer-company-info{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    margin-top:24px;
}

.footer-company-info > div{
    display:grid;
    grid-template-columns:110px auto;
    align-items:start;
    width:min(100%, 520px);
    text-align:left;
    line-height:1.55;
}

.footer-company-info b{
    text-align:right;
    white-space:nowrap;
}

.footer-company-info b::after{
    content:" :";
    margin-right:8px;
}

.footer-company-info span{
    text-align:left;
}

@media(max-width:600px){
    .footer-company-info > div{
        grid-template-columns:95px minmax(0, 1fr);
        width:100%;
        font-size:12px;
    }
}

/* FOOTER STRUCTURE FINAL v20260730-11 */
.footer .footer-grid{
  align-items:start!important;
}

.footer .footer-company-info{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:530px!important;
  margin:0 auto!important;
  gap:7px!important;
}

.footer .footer-company-info>div{
  box-sizing:border-box!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:0!important;
  align-items:start!important;
  line-height:1.6!important;
}

.footer .footer-company-info>div>b{
  width:auto!important;
  margin:0!important;
  padding:0 9px 0 0!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.6!important;
  text-align:right!important;
  white-space:nowrap!important;
}

.footer .footer-company-info>div>b::after{
  content:" :"!important;
  margin:0!important;
}

.footer .footer-company-info>div>span{
  min-width:0!important;
  color:#d6e4fa!important;
  font-size:11px!important;
  line-height:1.6!important;
  text-align:left!important;
  overflow-wrap:anywhere!important;
}

.footer .footer-notice{
  box-sizing:border-box!important;
  clear:both!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(540px,.95fr)!important;
  align-items:center!important;
  gap:28px!important;
}

.footer .footer-notice-text{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}

.footer .footer-notice-th,
.footer .footer-notice-en{
  width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}

.footer .footer-copyright{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:15px 20px!important;
  text-align:center!important;
  white-space:normal!important;
}

@media(max-width:1100px){
  .footer .footer-notice{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:600px){
  .footer .footer-company-info{
    max-width:100%!important;
  }

  .footer .footer-company-info>div{
    grid-template-columns:96px minmax(0,1fr)!important;
  }

  .footer .footer-company-info>div>b,
  .footer .footer-company-info>div>span{
    font-size:10px!important;
  }

  .footer .footer-notice{
    width:calc(100% - 24px)!important;
    gap:18px!important;
  }

  .footer .footer-notice-text{
    padding:0!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.7!important;
  }
}
/* 회사정보 줄 정렬 최종 수정 */
.footer .footer-company-info{
    width:540px !important;
    max-width:100% !important;
    margin:12px auto 0 !important;
}

.footer .footer-company-info > div{
    display:grid !important;
    grid-template-columns:115px minmax(0, 1fr) !important;
    width:100% !important;
    margin:0 0 7px !important;
    align-items:start !important;
}

.footer .footer-company-info > div > b{
    display:block !important;
    padding-right:10px !important;
    margin:0 !important;
    text-align:right !important;
    white-space:nowrap !important;
}

.footer .footer-company-info > div > b::after{
    content:" :" !important;
}

.footer .footer-company-info > div > span{
    display:block !important;
    margin:0 !important;
    text-align:left !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}

@media(max-width:600px){
    .footer .footer-company-info{
        width:100% !important;
    }

    .footer .footer-company-info > div{
        grid-template-columns:95px minmax(0, 1fr) !important;
    }

    .footer .footer-company-info > div > b{
        padding-right:7px !important;
    }
}

/* JK LOTTO FOOTER MASTER v20260731 */
.footer{
  position:relative!important;
  margin-top:28px!important;
  overflow:hidden!important;
  color:#dbe8fb!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(27,119,239,.22),transparent 26%),
    radial-gradient(circle at 92% 12%,rgba(31,110,214,.18),transparent 25%),
    linear-gradient(135deg,#03183e 0%,#062b63 52%,#03183e 100%)!important;
  border-top:1px solid rgba(132,184,255,.22)!important;
}

.footer::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  opacity:.22!important;
  background-image:radial-gradient(circle,rgba(188,216,255,.9) 0 1px,transparent 1.5px)!important;
  background-size:56px 56px!important;
}

.footer .footer-grid{
  position:relative!important;
  z-index:1!important;
  width:min(1380px,calc(100% - 56px))!important;
  display:grid!important;
  grid-template-columns:1.05fr .72fr .78fr 1.55fr!important;
  gap:0!important;
  align-items:start!important;
  margin:0 auto!important;
  padding:48px 0 38px!important;
  text-align:left!important;
}

.footer .footer-grid>div{
  min-width:0!important;
  padding:0 34px!important;
  align-items:flex-start!important;
  text-align:left!important;
}

.footer .footer-grid>div:first-child{
  padding-left:0!important;
}

.footer .footer-grid>div:last-child{
  padding-right:0!important;
}

.footer .footer-grid>div:not(:first-child){
  border-left:1px solid rgba(255,255,255,.16)!important;
}

.footer .footer-logo{
  width:auto!important;
  color:#fff!important;
  font-size:29px!important;
  line-height:1!important;
  text-align:left!important;
}

.footer .footer-logo span{
  color:#ffc62b!important;
}

.footer .footer-brand-text{
  width:auto!important;
  margin:18px 0 0!important;
  color:#c9daf2!important;
  font-size:12px!important;
  line-height:1.85!important;
  text-align:left!important;
}

.footer .footer-column>b{
  width:auto!important;
  margin:0 0 16px!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.4!important;
  text-align:left!important;
}

.footer .footer-column>a{
  width:auto!important;
  margin:9px 0!important;
  color:#d4e2f6!important;
  font-size:12px!important;
  line-height:1.55!important;
  text-align:left!important;
}

.footer .footer-column>a:hover{
  color:#fff!important;
  transform:translateX(3px)!important;
}

.footer .footer-company-info{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  gap:8px!important;
  margin:0!important;
}

.footer .footer-company-info>div{
  width:100%!important;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:0!important;
  line-height:1.65!important;
}

.footer .footer-company-info>div>b{
  width:auto!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.65!important;
  text-align:left!important;
  white-space:nowrap!important;
}

.footer .footer-company-info>div>b::after{
  content:""!important;
}

.footer .footer-company-info>div>span,
.footer .footer-company-info>div>span a{
  min-width:0!important;
  margin:0!important;
  color:#d4e2f6!important;
  font-size:11px!important;
  line-height:1.65!important;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

.footer .footer-notice{
  position:relative!important;
  z-index:1!important;
  width:min(1380px,calc(100% - 56px))!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:38px!important;
  align-items:center!important;
  margin:0 auto!important;
  padding:24px 0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}

.footer .footer-notice-text{
  width:100%!important;
  padding:0!important;
  color:#c9daf2!important;
  font-size:11px!important;
  line-height:1.8!important;
  text-align:left!important;
  word-break:keep-all!important;
}

.footer .footer-badges{
  display:grid!important;
  grid-template-columns:repeat(3,170px)!important;
  gap:10px!important;
}

.footer .footer-badge{
  width:auto!important;
  height:64px!important;
  min-height:64px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:10px 12px!important;
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:10px!important;
}

.footer .footer-badge-icon{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  font-size:17px!important;
}

.footer .footer-badge b,
.footer .footer-badge small{
  display:block!important;
  margin:0!important;
  text-align:left!important;
}

.footer .footer-badge b{
  font-size:11px!important;
  line-height:1.35!important;
}

.footer .footer-badge small{
  margin-top:3px!important;
  color:#bdd0eb!important;
  font-size:9px!important;
  line-height:1.35!important;
}

.footer .footer-copyright{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  margin:0!important;
  padding:16px 20px!important;
  color:#bcd0ed!important;
  background:rgba(0,10,31,.3)!important;
  border-top:1px solid rgba(255,255,255,.09)!important;
  font-size:11px!important;
  text-align:center!important;
}

@media(max-width:1100px){
  .footer .footer-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .footer .footer-grid>div{
    padding:26px!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
  }

  .footer .footer-grid>div:nth-child(-n+2){
    border-top:0!important;
  }

  .footer .footer-grid>div:nth-child(odd){
    padding-left:0!important;
  }

  .footer .footer-grid>div:nth-child(even){
    border-left:1px solid rgba(255,255,255,.14)!important;
  }

  .footer .footer-notice{
    grid-template-columns:1fr!important;
  }

  .footer .footer-badges{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:600px){
  .footer{
    margin-top:18px!important;
  }

  .footer .footer-grid{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    padding:24px 0 16px!important;
  }

  .footer .footer-grid>div,
  .footer .footer-grid>div:nth-child(odd),
  .footer .footer-grid>div:nth-child(even){
    padding:22px 4px!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    align-items:center!important;
    text-align:center!important;
  }

  .footer .footer-grid>div:first-child{
    padding-top:8px!important;
    border-top:0!important;
  }

  .footer .footer-logo,
  .footer .footer-brand-text,
  .footer .footer-column>b,
  .footer .footer-column>a{
    text-align:center!important;
  }

  .footer .footer-company-info{
    max-width:360px!important;
    margin:0 auto!important;
  }

  .footer .footer-company-info>div{
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .footer .footer-company-info>div>b{
    text-align:right!important;
  }

  .footer .footer-company-info>div>span,
  .footer .footer-company-info>div>span a{
    text-align:left!important;
  }

  .footer .footer-notice{
    width:calc(100% - 28px)!important;
    gap:16px!important;
    padding:20px 0!important;
  }

  .footer .footer-notice-text{
    font-size:10px!important;
    line-height:1.7!important;
    text-align:center!important;
  }

  .footer .footer-badges{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .footer .footer-badge{
    width:100%!important;
    max-width:330px!important;
    margin:0 auto!important;
  }
}

/* MYTHAIHUB FOOTER FINAL v20260731-06 */
.footer{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(27,119,239,.22),transparent 26%),
    radial-gradient(circle at 92% 12%,rgba(31,110,214,.18),transparent 25%),
    linear-gradient(135deg,#03183e 0%,#062b63 52%,#03183e 100%)!important;
}

.footer .footer-grid{
  width:min(1180px,calc(100% - 40px))!important;
  grid-template-columns:1.05fr .72fr .78fr 1.55fr!important;
  gap:46px!important;
  margin:0 auto!important;
  padding:44px 0 34px!important;
}

.footer .footer-grid>div,
.footer .footer-grid>div:first-child,
.footer .footer-grid>div:last-child,
.footer .footer-grid>div:not(:first-child){
  padding:0!important;
  border:0!important;
}

.footer .footer-notice{
  width:min(1180px,calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:22px 0!important;
  background:transparent!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  box-shadow:none!important;
}

.footer .footer-copyright{
  background:rgba(0,10,31,.3)!important;
}

@media(max-width:1100px){
  .footer .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:30px 44px!important;
  }

  .footer .footer-grid>div{
    padding:0!important;
    border:0!important;
  }
}

@media(max-width:600px){
  .footer .footer-grid{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 18px!important;
    padding:26px 0 20px!important;
  }

  .footer .footer-grid>div,
  .footer .footer-grid>div:nth-child(odd),
  .footer .footer-grid>div:nth-child(even){
    padding:16px 0!important;
    border:0!important;
    text-align:left!important;
  }

  .footer .footer-grid>div:first-child,
  .footer .footer-grid>div:last-child{
    grid-column:1 / -1!important;
  }

  .footer .footer-grid>div:first-child{
    padding-top:2px!important;
    padding-bottom:20px!important;
    text-align:center!important;
  }

  .footer .footer-grid>div:nth-child(2),
  .footer .footer-grid>div:nth-child(3){
    border-top:1px solid rgba(255,255,255,.14)!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }

  .footer .footer-grid>div:last-child{
    padding-top:22px!important;
  }

  .footer .footer-logo,
  .footer .footer-brand-text{
    text-align:center!important;
  }

  .footer .footer-column>b,
  .footer .footer-column>a{
    text-align:left!important;
  }

  .footer .footer-company-info{
    max-width:100%!important;
  }

  .footer .footer-company-info>div{
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:8px!important;
  }

  .footer .footer-company-info>div>b{
    text-align:left!important;
  }

  .footer .footer-notice{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:18px 0!important;
    background:transparent!important;
  }

  .footer .footer-badges{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }

  .footer .footer-badge{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:58px!important;
    margin:0!important;
    padding:7px 4px!important;
    display:grid!important;
    place-items:center!important;
    gap:3px!important;
    text-align:center!important;
  }

  .footer .footer-badge-icon{
    width:24px!important;
    height:24px!important;
    font-size:14px!important;
  }

  .footer .footer-badge b,
  .footer .footer-badge small{
    text-align:center!important;
  }

  .footer .footer-badge b{
    font-size:9px!important;
  }

  .footer .footer-badge small{
    display:none!important;
  }
}
.clickable-card[data-href] {
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.clickable-card[data-href]:hover,
.clickable-card[data-href]:focus-visible {
    transform: translateY(-3px);
    border-color: #9ebce8;
    box-shadow: 0 10px 25px rgba(25,54,100,.14);
    outline: none;
}
