/* =========================================================
   v083 법적 페이지 PC / 모바일 반응형 리뉴얼
   기존 legal.css를 덮어쓰지 않고 이 파일이 마지막에 override 합니다.
   ========================================================= */

.legal-v083{
    margin:0;
    min-height:100dvh;
    background:#f5f7fa;
    color:#1f2937;
    font-family:
        Pretendard,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Noto Sans KR",
        sans-serif;
}

.legal-v083 *,
.legal-v083 *::before,
.legal-v083 *::after{
    box-sizing:border-box;
}

.legal-v083 .policy-page{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh;
    margin:0!important;
    padding:0 0 120px!important;
    background:#f5f7fa!important;
}

.legal-v083 .policy-head{
    position:sticky!important;
    top:0;
    z-index:50;
    width:min(1120px,calc(100% - 40px))!important;
    height:64px!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    border:0!important;
    border-bottom:1px solid #e5e7eb!important;
    background:rgba(245,247,250,.95)!important;
    backdrop-filter:blur(14px);
}

.legal-v083 .policy-head button{
    flex:0 0 auto;
    width:40px!important;
    height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#344054!important;
    font-size:30px!important;
    line-height:1!important;
    cursor:pointer;
}

.legal-v083 .policy-head h1{
    margin:0!important;
    color:#111827!important;
    font-size:22px!important;
    line-height:1.2!important;
    font-weight:950!important;
    letter-spacing:-.5px!important;
}

.legal-v083 .policy-body{
    width:min(1120px,calc(100% - 40px))!important;
    max-width:1120px!important;
    margin:22px auto 0!important;
    padding:0!important;
}

.legal-v083 .policy-hero{
    position:relative;
    overflow:hidden;
    margin:0 0 14px!important;
    padding:28px 30px!important;
    border:1px solid #fed7aa!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 88% 18%,rgba(255,90,0,.13),transparent 28%),
        linear-gradient(135deg,#fff7ed,#fff 62%)!important;
    box-shadow:0 12px 35px rgba(15,23,42,.055)!important;
}

.legal-v083 .policy-kicker{
    display:block;
    margin-bottom:6px;
    color:#ea580c;
    font-size:12px;
    font-weight:950;
    letter-spacing:.12em;
}

.legal-v083 .policy-hero h2{
    margin:0!important;
    color:#111827!important;
    font-size:32px!important;
    line-height:1.2!important;
    font-weight:950!important;
    letter-spacing:-.8px!important;
    word-break:keep-all;
}

.legal-v083 .policy-hero p{
    max-width:820px;
    margin:8px 0 0!important;
    color:#667085!important;
    font-size:15px!important;
    line-height:1.65!important;
    word-break:keep-all;
}

.legal-v083 .policy-domain-chip{
    max-width:100%;
    min-height:34px;
    margin-top:14px;
    padding:0 10px;
    display:inline-flex;
    align-items:center;
    border:1px solid #fed7aa;
    border-radius:999px;
    background:#fff;
    color:#c2410c;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    overflow-wrap:anywhere;
}

.legal-v083 .policy-card{
    margin:0 0 10px!important;
    padding:22px 24px!important;
    border:1px solid #e5e7eb!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 7px 22px rgba(15,23,42,.035)!important;
}

.legal-v083 .policy-card h2{
    margin:0 0 11px!important;
    color:#111827!important;
    font-size:19px!important;
    line-height:1.35!important;
    font-weight:950!important;
    letter-spacing:-.35px!important;
}

.legal-v083 .policy-card p,
.legal-v083 .policy-card li{
    color:#4b5563!important;
    font-size:15px!important;
    line-height:1.8!important;
    word-break:keep-all;
}

.legal-v083 .policy-card p{
    margin:0!important;
}

.legal-v083 .policy-card ul,
.legal-v083 .policy-card ol{
    margin:0!important;
    padding-left:22px!important;
}

.legal-v083 .policy-card li+li{
    margin-top:3px;
}

.legal-v083 .policy-card-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:11px;
}

.legal-v083 .policy-card-title-row h2{
    margin:0!important;
}

.legal-v083 .policy-card-title-row>span{
    flex:0 0 auto;
    min-height:26px;
    padding:0 8px;
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    background:#fff7ed;
    color:#c2410c;
    font-size:11px;
    font-weight:900;
}

.legal-v083 .info-table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    overflow:hidden!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    background:#fff!important;
}

.legal-v083 .info-table tr:last-child th,
.legal-v083 .info-table tr:last-child td{
    border-bottom:0!important;
}

.legal-v083 .info-table th,
.legal-v083 .info-table td{
    padding:13px 14px!important;
    border:0!important;
    border-bottom:1px solid #edf0f3!important;
    vertical-align:top!important;
    font-size:14px!important;
    line-height:1.55!important;
    text-align:left!important;
    overflow-wrap:anywhere;
}

.legal-v083 .info-table th{
    width:190px!important;
    background:#f8fafc!important;
    color:#475467!important;
    font-weight:900!important;
}

