/*
Theme Name: Twenty Twenty-Four Child
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Template: twentytwentyfour
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four Child Theme - A child theme for Twenty Twenty-Four that allows for customizations while maintaining updates from the parent theme.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.0
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfour-child
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/* Add your custom styles below this line */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
	outline-color: var(--wp--preset--color--contrast);
}

.footer-menu a {
	text-decoration: none;
}

.footer-menu a:hover {
	text-decoration: underline;
}

.footer-credit-t51 p {
	font-size: 1rem;
}

.footer-template-part {
	margin-block-start: 0px;
}

#contact-form-2775-2-1 .contact-form-submission #contact-form-success-header {
	color: white;
}

a.wp-block-file__button.wp-element-button {
	padding-left: 2rem;
	padding-right: 2rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border-radius: 0px;
	font-size: 20px;
}

/* ===================================
	 HERO SECTION STYLES
	 =================================== */

/*
 * Breakpoints:
 * - Mobile: Default (no media query)
 * - Tablet: 780px+
 * - Desktop: 1080px+
 * - Large Desktop: 1200px+
 */

/* Home page header with hero section */
.home header:has(.bayavoce-hero-section) {

	/* Desktop: Full viewport height layout */
	@media (min-width: 1080px) {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
	}
}

/* Main hero section container */
.bayavoce-hero-section {
	padding-bottom: var(--wp--preset--spacing--40);

	/* Desktop: Flex layout for full height */
	@media (min-width: 1080px) {
		display: flex;
		flex: 1;
		flex-direction: column;
		padding-bottom: 0;
	}
}

/* Columns container within hero section */
.bayavoce-hero-section .wp-block-columns {

	/* Tablet: Stack columns vertically */
	@media (min-width: 780px) and (max-width: 1079px) {
		flex-direction: column;
	}

	/* Desktop: Reverse order and fill available space */
	@media (min-width: 1080px) {
		flex: 1;
		flex-direction: row-reverse;
	}
}

/* Image container */
.bayavoce-hero-section .wp-block-image {

	/* Desktop: Flex layout for full height */
	@media (min-width: 1080px) {
		display: flex;
		flex-direction: column;
		height: 100%;
	}
}

/* Image element */
.bayavoce-hero-section .wp-block-image img {

	/* Desktop: Fill available space and maintain aspect ratio */
	@media (min-width: 1080px) {
		flex: 1;
		object-fit: cover;
	}
}

/* Content column within hero section */
.bayavoce-hero-section__content-column {

	/* Tablet: Side-by-side layout with gap */
	@media (min-width: 780px) and (max-width: 1079px) {
		display: flex;
		gap: 3rem;

		/* All direct children get equal width */
		>* {
			flex: 1;
		}
	}

	/* Desktop: Constrain content width */
	@media (min-width: 1080px) {
		>* {
			max-width: 379px;
		}
	}
}

/* Quote wrapper positioning */
.wp-block-column .bayavoce-hero-section__quote-wrapper {
	/* Mobile: Center alignment with negative margin for overlap */
	justify-content: center;
	margin-top: calc(-2em - 24px);
	position: relative;
	z-index: 2;

	/* Tablet: Left alignment, remove overlap */
	@media (min-width: 780px) {
		justify-content: flex-start;
		margin-top: 0;
	}

	/* Large Desktop: Static positioning (removes relative positioning) */
	@media (min-width: 1200px) {
		position: static;
	}
}

/* Quote element styling */
.bayavoce-hero-section__quote-wrapper .bayavoce-hero-section__quote {
	margin: 0;
	max-width: 375px;
	padding: 32px 24px;

	/* Tablet: Full width */
	@media (min-width: 780px) and (max-width: 1079px) {
		max-width: unset;
	}

	/* Large Desktop: Absolute positioning with larger padding */
	@media (min-width: 1200px) {
		padding: 40px;
		position: absolute;
		/* Position relative to bayavoce-hero-section */
		right: 43%;
		top: 15%;
	}
}

/* Jetpack subscribe form */
.bayavoce-subscribe .contact-form__inset-label-wrap {
	flex: 1 1 auto;
	order: 1;
}

.bayavoce-subscribe .wp-block-jetpack-field-email {
	height: 63px;
}

.bayavoce-subscribe .wp-block-jetpack-button {
	flex: 0 0 auto;
	order: 2;
}

.bayavoce-subscribe .contact-form__input-error {
	color: var(--wp--preset--color--base-2);
}

.bayavoce-subscribe .contact-form__error {
	order: 3;
}