/* ════════════════════════════════════════════════════════════════════
   HEARO 통합 디자인 시스템 v4.0
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   분석 출처 (실측 토큰):
     • Avada 공식 portfolio 데모 (avada.website/portfolio/) — 545KB
     • Avada classic 데모                                   — 428KB
     • 스테이징 브랜드 페이지 (signia)                       — 1.2MB
     • 스테이징 모델 페이지 (phonak)                         — 3.2MB (OC 포함)
     • 스테이징 메인페이지                                    — 1.2MB

   적용 범위:
     • 메인페이지 (hearo-mp-*)
     • 서브페이지 (page hero / pricing / hearing-test 등)
     • 오프캔버스 (#awb-oc-1928 시리즈/모델 OC + 메인메뉴 OC)
     • 브랜드 페이지의 hearo-series-card 보강

   ★ 모든 CSS 가 이 파일의 토큰만 참조 → 단일 변경점에서 사이트 전체 결 변경 가능
   ════════════════════════════════════════════════════════════════════ */

:root {
    /* ─── 1. COLOR — Avada 데모 #198FD9 → HEARO 노랑 #c08a00 매핑 ─── */
    --hearo-y:           #ffc444;         /* 액센트 (highlight·badge) */
    --hearo-y-d:         #c08a00;         /* 메인 노랑 — 본문 강조·CTA hover (브랜드 페이지 250회) */
    --hearo-y-text:      #8a6a10;         /* 노란 텍스트 (eyebrow 짙은) */
    --hearo-y-label:     #b08530;         /* 노란 라벨 (eyebrow 옅은 — OC 시리즈 라벨 톤) */
    --hearo-y-soft:      rgba(255, 196, 68, 0.16);
    --hearo-y-glow:      rgba(255, 196, 68, 0.18);
    --hearo-y-bg:        #fff9e6;         /* 노란 배경 (history 톤) */
    --hearo-y-border:    #f5d875;
    --hearo-success:     #7ab648;         /* 그린 — 성공 / 인증 (Avada 데모 + 모델 페이지) */
    --hearo-text:        #1a1a1a;         /* 본문 텍스트 — Avada 데모 + HEARO 일치 */
    --hearo-text-2:      #333;            /* 보조 본문 (모델 페이지 248회) */
    --hearo-text-3:      #444;
    --hearo-muted:       #6D6D6D;         /* ⭐ Avada 데모 + HEARO 완전 일치 */
    --hearo-muted-2:     #999;            /* 더 옅은 회색 (모델 페이지 124회) */
    --hearo-border:      #eaeaea;         /* 보더 (스테이징) */
    --hearo-border-2:    #DDDDDD;         /* Avada 데모 보더 */
    --hearo-border-3:    #f3f3f3;         /* 옅은 보더 / divider */
    --hearo-bg:          #ffffff;
    --hearo-bg-soft:     #fafafa;
    --hearo-bg-warm:     #fffaf0;
    --hearo-bg-snow:     #f8f8f8;         /* Avada 데모 배경 */
    --hearo-dark:        #1a1a1a;
    --hearo-dark-2:      #2a2a2a;
    --hearo-dark-3:      #0a0a0a;

    /* ─── 2. TYPE SCALE — Avada 풀 위계 통합 ─── */
    /* Avada 데모 fontSize 변수 매핑: 150.5 / 96 / 64 / 48 / 32 / 24 / 20 / 17.5 / 15 / 12.5 / 11 / 10 */
    --hearo-fs-display:  clamp(40px, 8vw, 96px);     /* 메가 hero (Avada 데모 96 / 105) */
    --hearo-fs-h1:       clamp(28px, 4vw, 48px);     /* H1 — 페이지 hero / 인트로 */
    --hearo-fs-h2:       clamp(24px, 3vw, 32px);     /* H2 — 섹션 헤드라인 */
    --hearo-fs-h3:       clamp(20px, 2vw, 24px);     /* H3 */
    --hearo-fs-h4:       clamp(17px, 1.4vw, 20px);   /* H4 — 카드 / 컴포넌트 큰 제목 */
    --hearo-fs-h5:       17.5px;                      /* H5 — 작은 헤딩 */
    --hearo-fs-body:     16px;                        /* 본문 */
    --hearo-fs-body-sm:  15px;                        /* 본문 small */
    --hearo-fs-meta:     13.5px;                      /* 메타 / 카드 부제 */
    --hearo-fs-caption:  12.5px;                      /* 캡션 */
    --hearo-fs-tiny:     11px;                        /* 라벨 / eyebrow */
    --hearo-fs-micro:    10px;

    /* ─── 3. LINE-HEIGHT ─── */
    --hearo-lh-tight:    1;            /* 메가 hero */
    --hearo-lh-snug:     1.2;          /* 헤드라인 (Avada 데모 + HEARO 가장 많이 사용) */
    --hearo-lh-comfy:    1.4;          /* 부제 */
    --hearo-lh-base:     1.5;          /* 본문 (브랜드 페이지) */
    --hearo-lh-relaxed:  1.6;          /* 본문 relaxed (모델 페이지) */
    --hearo-lh-loose:    1.8;          /* 본문 loose */

    /* ─── 4. LETTER-SPACING ─── */
    --hearo-ls-tight:    -0.02em;       /* 큰 헤드라인 (Avada 데모) */
    --hearo-ls-snug:     -0.01em;
    --hearo-ls-base:     0;
    --hearo-ls-wide:     0.05em;        /* 강조 (Avada 데모 7회) */
    --hearo-ls-eye:      0.1em;         /* eyebrow / 라벨 uppercase */
    --hearo-ls-mega:     0.15em;        /* 메가 라벨 */

    /* ─── 5. FONT-WEIGHT ─── */
    --hearo-fw-light:    300;
    --hearo-fw-normal:   400;
    --hearo-fw-medium:   500;
    --hearo-fw-semi:     600;
    --hearo-fw-bold:     700;          /* HEARO 가장 많이 (262회) */
    --hearo-fw-xbold:    800;
    --hearo-fw-black:    900;

    /* ─── 6. LAYOUT ─── */
    --hearo-mp-maxw:      1860px;     /* Avada 데모 풀 와이드 (113회 압도적) */
    --hearo-mp-maxw-lg:   1400px;     /* 큰 컨테이너 */
    --hearo-mp-maxw-md:   1200px;     /* 일반 컨테이너 */
    --hearo-mp-maxw-oc:   1080px;     /* OC baseline (브랜드 페이지 OC 정확) */
    --hearo-mp-maxw-text: 880px;      /* 텍스트 중심 */
    --hearo-mp-maxw-narrow: 640px;    /* 좁은 본문 (Avada 16회) */
    --hearo-mp-pad:       clamp(20px, 4vw, 80px);
    --hearo-mp-gap:       clamp(20px, 2.4vw, 40px);

    /* 섹션 padding — Avada 데모 220px / 480px 큰 패턴 + 일반 */
    --hearo-section-py-mega: clamp(120px, 14vw, 480px);  /* Avada 480 메가 hero */
    --hearo-section-py-lg:   clamp(80px, 10vw, 220px);   /* Avada 220 큰 섹션 */
    --hearo-section-py:      clamp(64px, 8vw, 120px);    /* 일반 섹션 */
    --hearo-section-py-sm:   clamp(48px, 6vw, 80px);     /* 작은 섹션 */
    --hearo-section-py-xs:   clamp(32px, 4vw, 56px);     /* 초소형 섹션 */

    /* ─── 7. RADIUS — 브랜드 페이지/Avada 데모 10px 압도적 ─── */
    --hearo-radius-xs:    4px;       /* Avada classic 메뉴 */
    --hearo-radius-sm:    6px;
    --hearo-radius:       10px;      /* 표준 (브랜드 페이지 117회 / Avada 56회) */
    --hearo-radius-lg:    12px;
    --hearo-radius-xl:    16px;
    --hearo-radius-pill:  999px;     /* CTA 버튼 */

    /* ─── 8. SHADOW — Avada 데모 미니멀 + 스테이징 hover 강화 ─── */
    --hearo-shadow-none:  none;
    --hearo-shadow-xs:    0 1px 2px rgba(0,0,0,0.03);
    --hearo-shadow-sm:    0 1px 3px rgba(0,0,0,0.04);    /* 카드 default — 매우 약함 */
    --hearo-shadow-md:    0 4px 12px rgba(0,0,0,0.06);
    --hearo-shadow-lg:    0 8px 24px rgba(0,0,0,0.08);   /* 카드 hover */
    --hearo-shadow-xl:    0 12px 40px rgba(0,0,0,0.10);  /* 강한 hover */
    --hearo-shadow-2xl:   0 16px 36px rgba(0,0,0,0.14);  /* 배너 / 풀 카드 */
    --hearo-shadow-glow:  0 12px 40px rgba(255, 196, 68, 0.18);  /* 노란 글로우 (highlighted) */
    --hearo-shadow-cta:   0 4px 14px rgba(192, 138, 0, 0.20);    /* CTA 노란 그림자 */
    --hearo-shadow-cta-hover: 0 8px 22px rgba(192, 138, 0, 0.32);
    --hearo-shadow-ring:  0 0 0 3px var(--hearo-y-soft);          /* dot prefix outer */

    /* ─── 9. TRANSITION ─── */
    --hearo-tr-fast:    0.15s cubic-bezier(0.4, 0, 0.2, 1);
    --hearo-tr:         0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --hearo-tr-slow:    0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --hearo-tr-spring:  0.5s cubic-bezier(0.34, 1.56, 0.64, 1);

    /* ─── 10. Z-INDEX 시스템 ─── */
    --hearo-z-base:     1;
    --hearo-z-card:     2;
    --hearo-z-overlay:  10;
    --hearo-z-sticky:   100;
    --hearo-z-modal:    1000;
    --hearo-z-oc:       99990;     /* OC (Avada 표준) */
    --hearo-z-tooltip:  100001;
}

