/*
Theme Name: 생활경제 SMILE - Avada 종합 스킨
Description: 생활경제 SMILE용 Avada 자식 테마. 메인 화면 + 게시물 화면 + 광고 슬롯 + Sticky Sidebar 통합.
Author: 생활경제 SMILE
Template: Avada
Version: 2.0.18
Text Domain: smile-avada-combined-final
*/

:root{
  --smile-accent:#ff6200;
  --smile-bg:#efefef;
  --smile-surface:#ffffff;
  --smile-text:#111111;
  --smile-muted:#6b7280;
  --smile-line:#e5e7eb;
  --smile-radius:8px;
  --smile-shadow:0 2px 14px rgba(0,0,0,.045);
}

/* =========================================================
   공통
   ========================================================= */
body{background:var(--smile-bg);color:var(--smile-text);}
#main{background:var(--smile-bg);}
.home .fusion-page-title-bar,
.single-post .fusion-page-title-bar{display:none!important;}

/* Sticky가 Avada 상위 래퍼 overflow에 막히지 않도록 */
.single-post #main,
.single-post #main > .fusion-row{
  overflow:visible!important;
}

/* =========================================================
   헤더
   ========================================================= */
.fusion-header-wrapper,
.fusion-header{background:#fff;}
.fusion-header{border-top:3px solid var(--smile-accent);}

/* Avada 기본 상단 Social/Secondary Header 제거 */
.fusion-secondary-header{
  display:none!important;
}

/* HOME: Avada 기본 sidebar가 우리 2열 구조를 밀어내지 못하게 고정 */
.home #main > .fusion-row > #sidebar{
  display:none!important;
}
.home #main > .fusion-row > #content.smile-home-main{
  grid-column:1!important;
  grid-row:1!important;
}
.home #main > .fusion-row > .smile-home-side{
  grid-column:2!important;
  grid-row:1!important;
}

/* Single도 우리가 만든 우측 rail만 사용 */
.single-post #main > .fusion-row > #sidebar{
  display:none!important;
}
.fusion-logo{display:flex;align-items:center;gap:14px;}
.fusion-logo > .fusion-logo-link{display:none!important;}

.smile-header-brand{
  display:grid!important;
  grid-template-columns:1fr;
  gap:6px;
  align-items:start;
  line-height:1.1;
}
.smile-header-brand a{
  display:block!important;
  width:max-content;
  max-width:100%;
  text-decoration:none!important;
}
.smile-header-title{
  font-size:25px;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--smile-text)!important;
  white-space:nowrap;
}
.smile-header-title strong{color:var(--smile-accent);}
.smile-header-tagline{
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:-.015em;
  color:#5f6670!important;
  white-space:nowrap;
}
.fusion-main-menu > ul > li > a{
  font-weight:700;
  letter-spacing:-.02em;
}
.fusion-main-menu > ul > li > a:hover,
.fusion-main-menu > ul > li.current-menu-item > a,
.fusion-main-menu > ul > li.current-menu-parent > a{
  color:var(--smile-accent)!important;
}

/* =========================================================
   광고 공통
   ========================================================= */
.smile-ad-shell{
  width:100%;
  box-sizing:border-box;
  text-align:center;
}
.smile-ad-shell .widget{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.smile-ad-shell .widget-title{display:none!important;}
.smile-ad-shell img,
.smile-ad-shell iframe,
.smile-ad-shell ins{max-width:100%;}
.smile-ad-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border:1px dashed #b8bec7;
  border-radius:var(--smile-radius);
  background:#fff;
  color:var(--smile-muted);
  font-size:13px;
}

/* =========================================================
   홈 레이아웃
   ========================================================= */
.home #main{padding-top:22px;}
.home #main > .fusion-row{
  width:calc(100% - 40px)!important;
  max-width:1100px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:28px!important;
  align-items:start!important;
}
.home #content.smile-home-main{
  width:auto!important;
  float:none!important;
  margin:0!important;
}
.smile-home-side{
  width:auto!important;
  float:none!important;
  margin:0!important;
  min-width:0;
}

.smile-latest-section{min-width:0;}
.smile-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
}
.smile-section-head h2{
  margin:0;
  font-size:22px;
  line-height:1.3;
  letter-spacing:-.035em;
}
.smile-view-all{
  color:var(--smile-muted)!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
}
.smile-view-all:hover{color:var(--smile-accent)!important;}

.smile-section-head-hero{justify-content:flex-end;}
.smile-hero-badge{
  position:absolute;
  z-index:3;
  top:18px;
  left:18px;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--smile-accent);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}

/* 메인 추천글 = 이미지 위 텍스트 오버레이 */
.smile-hero{
  position:relative;
  display:block;
  min-height:420px;
  overflow:hidden;
  border-radius:var(--smile-radius);
  background:#222;
  box-shadow:var(--smile-shadow);
  text-decoration:none!important;
}
.smile-hero img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.smile-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.32) 52%,rgba(0,0,0,.06) 100%);
}
.smile-hero-fallback{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#34251d,#ff6200);
}
.smile-hero-copy{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:30px 32px;
  color:#fff;
}
.smile-hero-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:9px;
  font-size:12px;
  opacity:.9;
}
.smile-hero-title{
  max-width:92%;
  margin:0;
  color:#fff;
  font-size:31px;
  line-height:1.32;
  letter-spacing:-.045em;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.smile-hero-more{
  display:inline-flex;
  margin-top:13px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:4px;
  color:#fff;
  font-size:12px;
  font-weight:700;
}

/* 최신글 아래 광고 */
.smile-home-main-ad{margin:20px 0;}
.smile-home-main-ad .smile-ad-placeholder{min-height:120px;}

/* 최신글 2~5 */
.smile-latest-list{display:grid;gap:14px;}
.smile-post-card{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:18px;
  padding:16px;
  background:#fff;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  box-shadow:var(--smile-shadow);
}
.smile-post-thumb{
  display:block;
  min-height:116px;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:5px;
  background:#f2f2f2;
}
.smile-post-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.smile-post-meta{
  margin:1px 0 6px;
  color:var(--smile-muted);
  font-size:12px;
}
.smile-post-title{
  margin:0 0 7px;
  font-size:18px;
  line-height:1.4;
  letter-spacing:-.03em;
}
.smile-post-title a{
  color:var(--smile-text)!important;
  text-decoration:none!important;
}
.smile-post-title a:hover{color:var(--smile-accent)!important;}
.smile-post-excerpt{
  margin:0;
  color:#4b5563;
  font-size:14px;
  line-height:1.6;
}

/* =========================================================
   홈/게시물 우측 공통
   ========================================================= */
.smile-side-block{
  padding:19px;
  margin-bottom:18px;
  background:#fff;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  box-shadow:var(--smile-shadow);
}
.smile-side-title{
  margin:0 0 13px;
  padding-bottom:10px;
  border-bottom:2px solid var(--smile-accent);
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.03em;
}
.smile-trending{
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:trend;
}
.smile-trending li{
  counter-increment:trend;
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:8px;
  padding:10px 0;
  border-bottom:1px solid #eee;
}
.smile-trending li:last-child{border-bottom:0;padding-bottom:0;}
.smile-trending li::before{
  content:counter(trend);
  color:var(--smile-accent);
  font-weight:900;
}
.smile-trending a{
  color:#222!important;
  text-decoration:none!important;
  font-size:15px;
  line-height:1.5;
}
.smile-trending a:hover{color:var(--smile-accent)!important;}

.smile-side-ad{margin-bottom:18px;}
.smile-side-ad .smile-ad-placeholder{min-height:280px;}
.smile-brand-box p{
  margin:0;
  color:#4b5563;
  font-size:14px;
  line-height:1.7;
}

/* =========================================================
   게시물 레이아웃
   ========================================================= */
.single-post #main{padding-top:22px;}
.single-post #main > .fusion-row{max-width:1100px;}

.smile-single-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,320px);
  gap:28px;
  align-items:stretch;
}
.smile-single-main{min-width:0;}
.smile-single-card{
  overflow:hidden;
  background:var(--smile-surface);
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  box-shadow:var(--smile-shadow);
}
.smile-article-head{padding:28px 30px 20px;}
.smile-article-category{
  margin-bottom:8px;
  color:var(--smile-accent);
  font-size:13px;
  font-weight:800;
}
.smile-article-title{
  margin:0;
  color:var(--smile-text);
  font-size:36px;
  line-height:1.28;
  letter-spacing:-.045em;
  word-break:keep-all;
}
.smile-article-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  color:var(--smile-muted);
  font-size:12px;
}
.smile-editorial-byline{
  margin-left:auto;
  text-align:right;
  font-weight:600;
}

/* 대표이미지 1장 */
.smile-single-featured{
  width:100%;
  margin:0;
  background:#f4f4f4;
}
.smile-single-featured img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
}

/* 게시글 본문 구조 기본 */
.smile-single-content{
  padding:30px 30px 36px;
  color:#202124;
}
.smile-single-content > *:first-child{margin-top:0;}
.smile-single-content img{max-width:100%;height:auto;}
.smile-single-content a{text-underline-offset:3px;}
.smile-single-content table{width:100%;max-width:100%;}

/* 이전 Blogger article wrapper가 카드처럼 중첩되지 않도록 구조만 평탄화 */
.smile-single-content .euthra-article{
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}

/* 게시글 상단 광고 — 홈과 동일하게 왼쪽 메인 컬럼 안에서 시작 */
.smile-post-top-ad{
  width:100%;
  max-width:100%;
  margin:0 0 24px;
}
.smile-post-top-ad .smile-ad-placeholder{min-height:250px;}

/* 본문 광고 — 300x250 원본 규격, 별도 박스 없이 중앙 정렬 */
.smile-inbody-ad{
  width:100%;
  max-width:100%;
  margin:38px auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.smile-inbody-ad > ins.kakao_ad_area,
.smile-inbody-ad .kakao_ad_area{
  margin-left:auto!important;
  margin-right:auto!important;
}
.smile-inbody-ad .smile-ad-placeholder{min-height:300px;}

/* 게시물 우측 Sticky */
.smile-single-side{
  min-width:0;
  align-self:stretch;
  position:relative;
}
.smile-single-sticky{
  position:-webkit-sticky;
  position:sticky;
  top:90px;
  z-index:3;
}
.smile-post-side-ad{margin-top:18px;}
.smile-post-side-ad .smile-ad-placeholder{min-height:600px;}

/* =========================================================
   전체글 페이지
   ========================================================= */
.smile-all-posts-title{
  margin:0 0 18px;
  font-size:26px;
  letter-spacing:-.04em;
}

body.page-template-template-all-posts #main,
body.page-template-template-all-posts #main > .fusion-row,
.smile-all-posts-layout{
  overflow:visible!important;
}
body.page-template-template-all-posts #main{
  display:block!important;
}
body.page-template-template-all-posts #main > .fusion-row{
  width:calc(100% - 40px)!important;
  max-width:1100px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:block!important;
}
.smile-all-posts-layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:start;
}
.smile-all-posts-main{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
}
.smile-all-posts-side{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
}
@media(min-width:901px){
  .smile-all-posts-sticky{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:90px!important;
    align-self:start!important;
  }
}
@media(max-width:900px){
  .smile-all-posts-layout{grid-template-columns:1fr!important;}
}
.smile-pagination{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  margin:24px 0 0;
}
.smile-pagination .page-numbers{
  min-width:40px;
  height:40px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--smile-line);
  border-radius:4px;
  background:#fff;
  color:#222!important;
  text-decoration:none!important;
}
.smile-pagination .current{
  background:var(--smile-accent);
  border-color:var(--smile-accent);
  color:#fff!important;
  font-weight:700;
}

/* =========================================================
   Footer
   ========================================================= */

/* Avada 기본 검은 footer를 생활경제 SMILE 라이트 footer로 통일 */
.fusion-footer-widget-area{
  display:none!important;
}
.fusion-footer-copyright-area{
  background:#ffffff!important;
  border-top:1px solid #dfe3e8!important;
  padding:0!important;
}
.fusion-copyright-content{
  width:100%!important;
  max-width:none!important;
}

.smile-footer-inner{
  width:100%;
  max-width:1100px;
  min-height:124px;
  margin:0 auto;
  padding:30px 20px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  text-align:left;
  box-sizing:border-box;
}
.smile-footer-brand{
  display:block;
  width:max-content;
  max-width:100%;
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--smile-text)!important;
  text-decoration:none!important;
}
.smile-footer-tagline{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  color:#5f6670!important;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-.015em;
  text-decoration:none!important;
}
.smile-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:10px 22px;
  font-size:14px;
  line-height:1.5;
}
.smile-footer-links a,
.smile-footer-links span{
  color:#3f4650!important;
  font-weight:700;
  letter-spacing:-.01em;
  text-decoration:none!important;
}
.smile-footer-links a:hover{color:var(--smile-accent)!important;}

/* =========================================================
   반응형
   ========================================================= */
