/* =========================================================
   واژه‌نامه — سیستم طراحی اصلی (Frontend design system)
   ========================================================= */
:root{
  --paper:#FBF9F4;
  --cream:#F3EEE0;
  --ink:#2B2A26;
  --ink-soft:#5A574E;
  --rule:#B8B2A0;
  --green:#3E5B40;
  --green-tint:#DEE6D8;
  --font-display:'Aref Ruqaa', 'Vazirmatn', serif;
  --font-body:'Vazirmatn', Tahoma, sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html, body{ overflow-x:clip; }
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.9;
  margin:0;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto; display:block;}
.screen-reader-text{
  position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px;
  overflow:hidden; word-wrap:normal !important;
}
.screen-reader-text:focus{
  background:#fff; color:var(--ink); display:block; padding:14px 20px;
  position:fixed; top:6px; right:6px; z-index:100000; width:auto; height:auto; clip:auto !important;
}
:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }

.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 28px;}

/* ---- Gutenberg alignment in classic templates (home) ---- */
.entry-content{max-width:1180px; margin:0 auto; padding:0 28px;}
.entry-content > .alignwide{max-width:1180px;}
.entry-content > .alignfull{
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  max-width:100vw !important;
}

/* ---- meta bar ---- */
.meta-bar{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;
  font-size:12.5px; letter-spacing:.04em; color:var(--ink-soft);
  padding:14px 0; border-bottom:1px solid var(--rule);
}

/* ---- masthead (front page, large) ---- */
.masthead{ text-align:center; padding:44px 0 22px; }
.masthead .eyebrow{
  font-size:12px; letter-spacing:.25em; color:var(--green); font-weight:600;
  margin-bottom:14px; display:inline-block;
}
.masthead h1{
  font-family:var(--font-display); font-size:clamp(48px,8vw,92px);
  font-weight:700; letter-spacing:.01em; line-height:1; margin:0;
}
.masthead h1 a{ color:inherit; }
.masthead .tagline{
  margin-top:14px; font-size:14.5px; color:var(--ink-soft); font-weight:400; letter-spacing:.02em;
}
.rule-double{ border-top:3px double var(--ink); margin-top:26px; }

/* ---- masthead compact (inner pages) ---- */
.masthead-compact{ text-align:center; padding:26px 0 16px; }
.masthead-compact .site-name{ font-family:var(--font-display); font-size:32px; font-weight:700; }
.masthead-compact .site-name span{
  color:var(--green); font-size:14px; vertical-align:middle; margin-inline-start:8px; font-family:var(--font-body); font-weight:600; letter-spacing:.05em;
}
.masthead-compact .rule-double{ margin-top:18px; }

/* ---- nav ---- */
.nav-row{
  display:flex; justify-content:center; align-items:center; gap:34px; flex-wrap:wrap;
  padding:14px 0; border-bottom:1px solid var(--rule); font-size:14.5px; font-weight:600;
}
.nav-row ul{ list-style:none; display:flex; gap:34px; flex-wrap:wrap; margin:0; padding:0; }
.nav-row a{ position:relative; padding-bottom:3px; }
.nav-row .current-menu-item > a,
.nav-row a.active{ color:var(--green); border-bottom:2px solid var(--green); }
.nav-row .search-link{ color:var(--ink-soft); font-weight:600; }

.breadcrumb{ font-size:12.5px; color:var(--ink-soft); padding:22px 0 0; }
.breadcrumb a{ color:var(--ink-soft); }
.breadcrumb a:hover{ color:var(--green); }
.breadcrumb .sep{ margin:0 8px; opacity:.6; }

