/* === YOURMEE PRINTWORKS+ MODERN CSS === */
/* Animated gradient mesh - makes hero feel like a video */
@keyframes gradientShift {
	0% {
		background-position: 0 50%, 0 0, 0 0;
	}
	
	25% {
		background-position: 50% 0%, 10px 10px, 20px 20px;
	}
	
	50% {
		background-position: 100% 50%, 20px 20px, 40px 40px;
	}
	
	75% {
		background-position: 50% 100%, 10px 10px, 20px 20px;
	}
	
	100% {
		background-position: 0 50%, 0 0, 0 0;
	}
}

/* Apply animated background to hero sections */
.wp-block-group.alignfull.has-background {
	animation: gradientShift 20s ease infinite;
	background-size: 200% 200%, 24px 24px, 120px !important;
	position: relative;
}

/* Fade-in animations */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

/* Staggered card fade-in */
.wp-block-columns .wp-block-column {
	animation: fadeInUp .6s ease both;
	transition: transform .3s ease, box-shadow .3s ease;
}

.wp-block-columns .wp-block-column:nth-child(1) {
	animation-delay: .1s;
}

.wp-block-columns .wp-block-column:nth-child(2) {
	animation-delay: .2s;
}

.wp-block-columns .wp-block-column:nth-child(3) {
	animation-delay: .3s;
}

.wp-block-columns .wp-block-column:nth-child(4) {
	animation-delay: .4s;
}

/* Card hover lift */
.wp-block-columns .wp-block-column:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 32px rgba(74, 27, 12, 0.15);
}

/* Button glow on hover */
.wp-block-button__link {
	transition: all .3s ease !important;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(216, 90, 48, 0.35) !important;
	filter: brightness(1.08);
}

/* Smooth scroll */
html {
	scroll-behavior: smooth;
}

/* Nav link hover */
.wp-block-navigation a {
	transition: opacity .2s ease;
}

.wp-block-navigation a:hover {
	opacity: .8;
}

/* Floating glow effect for hero headings */
.wp-block-group.alignfull.has-background h1,
.wp-block-group.alignfull.has-background h2 {
	animation: fadeIn 1s ease .3s both;
}

/* Separator styling */
.wp-block-separator {
	border-color: #e8c4b5 !important;
	opacity: .5;
}

/* Social icons hover */
.wp-block-social-links .wp-block-social-link {
	transition: transform .2s ease;
}

.wp-block-social-links .wp-block-social-link:hover {
	transform: scale(1.15);
}

/* Hero heading accent word glow */
@keyframes subtleGlow {
	0%, 100% {
		text-shadow: 0 0 0 transparent;
	}
	
	50% {
		text-shadow: 0 0 30px rgba(216, 90, 48, 0.3);
	}
}

h1 span[style*="D85A30"] {
	animation: subtleGlow 3s ease infinite;
	display: inline-block;
}

