/* Congdy Same Category Cards - Frontend */
.cdcscc-grid{
  display:grid;
  grid-template-columns: repeat(var(--cdcscc-cols-desktop, 3), minmax(0, 1fr));
  gap: var(--cdcscc-gap, 16px);
}

@media (max-width: 1024px){
  .cdcscc-grid{
    grid-template-columns: repeat(var(--cdcscc-cols-tablet, 2), minmax(0, 1fr));
  }
}
@media (max-width: 767px){
  .cdcscc-grid{
    grid-template-columns: repeat(var(--cdcscc-cols-mobile, 1), minmax(0, 1fr));
  }
}

.cdcscc-card{
  color:#fff;
  position: relative;
  overflow:hidden;
  background:#000;
  border: none;
  border-radius:14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform, box-shadow;
}
.cdcscc-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: transparent !important;
  opacity: 0 !important;
  pointer-events:none;
  z-index:0;
}

/* Top accent line (uses the point color) */
.cdcscc-card::after{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:3px;
  background: transparent !important;
  pointer-events:none;
  z-index:1;
}
.cdcscc-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
}


.cdcscc-card__link{
  position: relative;
  z-index: 1;
  display:block;
  text-decoration:none;
  color: inherit;
}

/* Prevent theme hover/visited link colors from leaking into the card title */
.cdcscc-card__link:hover,
.cdcscc-card__link:focus,
.cdcscc-card__link:visited,
.cdcscc-card__link:active{
  color: #fff !important;
}

.cdcscc-card__thumb{
  width:100%;
  overflow:hidden;
  background: rgba(255,255,255,.06);
  border-bottom: 1px solid var(--cdcscc-card-border, rgba(255,255,255,.14));
}
.cdcscc-card__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.cdcscc-ratio-16-9{ aspect-ratio: 16/9; }
.cdcscc-ratio-4-3{ aspect-ratio: 4/3; }
.cdcscc-ratio-1-1{ aspect-ratio: 1/1; }

.cdcscc-card__body{
  padding:14px !important;
  /* Apply only to the body container and override theme styles */
  background: var(--cdcscc-card-body-bg, rgba(255,255,255,.14)) !important;
}

.cdcscc-card__title{
  margin:0 0 6px 0;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
  word-break: keep-all;

  text-align: center;
  color:inherit;
}

/* Keep title white even when the theme applies hover colors */
.cdcscc-card__link:hover .cdcscc-card__title,
.cdcscc-card__title:hover{
  color:#fff !important;
}

.cdcscc-card__link:hover .cdcscc-card__title,
.cdcscc-card__link:focus .cdcscc-card__title{
  color: #fff !important;
}

.cdcscc-card__meta{
  font-size: 12px;
  margin-bottom: 10px;
  color: inherit;
  font-weight: 600;
  opacity: 1;
  text-align: right;
}

.cdcscc-card__excerpt{
  font-size: 13px;
  line-height: 1.6;
  opacity: .9;
  color:inherit;
}

.cdcscc-card__more{
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  opacity: .9;
  color:inherit;
}

.cdcscc-empty{
  color:#fff;
  padding: 10px 12px;
  border: 1px dashed rgba(255,255,255,.25);
  border-radius: 8px;
  font-size: 13px;
  opacity: .85;
}

/* Pagination */
.cdcscc-pagination{
  margin-top: 18px;
}
.cdcscc-pagination__inner{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  align-items: center;
  width: 100%;
  justify-content: var(--cdcscc-pagination-justify, center);
}

