/* =============================================
   업계동향 전용 CSS – news.css
   ============================================= */

/* ── 히어로 ── */
.news-hero{
  background:linear-gradient(135deg,#1e1e2e 0%,#e31837 100%);
  padding:80px 0 60px;
  text-align:center;
  color:#fff;
}
.news-hero-inner{}
.news-hero-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.15);color:#fff;
  padding:6px 16px;border-radius:50px;font-size:.85rem;font-weight:700;
  margin-bottom:16px;
}
.news-hero h1{font-size:2.2rem;font-weight:900;margin-bottom:12px;}
.news-hero p{font-size:1.05rem;opacity:.85;}

/* ── 필터바 ── */
.news-filter-bar{
  background:#fff;border-bottom:1px solid #e5e7eb;
  padding:16px 0;position:sticky;top:70px;z-index:100;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
}
.news-filter-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
}
.news-cats{display:flex;gap:8px;flex-wrap:wrap;}
.ncat{
  padding:7px 18px;border-radius:50px;border:2px solid #e2e8f0;
  background:#fff;font-size:.88rem;font-weight:600;color:#64748b;
  cursor:pointer;transition:all .2s;
}
.ncat:hover{border-color:var(--red);color:var(--red);}
.ncat.active{background:var(--red);border-color:var(--red);color:#fff;}
.news-search-wrap{position:relative;}
.news-search-wrap input{
  padding:9px 16px 9px 38px;border:2px solid #e2e8f0;border-radius:50px;
  font-size:.9rem;width:220px;outline:none;transition:border .2s;
  font-family:inherit;
}
.news-search-wrap input:focus{border-color:var(--red);}
.news-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;}

/* ── 메인 ── */
.news-main{padding:48px 0 80px;}

/* ── 로딩 / 빈 상태 ── */
.news-loading{
  text-align:center;padding:60px 0;color:#64748b;font-size:1.1rem;
}
.news-empty{
  display:flex;flex-direction:column;align-items:center;
  padding:80px 0;color:#94a3b8;gap:12px;
}
.news-empty i{font-size:3rem;}
.news-empty p{font-size:1rem;}

/* ── 카드 그리드 ── */
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.news-card{
  background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  cursor:pointer;transition:transform .22s,box-shadow .22s;
  animation:fadeUp .4s ease both;
}
.news-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.14);}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

