/*
Theme Name: Wulfcræft
Theme URI: https://wulfcraeft.com
Author: Wulfcræft
Description: Anglo-Saxon history & literature — custom theme faithfully porting the Wulfcræft site design. Dark hall, gold thread, Garamond voices.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: wulfcraeft
*/

html { scroll-behavior: auto; }
body { margin: 0; background: #141210; color: #e6dfd1; font-family: 'EB Garamond', Georgia, serif; -webkit-font-smoothing: antialiased; }
a { color: #c19a5b; text-decoration: none; }
a:hover { color: #d8b57a; }
::selection { background: #c19a5b; color: #141210; }
@keyframes wfFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 820px) {
  .wf-nav { flex-wrap: wrap !important; height: auto !important; padding: 14px 20px 12px !important; row-gap: 10px !important; }
  .wf-mark { font-size: 17px !important; }
  .wf-navlinks { width: 100% !important; justify-content: space-between !important; gap: 8px !important; }
  .wf-navlinks a { font-size: 11px !important; letter-spacing: .16em !important; }
  .wf-page { padding-top: 104px !important; }
  .wf-pad { padding-left: 20px !important; padding-right: 20px !important; }
  .wf-sec { padding-top: 72px !important; padding-bottom: 64px !important; }
  .wf-heropad { padding: 0 20px 64px !important; }
  .wf-split { grid-template-columns: 1fr !important; gap: 0 !important; }
  .wf-split2 { grid-template-columns: 1fr !important; gap: 40px !important; }
  .wf-essaytxt { padding: 48px 20px 64px !important; }
  .wf-essayimg { min-height: 380px !important; }
  .wf-aboutimg { min-height: 420px !important; }
  .wf-footgrid { grid-template-columns: 1fr !important; gap: 36px !important; }
}

/* ---------- Essay body typography ----------
   Applies to post content so essays written in the editor
   (plain paragraphs/headings) match the imported design. */
.wf-essay { max-width: 680px; margin: 0 auto; font-size: 19.5px; line-height: 1.78; color: rgba(230,223,209,.86); display: flex; flex-direction: column; gap: 26px; }
.wf-essay p { margin: 0; }
.wf-essay h2 { font-family: 'Cormorant Garamond', serif; font-weight: 400; font-size: 28px; margin: 6px 0 0; color: #f0e9da; }
.wf-essay h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 23px; margin: 6px 0 0; color: #f0e9da; }
.wf-essay a { border-bottom: 1px solid rgba(193,154,91,.45); }
.wf-essay img { max-width: 100%; height: auto; }
.wf-essay .has-drop-cap:first-letter,
.wf-essay p.wf-dropcap:first-letter { font-family: 'Cormorant Garamond', serif; font-size: 68px; line-height: .82; float: left; padding: 8px 12px 0 0; color: #c19a5b; }
.wf-essay blockquote { margin: 4px 0; padding: 0 0 0 28px; border-left: 2px solid #c19a5b; }
.wf-essay blockquote p { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 22px; line-height: 1.55; color: #ded6c4; }
.wf-essay blockquote cite { display: block; margin-top: 10px; font-style: normal; font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; color: #c19a5b; }

/* Reusable essay blocks (block patterns) */
.wf-kicker { font-size: 12.5px; letter-spacing: .28em; text-transform: uppercase; color: #c19a5b; margin-bottom: 14px; }
.wf-aside { border-top: 1px solid rgba(193,154,91,.4); border-bottom: 1px solid rgba(193,154,91,.4); padding: 26px 0; margin-bottom: 8px; }
.wf-aside p { margin: 0; font-size: 17.5px; line-height: 1.7; color: rgba(230,223,209,.75); }
.wf-scholars-note { margin: 4px 0; padding: 26px 0 0; border-top: 1px solid rgba(193,154,91,.4); }
.wf-scholars-note p { margin: 0; font-size: 17.5px; line-height: 1.7; color: rgba(230,223,209,.75); }
.wf-further-reading { margin-top: 4px; border-top: 1px solid rgba(230,223,209,.12); padding-top: 30px; }
.wf-further-reading .wf-kicker { margin-bottom: 18px; }
.wf-further-reading > div, .wf-further-reading li { font-size: 16px; line-height: 1.6; color: rgba(230,223,209,.65); margin-bottom: 12px; }
.wf-further-reading ul { list-style: none; margin: 0; padding: 0; }
.wf-divider { display: flex; align-items: center; gap: 18px; margin: 14px 0; }
.wf-divider::before, .wf-divider::after { content: ""; flex: 1; height: 1px; background: rgba(193,154,91,.35); }
.wf-divider span { font-family: 'Cormorant Garamond', serif; font-size: 22px; color: #c19a5b; }
.wf-bigline { font-family: 'Cormorant Garamond', serif; font-size: 26px; color: #f0e9da; }

/* ---------- Comments ---------- */
.wf-comments { border-top: 1px solid rgba(230,223,209,.12); padding-top: 40px; }
.wf-comments-title { font-size: 12.5px; letter-spacing: .28em; text-transform: uppercase; color: #c19a5b; margin-bottom: 24px; }
.wf-comments-empty { margin: 0 0 28px; font-size: 15.5px; line-height: 1.6; color: rgba(230,223,209,.45); font-style: italic; }
.wf-comment-list { list-style: none; margin: 0; padding: 0; }
.wf-comment-list li { padding: 18px 0; border-bottom: 1px solid rgba(230,223,209,.1); }
.wf-comment-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.wf-comment-author { font-family: 'EB Garamond', serif; font-weight: 600; font-size: 15.5px; color: #ece5d6; font-style: normal; }
.wf-comment-date { font-size: 12px; letter-spacing: .05em; color: rgba(230,223,209,.4); }
.wf-comment-body { margin-top: 6px; }
.wf-comment-body p { margin: 0; font-size: 16px; line-height: 1.65; color: rgba(230,223,209,.78); }
.wf-comment-awaiting { font-size: 13px; font-style: italic; color: rgba(193,154,91,.8); }
.wf-comment-list .children { list-style: none; margin: 0; padding-left: 26px; }
.wf-comment-reply a, .wf-comment-reply-link { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; }

.wf-comment-form { display: flex; flex-direction: column; gap: 12px; margin-top: 30px; }
.wf-comment-form label { font-size: 13px; letter-spacing: .1em; color: rgba(230,223,209,.55); }
.wf-comment-form input[type="text"],
.wf-comment-form input[type="email"],
.wf-comment-form textarea { background: #141210; border: 1px solid rgba(230,223,209,.28); color: #ece5d6; font-size: 15px; padding: 13px 14px; box-sizing: border-box; outline: none; font-family: inherit; width: 100%; }
.wf-comment-form textarea { resize: vertical; }
.wf-comment-form .form-submit { margin: 0; }
.wf-comment-form input[type="submit"] { cursor: pointer; border: none; background: #c19a5b; color: #141210; font-size: 14.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; padding: 14px 30px; box-sizing: border-box; font-family: inherit; }
.wf-comment-form input[type="submit"]:hover { background: #d8b57a; }
.wf-comment-form .comment-notes, .wf-comment-form .logged-in-as { font-size: 14px; color: rgba(230,223,209,.5); margin: 0; }
.wf-comment-form .comment-form-cookies-consent { display: flex; gap: 10px; align-items: baseline; font-size: 14px; color: rgba(230,223,209,.5); }
.wf-comment-form .comment-form-cookies-consent input { width: auto; }

/* Moderation note under the form */
.wf-moderation-note { font-size: 13.5px; font-style: italic; color: rgba(230,223,209,.4); margin: 10px 0 0; }

/* ---------- Journal pagination ---------- */
.wf-pagination { display: flex; justify-content: center; gap: 20px; padding: 0 48px 100px; font-size: 14px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.wf-pagination .page-numbers { color: rgba(230,223,209,.6); padding: 6px 10px; }
.wf-pagination .page-numbers.current { color: #c19a5b; border-bottom: 1px solid rgba(193,154,91,.45); }
.wf-pagination a.page-numbers:hover { color: #d8b57a; }

/* Archived notice (shown to editors previewing an archived essay) */
.wf-archived-note { max-width: 680px; margin: 0 auto 26px; padding: 14px 18px; border: 1px solid rgba(193,154,91,.4); font-size: 15px; color: rgba(230,223,209,.7); font-style: italic; }