/* Hero tagline entrance */
@keyframes slideUp {
	from {
		opacity: 0;
		transform: translateY(15px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.wp-block-group.alignfull.has-background > .wp-block-heading + .wp-block-heading + p {
	animation: slideUp .8s ease .5s both;
}

/* CTA buttons entrance */
.wp-block-buttons {
	animation: fadeInUp .8s ease .7s both;
}

/* Header pill hover glow */
.wp-block-group[style*="border-radius:16px"] {
	transition: box-shadow .3s ease;
}

.wp-block-group[style*="border-radius:16px"]:hover {
	box-shadow: 0 4px 20px rgba(74, 27, 12, 0.3);
}

/* === RESPONSIVE === */
/* Tablet (768px and below) */
@media (max-width: 768px) {
	/* Hero heading smaller */
	h1.wp-block-heading {
		font-size: 2.2rem !important;
	}
	
	/* Reduce hero padding */
	.wp-block-group.alignfull.has-background {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	
	/* Stack buttons vertically */
	.wp-block-buttons {
		flex-direction: column !important;
		align-items: center !important;
		gap: 12px !important;
	}
	
	.wp-block-button {
		width: 100%;
		max-width: 280px;
	}
	
	.wp-block-button__link {
		width: 100%;
		text-align: center;
	}
	
	/* Service cards 2-column on tablet */
	.wp-block-columns {
		flex-wrap: wrap !important;
		gap: 16px !important;
	}
	
	.wp-block-columns .wp-block-column {
		flex-basis: calc(50% - 8px) !important;
		min-width: calc(50% - 8px) !important;
	}
	
	/* Trust bar smaller text */
	.wp-block-columns .wp-block-column p[style*="0.95rem"] {
		font-size: .85rem !important;
	}
	
	/* Header pill adjustments */
	.wp-block-group[style*="border-radius:16px"] {
		padding-left: 16px !important;
		padding-right: 16px !important;
		border-radius: 12px !important;
	}
	
	/* Navigation font smaller */
	.wp-block-navigation a {
		font-size: .85rem;
	}
	
	/* Footer social + text stack */
	.wp-block-group[style*="border-radius:16px"][style*="space-between"] {
		flex-direction: column !important;
		gap: 12px !important;
		text-align: center;
	}
}

/* Phone (480px and below) */
@media (max-width: 480px) {
	/* Hero heading even smaller */
	h1.wp-block-heading {
		font-size: 1.8rem !important;
		letter-spacing: -.5px !important;
	}
	
	h2.wp-block-heading {
		font-size: 1.4rem !important;
	}
	
	/* Service cards single column */
	.wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
		min-width: 100% !important;
	}
	
	/* Smaller body text */
	p[style*="1.1rem"] {
		font-size: .95rem !important;
	}
	
	/* Reduce section padding */
	.wp-block-group.alignfull {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	
	/* CTA section tighter */
	.wp-block-group.alignfull.has-background h2 {
		font-size: 1.5rem !important;
	}
	
	/* Header logo smaller */
	.wp-block-site-logo img {
		width: 32px !important;
		height: 32px !important;
	}
	
	/* Sub-heading text */
	.wp-block-group.alignfull.has-background p[style*="0.8rem"] {
		font-size: .7rem !important;
		letter-spacing: 1px !important;
	}
	
	/* Background pattern less intense on mobile */
	.wp-block-group.alignfull.has-background {
		background-size: 300% 300%, 20px 20px, 80px !important;
	}
	
	/* Button full width */
	.wp-block-button {
		width: 100%;
		max-width: 100%;
	}
	
	.wp-block-button__link {
		padding: 12px 24px !important;
		width: 100%;
		display: block !important;
	}
}

/* Disable hover effects on touch devices */
@media (hover: none) {
	.wp-block-columns .wp-block-column:hover {
		transform: none;
		box-shadow: none;
	}
	
	.wp-block-button__link:hover {
		transform: none;
		box-shadow: none !important;
		filter: none;
	}
}

/* Ensure header doesn't break on mobile */
@media (max-width: 768px) {
	.wp-block-group[style*="space-between"] {
		gap: 8px !important;
	}
	
	.wp-block-site-title {
		font-size: .9rem !important;
	}
	
	.wp-block-site-logo img {
		width: 28px !important;
		height: 28px !important;
	}
	
	/* Footer stacking */
	.wp-block-group[style*="border-radius:16px"] .wp-block-social-links {
		justify-content: center !important;
	}
}

@media (max-width: 480px) {
	.wp-block-site-title {
		font-size: .8rem !important;
	}
	
	/* Tagline text */
	p[style*="letter-spacing:1px"] {
		font-size: .85rem !important;
	}
}

/* === MOBILE NAV OVERLAY FIX === */
.wp-block-navigation__responsive-container.is-menu-open {
	background: #4A1B0C !important;
	background: linear-gradient(135deg, #4A1B0C 0%, #6B2D15 100%) !important;
	padding: 2rem 1.5rem !important;
	z-index: 99999 !important;
}

/* Make sure the nav container inside overlay is visible */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0 !important;
	padding-top: 3rem !important;
}

/* Style each nav link in the overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: #ffffff !important;
	font-size: 1.3rem !important;
	font-weight: 600 !important;
	padding: 12px 0 !important;
	display: block !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255,255,255,0.15);
	width: 100%;
}

/* Nav items in overlay */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100% !important;
	display: block !important;
}

/* Close button */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: #ffffff !important;
	position: absolute !important;
	top: 1rem !important;
	right: 1rem !important;
	z-index: 100000 !important;
}

/* Hamburger icon color */
.wp-block-navigation__responsive-container-open {
	color: #ffffff !important;
}