@charset "UTF-8";

/* 공통 버튼·입력 요소 */

/* LENIS */
/* Lenis 권장 기본 스타일 (브라우저 기본 부드러운 스크롤과 겹치지 않게) */
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

/* .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
} */

.lenis [data-lenis-prevent] {
    overscroll-behavior: contain;
}

/* .lenis.lenis-stopped {
    overflow: hidden;
} */
/* 멈춘 상태(전체 메뉴 열림)에서도 스크롤바 유지 — 스크롤 막기는 Lenis가 함 */
.lenis.lenis-stopped {
    overflow-y: scroll;
}

/* lenis-smooth는 부드럽게 스크롤되는 동안에만 붙음 → 그동안만 iframe이 휠을 가로채지 않게 */
.lenis.lenis-smooth iframe {
    pointer-events: none;
}

/* LENIS END */

/* SCROLLBAR */
/* 짧은 페이지에서도 스크롤바 자리를 항상 유지 (페이지마다 화면 폭이 달라지지 않게) */
html {
    overflow-y: scroll;
}

/* html에 overflow를 주면 body의 overflow-x: hidden(all.css)이 body를 스크롤 상자로 만들어 sticky(페이지 안 이동 메뉴)가 깨짐
   → clip은 옆 넘침만 자르고 스크롤 상자를 만들지 않음 */
body {
    overflow-x: clip;
}

/* 크롬·엣지·웨일·사파리 (마우스 올리면 파랑) */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background-color: #f4f6fb;
}

::-webkit-scrollbar-thumb {
    background-color: #c4c9d3;
    border-radius: 8px;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #0e43fe;
}

::-webkit-scrollbar-corner {
    background-color: #f4f6fb;
}

/* 파이어폭스 (색·두께만 지원) — 크롬에 적용하면 위 모양이 무시되므로 파이어폭스에만 */
@supports (-moz-appearance: none) {
    html,
    * {
        scrollbar-width: thin;
        scrollbar-color: #c4c9d3 #f4f6fb;
    }
}

/* SCROLLBAR END */

/* COOKIE */
/* .cc-window,
.cc-revoke {
    display: none !important;
} */

/* 2026-10-20 쿠키 동의 배너 v2 — 숨겨져 있던 배너를 다시 보이게(동의를 받아야 구글 애널리틱스가 켜짐) + v2 모양
   왼쪽 아래 흰 카드(최대 420px, 테두리·그림자) / 문구 14px / 버튼 2개 같은 폭: '필수만 허용' 흰 테두리 · '모두 허용' 파랑
   마크업은 cookieconsent 라이브러리가 만듦 (.cc-window > .cc-message + .cc-compliance > .cc-btn.cc-deny / .cc-allow), 설정은 head.php */
.cc-revoke {
    display: none !important;
}

.cc-window.cc-floating {
    max-width: 420px !important;
    left: 24px !important;
    bottom: 24px !important;
    padding: 24px 24px 20px !important;
    font-family: 'Paperlogy', sans-serif !important;
    color: #3b4352 !important;
    background-color: #fff !important;
    border: 1px solid #e0e4ed;
    border-radius: 16px;
    -webkit-box-shadow: 0 16px 40px rgba(19, 19, 19, 0.12);
    box-shadow: 0 16px 40px rgba(19, 19, 19, 0.12);
}

.cc-window.cc-floating .cc-message {
    margin: 0 0 18px !important;
    font-family: 'Paperlogy', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 400;
    color: #3b4352;
    letter-spacing: -0.5px;
    line-height: 1.7 !important;
    word-break: keep-all;
}

.cc-window.cc-floating .cc-message a {
    padding: 0 !important;
    /* 문장과 같은 크기 (라이브러리 기본 16px) */
    font-size: inherit !important;
    font-weight: 600;
    color: #131313 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 1 !important;
}

.cc-window.cc-floating .cc-message a:hover {
    color: #0e43fe !important;
}

.cc-window.cc-floating .cc-compliance {
    display: -ms-grid !important;
    display: grid !important;
    -ms-grid-columns: minmax(0, 1fr) 8px minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
}

.cc-window.cc-floating .cc-compliance .cc-btn {
    height: 44px;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 !important;
    padding: 0 12px !important;
    font-family: 'Paperlogy', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.5px;
    white-space: nowrap;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 22px;
    -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
    -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
    -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.cc-window.cc-floating .cc-compliance .cc-btn.cc-deny {
    color: #3b4352 !important;
    background-color: #fff !important;
    border-color: #d8dde8 !important;
}

.cc-window.cc-floating .cc-compliance .cc-btn.cc-deny:hover {
    color: #131313 !important;
    border-color: #131313 !important;
}

.cc-window.cc-floating .cc-compliance .cc-btn.cc-allow {
    -ms-grid-column: 3;
    grid-column: 2;
    color: #fff !important;
    background-color: #0e43fe !important;
    border-color: #0e43fe !important;
}

.cc-window.cc-floating .cc-compliance .cc-btn.cc-allow:hover {
    background-color: #0a32c2 !important;
    border-color: #0a32c2 !important;
}
@media all and (max-width: 641px) {
    /* 화면 아래에 좌우 12px만 띄우고 꽉 차게 */
    .cc-window.cc-floating {
        max-width: none !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 12px !important;
        padding: 18px 16px 16px !important;
        border-radius: 12px;
    }

    .cc-window.cc-floating .cc-message {
        margin-bottom: 14px !important;
        font-size: 0.8125rem !important;
    }

    .cc-window.cc-floating .cc-compliance .cc-btn {
        height: 40px;
        font-size: 0.875rem !important;
        border-radius: 20px;
    }
}
/* COOKIE END */
