/* ==========================================================================
   ENAF Theme — 3. Base (fonts, typography, links, forms, WP core classes)
   ========================================================================== */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/inter-variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url("../fonts/plus-jakarta-sans-variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-text);
  background: var(--color-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-snug);
  color: var(--color-text);
  text-wrap: balance;
}
h1 { font-size: var(--text-h1); line-height: var(--leading-tight); letter-spacing: var(--tracking-tight); }
h2 { font-size: var(--text-h2); letter-spacing: var(--tracking-tight); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-h4); }
h5, h6 { font-size: var(--text-body); }

p { max-width: var(--measure); }
p + p { margin-top: var(--space-4); }
.lead { font-size: var(--text-lead); line-height: var(--leading-normal); color: var(--color-text-secondary); }
small, .small { font-size: var(--text-small); }
.meta { font-size: var(--text-meta); color: var(--color-text-muted); letter-spacing: var(--tracking-normal); }
strong, b { font-weight: 600; }
blockquote { font-family: var(--font-display); font-size: var(--text-h3); font-weight: 600; line-height: var(--leading-snug); letter-spacing: var(--tracking-snug); }
hr { border: 0; border-top: 1px solid var(--color-border); margin: var(--space-6) 0; }

a { color: var(--color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; transition: color var(--dur-fast) var(--ease-out); }
a:hover { color: var(--color-primary-dark); }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; border-radius: var(--radius-xs); }
.on-dark :focus-visible, .is-dark :focus-visible { outline-color: var(--color-text-on-dark); }

::selection { background: var(--color-primary); color: var(--color-on-primary); }

/* Rich text (the_content) */
.prose > * + * { margin-top: var(--space-5); }
.prose h2, .prose h3, .prose h4 { margin-top: var(--space-8); }
.prose h2 + *, .prose h3 + *, .prose h4 + * { margin-top: var(--space-4); }
.prose ul, .prose ol { padding-left: 1.25em; max-width: var(--measure); }
.prose li + li { margin-top: var(--space-2); }
.prose img { border-radius: var(--radius); }
.prose figcaption { font-size: var(--text-meta); color: var(--color-text-muted); margin-top: var(--space-2); }
.prose blockquote { border-left: 3px solid var(--color-primary); padding-left: var(--space-5); color: var(--color-primary-deep); }
.prose table { font-size: var(--text-small); }
.prose th, .prose td { text-align: left; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-border); }
.prose th { font-weight: 600; }

/* Forms */
.field { display: grid; gap: var(--space-2); }
.field label { font-size: var(--text-small); font-weight: 600; }
.field .hint { font-size: var(--text-meta); color: var(--color-text-muted); }
.input, .textarea, .select {
  width: 100%;
  padding: 0.85rem 1rem;
  font-size: var(--text-body);
  color: var(--color-text);
  background: var(--color-bg);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.input:hover, .textarea:hover, .select:hover { border-color: var(--color-text-muted); }
.input:focus-visible, .textarea:focus-visible, .select:focus-visible { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-tint-2); outline: none; }
.textarea { min-height: 10rem; resize: vertical; }
.input[aria-invalid="true"], .textarea[aria-invalid="true"] { border-color: var(--color-error); }
.form-note { font-size: var(--text-small); color: var(--color-text-secondary); }
.form-status { padding: var(--space-4); border-radius: var(--radius-sm); font-size: var(--text-small); }
.form-status--success { background: var(--color-primary-tint); color: var(--color-success); }
.form-status--error { background: var(--color-accent-soft); color: var(--color-error); }
.form-status--warning { background: var(--color-accent-soft); color: var(--color-warning); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* WordPress core */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: static !important; width: auto; height: auto; margin: 0; padding: var(--space-3) var(--space-4); clip: auto; background: var(--color-bg); color: var(--color-primary); }
.alignwide { width: min(var(--container-wide), 100%); margin-inline: auto; }
.alignfull { width: 100%; }
.aligncenter { margin-inline: auto; }
.alignleft { float: left; margin: 0 var(--space-5) var(--space-4) 0; }
.alignright { float: right; margin: 0 0 var(--space-4) var(--space-5); }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: var(--text-meta); color: var(--color-text-muted); margin-top: var(--space-2); }
.sticky { position: relative; }
.bypostauthor { position: relative; }
.gallery-caption { font-size: var(--text-meta); }
