/* =========================================================
   PS WORKS 投稿詳細(single.php)専用スタイル
   ========================================================= */

.psw-single{ padding:70px 24px 0; }
.psw-single .inner{ max-width:820px; }

.psw-single-header{ margin-bottom:32px; }
.psw-single-header time{ display:block; color:#8a99a1; font-weight:700; margin-bottom:10px; }
.psw-single-header h1{
  font-family:var(--font-round); color:var(--navy); font-size:1.9rem; font-weight:800;
  line-height:1.5; margin:0;
}

.psw-single-thumb{ margin-bottom:40px; }
.psw-single-thumb img{ width:100%; height:auto; border-radius:4px; display:block; }

.psw-single-content{ line-height:2; color:var(--text); font-size:1rem; }
.psw-single-content p{ margin:0 0 1.6em; }
.psw-single-content h2{
  color:var(--navy); font-size:1.4rem; font-weight:800; margin:2em 0 .8em; line-height:1.6;
}
.psw-single-content h3{
  color:var(--navy); font-size:1.15rem; font-weight:800; margin:1.8em 0 .7em; line-height:1.6;
}
.psw-single-content a{ color:var(--navy); text-decoration:underline; text-decoration-color:var(--lightblue); text-underline-offset:3px; }
.psw-single-content a:hover{ text-decoration-color:currentColor; }
.psw-single-content img{ max-width:100%; height:auto; border-radius:4px; }
.psw-single-content ul,
.psw-single-content ol{ margin:0 0 1.6em; padding-left:1.4em; }
.psw-single-content li{ margin-bottom:.5em; }
.psw-single-content blockquote{
  margin:1.8em 0; padding:18px 26px; border-left:4px solid var(--yellow);
  background:var(--lightblue-2); color:var(--navy-dark); font-style:normal;
}
.psw-single-content .page-links{ margin-top:2em; font-weight:700; color:var(--navy); }

/* ---------- 前後記事ナビ ---------- */
.psw-single-nav{ padding:50px 24px; margin-top:50px; border-top:1px dashed #cbd5db; }
.psw-single-nav .inner{ max-width:820px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.psw-single-nav .nav-previous,
.psw-single-nav .nav-next{ flex:1; min-width:200px; }
.psw-single-nav .nav-next{ text-align:right; }
.psw-single-nav a{ display:block; }
.psw-single-nav .nav-subtitle{
  display:block; font-size:.8rem; color:#8a99a1; font-weight:700; margin-bottom:6px;
}
.psw-single-nav .nav-title{ color:var(--navy); font-weight:800; line-height:1.6; }
.psw-single-nav a:hover .nav-title{ text-decoration:underline; }

/* ---------- コメント ---------- */
.psw-single-comments{ padding:0 24px 90px; }
.psw-single-comments .inner{ max-width:820px; }
.comments-title{ color:var(--navy); font-size:1.3rem; font-weight:800; margin:0 0 28px; }
.comment-list{ list-style:none; margin:0; padding:0; }
.comment-list .comment{
  border-bottom:1px dashed #cbd5db; padding:24px 0;
}
.comment-list .comment-body .fn{ font-style:normal; font-weight:800; color:var(--navy-dark); }
.comment-list .comment-metadata{ font-size:.8rem; color:#8a99a1; margin-bottom:.8em; }
.comment-list .comment-metadata a{ color:inherit; }
.comment-list .reply a{
  display:inline-block; margin-top:10px; font-size:.8rem; font-weight:700;
  color:var(--navy); border:1px solid var(--navy); padding:4px 14px; border-radius:20px;
}
.comment-respond{ margin-top:40px; }
.comment-reply-title{ color:var(--navy); font-size:1.15rem; font-weight:800; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; border:1px solid #cbd5db; border-radius:4px; padding:12px 14px;
  font-family:var(--font-jp); font-size:.95rem; margin-top:6px;
}
.comment-form p{ margin:0 0 18px; }
.comment-form .form-submit input{
  background:var(--navy); color:#fff; font-weight:700; padding:12px 34px;
  border:0; border-radius:2px; cursor:pointer;
}

@media (max-width: 560px){
  .psw-single-header h1{ font-size:1.4rem; }
  .psw-single-nav .inner{ flex-direction:column; }
  .psw-single-nav .nav-next{ text-align:left; }
}
