/* ====================================================
   굿샷뉴스 (PRIME EDU PARK GOLF) — Tistory Skin CSS
   ==================================================== */

/* ── 변수 ── */
:root {
  --green-deep:   #1B5E20;
  --green-mid:    #2E7D32;
  --green-light:  #4CAF50;
  --gold:         #C9A84C;
  --gold-light:   #E8C96A;
  --navy:         #1A2744;
  --navy-mid:     #243560;
  --white:        #FFFFFF;
  --gray-50:      #F9FAFB;
  --gray-100:     #F5F7FA;
  --gray-200:     #EAECEF;
  --gray-400:     #9BA3AF;
  --gray-700:     #374151;
  --text-main:    #1A1A2E;
  --text-sub:     #4B5563;
  --radius-sm:    6px;
  --radius-md:    12px;
  --shadow-card:  0 2px 16px rgba(0,0,0,0.07);
  --shadow-hover: 0 8px 28px rgba(27,94,32,0.14);
}

/* ── 리셋 ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
  background: var(--gray-100);
  color: var(--text-main);
  line-height: 1.75;
  word-break: keep-all;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; vertical-align: middle; }
ul, ol { list-style: none; }
.screen_out { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }

/* ── 접근성 ── */
#acc-nav a {
  position: absolute; top: -100px; left: 0; z-index: 9999;
  background: var(--navy); color: white;
  padding: 8px 14px; font-size: 13px;
}
#acc-nav a:focus { top: 0; }

/* ===================================================
   HEADER
   =================================================== */
#header {
  background: linear-gradient(135deg, var(--navy) 0%, var(--green-deep) 65%, var(--green-mid) 100%);
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
#header::before {
  content: '';
  position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
#header > .inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

/* 브랜드 h1 */
#header > .inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#header h1 {
  display: inline-block;
  order: 0;
}

#header h1 a {
  display: flex;
  align-items: center;
}

.brand-logo-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 0 12px;
  margin-left: 0;
}

#gnb {
  width: 100%;
  margin: 0 -24px;
  padding: 0 24px;
}

/* 헥사곤 로고를 텍스트 왼쪽으로 이동 */
.util .profile {
  display: none !important;
}

.brand-hex-svg {
  order: -1;
}

#header h1 a {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.brand-text-wrap {
  order: 1;
}


.brand-hex-svg { width: 64px; height: 64px; flex-shrink: 0; }
.brand-text-wrap {
  display: flex;
  flex-direction: column;
}
.brand-logo-img { max-height: 48px; }
.brand-name-text {
  font-size: 24px;
  font-weight: 900;
  color: var(--white);
  letter-spacing: -0.5px;
  line-height: 1.1;
}
.brand-tag-badge {
  display: inline-block;
  margin-top: 4px;
  background: var(--gold);
  color: var(--navy);
  font-size: 10px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  width: fit-content;
}
.brand-desc-text {
  margin-top: 4px;
  font-size: 30px;
  color: rgba(255, 196, 0, 0.6);
  font-weight: 800;
}

/* 유틸 (검색 / 프로필) */
.util {
  position: absolute;
  top: 18px; right: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.search {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 24px;
  padding: 6px 14px;
  gap: 6px;
}
.search input {
  background: none;
  border: none;
  outline: none;
  color: white;
  font-size: 13px;
  font-family: inherit;
  width: 160px;
}
.search input::placeholder { color: rgba(255,255,255,0.4); }
.search button {
  background: none; border: none; cursor: pointer;
  color: rgba(255,255,255,0.6); font-size: 14px;
}
.search button:hover { color: var(--gold-light); }
.profile { position: relative; }
.profile > button {
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 50%;
  width: 34px; height: 34px;
  overflow: hidden;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.profile > button img { width: 100%; height: 100%; object-fit: cover; }
.profile nav {
  display: none;
  position: absolute; top: 110%; right: 0;
  background: var(--navy);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
  min-width: 100px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.3);
  z-index: 100;
}
.profile:hover nav,
.profile:focus-within nav { display: block; }
.profile nav ul li a {
  display: block;
  padding: 9px 16px;
  font-size: 13px;
  color: rgba(255,255,255,0.8);
}
.profile nav ul li a:hover { color: var(--gold-light); background: rgba(255,255,255,0.05); }

/* 햄버거 */
.menu {
  display: none;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-sm);
  color: white; cursor: pointer;
  padding: 6px 10px; font-size: 12px;
}

