﻿/* =================================================================
   responsive.css — 반응형 미디어 쿼리 전용
   style.css 의존: soaam-style
   ================================================================= */

/* ---- 1500px: 헤더 압축 (데스크톱 GNB 겹침 방지) ---- */
@media (max-width: 1500px) {
	.site-header { padding: 0 40px; }
	.site-header .main-nav { margin-left: 40px; }
	.site-header .gnb > li > a { padding: 0 20px; font-size: 20px; }
    .site-header .gnb > li > a::after {left:16px; right:16px;}
	.site-header .header-util { gap: 20px; }
	.site-header .util-menu-list { gap: 16px; }
	.site-header .util-menu-list > li > a,
	.site-header .header-search { font-size: 17px; }
	.site-header .header-cta { min-width: 110px; padding: 0 20px; font-size: 17px; }
    .site-header .mega-menu__inner {padding-left: 330px; padding-right: 40px;}
}

@media (max-width: 1400px) {
    .site-header .logo-img {height: 36px}
	.site-header { padding: 0 32px;}
	.site-header .mega-menu__inner {
		grid-template-columns: minmax(0, 1fr) 300px;
		column-gap: 24px;
        padding: 24px 32px 24px 270px;
	}
	.site-header .mega-menu__grid {
		gap: 4px;
        grid-template-columns: repeat(4, 160px);
	}
    .site-header .mega-menu__grid > li > a {
        font-size: 18px;
    }
    .site-header .mega-menu__grid > li.is-submenu-stack > .sub-menu{
        left:164px;
    }
    .site-header .mega-menu__grid > li.is-submenu-stack > .sub-menu::before {
        left: -164px;
    }
    /* 배너 영역: 세로 stacked, 오른쪽 정렬 */
    .site-header .mega-menu__aside {
        display: flex;
        flex-direction: column-reverse;
        gap: 24px;
        width: 240px;
        align-items: flex-end;
    }
    /* 이미지 240×240 */
    .site-header .mega-menu__banner-stage {
        max-width: 240px;
        width: 240px;
    }
    /* 인디케이터 가로 배치 */
    .site-header .mega-menu__banner-nav {
        flex-direction: row;
        gap: 8px;
    }
    /* 가로 dot */
    .site-header .mega-menu__banner-dot {
        width: 18px;
        height: 18px;
        transition: background-color 0.25s ease, width 0.25s ease, transform 0.25s ease;
    }
    .site-header .mega-menu__banner-dot.is-active {
        width: 62px;
        height: 18px;
    }
	.main-banner__title {
		font-size: 48px;
		line-height: 62px;
	}
	.hero-sub-banner {
		padding: 0 24px;
	}
}

/* ---- 1240px 이하 ---- */
@media (max-width: 1240px) {
    .plist {
        grid-template-columns: repeat(4, 1fr);
    }
    .plist li a {
        width: 100%;
    }
}

/* ---- 1200px 이하: 모바일 메뉴 전환 ---- */
@media (max-width: 1200px) {
    /* CSS 변수: 헤더 실제 높이(64px)와 spacer를 일치시킴 */
    :root {
        --site-header-height: 64px;
    }

    /* 연혁 탭 sticky top: JS inline 100px 덮어쓰기 방지 */
    #history-tab.tab-header {
        top: calc(var(--admin-bar-height) + var(--top-banner-height) + 64px);
    }

    /* 연혁 앵커 오프셋: --site-header-height JS 덮어쓰기 방지 */
    [id^="era-"] {
        scroll-margin-top: calc(var(--admin-bar-height) + var(--top-banner-height) + 132px);
    }

    /* 모바일에서 어드민 바 sticky 고정 (WP 기본값 position:absolute 재정의) */
    #wpadminbar {
        position: fixed !important;
    }

    /* 데스크톱 전용 요소 숨김 */
    .site-header .main-nav { display: none; }
    .site-header .header-util { display: none; }

    /* 모바일 헤더 레이아웃 */
    .site-header { height: 64px; padding: 0 24px; }
    .site-header .logo-img { height: 30px; }
    /* spacer: 변수 미적용 방어 — 직접 64px 고정 */
    .site-header-spacer { height: calc(var(--top-banner-height) + 64px); }

    /* 햄버거 버튼 표시 */
    .mob-menu-toggle { display: flex; }

    /* 메인 홈 — 햄버거 버튼 초기 화이트, 스크롤 후 컬러 전환 */
    .home .mob-menu-toggle {
        color: #fff;
        transition: color 0.3s ease;
    }
    .home.is-scrolled .mob-menu-toggle {
        color: #555560;
    }

    /* 모바일: 스텝 인디케이터 ↔ 헤더 push 전환 */
    .site-header {
        transition: transform 0.25s ease;
    }
    body.step-pushes-header .site-header {
        transform: translateY(-100%);
    }
    #step-indicator-sticky {
        border-bottom: 1px solid #ccc;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    #step-indicator-sticky.is-sticky {
        transition: top 0.25s ease;
        overflow: hidden;
    }
    body.step-pushes-header #step-indicator-sticky.is-sticky {
        top: calc(var(--admin-bar-height) + var(--top-banner-height));
        z-index: 101;
    }

    /* 푸터 레이아웃 */
    .site-footer__top {
        grid-template-columns: 1fr;
        justify-items: start;
        row-gap: 20px;
    }
    .site-footer__policies,
    .site-footer__partners,
    .site-footer__socials {
        justify-content: flex-start;
    }
    .site-footer__bottom {
        flex-direction: column;
    }
    .site-footer__award {
        justify-content: flex-start;
    }
}



/* WP 어드민바: 782px 이하에서 46px로 변경 */
@media (max-width: 782px) {
    body.admin-bar {
        --admin-bar-height: 46px;
    }
    .admin-bar #step-indicator-sticky.is-sticky {
        top: calc(var(--admin-bar-height) + var(--top-banner-height) + var(--site-header-height));
    }
}

