@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
@import url('https://cdn.rawgit.com/moonspam/NanumSquare/master/nanumsquare.css');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap');


/* Freesentation 폰트 - 하나의 font-family로 통합 */
@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-2ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-4Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-5Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-6SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-7Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Freesentation';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-9Black.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}


/* 런드리고딕 폰트 */

@font-face {
    font-family: 'LaundryGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2403-2@1.0/TTLaundryGothicR.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'LaundryGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2403-2@1.0/TTLaundryGothicB.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}


/* A2Z 폰트 */


@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-1Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-2ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-3Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-4Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-5Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-6SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-7Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-8ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'A2z';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2601-6@1.0/에이투지체-9Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* 전남교육바른체 폰트 */

@font-face {
    font-family: 'JeonnamEducationBarun';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-1@1.0/JNE-Bareun-TTF-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'JeonnamEducationBarun';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-1@1.0/JNE-Bareun-TTF-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}


.sound_only {
    display: none;
}

body {
    font-family: 'Freesentation', sans-serif;
    /* 폰트 부드럽게 rendering */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Freesentation', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
}


/* break-keep, letter-spacing 스타일 */

p,
div,
span,
label,
h1,
h2,
h3,
h4,
h5,
h6 {
    word-break: keep-all;
    overflow-wrap: break-word;
    letter-spacing: 0.01rem;
}


/*span 태그는 상위 태그의 간격을 상속받도록 함*/

span {
    letter-spacing: inherit;
}


/*모바일, 태블릿 뷰에서 lenis 새로고침 중지*/
html,
body {
    overscroll-behavior-y: none;
}

@media (min-width:1024px) {

    html,
    body {
        overscroll-behavior-y: initial;
    }
}


/* 에디터 콘텐츠 내 텍스트, 이미지 정렬 - 에디터에서 설정한 정렬 그대로 반영 */

.editor_content p,
.editor_content div,
#bo_v_con p,
#bo_v_con div {
    text-align: inherit;
    font-family: inherit !important;
}

.editor_content img,
#bo_v_con img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* 게시판 본문 첨부 이미지 확대 링크는 이미지 크기만 클릭되도록 제한 */
#bo_v_img a.view_image {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
}

#bo_v_img a.view_image img {
    display: block;
}

/* 에디터 콘텐츠 내 리스트 스타일 복원 (Tailwind preflight 리셋 대응) */
.editor_content ol,
#bo_v_con ol {
    list-style-type: decimal;
    padding-left: 1.5em;
    margin: 0.5em 0;
}

.editor_content ul,
#bo_v_con ul {
    list-style-type: disc;
    padding-left: 1.5em;
    margin: 0.5em 0;
}

.editor_content li,
#bo_v_con li {
    display: list-item;
    margin: 0.25em 0;
}

.editor_content ol ol,
#bo_v_con ol ol { list-style-type: lower-alpha; }

.editor_content ul ul,
#bo_v_con ul ul { list-style-type: circle; }

/* 게시판 콘텐츠 기본 폰트 '나눔바른고딕' 적용 */
#bo_v_con {
    font-family: 'NanumBarunGothic', sans-serif !important;
}


/* 체크박스 체크 시 색상 변경 */

input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #000 !important;
}

input[type="checkbox"]+label span {
    width: 16px !important;
    height: 16px !important;
    border: 1px solid #000 !important;
}

input[type="checkbox"] {
    accent-color: #D92027 !important;
}

input[type="checkbox"]:checked {
    accent-color: #D92027 !important;
    background-color: #D92027 !important;
    border-color: #D92027 !important;
}

input[type="checkbox"]:checked+label span {
    accent-color: #D92027 !important;
    background-color: #D92027 !important;
    border-color: #D92027 !important;
}

input[type="checkbox"]+label:hover {
    color: #D92027 !important;
}

/* input, 셀렉트박스 focus 시 파란색 outline 제거 및 색상 변경 (아이디·비밀번호 동일) */
input[type="text"]:focus,
input[type="password"]:focus {
    outline: none;
    box-shadow: none;
    background-color: #f5f5f5 !important;
    border: 1px solid #212121 !important;
}

input[type="text"]:focus-visible,
input[type="password"]:focus-visible {
    outline: none;
    box-shadow: none;
    border: 1px solid #212121 !important;
}

