/* GeneratePress Site CSS */ /* sidebar categories block style */
:root {
    --accent-3: #1052B9 /* 이미지의 버튼 색상 */
}

.wp-block-categories {
  list-style: none;
  margin-left: unset;
}

/* sidebar categories list item style */
.wp-block-categories li {
	line-height: 1.5em;
	margin-bottom: 1rem;
}

/* drop sidebar below content on tablet */
@media (max-width: 1024px) {
  .site-content {
    flex-direction: column;
  }

  .site-content .content-area,
  .site-content .is-right-sidebar {
    width: 100%;
  }
}


/* Search modal */
.gp-modal__container {
	overflow-y: auto;
}
.gp-search-modal .gp-modal__overlay {
    padding-top: 15vh;
}
.gp-modal__container > section {
	border-radius:20px;
}
	
.wp-block-tag-cloud {
	display: flex !important;
	flex-wrap: wrap !important;
	row-gap: 10px !important;
}

.wp-block-tag-cloud .tag-cloud-link {
    border-radius: 20px;
    padding: 4px 10px;
    background-color: #f2f4f6;
    color: #4e5968;
}

.wp-block-tag-cloud .tag-cloud-link:hover {
    background-color: #E5E8EB;
    color: #4e5968;
}

.wp-block-tag-cloud .tag-cloud-link:active {
    background-color: #1F478B;
    color: #FFFFFF;
}


#sticky-navigation {
	background-color: #FFFFFF;
}

#gp-search > div > div > section > form > div > button {
	border-radius:10px;
	padding :10px 15px;
}

#wp-block-search__input-1  {
		border-radius:10px;
}

.comments-area {
display:none;
}


/* Main comment container */
.wp-block-comments {
  max-width: 700px;
  margin: 2rem auto;
  color: #333;
}

/* Comment title */
.wp-block-comments-title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
}

/* Comment list wrapper  */
.wp-block-comment-template {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Single comment item */
.comment {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
}

/* Comment columns for avatar, content */
.wp-block-columns {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

/* Avatar image */
.wp-block-avatar__image {
  border-radius: 20px;
}

/* Comment author name */
.wp-block-comment-author-name {
  font-weight: bold;
  margin-bottom: 0.4rem;
  font-size: 0.9rem;
}

/* Date container */
.wp-block-group.is-layout-flex {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.8rem;
  color: #666;
}

/* Comment text content */
.wp-block-comment-content {
  line-height: 1.4;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

/* Reply link */
.wp-block-comment-reply-link {
  font-size: 0.8rem;
  color: #0073aa;
  text-decoration: none;
}
.wp-block-comment-reply-link:hover {
  text-decoration: underline;
}

/* Comment form container */
.comment-respond.wp-block-post-comments-form {
  margin-top: 2rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 1rem;
  background-color: #fafafa;
}


/* Comment form title */
.comment-reply-title {
  margin: 0 0 1rem;
  font-size: 1.1rem;
  font-weight: bold;
}

/* Hide label text for screen readers only */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
}

/* Comment text area and text inputs */
.comment-form-comment,
#author,
#email {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
}

.comment-form-comment textarea,
#author,
#email {
  width: 100%;
  padding: 0.6rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* Submit button  */
.form-submit input.submit {
	font-size:14px;
  background-color: (--accent);
  color: #fff;
  border: none;
  padding: 0.4rem 1.0rem;
  border-radius: 4px;
  cursor: pointer;
}
.form-submit input.submit:hover {
  background-color: (--accent);
}

/* Responsive adjustment: stack columns on narrow screens */
@media (max-width: 600px) {
  .wp-block-columns {
    flex-direction: column;
  }
}

/* custom css */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
}

.single-post h1 {
    word-break: keep-all;
    overflow-wrap: break-word;
    margin-top: 20px;
}

.single-post h2 {
		margin: 0px 0px 4px;
}

.single-post h2, .single-post h3, .single-post h4, .single-post h5, .single-post h6  {
    margin: 24px 0px 4px;
}

.single-post .dynamic-entry-content > p:nth-child(1)
{
	margin-top:0px !important;
}

/* p */
.single-post .dynamic-entry-content p:not(.wp-block-quote p) {
	  font-size: 17px;
    letter-spacing: 0em;
    line-height: 1.6;
    font-weight: normal;
    margin: 24px 0px 8px;
}

/* ol, ul list */

.single-post .wp-block-list ul, .single-post .wp-block-list ol {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    margin: 24px 0px 8px;
    padding: 0px;
    list-style: none;
    counter-reset: numberedList 0;
}

.single-post li:not(#menu-primary-menu li){
			font-size: 17px;
    line-height: 1.6;
    word-break: keep-all;
    letter-spacing: 0em;
    font-weight: 400;
    margin-bottom: 8px;
}

/* quote */

.wp-block-quote {
		margin: 24px 0px;
    padding: 32px 40px 32px;
    border-radius: 16px;
    background-color: #F1F4F6;
    border-left: none;
}

em {
	    font-size: 19px;
    letter-spacing: 0em;
    line-height: 1.6;
    margin: 24px 0px 0px;
    font-weight: 400;
	    background-color: transparent;
}

/* container-flex */
.dynamic-entry-content {
	display:flex;
	margin:auto;
	flex-direction:column;
	margin-top:54px;
}

/* tag */
div.taxonomy-post_tag {
	margin-top: 20px;
}

.taxonomy-post_tag > a {
		font-size : 13px;
		color: var(--text-color)
		font-weight: 500;
		padding: 2px 10px;
    border: 1px solid transparent;
	  background: #f2f4f6;
		display: inline-flex;
    justify-content: center;
    align-items: center;
		border-radius: 19px;
		margin: 0px 8px 10px 0px;
    text-decoration: none;
}

