/* Pulse Grid — digital newsroom, cards & bento */
.pv-root.pv-pulse { --bg: #f0f2f7; --ink: #121826; --muted: #5a6478; --card: #fff; --accent: #2563eb; --accent2: #7c3aed; --radius: 14px; font-family: Mada, Cairo, sans-serif; background: var(--bg); color: var(--ink); margin: 0; line-height: 1.6; }
.pv-pulse *, .pv-pulse *::before, .pv-pulse *::after { box-sizing: border-box; }
.pv-pulse img, .pv-pulse video { max-width: 100%; display: block; height: auto; }
.pv-pulse .pv-skip { position: absolute; left: -9999px; }
.pv-pulse .pv-skip:focus { position: fixed; z-index: 10000; left: 1rem; top: 1rem; padding: .5rem 1rem; background: var(--ink); color: #fff; }
.pv-pulse .pv-preview-banner { background: linear-gradient(90deg, var(--accent), var(--accent2)); color: #fff; padding: .4rem 1rem; text-align: center; font-size: .78rem; }
.pv-pulse .pv-preview-banner a { color: #e0e7ff; margin: 0 .5rem; }
.pv-pulse .pt-strip--pulse { background: #1e293b; color: #e2e8f0; padding: .45rem 0; overflow: hidden; }
.pv-pulse .pt-strip__badge { display: inline-block; background: var(--accent); color: #fff; font-size: .65rem; font-weight: 800; padding: .2rem .6rem; border-radius: 4px; margin: 0 .75rem; vertical-align: middle; font-family: Changa, sans-serif; }
.pv-pulse .pt-strip__track { display: flex; flex-wrap: nowrap; gap: .75rem; padding: 0 1rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; white-space: nowrap; }
.pv-pulse .pt-strip__link { color: #fff; text-decoration: none; font-size: .85rem; }
.pv-pulse .pt-strip__dot { opacity: .4; }
.pv-head--pulse { background: var(--card); box-shadow: 0 8px 32px rgba(18,24,38,.08); }
.pv-head__bar { max-width: 1200px; margin: 0 auto; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; }
.pv-pulse .pv-logo img { height: 42px; width: auto; }
.pv-pulse .pv-nav-toggle { display: none; background: var(--accent); color: #fff; border: 0; width: 42px; height: 42px; border-radius: 10px; cursor: pointer; font-size: 1.2rem; }
.pv-chips { max-width: 1200px; margin: 0 auto; padding: 0 1rem 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.pv-chip { display: inline-block; padding: .4rem .9rem; border-radius: 999px; background: #e8ecf4; color: var(--ink); text-decoration: none; font-size: .82rem; font-weight: 600; font-family: Changa, sans-serif; border: 1px solid transparent; }
.pv-chip:hover { border-color: var(--accent); color: var(--accent); }
.pv-chip--home { background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #fff; }
.pv-chip--home:hover { color: #fff; opacity: .9; }
.pv-bento { padding: 1rem; max-width: 1200px; margin: 0 auto; }
.pv-bento__grid { display: grid; gap: .75rem; grid-template-columns: 1fr; grid-template-areas: "a" "b" "c" "d"; min-height: 420px; }
@media (min-width: 800px) {
  .pv-bento__grid { grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 1fr 1fr; grid-template-areas: "a b c" "a b d"; min-height: 380px; }
}
.pv-bento__cell { border-radius: var(--radius); overflow: hidden; position: relative; background: #1e293b; }
.pv-bento__cell--a { grid-area: a; min-height: 280px; }
.pv-bento__cell--b { grid-area: b; }
.pv-bento__cell--c { grid-area: c; }
.pv-bento__cell--d { grid-area: d; }
.pv-bento__link { display: block; height: 100%; min-height: 140px; position: relative; color: #fff; text-decoration: none; }
.pv-bento__link img, .pv-bento__link video { width: 100%; height: 100%; object-fit: cover; min-height: 140px; }
.pv-bento__cap { position: absolute; inset: 0; background: linear-gradient(transparent 20%, rgba(0,0,0,.85)); display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; }
.pv-bento__cap span { font-size: .7rem; font-weight: 700; color: #93c5fd; text-transform: uppercase; letter-spacing: .05em; }
.pv-bento__cap h2 { margin: .35rem 0 0; font-size: clamp(1.1rem, 2.5vw, 1.45rem); line-height: 1.25; font-family: Changa, sans-serif; }
.pv-bento__cap h3 { margin: 0; font-size: .92rem; line-height: 1.3; font-family: Changa, sans-serif; }
.pv-pulse-title { font-family: Changa, sans-serif; font-size: 1.25rem; margin: 0 0 1rem; }
.pv-pulse-cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pv-pcard { background: var(--card); border-radius: var(--radius); overflow: hidden; box-shadow: 0 4px 20px rgba(18,24,38,.06); border: 1px solid #e2e8f0; }
.pv-pcard__media { aspect-ratio: 16/10; overflow: hidden; display: block; }
.pv-pcard__media img, .pv-pcard__media video { width: 100%; height: 100%; object-fit: cover; }
.pv-pcard__body { padding: 1rem; }
.pv-pcard__cat { font-size: .7rem; font-weight: 700; color: var(--accent); text-transform: uppercase; }
.pv-pcard h3 { margin: .4rem 0; font-size: .98rem; line-height: 1.35; }
.pv-pcard h3 a { color: var(--ink); text-decoration: none; }
.pv-pcard h3 a:hover { color: var(--accent); }
.pv-pcard time { font-size: .78rem; color: var(--muted); }
.pv-pulse .pagination-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; }
.pv-pulse .pagination-link { padding: .45rem .75rem; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff; text-decoration: none; color: var(--ink); }
.pv-pulse .pagination-item.is-active .pagination-link { background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #fff; border-color: transparent; }
.pv-pulse .pagination-meta { text-align: center; color: var(--muted); font-size: .85rem; }
.pv-pulse .pv-article-title { font-family: Changa, sans-serif; }
.pv-pulse .pv-cat { color: var(--accent); }
.pv-pulse .pv-pill--urgent { background: var(--accent2); }
.pv-pulse .pv-disclaimer { background: #ede9fe; border-radius: var(--radius); border: 1px solid #ddd6fe; }
.pv-foot--pulse { text-align: center; padding: 2rem 1rem; background: var(--card); margin-top: 2rem; border-top: 1px solid #e2e8f0; }
.pv-pulse .pv-page-head h1 { font-family: Changa, sans-serif; }
.pv-pulse .pv-search-form input { border-radius: var(--radius); border: 1px solid #e2e8f0; }
.pv-pulse .pv-search-form button { border-radius: var(--radius); background: linear-gradient(135deg, var(--accent), var(--accent2)); border: 0; color: #fff; font-weight: 700; }
@media (max-width: 768px) {
  .pv-pulse .pv-nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .pv-chips { display: none; flex-direction: column; }
  .pv-chips.is-open { display: flex; }
}
/* Reuse aurora structural classes for category/archive/search in pulse copies */
.pv-pulse .pv-section { padding: 1rem 0; }
.pv-pulse .pv-card h2 a:hover { color: var(--accent); }
.pv-pulse .pv-feed-row__cat { color: var(--accent); }
.pv-pulse .pv-feed-row h3 a:hover { color: var(--accent); }
.pv-pulse .pv-filter button { background: var(--accent); border-radius: var(--radius); }
.pv-pulse .pv-container--article { max-width: 800px; margin: 0 auto; padding: 2rem 1rem; }
.pv-pulse .pv-container { max-width: 1200px; margin: 0 auto; }
.pv-pulse .pv-page-head { margin-bottom: 1.25rem; }
.pv-pulse .pv-page-head h1 { font-size: clamp(1.35rem, 3vw, 1.75rem); }
.pv-pulse .pv-subnav a { color: var(--accent); }
.pv-pulse .pv-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pv-pulse .pv-card { background: var(--card); border-radius: var(--radius); overflow: hidden; border: 1px solid #e2e8f0; box-shadow: 0 4px 16px rgba(18,24,38,.05); }
.pv-pulse .pv-card__media { aspect-ratio: 16/10; overflow: hidden; display: block; }
.pv-pulse .pv-card__media img, .pv-pulse .pv-card__media video { width: 100%; height: 100%; object-fit: cover; }
.pv-pulse .pv-card__body { padding: 1rem; }
.pv-pulse .pv-card h2 { margin: 0; font-size: .95rem; }
.pv-pulse .pv-card h2 a { color: var(--ink); text-decoration: none; }
.pv-pulse .pv-feed-row { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e2e8f0; align-items: start; }
@media (max-width: 560px) { .pv-pulse .pv-feed-row { grid-template-columns: 1fr; } }
.pv-pulse .pv-feed-row__thumb { border-radius: 10px; overflow: hidden; aspect-ratio: 4/3; }
.pv-pulse .pv-feed-row__thumb img, .pv-pulse .pv-feed-row__thumb video { width: 100%; height: 100%; object-fit: cover; }
.pv-pulse .pv-feed-row h3 { margin: .35rem 0; font-size: 1rem; }
.pv-pulse .pv-feed-row h3 a { color: var(--ink); text-decoration: none; }
.pv-pulse .pv-filter { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; margin-top: 1rem; }
.pv-pulse .pv-filter label { display: flex; flex-direction: column; gap: .25rem; font-size: .85rem; }
.pv-pulse .pv-filter input { padding: .45rem .6rem; border: 1px solid #e2e8f0; border-radius: 8px; font-family: inherit; }
.pv-pulse .pv-timeline { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.pv-pulse .pv-timeline a { font-size: .82rem; padding: .35rem .65rem; border-radius: 8px; background: #fff; border: 1px solid #e2e8f0; text-decoration: none; color: var(--ink); }
.pv-pulse .pv-search-form { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .75rem; }
.pv-pulse .pv-search-form input { flex: 1; min-width: 200px; padding: .55rem 1rem; font-family: inherit; }
.pv-pulse .pv-empty { color: var(--muted); }
.pv-pulse .pv-pagination-wrap { margin-top: 1.5rem; }
