/* KMETA Kids Animation Pro public gallery — isolated, full-width masonry */
.kka-public-gallery,
.kka-public-gallery *{box-sizing:border-box!important}
.kka-public-gallery{position:relative!important;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0 12px 30px!important;background:#fff!important;color:#fff!important;font-family:inherit!important;line-height:normal!important;overflow:visible!important}
.kka-public-gallery .kka-public-masonry{position:relative!important;width:100%!important;min-height:120px!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
.kka-public-gallery .kka-public-video-card{position:absolute!important;display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#090a0c!important;overflow:hidden!important;line-height:normal!important;cursor:pointer!important;box-shadow:none!important;transition:filter .16s ease!important}
.kka-public-gallery .kka-public-video-card:hover{filter:brightness(1.015)!important}
.kka-public-gallery .kka-public-video-media{position:relative!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#090a0c!important}
.kka-public-gallery .kka-public-video-card.ratio-16-9 .kka-public-video-media{aspect-ratio:16/9!important}
.kka-public-gallery .kka-public-video-card.ratio-9-16 .kka-public-video-media{aspect-ratio:9/16!important}
.kka-public-gallery .kka-public-video-card.ratio-1-1 .kka-public-video-media{aspect-ratio:1/1!important}
.kka-public-gallery .kka-public-video-media video{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;background:#090a0c!important;pointer-events:none!important;box-shadow:none!important}
.kka-public-gallery .kka-public-video-media video::-webkit-media-controls{display:none!important}
.kka-public-gallery .kka-public-shade{position:absolute!important;inset:0!important;z-index:1!important;margin:0!important;background:linear-gradient(to top,rgba(0,0,0,.50),rgba(0,0,0,.05) 25%,transparent 48%),linear-gradient(to bottom,rgba(0,0,0,.14),transparent 20%)!important;opacity:.70!important;pointer-events:none!important;transition:opacity .16s ease!important}
.kka-public-gallery .kka-public-video-card:hover .kka-public-shade{opacity:.86!important}
.kka-public-gallery .kka-public-title{position:absolute!important;z-index:3!important;left:8px!important;right:8px!important;top:8px!important;bottom:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:10px!important;line-height:1.25!important;font-weight:700!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;opacity:0!important;transform:translateY(-2px)!important;transition:.15s ease!important;pointer-events:none!important;text-shadow:0 1px 6px rgba(0,0,0,.58)!important}
.kka-public-gallery .kka-public-video-card:hover .kka-public-title{opacity:.92!important;transform:none!important}
.kka-public-gallery .kka-public-meta{position:absolute!important;z-index:4!important;left:8px!important;right:7px!important;bottom:7px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;pointer-events:none!important}
.kka-public-gallery .kka-public-owner{display:block!important;min-width:0!important;max-width:62%!important;margin:0!important;padding:0!important;color:#fff!important;font-size:9px!important;line-height:1!important;font-weight:650!important;letter-spacing:.02em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 1px 6px rgba(0,0,0,.66)!important}
.kka-public-gallery .kka-public-meta-right{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
.kka-public-gallery .kka-public-meta-right em{display:inline-block!important;margin:0!important;padding:3px 5px!important;border:0!important;border-radius:999px!important;background:rgba(0,0,0,.42)!important;color:#fff!important;font-style:normal!important;font-size:9px!important;line-height:1!important;font-weight:650!important;font-variant-numeric:tabular-nums!important;box-shadow:none!important;backdrop-filter:blur(5px)!important}
.kka-public-gallery .kka-public-like{all:unset!important;box-sizing:border-box!important;pointer-events:auto!important;display:inline-flex!important;align-items:center!important;gap:3px!important;margin:0!important;padding:2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;cursor:pointer!important;font-family:inherit!important;font-size:9px!important;line-height:1!important;font-weight:650!important;text-shadow:0 1px 5px rgba(0,0,0,.62)!important;box-shadow:none!important;min-width:0!important;min-height:0!important;width:auto!important;height:auto!important}
.kka-public-gallery .kka-public-like i{display:inline!important;margin:0!important;padding:0!important;font-style:normal!important;font-size:13px!important;line-height:1!important;font-weight:400!important;color:#fff!important;background:none!important;border:0!important}
.kka-public-gallery .kka-public-like b{display:inline!important;margin:0!important;padding:0!important;font-size:9px!important;line-height:1!important;font-weight:650!important;color:#fff!important;background:none!important;border:0!important}
.kka-public-gallery .kka-public-like.is-liked i{font-size:0!important}
.kka-public-gallery .kka-public-like.is-liked i:after{content:'♥'!important;font-size:13px!important;color:#ff4167!important}
.kka-public-gallery .kka-public-progress{position:absolute!important;z-index:6!important;left:0!important;right:0!important;bottom:0!important;height:1px!important;margin:0!important;padding:0!important;background:rgba(255,255,255,.20)!important;opacity:0!important;pointer-events:none!important;transition:opacity .12s ease!important}
.kka-public-gallery .kka-public-progress i{display:block!important;width:0;height:1px!important;margin:0!important;padding:0!important;background:#fff!important;transition:none!important}
.kka-public-gallery .kka-public-video-card.is-playing .kka-public-progress{opacity:.9!important}
.kka-public-gallery .kka-public-more-wrap{display:flex!important;justify-content:center!important;width:100%!important;margin:0!important;padding:28px 0 2px!important;background:#fff!important}
.kka-public-gallery .kka-public-more{all:unset!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;min-width:132px!important;height:38px!important;padding:0 22px!important;border:1px solid #d8dbe1!important;border-radius:999px!important;background:#fff!important;color:#16181c!important;font-family:inherit!important;font-size:9px!important;line-height:1!important;letter-spacing:.18em!important;font-weight:800!important;cursor:pointer!important;box-shadow:none!important;transition:.16s ease!important}
.kka-public-gallery .kka-public-more:hover{border-color:#858b96!important;box-shadow:0 7px 20px rgba(15,23,42,.07)!important}
.kka-public-gallery .kka-public-more:disabled{opacity:.5!important;cursor:wait!important}
.kka-public-gallery .kka-public-more span{display:inline!important;margin:0!important;padding:0!important;font-size:15px!important;line-height:1!important;font-weight:300!important}
.kka-public-gallery .kka-public-empty{min-height:220px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;background:#fff!important;color:#8c8e93!important;font-size:12px!important}

/* Lightbox is deliberately namespaced to prevent theme button/video styles from leaking in. */
.kka-public-lightbox,.kka-public-lightbox *{box-sizing:border-box!important}
.kka-public-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:4vh 4vw!important;background:rgba(7,9,13,.82)!important;backdrop-filter:blur(13px)!important;opacity:0!important;visibility:hidden!important;transition:opacity .16s ease,visibility .16s ease!important}
.kka-public-lightbox.open{opacity:1!important;visibility:visible!important}
.kka-public-lightbox .kka-public-lightbox-shell{position:relative!important;display:block!important;max-width:88vw!important;max-height:90vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:14px!important;background:#07080a!important;overflow:hidden!important;box-shadow:0 28px 90px rgba(0,0,0,.42)!important}
.kka-public-lightbox .kka-public-lightbox-shell video{display:block!important;width:auto!important;height:auto!important;max-width:88vw!important;max-height:86vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#07080a!important;object-fit:contain!important;cursor:pointer!important;box-shadow:none!important}
.kka-public-lightbox .kka-public-lightbox-close{all:unset!important;box-sizing:border-box!important;position:absolute!important;z-index:8!important;right:10px!important;top:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:50%!important;background:rgba(10,12,16,.44)!important;color:#fff!important;font-family:Arial,sans-serif!important;font-size:20px!important;line-height:1!important;font-weight:300!important;cursor:pointer!important;box-shadow:none!important;backdrop-filter:blur(7px)!important}
.kka-public-lightbox .kka-public-lightbox-info{position:absolute!important;z-index:5!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0!important;padding:30px 14px 12px!important;background:linear-gradient(transparent,rgba(0,0,0,.64))!important;color:#fff!important;pointer-events:none!important}
.kka-public-lightbox .kka-public-lightbox-info b{display:block!important;margin:0!important;padding:0!important;color:#fff!important;font-size:11px!important;line-height:1.25!important;font-weight:700!important}
.kka-public-lightbox .kka-public-lightbox-info small{display:block!important;margin:3px 0 0!important;padding:0!important;color:rgba(255,255,255,.70)!important;font-size:8px!important;line-height:1!important}
.kka-public-lightbox .kka-public-lightbox-info em{display:block!important;margin:0!important;padding:0!important;color:#fff!important;font-style:normal!important;font-size:9px!important;line-height:1!important}
.kka-public-lightbox .kka-public-lightbox-progress{position:absolute!important;z-index:9!important;left:0!important;right:0!important;bottom:0!important;height:1px!important;background:rgba(255,255,255,.18)!important;opacity:0!important;pointer-events:none!important}
.kka-public-lightbox.is-playing .kka-public-lightbox-progress{opacity:.9!important}
.kka-public-lightbox .kka-public-lightbox-progress i{display:block!important;width:0;height:1px!important;background:#fff!important}
@media(max-width:720px){
  .kka-public-gallery{padding-left:1px!important;padding-right:1px!important;padding-bottom:20px!important}
  .kka-public-gallery .kka-public-title{display:none!important}
  .kka-public-gallery .kka-public-owner{font-size:8px!important}
  .kka-public-gallery .kka-public-meta{left:6px!important;right:6px!important;bottom:6px!important}
  .kka-public-lightbox{padding:3vh 8px!important}
  .kka-public-lightbox .kka-public-lightbox-shell{max-width:96vw!important}
  .kka-public-lightbox .kka-public-lightbox-shell video{max-width:96vw!important;max-height:84vh!important}
}
.kka-public-gallery .kka-public-like::before,.kka-public-gallery .kka-public-like::after,.kka-public-gallery .kka-public-more::before,.kka-public-gallery .kka-public-more::after,.kka-public-lightbox .kka-public-lightbox-close::before,.kka-public-lightbox .kka-public-lightbox-close::after{content:none!important;display:none!important}

/* v2.15 sharp premium lightbox — exact ratio, smaller stage */
.kka-public-lightbox{padding:3vh 3vw!important;background:rgba(7,9,13,.82)!important;backdrop-filter:blur(12px)!important}
.kka-public-lightbox .kka-public-lightbox-shell{
  position:relative!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  max-width:none!important;max-height:none!important;background:#060709!important;overflow:hidden!important;
  box-shadow:0 24px 74px rgba(0,0,0,.38)!important;
}
.kka-public-lightbox.ratio-16-9 .kka-public-lightbox-shell{
  width:min(1080px,76vw,calc(76vh * 16 / 9))!important;aspect-ratio:16/9!important;
}
.kka-public-lightbox.ratio-9-16 .kka-public-lightbox-shell{
  width:min(430px,34vw,calc(76vh * 9 / 16))!important;aspect-ratio:9/16!important;
}
.kka-public-lightbox.ratio-1-1 .kka-public-lightbox-shell{
  width:min(620px,58vw,74vh)!important;aspect-ratio:1/1!important;
}
.kka-public-lightbox .kka-public-lightbox-shell video{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#060709!important;
  object-fit:contain!important;
}
.kka-public-lightbox .kka-public-lightbox-close{
  right:8px!important;top:8px!important;width:28px!important;height:28px!important;border:1px solid rgba(255,255,255,.18)!important;
  border-radius:0!important;background:rgba(6,8,12,.30)!important;color:rgba(255,255,255,.88)!important;
  font-size:12px!important;backdrop-filter:blur(5px)!important;
}
.kka-public-lightbox .kka-public-lightbox-close:hover{background:rgba(6,8,12,.52)!important;color:#fff!important}
@media(max-width:720px){
  .kka-public-lightbox{padding:2.5vh 8px!important}
  .kka-public-lightbox.ratio-16-9 .kka-public-lightbox-shell{width:min(94vw,calc(76vh * 16 / 9))!important}
  .kka-public-lightbox.ratio-9-16 .kka-public-lightbox-shell{width:min(82vw,calc(74vh * 9 / 16))!important}
  .kka-public-lightbox.ratio-1-1 .kka-public-lightbox-shell{width:min(86vw,70vh)!important}
}


/* KMETA subscriber access extension — keeps the Home Shopping gallery geometry untouched. */
.kka-public-gallery .kka-public-poster{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;background:#090a0c!important;box-shadow:none!important}
.kka-public-gallery .kka-public-poster-empty{display:flex!important;align-items:center!important;justify-content:center!important;color:rgba(255,255,255,.48)!important;font-size:11px!important;letter-spacing:.16em!important;font-weight:700!important}
.kka-public-gallery .kka-public-video-card.is-locked{cursor:pointer!important}
/* v4.65: 구독 잠금 카드도 비회원에게 포스터를 원본 밝기로 보여준다.
 * 잠금 여부는 좌측 상단의 작은 구독 배지와 클릭 시 Membership 공용 Gate로만 안내한다. */
.kka-public-gallery .kka-public-video-card.is-locked .kka-public-like{opacity:.46!important;cursor:default!important}

/* ======================================================================
 * v4.22 CUSTOMER GALLERY — clean separated grids + storybook loop
 * Admin finished gallery remains Masonry in admin.css/admin.js.
 * ====================================================================== */
.kka-public-gallery{
  width:100%!important;max-width:1480px!important;margin:0 auto!important;padding:22px 24px 48px!important;
  background:#fff!important;color:#172033!important;overflow:visible!important;
}
.kka-public-sections{display:grid!important;gap:48px!important;max-width:1440px!important;margin:0 auto!important;padding:0!important}
.kka-public-section{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;scroll-margin-top:18px!important}
.kka-public-section.is-loading .kka-public-grid{opacity:.42!important;pointer-events:none!important}
.kka-public-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 16px!important;padding:0 2px 12px!important;border-bottom:1px solid #e8edf4!important;color:#172033!important}
.kka-public-section-head>div{min-width:0!important}.kka-public-section-head span{display:block!important;margin:0 0 5px!important;color:#1d4ed8!important;font-size:8px!important;font-weight:800!important;line-height:1!important;letter-spacing:.18em!important}
.kka-public-section-head h3{margin:0!important;padding:0!important;color:#172033!important;font-family:"Nanum Myeongjo","Noto Serif KR",Georgia,serif!important;font-size:23px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-.03em!important}
.kka-public-section-head em{display:flex!important;align-items:baseline!important;gap:5px!important;margin:0!important;padding:0!important;color:#98a2b3!important;font-style:normal!important;font-size:8px!important;font-weight:700!important;letter-spacing:.12em!important;white-space:nowrap!important}
.kka-public-section-head em b{color:#344054!important;font-size:12px!important;font-weight:700!important;letter-spacing:0!important}

.kka-public-gallery .kka-public-grid{position:relative!important;display:grid!important;grid-template-columns:repeat(var(--kka-cols,4),minmax(0,1fr))!important;gap:24px 18px!important;width:100%!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;transition:opacity .16s ease!important}
.kka-public-gallery .kka-public-video-card{position:relative!important;display:block!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:17px!important;background:#fff!important;color:#172033!important;overflow:visible!important;cursor:pointer!important;box-shadow:none!important;filter:none!important;transition:transform .20s ease!important}
.kka-public-gallery .kka-public-video-card:hover{filter:none!important;transform:translateY(-2px)!important}
.kka-public-gallery .kka-public-video-media{position:relative!important;display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:1px solid #e4e9f1!important;border-radius:17px!important;overflow:hidden!important;background:#eef2f7!important;box-shadow:0 10px 26px rgba(23,42,76,.08)!important;transition:box-shadow .20s ease,border-color .20s ease!important}
.kka-public-gallery .kka-public-video-card:hover .kka-public-video-media{border-color:#d4deec!important;box-shadow:0 15px 34px rgba(23,42,76,.13)!important}
.kka-public-gallery .kka-public-video-card.ratio-16-9 .kka-public-video-media{aspect-ratio:16/9!important}
.kka-public-gallery .kka-public-video-card.ratio-9-16 .kka-public-video-media{aspect-ratio:9/16!important}
.kka-public-gallery .kka-public-video-media video,.kka-public-gallery .kka-public-poster{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;background:#eef2f7!important;pointer-events:none!important;box-shadow:none!important}
.kka-public-gallery .kka-public-shade{position:absolute!important;inset:0!important;z-index:1!important;background:linear-gradient(to top,rgba(6,12,24,.48),rgba(6,12,24,.06) 32%,transparent 58%)!important;opacity:.68!important;pointer-events:none!important;transition:opacity .16s ease!important}
.kka-public-gallery .kka-public-video-card:hover .kka-public-shade{opacity:.80!important}
.kka-public-gallery .kka-public-card-title{display:block!important;margin:10px 5px 0!important;padding:0!important;color:#172033!important;font-family:"Nanum Myeongjo","Noto Serif KR",Georgia,serif!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.kka-public-gallery .kka-public-meta{left:10px!important;right:9px!important;bottom:8px!important;z-index:4!important}
.kka-public-gallery .kka-public-meta>span:first-child{display:block!important;min-width:0!important;max-width:58%!important;color:#fff!important;font-size:9px!important;font-weight:650!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 1px 6px rgba(0,0,0,.62)!important}
.kka-public-gallery .kka-public-meta>span:last-child{display:flex!important;align-items:center!important;gap:8px!important}
.kka-public-gallery .kka-public-meta em{display:inline-flex!important;align-items:center!important;height:20px!important;padding:0 7px!important;border-radius:999px!important;background:rgba(7,12,22,.46)!important;color:#fff!important;font-style:normal!important;font-size:9px!important;font-weight:650!important;backdrop-filter:blur(5px)!important}
.kka-public-gallery .kka-public-access-badge,.kka-public-gallery .kka-public-lang-badge{position:absolute!important;z-index:5!important;top:9px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:22px!important;margin:0!important;padding:0 8px!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:999px!important;background:rgba(12,20,36,.58)!important;color:#fff!important;font-size:8px!important;font-weight:750!important;line-height:1!important;letter-spacing:.03em!important;backdrop-filter:blur(7px)!important;pointer-events:none!important}
.kka-public-gallery .kka-public-access-badge{left:9px!important}.kka-public-gallery .kka-public-access-badge.is-free{background:rgba(15,38,181,.72)!important}.kka-public-gallery .kka-public-access-badge.is-subscriber{background:rgba(21,31,52,.76)!important}.kka-public-gallery .kka-public-lang-badge{right:9px!important;min-width:31px!important;background:rgba(255,255,255,.82)!important;border-color:rgba(255,255,255,.86)!important;color:#25324a!important}
.kka-public-gallery .kka-public-progress{height:2px!important;border-radius:0 0 17px 17px!important;overflow:hidden!important}.kka-public-gallery .kka-public-progress i{height:2px!important;background:#fff!important}
.kka-public-gallery .kka-public-empty{grid-column:1/-1!important;min-height:180px!important;border:1px dashed #dce3ed!important;border-radius:18px!important;background:#fbfcfe!important;color:#8a94a5!important}

/* Filter bar: compact premium, can be disabled by dashboard switches. */
.kka-public-filters{max-width:1440px!important;margin:0 auto 28px!important;padding:14px 16px!important;border:1px solid #e5eaf1!important;border-radius:18px!important;background:#fbfcfe!important;box-shadow:0 8px 24px rgba(23,42,76,.04)!important}
.kka-filter-row{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;padding:7px 0!important;border-bottom:1px solid #edf1f6!important}.kka-filter-row:last-child{border-bottom:0!important}
.kka-filter-row>b{margin:0!important;color:#667085!important;font-size:10px!important;font-weight:750!important;line-height:1.2!important}.kka-filter-row>div{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}
.kka-filter-row button{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;margin:0!important;padding:0 11px!important;border:1px solid transparent!important;border-radius:999px!important;background:transparent!important;color:#667085!important;font-family:inherit!important;font-size:9.5px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;transition:.15s ease!important}
.kka-filter-row button:hover{border-color:#d8e1ef!important;background:#fff!important;color:#22304a!important}.kka-filter-row button.is-active{border-color:#bfd0ff!important;background:#eef4ff!important;color:#0f36c9!important;box-shadow:inset 0 0 0 1px rgba(15,54,201,.03)!important}

/* Pagination — soft child-friendly shape without looking toy-like. */
.kka-public-pages{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin:26px 0 0!important;padding:0!important}
.kka-public-pages button{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:1px solid #dce4ef!important;border-radius:12px!important;background:#fff!important;color:#667085!important;font-family:inherit!important;font-size:11px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;box-shadow:0 4px 12px rgba(23,42,76,.04)!important;transition:.16s ease!important}
.kka-public-pages button:hover:not(:disabled){transform:translateY(-1px)!important;border-color:#b7c8e6!important;color:#123cc6!important;box-shadow:0 7px 16px rgba(23,42,76,.08)!important}.kka-public-pages button.is-active{border-color:#173fce!important;background:#173fce!important;color:#fff!important;box-shadow:0 7px 18px rgba(23,63,206,.20)!important}.kka-public-pages button:disabled{opacity:.32!important;cursor:default!important}

/* Storybook-derived continuous loop, adapted to animation thumbnails + title below. */
.kka-animation-loop{--kka-loop-gap:10px;--kka-loop-card-w:236px;position:relative!important;width:100%!important;max-width:1440px!important;margin:0 auto 28px!important;padding:10px 2px 16px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-ms-overflow-style:none!important;isolation:isolate!important;cursor:grab!important;user-select:none!important;-webkit-user-select:none!important;touch-action:pan-y!important}
.kka-animation-loop::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.kka-animation-loop.is-dragging{cursor:grabbing!important}.kka-animation-loop *{box-sizing:border-box!important}
.kka-animation-loop-track{display:flex!important;align-items:stretch!important;gap:var(--kka-loop-gap)!important;width:max-content!important;transform:translateZ(0)!important;will-change:scroll-position!important}.kka-animation-loop-group{display:flex!important;align-items:stretch!important;gap:var(--kka-loop-gap)!important;flex:none!important}
.kka-animation-loop.is-portrait{--kka-loop-card-w:158px!important}.kka-animation-loop-card,.kka-animation-loop-card:hover,.kka-animation-loop-card:focus,.kka-animation-loop-card:focus-visible,.kka-animation-loop-card:active{appearance:none!important;-webkit-appearance:none!important;display:block!important;flex:0 0 var(--kka-loop-card-w)!important;width:var(--kka-loop-card-w)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#172033!important;text-decoration:none!important;outline:0!important;box-shadow:none!important;position:relative!important;transform:translateZ(0)!important;text-align:left!important;cursor:grab!important;font:inherit!important;-webkit-tap-highlight-color:transparent!important}.kka-animation-loop.is-dragging .kka-animation-loop-card{cursor:grabbing!important}
.kka-animation-loop-media{display:block!important;position:relative!important;width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important;background:#eef2f7!important;border:1px solid rgba(23,42,76,.16)!important;border-radius:15px!important;box-shadow:0 12px 28px rgba(15,32,64,.12),0 2px 7px rgba(15,32,64,.05)!important;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease!important}.kka-animation-loop.is-portrait .kka-animation-loop-media{aspect-ratio:9/16!important;border-radius:16px!important}.kka-animation-loop-card:hover .kka-animation-loop-media,.kka-animation-loop-card:focus-visible .kka-animation-loop-media{transform:translateY(-3px)!important;border-color:rgba(23,42,76,.22)!important;box-shadow:0 17px 35px rgba(15,32,64,.16),0 4px 10px rgba(15,32,64,.07)!important}
.kka-animation-loop-media img,.kka-animation-loop-media video{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;object-fit:cover!important;background:#eef2f7!important;pointer-events:none!important}.kka-animation-loop-media video{z-index:2!important}.kka-animation-loop-media img{z-index:1!important}
.kka-loop-play{position:absolute!important;z-index:3!important;left:50%!important;top:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;margin:-19px 0 0 -19px!important;border:1px solid rgba(255,255,255,.64)!important;border-radius:50%!important;background:rgba(8,15,28,.35)!important;color:#fff!important;font-style:normal!important;font-size:12px!important;line-height:1!important;backdrop-filter:blur(6px)!important;opacity:.72!important;transition:.18s ease!important;pointer-events:none!important}.kka-animation-loop-card:hover .kka-loop-play{opacity:1!important;transform:scale(1.04)!important}
.kka-loop-lock{position:absolute!important;z-index:4!important;left:9px!important;top:9px!important;display:inline-flex!important;align-items:center!important;height:21px!important;padding:0 7px!important;border:1px solid rgba(255,255,255,.66)!important;border-radius:999px!important;background:rgba(16,26,46,.68)!important;color:#fff!important;font-style:normal!important;font-size:7px!important;font-weight:800!important;letter-spacing:.08em!important;backdrop-filter:blur(7px)!important}
.kka-animation-loop-title{display:block!important;margin:9px 4px 0!important;padding:0!important;color:#25324a!important;font-family:"Nanum Myeongjo","Noto Serif KR",Georgia,serif!important;font-size:12.5px!important;font-weight:400!important;line-height:1.4!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;pointer-events:none!important}.kka-animation-loop.is-portrait .kka-animation-loop-title{font-size:11.5px!important}

/* Lightbox fullscreen / restore — same control for customer and admin viewer. */
.kka-public-lightbox .kka-public-lightbox-fullscreen{all:unset!important;box-sizing:border-box!important;position:absolute!important;z-index:9!important;right:44px!important;top:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:0!important;background:rgba(6,8,12,.30)!important;color:rgba(255,255,255,.90)!important;cursor:pointer!important;backdrop-filter:blur(5px)!important;transition:.15s ease!important}.kka-public-lightbox .kka-public-lightbox-fullscreen:hover{background:rgba(6,8,12,.54)!important;color:#fff!important}.kka-public-lightbox .kka-public-lightbox-fullscreen svg{display:block!important;width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.kka-public-lightbox.is-maximized{padding:0!important;background:#050608!important}.kka-public-lightbox.is-maximized .kka-public-lightbox-shell,.kka-public-lightbox .kka-public-lightbox-shell:fullscreen,.kka-public-lightbox .kka-public-lightbox-shell:-webkit-full-screen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important;background:#050608!important}.kka-public-lightbox.is-maximized .kka-public-lightbox-shell video,.kka-public-lightbox .kka-public-lightbox-shell:fullscreen video,.kka-public-lightbox .kka-public-lightbox-shell:-webkit-full-screen video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;background:#050608!important}

@media(max-width:1180px){.kka-public-gallery{padding-left:18px!important;padding-right:18px!important}.kka-public-gallery .kka-public-section.is-landscape .kka-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kka-public-gallery .kka-public-section.is-portrait .kka-public-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:780px){.kka-public-gallery{padding:14px 10px 34px!important}.kka-public-sections{gap:38px!important}.kka-public-section-head h3{font-size:19px!important}.kka-public-gallery .kka-public-section.is-landscape .kka-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}.kka-public-gallery .kka-public-section.is-portrait .kka-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 8px!important}.kka-public-gallery .kka-public-card-title{font-size:11.5px!important;margin:7px 3px 0!important}.kka-public-filters{margin-bottom:20px!important;padding:11px 12px!important;border-radius:15px!important}.kka-filter-row{grid-template-columns:58px minmax(0,1fr)!important;gap:8px!important}.kka-filter-row button{min-height:28px!important;padding:0 9px!important;font-size:9px!important}.kka-animation-loop{--kka-loop-gap:7px;--kka-loop-card-w:190px;width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;margin-left:calc(50% - 50vw + 6px)!important;margin-right:calc(50% - 50vw + 6px)!important;padding:7px 0 12px!important}.kka-animation-loop.is-portrait{--kka-loop-card-w:132px!important}.kka-animation-loop-title{font-size:10.5px!important;margin-top:7px!important}.kka-public-pages{gap:5px!important;margin-top:22px!important}.kka-public-pages button{width:34px!important;height:34px!important;border-radius:11px!important}}
@media(max-width:460px){.kka-public-gallery .kka-public-section.is-portrait .kka-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kka-public-section-head em{display:none!important}.kka-filter-row{display:block!important}.kka-filter-row>b{display:block!important;margin:0 0 7px!important}.kka-public-gallery .kka-public-meta>span:first-child{display:none!important}}


/* v4.23 ACCESS BADGES — exact KMETA Kids Book v11.15 badge design */
.kka-public-gallery .kka-public-access-badge,
.kka-animation-loop .kka-loop-access-badge{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  z-index:6!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  backdrop-filter:blur(12px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(120%)!important;
  box-shadow:0 8px 18px rgba(2,6,23,.24),inset 0 1px 0 rgba(255,255,255,.16)!important;
  user-select:none!important;
  pointer-events:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
.kka-public-gallery .kka-public-access-badge .ico,
.kka-animation-loop .kka-loop-access-badge .ico{font-size:10px!important;line-height:1!important;opacity:.92!important}
.kka-public-gallery .kka-public-access-badge.is-sample,
.kka-animation-loop .kka-loop-access-badge.is-sample{
  color:#f8fafc!important;
  border:1px solid rgba(226,232,240,.42)!important;
  background:linear-gradient(180deg,rgba(100,116,139,.42),rgba(51,65,85,.30))!important;
}
.kka-public-gallery .kka-public-access-badge.is-free,
.kka-animation-loop .kka-loop-access-badge.is-free{
  color:#ecfff7!important;
  border:1px solid rgba(52,211,153,.34)!important;
  background:linear-gradient(180deg,rgba(16,185,129,.18),rgba(5,150,105,.10))!important;
}
.kka-public-gallery .kka-public-access-badge.is-subscriber,
.kka-animation-loop .kka-loop-access-badge.is-subscriber{
  color:#ffe8b3!important;
  border:1px solid rgba(245,200,94,.42)!important;
  background:linear-gradient(180deg,rgba(38,32,17,.76),rgba(15,12,7,.66))!important;
}
.kka-animation-loop .kka-loop-lock{display:none!important}


/* ======================================================================
 * v4.27 DISPLAY POLISH — square media, collapsible filters, Elementor-safe
 * ====================================================================== */
.kka-public-gallery .kka-public-video-card,
.kka-public-gallery .kka-public-video-media,
.kka-animation-loop-media{border-radius:0!important}
.kka-public-gallery .kka-public-progress{border-radius:0!important}
.kka-animation-loop.is-portrait .kka-animation-loop-media{border-radius:0!important}
.kka-animation-loop-media video{opacity:0!important;visibility:hidden!important;transition:opacity .14s ease!important;background:transparent!important}
.kka-animation-loop-card.is-previewing .kka-animation-loop-media video{opacity:1!important;visibility:visible!important}
.kka-animation-loop-media img{opacity:1!important;visibility:visible!important}
.kka-public-heading{max-width:1440px!important;margin:0 auto 18px!important;padding:0!important;border:0!important}
.kka-public-heading h2{margin:0!important;padding:0!important;color:#172033!important;font-family:"Nanum Myeongjo","Noto Serif KR",Georgia,serif!important;font-size:24px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:-.03em!important}
.kka-public-total{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.kka-public-sections{gap:34px!important}
.kka-public-filter-panel{max-width:1440px!important;margin:0 auto 22px!important;padding:0!important;border:1px solid #e1e6ee!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:visible!important}
.kka-public-filter-panel>summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;height:42px!important;padding:0 14px!important;margin:0!important;cursor:pointer!important;color:#344054!important;font-size:10px!important;font-weight:800!important;letter-spacing:.02em!important;user-select:none!important}
.kka-public-filter-panel>summary::-webkit-details-marker{display:none!important}
.kka-public-filter-panel>summary i{position:relative!important;width:13px!important;height:13px!important;display:block!important}
.kka-public-filter-panel>summary i:before,.kka-public-filter-panel>summary i:after{content:""!important;position:absolute!important;left:1px!important;top:6px!important;width:11px!important;height:1px!important;background:#7b8798!important}
.kka-public-filter-panel>summary i:after{transform:rotate(90deg)!important;transition:transform .15s ease!important}
.kka-public-filter-panel[open]>summary i:after{transform:rotate(0)!important}
.kka-public-filters{max-width:none!important;margin:0!important;padding:8px 14px 10px!important;border:0!important;border-top:1px solid #edf1f6!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.kka-filter-row{grid-template-columns:68px minmax(0,1fr)!important;gap:10px!important;padding:5px 0!important}
.kka-filter-row button{min-height:28px!important;padding:0 9px!important;border-radius:0!important}
.kka-public-gallery .kka-public-empty{border-radius:0!important}
.elementor-editor-active .kka-public-gallery,.elementor-edit-area .kka-public-gallery,.elementor-widget-shortcode .kka-public-gallery{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:8px!important;padding-right:8px!important;overflow:hidden!important}
.elementor-editor-active .kka-animation-loop,.elementor-edit-area .kka-animation-loop,.elementor-widget-shortcode .kka-animation-loop{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.elementor-editor-active .kka-public-gallery .kka-public-grid,.elementor-edit-area .kka-public-gallery .kka-public-grid,.elementor-widget-shortcode .kka-public-gallery .kka-public-grid{min-width:0!important}
@media(max-width:780px){.kka-public-filters{padding:7px 10px 9px!important;border-radius:0!important}.kka-public-filter-panel{margin-bottom:16px!important}.kka-filter-row{grid-template-columns:58px minmax(0,1fr)!important}}

/* ======================================================================
 * v4.28 FILTER MODAL + TRUE INFINITE LOOP
 * ====================================================================== */
.kka-public-filter-toolbar{display:flex!important;align-items:center!important;justify-content:flex-end!important;width:100%!important;max-width:1440px!important;margin:0 auto 16px!important;padding:0!important;border:0!important;background:transparent!important}
.kka-public-filter-trigger{all:unset!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;height:34px!important;padding:0 13px!important;border:1px solid #dfe5ee!important;border-radius:0!important;background:#fff!important;color:#344054!important;font-family:inherit!important;font-size:10px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;transition:border-color .15s ease,color .15s ease,background .15s ease!important}
.kka-public-filter-trigger:hover{border-color:#9fb2d2!important;color:#103ecb!important;background:#fbfcff!important}.kka-public-filter-trigger svg{display:block!important;width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html.kka-filter-modal-open{overflow:hidden!important}
.kka-public-filter-modal,.kka-public-filter-modal *{box-sizing:border-box!important}
.kka-public-filter-modal{position:fixed!important;inset:0!important;z-index:2147482500!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .15s ease,visibility .15s ease!important}
.kka-public-filter-modal.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.kka-public-filter-backdrop{position:absolute!important;inset:0!important;background:rgba(10,16,28,.42)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important}
.kka-public-filter-dialog{position:relative!important;z-index:1!important;width:min(720px,94vw)!important;max-height:min(82vh,760px)!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important;border:1px solid #dce3ed!important;border-radius:0!important;background:#fff!important;color:#172033!important;box-shadow:0 30px 90px rgba(15,23,42,.25)!important;overflow:hidden!important}
.kka-public-filter-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex:0 0 auto!important;padding:20px 22px 17px!important;border-bottom:1px solid #edf1f6!important;background:#fff!important}.kka-public-filter-head>div{min-width:0!important}.kka-public-filter-head span{display:block!important;margin:0 0 5px!important;color:#0f3dc8!important;font-size:8px!important;font-weight:900!important;line-height:1!important;letter-spacing:.18em!important}.kka-public-filter-head h3{margin:0!important;padding:0!important;color:#172033!important;font-family:"Nanum Myeongjo","Noto Serif KR",Georgia,serif!important;font-size:22px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-.03em!important}
.kka-public-filter-close{all:unset!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;flex:0 0 30px!important;border:1px solid #e0e6ef!important;border-radius:0!important;background:#fff!important;color:#667085!important;cursor:pointer!important}.kka-public-filter-close:hover{color:#173fce!important;border-color:#b8c8e2!important}.kka-public-filter-close svg{display:block!important;width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;stroke-linecap:round!important}
.kka-public-filter-modal .kka-public-filters{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;max-width:none!important;margin:0!important;padding:10px 22px 12px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.kka-public-filter-modal .kka-filter-row{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;margin:0!important;padding:11px 0!important;border-bottom:1px solid #f0f3f7!important}.kka-public-filter-modal .kka-filter-row:last-child{border-bottom:0!important}.kka-public-filter-modal .kka-filter-row>b{display:block!important;padding:8px 0 0!important;color:#667085!important;font-size:10px!important;font-weight:800!important;line-height:1.2!important}.kka-public-filter-modal .kka-filter-row>div{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important;min-width:0!important}
.kka-public-filter-modal .kka-filter-row button{all:unset!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:0 11px!important;border:1px solid #dfe5ee!important;border-radius:0!important;background:#fff!important;color:#667085!important;font-family:inherit!important;font-size:10px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;transition:.14s ease!important}.kka-public-filter-modal .kka-filter-row button:hover{border-color:#aebdd5!important;color:#173fce!important}.kka-public-filter-modal .kka-filter-row button.is-active{border-color:#173fce!important;background:#173fce!important;color:#fff!important}
.kka-public-filter-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex:0 0 auto!important;padding:14px 22px!important;border-top:1px solid #edf1f6!important;background:#fbfcfe!important}.kka-public-filter-actions>div{display:flex!important;align-items:center!important;gap:7px!important}.kka-public-filter-actions button{all:unset!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:72px!important;height:34px!important;padding:0 13px!important;border:1px solid #dce3ed!important;border-radius:0!important;background:#fff!important;color:#475467!important;font-family:inherit!important;font-size:10px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important}.kka-public-filter-actions button:hover{border-color:#aebdd5!important;color:#173fce!important}.kka-public-filter-actions button.is-primary{border-color:#173fce!important;background:#173fce!important;color:#fff!important}.kka-public-filter-actions button.is-reset{border-color:transparent!important;background:transparent!important;color:#7b8798!important;padding-left:0!important;justify-content:flex-start!important;min-width:0!important}
/* v4.27 details filter is retired; keep old selectors harmless for cached markup. */
.kka-public-filter-panel{display:none!important}
/* The loop must always have enough repeated content to travel one complete group. JS creates copies dynamically. */
.kka-animation-loop-track{min-width:max-content!important}.kka-animation-loop-group{flex:none!important}
/* Keep all video tiles sharp/square. */
.kka-animation-loop-media,.kka-animation-loop.is-portrait .kka-animation-loop-media,.kka-public-gallery .kka-public-video-media,.kka-public-gallery .kka-public-video-card{border-radius:0!important}
@media(max-width:780px){.kka-public-filter-toolbar{margin-bottom:12px!important;padding:0!important}.kka-public-filter-trigger{height:32px!important;padding:0 11px!important;font-size:9px!important}.kka-public-filter-modal{padding:12px!important}.kka-public-filter-dialog{width:100%!important;max-height:88vh!important}.kka-public-filter-head{padding:17px 16px 14px!important}.kka-public-filter-head h3{font-size:19px!important}.kka-public-filter-modal .kka-public-filters{padding:8px 16px 10px!important}.kka-public-filter-modal .kka-filter-row{grid-template-columns:64px minmax(0,1fr)!important;gap:8px!important;padding:9px 0!important}.kka-public-filter-modal .kka-filter-row button{min-height:29px!important;padding:0 9px!important;font-size:9px!important}.kka-public-filter-actions{padding:12px 16px!important}.kka-public-filter-actions button{height:32px!important;min-width:62px!important;font-size:9px!important}}
@media(max-width:460px){.kka-public-filter-modal .kka-filter-row{display:block!important}.kka-public-filter-modal .kka-filter-row>b{padding:0!important;margin:0 0 7px!important}.kka-public-filter-modal .kka-filter-row>div{gap:5px!important}.kka-public-filter-actions{align-items:center!important}.kka-public-filter-actions button{padding:0 10px!important}}

/* v4.29 — customer titles: refined size, 2-line clamp, centered alignment */
.kka-public-gallery .kka-public-card-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  width:100%!important;
  min-height:2.7em!important;
  max-height:2.7em!important;
  margin:9px 0 0!important;
  padding:0 4px!important;
  overflow:hidden!important;
  white-space:normal!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:12.8px!important;
  line-height:1.35!important;
}
.kka-animation-loop-title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  width:100%!important;
  min-height:2.7em!important;
  max-height:2.7em!important;
  margin:8px 0 0!important;
  padding:0 3px!important;
  overflow:hidden!important;
  white-space:normal!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:11.4px!important;
  line-height:1.35!important;
}
.kka-animation-loop.is-portrait .kka-animation-loop-title{font-size:10.5px!important}
@media(max-width:780px){
  .kka-public-gallery .kka-public-card-title{font-size:10.5px!important;line-height:1.35!important;margin-top:7px!important}
  .kka-animation-loop-title{font-size:9.6px!important;line-height:1.35!important;margin-top:6px!important}
  .kka-animation-loop.is-portrait .kka-animation-loop-title{font-size:9.2px!important}
}


/* v4.40 public/customer viewer parity with admin final viewer */
.kka-public-lightbox .kka-public-lightbox-shell video{controls:auto!important}
.kka-public-lightbox .kka-public-lightbox-info{padding:26px 18px 38px!important;background:linear-gradient(transparent,rgba(0,0,0,.62))!important}
.kka-public-lightbox .kka-public-lightbox-info b{font-family:"Noto Serif KR","Nanum Myeongjo",Georgia,serif!important;font-size:14px!important;font-weight:500!important;letter-spacing:-.015em!important;line-height:1.28!important;text-shadow:0 1px 8px rgba(0,0,0,.32)!important}
.kka-public-lightbox .kka-public-lightbox-info small{font-family:inherit!important;font-size:8px!important;opacity:.82!important}
.kka-public-lightbox .kka-public-lightbox-info em{font-size:9px!important;letter-spacing:.14em!important;color:rgba(255,255,255,.74)!important}
.kka-public-lightbox .kka-public-lightbox-progress{bottom:30px!important;opacity:.76!important}


/* v4.42 CUSTOMER PLAYER LOCK — identical control geometry, no bottom gradient */
.kka-public-lightbox .kka-public-lightbox-shell{position:relative!important;overflow:hidden!important;border-radius:0!important;background:#050608!important}
.kka-public-lightbox .kka-public-lightbox-info{position:absolute!important;z-index:18!important;left:18px!important;right:auto!important;bottom:22px!important;display:block!important;width:auto!important;max-width:72%!important;margin:0!important;padding:0!important;background:none!important;background-image:none!important;color:#fff!important;pointer-events:none!important;text-align:left!important}
.kka-public-lightbox .kka-public-lightbox-info>span{display:block!important}
.kka-public-lightbox .kka-public-lightbox-info b{display:block!important;margin:0!important;padding:0!important;font-family:"Noto Serif KR","Nanum Myeongjo",Georgia,serif!important;font-size:13px!important;font-weight:500!important;line-height:1.25!important;letter-spacing:-.015em!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 1px 5px rgba(0,0,0,.70)!important}
.kka-public-lightbox .kka-public-lightbox-info small{display:block!important;margin:3px 0 0!important;font-size:8.5px!important;color:rgba(255,255,255,.88)!important;text-shadow:0 1px 4px rgba(0,0,0,.65)!important}
.kka-public-lightbox .kka-public-lightbox-info em{display:block!important;margin:3px 0 0!important;font-size:9px!important;font-style:normal!important;color:rgba(255,255,255,.90)!important;text-shadow:0 1px 4px rgba(0,0,0,.65)!important}
.kka-public-lightbox .kka-public-lightbox-fullscreen{all:unset!important;box-sizing:border-box!important;position:absolute!important;z-index:31!important;right:44px!important;top:8px!important;width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.20)!important;background:rgba(110,110,110,.52)!important;color:#fff!important;cursor:pointer!important}
.kka-public-lightbox .kka-public-lightbox-close{all:unset!important;box-sizing:border-box!important;position:absolute!important;z-index:31!important;right:8px!important;top:8px!important;width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.20)!important;background:rgba(110,110,110,.52)!important;color:#fff!important;font:300 18px/1 Arial,sans-serif!important;cursor:pointer!important}
.kka-public-lightbox .kka-public-lightbox-fullscreen svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.45!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.kka-public-lightbox .kka-public-lightbox-volume{all:unset!important;box-sizing:border-box!important;position:absolute!important;z-index:25!important;right:18px!important;bottom:21px!important;width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;cursor:pointer!important;filter:drop-shadow(0 1px 4px rgba(0,0,0,.65))!important}
.kka-public-lightbox .kka-public-lightbox-volume svg{display:block!important;width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.65!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.kka-public-lightbox .kka-public-lightbox-progress{position:absolute!important;z-index:26!important;left:16px!important;right:16px!important;bottom:7px!important;width:auto!important;height:12px!important;background:transparent!important;opacity:1!important;pointer-events:auto!important;cursor:ew-resize!important;touch-action:none!important;overflow:visible!important}
.kka-public-lightbox .kka-public-lightbox-progress:before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:5px!important;height:1px!important;background:rgba(255,255,255,.82)!important}
.kka-public-lightbox .kka-public-lightbox-progress i{position:absolute!important;left:0!important;top:5px!important;height:1px!important;background:#fff!important;transition:none!important;pointer-events:none!important}
.kka-public-lightbox .kka-public-lightbox-progress i:after{content:""!important;position:absolute!important;right:-4px!important;top:-3px!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#fff!important;opacity:0!important;transition:opacity .12s ease!important}
.kka-public-lightbox .kka-public-lightbox-progress:hover i:after{opacity:1!important}


/* v4.43 PLAYER TITLE SCALE — customer view matches production/completed */
.kka-public-lightbox .kka-public-lightbox-info b{
  font-size:17px!important;
  line-height:1.22!important;
  font-weight:500!important;
  text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.86)!important;
}
.kka-public-lightbox .kka-public-lightbox-info small{
  font-size:10.5px!important;
  line-height:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 6px rgba(0,0,0,.82)!important;
}
@media(max-width:720px){
  .kka-public-lightbox .kka-public-lightbox-info b{font-size:15px!important}
  .kka-public-lightbox .kka-public-lightbox-info small{font-size:9.5px!important}
}


/* v4.45 — customer viewer title matches production/completed viewer. */
.kka-public-lightbox .kka-public-lightbox-info b{font-size:22px!important;line-height:1.18!important;font-weight:500!important}
.kka-public-lightbox .kka-public-lightbox-info small{font-size:12px!important}
@media(max-width:720px){.kka-public-lightbox .kka-public-lightbox-info b{font-size:18px!important}}


/* v4.46 — customer viewer caption matches compact production/completed viewer. */
.kka-public-lightbox .kka-public-lightbox-info b{font-size:13px!important;line-height:1.25!important;font-weight:500!important}
.kka-public-lightbox .kka-public-lightbox-info small{font-size:9px!important;line-height:1!important}
@media(max-width:720px){.kka-public-lightbox .kka-public-lightbox-info b{font-size:12px!important}.kka-public-lightbox .kka-public-lightbox-info small{font-size:8.5px!important}}


/* v4.47 LOCK — customer player uses the same compact caption as production/completed. */
.kka-public-lightbox .kka-public-lightbox-info b{font-size:12px!important;line-height:1.25!important;font-weight:600!important}
.kka-public-lightbox .kka-public-lightbox-info small{font-size:9px!important;line-height:1!important}
@media(max-width:720px){.kka-public-lightbox .kka-public-lightbox-info b{font-size:11px!important}}

/* ======================================================================
 * v4.55 MOBILE GALLERY — one card per row + compact mobile spacing
 * Desktop geometry remains unchanged.
 * ====================================================================== */
@media(max-width:900px){
  .kka-public-gallery{
    padding:4px 4px 24px!important;
  }
  .elementor-editor-active .kka-public-gallery,
  .elementor-edit-area .kka-public-gallery,
  .elementor-widget-shortcode .kka-public-gallery{
    padding-left:4px!important;
    padding-right:4px!important;
  }
  .kka-public-gallery .kka-public-section.is-landscape .kka-public-grid,
  .kka-public-gallery .kka-public-section.is-portrait .kka-public-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px 0!important;
  }
  .kka-public-gallery .kka-public-grid>.kka-public-video-card{
    width:100%!important;
    max-width:none!important;
  }
  .kka-public-filter-toolbar{
    margin:0 auto 6px!important;
  }
  .kka-public-filter-trigger{
    height:28px!important;
    padding:0 10px!important;
  }
  .kka-public-filter-modal{
    padding:6px!important;
  }
  .kka-public-filter-head{
    padding:12px 12px 10px!important;
  }
  .kka-public-filter-modal .kka-public-filters{
    padding:4px 12px 6px!important;
  }
  .kka-public-filter-modal .kka-filter-row{
    gap:6px!important;
    padding:5px 0!important;
  }
  .kka-public-filter-modal .kka-filter-row>b{
    padding-top:6px!important;
  }
  .kka-public-filter-modal .kka-filter-row button{
    min-height:27px!important;
    padding:0 8px!important;
  }
  .kka-public-filter-actions{
    padding:8px 12px!important;
  }
}
@media(max-width:460px){
  .kka-public-filter-modal .kka-filter-row>b{
    padding:0!important;
    margin:0 0 4px!important;
  }
}



/* ======================================================================
 * v4.62 HOME LATEST ANIMATION — latest 8 / desktop 4x2 / 1px gap / shortcode width / title size
 * Isolated from the full public gallery so existing gallery layout stays intact.
 * ====================================================================== */
.kka-public-gallery.kka-latest-animation{
  width:100%!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:1px 0 8px!important;
  background:#fff!important;
  color:#14213d!important;
  overflow:visible!important;
}
.kka-latest-animation .kka-latest-shell{
  width:100%;
  max-width:1440px;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.kka-latest-animation .kka-latest-head{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.kka-latest-animation .kka-latest-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#123fc7!important;
  box-shadow:none!important;
}
.kka-latest-animation .kka-latest-icon svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.6!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.kka-latest-animation .kka-latest-title{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#15213b!important;
  font-family:"Noto Serif KR","Nanum Myeongjo","Batang",Georgia,"Times New Roman",serif!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.05!important;
  letter-spacing:-.028em!important;
  text-rendering:geometricPrecision!important;
}
.kka-latest-animation .kka-latest-title span{color:#15213b!important;font:inherit!important}
.kka-latest-animation .kka-latest-title em{color:#123fc7!important;font:inherit!important;font-style:normal!important}
.kka-latest-animation .kka-latest-title.is-custom{color:#15213b!important;font-weight:300!important;letter-spacing:-.032em!important}
.kka-latest-animation .kka-latest-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  overflow:hidden!important;
}
.kka-latest-animation .kka-latest-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#080b12!important;
  overflow:hidden!important;
  transform:none!important;
  box-shadow:none!important;
}
.kka-latest-animation .kka-latest-card:hover{transform:none!important;filter:none!important}
.kka-latest-animation .kka-latest-card .kka-public-video-media,
.kka-latest-animation .kka-latest-card.ratio-16-9 .kka-public-video-media,
.kka-latest-animation .kka-latest-card.ratio-9-16 .kka-public-video-media{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#080b12!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.kka-latest-animation .kka-latest-card .kka-public-video-media video,
.kka-latest-animation .kka-latest-card .kka-public-poster{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  background:#080b12!important;
}
.kka-latest-animation .kka-latest-card .kka-public-shade{
  background:linear-gradient(to top,rgba(2,7,18,.24),transparent 42%)!important;
  opacity:.50!important;
}
.kka-latest-animation .kka-latest-card:hover .kka-public-shade{opacity:.30!important}
.kka-latest-animation .kka-latest-card .kka-public-access-badge{
  top:8px!important;
  left:8px!important;
  height:auto!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  font-size:9px!important;
  line-height:1!important;
}
.kka-latest-animation .kka-latest-play{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:38px!important;
  margin:-19px 0 0 -19px!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:50%!important;
  background:rgba(6,13,27,.28)!important;
  color:#fff!important;
  opacity:.82!important;
  backdrop-filter:blur(5px)!important;
  pointer-events:none!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
.kka-latest-animation .kka-latest-card:hover .kka-latest-play{opacity:1!important;transform:scale(1.05)!important}
.kka-latest-animation .kka-latest-play svg{display:block!important;width:17px!important;height:17px!important;fill:currentColor!important;stroke:none!important}
.kka-latest-animation .kka-latest-card.is-playing .kka-latest-play{opacity:0!important}
.kka-latest-animation .kka-latest-card .kka-public-progress{border-radius:0!important}
.kka-latest-animation .kka-latest-empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:180px!important;
  border:0!important;
  background:#fbfcfe!important;
  color:#8a94a5!important;
  font-size:12px!important;
}
.elementor-editor-active .kka-public-gallery.kka-latest-animation,
.elementor-edit-area .kka-public-gallery.kka-latest-animation,
.elementor-widget-shortcode .kka-public-gallery.kka-latest-animation{
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}
.elementor-editor-active .kka-latest-animation .kka-latest-shell,
.elementor-edit-area .kka-latest-animation .kka-latest-shell,
.elementor-widget-shortcode .kka-latest-animation .kka-latest-shell{
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:980px){
  .kka-latest-animation .kka-latest-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kka-public-gallery.kka-latest-animation{padding-left:4px!important;padding-right:4px!important}
  .kka-latest-animation .kka-latest-shell{width:100%!important;max-width:none!important}
}
@media(max-width:640px){
  .kka-public-gallery.kka-latest-animation{width:100%!important;padding:1px 3px 6px!important}
  .kka-latest-animation .kka-latest-head{gap:3px!important;margin:0!important;padding:0 1px!important}
  .kka-latest-animation .kka-latest-icon{flex-basis:20px!important;width:20px!important;height:20px!important;border-radius:0!important}
  .kka-latest-animation .kka-latest-icon svg{width:14px!important;height:14px!important}
  .kka-latest-animation .kka-latest-grid{grid-template-columns:minmax(0,1fr)!important;gap:1px!important}
  .kka-latest-animation .kka-latest-play{width:34px!important;height:34px!important;margin:-17px 0 0 -17px!important}
}

/* v4.72 first-paint cleanup: use a flat pale-silver placeholder until poster media is ready. */
.kka-public-gallery .kka-public-video-card:not(.is-media-ready) .kka-public-video-media,
.kka-animation-loop-card:not(.is-media-ready) .kka-animation-loop-media{
  background:#eef1f4!important;
}
.kka-public-gallery .kka-public-video-card:not(.is-media-ready) .kka-public-shade{
  background:none!important;
  background-image:none!important;
  opacity:0!important;
}
