.elementor-9567 .elementor-element.elementor-element-ac90f35{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9567 .elementor-element.elementor-element-ac90f35:not(.elementor-motion-effects-element-type-background), .elementor-9567 .elementor-element.elementor-element-ac90f35 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-9567 .elementor-element.elementor-element-f591da1{width:var( --container-widget-width, 1440% );max-width:1440%;--container-widget-width:1440%;--container-widget-flex-grow:0;}.elementor-9567 .elementor-element.elementor-element-f591da1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 064px 0px 064px;}.elementor-9567 .elementor-element.elementor-element-4eff8e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0300.8px;--padding-top:0px;--padding-bottom:80px;--padding-left:064px;--padding-right:0px;}.elementor-9567 .elementor-element.elementor-element-4eff8e2:not(.elementor-motion-effects-element-type-background), .elementor-9567 .elementor-element.elementor-element-4eff8e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-9567 .elementor-element.elementor-element-df6e718{width:var( --container-widget-width, 1440px );max-width:1440px;--container-widget-width:1440px;--container-widget-flex-grow:0;}.elementor-9567 .elementor-element.elementor-element-df6e718 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 064px 0px 064px;}@media(max-width:767px){.elementor-9567 .elementor-element.elementor-element-ac90f35{--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9567 .elementor-element.elementor-element-f591da1{width:100%;max-width:100%;}.elementor-9567 .elementor-element.elementor-element-f591da1 > .elementor-widget-container{margin:030px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-9567 .elementor-element.elementor-element-4eff8e2{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9567 .elementor-element.elementor-element-df6e718{width:100%;max-width:100%;}.elementor-9567 .elementor-element.elementor-element-df6e718 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-9567 .elementor-element.elementor-element-ac90f35{--content-width:1905px;}.elementor-9567 .elementor-element.elementor-element-4eff8e2{--content-width:1905px;}}/* Start custom CSS for html, class: .elementor-element-f591da1 *//* Base Styles */
body {
  margin: 0;
  font-family: 'Noto Sans KR', sans-serif;
  background-color: #000;
  color: #fff;
  overflow-x: hidden;
}
/* 부모에 위치 기준을 잡아줍니다 */
.video-section {
  position: relative;
}

/* 하단에 30px 높이의 반투명 블록 추가 */
.video-section::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 30px;                       /* 20~30px 사이에서 조절 */
  background-color: rgba(0, 0, 0, 0.5); /* 투명도 50% 검정 */
  pointer-events: none;               /* 클릭 방해 금지 */
}

header {
  background: #fff;
  padding: 0 2rem;
}
header .nav a,
header nav a,
header .menu a {
  color: #222;
}
body.dark header {
  background: #121212;
}
body.dark header .nav a,
body.dark header nav a,
body.dark header .menu a {
  color: #fff;
}

.video-section {
  width: 100%;
  max-width: 1080px;
  margin: 1rem auto;
  position: relative;
  padding-bottom: 4rem;
  overflow: hidden;
  clear: both;
}

/* Maintain 16:9 aspect ratio for video container */
.video-container-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  background-color: #000;
}
.video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video-wrapper,
.video-wrapper iframe,
.video-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: rgba(255,255,255,0.8);
  border-radius: 50%;
  font-size: 2.5rem;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
}

/* Modal Styles */
#video-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  justify-content: center;
  align-items: center;
}
#video-modal.active {
  display: flex;
}

.modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
}

/* 모달 콘텐츠: 중앙 정렬, 반응형 */
.modal-content {
  position: relative;
  width: 90vw;
  max-width: 800px;
  aspect-ratio: 16/9;
  background: #000;
  box-shadow: 0 6px 32px rgba(0,0,0,0.5);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-content iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 12px;
  background: #000;
}
.modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: none;
  border: none;
  font-size: 1.8rem;
  color: #fff;
  cursor: pointer;
  z-index: 10;
  padding: 0.3rem;
  line-height: 1;
}

@media (max-width: 600px) {
  .modal-content {
    width: 98vw;
    max-width: 98vw;
    aspect-ratio: 16/9;
    border-radius: 0;
  }
  .modal-close {
    font-size: 1.5rem;
    right: 0.2rem;
    top: 0.2rem;
  }
}



