/*
 * HikingEngine Global CSS
 * 모든 페이지에서 로딩 — Astra 테마 레이아웃 보정
 */

/* ── 푸터 컨테이너 max-width 해제 ───────────────────────────────────
   Astra 푸터 내부 모든 .ast-container 의 max-width 를 제거하여
   메뉴가 화면 전체 폭까지 펼쳐지도록 한다.
   html body 접두사로 specificity 를 높여 Astra inline/theme 스타일 우선.
────────────────────────────────────────────────────────────────── */
html body #colophon .ast-container,
html body .site-footer .ast-container,
html body footer .ast-container,
html body .ast-footer-bar .ast-container,
html body .ast-footer-bar-area .ast-container,
html body .footer-bar-area .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}

/* ── 푸터 메뉴 full-width ────────────────────────────────────────
   항목들은 flexbox justify-content: space-between 으로 균등 배치.
────────────────────────────────────────────────────────────────── */
html body .ast-footer-navigation,
html body #colophon nav,
html body .site-footer nav,
html body footer nav {
	width: 100% !important;
}

html body .ast-footer-navigation .ast-footer-menu,
html body .ast-footer-navigation ul,
html body #colophon nav ul,
html body .site-footer nav ul,
html body footer nav ul {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	width: 100% !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── 헤더 사이트 제목·설명 텍스트 숨기기 ────────────────────────────
   custom_logo 이미지만 표시하고 텍스트는 숨긴다.
────────────────────────────────────────────────────────────────── */
.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-description,
.site-title,
.site-description {
	display: none !important;
}

/* ── 본문 모바일 가독성 ──────────────────────────────────────────────
   AI 생성 등산 포스트의 문단 뭉침 방지.
   word-break: keep-all — 한국어 단어 중간 줄바꿈 방지 (가독성 핵심).
   모든 브라우저에서 p 태그 간격·행간 통일.
────────────────────────────────────────────────────────────────── */
.entry-content p,
.hiking-content p {
	margin-bottom: 1.35em;
	line-height: 1.95;
	word-break: keep-all;
	overflow-wrap: break-word;
	line-break: strict;
}

.entry-content h2,
.hiking-content h2 {
	margin-top: 2em;
	margin-bottom: 0.55em;
}

.entry-content h3,
.hiking-content h3 {
	margin-top: 1.7em;
	margin-bottom: 0.45em;
}

.entry-content ul,
.entry-content ol,
.hiking-content ul,
.hiking-content ol {
	margin-bottom: 1.2em;
	padding-left: 1.5em;
}

.entry-content li,
.hiking-content li {
	margin-bottom: 0.45em;
	line-height: 1.85;
	word-break: keep-all;
	overflow-wrap: break-word;
	line-break: strict;
}

/* 모바일 전용 ── 글자 크기 유지 + 행간·여백 강화 */
@media (max-width: 600px) {
	.entry-content p,
	.hiking-content p {
		font-size: 16px !important;
		line-height: 2.05 !important;
		margin-bottom: 1.5em !important;
		/* loose: 마침표·쉼표 뒤 줄바꿈 기회 최대화 */
		line-break: loose !important;
		word-break: keep-all !important;
		overflow-wrap: anywhere !important;
	}

	.entry-content h2,
	.hiking-content h2 {
		font-size: 1.25rem !important;
		margin-top: 2.4em !important;
		margin-bottom: 0.6em !important;
	}

	.entry-content h3,
	.hiking-content h3 {
		font-size: 1.1rem !important;
		margin-top: 2em !important;
		margin-bottom: 0.5em !important;
	}

	.entry-content li,
	.hiking-content li {
		font-size: 15px !important;
		line-height: 1.9 !important;
		margin-bottom: 0.55em !important;
		line-break: loose !important;
		overflow-wrap: anywhere !important;
	}
}