/* ════════════════════════════════════════════════════════════════════
   COMPONENT BASE — 공통 컴포넌트 (메인페이지 + 서브페이지 + OC 공유)
   ════════════════════════════════════════════════════════════════════ */

/* ─── eyebrow 라벨 (uppercase pill) — 모든 페이지 공통 ─── */
.hearo-eyebrow,
.hearo-mp-section-eyebrow,
.hearo-mp-page-hero-eyebrow,
#awb-oc-1928 .awb-so-heading,
#awb-oc-1928 .awb-sd-heading {
    display: inline-block;
    font-size: var(--hearo-fs-tiny);
    font-weight: var(--hearo-fw-xbold);
    color: var(--hearo-y-label);
    letter-spacing: var(--hearo-ls-eye);
    text-transform: uppercase;
    line-height: var(--hearo-lh-snug);
}

/* ─── 디스플레이 타이포 위계 — 메인페이지 + 서브페이지 + OC 공유 ─── */
.hearo-h1,
.hearo-mp-intro-headline,
.hearo-mp-page-hero-title,
#awb-oc-1928 .fusion-title h1.fusion-title-heading {
    font-size: var(--hearo-fs-h1);
    font-weight: var(--hearo-fw-xbold);
    line-height: var(--hearo-lh-snug);
    letter-spacing: var(--hearo-ls-tight);
    color: var(--hearo-text);
    margin: 0;
}
.hearo-h2,
#awb-oc-1928 .fusion-title h2.fusion-title-heading {
    font-size: var(--hearo-fs-h2);
    font-weight: var(--hearo-fw-bold);
    line-height: var(--hearo-lh-snug);
    letter-spacing: var(--hearo-ls-snug);
    color: var(--hearo-text);
    margin: 0;
}
/* 메인페이지 섹션 타이틀은 별도로 작게 — mainpage.css 에서 정의 */
.hearo-h3,
#awb-oc-1928 .fusion-title h3.fusion-title-heading {
    font-size: var(--hearo-fs-h3);
    font-weight: var(--hearo-fw-bold);
    line-height: var(--hearo-lh-comfy);
    color: var(--hearo-text);
    margin: 0;
}