/* (원치 않으시면) 호버 효과 제거 */
.modal-close:hover,
.modal-close:focus {
  background: none;
  color: #fff;
  transform: none;
  outline: none;
}
.video-related__link {
  color: #fff;
  font-weight: 700;
  text-decoration: underline !important;      /* 기본 상태에서 밑줄 */
}

.video-related__link:hover,
.video-related__link:focus {
  color: #fff;                     /* 흰색 유지 */
  text-decoration: underline;      /* 호버 시에도 밑줄 유지 */
}

.meta-back-button {
  /* 기존 속성들… */
  transition: background 0.2s ease, color 0.2s ease;
}

.meta-back-button:hover,
.meta-back-button:focus {
  background: #222;  /* 토픽 링크 호버 배경과 동일 */
  color: #fff;       /* 텍스트 흰색 유지 */
}

/* Responsive Breakpoints */
/* Tablet: 601px to 1024px */
@media (min-width: 601px) and (max-width: 1024px) {
  header {
    padding: 0 1.5rem;
  }
  .video-section {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 3rem;
  }
  .video-container-wrapper {
    padding-top: 0;
    height: calc(100vw * 0.5625);
  }
  .play-button {
    width: 72px;
    height: 72px;
    font-size: 2.25rem;
  }
  .modal-content {
    width: 92%;
    max-width: 90vw;
  }
}

