/*
Estilos do tema clássico Mamativa.
Cores, tipos de letra e espaçamentos fiéis ao design (mesmos valores usados
antes no theme.json do tema de blocos). Fontes auto-hospedadas em
assets/fonts/ — ver as declarações @font-face abaixo.
*/

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/dm-sans-latin.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Serif Display';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/dm-serif-display-normal-latin.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Serif Display';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/dm-serif-display-italic-latin.woff2') format('woff2');
}

:root {
	--mam-base: #FBF3F1;
	--mam-base-2: #FFFFFF;
	--mam-contrast: #3B2226;
	--mam-contrast-2: #5A1F28;
	--mam-primary: #7C2C38;
	--mam-secondary: #C97885;
	--mam-tertiary: #E7A6AF;
	--mam-quaternary: #F6E1E4;
	--mam-quinary: #6B4A50;
	--mam-body-copy: #4A2A30;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	font-family: 'DM Sans', sans-serif;
	background: var(--mam-base);
	color: var(--mam-contrast);
	overflow-x: hidden;
}

h1, h2, h3, h4 {
	font-family: 'DM Serif Display', serif;
	font-weight: 400;
	margin: 0;
}

p {
	margin: 0;
}

a {
	color: var(--mam-primary);
}
a:hover {
	color: var(--mam-contrast-2);
}

img {
	max-width: 100%;
	display: block;
}

::selection {
	background: var(--mam-tertiary);
	color: var(--mam-contrast);
}

@keyframes mam-float1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(10px, -16px) scale(1.03); }
}
@keyframes mam-float2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-14px, 12px) scale(1.05); }
}