/* Number-only pagination buttons */
.cdcscc-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid #000 !important;
  background: #fff !important;
  color: #000 !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  box-sizing: border-box;
}
.cdcscc-pagination .page-numbers:hover{
  background: #f2f2f2 !important;
}
.cdcscc-pagination .page-numbers.current{
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Prevent theme focus/active blue backgrounds */
.cdcscc-pagination .page-numbers:focus,
.cdcscc-pagination .page-numbers:active{
  outline: none !important;
  box-shadow: none !important;
}
.cdcscc-pagination .page-numbers:focus{
  background: #fff !important;
  color: #000 !important;
}
.cdcscc-pagination .page-numbers.current:focus,
.cdcscc-pagination .page-numbers.current:active{
  background: #000 !important;
  color: #fff !important;
}

/************************************************************
 검색 결과 레이아웃: header는 독립 100% / 글 카드는 3열(모바일 1열)
*************************************************************/
body.search-results .site-main{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}

/* 상단 검색 결과 타이틀 영역: 독립적으로 한 줄 전체 */
body.search-results .site-main > header.page-header{
  flex: 0 0 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* 카드(글) : PC 3개씩 */
body.search-results .site-main > article{
  flex: 0 0 calc((100% - 36px) / 3) !important; /* gap 18px * 2 = 36px */
  margin: 0 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

/* 모바일 1개씩 */
@media (max-width: 768px){
  body.search-results .site-main{
    gap: 14px !important;
  }
  body.search-results .site-main > article{
    flex: 0 0 100% !important;
  }
}

/******************************************************************
 * Page title box (Search / Archive / Single / Page)
 * - 기본: 흰색(글자/밑줄)
 * - 색상은 설정에서 변경 가능 (cdcscc_title_accent)
 ******************************************************************/

:root{
  --cdcscc-title-accent: #ffffff;
  --cdcscc-title-accent-rgb: 255,255,255;
}

body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title,
body.home header.page-header:not(.cdcscc-pageHeader) .page-title,
body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title,
body.archive header.page-header:not(.cdcscc-pageHeader) .page-title,
body.category header.page-header:not(.cdcscc-pageHeader) .page-title,
body.tag header.page-header:not(.cdcscc-pageHeader) .page-title,
body.author header.page-header:not(.cdcscc-pageHeader) .page-title,
body.date header.page-header:not(.cdcscc-pageHeader) .page-title,
body.single:not(.home) header.entry-header .entry-title,
body.page:not(.home) header.entry-header .entry-title{
  position: relative !important;
  margin: 0 0 18px !important;
  padding: 14px 18px !important;
  border-radius: 14px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  background: linear-gradient(180deg, #0b0b0b 0%, #111111 55%, #070707 100%) !important;
  color: var(--cdcscc-title-accent) !important;
  border: 1px solid rgba(var(--cdcscc-title-accent-rgb), .28) !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .05) !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .65) !important;
}

body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.home header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.archive header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.category header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.tag header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.author header.page-header:not(.cdcscc-pageHeader) .page-title span,
body.date header.page-header:not(.cdcscc-pageHeader) .page-title span{
  color: var(--cdcscc-title-accent) !important;
}

body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.home header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.archive header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.category header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.tag header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.author header.page-header:not(.cdcscc-pageHeader) .page-title::before,
body.date header.page-header:not(.cdcscc-pageHeader) .page-title::before{
  content: none !important;
}

body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.home header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.archive header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.category header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.tag header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.author header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.date header.page-header:not(.cdcscc-pageHeader) .page-title::after,
body.single:not(.home) header.entry-header .entry-title::after,
body.page:not(.home) header.entry-header .entry-title::after{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 10px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,
    rgba(var(--cdcscc-title-accent-rgb), 0),
    rgba(var(--cdcscc-title-accent-rgb), .95),
    rgba(var(--cdcscc-title-accent-rgb), 0)
  ) !important;
  opacity: .95 !important;
  pointer-events: none !important;
}

/* mobile */
@media (max-width: 768px){
  body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title,
	body.home header.page-header:not(.cdcscc-pageHeader) .page-title,
	body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.archive header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.category header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.tag header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.author header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.date header.page-header:not(.cdcscc-pageHeader) .page-title,
  body.single:not(.home) header.entry-header .entry-title,
  body.page:not(.home) header.entry-header .entry-title{
    padding: 12px 14px !important;
    border-radius: 13px !important;
    font-size: 20px !important;
  }

  body.search-results header.page-header:not(.cdcscc-pageHeader) .page-title::after,
	body.home header.page-header:not(.cdcscc-pageHeader) .page-title::after,
	body.front-page header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.archive header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.category header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.tag header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.author header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.date header.page-header:not(.cdcscc-pageHeader) .page-title::after,
  body.single:not(.home) header.entry-header .entry-title::after,
  body.page:not(.home) header.entry-header .entry-title::after{
    left: 12px !important;
    right: 12px !important;
    bottom: 9px !important;
    height: 3px !important;
  }
}



/************************************************************
 (기존 카드 스타일 유지) - 필요 시 그대로 두세요
*************************************************************/
/* 날짜/작성자 메타 숨김 */
body.search-results .inside-article .entry-meta{
  display: none !important;
}

/* 카테고리 숨김 */
body.search-results .inside-article .cat-links,
body.search-results .inside-article footer.entry-meta{
  display: none !important;
}

/* 본문(발췌) 제거 */
body.search-results .inside-article .entry-summary{
  display: none !important;
}

/* 카드: 패딩 제거 + 라운드 + 배경/테두리 */
body.search-results .inside-article{
  background: #000 !important;
  border: 1px solid #111 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-sizing: border-box !important;

  display: flex !important;
  flex-direction: column !important;
}

/* 이미지 동일 비율/동일 사이즈(기본 1:1) */
body.search-results .inside-article .post-image{
  order: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.search-results .inside-article .post-image img{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
}

/* 제목: 이미지 아래 */
body.search-results .inside-article .entry-header{
  order: 2 !important;
  padding: 14px 12px !important;
}

body.search-results .inside-article .entry-title{
  text-align: center !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  margin: 0 !important;
	  font-weight: 900 !important; /* 800~900 추천 */
}

body.search-results .inside-article .entry-title a{
  color: #fff !important;
  text-decoration: none !important;
}

/* 검색 결과 없음(= search-no-results)일 때: 본문 안내/검색폼 전부 숨김 */
body.search-no-results .inside-article .entry-content{
  display: none !important;
}

/* 제목을 page-title 카드 스타일로 통일 (GeneratePress/일반 테마 둘 다 커버) */
body.search-no-results .inside-article .entry-header .entry-title,
body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title{
  position: relative !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border-radius: 14px !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;

  background: linear-gradient(180deg, #0b0b0b 0%, #111111 55%, #070707 100%) !important;
  color: var(--cdcscc-title-accent, #fff) !important;

  border: 1px solid rgba(var(--cdcscc-title-accent-rgb, 255,255,255), .35) !important;
  box-shadow:
    0 14px 28px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.05) !important;

  text-shadow: 0 1px 0 rgba(0,0,0,.65) !important;
}

/* 제목 안 span(검색어)도 동일 골드 */
body.search-no-results .inside-article .entry-header .entry-title span,
body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title span{
  color: inherit !important;
}

/* 위쪽 라인 제거 */
body.search-no-results .inside-article .entry-header .entry-title::before,
body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title::before{
  content: none !important;
}

/* 하단 골드 바(유지) */
body.search-no-results .inside-article .entry-header .entry-title::after,
body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title::after{
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  bottom: 10px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,
    rgba(var(--cdcscc-title-accent-rgb, 255,255,255), 0),
    rgba(var(--cdcscc-title-accent-rgb, 255,255,255), .95),
    rgba(var(--cdcscc-title-accent-rgb, 255,255,255), 0)
  ) !important;
  opacity: .95 !important;
}

@media (max-width: 768px){
  body.search-no-results .inside-article .entry-header .entry-title,
  body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title{
    font-size: 18px !important;
    padding: 12px 16px !important;
    border-radius: 12px !important;
	 font-weight: 900 !important;
  }
  body.search-no-results .inside-article .entry-header .entry-title::after,
  body.search-no-results header.page-header:not(.cdcscc-pageHeader) .page-title::after{
    bottom: 9px !important;
  }
}

body.search-no-results .inside-article{
  padding-top: 0px !important;   /* 0~14px 사이에서 취향대로 */
}

/* 혹시 header/title 기본 마진까지 겹쳐서 더 떠 보이면 같이 눌러줌 */
body.search-no-results .inside-article > .entry-header{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.search-no-results .inside-article > .entry-header .entry-title{
  margin-top: 0 !important;
}

/* 검색 결과 없음(노출 없음) 페이지: 바깥쪽 마진/패딩 제거 + 위쪽 패딩 10px만 */
body.search-no-results #content,
body.search-no-results .site-content{
  margin: 0 !important;
  padding: 20px 0 0 0 !important; /* 위쪽만 10px */
}

body.search-no-results #primary,
body.search-no-results #main,
body.search-no-results .no-results.not-found,
body.search-no-results .no-results.not-found .inside-article,
body.search-no-results .no-results.not-found .entry-header,
body.search-no-results .no-results.not-found .entry-content{
  margin: 0 !important;
  padding: 0 !important;
}

/* 위쪽 여백으로 보이는 기본 마진도 제거(필요한 만큼만) */
body.search-no-results .no-results.not-found .entry-title{
  margin: 0 !important;
}
body.search-no-results .no-results.not-found .entry-content > p:first-child{
  margin-top: 0 !important;
}
body.search-no-results .no-results.not-found .search-form{
  margin: 0 !important;
}


/* Force thumb bottom divider transparent */
.cdcscc-card__thumb{border-bottom-color: transparent !important;}


/* v1.8.9 fix: remove seam between thumb image and body (subpixel gap) */
.cdcscc-card__link{
  display:flex !important;
  flex-direction:column !important;
}
.cdcscc-card__thumb{
  position:relative !important;
  line-height:0 !important;
  border:0 !important;
  border-bottom:0 !important;
  background: transparent !important;
}
.cdcscc-card__thumb img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}



/* Category archive: width shell */
/*
 * Some themes wrap the archive area with left/right padding, which can make a
 * configured width like 1200px render narrower (e.g. ~1130px).
 *
 * On desktop, we "break out" just enough to reclaim that padding (without
 * going full-bleed), capped by the viewport so it won't cause horizontal scroll.
 */
.cdcscc-archive-inner{
  width:100%;
  max-width:var(--cdcscc-archive-width,1200px);
  margin:0 auto;
  box-sizing:border-box;
  padding:0 !important;
}
@media (min-width:768px){
  .cdcscc-archive-inner{padding:0 20px 32px}
}
@media (min-width:1024px){
  .cdcscc-archive-inner{
    padding:0 0 32px;
    /*
      Many themes (e.g., GeneratePress) set a max-width container and apply horizontal padding.
      In that case, a requested width like 1200px becomes ~1170px in the content box.
      We compensate by expanding into the theme padding using CSS variables set by JS.
    */
    --cdcscc-archive-pad-l: 0px;
    --cdcscc-archive-pad-r: 0px;
    margin-left: calc(var(--cdcscc-archive-pad-l) * -1);
    margin-right: calc(var(--cdcscc-archive-pad-r) * -1);
    width: calc(100% + var(--cdcscc-archive-pad-l) + var(--cdcscc-archive-pad-r));
  }
}
.cdcscc-archive-inner .page-header{margin:0 0 18px}
.cdcscc-archive-inner .page-title{margin:0 0 8px}
.cdcscc-archive-inner .taxonomy-description{margin:0}

/* ------------------------------------------------------------
   Home/Category 상단 페이지 제목(타이틀) 디자인
   - 적용 대상: .cdcscc-pageHeader 안의 .cdcscc-pageTitle
   - 요청: H1은 가로 100% 꽉 채우고, 높이는 제목+패딩만큼만
------------------------------------------------------------ */
.cdcscc-pageHeader{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}

/* 기본(배경/글자색 적용, 가로 100%) */
.cdcscc-pageHeader .cdcscc-pageTitle{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  margin-bottom:0 !important;
  line-height:1.18;
  letter-spacing:-0.2px;
  font-size: var(--cdcscc-pt-fontsize, clamp(22px, 3vw, 36px));
  font-weight: 800;

  background: var(--cdcscc-pt-bg, transparent) !important;
  color: var(--cdcscc-pt-text, inherit) !important;

  /* 여백(요청: h1 아래 기본 margin 18px 제거) */
  padding: 12px 16px 10px !important;

  /* 밑줄은 설정(ON/OFF)에 따라 두께 0px~ */
  border: 0 !important;
  border-bottom: var(--cdcscc-pt-ul-size, 0px) solid var(--cdcscc-pt-underline, currentColor) !important;

  /* 기본은 각진 박스, 라운드 ON일 때만 둥글게 */
  border-radius: 0 !important;
}

/* 라운드 ON */
.cdcscc-pageHeader.cdcscc-pt--round .cdcscc-pageTitle{
  border-radius: var(--cdcscc-pt-radius, 0px) !important;
}

/* 테마/다른 플러그인에서 body.archive.category .page-header .page-title로 강제하는 경우가 있어, 확실히 덮어쓰기 */
body.archive.category .page-header.cdcscc-pageHeader .page-title.cdcscc-pageTitle{
  color: var(--cdcscc-pt-text, inherit) !important;
  font-size: var(--cdcscc-pt-fontsize, clamp(22px, 3vw, 36px)) !important;
  margin:0 !important;
  margin-bottom:0 !important;
}

