/* === Band-style 미디어 그리드 (v3.14) === */
    .v314-grid {
      display: grid; gap: 2px; max-width: 100%; margin: 10px 0;
      border-radius: 8px; overflow: hidden; background: #f0f0f0;
    }
    .v314-grid-1 { grid-template: 1fr / 1fr; aspect-ratio: 16 / 10; }
    .v314-grid-2 { grid-template: 1fr / 1fr 1fr; aspect-ratio: 2 / 1; }
    .v314-grid-3 { grid-template: 1fr 1fr / 2fr 1fr; aspect-ratio: 3 / 2; }
    .v314-grid-3 > .v314-item:first-child { grid-row: 1 / 3; }
    .v314-grid-4, .v314-grid-many { grid-template: 1fr 1fr 1fr / 2fr 1fr; aspect-ratio: 1 / 1; }
    .v314-grid-4 > .v314-item:first-child,
    .v314-grid-many > .v314-item:first-child { grid-row: 1 / 4; }
    .v314-item { position: relative; overflow: hidden; background: #f0f0f0; cursor: pointer; }
    .v314-item img, .v314-item video {
      width: 100% !important; height: 100% !important; object-fit: cover !important; display: block;
    }
    .v314-more {
      position: absolute; inset: 0; background: rgba(0,0,0,0.55);
      color: #fff; display: flex; align-items: center; justify-content: center;
      font-size: 26px; font-weight: 600; pointer-events: none;
    }
    .v314-play {
      position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
      pointer-events: none; background: linear-gradient(rgba(0,0,0,0.05), rgba(0,0,0,0.2));
    }
    .v314-play::before {
      content: '▶'; font-size: 38px; color: rgba(255,255,255,0.95);
      text-shadow: 0 2px 8px rgba(0,0,0,0.5);
    }
    body.v38-applied .has-v314-media { display: none !important; }
    @media (max-width: 480px) {
      .v314-grid { border-radius: 4px; gap: 1px; }
      .v314-more { font-size: 18px; }
      .v314-play::before { font-size: 28px; }
    }