/* GNB */
#gnb {
  background: rgba(0,0,0,0.22);
  backdrop-filter: blur(4px);
  border-top: 1px solid rgba(255,255,255,0.08);
  margin: 0 -24px;
  padding: 0 24px;
}
#gnb ul { display: flex; flex-wrap: wrap; }
#gnb ul li a {
  display: block;
  padding: 13px 18px;
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  transition: all 0.2s;
  position: relative;
  white-space: nowrap;
}
#gnb ul li a:hover,
#gnb ul li.current_page a,
#gnb ul li.selected a {
  color: var(--gold-light);
  background: rgba(255,255,255,0.06);
}
#gnb ul li.current_page a::after,
#gnb ul li.selected a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 18px; right: 18px;
  height: 2px;
  background: var(--gold);
  border-radius: 2px 2px 0 0;
}

/* ===================================================
   MAIN SLIDER (promotion)
   =================================================== */
.main-slider { position: relative; overflow: hidden; }
.main-slider ul { display: flex; }
.main-slider ul li {
  flex: 0 0 100%;
  height: 360px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.main-slider ul li::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 60%);
}
.main-slider .inner {
  position: absolute; inset: 0; z-index: 2;
  display: flex; align-items: flex-end;
  padding: 0;
}
.main-slider .box {
  padding: 32px 40px;
  display: flex; flex-direction: column; gap: 14px;
}
.main-slider .text {
  font-size: 26px; font-weight: 800;
  color: white;
  line-height: 1.35;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.main-slider .btn {
  display: inline-block;
  background: var(--gold);
  color: var(--navy);
  font-size: 13px; font-weight: 700;
  padding: 9px 22px;
  border-radius: 24px;
  width: fit-content;
  transition: opacity 0.2s;
}
.main-slider .btn:hover { opacity: 0.85; }

/* ===================================================
   LAYOUT — content-wrap + sidebar
   =================================================== */
.content-wrap {
  max-width: 1100px;
  margin: 28px auto;
  padding: 0 24px;
  display: flex;
  gap: 28px;
  align-items: flex-start;
}
#content { flex: 1; min-width: 0; }
.sidebar {
  width: 290px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* ===================================================
   COVER 섹션 공통
   =================================================== */
.cover-thumbnail-1,
.cover-thumbnail-2,
.cover-thumbnail-3,
.cover-thumbnail-4,
.cover-list,
.cover-event {
  margin-bottom: 28px;
}
.cover-thumbnail-1 h2,
.cover-thumbnail-2 h2,
.cover-thumbnail-3 h2,
.cover-thumbnail-4 h2,
.cover-list h2,
.cover-event h2 {
  font-size: 17px; font-weight: 700;
  color: var(--navy);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--gray-200);
  display: flex; align-items: center; gap: 8px;
}
.cover-thumbnail-1 h2::before,
.cover-thumbnail-2 h2::before,
.cover-thumbnail-3 h2::before,
.cover-thumbnail-4 h2::before,
.cover-list h2::before,
.cover-event h2::before {
  content: '';
  display: inline-block;
  width: 4px; height: 18px;
  background: linear-gradient(180deg, var(--gold), var(--green-mid));
  border-radius: 2px;
}

/* cover-thumbnail-1 : 세로형 카드 */
.cover-thumbnail-1 ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.cover-thumbnail-1 li a {
  display: block;
  background: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: all 0.22s;
}
.cover-thumbnail-1 li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cover-thumbnail-1 figure { height: 140px; overflow: hidden; background: var(--gray-200); }
.cover-thumbnail-1 figure img { width: 100%; height: 100%; object-fit: cover; }
.cover-thumbnail-1 .title {
  display: block;
  font-size: 13px; font-weight: 600;
  color: var(--navy);
  padding: 10px 12px 4px;
  line-height: 1.4;
}
.cover-thumbnail-1 .date {
  display: block;
  font-size: 11px; color: var(--gray-400);
  padding: 0 12px 10px;
}
.cover-thumbnail-1 a.more {
  display: inline-block;
  margin-top: 12px;
  font-size: 12px; color: var(--green-mid); font-weight: 600;
}

/* cover-thumbnail-2 */
.cover-thumbnail-2 ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cover-thumbnail-2 li a {
  display: block;
  background: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: all 0.22s;
}
.cover-thumbnail-2 li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cover-thumbnail-2 figure { height: 110px; overflow: hidden; background: var(--gray-200); }
.cover-thumbnail-2 figure img { width: 100%; height: 100%; object-fit: cover; }
.cover-thumbnail-2 .title {
  display: block; font-size: 13px; font-weight: 600; color: var(--navy);
  padding: 10px 12px 4px; line-height: 1.4;
}
.cover-thumbnail-2 .excerpt {
  display: block; font-size: 12px; color: var(--text-sub);
  padding: 0 12px; line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cover-thumbnail-2 .date { display: block; font-size: 11px; color: var(--gray-400); padding: 6px 12px 10px; }

/* cover-thumbnail-3 */
.cover-thumbnail-3 ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.cover-thumbnail-3 li a {
  display: block; background: var(--white);
  border-radius: var(--radius-md); overflow: hidden;
  box-shadow: var(--shadow-card); transition: all 0.22s;
}
.cover-thumbnail-3 li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cover-thumbnail-3 figure { height: 100px; overflow: hidden; background: var(--gray-200); }
.cover-thumbnail-3 figure img { width: 100%; height: 100%; object-fit: cover; }
.cover-thumbnail-3 .title { display: block; font-size: 12px; font-weight: 600; color: var(--navy); padding: 8px 10px; line-height: 1.4; }

/* cover-thumbnail-4 */
.cover-thumbnail-4 ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cover-thumbnail-4 li a {
  display: block; background: var(--white);
  border-radius: var(--radius-md); overflow: hidden;
  box-shadow: var(--shadow-card); transition: all 0.22s;
}
.cover-thumbnail-4 li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cover-thumbnail-4 figure { height: 160px; overflow: hidden; background: var(--gray-200); }
.cover-thumbnail-4 figure img { width: 100%; height: 100%; object-fit: cover; }
.cover-thumbnail-4 .title { display: block; font-size: 14px; font-weight: 600; color: var(--navy); padding: 12px 14px 4px; line-height: 1.4; }
.cover-thumbnail-4 .excerpt { display: block; font-size: 12px; color: var(--text-sub); padding: 0 14px; }
.cover-thumbnail-4 .meta { display: flex; gap: 10px; padding: 6px 14px 12px; font-size: 11px; color: var(--gray-400); }

/* cover-list */
.cover-list ul { display: flex; flex-direction: column; gap: 0; }
.cover-list li { border-bottom: 1px solid var(--gray-100); }
.cover-list li:last-child { border-bottom: none; }
.cover-list li a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; transition: color 0.2s; }
.cover-list li a:hover .title { color: var(--green-mid); }
.cover-list .title { font-size: 14px; color: var(--text-main); flex: 1; }
.cover-list .excerpt { font-size: 12px; color: var(--gray-400); }
.cover-list .date { font-size: 11px; color: var(--gray-400); flex-shrink: 0; }

/* cover-event */
.cover-event ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.cover-event li a {
  display: block; height: 120px;
  border-radius: var(--radius-md); overflow: hidden;
  background-size: cover; background-position: center;
  background-color: var(--navy);
  position: relative;
  box-shadow: var(--shadow-card);
  transition: all 0.22s;
}
.cover-event li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cover-event li a::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.5), transparent); }
.cover-event .title { position: absolute; bottom: 10px; left: 12px; right: 12px; z-index: 2; font-size: 13px; font-weight: 600; color: white; }

