:root{
  --side-width:260px;
}

.row .order-md-1{
  max-width:var(--side-width);
}

.row .order-md-2{
  flex:0 0 100%;
  max-width:calc(100% - var(--side-width));
}

@media (min-width:1024px){
  .row-cols-lg-7>*{flex:0 0 14.285714%;max-width:14.285714%;}
  .row-cols-lg-8>*{flex:0 0 12.5%;max-width:12.5%;}
}

@media all and (max-width:767px){
  .responsive #bo_list .float-left.float-md-none{margin-right:.75rem;}
  .responsive #bo_list .na-title{margin-bottom:.14rem;}
  .nt-container-wide>.row>.order-md-2{max-width:unset;}
  .responsive #bo_v_con{min-height:auto;word-break:unset;overflow:hidden;}
  .mistvideo-controls{zoom:.9!important;}
}

#bo_v_atc video{
  max-height:80vh;
  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.75);
}

#bo_gallery .chk-box{
  position:absolute;
  bottom:5px;
  right:10px;
  z-index:2;
}

#bo_gallery .wr-now{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(4px);
  z-index:1;
}

#bo_v_title{
  font-size:23px;
  font-weight:700;
  line-height:1.45;
  letter-spacing:-.5px;
  color:#fff;
}

#bo_v_con{
  min-height:200px;
  word-break:break-all;
  overflow:hidden;
  color:rgba(255,255,255,.92);
}

@media all and (max-width:575px){
  .responsive #bo_v_title{
    font-size:20px;
    line-height:1.5;
  }
  .responsive #bo_v_con{
    min-height:140px;
  }
}

#bo_v_con img{
  max-width:100%;
  height:auto;
  border-radius:14px;
}

#bo_v_img{
  width:100%;
  text-align:center;
  overflow:hidden;
}

#bo_v_img img{
  margin-bottom:1rem;
  border-radius:16px;
  box-shadow:0 18px 45px rgba(0,0,0,.65);
}

#bo_v_sns_icon{
  margin:-5px auto;
}

#bo_v_sns_icon img{
  width:40px;
  border-radius:50%;
  margin:5px;
  box-shadow:0 6px 18px rgba(0,0,0,.45);
}

.cmt-reply{
  top:0;
  left:-16px;
}

.by-writer{
  background:linear-gradient(135deg, rgba(255,45,85,.18), rgba(124,58,237,.14))!important;
  border-top:1px solid rgba(255,45,85,.35)!important;
}

.cmt-content{
  word-break:break-all;
  overflow:hidden;
  color:rgba(255,255,255,.9);
}

.cmt-content img{
  max-width:100%;
  height:auto;
  border-radius:12px;
}

.cmt-btn ul{
  list-style:none;
  margin:0;
}

.cmt-btn ul>li{
  float:left;
  font-size:12px;
  padding:0 10px;
}

.cmt-btn ul>li::before{
  float:left;
  color:rgba(255,255,255,.25);
  content:"|";
  margin-left:-12px;
}

.cmt-btn ul>li:last-child{
  padding-right:0;
}

.cmt-btn ul>li:first-child::before,
.cmt-btn ul>li.no-bar::before{
  content:"";
  margin-left:0;
}

.cmt-btn ul>li>a{
  float:left;
  color:rgba(255,255,255,.65);
  white-space:nowrap;
}

.cmt-btn ul>li>a:hover{
  color:#fff;
}

#fviewcomment #wr_content{
  resize:none;
}

@media all and (max-width:575px){
  .responsive .cmt-box{border-right:0!important;}
  .responsive #bo_vc_w .cmt-box{
    border-left:0!important;
    border-radius:0!important;
  }
  .responsive #bo_vc_login{
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
  }
}

#bo_vc_opt ol{
  margin:0;
  padding:6px;
  list-style:none;
  background:rgba(15,18,23,.85);
  border-radius:12px;
}

#bo_vc_opt ol li{
  float:left;
}

