@charset "UTF-8";

/* =========================================================
   新着生地（#kk-newfabrics）
   画像 / タイトル(3行) / 説明(3行) / 価格(1行)
   短文でも高さを固定して4枚とも同じ枠にする
   ========================================================= */

#kk-newfabrics .kk-newfabrics-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}

#kk-newfabrics .kk-fabric-card{
  margin:0;
  border:1px solid #ddd;
  background:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

#kk-newfabrics .kk-fabric-card dt,
#kk-newfabrics .kk-fabric-card dd{
  margin:0;
}

/* 画像 */
#kk-newfabrics .kk-fabric-thumb{
  position:relative;
  border-bottom:1px solid #eee;
}
#kk-newfabrics .kk-fabric-thumb figure{
  margin:0;
  aspect-ratio:4 / 3;
  overflow:hidden;
}
#kk-newfabrics .kk-fabric-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:opacity .18s ease;
}
#kk-newfabrics .kk-fabric-thumb:hover img{
  opacity:.72;
}

/* NEW：赤丸（右上） */
#kk-newfabrics .kk-badge-new{
  position:absolute;
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#e53935;
  color:#fff;
  font-weight:700;
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  z-index:2;
}

/* テキスト領域（タイトルブロック → 罫線 → 説明） */
#kk-newfabrics .kk-fabric-meta{
  padding:0;
}

/* タイトルブロック（ここまでが1ブロック） */
#kk-newfabrics .kk-fabric-head{
  padding:10px 12px;
  border-bottom:1px solid #eee;
}

/* タイトル（リンク）：3行固定 */
#kk-newfabrics .kk-fabric-title{
  margin:0;
  font-size:15px;
  line-height:1.45;

  /* Cocoonのh3装飾を無効化 */
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
#kk-newfabrics .kk-fabric-title::before,
#kk-newfabrics .kk-fabric-title::after{
  content:none !important;
}

#kk-newfabrics .kk-fabric-title a{
  color:#111;
  text-decoration:none;

  /* 3行で切る + 3行分の高さを必ず確保 */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  height:4.35em; /* 1.45em × 3行 = 4.35em */
}
#kk-newfabrics .kk-fabric-title a:hover{
  color:#0b63ce;
  text-decoration:underline;
}

/* 説明（非リンク）：3行固定 */
#kk-newfabrics .kk-fabric-descwrap{
  padding:10px 12px;
}
#kk-newfabrics .kk-fabric-desc{
  margin:0;
  font-size:13px;
  line-height:1.6;
  color:#333;

  /* 3行で切る + 3行分の高さを必ず確保 */
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  height:4.8em; /* 1.6em × 3行 = 4.8em */
}

/* 価格（1行固定・下固定） */
#kk-newfabrics .kk-fabric-price{
  margin-top:auto;
  border-top:1px solid #eee;
  padding:8px 12px;
  font-size:13px;
  line-height:1.6;
}
#kk-newfabrics .kk-fabric-price p{
  margin:0;
  white-space:nowrap;        /* 1行固定 */
  overflow:hidden;
  text-overflow:ellipsis;
}

/* レスポンシブ */
@media (max-width: 1024px){
  #kk-newfabrics .kk-newfabrics-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  #kk-newfabrics .kk-newfabrics-grid{ grid-template-columns:1fr; }
}