/*
Theme Name:   Astra Child SEED Healthcare
Theme URI:    https://seedhealthcare.co.kr/
Description:  SEED HEALTHCARE 공식 사이트용 Astra Child 테마. 차세대 헬스케어 솔루션.
Author:       SEED HEALTHCARE
Author URI:   https://seedhealthcare.co.kr/
Template:     astra
Version:      1.5.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  astra-child-seedhealthcare
*/

/* ========================================
   01. CSS VARIABLES
   ======================================== */
:root {
    --sh-text-primary: #1a1a1a;
    --sh-text-secondary: #475569;
    --sh-bg-white: #ffffff;
    --sh-bg-light: #f7f9fc;
    --sh-accent-primary: #0066B3;
    --sh-accent-secondary: #00A8B5;
    --sh-accent-highlight: #FF6B35;
    --sh-inner-max: 1200px;
    --sh-header-max: 1200px;
    --sh-pad: 24px;
}

/* ========================================
   02. GLOBAL BASE
   ======================================== */
html { scroll-behavior: smooth; }
body { color: var(--sh-text-primary); word-break: keep-all; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease; }

.sh-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.sh-inner,
.sh-section-inner {
    max-width: var(--sh-inner-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--sh-pad);
    padding-right: var(--sh-pad);
}

.sh-section-label {
    margin: 0 0 16px;
    color: var(--sh-accent-secondary);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .22em;
}

/* 커스텀 페이지는 Astra 기본 박스 폭에서 빠져나오도록 통일 */
body.sh-greeting-body .site-content > .ast-container,
body.sh-business-body .site-content > .ast-container,
body.sh-greeting-body #primary,
body.sh-business-body #primary,
body.home .site-content > .ast-container,
body.home #primary {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.sh-greeting-body #content,
body.sh-business-body #content,
body.home #content,
body.sh-greeting-body .site-content,
body.sh-business-body .site-content,
body.home .site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ========================================
   03. ASTRA HEADER NORMALIZE
   ======================================== */
.site-header,
#masthead,
.ast-primary-header-bar,
.main-header-bar,
.site-primary-header-wrap,
.ast-main-header-wrap,
.ast-builder-grid-row-container,
.site-header .ast-container {
    overflow: visible !important;
}

.site-header,
#masthead {
    position: relative;
    z-index: 99999 !important;
}

.site-header .ast-container,
.ast-builder-grid-row-container {
    max-width: var(--sh-header-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--sh-pad) !important;
    padding-right: var(--sh-pad) !important;
    width: 100% !important;
}

/* ========================================
   04. TRANSPARENT HEADER ON HERO PAGES
   - 홈 / 인사말 / 사업분야는 프론트페이지처럼 배경 이미지 위에 헤더 노출
   ======================================== */
@media (min-width: 922px) {
    body.home .site-header,
    body.home #masthead,
    body.sh-greeting-body .site-header,
    body.sh-greeting-body #masthead,
    body.sh-business-body .site-header,
    body.sh-business-body #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.home .ast-primary-header-bar,
    body.home .main-header-bar,
    body.home .site-primary-header-wrap,
    body.home .ast-above-header,
    body.home .ast-below-header,
    body.home .ast-main-header-wrap,
    body.sh-greeting-body .ast-primary-header-bar,
    body.sh-greeting-body .main-header-bar,
    body.sh-greeting-body .site-primary-header-wrap,
    body.sh-greeting-body .ast-above-header,
    body.sh-greeting-body .ast-below-header,
    body.sh-greeting-body .ast-main-header-wrap,
    body.sh-business-body .ast-primary-header-bar,
    body.sh-business-body .main-header-bar,
    body.sh-business-body .site-primary-header-wrap,
    body.sh-business-body .ast-above-header,
    body.sh-business-body .ast-below-header,
    body.sh-business-body .ast-main-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        border-bottom-color: rgba(255,255,255,.15) !important;
        box-shadow: none !important;
    }
}

/* ========================================
   05. GLOBAL FULL WIDTH MEGAMENU
   - 백드롭은 header::after로 깔아 로고/메뉴를 덮지 않게 처리
   ======================================== */
@media (min-width: 922px) {
    html body .main-header-menu::before {
        display: none !important;
        content: none !important;
    }

    html body .site-header .ast-container,
    html body .site-header .ast-builder-grid-row-container,
    html body .site-header .site-branding,
    html body .site-header .ast-site-identity,
    html body .site-header .main-navigation,
    html body .site-header .main-header-menu {
        position: relative !important;
        z-index: 10 !important;
    }

    html body .site-header::after,
    html body #masthead::after {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 100vw;
        height: 420px;
        transform: translateX(-50%);
        background: #ffffff;
        border-top: 3px solid var(--sh-accent-primary);
        box-shadow: 0 18px 45px rgba(15, 23, 42, .12);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .22s ease, visibility .22s ease;
        z-index: 1;
    }

    html body .site-header:hover::after,
    html body #masthead:hover::after {
        opacity: 1;
        visibility: visible;
    }

    html body .main-header-menu {
        position: relative !important;
        overflow: visible !important;
        z-index: 20 !important;
    }

    html body .main-header-menu > li.menu-item {
        position: relative !important;
        z-index: 2 !important;
    }

    html body .main-header-menu > li.menu-item > a.menu-link {
        position: relative !important;
        z-index: 3 !important;
        padding: 28px 22px !important;
        color: var(--sh-text-primary) !important;
        background: transparent !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        letter-spacing: .01em;
        line-height: 1.2 !important;
        transition: color .2s ease !important;
    }

    body.home .main-header-menu > li.menu-item > a.menu-link,
    body.sh-greeting-body .main-header-menu > li.menu-item > a.menu-link,
    body.sh-business-body .main-header-menu > li.menu-item > a.menu-link {
        color: #ffffff !important;
    }

    html body .site-header:hover .main-header-menu > li.menu-item > a.menu-link,
    html body #masthead:hover .main-header-menu > li.menu-item > a.menu-link {
        color: var(--sh-text-primary) !important;
    }

    html body .site-header:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    html body #masthead:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    html body .main-header-menu > li.current-menu-item > a.menu-link,
    html body .main-header-menu > li.current-menu-ancestor > a.menu-link {
        color: var(--sh-accent-secondary) !important;
    }

    html body .main-header-menu > li.menu-item-has-children > ul.sub-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        min-width: 210px !important;
        width: max-content !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 22px 10px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(8px) !important;
        transition: opacity .22s ease, visibility .22s ease, transform .22s ease !important;
        z-index: 20 !important;
    }

    html body .site-header:hover .main-header-menu > li.menu-item-has-children > ul.sub-menu,
    html body #masthead:hover .main-header-menu > li.menu-item-has-children > ul.sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    html body .main-header-menu .sub-menu li.menu-item {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    html body .main-header-menu .sub-menu li.menu-item > a.menu-link {
        display: block !important;
        padding: 10px 16px !important;
        color: #1a1a1a !important;
        background: transparent !important;
        border-left: 2px solid transparent !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        opacity: 1 !important;
        visibility: visible !important;
        transition: all .18s ease !important;
    }

    html body .main-header-menu .sub-menu li.menu-item:hover > a.menu-link,
    html body .main-header-menu .sub-menu li.current-menu-item > a.menu-link {
        color: var(--sh-accent-primary) !important;
        background: var(--sh-bg-light) !important;
        border-left-color: var(--sh-accent-secondary) !important;
        padding-left: 20px !important;
    }

    html body .main-header-menu .sub-menu li.menu-item > a.menu-link *,
    html body .main-header-menu .sub-menu li.menu-item > a.menu-link .dropdown-menu-toggle {
        color: inherit !important;
        opacity: 1 !important;
    }

    html body .main-header-menu > li.menu-item > .ast-menu-toggle {
        display: none !important;
    }
}

/* ========================================
   06. MOBILE HEADER RESET
   ======================================== */
@media (max-width: 921px) {
    body.home .site-header,
    body.home #masthead,
    body.sh-greeting-body .site-header,
    body.sh-greeting-body #masthead,
    body.sh-business-body .site-header,
    body.sh-business-body #masthead {
        position: relative !important;
        background: #ffffff !important;
    }

    body.home .ast-primary-header-bar,
    body.home .main-header-bar,
    body.home .site-primary-header-wrap,
    body.home .ast-main-header-wrap,
    body.sh-greeting-body .ast-primary-header-bar,
    body.sh-greeting-body .main-header-bar,
    body.sh-greeting-body .site-primary-header-wrap,
    body.sh-greeting-body .ast-main-header-wrap,
    body.sh-business-body .ast-primary-header-bar,
    body.sh-business-body .main-header-bar,
    body.sh-business-body .site-primary-header-wrap,
    body.sh-business-body .ast-main-header-wrap {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    html body .site-header::after,
    html body #masthead::after {
        display: none !important;
    }

    html body .main-header-menu::before {
        display: none !important;
        content: none !important;
    }

    body.home .main-header-menu > li.menu-item > a.menu-link,
    body.sh-greeting-body .main-header-menu > li.menu-item > a.menu-link,
    body.sh-business-body .main-header-menu > li.menu-item > a.menu-link,
    html body .main-header-menu > li.menu-item > a.menu-link {
        color: var(--sh-text-primary) !important;
    }
}

/* ========================================
   07. SUB PAGE HERO COMMON
   ======================================== */
.sh-page {
    width: 100%;
    overflow-x: hidden;
    color: var(--sh-text-primary);
}

.sh-greeting-page .sh-sub-hero,
.sh-business-page .sh-business-hero,
.sh-greeting-page .sh-greeting-intro,
.sh-greeting-page .sh-greeting-solution,
.sh-business-page .sh-business-intro,
.sh-business-page .sh-business-fields,
.sh-business-page .sh-business-brands,
.sh-business-page .sh-business-cta,
.sh-partners--sub {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* ========================================
   08. GREETING PAGE
   ======================================== */
.sh-greeting-page .sh-sub-hero {
    min-height: clamp(560px, 42vw, 720px);
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.44) 44%, rgba(0,0,0,.18) 100%),
        var(--sub-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.sh-greeting-page .sh-sub-hero__inner {
    max-width: var(--sh-inner-max);
    width: 100%;
    margin: 0 auto;
    padding: 145px var(--sh-pad) 92px;
    color: #ffffff;
}

.sh-greeting-page .sh-sub-hero__eyebrow,
.sh-business-hero .sh-section-label {
    color: var(--sh-accent-secondary);
}

.sh-greeting-page .sh-sub-hero__eyebrow {
    margin: 0 0 20px;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .28em;
}

.sh-greeting-page .sh-sub-hero__title,
.sh-business-hero h1 {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(46px, 5.4vw, 72px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.sh-greeting-page .sh-sub-hero__desc,
.sh-business-hero p:not(.sh-section-label):not(.sh-business-hero__eyebrow) {
    max-width: 820px;
    margin: 0;
    color: rgba(255,255,255,.94);
    font-size: 20px;
    line-height: 1.75;
}

.sh-sub-hero__keywords,
.sh-business-hero__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

.sh-sub-hero__keywords span,
.sh-business-hero__keywords span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 15px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    background: rgba(0,168,181,.18);
    border: 1px solid rgba(0,168,181,.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.sh-greeting-intro {
    padding: 110px 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(0,168,181,.11), transparent 28%),
        radial-gradient(circle at 88% 82%, rgba(0,102,179,.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-greeting-intro__inner {
    max-width: var(--sh-inner-max);
    margin: 0 auto;
    padding: 0 var(--sh-pad);
}

.sh-greeting-intro__head {
    margin-bottom: 58px;
}

.sh-greeting-intro__head h2 {
    max-width: 900px;
    margin: 0;
    color: #111827;
    font-size: clamp(36px,4.2vw,56px);
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: -.05em;
}

.sh-greeting-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 70px;
    align-items: center;
}

.sh-greeting-intro__lead {
    margin: 0 0 30px !important;
    color: #111827;
    font-size: 25px !important;
    font-weight: 900;
    line-height: 1.55 !important;
}

.sh-greeting-intro__content p {
    margin: 0 0 21px;
    color: #475569;
    font-size: 17px;
    line-height: 1.95;
}

.sh-greeting-intro__visual {
    overflow: hidden;
    border-radius: 28px;
    background: #e5e7eb;
    box-shadow: 0 28px 70px rgba(15,23,42,.14);
}

.sh-greeting-intro__visual img {
    display: block;
    width: 100%;
    height: 620px;
    object-fit: cover;
    object-position: center center;
}

.sh-greeting-solution {
    padding: 110px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(0,168,181,.10), transparent 30%),
        linear-gradient(135deg, #eef7fb 0%, #f8fbfd 48%, #ffffff 100%);
}

.sh-greeting-solution__inner {
    max-width: var(--sh-inner-max);
    margin: 0 auto;
    padding: 0 var(--sh-pad);
}

.sh-greeting-solution__title { margin-bottom: 54px; text-align: center; }
.sh-greeting-solution__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(32px,4vw,48px);
    font-weight: 900;
    letter-spacing: -.04em;
}
.sh-greeting-solution__title p {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
}
.sh-greeting-solution__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.sh-greeting-solution-card {
    min-height: 250px;
    padding: 34px 30px;
    border-radius: 20px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(226,232,240,.95);
    box-shadow: 0 14px 34px rgba(15,23,42,.055);
    transition: all .25s ease;
}
.sh-greeting-solution-card:hover {
    transform: translateY(-8px);
    border-color: var(--sh-accent-secondary);
    box-shadow: 0 22px 48px rgba(15,23,42,.10);
}
.sh-greeting-solution-card span {
    display: block;
    margin-bottom: 20px;
    color: var(--sh-accent-secondary);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    opacity: .55;
}
.sh-greeting-solution-card h3 {
    margin: 0 0 14px;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.35;
}
.sh-greeting-solution-card p {
    margin: 0;
    color: #64748b;
    font-size: 15.5px;
    line-height: 1.8;
}

/* ========================================
   09. BUSINESS PAGE
   ======================================== */
.sh-business-hero {
    min-height: clamp(560px, 42vw, 720px);
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.44) 44%, rgba(0,0,0,.18) 100%),
        var(--business-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.sh-business-hero__inner {
    max-width: var(--sh-inner-max);
    width: 100%;
    margin: 0 auto;
    padding: 145px var(--sh-pad) 92px;
    color: #fff;
}

.sh-business-intro {
    padding: 100px 0;
    background: #ffffff;
}
.sh-business-intro__inner,
.sh-business-fields__inner,
.sh-business-brands__inner,
.sh-business-cta__inner {
    max-width: var(--sh-inner-max);
    margin: 0 auto;
    padding: 0 var(--sh-pad);
}
.sh-business-intro__head h2,
.sh-business-fields__title h2,
.sh-business-brands__head h2,
.sh-business-cta h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(32px,4vw,50px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.04em;
}
.sh-business-intro__head { margin-bottom: 34px; }
.sh-business-intro__text {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px;
}
.sh-business-intro__text p {
    margin: 0;
    color: #475569;
    font-size: 17px;
    line-height: 1.95;
}

.sh-business-fields {
    padding: 110px 0;
    background:
        radial-gradient(circle at 15% 12%, rgba(0,168,181,.11), transparent 30%),
        linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%);
}
.sh-business-fields__title { text-align: center; margin-bottom: 64px; }
.sh-business-fields__title p,
.sh-business-brands__head p,
.sh-business-cta p {
    max-width: 760px;
    margin: 18px auto 0;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
}
.sh-business-field-list {
    display: grid;
    gap: 42px;
}
.sh-business-field {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 52px;
    padding: 34px;
    border-radius: 26px;
    background: rgba(255,255,255,.88);
    border: 1px solid #e5e7eb;
    box-shadow: 0 18px 48px rgba(15,23,42,.07);
}
.sh-business-field.is-reverse .sh-business-field__media { order: 2; }
.sh-business-field__media {
    overflow: hidden;
    border-radius: 20px;
    background: #e5e7eb;
}
.sh-business-field__media img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover;
    object-position: center center;
}
.sh-business-field__num {
    display: block;
    margin-bottom: 18px;
    color: var(--sh-accent-secondary);
    font-size: 42px;
    font-weight: 900;
    line-height: 1;
    opacity: .45;
}
.sh-business-field__eyebrow {
    margin: 0 0 10px;
    color: var(--sh-accent-primary);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sh-business-field h3 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(26px,3vw,36px);
    font-weight: 900;
    letter-spacing: -.04em;
}
.sh-business-field__desc {
    margin: 0 0 22px;
    color: #475569;
    font-size: 16px;
    line-height: 1.85;
}
.sh-business-field ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}
.sh-business-field li {
    position: relative;
    padding-left: 18px;
    color: #334155;
    font-size: 15px;
    line-height: 1.6;
}
.sh-business-field li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .7em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--sh-accent-secondary);
}

.sh-business-brands {
    padding: 100px 0;
    background: #ffffff;
}
.sh-business-brands__head { text-align: center; margin-bottom: 48px; }
.sh-business-brand-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}
.sh-business-brand-grid span {
    min-height: 104px;
    padding: 24px 18px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 14px 30px rgba(15,23,42,.045);
    color: var(--sh-accent-primary);
    font-size: 18px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sh-business-cta {
    padding: 100px 0;
    background:
        linear-gradient(135deg, rgba(0,102,179,.96) 0%, rgba(0,168,181,.90) 100%);
    color: #fff;
    text-align: center;
}
.sh-business-cta .sh-section-label,
.sh-business-cta h2,
.sh-business-cta p { color: #fff; }
.sh-business-cta__buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}
.sh-business-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
}
.sh-business-btn--primary { background: #fff; color: var(--sh-accent-primary); }
.sh-business-btn--ghost { border: 1px solid rgba(255,255,255,.45); color: #fff; }

/* ========================================
   10. SUB PAGE PARTNERS LOGO GRID
   - Swiper 없이 모든 하위 페이지에서 가로 로고 카드로 고정
   ======================================== */
.sh-partners--sub {
    padding: 90px 0;
    background: #ffffff;
}
.sh-partners--sub .sh-inner {
    max-width: var(--sh-inner-max);
    margin: 0 auto;
    padding: 0 var(--sh-pad);
}
.sh-partners--sub .sh-con-title {
    text-align: center;
    margin-bottom: 44px;
}
.sh-partners--sub .sh-con-title h2 {
    margin: 0 0 16px;
    color: #111827;
    font-size: clamp(32px,4vw,42px);
    font-weight: 900;
    letter-spacing: .05em;
}
.sh-partners--sub .sh-con-title h2 span { color: var(--sh-accent-secondary); }
.sh-partners--sub .sh-con-title p {
    margin: 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.7;
}
.sh-partners--sub .sh-partner-logo-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}
.sh-partners--sub .sh-partner-logo-card {
    height: 120px;
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sh-partners--sub .sh-partner-logo-card:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary);
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}
.sh-partners--sub .sh-partner-logo-img {
    display: block;
    max-width: 150px;
    max-height: 58px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .72;
    transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.sh-partners--sub .sh-partner-logo-card:hover .sh-partner-logo-img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.04);
}

/* ========================================
   11. RESPONSIVE
   ======================================== */
@media (max-width: 991px) {
    .sh-greeting-page .sh-sub-hero,
    .sh-business-hero { min-height: 460px; }
    .sh-greeting-page .sh-sub-hero__inner,
    .sh-business-hero__inner { padding: 90px var(--sh-pad); }
    .sh-greeting-intro,
    .sh-greeting-solution,
    .sh-business-intro,
    .sh-business-fields,
    .sh-business-brands,
    .sh-business-cta { padding: 76px 0; }
    .sh-greeting-intro__grid,
    .sh-business-intro__text,
    .sh-business-field { grid-template-columns: 1fr; }
    .sh-business-field.is-reverse .sh-business-field__media { order: 0; }
    .sh-greeting-intro__visual img { height: 440px; }
    .sh-greeting-solution__grid { grid-template-columns: repeat(2, 1fr); }
    .sh-business-brand-grid { grid-template-columns: repeat(3, 1fr); }
    .sh-partners--sub .sh-partner-logo-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 575px) {
    :root { --sh-pad: 20px; }
    .sh-greeting-page .sh-sub-hero,
    .sh-business-hero { min-height: 420px; }
    .sh-greeting-page .sh-sub-hero__inner,
    .sh-business-hero__inner { padding: 72px var(--sh-pad); }
    .sh-greeting-page .sh-sub-hero__title,
    .sh-business-hero h1 { font-size: 42px; }
    .sh-greeting-page .sh-sub-hero__desc,
    .sh-business-hero p { font-size: 16px; }
    .sh-sub-hero__keywords span,
    .sh-business-hero__keywords span { min-height: 32px; padding: 7px 12px; font-size: 12.5px; }
    .sh-greeting-intro,
    .sh-greeting-solution,
    .sh-business-intro,
    .sh-business-fields,
    .sh-business-brands,
    .sh-business-cta,
    .sh-partners--sub { padding: 58px 0; }
    .sh-greeting-intro__head h2,
    .sh-business-intro__head h2,
    .sh-business-fields__title h2,
    .sh-business-brands__head h2,
    .sh-business-cta h2 { font-size: 32px; }
    .sh-greeting-intro__lead { font-size: 21px !important; }
    .sh-greeting-intro__content p,
    .sh-business-intro__text p { font-size: 15.5px; }
    .sh-greeting-intro__visual img { height: 360px; }
    .sh-greeting-solution__grid,
    .sh-business-brand-grid,
    .sh-partners--sub .sh-partner-logo-grid { grid-template-columns: 1fr; }
    .sh-business-field { padding: 22px; }
    .sh-business-field__media img { height: 280px; }
    .sh-partners--sub .sh-partner-logo-card { height: 100px; padding: 20px 24px; }
    .sh-partners--sub .sh-partner-logo-img { max-width: 150px; max-height: 52px; }
}


