/* Portfolio content generated by the Studio GenKya editor. */
.cms-video-grid { display: grid; gap: 48px 40px; width: 100%; }
.cms-featured { grid-template-columns: minmax(0, 1fr); }
.cms-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cms-shorts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cms-video { min-width: 0; width: 100%; }
.cms-video .youtube-player { width: 100%; }
.cms-short .youtube-player { aspect-ratio: 9 / 16; padding-bottom: 0; height: auto; max-width: 360px; margin: 0 auto 24px; }
.cms-short .youtube-player iframe { width: 100%; height: 100%; }
.cms-video .wd100 p { margin-bottom: 8px; }
.cms-video-source { display: inline-block; margin-top: 12px; color: #b8c0c8; font-size: 12px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
.cms-video-source:hover, .cms-video-source:focus-visible { color: #fff; }
.cms-video-link a { display: flex; position: relative; width: 100%; height: 100%; align-items: center; justify-content: center; color: #fff; text-decoration: none; }
.cms-video-link img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cms-video-link a::after { content: '원본 영상 보기 ↗'; position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 10px 18px; border-radius: 30px; background: #000b; font-size: 13px; line-height: 1.4; color: #fff; }
.cms-video-link a:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.cms-video-placeholder { display: grid; place-content: center; width: 100%; height: 100%; padding: 24px; box-sizing: border-box; text-align: center; background: linear-gradient(145deg, #23333b, #111); font-size: 20px; line-height: 1.6; }
/* Instagram includes its own post header and controls; let its official script set the height. */
.cms-instagram-embed { width: 100%; max-width: 540px; min-width: 0; margin: 0 auto 24px; }
.cms-instagram-embed .instagram-media { width: 100% !important; min-width: 0 !important; max-width: 100% !important; margin: 0 !important; box-sizing: border-box !important; }
.cms-instagram-embed iframe.instagram-media { border: 0 !important; }
.cms-instagram-embed blockquote { display: grid; place-content: center; min-height: 320px; padding: 24px; border-radius: 16px; background: #fff; text-align: center; font: 14px/1.7 Arial, sans-serif; }
.cms-instagram-embed blockquote a { color: #1b4868; }
@media (max-width: 767px) {
    .cms-gallery, .cms-shorts { grid-template-columns: minmax(0, 1fr); }
    .cms-video-grid { gap: 36px; }
}