#bo_vc_send_sns ul{
  margin:0;
  padding:0;
  list-style:none;
}

#bo_vc_send_sns ul li{
  float:left;
  margin:0 1rem 0 0;
}

#bo_vc_send_sns input{
  margin-left:.5rem;
}

#bo_w .list-group-item{
  padding-left:0;
  padding-right:0;
  border-left:0;
  border-right:0;
}

#bo_w #wr_content{
  margin-bottom:1rem!important;
}

@media all and (max-width:575px){
  #bo_w .list-group-item{
    padding-left:1rem;
    padding-right:1rem;
  }
  .responsive #bo_w #wr_content{
    max-height:160px!important;
  }
}

.label-cap-left{
  z-index:2;
  top:-16px;
  width:140px;
  padding:20px 0 3px;
  left:-65px;
  font-size:9px;
  color:#fff;
  position:absolute;
  text-align:center;
  transform:rotate(-45deg);
  background:linear-gradient(135deg, rgba(255,45,85,.9), rgba(124,58,237,.85));
  box-shadow:0 8px 22px rgba(0,0,0,.55);
}

.stream_list_box{
  border:1px solid rgba(255,255,255,.12);
  padding:10px;
  background:
    radial-gradient(600px 140px at 10% 0%, rgba(255,45,85,.12), transparent 55%),
    radial-gradient(600px 140px at 90% 0%, rgba(0,229,255,.08), transparent 55%),
    linear-gradient(180deg, rgba(16,21,33,.92), rgba(7,8,11,.92));
  border-radius:16px;
  margin:6px;
  box-shadow:0 18px 45px rgba(0,0,0,.65);
  height:99%;
}

.straem_list_title{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:rgba(255,255,255,.92);
}

.list_count i{
  color:rgba(255,255,255,.55);
}

.list-level-1{
  border:1px solid rgba(255,45,85,.45)!important;
  background:linear-gradient(-45deg, #1b0f1a, #101521, #1a2333, #07080b);
  background-size:400% 400%;
  animation:Gradient 6s ease infinite;
}

.list-level-2,
.list-level-3{
  background:rgba(16,21,33,.85);
}

.time-is-captitle{
  color:rgba(255,255,255,.55);
  font-size:13px;
}

@keyframes Gradient{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

.view-center{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  width:100%;
}

.view-content{
  max-width:900px;
  text-align:center;
}

/* ═══════════════════════════════════════════════════════
   야동존 카테고리별 SEO 인트로/아웃트로 (다크 테마 통일)
   ═══════════════════════════════════════════════════════ */
.ydz-cat-intro{
  margin: 0 12px 20px;
  padding: 22px 22px 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background:
    radial-gradient(800px 240px at 10% 0%, rgba(255,45,85,.12), transparent 55%),
    radial-gradient(800px 240px at 90% 0%, rgba(124,58,237,.10), transparent 55%),
    linear-gradient(180deg, rgba(16,21,33,.90), rgba(7,8,11,.90));
  box-shadow: 0 18px 45px rgba(0,0,0,.65);
  backdrop-filter: blur(6px);
}

@media (max-width:768px){
  .ydz-cat-intro{
    margin: 0 0 14px;
    padding: 18px 16px 16px;
    border-radius: 14px;
  }
}

.ydz-cat-title{
  font-size: 1.35em;
  font-weight: 800;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -0.015em;
  line-height: 1.35;
  text-shadow: 0 2px 8px rgba(255,45,85,.20);
}

.ydz-cat-desc{
  font-size: 0.95em;
  line-height: 1.7;
  color: rgba(255,255,255,.78);
  margin: 0 0 14px;
}

.ydz-cat-desc strong{
  color: #fff;
  font-weight: 700;
}

.ydz-cat-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ydz-cat-tag{
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,45,85,.28);
  background: rgba(255,45,85,.08);
  color: rgba(255,255,255,.82);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* 하단 아웃트로 */
.ydz-cat-outro{
  margin: 24px 12px 10px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(16,21,33,.75), rgba(7,8,11,.75));
  box-shadow: 0 14px 35px rgba(0,0,0,.55);
}

@media (max-width:768px){
  .ydz-cat-outro{
    margin: 20px 0 0;
    padding: 18px 16px;
    border-radius: 14px;
  }
}

.ydz-cat-outro-title{
  font-size: 1.15em;
  font-weight: 800;
  color: #fff;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
  padding-left: 10px;
  border-left: 3px solid rgba(255,45,85,.65);
  line-height: 1.4;
}

.ydz-cat-outro-desc{
  font-size: 0.92em;
  line-height: 1.7;
  color: rgba(255,255,255,.70);
  margin: 0;
}

.ydz-cat-outro-desc strong{
  color: rgba(255,255,255,.92);
  font-weight: 700;
}

/* ════════════════════════════════════════════════
   야동존 게시판 view에서 gplayer (AV정복 통일)
   - PC: 1180px x 400px (검은 여백 있는 와이드 스크린)
   - 모바일: 100% x 200px (콤팩트)
   - 동영상: 컨테이너 안에서 비율 유지 (object-fit: contain)
   ════════════════════════════════════════════════ */
.view-content .gplayer{
  width:100% !important;
  max-width:1180px !important;
  margin: 0 auto !important;
  height:400px !important;
  display:block;
  background-color: #000;
}

.view-content .gplayer .plyr,
.view-content .gplayer .plyr__video-wrapper{
  width:100%;
  height:100%;
}

.view-content .gplayer video{
  width:100% !important;
  height:100% !important;
  object-fit:contain;
}

/* 모바일에서는 200px로 콤팩트 (스크롤 절약) */
@media (max-width: 768px) {
  .view-content .gplayer{
    height:200px !important;
  }
}

/* ════════════════════════════════════════════════
   영상 페이지 wrapper — PC 400px / 모바일 200px 통일
   ──────────────────────────────────────────────── */

/* 한국영상 wrapper (korean / KBJ / VIP) */
.view-content .korean-video-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  height: 400px !important;
  background: #000;
  position: relative;
}
.view-content .korean-video-wrap .korean-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #000;
}

