/*
Theme Name: Moohyup Theme
Theme URI: https://moohyup.com/themes/moohyup-theme
Author: Moohyup Team
Author URI: https://moohyup.com
Description: Full Site Editing 기반의 무자본창업가협회 원페이지 콘셉트 테마.
Version: 0.5.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: moohyup-theme
*/

/*
=======================================================================
초보 개발자를 위한 사용법
-----------------------------------------------------------------------
1. FSE 방식에서는 페이지 구조(헤더, 푸터, 섹션)는 "사이트 편집기 → 템플릿"에서 수정하고,
   이 파일은 전역적인 타이포/여백/헬퍼 클래스를 정의할 때만 사용합니다.
2. Bootstrap 5가 functions.php에서 CDN으로 로드되어 있으므로, theme.json에서 지정한 전역 스타일과
   함께 Bootstrap 유틸리티 클래스를 자유롭게 섞어 쓰면 됩니다.
3. 추가로 필요한 CSS는 아래에 일반 CSS 형태로 작성하고, 폰트 토큰이나 색상은 가급적 theme.json의
   프리셋을 먼저 수정한 뒤 여기에서 보정하세요.
=======================================================================
*/

/* ═══════════════════════════════════════════════════════════════════════
   GLOBAL LAYOUT & CUSTOM STYLES
   ═══════════════════════════════════════════════════════════════════════ */

body {
	font-family: "Pretendard", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #101010;
	background-color: #ffffff;
	scroll-behavior: smooth;
	margin: 0;
	padding: 0;
}

/* FSE 원페이지: 전체 컨테이너 초기화 */
body,
html {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
	width: 100%;
}

.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* main 태그 완전 초기화 */
.wp-site-blocks > main,
main.wp-block-group {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* alignfull 강제 적용 - WordPress의 모든 제약 제거 */
.alignfull,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* WordPress의 is-layout 클래스들 무력화 */
.is-layout-constrained > .alignfull,
.is-layout-flow > .alignfull {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* 모든 섹션 그룹이 full-width가 되도록 */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
	box-sizing: border-box;
}

/* 내부 콘텐츠 중앙 정렬 - 기본값 */
.wp-block-group.alignfull > .wp-block-heading,
.wp-block-group.alignfull > .wp-block-paragraph,
.wp-block-group.alignfull > .wp-block-columns,
.wp-block-group.alignfull > .wp-block-buttons {
	max-width: 1000px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--wp--preset--spacing--md, 1.5rem);
	padding-right: var(--wp--preset--spacing--md, 1.5rem);
	box-sizing: border-box;
}

/* Hero & CTA 섹션: 좁은 폭 (800px) */
#hero .wp-block-cover__inner-container,
#cta .wp-block-cover__inner-container {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--wp--preset--spacing--md, 1.5rem);
	padding-right: var(--wp--preset--spacing--md, 1.5rem);
	box-sizing: border-box;
}

#hero .wp-block-cover__inner-container > *,
#cta .wp-block-cover__inner-container > * {
	max-width: 100%;
}

/* Philosophy 섹션: 좁은 폭 (800px) */
#philosophy > .wp-block-heading,
#philosophy > .wp-block-paragraph,
#philosophy > .wp-block-columns {
	max-width: 800px !important;
}

/* Cases & Programs 섹션: 넓은 폭 (1200px) */
#cases > .wp-block-heading,
#cases > .wp-block-paragraph,
#cases > .wp-block-columns,
#programs > .wp-block-heading,
#programs > .wp-block-paragraph,
#programs > .wp-block-columns {
	max-width: 1200px !important;
}

/* Membership 섹션: 중간 폭 (900px) */
#membership > .wp-block-heading,
#membership > .wp-block-paragraph,
#membership > .wp-block-columns {
	max-width: 900px !important;
}

/* ═══ 어그로체 폰트 ═══ */
.has-aggro-font {
	font-family: 'SBAggroB', "Pretendard", sans-serif !important;
	letter-spacing: 0.02em;
}

/* ═══ 버튼 hover 애니메이션 ═══ */
.wp-block-button__link {
	transition: all 0.3s ease;
}

.wp-block-button__link:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 24px rgba(197, 160, 92, 0.3);
}

.has-moohyup-gold-background-color.wp-block-button__link:hover {
	box-shadow: 0 8px 32px rgba(197, 160, 92, 0.5);
}

/* ═══ 케이스 카드 hover lift ═══ */
.wp-block-column:hover {
	transform: translateY(-8px);
	transition: transform 0.3s ease, border-color 0.3s ease;
}

.wp-block-column {
	transition: transform 0.3s ease;
}

#cases .wp-block-column:hover {
	border-color: #c5a05c !important;
}

/* ═══ Header Sticky & Full Width ═══ */
.site-masthead {
	position: sticky;
	top: 0;
	z-index: 999;
	backdrop-filter: blur(16px);
	transition: background-color 0.3s ease;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

/* 헤더 내부 콘텐츠는 중앙 정렬 */
.site-masthead > * {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* ═══ Fade-up 애니메이션 ═══ */
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#hero h1,
#hero p,
#hero .wp-block-buttons {
	animation: fadeUp 0.6s ease-out forwards;
}

#hero h1 { animation-delay: 0.2s; }
#hero p { animation-delay: 0.4s; }
#hero .wp-block-buttons { animation-delay: 0.6s; }

/* ═══ KPI 카드 glow ═══ */
#hero .wp-block-column {
	transition: box-shadow 0.3s ease;
}

#hero .wp-block-column:hover {
	box-shadow: 0 0 24px rgba(197, 160, 92, 0.6);
}

/* ═══ 링크 스타일 ═══ */
a {
	color: #c5a05c;
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: #d4b06a;
}

.wp-block-group.has-moohyup-black-background-color a {
	color: #ffffff;
	text-decoration: underline;
}

.wp-block-group.has-moohyup-black-background-color a:hover {
	color: #c5a05c;
}

/* ═══ 스피너 (Bootstrap 5) ═══ */
.spinner-border {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	vertical-align: text-bottom;
	border: 0.2em solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: spinner-border 0.75s linear infinite;
}

@keyframes spinner-border {
	to { transform: rotate(360deg); }
}

/* ═══ 섹션 간격 제거 ═══ */
#hero,
#philosophy,
#cases,
#programs,
#membership,
#cta {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* ═══ 헤더와 푸터 위치 교정 ═══ */
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-template-part {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* 푸터 내부 그룹도 교정 */
footer .wp-block-group {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

/* ═══ 모바일 반응형 ═══ */
@media (max-width: 768px) {
	#hero h1 { font-size: 32px !important; }
	#philosophy h2,
	#cases h2,
	#programs h2,
	#membership h2,
	#cta h2 { font-size: 28px !important; }

	.wp-block-columns {
		flex-direction: column;
	}

	.wp-block-column {
		flex-basis: 100% !important;
		margin-bottom: 1rem;
	}
}

