/* 사주꼬리 글꼴 (2026-10-01 통일, 진호: 제목·로고도 새 글꼴로): 나눔스퀘어라운드 한 가족 + 둥근 한자.
   1) 제목·로고 = 나눔스퀘어라운드 ExtraBold  ("Saju Display", 굵기 지정과 상관없이 항상 ExtraBold)
   2) 본문·버튼·입력·가격 = 나눔스퀘어라운드  ("Saju Round")
   3) 한자(명식표 甲乙, 五行) = M PLUS Rounded 의 한자만 뽑은 파일. 두 글꼴 안에 한자 범위로 넣어서 어디서든 한자는 자동으로 둥근 한자로 나온다.
   제목 면은 굵기 파일 하나라 100~900 전체로 선언해 가짜 굵게(합성)가 생기지 않게 한다. */
@font-face{font-family:"Saju Display";src:url("/fonts/NanumSquareRoundEB-subset.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Saju Display";src:url("/fonts/HanjaRound-Bold.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+3007,U+4E00-9FFF,U+F900-FAFF}
@font-face{font-family:"Saju Round";src:url("/fonts/NanumSquareRoundR-subset.woff2") format("woff2");font-weight:100 500;font-display:swap}
@font-face{font-family:"Saju Round";src:url("/fonts/NanumSquareRoundB-subset.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Saju Round";src:url("/fonts/NanumSquareRoundEB-subset.woff2") format("woff2");font-weight:800 900;font-display:swap}
@font-face{font-family:"Saju Round";src:url("/fonts/HanjaRound-Medium.woff2") format("woff2");font-weight:100 500;font-display:swap;unicode-range:U+3007,U+4E00-9FFF,U+F900-FAFF}
@font-face{font-family:"Saju Round";src:url("/fonts/HanjaRound-Bold.woff2") format("woff2");font-weight:600 900;font-display:swap;unicode-range:U+3007,U+4E00-9FFF,U+F900-FAFF}
:root{--f-display:"Saju Display","Saju Round","Apple SD Gothic Neo",sans-serif;--f-ui:"Saju Round","Apple SD Gothic Neo",sans-serif;--f-body:"Saju Round","Apple SD Gothic Neo",sans-serif;--home-display:"Saju Display","Saju Round",sans-serif}
body{font-family:var(--f-body)}
button,.button,input,select,textarea,summary,.chip,.chip-check span,.seed-pack,.login-btn,.lg-cross-btn,.pv-head em,.price,.sf-price,[class*="-price"]{font-family:var(--f-ui)}
/* 아이폰은 16px보다 작은 입력칸을 누르면 화면을 확대한다 */
input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:16px!important}
/* 제목 글꼴은 큰 제목·상품 이름에만. 작은 라벨·선택지·숫자·안내는 본문 글꼴로 맞춘다 */
.seg-opt span,.seg span,.daily-seg span,.daily-field>span,.card-title small,h2 small,h3 small,.daily-kicker,.lg-kicker,.lg-toc-num,.lg-year,.pillar-reading,.pillar small,[class*="pillar"] small{font-family:var(--f-ui)!important;font-weight:800}

/* 상세(상품) 페이지 글자 단계 (진호 10/1: 폰트 정리). 크기 6단계·굵기 3단계만 쓴다.
   26 페이지 제목 / 20 카드 제목·가격 / 17 질문·섹션 제목·핵심 값·주 버튼 / 15 목록·선택지·본문 / 13 보조 설명 / 12 작은 표시(잠김·번호·FREE) */
body.rv-page{--t1:26px;--t2:20px;--t3:17px;--t4:15px;--t5:13px;--t6:12px}
body.rv-page .hero h1{font-size:var(--t1)!important;font-weight:800!important}
body.rv-page .hero p,body.rv-page #product-description{font-size:var(--t4)!important;font-weight:400!important;line-height:1.6}
body.rv-page .topbar .back-link,body.rv-page .topbar .help-link{font-size:var(--t4)!important;font-weight:600!important}
body.rv-page .pv-head b,body.rv-page .pv-head em{font-size:var(--t2)!important;font-weight:800!important}
body.rv-page .pv-peek .pv-v{font-size:var(--t3)!important;font-weight:800!important}
body.rv-page .pv-toc li,body.rv-page .pv-toc .pv-t,body.rv-page .pv-more .pv-toc li{font-size:var(--t4)!important;font-weight:700!important}
body.rv-page .pv-more summary,body.rv-page .pv-more summary span{font-size:var(--t4)!important;font-weight:800!important}
body.rv-page .pv-peek>.pv-tag,body.rv-page .pv-n,body.rv-page .free-tag{font-size:var(--t6)!important;font-weight:700!important}
body.rv-page .q-label,body.rv-page .card-title{font-family:var(--f-ui)!important;font-size:var(--t3)!important;font-weight:800!important}
body.rv-page .q-label small,body.rv-page .card-title small{font-size:var(--t5)!important;font-weight:600!important}
body.rv-page .seg-opt span,body.rv-page .seg span,body.rv-page .chip,body.rv-page .chip-check span,body.rv-page .hour-toggle,body.rv-page .hour-chip,body.rv-page #year-section label>span{font-family:var(--f-ui)!important;font-size:var(--t4)!important;font-weight:700!important}
body.rv-page .question-foot,body.rv-page .question-foot span,body.rv-page .daily-entry small,body.rv-page .field-help,body.rv-page .micro{font-size:var(--t5)!important;font-weight:400!important}
body.rv-page .daily-entry b{font-size:var(--t4)!important;font-weight:800!important}
body.rv-page #prepare-button,body.rv-page .submit-button{font-size:var(--t3)!important;font-weight:800!important}

/* 무료 미리보기 결과(명식표·오행·용신·라이프 키트)도 같은 단계. 명식표 큰 한자(乙·火)만 그림처럼 크게 둔다 */
body.rv-page .lg-wrap{--t1:26px;--t2:20px;--t3:17px;--t4:15px;--t5:13px;--t6:12px}
body.rv-page .lg-greet h2,body.rv-page .lg-h,body.rv-page .chart-heading h3{font-family:var(--f-display)!important;font-size:var(--t2)!important;font-weight:800!important}
body.rv-page .lg-ilju-text h3{font-family:var(--f-display)!important;font-size:var(--t1)!important;font-weight:800!important}
body.rv-page .pillar-card>h2,body.rv-page .lg-year,body.rv-page .lg-el-chip b,body.rv-page .lg-el-chip em{font-size:var(--t3)!important;font-weight:800!important}
body.rv-page .lg-greet>p:not(.lg-kicker),body.rv-page .lg-ilju-line,body.rv-page .lg-text,body.rv-page .chart-heading>p,body.rv-page .day-master-note p,body.rv-page .pillar-explanations p,body.rv-page .guide-intro{font-size:var(--t4)!important;font-weight:400!important;line-height:1.65}
body.rv-page .lg-text b,body.rv-page .day-master-note>strong,body.rv-page .pillar-explanations>summary,body.rv-page .pillar-explanations article>h3,body.rv-page .pillar-reading,body.rv-page .lg-god>strong,body.rv-page .lg-kit-row>b,body.rv-page .lg-avoid-h,body.rv-page .lg-caution-list>li>b,body.rv-page .lg-year-list>li>b,body.rv-page .lg-toc-list li>div>b,body.rv-page .lg-bar-name,body.rv-page .lg-bar-name b{font-size:var(--t4)!important;font-weight:800!important}
body.rv-page .lg-kicker,body.rv-page .chart-kicker,body.rv-page .lg-el-h,body.rv-page .lg-ilju-name,body.rv-page .chart-howto,body.rv-page .lg-note,body.rv-page .lg-chip,body.rv-page .lg-caution-list small,body.rv-page .lg-year-list small,body.rv-page .lg-toc-list li>div>small,body.rv-page .lg-god>small,body.rv-page .lg-mate-art figcaption,body.rv-page .lg-bar-val,body.rv-page .ten-god-meaning,body.rv-page .pillar-explanations article p strong{font-size:var(--t5)!important;font-weight:600!important;line-height:1.55}
body.rv-page .lg-kicker,body.rv-page .chart-kicker,body.rv-page .lg-el-h{font-weight:800!important}
body.rv-page .glyph-kind,body.rv-page .glyph-god,body.rv-page .glyph-reading,body.rv-page .pillar-card>h2>small,body.rv-page .pillar-role,body.rv-page .unknown-pillar span,body.rv-page .unknown-pillar small,body.rv-page .element-key span,body.rv-page .lg-level,body.rv-page .lg-god-kind,body.rv-page .lg-badge,body.rv-page .lg-scale-labels span,body.rv-page .lg-dl dt,body.rv-page .lg-kit-row>span,body.rv-page .ten-god-meaning span,body.rv-page .chart-howto strong{font-size:var(--t6)!important;font-weight:700!important}
body.rv-page .lg-toc-num{font-size:var(--t4)!important;font-weight:800!important}
body.rv-page .login-btn,body.rv-page .login-btn span{font-size:var(--t3,17px)!important;font-weight:800!important}
body.rv-page .day-master-note p b,body.rv-page .lg-text b,body.rv-page .pillar-explanations article p strong{font-size:inherit!important;font-weight:800!important}

/* 내용이 짧은 페이지에서 푸터가 중간에 떠 있지 않게: 본문이 남는 높이를 채우고 푸터는 화면 바닥에 */
body.rv-page,body:has(>footer){display:flex;flex-direction:column;min-height:100dvh}
body.rv-page>main,body:has(>footer)>main{flex:1 0 auto}
body.rv-page>footer,body:has(>footer)>footer{margin-top:auto;width:100%;box-sizing:border-box}
body.rv-page>main,body:has(>footer)>main{width:100%;box-sizing:border-box}

/* 상세·정보 페이지 로고도 홈과 같게: 햄스터 얼굴 아이콘 + 사주꼬리, 홈 로고 색(보라). 홈은 이미 SVG가 있어서 제외 */
.wordmark,.sf-brand:not(:has(svg)){display:inline-flex!important;align-items:center;gap:6px;color:#594296!important;text-decoration:none;letter-spacing:-.5px}
.wordmark::before,.sf-brand:not(:has(svg))::before{content:"";flex:0 0 auto;width:1.05em;height:1.05em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23594296' d='M7 10C1 8 1 1 7 2c4 0 5 4 5 5h8c0-2 2-5 5-5 6-1 6 6 0 8 3 3 4 6 3 10-1 6-7 9-12 9S5 26 4 20c-1-4 0-7 3-10Z'/%3E%3Ccircle cx='11' cy='17' r='1.5' fill='white'/%3E%3Ccircle cx='21' cy='17' r='1.5' fill='white'/%3E%3Cpath d='m14 22 2 2 2-2' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* ===== 줄바꿈 규칙 (진호 10/1) =====
   1) 한글 단어 중간에서 끊지 않는다(keep-all). 아주 긴 영문·링크만 넘칠 때 끊는다.
   2) 제목·짧은 문구는 줄 길이를 고르게(balance), 문단은 마지막 줄에 한 단어만 남지 않게(pretty).
   3) 짧은 문구는 linebreak.js가 쉼표·마침표 단위 덩어리(.ph)로 묶는다. */
html{word-break:keep-all;overflow-wrap:break-word;line-break:strict}
*{word-break:keep-all}
.chart-glyph,code,pre,.pv-blur{word-break:normal}
h1,h2,h3,h4,summary,button,.button,label,figcaption,dt,.shop-product-hook,.shop-cover-word,.free-card span,.free-card strong,.pv-t,.lg-mate-one,.q-label,.card-title,.question-foot,.legal-doc h2{text-wrap:balance}
p,li,dd,small,.lg-text,.lg-note{text-wrap:pretty}
.ph{display:inline-block;text-wrap:inherit}
/* 덩어리 사이 공백은 그대로 두고, 덩어리 안 줄바꿈도 단어 단위 */
.ph{word-break:keep-all}

/* ===== 펼치기(details) = 누르는 버튼처럼 (진호 10/1: '버튼 같지 않아서 넘긴다') =====
   FAQ 목록(.sf-faq)과 이미 버튼 모양인 목차(.pv-more), 글 속 장(.chapter)은 제외. */
details:not(.pv-more):not(.chapter):not(.report-menu)>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 16px;margin:12px 0 0;border:1.5px solid #e6cfb4;border-radius:14px;background:#fff;color:#3b2f2a;font-family:var(--f-ui);font-size:15px;font-weight:800;line-height:1.4;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}
details:not(.pv-more):not(.chapter):not(.report-menu)>summary::-webkit-details-marker{display:none}
details:not(.pv-more):not(.chapter):not(.report-menu)>summary::marker{content:''}
details:not(.pv-more):not(.chapter):not(.report-menu)>summary::after{content:'열기';flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 12px;border-radius:999px;background:#fff1e3;color:#b5651d;font-size:12.5px;font-weight:800}
details[open]:not(.pv-more):not(.chapter):not(.report-menu)>summary::after{content:'접기'}
details:not(.pv-more):not(.chapter):not(.report-menu)>summary:hover{background:#fffaf4}
details:not(.pv-more):not(.chapter):not(.report-menu)>summary:active{transform:scale(.99)}
details[open]:not(.pv-more):not(.chapter):not(.report-menu)>summary{margin-bottom:10px}
/* 홈 FAQ는 목록 모양 유지: 테두리 없이 줄만, 오른쪽에 + / − */
.sf-faq details>summary{border:0!important;border-bottom:1px solid #efe6dc!important;border-radius:0!important;margin:0!important;padding:14px 4px!important;background:none!important}
.sf-faq details>summary::after{content:'+'!important;background:none!important;color:#b5651d!important;font-size:20px!important;padding:0!important}
.sf-faq details[open]>summary::after{content:'−'!important}
/* 진호 10/2: 하단 사업자 정보 '더보기' (주소, 전화는 펼쳐야 보임) */
details.biz-more{margin:6px 0 0}
details.biz-more>summary{display:inline-flex!important;align-items:center;gap:4px;min-height:32px!important;padding:0!important;margin:0!important;border:0!important;background:none!important;border-radius:0!important;font-size:11px!important;font-weight:700!important;color:#9a8f88!important;cursor:pointer;list-style:none}
details.biz-more>summary::-webkit-details-marker{display:none}
details.biz-more>summary::after{content:'\25BE'!important;padding:0!important;background:none!important;color:#9a8f88!important;font-size:11px!important}
details.biz-more[open]>summary::after{content:'\25B4'!important}
details.biz-more .biz-info{margin-top:2px}
