/* FeatureHighlight 하단 고정 문구('특화된 진단 시스템') 숨김 — 코어가 내용과 무관하게 항상 붙이는 장식 문구 */
section .border-2.border-accent\/20 > .mt-8.pt-6.border-t-2 {
    display: none;
}

/* FeatureHighlight에 대형 단색 아이콘(.fh-icon)을 넣은 경우, 기존 작은 배지 pill은 숨김 (수 공진단 페이지) */
section div.border-accent\/20:has(.fh-icon) > div.inline-flex {
    display: none;
}

/* 수 공진단 제품 카드(구성·주요특징·이런분께): 데스크톱은 세로 3열 대신 가로형 행 3개로 (모바일은 기존 유지) */
@media (min-width: 768px) {
    section:has(img[src*="/programs/soo-gongjindan/products/"]) .grid.text-left {
        grid-template-columns: 1fr !important;
    }
    section:has(img[src*="/programs/soo-gongjindan/products/"]) .grid.text-left > .card {
        display: grid;
        grid-template-columns: 3rem 9.5rem 1fr;
        align-items: start;
        column-gap: 1.25rem;
    }
    section:has(img[src*="/programs/soo-gongjindan/products/"]) .grid.text-left > .card > div {
        margin-bottom: 0;
    }
    section:has(img[src*="/programs/soo-gongjindan/products/"]) .grid.text-left > .card > div:first-child {
        line-height: 1;
    }
}

/* 보라매 가로형 로고(13:1)가 모바일 화면 폭을 넘지 않도록 제한 */
@media (max-width: 767px) {
    #main-header a img {
        max-width: calc(100vw - 120px);
        object-position: left center;
    }
}

/* ═══ 한글 타이포그래피 표준 (supanova-design-skill 반영, 2026-07-17) ═══ */
/* 1) 어절 단위 줄바꿈: 한글 단어가 중간에서 끊기지 않도록 (긴 영문·URL은 break-word 안전장치) */
h1, h2, h3, h4, h5, h6,
p, li, dt, dd, blockquote, figcaption, summary {
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* 2) 제목 줄바꿈 균형(양쪽 줄 길이 비슷하게) + 문단 끝 한 단어 고아줄 방지 */
h1, h2, h3 {
    text-wrap: balance;
}
p {
    text-wrap: pretty;
}

/* 3) 대형 한글 제목 자간 미세 조정 (명조 헤딩 포함 살짝 좁게 — 커질수록 벌어져 보이는 한글 특성 보정) */
h1, h2 {
    letter-spacing: -0.015em;
}

/* ═══ CTA 버튼 프리미엄화 (supanova-design-skill 반영, 2026-07-20) ═══ */
/* 링크형 주 CTA(a.btn--primary)에만 적용 — 관리자 화면의 폼 제출 버튼(button.btn--primary)은 제외 */
a.btn--primary {
    transition:
        transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        background 0.3s ease;
}

/* 화살표 배지는 텍스트형 CTA에만 — 자체 아이콘(svg)이 이미 있는 유틸 버튼(티맵 길찾기 등)은 제외 */
a.btn--primary:not(:has(> svg)) {
    position: relative;
    padding-right: calc(1em + 2.5em);
}

/* 오른쪽 끝 화살표 원형 배지 — 흰 원 안에 딥그린 화살표(스킨 액센트 #3f6212) */
a.btn--primary:not(:has(> svg))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.35em;
    width: 2.1em;
    height: 2.1em;
    transform: translateY(-50%);
    border-radius: 9999px;
    background-color: rgba(255, 255, 255, 0.94);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f6212' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 52%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

a.btn--primary:hover {
    transform: translateY(-2px);
}
a.btn--primary:not(:has(> svg)):hover::after {
    transform: translateY(-50%) translateX(3px);
}
a.btn--primary:active {
    transform: translateY(0) scale(0.97);
    transition-duration: 0.15s;
}

@media (prefers-reduced-motion: reduce) {
    a.btn--primary,
    a.btn--primary::after {
        transition: none;
    }
    a.btn--primary:hover {
        transform: none;
    }
}