/* ─── 카드 base (메인페이지 + 브랜드 페이지 + OC 변형 카드 공유) ─── */
.hearo-card,
.hearo-mp-card,
.hearo-mp-loc-card,
.hearo-mp-team-card,
.hearo-mp-value-card,
.hearo-mp-step-card,
.hearo-mp-trust-tile,
.hearo-mp-tm-card,
.hearo-mp-pricing-card,
#awb-oc-1928 .hearo-variant-card {
    background: var(--hearo-bg);
    border: 1px solid var(--hearo-border);
    border-radius: var(--hearo-radius);
    box-shadow: var(--hearo-shadow-sm);
    transition: transform var(--hearo-tr), box-shadow var(--hearo-tr), border-color var(--hearo-tr);
}
.hearo-card:hover,
.hearo-mp-card:hover,
.hearo-mp-loc-card:hover,
.hearo-mp-team-card:hover,
.hearo-mp-value-card:hover,
.hearo-mp-step-card:hover,
.hearo-mp-trust-tile:hover,
.hearo-mp-pricing-card:hover,
#awb-oc-1928 .hearo-variant-card:hover {
    transform: translateY(-4px);
    border-color: var(--hearo-y);
    box-shadow: var(--hearo-shadow-lg);
}

/* ─── 버튼 base — Avada awb-button + HEARO CTA 통합 ─── */
.hearo-btn,
.hearo-mp-cta-btn,
.hearo-mp-intro-cta,
.hearo-mp-test-card-cta,
.hearo-mp-loc-book {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 26px;
    border-radius: var(--hearo-radius-pill);
    font-size: var(--hearo-fs-body-sm);
    font-weight: var(--hearo-fw-bold);
    letter-spacing: var(--hearo-ls-wide);
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all var(--hearo-tr);
    white-space: nowrap;
}
.hearo-btn-primary,
.hearo-mp-intro-cta,
.hearo-mp-cta-btn.hearo-mp-cta-tier-1,
.hearo-mp-test-card-cta,
.hearo-mp-loc-book {
    background: var(--hearo-y);
    color: var(--hearo-dark);
    box-shadow: var(--hearo-shadow-cta);
    font-weight: var(--hearo-fw-xbold);
}
.hearo-btn-primary:hover,
.hearo-mp-intro-cta:hover,
.hearo-mp-cta-btn.hearo-mp-cta-tier-1:hover,
.hearo-mp-test-card-cta:hover,
.hearo-mp-loc-book:hover {
    background: var(--hearo-y-d);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--hearo-shadow-cta-hover);
}
.hearo-btn-outline {
    background: transparent;
    color: var(--hearo-y);
    border-color: var(--hearo-y);
}
.hearo-btn-outline:hover {
    background: var(--hearo-y-soft);
    color: var(--hearo-y-d);
}