@media (max-width: 767px) {
  .view-content .korean-video-wrap {
    height: 200px !important;
  }
}

/* iframe (asia 동양야동, 외부 임베드) — 1180 풀폭 안 넘게 */
.view-content iframe,
#bo_v_con iframe {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  height: 400px !important;
  border: 0 !important;
  background: #000;
}

@media (max-width: 767px) {
  .view-content iframe,
  #bo_v_con iframe {
    height: 200px !important;
  }
}

/* view-content 자체 1180 wrapper 강제 */
.view-content {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

/* ════════════════════════════════════════════════
   gplayer 풀폭 강제 — 1180 절대 안 넘게
   ──────────────────────────────────────────────── */

/* gplayer 자체 강제 */
.view-content .gplayer,
#bo_v_con .gplayer,
#bo_v_atc .gplayer,
.gplayer {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  height: 400px !important;
  background: #000 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* gplayer 안의 모든 자식 (동적 생성된 video / div / 광고 overlay) */
.view-content .gplayer > *,
#bo_v_con .gplayer > *,
.gplayer > *,
.gplayer video,
.gplayer iframe,
.gplayer .plyr,
.gplayer .plyr__video-wrapper,
.gplayer .gplayer-ad-overlay {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
}

.gplayer video,
.gplayer iframe {
  object-fit: contain !important;
  background: #000 !important;
}

/* 모바일 */
@media (max-width: 767px) {
  .view-content .gplayer,
  #bo_v_con .gplayer,
  #bo_v_atc .gplayer,
  .gplayer {
    height: 200px !important;
    max-width: 100% !important;
  }
}

/* view-content 자체도 1180 강제 (이미 있어도 다시 강조) */
.view-content,
#bo_v_atc,
#bo_v_con {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* ════════════════════════════════════════════════
   해외영상 (gplayer) — 16:9 자동 비율
   한국영상은 인라인이라 그대로 350px / 모바일 200px 유지
   ──────────────────────────────────────────────── */

/* gplayer 자동 비율 — 16:9 */
.view-content .gplayer,
#bo_v_con .gplayer,
#bo_v_atc .gplayer,
.gplayer {
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  max-height: 663px !important; /* 1180 × 9/16 = 663 */
}

/* 모바일 — aspect-ratio 유지 + 최대 200px 정도 */
@media (max-width: 767px) {
  .view-content .gplayer,
  #bo_v_con .gplayer,
  #bo_v_atc .gplayer,
  .gplayer {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: 56.25vw !important;
  }
}

/* ════════════════════════════════════════════════
   링크 출처 영역 숨김 (보안)
   ──────────────────────────────────────────────── */

/* bo_v_link / view_link 영역 완전 숨김 */
#bo_v_link,
.bo_v_link,
.view_link,
ul.bo_v_link,
section#bo_v_link,
[class*="view_link"],
[id*="view_link"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* "링크" 텍스트 라벨 + 그 옆 URL 행 숨김 */
.na-table tr:has(td:contains("링크")),
.na-table th:contains("링크"),
.na-table td:has(> a[href*="http"]) {
  display: none !important;
}

/* ════════════════════════════════════════════════
   영상 위/아래 검은 빈 공간 제거
   ──────────────────────────────────────────────── */

.view-content {
  height: auto !important;
  min-height: 0 !important;
}

.view-content > script {
  display: none !important;
}

.view-content > div:not(.gplayer):not(.korean-video-wrap):empty {
  display: none !important;
}

/* ════════════════════════════════════════════════
   해외영상 — 350px 고정 (한국영상과 동일)
   모든 iframe 형식 강제: HTML height 속성 + 인라인 style 모두 무시
   ──────────────────────────────────────────────── */

/* 영상 페이지의 모든 iframe — 1180×350px 강제 */
#bo_v_con iframe,
#bo_v_atc iframe,
.view-center iframe,
.view-content iframe,
.view-content > iframe,
.view-content iframe[src],
.view-content iframe[height],
.view-content iframe[width],
.view-content iframe[style] {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  height: 350px !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: #000 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

/* gplayer height 도 350 통일 (기존 16:9 자동에서 변경) */
.view-content .gplayer,
#bo_v_con .gplayer,
#bo_v_atc .gplayer,
.gplayer {
  height: 350px !important;
  aspect-ratio: auto !important;
}

/* iframe 부모 wrapper 가 인라인 style 가지면 무력화 */
.view-content > div[style],
.view-content > p[style],
.view-content > center {
  width: 100% !important;
  max-width: 1180px !important;
  height: auto !important;
  margin: 0 auto !important;
  position: static !important;
}

/* 모바일 — 200px */
@media (max-width: 767px) {
  #bo_v_con iframe,
  #bo_v_atc iframe,
  .view-center iframe,
  .view-content iframe,
  .view-content > iframe,
  .view-content iframe[src],
  .view-content iframe[height],
  .view-content iframe[width],
  .view-content iframe[style],
  .view-content .gplayer,
  #bo_v_con .gplayer,
  .gplayer {
    height: 200px !important;
  }
}

/* ════════════════════════════════════════════════
   iframe 무조건 300px — 어떤 형태든 절대 무시 못함
   ──────────────────────────────────────────────── */

iframe.ydz-video-iframe,
.view-content iframe,
.view-content > iframe,
.view-content iframe[src],
.view-content iframe[width],
.view-content iframe[height],
.view-content iframe[style],
#bo_v_con iframe,
#bo_v_atc iframe,
.view-center iframe {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  height: 300px !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: #000 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

@media (max-width: 767px) {
  iframe.ydz-video-iframe,
  .view-content iframe,
  .view-content > iframe,
  .view-content iframe[src],
  .view-content iframe[width],
  .view-content iframe[height],
  .view-content iframe[style],
  #bo_v_con iframe,
  #bo_v_atc iframe,
  .view-center iframe {
    height: 200px !important;
  }
}

/* ════════════════════════════════════════════════
   해외영상 iframe — 16:9 자동 비율 (responsive aspect ratio)
   ──────────────────────────────────────────────── */

/* iframe wrapper — 1180 풀폭 + 16:9 비율 강제 */
.ydz-iframe-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  background: #000 !important;
  position: relative !important;
}

/* 내부 16:9 padding-bottom trick */
.ydz-iframe-inner {
  position: relative !important;
  width: 100% !important;
  padding-bottom: 56.25% !important;  /* 16:9 = 9/16 = 56.25% */
  height: 0 !important;
  background: #000 !important;
  overflow: hidden !important;
  max-height: 663px !important;  /* 1180 × 9/16 = 663 */
}

/* iframe 자체 — wrapper 안에서 100% */
.ydz-iframe-inner iframe.ydz-video-iframe,
.ydz-iframe-inner iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000 !important;
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
}

/* 비디오 영역 위/아래 잘림 방지 */
.view-content,
.view-content > .ydz-iframe-wrap {
  overflow: visible !important;
}

/* 모바일 — 16:9 그대로 (자동 비율) */
@media (max-width: 767px) {
  .ydz-iframe-inner {
    padding-bottom: 56.25% !important;
    max-height: none !important;
  }
}

/* ════════════════════════════════════════════════
   해외영상 — 영상 안 잘리고 적절한 크기로
   max-width를 줄여서 16:9 비율 자연스럽게 작아지게
   ──────────────────────────────────────────────── */

/* wrapper — max-width 줄여서 자연스럽게 작아짐 */
.ydz-iframe-wrap {
  width: 100% !important;
  max-width: 622px !important;   /* 16:9에서 350px 높이 = 622 */
  margin: 0 auto !important;
  background: #000 !important;
  position: relative !important;
}

/* inner — 16:9 비율 유지 */
.ydz-iframe-inner {
  position: relative !important;
  width: 100% !important;
  padding-bottom: 56.25% !important;  /* 16:9 */
  height: 0 !important;
  background: #000 !important;
  overflow: hidden !important;
}

/* iframe — wrapper 안에서 100% */
.ydz-iframe-inner iframe.ydz-video-iframe,
.ydz-iframe-inner iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  background: #000 !important;
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
}

/* 모바일 — 더 작게 */
@media (max-width: 767px) {
  .ydz-iframe-wrap {
    max-width: 100% !important;
  }
  .ydz-iframe-inner {
    padding-bottom: 56.25% !important;
  }
}

/* PC 매우 큰 화면 — 약간 더 크게 */
@media (min-width: 1200px) {
  .ydz-iframe-wrap {
    max-width: 622px !important;  /* 350px 높이 기준 */
  }
}

/* ════════════════════════════════════════════════
   해외영상 단순 — width 100% × height 250px 강제
   wrapper 다 무시하고 iframe 자체만 처리
   ──────────────────────────────────────────────── */

/* 모든 wrapper 무력화 */
.ydz-iframe-wrap,
.ydz-iframe-inner {
  all: unset !important;
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  height: auto !important;
  padding-bottom: 0 !important;
  position: static !important;
  background: transparent !important;
  overflow: visible !important;
}

/* iframe 자체 강제 */
.view-content iframe,
.view-content iframe.ydz-video-iframe,
#bo_v_con iframe,
#bo_v_atc iframe,
.view-center iframe,
iframe.ydz-video-iframe {
  display: block !important;
  width: 100% !important;
  max-width: 1180px !important;
  height: 250px !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: #000 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  padding-bottom: 0 !important;
}

@media (max-width: 767px) {
  .view-content iframe,
  .view-content iframe.ydz-video-iframe,
  #bo_v_con iframe,
  iframe.ydz-video-iframe {
    height: 200px !important;
  }
}
