
/* NM News Magazine Homepage – minimal, clean, magazine vibe */
.nm-magazine{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: block;
}

.nm-featured{
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: var(--nm-gap);
  margin-bottom: calc(var(--nm-gap) * 1.25);
}

@media (max-width: 860px){
  .nm-featured{ grid-template-columns: 1fr; }
}

/* Featured tiles (image-first, no big white blocks) */
.nm-tile{
  position: relative;
  border-radius: var(--nm-radius);
  overflow: hidden;
  border: 1px solid var(--nm-border);
  box-shadow: 0 10px 26px rgba(0,0,0,0.10);
  background: #111;
}

.nm-tile__link{
  display: block;
  text-decoration: none;
  color: #fff;
}

.nm-tile__media{
  position: relative;
  overflow: hidden;
}

.nm-tile__img{
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.nm-tile__placeholder{
  width: 100%;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(1000px 500px at 20% 20%, color-mix(in srgb, var(--nm-accent) 50%, #111) 0%, transparent 55%),
    radial-gradient(900px 500px at 85% 30%, color-mix(in srgb, var(--nm-accent) 30%, #111) 0%, transparent 60%),
    linear-gradient(135deg, #101010 0%, #1b1b1b 40%, #0f0f0f 100%);
}

.nm-tile__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.82) 100%);
}

.nm-tile__content{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 16px 14px 16px;
}

.nm-tile__kicker{
  display: inline-block;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 800;
  margin-bottom: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--nm-accent) 70%, rgba(0,0,0,0.3));
}

.nm-tile__title{
  margin: 0 0 8px 0;
  line-height: 1.12;
  font-weight: 800;
  color: #fff;
}

.nm-tile__meta{
  font-size: 12px;
  color: rgba(255,255,255,0.85);
}

.nm-tile__excerpt{
  margin: 10px 0 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,0.92);
}

/* Featured composition */
.nm-featured__side{
  display: flex;
  flex-direction: column;
  gap: var(--nm-gap);
}

/* Keep featured titles consistent (post 1 same as 2 & 3) */
.nm-tile--main .nm-tile__title{ font-size: 18px; }
.nm-tile--side .nm-tile__title{ font-size: 18px; }

/* Mobile readability: reduce title sizes so they never clip */
@media (max-width: 520px){
  .nm-tile__content{ padding: 12px 12px 12px 12px; }
  .nm-tile__kicker{ font-size: 11px; padding: 3px 8px; margin-bottom: 6px; }
  .nm-tile--main .nm-tile__title{ font-size: 16px; line-height: 1.18; }
  .nm-tile--side .nm-tile__title{ font-size: 16px; line-height: 1.18; }
  .nm-tile__excerpt{ font-size: 13px; }
}

@media (max-width: 360px){
  .nm-tile--main .nm-tile__title{ font-size: 15px; }
  .nm-tile--side .nm-tile__title{ font-size: 15px; }
}

.nm-tile--side .nm-tile__img,
.nm-tile--side .nm-tile__placeholder{ aspect-ratio: 16 / 10; }

.nm-tile:hover{
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--nm-accent) 55%, var(--nm-border));
}

.nm-tile:hover .nm-tile__title{
  color: #fff;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--nm-accent) 85%, #fff);
  text-underline-offset: 3px;
}

/* List */
.nm-list{
  border-top: 1px solid var(--nm-border);
  padding-top: var(--nm-gap);
}

.nm-list__day{
  margin: 18px 0 10px 0;
  font-size: 14px;
  color: var(--nm-title);
  letter-spacing: .02em;
}

.nm-list__item{
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  padding: 10px 10px;
  border-radius: 12px;
}

@media (max-width: 520px){
  .nm-list__item{ grid-template-columns: 80px 1fr; }
}

.nm-list__item + .nm-list__item{
  border-top: 1px dashed var(--nm-border);
}

.nm-list__when{
  color: var(--nm-meta);
  font-size: 12px;
  white-space: nowrap;
  padding-top: 2px;
}

.nm-list__title{
  color: var(--nm-title);
  text-decoration: none;
  font-weight: 600;
  line-height: 1.25;
}

.nm-list__item:hover{
  background: color-mix(in srgb, var(--nm-accent) 6%, transparent);
}

.nm-list__item:hover .nm-list__title{
  color: var(--nm-accent);
  text-decoration: underline;
}