/* ─── 섹션 base — 모든 섹션의 공통 padding / max-width ─── */
.hearo-section,
.hearo-mp-section {
    box-sizing: border-box;
    padding: var(--hearo-section-py) var(--hearo-mp-pad);
    background: var(--hearo-bg);
    color: var(--hearo-text);
    position: relative;
}
.hearo-section-soft, .hearo-mp-section.hearo-mp-soft { background: var(--hearo-bg-soft); }
.hearo-section-warm, .hearo-mp-section.hearo-mp-warm { background: var(--hearo-bg-warm); }
.hearo-section-dark, .hearo-mp-section.hearo-mp-dark {
    background: var(--hearo-dark);
    color: #fff;
}
.hearo-section-dark .hearo-h2,
.hearo-section-dark .hearo-mp-section-title,
.hearo-mp-section.hearo-mp-dark .hearo-mp-section-title { color: #fff; }
.hearo-section-dark .hearo-mp-section-sub,
.hearo-mp-section.hearo-mp-dark .hearo-mp-section-sub { color: #c9c9c9; }

/* ─── 컨테이너 base ─── */
.hearo-container, .hearo-mp-container {
    max-width: var(--hearo-mp-maxw-md);
    margin: 0 auto;
}
.hearo-container-narrow { max-width: var(--hearo-mp-maxw-narrow); }
.hearo-container-text   { max-width: var(--hearo-mp-maxw-text); }
.hearo-container-oc     { max-width: var(--hearo-mp-maxw-oc); }
.hearo-container-lg     { max-width: var(--hearo-mp-maxw-lg); }
.hearo-container-full   { max-width: var(--hearo-mp-maxw); }

/* ─── 그리드 base ─── */
.hearo-grid {
    display: grid;
    gap: var(--hearo-mp-gap);
}
.hearo-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hearo-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hearo-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hearo-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hearo-grid-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1024px) {
    .hearo-grid-4, .hearo-grid-5, .hearo-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .hearo-grid-3, .hearo-grid-4, .hearo-grid-5, .hearo-grid-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 480px) {
    .hearo-grid-2, .hearo-grid-3, .hearo-grid-4, .hearo-grid-5, .hearo-grid-6 {
        grid-template-columns: 1fr;
    }
}

/* ─── 분리선 ─── */
.hearo-divider, hr.hearo-divider {
    border: 0;
    border-top: 1px solid var(--hearo-border);
    margin: clamp(24px, 3vw, 48px) 0;
}
.hearo-divider-yellow {
    border-top-color: var(--hearo-y);
    border-top-width: 2px;
}

/* ─── 노란 dot prefix (모든 헤더 공통 가능) ─── */
.hearo-dot::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--hearo-y);
    box-shadow: var(--hearo-shadow-ring);
    margin-right: 10px;
    vertical-align: middle;
    transform: translateY(-2px);
}