/* ===================================================
   포스트 목록 (post-item)
   =================================================== */
#content .inner {
  /* 포스트 카드들을 2열로 */
}
.post-item {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  margin-bottom: 16px;
  transition: all 0.22s;
}
.post-item:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.post-item a {
  display: flex;
  gap: 16px;
  padding: 18px;
  align-items: flex-start;
}
.post-item .thum {
  width: 100px; height: 80px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--gray-200);
  flex-shrink: 0;
}
.post-item .thum img { width: 100%; height: 100%; object-fit: cover; }
.post-item .title {
  display: block;
  font-size: 15px; font-weight: 600;
  color: var(--navy); line-height: 1.45;
  margin-bottom: 6px;
}
.post-item:hover .title { color: var(--green-mid); }
.post-item .excerpt {
  display: block;
  font-size: 13px; color: var(--text-sub); line-height: 1.6;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 6px;
}
.post-item .meta { font-size: 12px; color: var(--gray-400); }
.post-item .date { font-size: 11px; color: var(--gray-400); }

/* 보호글 */
.post-item.protected .thum {
  background: var(--gray-200);
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
}
.post-item.protected .thum::after { content: '🔒'; }

/* ===================================================
   포스트 헤더 (목록 상단)
   =================================================== */
.post-header {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 18px 22px;
  margin-bottom: 18px;
}
.post-header h1 {
  font-size: 18px; font-weight: 700; color: var(--navy);
  display: flex; align-items: center; gap: 8px;
}
.post-header h1 em {
  font-style: normal;
  font-size: 15px; color: var(--green-mid);
}

