/*
Theme Name: Síntese
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sintese
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts margin-block-start: var(--wp--style--block-gap) between the
   template's top-level sections (header part, main, footer part) — a gap that
   exists even when no markup asks for it. Zero it so sections butt edge-to-edge
   and own their vertical rhythm via padding; this does not affect block gaps
   inside nested layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* === reset === */

.intro,
.highlights,
.cta {
	padding-left: var( --wp--preset--spacing--30 );
	padding-right: var( --wp--preset--spacing--30 );
}

@media ( min-width: 782px ) {
	.intro,
	.highlights,
	.cta {
		padding-left: var( --wp--preset--spacing--40 );
		padding-right: var( --wp--preset--spacing--40 );
	}
}

::selection {
	background: var( --wp--preset--color--accent );
	color: var( --wp--preset--color--base );
}

a {
	transition: color 0.2s ease, opacity 0.2s ease;
}

.wp-element-button,
.wp-block-button__link {
	font-family: var( --wp--preset--font-family--body );
	font-weight: 600;
	letter-spacing: 0.02em;
	border-radius: 2px;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var( --wp--preset--color--contrast );
	color: var( --wp--preset--color--contrast );
	background: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var( --wp--preset--color--contrast );
	color: var( --wp--preset--color--base );
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	transform: translateY( -1px );
}

.eyebrow {
	font-family: var( --wp--preset--font-family--body );
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var( --wp--preset--color--accent );
}

/* === header === */

.site-header {
	position: relative;
	z-index: 20;
}

.site-header__logo {
	margin: 0;
}

.site-header__logo img {
	display: block;
	height: auto;
}

.site-header__nav {
	font-family: var( --wp--preset--font-family--body );
	font-size: var( --wp--preset--font-size--small );
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.site-header__nav a {
	color: var( --wp--preset--color--muted );
}

.site-header__nav a:hover {
	color: var( --wp--preset--color--contrast );
}

.site-footer__copy {
	border-top: 1px solid var( --wp--preset--color--line );
	padding-top: var( --wp--preset--spacing--20 );
}

.site-footer__logo {
	margin: 0;
	opacity: 0.9;
}

.site-footer__logo img {
	display: block;
	height: auto;
}

.site-footer__support {
	border-radius: 3px;
	margin-top: var( --wp--preset--spacing--10 );
}

.site-footer__support .eyebrow {
	margin: 0;
}

.site-footer__support-row {
	column-gap: var( --wp--preset--spacing--30 );
	row-gap: var( --wp--preset--spacing--20 );
}

.site-footer__support-main,
.site-footer__support-secondary {
	column-gap: var( --wp--preset--spacing--20 );
	row-gap: var( --wp--preset--spacing--10 );
}

.site-footer__support img {
	display: block;
}

.site-footer__support-divider {
	width: 1px;
	height: 32px;
	border: none;
	background: var( --wp--preset--color--line );
	margin: 0;
	flex-shrink: 0;
}

@media ( max-width: 600px ) {
	.site-footer__support-divider {
		display: none;
	}

	.site-footer__support-main img,
	.site-footer__support-secondary img {
		max-width: 30vw;
		height: auto;
	}
}

/* === hero === */

.hero {
	display: flex;
}

.hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	padding-inline: var( --wp--preset--spacing--30 );
}

.hero__title {
	margin-top: var( --wp--preset--spacing--20 );
	margin-bottom: 0;
}

.hero__tagline {
	font-family: var( --wp--preset--font-family--body );
	font-size: var( --wp--preset--font-size--medium );
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var( --wp--preset--color--contrast );
	opacity: 0.85;
	margin-top: var( --wp--preset--spacing--10 );
	margin-bottom: var( --wp--preset--spacing--20 );
}

.hero__subtitle {
	max-width: 34em;
	margin-inline: auto;
	margin-bottom: var( --wp--preset--spacing--30 );
	color: var( --wp--preset--color--contrast );
	opacity: 0.9;
}

/* === intro === */

.intro h2 {
	margin: 0;
}

.intro .wp-block-column:first-child {
	border-right: 1px solid var( --wp--preset--color--line );
	padding-right: var( --wp--preset--spacing--30 );
}

/* === highlights === */

.highlight-card__image {
	margin: 0 0 var( --wp--preset--spacing--10 ) 0;
	overflow: hidden;
	border-radius: 2px;
}

.highlight-card__image img {
	transition: transform 0.5s ease;
}

.highlight-card:hover .highlight-card__image img {
	transform: scale( 1.06 );
}

.highlight-card h3 {
	margin: 0 0 var( --wp--preset--spacing--10 ) 0;
}

.highlight-card h3 a {
	color: var( --wp--preset--color--contrast );
}

.highlight-card h3 a:hover {
	color: var( --wp--preset--color--accent );
}

.highlight-card p {
	margin: 0;
}

/* === cta === */

.cta h2 {
	margin: var( --wp--preset--spacing--10 ) 0;
}

/* === footer === */

/* === about === */

.about-banner {
	margin-top: var( --wp--preset--spacing--20 );
	margin-bottom: var( --wp--preset--spacing--20 );
	border-radius: 2px;
	overflow: hidden;
}

.about-banner img {
	display: block;
	width: 100%;
}

.about-support {
	border-radius: 4px;
	margin-top: var( --wp--preset--spacing--40 );
}

.about-support .eyebrow {
	margin-bottom: var( --wp--preset--spacing--20 );
}

.about-support__logos {
	column-gap: var( --wp--preset--spacing--40 );
	row-gap: var( --wp--preset--spacing--20 );
}

.about-support__logos img {
	display: block;
}

/* === festival featured === */

.festival-featured {
	margin-top: var( --wp--preset--spacing--30 );
	padding: var( --wp--preset--spacing--30 );
	background-color: var( --wp--preset--color--surface );
	border-radius: 4px;
	text-align: center;
}

.festival-featured p:not(.eyebrow) {
	text-align: left;
	max-width: 46em;
	margin-left: auto;
	margin-right: auto;
}

.festival-featured__poster {
	margin-top: var( --wp--preset--spacing--20 );
	margin-bottom: 0;
}

.festival-featured__poster img {
	border-radius: 2px;
	box-shadow: 0 12px 32px rgba( 0, 0, 0, 0.18 );
}

.festival-featured__poster figcaption {
	margin-top: var( --wp--preset--spacing--10 );
}

/* === festival posters === */

.festival-posters.wp-block-gallery {
	margin-top: var( --wp--preset--spacing--20 );
}

.festival-posters .wp-block-image {
	border-radius: 2px;
	overflow: hidden;
}

.festival-posters .wp-block-image img {
	transition: transform 0.5s ease;
}

.festival-posters .wp-block-image:hover img {
	transform: scale( 1.08 );
}

/* === responsive === */

@media ( max-width: 900px ) {
	.highlight-grid {
		grid-template-columns: repeat( 2, 1fr ) !important;
	}

	.intro .wp-block-columns {
		flex-wrap: wrap;
	}

	.intro .wp-block-column:first-child {
		border-right: none;
		border-bottom: 1px solid var( --wp--preset--color--line );
		padding-right: 0;
		padding-bottom: var( --wp--preset--spacing--30 );
	}
}

@media ( max-width: 600px ) {
	.highlight-grid {
		grid-template-columns: 1fr !important;
	}

	.site-header__nav {
		font-size: 0.75rem;
	}
}

/* === motion === */

@media ( prefers-reduced-motion: reduce ) {
	.highlight-card__image img,
	.festival-posters .wp-block-image img,
	.wp-block-button__link,
	a {
		transition: none !important;
		transform: none !important;
	}
}
