/* =========================================================
   AMF THEME — supplemental styles & WordPress core overrides
   ========================================================= */

/* ── WordPress core alignment ──────────────────────────── */
.alignleft  { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { text-align: center; margin: 0 auto 16px; display: block; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .85rem; color: var(--amf-text-light); margin-top: 6px; }

/* ── Entry content typography ──────────────────────────── */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 { margin: 32px 0 14px; }
.entry-content p  { margin-bottom: 20px; }
.entry-content ul,
.entry-content ol { margin: 0 0 20px 24px; list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li { margin-bottom: 8px; line-height: 1.7; }
.entry-content blockquote {
  border-left: 4px solid var(--amf-green);
  padding: 16px 24px;
  margin: 24px 0;
  background: var(--amf-cream);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-style: italic;
  color: var(--amf-text-light);
}
.entry-content a { color: var(--amf-green); text-decoration: underline; }
.entry-content a:hover { color: var(--amf-green-dark); }
.entry-content img { border-radius: var(--radius-md); }
.entry-content table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.entry-content th { background: var(--amf-navy); color: white; padding: 10px 14px; text-align: left; }
.entry-content td { padding: 10px 14px; border-bottom: 1px solid var(--amf-border); }
.entry-content tr:hover td { background: var(--amf-cream); }

/* ── Gutenberg blocks reset ─────────────────────────────── */
.wp-block-button__link {
  background: var(--amf-green) !important;
  border-radius: var(--radius-md) !important;
  font-weight: 600 !important;
}

/* ── Hero section — wave divider ────────────────────────── */
.hero-wave {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  line-height: 0;
}
.hero-wave svg { display: block; width: 100%; }

/* ── Animated stats counter ─────────────────────────────── */
@keyframes countUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-stat { animation: countUp .6s ease backwards; }
.hero-stat:nth-child(1) { animation-delay: .3s; }
.hero-stat:nth-child(2) { animation-delay: .45s; }
.hero-stat:nth-child(3) { animation-delay: .6s; }

/* ── Loading spinner ────────────────────────────────────── */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner {
  width: 20px; height: 20px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  display: inline-block;
  vertical-align: middle;
}

/* ── Accessibility focus styles ─────────────────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--amf-green);
  outline-offset: 2px;
}

/* ── Print styles ───────────────────────────────────────── */
@media print {
  .site-header, .site-footer, .hero-actions, .contact-form { display: none; }
  body { font-size: 12pt; color: #000; }
}