/* ---- hero / lead grid (used by latest-entry-hero + recent-notes blocks via columns) ---- */
.lead-grid-cols{ padding:44px 0; border-bottom:1px solid var(--rule); }
.lead-article .kicker{
  color:var(--green); font-size:12.5px; font-weight:700; letter-spacing:.12em; margin-bottom:10px; display:block;
}
.lead-article h2{ font-family:var(--font-display); font-size:38px; line-height:1.35; margin:0 0 16px; }
.lead-article h2 a{ color:inherit; }
.lead-article .drop-wrap{ display:flex; align-items:flex-start; }
.lead-article .drop-wrap p{
  font-size:16px; color:var(--ink-soft); margin:0; white-space:pre-line; flex:1 1 auto;
}
.lead-article .drop-cap{
  flex:0 0 auto; width:64px; text-align:center;
  font-family:var(--font-display); font-size:66px; line-height:.78; color:var(--green);
  margin-inline-end:16px; margin-top:2px; font-weight:700;
}
.byline{ margin-top:20px; font-size:13px; color:var(--ink-soft); display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.byline .dot{ opacity:.6; }
.mood-tag{
  display:inline-block; background:var(--green-tint); color:var(--green); font-size:11px;
  font-weight:700; padding:3px 10px; border-radius:2px;
}

.side-col .side-title{
  font-size:13px; font-weight:700; letter-spacing:.08em; color:var(--ink);
  border-bottom:2px solid var(--ink); padding-bottom:10px; margin-bottom:18px;
}
.side-item{ display:flex; gap:14px; padding:14px 0; border-bottom:1px dashed var(--rule); }
.side-item:last-child{ border-bottom:none; }
.side-item .num{ font-family:var(--font-display); font-size:26px; color:var(--rule); font-weight:700; line-height:1; }
.side-item h4{ font-size:15px; line-height:1.6; font-weight:600; margin:0; }
.side-item h4 a{ color:inherit; }
.side-item p{ font-size:12.5px; color:var(--ink-soft); margin:4px 0 0; }

/* ---- section title ---- */
.section-title{ display:flex; align-items:center; gap:14px; padding:34px 0 20px; }
.section-title h2, .section-title h3{ font-family:var(--font-display); font-size:24px; white-space:nowrap; margin:0; }
.section-title .line{ flex:1; border-top:1px solid var(--rule); }
.section-title .see-all{ font-size:13px; font-weight:600; color:var(--green); white-space:nowrap; }

/* ---- grid-3 card layout (Query Loop pattern hooks into this) ---- */
.grid-3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--rule); }
.vajenameh-card{ padding:26px 24px; border-left:1px solid var(--rule); }
.grid-3 > .wp-block-post:last-child .vajenameh-card,
.grid-3 .vajenameh-card:last-child{ border-left:none; }
.vajenameh-card .tag,
.card .tag{
  display:inline-block; background:var(--green-tint); color:var(--green); font-size:11px;
  font-weight:700; padding:4px 10px; border-radius:2px; letter-spacing:.04em; margin-bottom:12px;
}
.vajenameh-card h4, .card h4{ font-family:var(--font-display); font-size:20px; line-height:1.5; margin:0 0 10px; }
.vajenameh-card h4 a, .card h4 a{ color:inherit; }
.vajenameh-card p, .card p{ font-size:13.5px; color:var(--ink-soft); margin:0 0 14px; }
.vajenameh-card .meta, .card .meta{ font-size:11.5px; color:var(--ink-soft); opacity:.8; }
@media(max-width:820px){
  .grid-3{ grid-template-columns:minmax(0,1fr); }
  .vajenameh-card{ border-left:none !important; border-bottom:1px solid var(--rule); }
}

/* ---- verse strip / featured-verse block ---- */
.verse-strip{
  background:var(--cream); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  padding:50px 0; text-align:center; margin-top:10px;
}
.verse-strip .fv-eyebrow{ font-size:12px; letter-spacing:.2em; color:var(--green); font-weight:700; display:block; }
.verse-strip .fv-quote{ font-family:var(--font-display); font-size:clamp(22px,3.4vw,34px); line-height:1.9; max-width:760px; margin:18px auto 0; }
.verse-strip .fv-quote p{ margin:0; }
.verse-strip .fv-citation{ display:block; margin-top:16px; font-size:13px; color:var(--ink-soft); font-style:normal; }

/* ---- archive teaser ---- */
.archive-teaser{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  padding:30px 0; border-bottom:1px solid var(--rule); font-size:13.5px; color:var(--ink-soft);
}
.archive-teaser a{ color:var(--green); font-weight:700; }

/* ---- single article ---- */
.article-head{ text-align:center; padding:30px 0 20px; }
.article-head .kicker{ color:var(--green); font-size:12.5px; font-weight:700; letter-spacing:.12em; }
.article-head h1{ font-family:var(--font-display); font-size:clamp(30px,5vw,50px); line-height:1.4; margin:16px 0 0; }
.article-head .sub{ margin-top:14px; font-size:15px; color:var(--ink-soft); max-width:52ch; margin-inline:auto; }
.article-meta{ margin-top:24px; display:flex; justify-content:center; gap:16px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--ink-soft); }

.article-body{ padding:36px 0; border-top:1px solid var(--rule); font-size:16.5px; }
.article-body > *:first-child{ margin-top:0; }
.article-body p{ margin-bottom:22px; }