/* ========================================
   12. PARTNER GRID COMPATIBILITY
   - greeting/business 하단 파트너 로고 공통 그리드
   ======================================== */
.sh-partner-grid,
.sh-partner-logo-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.sh-partner-card,
.sh-partner-logo-card {
    height: 120px;
    padding: 24px 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.sh-partner-card:hover,
.sh-partner-logo-card:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary);
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}

.sh-partner-card .sh-partner-logo-img,
.sh-partner-logo-card .sh-partner-logo-img {
    display: block;
    max-width: 150px;
    max-height: 58px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: .72;
    transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}

.sh-partner-card:hover .sh-partner-logo-img,
.sh-partner-logo-card:hover .sh-partner-logo-img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.04);
}

@media (max-width: 991px) {
    .sh-partner-grid,
    .sh-partner-logo-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 575px) {
    .sh-partner-grid,
    .sh-partner-logo-grid { grid-template-columns: 1fr; }
    .sh-partner-card,
    .sh-partner-logo-card { height: 100px; padding: 20px 24px; }
    .sh-partner-card .sh-partner-logo-img,
    .sh-partner-logo-card .sh-partner-logo-img { max-width: 150px; max-height: 52px; }
}


/* ========================================
   PARTNERS PAGE PATCH - INCLUDED IN V6
   ======================================== */

/* ========================================
   COMPANY PARTNERS PAGE - FULL WIDTH VERSION
   /company/partners/
   style.css 최하단에 붙여넣기
   ======================================== */

/* 페이지 전체 */
.sh-partner-page {
    width: 100% !important;
    max-width: none !important;
    overflow-x: hidden;
}

