/*
Stylesheet: Single Story Page (Writers' Room)
Loaded only on individual story posts.
*/

.screenplay-page .breadcrumb{
  font-size:12px;
  color:#999;
  margin-bottom:14px;
}
.screenplay-page .breadcrumb a{color:#999;}
.screenplay-page .breadcrumb a:hover{color:var(--red);}
.screenplay-page .breadcrumb span{margin:0 4px;}

.screenplay-badge{
  display:inline-block;
  background:var(--dark);
  color:#fff;
  font-size:10px;
  font-weight:bold;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:3px;
  margin-bottom:10px;
}

.screenplay-title{
  font-family:var(--font-head);
  font-size:32px;
  line-height:1.2;
  margin-bottom:12px;
}

.screenplay-subline{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  font-size:14.5px;
  color:var(--dark);
  border-bottom:1px solid var(--border);
  padding-bottom:18px;
  margin-bottom:22px;
}
.screenplay-subline .spacer{flex:1;}

.meta-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:700;
  color:var(--dark);
}
.meta-icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  fill:none;
  stroke:var(--dark);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.meta-strong{
  font-weight:700;
  color:var(--dark);
}

.action-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1.5px solid var(--dark);
  border-radius:5px;
  padding:10px 18px;
  font-size:14px;
  font-weight:700;
  color:var(--dark);
}
.action-btn:hover{border-color:var(--red);color:var(--red);}
.btn-icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.save-btn .btn-icon{fill:currentColor;stroke:none;}

.screenplay-box{
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
  margin-bottom:26px;
}

/*
  Story text: this used to be a monospaced, pre-wrap block that
  preserved every literal line break (screenplay layout). It's now
  a normal book-style reading column: a serif font, generous line
  height, and real paragraph spacing coming from the <p> tags
  produced in functions.php — no more white-space:pre-wrap.
*/
.screenplay-text{
  padding:32px 36px;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size:17px;
  line-height:1.8;
  color:#222;
  max-width:68ch;
  margin:0 auto;
}
.screenplay-text p{
  margin:0 0 20px;
}
.screenplay-text p:last-child{
  margin-bottom:0;
}
.screenplay-text p:first-of-type{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.screenplay-text p:first-of-type::first-letter{
  font-size:2.4em;
  line-height:0.8;
  float:left;
  padding-right:6px;
  padding-top:4px;
  font-weight:700;
  text-decoration:none;
}

.screenplay-lock{
  background:#fdf1ee;
  border-top:1px solid #f4d9d1;
  text-align:center;
  padding:34px 20px;
}
.screenplay-lock .lock-icon{
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fbdcd4;
  color:var(--red);
  border-radius:50%;
  margin:0 auto 14px;
}
.screenplay-lock .lock-title{
  font-weight:bold;
  font-size:15px;
  margin-bottom:4px;
}
.screenplay-lock .lock-sub{
  font-size:13px;
  color:#777;
  margin-bottom:18px;
}
.unlock-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--red);
  color:#fff;
  font-weight:bold;
  font-size:13.5px;
  padding:11px 22px;
  border-radius:4px;
}
.unlock-btn:hover{opacity:.9;}

.lock-divider{
  display:flex;
  align-items:center;
  gap:10px;
  width:220px;
  max-width:100%;
  margin:16px auto;
  color:#bbb;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.lock-divider::before,
.lock-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:#e6c9c1;
}

.subscribe-btn{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  background:#fff;
  border:1.5px solid var(--red);
  color:var(--red);
  font-weight:bold;
  font-size:13.5px;
  padding:10px 24px;
  border-radius:4px;
}
.subscribe-btn:hover{background:#fff5f3;}
.subscribe-btn span{
  font-size:11px;
  font-weight:normal;
  color:#999;
}

.about-screenplay{
  border:1px solid var(--border);
  border-radius:4px;
  padding:20px;
}
.about-screenplay h4{
  font-size:15px;
  margin-bottom:10px;
}
.about-screenplay p{
  font-size:13.5px;
  color:var(--gray-text);
  line-height:1.6;
  margin-bottom:12px;
}
.screenplay-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.screenplay-tags .tag{
  background:var(--light-gray);
  color:#666;
  font-size:11.5px;
  padding:4px 10px;
  border-radius:12px;
}

/* ===== Sidebar ===== */
.screenplay-cover-widget .screenplay-cover{
  aspect-ratio:3/4;
  border-radius:4px;
  overflow:hidden;
  margin-bottom:16px;
  background:linear-gradient(160deg,#0a2540,#123a63);
}
.screenplay-cover-widget .screenplay-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.screenplay-meta-list{
  list-style:none;
  font-size:13px;
  margin-bottom:16px;
}
.screenplay-meta-list li{
  padding:7px 0;
  border-bottom:1px solid var(--border);
  color:var(--gray-text);
}
.screenplay-meta-list li:last-child{border-bottom:none;}
.screenplay-meta-list strong{color:var(--dark);}

.full-width{
  display:block;
  width:100%;
  text-align:center;
  margin-bottom:10px;
}
.save-btn{
  border:1px solid var(--border);
  color:var(--dark);
  font-weight:bold;
  font-size:13.5px;
  padding:11px 22px;
  border-radius:4px;
}
.save-btn:hover{border-color:var(--red);color:var(--red);}

.related-list{
  list-style:none;
}
.related-list li{
  display:flex;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--border);
  align-items:center;
}
.related-list li:last-child{border-bottom:none;}
.related-thumb{
  width:46px;
  height:60px;
  border-radius:2px;
  flex-shrink:0;
  background:linear-gradient(160deg,#0a2540,#123a63);
  overflow:hidden;
}
.related-thumb img{width:100%;height:100%;object-fit:cover;}
.related-list a{
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  display:block;
}
.related-list a:hover{color:var(--red);}
.related-list span{
  font-size:11.5px;
  color:#999;
}
.view-all-link{
  display:block;
  text-align:center;
  font-size:12.5px;
  font-weight:bold;
  color:var(--red);
  margin-top:8px;
}

/* ===== Responsive ===== */
@media (max-width: 860px){
  .screenplay-title{font-size:26px;}
  .screenplay-text{padding:22px;font-size:16px;}
  .screenplay-subline{gap:10px 14px;}
}
@media (max-width: 600px){
  .screenplay-title{font-size:22px;}
  .screenplay-lock{padding:26px 16px;}
}