.tags-row{ display:flex; gap:10px; flex-wrap:wrap; padding:24px 0; border-top:1px dashed var(--rule); margin-top:10px; }
.tags-row a{ font-size:12px; font-weight:700; color:var(--green); background:var(--green-tint); padding:5px 12px; border-radius:100px; }

.signature{ display:flex; align-items:center; gap:16px; padding:26px 0; border-top:1px solid var(--rule); }
.signature .seal{
  width:44px; height:44px; border:1.5px solid var(--green); border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-family:var(--font-display); font-size:20px; color:var(--green); font-weight:700; flex-shrink:0;
}
.signature-text{ font-size:13px; color:var(--ink-soft); margin:0; }
.signature-text b{ color:var(--ink); font-weight:700; }

.prev-next{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); margin:36px 0; border:1px solid var(--rule); }
.prev-next a{ background:var(--paper); padding:24px; display:block; }
.prev-next .label{ font-size:11.5px; color:var(--ink-soft); letter-spacing:.06em; margin-bottom:8px; }
.prev-next .title{ font-family:var(--font-display); font-size:18px; line-height:1.5; }
.prev-next .next{ text-align:left; }
@media(max-width:640px){ .prev-next{ grid-template-columns:1fr; } }

/* ---- poem-block ---- */
.poem-block{ background:var(--cream); border-right:3px solid var(--green); padding:34px 40px; margin:36px 0; text-align:center; border-radius:2px; }
.poem-block .poem-lines p{ font-family:var(--font-display); font-size:24px; line-height:2.15; color:var(--ink); margin:0; }
.poem-block .poem-lines p + p{ margin-top:14px; }
@media(max-width:640px){ .poem-block{ padding:26px 20px; } .poem-block .poem-lines p{ font-size:20px; } }

/* ---- verse-quote block ---- */
.verse-quote-block{ background:var(--cream); border-right:3px solid var(--green); padding:28px 34px; margin:26px 0; text-align:center; border-radius:2px; }
.verse-quote-block .verse-quote-text p{ font-family:var(--font-display); font-size:22px; color:var(--ink); line-height:2; margin:0; }
.verse-quote-block .verse-quote-text p + p{ margin-top:10px; }
.verse-quote-block .verse-quote-citation{ display:block; margin-top:10px; font-size:12.5px; color:var(--ink-soft); font-style:normal; }

/* ---- circular portrait image style variation ---- */
.is-style-daireh-portrait img{
  border-radius:50%; border:1.5px solid var(--rule); aspect-ratio:1/1; object-fit:cover;
}

/* ---- archive page ---- */
.archive-head{ text-align:center; padding:40px 0 20px; }
.archive-head .eyebrow{ font-size:12px; letter-spacing:.2em; color:var(--green); font-weight:700; }
.archive-head h1{ font-family:var(--font-display); font-size:clamp(30px,5vw,50px); margin:14px 0 0; }
.archive-head p{ margin-top:12px; font-size:14.5px; color:var(--ink-soft); }

