/* BRASA front-end enhancements (loaded after style.css) */

/* Section rhythm */
.brasa-section {
	padding-top: clamp(3.25rem, 5.5vw, 4.75rem);
	padding-bottom: clamp(3.25rem, 5.5vw, 4.75rem);
}

/* Eyebrow label */
.brasa-eyebrow {
	font-family: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 0.875rem;
	color: var(--brasa-sky);
}

/* Hero split */
.brasa-hero {
	background: var(--brasa-mist);
	border-bottom: 1px solid var(--brasa-border);
}
.brasa-hero .brasa-tile-art {
	display: flex;
	align-items: center;
	justify-content: center;
}
.brasa-tile-rotation {
	position: relative;
	width: min(100%, 430px);
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--brasa-blue);
	box-shadow: 0 24px 50px -38px rgba(22, 41, 76, .75);
}
.brasa-tile-rotation__layer {
	position: absolute;
	inset: 0;
	opacity: 0;
	background-position: center;
	background-size: cover;
	animation: brasa-tile-cycle 30s infinite;
}
.brasa-tile-rotation__layer--about { background-image: url('../images/brand-pattern-about.webp'); }
.brasa-tile-rotation__layer--congress { background-image: url('../images/brand-pattern-congress.webp'); animation-delay: 6s; }
.brasa-tile-rotation__layer--awards { background-image: url('../images/brand-pattern-awards.webp'); animation-delay: 12s; }
.brasa-tile-rotation__layer--contact { background-image: url('../images/brand-pattern-contact.webp'); animation-delay: 18s; }
.brasa-tile-rotation__layer--caquinhos { background-image: url('../images/brand-pattern-caquinhos.webp'); animation-delay: 24s; }
@keyframes brasa-tile-cycle {
	0%, 16% { opacity: 1; transform: scale(1); }
	20%, 96% { opacity: 0; transform: scale(1.025); }
	100% { opacity: 1; transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.brasa-tile-rotation__layer { animation: none; }
	.brasa-tile-rotation__layer--about { opacity: 1; }
}

/* Featured initiative band */
.brasa-featured {
	background: var(--brasa-navy);
	color: #fff;
}
.brasa-featured h1,
.brasa-featured h2,
.brasa-featured h3 {
	color: #fff;
}

/* Discipline grid */
.brasa-discipline-grid .wp-block-column {
	padding: 1.75rem;
}
.brasa-discipline-grid h3 {
	margin-bottom: 0.5rem;
}

/* Permanent resource gateways */
.brasa-resources > h2 {
	margin-bottom: 1.75rem;
}
.brasa-resources .wp-block-columns {
	gap: 1.5rem;
}
.brasa-resource-card {
	--brasa-resource-pad: clamp(1.75rem, 3vw, 2.4rem);
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 15rem;
	padding: var(--brasa-resource-pad);
	overflow: hidden;
	border: 1px solid var(--brasa-border);
	background: #fff;
	box-shadow: 0 16px 34px -32px rgba(22, 41, 76, 0.7);
}
.brasa-resource-card__media {
	height: clamp(10rem, 17vw, 13rem);
	margin: calc(var(--brasa-resource-pad) * -1) calc(var(--brasa-resource-pad) * -1) 1.75rem;
	background-position: center;
	background-size: cover;
}
.brasa-resource-card--publications .brasa-resource-card__media {
	background-image: url('../images/resource-publications-v2.webp');
}
.brasa-resource-card--teaching .brasa-resource-card__media {
	background-image: url('../images/resource-teaching-v2.webp');
}
.brasa-resource-card--mapping .brasa-resource-card__media {
	background-color: #eef2f8;
	background-image: url('../images/mapping-us.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.brasa-resource-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 0.4rem;
	background: var(--brasa-blue);
	z-index: 1;
}
.brasa-resource-card--teaching::before {
	background: var(--brasa-sky);
}
.brasa-resource-card--mapping::before { background: #16294c; }
.brasa-resource-card .brasa-eyebrow {
	margin: 0 0 0.6rem;
}
.brasa-resource-card h3 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.7rem, 2.5vw, 2.2rem);
}
.brasa-resource-card > p:last-child {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 1.25rem;
}
.brasa-resource-card > p:last-child a {
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}
.brasa-resource-card:hover {
	border-color: #b9c6dc;
	box-shadow: 0 18px 40px -30px rgba(22, 41, 76, 0.55);
}

/* Awards band */
.brasa-awards {
	background: var(--brasa-mist);
	border-block: 1px solid var(--brasa-border);
}
.brasa-awards.brasa-section {
	padding-top: clamp(3rem, 5vw, 4.5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
}
.brasa-awards__inner {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(18rem, 5fr);
	gap: 0;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--brasa-border);
	box-shadow: 0 18px 42px -34px rgba(22, 41, 76, .65);
}
.brasa-awards__media {
	min-height: clamp(22rem, 35vw, 30rem);
	background-image: url('../images/awards-supporting.webp');
	background-position: center;
	background-size: cover;
}
.brasa-awards__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 5vw, 4rem);
}
.brasa-awards__content h2 {
	margin: .4rem 0 1rem;
}
.brasa-awards__content p:last-child { margin-bottom: 0; }
.brasa-awards__content a {
	font-weight: 700;
	text-underline-offset: 0.25em;
}

