/**
 * 아름다운재단 커스텀 블록 스타일
 */
.wp-block-buttons {
	margin-bottom: 30px;
}
/* 기본 버튼 스타일 (fill) - 연두색으로 변경 */
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link {
	background-color: #b3e863 !important;
	color: #222 !important;
	border-radius: 32px !important;
	font-weight: 500;
	transition: all 0.3s ease;
	font-size: 18px;
	line-height: 170% !important;
	padding: 4px 20px 4px 48px;
	height: 40px;
	position: relative;
}

.wp-block-button.is-style-fill .wp-block-button__link::before,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url("../img/svg/icon_link.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover {
	background-color: #9dd84d !important;
}

/* 연두색 버튼 스타일 */
.wp-block-button.is-style-bf-green .wp-block-button__link {
	background-color: #b3e863 !important;
	color: #222 !important;
	border-radius: 32px !important;
	font-weight: 500;
	transition: all 0.3s ease;
	font-size: 18px;
	line-height: 170% !important;
	padding: 4px 20px 4px 48px;
	height: 40px;
	position: relative;
}

.wp-block-button.is-style-bf-green .wp-block-button__link::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background-image: url("../img/svg/icon_link.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.wp-block-button.is-style-bf-green .wp-block-button__link:hover {
	background-color: #9dd84d !important;
}

/* 버튼 그룹 간격 조정 */
.wp-block-buttons.is-layout-flex {
	gap: calc(0.6em);
}

/* 제목(Heading) 블록 기본 스타일 */
.wp-block-heading,
h2.wp-block-heading {
	color: #ed6c00;
	font-size: 22px;
}

h3.wp-block-heading {
	color: #343a40;
	font-size: 18px;
	font-weight: 900;
	line-height: 32px;
	margin-bottom: 30px;
}

/* 이미지 캡션 가운데 정렬 */
.wp-block-image {
	margin-bottom: 30px;
}
.bf-gallery-swiper .bf-slide-image figcaption,
.wp-block-image figcaption {
	text-align: center;
	font-size: 14px;
	line-height: 140%;
	color: #999999;
	margin-top: 15px;
}

/* 목록(List) 블록 기본 스타일 */
.wp-block-list {
	list-style-type: disc;
	color: #222;
	font-size: 18px;
	line-height: 170%;
	margin-bottom: 30px;
	padding-left: 24px;
}

.wp-block-list li {
	margin-bottom: 8px;
}

/* 구분자(Separator) 블록 기본 스타일 */
.wp-block-separator {
	border: none !important;
	border-top: 2px solid #ddd !important;
	margin: 80px auto !important;
	width: 100px !important;
	opacity: 1 !important;
}

/* 단락(Paragraph) 블록 기본 스타일 */
p.wp-block-paragraph,
.txt-area p {
	color: #222 !important;
	font-size: 18px !important;
	margin: 0 auto 30px !important;
	word-break: keep-all;
}

/* 주석 스타일 (서체 크기 S) */
p.wp-block-paragraph.has-small-font-size,
.has-small-font-size,
.txt-area p.has-small-font-size {
	font-size: 16px !important;
	color: #999 !important;
	line-height: 170% !important;
}

/* 정보 박스 스타일 (서식 있는 텍스트) */
.wp-block-preformatted.is-style-bf-info-box {
	background-color: #f5f5f7 !important;
	padding: 40px 30px !important;
	font-family: inherit !important;
	word-break: keep-all;
	color: #676767;
	font-size: 18px;
	line-height: 170%;
	margin-bottom: 30px;
}
.wp-block-preformatted.is-style-bf-info-box a {
	text-decoration: underline;
}
/* 정보 박스 br 태그 숨김 */
.wp-block-preformatted.is-style-bf-info-box br {
	display: none;
}

/* 정보 박스 제목 스타일 (이모지 + 제목) - 첫 번째 strong */
.wp-block-preformatted.is-style-bf-info-box strong:first-of-type {
	display: block;
	font-size: 18px;
	color: #222;
	margin: 0 0 15px;
	padding-bottom: 12px;
	border-bottom: 1px solid #ccc;
	font-weight: 600;
}

/* 정보 박스 서브제목 스타일 (굵은 텍스트) */
.wp-block-preformatted.is-style-bf-info-box strong {
	display: block;
	font-size: 18px;
	color: #000;
	font-weight: 500;
	margin: 10px 0;
}

