* {margin:0; padding:0; box-sizing:border-box;}
body, html {height: 100%; font-family: sans-serif;}

/* 네비게이션 */
nav {
  position: fixed; top: 0; left: 0;
  width: 100%; height: 60px;
  color: white; display: flex; align-items: center;
  padding: 0 20px; z-index: 3000;
  background: linear-gradient(270deg, #003366, #0066cc, #ff6600, #9900cc);
  background-size: 800% 800%;
  animation: gradientShift 20s ease infinite;
}
@keyframes gradientShift {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}

nav .logo {display: flex; align-items: center; font-weight: bold; font-size: 18px; margin-right: 80px;}
nav .logo a {display:flex; align-items:center; color:white; text-decoration:none;}
nav .logo img {margin-right: 5px; width:60px;}
nav ul {list-style: none; display: flex; margin-left:auto;}
nav ul li {position: relative; margin-right: 20px;}
nav ul li a {color: white; text-decoration: none; font-size: 15px; padding: 8px; display: block;}
nav ul li a:hover {background: rgba(255,255,255,0.2); border-radius: 5px;}
nav ul li ul {display: none; position: absolute; top: 100%; left: 0; background: white; min-width: 180px; border-radius: 4px; border:1px solid #ddd;}
nav ul li:hover > ul {display: block;}
nav ul li ul li a {padding: 10px; font-size: 14px; color: black;}
nav ul li ul li a:hover {background:#f0f0f0; color:black;}

.menu-toggle {display:none; flex-direction: column; cursor:pointer; margin-left:auto;}
.menu-toggle span {width:25px; height:3px; background:white; margin:4px 0;}

/* 기본 (라이트 모드) 푸터 스타일 */
footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #f2f2f2; /* 밝은 배경색 */
  color: #333; /* 어두운 글씨색 */
  font-size: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid #ccc; /* 밝은 경계선 */
  z-index: 3000;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s; /* 부드러운 전환 효과 */
}

.main-header {
  position: fixed;
  top: 60px; /* nav 높이 보정 */
  left: 0;
  width: 100%;
  height: 300px;
  background: 
    linear-gradient(270deg, rgba(0,51,102,0.6), rgba(0,102,204,0.6), rgba(255,102,0,0.6), rgba(153,0,204,0.6)),
    url("images/header-bg.jpg") center/cover no-repeat;
  background-size: 800% 800%, cover;
  animation: gradientShift 20s ease infinite;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  text-align: center;
  z-index: 2000;

  transition: top 0.2s ease;   /* 부드럽게 숨김/표시 */
}


.main-header .header-content h1 {font-size: 36px; margin-bottom: 10px;}
.main-header .header-content p {font-size: 18px;margin-bottom:10px;}
.main-header .header-content a {color:white; text-decoration:none;}
.main-header .header-content span {align-items:center; font-size: 20px; border:solid 1px; padding:5px 20px; margin:30px auto;}


/* Disqus 댓글창 스타일 수정: 마이너스 마진을 제거하고 상대적 위치를 사용하여 iframe과 겹치도록 함 */
#disqus_thread {
    width:70%;
    max-width: 712px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    /* iframe의 여백을 줄이기 위해 위쪽으로 200px 이동 */
    top: -350px;
    z-index: 100; /* iframe의 z-index보다 높은 값 */
}

div#disqus_thread iframe[sandbox] {
max-height: 0px !important;
}


/* 본문 프레임 */
#frame_wraper {
  position: relative;
  width: 100%;
  height: 100vh; /* nav(60) + footer(60) 보정 calc(100vh - 120px) */
  margin-top: 0px; /* nav(60) + header(300) */
  z-index:50;
}

