/**
 * Flatsome News Layouts 1.1.0 — soft premium, CLS-safe, no deps
 */
.fnl-news{
  --fnl-hover:#E31C3D;
  --fnl-badge:#E31C3D;
  --fnl-gap:16px;
  --fnl-radius:14px;
  --fnl-text:#1f1f1f;
  --fnl-muted:#6b6b6b;
  --fnl-line:#ede8e3;
  --fnl-card:#fff;
  width:100%;
  color:var(--fnl-text);
  line-height:1.45;
  font-family:inherit;
}
.fnl-news a{text-decoration:none;color:inherit;transition:color .15s ease}
.fnl-news img{display:block;width:100%;height:100%;object-fit:cover}
.fnl-thumb-wrap,.fnl-hot-thumb{
  position:relative;overflow:hidden;border-radius:var(--fnl-radius);
  background:#f3ebe4;
}
.fnl-ratio-16-9 .fnl-thumb-wrap,.fnl-ratio-16-9 .fnl-hot-thumb{aspect-ratio:16/9}
.fnl-ratio-4-3 .fnl-thumb-wrap,.fnl-ratio-4-3 .fnl-hot-thumb{aspect-ratio:4/3}
.fnl-ratio-1-1 .fnl-thumb-wrap,.fnl-ratio-1-1 .fnl-hot-thumb{aspect-ratio:1/1}

.fnl-title-lines-1 .fnl-title a,.fnl-title-lines-1 .fnl-title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.fnl-title-lines-2 .fnl-title a,.fnl-title-lines-2 .fnl-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fnl-title-lines-3 .fnl-title a,.fnl-title-lines-3 .fnl-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fnl-title-lines-4 .fnl-title a,.fnl-title-lines-4 .fnl-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fnl-excerpt-lines-1 .fnl-excerpt{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.fnl-excerpt-lines-2 .fnl-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fnl-excerpt-lines-3 .fnl-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Soft badge */
.fnl-badge{
  display:inline-block;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.3;
  border-radius:6px;border:1px solid transparent;margin-bottom:8px;letter-spacing:.2px;
  text-transform:none;
}
.fnl-badge-sm{padding:2px 7px;font-size:10px;margin-bottom:6px}

.fnl-title{margin:0 0 6px;font-weight:700;line-height:1.35}
.fnl-title a:hover{color:var(--fnl-hover)}
.fnl-excerpt{margin:0 0 8px;font-size:13.5px;color:var(--fnl-muted);line-height:1.5}
.fnl-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--fnl-muted)}
.fnl-date{font-size:12px;color:var(--fnl-muted)}
.fnl-empty{padding:24px;text-align:center;color:#999;background:#faf7f4;border-radius:var(--fnl-radius)}

/* ===== Featured 1+3 ===== */
.fnl-feat{
  display:grid;grid-template-columns:1.35fr .85fr;gap:18px;align-items:start;
}
.fnl-feat-main{
  background:var(--fnl-card);border:1px solid var(--fnl-line);border-radius:16px;overflow:hidden;
}
.fnl-feat-main .fnl-thumb-wrap{border-radius:0;aspect-ratio:16/10}
.fnl-feat-body{padding:16px 18px 20px}
.fnl-feat-main .fnl-title{font-size:22px;margin-bottom:8px}

.fnl-feat-side{display:flex;flex-direction:column;gap:12px}
.fnl-mini{
  display:grid;grid-template-columns:110px 1fr;gap:12px;
  background:var(--fnl-card);border:1px solid var(--fnl-line);border-radius:12px;overflow:hidden;
}
.fnl-mini .fnl-thumb-wrap{border-radius:0;aspect-ratio:4/3;min-height:86px}
.fnl-mini-body{padding:10px 12px 10px 15px}
.fnl-mini .fnl-title{font-size:14.5px;font-weight:600}

/* ===== Cards grid ===== */
.fnl-cards{
  display:grid;gap:16px;
  grid-template-columns:repeat(3,1fr);
}
.fnl-cols-2 .fnl-cards{grid-template-columns:repeat(2,1fr)}
.fnl-cols-3 .fnl-cards{grid-template-columns:repeat(3,1fr)}
.fnl-cols-4 .fnl-cards{grid-template-columns:repeat(4,1fr)}

.fnl-card{
  background:var(--fnl-card);border:1px solid var(--fnl-line);border-radius:var(--fnl-radius);
  overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;
}
.fnl-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(80,50,30,.08)}
.fnl-card .fnl-thumb-wrap{border-radius:0;aspect-ratio:16/10}
.fnl-card-body{padding:12px 14px 14px}
.fnl-card .fnl-title{font-size:15.5px;font-weight:600}

/* ===== List ===== */
.fnl-list{display:flex;flex-direction:column;gap:0}
.fnl-list-item{
  display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start;
  padding:16px 0;border-bottom:1px solid var(--fnl-line);
}
.fnl-list-item:last-child{border-bottom:0}
.fnl-list-item .fnl-thumb-wrap{border-radius:12px;aspect-ratio:16/10}
.fnl-list-item .fnl-title{font-size:17px}

/* ===== Kenh14 soft ===== */
.fnl-kenh14-hot{position:relative;margin-bottom:var(--fnl-gap);border-radius:16px;overflow:hidden}
.fnl-hot-link{display:block;position:relative;color:#fff}
.fnl-hot-thumb{aspect-ratio:16/9}
.fnl-hot-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.2) 55%,transparent 100%);
  pointer-events:none;
}
.fnl-hot-content{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 18px;z-index:2}
.fnl-kenh14-hot .fnl-title{font-size:24px;font-weight:800;color:#fff;margin:6px 0 8px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.fnl-kenh14-hot .fnl-excerpt{color:rgba(255,255,255,.92);font-size:14px}
.fnl-kenh14-hot .fnl-meta,.fnl-kenh14-hot .fnl-date{color:rgba(255,255,255,.85)}
.fnl-kenh14-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--fnl-gap)}

/* Responsive */
@media (max-width:1024px){
  .fnl-kenh14-grid,.fnl-cols-4 .fnl-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .fnl-feat{grid-template-columns:1fr}
  .fnl-feat-main .fnl-title{font-size:20px}
  .fnl-mini{grid-template-columns:96px 1fr}
  .fnl-cards,.fnl-cols-2 .fnl-cards,.fnl-cols-3 .fnl-cards,.fnl-cols-4 .fnl-cards{grid-template-columns:1fr 1fr}
  .fnl-list-item{grid-template-columns:110px 1fr;gap:12px}
  .fnl-list-item .fnl-title{font-size:15px}
  .fnl-kenh14-hot .fnl-title{font-size:18px}
  .fnl-kenh14-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .fnl-cards,.fnl-cols-2 .fnl-cards,.fnl-cols-3 .fnl-cards,.fnl-cols-4 .fnl-cards,
  .fnl-kenh14-grid{grid-template-columns:1fr}
  .fnl-list-item{grid-template-columns:96px 1fr}
}
@media (prefers-reduced-motion:reduce){
  .fnl-news *{transition:none!important}
}
