/* Lusen documentation: existing left category panel, compact right-hand gallery. */
.ek-download-layout { color: #fff; background: #000; }
.ek-download-layout .ek-product-panel { min-width: 0; }
.ek-download-layout .ek-product-img { object-fit: contain; background: #000; filter: none; }
.ek-download { min-width: 0; background: #000; color: #fff; font-family: 'Jost', 'Pretendard', -apple-system, sans-serif; }
.ek-layout.ek-download-layout .ek-product-name,
.ek-layout.ek-download-layout .ek-gallery-title { font-size: 16px; font-weight: 400; line-height: 24px; }
.ek-download-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 18px; }
.ek-download-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; margin: 0; padding: 0; background: transparent; }
.ek-download-card[hidden], .ek-download-loading[hidden] { display: none; }
.ek-download-cover { position: relative; flex-shrink: 0; display: block; width: 100%; aspect-ratio: 3 / 4; margin-bottom: 16px; background: transparent; }
.ek-download-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.ek-download-card h2 { margin: 0; color: #eee; font-size: 14px; font-weight: 400; line-height: 1.5; letter-spacing: .01em; }
.ek-download-description { margin: 10px 0 18px; color: #999; font-size: 12px; font-weight: 300; line-height: 1.7; }
.ek-download-card h2, .ek-download-description { word-break: normal; overflow-wrap: break-word; }
.ek-download-button { display: inline-block; margin-top: auto; padding: 6px 12px; border: 1px solid #444; background: transparent; color: #bbb; font-size: 11px; font-weight: 400; line-height: 20px; text-decoration: none; transition: border-color .2s, color .2s; }
.ek-download-button:hover, .ek-download-button:focus-visible { color: #fff; border-color: #999; }
.ek-download a:focus-visible { outline: 2px solid #b8925a; outline-offset: 5px; }
.ek-download-loading { padding: 24px 0; text-align: center; color: #999; font-size: 12px; }
@media (min-width: 901px) and (max-width: 1199px) { .ek-download-layout { grid-template-columns: 240px minmax(0, 1fr); } }
@media (max-width: 900px) {
  .ek-download-layout .ek-product-panel { padding: 12px 24px 0; aspect-ratio: auto; }
  .ek-layout.ek-download-layout .ek-product-img { width: 160px; height: 160px !important; }
  .ek-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 16px; }
  .ek-download-card { align-items: center; text-align: center; }
  .ek-download-card h2 { font-size: 13px; }
  .ek-download-description { font-size: 11px; line-height: 1.65; }
  .ek-download-button { font-size: 11px; padding: 6px 10px; }
}
/* Subtle cover emphasis, matching Lusen's image cards. */
.ek-download-cover { overflow: hidden; }
.ek-download-cover img { transform: scale(1); transition: transform .6s cubic-bezier(.16, 1, .3, 1), filter .4s ease; }
@media (hover: hover) and (pointer: fine) {
  .ek-download-cover:hover img { transform: scale(1.04); filter: brightness(.85); }
}
.ek-download-cover:focus-visible img { transform: scale(1.04); filter: brightness(.85); }
@media (prefers-reduced-motion: reduce) {
  .ek-download-cover img { transition: none; }
  .ek-download-cover:hover img, .ek-download-cover:focus-visible img { transform: none; }
}
/* Keep each fitted cover's outer edge fixed while only its contents zoom. */
.ek-download-cover-frame { position: absolute; display: block; left: 50%; top: 50%; transform: translate(-50%, -50%); overflow: hidden; }

/* Keep catalogue descriptions and actions at the shared body size on all screens. */
.ek-download-description, .ek-download-button, .ek-download-loading {
  font-size: 14px;
}