/* Astra 컨테이너 안에 갇혀도 모든 섹션을 풀폭으로 */
.sh-partner-page .sh-sub-hero,
.sh-partner-page .sh-partner-intro,
.sh-partner-page .sh-partner-brand,
.sh-partner-page .sh-partner-process,
.sh-partner-page .sh-partner-cta {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* 협력업체 페이지도 프론트페이지처럼 hero 위 투명 헤더 */
@media (min-width: 922px) {
    body.sh-partner-body .site-header,
    body.sh-partner-body #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.sh-partner-body .ast-primary-header-bar,
    body.sh-partner-body .main-header-bar,
    body.sh-partner-body .site-primary-header-wrap,
    body.sh-partner-body .ast-above-header,
    body.sh-partner-body .ast-below-header,
    body.sh-partner-body .ast-main-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border-bottom-color: rgba(255, 255, 255, 0.15) !important;
    }

    body.sh-partner-body .site-header .ast-container,
    body.sh-partner-body .site-header .ast-builder-grid-row-container,
    body.sh-partner-body .site-header .site-branding,
    body.sh-partner-body .site-header .ast-site-identity,
    body.sh-partner-body .site-header .main-navigation,
    body.sh-partner-body .site-header .main-header-menu {
        position: relative !important;
        z-index: 10 !important;
    }

    body.sh-partner-body .main-header-menu > li.menu-item > a.menu-link,
    body.sh-partner-body .site-header .main-header-menu > li.menu-item > a.menu-link,
    body.sh-partner-body .ast-builder-menu-1 .main-header-menu > li.menu-item > a.menu-link {
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    body.sh-partner-body .site-header:hover .main-header-menu > li.menu-item > a.menu-link,
    body.sh-partner-body #masthead:hover .main-header-menu > li.menu-item > a.menu-link {
        color: #1a1a1a !important;
    }

    body.sh-partner-body .site-header:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    body.sh-partner-body #masthead:hover .main-header-menu > li.menu-item:hover > a.menu-link {
        color: var(--sh-accent-secondary, #00A8B5) !important;
    }

    body.sh-partner-body #content,
    body.sh-partner-body .site-content,
    body.sh-partner-body #primary,
    body.sh-partner-body .site-content > .ast-container {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

/* HERO */
.sh-partner-page .sh-sub-hero {
    position: relative;
    min-height: clamp(560px, 42vw, 720px);
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.sh-partner-page .sh-sub-hero__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 145px 24px 92px;
    color: #ffffff;
}

.sh-partner-page .sh-sub-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.28em;
}

.sh-partner-page .sh-sub-hero__title {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(46px, 5.4vw, 72px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.sh-partner-page .sh-sub-hero__desc {
    margin: 0;
    max-width: 850px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 20px;
    line-height: 1.75;
    word-break: keep-all;
}

.sh-partner-page .sh-sub-hero__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

.sh-partner-page .sh-sub-hero__keywords span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 15px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    background: rgba(0, 168, 181, 0.18);
    border: 1px solid rgba(0, 168, 181, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* 공통 inner */
.sh-partner-intro__inner,
.sh-partner-brand__inner,
.sh-partner-process__inner,
.sh-partner-cta__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* INTRO */
.sh-partner-intro {
    position: relative;
    padding: 110px 0 90px;
    background:
        radial-gradient(circle at 10% 16%, rgba(0, 168, 181, 0.13), transparent 30%),
        radial-gradient(circle at 90% 86%, rgba(0, 102, 179, 0.09), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-partner-intro__title {
    max-width: 920px;
    margin: 0 auto 56px;
    text-align: center;
}

.sh-section-label {
    margin: 0 0 16px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.22em;
}

.sh-partner-intro__title h2,
.sh-partner-brand__head h2,
.sh-partner-process__title h2,
.sh-partner-cta__inner h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: -0.05em;
    word-break: keep-all;
}

.sh-partner-intro__title > p:not(.sh-section-label) {
    margin: 22px auto 0;
    max-width: 780px;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-partner-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.sh-partner-stat {
    padding: 32px 24px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    text-align: center;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
}

.sh-partner-stat strong {
    display: block;
    margin-bottom: 10px;
    color: var(--sh-accent-primary, #0066B3);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.sh-partner-stat span {
    color: #475569;
    font-size: 15px;
    font-weight: 700;
}

/* BRAND SECTION */
.sh-partner-brand {
    position: relative;
    padding: 115px 0;
    background:
        radial-gradient(circle at 92% 18%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(135deg, #eef7fb 0%, #f8fbfd 48%, #ffffff 100%);
}

.sh-partner-brand__head {
    max-width: 920px;
    margin: 0 auto 60px;
    text-align: center;
}

.sh-partner-brand__head p:not(.sh-section-label) {
    margin: 20px auto 0;
    max-width: 800px;
    color: #64748b;
    font-size: 16.5px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-partner-brand__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.sh-partner-brand-card {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
    padding: 30px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(226, 232, 240, 0.96);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sh-partner-brand-card:hover {
    transform: translateY(-7px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.10);
}

.sh-partner-brand-card__logo {
    min-height: 190px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px;
}

.sh-partner-brand-card__logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.sh-partner-brand-card__logo img {
    display: block;
    max-width: 160px;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.76;
    transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

.sh-partner-brand-card:hover .sh-partner-brand-card__logo img {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.04);
}

.sh-partner-brand-card__content span {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sh-partner-brand-card__content h3 {
    margin: 0 0 12px;
    color: #111827;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.35;
    word-break: keep-all;
}

.sh-partner-brand-card__content p {
    margin: 0 0 18px;
    color: #64748b;
    font-size: 15.5px;
    line-height: 1.78;
    word-break: keep-all;
}

.sh-partner-brand-card__content ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.sh-partner-brand-card__content li {
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0, 168, 181, 0.08);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 12.5px;
    font-weight: 800;
}

/* PROCESS */
.sh-partner-process {
    position: relative;
    padding: 110px 0;
    background: #ffffff;
}

.sh-partner-process__title {
    margin-bottom: 54px;
    text-align: center;
}

.sh-partner-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.sh-partner-process__grid article {
    padding: 36px 28px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sh-partner-process__grid article:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.10);
}

.sh-partner-process__grid span {
    display: block;
    margin-bottom: 20px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
    opacity: 0.58;
}

.sh-partner-process__grid h3 {
    margin: 0 0 12px;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
}

.sh-partner-process__grid p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.78;
    word-break: keep-all;
}

/* CTA */
.sh-partner-cta {
    padding: 95px 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.20), transparent 26%),
        linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%);
    color: #ffffff;
}

.sh-partner-cta__inner {
    text-align: center;
}

.sh-partner-cta__inner > p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.24em;
}

.sh-partner-cta__inner h2 {
    color: #ffffff;
}

.sh-partner-cta__inner > span {
    display: block;
    margin: 22px auto 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
}

.sh-partner-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.sh-partner-cta__buttons a {
    display: inline-flex;
    min-height: 48px;
    padding: 13px 24px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
}

.sh-partner-cta__buttons a:first-child {
    background: #ffffff;
    color: var(--sh-accent-primary, #0066B3);
}

.sh-partner-cta__buttons a:last-child {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

/* Tablet */
@media (max-width: 991px) {
    .sh-partner-page .sh-sub-hero {
        min-height: 520px;
    }

    .sh-partner-page .sh-sub-hero__inner {
        padding: 120px 24px 86px;
    }

    .sh-partner-intro,
    .sh-partner-brand,
    .sh-partner-process {
        padding: 76px 0;
    }

    .sh-partner-stats,
    .sh-partner-process__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sh-partner-brand__grid {
        grid-template-columns: 1fr;
    }

    .sh-partner-brand-card {
        grid-template-columns: 210px 1fr;
    }
}

/* Mobile */
@media (max-width: 575px) {
    body.sh-partner-body .site-header,
    body.sh-partner-body #masthead {
        position: relative !important;
        background: #ffffff !important;
    }

    body.sh-partner-body .ast-primary-header-bar,
    body.sh-partner-body .main-header-bar,
    body.sh-partner-body .site-primary-header-wrap,
    body.sh-partner-body .ast-main-header-wrap {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    body.sh-partner-body .main-header-menu > li.menu-item > a.menu-link {
        color: #1a1a1a !important;
    }

    .sh-partner-page .sh-sub-hero {
        min-height: 440px;
        background-position: 62% center;
    }

    .sh-partner-page .sh-sub-hero__inner {
        padding: 72px 20px;
    }

    .sh-partner-page .sh-sub-hero__title {
        font-size: 42px;
    }

    .sh-partner-page .sh-sub-hero__desc {
        font-size: 16px;
    }

    .sh-partner-page .sh-sub-hero__keywords {
        gap: 8px;
    }

    .sh-partner-page .sh-sub-hero__keywords span {
        min-height: 32px;
        padding: 7px 12px;
        font-size: 12.5px;
    }

    .sh-partner-intro,
    .sh-partner-brand,
    .sh-partner-process,
    .sh-partner-cta {
        padding: 58px 0;
    }

    .sh-partner-intro__inner,
    .sh-partner-brand__inner,
    .sh-partner-process__inner,
    .sh-partner-cta__inner {
        padding: 0 20px;
    }

    .sh-partner-intro__title h2,
    .sh-partner-brand__head h2,
    .sh-partner-process__title h2,
    .sh-partner-cta__inner h2 {
        font-size: 31px;
    }

    .sh-partner-stats,
    .sh-partner-process__grid {
        grid-template-columns: 1fr;
    }

    .sh-partner-brand-card {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .sh-partner-brand-card__logo {
        min-height: 120px;
    }

    .sh-partner-brand-card__logo img {
        max-width: 150px;
        max-height: 60px;
    }
}

/* ========================================
   BUSINESS PARTNERS SIZE MATCH
   사업분야 하단 파트너 로고를 인사말 페이지와 동일 사이즈로 통일
   ======================================== */

.sh-partners--business {
    padding: 90px 0 !important;
    background: #ffffff !important;
}

.sh-partners--business .sh-inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.sh-partners--business .sh-partner-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.sh-partners--business .sh-partner-card {
    height: 96px !important;
    padding: 20px 22px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.sh-partners--business .sh-partner-logo-img {
    display: block !important;
    max-width: 135px !important;
    max-height: 52px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: grayscale(100%) !important;
    opacity: 0.72 !important;
}

.sh-partners--business .sh-partner-card:hover .sh-partner-logo-img {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.04) !important;
}

/* 태블릿 */
@media (max-width: 991px) {
    .sh-partners--business .sh-partner-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .sh-partners--business .sh-partner-card {
        height: 100px !important;
    }
}

/* 모바일 */
@media (max-width: 575px) {
    .sh-partners--business {
        padding: 56px 0 !important;
    }

    .sh-partners--business .sh-inner {
        padding: 0 20px !important;
    }

    .sh-partners--business .sh-partner-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .sh-partners--business .sh-partner-card {
        height: 92px !important;
        padding: 18px !important;
    }

    .sh-partners--business .sh-partner-logo-img {
        max-width: 120px !important;
        max-height: 46px !important;
    }
}

.sh-business-network .sh-partner-grid,
.sh-business-network .sh-partner-grid--network {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

.sh-business-network .sh-partner-card {
    height: 96px !important;
    padding: 20px 22px !important;
    border-radius: 12px !important;
}

.sh-business-network .sh-partner-logo-img {
    max-width: 135px !important;
    max-height: 52px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* ========================================
   BUSINESS NETWORK CENTER + LOGO SIZE FIX
   사업분야 글로벌 브랜드 영역 중앙 정렬 복구
   ======================================== */

.sh-business-network {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 90px 0 80px !important;
    background: #ffffff !important;
    text-align: center !important;
    overflow: hidden !important;
}

.sh-business-network__inner {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

.sh-business-network__title {
    max-width: 860px !important;
    margin: 0 auto 42px !important;
    text-align: center !important;
}

.sh-business-network__title .sh-section-label,
.sh-business-network__title h2,
.sh-business-network__title p {
    text-align: center !important;
}

.sh-business-network__title h2 {
    margin: 0 0 18px !important;
    color: #111827 !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.04em !important;
    word-break: keep-all !important;
}

.sh-business-network__title p:not(.sh-section-label) {
    max-width: 760px !important;
    margin: 0 auto !important;
    color: #64748b !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    word-break: keep-all !important;
}

/* 로고 그리드: 인사말 페이지와 같은 느낌 */
.sh-business-network .sh-partner-grid,
.sh-business-network .sh-partner-grid--network {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.sh-business-network .sh-partner-card {
    height: 96px !important;
    padding: 20px 22px !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.sh-business-network .sh-partner-logo-img {
    display: block !important;
    max-width: 135px !important;
    max-height: 52px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: grayscale(100%) !important;
    opacity: 0.72 !important;
}

.sh-business-network .sh-partner-card:hover .sh-partner-logo-img {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.04) !important;
}

/* 태블릿 */
@media (max-width: 991px) {
    .sh-business-network .sh-partner-grid,
    .sh-business-network .sh-partner-grid--network {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .sh-business-network .sh-partner-card {
        height: 100px !important;
    }
}

/* 모바일 */
@media (max-width: 575px) {
    .sh-business-network {
        padding: 58px 0 !important;
    }

    .sh-business-network__inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .sh-business-network__title {
        margin-bottom: 34px !important;
    }

    .sh-business-network__title h2 {
        font-size: 31px !important;
    }

    .sh-business-network .sh-partner-grid,
    .sh-business-network .sh-partner-grid--network {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    .sh-business-network .sh-partner-card {
        height: 92px !important;
        padding: 18px !important;
    }

    .sh-business-network .sh-partner-logo-img {
        max-width: 120px !important;
        max-height: 46px !important;
    }
}

/* ========================================
   PARTNERS PAGE FULL WIDTH HERO FIX
   협력업체 페이지 hero 풀폭 복구
   ======================================== */

/* 협력업체 페이지 Astra 컨테이너 제한 해제 */
body.sh-partner-body #content,
body.sh-partner-body .site-content,
body.sh-partner-body #primary,
body.sh-partner-body .site-content > .ast-container,
body.sh-partner-body .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 협력업체 페이지 main도 풀폭 */
body.sh-partner-body .sh-partner-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* 협력업체 hero를 화면 전체 폭으로 */
body.sh-partner-body .sh-partner-page .sh-sub-hero,
body.sh-partner-body .sh-partner-page .sh-sub-hero--partner {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    min-height: clamp(560px, 42vw, 720px) !important;
    display: flex !important;
    align-items: center !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* hero 안쪽 텍스트만 중앙 1200px로 제한 */
body.sh-partner-body .sh-partner-page .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 145px 24px 92px !important;
    box-sizing: border-box !important;
}

/* 헤더가 hero 위에 올라오도록 */
@media (min-width: 922px) {
    body.sh-partner-body .site-header,
    body.sh-partner-body #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.sh-partner-body .ast-primary-header-bar,
    body.sh-partner-body .main-header-bar,
    body.sh-partner-body .site-primary-header-wrap,
    body.sh-partner-body .ast-main-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }

    body.sh-partner-body .main-header-menu > li.menu-item > a.menu-link {
        color: #ffffff !important;
    }

    body.sh-partner-body .site-header:hover .main-header-menu > li.menu-item > a.menu-link,
    body.sh-partner-body #masthead:hover .main-header-menu > li.menu-item > a.menu-link {
        color: #1a1a1a !important;
    }

    body.sh-partner-body .site-header:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    body.sh-partner-body #masthead:hover .main-header-menu > li.menu-item:hover > a.menu-link {
        color: var(--sh-accent-secondary, #00A8B5) !important;
    }
}

/* 모바일에서는 일반 흰색 헤더 유지 */
@media (max-width: 921px) {
    body.sh-partner-body .site-header,
    body.sh-partner-body #masthead {
        position: relative !important;
        background: #ffffff !important;
    }

    body.sh-partner-body .sh-partner-page .sh-sub-hero,
    body.sh-partner-body .sh-partner-page .sh-sub-hero--partner {
        min-height: 440px !important;
        background-position: 62% center !important;
    }

    body.sh-partner-body .sh-partner-page .sh-sub-hero__inner {
        padding: 72px 20px !important;
    }
}

/* ========================================
   PARTNERS HEADER LOGO POSITION FIX
   협력업체 페이지 헤더 로고/메뉴 위치 복구
   ======================================== */

@media (min-width: 922px) {

    /* 협력업체 페이지에서도 헤더 내부는 다른 페이지처럼 1200px 중앙 정렬 */
    body.sh-partner-body .site-header .ast-container,
    body.sh-partner-body #masthead .ast-container,
    body.sh-partner-body .site-header .ast-builder-grid-row-container,
    body.sh-partner-body #masthead .ast-builder-grid-row-container {
        width: 100% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }

    /* 헤더 전체는 풀폭 유지 */
    body.sh-partner-body .site-header,
    body.sh-partner-body #masthead {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }

    /* 로고/메뉴 레이어 유지 */
    body.sh-partner-body .site-header .site-branding,
    body.sh-partner-body .site-header .ast-site-identity,
    body.sh-partner-body .site-header .main-navigation,
    body.sh-partner-body .site-header .main-header-menu {
        position: relative !important;
        z-index: 10 !important;
    }
}

/* ========================================
   PRODUCTS MAIN PAGE
   /products/
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   페이지 풀폭 처리 + Hero
---------------------------------------- */
body.sh-products-body #content,
body.sh-products-body .site-content,
body.sh-products-body #primary,
body.sh-products-body .site-content > .ast-container,
body.sh-products-body .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-products-body .sh-products-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.sh-products-body .sh-products-page .sh-sub-hero,
body.sh-products-body .sh-products-page .sh-products-intro,
body.sh-products-body .sh-products-page .sh-products-category,
body.sh-products-body .sh-products-page .sh-products-brand,
body.sh-products-body .sh-products-page .sh-products-cta {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   투명 헤더 (홈/그리팅/비즈니스/파트너와 동일 패턴)
---------------------------------------- */
@media (min-width: 922px) {
    body.sh-products-body .site-header,
    body.sh-products-body #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.sh-products-body .ast-primary-header-bar,
    body.sh-products-body .main-header-bar,
    body.sh-products-body .site-primary-header-wrap,
    body.sh-products-body .ast-above-header,
    body.sh-products-body .ast-below-header,
    body.sh-products-body .ast-main-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border-bottom-color: rgba(255, 255, 255, 0.15) !important;
    }

    /* 헤더 내부 컨테이너 1200px */
    body.sh-products-body .site-header .ast-container,
    body.sh-products-body #masthead .ast-container,
    body.sh-products-body .site-header .ast-builder-grid-row-container,
    body.sh-products-body #masthead .ast-builder-grid-row-container {
        width: 100% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* 메뉴 흰 글씨 */
    body.sh-products-body .main-header-menu > li.menu-item > a.menu-link {
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    /* 메가메뉴 호버 시 어두운 글씨 */
    body.sh-products-body .site-header:hover .main-header-menu > li.menu-item > a.menu-link,
    body.sh-products-body #masthead:hover .main-header-menu > li.menu-item > a.menu-link {
        color: #1a1a1a !important;
    }

    body.sh-products-body .site-header:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    body.sh-products-body #masthead:hover .main-header-menu > li.menu-item:hover > a.menu-link {
        color: var(--sh-accent-secondary, #00A8B5) !important;
    }
}

@media (max-width: 921px) {
    body.sh-products-body .site-header,
    body.sh-products-body #masthead {
        position: relative !important;
        background: #ffffff !important;
    }

    body.sh-products-body .ast-primary-header-bar,
    body.sh-products-body .main-header-bar,
    body.sh-products-body .site-primary-header-wrap,
    body.sh-products-body .ast-main-header-wrap {
        background: #ffffff !important;
    }

    body.sh-products-body .main-header-menu > li.menu-item > a.menu-link {
        color: var(--sh-text-primary, #1a1a1a) !important;
    }
}


/* ----------------------------------------
   HERO (sh-sub-hero 공통 사용)
---------------------------------------- */
.sh-products-page .sh-sub-hero {
    position: relative;
    min-height: clamp(560px, 42vw, 720px);
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.sh-products-page .sh-sub-hero__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 145px 24px 92px;
    color: #ffffff;
}

.sh-products-page .sh-sub-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.28em;
}

.sh-products-page .sh-sub-hero__title {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(46px, 5.4vw, 72px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.sh-products-page .sh-sub-hero__desc {
    margin: 0;
    max-width: 850px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 20px;
    line-height: 1.75;
    word-break: keep-all;
}

.sh-products-page .sh-sub-hero__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

.sh-products-page .sh-sub-hero__keywords span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 15px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    background: rgba(0, 168, 181, 0.18);
    border: 1px solid rgba(0, 168, 181, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


/* ----------------------------------------
   INTRO + STATS
---------------------------------------- */
.sh-products-intro {
    position: relative;
    padding: 110px 0 90px;
    background:
        radial-gradient(circle at 10% 16%, rgba(0, 168, 181, 0.13), transparent 30%),
        radial-gradient(circle at 90% 86%, rgba(0, 102, 179, 0.09), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-products-intro__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-products-intro__title {
    max-width: 920px;
    margin: 0 auto 56px;
    text-align: center;
}

.sh-products-intro__title h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: -0.05em;
    word-break: keep-all;
}

.sh-products-intro__title > p:not(.sh-section-label) {
    margin: 22px auto 0;
    max-width: 780px;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-products-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.sh-products-stat {
    padding: 32px 24px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    text-align: center;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.055);
}

.sh-products-stat strong {
    display: block;
    margin-bottom: 10px;
    color: var(--sh-accent-primary, #0066B3);
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.sh-products-stat span {
    color: #475569;
    font-size: 15px;
    font-weight: 700;
}


/* ----------------------------------------
   CATEGORIES (2-CARD with hover image)
---------------------------------------- */
.sh-products-category {
    position: relative;
    padding: 110px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(135deg, #eef7fb 0%, #f8fbfd 48%, #ffffff 100%);
}

.sh-products-category__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-products-category__title {
    text-align: center;
    margin-bottom: 54px;
}

.sh-products-category__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-products-category__title p:not(.sh-section-label) {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-products-category__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.sh-products-category-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 420px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    text-decoration: none;
    color: inherit;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.sh-products-category-card:hover {
    transform: translateY(-8px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 28px 56px rgba(15, 23, 42, 0.12);
}

/* hover 배경 이미지 (sh-card-item 패턴 차용) */
.sh-products-category-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--cat-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.08);
    transition: opacity 0.4s ease, transform 0.5s ease;
    z-index: 0;
}

.sh-products-category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 51, 76, 0.45) 0%, rgba(0, 51, 76, 0.78) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.sh-products-category-card:hover::before {
    opacity: 1;
    transform: scale(1);
}

.sh-products-category-card:hover::after {
    opacity: 1;
}

.sh-products-category-card__inner {
    position: relative;
    z-index: 3;
    padding: 40px 36px;
    height: 100%;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: color 0.35s ease;
}

.sh-products-category-card__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: color 0.35s ease;
}

.sh-products-category-card h3 {
    margin: 0 0 16px;
    color: #111827;
    font-size: clamp(28px, 3vw, 36px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -0.03em;
    transition: color 0.35s ease;
}

.sh-products-category-card > .sh-products-category-card__inner > p {
    margin: 0 0 24px;
    color: #475569;
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
    transition: color 0.35s ease;
}

.sh-products-category-card ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
    padding: 0;
}

.sh-products-category-card li {
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(0, 168, 181, 0.08);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 13px;
    font-weight: 800;
    transition: all 0.35s ease;
}

.sh-products-category-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--sh-accent-primary, #0066B3);
    font-size: 15px;
    font-weight: 900;
    transition: color 0.35s ease, gap 0.25s ease;
}

.sh-products-category-card__cta em {
    font-style: normal;
    font-size: 18px;
    transition: transform 0.25s ease;
}

.sh-products-category-card:hover .sh-products-category-card__cta {
    gap: 14px;
}

.sh-products-category-card:hover .sh-products-category-card__cta em {
    transform: translateX(4px);
}

/* hover 시 텍스트 흰색 */
.sh-products-category-card:hover h3,
.sh-products-category-card:hover .sh-products-category-card__inner > p {
    color: #ffffff !important;
}

.sh-products-category-card:hover .sh-products-category-card__eyebrow {
    color: rgba(0, 168, 181, 0.85) !important;
}

.sh-products-category-card:hover li {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.sh-products-category-card:hover .sh-products-category-card__cta {
    color: #ffffff !important;
}


/* ----------------------------------------
   BRANDS (6-CARD GRID)
---------------------------------------- */
.sh-products-brand {
    position: relative;
    padding: 115px 0;
    background:
        radial-gradient(circle at 12% 86%, rgba(0, 102, 179, 0.10), transparent 32%),
        linear-gradient(135deg, #ffffff 0%, #f7fbfd 50%, #eef7fb 100%);
}

.sh-products-brand__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-products-brand__title {
    text-align: center;
    margin-bottom: 60px;
}

.sh-products-brand__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-products-brand__title p:not(.sh-section-label) {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-products-brand__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.sh-products-brand-card {
    display: flex;
    flex-direction: column;
    padding: 32px 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sh-products-brand-card:hover {
    transform: translateY(-7px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.10);
}

.sh-products-brand-card__logo {
    height: 100px;
    margin-bottom: 24px;
    padding: 18px;
    border-radius: 14px;
    background: #ffffff;          /* 카드와 동일색 - 흰 PNG 융합 */
    border: 1px solid #f0f4f8;    /* 영역 구분용 연한 라인 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.sh-products-brand-card__logo img {
    display: block;
    max-width: 160px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
    mix-blend-mode: multiply;     /* 흰 배경 자동 융합 */
    transition: transform 0.25s ease;
    /* filter: grayscale 제거됨 */
    /* opacity 제거됨 → 평소부터 컬러 표시 */
}

.sh-products-brand-card:hover .sh-products-brand-card__logo img {
    transform: scale(1.05);
    /* hover 시 흑백→컬러 전환 제거됨 (이미 컬러니까) */
}

.sh-products-brand-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.sh-products-brand-card__category {
    margin-bottom: 10px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sh-products-brand-card h3 {
    margin: 0 0 12px;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.3;
}

.sh-products-brand-card p {
    margin: 0 0 20px;
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.78;
    word-break: keep-all;
    flex: 1;
}

.sh-products-brand-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 18px;
    border-top: 1px solid #eef2f7;
}

.sh-products-brand-card__count {
    color: var(--sh-accent-primary, #0066B3);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.sh-products-brand-card__arrow {
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 22px;
    font-weight: 900;
    transition: transform 0.25s ease;
}

.sh-products-brand-card:hover .sh-products-brand-card__arrow {
    transform: translateX(6px);
}


/* ----------------------------------------
   CTA
---------------------------------------- */
.sh-products-cta {
    padding: 95px 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.20), transparent 26%),
        linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%);
    color: #ffffff;
}

.sh-products-cta__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.sh-products-cta__inner > p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.24em;
}

.sh-products-cta__inner h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.sh-products-cta__inner > span {
    display: block;
    margin: 22px auto 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
}

.sh-products-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.sh-products-cta__buttons a {
    display: inline-flex;
    min-height: 48px;
    padding: 13px 28px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
    transition: transform 0.2s ease, background 0.2s ease;
}

.sh-products-cta__buttons a:first-child {
    background: #ffffff;
    color: var(--sh-accent-primary, #0066B3);
}

.sh-products-cta__buttons a:first-child:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.92);
}

.sh-products-cta__buttons a:last-child {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.sh-products-cta__buttons a:last-child:hover {
    background: rgba(255, 255, 255, 0.1);
}


/* ----------------------------------------
   RESPONSIVE
---------------------------------------- */
@media (max-width: 991px) {
    .sh-products-page .sh-sub-hero {
        min-height: 520px;
    }

    .sh-products-page .sh-sub-hero__inner {
        padding: 120px 24px 86px;
    }

    .sh-products-intro,
    .sh-products-category,
    .sh-products-brand {
        padding: 76px 0;
    }

    .sh-products-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .sh-products-category__grid {
        grid-template-columns: 1fr;
    }

    .sh-products-category-card {
        min-height: 380px;
    }

    .sh-products-brand__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .sh-products-page .sh-sub-hero {
        min-height: 440px;
        background-position: 62% center;
    }

    .sh-products-page .sh-sub-hero__inner {
        padding: 72px 20px;
    }

    .sh-products-page .sh-sub-hero__title {
        font-size: 42px;
    }

    .sh-products-page .sh-sub-hero__desc {
        font-size: 16px;
    }

    .sh-products-intro,
    .sh-products-category,
    .sh-products-brand,
    .sh-products-cta {
        padding: 58px 0;
    }

    .sh-products-intro__inner,
    .sh-products-category__inner,
    .sh-products-brand__inner,
    .sh-products-cta__inner {
        padding: 0 20px;
    }

    .sh-products-intro__title h2,
    .sh-products-category__title h2,
    .sh-products-brand__title h2,
    .sh-products-cta__inner h2 {
        font-size: 31px;
    }

    .sh-products-stats {
        grid-template-columns: 1fr;
    }

    .sh-products-category-card__inner {
        padding: 30px 24px;
        min-height: 380px;
    }

    .sh-products-brand__grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   PRODUCTS CATEGORY PAGE (공통)
   /products/basic-fitness/
   /products/physical-performance/
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   풀폭 처리 (sh-products-body 클래스 공유)
   ※ 위에 있는 sh-products-body 룰이 적용되므로
     아래는 카테고리 페이지 전용 섹션만 풀폭 처리
---------------------------------------- */
body.sh-products-category-page .sh-cat-intro,
body.sh-products-category-page .sh-cat-fields,
body.sh-products-category-page .sh-cat-products,
body.sh-products-category-page .sh-cat-usecase,
body.sh-products-category-page .sh-cat-cta,
body.sh-products-category-page .sh-sub-hero {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   HERO (sh-sub-hero 공통 - Products 메인과 동일 패턴)
---------------------------------------- */
.sh-products-category-page .sh-sub-hero {
    position: relative;
    min-height: clamp(560px, 42vw, 720px);
    display: flex;
    align-items: center;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.sh-products-category-page .sh-sub-hero__inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 145px 24px 92px;
    color: #ffffff;
}

.sh-products-category-page .sh-sub-hero__eyebrow {
    margin: 0 0 20px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.24em;
}

.sh-products-category-page .sh-sub-hero__title {
    margin: 0 0 26px;
    color: #ffffff;
    font-size: clamp(46px, 5.4vw, 72px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.sh-products-category-page .sh-sub-hero__desc {
    margin: 0;
    max-width: 820px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 19px;
    line-height: 1.75;
    word-break: keep-all;
}

.sh-products-category-page .sh-sub-hero__keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

.sh-products-category-page .sh-sub-hero__keywords span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 15px;
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    background: rgba(0, 168, 181, 0.18);
    border: 1px solid rgba(0, 168, 181, 0.42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


/* ----------------------------------------
   INTRO + STATS
---------------------------------------- */
.sh-cat-intro {
    position: relative;
    padding: 110px 0 90px;
    background:
        radial-gradient(circle at 10% 16%, rgba(0, 168, 181, 0.12), transparent 30%),
        radial-gradient(circle at 90% 86%, rgba(0, 102, 179, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-cat-intro__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-cat-intro__title {
    max-width: 920px;
    margin: 0 auto 52px;
    text-align: center;
}

.sh-cat-intro__title h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.sh-cat-intro__title > p:not(.sh-section-label) {
    margin: 22px auto 0;
    max-width: 780px;
    color: #64748b;
    font-size: 17px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-cat-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.sh-cat-stat {
    padding: 30px 22px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    text-align: center;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
}

.sh-cat-stat strong {
    display: block;
    margin-bottom: 10px;
    color: var(--sh-accent-primary, #0066B3);
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.sh-cat-stat span {
    color: #475569;
    font-size: 14px;
    font-weight: 700;
}


/* ----------------------------------------
   SUB-CATEGORIES (3x2 그리드)
---------------------------------------- */
.sh-cat-fields {
    position: relative;
    padding: 110px 0;
    background: #ffffff;
}

.sh-cat-fields__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-cat-fields__title {
    text-align: center;
    margin-bottom: 56px;
}

.sh-cat-fields__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-cat-fields__title p:not(.sh-section-label) {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 16px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-cat-fields__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.sh-cat-field-card {
    padding: 34px 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.sh-cat-field-card:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 22px 42px rgba(15, 23, 42, 0.08);
}

.sh-cat-field-card__icon {
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, #eef7fb 0%, #f7fbfd 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 1;
}

.sh-cat-field-card__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sh-cat-field-card h3 {
    margin: 0 0 14px;
    color: #111827;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.3;
}

.sh-cat-field-card p {
    margin: 0 0 18px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.78;
    word-break: keep-all;
}

.sh-cat-field-card ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
}

.sh-cat-field-card li {
    padding: 6px 11px;
    border-radius: 999px;
    background: rgba(0, 168, 181, 0.08);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 12.5px;
    font-weight: 800;
}


/* ----------------------------------------
   PRODUCTS GRID (3-카드)
---------------------------------------- */
.sh-cat-products {
    position: relative;
    padding: 115px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(135deg, #eef7fb 0%, #f8fbfd 48%, #ffffff 100%);
}

.sh-cat-products__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-cat-products__title {
    text-align: center;
    margin-bottom: 56px;
}

.sh-cat-products__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-cat-products__title p:not(.sh-section-label) {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 16px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-cat-products__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.sh-cat-product-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.sh-cat-product-card:hover {
    transform: translateY(-7px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 24px 50px rgba(15, 23, 42, 0.10);
}

.sh-cat-product-card__media {
    position: relative;
    height: 220px;
    background: #eef3f7;
    overflow: hidden;
    border-bottom: 2px solid var(--sh-accent-secondary, #00A8B5);
}

.sh-cat-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.35s ease;
}

.sh-cat-product-card:hover .sh-cat-product-card__media img {
    transform: scale(1.06);
}

.sh-cat-product-card__category {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 2;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: 0.02em;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.sh-cat-product-card__content {
    padding: 22px 22px 26px;
}

.sh-cat-product-card__brand {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.sh-cat-product-card h3 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.35;
}

.sh-cat-product-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all;
}


/* ----------------------------------------
   USE CASES (4-카드)
---------------------------------------- */
.sh-cat-usecase {
    padding: 110px 0;
    background: #ffffff;
}

.sh-cat-usecase__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-cat-usecase__title {
    text-align: center;
    margin-bottom: 52px;
}

.sh-cat-usecase__title h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-cat-usecase__title p:not(.sh-section-label) {
    max-width: 760px;
    margin: 0 auto;
    color: #64748b;
    font-size: 16px;
    line-height: 1.85;
    word-break: keep-all;
}

.sh-cat-usecase__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.sh-cat-usecase-card {
    padding: 32px 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.sh-cat-usecase-card:hover {
    transform: translateY(-5px);
    border-color: var(--sh-accent-secondary, #00A8B5);
}

.sh-cat-usecase-card__icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #eef7fb 0%, #f7fbfd 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    line-height: 1;
}

.sh-cat-usecase-card h3 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 18px;
    font-weight: 900;
}

.sh-cat-usecase-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
    word-break: keep-all;
}


/* ----------------------------------------
   CTA
---------------------------------------- */
.sh-cat-cta {
    padding: 95px 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%);
    color: #ffffff;
}

.sh-cat-cta__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}

.sh-cat-cta__inner > p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.22em;
}

.sh-cat-cta__inner h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.sh-cat-cta__inner > span {
    display: block;
    margin: 22px auto 0;
    max-width: 780px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
}

.sh-cat-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.sh-cat-cta__buttons a {
    display: inline-flex;
    min-height: 48px;
    padding: 13px 26px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
    transition: transform 0.2s ease, background 0.2s ease;
}

.sh-cat-cta__buttons a:first-child {
    background: #ffffff;
    color: var(--sh-accent-primary, #0066B3);
}

.sh-cat-cta__buttons a:first-child:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.92);
}

.sh-cat-cta__buttons a:last-child {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.sh-cat-cta__buttons a:last-child:hover {
    background: rgba(255, 255, 255, 0.1);
}


/* ----------------------------------------
   RESPONSIVE
---------------------------------------- */
@media (max-width: 991px) {
    .sh-products-category-page .sh-sub-hero {
        min-height: 480px;
    }

    .sh-products-category-page .sh-sub-hero__inner {
        padding: 110px 24px 80px;
    }

    .sh-cat-intro,
    .sh-cat-fields,
    .sh-cat-products,
    .sh-cat-usecase {
        padding: 76px 0;
    }

    .sh-cat-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .sh-cat-fields__grid,
    .sh-cat-products__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sh-cat-usecase__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .sh-products-category-page .sh-sub-hero {
        min-height: 420px;
        background-position: 62% center;
    }

    .sh-products-category-page .sh-sub-hero__inner {
        padding: 72px 20px;
    }

    .sh-products-category-page .sh-sub-hero__title {
        font-size: 38px;
    }

    .sh-products-category-page .sh-sub-hero__desc {
        font-size: 16px;
    }

    .sh-cat-intro,
    .sh-cat-fields,
    .sh-cat-products,
    .sh-cat-usecase,
    .sh-cat-cta {
        padding: 58px 0;
    }

    .sh-cat-intro__inner,
    .sh-cat-fields__inner,
    .sh-cat-products__inner,
    .sh-cat-usecase__inner,
    .sh-cat-cta__inner {
        padding: 0 20px;
    }

    .sh-cat-intro__title h2,
    .sh-cat-fields__title h2,
    .sh-cat-products__title h2,
    .sh-cat-usecase__title h2,
    .sh-cat-cta__inner h2 {
        font-size: 28px;
    }

    .sh-cat-stats,
    .sh-cat-fields__grid,
    .sh-cat-products__grid,
    .sh-cat-usecase__grid {
        grid-template-columns: 1fr;
    }

    .sh-cat-product-card__media {
        height: 200px;
    }
}

/* ========================================
   카테고리 페이지 그리드 조정 (5/4 카드)
   ======================================== */

/* 기초체력 - 5 카드 */
body.sh-category-basic-fitness .sh-cat-fields__grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 18px !important;
}

/* 운동체력 - 4 카드 */
body.sh-category-performance .sh-cat-fields__grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px !important;
}

/* 카드 폭 좁아졌으니 내부 패딩 축소 */
body.sh-category-basic-fitness .sh-cat-field-card,
body.sh-category-performance .sh-cat-field-card {
    padding: 28px 22px;
}

body.sh-category-basic-fitness .sh-cat-field-card h3 {
    font-size: 19px;
}

body.sh-category-basic-fitness .sh-cat-field-card p {
    font-size: 14px;
}

/* 태블릿 - 둘 다 2-column */
@media (max-width: 991px) {
    body.sh-category-basic-fitness .sh-cat-fields__grid,
    body.sh-category-performance .sh-cat-fields__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* 모바일 - 1-column */
@media (max-width: 575px) {
    body.sh-category-basic-fitness .sh-cat-fields__grid,
    body.sh-category-performance .sh-cat-fields__grid {
        grid-template-columns: 1fr !important;
    }
}

/* ----------------------------------------
   풀폭 처리 - Astra 박스 무력화
---------------------------------------- */
body.sh-product-single-body #content,
body.sh-product-single-body .site-content,
body.sh-product-single-body #primary,
body.sh-product-single-body .site-content > .ast-container,
body.sh-product-single-body .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
 
body.sh-product-single-body .sh-product-single-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}
 
body.sh-product-single-body .sh-product-hero,
body.sh-product-single-body .sh-product-main,
body.sh-product-single-body .sh-product-desc,
body.sh-product-single-body .sh-product-related,
body.sh-product-single-body .sh-product-cta {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
 
/* 워드프레스 기본 게시글 메타(글쓴이/날짜/카테고리) 숨김 */
body.sh-product-single-body .entry-meta,
body.sh-product-single-body .post-meta,
body.sh-product-single-body .entry-header,
body.sh-product-single-body .ast-author-details,
body.sh-product-single-body .single-post-meta,
body.sh-product-single-body .ast-single-related-posts-container {
    display: none !important;
}
 
 
/* ----------------------------------------
   HERO (간소화 - Hero 이미지 없이 그라데이션)
---------------------------------------- */
.sh-product-hero {
    position: relative;
    padding: 140px 0 70px;
    background:
        radial-gradient(circle at 18% 24%, rgba(0, 168, 181, 0.18), transparent 30%),
        radial-gradient(circle at 82% 78%, rgba(0, 102, 179, 0.16), transparent 36%),
        linear-gradient(135deg, #003c5c 0%, #0066B3 50%, #00A8B5 100%);
    color: #ffffff;
    overflow: hidden;
}
 
.sh-product-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
}
 
.sh-product-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
 
.sh-product-hero__breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 36px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
}
 
.sh-product-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: color 0.2s ease;
}
 
.sh-product-hero__breadcrumb a:hover {
    color: #ffffff;
}
 
.sh-product-hero__breadcrumb .is-current {
    color: #ffffff;
}
 
.sh-product-hero__breadcrumb span[aria-hidden] {
    color: rgba(255, 255, 255, 0.4);
}
 
.sh-product-hero__brand {
    margin: 0 0 14px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}
 
.sh-product-hero__title {
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
    word-break: keep-all;
}
 
.sh-product-hero__excerpt {
    margin: 0;
    max-width: 800px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 18px;
    line-height: 1.75;
    word-break: keep-all;
}
 
 
/* ----------------------------------------
   MAIN: 이미지 + 정보 그리드
---------------------------------------- */
.sh-product-main {
    padding: 80px 0;
    background: linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%);
}
 
.sh-product-main__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
 
.sh-product-main__grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 64px;
    align-items: center;
}
 
/* LEFT: 이미지 */
.sh-product-main__media-frame {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.10);
}
 
.sh-product-main__media-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center center;
}
 
/* RIGHT: 정보 */
.sh-product-main__eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
 
.sh-product-main__title {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(28px, 3.4vw, 40px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.03em;
    word-break: keep-all;
}
 
.sh-product-main__lead {
    margin: 0 0 32px;
    color: #475569;
    font-size: 17px;
    line-height: 1.78;
    word-break: keep-all;
}
 
/* 메타 정보 (브랜드/카테고리/측정영역) */
.sh-product-main__meta {
    margin: 0 0 36px;
    padding: 0;
}
 
.sh-product-main__meta-row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 16px;
    align-items: start;
    padding: 16px 0;
    border-top: 1px solid #e5e7eb;
}
 
.sh-product-main__meta-row:last-child {
    border-bottom: 1px solid #e5e7eb;
}
 
.sh-product-main__meta-row dt {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding-top: 2px;
}
 
.sh-product-main__meta-row dd {
    margin: 0;
    color: #111827;
    font-size: 15px;
    font-weight: 700;
}
 
.sh-product-main__meta-row dd a {
    color: var(--sh-accent-primary, #0066B3);
    text-decoration: none;
    transition: color 0.2s ease;
}
 
.sh-product-main__meta-row dd a:hover {
    color: var(--sh-accent-secondary, #00A8B5);
}
 
/* 측정 영역 칩 */
.sh-product-main__chips {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
}
 
.sh-product-main__chips li {
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(0, 168, 181, 0.08);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 13px;
    font-weight: 800;
}
 
/* CTA 버튼 */
.sh-product-main__cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
 
.sh-product-main__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
 
.sh-product-main__btn--primary {
    background: var(--sh-accent-primary, #0066B3);
    color: #ffffff;
}
 
.sh-product-main__btn--primary:hover {
    transform: translateY(-2px);
    background: var(--sh-accent-secondary, #00A8B5);
}
 
.sh-product-main__btn--ghost {
    background: transparent;
    color: var(--sh-accent-primary, #0066B3);
    border: 1.5px solid var(--sh-accent-primary, #0066B3);
}
 
.sh-product-main__btn--ghost:hover {
    background: var(--sh-accent-primary, #0066B3);
    color: #ffffff;
}
 
 
/* ----------------------------------------
   DESCRIPTION (the_content 본문)
---------------------------------------- */
.sh-product-desc {
    padding: 100px 0;
    background: #ffffff;
}
 
.sh-product-desc__inner {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 24px;
}
 
.sh-product-desc__head {
    text-align: center;
    margin-bottom: 48px;
}
 
.sh-product-desc__head h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(28px, 3.4vw, 40px);
    font-weight: 900;
    letter-spacing: -0.04em;
}
 
/* the_content 안의 요소들 스타일링 */
.sh-product-desc__content {
    color: #334155;
    font-size: 17px;
    line-height: 1.95;
    word-break: keep-all;
}
 
.sh-product-desc__content h2,
.sh-product-desc__content h3,
.sh-product-desc__content h4 {
    margin-top: 2em;
    margin-bottom: 0.6em;
    color: #111827;
    font-weight: 900;
    letter-spacing: -0.02em;
    line-height: 1.3;
}
 
.sh-product-desc__content h2 {
    font-size: 28px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--sh-accent-secondary, #00A8B5);
}
 
.sh-product-desc__content h3 {
    font-size: 22px;
    color: var(--sh-accent-primary, #0066B3);
}
 
.sh-product-desc__content h4 {
    font-size: 18px;
}
 
.sh-product-desc__content p {
    margin: 0 0 1.2em;
}
 
.sh-product-desc__content ul,
.sh-product-desc__content ol {
    margin: 1em 0 1.4em;
    padding-left: 1.6em;
}
 
.sh-product-desc__content li {
    margin-bottom: 0.5em;
}
 
.sh-product-desc__content img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
    margin: 1.4em 0;
}
 
.sh-product-desc__content blockquote {
    margin: 1.6em 0;
    padding: 22px 28px;
    border-left: 4px solid var(--sh-accent-secondary, #00A8B5);
    background: #f7fbfd;
    border-radius: 0 14px 14px 0;
    color: #475569;
    font-style: normal;
}
 
.sh-product-desc__content table {
    width: 100%;
    margin: 1.4em 0;
    border-collapse: collapse;
}
 
.sh-product-desc__content table th,
.sh-product-desc__content table td {
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    text-align: left;
}
 
.sh-product-desc__content table th {
    background: #f7fbfd;
    font-weight: 800;
    color: #111827;
}
 
 
/* ----------------------------------------
   RELATED PRODUCTS
---------------------------------------- */
.sh-product-related {
    padding: 100px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%);
}
 
.sh-product-related__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
 
.sh-product-related__head {
    text-align: center;
    margin-bottom: 52px;
}
 
.sh-product-related__head h2 {
    margin: 0 0 14px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}
 
.sh-product-related__head p:not(.sh-section-label) {
    margin: 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.8;
}
 
.sh-product-related__head strong {
    color: var(--sh-accent-primary, #0066B3);
}
 
.sh-product-related__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
 
.sh-product-related-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
 
.sh-product-related-card:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.10);
}
 
.sh-product-related-card__media {
    height: 220px;
    background: #eef3f7;
    overflow: hidden;
    border-bottom: 2px solid var(--sh-accent-secondary, #00A8B5);
}
 
.sh-product-related-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}
 
.sh-product-related-card:hover .sh-product-related-card__media img {
    transform: scale(1.06);
}
 
.sh-product-related-card__content {
    padding: 20px 22px 24px;
    position: relative;
}
 
.sh-product-related-card__brand {
    display: inline-block;
    margin-bottom: 6px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
 
.sh-product-related-card h3 {
    margin: 0;
    padding-right: 32px;
    color: #111827;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.35;
}
 
.sh-product-related-card__arrow {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sh-accent-primary, #0066B3);
    font-size: 22px;
    font-weight: 900;
    transition: transform 0.25s ease;
}
 
.sh-product-related-card:hover .sh-product-related-card__arrow {
    transform: translateY(-50%) translateX(6px);
}
 
 
/* ----------------------------------------
   CTA
---------------------------------------- */
.sh-product-cta {
    padding: 95px 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%);
    color: #ffffff;
}
 
.sh-product-cta__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center;
}
 
.sh-product-cta__inner > p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.22em;
}
 
.sh-product-cta__inner h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3.8vw, 46px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -0.04em;
    word-break: keep-all;
}
 
.sh-product-cta__inner > span {
    display: block;
    margin: 22px auto 0;
    max-width: 760px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
}
 
.sh-product-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 34px;
    flex-wrap: wrap;
}
 
.sh-product-cta__buttons a {
    display: inline-flex;
    min-height: 48px;
    padding: 13px 26px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
    transition: transform 0.2s ease, background 0.2s ease;
}
 
.sh-product-cta__buttons a:first-child {
    background: #ffffff;
    color: var(--sh-accent-primary, #0066B3);
}
 
.sh-product-cta__buttons a:first-child:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.92);
}
 
.sh-product-cta__buttons a:last-child {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.45);
}
 
.sh-product-cta__buttons a:last-child:hover {
    background: rgba(255, 255, 255, 0.1);
}
 
 
/* ----------------------------------------
   RESPONSIVE
---------------------------------------- */
@media (max-width: 991px) {
    .sh-product-hero {
        padding: 110px 0 60px;
    }
 
    .sh-product-main {
        padding: 64px 0;
    }
 
    .sh-product-main__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
 
    .sh-product-desc,
    .sh-product-related {
        padding: 72px 0;
    }
 
    .sh-product-related__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
 
@media (max-width: 575px) {
    .sh-product-hero {
        padding: 88px 0 50px;
    }
 
    .sh-product-hero__inner,
    .sh-product-main__inner,
    .sh-product-desc__inner,
    .sh-product-related__inner,
    .sh-product-cta__inner {
        padding: 0 20px;
    }
 
    .sh-product-hero__title {
        font-size: 32px;
    }
 
    .sh-product-hero__excerpt {
        font-size: 16px;
    }
 
    .sh-product-main {
        padding: 50px 0;
    }
 
    .sh-product-main__title {
        font-size: 26px;
    }
 
    .sh-product-main__meta-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
 
    .sh-product-main__cta {
        flex-direction: column;
        align-items: stretch;
    }
 
    .sh-product-main__btn {
        width: 100%;
    }
 
    .sh-product-desc,
    .sh-product-related,
    .sh-product-cta {
        padding: 58px 0;
    }
 
    .sh-product-desc__head h2,
    .sh-product-related__head h2,
    .sh-product-cta__inner h2 {
        font-size: 28px;
    }
 
    .sh-product-related__grid {
        grid-template-columns: 1fr;
    }
}

.sh-cat-products__empty {
    grid-column: 1 / -1;
    padding: 60px 24px;
    text-align: center;
    color: #64748b;
    font-size: 16px;
    background: #f7fbfd;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
}

.sh-cat-products__empty a {
    display: inline-block;
    margin-left: 8px;
    color: var(--sh-accent-primary, #0066B3);
    font-weight: 800;
    text-decoration: underline;
}

/* ========================================
   CATEGORY PAGE v2 PATCH
   - Hero 컴팩트화 (Products 빠른 노출)
   - Hero 이미지 fallback (이미지 없어도 그라데이션 보이게)
   - Products 섹션을 lead로 처리
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   HERO 컴팩트 처리 (sh-cat-compact 클래스용)
   - 기존 hero보다 60% 작은 사이즈
   - 페이지 들어가자마자 Products 보이게
---------------------------------------- */
body.sh-cat-compact .sh-sub-hero,
body.sh-cat-compact .sh-sub-hero--compact {
    min-height: clamp(560px, 42vw, 720px) !important;

    /* 그라데이션 fallback (이미지 없어도 표시) */
    background-color: #111827;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

body.sh-cat-compact .sh-sub-hero__inner,
body.sh-cat-compact .sh-sub-hero--compact .sh-sub-hero__inner {
    padding: 145px 24px 92px !important;
}

body.sh-cat-compact .sh-sub-hero__title {
    margin-bottom: 18px;
    font-size: clamp(46px, 5.4vw, 72px) !important;
}

body.sh-cat-compact .sh-sub-hero__desc {
    font-size: 19px !important;
}


/* ----------------------------------------
   PRODUCTS LEAD - Hero 직후 메인 섹션
---------------------------------------- */
.sh-cat-products--lead {
    padding: 80px 0 90px !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(0, 168, 181, 0.11), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%) !important;
}

.sh-cat-products--lead .sh-cat-products__title {
    margin-bottom: 48px;
}


/* ----------------------------------------
   히어로 이미지 깨졌을 때 시각적 디테일
   (점 패턴으로 그라데이션 영역에 텍스처 추가)
---------------------------------------- */
body.sh-cat-compact .sh-sub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
}

body.sh-cat-compact .sh-sub-hero__inner {
    position: relative;
    z-index: 1;
}


/* ----------------------------------------
   모바일에서 더 컴팩트하게
---------------------------------------- */
@media (max-width: 991px) {
    body.sh-cat-compact .sh-sub-hero,
    body.sh-cat-compact .sh-sub-hero--compact {
        min-height: 380px !important;
    }

    body.sh-cat-compact .sh-sub-hero__inner {
        padding: 100px 24px 56px !important;
    }

    .sh-cat-products--lead {
        padding: 60px 0 72px !important;
    }
}

@media (max-width: 575px) {
    body.sh-cat-compact .sh-sub-hero,
    body.sh-cat-compact .sh-sub-hero--compact {
        min-height: 340px !important;
    }

    body.sh-cat-compact .sh-sub-hero__inner {
        padding: 88px 20px 44px !important;
    }

    body.sh-cat-compact .sh-sub-hero__title {
        font-size: 32px !important;
    }

    body.sh-cat-compact .sh-sub-hero__desc {
        font-size: 15px !important;
    }

    .sh-cat-products--lead {
        padding: 50px 0 60px !important;
    }
}

/* ========================================
   CATEGORY PAGE TRANSPARENT HEADER FIX
   - 인사말 페이지처럼 hero가 헤더 영역까지 확장
   - sh-cat-compact body class에 명시적으로 적용
   style.css 맨 아래에 추가
   ======================================== */

@media (min-width: 922px) {

    /* 헤더 자체 absolute + transparent */
    body.sh-cat-compact .site-header,
    body.sh-cat-compact #masthead {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 99999 !important;
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }

    /* 헤더 내부 빌더 영역도 모두 투명 */
    body.sh-cat-compact .ast-primary-header-bar,
    body.sh-cat-compact .main-header-bar,
    body.sh-cat-compact .site-primary-header-wrap,
    body.sh-cat-compact .ast-above-header,
    body.sh-cat-compact .ast-below-header,
    body.sh-cat-compact .ast-main-header-wrap {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border-bottom-color: rgba(255, 255, 255, 0.15) !important;
    }

    /* 헤더 내부 컨테이너 1200px 중앙 정렬 유지 */
    body.sh-cat-compact .site-header .ast-container,
    body.sh-cat-compact #masthead .ast-container,
    body.sh-cat-compact .site-header .ast-builder-grid-row-container,
    body.sh-cat-compact #masthead .ast-builder-grid-row-container {
        width: 100% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    /* 페이지 컨테이너 상단 여백 제거 (hero가 0부터 시작) */
    body.sh-cat-compact #content,
    body.sh-cat-compact .site-content,
    body.sh-cat-compact #primary {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* 로고/메뉴 z-index 보장 (메가메뉴 백드롭 위에 표시) */
    body.sh-cat-compact .site-header .site-branding,
    body.sh-cat-compact .site-header .ast-site-identity,
    body.sh-cat-compact .site-header .main-navigation,
    body.sh-cat-compact .site-header .main-header-menu {
        position: relative !important;
        z-index: 10 !important;
    }

    /* 메뉴 글자 흰색 (hero 어두운 배경 위) */
    body.sh-cat-compact .main-header-menu > li.menu-item > a.menu-link {
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    /* 메가메뉴 호버 시 (흰 백드롭 깔린 상태) 어두운 글자로 */
    body.sh-cat-compact .site-header:hover .main-header-menu > li.menu-item > a.menu-link,
    body.sh-cat-compact #masthead:hover .main-header-menu > li.menu-item > a.menu-link {
        color: #1a1a1a !important;
    }

    body.sh-cat-compact .site-header:hover .main-header-menu > li.menu-item:hover > a.menu-link,
    body.sh-cat-compact #masthead:hover .main-header-menu > li.menu-item:hover > a.menu-link {
        color: var(--sh-accent-secondary, #00A8B5) !important;
    }
}


/* ----------------------------------------
   모바일 (922px 미만) - 일반 흰색 헤더 복원
---------------------------------------- */
@media (max-width: 921px) {
    body.sh-cat-compact .site-header,
    body.sh-cat-compact #masthead {
        position: relative !important;
        background: #ffffff !important;
    }

    body.sh-cat-compact .ast-primary-header-bar,
    body.sh-cat-compact .main-header-bar,
    body.sh-cat-compact .site-primary-header-wrap,
    body.sh-cat-compact .ast-main-header-wrap {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    body.sh-cat-compact .main-header-menu > li.menu-item > a.menu-link {
        color: var(--sh-text-primary, #1a1a1a) !important;
    }
}

/* ----------------------------------------
   본문 컨테이너 1200px로 확대 (다른 섹션과 동일)
---------------------------------------- */
.sh-product-desc__inner {
    max-width: 1200px !important;
    padding: 0 24px;
}
 
/* 본문 헤더(센터 정렬된 PRODUCT DETAIL / 제품 상세 설명)도 그대로 유지 */
.sh-product-desc__head {
    margin-bottom: 60px;
}
 
/* ----------------------------------------
   본문 텍스트 - 가독성 위해 적정 폭 유지 + 약간 큰 폰트
---------------------------------------- */
.sh-product-desc__content {
    font-size: 17px;
    line-height: 1.95;
}
 
/* 단락/리스트는 1200px 안에서 자연스럽게 (별도 max-width 없음) */
.sh-product-desc__content > p,
.sh-product-desc__content > ul,
.sh-product-desc__content > ol {
    max-width: 100%;
}
 
 
/* ----------------------------------------
   H2 디자인 강화 - 섹션 구분 임팩트
---------------------------------------- */
.sh-product-desc__content h2 {
    position: relative;
    margin-top: 2.6em;
    margin-bottom: 1.2em;
    padding: 0 0 18px;
    color: #111827;
    font-size: clamp(26px, 2.6vw, 34px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.3;
    border-bottom: 2px solid #e5e7eb;
}
 
/* h2 아래 액센트 라인 (브랜드 컬러로 짧게 강조) */
.sh-product-desc__content h2::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--sh-accent-primary, #0066B3), var(--sh-accent-secondary, #00A8B5));
}
 
.sh-product-desc__content h3 {
    margin-top: 2em;
    margin-bottom: 0.8em;
    color: var(--sh-accent-primary, #0066B3);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -0.02em;
}
 
 
/* ----------------------------------------
   이미지 (figure) - 풀폭 임팩트
---------------------------------------- */
.sh-product-desc__content figure {
    margin: 2.6em 0;
    text-align: center;
}
 
.sh-product-desc__content figure img,
.sh-product-desc__content > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10);
}
 
.sh-product-desc__content figcaption {
    margin-top: 14px;
    color: #64748b;
    font-size: 14.5px;
    font-style: normal;
    text-align: center;
    line-height: 1.6;
}
 
 
/* ----------------------------------------
   표 - 게시판 표 느낌 → 모던 비교표
---------------------------------------- */
.sh-product-desc__content table {
    width: 100%;
    margin: 2.4em 0;
    border-collapse: collapse;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
    border: 1px solid #e5e7eb;
}
 
.sh-product-desc__content table thead th {
    background: linear-gradient(135deg, #0066B3 0%, #00A8B5 100%);
    color: #ffffff;
    font-weight: 800;
    font-size: 15px;
    letter-spacing: 0.01em;
    padding: 16px 20px;
    text-align: left;
    border: none;
}
 
.sh-product-desc__content table tbody td {
    padding: 16px 20px;
    border: none;
    border-bottom: 1px solid #eef2f7;
    font-size: 15.5px;
    color: #334155;
    background: #ffffff;
}
 
.sh-product-desc__content table tbody tr:last-child td {
    border-bottom: none;
}
 
.sh-product-desc__content table tbody tr:nth-child(even) td {
    background: #f8fbfd;
}
 
.sh-product-desc__content table tbody tr:hover td {
    background: #eef7fb;
}
 
/* 표 안의 strong 색상 강조 */
.sh-product-desc__content table td strong {
    color: #111827;
    font-weight: 800;
}
 
 
/* ----------------------------------------
   리스트 - 카드형 강조 (체크 아이콘 + 인덴트)
---------------------------------------- */
.sh-product-desc__content ul {
    list-style: none;
    padding-left: 0;
    margin: 1.4em 0 2em;
}
 
.sh-product-desc__content ul li {
    position: relative;
    padding: 4px 0 4px 32px;
    margin-bottom: 12px;
    font-size: 16.5px;
    line-height: 1.78;
    color: #334155;
}
 
.sh-product-desc__content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 18px;
    height: 18px;
    background: var(--sh-accent-secondary, #00A8B5);
    border-radius: 50%;
    background-image:
        linear-gradient(45deg, transparent 50%, #ffffff 50%, #ffffff 60%, transparent 60%),
        linear-gradient(-45deg, transparent 40%, #ffffff 40%, #ffffff 50%, transparent 50%);
    background-size: 8px 8px, 6px 6px;
    background-position: 5px 6px, 6px 8px;
    background-repeat: no-repeat;
}
 
.sh-product-desc__content ul li strong {
    color: #111827;
    font-weight: 900;
}
 
/* 순서 리스트 (1단계, 2단계...) - 큰 번호 강조 */
.sh-product-desc__content ol {
    list-style: none;
    counter-reset: step;
    padding-left: 0;
    margin: 1.6em 0 2em;
}
 
.sh-product-desc__content ol li {
    counter-increment: step;
    position: relative;
    padding: 8px 0 8px 56px;
    margin-bottom: 14px;
    font-size: 16.5px;
    line-height: 1.78;
    color: #334155;
}
 
.sh-product-desc__content ol li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 4px;
    width: 38px;
    height: 38px;
    background: linear-gradient(135deg, var(--sh-accent-primary, #0066B3), var(--sh-accent-secondary, #00A8B5));
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
}
 
.sh-product-desc__content ol li strong {
    color: #111827;
    font-weight: 900;
}
 
 
/* ----------------------------------------
   인용(blockquote) - 디자인 폴리시
---------------------------------------- */
.sh-product-desc__content blockquote {
    margin: 2em 0;
    padding: 18px 26px;
    background: #f8fbfd;
    border-left: 4px solid var(--sh-accent-secondary, #00A8B5);
    border-radius: 0 14px 14px 0;
    color: #475569;
    font-size: 15px;
    line-height: 1.75;
    font-style: normal;
}
 
.sh-product-desc__content blockquote p {
    margin: 0;
}
 
 
/* ----------------------------------------
   YouTube 임베드 (워드프레스 자동 임베드 블록)
---------------------------------------- */
.sh-product-desc__content .wp-block-embed,
.sh-product-desc__content iframe {
    width: 100%;
    margin: 2.6em 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10);
}
 
.sh-product-desc__content .wp-block-embed iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}
 
 
/* ----------------------------------------
   모바일 가독성 조정
---------------------------------------- */
@media (max-width: 991px) {
    .sh-product-desc__inner {
        padding: 0 20px;
    }
 
    .sh-product-desc__content {
        font-size: 16px;
    }
 
    .sh-product-desc__content h2 {
        font-size: 24px;
        margin-top: 2em;
    }
 
    .sh-product-desc__content h3 {
        font-size: 19px;
    }
 
    .sh-product-desc__content table th,
    .sh-product-desc__content table td {
        padding: 12px 14px;
        font-size: 14.5px;
    }
}
 
@media (max-width: 575px) {
    .sh-product-desc__content {
        font-size: 15.5px;
        line-height: 1.85;
    }
 
    .sh-product-desc__content h2 {
        font-size: 22px;
    }
 
    .sh-product-desc__content figure {
        margin: 1.8em -8px;
    }
 
    .sh-product-desc__content table {
        font-size: 13.5px;
    }
 
    .sh-product-desc__content table th,
    .sh-product-desc__content table td {
        padding: 10px 12px;
    }
 
    /* 표 가로 스크롤 가능하게 */
    .sh-product-desc__content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* ========================================
   PRODUCT DESC - 이미지 강제 풀폭 패치
   - 워드프레스 .wp-block-image / figure 모든 size 클래스 풀폭
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   figure / wp-block-image 컨테이너 풀폭
---------------------------------------- */
.sh-product-desc__content figure,
.sh-product-desc__content .wp-block-image,
.sh-product-desc__content figure.aligncenter,
.sh-product-desc__content figure.alignwide,
.sh-product-desc__content figure.alignfull,
.sh-product-desc__content figure.alignleft,
.sh-product-desc__content figure.alignright,
.sh-product-desc__content .wp-block-image.aligncenter,
.sh-product-desc__content .wp-block-image.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 2.6em !important;
    margin-bottom: 2.6em !important;
    float: none !important;
    text-align: center;
}

/* ----------------------------------------
   img 자체 - 모든 size 클래스에 풀폭 강제
   (size-thumbnail / size-medium / size-large / size-full)
---------------------------------------- */
.sh-product-desc__content figure img,
.sh-product-desc__content .wp-block-image img,
.sh-product-desc__content figure.size-thumbnail img,
.sh-product-desc__content figure.size-medium img,
.sh-product-desc__content figure.size-large img,
.sh-product-desc__content figure.size-full img,
.sh-product-desc__content img.size-thumbnail,
.sh-product-desc__content img.size-medium,
.sh-product-desc__content img.size-large,
.sh-product-desc__content img.size-full,
.sh-product-desc__content > img,
.sh-product-desc__content p > img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10);
    object-fit: contain;
}

/* figcaption은 그대로 가운데 */
.sh-product-desc__content figcaption {
    margin-top: 14px !important;
    color: #64748b;
    font-size: 14.5px;
    font-style: normal;
    text-align: center;
    line-height: 1.6;
}

/* ========================================
   PRODUCT DESC - 이미지 인라인 스타일 무력화
   - Gutenberg가 figure/img에 자동 추가하는 width를 모두 무시
   style.css 맨 아래에 추가 (기존 figure 패치 다음)
   ======================================== */

/* ----------------------------------------
   인라인 style="width:..." 무시
---------------------------------------- */
.sh-product-desc__content figure[style],
.sh-product-desc__content figure[style*="width"],
.sh-product-desc__content .wp-block-image[style],
.sh-product-desc__content .wp-block-image[style*="width"],
.sh-product-desc__content figure.is-resized,
.sh-product-desc__content figure.is-style-rounded,
.sh-product-desc__content figure.is-style-default,
.sh-product-desc__content .wp-block-image.is-resized {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ----------------------------------------
   img 인라인 width / height 속성 무시
---------------------------------------- */
.sh-product-desc__content figure img[width],
.sh-product-desc__content figure img[height],
.sh-product-desc__content figure img[style],
.sh-product-desc__content figure img[style*="width"],
.sh-product-desc__content .wp-block-image img[width],
.sh-product-desc__content .wp-block-image img[height],
.sh-product-desc__content .wp-block-image img[style],
.sh-product-desc__content figure.is-resized img,
.sh-product-desc__content .wp-block-image.is-resized img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* ----------------------------------------
   Astra 테마 글로벌 이미지 제한 무력화
---------------------------------------- */
.sh-product-desc__content figure,
.sh-product-desc__content .wp-block-image {
    text-align: center;
}

.sh-product-desc__content figure > img,
.sh-product-desc__content .wp-block-image > img {
    margin: 0 auto !important;
}

/* ========================================
   PRODUCT DESC - wp-block-image 글로벌 제한 무력화 (최종)
   - 워드프레스 / Astra의 figure 폭 제한 모두 제거
   - 모든 size / align 클래스 강제 100%
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   .wp-block-image 자체 풀폭
---------------------------------------- */
body .sh-product-desc__content .wp-block-image,
body .sh-product-desc__content figure.wp-block-image,
body.sh-product-single-body .sh-product-desc__content .wp-block-image,
body.sh-product-single-body .sh-product-desc__content figure {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 2.6em !important;
    margin-bottom: 2.6em !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* ----------------------------------------
   모든 정렬 클래스 강제 풀폭
---------------------------------------- */
body .sh-product-desc__content .wp-block-image.aligncenter,
body .sh-product-desc__content .wp-block-image.alignleft,
body .sh-product-desc__content .wp-block-image.alignright,
body .sh-product-desc__content .wp-block-image.alignwide,
body .sh-product-desc__content .wp-block-image.alignfull,
body .sh-product-desc__content figure.aligncenter,
body .sh-product-desc__content figure.alignleft,
body .sh-product-desc__content figure.alignright {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}

/* ----------------------------------------
   모든 사이즈 클래스 강제 풀폭
---------------------------------------- */
body .sh-product-desc__content .wp-block-image.size-thumbnail,
body .sh-product-desc__content .wp-block-image.size-medium,
body .sh-product-desc__content .wp-block-image.size-large,
body .sh-product-desc__content .wp-block-image.size-full,
body .sh-product-desc__content figure.size-thumbnail,
body .sh-product-desc__content figure.size-medium,
body .sh-product-desc__content figure.size-large,
body .sh-product-desc__content figure.size-full {
    width: 100% !important;
    max-width: 100% !important;
}

/* ----------------------------------------
   img 자체 - 100% 가득
---------------------------------------- */
body .sh-product-desc__content figure img,
body .sh-product-desc__content .wp-block-image img,
body .sh-product-desc__content figure > img,
body .sh-product-desc__content .wp-block-image > img,
body .sh-product-desc__content figure.size-thumbnail img,
body .sh-product-desc__content figure.size-medium img,
body .sh-product-desc__content figure.size-large img,
body .sh-product-desc__content figure.size-full img,
body .sh-product-desc__content .wp-block-image[class*="size-"] img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10);
    object-fit: contain;
}

/* ----------------------------------------
   figcaption
---------------------------------------- */
body .sh-product-desc__content figcaption,
body .sh-product-desc__content .wp-element-caption,
body .sh-product-desc__content figure figcaption {
    width: 100% !important;
    max-width: 100% !important;
    margin: 14px auto 0 !important;
    color: #64748b;
    font-size: 14.5px;
    font-style: normal;
    text-align: center;
    line-height: 1.6;
}

/* ========================================
   PRODUCT DESC - 이미지 자연 사이즈 표시 (화질 보존)
   - 이전 width:100% 강제 패치 모두 무력화
   - 작은 이미지는 원본 그대로, 큰 이미지만 컨테이너 폭에 맞춤
   style.css 맨 아래에 추가 (가장 뒤에 와야 우선 적용)
   ======================================== */


/* ----------------------------------------
   figure 컨테이너 - 가운데 정렬, 자연 폭
---------------------------------------- */
body .sh-product-desc__content figure,
body .sh-product-desc__content .wp-block-image,
body.sh-product-single-body .sh-product-desc__content figure,
body.sh-product-single-body .sh-product-desc__content .wp-block-image {
    display: block !important;
    width: auto !important;            /* 강제 100% 제거 */
    max-width: 100% !important;        /* 컨테이너만 넘지 않게 */
    margin: 2.6em auto !important;     /* 가운데 정렬 */
    text-align: center !important;
    float: none !important;
    padding: 0 !important;
}


/* ----------------------------------------
   img - 원본 사이즈 유지 (핵심!)
   width: auto 가 핵심. 작은 이미지를 강제로 늘리지 않음
---------------------------------------- */
body .sh-product-desc__content figure img,
body .sh-product-desc__content .wp-block-image img,
body .sh-product-desc__content figure > img,
body .sh-product-desc__content figure.size-thumbnail img,
body .sh-product-desc__content figure.size-medium img,
body .sh-product-desc__content figure.size-large img,
body .sh-product-desc__content figure.size-full img,
body.sh-product-single-body .sh-product-desc__content figure img {
    display: inline-block !important;
    width: auto !important;            /* ★ 핵심 - 강제 확대 X */
    max-width: 100% !important;        /* 컨테이너 넘지 않게만 */
    height: auto !important;
    margin: 0 auto !important;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.10);
    object-fit: contain;
}


/* ----------------------------------------
   figcaption - 가운데 정렬
---------------------------------------- */
body .sh-product-desc__content figcaption,
body .sh-product-desc__content .wp-element-caption {
    display: block !important;
    width: 100%;
    max-width: 100%;
    margin: 14px auto 0 !important;
    color: #64748b;
    font-size: 14.5px;
    font-style: normal;
    text-align: center;
    line-height: 1.6;
}

/* ========================================
   PRODUCTS CATEGORY GRID - 5 CARD LAYOUT
   - 3+2 그리드 (둘째 줄 가운데 정렬)
   - flexbox로 처리해야 마지막 줄 가운데 정렬됨
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   5-card 그리드 (PC: 3+2 가운데 정렬)
---------------------------------------- */
.sh-products-category__grid--5 {
    display: flex !important;
    flex-wrap: wrap;
    gap: 22px;
    justify-content: center;
}

.sh-products-category__grid--5 .sh-products-category-card {
    flex: 0 0 calc((100% - 44px) / 3);    /* 3-column */
    max-width: calc((100% - 44px) / 3);
    min-height: 380px;
}

/* 카드 안쪽 컴팩트 조정 (3-card 폭에 맞춤) */
.sh-products-category__grid--5 .sh-products-category-card__inner {
    min-height: 380px;
    padding: 32px 28px;
}

.sh-products-category__grid--5 .sh-products-category-card__eyebrow {
    font-size: 12px;
    margin-bottom: 12px;
}

.sh-products-category__grid--5 .sh-products-category-card h3 {
    font-size: clamp(22px, 2.4vw, 28px);
    margin-bottom: 14px;
}

.sh-products-category__grid--5 .sh-products-category-card > .sh-products-category-card__inner > p {
    font-size: 14.5px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.sh-products-category__grid--5 .sh-products-category-card ul {
    gap: 6px;
    margin-bottom: 22px;
}

.sh-products-category__grid--5 .sh-products-category-card li {
    padding: 5px 10px;
    font-size: 12px;
}


/* ----------------------------------------
   태블릿 - 2-column (둘째 줄은 자연스럽게 배치)
---------------------------------------- */
@media (max-width: 1199px) {
    .sh-products-category__grid--5 .sh-products-category-card {
        flex-basis: calc((100% - 22px) / 2);
        max-width: calc((100% - 22px) / 2);
    }
}

@media (max-width: 991px) {
    .sh-products-category__grid--5 .sh-products-category-card {
        min-height: 340px;
    }

    .sh-products-category__grid--5 .sh-products-category-card__inner {
        min-height: 340px;
        padding: 28px 24px;
    }
}


/* ----------------------------------------
   모바일 - 1-column
---------------------------------------- */
@media (max-width: 575px) {
    .sh-products-category__grid--5 {
        gap: 18px;
    }

    .sh-products-category__grid--5 .sh-products-category-card {
        flex-basis: 100%;
        max-width: 100%;
        min-height: 320px;
    }

    .sh-products-category__grid--5 .sh-products-category-card__inner {
        min-height: 320px;
        padding: 26px 22px;
    }
}

/* ========================================
   BRAND PAGES - Sub-Categories Grid Override
   - Meloq: 4-card 그리드 (운동체력 페이지와 동일 패턴)
   - Hypoxico / Sports Science: 3-card (기본 그리드 그대로 사용)
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   Meloq - 4-card 그리드 (sub-categories)
---------------------------------------- */
body.sh-brand-meloq .sh-cat-fields__grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px !important;
}

/* 카드 폭 좁아지므로 내부 패딩 축소 */
body.sh-brand-meloq .sh-cat-field-card {
    padding: 28px 22px;
}

body.sh-brand-meloq .sh-cat-field-card h3 {
    font-size: 20px;
}

body.sh-brand-meloq .sh-cat-field-card p {
    font-size: 14px;
}


/* ----------------------------------------
   태블릿 - 2-column
---------------------------------------- */
@media (max-width: 991px) {
    body.sh-brand-meloq .sh-cat-fields__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}


/* ----------------------------------------
   모바일 - 1-column
---------------------------------------- */
@media (max-width: 575px) {
    body.sh-brand-meloq .sh-cat-fields__grid {
        grid-template-columns: 1fr !important;
    }
}

/* ========================================
   CONTACT PAGE
   /contact/
   - body class: sh-contact-page + sh-cat-compact
   - sh-cat-compact 룰이 헤더 투명 + Hero compact 처리 (이미 정의됨)
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   페이지 풀폭 처리 - Astra 박스 무력화
---------------------------------------- */
body.sh-contact-page #content,
body.sh-contact-page .site-content,
body.sh-contact-page #primary,
body.sh-contact-page .site-content > .ast-container,
body.sh-contact-page .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-contact-page .sh-contact-page-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* 모든 섹션 풀폭 처리 */
body.sh-contact-page .sh-sub-hero,
body.sh-contact-page .sh-contact-info,
body.sh-contact-page .sh-contact-form,
body.sh-contact-page .sh-contact-map {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   INFO CARDS (4-card)
---------------------------------------- */
.sh-contact-info {
    padding: 80px 0 60px;
    background:
        radial-gradient(circle at 10% 16%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-contact-info__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-contact-info__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.sh-contact-info-card {
    display: block;
    padding: 36px 28px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 18px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.05);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

a.sh-contact-info-card:hover {
    transform: translateY(-6px);
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 22px 44px rgba(15, 23, 42, 0.10);
}

.sh-contact-info-card__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #eef7fb 0%, #f7fbfd 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    line-height: 1;
}

.sh-contact-info-card__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--sh-accent-secondary, #00A8B5);
    font-size: 11.5px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.sh-contact-info-card__value {
    display: block;
    margin-bottom: 6px;
    color: #111827;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1.35;
}

.sh-contact-info-card p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
}


/* ----------------------------------------
   FORM (Pluuug iframe)
---------------------------------------- */
.sh-contact-form {
    padding: 90px 0 100px;
    background: #ffffff;
}

.sh-contact-form__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-contact-form__title {
    text-align: center;
    margin-bottom: 44px;
}

.sh-contact-form__title h2 {
    margin: 0 0 16px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-contact-form__title p:not(.sh-section-label) {
    max-width: 720px;
    margin: 0 auto;
    color: #64748b;
    font-size: 16px;
    line-height: 1.8;
    word-break: keep-all;
}

.sh-contact-form__embed {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 20px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.sh-contact-form__embed iframe {
    display: block;
    width: 100% !important;
    min-height: 1080px;
    border: 0 !important;
    border-radius: 12px;
    background: #ffffff;
}


/* ----------------------------------------
   MAP (카카오)
---------------------------------------- */
.sh-contact-map {
    padding: 100px 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(0, 168, 181, 0.10), transparent 30%),
        linear-gradient(135deg, #eef7fb 0%, #f8fbfd 48%, #ffffff 100%);
}

.sh-contact-map__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-contact-map__title {
    text-align: center;
    margin-bottom: 40px;
}

.sh-contact-map__title h2 {
    margin: 0 0 14px;
    color: #111827;
    font-size: clamp(30px, 3.6vw, 44px);
    font-weight: 900;
    letter-spacing: -0.04em;
}

.sh-contact-map__title p:not(.sh-section-label) {
    margin: 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.8;
}

.sh-contact-map__embed {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.10);
    background: #eef3f7;
}

/* 카카오맵 iframe / div 풀폭 강제 */
.sh-contact-map__embed iframe,
.sh-contact-map__embed > div,
.sh-contact-map__embed .root_daum_roughmap {
    width: 100% !important;
    min-height: 480px !important;
    border: 0 !important;
    display: block !important;
}


/* ----------------------------------------
   RESPONSIVE
---------------------------------------- */
@media (max-width: 991px) {
    .sh-contact-info {
        padding: 64px 0 50px;
    }
    .sh-contact-info__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .sh-contact-form {
        padding: 72px 0 80px;
    }
    .sh-contact-form__embed iframe {
        min-height: 980px;
    }
    .sh-contact-map {
        padding: 72px 0;
    }
}

@media (max-width: 575px) {
    .sh-contact-info {
        padding: 50px 0 40px;
    }
    .sh-contact-info__inner,
    .sh-contact-form__inner,
    .sh-contact-map__inner {
        padding: 0 20px;
    }
    .sh-contact-info__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .sh-contact-info-card {
        padding: 28px 22px;
    }
    .sh-contact-info-card__value {
        font-size: 16px;
    }
    .sh-contact-form {
        padding: 50px 0 60px;
    }
    .sh-contact-form__title h2,
    .sh-contact-map__title h2 {
        font-size: 26px;
    }
    .sh-contact-form__embed {
        padding: 12px;
    }
    .sh-contact-form__embed iframe {
        min-height: 920px;
    }
    .sh-contact-map {
        padding: 50px 0;
    }
    .sh-contact-map__embed iframe,
    .sh-contact-map__embed > div {
        min-height: 380px !important;
    }
}

/* ========================================
   CONTACT PAGE V2 - SIDEBAR + FORM LAYOUT
   - 좌측 320px sidebar (sticky) + 우측 1fr Form
   - 기존 sh-contact-info / sh-contact-form 룰은 그대로 두되 안 쓰임
   - 새 sh-contact-main 섹션 추가
   style.css 맨 아래에 추가 (가장 뒤에 와야 우선 적용)
   ======================================== */



/* ----------------------------------------
   sh-contact-main 풀폭 처리 (신규)
---------------------------------------- */
body.sh-contact-page .sh-contact-main {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   MAIN SECTION - Sidebar + Form 그리드
---------------------------------------- */
.sh-contact-main {
    padding: 90px 0 110px;
    background:
        radial-gradient(circle at 8% 14%, rgba(0, 168, 181, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfd 100%);
}

.sh-contact-main__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 56px;
    align-items: start;
}


/* ----------------------------------------
   LEFT: SIDEBAR (CONTACT INFORMATION)
---------------------------------------- */
.sh-contact-sidebar {
    position: sticky;
    top: 110px;
}

.sh-contact-sidebar .sh-section-label {
    margin: 0 0 14px;
}

.sh-contact-sidebar h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(22px, 2.3vw, 28px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.3;
    word-break: keep-all;
}

.sh-contact-sidebar__intro {
    margin: 0 0 32px;
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.75;
    word-break: keep-all;
}

.sh-contact-sidebar__list {
    border-top: 1px solid #e5e7eb;
    margin-bottom: 32px;
}

.sh-contact-sidebar__item {
    padding: 18px 0;
    border-bottom: 1px solid #e5e7eb;
}

.sh-contact-sidebar__label {
    display: block;
    margin-bottom: 8px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sh-contact-sidebar__value {
    display: block;
    color: #111827;
    font-size: 17px;
    font-weight: 900;
    text-decoration: none;
    line-height: 1.4;
    letter-spacing: -0.01em;
    word-break: break-all;
}

a.sh-contact-sidebar__value {
    transition: color 0.2s ease;
}

a.sh-contact-sidebar__value:hover {
    color: var(--sh-accent-primary, #0066B3);
}

.sh-contact-sidebar__item small {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
}


/* ----------------------------------------
   문의 가능 제품군 박스
---------------------------------------- */
.sh-contact-sidebar__products {
    padding: 24px;
    background: #f7fbfd;
    border-radius: 14px;
    border: 1px solid rgba(0, 168, 181, 0.12);
}

.sh-contact-sidebar__products-label {
    margin: 0 0 14px;
    color: #111827;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.sh-contact-sidebar__products ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sh-contact-sidebar__products li {
    padding: 9px 0;
    color: #475569;
    font-size: 13.5px;
    line-height: 1.5;
    border-bottom: 1px dashed rgba(0, 168, 181, 0.18);
}

.sh-contact-sidebar__products li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sh-contact-sidebar__products li:first-child {
    padding-top: 0;
}

.sh-contact-sidebar__products li strong {
    display: inline-block;
    margin-right: 4px;
    color: var(--sh-accent-primary, #0066B3);
    font-weight: 900;
}


/* ----------------------------------------
   RIGHT: FORM AREA
---------------------------------------- */
.sh-contact-form-wrap {
    min-width: 0;  /* grid item overflow 방지 */
}

.sh-contact-form-wrap .sh-section-label {
    margin: 0 0 14px;
}

.sh-contact-form-wrap h2 {
    margin: 0 0 18px;
    color: #111827;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.25;
}

.sh-contact-form-wrap__intro {
    margin: 0 0 28px;
    max-width: 720px;
    color: #64748b;
    font-size: 15.5px;
    line-height: 1.75;
    word-break: keep-all;
}


/* ----------------------------------------
   Pluuug 폼 임베드 컨테이너
---------------------------------------- */
.sh-contact-form-wrap .sh-contact-form__embed {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

.sh-contact-form-wrap .sh-contact-form__embed iframe {
    display: block;
    width: 100% !important;
    min-height: 1080px;
    border: 0 !important;
    border-radius: 12px;
    background: #ffffff;
}


/* ----------------------------------------
   RESPONSIVE - 태블릿
---------------------------------------- */
@media (max-width: 1099px) {
    .sh-contact-main__inner {
        grid-template-columns: 280px 1fr;
        gap: 40px;
        padding: 0 28px;
    }
}

@media (max-width: 991px) {
    .sh-contact-main {
        padding: 70px 0 80px;
    }

    .sh-contact-main__inner {
        grid-template-columns: 1fr;
        gap: 48px;
        padding: 0 24px;
    }

    /* 모바일/태블릿에서는 sticky 해제 */
    .sh-contact-sidebar {
        position: static;
        max-width: 720px;
        margin: 0 auto;
    }

    .sh-contact-form-wrap {
        max-width: 100%;
    }
}


/* ----------------------------------------
   RESPONSIVE - 모바일
---------------------------------------- */
@media (max-width: 575px) {
    .sh-contact-main {
        padding: 50px 0 64px;
    }

    .sh-contact-main__inner {
        padding: 0 20px;
        gap: 36px;
    }

    .sh-contact-sidebar h2 {
        font-size: 22px;
    }

    .sh-contact-sidebar__intro {
        font-size: 14px;
        margin-bottom: 26px;
    }

    .sh-contact-sidebar__value {
        font-size: 16px;
    }

    .sh-contact-sidebar__products {
        padding: 20px;
    }

    .sh-contact-form-wrap h2 {
        font-size: 24px;
    }

    .sh-contact-form-wrap__intro {
        font-size: 14.5px;
        margin-bottom: 22px;
    }

    .sh-contact-form-wrap .sh-contact-form__embed {
        padding: 14px;
        border-radius: 16px;
    }

    .sh-contact-form-wrap .sh-contact-form__embed iframe {
        min-height: 920px;
    }
}

body.sh-contact-page .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
 
 /* ========================================
   COMPACT HERO TEXT COLOR HOTFIX
   - sh-cat-compact body class를 쓰는 모든 페이지의 Hero text를
     다른 hero 페이지와 동일하게 흰색으로 통일
   - Contact / 카테고리 페이지 / 브랜드 페이지 모두 일관성 확보
   style.css 맨 아래에 추가
   ======================================== */

body.sh-cat-compact .sh-sub-hero__eyebrow {
    color: rgba(255, 255, 255, 0.95) !important;
    letter-spacing: 0.28em !important;
}

body.sh-cat-compact .sh-sub-hero__title {
    color: #ffffff !important;
}

body.sh-cat-compact .sh-sub-hero__desc {
    color: rgba(255, 255, 255, 0.94) !important;
}

/* ========================================
   NEWS PAGES (성과 및 홍보)
   - sh-cat-compact 사용 (Hero 컴팩트 + 투명 헤더)
   - 탭 + 카드 그리드
   style.css 맨 아래에 추가
   ======================================== */

/* 섹션 컨테이너 */
.sh-news-section {
    padding: 80px 0 120px;
    background: #ffffff;
}

.sh-news-section__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* 탭 */
.sh-news-tabs {
    display: flex;
    gap: 4px;
    margin: 0 0 50px;
    border-bottom: 1px solid #e2e8f0;
}

.sh-news-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-size: 15px;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: none;
    background: transparent;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
    margin-bottom: -1px;
}

.sh-news-tabs__item:hover {
    color: var(--sh-accent-primary);
}

.sh-news-tabs__item.is-active {
    color: var(--sh-text-primary);
    border-bottom-color: var(--sh-accent-primary);
}

/* 그리드 */
.sh-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

@media (max-width: 992px) {
    .sh-news-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .sh-news-grid {
        grid-template-columns: 1fr;
    }
    .sh-news-tabs__item {
        padding: 12px 20px;
        font-size: 14px;
    }
}

/* 카드 */
.sh-news-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
}

.sh-news-card:hover {
    transform: translateY(-4px);
    border-color: var(--sh-accent-primary);
    box-shadow: 0 12px 30px rgba(0, 102, 179, 0.12);
}

.sh-news-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f1f5f9;
}

.sh-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.sh-news-card:hover .sh-news-card__media img {
    transform: scale(1.05);
}

.sh-news-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 24px;
}

.sh-news-card__title {
    margin: 0 0 12px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    color: var(--sh-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sh-news-card__excerpt {
    flex: 1;
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--sh-text-secondary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sh-news-card__date {
    font-size: 13px;
    font-weight: 500;
    color: #94a3b8;
    letter-spacing: 0.02em;
}

/* 빈 상태 */
.sh-news-empty {
    padding: 80px 24px;
    text-align: center;
    color: #94a3b8;
}

.sh-news-empty p {
    margin: 4px 0;
    font-size: 15px;
}

.sh-news-empty p:first-child {
    font-size: 17px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 8px;
}

/* ========================================
   NEWS SINGLE (뉴스 상세)
   ======================================== */

.sh-news-single-page {
    padding-top: 0;
}

.sh-news-article__header {
    padding: 130px 0 50px;
    background: linear-gradient(135deg, #f7f9fc 0%, #eef3f9 100%);
    border-bottom: 1px solid #e2e8f0;
}

.sh-news-article__header-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-news-article__breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    font-size: 13px;
    color: #64748b;
}

.sh-news-article__breadcrumb a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}

.sh-news-article__breadcrumb a:hover {
    color: var(--sh-accent-primary);
}

.sh-news-article__eyebrow {
    display: inline-block;
    padding: 4px 12px;
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--sh-accent-primary);
    background: rgba(0, 102, 179, 0.08);
    border-radius: 4px;
}

.sh-news-article__title {
    margin: 0 0 18px;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--sh-text-primary);
}

.sh-news-article__date {
    margin: 0;
    font-size: 14px;
    color: #94a3b8;
    font-weight: 500;
}

.sh-news-article__body {
    padding: 60px 0;
}

.sh-news-article__body-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-news-article__hero-img {
    margin: 0 0 50px;
    border-radius: 12px;
    overflow: hidden;
}

.sh-news-article__hero-img img {
    width: 100%;
    height: auto;
    display: block;
}

.sh-news-article__content {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

.sh-news-article__content p {
    margin: 0 0 20px;
}

.sh-news-article__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
}

.sh-news-article__content h2,
.sh-news-article__content h3 {
    margin: 40px 0 16px;
    color: var(--sh-text-primary);
    font-weight: 700;
}

.sh-news-article__content h2 { font-size: 24px; }
.sh-news-article__content h3 { font-size: 20px; }

.sh-news-article__footer {
    padding: 40px 0 80px;
    border-top: 1px solid #e2e8f0;
}

.sh-news-article__footer-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-news-article__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}

.sh-news-article__back:hover {
    background: #ffffff;
    border-color: var(--sh-accent-primary);
    color: var(--sh-accent-primary);
}

/* ========================================
   NEWS PAGE FULL WIDTH FIX
   - 다른 페이지들과 동일한 패턴으로 Astra ast-container 무력화
   - sh-news-page (리스트) + sh-news-single (상세) 둘 다
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   sh-news-page (리스트 페이지: /news/)
---------------------------------------- */
body.sh-news-page #content,
body.sh-news-page .site-content,
body.sh-news-page #primary,
body.sh-news-page .site-content > .ast-container,
body.sh-news-page .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-news-page .sh-news-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

/* 모든 섹션 풀폭 (100vw) */
body.sh-news-page .sh-sub-hero,
body.sh-news-page .sh-news-section {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   sh-news-single (뉴스 상세 페이지)
---------------------------------------- */
body.sh-news-single #content,
body.sh-news-single .site-content,
body.sh-news-single #primary,
body.sh-news-single .site-content > .ast-container,
body.sh-news-single .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-news-single .sh-news-single-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.sh-news-single .sh-news-article__header,
body.sh-news-single .sh-news-article__body,
body.sh-news-single .sh-news-article__footer {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}


/* ----------------------------------------
   워드프레스 기본 게시글 메타 숨김 (뉴스 상세)
---------------------------------------- */
body.sh-news-single .entry-meta,
body.sh-news-single .post-meta,
body.sh-news-single .ast-author-details,
body.sh-news-single .single-post-meta,
body.sh-news-single .ast-single-related-posts-container {
    display: none !important;
}


/* ========================================
   FINAL HERO NORMALIZATION - 2026-06-29
   인사말 / 사업분야 / 제품 / 협력업체 / 성과 및 홍보 Hero 통일
   - 목적: 여러 위치에 흩어진 hero CSS를 최종적으로 동일 톤과 크기로 정리
   ======================================== */

/* 1) 공통 Hero 크기와 배치 */
body.sh-greeting-body .sh-greeting-page .sh-sub-hero,
body.sh-business-body .sh-business-page .sh-business-hero,
body.sh-business-body .sh-business-hero,
body.sh-products-body .sh-products-page .sh-sub-hero,
body.sh-products-category-page .sh-products-category-page .sh-sub-hero,
body.sh-products-category-page .sh-sub-hero,
body.sh-partner-body .sh-partner-page .sh-sub-hero,
body.sh-partner-body .sh-partner-page .sh-sub-hero--partner,
body.sh-news-page .sh-sub-hero,
body.sh-news-page .sh-sub-hero--compact {
    min-height: clamp(560px, 42vw, 720px) !important;
    display: flex !important;
    align-items: center !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-blend-mode: normal !important;
}

/* 2) 공통 어두운 마스크 - 기본 hero */
body.sh-greeting-body .sh-greeting-page .sh-sub-hero,
body.sh-products-body .sh-products-page .sh-sub-hero,
body.sh-products-category-page .sh-products-category-page .sh-sub-hero,
body.sh-products-category-page .sh-sub-hero,
body.sh-partner-body .sh-partner-page .sh-sub-hero,
body.sh-partner-body .sh-partner-page .sh-sub-hero--partner,
body.sh-news-page .sh-sub-hero,
body.sh-news-page .sh-sub-hero--compact {
    background-color: #111827 !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg) !important;
}

/* 3) 사업분야는 변수명이 달라서 별도 지정 */
body.sh-business-body .sh-business-page .sh-business-hero,
body.sh-business-body .sh-business-hero {
    background-color: #111827 !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--business-hero-bg) !important;
}

/* 4) Hero 내부 텍스트 영역 */
body.sh-greeting-body .sh-greeting-page .sh-sub-hero__inner,
body.sh-business-body .sh-business-page .sh-business-hero__inner,
body.sh-business-body .sh-business-hero__inner,
body.sh-products-body .sh-products-page .sh-sub-hero__inner,
body.sh-products-category-page .sh-products-category-page .sh-sub-hero__inner,
body.sh-products-category-page .sh-sub-hero__inner,
body.sh-partner-body .sh-partner-page .sh-sub-hero__inner,
body.sh-news-page .sh-sub-hero__inner,
body.sh-news-page .sh-sub-hero--compact .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 145px 24px 92px !important;
    color: #ffffff !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}

/* 5) NEWS 등 sh-cat-compact 공통 점 패턴이 겹칠 때 제거 */
body.sh-news-page .sh-sub-hero::before,
body.sh-news-page .sh-sub-hero--compact::before,
body.sh-products-body .sh-sub-hero::before,
body.sh-products-category-page .sh-sub-hero::before,
body.sh-partner-body .sh-sub-hero::before {
    display: none !important;
    content: none !important;
}

/* 6) 상단 작은 라벨: — NEWS / — BUSINESS / — COMPANY 처럼 통일 */
body.sh-greeting-body .sh-sub-hero__eyebrow,
body.sh-business-body .sh-business-hero .sh-section-label,
body.sh-business-body .sh-business-hero__eyebrow,
body.sh-products-body .sh-sub-hero__eyebrow,
body.sh-products-category-page .sh-sub-hero__eyebrow,
body.sh-partner-body .sh-sub-hero__eyebrow,
body.sh-news-page .sh-sub-hero__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--sh-accent-secondary, #00A8B5) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .28em !important;
    line-height: 1 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .32) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.sh-greeting-body .sh-sub-hero__eyebrow::before,
body.sh-business-body .sh-business-hero .sh-section-label::before,
body.sh-business-body .sh-business-hero__eyebrow::before,
body.sh-products-body .sh-sub-hero__eyebrow::before,
body.sh-products-category-page .sh-sub-hero__eyebrow::before,
body.sh-partner-body .sh-sub-hero__eyebrow::before,
body.sh-news-page .sh-sub-hero__eyebrow::before {
    content: "" !important;
    display: inline-block !important;
    width: 36px !important;
    height: 2px !important;
    flex: 0 0 36px !important;
    border-radius: 999px !important;
    background: var(--sh-accent-secondary, #00A8B5) !important;
    box-shadow: 0 0 14px rgba(0, 168, 181, .45) !important;
}

/* 7) Hero 제목 */
body.sh-greeting-body .sh-sub-hero__title,
body.sh-business-body .sh-business-hero h1,
body.sh-products-body .sh-sub-hero__title,
body.sh-products-category-page .sh-sub-hero__title,
body.sh-partner-body .sh-sub-hero__title,
body.sh-news-page .sh-sub-hero__title {
    margin: 0 0 24px !important;
    color: #ffffff !important;
    font-size: clamp(46px, 5.4vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all !important;
}

/* 8) Hero 설명문 - BUSINESS 라벨이 흰색으로 먹히는 문제 방지 */
body.sh-greeting-body .sh-sub-hero__desc,
body.sh-business-body .sh-business-hero p:not(.sh-section-label):not(.sh-business-hero__eyebrow),
body.sh-products-body .sh-sub-hero__desc,
body.sh-products-category-page .sh-sub-hero__desc,
body.sh-partner-body .sh-sub-hero__desc,
body.sh-news-page .sh-sub-hero__desc {
    max-width: 820px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
    word-break: keep-all !important;
}

/* 9) Hero 키워드 버튼 */
body.sh-greeting-body .sh-sub-hero__keywords,
body.sh-business-body .sh-business-hero__keywords,
body.sh-products-body .sh-sub-hero__keywords,
body.sh-products-category-page .sh-sub-hero__keywords,
body.sh-partner-body .sh-sub-hero__keywords,
body.sh-news-page .sh-sub-hero__keywords {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 32px !important;
}

body.sh-greeting-body .sh-sub-hero__keywords span,
body.sh-business-body .sh-business-hero__keywords span,
body.sh-products-body .sh-sub-hero__keywords span,
body.sh-products-category-page .sh-sub-hero__keywords span,
body.sh-partner-body .sh-sub-hero__keywords span,
body.sh-news-page .sh-sub-hero__keywords span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 8px 15px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    background: rgba(0, 168, 181, .18) !important;
    border: 1px solid rgba(0, 168, 181, .42) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .13) !important;
}

body.sh-greeting-body .sh-sub-hero__keywords span:hover,
body.sh-business-body .sh-business-hero__keywords span:hover,
body.sh-products-body .sh-sub-hero__keywords span:hover,
body.sh-products-category-page .sh-sub-hero__keywords span:hover,
body.sh-partner-body .sh-sub-hero__keywords span:hover,
body.sh-news-page .sh-sub-hero__keywords span:hover {
    background: rgba(0, 168, 181, .34) !important;
    border-color: rgba(0, 168, 181, .72) !important;
}

/* 10) 태블릿 */
@media (max-width: 991px) {
    body.sh-greeting-body .sh-greeting-page .sh-sub-hero,
    body.sh-business-body .sh-business-page .sh-business-hero,
    body.sh-business-body .sh-business-hero,
    body.sh-products-body .sh-products-page .sh-sub-hero,
    body.sh-products-category-page .sh-products-category-page .sh-sub-hero,
    body.sh-products-category-page .sh-sub-hero,
    body.sh-partner-body .sh-partner-page .sh-sub-hero,
    body.sh-partner-body .sh-partner-page .sh-sub-hero--partner,
    body.sh-news-page .sh-sub-hero,
    body.sh-news-page .sh-sub-hero--compact {
        min-height: 480px !important;
    }

    body.sh-greeting-body .sh-greeting-page .sh-sub-hero__inner,
    body.sh-business-body .sh-business-page .sh-business-hero__inner,
    body.sh-business-body .sh-business-hero__inner,
    body.sh-products-body .sh-products-page .sh-sub-hero__inner,
    body.sh-products-category-page .sh-products-category-page .sh-sub-hero__inner,
    body.sh-products-category-page .sh-sub-hero__inner,
    body.sh-partner-body .sh-partner-page .sh-sub-hero__inner,
    body.sh-news-page .sh-sub-hero__inner,
    body.sh-news-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 105px 24px 76px !important;
    }
}

/* 11) 모바일 */
@media (max-width: 575px) {
    body.sh-greeting-body .sh-greeting-page .sh-sub-hero,
    body.sh-business-body .sh-business-page .sh-business-hero,
    body.sh-business-body .sh-business-hero,
    body.sh-products-body .sh-products-page .sh-sub-hero,
    body.sh-products-category-page .sh-products-category-page .sh-sub-hero,
    body.sh-products-category-page .sh-sub-hero,
    body.sh-partner-body .sh-partner-page .sh-sub-hero,
    body.sh-partner-body .sh-partner-page .sh-sub-hero--partner,
    body.sh-news-page .sh-sub-hero,
    body.sh-news-page .sh-sub-hero--compact {
        min-height: 420px !important;
        background-position: center center !important;
    }

    body.sh-greeting-body .sh-greeting-page .sh-sub-hero__inner,
    body.sh-business-body .sh-business-page .sh-business-hero__inner,
    body.sh-business-body .sh-business-hero__inner,
    body.sh-products-body .sh-products-page .sh-sub-hero__inner,
    body.sh-products-category-page .sh-products-category-page .sh-sub-hero__inner,
    body.sh-products-category-page .sh-sub-hero__inner,
    body.sh-partner-body .sh-partner-page .sh-sub-hero__inner,
    body.sh-news-page .sh-sub-hero__inner,
    body.sh-news-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 76px 20px 58px !important;
    }

    body.sh-greeting-body .sh-sub-hero__eyebrow,
    body.sh-business-body .sh-business-hero .sh-section-label,
    body.sh-business-body .sh-business-hero__eyebrow,
    body.sh-products-body .sh-sub-hero__eyebrow,
    body.sh-products-category-page .sh-sub-hero__eyebrow,
    body.sh-partner-body .sh-sub-hero__eyebrow,
    body.sh-news-page .sh-sub-hero__eyebrow {
        gap: 10px !important;
        margin-bottom: 16px !important;
        font-size: 13px !important;
        letter-spacing: .22em !important;
    }

    body.sh-greeting-body .sh-sub-hero__eyebrow::before,
    body.sh-business-body .sh-business-hero .sh-section-label::before,
    body.sh-business-body .sh-business-hero__eyebrow::before,
    body.sh-products-body .sh-sub-hero__eyebrow::before,
    body.sh-products-category-page .sh-sub-hero__eyebrow::before,
    body.sh-partner-body .sh-sub-hero__eyebrow::before,
    body.sh-news-page .sh-sub-hero__eyebrow::before {
        width: 28px !important;
        flex-basis: 28px !important;
    }

    body.sh-greeting-body .sh-sub-hero__title,
    body.sh-business-body .sh-business-hero h1,
    body.sh-products-body .sh-sub-hero__title,
    body.sh-products-category-page .sh-sub-hero__title,
    body.sh-partner-body .sh-sub-hero__title,
    body.sh-news-page .sh-sub-hero__title {
        margin-bottom: 18px !important;
        font-size: 40px !important;
    }

    body.sh-greeting-body .sh-sub-hero__desc,
    body.sh-business-body .sh-business-hero p:not(.sh-section-label):not(.sh-business-hero__eyebrow),
    body.sh-products-body .sh-sub-hero__desc,
    body.sh-products-category-page .sh-sub-hero__desc,
    body.sh-partner-body .sh-sub-hero__desc,
    body.sh-news-page .sh-sub-hero__desc {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    body.sh-greeting-body .sh-sub-hero__keywords,
    body.sh-business-body .sh-business-hero__keywords,
    body.sh-products-body .sh-sub-hero__keywords,
    body.sh-products-category-page .sh-sub-hero__keywords,
    body.sh-partner-body .sh-sub-hero__keywords,
    body.sh-news-page .sh-sub-hero__keywords {
        gap: 8px !important;
        margin-top: 24px !important;
    }

    body.sh-greeting-body .sh-sub-hero__keywords span,
    body.sh-business-body .sh-business-hero__keywords span,
    body.sh-products-body .sh-sub-hero__keywords span,
    body.sh-products-category-page .sh-sub-hero__keywords span,
    body.sh-partner-body .sh-sub-hero__keywords span,
    body.sh-news-page .sh-sub-hero__keywords span {
        min-height: 32px !important;
        padding: 7px 12px !important;
        font-size: 12.5px !important;
    }
}

/* ========================================
   PRODUCT SINGLE GALLERY
   제품 상세 상단 이미지 갤러리
   ======================================== */

.sh-product-main__media-frame {
    overflow: visible;
}

.sh-product-main__media-frame .sh-product-gallery {
    width: 100%;
}

.sh-product-main__media-frame .sh-product-gallery__main {
    position: relative;
    width: 100%;
    min-height: clamp(340px, 36vw, 520px);
    padding: 34px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sh-product-main__media-frame .sh-product-gallery__main-img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 480px;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    object-position: center center;
    border-radius: 0;
    box-shadow: none;
}

.sh-product-main__media-frame .sh-product-gallery__thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 14px;
    padding: 2px 2px 8px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.sh-product-main__media-frame .sh-product-gallery__thumb {
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    padding: 6px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #dbe3ea;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sh-product-main__media-frame .sh-product-gallery__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    border-radius: 0;
    box-shadow: none;
}

.sh-product-main__media-frame .sh-product-gallery__thumb:hover,
.sh-product-main__media-frame .sh-product-gallery__thumb.is-active {
    border-color: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 8px 18px rgba(0, 168, 181, 0.20);
    transform: translateY(-2px);
}

@media (max-width: 767px) {
    .sh-product-main__media-frame .sh-product-gallery__main {
        min-height: 320px;
        padding: 22px;
        border-radius: 18px;
    }

    .sh-product-main__media-frame .sh-product-gallery__thumb {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        border-radius: 10px;
    }
}

/* ========================================
   CONTACT HERO FINAL FIX
   문의하기 hero를 다른 서브페이지와 동일한 위치/스타일로 통일
   ======================================== */

body.sh-contact-page .sh-sub-hero,
body.sh-contact-page .sh-sub-hero--compact {
    min-height: clamp(560px, 42vw, 720px) !important;
    display: flex !important;
    align-items: center !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

body.sh-contact-page .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 145px 24px 92px !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
}

body.sh-contact-page .sh-sub-hero__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;

    color: var(--sh-accent-secondary, #00A8B5) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .28em !important;
    line-height: 1 !important;

    text-shadow: 0 2px 10px rgba(0, 0, 0, .32) !important;
}

body.sh-contact-page .sh-sub-hero__eyebrow::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 2px;
    flex: 0 0 36px;
    border-radius: 999px;
    background: var(--sh-accent-secondary, #00A8B5);
    box-shadow: 0 0 14px rgba(0, 168, 181, .45);
}

body.sh-contact-page .sh-sub-hero__title {
    margin: 0 0 26px !important;
    color: #ffffff !important;
    font-size: clamp(46px, 5.4vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.04em !important;
}

body.sh-contact-page .sh-sub-hero__desc {
    max-width: 820px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: 20px !important;
    line-height: 1.75 !important;
}

/* 기존 sh-cat-compact 점 패턴이 보이면 Contact에서는 제거 */
body.sh-contact-page .sh-sub-hero::before {
    display: none !important;
}

@media (max-width: 991px) {
    body.sh-contact-page .sh-sub-hero,
    body.sh-contact-page .sh-sub-hero--compact {
        min-height: 480px !important;
    }

    body.sh-contact-page .sh-sub-hero__inner {
        padding: 105px 24px 76px !important;
    }
}

@media (max-width: 575px) {
    body.sh-contact-page .sh-sub-hero,
    body.sh-contact-page .sh-sub-hero--compact {
        min-height: 420px !important;
        background-position: center center !important;
    }

    body.sh-contact-page .sh-sub-hero__inner {
        padding: 76px 20px 58px !important;
    }

    body.sh-contact-page .sh-sub-hero__eyebrow {
        gap: 10px !important;
        margin-bottom: 16px !important;
        font-size: 13px !important;
        letter-spacing: .22em !important;
    }

    body.sh-contact-page .sh-sub-hero__eyebrow::before {
        width: 28px !important;
        flex-basis: 28px !important;
    }

    body.sh-contact-page .sh-sub-hero__title {
        margin-bottom: 18px !important;
        font-size: 40px !important;
    }

    body.sh-contact-page .sh-sub-hero__desc {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }
}

/* ========================================
   CLIENTS PAGES (주요 납품처)
   - 풀폭 무력화 (다른 페이지들과 동일)
   - Hero 인사말 페이지 스타일 (큰 hero, 세로 가운데)
   - 탭 (리스트 / 설치사진)
   - 리스트 그리드 + 설치사진 카드 그리드
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   풀폭 무력화 (Astra ast-container 해제)
---------------------------------------- */
body.sh-clients-page #content,
body.sh-clients-page .site-content,
body.sh-clients-page #primary,
body.sh-clients-page .site-content > .ast-container,
body.sh-clients-page .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-clients-page .sh-clients-main,
body.sh-clients-page .sh-client-single-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.sh-clients-page .sh-sub-hero,
body.sh-clients-page .sh-clients-section,
body.sh-clients-page .sh-client-article__header,
body.sh-clients-page .sh-client-article__body,
body.sh-clients-page .sh-client-article__footer {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* 워드프레스 기본 게시글 메타 숨김 */
body.sh-client-single .entry-meta,
body.sh-client-single .post-meta,
body.sh-client-single .ast-author-details,
body.sh-client-single .single-post-meta,
body.sh-client-single .ast-single-related-posts-container {
    display: none !important;
}


/* ----------------------------------------
   HERO - 인사말 페이지와 동일 사이즈
---------------------------------------- */
body.sh-clients-page .sh-sub-hero,
body.sh-clients-page .sh-sub-hero--compact {
    min-height: clamp(620px, 50vw, 820px) !important;
    display: flex !important;
    align-items: center !important;
}

body.sh-clients-page .sh-sub-hero__inner,
body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 170px 24px 110px !important;
    box-sizing: border-box !important;
}

body.sh-clients-page .sh-sub-hero__title {
    font-size: clamp(48px, 6vw, 78px) !important;
    margin-bottom: 26px !important;
}

body.sh-clients-page .sh-sub-hero__desc {
    font-size: 20px !important;
    line-height: 1.75 !important;
    max-width: 820px;
}

body.sh-clients-page .sh-sub-hero__eyebrow {
    font-size: 15px !important;
    margin: 0 0 20px !important;
}


/* ----------------------------------------
   SECTION 컨테이너 + 탭
---------------------------------------- */
.sh-clients-section {
    padding: 80px 0 120px;
    background: #ffffff;
}

.sh-clients-section__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-clients-tabs {
    display: flex;
    gap: 4px;
    margin: 0 0 50px;
    border-bottom: 1px solid #e2e8f0;
}

.sh-clients-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: -1px;
    -webkit-appearance: none;
    appearance: none;
}

.sh-clients-tabs__item:hover {
    color: var(--sh-accent-primary);
}

.sh-clients-tabs__item:focus {
    outline: none;
}

.sh-clients-tabs__item:focus-visible {
    outline: 2px solid var(--sh-accent-primary);
    outline-offset: 4px;
    border-radius: 4px;
}

.sh-clients-tabs__item.is-active {
    color: var(--sh-text-primary);
    border-bottom-color: var(--sh-accent-primary);
}

.sh-clients-panel[hidden] {
    display: none !important;
}


/* ----------------------------------------
   리스트 그리드 (5컬럼 텍스트 박스)
---------------------------------------- */
.sh-clients-list-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}

@media (max-width: 1199px) {
    .sh-clients-list-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991px) {
    .sh-clients-list-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .sh-clients-list-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.sh-clients-list-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 90px;
    padding: 20px 16px;
    background: #ffffff;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    text-align: center;
    transition: all 0.2s ease;
}

.sh-clients-list-item:hover {
    border-color: var(--sh-accent-primary);
    background: #f8fbfd;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 102, 179, 0.08);
}

.sh-clients-list-item__name {
    color: var(--sh-text-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    word-break: keep-all;
}

.sh-clients-list-item__excerpt {
    margin-top: 6px;
    color: #94a3b8;
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.02em;
}


/* ----------------------------------------
   설치사진 그리드 (3컬럼 카드)
---------------------------------------- */
.sh-clients-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

@media (max-width: 992px) {
    .sh-clients-photo-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .sh-clients-photo-grid {
        grid-template-columns: 1fr;
    }
    .sh-clients-tabs__item {
        padding: 12px 20px;
        font-size: 14px;
    }
}

.sh-clients-photo-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all 0.25s ease;
}

.sh-clients-photo-card:hover {
    transform: translateY(-4px);
    border-color: var(--sh-accent-primary);
    box-shadow: 0 12px 30px rgba(0, 102, 179, 0.12);
}

.sh-clients-photo-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f1f5f9;
}

.sh-clients-photo-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.sh-clients-photo-card:hover .sh-clients-photo-card__media img {
    transform: scale(1.05);
}

.sh-clients-photo-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 24px;
}

.sh-clients-photo-card__title {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    color: var(--sh-text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sh-clients-photo-card__excerpt {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--sh-text-secondary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* ----------------------------------------
   빈 상태
---------------------------------------- */
.sh-clients-empty {
    padding: 80px 24px;
    text-align: center;
    color: #94a3b8;
}

.sh-clients-empty p {
    margin: 4px 0;
    font-size: 15px;
}

.sh-clients-empty p:first-child {
    font-size: 17px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 8px;
}


/* ========================================
   CLIENT SINGLE (납품처 상세)
   ======================================== */

.sh-client-single-page {
    padding-top: 0;
}

.sh-client-article__header {
    padding: 130px 0 50px;
    background: linear-gradient(135deg, #f7f9fc 0%, #eef3f9 100%);
    border-bottom: 1px solid #e2e8f0;
}

.sh-client-article__header-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-client-article__breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    font-size: 13px;
    color: #64748b;
}

.sh-client-article__breadcrumb a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}

.sh-client-article__breadcrumb a:hover {
    color: var(--sh-accent-primary);
}

.sh-client-article__eyebrow {
    display: inline-block;
    padding: 4px 12px;
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--sh-accent-primary);
    background: rgba(0, 102, 179, 0.08);
    border-radius: 4px;
}

.sh-client-article__title {
    margin: 0 0 18px;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--sh-text-primary);
}

.sh-client-article__date {
    margin: 0;
    font-size: 14px;
    color: #94a3b8;
    font-weight: 500;
}

.sh-client-article__body {
    padding: 60px 0;
}

.sh-client-article__body-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-client-article__hero-img {
    margin: 0 0 50px;
    border-radius: 12px;
    overflow: hidden;
}

.sh-client-article__hero-img img {
    width: 100%;
    height: auto;
    display: block;
}

.sh-client-article__content {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

.sh-client-article__content p {
    margin: 0 0 20px;
}

.sh-client-article__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
}

.sh-client-article__content h2,
.sh-client-article__content h3 {
    margin: 40px 0 16px;
    color: var(--sh-text-primary);
    font-weight: 700;
}

.sh-client-article__content h2 { font-size: 24px; }
.sh-client-article__content h3 { font-size: 20px; }

.sh-client-article__footer {
    padding: 40px 0 80px;
    border-top: 1px solid #e2e8f0;
}

.sh-client-article__footer-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-client-article__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}

.sh-client-article__back:hover {
    background: #ffffff;
    border-color: var(--sh-accent-primary);
    color: var(--sh-accent-primary);
}


/* ----------------------------------------
   모바일 Hero
---------------------------------------- */
@media (max-width: 991px) {
    body.sh-clients-page .sh-sub-hero,
    body.sh-clients-page .sh-sub-hero--compact {
        min-height: 460px !important;
    }
    body.sh-clients-page .sh-sub-hero__inner,
    body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 90px 24px !important;
    }
}

@media (max-width: 575px) {
    body.sh-clients-page .sh-sub-hero,
    body.sh-clients-page .sh-sub-hero--compact {
        min-height: 420px !important;
    }
    body.sh-clients-page .sh-sub-hero__inner,
    body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 72px 20px !important;
    }
    body.sh-clients-page .sh-sub-hero__title {
        font-size: 42px !important;
    }
    body.sh-clients-page .sh-sub-hero__desc {
        font-size: 16px !important;
    }
}

/* ========================================
   CLIENTS HERO FINAL FIX
   주요 납품처 hero를 다른 서브페이지(인사말/사업분야/제품/뉴스)와
   동일한 위치/스타일/사이즈로 통일
   - FINAL HERO NORMALIZATION 룰과 동일한 톤
   style.css 맨 아래에 추가 (가장 뒤에 와야 우선 적용)
   ======================================== */

body.sh-clients-page .sh-sub-hero,
body.sh-clients-page .sh-sub-hero--compact {
    min-height: clamp(560px, 42vw, 720px) !important;
    display: flex !important;
    align-items: center !important;

    background-color: #111827 !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

body.sh-clients-page .sh-sub-hero__inner,
body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 145px 24px 92px !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    position: relative !important;
    z-index: 2 !important;
}

/* sh-cat-compact 점 패턴이 보이면 제거 */
body.sh-clients-page .sh-sub-hero::before,
body.sh-clients-page .sh-sub-hero--compact::before {
    display: none !important;
    content: none !important;
}

/* Eyebrow + 짧은 액센트 라인 */
body.sh-clients-page .sh-sub-hero__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--sh-accent-secondary, #00A8B5) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .28em !important;
    line-height: 1 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .32) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body.sh-clients-page .sh-sub-hero__eyebrow::before {
    content: "" !important;
    display: inline-block !important;
    width: 36px !important;
    height: 2px !important;
    flex: 0 0 36px !important;
    border-radius: 999px !important;
    background: var(--sh-accent-secondary, #00A8B5) !important;
    box-shadow: 0 0 14px rgba(0, 168, 181, .45) !important;
}

/* Title */
body.sh-clients-page .sh-sub-hero__title {
    margin: 0 0 24px !important;
    color: #ffffff !important;
    font-size: clamp(46px, 5.4vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all !important;
}

/* Description */
body.sh-clients-page .sh-sub-hero__desc {
    max-width: 820px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
    word-break: keep-all !important;
}

/* Keywords (있을 경우) */
body.sh-clients-page .sh-sub-hero__keywords {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 32px !important;
}

body.sh-clients-page .sh-sub-hero__keywords span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 8px 15px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    background: rgba(0, 168, 181, .18) !important;
    border: 1px solid rgba(0, 168, 181, .42) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .13) !important;
}

body.sh-clients-page .sh-sub-hero__keywords span:hover {
    background: rgba(0, 168, 181, .34) !important;
    border-color: rgba(0, 168, 181, .72) !important;
}


/* ----------------------------------------
   태블릿
---------------------------------------- */
@media (max-width: 991px) {
    body.sh-clients-page .sh-sub-hero,
    body.sh-clients-page .sh-sub-hero--compact {
        min-height: 480px !important;
    }
    body.sh-clients-page .sh-sub-hero__inner,
    body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 105px 24px 76px !important;
    }
}


/* ----------------------------------------
   모바일
---------------------------------------- */
@media (max-width: 575px) {
    body.sh-clients-page .sh-sub-hero,
    body.sh-clients-page .sh-sub-hero--compact {
        min-height: 420px !important;
        background-position: center center !important;
    }
    body.sh-clients-page .sh-sub-hero__inner,
    body.sh-clients-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 76px 20px 58px !important;
    }
    body.sh-clients-page .sh-sub-hero__eyebrow {
        gap: 10px !important;
        margin-bottom: 16px !important;
        font-size: 13px !important;
        letter-spacing: .22em !important;
    }
    body.sh-clients-page .sh-sub-hero__eyebrow::before {
        width: 28px !important;
        flex-basis: 28px !important;
    }
    body.sh-clients-page .sh-sub-hero__title {
        margin-bottom: 18px !important;
        font-size: 40px !important;
    }
    body.sh-clients-page .sh-sub-hero__desc {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }
}

/* ========================================
   RESOURCES PAGES (자료실)
   - 풀폭 무력화
   - 통일 Hero (인사말/사업분야와 동일)
   - 탭 (카다로그/제품규격서/다운로드)
   - 게시판 테이블 (시드테크 캡처 패턴)
   style.css 맨 아래에 추가
   ======================================== */

/* ----------------------------------------
   풀폭 무력화
---------------------------------------- */
body.sh-resources-page #content,
body.sh-resources-page .site-content,
body.sh-resources-page #primary,
body.sh-resources-page .site-content > .ast-container,
body.sh-resources-page .ast-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.sh-resources-page .sh-resources-main,
body.sh-resources-page .sh-resource-single-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.sh-resources-page .sh-sub-hero,
body.sh-resources-page .sh-resources-section,
body.sh-resources-page .sh-resource-article__header,
body.sh-resources-page .sh-resource-article__body,
body.sh-resources-page .sh-resource-article__footer {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

body.sh-resource-single .entry-meta,
body.sh-resource-single .post-meta,
body.sh-resource-single .ast-author-details,
body.sh-resource-single .single-post-meta,
body.sh-resource-single .ast-single-related-posts-container {
    display: none !important;
}


/* ========================================
   RESOURCES HERO FINAL FIX
   인사말/사업분야/제품/뉴스/납품처와 동일한 hero 스타일로 통일
   ======================================== */

body.sh-resources-page .sh-sub-hero,
body.sh-resources-page .sh-sub-hero--compact {
    min-height: clamp(560px, 42vw, 720px) !important;
    display: flex !important;
    align-items: center !important;

    background-color: #111827 !important;
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.68) 0%,
            rgba(0, 0, 0, 0.44) 44%,
            rgba(0, 0, 0, 0.18) 100%
        ),
        var(--sub-hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

body.sh-resources-page .sh-sub-hero__inner,
body.sh-resources-page .sh-sub-hero--compact .sh-sub-hero__inner {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 145px 24px 92px !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    position: relative !important;
    z-index: 2 !important;
}

body.sh-resources-page .sh-sub-hero::before,
body.sh-resources-page .sh-sub-hero--compact::before {
    display: none !important;
    content: none !important;
}

body.sh-resources-page .sh-sub-hero__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: var(--sh-accent-secondary, #00A8B5) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: .28em !important;
    line-height: 1 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .32) !important;
    background: transparent !important;
    border: 0 !important;
}

body.sh-resources-page .sh-sub-hero__eyebrow::before {
    content: "" !important;
    display: inline-block !important;
    width: 36px !important;
    height: 2px !important;
    flex: 0 0 36px !important;
    border-radius: 999px !important;
    background: var(--sh-accent-secondary, #00A8B5) !important;
    box-shadow: 0 0 14px rgba(0, 168, 181, .45) !important;
}

body.sh-resources-page .sh-sub-hero__title {
    margin: 0 0 24px !important;
    color: #ffffff !important;
    font-size: clamp(46px, 5.4vw, 72px) !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: -.04em !important;
    word-break: keep-all !important;
}

body.sh-resources-page .sh-sub-hero__desc {
    max-width: 820px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
    word-break: keep-all !important;
}

@media (max-width: 991px) {
    body.sh-resources-page .sh-sub-hero,
    body.sh-resources-page .sh-sub-hero--compact { min-height: 480px !important; }
    body.sh-resources-page .sh-sub-hero__inner,
    body.sh-resources-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 105px 24px 76px !important;
    }
}

@media (max-width: 575px) {
    body.sh-resources-page .sh-sub-hero,
    body.sh-resources-page .sh-sub-hero--compact { min-height: 420px !important; }
    body.sh-resources-page .sh-sub-hero__inner,
    body.sh-resources-page .sh-sub-hero--compact .sh-sub-hero__inner {
        padding: 76px 20px 58px !important;
    }
    body.sh-resources-page .sh-sub-hero__eyebrow {
        gap: 10px !important; margin-bottom: 16px !important;
        font-size: 13px !important; letter-spacing: .22em !important;
    }
    body.sh-resources-page .sh-sub-hero__eyebrow::before { width: 28px !important; flex-basis: 28px !important; }
    body.sh-resources-page .sh-sub-hero__title { margin-bottom: 18px !important; font-size: 40px !important; }
    body.sh-resources-page .sh-sub-hero__desc { font-size: 16px !important; line-height: 1.65 !important; }
}


/* ========================================
   SECTION + 탭
   ======================================== */

.sh-resources-section {
    padding: 80px 0 120px;
    background: #ffffff;
}

.sh-resources-section__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-resources-tabs {
    display: flex;
    gap: 4px;
    margin: 0 0 30px;
    border-bottom: 1px solid #e2e8f0;
}

.sh-resources-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: none;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: -1px;
    -webkit-appearance: none;
    appearance: none;
}

.sh-resources-tabs__item:hover {
    color: var(--sh-accent-primary);
}

.sh-resources-tabs__item:focus { outline: none; }

.sh-resources-tabs__item:focus-visible {
    outline: 2px solid var(--sh-accent-primary);
    outline-offset: 4px;
    border-radius: 4px;
}

.sh-resources-tabs__item.is-active {
    color: var(--sh-text-primary);
    border-bottom-color: var(--sh-accent-primary);
}

.sh-resources-panel[hidden] {
    display: none !important;
}


/* ========================================
   META (Total N건)
   ======================================== */

.sh-resources-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 4px;
    color: #64748b;
    font-size: 14px;
}

.sh-resources-meta__total strong {
    color: var(--sh-accent-primary);
    font-weight: 800;
}


/* ========================================
   게시판 테이블
   ======================================== */

.sh-resources-table-wrap {
    overflow-x: auto;
    border-top: 2px solid #1a1a1a;
    border-bottom: 1px solid #e2e8f0;
}

.sh-resources-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 14.5px;
    color: #1a1a1a;
}

.sh-resources-table thead th {
    padding: 16px 12px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #475569;
    font-size: 13.5px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.02em;
}

.sh-resources-table tbody td {
    padding: 18px 12px;
    border-bottom: 1px solid #f1f5f9;
    text-align: center;
    color: #475569;
    font-size: 14px;
    vertical-align: middle;
}

.sh-resources-table tbody tr:last-child td {
    border-bottom: none;
}

.sh-resources-table tbody tr:hover td {
    background: #f8fbfd;
}

/* 컬럼 폭 */
.sh-resources-table .col-num    { width: 70px; }
.sh-resources-table .col-title  { width: auto; text-align: left !important; padding-left: 24px !important; }
.sh-resources-table .col-author { width: 130px; }
.sh-resources-table .col-views  { width: 80px; }
.sh-resources-table .col-date   { width: 120px; color: #94a3b8 !important; font-weight: 500; }

/* 제목 링크 */
.sh-resources-table__title {
    display: inline;
    color: #1a1a1a !important;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    vertical-align: middle;
    transition: color 0.15s ease;
}

.sh-resources-table__title:hover {
    color: var(--sh-accent-primary) !important;
    text-decoration: underline;
}

/* NEW 뱃지 */
.sh-resources-table__new {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    background: var(--sh-accent-primary);
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.04em;
    border-radius: 3px;
    vertical-align: middle;
    line-height: 1.4;
}

/* 다운로드 아이콘 */
.sh-resources-table__download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 8px;
    color: var(--sh-accent-highlight, #FF6B35);
    font-size: 16px;
    text-decoration: none;
    vertical-align: middle;
    transition: transform 0.15s ease;
    line-height: 1;
}

.sh-resources-table__download:hover {
    transform: translateY(1px);
}


/* ========================================
   빈 상태
   ======================================== */

.sh-resources-empty {
    padding: 80px 24px;
    text-align: center;
    color: #94a3b8;
}

.sh-resources-empty p {
    margin: 4px 0;
    font-size: 15px;
}

.sh-resources-empty p:first-child {
    font-size: 17px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 8px;
}


/* ========================================
   RESPONSIVE 게시판
   ======================================== */

@media (max-width: 991px) {
    .sh-resources-table .col-views { display: none; }
    .sh-resources-table thead .col-views { display: none; }
}

@media (max-width: 700px) {
    .sh-resources-table .col-num,
    .sh-resources-table .col-author { display: none; }
    .sh-resources-table thead .col-num,
    .sh-resources-table thead .col-author { display: none; }

    .sh-resources-table .col-title {
        padding-left: 12px !important;
    }

    .sh-resources-table__title { font-size: 14.5px; }

    .sh-resources-tabs__item {
        padding: 12px 18px;
        font-size: 14px;
    }
}


/* ========================================
   RESOURCE SINGLE (자료 상세)
   ======================================== */

.sh-resource-single-page { padding-top: 0; }

.sh-resource-article__header {
    padding: 130px 0 50px;
    background: linear-gradient(135deg, #f7f9fc 0%, #eef3f9 100%);
    border-bottom: 1px solid #e2e8f0;
}

.sh-resource-article__header-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-resource-article__breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    font-size: 13px;
    color: #64748b;
}

.sh-resource-article__breadcrumb a {
    color: #64748b;
    text-decoration: none;
}

.sh-resource-article__breadcrumb a:hover {
    color: var(--sh-accent-primary);
}

.sh-resource-article__eyebrow {
    display: inline-block;
    padding: 4px 12px;
    margin: 0 0 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: var(--sh-accent-primary);
    background: rgba(0, 102, 179, 0.08);
    border-radius: 4px;
}

.sh-resource-article__title {
    margin: 0 0 18px;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--sh-text-primary);
}

.sh-resource-article__date {
    margin: 0 0 28px;
    font-size: 14px;
    color: #94a3b8;
    font-weight: 500;
}

/* 다운로드 버튼 (상세 페이지 큰 버튼) */
.sh-resource-article__download {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--sh-accent-primary);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 6px 18px rgba(0, 102, 179, 0.25);
}

.sh-resource-article__download:hover {
    background: var(--sh-accent-secondary);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 168, 181, 0.35);
}

.sh-resource-article__download-icon {
    font-size: 16px;
    line-height: 1;
}

.sh-resource-article__body {
    padding: 60px 0;
}

.sh-resource-article__body-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-resource-article__content {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

.sh-resource-article__content p {
    margin: 0 0 20px;
}

.sh-resource-article__content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 24px 0;
}

.sh-resource-article__content h2,
.sh-resource-article__content h3 {
    margin: 40px 0 16px;
    color: var(--sh-text-primary);
    font-weight: 700;
}

.sh-resource-article__content h2 { font-size: 24px; }
.sh-resource-article__content h3 { font-size: 20px; }

.sh-resource-article__footer {
    padding: 40px 0 80px;
    border-top: 1px solid #e2e8f0;
}

.sh-resource-article__footer-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
}

.sh-resource-article__back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s;
}

.sh-resource-article__back:hover {
    background: #ffffff;
    border-color: var(--sh-accent-primary);
    color: var(--sh-accent-primary);
}

/* ========================================
   RESOURCES HEADER 1200PX FIX
   - sh-resources-page 풀폭 무력화가 헤더까지 영향 줘서
     로고가 좌측 가장자리에 붙는 문제 해결
   ======================================== */

@media (min-width: 922px) {
    body.sh-resources-page .site-header .ast-container,
    body.sh-resources-page #masthead .ast-container,
    body.sh-resources-page .site-header .ast-builder-grid-row-container,
    body.sh-resources-page #masthead .ast-builder-grid-row-container {
        width: 100% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        box-sizing: border-box !important;
    }

    body.sh-resources-page .site-header,
    body.sh-resources-page #masthead {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
    }

    body.sh-resources-page .site-header .site-branding,
    body.sh-resources-page .site-header .ast-site-identity,
    body.sh-resources-page .site-header .main-navigation,
    body.sh-resources-page .site-header .main-header-menu {
        position: relative !important;
        z-index: 10 !important;
    }
}