@media(max-width:900px){
  .smile-single-grid{grid-template-columns:minmax(0,1fr);}
  .smile-single-sticky{position:static;}
  .smile-post-side-ad .smile-ad-placeholder{min-height:280px;}
}
@media(max-width:900px){
  .smile-header-tagline{
    display:block;
    font-size:12.5px;
    white-space:normal;
  }
  .smile-header-title{font-size:21px;}
  .home #main > .fusion-row{display:block;max-width:100%;}
  .smile-home-side{margin-top:26px!important;}
}
@media(max-width:700px){
  .single-post #main{padding-top:14px;}
  .smile-article-head{padding:22px 18px 16px;}
  .smile-article-title{font-size:29px;}
  .smile-article-meta-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .smile-editorial-byline{
    margin-left:0;
    text-align:left;
  }

  .smile-inbody-ad{margin:32px auto;}
  .smile-inbody-ad .smile-ad-placeholder{min-height:250px;}
  .smile-post-top-ad .smile-ad-placeholder{min-height:180px;}

  .smile-hero{min-height:340px;}
  .smile-hero-copy{padding:22px;}
  .smile-hero-title{max-width:100%;font-size:24px;}
  .smile-post-card{
    grid-template-columns:118px minmax(0,1fr);
    gap:13px;
    padding:13px;
  }
  .smile-post-title{font-size:16px;}
  .smile-post-excerpt{display:none;}

  .smile-footer-inner{
    min-height:0;
    padding:26px 18px 28px;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
  }
  .smile-footer-links{
    justify-content:flex-start;
    gap:10px 18px;
  }
}
@media(max-width:480px){
  .smile-hero{min-height:300px;}
  .smile-post-card{grid-template-columns:1fr;}
  .smile-post-thumb{min-height:180px;}
}


/* =========================================================
   광고 슬롯 보호
   WordPress/Avada에서 이전 테마의 Search/Recent widgets가
   자동 재배치되어도 광고 영역에는 노출시키지 않는다.
   실제 광고는 Custom HTML 위젯만 렌더링한다.
   ========================================================= */
.smile-ad-shell .widget_search,
.smile-ad-shell .widget_recent_entries,
.smile-ad-shell .widget_recent_comments,
.smile-ad-shell .widget_archive,
.smile-ad-shell .widget_categories,
.smile-ad-shell .widget_meta,
.smile-ad-shell .widget_pages,
.smile-ad-shell .widget_nav_menu,
.smile-ad-shell .widget_block{
  display:none!important;
}


/* =========================================================
   생활경제 SMILE 브랜드 컬러 통일
   ========================================================= */
.smile-word{
  color:var(--smile-accent)!important;
}

/* =========================================================
   Header 검색 아이콘 포인트 + hover 확대
   Avada Special Menu Search Item의 검색 기능은 그대로 사용하고
   시각 효과만 자식테마에서 제어한다.
   ========================================================= */
.fusion-main-menu > ul > li.fusion-main-menu-search > a,
.fusion-main-menu > ul > li.fusion-main-menu-search > a .fusion-icon-search,
.fusion-main-menu > ul > li.fusion-main-menu-search > a::before{
  color:#6f86a6!important;
}

.fusion-main-menu > ul > li.fusion-main-menu-search > a{
  transform:scale(1);
  transform-origin:center center;
  transition:transform .18s ease, color .18s ease!important;
  will-change:transform;
}

.fusion-main-menu > ul > li.fusion-main-menu-search > a:hover,
.fusion-main-menu > ul > li.fusion-main-menu-search > a:focus-visible{
  color:#4f6f96!important;
  transform:scale(1.22);
}

.fusion-main-menu > ul > li.fusion-main-menu-search > a:hover .fusion-icon-search,
.fusion-main-menu > ul > li.fusion-main-menu-search > a:focus-visible .fusion-icon-search{
  color:#4f6f96!important;
}

/* =========================================================
   Footer 2단 구조
   1단: 생활경제 SMILE / 정책 링크
   2단: 브랜드 문구 / euthra 생활경제
   ========================================================= */
.smile-footer-inner{
  width:100%;
  max-width:1100px;
  min-height:0;
  margin:0 auto;
  padding:0 20px!important;
  display:block!important;
  text-align:left;
  box-sizing:border-box;
}

.smile-footer-top,
.smile-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
}

.smile-footer-top{
  min-height:82px;
  padding:24px 0 20px;
}

.smile-footer-bottom{
  min-height:62px;
  padding:18px 0 20px;
  border-top:1px solid #eceff2;
}

.smile-footer-brand{
  font-size:20px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.03em;
}

.smile-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:10px 22px;
  font-size:14px;
  line-height:1.5;
}

.smile-footer-links a{
  color:#3f4650!important;
  font-weight:800!important;
  letter-spacing:-.01em;
  text-decoration:none!important;
}

.smile-footer-links a:hover{
  color:var(--smile-accent)!important;
}

.smile-footer-tagline{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0!important;
  color:#5f6670!important;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
  letter-spacing:-.015em;
  text-decoration:none!important;
}

.smile-footer-credit{
  color:#6b7280;
  font-size:13px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:-.01em;
  white-space:nowrap;
}

@media(max-width:700px){
  .smile-footer-inner{
    padding:0 18px!important;
  }

  .smile-footer-top,
  .smile-footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }

  .smile-footer-top{
    padding:24px 0 20px;
  }

  .smile-footer-bottom{
    padding:18px 0 24px;
  }

  .smile-footer-links{
    justify-content:flex-start;
    gap:10px 18px;
  }

  .smile-footer-credit{
    white-space:normal;
  }
}


/* =========================================================
   v1.0.8 Footer 의미 구조
   왼쪽 두 줄은 하나의 홈 링크.
   오른쪽은 정책 링크 묶음 + 그 묶음 폭 기준 중앙의 euthra 생활경제.
   ========================================================= */
.smile-footer-inner{
  width:100%!important;
  max-width:1100px!important;
  min-height:124px!important;
  margin:0 auto!important;
  padding:28px 20px 30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:44px!important;
  box-sizing:border-box!important;
  text-align:left!important;
}

.smile-footer-brand-block{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
  color:inherit!important;
  text-decoration:none!important;
}

.smile-footer-brand-block:hover{
  text-decoration:none!important;
}

.smile-footer-brand-block .smile-footer-brand,
.smile-footer-brand-block .smile-footer-tagline{
  margin:0!important;
}

.smile-footer-right{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
  width:max-content!important;
  max-width:100%!important;
}

.smile-footer-right .smile-footer-links{
  width:max-content!important;
  max-width:100%!important;
  justify-content:center!important;
}

.smile-footer-right .smile-footer-credit{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  color:#6b7280!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:700!important;
  text-decoration:none!important;
}

.smile-footer-right .smile-footer-credit:hover{
  color:var(--smile-accent)!important;
}

/* v1.0.7의 내부 가로 구분선은 제거.
   Footer 전체 상단 선만 유지해 브랜드 두 줄을 한 묶음으로 보이게 한다. */
.smile-footer-top,
.smile-footer-bottom{
  min-height:0!important;
  padding:0!important;
  border:0!important;
}

/* =========================================================
   메인: 금융/소비/제도 최신글 3개
   ========================================================= */
.smile-category-latest{
  scroll-margin-top:100px;
  margin:32px 0 30px;
}

.smile-subsection-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
}

.smile-subsection-head h2{
  margin:0;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.035em;
}

.smile-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.smile-category-card{
  min-width:0;
  overflow:hidden;
  padding:14px;
  background:#fff;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  box-shadow:var(--smile-shadow);
}

.smile-category-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:11px;
}

.smile-category-card-head span{
  color:var(--smile-muted);
  font-size:11px;
  font-weight:700;
}

.smile-category-name{
  color:var(--smile-accent)!important;
  font-size:14px;
  line-height:1.35;
  font-weight:900;
  text-decoration:none!important;
}

.smile-category-thumb{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:5px;
  background:#f2f2f2;
}

.smile-category-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease;
}

.smile-category-thumb:hover img{
  transform:scale(1.035);
}

.smile-category-thumb-fallback{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#f1f3f5,#e7eaee);
}

.smile-category-date{
  margin:10px 0 5px;
  color:var(--smile-muted);
  font-size:11px;
}

.smile-category-title{
  margin:0;
  font-size:15px;
  line-height:1.48;
  letter-spacing:-.025em;
  word-break:keep-all;
}

.smile-category-title a{
  color:var(--smile-text)!important;
  text-decoration:none!important;
}

.smile-category-title a:hover{
  color:var(--smile-accent)!important;
}

.smile-category-empty{
  min-height:142px;
  display:flex;
  align-items:center;
  color:var(--smile-muted);
  font-size:13px;
  line-height:1.6;
}

/* =========================================================
   전체 게시물 최신순
   WordPress의 게시물 수 설정 + 번호형 pagination.
   카테고리 쿼리와 별개라 시간순이 충돌하지 않는다.
   ========================================================= */
.smile-global-feed{
  margin:34px 0 0;
  padding-top:28px;
  border-top:1px solid var(--smile-line);
}

.smile-global-feed-head span{
  color:var(--smile-muted);
  font-size:12px;
  font-weight:700;
}

.smile-home-pagination{
  margin-top:22px!important;
}

.smile-feed-empty{
  padding:18px;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  background:#fff;
  color:var(--smile-muted);
  font-size:14px;
  line-height:1.6;
}

/* =========================================================
   게시글: 카테고리 제한 없는 전체 시간순 이전/다음
   ========================================================= */
.smile-post-sequence{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin:0 30px 32px;
  padding-top:24px;
  border-top:1px solid var(--smile-line);
}

.smile-post-sequence-item{
  min-width:0;
}

.smile-post-sequence-next{
  text-align:right;
}

.smile-post-sequence-label{
  display:block;
  margin-bottom:7px;
  color:var(--smile-muted);
  font-size:12px;
  line-height:1.4;
  font-weight:800;
}

.smile-post-sequence a{
  color:#222!important;
  font-size:14px;
  line-height:1.5;
  font-weight:800;
  text-decoration:none!important;
}

.smile-post-sequence a:hover{
  color:var(--smile-accent)!important;
}

@media(max-width:900px){
  .smile-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .smile-footer-inner{
    min-height:0!important;
    padding:26px 18px 28px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:20px!important;
  }

  .smile-footer-right{
    align-items:flex-start!important;
    width:100%!important;
  }

  .smile-footer-right .smile-footer-links{
    justify-content:flex-start!important;
    width:auto!important;
  }

  .smile-footer-right .smile-footer-credit{
    width:auto!important;
    text-align:left!important;
  }

  .smile-category-grid{
    grid-template-columns:1fr;
  }

  .smile-category-card{
    padding:13px;
  }

  .smile-post-sequence{
    grid-template-columns:1fr;
    gap:18px;
    margin:0 18px 28px;
  }

  .smile-post-sequence-next{
    text-align:left;
  }
}


/* =========================================================
   v1.0.9 메인 게시물 목록
   1페이지만 금융/소비/제도 각 최신글 1개.
   2페이지부터 전체 게시물 시간순 3개.
   두 영역을 따로 만들지 않고 하나의 목록/페이지네이션으로 사용.
   ========================================================= */
.smile-home-feed{
  scroll-margin-top:100px;
  margin-top:0;
}

.smile-home-feed .smile-post-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
}

.smile-home-feed .smile-post-category{
  color:var(--smile-accent);
  font-weight:900;
}

.smile-home-feed .smile-post-category::after{
  content:"·";
  margin-left:7px;
  color:#a3a8ae;
  font-weight:400;
}

.smile-category-latest-row{
  position:relative;
}

.smile-feed-empty-card{
  opacity:.72;
}

.smile-empty-thumb{
  background:linear-gradient(135deg,#f2f4f6,#e7eaee)!important;
}

.smile-home-pagination{
  margin-top:22px!important;
}

/* v1.0.8에서 쓰던 분리 섹션은 더 이상 출력하지 않음 */
.smile-category-latest,
.smile-global-feed{
  display:none;
}

/* =========================================================
   게시물 공유
   ========================================================= */
.smile-share-box{
  margin:8px 30px 26px;
  padding:20px 22px;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  background:#fff;
}

.smile-share-title{
  margin-bottom:12px;
  color:#222;
  font-size:14px;
  line-height:1.4;
  font-weight:900;
}

.smile-share-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.smile-share-btn{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid #dfe3e8;
  border-radius:999px;
  background:#fff;
  color:#3f4650!important;
  font-family:inherit;
  font-size:12px;
  line-height:1;
  font-weight:800;
  text-decoration:none!important;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease;
}

.smile-share-btn:hover,
.smile-share-btn:focus-visible{
  transform:translateY(-1px);
  border-color:#b8c2cf;
  background:#f7f9fb;
  color:var(--smile-accent)!important;
  outline:none;
}

.smile-share-status{
  display:block;
  min-height:18px;
  margin-top:8px;
  color:#68717c;
  font-size:12px;
  line-height:1.5;
}

/* Footer 오른쪽은 링크 묶음의 폭 기준 중앙 정렬 */
.smile-footer-right{
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
}
.smile-footer-right .smile-footer-links{
  width:max-content!important;
  max-width:100%!important;
  justify-content:center!important;
}
.smile-footer-right .smile-footer-credit{
  width:100%!important;
  text-align:center!important;
}

@media(max-width:700px){
  .smile-share-box{
    margin:8px 18px 24px;
    padding:17px;
  }

  .smile-share-buttons{
    gap:7px;
  }

  .smile-share-btn{
    min-height:36px;
    padding:8px 11px;
  }

  /* 링크가 여러 줄로 바뀌어도 euthra 생활경제는 그 묶음 아래 중앙 */
  .smile-footer-right{
    width:max-content!important;
    max-width:100%!important;
    align-items:center!important;
  }
  .smile-footer-right .smile-footer-links{
    width:max-content!important;
    max-width:100%!important;
    justify-content:center!important;
  }
  .smile-footer-right .smile-footer-credit{
    width:100%!important;
    text-align:center!important;
  }
}


/* =========================================================
   v1.0.10 빈 광고 슬롯 완전 제거
   실제 Custom HTML 광고 코드가 없으면 PHP가 아무것도 출력하지 않는다.
   혹시 캐시/외부 코드로 빈 shell이 남아도 공간을 차지하지 않게 방어.
   ========================================================= */
.smile-ad-shell:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
  border:0!important;
}


