/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
/* Fade-in animation for all pages */
@keyframes fadeInAnimation {
	0% {
		opacity: 0;
	}
	
	100% {
		opacity: 1;
	}
}

body {
	animation: fadeInAnimation .8s ease-in forwards;
}

/* Longer animation for home page */
body.home {
	animation-duration: 1.2s;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 250px;
}

/* ==========================================================================
   UTILITY CLASSES
   ========================================================================== */
.hidden-block {
	display: none;
}

.custom-block-separator-01 {
	width: 95% !important;
}

/* Mobile two-column grid utility */
.mobile-two-column {
	grid-template-columns: repeat(2, 1fr);
}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.wp-block-button .wp-block-button__link:active {
	background-color: #ffc0cb;
/* Pink with hex fallback */
	color: #000;
	transition: all .1s ease;
/* Smooth transition */
}

#subscribe-submit.is-link {
	text-align: left !important;
}

/* ==========================================================================
   IMAGES & CAPTIONS
   ========================================================================== */
/* Image captions */
.wp-block-image figcaption {
	text-align: left !important;
	margin-top: .5rem !important;
}

/* Emphasize first line of captions */
.wp-element-caption::first-line {
	font-weight: 700;
/* Stronger emphasis than 600 */
}

/* Jetpack slideshow captions */
.wp-block-jetpack-slideshow_caption.gallery-caption {
	font-size: .85rem;
	letter-spacing: .01rem;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */
@media (max-width: 768px) {
	/* Apply two-column layout to grid groups on mobile */
	/* Excludes specific blocks that should maintain their layout */
	.wp-block-group.is-layout-grid:not(#block-092ef97d-5bb3-44e4-a391-3f2c965a8e20):not(body.page-id-2126 .wp-block-group.is-layout-grid) {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* Smaller captions on mobile */
	.wp-block-jetpack-slideshow_caption.gallery-caption {
		font-size: .75rem;
	}
	
	/* Reduce animation duration on mobile for better performance */
	body {
		animation-duration: .5s;
	}
	
	body.home {
		animation-duration: .8s;
	}
}

@media (max-width: 600px) {
	p {
		text-wrap: wrap;
	}
}