/* ========================================
   SITE FOOTER UNIFICATION
   - 사이트 전체 푸터를 어두운 무채색으로 통일
   - 카피라이트 영역답게 깔끔하게 구분
   - 모든 페이지에 동일 적용
   ======================================== */

.site-footer,
.ast-small-footer,
.ast-footer-overlay,
.footer-primary,
.footer-sml-section-1,
.footer-sml-section-2,
.site-footer .ast-container,
.site-footer .ast-builder-grid-row-container {
    background: #1a1a1a !important;
    background-color: #1a1a1a !important;
    border-top: 0 !important;
}

/* 푸터 텍스트 - 흰색 70% */
.site-footer,
.site-footer p,
.site-footer span,
.site-footer div,
.ast-small-footer,
.ast-small-footer p,
.ast-small-footer span,
.ast-small-footer div {
    color: rgba(255, 255, 255, 0.65) !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

/* 푸터 링크 - 흰색 85% */
.site-footer a,
.ast-small-footer a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.site-footer a:hover,
.ast-small-footer a:hover {
    color: var(--sh-accent-secondary, #00A8B5) !important;
}

/* 푸터 위젯 제목 (있다면) */
.site-footer .widget-title,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* 푸터 패딩 통일 */
.ast-small-footer {
    padding: 28px 0 !important;
}

/* 푸터 컨테이너 1200px 정렬 */
.site-footer .ast-container,
.ast-small-footer .ast-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* ========================================
   RESOURCE SINGLE - 다중 다운로드 버튼 정렬
   여러 파일이 등록되면 가로 wrap으로 나열
   style.css 맨 아래에 추가
   ======================================== */

.sh-resource-article__downloads {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.sh-resource-article__downloads .sh-resource-article__download {
    margin: 0 !important;
}

/* ========================================
   SOLUTIONS PAGES
   - Products CSS를 거의 그대로 재사용
   - Solutions 메인 4-card 그리드만 신규
   - 각 솔루션별 측정 항목 그리드 컬럼 조정
   style.css 맨 아래에 추가
   ======================================== */


/* ----------------------------------------
   SOLUTIONS 메인 4-CARD 그리드 (PC: 2x2 균형)
---------------------------------------- */
.sh-solutions-grid-4 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px;
}

@media (max-width: 991px) {
    .sh-solutions-grid-4 {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
}


/* ----------------------------------------
   각 솔루션별 측정 항목 그리드 컬럼
---------------------------------------- */

/* 스포츠과학센터: 7개 항목 → 4-column (4+3) */
body.sh-solution-sports-science .sh-cat-fields__grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 18px !important;
}

/* 입시체육: 6개 항목 → 3-column (3+3) */
body.sh-solution-entrance-exam .sh-cat-fields__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
}

/* Smart KIOSK: 7개 항목 → 4-column (4+3) */
body.sh-solution-kiosk .sh-cat-fields__grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 18px !important;
}

