.site-footer .site-info{ display: none !important; }

.site-footer .widget{
  border: none;
  background: none;
  padding: 0;
  margin: 0;
}

.footer-custom{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  color: #777;
  line-height: 1.6;
  text-align: center;
}
.footer-custom .dot::before{
  content: "•";
  color: #c9c9c9;
  margin: 0 8px;
}
.footer-custom .sep{ color:#bbb; margin: 0 4px; }

.footer-custom a{
  color:#666;
  text-decoration:none;
  border-bottom:1px dotted #bbb;
}
.footer-custom a:hover{
  color:#1a73e8;
  border-bottom-color:transparent;
}

.footer-custom .footer-social{
  display:flex;
  gap:10px;
  align-items:center;
}
.footer-custom .footer-social a{
  border:0;
  padding:2px;
  line-height:0;
}
.footer-custom .footer-social svg{
  width:20px;
  height:20px;
  color:#666;
  transition: color .2s ease;
  vertical-align:middle;
}
.footer-custom .footer-social a:hover svg{ color:#1a73e8; }

@media (max-width: 480px){
  .footer-custom{ gap:6px; }
}




/* ============================================================
   1) Home: Hero Section (상단 인사말 박스)
============================================================ */
.home .home-hero {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 16px;
    padding: 40px 24px;
    margin-bottom: 40px;
    text-align: center;
}

.home .home-hero h3 {
    margin: 0 0 12px;
    font-size: 26px;
    font-weight: 800;
    color: #1f2937;
    letter-spacing: -0.5px;
}

.home .home-hero p {
    margin: 0;
    color: #4b5563;
    line-height: 1.8;
    font-size: 16px;
}

/* ============================================================
   2) Home: Category Grid (문제의 카테고리 크기 수정)
============================================================ */
.home-sec-title {
  font-size: 22px;              /* 20 -> 22 (섹션 타이틀 살짝 키움) */
  font-weight: 700;
  margin-bottom: 22px !important;
  color: #374151;
}

.cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;                    /* 12 -> 14 (카드 간격 살짝 여유) */
  margin: 12px 0 44px 0;        /* 아래 여백 살짝 증가 */
}

.cat-grid > li { 
  list-style: none; 
  margin: 0;
  padding: 0;
}

.cat-card {
  display: flex;
  flex-direction: row;
  align-items: center;

  padding: 14px 14px;           /* 8px 12px -> 14px 14px (상하 여백 크게) */
  min-height: 68px;             /* 내용이 적어도 카드 높이 유지 */
  border-radius: 12px;
  border: 1px solid #eee;
  background: #fff;
  text-decoration: none;
  transition: all 0.2s ease;
}

.cat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  border-color: #ed8936;
}

.cat-emoji {
  font-size: 22px;              /* 20 -> 22 (이모지도 같이 살짝 키움) */
  margin-right: 12px;           /* 10 -> 12 */
  flex-shrink: 0;
  line-height: 1;
}

/* 텍스트들을 세로로 쌓이게 */
.cat-card .cat-name,
.cat-card .cat-sub {
  display: block;
  width: 100%;
}

/* 텍스트 그룹 정렬 */
.cat-name-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;                     /* 0 -> 4 (이름/서브 간 간격 아주 약간) */
  text-align: left;
}

.cat-name {
  font-size: 15px;              /* 13 -> 15 (요청: 글씨 키움) */
  font-weight: 700;
  color: #1f2937;
  margin: 0 !important;
  line-height: 1.25;            /* 줄간격 안정 */
}

.cat-sub {
  font-size: 12.5px;            /* 11 -> 12.5 (요청: 글씨 키움) */
  color: #6b7280;               /* #888 -> 톤 조금 고급스럽게 */
  margin: 0 !important;
  line-height: 1.35;
}
/* ============================================================
   3) Home: Latest Section (최신 글 그리드 유지)
===========================================================.home .section-rail{
  border-top: 1px solid #e9edf3;
  border-bottom: 1px solid #e9edf3;

  /* 센터 + 넓힘 */
  width: min(1280px, 92vw);
  margin: 20px auto;
  padding: 8px 0 0;
}

.home .home-latest h2{
  margin: 0 0 8px !important;
}

/* 테마 max-width 강제 해제 + 가운데 흐름 유지 */
.home .section-rail .wp-block-group,
.home .section-rail .wp-block-query{
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  text-align: initial !important;
}

.home .section-rail .wp-block-query,
.home .section-rail .wp-block-post-template{
  margin: 0 !important;
  padding: 0 !important;
}

/* 목록 그리드 */
.home .section-rail .wp-block-post-template{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  gap: 22px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
}

/* 카드 */
.home .section-rail .wp-block-post-template > li{ display: flex; }

.home .section-rail .wp-block-post{
  display: flex;
  flex-direction: column;
  width: 100%;
  border: 1px solid #e8edf3;
  border-radius: 14px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.home .section-rail .wp-block-post:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}

.home .section-rail .wp-block-post-featured-image{ margin: 0 0 12px; }
.home .section-rail .wp-block-post-featured-image img{
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 10px;
}

