.home-hero .heroCard{display:block;color:inherit;border-radius:1.25rem;overflow:hidden;background:#fff;box-shadow:0 .25rem .75rem rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.06)}
.home-hero .heroBody{background:#fff}
.home-hero .heroPlaceholder{background:linear-gradient(135deg,#111 0%,#444 50%,#111 100%)}
.home-hero #heroSummary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

#latestList a{color:inherit}
#latestList .itemTitle{font-weight:700;line-height:1.3;margin:0 0 .25rem 0}
#latestList .itemMeta{font-size:.85rem;color:#6c757d}

#hotGrid .hotCard{display:block;color:inherit;text-decoration:none}
#hotGrid .hotTitle{font-weight:800;line-height:1.25}
#hotGrid .hotSummary{color:#6c757d;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#hotGrid .hotThumb{background:#f1f3f5}

#todayGames .gameRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(0,0,0,.06);border-radius:14px}
#todayGames .teams{font-weight:800}
#todayGames .meta{font-size:.85rem;color:#6c757d;white-space:nowrap}

/* Leaders */
.leaderBlock{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.leaderBlock:last-child{border-bottom:0}
.leaderList .list-group-item{border:0;padding:.35rem 0}

/* Photo */
.photoTile{display:block;color:inherit;text-decoration:none}
.photoPh{width:100%;aspect-ratio:16/10;background:#f1f3f5;border:1px solid rgba(0,0,0,.06)}

/* Video */
.videoRow{display:block;padding:10px 12px;border:1px solid rgba(0,0,0,.06);border-radius:14px}
.videoThumb{width:54px;height:40px;background:#f1f3f5;border:1px solid rgba(0,0,0,.06);flex:0 0 auto}

/* ===== HERO IMAGE FULL FILL FIX ===== */

/* ===== HOME: Hero image full-fill (작은 원본도 확대해서 꽉 차게) ===== */
.home-hero .heroMedia { position: relative; overflow: hidden; }
.home-hero .heroMedia .heroImg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  max-width:none !important; /* 공통 img 규칙 무력화 */
}

/* placeholder는 기존 디자인 유지용 */
.home-hero .heroPlaceholder{
  width:100%;
  height:100%;
  background: linear-gradient(135deg, rgba(0,0,0,.06), rgba(0,0,0,.02));
}

/* ===== HOME: Latest news thumb ===== */
.home-news .newsThumb{
  width:96px;
  flex:0 0 96px;
}
.home-news .newsThumb img{
  width:96px;
  height:54px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}

/* ===== Compact Schedule Card ===== */

.schedule-card {
  border-radius: 14px;
  transition: all .2s ease;
}

.schedule-card .card-body {
  padding: 0.5rem 1rem;
}

.schedule-card .badge {
  font-size: 0.7rem;
  padding: 0.35em 0.6em;
}

.schedule-card .team-name {
  font-size: 0.75rem;
  margin: 2px 0;   /* 아래 여백 제거 */
}

.schedule-card .vs-text {
  font-size: 0.75rem;
  margin: 2px 0;
}


.schedule-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}

/* Latest news height sync */
.latestCardBody{display:flex;flex-direction:column;height:100%}
.latestScroll{flex:1;overflow:auto;max-height:320px;padding-right:4px}
@media (min-width: 992px){
  .latestScroll{max-height:none}
}

/* Ad banner placeholder */
.home-ad .adBox{min-height:100px;background:#f8f9fa;font-weight:700}

/* Shorts */
.shortsRow{display:flex;gap:10px;overflow:auto;padding-bottom:4px}
.shortCard{flex:0 0 140px;text-decoration:none;color:inherit}
.shortThumb{width:100%;aspect-ratio:9/16;background:#f1f3f5;border:1px solid rgba(0,0,0,.06);border-radius:14px;position:relative}
.shortPlay{position:absolute;inset:auto 10px 10px auto;background:rgba(0,0,0,.7);color:#fff;border-radius:999px;padding:2px 8px;font-size:.75rem}


/* Leaders outer card */
.leadersCard{border:1px solid rgba(0,0,0,.06)}


/* Shorts rolling placeholder */
.shortsRollBox{min-height:180px;background:#f8f9fa;font-weight:700;text-align:center;padding:12px}
@media (min-width: 992px){.shortsRollBox{min-height:240px}}
.shortsRollDots .dot{width:8px;height:8px;border-radius:999px;background:rgba(0,0,0,.2)}
.shortsRollDots .dot.active{background:rgba(0,0,0,.8)}

/* Ad box sizes */
.adBox{background:#f8f9fa;font-weight:700}
.adBox-sm{min-height:100px}
.adBox-md{min-height:250px}


/* ===== Main layout refinements (2026-02) ===== */

/* Latest news compact height so banners appear below on desktop */
.latestCard{height:auto}
.latestScroll{max-height:220px}
@media (min-width: 992px){
  .latestScroll{max-height:260px}
}

/* Quick icons (4x2) */
.quickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quickIcon{text-decoration:none;color:inherit}
.quickIconBox{width:100%;aspect-ratio:1/1;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#f8f9fa;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.5px}
.quickIconLabel{margin-top:6px;font-size:.85rem;text-align:center;color:#212529;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width: 576px){
  .quickGrid{gap:8px}
  .quickIconLabel{font-size:.8rem}
}

/* Leader categories (5 blocks per column) */
.leaderCat{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.leaderCat:last-child{border-bottom:0}

/* Shorts stage: 2 vertical tiles (YouTube / Instagram) */
.shortsStage{display:flex;gap:10px}
.shortTile{flex:1;display:block;text-decoration:none;color:inherit;border-radius:16px;border:1px solid rgba(0,0,0,.08);background:#f8f9fa;aspect-ratio:9/16;position:relative;overflow:hidden}
.shortTileInner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.shortBadge{font-weight:900;border:1px solid rgba(0,0,0,.12);background:#fff;border-radius:999px;padding:4px 10px;font-size:.85rem}
.shortHint{font-size:.85rem;color:#6c757d;font-weight:700;text-align:center;padding:0 10px}
@media (max-width: 576px){
  .shortsStage{gap:8px}
  .shortBadge{font-size:.8rem}
  .shortHint{font-size:.8rem}
}

/* Bottom lists */
.listRow{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.listRow:last-child{border-bottom:0}


/* ===== Main layout refinements (2026-02) ===== */

/* Latest news compact height so banners appear below on desktop */
.latestCardBody{padding:1rem}
.latestScroll{max-height:220px;overflow:auto;padding-right:4px}
@media (min-width: 992px){
  .latestScroll{max-height:240px}
}

/* Quick icons (4x2) */
.quickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quickIcon{text-decoration:none;color:inherit}
.quickIconBox{
  width:100%;
  aspect-ratio:1/1;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#f8f9fa;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:.85rem;
}
.quickIconLabel{
  margin-top:6px;
  font-size:.8rem;
  text-align:center;
  line-height:1.1;
  color:#212529;
  font-weight:700;
}

/* Leaders: 5 categories (top3) */
.leaderCat{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.leaderCat:last-child{border-bottom:0}
.leaderCat .leaderList .list-group-item{border:0;padding:.35rem 0}

/* Shorts: YouTube + Instagram (9:16) + rolling dots */
.shortsStage{display:flex;gap:10px}
.shortTile{
  flex:1;
  aspect-ratio:9/16;
  border-radius:18px;
  border:1px solid rgba(0,0,0,.08);
  background:#f8f9fa;
  position:relative;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.shortTileInner{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  padding:12px;
}
.shortBadge{
  font-weight:900;
  font-size:.9rem;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}
.shortHint{font-size:.85rem;color:#6c757d;font-weight:700}

@media (max-width: 576px){
  .shortsStage{gap:8px}
  .shortBadge{font-size:.8rem}
  .shortHint{font-size:.8rem}
}

/* Community list rows */
.home-community .listRow{
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
}
