.christmas-post .post-feature { grid-template-columns:minmax(0,1.3fr) minmax(18rem,.7fr); align-items:start; }
.christmas-post .post-lead-image img { width:100%; height:auto; max-height:none; object-fit:contain; }
.post-cover-film { display:block; position:relative; border-radius:.7rem; overflow:hidden; }
.post-cover-film-action { position:absolute; right:1rem; bottom:1rem; display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; border:1px solid #e9c484; border-radius:.5rem; background:#fff9ed; color:#123a31; box-shadow:0 .25rem 1rem #071c1740; font-size:1rem; font-weight:650; line-height:1.4; }
.post-cover-film-action svg { width:1.5rem; height:1.5rem; flex:none; }
.post-cover-film:hover .post-cover-film-action,.post-cover-film:focus-visible .post-cover-film-action { background:#e9c484; }
.post-cover-film:focus-visible { outline:3px solid #123a31; outline-offset:4px; }
.post-film-dialog { width:min(28rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); padding:1rem; border:1px solid #d8c79f; border-radius:1rem; background:#123a31; color:#fff9ed; overflow:auto; }
.post-film-dialog::backdrop { background:#071c17db; }
.post-film-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.post-film-dialog-heading h2 { margin:0; color:#fff9ed; font-size:1rem; line-height:1.4; }
.post-film-dialog-close { min-height:44px; padding:.5rem .75rem; border:1px solid #e9c484; border-radius:.4rem; background:transparent; color:#fff9ed; font:inherit; font-size:1rem; cursor:pointer; }
.post-film-dialog-close:hover { background:#285347; }
.post-film-dialog-player { margin:0; }
.post-film-dialog-player video { display:block; width:100%; height:auto; max-height:calc(100dvh - 10rem); aspect-ratio:480/848; object-fit:contain; border-radius:.5rem; background:#071c17; }
.post-film-dialog-player figcaption { margin-top:.75rem; color:#eeeadd; font-size:1rem; line-height:1.5; }
.christmas-post .post-main { grid-template-columns:minmax(0,1fr); }
.christmas-post .article-prose { max-width:50rem; }
.christmas-post figcaption,.christmas-post .post-toc a,.christmas-post .article-source-note,.christmas-post .post-references a,.post-meta,.post-category,.breadcrumbs { font-size:1rem; }
.christmas-film { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,23rem); gap:clamp(1.5rem,5vw,5rem); align-items:center; margin-top:3rem; padding:clamp(1.25rem,4vw,3.5rem); border:1px solid #d8c79f; border-radius:1rem; background:#123a31; color:#fff9ed; scroll-margin-top:8rem; }
.christmas-film-copy { min-width:0; max-width:35rem; }
.christmas-film-copy h2 { margin:.8rem 0 1.5rem; color:#fff9ed; font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.2; text-wrap:balance; }
.christmas-film-copy p { font-size:1.0625rem; line-height:1.7; }
.christmas-film-copy .christmas-film-kicker { color:#e9c484; font-size:1rem; }
.christmas-film-copy a { color:#f3d597; text-underline-offset:.2em; }
.christmas-film-copy a:hover { color:#fff9ed; }
.christmas-film-copy .christmas-film-duration { margin-top:1.75rem; color:#e9c484; font-size:1rem; }
.christmas-film-player { min-width:0; width:100%; margin:0; }
.christmas-film-player video { display:block; width:100%; height:auto; aspect-ratio:480/848; background:#071c17; border-radius:.6rem; }
.christmas-film-player figcaption { margin-top:.85rem; color:#eeeadd; font-size:1rem; line-height:1.5; }
.christmas-film-error { font-size:1rem; }
@media(max-width:58rem) {
  .christmas-post .post-feature { grid-template-columns:minmax(0,1fr); }
  .christmas-film { grid-template-columns:minmax(0,1fr); }
  .christmas-film-player { max-width:23rem; justify-self:center; }
}
@media(max-width:30rem) {
  .post-cover-film-action { right:.6rem; bottom:.6rem; gap:.25rem; padding:.6rem .75rem; }
  .post-cover-film-duration { display:none; }
}
