/* =========================================================
   ALLINFOWORLD119 · USER FONT SIZE CONTROL V1
   - 금융용어 검색 버튼 아래 고정
   - 기본 / +3 / +5 / +7
   - localStorage 저장
   - 읽기 영역 중심 확대
========================================================= */

:root{
  --aiw-user-font-delta: 0px;
}

/* 읽기 영역 */
body.aiw-font-user-size .allinfo-article-body,
body.aiw-font-user-size .area_view,
body.aiw-font-user-size .allinfo-article-body p,
body.aiw-font-user-size .area_view p,
body.aiw-font-user-size .allinfo-article-body li,
body.aiw-font-user-size .area_view li,
body.aiw-font-user-size .allinfo-article-body blockquote,
body.aiw-font-user-size .area_view blockquote,
body.aiw-font-user-size .allinfo-article-body td,
body.aiw-font-user-size .area_view td,
body.aiw-font-user-size .allinfo-article-body th,
body.aiw-font-user-size .area_view th,
body.aiw-font-user-size .allinfo-article-body figcaption,
body.aiw-font-user-size .area_view figcaption,
body.aiw-font-user-size .allinfo-article-body .allinfo-summary,
body.aiw-font-user-size .area_view .allinfo-summary,
body.aiw-font-user-size .allinfo-article-body .allinfo-faq,
body.aiw-font-user-size .area_view .allinfo-faq,
body.aiw-font-user-size .allinfo-article-body .allinfo-toc,
body.aiw-font-user-size .area_view .allinfo-toc{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* 본문 제목도 함께 확대 */
body.aiw-font-user-size .allinfo-article-body h2,
body.aiw-font-user-size .area_view h2{
  font-size: calc(1em + 12px + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-article-body h3,
body.aiw-font-user-size .area_view h3{
  font-size: calc(1em + 7px + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-article-body h4,
body.aiw-font-user-size .area_view h4{
  font-size: calc(1em + 4px + var(--aiw-user-font-delta)) !important;
}

/* 계산기: 입력/설명/결과 텍스트 중심 */
body.aiw-font-user-size .aiw-calculator,
body.aiw-font-user-size .aiw-calc-form,
body.aiw-font-user-size .aiw-calc-result,
body.aiw-font-user-size .aiw-calc-description,
body.aiw-font-user-size .aiw-field,
body.aiw-font-user-size .aiw-result-card{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* 가이드/카드의 읽기 텍스트 */
body.aiw-font-user-size .aiw-guide-panel,
body.aiw-font-user-size .aiw-related-section,
body.aiw-font-user-size .allinfo-list-area .list_content{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* 금융용어 팝업/검색 결과도 함께 */
body.aiw-font-user-size .aiw-glossary-popover,
body.aiw-font-user-size .aiw-glossary-search-content{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   고정 Aa 버튼
--------------------------------------------------------- */
.aiw-font-fab{
  position:fixed;
  z-index:999995;
  right:22px;
  bottom:134px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:0 13px;
  border:1px solid #d8e2ec;
  border-radius:999px;
  background:#fff;
  color:#24405f;
  box-shadow:0 10px 25px rgba(16,42,67,.16);
  font-family:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
  -webkit-appearance:none;
  appearance:none;
}

.aiw-font-fab:hover{
  transform:translateY(-2px);
  border-color:#b8cada;
  box-shadow:0 14px 30px rgba(16,42,67,.20);
}

.aiw-font-fab-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#f1f6fb;
  color:#173b73;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

/* ---------------------------------------------------------
   크기 선택 패널
--------------------------------------------------------- */
.aiw-font-panel{
  position:fixed;
  z-index:999999;
  right:22px;
  bottom:182px;
  display:none;
  width:min(290px,calc(100vw - 28px));
  padding:14px;
  border:1px solid #dbe5ef;
  border-radius:15px;
  background:#fff;
  box-shadow:0 20px 60px rgba(16,42,67,.20);
  color:#26384f;
}

.aiw-font-panel.is-open{
  display:block;
}

.aiw-font-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:11px;
}

.aiw-font-panel-title{
  color:#172b44;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
}

.aiw-font-panel-close{
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #e1e8ef;
  border-radius:8px;
  background:#fff;
  color:#718196;
  font-size:17px;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}

.aiw-font-options{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}

.aiw-font-option{
  min-width:0;
  height:42px;
  padding:0 5px;
  border:1px solid #dbe5ef;
  border-radius:10px;
  background:#f8fafc;
  color:#425a72;
  font-family:inherit;
  font-size:10.5px;
  font-weight:850;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}

.aiw-font-option:hover{
  border-color:#b9ccde;
  background:#f2f7fb;
}

.aiw-font-option.is-active{
  border-color:#173b73;
  background:#173b73;
  color:#fff;
}

.aiw-font-panel-note{
  margin:9px 1px 0;
  color:#8995a4;
  font-size:9.5px;
  line-height:1.45;
}

/* ---------------------------------------------------------
   Mobile
--------------------------------------------------------- */
@media (max-width:640px){
  .aiw-font-fab{
    right:14px;
    bottom:118px;
    min-height:39px;
    padding:0 12px;
  }

  .aiw-font-panel{
    left:10px;
    right:10px;
    bottom:166px;
    width:auto;
  }

  /* 모바일 큰 글자에서 줄간격 보정 */
  body.aiw-font-user-size .allinfo-article-body,
  body.aiw-font-user-size .area_view{
    line-height:1.78;
  }
}
/* =========================================================
   V2 · GLOBAL READABILITY EXPANSION
   메인 화면에서도 글자 크기 설정이 확실히 보이도록 확장
========================================================= */

/* ---------------------------------------------------------
   Header / Drawer / Footer
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-site-header,
body.aiw-font-user-size .allinfo-site-header a,
body.aiw-font-user-size .allinfo-site-header button,
body.aiw-font-user-size .allinfo-site-drawer,
body.aiw-font-user-size .allinfo-site-drawer a,
body.aiw-font-user-size .allinfo-site-drawer button,
body.aiw-font-user-size .allinfo-footer-inner,
body.aiw-font-user-size .allinfo-footer-inner a,
body.aiw-font-user-size .allinfo-footer-inner p{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Homepage Hero
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-hero-eyebrow,
body.aiw-font-user-size .allinfo-hero-copy > p,
body.aiw-font-user-size .allinfo-hero-panel-head span,
body.aiw-font-user-size .allinfo-hero-panel-head strong,
body.aiw-font-user-size .allinfo-hero-search input,
body.aiw-font-user-size .allinfo-hero-search button,
body.aiw-font-user-size .allinfo-hero-chips a{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-hero h1{
  font-size: calc(1em + 30px + var(--aiw-user-font-delta)) !important;
  line-height:1.14 !important;
}

/* ---------------------------------------------------------
   Homepage Section Headings
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-section-heading span,
body.aiw-font-user-size .allinfo-section-heading p{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-section-heading h2{
  font-size: calc(1em + 14px + var(--aiw-user-font-delta)) !important;
  line-height:1.25 !important;
}

/* ---------------------------------------------------------
   Homepage Category Cards
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-category-card,
body.aiw-font-user-size .allinfo-category-card strong,
body.aiw-font-user-size .allinfo-category-card p,
body.aiw-font-user-size .allinfo-category-card small,
body.aiw-font-user-size .allinfo-category-card span{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Scenario Cards
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-scenario-grid,
body.aiw-font-user-size .allinfo-scenario-grid a,
body.aiw-font-user-size .allinfo-scenario-grid strong,
body.aiw-font-user-size .allinfo-scenario-grid p,
body.aiw-font-user-size .allinfo-scenario-grid small,
body.aiw-font-user-size .allinfo-scenario-grid span{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Finance Tools
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-tool-grid,
body.aiw-font-user-size .allinfo-tool-grid a,
body.aiw-font-user-size .allinfo-tool-grid strong,
body.aiw-font-user-size .allinfo-tool-grid small,
body.aiw-font-user-size .allinfo-tool-grid span{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Main Article List / Grid
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-list-title,
body.aiw-font-user-size .allinfo-list-description,
body.aiw-font-user-size .allinfo-list-count-wrap,
body.aiw-font-user-size .allinfo-list-area .link_cate,
body.aiw-font-user-size .allinfo-list-area .tit_post,
body.aiw-font-user-size .allinfo-list-area .txt_post,
body.aiw-font-user-size .allinfo-list-area .detail_info,
body.aiw-font-user-size .allinfo-list-area .txt_bar{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* 글 제목은 본문 텍스트보다 조금 더 커지게 */
body.aiw-font-user-size .allinfo-list-area .tit_post{
  line-height:1.35 !important;
}

/* ---------------------------------------------------------
   Guide Panel
--------------------------------------------------------- */
body.aiw-font-user-size .aiw-guide-panel,
body.aiw-font-user-size .aiw-guide-panel button,
body.aiw-font-user-size .aiw-guide-panel a,
body.aiw-font-user-size .aiw-guide-panel strong,
body.aiw-font-user-size .aiw-guide-panel p,
body.aiw-font-user-size .aiw-guide-panel span,
body.aiw-font-user-size .aiw-guide-panel small{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Sidebar / quick navigation / drawer calculators
--------------------------------------------------------- */
body.aiw-font-user-size .allinfo-finance-quick-grid a,
body.aiw-font-user-size .allinfo-drawer-label,
body.aiw-font-user-size .allinfo-drawer-categories a,
body.aiw-font-user-size .allinfo-drawer-blog-menu a,
body.aiw-font-user-size .allinfo-drawer-calculator-grid > a,
body.aiw-font-user-size .allinfo-drawer-calculator-grid > a > span:last-child{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Generic homepage text fallbacks
   메인 콘텐츠 안의 텍스트 요소가 별도 클래스여도 크기 변화가 보이도록 보강
--------------------------------------------------------- */
body.aiw-font-user-size.allinfo-page-home main p,
body.aiw-font-user-size.allinfo-page-home main li,
body.aiw-font-user-size.allinfo-page-home main a,
body.aiw-font-user-size.allinfo-page-home main button,
body.aiw-font-user-size.allinfo-page-home main input,
body.aiw-font-user-size.allinfo-page-home main label,
body.aiw-font-user-size.allinfo-page-home main small{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* ---------------------------------------------------------
   Mobile
--------------------------------------------------------- */
@media (max-width:640px){
  body.aiw-font-user-size .allinfo-hero h1{
    font-size: calc(1em + 18px + var(--aiw-user-font-delta)) !important;
    line-height:1.18 !important;
  }

  body.aiw-font-user-size .allinfo-section-heading h2{
    font-size: calc(1em + 10px + var(--aiw-user-font-delta)) !important;
  }

  body.aiw-font-user-size .allinfo-category-card,
  body.aiw-font-user-size .allinfo-tool-grid a,
  body.aiw-font-user-size .allinfo-list-area .list_content{
    overflow-wrap:anywhere;
  }
}
.aiw-font-fab,
.aiw-font-panel,
.aiw-font-panel button,
.aiw-glossary-fab,
.aiw-glossary-search-panel,
.aiw-glossary-search-panel input,
.aiw-glossary-search-panel button,
.aiw-glossary-popover {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', 'Apple SD Gothic Neo', Arial, sans-serif !important;
}
/* =========================================================
   V6.1 · TOC FONT SIZE FIX
   목차 내부 요소가 style.css에서 px로 직접 지정되어 있어
   wrapper의 font-size만 키워서는 변하지 않던 문제 수정
========================================================= */

body.aiw-font-user-size .allinfo-toc-header strong{
  font-size: calc(13.5px + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-toc-header p{
  font-size: calc(10px + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .allinfo-toc #toc a{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
  line-height:1.62 !important;
}

body.aiw-font-user-size .allinfo-toc-icon{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
}

/* 자동목차가 allinfo-toc 밖에 생성되는 예외 구조도 대응 */
body.aiw-font-user-size #toc a{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
}

body.aiw-font-user-size .toc-center,
body.aiw-font-user-size .toc-center p{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
}
/* =========================================================
   V6.2 · PERSONAL FINANCE GUIDE FONT SIZE FIX
   Guide Panel 내부에 px 고정값이 다수 있어 wrapper 확대만으로는
   실제 텍스트가 변하지 않던 문제를 자식 요소별로 직접 보정
========================================================= */

/* 상단 eyebrow */
body.aiw-font-user-size .aiw-guide-kicker,
body.aiw-font-user-size .aiw-guide-eyebrow{
  font-size: calc(10px + var(--aiw-user-font-delta)) !important;
}

/* 메인 제목 */
body.aiw-font-user-size .aiw-guide-title,
body.aiw-font-user-size .aiw-guide-panel h2,
body.aiw-font-user-size .aiw-guide-panel h3{
  font-size: calc(18px + var(--aiw-user-font-delta)) !important;
  line-height:1.35 !important;
}

/* 상단 설명문 */
body.aiw-font-user-size .aiw-guide-desc,
body.aiw-font-user-size .aiw-guide-description,
body.aiw-font-user-size .aiw-guide-panel > p{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
  line-height:1.65 !important;
}

/* STEP 1 / 2 */
body.aiw-font-user-size .aiw-guide-step,
body.aiw-font-user-size .aiw-guide-step-label,
body.aiw-font-user-size .aiw-guide-progress-text{
  font-size: calc(10px + var(--aiw-user-font-delta)) !important;
}

/* 질문 */
body.aiw-font-user-size .aiw-guide-question,
body.aiw-font-user-size .aiw-guide-panel .aiw-guide-question strong{
  font-size: calc(14px + var(--aiw-user-font-delta)) !important;
  line-height:1.45 !important;
}

/* 선택 카드 전체 */
body.aiw-font-user-size .aiw-guide-option,
body.aiw-font-user-size .aiw-guide-choice,
body.aiw-font-user-size .aiw-guide-category{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
}

/* 선택 카드의 큰 라벨 */
body.aiw-font-user-size .aiw-guide-option strong,
body.aiw-font-user-size .aiw-guide-choice strong,
body.aiw-font-user-size .aiw-guide-category strong,
body.aiw-font-user-size .aiw-guide-option-title,
body.aiw-font-user-size .aiw-guide-choice-title{
  font-size: calc(12px + var(--aiw-user-font-delta)) !important;
  line-height:1.35 !important;
}

/* 선택 카드의 작은 설명 */
body.aiw-font-user-size .aiw-guide-option small,
body.aiw-font-user-size .aiw-guide-choice small,
body.aiw-font-user-size .aiw-guide-category small,
body.aiw-font-user-size .aiw-guide-option p,
body.aiw-font-user-size .aiw-guide-choice p,
body.aiw-font-user-size .aiw-guide-category p,
body.aiw-font-user-size .aiw-guide-option-desc,
body.aiw-font-user-size .aiw-guide-choice-desc{
  font-size: calc(9.5px + var(--aiw-user-font-delta)) !important;
  line-height:1.45 !important;
}

/* 결과 화면 */
body.aiw-font-user-size .aiw-guide-result,
body.aiw-font-user-size .aiw-guide-result strong,
body.aiw-font-user-size .aiw-guide-result p,
body.aiw-font-user-size .aiw-guide-result a,
body.aiw-font-user-size .aiw-guide-recommendation,
body.aiw-font-user-size .aiw-guide-recommendation a{
  font-size: calc(11px + var(--aiw-user-font-delta)) !important;
}

/* JS가 내부 클래스명을 조금 다르게 생성하는 경우까지 포괄 */
body.aiw-font-user-size .aiw-guide-panel button:not(.aiw-font-option),
body.aiw-font-user-size .aiw-guide-panel button strong,
body.aiw-font-user-size .aiw-guide-panel button span,
body.aiw-font-user-size .aiw-guide-panel button small{
  font-size: calc(1em + var(--aiw-user-font-delta)) !important;
}

/* 모바일에서 +3일 때도 카드가 무너지지 않도록 최소한의 레이아웃 허용 */
@media (max-width:640px){
  body.aiw-font-user-size .aiw-guide-panel button,
  body.aiw-font-user-size .aiw-guide-option,
  body.aiw-font-user-size .aiw-guide-choice,
  body.aiw-font-user-size .aiw-guide-category{
    min-height:auto !important;
    white-space:normal !important;
  }

  body.aiw-font-user-size .aiw-guide-panel button strong,
  body.aiw-font-user-size .aiw-guide-panel button span,
  body.aiw-font-user-size .aiw-guide-panel button small{
    overflow-wrap:anywhere;
  }
}
/* FLOATING UI STACK V2.4 */
@media (min-width:641px){
  .aiw-font-fab{bottom:134px!important;}
  .aiw-font-panel{bottom:182px!important;}
}
@media (max-width:640px){
  .aiw-font-fab{bottom:118px!important;}
  .aiw-font-panel{bottom:166px!important;}
}
/* =========================================================
   V2.5 · FORCE SCROLL-TOP POSITION
   메인 style.css 적용 여부와 무관하게, 외부 업로드 CSS에서
   맨 위로 버튼 위치를 강제로 보정
========================================================= */
@media (min-width:861px){
  #allinfo-scroll-top,
  .allinfo-scroll-top{
    right:22px!important;
    bottom:84px!important;
  }
}

@media (max-width:860px){
  #allinfo-scroll-top,
  .allinfo-scroll-top{
    right:15px!important;
    bottom:72px!important;
  }
}

/* 3단 고정 버튼 간격 */
@media (min-width:641px){
  .aiw-font-fab{bottom:140px!important;}
  .aiw-font-panel{bottom:188px!important;}

  .aiw-glossary-fab{bottom:196px!important;}
  .aiw-glossary-search-panel{bottom:249px!important;}
}

@media (max-width:640px){
  .aiw-font-fab{bottom:126px!important;}
  .aiw-font-panel{bottom:174px!important;}

  .aiw-glossary-fab{bottom:180px!important;}
  .aiw-glossary-search-panel{bottom:232px!important;}
}
/* =========================================================
   V2.8 · MOBILE FIXED UI SAFE AREA
========================================================= */
@media (max-width:640px){
  .aiw-font-fab,
  #allinfo-scroll-top,
  .allinfo-scroll-top{
    right:max(14px,env(safe-area-inset-right))!important;
  }

  .aiw-font-panel{
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    width:auto!important;
    max-width:none!important;
  }
}
