@font-face {
    font-family: 'S-CoreDream-3Light';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
/*
 * n_clean 쇼핑몰 임베드(?l=N_CLEAN) 전용 공통 스타일.
 * css/common.css 의 *, html, body, body{min-width:1400px} 같은 전역 규칙은 쇼핑몰 전체에 새므로
 * 임베드에서는 common.css 를 로드하지 않고, 필요한 규칙만 .nc-embed 범위로 한정해 둔다.
 * (독립 URL /n_clean/*.php 는 기존 common.css 를 그대로 사용)
 *
 * 변수(shop_embed.js 가 실제 렌더 높이로 갱신): --nc-top = 쇼핑몰 고정헤더 하단, --nc-bar-h = 스티키 메뉴바 높이
 */
.nc-embed { --nc-top: 81px; --nc-bar-h: 89px; position: relative; width: 1400px; margin: 0 auto; text-align: left; }
.nc-embed, .nc-embed *, .nc-embed *::before, .nc-embed *::after { box-sizing: border-box; }
.nc-embed { font-family: 'S-CoreDream-3Light', sans-serif; color: #222; line-height: 1.5; background: #fff; }
.nc-embed button, .nc-embed input, .nc-embed select, .nc-embed textarea { font-family: 'S-CoreDream-3Light', sans-serif; }
.nc-embed a { text-decoration: none; color: inherit; }
.nc-embed .nc-container { width: 1352px; margin-left: auto; margin-right: auto; padding: 0; }
.nc-embed .nc-main { width: 1400px; margin-left: auto; margin-right: auto; min-height: 50vh; padding: 40px 0; }

/* 스티키 메뉴바: 쇼핑몰 고정헤더 바로 아래. z-index 는 쇼핑몰 메가메뉴 딤(z90)·헤더(z1000)보다 낮게 */
.nc-embed .nc-header { position: sticky; top: var(--nc-top); z-index: 80; width: 1400px; height: auto; margin: 0 auto; background: #fff; }
.nc-embed .nc-utility { display: none; }
.nc-embed .nc-navbar { height: 88px; border-bottom: 1px solid #e5e5e5; }
.nc-embed .nc-navbar-inner { display: flex; align-items: center; height: 88px; position: relative; }
.nc-embed .nc-logo { display: block; width: 263px; height: 45px; }
.nc-embed .nc-logo img { display: block; width: 263px; height: 45px; }
.nc-embed .nc-nav { display: flex; gap: 40px; margin-left: 0; font-size: 18px; font-weight: 700; color: #111; }
.nc-embed .nc-nav a.is-active { color: #f43138; }
.nc-embed .nc-hotline { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.nc-embed .nc-hotline-badge { padding: 2px 8px; border-radius: 12px; background: #ff4b4b; color: #fff; font-size: 12px; font-weight: 700; }
.nc-embed .nc-hotline strong { font-size: 24px; font-weight: 800; color: #111; }
.nc-embed .nc-menu-btn { width: 40px; height: 40px; margin-left: 24px; padding: 0; border: 0; border-radius: 8px; background: #444; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.nc-embed .nc-menu-btn span { display: block; width: 18px; height: 2px; background: #fff; }

/* 햄버거 레이어: 쇼핑몰 헤더 + 스티키 바 아래에서 시작 */
.nc-embed .nc-menu-layer {
    display: none;
    position: fixed;
    z-index: 95;
    top: calc(var(--nc-top) + var(--nc-bar-h));
    left: 0; right: 0; bottom: 0;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: max(24px, calc((100vw - 1400px)/2 + 24px));
    overflow-y: auto;
    background: transparent;
}
.nc-embed .nc-menu-layer.is-open { display: flex; }
.nc-embed .nc-menu-panel {
    width: 470px;
    max-height: calc(100vh - var(--nc-top) - var(--nc-bar-h) - 20px);
    overflow-y: auto;
    padding: 52px 42px 34px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(25,31,40,.18);
}
.nc-embed .nc-menu-icons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.nc-embed .nc-menu-icons a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #2f343b; font-size: 20px; line-height: 28px; font-weight: 700; }
.nc-embed .nc-menu-icons img { width: 64px; height: 64px; object-fit: contain; }
.nc-embed .nc-menu-board { margin-top: 58px; }
.nc-embed .nc-menu-board > p { margin: 0; padding-bottom: 22px; border-bottom: 1px solid #e5e7eb; color: #999da3; font-size: 20px; line-height: 28px; font-weight: 700; }
.nc-embed .nc-menu-board ul { margin: 0; padding: 0; list-style: none; }
.nc-embed .nc-menu-board a { display: flex; align-items: center; justify-content: space-between; padding: 18px 8px 10px; color: #374151; font-size: 18px; line-height: 26px; font-weight: 700; }
.nc-embed .nc-menu-board b { font-size: 24px; font-weight: 400; }
.nc-embed .nc-menu-layer a:hover { color: #f43138; }

/* 케어서비스(쇼핑몰) 내부 quicknav: 스티키 메뉴바 바로 아래로 (기존 81px/z500 은 겹침) */
.nc-embed.nc-page-care_service_shop .care-service-page .crs-quicknav { top: calc(var(--nc-top) + var(--nc-bar-h)); z-index: 70; }

/* 스티키 바에 가려지지 않도록 앵커 이동 보정 */
.nc-embed #clQuote { scroll-margin-top: calc(var(--nc-top) + var(--nc-bar-h) + 12px); }