/* =========================================================
   v1.0.11 공유 버튼: 아이콘 전용 + 접근성 aria-label
   ========================================================= */
.smile-share-buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}

.smile-share-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden;
}

.smile-share-btn svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}

.smile-share-btn:hover,
.smile-share-btn:focus-visible{
  transform:translateY(-1px) scale(1.08)!important;
}

/* 서비스별 식별색 */
.smile-share-kakao{
  background:#FEE500!important;
  border-color:#FEE500!important;
  color:#191919!important;
}

.smile-share-naver{
  background:#03C75A!important;
  border-color:#03C75A!important;
  color:#fff!important;
}

.smile-share-facebook{
  background:#1877F2!important;
  border-color:#1877F2!important;
  color:#fff!important;
}

.smile-share-x{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

.smile-share-telegram{
  background:#229ED9!important;
  border-color:#229ED9!important;
  color:#fff!important;
}

.smile-share-gmail{
  background:#fff!important;
  border-color:#d9dde3!important;
  color:#5f6368!important;
}

.smile-copy-link{
  background:#f3f5f7!important;
  border-color:#d9dde3!important;
  color:#4b5563!important;
}

.smile-share-kakao:hover,
.smile-share-naver:hover,
.smile-share-facebook:hover,
.smile-share-x:hover,
.smile-share-telegram:hover,
.smile-share-gmail:hover,
.smile-copy-link:hover{
  filter:brightness(.98);
}

@media(max-width:700px){
  .smile-share-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }

  .smile-share-btn svg{
    width:19px;
    height:19px;
  }
}


/* =========================================================
   v1.0.12 댓글 + 소셜 로그인
   OAuth 처리는 전용 플러그인이 담당하며 테마는 표시 위치와 댓글 UX를 담당.
   ========================================================= */
.smile-comments{
  margin:8px 30px 28px;
  padding:24px 0 2px;
  border-top:1px solid var(--smile-line);
}

.smile-comments-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
}

.smile-comments-head h2{
  margin:0!important;
  color:#202124;
  font-size:20px!important;
  line-height:1.4!important;
  font-weight:900!important;
}

.smile-comments-head span{
  color:var(--smile-muted);
  font-size:12px;
  font-weight:700;
}

.smile-comment-social-login{
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  background:#f8f9fa;
}

.smile-comment-social-title{
  margin-bottom:5px;
  color:#222;
  font-size:15px;
  line-height:1.45;
  font-weight:900;
}

.smile-comment-social-desc{
  margin:0 0 14px!important;
  color:#68717c;
  font-size:13px!important;
  line-height:1.6!important;
}

.smile-comment-social-plugin{
  display:block;
}

.smile-comment-social-setup{
  margin:0 0 12px;
  padding:11px 13px;
  border-radius:7px;
  background:#fff7ed;
  color:#6f4a20;
  font-size:12px;
  line-height:1.6;
}

.smile-comment-wp-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid #d8dde4;
  border-radius:999px;
  background:#fff;
  color:#3d4652!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none!important;
}

.smile-comment-wp-login:hover{
  color:var(--smile-accent)!important;
  border-color:#bcc5cf;
}

.smile-comment-login-state{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid var(--smile-line);
  border-radius:9px;
  background:#f8f9fa;
  color:#4a515a;
  font-size:12px;
  line-height:1.5;
}

.smile-comment-login-state img{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
}

.smile-comment-login-state a{
  margin-left:auto;
  color:#6d7680!important;
  font-weight:700;
  text-decoration:none!important;
}

.smile-comment-login-state a:hover{
  color:var(--smile-accent)!important;
}

.smile-comment-list{
  list-style:none!important;
  margin:0 0 22px!important;
  padding:0!important;
}

.smile-comment-list .comment{
  list-style:none!important;
  margin:0 0 14px!important;
  padding:16px 0 14px!important;
  border-bottom:1px solid #eef0f2;
}

.smile-comment-list .children{
  list-style:none!important;
  margin:14px 0 0 28px!important;
  padding:0!important;
}

.smile-comment-list .comment-body{
  position:relative;
}

.smile-comment-list .comment-author{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:5px;
}

.smile-comment-list .avatar{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
}

.smile-comment-list .fn{
  color:#25282c;
  font-size:13px;
  font-style:normal;
  font-weight:900;
}

.smile-comment-list .comment-metadata{
  margin:0 0 8px 51px;
  font-size:11px;
}

.smile-comment-list .comment-metadata a{
  color:#8a9199!important;
  text-decoration:none!important;
}

.smile-comment-list .comment-content{
  margin-left:51px;
  color:#333;
  font-size:14px;
  line-height:1.75;
}

.smile-comment-list .comment-content p{
  margin-bottom:.7em!important;
  font-size:14px!important;
  line-height:1.75!important;
}

.smile-comment-list .reply{
  margin:7px 0 0 51px;
}

.smile-comment-list .reply a{
  color:#69727d!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none!important;
}

.smile-comment-form-wrap{
  padding-top:2px;
}

.smile-comment-form-wrap .comment-reply-title{
  margin:0 0 12px!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:900!important;
}

.smile-comment-form-wrap textarea{
  width:100%!important;
  min-height:130px!important;
  padding:13px 14px!important;
  border:1px solid #d9dee5!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#222!important;
  font-family:inherit!important;
  font-size:14px!important;
  line-height:1.7!important;
  resize:vertical!important;
}

.smile-comment-form-wrap textarea:focus{
  border-color:#aeb9c5!important;
  outline:2px solid rgba(111,134,166,.14)!important;
}

.smile-comment-form-wrap .form-submit{
  margin:12px 0 0!important;
}

.smile-comment-form-wrap .submit{
  min-height:40px!important;
  padding:9px 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--smile-accent)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.smile-comments-login-note,
.smile-comments-closed{
  margin:0!important;
  color:#7a828c;
  font-size:12px!important;
  line-height:1.6!important;
}

@media(max-width:700px){
  .smile-comments{
    margin:8px 18px 26px;
  }

  .smile-comment-social-login{
    padding:16px;
  }

  .smile-comment-list .children{
    margin-left:18px!important;
  }

  .smile-comment-list .comment-metadata,
  .smile-comment-list .comment-content,
  .smile-comment-list .reply{
    margin-left:0;
  }
}


/* =========================================================
   v1.0.13 금융 · 소비 · 제도 카테고리 아카이브
   - 큰 대표글 없이 목록 탐색 중심
   - 데스크톱: 이미지 왼쪽 / 제목·설명 오른쪽
   - 모바일: 이미지 위 / 내용 아래
   - 한 페이지 6개
   - 번호형 페이지네이션
   ========================================================= */

body.category #main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:28px!important;
  align-items:start!important;
}

.smile-category-main{
  min-width:0;
}

.smile-category-header{
  margin:0 0 22px;
  padding:0 0 18px;
  border-bottom:1px solid var(--smile-line);
}

.smile-category-kicker{
  margin-bottom:7px;
  color:var(--smile-accent);
  font-size:12px;
  line-height:1.4;
  font-weight:900;
  letter-spacing:.02em;
}

.smile-category-header h1{
  margin:0!important;
  color:#17191c!important;
  font-size:32px!important;
  line-height:1.3!important;
  letter-spacing:-.04em!important;
  font-weight:900!important;
}

.smile-category-description{
  margin-top:10px;
  color:#68717c;
  font-size:14px;
  line-height:1.7;
}

.smile-category-description p{
  margin:0!important;
}

.smile-category-list{
  display:flex;
  flex-direction:column;
  gap:0;
}

.smile-category-list-card{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--smile-line);
}

.smile-category-list-card:first-child{
  padding-top:0;
}

.smile-category-list-thumb{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:7px;
  background:#f1f3f5;
}

.smile-category-list-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease;
}

.smile-category-list-thumb:hover img{
  transform:scale(1.035);
}

.smile-category-list-thumb-fallback{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#f1f3f5,#e6e9ed);
}

.smile-category-list-copy{
  min-width:0;
}

.smile-category-list-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:var(--smile-muted);
  font-size:11px;
  line-height:1.4;
  font-weight:700;
}

.smile-category-list-name{
  color:var(--smile-accent);
  font-weight:900;
}

.smile-category-list-name::after{
  content:"·";
  margin-left:7px;
  color:#a3a8ae;
  font-weight:400;
}

.smile-category-list-title{
  margin:0 0 9px!important;
  font-size:20px!important;
  line-height:1.45!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
  word-break:keep-all;
}

.smile-category-list-title a{
  color:#202124!important;
  text-decoration:none!important;
}

.smile-category-list-title a:hover{
  color:var(--smile-accent)!important;
}

.smile-category-list-excerpt{
  margin:0!important;
  color:#5f6670;
  font-size:14px!important;
  line-height:1.7!important;
  word-break:keep-all;
}

.smile-category-pagination{
  margin-top:22px!important;
  padding-top:0;
}

.smile-category-empty{
  padding:22px;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  background:#fff;
  color:var(--smile-muted);
  font-size:14px;
  line-height:1.7;
}

.smile-category-side{
  min-width:0;
}

/* 카테고리 오른쪽 WEEK TRENDING + 광고: 데스크톱 Sticky 고정.
   모바일 규칙과 섞지 않도록 901px 이상에서만 적용한다. */
body.category #main,
body.category #main > .fusion-row,
.smile-category-layout{
  overflow:visible!important;
}

@media(min-width:901px){
  body.category .smile-category-side{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:90px!important;
    align-self:start!important;
  }
}

@media(max-width:900px){
  body.category #main{
    grid-template-columns:1fr!important;
  }

  .smile-category-side{
    margin-top:10px;
  }
}

@media(max-width:700px){
  .smile-category-header h1{
    font-size:29px!important;
  }

  .smile-category-list-card{
    grid-template-columns:1fr;
    gap:13px;
    padding:18px 0 22px;
  }

  .smile-category-list-thumb{
    aspect-ratio:16/9;
  }

  .smile-category-list-title{
    font-size:19px!important;
  }

  .smile-category-list-excerpt{
    font-size:14px!important;
  }
}


/* =========================================================
   v1.0.14 카테고리 아카이브 구조 수정
   Avada의 #main > .fusion-row 내부에 전용 layout wrapper를 두어
   Avada 기본 #content 폭/float 규칙과 충돌하지 않게 함.
   ========================================================= */

body.category #main{
  display:block!important;
}

body.category #main > .fusion-row{
  display:block!important;
}

.smile-category-layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:start;
}

.smile-category-main{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
}

.smile-category-side{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
}

/* v1.0.13에서 #main 자체를 grid로 만들던 규칙 무효화 */
body.category #main{
  grid-template-columns:none!important;
  gap:0!important;
  align-items:initial!important;
}

