/* «أخبار ومقالات» — one post page (news/*.html). Loaded after muasher-style.css
   and reuses its theme variables, buttons, .share-* menu and .news-card. */

.np-page {
  padding: 104px 8% 0;
  background: radial-gradient(ellipse 70% 460px at 72% 0, rgba(27, 80, 200, .24), transparent 72%), var(--dark)
}

.np-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
  grid-template-areas: "head media" "body media";
  gap: 0 64px;
  align-items: start;
  max-width: 1160px;
  margin: 0 auto
}

/* ── Head ── */
.np-head { grid-area: head }

.np-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  list-style: none;
  font-size: .84rem;
  color: rgba(255, 255, 255, .65);
  margin-bottom: 22px
}

.np-crumbs a {
  color: inherit;
  text-decoration: none
}

.np-crumbs a:hover { color: #fff }

.np-crumbs li + li::before {
  content: '‹';
  margin-inline-end: 6px;
  color: rgba(255, 255, 255, .4)
}

.np-head h1 {
  font-size: clamp(1.65rem, 3.1vw, 2.45rem);
  font-weight: 900;
  line-height: 1.38;
  margin-bottom: 18px
}

.np-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 18px;
  padding-bottom: 22px;
  margin-bottom: 26px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  font-size: .9rem;
  color: rgba(255, 255, 255, .7)
}

.np-meta span,
.np-meta time {
  display: inline-flex;
  align-items: center;
  gap: 7px
}

.np-meta svg { color: #8FB8FF; flex-shrink: 0 }

/* ── Body ── */
.np-body {
  grid-area: body;
  min-width: 0;
  padding-bottom: 8px
}

.np-text {
  font-size: 1.08rem;
  line-height: 2;
  color: rgba(255, 255, 255, .88)
}

.np-text p { margin-bottom: 16px }

.np-text .np-lead {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.9;
  color: #fff
}

.np-list {
  list-style: none;
  margin: 4px 0 22px;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(27, 80, 200, .3);
  border-radius: 14px
}

.np-list li {
  display: flex;
  gap: 12px;
  align-items: baseline;
  padding: 13px 18px;
  line-height: 1.75
}

.np-list li + li { border-top: 1px solid rgba(255, 255, 255, .07) }

.np-mark { flex-shrink: 0 }

.np-play {
  display: inline-block;
  margin-top: 4px
}

/* ── Hashtags ── */
.np-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
  margin: 26px 0 28px
}

.np-tags li {
  padding: 3px 11px;
  font-size: .8rem;
  font-weight: 600;
  color: #A9C8FF;
  background: rgba(27, 80, 200, .14);
  border: 1px solid rgba(27, 80, 200, .34);
  border-radius: 50px
}

/* ── Actions ── */
.np-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.np-actions .btn-primary,
.np-actions .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 24px;
  font-size: .95rem
}

.np-actions button.btn-primary {
  border: none;
  cursor: pointer;
  font-family: inherit
}

/* Opens from the button's start edge so it stays inside the text column. */
.np-actions .share-menu {
  inset-inline-end: auto;
  inset-inline-start: 0
}

/* ── Media: every LinkedIn visual so far is square, so it sits beside the text
      instead of pushing it below the fold, and stays in view while reading. ── */
.np-media {
  grid-area: media;
  position: sticky;
  top: 98px
}

.np-frame {
  border-radius: 16px;
  overflow: hidden;
  background: var(--darker);
  border: 1px solid rgba(27, 80, 200, .3);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .35)
}

.np-frame video,
.np-frame img {
  display: block;
  width: 100%;
  height: auto
}

.np-media figcaption {
  margin-top: 10px;
  font-size: .82rem;
  color: rgba(255, 255, 255, .62);
  text-align: center
}

/* ── Call to action ── */
.np-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 40px;
  max-width: 1160px;
  margin: 56px auto 0;
  padding: 28px 34px;
  border-radius: 18px;
  background: linear-gradient(115deg, rgba(27, 80, 200, .34), rgba(27, 80, 200, .1));
  border: 1px solid rgba(77, 141, 245, .34)
}

.np-cta h2 {
  font-size: 1.3rem;
  font-weight: 800;
  margin-bottom: 4px
}

.np-cta p {
  color: rgba(255, 255, 255, .78);
  font-size: .95rem;
  line-height: 1.8
}

.np-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

.np-cta-btns a {
  padding: 11px 22px;
  font-size: .92rem
}

/* ── Related posts ── */
.np-related {
  max-width: 1160px;
  margin: 0 auto;
  padding: 56px 0 72px
}

.np-related > h2 {
  font-size: 1.3rem;
  font-weight: 800;
  margin-bottom: 20px
}

.np-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px
}

.np-cards .news-card {
  direction: inherit
}

.np-cards .news-card-img {
  height: auto;
  aspect-ratio: 16 / 9
}

.np-cards .news-title { font-size: 1rem }

.np-cards .news-desc {
  font-size: .86rem;
  color: rgba(255, 255, 255, .66)
}

/* ── Archive ── */
.np-archive-head,
.np-archive {
  max-width: 1160px;
  margin: 0 auto
}

.np-archive-head { padding-top: 6px }

.np-archive-head h1 {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  font-weight: 900;
  margin-bottom: 8px
}

.np-archive-head p {
  color: rgba(255, 255, 255, .72);
  font-size: 1.05rem;
  line-height: 1.8
}

.np-archive { padding: 34px 0 80px }

/* Shown in steps by assets/news-archive.js */
.np-cards .np-later { display: none }

.np-reveal { animation: npReveal .5s ease backwards }

@keyframes npReveal {
  from {
    opacity: 0;
    transform: translateY(22px)
  }
}

.np-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 34px
}

.np-more[hidden],
.np-more button[hidden] { display: none }

.np-count {
  color: rgba(255, 255, 255, .68);
  font-size: .9rem
}

.np-more button {
  background: none;
  cursor: pointer;
  font-family: inherit
}

/* ── English posts ── */
[dir="ltr"] .np-crumbs li + li::before { content: '›' }

@media (max-width: 960px) {
  .np-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head" "media" "body"
  }

  .np-media {
    position: static;
    width: min(100%, 520px);
    margin: 0 auto 28px
  }

  .np-cards { grid-template-columns: 1fr 1fr }
  .np-related .news-card:nth-child(3) { display: none }
}

@media (max-width: 620px) {
  .np-page { padding: 92px 5% 0 }
  .np-cards { grid-template-columns: 1fr }
  .np-related .news-card:nth-child(3) { display: flex }
  .np-actions > * { flex: 1 1 100% }
  .np-actions .share-wrap .btn-primary { width: 100% }
  .np-cta { padding: 24px 20px }
  .np-cta-btns a { flex: 1 1 auto; text-align: center }
}
