/**
 * Base theme styles.
 *
 * @package AriawellTheme
 */

:root {
	--aw-color-text: #1f2937;
	--aw-color-text-muted: #6b7280;
	--aw-color-bg: #f3f4f6;
	--aw-color-surface: #ffffff;
	--aw-color-primary: #111827;
	--aw-color-primary-hover: #374151;
	--aw-color-border: #e5e7eb;
	--aw-color-focus: #2563eb;
	--aw-radius-md: 12px;
	--aw-radius-lg: 20px;
	--aw-shadow-md: 0 12px 32px rgba(15, 23, 42, 0.08);
	--aw-font-sans: "Pretendard", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;
	--aw-section-padding-x: 40px;
	--aw-container-max-width: 1360px;

	--fp-color-text: #17181b;
	--fp-color-text-sub1: #333740;
	--fp-color-text-sub2: #545964;
	--fp-color-text-sub3: #858a94;
	--fp-color-white: #ffffff;
	--fp-color-border: #c4c8cd;
	--fp-color-orange: #c0735d;
	--fp-color-navy: #425166;
	--fp-color-navy-bg: #edf3fa;
	--fp-color-green: #395047;
	--fp-color-green-bg: #eff7f4;
	--fp-color-gray-bg: #f2f3f5;
	--fp-color-brand: #1c3154;
	--fp-color-footer: #39404e;
	--fp-font-serif: "Gowun Dodum", "Pretendard", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fp-font-sans: "Pretendard", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fp-font-lora: "Lora", "Pretendard", "Noto Sans KR", system-ui, -apple-system, "Segoe UI", sans-serif;
}

@media (max-width: 1024px) {
	:root {
		--aw-section-padding-x: 30px;
	}
}

@media (max-width: 767px) {
	:root {
		--aw-section-padding-x: 20px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	/* iOS/Safari 가로모드 전환 시 폰트 크기가 자동으로 커지는 현상 방지 */
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--fp-color-white);
	color: var(--fp-color-text);
	font-family: var(--fp-font-sans);
	line-height: 1.6;
	/* iOS/Safari에서 링크·버튼 탭 시 나타나는 회색/파란 하이라이트 박스 제거 */
	-webkit-tap-highlight-color: transparent;
}

/* ── Responsive utilities ── */
.u-show-mobile {
	display: none;
}

@media (max-width: 767px) {
	.u-show-desktop,
	.u-hide-mobile {
		display: none;
	}

	.u-show-mobile {
		display: block;
	}
}

a {
	color: inherit;
}

button {
	/* iOS/Safari 기본 버튼 스타일(둥근 모서리, 그라디언트 배경 등)이
	   개별 컴포넌트 스타일 위로 겹쳐 보이는 현상 방지 */
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	margin: 0;
	padding: 0;
	font: inherit;
	color: inherit;
	line-height: normal;
}

/**
 * Layout: section > .container
 * - section: horizontal padding (PC 40px / tablet 30px / mobile 20px)
 * - .container: centered content, max-width 1360px
 */
section {
	padding-inline: var(--aw-section-padding-x);
}

.container {
	margin-inline: auto;
	max-width: var(--aw-container-max-width);
	width: 100%;
}

.container--wide {
	max-width: none;
}

.container.site-header__inner,
.container.site-footer__inner {
	max-width: 1600px;
}

.site-header__bar,
.site-footer {
	padding-inline: var(--aw-section-padding-x);
}

#main-content {
	padding-block: 2rem 3rem;
}

.site-main--404 {
	padding-block: clamp(2rem, 8vw, 4rem);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ── Fade up motion ── */
@keyframes fade-up-in {
	from {
		opacity: 0;
		transform: translateY(32px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-up {
	opacity: 0;
}

.fade-up.is-visible {
	animation: fade-up-in 1.05s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.fade-up[data-fade-delay="1"].is-visible {
	animation-delay: 0.12s;
}

.fade-up[data-fade-delay="2"].is-visible {
	animation-delay: 0.24s;
}

.fade-up[data-fade-delay="3"].is-visible {
	animation-delay: 0.36s;
}

@media (prefers-reduced-motion: reduce) {
	.fade-up,
	.fade-up.is-visible {
		animation: none;
		opacity: 1;
		transform: none;
	}
}
