/* Uses the main website's movie hero, information panel, buttons and typography. */
.shoof-blog { background: #121212; color: #f4f4f4; }
.shoof-blog .blog-hero { margin-top: 80px; min-height: 580px; }
.shoof-blog .blog-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-hero-content { position: relative; z-index: 2; }
.blog-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 24px; }
.blog-breadcrumb a, .blog-prose a, .blog-pagination a { color: #ffc361; }
/* Give the title and introduction a little more than half of the desktop hero. */
.shoof-blog .blog-hero .movie-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
[dir="rtl"] .shoof-blog .blog-hero .movie-hero-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.shoof-blog .movie-info-panel { min-width: 0; width: min(100%, 880px); }
.shoof-blog .movie-title { width: 100%; font-size: clamp(1.9rem, 3.4vw, 3.1rem); line-height: 1.4; overflow-wrap: anywhere; }
.shoof-blog .movie-plot { width: 100%; display: block; overflow: visible; -webkit-line-clamp: unset; max-height: none; line-height: 1.9; text-wrap: pretty; }
.blog-byline { color: #ddd; font-size: .95rem; }
.blog-reading-layout { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 2.7fr); gap: 48px; padding-block: 48px; align-items: start; }
.blog-facts { border: 1px solid #383838; border-radius: 18px; padding: 24px; background: #1b1b1b; }
.blog-facts dt { color: #ffc361; margin-top: 18px; }
.blog-facts dd { margin: 6px 0 0; line-height: 1.8; overflow-wrap: anywhere; }
.blog-facts .sec-title { font-size: 1.4rem; }
.blog-prose { max-width: 78ch; font-size: 1.1rem; line-height: 2; overflow-wrap: anywhere; }
.blog-prose .movie-section { padding: 20px 0; margin: 0; }
.blog-prose .sec-title, .blog-toc h2 { font-size: 1.65rem; line-height: 1.5; margin-bottom: 16px; }
.blog-prose .movie-section > p { margin-bottom: 18px; }
.blog-prose h3 { margin: 30px 0 14px; font-size: 1.3rem; line-height: 1.5; color: #ffc361; }
.blog-toc { border-bottom: 1px solid #383838; padding-bottom: 24px; }
.blog-toc ul { padding-inline-start: 24px; }
.blog-person-list { display: grid; gap: 14px; padding-inline-start: 22px; }
.blog-person-list li { padding-inline-start: 6px; }
.blog-person-list strong { color: #fff; }
.blog-person-list span { display: block; margin-top: 4px; color: #ccc; line-height: 1.8; }
.blog-video { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; border-radius: 18px; background: #080808; box-shadow: 0 16px 40px rgba(0, 0, 0, .35); }
.blog-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.blog-index { padding-top: 132px; padding-bottom: 70px; min-height: 65vh; }
.blog-index h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.5; }
.blog-index-intro { max-width: 70ch; color: #ccc; line-height: 1.9; margin-bottom: 32px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.blog-card { background: #1b1b1b; border: 1px solid #383838; border-radius: 18px; overflow: hidden; }
.blog-card a { color: inherit; text-decoration: none; display: block; height: 100%; }
.blog-card a:hover h2 { color: #ffc361; }
.blog-card img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.blog-card-copy { padding: 24px; }
.blog-card-copy time { color: #bbb; font-size: .9rem; }
.blog-card-copy h2 { font-size: 1.4rem; line-height: 1.6; margin: 12px 0; }
.blog-card-copy p { color: #ccc; line-height: 1.8; }
.blog-pagination, .blog-footer-links { display: flex; gap: 24px; flex-wrap: wrap; margin-block: 28px; }
.blog-empty { padding-block: 20px; line-height: 1.9; }
@media (max-width: 991px) {
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-reading-layout { grid-template-columns: 1fr; gap: 28px; }
  .shoof-blog .blog-hero .movie-hero-grid { display: block; }
  .shoof-blog .blog-hero .movie-info-panel { display: block; width: 100%; max-width: 100%; }
  .shoof-blog .blog-hero .movie-hero-stage-space { display: none; }
  .shoof-blog .blog-hero .movie-hero-shell { padding-block: 36px; }
  .shoof-blog .blog-hero { min-height: auto; height: auto; }
  .blog-facts dl { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; }
  .blog-facts dt, .blog-facts dd { margin: 0; }
}
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } .blog-facts dl { display: block; } .blog-facts dt { margin-top: 14px; } }