.wp-block-post-terms__separator {
	display:none;
}

article .gb-text {
	font-weight :600;
	background: linear-gradient(120deg, var(--accent) 5%, #3182F6 50%, #28dcdc 95%);
color: #fff !important;
	border-radius:16px !important;
	width: 100%;
	margin : 10px 0px 10px 0px;
}

article .gb-text {
    padding: 15px 28px;
    display: inline-block;
}

article .gb-text:is(:hover, :focus) {
		background: linear-gradient(120deg, var(--accent) 0%, #3182F6 70%, #28dcdc 90%);
}

article .gb-text {
    background: linear-gradient(120deg, var(--accent) 5%, #3182F6 80%, #28dcdc 100%);
    transition: filter 0.2s ease-in-out; 
}

article .gb-text:hover,
a.wp-block-button__link:not(.has-background):hover,
button:focus,
html input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
a.button:focus,
a.wp-block-button__link:not(.has-background):focus {
filter: brightness(130%);
}

/* 데스크톱에서 스티키 사이드바 */
@media (min-width: 769px) {
    .site-content {
        display: flex; /* 콘텐츠와 사이드바를 플렉스로 정렬 */
    }
    .content-area {
        width: 70%; /* 콘텐츠 영역 비율 */
    }
    .widget-area {
        position: sticky; /* 스티키 설정 */
        top: 80px; /* 상단 여백 */
        z-index: 10; /* 다른 요소 위에 표시 */
        align-self: flex-start; /* 플렉스 컨테이너에서 상단 정렬 */
    }
}

/* 모바일에서 스티키 비활성화 */
@media (max-width: 768px) {
    .site-content {
        flex-direction: column; /* 모바일에서 세로 정렬 */
    }
    .content-area, .widget-area {
        width: 100%; /* 모바일에서 전체 너비 */
    }
    .widget-area {
        position: static; /* 모바일에서 스티키 비활성화 */
        padding-left: 0;
    }
}

/* 관리자 바가 있을 경우 상단 여백 조정 */
body.admin-bar .widget-area {
    top: 40px; /* 관리자 바(32px) + 여백(20px) */
}

@media (max-width: 782px) {
    body.admin-bar .widget-area {
        top: 66px; /* 모바일 관리자 바(46px) + 여백 */
    }
}

.single-post li:not(#menu-primary-menu li) {
	font-size : 15px;
	margin-bottom:0px
}

.ez-toc-heading-level-2 {
	margin-bottom:10px !important;
}


/* 폼 전체 컨테이너 */
.wpcf7-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;

}

/* 레이블 스타일 */
.wpcf7-form p label {
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #333D4B;
}

/* 이메일 입력 필드 */
.wpcf7-form .wpcf7-email {
    width: 100%;
    padding: 12px;
    font-size: 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 20px;
}

.wpcf7-form .wpcf7-email::placeholder {
    color: #9ca3af;
}

/* 체크박스와 동의 문구 */
.wpcf7-form .wpcf7-acceptance {
    margin-bottom: 20px;
}

.wpcf7-form .wpcf7-list-item {
    display: flex;
    align-items: center; /* 체크박스와 문구 수직 중앙 정렬 */
    margin: 0; /* 기본 마진 제거 */
    padding: 0; /* 기본 패딩 제거 */
}

.wpcf7-form .wpcf7-list-item label {
    display: flex;
    align-items: center; /* 내부 요소도 중앙 정렬 */
    margin-bottom: 20px; /* label의 기본 마진 제거 */
}

.wpcf7-form .wpcf7-list-item input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0; /* 마진 조정: 오른쪽만 간격 주기 */
    accent-color: var(--accent-3);
    flex-shrink: 0; /* 체크박스 크기 고정 */
}

.wpcf7-form .wpcf7-list-item-label {
    font-size: 14px;
    color: #000; /* 문구를 검정색으로 설정 (이전 요청) */
    line-height: 1; /* 줄 높이를 1로 설정해 수직 정렬 최적화 */
    margin: 0; /* 기본 마진 제거 */
}

/* 링크 스타일 */
.wpcf7-form .wpcf7-list-item-label a {
    color: #000000 !important;
		font-weight:400;
    text-decoration: none;
}

.wpcf7-form .wpcf7-list-item-label a:hover {
    text-decoration: underline;
}

/* 제출 버튼 */
.wpcf7-form .wpcf7-submit {
    width: 100%;
    padding: 12px;
    background-color: var(--accent-3);
    color: #fff; /* 기본 글자 색상 하얀색 */
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.wpcf7-form .wpcf7-submit:hover {
    background-color: #0e4296; /* --accent-3보다 살짝 어두운 색상 */
    color: #fff; /* 호버 시에도 글자 색상 하얀색 유지 */
}

.wpcf7-form .wpcf7-submit:disabled {
    background-color: #d1d5db;
    color: #fff;
    cursor: not-allowed;
}

/* 스피너 숨김 */
.wpcf7-spinner {
    display: none;
}


/* 반응형 조정 */
@media (max-width: 600px) {
    .wpcf7-form {
        padding: 15px;
    }
}


aside.gb-element-c7722fa9 .wp-block-group__inner-container
{
	padding:0px !important;
}

li.comment {
	margin-bottom:20px !important;
}

:where(.wp-block-columns) {
    margin-bottom: 2px;
}

.button, .wp-block-button .wp-block-button__link {
	padding : 10px 40px;
}

.wpcf7 form .wpcf7-response-output {
	border:0px;
}