/* =========================================================
   SINGLE POST — Babylon-like editorial
   File: assets/css/single.css
   ========================================================= */

.post-single{
  padding-top: 28px;
}

/* Hero */
.post-hero{
  max-width: 860px;
  margin: 0 auto;
  padding: 18px 0 18px;
}

.post-kicker{
  margin: 0 0 14px;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .55;
}

.post-meta{
  margin: 0 0 18px;
  font-size: 13px;
  letter-spacing: .02em;
  opacity: .65;
}

.post-title{
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: .01em;
  font-size: 72px;
  line-height: .95;
}

/* Featured image */
.post-featured{
  width: min(1100px, calc(100vw - 40px));
  margin: 34px auto 0;
}
.post-featured img{
  width: 100%;
  height: auto;
  display: block;
}

/* Content column */
.post-content{
  max-width: 760px;
  margin: 0 auto;
  padding: 34px 0 18px;
  font-size: 18px;
  line-height: 1.85;
  color: rgba(0,0,0,.88);
}

/* Rhythm */
.entry-content > *{ margin: 0 0 20px; }
.entry-content > *:first-child{ margin-top: 0; }
.entry-content > *:last-child{ margin-bottom: 0; }

/* Links */
.entry-content a{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Headings */
.entry-content h2{
  margin: 44px 0 14px;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1.15;
}
.entry-content h3{
  margin: 34px 0 12px;
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.2;
}

/* Lists */
.entry-content ul,
.entry-content ol{
  margin: 0 0 22px 22px;
}
.entry-content li{ margin: 0 0 8px; }

/* Blockquote */
.entry-content blockquote{
  margin: 28px 0;
  padding-left: 18px;
  border-left: 2px solid rgba(0,0,0,.18);
  color: rgba(0,0,0,.78);
}

/* Images inside content */
.entry-content img{
  margin: 34px auto;
  height: auto;
}

/* Optional wide images:
   in editor add class "image-wide" to the image */
.entry-content img.image-wide{
  width: min(1100px, calc(100vw - 40px));
  margin-left: calc(50% - min(1100px, calc(100vw - 40px)) / 2);
  margin-right: calc(50% - min(1100px, calc(100vw - 40px)) / 2);
}

/* Responsive */
@media (max-width: 980px){
  .post-title{ font-size: 54px; }
}
@media (max-width: 640px){
  .post-title{ font-size: 40px; }
  .post-content{ font-size: 17px; }
}

.post-kicker a{
  text-decoration: none;
  color: inherit;
}
.post-kicker a:hover{
  opacity: .7;
}