/* 주문제작: 3개 항목 → 3-column (한 줄) */
body.sh-solution-custom .sh-cat-fields__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}


/* ----------------------------------------
   카드 폭 좁아진 경우 내부 패딩 조정
---------------------------------------- */
body.sh-solution-sports-science .sh-cat-field-card,
body.sh-solution-kiosk .sh-cat-field-card {
    padding: 28px 22px;
}

body.sh-solution-sports-science .sh-cat-field-card h3,
body.sh-solution-kiosk .sh-cat-field-card h3 {
    font-size: 19px;
}

body.sh-solution-sports-science .sh-cat-field-card p,
body.sh-solution-kiosk .sh-cat-field-card p {
    font-size: 14px;
}


/* ----------------------------------------
   태블릿 - 모두 2-column
---------------------------------------- */
@media (max-width: 991px) {
    body.sh-solution-sports-science .sh-cat-fields__grid,
    body.sh-solution-entrance-exam .sh-cat-fields__grid,
    body.sh-solution-kiosk .sh-cat-fields__grid,
    body.sh-solution-custom .sh-cat-fields__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}


/* ----------------------------------------
   모바일 - 1-column
---------------------------------------- */
@media (max-width: 575px) {
    body.sh-solution-sports-science .sh-cat-fields__grid,
    body.sh-solution-entrance-exam .sh-cat-fields__grid,
    body.sh-solution-kiosk .sh-cat-fields__grid,
    body.sh-solution-custom .sh-cat-fields__grid {
        grid-template-columns: 1fr !important;
    }
}

