/* =========================
   빠른티비 랜덤 배너 최종 CSS
   PC / 태블릿 / 모바일 2열 고정
   400x120 비율 유지
========================= */

/* 배너 전체 영역 */
.partner-random-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;

  /* 마지막 배너가 왼쪽에 붙고, 오른쪽 한 칸만 비게 하기 위해 flex-start */
  justify-content: flex-start !important;
  align-items: flex-start !important;

  gap: 0 !important;

  width: 100% !important;
  max-width: 800px !important;

  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;

  background: #000 !important;
  line-height: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* 실제 배너만 PC에서 400x120 */
.partner-random-grid > .prb-real {
  display: block !important;

  width: 400px !important;
  max-width: 400px !important;
  flex: 0 0 400px !important;

  height: 120px !important;
  max-height: 120px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #000 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  line-height: 0 !important;
}

/* 배너 내부 전체 강제 통일 */
.partner-random-grid > .prb-real > *,
.partner-random-grid > .prb-real .elementor-widget-container,
.partner-random-grid > .prb-real .elementor-image,
.partner-random-grid > .prb-real picture,
.partner-random-grid > .prb-real a {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 100% !important;
  max-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* 이미지 400x120 비율 강제 */
.partner-random-grid > .prb-real img {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 100% !important;
  max-height: 100% !important;

  object-fit: fill !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: top !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* 빈 위젯 / 삭제된 배너 자리 / HTML 코드 위젯 숨김 */
.partner-random-grid > .prb-hide,
.partner-random-grid > .elementor-widget-html,
.partner-random-grid > *:not(:has(img)) {
  display: none !important;

  width: 0 !important;
  max-width: 0 !important;

  height: 0 !important;
  max-height: 0 !important;

  flex: 0 0 0 !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 예전 코드가 만든 출력물 / 빈칸 전부 제거 */
.prg-empty,
.prg-output,
.partner-empty-cell,
.partner-random-output,
.partner-random-card,
.prb-empty-v2,
.prb-output-v2,
.qtv-random-output,
.qtv-random-empty,
.qtv-v3-output,
.qtv-v3-empty,
.qtv-final-output,
.qtv-final-empty,
#qtv-ultimate-output,
#qtv-ultimate-shell,
#qfix-banner-shell,
#qfix-banner-output,
#qtv-center-shell,
#qtv-center-output {
  display: none !important;
}

/* 태블릿: 무조건 2칸 */
@media (max-width: 1024px) {
  .partner-random-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    justify-content: flex-start !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  .partner-random-grid > .prb-real {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;

    height: auto !important;
    max-height: none !important;

    aspect-ratio: 400 / 120 !important;
  }

  .partner-random-grid > .prb-real > *,
  .partner-random-grid > .prb-real .elementor-widget-container,
  .partner-random-grid > .prb-real .elementor-image,
  .partner-random-grid > .prb-real picture,
  .partner-random-grid > .prb-real a,
  .partner-random-grid > .prb-real img {
    width: 100% !important;
    max-width: 100% !important;

    height: 100% !important;
    max-height: 100% !important;
  }
}

/* 모바일: 무조건 2칸 */
@media (max-width: 767px) {
  .partner-random-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    justify-content: flex-start !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  .partner-random-grid > .prb-real {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;

    height: auto !important;
    max-height: none !important;

    aspect-ratio: 400 / 120 !important;
  }

  .partner-random-grid > .prb-real img {
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
  }
}

/* 아주 작은 모바일도 2칸 유지 */
@media (max-width: 480px) {
  .partner-random-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  .partner-random-grid > .prb-real {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;

    height: auto !important;
    aspect-ratio: 400 / 120 !important;
  }
}