/* ---- 1024px 이하: 콘텐츠 반응형 ---- */
@media (max-width: 1024px) {
    /* ACF 폼 */
    .acf-form input[type="text"],
    .acf-form input[type="email"],
    .acf-form input[type="number"],
    .acf-form input[type="tel"],
    .acf-form textarea {
        max-width: 100%;
    }
    .step_pager { justify-content: stretch; padding: 16px 24px; margin:0 -24px; width:calc(100% + 48px);}
    .step_pager a { flex: 1; justify-content: center; }

    /* 프로그램 그리드 */
    .plist { grid-template-columns: repeat(3, 1fr); }
    .dhlist__item { flex: 0 0 calc(33.333% - 16px); }
    /* 탑배너 → 모바일 카드형 */
    .top-banner {
        height: auto;
    }
    .top-banner__inner.container {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 16px;
        height: auto;
    }
    .top-banner__content {
        flex: none;
        align-items: flex-start;
        gap: 16px;
    }
    .top-banner__text {
        flex-direction: column;
        align-items: flex-start;
		justify-content: center;
		height: 100px;
        gap: 6px;
    }
    .top-banner__title {
        font-size: 16px;
        line-height: 1.4;
        white-space: normal;
    }
    .top-banner__desc {
        font-size: 12px;
        line-height: 1.4;
        white-space: normal;
		margin-bottom: 1em;
    }
    /* 버튼 2단 배치 → 닫기(1) + 다시안보기(3) */
    .top-banner__actions {
        position: static;
        width: 100%;
        height: auto;
        flex: none;
        display: flex;
        flex-direction: row-reverse;
        gap: 12px;
    }
    /* "다시 안보기" → 아웃라인 버튼 (flex: 3) */
    .top-banner__dismiss {
        position: static;
        flex: 3;
        justify-content: center;
        height: 36px;
        border: 1px solid #FDF8ED;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 700;
    }
    .top-banner__dismiss-input {
        display: none;
    }
    /* "닫기" → 핑크 채운 버튼 (flex: 1) */
    .top-banner__close {
        position: static;
        flex: 1;
        width: auto;
        height: 36px;
        border-radius: 8px;
        background: linear-gradient(90deg, #ff4a7e, #f9647b);
        font-size: 0;
    }
    .top-banner__close::after {
        content: '닫기';
        font-size: 14px;
        font-weight: 700;
        color: #fff;
    }

    /* 푸터 */
    .site-footer {
        padding: 40px 0 44px;
    }
    .site-footer__inner {
		position: relative;
    }
    .site-footer__logo {
        width: 152px;
		margin:0
    }
    .footer-policy-menu {
        flex-wrap: wrap;
        gap: 16px 24px;
    }
    .footer-policy-menu li a,
    .site-footer__partner-link {
        font-size: 14px;
    }
    .site-footer__partners {
        gap: 20px;
        flex-wrap: wrap;
    }
    .site-footer__partner-logo {
        height: 32px;
    }
    .site-footer__social-link {
        width: 32px;
        height: 32px;
    }
	.site-footer__social-link svg {
		max-width: 22px;
	}

    .site-footer__divider {
        margin: 24px 0 28px;
    }
	.site-footer__info{
		order:3;
	}
    .site-footer__info,
    .site-footer__accounts-list li {
        font-size: 13px;
		line-height: 24px;
    }
	.site-footer__award {
		position: absolute;
		top:-14px;
		right: 24px;
        gap:16px;
	}
    .site-footer__award a.guidestar {
        width:64px;
    }
    .site-footer__award a.kine {
        width:48px;
    }
	.site-footer__accounts-title {
		font-size: 14px;
		margin-top: -.3em;
	}
    .site-footer__accounts-list li {
        grid-template-columns: 90px 1fr;
    }
	.site-footer__copyright {
		font-size: 13px;
	}
	/* 메인페이지 */
    body.is-main-page .main-hero-section,
    .main-hero-section {
        height: 540px;
        min-height: unset;
    }
    .main-hero-slider {
        height: 540px;
        min-height: unset;
    }
    .main-banner {
        height: 540px;
        min-height: unset;
        background-position-x: 72%;
    }
    .main-banner__inner {
        height: 540px;
        min-height: unset;
        padding: 60px 32px calc(var(--hero-sub-banner-height) + 88px);
		justify-content: flex-end;
    }
    .main-banner__title {
        font-size: 28px;
        line-height: 40px;
        margin-bottom: 36px;
    }
	.main-banner__title-line {
		padding: 0 6px;
	}
    .main-banner__cta {
        min-height: 44px;
        padding: 0 12px 0 88px;
        font-size: 15px;
		gap: 6px;
		border-radius: 8px;
    }
    .main-banner__cta.main-banner__cta--no-image {
        padding-left: 16px;
    }
    .main-banner__cta-icon {
        left: 8px;
        max-width: 72px;
        max-height: 72px;
    }
    .main-banner__cta-arrow {
        font-size: 14px;
    }
    .main-hero-controls {
        bottom: calc(var(--hero-sub-banner-height) + 36px);
        padding: 0 36px;
    }
    .main-hero-dot {
        width: 14px;
        height: 14px;
    }
    .main-hero-dot.is-active {
        width: 72px;
    }
    .main-hero-toggle {
        width: 22px;
        height: 22px;
    }
    /* hero-sub-banner: 하단 고정 배치, 3열 */
    .hero-sub-banner {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: var(--hero-sub-banner-height);
        padding: 0;
        transform: none;
    }
    .hero-sub-banner__inner.container {
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
		width:calc(100% - 32px);
        gap: 8px;
        padding: 0;
        align-items: stretch;
    }
    .hero-sub-banner__item {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 8px;
        border-radius: 8px 8px 0 0;
        height: unset;
        padding: 0 16px;
    }
    .hero-sub-banner__icon {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
    }
	.hero-sub-banner__icon-fa { font-size: 16px;}
    .hero-sub-banner__title {
        font-size: 13px;
        text-align: left;
        line-height: 1.3;
    }
	.story-dot {height: 12px; width: 12px;}
	.story-dot.is-active {width: 36px;}
    .story-badge {
        font-size: 12px;
        font-weight: 700;
        padding: 4px 12px;
    }
    /* 레이아웃 */
    .pagehero {
        height: 120px!important;
    }
    .mo-mb-2 {margin-bottom: 16px!important;}
    .mo-mb-4 {margin-bottom: 32px!important;}
    .mo-mb-6 {margin-bottom: 48px!important;}
    .mo-mt-2 {margin-top: 16px!important;}
    .mo-mt-4 {margin-top: 32px!important;}
    .mo-mt-6 {margin-top: 48px!important;}
    .mo-mt-8 {margin-top: 64px!important;}
    .wp-block-group.is-layout-constrained.mo-mb-7 {margin-bottom: 56px!important;}
    .wp-block-group.is-layout-constrained.mo-pb-6 {padding-bottom: 48px!important;}
    .wp-block-columns {
        gap:12px;
    }
    :root :where(.is-layout-flex) {
        gap:32px!important
    }
    .is-layout-flex .is-layout-flex {
        gap:24px!important
    }
    .wp-block-group.is-layout-constrained {
        padding: 48px 24px 0;
        margin:0!important
    }
    .wp-block-group.is-layout-constrained.has-ybg-background-color {
        padding: 48px 24px;
    }
    .tab-header__inner {
        padding:48px 24px 0;
    }
    .wp-block-group-is-layout-flex {
        flex-direction: column;
    }
    .wp-block-columns.is-not-stacked-on-mobile.mo-col-2 {
        flex-wrap: wrap !important;
        margin:20px 0 0!important;
        gap:0!important
    }
    .wp-block-columns.is-not-stacked-on-mobile.mo-col-2 > .wp-block-column {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    .wp-block-separator.has-background:not(.is-style-dots) {margin:32px 0!important}
    .wp-block-columns.is-style-process, .wp-block-columns.is-style-process-shadow {gap:16px!important; flex-wrap:wrap!important}
    .editor-styles-wrapper .wp-block-column {gap:12px;}
    .wp-block-columns.is-style-process > .wp-block-column::before, .wp-block-columns.is-style-process-shadow > .wp-block-column::before {
        font-size: 11px;margin:0; padding:8px 0 6px;
        background-size: calc(50% - 2.25em - 16px) 2px, calc(50% - 2.25em - 16px) 2px;
    }
    .wp-block-columns.process-mo-2 .wp-block-soaam-icon span {width:56px!important; height: 56px!important; }
    .wp-block-columns.process-mo-2 .wp-block-soaam-icon span i {font-size: 24px!important;}
    /* 헤딩 폰트 */
    .editor-styles-wrapper .wp-block-heading {
        word-break: keep-all;
    }
    .editor-styles-wrapper h2,
    .page-title {
        font-size: 24px !important;
        line-height: 32px !important;
    }
    .tab-header__title { margin-bottom: 24px!important;}
    .editor-styles-wrapper h3 {
        font-size: 20px !important;
        line-height: 28px !important;
    }
    .editor-styles-wrapper h2 + h3 {
        font-size: 16px !important;
        line-height: 24px !important;
        margin:12px 0 0;
    }
    .editor-styles-wrapper h4 {
        font-size: 18px !important;
        line-height: 28px !important;
    }
    .editor-styles-wrapper h5 {
        font-size: 16px!important;
        line-height: 24px!important;
    }
    .editor-styles-wrapper p,
    .editor-styles-wrapper .is-style-paragraph-l, .wp-block-paragraph.is-style-paragraph-l {
        margin-top: 12px;
        font-size: 14px;
        line-height: 20px;
    }
    .editor-styles-wrapper h2:first-child + p, .editor-styles-wrapper .wp-block-heading + .wp-block-paragraph > p {
        font-size: 16px!important; line-height: 24px!important; margin-bottom: 32px !important;
    }
    .editor-styles-wrapper ul.wp-block-list { margin-top:0}
    .editor-styles-wrapper ul.wp-block-list li, .editor-styles-wrapper ol.wp-block-list li {
        
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 4px;
    }
    .wp-block-group.is-style-card, .wp-block-group.is-style-card.has-background, .wp-block-group.is-style-card.is-layout-constrained{ 
        padding:20px 22px 24px!important;
        margin:0!important
    }
    .is-style-card.overlap-left {
        margin-right: 0;
    }
    .is-style-card.overlap-right {
        margin-left: 0;
    }
    .mo-topper.wp-block-group {border-bottom-left-radius:0!important;border-top-left-radius:12px!important;border-top-right-radius:12px!important; border-bottom-right-radius: 0!important; padding: 24px!important;gap: 12px!important;}
    .editor-styles-wrapper .mo-topper.wp-block-group h3 {margin-bottom: 0;}
    .editor-styles-wrapper a {word-break: normal; white-space:unset;}
    .mo-no-gap.wp-block-group.is-style-card { border-top-left-radius:0!important; border-top-right-radius: 0!important;gap:0!important;margin: -24px 0 24px!important; border-top: 0;}
    .wp-block-buttons {padding-top: 0}
    .wp-block-buttons .wp-block-button.is-style-outline i {display: none;}
    .wp-block-buttons.is-content-justification-center {gap: 16px!important;}
    .wp-block-button__link {
        font-size: 13px!important;
        height: 32px;
        padding: 0 20px !important;
        gap: 8px;
    }
    .wp-block-buttons.is-btn-sm .wp-block-button__link {
        font-size: 12px!important;
        padding: 0 12px !important;
        height: 32px;
    }
    .wp-block-buttons.is-btn-sm .wp-block-button__link i {display: none;}
    .wp-block-buttons.is-btn-lg .wp-block-button__link,
    .page_btn {
        font-size: 16px!important;
        height: 48px;
        padding: 0 24px!important;
        gap: 10px;
    }
    /* 프로세스 블록 모바일 열 수 */
    .wp-block-columns.is-style-process.process-mo-1 > .wp-block-column,
    .wp-block-columns.is-style-process-shadow.process-mo-1 > .wp-block-column {
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
    }
    .wp-block-columns.is-style-process.process-mo-2 > .wp-block-column,
    .wp-block-columns.is-style-process-shadow.process-mo-2 > .wp-block-column {
        flex: 0 0 calc(50% - 12px) !important;
        flex-basis: calc(50% - 12px) !important;
        padding:16px 0; gap:4px;
    }
    .wp-block-columns.is-style-process > .wp-block-column h4, .wp-block-columns.is-style-process-shadow > .wp-block-column h4 {font-size: 15px!important; line-height: 22px!important;}
    .wp-block-columns.is-style-process > .wp-block-column h4, .wp-block-columns.is-style-process-shadow > .wp-block-column p {margin-top: 0;}
    /* step-indicator 가로 스크롤 */
    #step-indicator-sticky ul.ul_step {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    #step-indicator-sticky .ul_step li {
        flex: 0 0 auto;
    }
    /* promise-grid 2열 (donation-message, cert-message) */
    ul.promise-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
        margin-top: 32px;
    }
    .promise-card {gap: 6px; height: unset;}
    .promise-card__name {font-size: 18px; line-height: 24px; word-break: break-all;}
    .promise-card__category {font-size: 14px;line-height: 24px;}
    .promise-card__content {font-size: 16px; line-height: 24px;height: 120px;}
    .promise-card__date {font-size: 13px;}
    /* 싱글 카테고리 배지 */
    .single-post-badge {
        font-size: 14px;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    /* tab-nav 가로 스크롤 (1줄 고정) */
    .tab-nav {margin:0 -24px; width:calc(100% + 48px)}
    .tab-nav__list {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0;
        padding: 0 24px;
    }
    .tab-nav__item {
        flex: 0 0 auto;
    }
    /* paper 슬라이더 메시지 카드 반응형 */
    .is-style-slider.paper .wp-block-column.has-bbg-background-color {
        padding: 0 !important;
        display: flex !important;
    }
    .is-style-slider.paper .wp-block-group.is-style-message {
        padding: 15% !important;
        gap: 0 !important;
    }
    .is-style-slider.paper .wp-block-group.is-style-message h4 {
        font-size: clamp(13px, 3.4vw, 24px) !important; /* ~14.4px @ 390px */
        line-height: 1.4 !important;
        margin: 0 0 2.5vw !important;
    }
    .is-style-slider.paper .wp-block-group.is-style-message p.has-text-align-left {
        font-size: clamp(11px, 3.1vw, 18px) !important; /* ~12.1px @ 390px */
        line-height: 1.77 !important;
        word-break: break-all;
        margin: 0 !important;
    }
    .is-style-slider.paper .wp-block-group.is-style-message .wp-block-group p {
        font-size: clamp(10px, 2.6vw, 16px) !important; /* ~10.1px @ 390px */
        line-height: 1.5 !important;
    }
    /* 스티커 테이프: 카드 비율(80px/282px ≈ 28%)에 맞게 스케일 다운 */
    .is-style-slider.paper .msg-sticker {
        width: clamp(36px, 12.8vw, 72px);
        height: clamp(19px, 6.7vw, 38px);
    }

    /* 테이블 */
    figure.is-scroll-on-mobile  { margin:0 -24px;  width: calc(100% + 48px); padding:0 24px}
    .is-scroll-on-mobile th,
    .is-scroll-on-mobile td {white-space: nowrap; font-size: 14px;}
    .wp-block-flexible-table-block-table.is-scroll-on-mobile table {
        table-layout: auto !important;
        width: auto !important;
        min-width: 100%;
    }
    :is(.wp-block-group, .wp-block-column):has(.is-scroll-on-mobile) {
        overflow: visible !important;
    }
    /* 서브페이지 */
    body .wp-block-group.is-vertical.is-layout-flex {margin-top: 32px; gap: 24px!important;}
    body .wp-block-column .wp-block-group.is-vertical.is-layout-flex {margin-top: 0;}
    body .wp-block-group.is-vertical.is-layout-flex.a0100  {margin-top:0!important; gap:0 !important;}
    figure.wp-block-image.ppoya_love {display: flex; position: absolute; top:0; right:0; flex-direction: row-reverse; padding-right: 20px;}
    figure.wp-block-image.ppoya_love img {width:32%; height: auto;}
    .a0101 {flex-basis: auto!important;}
    .editor-styles-wrapper .a0102 {margin-top: 24px!important; gap:24px!important}
    .editor-styles-wrapper .a0102 img {border-bottom-left-radius:0!important; border-bottom-right-radius: 0!important;}
    .editor-styles-wrapper .a0102 .is-style-card {margin-top:-24px!important; border-top-left-radius:0; border-top-right-radius: 0;}
    .a0103 .wp-block-column:first-child { order:2;}
    :root .a0104 .mo-col-2 :where(.is-layout-flex) {gap:0!important}
    .editor-styles-wrapper .a0104 .is-style-paragraph-m {font-size: 14px;line-height: 20px; margin: 8px 0 16px;}
    .mo-init {padding:0!important; align-items: center!important}
    .mo-init .is-style-paragraph-m {padding: 0!important;}
    /* 신청류 */
    #step-indicator-sticky.is-no-sticky,
    #step-indicator-sticky .container {margin:0 -24px; width:calc(100% + 48px); overflow: hidden;}
    #step-indicator-sticky.is-no-sticky{ margin-bottom: 32px;}
    /* 증서 페이지 (is-no-sticky): container 없이 ul 직접 */
    #step-indicator-sticky.is-no-sticky ul.ul_step {padding:0 24px 16px;}
    #step-indicator-sticky.is-no-sticky .ul_step li { padding: 8px 0; border-radius: 8px; }
    #step-indicator-sticky.is-no-sticky .ul_step li::before { font-size: 11px; padding: 4px 0; letter-spacing: 1px; background-size: calc(3em + 28px) 100%, 100% 2px;}
    #step-indicator-sticky.is-no-sticky .ul_step li a { font-size: 13px; line-height: 20px; padding:0 16px}
    /* 신청류 페이지: container 내부 */
    #step-indicator-sticky .container ul {padding:0 24px 16px; gap:8px}
    #step-indicator-sticky .container ul li { padding: 8px 0; border-radius: 8px; }
    #step-indicator-sticky .container ul li::before { font-size: 11px; padding: 4px 0; letter-spacing: 1px; background-size: calc(3em + 28px) 100%, 100% 2px;}
    #step-indicator-sticky .container ul li a { font-size: 13px; line-height: 20px; padding:0 16px}
    .blood_certifcate_box, .donation_certifcate_box {padding: 0 0 56px;}
    .cert-page-wrap { padding:32px 24px 56px;}
    .cert-a4 {width:100%; min-height: unset;padding:16px}
    .cert-border { padding:16px; min-height: unset;}
    .editor-styles-wrapper h2.cert-title { font-size: 24px!important; margin: 0 0 24px!important}
    .cert-stage {margin-bottom: 32px;}
    .cert-info {gap:2px; }
    .cert-info__row { font-size: 14px; gap:6px}
    .cert-info-row {margin-bottom: 14px;}
    .editor-styles-wrapper p.cert-body { font-size: 13px; line-height: 1.5;}
    .editor-styles-wrapper p.cert-body br {display: none;}
    .cert-footer {padding-top: 12px;}
    .cert-footer__org, .cert-footer__name {font-size: 13px;}
    .cert-stamp {width: 48px;right: 6px;}
    .cert-footer__logo {height: 24px;}
    /* 서브페이지 탭 네비 */
    .tab-nav__link {
        padding: 10px 16px;
        border-radius: 6px 6px 0 0;
        font-size: 15px;
    }
    .tab-nav__item.is-active .tab-nav__link {
        padding: 12px 16px 10px;
    }

    /* wp-block-columns 3열 → 2열 */
    .wp-block-columns.columns-3 {
        flex-wrap: wrap;
        gap: 16px !important;
    }
    .wp-block-columns.columns-3 > .wp-block-column {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
        padding: 18px!important
    }
    .wp-block-columns.columns-3 > .wp-block-column h4, .wp-block-columns.columns-3 > .wp-block-column p {
        margin-top: 0;
    }
    /* has-bbg 컬럼: [아이콘 | 제목] / [설명 전체폭] */
    .wp-block-column.has-bbg-background-color {
        display: grid !important;
        grid-template-columns: 56px 1fr;
        column-gap: 24px;
        align-items: center;
        padding: 24px !important;
    }
    .wp-block-column.has-bbg-background-color .wp-block-soaam-icon span {
        width: 56px !important;
        height: 56px !important;
    }
    .wp-block-column.has-bbg-background-color .wp-block-soaam-icon span i {
        font-size: 24px !important;
    }
    .wp-block-column.has-bbg-background-color h5 {
        text-align: left !important;
        margin: 0;
    }
    .wp-block-column.has-bbg-background-color p,
    .wp-block-column.has-bbg-background-color .wp-block-buttons {
        grid-column: 1 / -1;
        margin-top: 8px;
        text-align: left !important;
    }
    .wp-block-column .root_daum_roughmap {width:100%!important;}
    /* 구텐베르크 이미지 비율 보호 (flex stretch 대응) */
    figure.wp-block-image {
        align-self: flex-start;
    }
    figure.wp-block-image img {
        max-width: 100%;
        width: auto;
        height: auto !important;
    }
    .wp-block-columns.columns-3 > .wp-block-column.expand {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .finance-year-bar {margin: 24px 0!important;}
    .overlap-left {padding:16px 24px!important}
    .overlap-left figure.wp-block-image {align-self: center; width:60%; margin:16px 0 -16px}

    /* ---- 임원 소개 페이지: 직위+이름 한 줄 유지 ---- */
    .is-board-member-page .wp-block-group-is-layout-flex:not(.is-vertical) {
        flex-direction: row !important;
        align-items: baseline;
    }
    /* 사진 포함 그룹은 column으로 되돌림 (사진 위 100%) */
    .is-board-member-page .wp-block-group-is-layout-flex:not(.is-vertical):has(figure.wp-block-image) {
        flex-direction: column !important;
    }
    /* 직위+이름 사이 gap 8px */
    .is-board-member-page .wp-block-group-is-layout-flex:not(.is-vertical):not(:has(figure.wp-block-image)) {
        gap: 8px !important;
    }

/* ---- has-inline-icon-title: 1024px 이하에서 아이콘+제목 한 줄 배치 ---- */
/* 사용법: 상위 wp-block-columns의 "추가 CSS 클래스"에 has-inline-icon-title 입력 */
    .wp-block-columns.has-inline-icon-title.is-layout-flex {
        gap:16px!important
    }
    .has-inline-icon-title > .wp-block-column {
        display: grid !important;
        grid-template-columns: auto 1fr;
        align-items: start;
        gap: 0 16px;
        padding:24px 24px 32px!important
    }
    .has-inline-icon-title > .wp-block-column > .wp-block-soaam-icon {
        grid-column: 1;
        grid-row: 1;
    }
    .has-inline-icon-title > .wp-block-column > .wp-block-soaam-icon span {
        width:72px!important; height:72px!important
    }
    .has-inline-icon-title > .wp-block-column > .wp-block-soaam-icon i {
        font-size: 32px!important;
    }
    .has-inline-icon-title > .wp-block-column > .wp-block-heading {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        text-align: left !important;
        margin-top: 0;
        margin-bottom: 0;
    }
    .has-inline-icon-title > .wp-block-column > p,
    .has-inline-icon-title > .wp-block-column > .wp-block-buttons,
    .has-inline-icon-title > .wp-block-column > .wp-block-group {
        grid-column: 1 / -1;
    }
    .has-inline-icon-title > .wp-block-column > p {padding-left: 88px; text-align: left; margin-top: -12px;}
    .has-inline-icon-title > .wp-block-column > .wp-block-buttons {    justify-content: flex-start; padding-left: 88px; margin-top:16px!important}
    .wp-block-columns.columns-3.gifts {margin-bottom: 56px;}
    .wp-block-columns.columns-3.gifts > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: auto 1fr;
        align-items: start;
        gap: 12px 16px;
        padding: 24px !important;
        position: relative;
    }
    .gifts > .wp-block-column > .wp-block-group {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        justify-content: flex-start !important;
    }
    .gifts > .wp-block-column > .wp-block-group > .wp-block-heading {
        position: absolute;
        top: 24px;
        right: 24px;
        margin: 0;
    }
    .gifts > .wp-block-column > h5.wp-block-heading {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        margin: 0;
    }
    .gifts > .wp-block-column > p {
        grid-column: 1 / -1;
    }

    /* 기념일 후원일 */
    .aniv {padding: 48px 0; gap:12px!important}
    .aniv .wp-block-columns.columns-3 {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        gap:  16px 4px!important;
        margin: 0!important
    }
    .aniv > .wp-block-column {
        padding:0 16px!important
    }
    .aniv .wp-block-columns.columns-3 > .wp-block-column {
        flex: unset !important;
        max-width: unset !important;
        min-width: 0 !important;
        padding: 4px !important;
    }
    .aniv .wp-block-columns.columns-3 .wp-block-soaam-icon i {
        font-size: 28px !important;
    }
    .aniv .title .wp-block-group {
        margin:12px!important
    }
    .aniv .title .wp-block-image {
        margin:0 20%!important
    }
    .aniv .title p.is-style-paragraph-l {margin-bottom: 32px;}
    /* c-board 커버(z-index:1)의 ::before가 위 텍스트를 덮지 않도록,
       형제 텍스트 요소를 더 높은 z-index로 올림 */
    :has(> .c-board) > :not(.c-board) {
        position: relative;
        z-index: 2;
    }
    .c-board.wp-block-cover.shadow-l {border-radius: 16px!important; padding:24px 0!important; margin:32px 0 56px!important}
    .c-board .wp-block-columns.columns-3 {padding: 16px;}
    .c-board .wp-block-columns.columns-3 > .wp-block-column {flex:0 0 50%!important; max-width:0 0 50%!important; padding:0!important}
    .c-board .wp-block-cover.is-light {min-height: unset!important;}
    .c-board .wp-block-cover.is-light p {font-size: 14px!important; margin-top:10px}
    .c-board .wp-block-cover.is-light p.is-style-paragraph-m {font-size: 12px!important; margin:2px 0!important;}
    .c-board .wp-block-cover.is-light .wp-block-group.is-layout-constrained { padding: 0!important}
    .c-board .wp-block-spacer {display: none!important}
    .wp-block-cover.shadow-l::after {width:425px;height:386px;bottom:-40px;right:-200px;}
    .editor-styles-wrapper .is-style-paragraph-m, .wp-block-paragraph.is-style-paragraph-m {font-size: 14px!important; line-height: 20px!important;margin:0 0 56px!important}
    figure.wp-block-image.ribbon-bg {max-width: 80%; margin:12px auto 0}
    .wp-block-group.is-layout-constrained.sect-cert { padding:56px 0 0}
    /* sect-cert 모바일: 이미지 100% 위, 텍스트+버튼 바로 아래 */
    .sect-cert .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
    .sect-cert .wp-block-cover {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        min-height: unset !important;
        padding: 0 !important;
    }
    .sect-cert .wp-block-cover .wp-block-cover__image-background {
        content: url('../../img/s0305_05_m.webp') !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        object-fit: unset !important;
        display: block !important;
        flex-shrink: 0;
    }
    .sect-cert .wp-block-cover .wp-block-cover__background {
        display: none !important;
    }
    .sect-cert .wp-block-cover .wp-block-cover__inner-container {
        position: static !important;
        width: 100% !important;
        transform: none !important;
        background-color: #fff;
        padding: 0!important;
    }
    .sect-cert .wp-block-cover .wp-block-group {
        padding: 0 0 56px !important;
        text-align: center;
    }
    .sect-cert :where(.is-layout-flex) {
        gap:0!important
    }
    /* 텍스트 크기 24px → 16px */
    .sect-cert .wp-block-cover .wp-block-group p {
        font-size: 16px !important;
    }
    /* spotlight SNS 업로드 섹션 모바일 */
    .wp-block-group.spotlight {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }
    .wp-block-group.spotlight::before,
    .wp-block-group.spotlight::after {
        width: 565px !important;
        height: 494px !important;
    }
    .wp-block-group.spotlight::before {
        left: -55% !important;
    }
    .wp-block-group.spotlight::after {
        right: -55% !important;
    }

    /* aniv-story */
    .aniv-story > .wp-block-group.is-vertical.is-layout-flex { margin-top: 24px !important; }
    .aniv-story .block-slider-wrap { padding-top: 0 !important; }
    .aniv-story .wp-block-columns.is-style-slider { padding-top: 0 !important; }
    .aniv-story { padding-bottom: 56px !important; }
    /* 카드 내부 여백 정리 */
    .aniv-story .block-slider__track > .wp-block-column { row-gap: 0 !important; }
    .aniv-story .block-slider__track > .wp-block-column > .wp-block-group {
        padding: 12px 24px 24px !important;
        row-gap: 8px !important;
    }

    /* kakao-share 모바일 */
    .kakao-share-wrap {
        margin: 48px auto 80px !important;
        align-items: stretch !important;
        gap: 16px !important;
    }
    .kakao-share-bubble {
        order: 2 !important;
        margin: 0 !important;
        gap: 8px !important;
        justify-content: center !important;
    }
    .kakao-share-mascot { width: 62px !important; }
    .kakao-share-bubble__text {
        font-size: 14px !important;
        margin: 0 !important;
        line-height: 1.4 !important;
    }
    .kakao-share-row { display: contents !important; }
    .kakao-share-label {
        order: 1 !important;
        font-size: 20px !important;
        text-align: center !important;
        margin-right: 0 !important;
        line-height: 1.4 !important;
    }
    .kakao-share-input-wrap {
        order: 3 !important;
        border-radius: 9999px !important;
        flex: 0 0 48px !important;
        height: 48px !important;
        padding: 0 0 0 12px;
    }
    .kakao-share-input {
        font-size: 16px!important;
    }
    .kakao-share-counter {
        background: transparent !important;
        width: 48px !important;
        font-size: 12px !important;
    }
    .kakao-share-btn {
        order: 4 !important;
        height: 48px !important;
        padding: 0 24px !important;
        font-size: 16px !important;
        border-radius: 555px !important;
        align-self: center !important;
    }

    /* 내일, 꿈 가게 - hero */
    .ds-hero {
        min-height: 280px !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .ds-hero p {width:52%; margin:12px 0 0!important}
    .ds-hero p br {display: none;}

    /* 내일, 꿈 가게 - package */
    .ds-package {
        padding: 56px 24px !important;
    }
    .ds-package .has-white-background-color {
        padding: 16px 32px 32px !important;
    }
    .editor-styles-wrapper .ds-package .is-style-paragraph-m {margin-bottom: 32px!important}
    body .ds-package .wp-block-group.is-vertical.is-layout-flex {
        gap: 0 !important; margin-top: 16px;
    }

    /* ds-story 1개씩 표시 */
    .ds-story .wp-block-columns.is-style-slider > .wp-block-column {
        flex-basis: 100% !important;
        min-width: 100% !important;
    }

    /* FAQ 섹션 래퍼 모바일 padding */
    .wp-block-group:has(.faq-wrap) { padding-bottom: 64px !important; }
    .page-template-template-qna .wp-block-group:has(.faq-wrap) { padding-bottom: 0!important; }
    .wp-block-group:has(> .faq-wrap) { padding-bottom: 0 !important; }
    .wp-block-group:has(.faq-wrap) > .wp-block-columns { margin-top: 32px !important; margin-block-start: 32px !important; gap:16px!important }
    .faq-pagination {margin: 6px 0 36px}
    .navigation.pagination .page-numbers,
    .faq-pagination .page-numbers {width:36px; height:36px; font-size: 15px;}

    /* 드림아너스 */
    .dh-hero {min-height: unset!important;}
    .dh-hero .wp-block-spacer {height: 48px!important;}
    .dh-hero figure.wp-block-image img { width: 60% !important; height: auto !important;margin:0 auto; }
    .dh-hero .wp-block-columns { flex-wrap: nowrap !important; gap: 6px !important; }
    .dh-hero .wp-block-columns .wp-block-column { flex: 0 0 calc(50% - 3px) !important; flex-basis: calc(50% - 3px) !important;border-top-left-radius: 8px!important; border-top-right-radius: 8px!important; }
    .dh-hero .wp-block-columns .wp-block-column p {margin-top: 0;}
    .dh-con .wp-block-columns.columns-3 { margin-top: 36px !important; }
    .dh-con .wp-block-columns.columns-3 .wp-block-soaam-icon span { width:64px!important; height:64px!important;}
    .dh-con .wp-block-columns.columns-3 .wp-block-soaam-icon span i {font-size: 28px!important;}
    .dh-con .wp-block-columns.columns-3 .wp-block-group.is-vertical.is-layout-flex {gap:0!important}
    .dh-con .wp-block-columns.is-style-slider {padding-top: 36px!important;}
    .dh-con .wp-block-columns.is-style-slider > .wp-block-column { flex-basis: 100% !important; min-width: 100% !important; }
    .dh-con .wp-block-columns.is-style-slider .wp-block-column > figure.wp-block-image img { width: 100% !important; height: auto !important; }
    .dh-con .wp-block-columns.is-style-slider .wp-block-column > figure.wp-block-image { width: 100% !important; align-self: stretch !important; }
    .dh-con .wp-block-columns.is-style-slider .wp-block-column > .wp-block-group { margin-top: 0 !important; padding-top: 0 !important; }
    /* 문의 섹션 */
    .dh-contact { margin-top: 36px!important; gap: 16px !important; }
    .dh-contact .wp-block-column:last-child .wp-block-group { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
    .dhlist__item a {padding:12px}
    .chairman img {padding:24px 16%}
    /* 조직도 */
    .editor-styles-wrapper .wp-block-column.org_items .wp-block-columns {gap:12px!important; margin:0!important}
    .editor-styles-wrapper .wp-block-column.org_items .wp-block-column {padding:16px 24px!important; gap:8px!important}
    .org_items .wp-block-column.shadow-m .wp-block-group.is-nowrap {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        align-items: baseline !important;
        gap: 4px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .org_items .wp-block-column.shadow-m .wp-block-group.is-nowrap > p {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .org_items .wp-block-column.shadow-m > p:first-of-type {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }
    .org_items .wp-block-column.shadow-m > p:last-of-type {
        margin-top: 0 !important;
    }
    /* 연혁 */
    .history-wrap {padding-bottom: 64px!important;}
    .history-wrap .is-layout-flex .is-layout-flex {gap:12px!important; margin-top: 4px!important;}
    /* ci 및 캐릭터 */
    .cic.wp-block-group.is-layout-constrained {margin:36px 0 64px!important;}
    :root .cic.wp-block-group :where(.is-layout-flex) {gap:16px!important}
    .cic.wp-block-group > .wp-block-columns {margin-top: 36px!important;}
    .cic.wp-block-group > .wp-block-columns .wp-block-columns {margin-top: 0!important;}
    .cic.wp-block-group .wp-block-paragraph.is-style-paragraph-m {margin-bottom: 0!important;}
    .cic .wp-block-cover {min-height: unset!important;}
    .cic .wp-block-cover .wp-block-image img {width:50%!important;}
    .cic .wp-block-columns.columns-2 > .wp-block-column .wp-block-image img{ width:60%!important;}
    .cic .wp-block-column.has-ybg-background-color img {width:50%!important}
    .cic .wp-block-column .wp-block-group.is-vertical .wp-block-group.is-vertical {gap:4px!important}
    /* 오시는 길 */
    .columns-3.location {gap:24px!important; margin-top: 24px!important;}
    .columns-3.location .wp-block-column {padding:0!important;
        flex: 0 0 calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;}
    .columns-3.location .wp-block-column .wp-block-group {gap:12px!important}
    /* 비전과 미션 */
    .wp-block-group.vision {margin-top: 48px!important}
    .wp-block-group.vision .wp-block-cover {min-height: unset!important;padding: 32px 0!important}
    .wp-block-group.vision h4 {font-size: 20px!important; padding:0 24px}
    .ppoya-vision {width:20%; height: auto; bottom:-70px; right:26px}
    .wp-block-group.mission {margin-top: 48px!important}
    .editor-styles-wrapper .wp-block-group.mission .a0102 {gap:72px!important}
    .editor-styles-wrapper .wp-block-group.mission .a0102 .is-style-card { padding: 20px 24px !important;}
    .wp-block-group.core-value {margin: 48px 0 56px!important}
    .wp-block-group.core-value .wp-block-columns {
        flex-wrap: wrap;
        gap: 24px 16px !important;
        margin-top: 32px!important;
    }
    .wp-block-group.core-value .wp-block-columns > .wp-block-column {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }
    .wp-block-group.core-value h5 {margin-top: 0!important;}
    .wp-block-group.core-value .wp-block-soaam-icon span{width:120px!important; height:120px!important;}
    .wp-block-group.core-value .wp-block-soaam-icon span i { font-size: 48px!important;}
    .wp-block-group.core-value .wp-block-columns > .wp-block-column .wp-block-group.is-vertical {gap:4px!important}
    .wp-block-group.core-value .wp-block-columns > .wp-block-column .wp-block-group.is-vertical p {margin-top: 0!important;}

}

/* ---- status-row: PC grid 레이아웃 ---- */
@media (min-width: 1024px) {
    .status-row {
        display: grid;
        grid-template-columns: 340px 340px 1fr;
        align-items: center;
        gap: 24px;
    }
}

/* ---- 후원자님 메시지 카드 (모바일) ---- */
/* 패딩·스티커는 % 기반이라 자동 스케일 → 폰트만 vw로 오버라이드 */
@media (max-width: 1023px) {
    .msg-card__name {
        font-size: 3.4vw;    /* ~14.4px @ 390px */
        margin-top: 0;
        margin-bottom: 2.5vw;
    }
    .msg-card__text {
        font-size: 3.1vw;    /* ~12.1px @ 390px */
        line-height: 1.77;
    }
    .msg-card__meta {
        gap: 1.5vw;
    }
    .msg-card__tag,
    .msg-card__sep,
    .msg-card__date {
        font-size: 2.6vw;    /* ~10.1px @ 390px */
    }
}
@media (max-width: 640px) {
    .account-row { font-size: 14px; flex-wrap: wrap; gap: 6px; margin-top: 24px!important; }
    .account-row:first-child {margin-top: 32px;}
    .account-row__bank { flex: 0 0 64px; }
    .account-row__number { flex: 1 1 auto; }
    .account-row__btn { flex: 1 0 100%; font-size: 13px; height: 32px; padding: 0 12px; justify-content: center; }
    .acf-form > .acf-fields > .acf-field {
        grid-template-columns: 1fr !important;
        gap: 8px 0;
        padding: 20px 0;
    }
    .acf-form > .acf-fields > .acf-field > .acf-label {
        padding: 0;
    }
    .acf-form > .acf-fields > .acf-field > .acf-input {
        grid-column: 1;
    }
    .acf-form > .acf-fields > .acf-field > .acf-label label {
        font-size: 14px;
    }
    .acf-form input[type="text"],
    .acf-form input[type="email"],
    .acf-form input[type="number"],
    .acf-form input[type="tel"],
    .acf-form input[type="url"],
    .acf-form input[type="password"],
    .acf-form textarea,
    .acf-form select {
        font-size: 15px !important;
    }
    .acf-form .acf-radio-list li label, .acf-form .acf-checkbox-list li label {
        font-size: 15px;
    }
    .acf-form .acf-input p.description,
    .acf-form .acf-input p.acf-instructions {
        font-size: 13px;
    }
    .acf-form .acf-table td.acf-field select {
        min-width: 0!important;
        padding: 0 28px 0 10px !important;
    }
    .pb-40 { padding-bottom: 56px !important; }
    .pt-20 { padding-top: 40px!important;}
    .pt-16 { padding-top: 40px !important; }
    .mb-40 { margin-bottom: 56px !important; }
    .bg-white.px-16.py-10 {padding:16px 32px 32px}
    /* 증서 폼 1단계 */
    .ready_secret .flex.items-center {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        padding: 12px 0;
    }
    .ready_secret label {
        font-size: 14px;
        width: auto;
    }
    .ready_secret input[type="text"] {
        font-size: 15px;
        padding: 10px 16px;
        border-radius: 4px;
    }
    #blood_certifcate_step_1 .bg-white,
    #donation_certifcate_step_1 .bg-white {
        padding-left: 24px;
        padding-right: 24px;
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .page-content.p-20{ padding:0 24px!important}
    .flex.items-center.gap-3.text-sm.text-g3 {font-size: 14px;}
    .border-t.py-8.px-6.text-sm {padding:12px 0; gap:6px}
    .border-t.py-8.px-6.text-sm .text-base {font-size: 14px;}
    .border-t.py-8.px-6.text-sm .flex.flex-col.gap-1 {width:100%; flex-direction: row; flex-wrap: wrap; gap:4px 12px; margin-left: 12px; }
    .border-t.py-8.px-6.text-sm a {font-size: 14px;}
    /* taxonomy text 2줄 레이아웃 (제목 / 날짜) */
    .tax-text-row {
        flex-wrap: wrap; align-items: flex-start; padding:16px; gap:6px
    }
    .tax-text-row i {padding-top: 5px;}
    /* 배지 숨김 (공지사항류 모바일) */
    .tax-text-row .single-post-badge {
        display: none;
    }
    /* 제목 — 1줄 (핀 아이콘 있을 경우 나란히) */
    .tax-text-title {
        order: 1;
        flex: 1 1 0;
        min-width: 0;
        white-space: normal;
        font-size: 16px;
        line-height: 24px;
    }
    /* 날짜 — 2줄 */
    .tax-text-date {
        order: 2;
        flex: 0 0 100%;
        font-size: 12px;
    }
    .wp-block-columns.columns-2 > .wp-block-column {
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        min-width: 0 !important;
    }
    .wp-block-columns.columns-2 > .wp-block-column .wp-block-image {
        margin-right: 56px!important
    }
    .cic .wp-block-columns.columns-2 > .wp-block-column .wp-block-image {
        margin: 0!important;
    }
    figure.wp-block-image.overlap-image:has(a)::after {
        font-size:32px;
            right: -42px;
    }
    /* pdf viewer */
    .dmain-pdf-viewer {width:calc(100% + 48px); margin:0 -24px;}
    .dpv-toolbar__left, .dpv-toolbar__right {gap:4px;}
    .dpv-page-input {width:30px;}
    .dpv-toolbar__center { display: none; }
    .dpv-btn--zoom-out,
    .dpv-btn--zoom-in,
    .dpv-zoom-select { display: none; }
    .qcard__title {font-size: 18px;}
    .qcard__date {font-size: 13px;}
    /* 후원내역 */
    .monthly-donate-wrap {width:calc(100% + 48px); margin:0 -24px}
    .donate-notice {font-size: 16px; line-height: 24px;}
    div.dt-container {overflow-x: scroll;}
    #tabs > ul {padding-bottom: 16px; gap:8px}
    #tabs > ul li a {background-color: #eee; border-radius: 55px; font-size: 14px; padding: 8px 12px;margin:0;border:0}
    #tabs > ul li.active a {background-color: #F05B89; color:#fff;margin:0;border:0 }
    #tabs > div[id^='tabs-'] > h3 {font-size: 18px!important;}
    #tabs table.dataTable thead th, #donate_wrap table.dataTable thead th {font-size: 13px!important; padding: 10px 12px!important;}
    #tabs table.dataTable tbody tr td, #donate_wrap table.dataTable tbody tr td {font-size: 14px!important; padding: 10px 12px!important;}
    /* 번호 열: 텍스트 숨기고 # 으로 대체 */
    #tabs table.dataTable thead th:nth-child(1) .dt-column-title,
    #donate_wrap table.dataTable thead th:nth-child(1) .dt-column-title { font-size: 0; }
    #tabs table.dataTable thead th:nth-child(1) .dt-column-title::after,
    #donate_wrap table.dataTable thead th:nth-child(1) .dt-column-title::after { content: '#'; font-size: 13px; color: inherit; }
    
    table.has-fixed-layout[style*="width:50%"] {width:100%!important}
    table.has-fixed-layout th, table.has-fixed-layout td {font-size: 15px!important;}
}   

/* ---- 600px 이하 ---- */
@media (max-width: 600px) {
    .ui-modal__box { padding: 28px 20px 20px; }
    .plist {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
        margin-top: 32px;
    }
    .dh-tabs { gap: 12px; }
    .dh-tab img { height: 100%; }
    .dhlist { gap: 12px; }
    .dhlist__item { flex: 0 0 calc(50% - 12px); }
    .dhlist__title {font-size: 15px; margin:4px 0 0;}
    .dhlist__date {font-size: 12px; line-height: 16px;}
    .dh-empty img {width:180%; margin:0 -40%;}
}

/* taxonomy 카드 그리드 — 모바일 2열 */
@media (max-width: 480px) {
    .taxonomy .grid-cols-4,
    .search-results-header ~ .grid-cols-4,
    .tag-search-header ~ .grid-cols-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
        row-gap: 32px !important;
    }
    .taxonomy .grid-cols-4 h3,
    .search-results-header ~ .grid-cols-4 h3,
    .tag-search-header ~ .grid-cols-4 h3 {
        font-size: 16px !important;
    }
    .taxonomy .grid-cols-4 span.absolute,
    .search-results-header ~ .grid-cols-4 span.absolute,
    .tag-search-header ~ .grid-cols-4 span.absolute {
        padding: 4px 12px !important;
        font-size: 14px;
    }
    .tag-badge {
        height: auto;
        padding: 4px 12px;
    }
    /* 카드 본문 숨김 (제목·날짜만 표시) */
    .taxonomy .grid-cols-4 article p,
    .search-results-header ~ .grid-cols-4 article p,
    .tag-search-header ~ .grid-cols-4 article p {
        display: none !important;
    }
}

@media (max-width: 389px) {
	.site-footer__info, .site-footer__accounts-list li {font-size: 12px;}
}

