
/* v78 — compact translation-single quote band.
   No image: only the four-line quote, centered and deliberately restrained. */
.translation-single-band{
  width:100%;
  height:124px;
  margin:0;
  padding:0;
  background:#0b0b0b;
  color:var(--route-accent);
  overflow:hidden;
  border-bottom:1px solid #000;
}
.translation-single-band-inner{
  width:100%;
  max-width:1440px;
  height:100%;
  margin:0 auto;
  padding:8px 28px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
}
.translation-single-band blockquote{
  margin:0;
  padding:0;
  direction:rtl;
  text-align:center;
  font-family:Mashin,Niloofar,serif;
  font-size:16px;
  font-weight:400;
  line-height:1.55;
  color:var(--route-accent);
}
.translation-single-band .quote-line{
  display:block;
  white-space:nowrap;
}

/* v73 — translation singles: editorial image+quote band + main poetry reading grammar. */
.translation-article-head{margin-bottom:34px}
.translation-byline{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 16px;margin-top:18px;
  font:15px/1.7 Mashin,Niloofar,serif;color:#696969
}
.translation-poets{color:#242424}
.translation-translator{color:var(--route-accent)}

/* Loading occupies the same reading column without altering the page frame. */
.translation-loading-wrap{
  width:min(690px,calc(100% - 64px));min-height:250px;margin:0 auto 100px;
  display:flex;align-items:center;justify-content:center;text-align:center
}
.translation-loading-wrap[hidden]{display:none!important}
.translation-spinner{
  width:29px;height:29px;border:2px solid rgba(0,0,0,.13);
  border-top-color:var(--route-accent);border-radius:50%;animation:translation-spin .85s linear infinite
}
@keyframes translation-spin{to{transform:rotate(360deg)}}
.translation-load-error{
  width:min(690px,calc(100% - 64px));min-height:230px;margin:0 auto 100px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  font:17px/1.8 Parastoo,Niloofar,serif;color:#6a5042
}
.translation-load-error[hidden]{display:none}
.translation-load-error button{
  margin-top:8px;padding:8px 18px;border:1px solid rgba(0,0,0,.18);background:transparent;color:#222;
  font:14px/1.5 Mashin,Niloofar,serif;cursor:pointer
}
.translation-load-error button:hover,.translation-load-error button:focus-visible{
  border-color:var(--route-accent);color:var(--route-accent);outline:none
}

/* v91 — translation poem markup comes from poets.ir unchanged.
   A paragraph is a stanza/block there, so do not flatten its vertical margin.
   This stylesheet loads after single.css and therefore deliberately restores a full 1em stanza gap. */
.translation-single-body.poem p{
  margin-block-start:0!important;
  margin-block-end:1em!important;
}
.translation-single-body.poem p:last-child{margin-block-end:0!important}

/* Preserve only markup helpers that the base single-page stylesheet does not define.
   Line-height, framing rails and widths come from single.css. */
.translation-single-body blockquote{margin:1.5em 0;padding:0 1.2em 0 0;border-right:2px solid var(--route-accent)}
.translation-single-body hr{border:0;border-top:1px solid var(--route-rule);margin:2em 0}
.translation-single-body a{color:inherit;text-decoration-color:var(--route-accent);text-underline-offset:3px}

/* Translation-only previous / next navigation. */
.translation-neighbors{
  width:min(880px,calc(100% - 64px));margin:-35px auto 80px;padding-top:24px;
  border-top:1px solid var(--route-rule);display:grid;grid-template-columns:1fr 1fr;gap:36px;direction:rtl
}
.translation-neighbor{
  display:flex;flex-direction:column;gap:5px;color:#252525;text-decoration:none;
  font:16px/1.55 Mashin,Niloofar,serif
}
.translation-neighbor small{font:12px/1.4 Mashin,Niloofar,serif;color:#999}
.translation-neighbor.next{text-align:left;align-items:flex-end}
.translation-neighbor:hover span,.translation-neighbor:focus-visible span{color:var(--route-accent)}

@media(max-width:900px){
  .translation-single-band{height:120px}
  .translation-single-band-inner{padding:8px 24px}
  .translation-single-band blockquote{font-size:15.5px;line-height:1.55}
  .translation-loading-wrap,.translation-load-error{width:min(650px,calc(100% - 48px))}
}
@media(max-width:640px){
  .translation-single-band{height:116px}
  .translation-single-band-inner{padding:7px 18px}
  .translation-single-band blockquote{font-size:15px;line-height:1.52}
  .translation-single-band .quote-line{white-space:nowrap}
  .translation-byline{
    width:100%;font-size:13px;justify-content:flex-start;direction:ltr;text-align:left
  }
  .translation-byline .translation-poets,
  .translation-byline .translation-translator{direction:rtl;unicode-bidi:plaintext;text-align:left}
  .translation-loading-wrap,.translation-load-error{width:calc(100% - 48px);min-height:210px;margin-bottom:76px}
  .translation-neighbors{
    width:calc(100% - 40px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:16px;margin:-24px auto 60px;direction:rtl
  }
  .translation-neighbor{min-width:0;font-size:14px}
  .translation-neighbor.previous{text-align:right;align-items:flex-start}
  .translation-neighbor.next{text-align:left;align-items:flex-end}
  .translation-neighbor span{max-width:100%;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.translation-spinner{animation-duration:1.6s}}