#myframe {
  width: 100%;
  height: 120%;
  border: none;
  transition: height 0.6s ease; /* 부드럽게 늘어나도록 */  
  display: block;
}

        /* 2단 레이아웃을 위한 컨테이너 (Flexbox 사용) */
        .container {
            display: flex;
            justify-content: space-around; /* 항목 간 공간 배분 */
            max-width: 1200px; /* 최대 너비 설정 */
            margin: 150px auto 200px auto; /* 중앙 정렬 */            
            padding: 20px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1); /* 그림자 효과 (선택 사항) */
        }

        /* 각 열(컬럼) 스타일 */
        .column {
            flex: 1; /* 너비를 동일하게 배분 */
            padding: 0 20px;
            text-align: center; /* 내부 요소 중앙 정렬 */
        }

        /* 컬럼 구분선 (선택 사항: 이미지를 단순화한 구조에서는 필요 없을 수 있음) */
        .column-left {
            border-right: 1px solid #ddd; /* 왼쪽 컬럼 오른쪽에 얇은 회색 구분선 추가 */
        }
        
        /* 컬럼 헤더(상단 텍스트) 스타일 */
        .column h2 {
            font-size: 1.5em;
            color: #333;
            margin-top: 0;
            margin-bottom: 30px;
            min-height: 60px; /* 텍스트 내용이 적어도 레이아웃이 깨지지 않도록 최소 높이 설정 */
        }

        /* 이미지 컨테이너 스타일 */
        .image-group {
            display: flex;
            flex-wrap: wrap; /* 이미지가 넘치면 줄 바꿈 */
            justify-content: center; /* 이미지를 중앙 정렬 */
            gap: 15px; /* 이미지 사이 간격 */
            margin-bottom: 40px;
            min-height: 300px; /* 이미지 영역 최소 높이 설정 */
            align-items: center; /* 수직 중앙 정렬 (선택 사항) */
        }

        .image-group img {
            max-width: 75%; /* 이미지 크기 조절 */
            height: auto;
            border: 1px solid #eee; /* 이미지 테두리 (선택 사항) */
        }

        /* 신고 및 제보하기 버튼 스타일 */
        .report-button {
            display: block;
            width: 90%;
            max-width: 400px;
            margin: 20px auto 200px auto;
            padding: 20px 0;
            border: none;
            border-radius: 5px;
            font-size: 1.2em;
            font-weight: bold;
            color: white;
            cursor: pointer;
            text-decoration: none; /* 링크로 사용할 경우 텍스트 밑줄 제거 */
            transition: background-color 0.3s;
        }

        /* 왼쪽 버튼 (빨간색) */
        .report-button.left {
            background-color: #e53935; /* 빨간색 */
            box-shadow: 0 5px 0 #b71c1c; /* 3D 효과 */
        }

        .report-button.left:hover {
            background-color: #f44336;
        }

        /* 오른쪽 버튼 (녹색) */
        .report-button.right {
            background-color: #4CAF50; /* 녹색 */
            box-shadow: 0 5px 0 #388e3c; /* 3D 효과 */
        }

        .report-button.right:hover {
            background-color: #66bb6a;
        }

        /* 아이콘 스타일 (이미지 첨부 대신 텍스트로 대체) */
        .report-button span {
            display: block;
            font-size: 1.8em;
            margin-bottom: 5px;
        }
        /* 💡 아이콘을 텍스트 대신 Font Awesome 같은 라이브러리로 대체 가능합니다. */

        /* 미디어 쿼리: 화면 너비가 768px 이하일 때 1단 레이아웃으로 변경 */
        @media (max-width: 768px) {
            .container {
                flex-direction: column; /* 수직으로 쌓기 */
            }
            .column-left {
                border-right: none; /* 구분선 제거 */
                border-bottom: 1px solid #ddd; /* 아래쪽에 구분선 추가 */
                margin-bottom: 20px;
                padding-bottom: 20px;
            }
        }

/* 반응형 */
@media (max-width: 800px) {
  nav ul {display:none; position:absolute; top:60px; left:0; width:100%; background:white; flex-direction:column;}
  nav ul li {width:100%; border-bottom:1px solid #ddd;}
  nav ul > li > a {color:#222; font-weight:bold; font-size:16px; padding:14px; background:#f9f9f9;}
  nav ul li ul {position:static; border:none; box-shadow:none;}
  nav ul li ul li a {padding:10px 14px 10px 30px; font-size:14px; background:white; color:#444;}
  nav ul li ul li a:hover {background:#f0f0f0;}
  .menu-toggle {display:flex;}
  nav.active ul {display:flex;}
}

@media (max-width: 500px) {
#frame_weaper {height:200vh;}
#myframe {height:200vh}  
#disqus_thread { position: relative; top: 250px;}  
}

/* 다크 모드일 때 적용될 스타일 */
@media (prefers-color-scheme: dark) {
  body {background: #191919; /* 어두운 배경색 */}
  .column h2 {color:#f2f2f2;}
  footer {
    background: #333; /* 어두운 배경색 */
    color: #f2f2f2; /* 밝은 글씨색 */
    border-top: 1px solid #555; /* 어두운 경계선 */
  }
}