.mam-reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s cubic-bezier(.16,.84,.28,1), transform 1s cubic-bezier(.16,.84,.28,1);
}
.mam-reveal.in {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.mam-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---- Header / nav ---- */
.mam-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--mam-base-2);
}
.mam-header-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 16px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.mam-logo img {
	height: 34px;
	width: auto;
}
.mam-nav {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}
.mam-nav-link {
	text-decoration: none;
	color: var(--mam-contrast);
	font-weight: 700;
	font-size: 15px;
}
.mam-nav-link:hover {
	color: var(--mam-contrast);
	opacity: 0.7;
}
.mam-nav-collapse {
	display: contents;
}
.mam-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}
.mam-lang-switch {
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid rgba(124,44,56,0.15);
	border-radius: 999px;
	padding: 4px;
}
.mam-lang-switch a {
	text-decoration: none;
	display: inline-block;
	border: none;
	color: var(--mam-primary);
	font-weight: 700;
	font-size: 13px;
	padding: 6px 14px;
	border-radius: 999px;
}
.mam-lang-switch a.is-active {
	background: var(--mam-primary);
	color: #fff;
}
.mam-btn-donate {
	text-decoration: none;
	background: linear-gradient(135deg, #E7A6AF 0%, #7C2C38 100%);
	color: #fff;
	padding: 11px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	transition: transform .3s ease;
	display: inline-block;
}
.mam-btn-donate:hover {
	color: #fff;
	transform: translateY(-2px);
}
.mam-btn-donate:active {
	transform: scale(0.96);
}

/* ---- Mobile nav toggle ---- */
.mam-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	cursor: pointer;
	padding: 0;
	flex: none;
}
.mam-nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--mam-contrast);
	border-radius: 2px;
	transition: transform .25s ease, opacity .25s ease;
}
.mam-nav-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mam-nav-toggle.is-active span:nth-child(2) { opacity: 0; }
.mam-nav-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---- Hero ---- */
.mam-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 620px;
	background: linear-gradient(110deg, #F6DDE1 0%, #EDB8BF 50%, #E0A0A2 100%);
	overflow: hidden;
}
.mam-hero-text {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 72px 64px;
}
.mam-hero-blob {
	position: absolute;
	top: 8%;
	left: -46px;
	width: 230px;
	height: 230px;
	border-radius: 60% 40% 55% 45% / 45% 55% 40% 60%;
	background: rgba(255,255,255,0.22);
	filter: blur(1px);
	animation: mam-float1 10s ease-in-out infinite;
	z-index: 0;
	pointer-events: none;
}
.mam-hero-text-inner {
	max-width: 500px;
	position: relative;
	z-index: 1;
}
.mam-hero-eyebrow {
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
	color: var(--mam-contrast-2);
	margin-bottom: 18px;
}
.mam-hero-title {
	font-size: 54px;
	line-height: 1.06;
	margin: 0 0 24px;
	color: var(--mam-contrast);
}
.mam-hero-title em {
	font-style: italic;
}
.mam-hero-body {
	font-size: 18px;
	line-height: 1.6;
	color: var(--mam-body-copy);
	margin: 0 0 36px;
}
.mam-hero-ctas {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}
.mam-btn-cta1 {
	text-decoration: none;
	background: var(--mam-contrast);
	color: #fff;
	padding: 16px 30px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 16px;
	transition: transform .3s ease;
	display: inline-block;
}
.mam-btn-cta1:hover { color: #fff; transform: translateY(-2px); }
.mam-btn-cta1:active { transform: scale(0.97); }
.mam-btn-cta2 {
	text-decoration: none;
	background: rgba(255,255,255,0.7);
	color: var(--mam-contrast-2);
	padding: 16px 30px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 16px;
	transition: transform .3s ease, background .3s ease;
	display: inline-block;
}
.mam-btn-cta2:hover { color: var(--mam-contrast-2); background: rgba(255,255,255,0.95); transform: translateY(-2px); }
.mam-btn-cta2:active { transform: scale(0.97); }

.mam-hero-image-wrap {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 62%;
	z-index: 1;
	overflow: hidden;
}
.mam-hero-image-wrap img {
	width: 100%;
	height: 116%;
	position: relative;
	top: -8%;
	object-fit: cover;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.6) 30%, #000 55%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.6) 30%, #000 55%);
}
.mam-play-button {
	position: absolute;
	top: 50%;
	right: 22%;
	transform: translateY(-50%);
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: rgba(255,255,255,0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

/* ---- Generic section chrome ---- */
.mam-container {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: 32px;
	padding-right: 32px;
}
.mam-section-head {
	max-width: 640px;
	margin: 0 auto 56px;
	text-align: center;
}
.mam-eyebrow {
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
	color: var(--mam-secondary);
	margin-bottom: 14px;
}
.mam-section-title {
	font-size: 36px;
	line-height: 1.2;
	margin: 0 0 18px;
	color: var(--mam-contrast);
}
.mam-section-body {
	font-size: 17px;
	line-height: 1.7;
	color: var(--mam-quinary);
	margin: 0;
}

/* ---- Sobre / pillars ---- */
.mam-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.mam-pillar-card {
	background: var(--mam-quaternary);
	border-radius: 28px;
	padding: 36px 30px;
	text-align: center;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
.mam-pillar-card:hover { transform: translateY(-6px); }
.mam-pillar-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, #F0C4CB 0%, #C97885 100%);
	margin: 0 auto 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mam-pillar-card h3 {
	font-size: 20px;
	margin: 0 0 10px;
	color: var(--mam-contrast);
}
.mam-pillar-card p {
	font-size: 15px;
	line-height: 1.6;
	color: var(--mam-quinary);
}

/* ---- Activities ---- */
.mam-section-row-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 44px;
	gap: 24px;
	flex-wrap: wrap;
}
.mam-view-all {
	text-decoration: none;
	color: var(--mam-primary);
	font-weight: 700;
	font-size: 15px;
}
.mam-activities-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.mam-activity-card {
	background: var(--mam-base);
	border-radius: 28px;
	overflow: hidden;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
.mam-activity-card:hover { transform: translateY(-6px); }
.mam-activity-card .mam-activity-image {
	aspect-ratio: 16/10;
	overflow: hidden;
}
.mam-activity-card .mam-activity-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.mam-activity-card:hover .mam-activity-image img { transform: scale(1.07); }
.mam-activity-body {
	padding: 24px 26px 28px;
}
.mam-activity-meta {
	font-size: 13px;
	font-weight: 700;
	color: var(--mam-secondary);
}
.mam-activity-body h3 {
	font-size: 21px;
	margin: 8px 0 0;
	color: var(--mam-contrast);
}

/* ---- Testimonials ---- */
.mam-testimonials-section {
	padding: 100px 32px;
	background: linear-gradient(160deg, #F6E1E4 0%, #EFC9CE 100%);
}
.mam-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.mam-testimonial-card {
	background: #fff;
	border-radius: 28px;
	padding: 32px 28px;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
.mam-testimonial-card:hover { transform: translateY(-6px); }
.mam-testimonial-card p.mam-quote {
	font-family: 'DM Serif Display', serif;
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--mam-contrast);
	margin: 0 0 20px;
}
.mam-testimonial-card p.mam-quote-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--mam-secondary);
}

/* ---- How to help ---- */
.mam-help-section {
	padding: 100px 32px;
	background: var(--mam-contrast);
	color: #fff;
}
.mam-help-section .mam-section-title { color: #fff; }
.mam-help-section .mam-eyebrow { color: var(--mam-tertiary); }
.mam-help-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.mam-help-card {
	background: rgba(255,255,255,0.09);
	border-radius: 28px;
	padding: 34px 30px;
	transition: transform .4s cubic-bezier(.2,.7,.2,1), background .4s ease;
}
.mam-help-card:hover { transform: translateY(-6px); background: rgba(255,255,255,0.1); }
.mam-help-card h3 {
	font-size: 22px;
	margin: 0 0 12px;
	color: #fff;
}
.mam-help-card p {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255,255,255,0.75);
	margin: 0 0 18px;
}
.mam-help-card .mam-donate-details {
	font-size: 14px;
	line-height: 1.9;
	color: #fff;
}
.mam-btn-help-primary {
	text-decoration: none;
	display: inline-block;
	background: linear-gradient(135deg, #E7A6AF 0%, #C97885 100%);
	color: var(--mam-contrast);
	padding: 13px 24px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
}
.mam-btn-help-secondary {
	text-decoration: none;
	display: inline-block;
	background: rgba(255,255,255,0.14);
	color: #fff;
	padding: 13px 24px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
}

/* ---- News ---- */
.mam-news-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}
.mam-news-card {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 22px;
	align-items: center;
	background: var(--mam-base);
	border-radius: 28px;
	padding: 18px;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
.mam-news-card:hover { transform: translateY(-5px); }
.mam-news-card .mam-news-image {
	aspect-ratio: 1/1;
	border-radius: 20px;
	overflow: hidden;
}
.mam-news-card .mam-news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.mam-news-card:hover .mam-news-image img { transform: scale(1.07); }
.mam-news-body { padding-right: 12px; }
.mam-news-date { font-size: 13px; font-weight: 700; color: var(--mam-secondary); }
.mam-news-body h3 { font-size: 19px; margin: 6px 0 8px; color: var(--mam-contrast); }
.mam-news-body p { font-size: 14px; line-height: 1.55; color: var(--mam-quinary); margin: 0; }

/* ---- Gallery ---- */
.mam-gallery-section { background: var(--mam-base); }
.mam-gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.mam-gallery-card {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	aspect-ratio: 3/4;
	cursor: pointer;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}
.mam-gallery-card:hover { transform: translateY(-5px); }
.mam-gallery-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.mam-gallery-card:hover img { transform: scale(1.08); }
.mam-gallery-card .mam-gallery-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(59,34,38,0.75) 0%, rgba(59,34,38,0) 55%);
}
.mam-gallery-card span {
	position: absolute;
	bottom: 18px;
	left: 18px;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
}

/* ---- Footer ---- */
.mam-footer {
	background: var(--mam-contrast);
	color: rgba(255,255,255,0.75);
	padding: 72px 32px 32px;
}
.mam-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 48px;
	margin-bottom: 56px;
}
.mam-footer-logo img {
	height: 32px;
	width: auto;
	filter: brightness(0) invert(1);
	margin-bottom: 18px;
}
.mam-footer-tagline {
	font-size: 15px;
	line-height: 1.65;
	max-width: 340px;
	margin: 0 0 22px;
}
.mam-footer-ctas {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.mam-footer h4 {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 18px;
}
.mam-footer-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.mam-footer-links a {
	text-decoration: none;
	color: rgba(255,255,255,0.75);
	font-size: 15px;
}
.mam-footer-links a:hover { color: #fff; }
.mam-footer-contacts {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 15px;
}
.mam-footer-bottom {
	border-top: 1px solid rgba(255,255,255,0.14);
	padding-top: 24px;
	font-size: 13px;
	color: rgba(255,255,255,0.5);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
	.mam-nav-toggle { display: flex; }
	.mam-nav-collapse {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 24px 28px;
		box-shadow: 0 16px 32px rgba(59,34,38,0.14);
		max-height: calc(100vh - 66px);
		overflow-y: auto;
	}
	.mam-nav-collapse.is-open { display: flex; }
	.mam-nav-collapse .mam-nav a {
		width: 100%;
		padding: 12px 4px;
		border-bottom: 1px solid rgba(124,44,56,0.08);
	}
	.mam-nav-collapse .mam-header-actions {
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 14px;
	}

	.mam-pillars,
	.mam-activities-grid,
	.mam-testimonials-grid,
	.mam-help-grid {
		grid-template-columns: 1fr !important;
	}
	.mam-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.mam-news-grid { grid-template-columns: 1fr !important; }
	.mam-news-card { grid-template-columns: 1fr !important; }
	.mam-news-card .mam-news-image { aspect-ratio: 16/9 !important; }

	.mam-hero { grid-template-columns: 1fr !important; min-height: auto !important; }
	.mam-hero-text { padding: 48px 24px !important; }
	.mam-hero-blob { display: none !important; }
	.mam-hero-image-wrap {
		position: relative !important;
		top: auto !important; right: auto !important; bottom: auto !important;
		width: 100% !important;
		height: 260px !important;
	}
	.mam-hero-image-wrap img { mask-image: none !important; -webkit-mask-image: none !important; }

	.mam-footer-grid { grid-template-columns: 1fr !important; }
}
