/* ==========================================================================
   Generic page fallback - assets/css/pages/page.css
   Scoped to index.php (legal pages, archives, search, unmatched routes).
   Prefix: .pg-  (prose lives in .pg-content)
   ========================================================================== */

.pg-main{padding-bottom:112px}

/* ---- Head block (title + updated label) ---- */
.pg-head{margin:0 0 42px}
.pg-head .v-eyebrow{margin-bottom:16px}
.pg-title{margin:0;font-family:var(--display);font-size:clamp(34px,4.6vw,54px);font-weight:700;
  letter-spacing:-.032em;line-height:1.06;color:var(--ink)}
.pg-updated{margin:16px 0 0;color:var(--faint)}
.pg-head-desc{margin-top:18px}

/* ---- Prose content ---- */
.pg-content{font-size:17px;line-height:1.78;color:var(--text)}
.pg-content>*:first-child{margin-top:0}
.pg-content p{margin:0 0 1.2em}
.pg-content h2{font-family:var(--display);font-size:clamp(24px,3vw,30px);font-weight:700;
  letter-spacing:-.022em;color:var(--ink);margin:2em 0 .65em}
.pg-content h3{font-family:var(--display);font-size:21px;font-weight:600;letter-spacing:-.015em;
  color:var(--ink);margin:1.7em 0 .55em}
.pg-content h4{font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink);
  margin:1.5em 0 .5em}
.pg-content strong{color:var(--ink);font-weight:600}
.pg-content a{color:var(--violet);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px}
.pg-content a:hover{color:var(--violet-d)}
.pg-content ul,.pg-content ol{margin:0 0 1.25em;padding-left:1.35em}
.pg-content ul{list-style:disc}
.pg-content ol{list-style:decimal}
.pg-content li{margin:.4em 0;padding-left:.15em}
.pg-content li::marker{color:var(--violet);font-weight:600}
.pg-content blockquote{margin:1.7em 0;padding:18px 24px;background:var(--paper-soft);
  border-left:3px solid var(--violet);border-radius:0 var(--r) var(--r) 0;color:var(--ink)}
.pg-content blockquote p:last-child{margin-bottom:0}
.pg-content code{font-family:var(--mono);font-size:.85em;background:var(--violet-tint);
  color:var(--violet-dd);padding:.14em .42em;border-radius:6px}
.pg-content img{max-width:100%;height:auto;border-radius:var(--r)}
.pg-content hr{height:22px;border:0;margin:2.2em 0;
  background:repeating-linear-gradient(90deg,var(--line-2) 0 10px,transparent 10px 20px) center/100% 2px no-repeat}
.pg-content table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:15px}
.pg-content th,.pg-content td{padding:11px 14px;border:1px solid var(--line);text-align:left;
  vertical-align:top}
.pg-content thead th{font-family:var(--display);font-size:12.5px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper-soft)}
.pg-content .page-links{margin:0 0 1.2em;font-family:var(--mono);font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---- Back-home footer on singular views ---- */
.pg-foot{margin-top:48px}
.pg-foot .v-perf{margin:0 0 28px}
.pg-back .v-arrow{transform:scaleX(-1)}
.pg-back:hover .v-arrow{transform:scaleX(-1) translateX(3px)}

/* ---- List items (archives / posts index / search) ---- */
.pg-item{padding:36px 0 40px;border-bottom:1px solid var(--line)}
.pg-item:last-of-type{border-bottom:0}
.pg-item-date{margin:0 0 12px;color:var(--faint)}
.pg-item-title{margin:0 0 12px;font-family:var(--display);font-size:clamp(22px,2.6vw,28px);
  font-weight:700;letter-spacing:-.02em;line-height:1.15}
.pg-item-title a{color:var(--ink)}
.pg-item-title a:hover{color:var(--violet)}
.pg-item-excerpt{margin-bottom:18px;font-size:16px;color:var(--muted)}
.pg-item-excerpt p{margin-bottom:0}

/* ---- Pagination ---- */
.pg-pagi{margin-top:50px}
.pg-pagi .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pg-pagi .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 14px;border:1px solid var(--line-2);border-radius:12px;
  font-family:var(--display);font-weight:600;font-size:14px;color:var(--text);
  transition:border-color .16s,color .16s}
.pg-pagi .page-numbers:hover{border-color:var(--violet);color:var(--violet)}
.pg-pagi .page-numbers.current{background:var(--violet);border-color:var(--violet);color:var(--paper)}
.pg-pagi .page-numbers.dots{border-color:transparent;color:var(--faint)}

/* ---- Empty state ---- */
.pg-empty{padding:48px 0 24px;text-align:center}
.pg-empty .v-eyebrow{margin-bottom:18px}
.pg-empty-note{max-width:460px;margin:18px auto 32px;color:var(--muted);font-size:17px;
  line-height:1.65}

/* ---- Responsive ---- */
@media(max-width:768px){
  .pg-main{padding-bottom:84px}
  .pg-head{margin-bottom:34px}
  .pg-item{padding:30px 0 34px}
}
@media(max-width:520px){
  .pg-main{padding-bottom:72px}
  .pg-content{font-size:16px}
  .pg-foot{margin-top:40px}
}

/* ---- Reduced motion - file-local transition: pagination hover ---- */
@media(prefers-reduced-motion:reduce){
  .pg-pagi .page-numbers{transition:none}
}
