/* ============================================================
   대전 인쇄마켓 · sub.css v25
   서브페이지 공통 스타일
   ============================================================ */

/* ══════════════════════════
   업체 카드 (목록 페이지 공통)
══════════════════════════ */
.company-list-card{
    display:flex; align-items:flex-start; gap:20px;
    padding:24px; border:1.5px solid var(--line);
    border-radius:var(--r-lg); background:var(--white);
    transition:.18s; position:relative;
}
.company-list-card:hover{ border-color:var(--gold); box-shadow:0 8px 28px rgba(233,185,58,.15); transform:translateY(-2px); }
.clc-thumb{ width:100px; height:100px; flex-shrink:0; border-radius:var(--r-md); overflow:hidden; background:var(--off-2); }
.clc-thumb img{ width:100%; height:100%; object-fit:cover; transition:.4s; }
.company-list-card:hover .clc-thumb img{ transform:scale(1.05); }
.clc-body{ flex:1; min-width:0; }
.clc-name{ font-size:18px; font-weight:900; color:var(--ink); margin-bottom:4px; letter-spacing:-.02em; }
.clc-strength{ font-size:13px; font-weight:600; color:var(--teal); margin-bottom:10px; }
.clc-items{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.clc-channel{ font-size:12px; color:var(--muted); display:flex; align-items:center; gap:4px; }
.clc-channel i{ width:13px; height:13px; }
.clc-action{ display:flex; align-items:center; gap:10px; margin-top:14px; }

/* 업체 카드 그리드형 */
.company-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.company-grid-card{ border:1.5px solid var(--line); border-radius:var(--r-lg); background:var(--white); overflow:hidden; transition:.18s; cursor:pointer; }
.company-grid-card:hover{ border-color:var(--gold); box-shadow:0 10px 28px rgba(233,185,58,.15); transform:translateY(-3px); }
.cgc-img{ height:180px; overflow:hidden; background:var(--off-2); }
.cgc-img img{ transition:.5s; }
.company-grid-card:hover .cgc-img img{ transform:scale(1.05); }
.cgc-body{ padding:18px 20px; }
.cgc-name{ font-size:16px; font-weight:900; color:var(--ink); margin-bottom:4px; letter-spacing:-.02em; }
.cgc-strength{ font-size:12px; color:var(--teal); font-weight:600; margin-bottom:10px; }
.cgc-action{ margin-top:14px; display:flex; gap:8px; }

/* ══════════════════════════
   검색·필터 영역 공통
══════════════════════════ */
.list-search-area{
    background:var(--off); border-radius:var(--r-lg);
    padding:28px 32px; margin-bottom:0;
    border:1px solid var(--line);
}
.list-search-row{ display:flex; gap:12px; margin-bottom:18px; }
.list-search-row .search-row{ flex:1; }

/* 상세검색 토글 */
.detail-search-toggle{ border-top:1px solid var(--line); padding-top:14px; }
.btn-detail-search{ width:100%; height:44px; display:flex; align-items:center; justify-content:center; gap:8px; border:none; background:none; color:var(--muted); font-size:13px; font-weight:700; cursor:pointer; transition:.2s; }
.btn-detail-search:hover{ color:var(--teal); }
.btn-detail-search i:first-child{ width:16px; height:16px; }
.toggle-icon{ width:16px; height:16px; transition:transform .3s ease; }
.btn-detail-search.expanded .toggle-icon{ transform:rotate(180deg); }

/* 상세검색 패널 */
.detail-search-panel{ 
    background:var(--off); border-top:1px solid var(--line); 
    padding:28px 32px; margin-bottom:36px; 
    display:none; 
}
.detail-search-panel.show{ display:block; }

.filter-section{ display:flex; flex-direction:column; gap:12px; }
.filter-label{ font-size:12px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.filter-row{ display:flex; flex-wrap:wrap; gap:8px; }

/* 결과 요약 바 */
.result-bar{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 0; border-bottom:2px solid var(--ink); margin-bottom:24px;
}
.result-count{ font-size:14px; font-weight:700; color:var(--ink); }
.result-count strong{ color:var(--teal); font-size:18px; font-weight:900; }
.result-sort{ display:flex; align-items:center; gap:8px; }
.sort-btn{ font-size:13px; font-weight:700; color:var(--muted); background:none; border:none; cursor:pointer; padding:4px 0; transition:.15s; }
.sort-btn.active{ color:var(--navy); font-weight:800; }
.sort-btn:hover{ color:var(--teal); }
.sort-sep{ width:1px; height:12px; background:var(--line); }

/* ══════════════════════════
   CTA 하단 (원하는 업체 없을 때)
══════════════════════════ */
.cta-bottom{
    background:var(--navy); border-radius:var(--r-lg);
    padding:48px 40px; text-align:center;
    margin-top:56px; position:relative; overflow:hidden;
}
.cta-bottom::before{ content:""; position:absolute; width:240px; height:240px; border-radius:50%; background:var(--teal); opacity:.08; filter:blur(48px); top:-80px; right:-60px; pointer-events:none; }
.cta-bottom > *{ position:relative; z-index:1; }
.cta-bottom .sec-eyebrow{ margin-bottom:10px; }
.cta-bottom .sec-title{ color:#fff; margin-bottom:10px; }
.cta-bottom .sec-desc{ color:rgba(255,255,255,.6); margin-bottom:28px; }
.cta-bottom-actions{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }

/* ══════════════════════════
   서브페이지 반응형
══════════════════════════ */
@media(max-width:1100px){
    .company-card-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:720px){
    .company-list-card{ flex-direction:column; }
    .clc-thumb{ width:100%; height:180px; }
    .company-card-grid{ grid-template-columns:1fr; }
    .list-search-area{ padding:20px; }
    .list-search-row{ flex-direction:column; }
    .cta-bottom{ padding:36px 24px; }
    .result-bar{ flex-direction:column; align-items:flex-start; gap:10px; }
}
