/*
Theme Name: HitoZero TCG
Theme URI: https://hitozero.com
Author: HitoZero
Author URI: https://hitozero.com
Description: Block theme reutilizable para tiendas TCG (Pokemon, Mitos y Leyendas y futuros juegos). Solo presentacion; la logica TCG vive en hz-tcg-core.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.3
Version: 0.11.0
License: Proprietary
Text Domain: hz-tcg-theme
Tags: e-commerce, block-theme, woocommerce, tcg
*/

body {
	margin: 0;
}

.wp-site-blocks > header {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.wp-site-blocks > main {
	margin-block-start: 0 !important;
}

/* No gap before footer — CTA/footer should sit flush; spacing comes from footer padding */
.wp-site-blocks > footer {
	margin-block-start: 0 !important;
}

/* Soft top air on footer for pages that end on light content */
.wp-site-blocks > main:not(:has(> .hz-section--cta:last-child)) + footer .hz-site-footer,
.wp-site-blocks > main:not(:has(> .hz-section--cta:last-child)) + footer {
	padding-top: max(var(--wp--preset--spacing--xxl, 4rem), 3.5rem);
}

.equal-cards > .wp-block-column {
	display: flex;
	flex-direction: column;
	flex-grow: 0;
}

.equal-cards > .wp-block-column > .wp-block-group {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	height: 100%;
}

.fade-up {
	animation: hzFadeUp 280ms cubic-bezier(0.23, 1, 0.32, 1) both;
}

.fade-in {
	opacity: 0;
	animation: hzFadeIn 220ms ease forwards;
}

@keyframes hzFadeUp {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes hzFadeIn {
	to { opacity: 1; }
}

.stagger-children > * {
	opacity: 0;
	transform: translateY(10px);
	animation: hzFadeUp 280ms cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

.stagger-children > *:nth-child(1) { animation-delay: 0ms; }
.stagger-children > *:nth-child(2) { animation-delay: 50ms; }
.stagger-children > *:nth-child(3) { animation-delay: 100ms; }
.stagger-children > *:nth-child(4) { animation-delay: 150ms; }

.hover-lift {
	transition: transform 180ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 200ms cubic-bezier(0.23, 1, 0.32, 1);
}

@media (hover: hover) and (pointer: fine) {
	.hover-lift:hover {
		transform: translateY(-3px);
		box-shadow: 0 12px 28px color-mix(in srgb, var(--wp--preset--color--primary, #0b132b) 12%, transparent);
	}
}

.hover-lift:active {
	transform: scale(0.97);
}

.animate-on-scroll {
	opacity: 1;
	transform: none;
}

html.hz-motion-ready .animate-on-scroll {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 280ms cubic-bezier(0.23, 1, 0.32, 1), transform 280ms cubic-bezier(0.23, 1, 0.32, 1);
}

html.hz-motion-ready .animate-on-scroll.is-visible {
	opacity: 1;
	transform: none;
}

.wp-block-button .wp-block-button__link {
	transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 180ms ease, background-color 160ms ease;
}

.wp-block-button .wp-block-button__link:active {
	transform: scale(0.97);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}

	.fade-up,
	.fade-in,
	.stagger-children > *,
	.animate-on-scroll {
		opacity: 1 !important;
		transform: none !important;
	}
}
