/*
Theme Name: whiparam
Theme URI: https://whi-param.com/
Author: whiparam
Author URI: https://whi-param.com/
Description: Bootstrap 5 기반 커스텀 워드프레스 테마
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: whiparam
Tags: bootstrap, custom-theme
*/

/* ---------- 기본 색상 시스템 ---------- */
:root {
  --whi-primary: #FFC700;     /* 브랜드 노랑 */
  --whi-primary-light: #FFF9E5;
  --whi-accent: #7C3AED;      /* 보라 포인트 */
  --whi-gray-dark: #2E2E2E;
  --whi-gray-light: #FAFAFA;
  --whi-border: #F0F0F0;
}

/* Bootstrap 기본 text-primary 색상 오버라이드 */
.text-primary {
  color: var(--whi-primary) !important;
}

.bg-primary {
  background-color: var(--whi-primary) !important;
}

.btn-primary {
  background-color: var(--whi-primary) !important;
  border-color: var(--whi-primary) !important;
  color: #000; /* 필요하면 글자색도 조정 */
}


/* ---------- 폰트 선언 ---------- */
@font-face {
  font-family: 'Pretendard-Regular';
  src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Freesentation-9Black';
  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2404@1.0/Freesentation-9Black.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
}

/* ---------- 레이아웃 기본 ---------- */
.container {
  max-width: 1140px;
}

/* 우커머스 상품 상세페이지 내용 영역만 750px로 제한 */
body.single-product .woocommerce div.product {
  max-width: 800px !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0rem;
  padding-right: 0rem;
}

body.single-product > main > article > h2 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 2em;
}


/* ---------- 타이포그래피 ---------- */
body {
  font-family: 'Pretendard-Regular', sans-serif;
  color: var(--whi-gray-dark);
  background-color: #fff;
}
h1, h2, h3, h4, h5, h6,
.font-heading {
  font-family: 'Freesentation-9Black', sans-serif;
  letter-spacing: -0.01em;
}

/* ---------- 내비게이션 ---------- */
.navbar-nav .nav-link {
  font-family: 'Freesentation-9Black', sans-serif;
  font-weight: 900;
  font-size: 1.1rem;
  color: #222;
}
.navbar-nav .nav-link:hover {
  color: var(--whi-accent);
}

/* ---------- 드롭다운 메뉴 ---------- */
.dropdown-menu {
  border-radius: 0.5rem;
  border: 1px solid var(--whi-border);
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.05);
  padding: 0.5rem 0;
  font-size: 0.95rem;
  min-width: 10rem;
  background-color: #fff;
}
.dropdown-item:hover {
  background-color: var(--whi-primary-light);
  color: var(--whi-accent);
}

/* ---------- 버튼 ---------- */
.btn-warning {
  background-color: var(--whi-primary);
  border-color: var(--whi-primary);
  color: #222;
  font-family: 'Freesentation-9Black', sans-serif;
}
.btn-warning:hover {
  background-color: #e6b500;
  border-color: #e6b500;
}

/* 헤더 버튼 */
a.header-btn {
  font-family: 'Freesentation-9Black', sans-serif;
  font-weight: 900;
}

/* ---------- 카드 및 전환 효과 ---------- */
.transition-card {
  transition: all 0.3s ease;
  background-color: var(--whi-gray-light);
  border: 1px solid var(--whi-border);
  border-radius: 1rem;
}
.transition-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px) scale(1.01);
  border-color: var(--whi-primary);
}
.thumbnail-hover-wrapper {
  transition: transform 0.3s ease;
  overflow: hidden;
  border-radius: 0.75rem;
}
.transition-card:hover .thumbnail-hover-wrapper {
  transform: scale(1.05);
}

/* ---------- 페이지별 subtle variation ---------- */
.archive-artist h1 {
  letter-spacing: -0.5px;
}
.archive-concert h1 {
  font-weight: 800;
}
.archive-music h1 {
  font-style: italic;
}




/* ---------- 연혁 history CSS ---------- */
.timeline {
  position: relative;
  margin-left: 0;
  padding-left: 0;
}
.timeline-year-group {
  position: relative;
  padding-left: 0;
}
.timeline-year-badge {
  margin-left: 0;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 2;
}
.timeline-year-group::before {
  content: '';
  position: absolute;
  left: 2.2rem;
  top: 2.2rem;
  bottom: 0;
  width: 3px;
  background: var(--whi-border);
  z-index: 0;
}
.timeline-month-group {
  position: relative;
  margin-bottom: 2rem;
  /* 해당 월의 내용(카드, 아티스트 리스트)의 왼쪽 인덴트 - 이 값을 늘리면 더 오른쪽에서 시작 */
  padding-left: 5rem; /* ← 여기서 조정 */
}
.timeline-month-badge {
  position: absolute;
  /* '월' 배지의 왼쪽 위치(세로선 위에 맞추려면 0, 더 오른쪽으로 옮기려면 값 증가) */
  left: 0; /* ← 여기서 조정 */
  top: 0.1rem;
  z-index: 3;
}
.timeline-month-badge .badge {
  background: var(--whi-primary-light) !important;
  color: var(--whi-accent) !important;
  font-weight: 700;
  border-radius: 1.5rem;
  box-shadow: 0 1px 4px rgba(124,58,237,0.06);
}
.timeline-item,
.timeline-artist-list {
  margin-left: 0;
}
.timeline-artist-list a {
  width: 56px;
  display: inline-block;
}
.timeline-artist-list img {
  border: 2px solid var(--whi-accent);
}
@media (max-width: 600px) {
  .timeline-year-badge span,
  .timeline-month-badge span {
    font-size: 1rem !important;
    padding: 0.5rem 1rem !important;
  }
  .timeline-year-group::before {
    left: 1.1rem;
    top: 1.6rem;
  }
  .timeline-month-group {
    /* 모바일에서의 인덴트 - 이 값을 늘리면 더 오른쪽에서 시작 */
    padding-left: 4.5rem; /* ← 여기서 조정 */
  }
  .timeline-month-badge {
    left: 0; /* ← 모바일에서 '월' 배지 위치 */
    top: 0.1rem;
  }
}

/* 카드 헤더 컬러 */
.card-header.bg-accent {
  background-color: var(--whi-accent) !important;
}
.card-header.bg-primary {
  background-color: var(--whi-primary) !important;
}

/* 연도 배지 */
.timeline-year .badge {
  font-size: 1rem;
  padding: 0.5rem 0.75rem;
}