/* 비밀번호 필드: 브라우저 autofill 시 연한 파란 배경 제거, 아이디와 동일한 #f5f5f5 적용 */
input[type="password"]:-webkit-autofill,
input[type="password"]:-webkit-autofill:hover,
input[type="password"]:-webkit-autofill:focus,
input[type="password"]:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #f5f5f5 inset !important;
    box-shadow: 0 0 0 30px #f5f5f5 inset !important;
    -webkit-text-fill-color: #171717;
    transition: background-color 5000s ease-in-out 0s;
}


input[type="radio"] {
    accent-color: #212121;
}

input[type="radio"]:checked {
    outline: none;
    box-shadow: none;
}

select:focus {
    outline: none;
    box-shadow: none;
    border: none !important;
}

select:focus-visible {
    outline: none;
    box-shadow: none;
    border: none !important;
}

/* 휴면해제/회원정보 폼: 읽기전용 input (비활성화 예정 필드) */
.register_pharm_form input[readonly],
.register_pharm_form input:read-only {
    background-color: #eaeaea !important;
    border-color: #eaeaea !important;
}

.register_pharm_form input[readonly]:focus,
.register_pharm_form input:read-only:focus {
    background-color: #eaeaea !important;
    border-color: #eaeaea !important;
}

/* 헤더 검색 input: 포커스/자동완성 시에도 어두운 배경·흰 글자 유지 (일반 테마) */
#header-search-wrap:not(.is-kids) .header-search-input,
#header-search-wrap:not(.is-kids) .header-search-input:focus {
    background-color: #333 !important;
    color: #fff !important;
}

#header-search-wrap:not(.is-kids) .header-search-input::placeholder {
    color: rgb(156 163 175) !important;
}

#header-search-wrap:not(.is-kids) .header-search-input:-webkit-autofill,
#header-search-wrap:not(.is-kids) .header-search-input:-webkit-autofill:hover,
#header-search-wrap:not(.is-kids) .header-search-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff !important;
    -webkit-box-shadow: 0 0 0 1000px #333 inset !important;
    box-shadow: 0 0 0 1000px #333 inset !important;
}

/* 헤더 검색 input (키즈 테마): 밝은 배경 유지 */
#header-search-wrap.is-kids .header-search-input:-webkit-autofill,
#header-search-wrap.is-kids .header-search-input:-webkit-autofill:hover,
#header-search-wrap.is-kids .header-search-input:-webkit-autofill:focus {
    -webkit-text-fill-color: #1B2D49 !important;
    /* kids_blue */
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
}

/* 검색 분류: 모바일 2열 그리드, 줄바꿈 최소화 (lg 이상은 기존 5열 유지) */
@media (max-width: 1023px) {
    #ssch_cate ul:after {
        display: none;
    }

    #ssch_cate li {
        float: none;
        width: auto;
        border-right: none;
    }
}


/* 부분 글자간격(letter-spacing) 조절*/

.ls_head {
    letter-spacing: 0.03rem !important;
}

.ls_sub {
    letter-spacing: 0.05rem !important;
}

.ls_circle {
    letter-spacing: 0.07rem !important;
}

.ls_impact {
    letter-spacing: 0.09rem !important;
}

.ls_big {
    letter-spacing: 0.125rem !important;
}


/* 기본 ~ md(태블릿) 사이즈에서의 글자 간격 */
@media (max-width: 1023px) {
    .ls_head {
        letter-spacing: 0.015rem !important;
    }

    .ls_sub {
        letter-spacing: 0.03rem !important;
    }

    .ls_circle {
        letter-spacing: 0.045rem !important;
    }

    .ls_impact {
        letter-spacing: 0.06rem !important;
    }

    .ls_big {
        letter-spacing: 0.08rem !important;
    }
}

/* 게시판 등에서 h2 태그가 기본적으로 숨김 처리(position: absolute 등)되는 현상 방지 */
#bo_v h2:not(.sound_only),
#bo_w h2:not(.sound_only),
#bo_l h2:not(.sound_only) {
    position: static !important;
    font-size: inherit;
    line-height: inherit;
    overflow: visible !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    margin: 0;
}

#bo_v_atc_title { display: none; }