@media(max-width:900px){
  .smile-category-layout{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v1.0.15 카테고리 제목 크기/색상 조정
   큰 제목은 줄이고, 금융/소비/제도는 서로 다른 차분한 포인트색.
   ========================================================= */
.smile-category-header h1{
  font-size:27px!important;
  line-height:1.35!important;
  letter-spacing:-.035em!important;
}

/* 금융: 차분한 블루 */
body.category-finance .smile-category-kicker,
body.category-finance .smile-category-header h1,
body.category-finance .smile-category-list-name{
  color:#4F6F96!important;
}

/* 소비: 부드러운 뮤트 퍼플 */
body.category-spending .smile-category-kicker,
body.category-spending .smile-category-header h1,
body.category-spending .smile-category-list-name{
  color:#786B92!important;
}

/* 제도: 안정적인 세이지 그린 */
body.category-policy .smile-category-kicker,
body.category-policy .smile-category-header h1,
body.category-policy .smile-category-list-name{
  color:#5F7D72!important;
}

@media(max-width:700px){
  .smile-category-header h1{
    font-size:25px!important;
  }
}


/* =========================================================
   v1.0.16 카테고리 헤더 최종 미세조정
   브랜드는 보조, 카테고리명이 주인공이 되도록 계층 정리.
   ========================================================= */

/* 생활경제 SMILE: 조금 더 또렷하게, 하지만 제목보다 작게 */
.smile-category-kicker{
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
  color:#58616c!important;
}

/* SMILE은 사이트 전체 브랜드 기준 주황색 */
.smile-category-kicker .smile-word{
  color:var(--smile-accent)!important;
}

/* 금융 / 소비 / 제도 카테고리명은 23px */
.smile-category-header h1{
  font-size:23px!important;
  line-height:1.35!important;
  letter-spacing:-.03em!important;
  font-weight:900!important;
}

/* 카테고리 고유색은 제목과 목록 라벨에만 유지 */
body.category-finance .smile-category-kicker,
body.category-spending .smile-category-kicker,
body.category-policy .smile-category-kicker{
  color:#58616c!important;
}

body.category-finance .smile-category-header h1,
body.category-finance .smile-category-list-name{
  color:#4F6F96!important;
}

body.category-spending .smile-category-header h1,
body.category-spending .smile-category-list-name{
  color:#786B92!important;
}

body.category-policy .smile-category-header h1,
body.category-policy .smile-category-list-name{
  color:#5F7D72!important;
}

@media(max-width:700px){
  .smile-category-kicker{
    font-size:12.5px!important;
  }

  .smile-category-header h1{
    font-size:22px!important;
  }
}


/* =========================================================
   v1.0.17 카테고리 광고 + 하단 앵커 준비
   ========================================================= */

/* 카테고리 상단: 생활경제 SMILE 헤더 아래 / 카테고리명 위 */
.smile-category-top-ad{
  margin:0 0 22px!important;
}

/* 카테고리 중간: 3번째 글 뒤 / 4번째 글 앞 */
.smile-category-mid-ad{
  margin:18px 0 20px!important;
}

/* 실제 광고가 없으면 PHP에서 아무것도 출력하지만,
   캐시/외부 마크업으로 빈 wrapper가 남는 경우도 공간 제거 */
.smile-category-top-ad:empty,
.smile-category-mid-ad:empty,
.smile-category-side-ad:empty,
.smile-anchor-code-host:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
  border:0!important;
}

/* 앵커 광고는 AdSense 공식 코드가 위치를 결정.
   테마는 자체 fixed 배너를 만들지 않는다. */
.smile-anchor-code-host{
  position:static!important;
  margin:0!important;
  padding:0!important;
  width:0!important;
  height:0!important;
  overflow:visible!important;
}


/* =========================================================
   v1.0.18 검색 결과 페이지
   카테고리 아카이브와 같은 계열의 세로형 매거진 목록
   ========================================================= */
body.search #main{
  display:block!important;
}

body.search #main > .fusion-row{
  display:block!important;
}

.smile-search-layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:start;
}

.smile-search-main{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
}

.smile-search-side{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  margin:0!important;
  position:static!important;
  top:auto!important;
}

.smile-search-header{
  margin:0 0 22px;
  padding:0 0 18px;
  border-bottom:1px solid var(--smile-line);
}

.smile-search-kicker{
  margin-bottom:7px;
  color:#58616c;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:-.01em;
}

.smile-search-header h1{
  margin:0!important;
  color:#202124!important;
  font-size:23px!important;
  line-height:1.35!important;
  letter-spacing:-.03em!important;
  font-weight:900!important;
}

.smile-search-header h1 span{
  color:#4F6F96!important;
}

.smile-search-count{
  margin:7px 0 0!important;
  color:#747c85;
  font-size:12px!important;
  line-height:1.5!important;
}

.smile-search-form{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
}

.smile-search-form input[type="search"]{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 13px;
  border:1px solid #d9dee5;
  border-radius:8px;
  background:#fff;
  color:#222;
  font-family:inherit;
  font-size:14px;
}

.smile-search-form input[type="search"]:focus{
  border-color:#aeb9c5;
  outline:2px solid rgba(79,111,150,.12);
}

.smile-search-form button{
  flex:0 0 auto;
  min-width:66px;
  height:42px;
  padding:0 15px;
  border:0;
  border-radius:8px;
  background:#4F6F96;
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}

.smile-search-list{
  display:flex;
  flex-direction:column;
}

.smile-search-list-card{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:22px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid var(--smile-line);
}

.smile-search-list-card:first-child{
  padding-top:0;
}

.smile-search-list-thumb{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:7px;
  background:#f1f3f5;
}

.smile-search-list-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .22s ease;
}

.smile-search-list-thumb:hover img{
  transform:scale(1.035);
}

.smile-search-list-thumb-fallback{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#f1f3f5,#e6e9ed);
}

.smile-search-list-copy{
  min-width:0;
}

.smile-search-list-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:var(--smile-muted);
  font-size:11px;
  line-height:1.4;
  font-weight:700;
}

.smile-search-list-name{
  color:#4F6F96;
  font-weight:900;
}

.smile-search-list-name::after{
  content:"·";
  margin-left:7px;
  color:#a3a8ae;
  font-weight:400;
}

.smile-search-list-title{
  margin:0 0 9px!important;
  font-size:20px!important;
  line-height:1.45!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
  word-break:keep-all;
}

.smile-search-list-title a{
  color:#202124!important;
  text-decoration:none!important;
}

.smile-search-list-title a:hover{
  color:var(--smile-accent)!important;
}

.smile-search-list-excerpt{
  margin:0!important;
  color:#5f6670;
  font-size:14px!important;
  line-height:1.7!important;
  word-break:keep-all;
}

.smile-search-pagination{
  margin-top:26px!important;
}

.smile-search-empty{
  padding:24px;
  border:1px solid var(--smile-line);
  border-radius:var(--smile-radius);
  background:#fff;
}

.smile-search-empty h2{
  margin:0 0 7px!important;
  font-size:19px!important;
  line-height:1.4!important;
  font-weight:900!important;
}

.smile-search-empty p{
  margin:0!important;
  color:#68717c;
  font-size:14px!important;
  line-height:1.7!important;
}

.smile-search-empty-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.smile-search-empty-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border:1px solid #d9dee5;
  border-radius:999px;
  background:#f8f9fa;
  color:#4d5661!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none!important;
}

.smile-search-empty-links a:hover{
  color:var(--smile-accent)!important;
  border-color:#bec7d1;
}

.smile-search-side-ad:empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
  border:0!important;
}

@media(max-width:900px){
  .smile-search-layout{
    grid-template-columns:1fr;
  }

  .smile-search-side{
    margin-top:10px!important;
  }
}

@media(max-width:700px){
  .smile-search-kicker{
    font-size:12.5px;
  }

  .smile-search-header h1{
    font-size:22px!important;
  }

  .smile-search-list-card{
    grid-template-columns:1fr;
    gap:13px;
    padding:18px 0 22px;
  }

  .smile-search-list-thumb{
    aspect-ratio:16/9;
  }

  .smile-search-list-title{
    font-size:19px!important;
  }
}


/* =========================================================
   v1.0.20 모바일 QA 보정
   - 중복 Avada Page Title 방지
   - 터치 영역 44px 이상
   - 긴 URL/문자열 모바일 넘침 방지
   - 아주 작은 화면의 404 최근글 정리
   ========================================================= */

/* 커스텀 화면에는 Avada 기본 Page Title Bar를 중복 표시하지 않음 */
.home .fusion-page-title-bar,
.single-post .fusion-page-title-bar,
.category .fusion-page-title-bar,
.search .fusion-page-title-bar,
.page-template-template-all-posts .fusion-page-title-bar{
  display:none!important;
}

/* 표 래퍼는 가로 스크롤만 허용 */
.single-post .smile-table-wrap{
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}

/* 모바일(900px 이하)에서 오른쪽 보조영역은 Sticky 해제 상태를 명시 */
@media(max-width:900px){
  .smile-single-sticky{
    position:static!important;
    top:auto!important;
  }
}

@media(max-width:700px){
  /* 기존 검색 등 레거시 페이지네이션의 터치 영역. 공통 컴팩트형은 800px 규칙에서 별도 처리. */
  .smile-pagination:not(.smile-compact-pagination) .page-numbers{
    min-width:44px!important;
    height:44px!important;
    padding:0 12px!important;
  }

  /* 공유 아이콘 터치 영역 */
  .smile-share-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
  }

  /* 검색/404 입력·버튼 */
  .smile-search-form input[type="search"],
  .smile-search-form button,
  .smile-404-search input[type="search"],
  .smile-404-search button{
    min-height:44px!important;
    height:44px!important;
  }

  /* 댓글 로그인/등록 버튼 */
  .smile-comment-wp-login,
  .smile-comment-form-wrap .submit{
    min-height:44px!important;
  }

  /* 보조 콘텐츠가 본문과 붙지 않도록 */
  .smile-single-side,
  .smile-category-side,
  .smile-search-side,
  .smile-404-side,
  .smile-all-posts-side{
    margin-top:22px!important;
  }
}

@media(max-width:480px){
  /* 아주 작은 화면에서는 404 최근글도 이미지 위/제목 아래 */
  .smile-404-latest-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .smile-404-latest-thumb{
    aspect-ratio:16/9;
  }

  /* 검색/404 검색창은 좁은 화면에서도 버튼과 충돌하지 않게 */
  .smile-search-form,
  .smile-404-search{
    gap:7px;
  }

  .smile-search-form button,
  .smile-404-search button{
    min-width:62px;
    padding-left:12px;
    padding-right:12px;
  }
}


/* =========================================================
   v1.0.21 APPROVED DESKTOP HOME LOCK — retained in v1.0.23
   적용 범위: 데스크톱 메인(901px 이상)만
   구조: 왼쪽 메인 콘텐츠 + 오른쪽 320px
   오른쪽 순서(front-page.php):
   WEEK TRENDING → 광고 1 → 생활경제 SMILE → 광고 2
   메인 오른쪽은 Sticky 금지.
   ========================================================= */
@media (min-width:901px){
  .home #main > .fusion-row{
    width:calc(100% - 40px)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 320px!important;
    gap:28px!important;
    align-items:start!important;
  }

  .home #main > .fusion-row > #content.smile-home-main{
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }

  .home #main > .fusion-row > .smile-home-side{
    grid-column:2!important;
    grid-row:1!important;
    width:320px!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
    position:static!important;
    top:auto!important;
    bottom:auto!important;
    align-self:start!important;
    transform:none!important;
  }

  .home .smile-home-side > .smile-side-block,
  .home .smile-home-side > .smile-side-ad{
    position:static!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
  }
}


/* =========================================================
   v1.0.22 APPROVED MOBILE HOME LOCK — retained unchanged
   적용 범위: 모바일 메인(900px 이하)만
   원칙: 데스크톱 오른쪽 rail은 모바일에 적용하지 않는다.
   - WEEK TRENDING 없음
   - 홈 오른쪽 광고 1 없음
   - 생활경제 SMILE 오른쪽 안내 박스 없음
   - 홈 오른쪽 광고 2 없음
   - 메인 콘텐츠만 1열 100% 사용
   ========================================================= */
@media (max-width:900px){
  .home #main > .fusion-row{
    display:block!important;
    grid-template-columns:none!important;
    gap:0!important;
    align-items:initial!important;
  }

  .home #main > .fusion-row > #content.smile-home-main{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
  }

  .home #main > .fusion-row > .smile-home-side{
    display:none!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

/* =========================================================
   v1.0.29 DESKTOP HEADER + FOOTER FINAL LOCK
   적용 범위: 데스크톱 901px 이상만
   기준:
   - Header: 왼쪽 브랜드 2줄 / 오른쪽 금융·소비·제도 + 검색
   - Footer: v1.0.21 확정 구조 유지
   - 모바일 규칙은 변경하지 않음
   ========================================================= */