/* ===================================================
   포스트 커버 (상세 페이지 상단)
   =================================================== */
.post-cover {
  background: linear-gradient(135deg, var(--navy), var(--green-deep));
  background-size: cover;
  background-position: center;
  border-radius: var(--radius-md);
  padding: 60px 40px 40px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.post-cover::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.2) 100%);
}
.post-cover .inner { position: relative; z-index: 2; }
.post-cover .category {
  display: inline-block;
  background: var(--gold);
  color: var(--navy);
  font-size: 11px; font-weight: 700;
  padding: 3px 12px; border-radius: 20px;
  margin-bottom: 12px;
}
.post-cover h1 {
  font-size: 26px; font-weight: 800;
  color: white; line-height: 1.35;
  margin-bottom: 12px;
}
.post-cover .meta { font-size: 13px; color: rgba(255,255,255,0.65); display: flex; gap: 12px; flex-wrap: wrap; }

/* ===================================================
   본문 컨텐츠 (entry-content)
   =================================================== */
/* ===================================================
   본문 이미지 레이아웃 완벽 교정 (O.B 방지 및 정렬)
   =================================================== */
.entry-content img, 
#article-view img {
  width: 100% !important;        /* 부모 본문 영역 폭에 100% 맞춤 */
  max-width: 100% !important;    /* 본문 영역을 절대 탈출하지 못하도록 한계 고정 */
  height: auto !important;       /* 원본 가로세로 비율 유지 */
  display: block !important;
  margin: 24px auto !important;  /* 상하 여백 확보 및 좌우 자동 중앙 정렬 */
  
  /* 강제 배치 및 좌표 왜곡 초기화 */
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
}

/* 티스토리 자체 이미지 정렬 래퍼(Wrapper) 박스도 함께 방어 */
.entry-content .imageblock,
#article-view .imageblock {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 24px auto !important;
}

/* 데스크톱 화면 안전장치 (본문 폭이 넓어지더라도 찌그러짐 방지) */
@media screen and (min-width: 881px) {
  .entry-content img,
  #article-view img {
    width: 100% !important;      /* 절대 고정 수치(800px)를 버리고 반응형 100% 채움 */
    max-width: 100% !important;  
  }
}