/* ========================================
   SEEDTECH FLOATING BUTTON
   모든 페이지 우측 하단 고정 (모회사 바로가기)
   style.css 맨 아래에 추가
   ======================================== */

.sh-seedtech-float {
    position: fixed !important;
    right: 24px;
    bottom: 24px;
    z-index: 9000;

    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 12px;

    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    text-decoration: none !important;
    color: #1a1a1a !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.15);

    transition: all 0.25s ease;
}

.sh-seedtech-float:hover {
    transform: translateY(-3px);
    border-color: var(--sh-accent-primary, #0066B3);
    box-shadow: 0 18px 38px rgba(0, 102, 179, 0.22);
}

.sh-seedtech-float:hover .sh-seedtech-float__arrow {
    transform: translate(2px, -2px);
    color: var(--sh-accent-primary, #0066B3);
}


/* 아이콘 */
.sh-seedtech-float__icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.sh-seedtech-float__icon img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}

/* 이미지 없을 때 폴백 - 자동으로 "ST" 텍스트 표시 */
.sh-seedtech-float__icon.is-fallback::before {
    content: "ST";
}


/* 텍스트 */
.sh-seedtech-float__text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    text-align: left;
}

.sh-seedtech-float__text strong {
    font-size: 13.5px;
    font-weight: 800;
    color: #1a1a1a;
    letter-spacing: -0.02em;
}

