/**
 * Google AdSense 광고 스타일
 * 공통 광고 컴포넌트용 (플레이스홀더 + 실제 광고)
 */

/* ==========================================================================
   광고 컨테이너 공통
   ========================================================================== */

.ad-container {
  width: 100%;
  margin: 1rem 0;
  overflow: hidden;
  background-color: #ffffff;
}

.ad-container .adsbygoogle {
  display: block;
  width: 100%;
}

/* ==========================================================================
   슬롯별 스타일
   ========================================================================== */

/* 헤더 광고 */
.ad-container--header {
  margin-top: 0;
  padding: 0.5rem 0;
}

/* 사이드바 광고 (제품 상세 페이지) */
.ad-container--sidebar {
  margin-top: 1.5rem;
  position: sticky;
  top: 20px;
  min-height: 600px;
}

/* 콘텐츠 영역 광고 (제품 상세 - PDF 뷰어와 한줄평 사이) */
.ad-container--content {
  margin: 20px 0;
  padding: 1rem 0;
  min-height: 90px;
}

/* 푸터 광고 (검색 결과 페이지) */
.ad-container--footer {
  margin-bottom: 0;
  padding: 1rem 0;
}

.ad-container--footer .adsbygoogle {
  display: block;
  width: 100%;
  max-width: 970px;
  min-height: 250px;
  margin: 0 auto;
}

/* 제품 헤더 하단 광고 */
.ad-container--product-header-bottom {
  margin: 0;
  padding: 0;
  min-height: 90px;
}

/* ==========================================================================
   개발 환경 플레이스홀더
   ========================================================================== */

.ad-container.ad-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border: 2px dashed var(--color-border-light);
  border-radius: var(--border-radius-md);
}

.ad-placeholder__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
}

.ad-placeholder__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: var(--color-bg-gray-200);
  border-radius: 50%;
  color: var(--color-text-tertiary);
  font-size: 0.75rem;
  font-weight: 700;
}

.ad-placeholder__text {
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

/* 플레이스홀더 형식별 높이 */
.ad-placeholder--horizontal {
  min-height: 90px;
}

.ad-placeholder--rectangle {
  min-height: 250px;
}

.ad-placeholder--vertical {
  min-height: 600px;
}

.ad-placeholder--fluid {
  min-height: 200px;
}

/* ==========================================================================
   반응형
   ========================================================================== */

/* 태블릿 (1023px 이하) - 사이드바 레이아웃 해제와 동일 브레이크포인트 */
@media (max-width: 1023px) {
  /* 사이드바 광고 숨김 */
  .ad-container--sidebar {
    display: none;
  }

  /* 푸터 광고: 728x90 리더보드 크기로 축소 */
  .ad-container--footer .adsbygoogle {
    max-width: 728px;
    min-height: 90px;
  }
}

/* 모바일 (768px 이하) */
@media (max-width: 768px) {
  /* 푸터 광고: 전체 너비, 모바일 배너 크기 */
  .ad-container--footer .adsbygoogle {
    max-width: 100%;
    min-height: 100px;
  }

  /* 세로형 광고/플레이스홀더 높이 축소 */
  .ad-placeholder--vertical {
    min-height: 250px;
  }

  /* 콘텐츠 광고 여백 조정 */
  .ad-container--content {
    margin: 1.5rem 0;
    padding: 0.5rem 0;
  }
}
