/**
 * 全站滾動進場動畫 — 輕量優雅
 * 由 assets/js/reveal.js 自動掛上 class
 * @package mytheme
 */

/* ============================================
   進場：淡入 + 輕微上移
   ============================================ */
.reveal {
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity 0.55s ease-out,
		transform 0.55s ease-out;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ============================================
   微互動：卡片 / 按鈕 hover 輕微浮起
   僅作為加強，不覆蓋既有自訂樣式的位移以外屬性
   ============================================ */
.card,
.article-card,
.feature-item {
	transition:
		transform var(--transition-base, 250ms ease),
		box-shadow var(--transition-base, 250ms ease);
}

.card:hover,
.article-card:hover,
.feature-item:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lg, 0 10px 20px rgba(0, 0, 0, 0.15));
}

.btn {
	transition:
		transform var(--transition-fast, 150ms ease),
		box-shadow var(--transition-fast, 150ms ease),
		background-color var(--transition-fast, 150ms ease);
}

.btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, 0.1));
}

.btn:active {
	transform: translateY(0);
}

/* ============================================
   背景裝飾圖防護：純視覺層，永不攔截點擊
   （即使堆疊脈絡改變，也不會蓋住按鈕）

   清單由全站 position:absolute 裝飾圖掃描而來，
   皆為 <img> 或純裝飾 <span>，已逐一確認不含可點擊
   連結/按鈕/內容容器（例如 comparison-item、
   dcard-feature-item--highlight 等內容區塊已排除）。
   ============================================ */
.adv-bg-img,
.adv-bg-rwd-img,
.ai-writer-img,
.aio-analysis-bg-img,
.aio-bg-img,
.aio-bg-img-rwd,
.aio-geometric-img,
.aio-marketing-bg-01-img,
.aio-marketing-bg-01-rwd-img,
.aio-marketing-bg-02-img,
.aio-marketing-bg-03-img,
.aio-marketing-rwd-img,
.analysis-bottom-img,
.analysis-decoration-image,
.analysis-rwd-img,
.back-cicle-img,
.big-seo-img,
.big-yellow-ball,
.big-yellow-ball--desktop,
.big-yellow-ball--mobile,
.blogger-bottom-img,
.blue-circle-img,
.blue-title-bg,
.bottom-big-img,
.bottom-des-img,
.bottom-line-img,
.cis-bg-img,
.cis-dotmap-bg-img,
.commercial-bg-img,
.commercial-bg-rwd-img,
.component-left-img,
.component-right-img,
.comprehensive-bg-img,
.contact-right-big-blue-yellow-ball-img,
.corporate-bg-rwd-img,
.corporate-big-bg-rwd-img,
.dcard-bg-img,
.dcard-bg-rwd-img,
.dcard-line,
.feature-dot,
.feature-title-decoration,
.geo-magnifier-rwd-img,
.geo-search-bg-img,
.geo-search-img,
.geo-search-yellow-ball-img,
.home-bg-img,
.home-bg-img-rwd,
.home-blue-img,
.home-yellow-img,
.integrated-marketing-rwd,
.keepgi-desc-img,
.keepgi-desc-rwd-img,
.kol-yellow-image,
.left-c-img,
.left-des-img,
.left-des-rwd-img,
.left-gray-cicle-img,
.left-yellow-ball,
.magnifying-glass-img,
.magnifying-glass-img-rwd,
.media-bg-right-img,
.media-blue-ball,
.media-blue-ball--mobile,
.media-bottom-bg-img,
.metrics-bg-img,
.mobile-bg-img,
.mobile-bg-rwd-img,
.mobile01-bg-rwd-img,
.notebook-img,
.page-bottom-2-img,
.page-bottom-blue-img,
.page-bottom-img,
.page-bottom-white-img,
.platform-img,
.platform-title-bg,
.print-line-img,
.print-line-rwd-img,
.ptt-bg-img,
.ptt-bg-rwd-img,
.ptt-right-bg-rwd-img,
.relations-bottom-img,
.relations-dec-img,
.relations-img,
.reviews-header-decoration,
.right-arrow-img,
.right-blue-ball-rwd-img,
.right-c-img,
.right-des-img,
.right-des-rwd-img,
.right-gray-cicle-img,
.right-up-blue-img,
.seo-bg-rwd-img,
.seo-contect-left-img,
.seo-contect-right-img,
.seo-optimization-bg-img,
.short-video-bg-rwd-img,
.social-des-bg-img,
.social-icon-img,
.social-icon-rwd-img,
.social-media-section-rwd,
.video-card-decoration,
.website-setup-bg-rwd-img,
.what-aio-bg-img,
.what-is-geo-bg-img,
.what-is-geo-bg-rwd-img,
.white-dot-map-img,
.white-light-img,
.work-man-img,
.yellow-ball,
.yellow-ball-img,
.yellow-number-img {
	pointer-events: none;
}

/* ============================================
   尊重使用者「減少動態效果」偏好
   ============================================ */
@media (prefers-reduced-motion: reduce) {
	.reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.card:hover,
	.article-card:hover,
	.feature-item:hover,
	.btn:hover,
	.btn:active {
		transform: none;
	}
}