/* Membership CTA */
.brasa-membership-cta {
	background: var(--brasa-blue);
	color: #fff;
}
.brasa-membership-cta h1,
.brasa-membership-cta h2 {
	color: #fff;
}
.brasa-membership-cta .wp-block-button__link {
	background: #fff;
	color: var(--brasa-blue);
}
.brasa-membership-cta .wp-block-button__link:hover {
	background: var(--brasa-mist);
	color: var(--brasa-navy);
}

/* Newsletter */
.brasa-newsletter {
	background: var(--brasa-mist);
	color: var(--brasa-navy);
	border-top: 1px solid var(--brasa-border);
}
.brasa-newsletter h2 {
	color: var(--brasa-navy);
}
.brasa-newsletter__inner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(22rem, 7fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.brasa-newsletter__intro p {
	max-width: 32rem;
}
.brasa-newsletter__action {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: #fff;
	border: 1px solid var(--brasa-border);
	box-shadow: 0 14px 34px -30px rgba(22, 41, 76, 0.7);
}
.brasa-newsletter .brasa-signup-form,
.brasa-newsletter-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	max-width: none;
}
.brasa-newsletter .brasa-signup-form input[type="email"],
.brasa-newsletter-form input[type="email"] {
	box-sizing: border-box;
	border: 1px solid var(--brasa-border);
	background: #fff;
	color: var(--brasa-navy);
	padding: 0.85rem 1rem;
	border-radius: 0.25rem;
	flex: 1 1 260px;
}
.brasa-newsletter .brasa-signup-form input[type="email"]::placeholder,
.brasa-newsletter-form input[type="email"]::placeholder {
	color: #66738a;
}
.brasa-newsletter .brasa-signup-form button,
.brasa-newsletter-form .wp-block-button__link {
	background: var(--brasa-blue);
	color: #fff;
}
.brasa-newsletter .brasa-signup-form button:hover,
.brasa-newsletter-form .wp-block-button__link:hover {
	background: var(--brasa-navy);
	color: #fff;
}
.brasa-newsletter__submit-note {
	margin: 1rem 0 0;
	font-size: 0.9rem;
}
.brasa-newsletter__submit-note a {
	font-weight: 700;
}
.brasa-newsletter .brasa-digest-latest--compact { margin: 1.25rem 0 0; }

/* Events list */
.brasa-event-item {
	border-left: 3px solid var(--brasa-sky);
	padding-left: 1.25rem;
}

/* Footer */
.brasa-footer {
	background: var(--brasa-navy);
	color: rgba(255, 255, 255, 0.78);
}
.brasa-footer h2,
.brasa-footer h3 {
	color: #fff;
}
.brasa-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}
.brasa-footer a:hover {
	color: var(--brasa-sky);
}
.brasa-social { margin-top: 1rem; }
.brasa-social a { display: inline-flex; gap: .55rem; align-items: center; }
.brasa-instagram-icon {
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border: 1.7px solid currentColor;
	border-radius: .3rem;
}
.brasa-instagram-icon::before {
	content: '';
	position: absolute;
	inset: .24rem;
	border: 1.3px solid currentColor;
	border-radius: 50%;
}
.brasa-instagram-icon::after {
	content: '';
	position: absolute;
	top: .15rem;
	right: .15rem;
	width: .14rem;
	height: .14rem;
	border-radius: 50%;
	background: currentColor;
}