/* Mobile: up to 600px */
@media (max-width: 600px) {
  header {
    padding: 0;
  }
  .video-section {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: .2rem;
  }
  .video-container-wrapper {
    padding-top: 0;
    height: calc(100vw * 0.5625);
  }
  .play-button {
    width: 56px;
    height: 56px;
    font-size: 1.75rem;
  }
  .modal-close {
    font-size: 1.5rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-df6e718 */section {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 1440px;
  margin: 0 auto;
  padding: .2rem .2rem;
  color: white;
  background: #000;
}

/* All videos 버튼 */
.video-meta-header {
  grid-column: span 4;
  margin-bottom: 0;
  
}
.meta-back-button {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
  color: white;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  padding: 0.6rem 1rem;
  border-radius: 2rem;
}
.meta-back-button svg {
  vertical-align: middle;
}
/* 화살표(아이콘) 좌측 방향으로 뒤집기 */
.meta-back-button svg {
  vertical-align: middle;
  transform: rotate(180deg);
  /* 또는 transform: scaleX(-1); */
  transition: transform 0.2s ease;
}


/* 제목 */
.video-meta-title {
  grid-column: span 4;
  text-align: center;
  margin-top: -2rem;
}
.video-meta-title h1 {
  font-size: 3rem;
  font-weight: 800;
  margin-top: -3rem;
  margin-bottom: 1rem;
  color: #fff;
}
.video-related {
  max-width: 505px;
  margin: 0 auto;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background-color: #1a1a1a;
  color: #ccc;
  text-align: left;
}

.video-related__text {
  font-size: 0.9rem;
  line-height: 1.4;
  margin: 0;
}

.video-related__text span {
  display: inline;
}

.video-related__link {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  margin-top: 0.25em;
}
.video-related__text span,
.video-related__link {
  display: block;
}

/* Topics */
.video-meta-tags,
.video-meta-share {
  /* 그리드 셀 안에서 왼쪽 정렬 */
  justify-self: start;
  margin-left: 22rem;        
}

.video-meta-tags {
  display: flex;
  flex-direction: column;   
  align-items: flex-start;  
  gap: 0.5rem;              
  grid-column: span 4;
  margin: 3.5rem 0 0 0;     
  justify-self: start;  
  text-align: left;         
}
.video-meta-tags {
  display: flex;
  flex-direction: column;   /* 수직 나열 */
  align-items: flex-start;  /* 왼쪽 정렬 */
  gap: 0.8rem;              /* 위아래 간격 */
  grid-column: span 4;
  margin-top: 4rem;
  justify-self: start;      /* 그리드 셀 안에서 왼쪽 정렬 */
  text-align: left;
}

.video-meta-tags > h5 {
  font-size: 1rem;
  font-weight: 700;
  color: #aaa;
  margin: 0;                /* 기본 마진 제거 */
}

.video-meta-tags > a {
  display: block;           /* 링크도 블록으로 */
  padding: 0.4rem 1rem;
  border-radius: 999px;
  background: transparent;
  border: 1px solid #555;
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  transition: background 0.2s ease;
}

.video-meta-tags > a:hover {
  background: #222;
}


/* 공유 */
.video-meta-share {
  grid-column: span 4;
  margin-top: 5rem;
}
.video-meta-share h5 {
  font-size: 1rem;
  font-weight: 700;
  color: #aaa;
  margin-bottom: 0.8rem;
}
.share-icons {
  display: flex;
  gap: 1rem;
}
.share-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: white;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  transition: background 0.3s, transform 0.2s;
}
.share-icons a:hover {
  background: #333;
  transform: scale(1.05);
}
.share-icons svg {
  width: 20px;
  height: 20px;
  fill: white;
}

/* 반응형 */
@media screen and (min-width: 600px) {
  .video-meta-section {
    grid-template-columns: repeat(8, 1fr);
    padding: 3rem 2rem;
  }

  .video-meta-header,
  .video-meta-title,
  .video-meta-tags,
  .video-meta-share {
    grid-column: span 8;
  }
}

/* — 데스크톱 (900px 이상) — */
@media screen and (min-width: 900px) {
  .video-meta-section {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 행 간격 (타이틀↔태그↔공유) 을 2rem 고정 */
    row-gap: 2rem;
    padding: 0 3rem;
  }

  .video-meta-header {
    grid-column: span 2;
    /* 버튼 영역 위아래 여백 */
    margin: 0 0 1rem 0; /* 아래만 1rem */
  }

  .video-meta-title {
    grid-column: span 12;
    
    margin: 0 0 1rem 0; /* 아래만 1rem */
  }

  .video-meta-tags,
  .video-meta-share {
    grid-column: 3 / span 8;
   
    margin: 0;
  }
   .video-meta-tags {
   
    grid-column: 3 / span 8;
    margin-left: 9.6rem;
    margin-top: 3rem;
  }
    .video-meta-share {
   
    grid-column: 3 / span 8;
    margin-left: 9.6rem;
    margin-top: 2rem;
  }

  
  .meta-back-button { margin-left: 1rem;}
}

/* — 모바일 (599px 이하) — */
@media screen and (max-width: 599px) {
  .video-meta-section {
    display: grid;
    /* 모바일은 한 칼럼이지만 그래도 row-gap 유지 */
    row-gap: 1.5rem;
    justify-items: start;
  }

  /* 좌측 정렬 + 텍스트 블록 위아래 간격 초기화 */
  .video-meta-header,
  .video-meta-title,
  .video-meta-tags,
  .video-meta-share {
    text-align: left;
    margin: 0;
  }

  .video-meta-header { margin-bottom: 1rem; }
  .video-meta-title  { margin-bottom: 1rem; font-size: 1.9rem; }
  .video-meta-tags   { margin-bottom: 1rem; }
  .video-related {
      
  }
  
}
/* — 데스크톱 (900px 이상) — */
@media screen and (min-width: 900px) {
  /* “All videos” 버튼 텍스트 */
  .meta-back-button {
    font-size: 1rem;         /* 예: 16px */
    
  }

  /* 제목 */
  .video-meta-title h1 {
    font-size: 2.5rem;       /* 예: 40px */
    line-height: 1.2;
  }

  /* 토픽 레이블 */
  .video-meta-tags > h5 {
    font-size: 1rem;         /* 예: 16px */
  }

  /* 토픽 링크 */
  .video-meta-tags > a {
    font-size: 0.9rem;       /* 예: 14.4px */
  }

  /* 공유 섹션 텍스트 */
  .video-meta-share {
    font-size: 0.9rem;       /* 필요에 따라 조정 */
  }
}

/* — 모바일 (599px 이하) — */
@media screen and (max-width: 599px) {
  .meta-back-button {
    font-size: 0.9rem;       /* 예: 14.4px */
    margin-left: 0;
  }

  .video-meta-title h1 {
    font-size: 1.9rem;       /* 이미 적용하신 값 */
    line-height: 1.3;
    margin-top: -.4rem;
  }

  .video-meta-tags > h5 {
    font-size: 0.9rem;       /* 예: 14.4px */
  }

  .video-meta-tags > a {
    font-size: 0.8rem;       /* 예: 12.8px */
  }

  .video-meta-share {
    font-size: 0.8rem;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4eff8e2 */.elementor-template-full-width .e-con.e-flex > .e-con-inner {
  padding-left: 16px !important;
  padding-right: 16px !important;
}/* End custom CSS */