.nc-thumb{width:100%;height:190px;overflow:hidden;}
.nc-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.news-card:hover .nc-thumb img{transform:scale(1.05);}
.nc-thumb-default{
  background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
  display:flex;align-items:center;justify-content:center;
  font-size:3rem;color:#cbd5e1;
}
.nc-body{padding:20px;}
.nc-cat{
  display:inline-block;color:#fff;padding:3px 10px;
  border-radius:50px;font-size:.75rem;font-weight:700;margin-bottom:10px;
}
.nc-title{
  font-size:1.05rem;font-weight:700;color:#1e293b;
  line-height:1.5;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.nc-summary{
  font-size:.88rem;color:#64748b;line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:14px;
}
.nc-footer{display:flex;justify-content:space-between;font-size:.8rem;color:#94a3b8;}

/* ── 더보기 ── */
.news-more-wrap{display:flex;justify-content:center;margin-top:40px;}
.news-more-btn{padding:12px 40px;font-size:.95rem;}

/* ── 관리자 FAB ── */
.news-admin-fab{
  position:fixed;bottom:90px;right:28px;
  width:52px;height:52px;background:var(--navy);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;box-shadow:0 6px 20px rgba(0,0,0,.2);
  transition:transform .2s;z-index:800;
}
.news-admin-fab:hover{transform:translateY(-3px);}

/* ────────────────────────────
   상세 페이지
   ──────────────────────────── */
.detail-main{padding:48px 0 80px;}
.detail-container{max-width:780px;margin:0 auto;}

.detail-back{
  display:inline-flex;align-items:center;gap:8px;
  color:#64748b;font-size:.9rem;font-weight:600;
  margin-bottom:28px;transition:color .2s;
}
.detail-back:hover{color:var(--red);}

.detail-head{margin-bottom:28px;}
.detail-cat{
  display:inline-block;color:#fff;padding:4px 12px;
  border-radius:50px;font-size:.78rem;font-weight:700;background:var(--red);
  margin-bottom:12px;
}
.detail-title{
  font-size:1.9rem;font-weight:900;color:#1e293b;
  line-height:1.4;margin-bottom:14px;
}
.detail-meta{
  display:flex;gap:20px;flex-wrap:wrap;
  font-size:.85rem;color:#94a3b8;margin-bottom:12px;
}
.detail-tags{display:flex;gap:8px;flex-wrap:wrap;}
.detail-tag{
  background:#f1f5f9;color:#475569;
  padding:4px 12px;border-radius:50px;font-size:.8rem;font-weight:600;
}

.detail-thumb-wrap{margin-bottom:28px;border-radius:14px;overflow:hidden;}
.detail-thumb-wrap img{width:100%;max-height:400px;object-fit:cover;}

.detail-body{
  font-size:1.02rem;line-height:1.9;color:#334155;
  margin-bottom:40px;
}
.detail-body h2{font-size:1.4rem;font-weight:800;color:#1e293b;margin:32px 0 12px;padding-bottom:8px;border-bottom:2px solid #f1f5f9;}
.detail-body h3{font-size:1.15rem;font-weight:700;color:#1e293b;margin:24px 0 10px;}
.detail-body p{margin-bottom:16px;}
.detail-body ul,
.detail-body ol{margin:12px 0 16px 24px;}
.detail-body li{margin-bottom:6px;}
.detail-body strong{color:#1e293b;font-weight:700;}
.detail-body a{color:var(--red);text-decoration:underline;}

/* 공유 */
.detail-share{
  display:flex;align-items:center;gap:12px;
  padding:20px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;
  margin-bottom:32px;flex-wrap:wrap;
}
.detail-share span{font-weight:700;color:#1e293b;font-size:.95rem;}
.share-btn{
  padding:8px 18px;border-radius:8px;font-size:.88rem;font-weight:700;
  border:none;cursor:pointer;transition:transform .2s;display:flex;align-items:center;gap:6px;
}
.share-btn:hover{transform:translateY(-2px);}
.share-btn.kakao{background:#FEE500;color:#3C1E1E;}
.share-btn.copy{background:#f1f5f9;color:#334155;}

/* CTA */
.detail-cta{
  background:linear-gradient(135deg,#1e1e2e,#e31837);
  border-radius:16px;padding:32px;text-align:center;
  margin-bottom:32px;color:#fff;
}
.detail-cta p{font-size:1.1rem;font-weight:600;margin-bottom:16px;}

.detail-back-bottom{
  display:inline-flex;align-items:center;gap:8px;
  color:#64748b;font-size:.9rem;font-weight:600;transition:color .2s;
}
.detail-back-bottom:hover{color:var(--red);}

/* 에러 */
.detail-error{
  display:flex;flex-direction:column;align-items:center;
  padding:100px 0;gap:16px;color:#94a3b8;
}
.detail-error i{font-size:3rem;}
.detail-loading{text-align:center;padding:80px 0;color:#64748b;font-size:1.1rem;}

/* ────────────────────────────
   관리자 페이지
   ──────────────────────────── */
.admin-main{padding:40px 0 80px;}
.admin-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:28px;
}
.admin-header h1{font-size:1.6rem;font-weight:900;color:#1e293b;}

.admin-table{
  width:100%;border-collapse:collapse;background:#fff;
  border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.07);
  margin-bottom:40px;
}
.admin-table thead{background:var(--navy);}
.admin-table th{
  padding:14px 16px;color:#fff;font-size:.88rem;
  font-weight:700;text-align:left;white-space:nowrap;
}
.admin-table td{
  padding:14px 16px;font-size:.9rem;color:#334155;
  border-bottom:1px solid #f1f5f9;vertical-align:middle;
}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table tr:hover td{background:#fafafa;}
.admin-title-cell{font-weight:600;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pub-badge{padding:3px 10px;border-radius:50px;font-size:.78rem;font-weight:700;}
.pub-badge.pub{background:#dcfce7;color:#16a34a;}
.pub-badge.hide{background:#f1f5f9;color:#94a3b8;}
.admin-cat-badge{
  background:#f1f5f9;color:#475569;
  padding:3px 10px;border-radius:50px;font-size:.78rem;font-weight:600;
}
.admin-actions{display:flex;gap:8px;}
.btn-admin-edit{
  padding:6px 14px;background:#eff6ff;color:#2563eb;
  border:none;border-radius:7px;font-size:.82rem;font-weight:700;
  cursor:pointer;transition:background .2s;
}
.btn-admin-edit:hover{background:#dbeafe;}
.btn-admin-del{
  padding:6px 14px;background:#fef2f2;color:#ef4444;
  border:none;border-radius:7px;font-size:.82rem;font-weight:700;
  cursor:pointer;transition:background .2s;
}
.btn-admin-del:hover{background:#fee2e2;}

.admin-loading{text-align:center;padding:60px;color:#64748b;}

/* 폼 */
.admin-form-wrap{
  background:#fff;border-radius:16px;padding:36px;
  box-shadow:0 4px 28px rgba(0,0,0,.1);
}
.admin-form-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:28px;
}
.admin-form-header h2{font-size:1.3rem;font-weight:800;color:#1e293b;}
.admin-fg{margin-bottom:20px;}
.admin-fg label{display:block;font-size:.88rem;font-weight:700;color:#475569;margin-bottom:6px;}
.admin-fg input,
.admin-fg select,
.admin-fg textarea{
  width:100%;padding:11px 14px;border:2px solid #e2e8f0;border-radius:10px;
  font-size:.92rem;font-family:inherit;outline:none;transition:border .2s;resize:vertical;
}
.admin-fg input:focus,
.admin-fg select:focus,
.admin-fg textarea:focus{border-color:var(--red);}
.admin-hint{font-size:.78rem;color:#94a3b8;margin-top:4px;display:block;}
.admin-fg-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}

/* 에디터 */
.editor-toolbar{
  display:flex;gap:6px;flex-wrap:wrap;
  padding:8px;background:#f8fafc;border:2px solid #e2e8f0;
  border-bottom:none;border-radius:10px 10px 0 0;
}
.editor-toolbar button{
  padding:6px 12px;border:1px solid #e2e8f0;background:#fff;
  border-radius:6px;font-size:.82rem;cursor:pointer;transition:background .2s;
  font-family:inherit;
}
.editor-toolbar button:hover{background:var(--red-l);color:var(--red);}
.admin-fg .editor-toolbar + textarea{border-radius:0 0 10px 10px;}
.editor-preview{
  border:2px solid var(--red);border-radius:0 0 10px 10px;
  padding:20px;min-height:200px;background:#fff;
  font-size:.95rem;line-height:1.8;color:#334155;
}

.admin-form-actions{
  display:flex;justify-content:flex-end;gap:12px;
  margin-top:8px;padding-top:20px;border-top:1px solid #f1f5f9;
}

/* ── 반응형 ── */
@media(max-width:1024px){
  .news-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .news-hero h1{font-size:1.6rem;}
  .news-grid{grid-template-columns:1fr;}
  .news-filter-inner{flex-direction:column;align-items:flex-start;}
  .news-search-wrap input{width:100%;}
  .detail-title{font-size:1.4rem;}
  .admin-fg-row{grid-template-columns:1fr;}
  .admin-table{font-size:.8rem;}
}
