/*
 * File: public_html/assets/css/theme.css
 * File Version: 1
 * History: V1 20260620-1218  Shared theme tokens + keyframes + base (v0.3.0)
 *
 * Tokens are the locked blue theme from handoff section 3. Keyframes and the
 * shared rules below are lifted verbatim from the <style> blocks in the
 * approved .dc.html sources. Per-element inline styles stay inline in the
 * templates; this file only holds what was already in <style> blocks.
 */

:root {
  --c-primary: #2563eb;
  --c-primary-dark: #1d4ed8;
  --c-primary-soft: #eff6ff;
  --c-accent: #f59e0b;
  --c-accent2: #fb7185;
  --c-accent3: #10b981;
  --c-band-from: #2563eb;
  --c-band-to: #1d4ed8;
  --c-ink: #1e293b;
  --c-muted: #64748b;
  --c-soft: #f8fafc;
  --c-border: #e7ecf3;
  --font-head: 'Outfit', sans-serif;
  --font-body: 'DM Sans', sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--c-ink);
  background: #ffffff;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ---- keyframes (kept per handoff section 3) ---- */
@keyframes pta-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pta-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 70% { transform: scale(.92); } 100% { transform: scale(1); } }
@keyframes pta-rise { 0% { opacity: 0; transform: translateY(6px) scale(.6); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-34px) scale(1.1); } }
@keyframes pta-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* ---- nav (from Nav.dc.html / Home.dc.html style blocks) ---- */
.pta-nav::-webkit-scrollbar { height: 0; }
.pta-nav a:hover { background: var(--c-primary, #2563eb) !important; color: #fff !important; }
.pta-nav a:hover svg { stroke: #fff !important; }
@media (max-width: 1040px) {
  .pta-head-inner { flex-wrap: wrap; }
  .pta-nav { order: 3; flex-basis: 100% !important; justify-content: flex-start !important; margin-top: 2px; padding-bottom: 2px; }
}

/* ---- events filter strip (from Events.dc.html) ---- */
.pta-filters::-webkit-scrollbar { height: 0; }

/* ---- documents donate tooltip (from Documents.dc.html) ---- */
.donate-wrap { position: relative; display: inline-flex; }
.donate-tip { position: absolute; top: calc(100% + 10px); right: 0; width: max-content; max-width: 240px; padding: 9px 12px; background: #0f172a; color: #fff; font-size: 12.5px; font-weight: 500; line-height: 1.45; border-radius: 10px; box-shadow: 0 14px 32px -14px rgba(15,23,42,.6); opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity .18s, transform .18s; z-index: 60; }
.donate-tip::after { content: ''; position: absolute; bottom: 100%; right: 18px; border: 6px solid transparent; border-bottom-color: #0f172a; }
.donate-wrap:hover .donate-tip, .donate-wrap:focus-within .donate-tip { opacity: 1; transform: translateY(0); }

/* ---- partner profile print (from Partner.dc.html) ---- */
@media print {
  header, footer, .no-print, iframe { display: none !important; }
  body { background: #fff; }
}

/* ---- reduced motion (from Home.dc.html) ---- */
@media (prefers-reduced-motion: reduce) {
  .pta-marquee-track { animation: none !important; }
  .pta-pop { animation: none !important; }
}
