/* ===== 기업 카드 공통 컴포넌트 ===== */
.mCompanyCard {
    padding: 0;
    background: var(--card, #fff);
    border: 1px solid #e5e7eb;
    border-radius: var(--r-lg, 12px);
    overflow: hidden;
    cursor: pointer;
    box-shadow: none;
    transition: all 0.2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}
.mCompanyCard:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border-color: #d0d5dd;
}
/* theme/prix/css/main.css 의 .mCompanyCard:hover 보다 우선 적용 */
.list-grid .mCompanyCard:hover,
.mCompanyGrid .mCompanyCard:hover,
.mCompanyCard.company-ai-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    border-color: #d0d5dd !important;
}
@media (hover: none) {
    .mCompanyCard:hover {
        box-shadow: none;
        border-color: #e5e7eb;
    }
    .list-grid .mCompanyCard:hover,
    .mCompanyGrid .mCompanyCard:hover,
    .mCompanyCard.company-ai-card:hover {
        box-shadow: none !important;
        border-color: #e5e7eb !important;
    }
}
.mCompanyCard_bookmark {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    color: #ccc;
    transition: color 0.2s;
}
.mCompanyCard_bookmark:hover { color: #ffc107; }
.mCompanyCard_bookmark.is-active { color: #ffc107; }
.mCompanyCard_bookmark.is-active svg { fill: #ffc107; }
.mCompanyCard_bookmark svg { width: 20px; height: 20px; }
.mCompanyCard .mCompanyCard_fav {
    position: absolute;
    top: 22px;
    right: 20px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 10px;
}
.mCompanyCard_content { padding: var(--sp-4, 16px) var(--sp-5, 20px) var(--sp-2, 8px); flex: 1; display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.mCompanyCard_title { font-size: var(--fs-card-company, 17px); font-weight: 700; color: #111; margin-bottom: 6px; margin-top: 6px; line-height: var(--lh-snug, 1.3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; letter-spacing: -0.01em; }
.mCompanyCard_desc { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; margin-top: 6px; align-items: center; min-height: 0; overflow: hidden; max-height: 28px; }
.mCompanyCard_desc_tag { display: inline-flex; align-items: center; padding: 4px 10px; font-size: var(--fs-tag, 12px); font-weight: 500; color: #5A5F72; background: #F3F5FA; border: 1px solid #E8EBF0; border-radius: var(--r-md, 8px); line-height: var(--lh-snug, 1.3); white-space: nowrap; flex-shrink: 0; }
.mCompanyCard_desc_more { display: inline-flex; align-items: center; padding: 4px 10px; font-size: var(--fs-tag, 12px); font-weight: 500; color: #9199B0; background: #F3F5FA; border: 1px solid #E8EBF0; border-radius: var(--r-md, 8px); line-height: var(--lh-snug, 1.3); white-space: nowrap; flex-shrink: 0; }
/* 점수 영역 */
.mCompanyCard_rating { display: flex; gap: 12px; margin-bottom: 8px; padding: 4px 12px; background: #fafbfc; border-radius: 8px; border: 1px solid #f0f0f0; box-sizing: border-box; overflow: hidden; min-width: 0; }
.mCompanyCard_rating_left { display: flex; flex-direction: column; align-items: center; min-width: 64px; flex-shrink: 0; }
.mCompanyCard_rating_label { font-size: 11px; color: #666; margin-bottom: 4px; }
.mCompanyCard_rating_score { font-size: 28px; font-weight: 700; color: #222; line-height: 1; margin-bottom: 8px; }
.mCompanyCard_rating_stars { display: flex; gap: 2px; align-items: center; }
.mCompanyCard_rating_stars svg { width: 16px; height: 16px; flex-shrink: 0; }
.mCompanyCard_rating_stars .star-partial { position: relative; width: 16px; height: 16px; display: inline-block; }
.mCompanyCard_rating_stars .star-partial svg:first-child { position: absolute; top: 0; left: 0; clip-path: inset(0 40% 0 0); }
.mCompanyCard_rating_stars .star-partial svg:last-child { position: absolute; top: 0; left: 0; opacity: 0.3; }
.mCompanyCard_rating_right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.mCompanyCard_rating_bar { display: flex; align-items: center; gap: 6px; min-width: 0; }
.mCompanyCard_rating_bar_label { font-size: 12px; color: #222; font-weight: 500; flex-shrink: 0; width: 52px; }
.mCompanyCard_rating_bar_chart { flex: 1; min-width: 0; height: 10px; background: #e0e0e0; border-radius: 5px; overflow: hidden; }
.mCompanyCard_rating_bar_fill { height: 100%; background: #ffc107; border-radius: 5px; transition: width 0.3s ease; min-width: 2px; }
.mCompanyCard_rating_bar_count { font-size: 12px; color: #222; font-weight: 600; flex-shrink: 0; min-width: 36px; text-align: right; }
.mCompanyCard_footer { display: flex; align-items: center; justify-content: space-between; padding: var(--sp-2h, 10px) var(--sp-5, 20px); border-top: 1px solid #f0f1f3; }
.mCompanyCard_price { font-size: 18px; font-weight: 700; color: #222; display: flex; align-items: center; gap: 6px; }
.mCompanyCard_price_icon { width: 32px; height: 32px; flex-shrink: 0; }
.mCompanyCard_price_icon svg { width: 100%; height: 100%; display: block; }
.mCompanyCard_provider_name { font-size: 13px; color: #666; }
.mCompanyCard_footer_stars { margin-top: 10px; padding-top: 8px; margin-bottom: 0; border-top: 1px solid #E8EBF0; display: flex; align-items: center; gap: 8px; }
.mCompanyCard_footer_stars_wrap { display: flex; align-items: center; gap: 2px; }
.mCompanyCard_footer_score { font-size: 14px; font-weight: 700; color: #1A1D29; }
.mCompanyCard_footer_max { font-size: 12px; color: #8B90A0; font-weight: 400; }

/* ===== 5각형 레이더 차트 (기본) ===== */
.radar-card {
    padding: 14px 10px 10px;
    background: #fafbfc;
    border-radius: var(--r-md, 8px);
    margin-bottom: 0;
    overflow: visible;
    border: 1px solid #f0f0f0;
}
.radar-card_chart {
    display: flex;
    justify-content: center;
    overflow: visible;
    margin-top: -14px;
    margin-bottom: -20px;
}
.radar-svg {
    width: 100%;
    max-width: 150px;
    height: auto;
    overflow: visible;
}

/* ===== 6각형 레이더 차트 (AI 모드) — 원래 크기 유지 ===== */
.radar-card--hex {
    padding: 8px 10px 6px;
}
.radar-card--hex .radar-card_chart {
    margin-top: 0;
    margin-bottom: 0;
}
.radar-card--hex .radar-svg {
    max-width: 240px;
}
.radar-card--hex .radar-card_scores { display: none; }
.radar-card--hex .radar-card_tags { display: none; }
.radar-card_scores { display: none; }
.radar-card_tags { display: none; }
.radar-card_bar { display: flex; align-items: center; gap: 8px; }
.radar-card_bar_label { font-size: 11px; color: #666; width: 68px; flex-shrink: 0; text-align: right; }
.radar-card_bar_track { flex: 1; height: 5px; background: rgba(230,232,238,0.6); border-radius: 3px; overflow: hidden; }
.radar-card_bar_fill { height: 100%; border-radius: 3px; transition: width 0.5s ease; }
.radar-card_bar_value { font-size: 11px; font-weight: 700; color: #333; width: 24px; text-align: right; flex-shrink: 0; }
.radar-card_notice { display: flex; align-items: flex-start; gap: 6px; padding: 8px 10px; margin-top: 4px; background: rgba(240,238,232,0.5); border-radius: 8px; font-size: 11px; color: #888; line-height: 1.5; }
.radar-card_notice svg { flex-shrink: 0; margin-top: 1px; color: #aaa; }
.radar-tag { display: inline-block; padding: 4px 10px; font-size: 11px; font-weight: 600; border-radius: 20px; line-height: 1.3; }
.tag-industry  { background: rgba(30,58,110,0.08); color: #1e3a6e; border: 1px solid rgba(30,58,110,0.18); }
.tag-network   { background: rgba(230,120,100,0.12); color: #a0513e; border: 1px solid rgba(230,120,100,0.25); }
.tag-region    { background: rgba(220,180,80,0.14); color: #8a6d20; border: 1px solid rgba(220,180,80,0.3); }
.tag-scale     { background: rgba(140,120,210,0.12); color: #5a4a9e; border: 1px solid rgba(140,120,210,0.25); }
.tag-finance   { background: rgba(100,160,220,0.13); color: #3a6d9e; border: 1px solid rgba(100,160,220,0.25); }
.tag-trust     { background: rgba(100,180,140,0.13); color: #2d7a5a; border: 1px solid rgba(100,180,140,0.25); }
.tag-risk      { background: rgba(120,190,100,0.13); color: #3d6e28; border: 1px solid rgba(120,190,100,0.25); }
.tag-dimmed    { background: rgba(160,155,140,0.1); color: #888; border: 1px solid rgba(160,155,140,0.2); opacity: 0.6; }
.radar-label { font-size: 15px; font-weight: 500; fill: #555; }
.radar-grid { fill: none; stroke: #E8EBF0; stroke-width: 0.7; }
.radar-shape { fill: rgba(59,91,219,0.12); stroke: #3B5BDB; stroke-width: 1.8; }
.radar-dot { fill: #3B5BDB; r: 2.5; }

/* ===== 반응형 ===== */
@media (max-width: 768px) {
    .mCompanyCard_content { padding: var(--sp-4, 16px); }
    .mCompanyCard_footer { padding: var(--sp-2h, 10px) var(--sp-4, 16px); }
    .mCompanyCard_bookmark { top: 12px; right: 12px; }
    .mCompanyCard_bookmark svg { width: 18px; height: 18px; }
    .mCompanyCard .mCompanyCard_fav { top: 16px; right: 16px; width: 32px; height: 32px; }
    .mCompanyCard_title { font-size: var(--fs-card-company, 15px); margin-bottom: 0; -webkit-line-clamp: 2; }
    .mCompanyCard_desc { margin-bottom: 8px; gap: 4px; }
    .mCompanyCard_desc_tag { font-size: var(--fs-tag, 12px); padding: 4px 10px; border-radius: 16px; }
    .mCompanyCard_rating { padding: 3px 10px; gap: 12px; margin-bottom: 6px; }
    .mCompanyCard_rating_left { min-width: 64px; }
    .mCompanyCard_rating_score { font-size: 22px; }
    .mCompanyCard_rating_stars svg { width: 14px; height: 14px; }
    .mCompanyCard_rating_stars .star-partial { width: 14px; height: 14px; }
    .mCompanyCard_rating_bar_label { font-size: 11px; width: 48px; }
    .mCompanyCard_rating_bar_chart { min-width: 0; }
    .mCompanyCard_rating_bar_count { font-size: 11px; min-width: 34px; }
    .mCompanyCard_footer { padding-top: 8px; }
    .mCompanyCard_price { font-size: 16px; }
    .mCompanyCard_price_icon { width: 28px; height: 28px; }
    .mCompanyCard_provider_name { font-size: 12px; }
}