.sh-seedtech-float__text small {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-top: 2px;
}


/* 우측 화살표 */
.sh-seedtech-float__arrow {
    font-size: 14px;
    font-weight: 700;
    color: #94a3b8;
    margin-left: 4px;
    transition: all 0.2s ease;
    line-height: 1;
}


/* ----------------------------------------
   태블릿
---------------------------------------- */
@media (max-width: 991px) {
    .sh-seedtech-float {
        right: 18px;
        bottom: 18px;
        padding: 9px 16px 9px 10px;
    }

    .sh-seedtech-float__icon {
        width: 34px;
        height: 34px;
    }

    .sh-seedtech-float__text strong {
        font-size: 13px;
    }

    .sh-seedtech-float__text small {
        font-size: 10px;
    }
}


/* ----------------------------------------
   모바일 - 텍스트 숨기고 원형 아이콘만
---------------------------------------- */
@media (max-width: 575px) {
    .sh-seedtech-float {
        right: 14px;
        bottom: 14px;
        padding: 8px;
        gap: 0;
        border-radius: 50%;
    }

    .sh-seedtech-float__text,
    .sh-seedtech-float__arrow {
        display: none;
    }

    .sh-seedtech-float__icon {
        width: 42px;
        height: 42px;
    }

    .sh-seedtech-float__icon img {
        width: 32px;
        height: 32px;
    }
}

