.life-front-page .main-layout,
.life-front-page.main-layout { padding-top: var(--spacing-10); } /* 40px — 부동산 기준 맞춤 */
/* PATCH(Issue19): 부동산 페이지(real-estate.css)와 동일한 max-width 적용 */
.life-front-page .main-content{flex:1;min-width:0;overflow:hidden;max-width:var(--layout-main-content);}

/* sticky 수정: left/right-ad가 자연 높이만 가져 sticky 이동 범위 0이 되는 문제 수정 */
.life-front-page .left-ad,
.life-front-page .right-ad {
  align-self: stretch;
}

/* sticky 수정: mobile.css의 .layout-container { overflow-x: clip }이 생활정보에서만
   sticky를 깨뜨리는 문제 → visible로 오버라이드.
   html { overflow-x: clip }이 최상위에서 가로 스크롤을 차단하므로 안전함. */
.life-front-page .layout-container {
  overflow-x: visible !important;
  /* 이슈 82 수정: 다른 페이지(real-estate 등)와 동일한 --layout-max-width 사용 */
  max-width: var(--layout-max-width) !important;
}

.life-front-page .life-top-banner-wrap{margin-bottom:14px;}
.life-front-page .life-top-banner-wrap:empty{display:none;}
/* #11 FIX: 이미지 배너 높이 제한 (catad-card / slider-card 크기는 ads-base.css에서 전역 관리) */
.life-front-page .life-top-banner-wrap .catad-raw-html img{aspect-ratio:16/4.2;object-fit:cover;border-radius:24px;width:100%;display:block;}
.life-front-page .life-top-banner-wrap img:not(.catad-icon svg){max-height:216px;width:100%;object-fit:cover;border-radius:24px;display:block;}
.life-front-page .life-board{background:#f3f4f6;border-radius:28px;padding:22px 24px 28px;}
.life-front-page .life-board__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;}
.life-front-page .life-board__title{margin:0;font-size:32px;line-height:1.1;font-weight:900;color:#111827;letter-spacing:-.03em;}
.life-front-page .life-board__all{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid #dbe1ea;border-radius:999px;background:#fff;text-decoration:none;color:#2563eb;font-size:14px;font-weight:800;white-space:nowrap;}
.life-front-page .life-tier{margin-bottom:24px;}
.life-front-page .life-tier__head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.life-front-page .life-tier__head h3{margin:0;font-size:20px;font-weight:700;color:#111827;letter-spacing:-.02em;}
.life-front-page .life-tier__head h3 .tier-cat-name{font-size:14px;font-weight:600;color:#6b7280;margin-right:2px;}
.life-front-page .life-tier__head span{font-size:14px;color:#6b7280;font-weight:600;}
.life-front-page .life-tier-grid{display:grid;gap:16px;}
.life-front-page .life-tier-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr));}
.life-front-page .life-tier-grid--special{grid-template-columns:repeat(3,minmax(0,1fr));}
.life-front-page .life-groups{display:flex;flex-direction:column;gap:34px;}
.life-front-page .life-groups{border-top:1px solid #e5e7eb;padding-top:20px;}
.life-front-page .life-group{padding-top:20px;border-top:1px solid #e5e7eb;}
.life-front-page .life-group:first-child{border-top:none;padding-top:0;}
.life-front-page .life-group__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;}
.life-front-page .life-group__title{margin:0;font-size:22px;font-weight:800;color:#1f3fb7;letter-spacing:-.02em;}
.life-front-page .life-group__search{position:relative;width:280px;max-width:100%;}
.life-front-page .life-group__search-input{width:100%;height:42px;border:1px solid #dde3ed;border-radius:999px;background:#fff;padding:0 44px 0 16px;font-size:14px;outline:none;}
.life-front-page .life-group__search-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;color:#9ca3af;font-size:18px;cursor:pointer;}
.life-front-page .life-group__filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.life-front-page .life-chip{height:34px;padding:0 14px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#6b7280;font-size:13px;font-weight:700;cursor:pointer;}
.life-front-page .life-chip.is-active{background:#1d4ed8;border-color:#1d4ed8;color:#fff;}
.life-front-page .life-carousel-wrap{position:relative;padding:0 34px;}
.life-front-page .life-carousel{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none;}
.life-front-page .life-carousel::-webkit-scrollbar{display:none;}
.life-front-page .life-carousel-arrow{position:absolute;top:calc(50% - 18px);width:34px;height:34px;border-radius:999px;border:1px solid #dbe1ea;background:#fff;box-shadow:0 8px 20px rgba(17,24,39,.08);cursor:pointer;font-size:24px;line-height:1;color:#64748b;display:flex;align-items:center;justify-content:center;z-index:3;}
.life-front-page .life-carousel-arrow--prev{left:0;}
.life-front-page .life-carousel-arrow--next{right:0;}
.life-front-page .life-card{flex:0 0 224px;min-width:224px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.05);}
.life-front-page .life-tier-grid .life-card{flex:initial;min-width:0;}
.life-front-page .life-card__thumb{position:relative;display:block;height:156px;background:#eef2f7;}
.life-front-page .life-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.life-front-page .life-card__badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:900;color:#fff;letter-spacing:.04em;}
.life-front-page .life-card__badge--premium{background:#f59e0b;}
.life-front-page .life-card__badge--special{background:#8b5cf6;}
.life-front-page .life-card__badge--normal,
.life-front-page .life-card__badge--general{background:#0ea5e9;}
.life-front-page .life-card__body{padding:14px 14px 16px;}
.life-front-page .life-card__title{margin:0 0 8px;font-size:16px;line-height:1.4;font-weight:800;color:#111827;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px;}
.life-front-page .life-card__title a{color:inherit;text-decoration:none;}
.life-front-page .life-card__summary{margin:0 0 10px;font-size:13px;line-height:1.5;color:#6b7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px;}
.life-front-page .life-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.life-front-page .life-card__meta span{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:700;}
.life-front-page .life-card__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:#6b7280;}
.life-front-page .life-card__price{color:#111827;}
.life-front-page .life-card--compact{flex:0 0 198px;min-width:198px;}
.life-front-page .life-card--compact .life-card__thumb{height:132px;}
.life-front-page .life-card--compact .life-card__body{padding:12px 12px 14px;}
.life-front-page .life-card--compact .life-card__title{font-size:14px;min-height:40px;margin-bottom:6px;}
.life-front-page .life-card--compact .life-card__summary{display:none;}
.life-front-page .life-card--compact .life-card__meta{margin-bottom:8px;}
.life-front-page .life-card--compact .life-card__meta span{padding:0 8px;font-size:13px;height:22px;}
.life-front-page .life-card--compact .life-card__foot{font-size:13px;}
.life-front-page .life-group__all-wrap{display:flex;justify-content:flex-end;margin:-4px 0 12px;}
.life-front-page .life-group__all{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid #dbe1ea;background:#fff;color:#2563eb;font-size:13px;font-weight:800;text-decoration:none;}
.life-front-page .life-card--premium .life-card__thumb{height:210px;}
.life-front-page .life-card--special .life-card__thumb{height:182px;}
.life-front-page .life-empty-box{display:flex;align-items:center;justify-content:center;min-height:92px;border:1px dashed #d1d5db;border-radius:18px;background:#fff;color:#6b7280;font-size:14px;font-weight:700;}

/* 이슈 2/57: 카테고리 섹션 4칸 2줄 그리드 */
.life-front-page .life-carousel-wrap{padding:0;}
.life-front-page .life-carousel-arrow{display:none;}
.life-front-page .life-carousel{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  overflow:visible;
  flex:none;
  padding-bottom:0;
}
.life-front-page .life-carousel > .life-card{
  flex:none;
  min-width:0;
  width:100%;
}
/* 8개(4칸×2줄) 초과 항목 숨김 */
.life-front-page .life-carousel > .life-card:nth-child(n+9){display:none;}

@media (max-width:1279px){
  .life-front-page .main-content{max-width:100%;}
}
@media (max-width:1024px){
  .life-front-page .life-board{padding:20px 18px 24px;}
  .life-front-page .life-board__title{font-size:28px;}
  .life-front-page .life-tier-grid--special{grid-template-columns:repeat(2,minmax(0,1fr));}
  .life-front-page .life-group__title{font-size:30px;}
  .life-front-page .life-carousel{grid-template-columns:repeat(3,minmax(0,1fr));}
  /* 3칸×2줄 = 6개까지 표시 */
  .life-front-page .life-carousel > .life-card:nth-child(n+7){display:none;}
  .life-front-page .life-carousel > .life-card:nth-child(n+9){display:none;}
}
@media (max-width:768px){
  .life-front-page .life-board__head,
  .life-front-page .life-group__head{flex-direction:column;align-items:flex-start;}
  .life-front-page .life-tier-grid--premium,
  .life-front-page .life-tier-grid--special{grid-template-columns:1fr;}
  .life-front-page .life-group__search{width:100%;}
  .life-front-page .life-carousel{grid-template-columns:repeat(2,minmax(0,1fr));}
  /* 2칸×2줄 = 4개까지 표시 */
  .life-front-page .life-carousel > .life-card:nth-child(n+5){display:none;}
  .life-front-page .life-card{min-width:0;}
  .life-front-page .life-board__title{font-size:26px;}
  .life-front-page .life-group__title{font-size:26px;}

  /* 모바일: 콘텐츠 박스 제거 — 배너와 동일한 여백으로 */
  .life-front-page .life-board,
  .main-layout.life-front-page .life-board {
    background: transparent !important;
    border-radius: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-shadow: none !important;
  }
}

/* 260313 v3 hotfix */
@media (min-width: 1180px) and (max-width: 1399px){
  .life-front-page .layout-container,
  .main-layout.life-front-page .layout-container{
    display:flex !important;
    align-items:flex-start;
    justify-content:center;
    gap:16px;
    padding-left:16px;
    padding-right:16px;
  }
  .life-front-page .left-ad,
  .life-front-page .right-ad,
  .main-layout.life-front-page .left-ad,
  .main-layout.life-front-page .right-ad{
    display:block !important;
    width:140px;
    min-width:140px;
    flex:0 0 140px;
    align-self: stretch;
  }
  .life-front-page .ad-sticky,
  .main-layout.life-front-page .ad-sticky{
    display:flex !important;
  }
  .life-front-page .main-content,
  .main-layout.life-front-page .main-content{
    flex:1 1 auto;
    width:auto;
    max-width:calc(100% - 312px);
    min-width:0;
  }
}

@media (max-width: 1179px){
  .life-front-page .left-ad,
  .life-front-page .right-ad,
  .main-layout.life-front-page .left-ad,
  .main-layout.life-front-page .right-ad{
    display:none !important;
  }
}

/* 260313 v2 bottom all button */
.life-front-page .life-board__bottom-all{display:flex;justify-content:center;margin-top:28px;}
.life-front-page .life-board__all--bottom{min-width:220px;padding:0 24px;}
@media (max-width:768px){
  .life-front-page .life-board__bottom-all{margin-top:22px;}
  .life-front-page .life-board__all--bottom{width:100%;max-width:320px;}
}

/* FIX: 그룹 일반 리스트 — carousel → 4×4 그리드 + 페이징 */
.life-front-page .life-carousel-wrap { padding: 0; }
.life-front-page .life-carousel {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  overflow: visible !important;
  padding-bottom: 0;
  scroll-behavior: unset;
}
.life-front-page .life-carousel .life-card {
  flex: unset !important;
  min-width: 0 !important;
  width: 100%;
}
.life-front-page .life-carousel-arrow { display: none !important; }
@media (max-width: 1024px) {
  .life-front-page .life-carousel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .life-front-page .life-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .life-front-page .life-carousel .life-card { flex-basis: auto !important; min-width: 0 !important; }
}
@media (max-width: 480px) {
  /* 모바일 최소폭에서도 2칸 유지 */
  .life-front-page .life-carousel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

