/* Scoped to the archive and its dialog. No changes to the existing Movie block. */
.ykm-archive { padding-bottom: 80px; }
.ykm-archive .ykm-lead { margin: 32px 0 64px; }
/* Use the theme's .second_head rules, including its desktop overlap and mobile layout. */
.ykm-heading { font-size: 20px; margin: 0 0 30px; }
.ykm-heading > span { display: block; font-family: futura-pt, sans-serif; font-size: 40px; letter-spacing: .06em; color: #1025c0; line-height: 1.2; margin-bottom: 12px; }
.ykm-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 42px 26px; }
.ykm-card { min-width: 0; }
.ykm-play { display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
.ykm-thumb { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; background: #161b26; }
.ykm-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ykm-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: rgba(16,37,192,.92); color: white; font-size: 25px; box-shadow: 0 0 0 2px rgba(255,255,255,.8); }
.ykm-play:hover .ykm-icon { background: #081474; }
.ykm-play:focus-visible, .ykm-close:focus-visible { outline: 3px solid #1025c0; outline-offset: 5px; }
.ykm-title { display: block; font-size: 16px; line-height: 1.8; margin: 16px 0 8px; overflow-wrap: anywhere; }
.ykm-card time { display: block; font-size: 13px; color: #555; }
.ykm-pickup { margin-bottom: 70px; }
.ykm-card--featured { max-width: 820px; margin: 0 auto; }
.ykm-card--featured .ykm-title { font-size: 22px; }
.ykm-description { margin-top: 16px; }
.ykm-pagination { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 48px; }
.ykm-pagination .page-numbers { padding: 8px 15px; border: 1px solid #1025c0; }
.ykm-pagination .current { background: #1025c0; color: white; }
.ykm-modal { box-sizing: border-box; padding: 0; border: 0; width: min(1000px,calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); background: transparent; color: white; overflow: auto; }
.ykm-modal::backdrop { background: rgba(0,0,0,.85); }
.ykm-modal-content { position: relative; padding-top: 54px; }
.ykm-close { position: absolute; top: 0; right: 0; width: 48px; height: 48px; border: 1px solid white; border-radius: 50%; color: white; background: #18202e; font-size: 34px; line-height: 1; cursor: pointer; }
.ykm-modal-title { margin: 0 60px 16px 0; font-size: 16px; line-height: 1.6; }
.ykm-player { aspect-ratio: 16/9; background: black; }
.ykm-player iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 1024px) { .ykm-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
 .ykm-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .ykm-heading > span { font-size: 30px; }
 .ykm-archive .ykm-lead { margin: 24px 0 40px; font-size: 14px; }
 .ykm-title, .ykm-card--featured .ykm-title { font-size: 16px; }
 .ykm-pickup { margin-bottom: 48px; }
 .ykm-modal { width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
}