/* ========================================
   SEEDTECH FLOATING BUTTON - 로고 최대화 패치
   - 원형 그라데이션 배경 제거 (로고 자체가 배경 포함)
   - 이미지 영역 크게 확장
   - 폴백(로고 없을 때)만 원형+ST 유지
   style.css 맨 아래에 추가 (기존 룰 위에 덮어씀)
   ======================================== */

.sh-seedtech-float {
    padding: 6px 18px 6px 6px !important;
    gap: 10px !important;
}

.sh-seedtech-float__icon {
    width: 48px !important;
    height: 48px !important;
    background: transparent !important;
    border-radius: 8px !important;
    overflow: visible !important;
    flex-shrink: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.sh-seedtech-float__icon img {
    width: 100% !important;
    height: 100% !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    border-radius: 6px !important;
    display: block !important;
}


/* ----------------------------------------
   폴백 (로고 이미지 없을 때) - 원형 + "ST" 표시
---------------------------------------- */
.sh-seedtech-float__icon.is-fallback {
    background: linear-gradient(135deg, var(--sh-accent-primary, #0066B3) 0%, var(--sh-accent-secondary, #00A8B5) 100%) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}


/* ----------------------------------------
   태블릿
---------------------------------------- */
@media (max-width: 991px) {
    .sh-seedtech-float {
        padding: 6px 16px 6px 6px !important;
    }

    .sh-seedtech-float__icon {
        width: 44px !important;
        height: 44px !important;
    }

    .sh-seedtech-float__icon img {
        max-width: 44px !important;
        max-height: 44px !important;
    }
}


/* ----------------------------------------
   모바일 - 로고만 최대 크기로 노출
---------------------------------------- */
@media (max-width: 575px) {
    .sh-seedtech-float {
        padding: 5px !important;
        border-radius: 12px !important;
    }

    .sh-seedtech-float__icon {
        width: 52px !important;
        height: 52px !important;
        border-radius: 10px !important;
    }

    .sh-seedtech-float__icon img {
        max-width: 52px !important;
        max-height: 52px !important;
        border-radius: 8px !important;
    }

    /* 모바일에서도 폴백일 때는 원형 유지 */
    .sh-seedtech-float__icon.is-fallback {
        border-radius: 50% !important;
    }
}

/* ========================================
   MOBILE MENU TOGGLE COLOR FIX
   - 모바일 햄버거 아이콘이 흰 배경 위에서 안 보이는 문제 해결
   - 모든 페이지에서 어두운 색으로 통일 (모바일 헤더가 흰색이므로)
   style.css 맨 아래에 추가
   ======================================== */

@media (max-width: 921px) {

    /* 햄버거 버튼 컨테이너 */
    .ast-mobile-header-wrap .menu-toggle,
    .ast-mobile-header-wrap .ast-mobile-menu-buttons-toggle,
    .ast-mobile-header-wrap .main-header-menu-toggle,
    .ast-mobile-header-wrap .ast-button-wrap,
    .ast-header-break-point .menu-toggle,
    body .ast-mobile-header-wrap .ast-button-wrap .menu-toggle {
        color: #1a1a1a !important;
        background: transparent !important;
    }

    /* SVG 아이콘 (햄버거 3줄) fill 색상 */
    .ast-mobile-header-wrap svg,
    .ast-mobile-header-wrap .ast-mobile-svg,
    .ast-mobile-header-wrap .menu-toggle svg,
    .ast-mobile-header-wrap .ast-menu-toggle svg,
    .ast-header-break-point .menu-toggle svg,
    .ast-header-break-point svg[class*="ast-"],
    body .ast-mobile-header-wrap .menu-toggle svg path,
    body .ast-mobile-header-wrap .menu-toggle svg polygon,
    body .ast-mobile-header-wrap .menu-toggle svg rect {
        fill: #1a1a1a !important;
        color: #1a1a1a !important;
    }

    /* 라인 아이콘(햄버거) 색상 */
    .menu-toggle .icon-menu-bars,
    .ast-menu-toggle.icon-menu-bars,
    body .ast-mobile-header-wrap .menu-toggle .icon-menu-bars {
        color: #1a1a1a !important;
    }

    /* 라벨 텍스트 (있다면) */
    .mobile-menu-wrap .menu-toggle .mobile-menu,
    .ast-mobile-header-wrap .mobile-menu {
        color: #1a1a1a !important;
    }

    /* 홈/투명 헤더 페이지들도 모바일에서는 흰 헤더이므로 동일하게 어두운 아이콘 */
    body.home .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-greeting-body .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-business-body .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-partner-body .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-products-body .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-products-category-page .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-cat-compact .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-clients-page .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-resources-page .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-news-page .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-contact-page .ast-mobile-header-wrap .menu-toggle svg,
    body.sh-solutions-body .ast-mobile-header-wrap .menu-toggle svg {
        fill: #1a1a1a !important;
    }

    body.home .ast-mobile-header-wrap .menu-toggle,
    body.sh-greeting-body .ast-mobile-header-wrap .menu-toggle,
    body.sh-business-body .ast-mobile-header-wrap .menu-toggle,
    body.sh-partner-body .ast-mobile-header-wrap .menu-toggle,
    body.sh-products-body .ast-mobile-header-wrap .menu-toggle,
    body.sh-products-category-page .ast-mobile-header-wrap .menu-toggle,
    body.sh-cat-compact .ast-mobile-header-wrap .menu-toggle,
    body.sh-clients-page .ast-mobile-header-wrap .menu-toggle,
    body.sh-resources-page .ast-mobile-header-wrap .menu-toggle,
    body.sh-news-page .ast-mobile-header-wrap .menu-toggle,
    body.sh-contact-page .ast-mobile-header-wrap .menu-toggle,
    body.sh-solutions-body .ast-mobile-header-wrap .menu-toggle {
        color: #1a1a1a !important;
    }
}