.year-chips{ display:flex; justify-content:center; gap:10px; padding:26px 0; border-bottom:1px solid var(--rule); flex-wrap:wrap; }
.year-chips a{ font-size:13px; font-weight:700; padding:8px 18px; border:1px solid var(--rule); border-radius:100px; color:var(--ink-soft); }
.year-chips a.active{ background:var(--green); border-color:var(--green); color:#fff; }
.year-chips a:hover{ border-color:var(--green); color:var(--green); }
.year-chips a.active:hover{ color:#fff; }

.month-group{ padding:36px 0; border-bottom:1px solid var(--rule); }
.month-group h2{ font-family:var(--font-display); font-size:24px; margin:0 0 6px; display:flex; align-items:baseline; gap:12px; }
.month-group h2 .count{ font-family:var(--font-body); font-size:12.5px; font-weight:600; color:var(--ink-soft); }

.archive-row{ display:grid; grid-template-columns:90px 1fr auto; gap:22px; align-items:baseline; padding:16px 0; border-bottom:1px dashed var(--rule); }
.archive-row:last-child{ border-bottom:none; }
.archive-row .day{ font-family:var(--font-display); font-size:20px; color:var(--green); }
.archive-row h3{ font-size:16px; font-weight:600; margin:0; }
.archive-row h3 a{ color:inherit; }
.archive-row .cat{ font-size:12px; color:var(--ink-soft); white-space:nowrap; }
@media(max-width:600px){ .archive-row{ grid-template-columns:60px 1fr; } .archive-row .cat{ grid-column:2; } }

.pagination{ display:flex; justify-content:center; align-items:center; gap:8px; padding:40px 0; font-size:13.5px; flex-wrap:wrap; }
.pagination a, .pagination span.current{
  min-width:34px; height:34px; padding:0 6px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--rule); border-radius:50px; color:var(--ink-soft);
}
.pagination span.current{ background:var(--ink); border-color:var(--ink); color:#fff; }
.pagination a:hover{ border-color:var(--green); color:var(--green); }

/* ---- search ---- */
.search-head{ text-align:center; padding:50px 0 10px; }
.search-head .eyebrow{ font-size:12px; letter-spacing:.2em; color:var(--green); font-weight:700; }
.search-head h1{ font-family:var(--font-display); font-size:clamp(30px,5vw,48px); margin:14px 0 0; }
.search-box{ margin-top:30px; display:flex; align-items:center; gap:14px; border-bottom:2px solid var(--ink); padding-bottom:14px; }
.search-box .icon{ font-size:20px; color:var(--green); }
.search-box input[type="search"]{ flex:1; border:none; background:transparent; outline:none; font-family:var(--font-body); font-size:20px; color:var(--ink); }
.search-box input::placeholder{ color:var(--ink-soft); opacity:.6; }
.search-box button{ background:var(--green); color:#fff; border:none; font-family:var(--font-body); font-size:13.5px; font-weight:700; padding:10px 22px; border-radius:100px; cursor:pointer; }
.search-box button:hover{ background:var(--ink); }

.suggest-row{ display:flex; gap:10px; flex-wrap:wrap; padding:22px 0 40px; border-bottom:1px solid var(--rule); align-items:center; }
.suggest-row .label{ font-size:13px; color:var(--ink-soft); margin-inline-end:6px; }
.suggest-row a{ font-size:12.5px; font-weight:600; color:var(--green); background:var(--green-tint); padding:6px 14px; border-radius:100px; }

.results-head{ display:flex; justify-content:space-between; align-items:baseline; padding:30px 0 16px; flex-wrap:wrap; gap:6px; }
.results-head h2{ font-size:16px; font-weight:700; margin:0; }
.results-head h2 b{ color:var(--green); }
.results-head span{ font-size:12.5px; color:var(--ink-soft); }

.result-item{ padding:22px 0; border-bottom:1px dashed var(--rule); }
.result-item .cat{ font-size:11.5px; font-weight:700; color:var(--green); letter-spacing:.05em; }
.result-item h3{ font-family:var(--font-display); font-size:21px; margin:8px 0 0; line-height:1.5; }
.result-item h3 a{ color:inherit; }
.result-item h3 mark{ background:var(--green-tint); color:var(--green); padding:0 2px; }
.result-item p{ font-size:14px; color:var(--ink-soft); margin:8px 0 0; }
.result-item .meta{ font-size:12px; color:var(--ink-soft); opacity:.75; margin-top:10px; }
.no-results{ padding:40px 0; text-align:center; color:var(--ink-soft); }

/* ---- about / static page ---- */
.about-intro-drop .drop-wrap{ display:flex; align-items:flex-start; }
.about-intro-drop .drop-cap{
  flex:0 0 auto; width:64px; text-align:center;
  font-family:var(--font-display); font-size:66px; line-height:.78; color:var(--green);
  margin-inline-end:16px; margin-top:2px; font-weight:700;
}
.contact-row{ display:flex; gap:28px; flex-wrap:wrap; padding:28px 0; border-top:1px dashed var(--rule); }
.contact-row a{ font-size:14px; font-weight:600; color:var(--ink); display:flex; align-items:center; gap:8px; }
.contact-row a .dot{ width:6px; height:6px; border-radius:50%; background:var(--green); display:inline-block; }
.contact-row a:hover{ color:var(--green); }

/* ---- footer ---- */
footer.site-footer{ padding:40px 0; text-align:center; font-size:12px; color:var(--ink-soft); }
footer.site-footer .rule-double{ margin-bottom:24px; }
footer.site-footer .foot-links{ margin-top:10px; display:flex; justify-content:center; gap:20px; flex-wrap:wrap; list-style:none; padding:0; }
footer.site-footer .foot-links a{ color:var(--ink-soft); }
footer.site-footer .foot-links a:hover{ color:var(--green); }

@media(max-width:700px){
  .nav-row ul{ gap:18px; font-size:13.5px; }
}
