/**
 * Trust Design System v1.0
 * --------------------------------------------------------------
 * 다업종 마케팅 두뇌 (insu) 의 글로벌 토큰·리셋·타이포·유틸리티.
 * 모든 색상은 industry.json brand_tokens 가 inline `<style>` 로
 * `:root` 를 override 한다 (trust_industry_brand_css 헬퍼 참조).
 * 하드코딩 색상 0건 — 보험 전용 텍스트·색상 사용 금지.
 *
 * 모바일 first: 320px 기본 → 768px(태블릿) → 1024px(데스크톱)
 */

:root {
    /* 기본 폴백 (industry.json 미로드 시) */
    --trust-primary: #0B3A7A;
    --trust-primary-dark: #062347;
    --trust-accent:  #F5A623;
    --trust-kakao:   #FAE100;
    --trust-kakao-text: #191919;

    /* 텍스트·배경 */
    --trust-text:    #1a1a1a;
    --trust-muted:   #6b7280;
    --trust-soft:    #9ca3af;
    --trust-bg:      #ffffff;
    --trust-bg-alt:  #f8fafc;
    --trust-border:  #e5e7eb;
    --trust-border-soft: #f3f4f6;

    /* 모양 */
    --trust-radius:    8px;
    --trust-radius-lg: 14px;
    --trust-radius-xl: 20px;

    /* 간격 (4 → 48px) */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;

    /* 타이포 */
    --font-base: "Noto Sans KR", "Apple SD Gothic Neo", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
    --fs-h1: clamp(1.8rem, 4vw, 2.6rem);
    --fs-h2: clamp(1.45rem, 3vw, 1.95rem);
    --fs-h3: clamp(1.18rem, 2vw, 1.4rem);
    --fs-h4: 1.05rem;
    --fs-h5: 0.95rem;
    --fs-h6: 0.85rem;
    --fs-body: 1rem;
    --fs-sm: 0.88rem;
    --fs-xs: 0.78rem;

    /* 그림자 */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 2px 12px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.10);

    /* 트랜지션 */
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;

    /* 헤더 높이 (sticky offset 계산용) */
    --trust-header-h: 64px;
}

/* ────────────────────── reset ────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.trust-themed,
body.trust-themed .wp-site-blocks {
    margin: 0;
    padding: 0;
    font-family: var(--font-base);
    font-size: var(--fs-body);
    color: var(--trust-text);
    background: var(--trust-bg);
    line-height: 1.65;
}

body.trust-themed img,
body.trust-themed svg {
    max-width: 100%;
    height: auto;
}

/* ────────────────────── typography ────────────────────── */
.trust-themed h1,
.trust-themed h2,
.trust-themed h3,
.trust-themed h4,
.trust-themed h5,
.trust-themed h6 {
    font-family: var(--font-base);
    color: var(--trust-text);
    margin: 0 0 var(--space-4);
    line-height: 1.3;
    font-weight: 700;
}

.trust-themed h1 { font-size: var(--fs-h1); font-weight: 800; }
.trust-themed h2 { font-size: var(--fs-h2); font-weight: 800; }
.trust-themed h3 { font-size: var(--fs-h3); }
.trust-themed h4 { font-size: var(--fs-h4); }
.trust-themed h5 { font-size: var(--fs-h5); }
.trust-themed h6 { font-size: var(--fs-h6); }

.trust-themed p { margin: 0 0 var(--space-4); }

.trust-themed a {
    color: var(--trust-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}
.trust-themed a:hover { color: var(--trust-accent); }

/* ────────────────────── 기본 테마 헤더/푸터 패턴 숨김 ─────
   Twenty Twenty-Five 의 자동 노출되는 header/footer 템플릿 파트를
   제거하여 trust 자체 헤더/푸터만 표시되게 한다.
   data-slug 부분일치 + 다중 셀렉터로 업데이트 대비 방어. */
body.trust-themed > .wp-site-blocks > header.wp-block-template-part,
body.trust-themed .wp-site-blocks > header.wp-block-template-part[data-slug*="header"],
body.trust-themed .wp-block-template-part[data-slug*="footer"],
body.trust-themed .wp-site-blocks > footer:not(.trust-site-footer) {
    display: none !important;
}

/* ────────────────────── trust-site-* 외곽 ───────────────── */
.trust-site-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 90;
    background: var(--trust-bg);
    border-bottom: 1px solid var(--trust-border);
    transition: box-shadow var(--transition-base);
}
.trust-site-header.is-scrolled { box-shadow: var(--shadow-md); }

.trust-site-header__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--space-4);
    height: var(--trust-header-h);
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

/* 로고 클릭 영역 (홈 이동) */
.trust-site-header__brand-link {
    display: inline-block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}
.trust-site-header__brand-link:hover { opacity: 0.78; }
.trust-site-header__brand-link:active { transform: translateY(1px); }
.trust-site-header__brand-link:focus-visible {
    outline: 2px solid var(--trust-accent);
    outline-offset: 4px;
    border-radius: 4px;
}

.trust-site-header__brand {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--trust-primary);
    letter-spacing: -0.02em;
    flex-shrink: 0;
}
.trust-site-header__brand a { color: inherit; }

.trust-site-header__nav {
    display: none;
    gap: var(--space-5);
    margin-left: auto;
}
.trust-site-header__nav a {
    color: var(--trust-text);
    font-weight: 600;
    font-size: var(--fs-sm);
    padding: 8px 4px;
    border-bottom: 2px solid transparent;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}
.trust-site-header__nav a:hover,
.trust-site-header__nav .current-menu-item > a {
    color: var(--trust-primary);
    border-bottom-color: var(--trust-accent);
}
.trust-site-header__nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--space-5);
}

.trust-site-header__cta { margin-left: auto; }
.trust-site-header__cta-desktop { display: none; }

.trust-site-header__toggle {
    background: transparent;
    border: 1px solid var(--trust-border);
    border-radius: var(--trust-radius);
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.trust-site-header__toggle:focus-visible {
    outline: 2px solid var(--trust-accent);
    outline-offset: 2px;
}
.trust-site-header__toggle-bar {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--trust-text);
    position: relative;
}
.trust-site-header__toggle-bar::before,
.trust-site-header__toggle-bar::after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    background: var(--trust-text);
}
.trust-site-header__toggle-bar::before { top: -6px; }
.trust-site-header__toggle-bar::after  { top:  6px; }

/* 모바일 드로어 */
.trust-site-header__drawer {
    display: none;
    position: fixed;
    top: var(--trust-header-h);
    left: 0;
    right: 0;
    background: var(--trust-bg);
    border-bottom: 1px solid var(--trust-border);
    box-shadow: var(--shadow-lg);
    z-index: 89;
    padding: var(--space-4);
}
.trust-site-header__drawer.is-open { display: block; }
.trust-site-header__drawer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.trust-site-header__drawer li { border-bottom: 1px solid var(--trust-border-soft); }
.trust-site-header__drawer a {
    display: block;
    padding: 14px 4px;
    color: var(--trust-text);
    font-weight: 600;
    font-size: var(--fs-body);
}
.trust-site-header__drawer .trust-cta-row {
    margin-top: var(--space-4);
    text-align: center;
}

/* ────────────────────── tablet/desktop ──────────────────── */
@media (min-width: 768px) {
    .trust-site-header__nav { display: flex; }
    .trust-site-header__cta-desktop { display: inline-flex; }
    .trust-site-header__toggle { display: none; }
    .trust-site-header__cta { margin-left: var(--space-4); }
}

@media (min-width: 1024px) {
    .trust-site-header__inner { padding: 0 var(--space-5); }
}