.legal-v083 .info-table td{
    color:#1f2937!important;
    font-weight:700!important;
}

.legal-v083 .legal-domain-link{
    color:#ea580c;
    text-decoration:underline;
    text-underline-offset:3px;
    overflow-wrap:anywhere;
}

.legal-v083 .policy-link-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}

.legal-v083 .policy-link-cards>a{
    min-height:74px;
    padding:14px 16px;
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    border:1px solid #e5e7eb;
    border-radius:14px;
    background:#fff;
    color:#1f2937;
    text-decoration:none;
    box-shadow:0 6px 18px rgba(15,23,42,.035);
}

.legal-v083 .policy-link-cards>a>span{
    font-size:24px;
}

.legal-v083 .policy-link-cards>a>strong{
    min-width:0;
    font-size:15px;
    font-weight:950;
}

.legal-v083 .policy-link-cards>a>em{
    color:#ea580c;
    font-size:12px;
    font-style:normal;
    font-weight:900;
}

.legal-v083 .bottom-tab{
    z-index:60!important;
}

/* PC */
@media(min-width:900px){
    .legal-v083 .policy-page{
        padding-bottom:130px!important;
    }

    .legal-v083 .policy-body{
        margin-top:28px!important;
    }

    .legal-v083 .bottom-tab{
        left:50%!important;
        right:auto!important;
        bottom:24px!important;
        width:min(1120px,calc(100% - 48px))!important;
        max-width:1120px!important;
        height:72px!important;
        transform:translateX(-50%)!important;
        padding:6px 18px!important;
        border:1px solid #e5e7eb!important;
        border-radius:18px!important;
        background:rgba(255,255,255,.97)!important;
        box-shadow:0 18px 55px rgba(15,23,42,.16)!important;
    }

    .legal-v083 .bottom-tab a,
    .legal-v083 .bottom-tab button{
        height:58px!important;
        font-size:12px!important;
    }
}

/* Mobile */
@media(max-width:899px){
    .legal-v083 .policy-page{
        padding-bottom:100px!important;
        background:#fff!important;
    }

    .legal-v083 .policy-head{
        width:100%!important;
        height:56px!important;
        padding:0 12px!important;
        border-bottom:1px solid #eef0f3!important;
        background:rgba(255,255,255,.97)!important;
    }

    .legal-v083 .policy-head button{
        width:36px!important;
        height:36px!important;
        border-radius:10px!important;
        font-size:27px!important;
    }

    .legal-v083 .policy-head h1{
        font-size:18px!important;
    }

    .legal-v083 .policy-body{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:10px 10px 14px!important;
    }

    .legal-v083 .policy-hero{
        margin-bottom:8px!important;
        padding:18px 16px!important;
        border-radius:15px!important;
    }

    .legal-v083 .policy-kicker{
        font-size:10px;
    }

    .legal-v083 .policy-hero h2{
        font-size:24px!important;
    }

    .legal-v083 .policy-hero p{
        margin-top:6px!important;
        font-size:13px!important;
        line-height:1.6!important;
    }

    .legal-v083 .policy-domain-chip{
        min-height:32px;
        margin-top:10px;
        font-size:11px;
    }

    .legal-v083 .policy-card{
        margin-bottom:7px!important;
        padding:16px 14px!important;
        border-radius:13px!important;
        box-shadow:none!important;
    }

    .legal-v083 .policy-card h2{
        margin-bottom:8px!important;
        font-size:16px!important;
    }

    .legal-v083 .policy-card p,
    .legal-v083 .policy-card li{
        font-size:13px!important;
        line-height:1.72!important;
    }

    .legal-v083 .policy-card-title-row{
        display:block;
        margin-bottom:8px;
    }

    .legal-v083 .policy-card-title-row>span{
        margin-top:5px;
        font-size:10px;
    }

    .legal-v083 .info-table{
        border-radius:10px!important;
    }

    .legal-v083 .info-table th,
    .legal-v083 .info-table td{
        padding:10px 9px!important;
        font-size:12px!important;
        line-height:1.5!important;
    }

    .legal-v083 .info-table th{
        width:104px!important;
    }

    .legal-v083 .policy-link-cards{
        grid-template-columns:1fr;
        gap:6px;
        margin-top:7px;
    }

    .legal-v083 .policy-link-cards>a{
        min-height:60px;
        padding:10px 12px;
        border-radius:12px;
    }

    .legal-v083 .policy-link-cards>a>strong{
        font-size:13px;
    }

    .legal-v083 .policy-link-cards>a>em{
        font-size:11px;
    }
}

@media(max-width:360px){
    .legal-v083 .policy-body{
        padding-left:7px!important;
        padding-right:7px!important;
    }

    .legal-v083 .policy-card{
        padding:14px 11px!important;
    }

    .legal-v083 .info-table th{
        width:92px!important;
    }

    .legal-v083 .info-table th,
    .legal-v083 .info-table td{
        padding:9px 7px!important;
        font-size:11px!important;
    }
}