/* 크레딧 박스 스타일 (서식 있는 텍스트) */
.wp-block-preformatted.is-style-bf-credit-box {
	background-color: transparent !important;
	border-top: 1px solid #c7c7c7;
	border-bottom: 1px solid #c7c7c7;
	padding: 30px 0 !important;
	margin-top: 80px;
	font-family: inherit !important;
	font-size: 16px;
	line-height: 140%;
	color: #222;
	white-space: pre-line;
}

.wp-block-preformatted.is-style-bf-credit-box strong {
	display: inline-block;
	font-weight: 700;
	min-width: 72px;
	margin-right: 24px;
	margin-bottom: 12px;
}
.wp-block-preformatted.is-style-bf-credit-box strong:last-child {
	margin-bottom: 0;
}

/* 갤러리 슬라이더 스타일 */
.bf-gallery-swiper {
	width: 100%;
	margin-bottom: 60px;
	padding-bottom: 40px;
	position: relative;
}

.bf-gallery-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bf-gallery-swiper .bf-slide-image {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	height: 100%;
}

.bf-gallery-swiper .bf-slide-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* 네비게이션 버튼 */
.bf-gallery-swiper .swiper-button-prev,
.bf-gallery-swiper .swiper-button-next {
	width: 50px;
	height: 50px;
	background: url("../img/icons/icon_arrow_box.svg") no-repeat center;
	background-size: contain;
	opacity: 0.3;
	transition: opacity 0.3s ease;
	top: auto;
	bottom: auto;
	margin-top: 0;
}

.bf-gallery-swiper .swiper-button-prev:hover,
.bf-gallery-swiper .swiper-button-next:hover {
	opacity: 1;
}

.bf-gallery-swiper .swiper-button-prev {
	left: 40px;
	transform: rotate(180deg);
}

.bf-gallery-swiper .swiper-button-next {
	right: 40px;
}

.bf-gallery-swiper .swiper-button-prev::after,
.bf-gallery-swiper .swiper-button-next::after {
	display: none;
}

/* 페이지네이션 */
.bf-gallery-swiper .swiper-pagination {
	position: static;
	margin-top: 36px;
	width: 100%;
}
.bf-gallery-caption__text {font-size: 14px; line-height: 140%; color:#999}
.bf-gallery-swiper .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background-color: #c7c7c7;
	opacity: 1;
}

.bf-gallery-swiper .swiper-pagination-bullet-active {
	opacity: 1;
	background: #ffa400;
}

/* 기본 상태 */
.bf-gallery-caption__text {
	opacity: 1;
	transform: translateX(0);
}

/* 시작 상태(애니메이션 시작 직전) */
.bf-gallery-caption__text.is-enter {
	opacity: 0;
	transform: translateX(8px);
}

/* 전환(애니메이션) */
.bf-gallery-caption__text.is-anim {
	transition: opacity 0.25s ease, transform 0.25s ease;
	opacity: 1;
	transform: translateX(0);
}

.swiper-container {
	position: relative;
}

.bf-gallery-caption {
	position: absolute;
	top: 91%;
	left: 50%;
	transform: translate(-50%, -50%);

	z-index: 10;
	pointer-events: none; /* 캡션 위에서도 스와이프 가능 */
	text-align: center;

	width: 100%;
	padding: 0 24px;
	box-sizing: border-box;
}
@media (max-width: 768px) { 
	h2.wp-block-heading {font-size: 18px!important; margin-bottom: 20px!important;}
	p.wp-block-paragraph, .txt-area p {
		font-size: 16px; 
		line-height: 170%;
	}
	.wp-block-buttons.is-layout-flex {gap: 12px}
	.wp-block-buttons>.wp-block-button {
		display: flex; align-items: center;
	}
	.wp-block-button.is-style-bf-green .wp-block-button__link {
		font-size: 14px;
		display: flex;
        align-items: center;
		padding: 0 20px 0 48px;
	}
	.wp-block-preformatted.is-style-bf-info-box {
		padding:36px 32px!important;
		font-size: 16px!important;
	}
	.wp-block-preformatted.is-style-bf-info-box strong {
		font-size: 16px!important;
	}
	.bf-gallery-swiper .swiper-pagination {
		margin-top: 34px;
	}
	.wp-block-list li {
		font-size: 16px;
		line-height: 160%;
		margin-bottom: 4px;
	}
	.bf-gallery-caption {
		top: 88%;
	}
	.bf-gallery-swiper .swiper-button-prev, .bf-gallery-swiper .swiper-button-next {width:33px; height:33px; top:35%!important; }
	.bf-gallery-swiper .swiper-button-next {right:20px}
	.bf-gallery-swiper .swiper-button-prev {left:20px}

}