/* 모바일 및 태블릿 환경 반응형 처리 */
@media screen and (max-width: 880px) {
  .entry-content img,
  #article-view img {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 8px;              /* 모바일 화면 좌우 미세 여백 추가 */
  }
}
/* ===================================================
   태그
   =================================================== */
.tags {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 18px 22px;
  margin-bottom: 16px;
}
.tags h2 { font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 12px; }
.tags a {
  display: inline-block;
  background: var(--gray-100);
  border: 1px solid var(--gray-200);
  border-radius: 20px;
  padding: 4px 13px;
  font-size: 12px; color: var(--text-sub);
  margin: 3px;
  transition: all 0.2s;
}
.tags a:hover { background: var(--green-mid); color: white; border-color: var(--green-mid); }

/* ===================================================
   관련글
   =================================================== */
.related-articles {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 22px 24px;
  margin-bottom: 16px;
}
.related-articles h2 {
  font-size: 16px; font-weight: 700; color: var(--navy);
  margin-bottom: 16px; padding-bottom: 10px;
  border-bottom: 1px solid var(--gray-200);
}
.related-articles ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.related-articles li a {
  display: block; border-radius: var(--radius-sm);
  overflow: hidden; background: var(--gray-100);
  transition: all 0.2s;
}
.related-articles li a:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.related-articles figure { height: 90px; overflow: hidden; }
.related-articles figure img { width: 100%; height: 100%; object-fit: cover; }
.related-articles .title { display: block; font-size: 12px; font-weight: 500; color: var(--navy); padding: 8px 10px; line-height: 1.4; }

/* ===================================================
   댓글
   =================================================== */
.comments {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 24px;
  margin-bottom: 16px;
}

/* ===================================================
   페이지네이션
   =================================================== */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 8px 0 32px;
  flex-wrap: wrap;
}
.pagination a {
  width: 36px; height: 36px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 500;
  background: var(--white);
  color: var(--text-sub);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--gray-200);
  transition: all 0.2s;
}
.pagination a:hover,
.pagination a[style*="font-weight:bold"],
.pagination a.on { background: var(--green-mid); color: white; border-color: var(--green-mid); }
.pagination a.prev, .pagination a.next { font-size: 11px; width: auto; padding: 0 12px; }
.pagination a.prev.disabled,
.pagination a.next.disabled { opacity: 0.3; pointer-events: none; }

/* ===================================================
   404 / 검색 없음
   =================================================== */
.not-found {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 40px;
  text-align: center;
  color: var(--text-sub);
  font-size: 14px; line-height: 1.8;
}
.not-found ul { margin-bottom: 12px; display: none; }
.not-found ul.tag { display: none; }
.not-found ul.category { display: none; }
.not-found ul.archive { display: none; }

/* 검색 결과 없음 — 동적으로 body 클래스에 따라 ul 표시 */
body.search .not-found > ul:first-of-type { display: block; }
body.tag .not-found ul.tag { display: block; }
body.category .not-found ul.category { display: block; }
body.archive .not-found ul.archive { display: block; }

/* ===================================================
   보호글 폼
   =================================================== */