.home .section-rail .wp-block-post-title,
.home .section-rail .wp-block-post-title a{
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;

  white-space: normal;

  /* 🔑 줄바꿈 핵심 */
  word-break: keep-all;        /* 한글/일본어 단어 유지 */
  overflow-wrap: break-word;   /* anywhere ❌ → break-word ⭕ */

  display: block;
  overflow: visible;

  line-height: 1.5;
  font-size: 16px;             /* 19 → 18이 가장 안정적 */
  font-weight: 600;
  margin: 10px 0 6px;
  text-decoration: none;
  color: inherit;
  text-align: left;
}

.home .section-rail .wp-block-post-excerpt{
  color: #4b5563;
  font-size: 14px;
}

.home .section-rail .wp-block-post-date{
  color:#748094;
  font-size:13px;
  margin-top:auto;
}
.home .section-rail .wp-block-post-title{
  color:#748094;
  font-size:10px;
  margin-top:auto;
}


/* 반응형 */
@media (min-width:640px) and (max-width:1023px){
  .home .section-rail .wp-block-post-template{
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 28px;
  }
}
@media (max-width:639px){
  .home .section-rail .wp-block-post-template{
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* 카테고리/목록 페이지 이미지 크기 고정 */
.wp-block-post-featured-image img {
    width: 100%;
    height: 250px; /* 원하는 높이로 조절 */
    object-fit: cover; /* 이미지가 찌그러지지 않게 채움 */
}

/* 본문 가독성 개선 */
.entry-content,
.entry-header,
.comments-area {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* 모바일에서도 숨 덜 막히게 */
@media (max-width: 768px) {
  .entry-content {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.entry-title {
  font-weight: 700;
  letter-spacing: -0.02em;
}

.wp-block-image img {
  border-radius: 14px;
}


.entry-content p {
  line-height: 1.8;
  margin-bottom: 1.4em;
}

.wp-block-post {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
	
}

.wp-block-post-featured-image img {
  border-radius: 0;
	
}

.wp-block-post-title {
  padding: 12px 14px 18px;
	font-size: 17px
}
.wp-block-post-featured-image {
  margin-bottom: 8px;
}

.wp-block-post-featured-image img {
  max-height: 190px;
  object-fit: cover;
  border-radius: 12px;
}


/* 데스크톱에서 헤더 이미지 높이 제한 */
@media (min-width: 1024px) {
  /* 헤더 컨테이너 자체의 높이를 엄격하게 제한 */
  .site-header, 
  .header-image, 
  .custom-header {
    max-height: 360px !important; /* 원하시는 높이로 조절하세요 */
    overflow: hidden !important;
    display: block !important;
  }

  /* 그 안의 이미지가 컨테이너에 맞춰지도록 설정 */
  .site-header img, 
  .header-image img, 
  .custom-header img {
    width: 100% !important;
    height: auto !important;
    min-height: 300px; /* 컨테이너를 꽉 채우기 위한 최소 높이 */
    object-fit: cover !important;
    object-position: center !important;
  }
}

@media (min-width: 1024px) {
  .site-title,
  .site-description {
    transform: translateY(-10px);
  }
}

@media (min-width: 1024px) {
  .custom-header .site-branding,
  .header-image .site-branding,
  .site-header .site-branding {
    top: 55%;
    transform: translateY(-80%);
  }
}
/* 홈 최신글: 좌우 간격 균일 + 첫번째 카드 왼쪽에 딱 붙게 */
.home .wp-block-post-template{
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 테마가 flex로 뿌리는 경우(많이 이 케이스) */
.home .wp-block-post-template.is-flex-container{
  justify-content: flex-start !important;   /* space-between/around 제거 */
  gap: 24px !important;                    /* 카드 간격 일정 */
}

/* 혹시 li 자체에 마진이 붙어있는 테마 대비 */
.home .wp-block-post-template > li{
  margin: 0 !important;
  padding: 0 !important;
}

/* 안정적으로 3열 그리드로 강제(PC에서만) */
@media (min-width: 1024px){
  .home .wp-block-post-template{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 24px;
    justify-content: start !important;
  }
}



/* 이미지 캡션 스타일 수정 */
.wp-element-caption, 
figcaption {
    font-size: 0.9em !important;    /* 본문보다 약간 작게 */
    color: #777777 !important;     /* 진한 회색으로 변경 */
    text-align: center;            /* 가운데 정렬 */
    margin-top: 8px;               /* 사진과의 간격 */
    margin-bottom: 20px;           /* 캡션 아래 본문과의 간격 */
    font-style: normal;            /* 기울임꼴이 싫다면 지정 */
    line-height: 1.5;              /* 줄 간격 조절 */
}


/* ✅ 데스크톱 헤더 높이 고정 + 이미지가 빈 공간 없이 채우도록 */
@media (min-width: 1024px) {
  .custom-header,
  .site-header,
  .header-image {
    height: 360px !important;
    max-height: 360px !important;
    overflow: hidden !important;
  }

  /* 테마별로 이미지 래퍼가 따로 있는 경우까지 같이 잡기 */
  .custom-header img,
  .site-header img,
  .header-image img {
    width: 100% !important;
    height: 100% !important;   /* 🔑 여기 핵심 */
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  /* 어떤 테마는 header-media 래퍼가 높이를 따로 잡음 */
  .custom-header-media,
  .wp-custom-header {
    height: 360px !important;
    max-height: 360px !important;
    overflow: hidden !important;
  }
}