/*
 * 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.
 */

/* Design tokens now live in tokens.css, which is loaded before this file
   so that the admin panel can share them. Do not re-declare :root here. */

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--c-ink);
  background: var(--c-soft);
  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) !important; color: var(--c-on-fill) !important; }
.pta-nav a:hover svg { stroke: var(--c-on-fill) !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: var(--c-ink-900); color: var(--c-on-fill); font-size: 12.5px; font-weight: 500; line-height: 1.45; border-radius: 10px; 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: var(--c-ink-900); }
.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 {
  /* The blue contact strip sits above <header> and had no class of its own,
     so nothing could hide it and it printed on every sheet. */
  header, footer, .no-print, .pta-topbar, 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; }
}

/* ------------------------------------------------------------------
   Hover lifts (v0.29.0)

   These used to be inline onmouseover/onmouseout attributes. The
   Content-Security-Policy no longer allows inline event handlers, and a
   hover effect is presentation anyway — it belongs here, not in markup.
   ------------------------------------------------------------------ */
.esb-lift, .esb-lift-lg, .esb-lift-gold { transition: border-color .15s, transform .15s; }
/* Hover feedback comes from the border and a small rise — never a glow.
   These used to raise a box-shadow, which is the halo effect banned across
   AguiCorp projects (v0.31.0). */
.esb-lift:hover, .esb-lift-lg:hover { border-color: var(--c-primary); transform: translateY(-1px); }
.esb-lift-gold:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .pta-marquee-track { animation: none !important; }
  .pta-pop { animation: none !important; }
}

/* ------------------------------------------------------------------
   Hover lifts (v0.29.0)

   These used to be inline onmouseover/onmouseout attributes. The
   Content-Security-Policy no longer allows inline event handlers, and a
   hover effect is presentation anyway — it belongs here, not in markup.
   ------------------------------------------------------------------ */
.esb-lift { transition: box-shadow .15s, transform .15s; }
.esb-lift:hover { transform: translateY(-1px); }
.esb-lift-lg:hover { transform: translateY(-1px); }
.esb-lift-gold { transition: box-shadow .15s, transform .15s; }
.esb-lift-gold:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .esb-lift, .esb-lift-lg, .esb-lift-gold { transition: none; }
  .esb-lift:hover, .esb-lift-lg:hover, .esb-lift-gold:hover { transform: none; }
}