.protected_form {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 40px;
  text-align: center;
}
.protected_form h2 { font-size: 18px; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.protected_form p { font-size: 14px; color: var(--text-sub); margin-bottom: 20px; }
.protected_form input[type=password] {
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-sm);
  padding: 10px 14px;
  font-size: 14px;
  width: 220px;
  outline: none;
  margin-right: 8px;
}
.protected_form input[type=password]:focus { border-color: var(--green-mid); }
.protected_form .btn {
  background: var(--green-mid);
  color: white;
  border: none;
  border-radius: var(--radius-sm);
  padding: 10px 22px;
  font-size: 14px; font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.protected_form .btn:hover { background: var(--green-deep); }

/* ===================================================
   SIDEBAR — 프로필 위젯
   =================================================== */
.gs-profile-widget {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 24px 18px;
  text-align: center;
}
.gs-profile-logo { width: 72px; height: 72px; margin: 0 auto 12px; }
.gs-profile-logo svg { width: 100%; height: 100%; }
.gs-profile-name {
  font-size: 16px; font-weight: 800; color: var(--navy);
  margin-bottom: 4px;
}
.gs-profile-name span { color: var(--green-mid); }
.gs-profile-badge {
  display: inline-block;
  background: var(--gold);
  color: var(--navy);
  font-size: 10px; font-weight: 700;
  padding: 2px 10px; border-radius: 20px;
  margin-bottom: 12px;
}
.gs-profile-desc { font-size: 12px; color: var(--text-sub); line-height: 1.7; }

/* ===================================================
   SIDEBAR — 공통 위젯
   =================================================== */
.sidebar-1, .sidebar-2 { display: flex; flex-direction: column; gap: 18px; }

/* 카테고리 */
.category {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.category > ul { }
.category ul li { border-bottom: 1px solid var(--gray-100); }
.category ul li:last-child { border-bottom: none; }
.category ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  font-size: 13px; color: var(--text-main);
  transition: all 0.2s;
}
.category ul li a:hover { background: var(--gray-50); color: var(--green-mid); }
.category ul li.current_category > a { color: var(--green-mid); font-weight: 600; }
/* 서브 카테고리 */
.category ul li ul { border-top: 1px solid var(--gray-100); }
.category ul li ul li a { padding-left: 30px; font-size: 12px; color: var(--text-sub); background: var(--gray-50); }
.category ul li ul li a:hover { color: var(--green-mid); background: var(--gray-100); }

/* 카테고리 헤더 라벨 (티스토리가 h4 등 생성할 경우) */
.category h4 {
  background: linear-gradient(135deg, var(--green-deep), var(--green-mid));
  color: white;
  font-size: 13px; font-weight: 700;
  padding: 12px 16px;
}

/* 공지사항 */
.notice {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 16px 18px;
}
.notice h2 {
  font-size: 13px; font-weight: 700; color: var(--navy);
  margin-bottom: 10px; padding-bottom: 8px;
  border-bottom: 1px solid var(--gray-200);
  display: flex; align-items: center; gap: 6px;
}
.notice h2::before { content: '📢'; font-size: 13px; }
.notice ul li { border-bottom: 1px solid var(--gray-100); }
.notice ul li:last-child { border-bottom: none; }
.notice ul li a {
  display: block;
  padding: 8px 0;
  font-size: 12px; color: var(--text-main);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.2s;
}
.notice ul li a:hover { color: var(--green-mid); }

/* 최근글/인기글 탭 */
.post-list.tab-ui {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.tab-list h2 {
  background: linear-gradient(135deg, var(--navy), var(--navy-mid));
  color: white;
  font-size: 13px; font-weight: 700;
  padding: 11px 16px;
  cursor: pointer;
}
.tab-list ul {}
.tab-list ul li { border-bottom: 1px solid var(--gray-100); }
.tab-list ul li:last-child { border-bottom: none; }
.tab-list ul li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  transition: background 0.2s;
}
.tab-list ul li a:hover { background: var(--gray-50); }
.tab-list ul li a img {
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  object-fit: cover;
  flex-shrink: 0;
}
.tab-list .title {
  display: block;
  font-size: 12px; font-weight: 500; color: var(--text-main);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  flex: 1;
}
.tab-list .date { display: block; font-size: 10px; color: var(--gray-400); margin-top: 2px; flex-shrink: 0; }

/* 최근댓글 */
.recent-comment {
  background: var(--white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card);
  padding: 16px 18px;
}
.recent-comment h2 {
  font-size: 13px; font-weight: 700; color: var(--navy);
  margin-bottom: 10px; padding-bottom: 8px;
  border-bottom: 1px solid var(--gray-200);
}
.recent-comment ul li { border-bottom: 1px solid var(--gray-100); }
.recent-comment ul li:last-child { border-bottom: none; }
.recent-comment ul li a {
  display: block;
  padding: 8px 0;
  font-size: 12px; color: var(--text-sub); line-height: 1.5;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color 0.2s;
}
.recent-comment ul li a:hover { color: var(--green-mid); }

/* ===================================================
   FOOTER
   =================================================== */
#footer {
  background: var(--navy);
  color: rgba(255,255,255,0.55);
  margin-top: 20px;
  padding: 40px 24px 20px;
}
.footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 36px;
  margin-bottom: 28px;
}
.footer-brand-name {
  font-size: 17px; font-weight: 800;
  color: white; margin-bottom: 10px;
}
.footer-brand-name span { color: var(--gold); }
.footer-brand-desc { font-size: 12px; line-height: 1.85; }
.footer-col-title {
  font-size: 13px; font-weight: 700;
  color: white; margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-links li { margin-bottom: 8px; }
.footer-links a { font-size: 12px; color: rgba(255,255,255,0.5); transition: color 0.2s; }
.footer-links a:hover { color: var(--gold-light); }
.footer-bottom {
  max-width: 1100px;
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 18px;
  text-align: center;
  font-size: 11px;
  color: rgba(255,255,255,0.3);
}

/* ===================================================
   반응형
   =================================================== */
@media (max-width: 960px) {
  .content-wrap { flex-direction: column; }
  .sidebar { width: 100%; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .cover-thumbnail-1 ul { grid-template-columns: repeat(2, 1fr); }
  .cover-thumbnail-2 ul { grid-template-columns: repeat(2, 1fr); }
  .cover-thumbnail-3 ul { grid-template-columns: repeat(3, 1fr); }
  .related-articles ul { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .content-wrap { padding: 0 14px; margin: 16px auto; }
  .brand-logo-wrap { padding: 16px 0 12px; gap: 10px; }
  .brand-hex-svg { width: 48px; height: 48px; }
  .brand-name-text { font-size: 18px; }
  .brand-desc-text { display: none; }
  .util { top: 14px; right: 14px; }
  .search { display: none; }
  .menu { display: flex; }
  #gnb { display: none; } /* 모바일 메뉴 버튼으로 토글 */
  #gnb.open { display: block; }
  #gnb ul { flex-direction: column; }
  #gnb ul li a { padding: 11px 20px; border-bottom: 1px solid rgba(255,255,255,0.07); }
  .main-slider ul li { height: 220px; }
  .main-slider .text { font-size: 18px; }
  .cover-thumbnail-1 ul, .cover-thumbnail-2 ul, .cover-thumbnail-3 ul { grid-template-columns: 1fr 1fr; }
  .cover-thumbnail-4 ul { grid-template-columns: 1fr; }
  .related-articles ul { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 20px; }
  .post-cover h1 { font-size: 19px; }
  .entry-content { padding: 22px 18px; }
}



/* 굿샷뉴스 로고 엑스박스 및 깨짐 현상 원천 차단 */
#header h1 {
  display: inline-block !important;
  vertical-align: middle;
}

.brand-logo-wrap {
  width: auto !important;          /* 가로 크기 강제 고정 해제 */
  height: 64px !important;         /* 상단 검은색 바 높이에 딱 맞게 세로 고정 */
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.brand-logo-wrap .main-custom-logo {
  height: 52px !important;         /* 로고의 순수 세로 높이 지정 (위아래 여백 확보) */
  width: auto !important;          /* 가로 비율은 원본 비율대로 자동 계산 (절대 안 깨짐) */
  object-fit: contain !important;  /* 왜곡 없이 원본 이미지 형태 유지 */
  display: block !important;
}

/* 모바일 환경(화면이 좁아질 때) 자동 스케일 조절 */
@media screen and (max-width: 640px) {
  .brand-logo-wrap {
    height: 48px !important;
  }
  .brand-logo-wrap .main-custom-logo {
    height: 38px !important;       /* 모바일에서는 조금 더 작고 깔끔하게 표시 */
  }
}



/* ===================================================
   모바일 메뉴 토글
   =================================================== */
</style>
<script>
$(function() {
  /* 햄버거 메뉴 토글 */
  $('.menu').on('click', function() {
    $('#gnb').toggleClass('open');
  });
  /* 탭 UI — 최근글/인기글 */
  (function() {
    var $tabs = $('.post-list.tab-ui .tab-list');
    if (!$tabs.length) return;
    $tabs.each(function(i) {
      if (i > 0) $(this).hide();
    });
    $tabs.find('h2').on('click', function() {
      var $parent = $(this).closest('.post-list.tab-ui');
      $parent.find('.tab-list').hide();
      $(this).parent().show();
    });
  })();
});

/* 티스토리 관리메뉴 버튼 숨김 */
.menu_toolbar,
#menubar_wrapper,
.btn_menu_toolbar,
.btn_menu_type2,
div.menu_toolbar { 
  display: none !important; 
}


/* ===== 본문 이미지 깨짐 및 O.B 방지 완벽 교정 (최종본) ===== */
#article-view img,
.entry-content img {
  width: 100% !important;        /* 본문 가로폭에 100% 맞춤 */
  max-width: 100% !important;    /* 본문 영역을 절대 탈출하지 못하도록 방어선 구축 */
  min-width: unset !important;   /* 기존의 800px 강제 제한 해제 */
  height: auto !important;       /* 원본 비율 유지 */
  display: block !important;
  margin: 24px auto !important;  /* 위아래 적절한 여백 및 좌우 중앙 정렬 */
  
  /* 위치 왜곡 좌표 완전히 초기화 */
  position: relative !important;
  left: 0 !important;
  transform: none !important;
}

/* 티스토리 에디터가 생성하는 감싸기 박스(Wrapper)까지 함께 두 번 방어 */
#article-view figure,
.entry-content figure,
#article-view .imageblock,
.entry-content .imageblock {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 24px auto !important;
  transform: none !important;
}


/* ===================================================
   테이블(표) 내부 이미지 위아래 마진 및 여백 완벽 제거
   =================================================== */

/* 1. 테이블 셀(td) 안에 들어간 이미지의 강제 위아래 마진을 0으로 초기화 */
.entry-content table img,
#article-view table img {
  margin: 0 auto !important;       /* 위아래 마진은 0, 좌우는 자동 중앙 정렬 */
  padding: 0 !important;           /* 이미지 자체 안쪽 여백 제거 */
}

/* 2. 티스토리 에디터가 테이블 안 이미지에 강제로 씌운 figure 박스의 여백 제거 */
.entry-content table figure,
#article-view table figure,
.entry-content table .imageblock,
#article-view table .imageblock {
  margin: 0 auto !important;       /* 감싸는 박스의 위아래 마진도 0으로 격파 */
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* 3. 테이블 칸(td) 자체에 걸려있는 기본 안쪽 상하 여백 축소 */
.entry-content table td,
#article-view table td {
  padding: 0px 4px !important;     /* 상하 여백은 0으로 날리고, 좌우 간격만 4px 미세하게 유지 */
  vertical-align: middle !important; /* 칸 안에서 이미지가 세로 정렬이 가운데로 오도록 고정 */
}

/* 4. 블로그 에디터가 행(tr)이나 칸에 강제로 주입한 줄바꿈 공백 방지 */
.entry-content table p,
#article-view table p {
  margin: 0 !important;
  padding: 0 !important;
}


/* ===================================================
   예천 한천파크골프장 인포그래픽 탭 전환 엔진 (CSS 하단 우회 방식)
   =================================================== */
</style>
<script type="text/javascript">
function switchPgCourse(element, courseId) {
  // 1. 모든 코스 박스 숨기기
  var contents = document.getElementsByClassName('pg-course-content');
  for (var i = 0; i < contents.length; i++) {
    contents[i].classList.remove('active');
  }
  // 2. 모든 버튼 비활성화
  var buttons = document.getElementsByClassName('pg-tab-btn');
  for (var i = 0; i < buttons.length; i++) {
    buttons[i].classList.remove('active');
  }
  // 3. 선택한 코스 및 버튼만 활성화
  document.getElementById(courseId).classList.add('active');
  element.classList.add('active');
}
</script>
<style type="text/css">


</script>