@media (min-width:901px){
  /* HEADER — desktop horizontal composition */
  .fusion-header{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .fusion-header .fusion-row{
    width:calc(100% - 40px)!important;
    max-width:1100px!important;
    min-height:92px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:36px!important;
  }

  .fusion-header .fusion-logo{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
  }

  .fusion-header .smile-header-brand{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    align-items:start!important;
    margin:0!important;
    padding:0!important;
    line-height:1.1!important;
  }

  .fusion-header .smile-header-title{
    font-size:25px!important;
    line-height:1.12!important;
    font-weight:800!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }

  .fusion-header .smile-header-tagline{
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:500!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
  }

  .fusion-header .fusion-main-menu{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }

  .fusion-header .fusion-main-menu > ul{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
  }

  .fusion-header .fusion-main-menu > ul > li > a{
    display:flex!important;
    align-items:center!important;
    min-height:92px!important;
    padding-left:17px!important;
    padding-right:17px!important;
    font-weight:700!important;
  }

  /* FOOTER — v1.0.21 desktop composition lock */
  .fusion-footer-widget-area{
    display:none!important;
  }

  .fusion-footer-copyright-area{
    padding:0!important;
    background:#f7f9fb!important;
    border-top:1px solid #dfe3e8!important;
  }

  .fusion-footer-copyright-area .fusion-row,
  .fusion-copyright-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  .smile-footer-inner{
    width:calc(100% - 40px)!important;
    max-width:1100px!important;
    min-height:124px!important;
    margin:0 auto!important;
    padding:28px 20px 30px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:44px!important;
    box-sizing:border-box!important;
    text-align:left!important;
    background:#f7f9fb!important;
  }

  .smile-footer-brand-block{
    flex:0 0 auto!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:0!important;
    text-decoration:none!important;
  }

  .smile-footer-brand-block .smile-footer-brand{
    margin:0!important;
    white-space:nowrap!important;
  }

  .smile-footer-brand-block .smile-footer-tagline{
    margin:0!important;
    white-space:nowrap!important;
  }

  .smile-footer-right{
    flex:0 0 auto!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:max-content!important;
    max-width:100%!important;
  }

  .smile-footer-right .smile-footer-links{
    width:max-content!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:10px 18px!important;
  }

  .smile-footer-right .smile-footer-credit{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   v1.0.30 DESKTOP FOOTER EXACT LOCK
   기준: v1.0.21의 좌/우 데스크톱 구조 + 사용자 확정 문구/줄배치
   적용 범위: 데스크톱 901px 이상만. 모바일 규칙은 변경하지 않음.
   ========================================================= */
@media (min-width:901px){
  .smile-footer-inner{
    align-items:center!important;
    justify-content:space-between!important;
    gap:56px!important;
  }

  /* 왼쪽: 정확히 2줄 */
  .smile-footer-brand-block{
    flex:0 1 auto!important;
    min-width:0!important;
    gap:7px!important;
    align-items:flex-start!important;
  }
  .smile-footer-brand-block .smile-footer-brand{
    white-space:nowrap!important;
  }
  .smile-footer-brand-block .smile-footer-tagline{
    white-space:nowrap!important;
  }

  /* 오른쪽: 링크 2줄 + 브랜드/저작권 1줄 */
  .smile-footer-right{
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:520px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:left!important;
  }

  .smile-footer-right .smile-footer-links{
    width:max-content!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:5px!important;
    justify-content:start!important;
    align-items:center!important;
    text-align:left!important;
  }

  /* 원래 순서: 소개, 문의, 개인정보, 면책 → 화면 순서: 소개, 문의, 면책 / 개인정보 */
  .smile-footer-right .smile-footer-links a:nth-child(1){grid-column:1;grid-row:1;}
  .smile-footer-right .smile-footer-links a:nth-child(2){grid-column:2;grid-row:1;}
  .smile-footer-right .smile-footer-links a:nth-child(4){grid-column:3;grid-row:1;}
  .smile-footer-right .smile-footer-links a:nth-child(3){grid-column:1 / -1;grid-row:2;}

  .smile-footer-right .smile-footer-links a::before{
    content:'· '; 
    color:#6b7280!important;
    font-weight:800!important;
  }

  /* 기존 모바일용 credit은 데스크톱에서 숨기고, 정확한 데스크톱 credit 사용 */
  .smile-footer-right .smile-footer-credit{
    display:none!important;
  }
  .smile-footer-right .smile-footer-credit-desktop{
    display:flex!important;
    align-items:baseline!important;
    gap:10px!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    white-space:nowrap!important;
    color:#6b7280!important;
    font-size:12.5px!important;
    line-height:1.45!important;
  }
  .smile-footer-right .smile-footer-credit-desktop a{
    color:#5f6670!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
  .smile-footer-right .smile-footer-credit-desktop a:hover{
    color:var(--smile-accent)!important;
  }
  .smile-footer-right .smile-footer-credit-desktop .smile-footer-copyright{
    color:#6b7280!important;
    font-weight:500!important;
  }
}

/* 데스크톱 전용 credit은 모바일에서 완전히 숨김 */
@media (max-width:900px){
  .smile-footer-credit-desktop{display:none!important;}
}


/* =========================================================
   v1.0.32 RESPONSIVE FINAL LOCK
   공통 알고리즘은 하나로 유지하고 화면 차이는 900/901 경계로만 분리한다.
   - 901px 이상: DESKTOP FINAL
   - 900px 이하: MOBILE FINAL
   ========================================================= */

/* Header tagline helper: desktop = 한 줄, mobile = 두 줄. */
.smile-header-tagline-line{display:inline;}

/* Footer common helpers */
.smile-footer-link-row{display:flex!important;align-items:center!important;}
.smile-footer-copyright,
.smile-footer-copyright-mobile{color:#6b7280!important;font-weight:500!important;text-decoration:none!important;}

@media (min-width:901px){
  /* DESKTOP HEADER: 왼쪽 브랜드 2줄 / 오른쪽 메뉴 */
  .fusion-header .smile-header-tagline-line{display:inline!important;}

  /* DESKTOP FOOTER: v1.0.21 골격 + 최종 확정 문구 */
  .smile-footer-inner{
    width:calc(100% - 40px)!important;
    max-width:1100px!important;
    min-height:124px!important;
    margin:0 auto!important;
    padding:28px 20px 30px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:56px!important;
    box-sizing:border-box!important;
    text-align:left!important;
    background:#f7f9fb!important;
  }
  .smile-footer-brand-block{
    flex:0 1 auto!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin:0!important;
    text-decoration:none!important;
  }
  .smile-footer-brand{white-space:nowrap!important;}
  .smile-footer-tagline-wrap{
    display:block!important;
    white-space:nowrap!important;
  }
  .smile-footer-tagline{display:inline!important;white-space:nowrap!important;}
  .smile-footer-tagline-sep{display:inline!important;}

  .smile-footer-right{
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:520px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:right!important;
  }
  .smile-footer-right .smile-footer-links{
    width:max-content!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:5px!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
  }
  .smile-footer-link-row{
    width:max-content!important;
    max-width:100%!important;
    justify-content:flex-end!important;
    gap:14px!important;
    white-space:nowrap!important;
    text-align:right!important;
  }
  .smile-footer-link-row a::before{
    content:'· ';
    color:#6b7280!important;
    font-weight:800!important;
  }
  .smile-footer-copyright-mobile{display:none!important;}
  .smile-footer-credit-desktop{
    display:flex!important;
    align-items:baseline!important;
    justify-content:flex-end!important;
    gap:10px!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    white-space:nowrap!important;
    color:#6b7280!important;
    font-size:12.5px!important;
    line-height:1.45!important;
    text-align:right!important;
  }
  .smile-footer-credit-desktop a{
    color:#5f6670!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
  .smile-footer-credit-desktop a:hover{color:var(--smile-accent)!important;}
}

@media (max-width:900px){
  /* MOBILE: 오른쪽 rail은 어떤 화면에서도 아래로 내리지 않고 완전 미적용 */
  .home #main > .fusion-row > .smile-home-side,
  .smile-category-side,
  .smile-single-side,
  .smile-search-side,
  .smile-404-side,
  .smile-all-posts-side{
    display:none!important;
    width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
  }
  .home #main > .fusion-row > #content.smile-home-main,
  .smile-category-main,
  .smile-single-main,
  .smile-search-main,
  .smile-404-main,
  .smile-all-posts-main{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .smile-category-layout,
  .smile-single-grid,
  .smile-search-layout,
  .smile-404-layout{grid-template-columns:1fr!important;}

  /* MOBILE HEADER: 브랜드 3줄 + 검색/햄버거 전용 영역 */
  .fusion-header-wrapper,
  .fusion-header,
  .fusion-header > .fusion-row,
  .fusion-header .fusion-row{box-sizing:border-box!important;}
  .fusion-header{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    border-top:3px solid var(--smile-accent)!important;
    background:#fff!important;
  }
  .fusion-header > .fusion-row,
  .fusion-header .fusion-row{
    width:100%!important;
    max-width:100%!important;
    min-height:94px!important;
    margin:0!important;
    padding:13px 14px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .fusion-logo{
    display:flex!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 96px)!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    align-items:center!important;
  }
  .smile-header-brand{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:3px!important;
    margin:0!important;
  }
  .smile-header-title{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    font-size:21px!important;
    line-height:1.16!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .smile-header-tagline{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.34!important;
    font-weight:500!important;
    white-space:normal!important;
    overflow:visible!important;
    letter-spacing:-.02em!important;
  }
  .smile-header-tagline-line{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
  .fusion-main-menu{display:none!important;}
  .fusion-mobile-menu-icons{
    position:static!important;
    float:none!important;
    flex:0 0 92px!important;
    width:92px!important;
    max-width:92px!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:2px!important;
  }
  .fusion-mobile-menu-icons > a{
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .fusion-mobile-menu-icons .fusion-icon-bars,
  .fusion-mobile-menu-icons .fusion-icon-search,
  .fusion-mobile-menu-icons > a:before{font-size:23px!important;line-height:1!important;}
  .fusion-mobile-nav-holder,
  .fusion-mobile-menu-design-modern .fusion-mobile-nav-holder,
  .fusion-mobile-navigation{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .fusion-mobile-nav-item a,
  .fusion-mobile-navigation a{
    min-height:48px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
    display:flex!important;
    align-items:center!important;
  }

  /* MOBILE FOOTER: 2열, 하단 불필요 여백 없음 */
  .fusion-footer,
  .fusion-footer-copyright-area,
  .fusion-footer-copyright-area .fusion-row,
  .fusion-footer-copyright-area .fusion-copyright-content,
  .fusion-copyright-content{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  .fusion-footer-copyright-area{
    padding:0!important;
    background:#fff!important;
    border-top:1px solid #dfe3e8!important;
  }
  .fusion-footer-copyright-area .fusion-row,
  .fusion-footer-copyright-area .fusion-copyright-content{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .smile-footer-inner{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:20px 14px 19px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)!important;
    align-items:start!important;
    justify-content:stretch!important;
    column-gap:16px!important;
    row-gap:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
    background:#fff!important;
  }
  .smile-footer-brand-block{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:3px!important;
    text-decoration:none!important;
  }
  .smile-footer-brand{
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 4px!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  .smile-footer-tagline-wrap{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    width:100%!important;
    max-width:100%!important;
  }
  .smile-footer-tagline{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.38!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
    white-space:nowrap!important;
  }
  .smile-footer-tagline-sep{display:none!important;}
  .smile-footer-right{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:1px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:6px!important;
  }
  .smile-footer-right .smile-footer-links{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:5px!important;
  }
  .smile-footer-link-row{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    justify-content:flex-start!important;
    gap:9px!important;
    white-space:nowrap!important;
  }
  .smile-footer-link-row a{
    margin:0!important;
    padding:0!important;
    color:#3f4650!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:700!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  .smile-footer-link-row-2{margin-top:1px!important;}
  .smile-footer-copyright-mobile{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    padding:0!important;
    color:#6b7280!important;
    font-size:9.2px!important;
    line-height:1.3!important;
    font-weight:500!important;
    letter-spacing:-.015em!important;
    white-space:nowrap!important;
    text-align:left!important;
  }
  .smile-footer-credit-desktop{display:none!important;}
}

@media (max-width:390px){
  .fusion-header > .fusion-row,
  .fusion-header .fusion-row{
    min-height:90px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .fusion-logo{max-width:calc(100% - 92px)!important;}
  .smile-header-title{font-size:19px!important;}
  .smile-header-tagline{font-size:10.8px!important;}
  .fusion-mobile-menu-icons{
    flex-basis:88px!important;
    width:88px!important;
    max-width:88px!important;
    gap:0!important;
  }
}

@media (max-width:360px){
  .smile-footer-inner{
    padding:18px 11px 17px!important;
    grid-template-columns:minmax(0,.98fr) minmax(0,1.12fr)!important;
    column-gap:10px!important;
  }
  .smile-footer-brand{font-size:15.5px!important;}
  .smile-footer-tagline{font-size:10.3px!important;}
  .smile-footer-link-row{gap:6px!important;}
  .smile-footer-link-row a{font-size:10px!important;}
  .smile-footer-copyright-mobile{font-size:8.3px!important;}
}


/* =========================================================
   v1.0.33 DESKTOP FOOTER RIGHT ALIGN FINAL OVERRIDE
   오른쪽 3줄 전체를 우측 끝 기준으로 정렬한다.
   ========================================================= */
@media (min-width:901px){
  .smile-footer-right{
    align-items:flex-end!important;
    text-align:right!important;
  }
  .smile-footer-right .smile-footer-links{
    align-items:flex-end!important;
    justify-content:flex-end!important;
    text-align:right!important;
  }
  .smile-footer-right .smile-footer-link-row{
    justify-content:flex-end!important;
    text-align:right!important;
  }
  .smile-footer-right .smile-footer-credit-desktop{
    justify-content:flex-end!important;
    text-align:right!important;
  }
}

/* =========================================================
   v1.0.35 DESKTOP STAGE 2 — LIST VISUAL UNIFICATION LOCK
   범위: 데스크톱 901px 이상
   - 추천 대형 이미지는 예외
   - 일반 목록형 게시물은 요약 최대 2줄
   - VIEW ALL = 메인 2·3·4 목록과 동일 간격
   - 카테고리/검색 목록은 카드형으로 바꾸지 않고 세로 간격만 정상화
   - VIEW ALL의 왼쪽 폭은 오른쪽 300px Sticky rail을 확보한 2열 구조로 고정
   ========================================================= */
@media (min-width:901px){
  /* VIEW ALL: 카테고리와 동일한 1100px / 300px rail 체계 */
  body.page-template-template-all-posts #main > .fusion-row{
    width:calc(100% - 40px)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .smile-all-posts-layout{
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:28px!important;
    align-items:start!important;
  }
  .smile-all-posts-main{
    min-width:0!important;
    width:auto!important;
  }

  /* 메인 2·3·4… / VIEW ALL 일반 게시물 간격 동일 */
  .smile-home-feed .smile-latest-list,
  .smile-all-posts-list{
    gap:14px!important;
  }

  /* 추천 대형 이미지를 제외한 일반 게시물 요약: 최대 2줄 */
  .smile-post-card .smile-post-excerpt,
  .smile-category-list-excerpt,
  .smile-search-list-excerpt{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    line-height:1.65!important;
    max-height:3.30em!important;
  }

  /* 카테고리: 기존 목록형 유지, 과도한 상하 공백만 축소 */
  .smile-category-list-card{
    grid-template-columns:200px minmax(0,1fr)!important;
    gap:18px!important;
    padding:13px 0!important;
    align-items:center!important;
  }
  .smile-category-list-card:first-child{
    padding-top:0!important;
  }
  .smile-category-list-title{
    margin-bottom:6px!important;
  }
  .smile-category-list-meta{
    margin-bottom:5px!important;
  }

  /* 검색 결과도 동일한 일반 목록 밀도로 맞춤 */
  .smile-search-list-card{
    grid-template-columns:200px minmax(0,1fr)!important;
    gap:18px!important;
    padding:13px 0!important;
    align-items:center!important;
  }
  .smile-search-list-card:first-child{
    padding-top:0!important;
  }
  .smile-search-list-title{
    margin-bottom:6px!important;
  }
  .smile-search-list-meta{
    margin-bottom:5px!important;
  }
}


/* =========================================================
   v1.0.37 DESKTOP LIST FORMAT FINAL LOCK
   - 추천 대형 이미지는 예외
   - 금융/소비/제도 카테고리의 Avada 기본 post margin 완전 제거
   - 모든 일반 목록형 게시물 요약은 실제 본문 기반 최대 2줄
   - 메인 일반글 / 메인 2페이지 이후 / VIEW ALL / 카테고리 / 검색 결과 통일
   ========================================================= */
@media (min-width:901px){
  /* Avada가 article.post에 주는 기본 margin을 카테고리 목록에서 제거한다. */
  body.category .smile-category-list > .smile-category-list-card,
  body.category .smile-category-list > article.post.smile-category-list-card{
    margin:0!important;
    min-height:0!important;
    padding:14px 0!important;
    border-bottom:1px solid var(--smile-line)!important;
  }
  body.category .smile-category-list > .smile-category-list-card:first-child,
  body.category .smile-category-list > article.post.smile-category-list-card:first-child{
    padding-top:0!important;
  }
  body.category .smile-category-list > .smile-category-list-card:last-child,
  body.category .smile-category-list > article.post.smile-category-list-card:last-child{
    margin-bottom:0!important;
  }

  /* 일반 목록 요약은 항상 두 줄 공간을 확보하고 두 줄에서 자른다. */
  .smile-post-card .smile-post-excerpt,
  .smile-category-list-excerpt,
  .smile-search-list-excerpt{
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    line-height:1.65!important;
    min-height:3.30em!important;
    max-height:3.30em!important;
    margin-bottom:0!important;
  }
}


/* =========================================================
   v1.0.38 MOBILE NEAR-FULL-WIDTH LOCK
   적용 범위: 모바일 900px 이하
   목적: 작은 화면의 가용 폭을 최대한 사용하고, 좌우에는 최소 안전여백만 둔다.
   데스크톱 901px 이상 규칙은 변경하지 않는다.
   ========================================================= */
@media (max-width:900px){
  /* Avada 기본 컨테이너 여백 제거 + 최소 안전여백 8px */
  body.home #main{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.home #main > .fusion-row{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
  }

  /* 메인 콘텐츠는 안전여백 안에서 실제 가용 폭 100% 사용 */
  body.home #content.smile-home-main,
  body.home .smile-latest-section,
  body.home .smile-home-feed,
  body.home .smile-latest-list,
  body.home .smile-hero,
  body.home .smile-post-card,
  body.home .smile-home-main-ad,
  body.home .smile-home-pagination{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  /* 섹션 제목/VIEW ALL도 본문 폭과 동일한 좌우선 사용 */
  body.home .smile-section-head{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  /* 아주 작은 화면은 6px만 남겨 거의 전체 폭 사용 */
  body.home #main > .fusion-row{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}


/* =========================================================
   v1.0.44 MOBILE HEADER BASELINE + RIGHT ALIGN LOCK
   적용 범위: 900px 이하 모바일 헤더만
   목표:
   1행 = 생활경제 SMILE | 금융 소비 제도 | 검색
   2행 = 태그라인 좌측 정렬
   - 브랜드와 메뉴를 같은 축에서 크게/선명하게 배치
   - 메뉴는 브랜드 쪽으로 붙이고 검색은 우측 끝
   - 본문/추천글/VIEW ALL/푸터/데스크톱은 건드리지 않음
   ========================================================= */
@media (max-width:900px){
  /* Avada 기본 모바일 메뉴 UI는 모바일 헤더에서만 숨김 */
  .fusion-mobile-menu-icons,
  .fusion-mobile-nav-holder,
  .fusion-mobile-menu-design-modern .fusion-mobile-nav-holder,
  .fusion-mobile-navigation,
  .fusion-secondary-main-menu{
    display:none!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .fusion-header-wrapper{margin-bottom:0!important;}
  .fusion-header > .fusion-row,
  .fusion-header .fusion-row{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 10px 10px!important;
    box-sizing:border-box!important;
  }

  .fusion-header .fusion-logo{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
  }

  /*
   * 4열 그리드의 3번째 열을 비워 검색을 화면 우측 끝에 고정한다.
   * title과 nav는 바로 이웃하게 두어 첫 줄의 빈 공간을 적극 활용한다.
   */
  .fusion-header .smile-header-brand{
    position:relative!important;
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr) 42px!important;
    grid-template-areas:
      "title nav search"
      "tagline tagline tagline"!important;
    column-gap:10px!important;
    row-gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    align-items:end!important;
  }

  .fusion-header .smile-header-title{
    grid-area:title!important;
    display:block!important;
    width:max-content!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    color:#111!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    justify-self:start!important;
    align-self:end!important;
  }

  /* 금융 / 소비 / 제도: 우측 정렬된 큰 텍스트 메뉴 */
  .smile-mobile-category-nav{
    grid-area:nav!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:13px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 3px 1px 0!important;
    justify-self:stretch!important;
    align-self:end!important;
    white-space:nowrap!important;
  }

  .smile-mobile-category-link{
    display:inline-flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    min-width:0!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#20242a!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:-.04em!important;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent!important;
    transition:color .12s ease,transform .12s ease!important;
    transform-origin:center bottom!important;
  }

  .smile-mobile-category-link:active,
  .smile-mobile-category-link:focus-visible{
    color:var(--smile-accent)!important;
    transform:scale(1.08)!important;
    outline:none!important;
  }

  .smile-mobile-category-link--finance{color:#355a92!important;}
  .smile-mobile-category-link--spending{color:#2c3138!important;}
  .smile-mobile-category-link--policy{color:#2e7468!important;}

  body.category-finance .smile-mobile-category-link--finance,
  body.category-spending .smile-mobile-category-link--spending,
  body.category-policy .smile-mobile-category-link--policy{
    color:var(--smile-accent)!important;
    box-shadow:inset 0 -2px 0 var(--smile-accent)!important;
  }

  /* 검색: 첫 줄 우측 끝, 아이콘 자체를 크게 표시 */
  .smile-mobile-search{
    grid-area:search!important;
    position:relative!important;
    display:block!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    z-index:30!important;
  }
  .smile-mobile-search > summary{
    list-style:none!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .smile-mobile-search > summary::-webkit-details-marker{display:none!important;}
  .smile-mobile-search > summary::marker{content:''!important;}
  .smile-mobile-search > summary svg{
    width:30px!important;
    height:30px!important;
    fill:none!important;
    stroke:#111!important;
    stroke-width:2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .smile-mobile-search > summary:active{
    color:var(--smile-accent)!important;
    transform:scale(.94)!important;
  }

  /* 태그라인: 첫째 줄 브랜드와 같은 왼쪽 시작선 */
  .fusion-header .smile-header-tagline{
    grid-area:tagline!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    justify-self:start!important;
    color:#666d76!important;
    font-size:12.6px!important;
    line-height:1.25!important;
    font-weight:500!important;
    letter-spacing:-.035em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }

  .fusion-header .smile-header-tagline-line{
    display:inline!important;
    width:auto!important;
    max-width:none!important;
    white-space:inherit!important;
  }

  /* 검색창 펼침 UI */
  .smile-mobile-search-form{
    position:absolute!important;
    top:46px!important;
    right:0!important;
    width:min(340px,calc(100vw - 20px))!important;
    margin:0!important;
    padding:8px!important;
    display:flex!important;
    gap:6px!important;
    background:#fff!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.13)!important;
    box-sizing:border-box!important;
    z-index:50!important;
  }
  .smile-mobile-search:not([open]) .smile-mobile-search-form{display:none!important;}
  .smile-mobile-search-form input[type="search"]{
    flex:1 1 auto!important;
    min-width:0!important;
    height:40px!important;
    margin:0!important;
    padding:0 11px!important;
    border:1px solid #d8dde4!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#111!important;
    font-size:14px!important;
    box-shadow:none!important;
  }
  .smile-mobile-search-form button{
    flex:0 0 auto!important;
    height:40px!important;
    margin:0!important;
    padding:0 13px!important;
    border:0!important;
    border-radius:8px!important;
    background:var(--smile-accent)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800!important;
  }
}

/* 380px 이하에서만 1단계 축소. 기본 모바일(약 390px)은 위 크기를 그대로 사용한다. */
@media (max-width:380px){
  .fusion-header > .fusion-row,
  .fusion-header .fusion-row{padding-left:8px!important;padding-right:8px!important;}
  .fusion-header .smile-header-brand{
    grid-template-columns:max-content minmax(0,1fr) 39px!important;
    column-gap:8px!important;
  }
  .fusion-header .smile-header-title{font-size:20.5px!important;}
  .smile-mobile-category-nav{gap:10px!important;padding-right:2px!important;}
  .smile-mobile-category-link{font-size:16px!important;min-height:32px!important;}
  .smile-mobile-search,
  .smile-mobile-search > summary{width:39px!important;height:39px!important;}
  .smile-mobile-search > summary svg{width:26px!important;height:26px!important;}
  .fusion-header .smile-header-tagline{font-size:11.5px!important;}
}

@media (max-width:340px){
  .fusion-header .smile-header-title{font-size:18px!important;}
  .smile-mobile-category-nav{gap:8px!important;padding-right:1px!important;}
  .smile-mobile-category-link{font-size:14.5px!important;}
  .fusion-header .smile-header-tagline{font-size:10.4px!important;letter-spacing:-.045em!important;}
}


/* =========================================================
   v1.0.47 MOBILE CONTENT RAIL LOCK — 추천글 폭 기준
   적용 범위: 900px 이하 콘텐츠 폭만
   기준: 홈 추천글(.smile-hero)의 현재 좌우 안전여백과 동일
   대상: 전체 글 / 금융·소비·제도 카테고리 / 실제 게시글
   비대상: 헤더 / 푸터 / 데스크톱 / 글자크기 / 이미지 비율
   ========================================================= */
@media (max-width:900px){
  /* 추천글과 동일하게 페이지 자체는 전체 폭을 사용한다. */
  body.single-post #main,
  body.category #main,
  body.page-template-template-all-posts #main{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  /* 추천글 기준: 좌우 8px 안전여백. */
  body.single-post #main > .fusion-row,
  body.category #main > .fusion-row,
  body.page-template-template-all-posts #main > .fusion-row{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
  }

  /* 모든 게시물 레일은 추천글과 같은 좌우 시작선/끝선을 사용한다. */
  body.single-post .smile-single-grid,
  body.single-post .smile-single-main,
  body.single-post .smile-single-card,
  body.category .smile-category-layout,
  body.category .smile-category-main,
  body.category .smile-category-list,
  body.category .smile-category-list-card,
  body.page-template-template-all-posts .smile-all-posts-layout,
  body.page-template-template-all-posts .smile-all-posts-main,
  body.page-template-template-all-posts .smile-all-posts-list,
  body.page-template-template-all-posts .smile-post-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:480px){
  /* 홈 추천글과 동일: 아주 작은 화면에서는 좌우 6px. */
  body.single-post #main > .fusion-row,
  body.category #main > .fusion-row,
  body.page-template-template-all-posts #main > .fusion-row{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* =========================================================
   EUTHRA POST DESIGN SYSTEM · CURRENT · 2.0.10 READING FLOW
   - WordPress + Avada 게시글 표준은 euthra-* 하나로 통일
   - 과거 Blogger eu-* 호환 선택자 제거
   - 본문 20px / 데스크톱 1.9 / 모바일 1.7
   - 책식 조판: left / white-space:normal / word-break:normal / line-break:strict
   - 긴 URL·공백 없는 문자열만 overflow-wrap:anywhere로 안전 처리
   - 800px 모바일 breakpoint 유지
   ========================================================= */

body.single-post #main{
  background:#fcfcfc;
}

.single-post .smile-single-content{
  --euthra-orange:#FF6200;
  --euthra-orange-light:#FFF1E8;
  --euthra-border:#E5DAD2;
  --euthra-surface:#F5F5F5;
  --euthra-green:#1F5A45;
  --euthra-green-dark:#173F31;
  --euthra-green-light:#EFF5F2;
  --euthra-green-border:#D2E1DA;

  --euthra-neutral-surface:rgba(127,127,127,.06);
  --euthra-neutral-surface-strong:rgba(127,127,127,.10);
  --euthra-neutral-border:rgba(127,127,127,.22);
  --euthra-neutral-border-soft:rgba(127,127,127,.14);
  --euthra-neutral-accent:rgba(127,127,127,.55);

  font-size:20px;
  line-height:1.9;
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}

.single-post .smile-single-content *,
.single-post .smile-single-content *::before,
.single-post .smile-single-content *::after{
  box-sizing:border-box;
}

@supports (background:color-mix(in srgb,currentColor 5%,transparent)){
  .single-post .smile-single-content{
    --euthra-neutral-surface:color-mix(in srgb,currentColor 5%,transparent);
    --euthra-neutral-surface-strong:color-mix(in srgb,currentColor 9%,transparent);
    --euthra-neutral-border:color-mix(in srgb,currentColor 20%,transparent);
    --euthra-neutral-border-soft:color-mix(in srgb,currentColor 12%,transparent);
    --euthra-neutral-accent:color-mix(in srgb,currentColor 45%,transparent);
  }
}

/* 게시글 본문 래퍼 */
.single-post .smile-single-content .smile-post-content,
.single-post .smile-single-content .euthra-article{
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  text-align:inherit;
  white-space:inherit;
  word-break:inherit;
  line-break:inherit;
  overflow-wrap:inherit;
}

.single-post .smile-single-content p{
  margin:0 0 1.05em;
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}
.single-post .smile-single-content ul,
.single-post .smile-single-content ol{
  padding-left:1.45em;
}
.single-post .smile-single-content li{
  margin-bottom:.35em;
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}
.single-post .smile-single-content img{
  display:block;
  max-width:100%;
  height:auto;
}
.single-post .smile-single-content a,
.single-post .smile-single-content code{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
}

/* 일반 문단 안 인라인 요소는 굵기·영문·링크가 섞여도 같은 텍스트 레일에서 연속 흐름 유지 */
.single-post .smile-single-content p :is(strong,b,em,i,a,span,mark,small,code),
.single-post .smile-single-content li :is(strong,b,em,i,a,span,mark,small,code){
  display:inline;
  white-space:inherit;
  word-break:inherit;
  line-break:inherit;
  overflow-wrap:inherit;
}


/* 데스크톱 기본 제목 */
.single-post .smile-single-content h2{
  margin:2.15em 0 .8em;
  font-size:29px;
  line-height:1.42;
  letter-spacing:-.035em;
  font-weight:800;
  color:#111;
  text-align:left;
  text-wrap:wrap;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  scroll-margin-top:100px;
}
.single-post .smile-single-content h3{
  margin:1.55em 0 .55em;
  font-size:23px;
  line-height:1.5;
  letter-spacing:-.02em;
  font-weight:700;
  color:#171717;
  text-align:left;
  text-wrap:wrap;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  scroll-margin-top:100px;
}

/* 핵심요약 / 바로 답 / 목차 */
.euthra-quick,.smile-quick{
  margin:28px 0 36px;
  padding:22px 24px;
  background:var(--euthra-orange-light);
  border:1px solid var(--euthra-border);
  border-left:5px solid var(--euthra-orange);
  border-radius:10px;
}
.euthra-answer,.smile-answer{
  margin:18px 0 24px;
  padding:16px 20px;
  background:var(--euthra-surface);
  border-left:4px solid var(--euthra-orange);
  border-radius:6px;
}
.euthra-toc,.smile-toc{
  margin:28px 0 40px;
  padding:18px 20px;
  background:#FAFAF8;
  border:1px solid var(--euthra-border);
  border-top:4px solid var(--euthra-green);
  border-radius:10px;
}

/* 상단/하단 시그니처 */
.euthra-series,.smile-series{
  margin:0 0 26px;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--euthra-border);
  border-top:4px solid var(--euthra-orange);
  border-radius:10px;
  box-shadow:0 6px 18px rgba(31,90,69,.05);
  text-align:left;
}
.euthra-signature,.smile-brand-signature{
  margin:28px 0 34px;
  padding:18px 20px;
  background:var(--euthra-green-light);
  border:1px solid var(--euthra-green-border);
  border-left:5px solid var(--euthra-green);
  border-radius:10px;
  text-align:left;
}

/* 공식근거 / 예시 / 정리 */
.euthra-note,.smile-compare{
  margin:16px 0 22px;
  padding:14px 18px;
  border-radius:8px;
}
.euthra-recap{
  background:transparent;
  border:0;
}
.euthra-example,.smile-compare{
  background:var(--euthra-surface);
  border:1px solid var(--euthra-border);
}
.euthra-evidence{
  margin:16px 0 10px;
  padding:12px 16px;
  background:#fff;
  border:1px solid var(--euthra-border);
  border-radius:8px;
}
.euthra-note-label,
.euthra-evidence-label{
  margin-bottom:7px!important;
}

/* 주요 H2/H3 */
.euthra-action > h2,
.euthra-faq > h2,
.euthra-sources > h2{
  margin-top:38px;
  margin-bottom:20px;
  padding:12px 16px;
  background:var(--euthra-green-light);
  border-left:5px solid var(--euthra-green);
  border-radius:8px;
}
.euthra-action > h3,
.euthra-faq > h3{
  padding-left:11px;
  border-left:3px solid var(--euthra-green-border);
}
.euthra-section > h2,
.euthra-action > h2,
.euthra-faq > h2,
.euthra-summary > h2,
.euthra-sources > h2,
.euthra-related > h2{
  color:#111;
  font-weight:800;
}
.euthra-summary > h2{
  margin-top:0;
}
.euthra-section > h3,
.euthra-action > h3,
.euthra-faq > h3,
.euthra-related > h3{
  color:#29483C;
  font-weight:700;
}

/* 핵심 포인트 */
.euthra-summary,.smile-summary{
  margin:34px 0 28px;
  padding:20px 22px;
  background:var(--euthra-green-light);
  border:1px solid #D6E4DE;
  border-top:4px solid var(--euthra-green);
  border-radius:10px;
}

/* 공식 링크/자료 카드 */
.euthra-inline-source{
  margin:12px 0 20px;
}
.euthra-inline-official{
  display:inline-flex;
  align-items:center;
  gap:10px;
  max-width:100%;
  padding:9px 12px;
  color:inherit;
  background:#fff;
  border:1px solid var(--euthra-border);
  border-radius:8px;
  text-decoration:none;
}
.euthra-inline-mark,
.euthra-source-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:var(--euthra-orange);
  background:var(--euthra-orange-light);
  border:1px solid var(--euthra-border);
  border-radius:50%;
  font-size:11px;
  font-weight:800;
  line-height:1;
}
.euthra-inline-mark{
  width:34px;
  height:34px;
}
.euthra-source-mark{
  min-width:36px;
  height:36px;
  padding:0 7px;
}
.euthra-inline-site,
.euthra-source-meta{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1.25;
}
.euthra-inline-domain,
.euthra-source-domain{
  display:block;
  margin-top:1px;
  color:#6f6f6f;
  font-size:.82em;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.euthra-inline-purpose{
  padding-left:10px;
  border-left:1px solid var(--euthra-border);
  color:var(--euthra-orange);
  font-weight:700;
  line-height:1.35;
}
.euthra-sources{
  margin-top:36px;
}
.euthra-source-card,.smile-official-item{
  margin:0 0 10px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--euthra-border);
  border-radius:8px;
}
.euthra-source-head-link{
  display:flex;
  align-items:center;
  gap:9px;
  width:fit-content;
  max-width:100%;
  margin:0 0 5px;
  color:inherit;
  text-decoration:none;
}
.euthra-source-org{
  font-weight:800;
  line-height:1.25;
}
.euthra-source-purpose{
  margin:0 0 5px;
}
.euthra-source-title{
  margin:0;
  color:#444;
  line-height:1.55;
}

/* 테이블: 앞으로 euthra 구조에서 사용할 표준 이름 */
.smile-table-wrap,.euthra-table-wrap{
  width:100%;
  overflow-x:auto;
  margin:1.4em 0 1.7em;
  -webkit-overflow-scrolling:touch;
}
.smile-table,.euthra-table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
}
.smile-table th,.smile-table td,
.euthra-table th,.euthra-table td{
  padding:12px 14px;
  border:1px solid var(--euthra-neutral-border);
  text-align:left;
  vertical-align:top;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}
.smile-table th,.euthra-table th{
  background:var(--euthra-neutral-surface-strong);
  font-weight:700;
}

/* 게시글 이미지: euthra wrapper 기준 */
.euthra-article .separator{
  clear:both;
  margin:24px 0;
  text-align:center;
}
.euthra-article .separator > a{
  display:block;
  margin-left:0!important;
  margin-right:0!important;
}
.euthra-article img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto!important;
  margin:0 auto;
}

/* 정보안내: Avada Custom CSS에 있던 현행 규칙을 테마로 흡수 */
.euthra-info{
  margin:32px 0 0;
  padding:16px 18px;
  background:#fafafa;
  border:1px solid #e5e5e5;
  border-radius:10px;
}
.euthra-info > p:first-child{
  margin:0 0 8px;
}
.euthra-info > p:last-child{
  margin:0;
  font-size:calc(1em - 2px);
  line-height:1.65;
}

/* 목차 앵커 */
.single-post [id^="section-"],
.single-post #faq,
.single-post #summary,
.single-post #official-sources{
  scroll-margin-top:110px;
}

/* =========================================================
   MOBILE · 800px 이하
   - 20px은 상위 컨테이너에서 그대로 상속
   - 모바일에서 달라지는 값만 선언
   ========================================================= */
@media screen and (max-width:800px){
  .single-post .smile-single-content,
  .single-post .smile-single-content .smile-post-content,
  .single-post .smile-single-content .euthra-article{
    line-height:1.7;
  }

  .single-post .smile-single-content p{
    margin:0 0 12px;
    line-height:1.7;
  }
  .single-post .smile-single-content ul,
  .single-post .smile-single-content ol{
    margin:0 0 12px;
    padding-left:1.35em;
  }
  .single-post .smile-single-content li{
    margin:0 0 6px;
    line-height:1.7;
  }
  .single-post .smile-single-content li:last-child{
    margin-bottom:0;
  }

  .single-post .smile-single-content h2{
    margin:0 0 18px;
    font-size:28px;
    line-height:1.35;
    font-weight:800;
    scroll-margin-top:90px;
  }
  .single-post .smile-single-content h3{
    margin:28px 0 10px;
    font-size:23px;
    line-height:1.45;
    font-weight:700;
    scroll-margin-top:90px;
  }

  /* H2급 새 섹션 */
  .smile-section,.euthra-section,
  .smile-faq,.euthra-faq,
  .smile-summary,.euthra-summary,
  .smile-official,.euthra-sources,
  .smile-related,.euthra-related{
    margin:48px 0 0;
  }

  /* 상단/하단 브랜드 시그니처 */
  .smile-series,.euthra-series,
  .smile-brand-signature,.euthra-signature{
    margin:20px 0;
    padding:12px 0;
    border-top:1px solid var(--euthra-neutral-border-soft);
    border-right:0;
    border-bottom:1px solid var(--euthra-neutral-border-soft);
    border-left:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    font-size:18px;
    line-height:1.55;
    text-align:left;
    word-break:normal;
    line-break:strict;
  }

  /* 현재 euthra-series HTML: p / p / p 구조 */
  .euthra-series > p{
    margin:0 0 6px;
    font-size:18px;
    line-height:1.55;
  }
  .euthra-series > p:nth-child(2){
    font-size:17px;
  }
  .euthra-series > p:last-child{
    margin-bottom:0;
  }
  .smile-brand-signature p,
  .euthra-signature p{
    margin:0 0 6px;
    font-size:18px;
    line-height:1.55;
  }
  .smile-brand-signature p:last-child,
  .euthra-signature p:last-child{
    margin-bottom:0;
  }

  /* 서론 */
  .smile-opening,.euthra-intro{
    margin:0 0 20px;
  }
  .smile-opening p:last-child,
  .euthra-intro p:last-child{
    margin-bottom:0;
  }

  /* 핵심요약 */
  .smile-quick,.euthra-quick{
    margin:20px 0;
    padding:16px 18px;
    background:var(--euthra-neutral-surface-strong);
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
    font-size:20px;
    line-height:1.65;
    word-break:normal;
    line-break:strict;
  }
  .euthra-quick > p:first-child{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.5;
  }
  .smile-quick p,
  .euthra-quick p{
    font-size:20px;
    line-height:1.65;
  }
  .smile-quick p:last-child,
  .euthra-quick p:last-child{
    margin-bottom:0;
  }

  /* 정보 기준일 */
  .smile-date,.euthra-date{
    margin:20px 0 0;
    padding:12px 14px;
    background:var(--euthra-neutral-surface);
    border-left:4px solid var(--euthra-neutral-accent);
    font-size:17px;
    line-height:1.6;
    word-break:normal;
    line-break:strict;
  }

  /* 목차 */
  .smile-toc,.euthra-toc{
    margin:24px 0 0;
    padding:16px 18px;
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
    background:transparent;
    font-size:18px;
    line-height:1.6;
    word-break:normal;
    line-break:strict;
  }
  .euthra-toc > p:first-child{
    margin:0 0 10px;
    font-size:20px;
    line-height:1.5;
  }
  .smile-toc ol,
  .euthra-toc ol{
    margin:0;
    padding-left:1.35em;
  }
  .smile-toc li,
  .euthra-toc li{
    margin:0 0 6px;
    font-size:18px;
    line-height:1.6;
  }
  .smile-toc a,
  .euthra-toc a{
    color:inherit;
    text-decoration:none;
  }

  /* 바로 답 */
  .smile-answer,.euthra-answer{
    margin:0 0 16px;
    padding:14px 16px;
    background:var(--euthra-neutral-surface);
    border-left:4px solid var(--euthra-neutral-accent);
    border-radius:0;
    font-size:20px;
    line-height:1.65;
    word-break:normal;
    line-break:strict;
  }
  .euthra-answer > p:first-child{
    margin-bottom:6px;
  }

  /* 공식근거 / 예시 / 정리 */
  .smile-compare,.euthra-note,.euthra-evidence{
    margin:16px 0;
    padding:14px 16px;
    background:var(--euthra-neutral-surface);
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
    font-size:19px;
    line-height:1.65;
    word-break:normal;
    line-break:strict;
  }
  .smile-compare p,
  .euthra-note p,
  .euthra-evidence p{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.65;
  }
  .euthra-note p:last-child,
  .euthra-evidence p:last-child{
    margin-bottom:0;
  }

  /* 표 */
  .smile-table-wrap,.euthra-table-wrap{
    width:100%;
    overflow-x:auto;
    margin:16px 0;
    -webkit-overflow-scrolling:touch;
  }
  .smile-table,.euthra-table{
    width:100%;
    min-width:600px;
    border-collapse:collapse;
  }
  .smile-table th,.smile-table td,
  .euthra-table th,.euthra-table td{
    padding:12px 13px;
    border:1px solid var(--euthra-neutral-border);
    text-align:left;
    vertical-align:top;
    color:inherit;
    font-size:16px;
    line-height:1.55;
    word-break:normal;
    line-break:strict;
  }
  .smile-table th,.euthra-table th{
    background:var(--euthra-neutral-surface-strong);
    font-weight:700;
  }

  /* 지금 무엇을 해야 하나요 */
  .smile-action,.euthra-action{
    margin:0;
    padding:16px 18px;
    background:var(--euthra-neutral-surface);
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
    word-break:normal;
    line-break:strict;
  }
  .smile-action p,
  .euthra-action p{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.7;
  }

  /* FAQ */
  .smile-faq-item,.euthra-faq-item{
    padding:16px 0;
    border-bottom:1px solid var(--euthra-neutral-border-soft);
  }
  .smile-faq-item h3,
  .euthra-faq-item h3{
    margin:0 0 8px;
    font-size:20px;
    line-height:1.5;
  }
  .smile-faq-item p,
  .euthra-faq-item p{
    margin-bottom:0;
  }

  /* 핵심 포인트 */
  .smile-summary,.euthra-summary{
    padding:18px;
    background:var(--euthra-neutral-surface);
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
  }
  .euthra-summary > h2{
    margin-top:0;
  }

  /* 공식자료 */
  .smile-official-item,.euthra-source-card{
    margin:0 0 12px;
    padding:14px 16px;
    border:1px solid var(--euthra-neutral-border);
    border-radius:9px;
    background:transparent;
    font-size:16px;
    line-height:1.55;
    word-break:normal;
    line-break:strict;
  }
  .smile-official-item p,
  .euthra-source-card p{
    margin:0 0 8px;
    font-size:16px;
    line-height:1.55;
  }
  .euthra-source-card p:last-child{
    margin-bottom:0;
  }

  /* 함께 보면 좋은 글 */
  .smile-related-item,.euthra-related-item{
    display:block;
    margin:0 0 12px;
    padding:14px 16px;
    border:1px solid var(--euthra-neutral-border);
    border-radius:10px;
    word-break:normal;
    line-break:strict;
  }
  .smile-related-item a,
  .euthra-related-item a{
    display:block;
    color:inherit;
    font-size:17px;
    line-height:1.55;
    font-weight:700;
    text-decoration:none;
    word-break:normal;
    line-break:strict;
  }
  .smile-related-item p,
  .euthra-related-item p{
    margin:8px 0 0;
    font-size:16px;
    line-height:1.6;
  }

  /* 정보안내 */
  .euthra-info{
    margin:32px 0 0;
    font-size:16px;
    line-height:1.6;
    word-break:normal;
    line-break:strict;
  }
  .euthra-info > p:first-child{
    font-size:17px;
    line-height:1.5;
  }
  .euthra-info > p:last-child{
    margin-bottom:0;
    line-height:1.65;
  }

  /* 공식 링크 */
  .euthra-inline-official{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .euthra-inline-purpose{
    flex-basis:100%;
    margin-left:44px;
    padding-left:0;
    border-left:0;
  }
}

/* 아주 좁은 화면의 본문 레일만 별도 축소 */
@media (max-width:700px){
  body.single-post .smile-article-head,
  body.single-post .smile-single-content{
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* =========================================================
   SMILE STATIC PAGE DESIGN SYSTEM · 2.0.10
   - 소개 / 문의 / 면책고지 / 개인정보처리방침
   - Avada가 페이지 골격을 담당
   - degar.2.0.10은 모바일 우선 책식 조판 + 읽기/타이포그래피 + 고정페이지 모바일 레일을 담당
   - 기존 single-post 게시글 시스템과 완전 분리
   ========================================================= */

body.page .smile-static-page{
  font-size:20px;
  line-height:1.9;
  color:var(--smile-text);
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}

body.page .smile-static-page *,
body.page .smile-static-page *::before,
body.page .smile-static-page *::after{
  box-sizing:border-box;
}

/* 본문 */
body.page .smile-static-page p{
  margin:0 0 1.05em;
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}

body.page .smile-static-page ul,
body.page .smile-static-page ol{
  padding-left:1.45em;
}

body.page .smile-static-page li{
  margin-bottom:.35em;
  text-align:left;
  white-space:normal;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
}

body.page .smile-static-page a,
body.page .smile-static-page code{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
}

/* 일반 문단 안 인라인 요소는 굵기·영문·링크가 섞여도 같은 텍스트 레일에서 연속 흐름 유지 */
body.page .smile-static-page p :is(strong,b,em,i,a,span,mark,small,code),
body.page .smile-static-page li :is(strong,b,em,i,a,span,mark,small,code){
  display:inline;
  white-space:inherit;
  word-break:inherit;
  line-break:inherit;
  overflow-wrap:inherit;
}


/* 제목 */
body.page .smile-static-page h2{
  margin:56px 0 18px;
  font-size:29px;
  line-height:1.42;
  letter-spacing:-.035em;
  font-weight:800;
  color:#111;
  text-align:left;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  scroll-margin-top:100px;
}

body.page .smile-static-page h3{
  margin:1.55em 0 .55em;
  font-size:23px;
  line-height:1.5;
  letter-spacing:-.02em;
  font-weight:700;
  color:#171717;
  text-align:left;
  word-break:normal;
  line-break:strict;
  overflow-wrap:anywhere;
  scroll-margin-top:100px;
}

/* H2 바로 다음 첫 H3는 상위-하위 제목 관계이므로 추가 상단 간격 제거 */
body.page .smile-static-page h2 + h3{
  margin-top:0;
}

/* =========================================================
   MOBILE · 800px 이하
   ========================================================= */
@media screen and (max-width:800px){

  /* 고정페이지 데스크톱 전용 줄바꿈은 모바일에서 해제하여 책식 본문 흐름으로 복원 */
  body.page .smile-static-page br.desktop-break{
    display:none!important;
  }

  /* 고정페이지 모바일 레일: Avada 기본 좌우 30px 대신 게시물과 같은 8px 안전여백 */
  body.page .smile-static-page{
    --awb-padding-left:8px!important;
    --awb-padding-right:8px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.page .smile-static-page{
    line-height:1.7;
  }

  body.page .smile-static-page p{
    margin:0 0 12px;
    line-height:1.7;
  }

  body.page .smile-static-page ul,
  body.page .smile-static-page ol{
    margin:0 0 12px;
    padding-left:1.35em;
  }

  body.page .smile-static-page li{
    margin:0 0 6px;
    line-height:1.7;
  }

  body.page .smile-static-page li:last-child{
    margin-bottom:0;
  }

  body.page .smile-static-page h2{
    margin:48px 0 18px;
    font-size:28px;
    line-height:1.35;
    font-weight:800;
    scroll-margin-top:90px;
  }

  body.page .smile-static-page h3{
    margin:28px 0 10px;
    font-size:23px;
    line-height:1.45;
    font-weight:700;
    scroll-margin-top:90px;
  }
}

/* 아주 좁은 고정페이지 화면은 게시물과 같은 6px 안전여백 */
@media screen and (max-width:480px){
  body.page .smile-static-page{
    --awb-padding-left:6px!important;
    --awb-padding-right:6px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
}

/* =========================================================
   degar.2.0.11 COMMON COMPACT PAGINATION LOCK
   적용: 메인 / VIEW ALL / 금융·소비·제도 카테고리
   - 5페이지 이하 전체 표시
   - 6페이지 이상 데스크톱 5개 창 / 모바일 3개 창
   - 한 줄 고정, dots 비박스형, 모바일 breakpoint 800px
   - 기존 .smile-pagination wrap 규칙은 검색 결과 등 레거시 화면용으로 유지
   ========================================================= */
.smile-compact-pagination{
  width:100%!important;
  max-width:100%!important;
  margin:22px 0 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

.smile-compact-pagination .page-numbers{
  flex:0 0 auto!important;
  min-width:40px!important;
  height:40px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid var(--smile-line)!important;
  border-radius:4px!important;
  background:#fff!important;
  color:#222!important;
  text-decoration:none!important;
  line-height:1!important;
  box-sizing:border-box!important;
}

.smile-compact-pagination .page-numbers.current{
  background:var(--smile-accent)!important;
  border-color:var(--smile-accent)!important;
  color:#fff!important;
  font-weight:700!important;
}

.smile-compact-pagination .page-numbers.dots{
  min-width:24px!important;
  width:24px!important;
  padding:0!important;
  border-color:transparent!important;
  background:transparent!important;
  color:var(--smile-muted)!important;
  pointer-events:none!important;
}

.smile-compact-pagination .prev,
.smile-compact-pagination .next{
  font-size:20px!important;
  font-weight:500!important;
}

.smile-compact-pagination .page-numbers:not(.current):not(.dots):hover,
.smile-compact-pagination .page-numbers:not(.current):not(.dots):focus-visible{
  border-color:#cbd1d8!important;
  background:#f8f9fa!important;
  color:var(--smile-accent)!important;
  outline:none!important;
}

.smile-compact-pagination-mobile{
  display:none!important;
}

@media (max-width:800px){
  .smile-compact-pagination-desktop{
    display:none!important;
  }

  .smile-compact-pagination-mobile{
    display:flex!important;
  }

  .smile-compact-pagination .page-numbers{
    min-width:44px!important;
    height:44px!important;
    padding:0 11px!important;
  }

  .smile-compact-pagination .page-numbers.dots{
    min-width:18px!important;
    width:18px!important;
    padding:0!important;
  }
}