/* Keep the homepage editorial rhythm: only the lead story carries an image. */
.brasa-grid--latest .brasa-card:not(.brasa-card--lead) > .brasa-card__image { display: none; }

/* Single news story */
.brasa-single__header {
	padding-top: clamp(3.5rem, 6vw, 5.5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
	background: var(--brasa-mist);
	border-bottom: 1px solid var(--brasa-border);
}
.brasa-single__header-inner {
	max-width: 960px;
	margin-inline: auto;
}
.brasa-single__meta {
	margin-bottom: 1rem;
	color: var(--brasa-sky);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.brasa-single__meta a { color: inherit; text-decoration: none; }
.brasa-single__header .wp-block-post-title {
	max-width: 900px;
	margin-block: 0 1rem;
	font-size: clamp(3rem, 5.5vw, 5rem);
	line-height: 1;
}
.brasa-single__header .wp-block-post-excerpt {
	max-width: 760px;
	margin-bottom: 0;
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.55;
}
.brasa-single__header .wp-block-post-excerpt__excerpt { margin-bottom: 0; }
.brasa-single__body {
	padding-top: clamp(2.5rem, 5vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}
.brasa-single__featured {
	margin-top: 0;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.brasa-single__featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
}
.brasa-single__content {
	max-width: 720px;
	margin-inline: auto;
}
.brasa-single__content > :first-child { margin-top: 0; }
.brasa-single__footer { margin-top: clamp(3rem, 6vw, 5rem); }
.brasa-single__footer > p:first-child a { font-weight: 700; }
.brasa-single__post-nav { gap: 2rem; }
.brasa-single__post-nav a {
	font-family: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif;
	font-size: 1.3rem;
	text-decoration: none;
}
.brasa-single__post-nav a:hover {
	text-decoration: underline;
	text-underline-offset: .18em;
}

.brasa-event-archive {
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(5rem, 9vw, 8rem);
}
.brasa-event-archive__header { margin-bottom: clamp(3rem, 6vw, 5rem); }
.brasa-event-archive__header h1 { margin-bottom: 1rem; }
.brasa-event-archive__header p { max-width: 46rem; margin-top: 0; }

.brasa-news-events-page { padding-top: clamp(4rem, 8vw, 7rem); }
.brasa-news-events-page__header { margin-bottom: clamp(3rem, 6vw, 5rem); }
.brasa-news-events-page__header h1 { margin-bottom: 1rem; }
.brasa-news-events-page__header p { max-width: 50rem; margin-top: 0; }
.brasa-news-events-page__news { padding-bottom: clamp(5rem, 8vw, 7rem); }
.brasa-news-events-page__news > h2 { margin-bottom: 2rem; }
.brasa-digest-archive-cta { padding-top: clamp(3.5rem, 7vw, 5.5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); border-top: 1px solid var(--brasa-border); }
.brasa-digest-archive-cta > .alignwide > p { max-width: 46rem; }
.brasa-digest-archive-cta .brasa-digest-latest { max-width: 52rem; margin-top: 2rem; }
.brasa-digest-submit-cta { padding-top: clamp(3.5rem, 7vw, 5.5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.brasa-digest-submit-cta p { max-width: 46rem; }
.brasa-digest-hub { padding-top: clamp(3.5rem, 7vw, 5.5rem); padding-bottom: clamp(3.5rem, 7vw, 5.5rem); border-top: 1px solid var(--brasa-border); }
.brasa-digest-hub > .alignwide > p { max-width: 50rem; }
.brasa-digest-hub__columns { gap: clamp(2rem, 6vw, 5rem); margin-top: 2rem; }
.brasa-digest-hub__contribute { padding-left: clamp(1.5rem, 4vw, 3rem); border-left: 1px solid var(--brasa-border); }
.brasa-digest-hub__contribute h3 { margin-top: 0; }

.brasa-digest-page { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(5rem, 9vw, 8rem); }
.brasa-digest-page__header { margin-bottom: clamp(3rem, 6vw, 5rem); }
.brasa-digest-page__header h1 { margin: .4rem 0 1rem; }
.brasa-digest-page__header p:last-child { max-width: 50rem; margin-top: 0; }
.brasa-single-digest__back { margin: 0 0 2rem; font-weight: 700; text-transform: none; letter-spacing: 0; }
.brasa-single-digest .brasa-single__header .wp-block-post-date { margin: 0 0 1rem; color: var(--brasa-sky); font-weight: 700; }

.brasa-resources-page,
.brasa-teaching-resources-page,
.brasa-publications-page { padding-top: clamp(4rem, 8vw, 7rem); padding-bottom: clamp(5rem, 9vw, 8rem); }
.brasa-resources-page__header,
.brasa-resource-page__header { margin-bottom: clamp(3rem, 6vw, 5rem); }
.brasa-resources-page__header h1,
.brasa-resource-page__header h1 { margin-bottom: 1rem; }
.brasa-resources-page__header p,
.brasa-resource-page__header p { max-width: 50rem; margin-top: 0; }
.brasa-resources-page__initiative { margin-top: clamp(4rem, 7vw, 6rem); }

.brasa-journal-card {
	position: relative;
	overflow: hidden;
}
.brasa-journal-card::before {
	content: "";
	display: block;
	height: clamp(18rem, 30vw, 24rem);
	margin: calc(clamp(1.5rem, 3vw, 2.25rem) * -1) calc(clamp(1.5rem, 3vw, 2.25rem) * -1) 2rem;
	border-bottom: 1px solid var(--brasa-border);
	background-color: var(--brasa-mist);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.brasa-journals-grid > .brasa-journal-card:nth-of-type(1)::before {
  background-image: url('../images/journal-lbr-landscape.png');
}
.brasa-journals-grid > .brasa-journal-card:nth-of-type(2)::before {
  background-image: url('../images/journal-brasiliana-landscape.png');
}

@media (max-width: 800px) {
	.brasa-journal-card::before { height: 20rem; }
}

/* Responsive split hero */
@media (max-width: 900px) {
	.brasa-hero .wp-block-columns {
		flex-direction: column;
	}
}

/* Compact institutional header */
.brasa-site-header { background:#fff; border-bottom:1px solid var(--brasa-border); }
.brasa-utility-bar { padding-inline:2rem; background:var(--brasa-mist); border-bottom:1px solid var(--brasa-border); }
.brasa-utility-bar__inner { min-height:44px; }
.brasa-lang-switcher,.brasa-member-actions { gap:.75rem; font-size:.8rem; }
.brasa-lang-switcher { display:flex; align-items:center; }
.brasa-member-actions { white-space:nowrap; }
.brasa-lang-switcher a,.brasa-member-login { color:var(--brasa-navy); font-weight:700; text-decoration:none; }
.brasa-member-login:hover { color:var(--brasa-blue); }
.brasa-join-btn .wp-block-button__link { padding:.55rem 1rem; font-size:1rem; }
.brasa-masthead { padding-inline:2rem; }
.brasa-masthead__inner { min-height:92px; gap:2rem; }
.brasa-brand { display:inline-flex; gap:.8rem; align-items:center; flex:0 0 auto; color:var(--brasa-navy); text-decoration:none; }
.brasa-brand__mark { display:block; width:64px; height:64px; overflow:hidden; border-radius:50%; background-image:url('../images/brasa-logo-source.jpg'); background-repeat:no-repeat; background-position:2% center; background-size:181% auto; }
.brasa-brand__name { font-family:'Bebas Neue','Arial Narrow',Arial,sans-serif; font-size:2rem; letter-spacing:.035em; }
.brasa-primary-nav { font-size:.92rem; }

/* Hero proportions */
.brasa-hero.brasa-section { padding-top:clamp(3.25rem,5vw,4.75rem); padding-bottom:clamp(3.25rem,5vw,4.75rem); }
.brasa-hero h1 { max-width:42rem; font-size:clamp(3rem,4.15vw,3.65rem); line-height:1.03; }
.brasa-hero .brasa-tile-art svg { max-width:430px; margin-inline:auto; }

@media (max-width:1100px) {
	.brasa-masthead__inner { gap:1.25rem; }
	.brasa-primary-nav { font-size:.86rem; }
}
@media (max-width:900px) {
	.brasa-utility-bar,.brasa-masthead { padding-inline:1.25rem; }
	.brasa-masthead__inner { min-height:76px; }
	.brasa-hero .wp-block-columns { gap:2.5rem; }
	.brasa-hero .wp-block-column { flex-basis:auto !important; }
	.brasa-tile-rotation { max-width:360px; }
	.brasa-newsletter__inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.brasa-resource-card { min-height: 13rem; }
	.brasa-awards__inner { grid-template-columns: 1fr; gap: 0; }
	.brasa-awards__media { min-height: 22rem; }
}
@media (max-width:560px) {
	.brasa-section.has-global-padding,
	.brasa-footer { padding-right:1.5rem !important; padding-left:1.5rem !important; }
	/* A single, reliable mobile gutter for all interior page templates. */
	body:not(.home) main#main-content {
		box-sizing: border-box;
		width: 100%;
		padding-right: 1.5rem !important;
		padding-left: 1.5rem !important;
	}
	body:not(.home) main#main-content > .wp-block-group,
	body:not(.home) main#main-content .wp-block-post-content {
		box-sizing: border-box;
		width: 100%;
		min-width: 0;
	}
	body:not(.home) main#main-content .wp-block-post-content > .alignwide,
	body:not(.home) main#main-content .wp-block-post-content > .alignfull {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	body:not(.home) main#main-content .wp-block-table {
		max-width: 100%;
		overflow-x: auto;
	}
	.brasa-utility-bar,
	.brasa-masthead { padding-inline:1.5rem; }
	.brasa-member-actions { gap:.5rem; }
	.brasa-member-login { font-size:.75rem; }
	.brasa-join-btn .wp-block-button__link { padding:.45rem .7rem; font-size:.9rem; }
	.brasa-brand { gap:.55rem; }
	.brasa-brand__mark { width:52px; height:52px; }
	.brasa-brand__name { font-size:1.65rem; }
	.brasa-hero h1 { font-size:2.75rem; }
	.brasa-single__header,
	.brasa-single__body { padding-right:1.5rem !important; padding-left:1.5rem !important; }
	.brasa-single__header .wp-block-post-title { font-size:clamp(2.75rem,15vw,4rem); }
}

/* Consistent mobile breathing room across templates and plugin-generated views. */
@media (max-width:800px) {
	:root { --brasa-mobile-gutter: 1.5rem; }
	.brasa-digest-hub__columns { flex-direction: column; }
	.brasa-digest-hub__contribute { padding-top: 1.5rem; padding-left: 0; border-top: 1px solid var(--brasa-border); border-left: 0; }

	html,
	body,
	.wp-site-blocks,
	main#main-content { max-width: 100%; overflow-x: clip; }

	/* Full-width sections keep their background while their contents gain a gutter. */
	.home main#main-content > .brasa-section.has-global-padding,
	.home main#main-content > .brasa-feature-output,
	.home main#main-content > .brasa-latest,
	.home main#main-content > .brasa-events-output {
		box-sizing: border-box;
		padding-right: var(--brasa-mobile-gutter) !important;
		padding-left: var(--brasa-mobile-gutter) !important;
	}

	body:not(.home) main#main-content,
	.brasa-single__header,
	.brasa-single__body {
		box-sizing: border-box;
		width: 100%;
		padding-right: var(--brasa-mobile-gutter) !important;
		padding-left: var(--brasa-mobile-gutter) !important;
	}

	main#main-content .alignwide,
	main#main-content .alignfull,
	main#main-content .wp-block-post-content,
	main#main-content .wp-block-columns,
	main#main-content .wp-block-column,
	main#main-content article,
	main#main-content section,
	main#main-content form {
		box-sizing: border-box;
		min-width: 0;
		max-width: 100%;
	}

	main#main-content .alignwide,
	main#main-content .alignfull {
		width: 100%;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.brasa-tile-rotation {
		width: min(100%, 22rem);
		max-width: calc(100vw - (2 * var(--brasa-mobile-gutter)));
	}

	main#main-content img,
	main#main-content svg,
	main#main-content video {
		max-width: 100%;
		height: auto;
	}

	main#main-content iframe { max-width: 100%; }

	main#main-content h1,
	main#main-content h2,
	main#main-content h3,
	main#main-content p,
	main#main-content a,
	main#main-content summary {
		overflow-wrap: anywhere;
	}

	main#main-content .wp-block-buttons,
	main#main-content .wp-block-button,
	main#main-content .wp-block-button__link {
		max-width: 100%;
	}

	main#main-content input,
	main#main-content select,
	main#main-content textarea {
		box-sizing: border-box;
		max-width: 100%;
	}

	main#main-content .wp-block-table,
	main#main-content table {
		max-width: 100%;
	}

	main#main-content .wp-block-table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}