/* ─── 노란 좌측 액센트 라인 (OC 인트로 패턴) ─── */
.hearo-accent-line {
    position: relative;
    padding-left: 18px;
}
.hearo-accent-line::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    background: linear-gradient(180deg, var(--hearo-y) 0%, var(--hearo-y-d) 100%);
    border-radius: 2px;
}

/* ─── word-break Korean — 한글 줄바꿈 자연 ─── */
.hearo-section,
.hearo-mp-section,
.hearo-h1, .hearo-h2, .hearo-h3,
.hearo-mp-section-title,
.hearo-mp-section-sub,
.hearo-mp-card-title,
.hearo-mp-card-sub,
.hearo-mp-faq-q-text,
.hearo-mp-faq-a {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

/* ════════════════════════════════════════════════════════════════════
   엣지 케이스 + 접근성
   ════════════════════════════════════════════════════════════════════ */

/* 다크 톤에서 노란 dot prefix 강화 */
.hearo-section-dark .hearo-dot::before,
.hearo-mp-section.hearo-mp-dark .hearo-dot::before {
    box-shadow: 0 0 0 3px rgba(255, 196, 68, 0.3);
}

/* 이미지 lazy 깜박임 방지 */
.hearo-mp-card img,
.hearo-mp-loc-photo img,
.hearo-mp-team-photo img {
    display: block;
}

/* 모션 감소 사용자 — 애니메이션 제거 */
@media (prefers-reduced-motion: reduce) {
    .hearo-card, .hearo-mp-card, .hearo-mp-loc-card,
    .hearo-mp-team-card, .hearo-mp-value-card, .hearo-mp-step-card,
    .hearo-mp-trust-tile, .hearo-mp-pricing-card,
    .hearo-btn, .hearo-mp-cta-btn,
    .hearo-mp-intro-cta, .hearo-mp-tm-card {
        transition: none;
    }
    .hearo-mp-intro-slide,
    .hearo-mp-card:hover,
    .hearo-mp-loc-card:hover,
    .hearo-mp-team-card:hover {
        transform: none !important;
    }
}

/* 포커스 — 키보드 접근성 */
.hearo-btn:focus-visible,
.hearo-mp-cta-btn:focus-visible,
.hearo-mp-intro-cta:focus-visible,
.hearo-mp-card:focus-visible,
.hearo-mp-loc-book:focus-visible {
    outline: 3px solid var(--hearo-y);
    outline-offset: 3px;
}

/* 인쇄 — 다크 배경 흰색으로 */
@media print {
    .hearo-section-dark, .hearo-mp-section.hearo-mp-dark { background: #fff !important; color: #000 !important; }
    .hearo-mp-cta-btn, .hearo-mp-intro-cta { box-shadow: none !important; }
}

/* ════════════════════════════════════════════════════════════════════
   ⭐ 사용자 페이지 (브랜드/모델) 인트로 — 다크 배경 위 검정 글자 차단
   ════════════════════════════════════════════════════════════════════ */
/* 첫 fullwidth 가 다크 배경이면 안쪽 H1/H2/H3/text 흰색 강제 */
.fusion-fullwidth[style*="background-color: #1a1a1a"] .fusion-title-heading,
.fusion-fullwidth[style*="background-color: #0a0a0a"] .fusion-title-heading,
.fusion-fullwidth[style*="background-color:#1a1a1a"] .fusion-title-heading,
.fusion-fullwidth[style*="background-color:#0a0a0a"] .fusion-title-heading,
.fusion-fullwidth[style*="--awb-background-color:#1a1a1a"] .fusion-title-heading,
.fusion-fullwidth[style*="--awb-background-color: #1a1a1a"] .fusion-title-heading {
    color: #fff !important;
}
.fusion-fullwidth[style*="background-color: #1a1a1a"] .fusion-text,
.fusion-fullwidth[style*="background-color: #1a1a1a"] .fusion-text p,
.fusion-fullwidth[style*="--awb-background-color: #1a1a1a"] .fusion-text p {
    color: rgba(255,255,255,0.85) !important;
}
/* 브랜드/포트폴리오 페이지 — 다크 배경 박스 (color8/검정 hex) 안 텍스트만 흰색으로
   ⚠ 이전 :first-of-type[:not(ffffff)] rule 은 var(--awb-color1)=흰색 박스도 매칭해서
      흰 박스 안에 흰 글자가 강제되는 버그. 명시적 다크 변수/hex 매칭으로 수정. */
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color:var(--awb-color8)"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color: var(--awb-color8)"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color:#1a1a1a"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color: #1a1a1a"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color:#0a0a0a"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color: #0a0a0a"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color:#000"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color:var(--awb-color8)"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color: var(--awb-color8)"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color:#1a1a1a"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color: #1a1a1a"] .fusion-title-heading {
    color: #fff !important;
}
/* 반대 — 흰/밝은 배경 박스 (color1) 안 텍스트는 다크로 (잘못 흰색으로 cascade 되는 경우 픽스) */
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color:var(--awb-color1)"] .fusion-title-heading,
body.tax-portfolio_category .fusion-fullwidth[style*="--awb-background-color: var(--awb-color1)"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color:var(--awb-color1)"] .fusion-title-heading,
body.single-avada_portfolio .fusion-fullwidth[style*="--awb-background-color: var(--awb-color1)"] .fusion-title-heading {
    color: #1a1a1a !important;
}

/* ⭐ 모든 fusion-title 가운데 정렬일 때 cascade 차단 */
.fusion-title-center .fusion-title-heading,
.title-heading-center,
.fusion-title.title-style-center,
.fusion-title[class*="title-center"] .fusion-title-heading {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ════════════════════════════════════════════════════════════════════
   링크 hover 정상화 — Avada/Wordpress default 빨간 hover 차단
   ════════════════════════════════════════════════════════════════════ */
.hearo-mp-section a,
.hearo-mp-section a:hover,
.hearo-mp-section a:focus,
.hearo-mp-section a:active,
.hearo-mp-section a:visited,
.hearo-mp-card,
.hearo-mp-card:hover,
.hearo-mp-card:focus,
.hearo-mp-card:visited,
.hearo-mp-brand-card,
.hearo-mp-brand-card:hover,
.hearo-mp-brand-card:focus,
.hearo-mp-loc-tel,
.hearo-mp-loc-map,
.hearo-mp-loc-book,
.hearo-mp-cta-btn,
.hearo-mp-intro-cta,
.hearo-mp-test-card-cta {
    text-decoration: none !important;
    border-bottom: 0 !important;
}
.hearo-mp-section a:hover,
.hearo-mp-section a:focus {
    text-decoration: none !important;
}
/* 카드 자체 — 빨간 색상 hover 차단 + 색상 명시 */
.hearo-mp-card,
.hearo-mp-card:hover,
.hearo-mp-card:focus,
.hearo-mp-brand-card,
.hearo-mp-brand-card:hover,
.hearo-mp-brand-card:focus {
    color: var(--hearo-text);
}
.hearo-mp-section.hearo-mp-dark .hearo-mp-card,
.hearo-mp-section.hearo-mp-dark .hearo-mp-card:hover { color: #fff; }
