/* ==========================================================================
   Fundación LEV — Hoja de estilos principal
   Arquitectura: tokens → base → layout → componentes → utilidades.
   Las variables de marca (--lev-*) se inyectan desde el Personalizador.
   ========================================================================== */

/* ---------- Tokens / escala ---------- */
:root {
	/* Fallbacks (el Personalizador las sobreescribe) */
	--lev-primary: #3b38a6;
	--lev-accent: #ec5a54;
	--lev-accent-2: #6f5bd8;
	--lev-ink: #1f2233;
	--lev-bg: #ffffff;
	--lev-soft: #f3f1fb;
	--lev-font-display: "Inter", system-ui, -apple-system, sans-serif;
	--lev-font-body: "Inter", system-ui, -apple-system, sans-serif;

	--lev-muted: #5c5f74;
	--lev-line: #e6e3f2;
	--lev-primary-ink: #ffffff;
	--lev-primary-dark: #2a2880;
	--lev-footer-bg: #1a1840;

	/* Espaciado fluido */
	--space-xs: clamp(.5rem, 1vw, .75rem);
	--space-sm: clamp(.75rem, 1.5vw, 1rem);
	--space-md: clamp(1.25rem, 3vw, 2rem);
	--space-lg: clamp(2rem, 5vw, 3.5rem);
	--space-xl: clamp(3.5rem, 9vw, 7rem);

	--radius: 16px;
	--radius-sm: 10px;
	--radius-pill: 999px;
	--shadow-sm: 0 2px 8px rgba(28, 37, 48, .06);
	--shadow: 0 18px 48px -22px rgba(28, 37, 48, .35);
	--container: 1200px;
	--container-narrow: 760px;
	--ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- Reset suave ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
body {
	margin: 0;
	font-family: var(--lev-font-body);
	color: var(--lev-ink);
	background: var(--lev-bg);
	line-height: 1.65;
	font-size: 1.0625rem;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, picture, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--lev-primary); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--lev-accent); }
h1, h2, h3, h4 { font-family: var(--lev-font-display); line-height: 1.12; font-weight: 700; color: var(--lev-primary); margin: 0 0 .5em; letter-spacing: -.022em; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
:focus-visible { outline: 3px solid var(--lev-accent); outline-offset: 2px; border-radius: 4px; }

/* ---------- Accesibilidad ---------- */
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 1000;
	background: var(--lev-primary); color: #fff; padding: .8em 1.2em; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; }

/* ---------- Layout ---------- */
.container { width: min(100% - 2.5rem, var(--container)); margin-inline: auto; }
.container--narrow { max-width: var(--container-narrow); }
.section { padding-block: var(--space-xl); }
.section--soft { background: var(--lev-soft); }
.section--primary { background: var(--lev-primary); color: var(--lev-primary-ink); }
.section--primary h2, .section--primary .section__title { color: #fff; }

.section__head { max-width: 720px; margin: 0 auto var(--space-lg); }
.section__head--center { text-align: center; }
.section__head--left { margin-inline: 0; }
.section__kicker {
	display: inline-block; font-family: var(--lev-font-body); font-weight: 600; font-size: .78rem;
	letter-spacing: .08em; text-transform: uppercase; color: var(--lev-accent);
	background: var(--lev-soft); padding: .45em 1.05em; border-radius: var(--radius-pill); margin-bottom: 1em;
}
.section--primary .section__kicker, .section__kicker--light { color: var(--lev-accent-2); background: rgba(255,255,255,.12); }
.section__title { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
.section__title--sm { font-size: clamp(1.4rem, 3vw, 2rem); }
.section__intro { font-size: 1.15rem; color: var(--lev-muted); }
.section--primary .section__intro { color: rgba(255, 255, 255, .82); }
.section__foot { text-align: center; margin-top: var(--space-lg); }

/* ---------- Botones ---------- */
.btn {
	--btn-bg: var(--lev-primary); --btn-fg: #fff;
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	font-family: var(--lev-font-body); font-weight: 600; font-size: 1rem; line-height: 1;
	padding: .95em 1.6em; border-radius: var(--radius-pill); border: 2px solid transparent;
	background: var(--btn-bg); color: var(--btn-fg); cursor: pointer; text-decoration: none;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .2s, color .2s;
	will-change: transform;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); color: var(--btn-fg); }
.btn:active { transform: translateY(0); }
.btn--primary { --btn-bg: var(--lev-primary); }
.btn--accent { --btn-bg: var(--lev-accent); }
.btn--outline { --btn-bg: transparent; --btn-fg: var(--lev-primary); border-color: var(--lev-primary); }
.btn--outline:hover { --btn-bg: var(--lev-primary); --btn-fg: #fff; }
.btn--ghost { --btn-bg: rgba(255,255,255,.12); --btn-fg: #fff; border-color: rgba(255,255,255,.6); backdrop-filter: blur(4px); }
.btn--ghost:hover { --btn-bg: #fff; --btn-fg: var(--lev-primary); }
.btn--sm { padding: .6em 1.1em; font-size: .9rem; }
.btn--lg { padding: 1.1em 2em; font-size: 1.075rem; }
.btn--block { display: flex; width: 100%; }
.btn__heart { color: currentColor; font-size: .9em; transition: transform .3s var(--ease); }
.btn:hover .btn__heart { transform: scale(1.25); }

.link-arrow { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; text-decoration: none; }
.link-arrow::after { content: "\2192"; transition: transform .25s var(--ease); }
.link-arrow:hover::after { transform: translateX(4px); }

/* ---------- Header ---------- */
.site-banner { background: var(--lev-accent); color: #fff; text-align: center; font-size: .92rem; }
.site-banner .container { padding-block: .55rem; }
.site-banner a { color: #fff; }

.site-header {
	position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .9);
	backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid transparent;
	transition: box-shadow .3s, border-color .3s;
}
.site-header.is-scrolled { box-shadow: var(--shadow-sm); border-color: var(--lev-line); }
.site-header__inner { display: flex; align-items: center; gap: var(--space-md); padding-block: .8rem; }
.site-header__brand { flex: 0 0 auto; }
.site-header__brand img { max-height: 56px; width: auto; }
.site-title { font-size: 1.5rem; margin: 0; }
.site-title a { text-decoration: none; }
.site-nav { margin-left: auto; }
.site-header__cta { flex: 0 0 auto; }

.nav__list { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.nav__list a { text-decoration: none; font-weight: 500; color: var(--lev-ink); position: relative; padding-block: .3em; }
.nav__list a::after {
	content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: var(--lev-accent); transition: width .25s var(--ease);
}
.nav__list a:hover::after, .nav__list .current-menu-item > a::after { width: 100%; }
.nav__list .sub-menu {
	position: absolute; background: #fff; box-shadow: var(--shadow); border-radius: var(--radius-sm);
	padding: .6rem; list-style: none; min-width: 220px; display: none; margin-top: .6rem;
}
.nav__list li:hover > .sub-menu, .nav__list li:focus-within > .sub-menu { display: block; }
.nav__list .sub-menu a { padding: .5em .8em; display: block; border-radius: 8px; }
.nav__list .sub-menu a:hover { background: var(--lev-soft); }

/* Hamburguesa */
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: .5rem; }
.nav-toggle__box { display: block; width: 26px; height: 18px; position: relative; }
.nav-toggle__inner, .nav-toggle__inner::before, .nav-toggle__inner::after {
	content: ""; position: absolute; left: 0; width: 100%; height: 2.5px; background: var(--lev-primary); border-radius: 2px; transition: transform .3s var(--ease), top .3s, opacity .2s;
}
.nav-toggle__inner { top: 50%; transform: translateY(-50%); }
.nav-toggle__inner::before { top: -8px; }
.nav-toggle__inner::after { top: 8px; }
[aria-expanded="true"] .nav-toggle__inner { background: transparent; }
[aria-expanded="true"] .nav-toggle__inner::before { top: 0; transform: rotate(45deg); }
[aria-expanded="true"] .nav-toggle__inner::after { top: 0; transform: rotate(-45deg); }

/* ---------- Hero ---------- */
.hero { position: relative; padding-block: var(--space-xl); background: linear-gradient(160deg, var(--lev-soft), #fff); overflow: hidden; }
.hero--image { color: #fff; background: var(--lev-primary); }
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(42,40,128,.94) 8%, rgba(59,56,166,.62) 55%, rgba(111,91,216,.30) 100%); }
.hero__inner { position: relative; z-index: 1; }
.hero__content { max-width: 680px; }
.hero__kicker { display: inline-block; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; font-size: .8rem; color: #fff; background: rgba(255,255,255,.16); padding: .45em 1.05em; border-radius: var(--radius-pill); backdrop-filter: blur(6px); margin-bottom: 1.2rem; }
.hero:not(.hero--image) .hero__kicker { color: var(--lev-accent); background: var(--lev-soft); }
.hero__title { font-size: clamp(2.1rem, 5vw, 3.7rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: inherit; }
.hero--image .hero__title { color: #fff; }
.hero:not(.hero--image) .hero__title { color: var(--lev-primary); }
.hero__subtitle { font-size: clamp(1.1rem, 2.2vw, 1.35rem); max-width: 56ch; margin-top: 1rem; color: inherit; }
.hero:not(.hero--image) .hero__subtitle { color: var(--lev-muted); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: var(--space-md); }

/* ---------- Ejes ---------- */
.ejes-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--space-md); }
.eje-card { background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); padding: var(--space-md); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.eje-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.eje-card__icon { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 16px; background: var(--lev-soft); margin-bottom: 1rem; position: relative; }
.eje-card__icon::before { content: ""; width: 30px; height: 30px; background: var(--lev-accent); -webkit-mask: center/contain no-repeat; mask: center/contain no-repeat; }
.eje-card__icon--nutrition::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3v18M8 3v6a3 3 0 006 0V3M16 3c-1.5 0-3 2-3 6s1.5 6 3 6v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3v18M8 3v6a3 3 0 006 0V3M16 3c-1.5 0-3 2-3 6s1.5 6 3 6v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
.eje-card__icon--home::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.eje-card__icon--education::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4L2 9l10 5 10-5-10-5zM6 11v5c0 1 3 3 6 3s6-2 6-3v-5' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4L2 9l10 5 10-5-10-5zM6 11v5c0 1 3 3 6 3s6-2 6-3v-5' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.eje-card__icon--clothing::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l3 2 3-2 6 4-3 4-2-1v9H8v-9l-2 1-3-4z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l3 2 3-2 6 4-3 4-2-1v9H8v-9l-2 1-3-4z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.eje-card__title { font-size: 1.3rem; }
.eje-card__text { color: var(--lev-muted); margin: 0; }

/* ---------- Áreas de trabajo ---------- */
.areas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-md); }
.area-card { background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.area-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.area-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--lev-soft); }
.area-card__media img, .area-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.area-card:hover .area-card__img { transform: scale(1.05); }
.area-card__media .card__media--placeholder { display: grid; place-items: center; height: 100%; font-size: 2.6rem; color: #fff; background: linear-gradient(135deg, var(--lev-primary), var(--lev-accent-2)); }
.area-card__body { padding: var(--space-md); }
.area-card__title { font-size: 1.25rem; margin-bottom: .4em; }
.area-card__text { color: var(--lev-muted); margin: 0; }

/* ---------- Historia ---------- */
.historia__inner { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-lg); align-items: center; }
.historia__stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); }
.historia__stats li { background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); padding: var(--space-md); text-align: center; }
.historia__stats strong { display: block; font-family: var(--lev-font-display); font-size: 2rem; color: var(--lev-accent); }
.historia__stats span { color: var(--lev-muted); font-size: .95rem; }

/* ---------- Proceso ---------- */
.proceso-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--space-md); counter-reset: step; }
.proceso-step { position: relative; padding: var(--space-md); padding-top: calc(var(--space-md) + 1rem); }
.proceso-step__num { font-family: var(--lev-font-display); font-size: 3rem; color: var(--lev-accent-2); opacity: .5; line-height: 1; }
.proceso-step__title { font-size: 1.3rem; margin-top: .3em; }
.proceso-step__text { color: var(--lev-muted); }

/* ---------- Tarjetas genéricas ---------- */
.cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-md); }
.card { background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.card__link { text-decoration: none; color: inherit; display: block; height: 100%; }
.card__media-wrap { aspect-ratio: 3 / 2; overflow: hidden; background: var(--lev-soft); }
.card__media, .card__media-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.card:hover .card__media, .card:hover .card__media-wrap img { transform: scale(1.05); }
.card__media--placeholder { display: grid; place-items: center; color: var(--lev-accent); font-size: 3rem; }
.card__body { padding: var(--space-md); }
.card__tag { display: inline-block; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--lev-accent); margin-bottom: .5em; }
.card__date { display: block; font-size: .85rem; color: var(--lev-muted); margin-bottom: .4em; }
.card__title { font-size: 1.3rem; margin-bottom: .4em; }
.card__excerpt { color: var(--lev-muted); }

/* ---------- Campañas ---------- */
.campanas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--space-md); }
.campana-card { display: grid; grid-template-rows: auto 1fr; background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.campana-card__media { aspect-ratio: 16/9; overflow: hidden; background: var(--lev-soft); }
.campana-card__media img { width: 100%; height: 100%; object-fit: cover; }
.campana-card__body { padding: var(--space-md); display: flex; flex-direction: column; gap: .8rem; }
.campana-card__title a { text-decoration: none; }
.campana-card__excerpt { color: var(--lev-muted); margin: 0; }

.progress { background: var(--lev-soft); border-radius: var(--radius-pill); height: 12px; overflow: hidden; }
.progress__bar { height: 100%; background: linear-gradient(90deg, var(--lev-primary), var(--lev-accent-2)); border-radius: inherit; transition: width 1s var(--ease); }
.progress__meta { font-size: .95rem; margin: 0; }
.progress__meta strong { color: var(--lev-accent); }

/* ---------- Cómo ayudar ---------- */
.ayudar-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--space-md); }
.ayudar-card { background: #fff; border: 1px solid var(--lev-line); border-radius: var(--radius); padding: var(--space-lg); text-align: center; display: flex; flex-direction: column; gap: 1rem; align-items: center; }
.ayudar-card--accent { background: var(--lev-primary); color: #fff; border-color: transparent; }
.ayudar-card--accent .ayudar-card__title, .ayudar-card--accent .ayudar-card__text { color: #fff; }
.ayudar-card__text { color: var(--lev-muted); margin: 0; flex: 1; }

/* ---------- Testimonios ---------- */
.testimonios-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-md); }
.testimonio { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); padding: var(--space-md); margin: 0; }
.testimonio__quote { font-family: var(--lev-font-display); font-size: 1.2rem; line-height: 1.5; margin: 0 0 1rem; }
.testimonio__quote p { margin: 0; }
.testimonio__author { display: flex; align-items: center; gap: .8rem; }
.testimonio__avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.testimonio__author strong { display: block; }
.testimonio__author em { color: rgba(255,255,255,.7); font-style: normal; font-size: .9rem; }

/* ---------- Galería ---------- */
.galeria-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8rem; }
.galeria-item { margin: 0; border-radius: var(--radius-sm); overflow: hidden; aspect-ratio: 1; }
.galeria-item__img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.galeria-item:hover .galeria-item__img { transform: scale(1.08); }

/* ---------- CTA donación ---------- */
.section--donar-cta { background: linear-gradient(150deg, var(--lev-primary), var(--lev-primary-dark)); color: #fff; }
.donar-cta__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--space-lg); align-items: center; }
.section--donar-cta h2 { color: #fff; }
.donar-cta__list { list-style: none; padding: 0; display: grid; gap: .5rem; }
.donar-cta__list li { padding-left: 1.8em; position: relative; color: rgba(255,255,255,.9); }
.donar-cta__list li::before { content: "\2713"; position: absolute; left: 0; color: var(--lev-accent-2); font-weight: 700; }
.donar-cta__form { background: #fff; color: var(--lev-ink); border-radius: var(--radius); padding: var(--space-md); box-shadow: var(--shadow); }

/* ---------- Formulario de donación ---------- */
.donation-form fieldset { border: 0; padding: 0; margin: 0 0 1.2rem; }
.donation-form legend { font-weight: 600; margin-bottom: .6rem; color: var(--lev-primary); }
.donation-form__freq { display: flex; gap: .6rem; flex-wrap: wrap; }
.pill { position: relative; }
.pill input { position: absolute; opacity: 0; }
.pill span { display: block; padding: .6em 1.2em; border: 2px solid var(--lev-line); border-radius: var(--radius-pill); cursor: pointer; transition: .2s; }
.pill input:checked + span { border-color: var(--lev-accent); background: var(--lev-accent); color: #fff; }
.pill input:focus-visible + span { outline: 3px solid var(--lev-accent); outline-offset: 2px; }

.amount-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.amount-option { position: relative; }
.amount-option input { position: absolute; opacity: 0; }
.amount-option span { display: block; text-align: center; padding: .9em .4em; border: 2px solid var(--lev-line); border-radius: var(--radius-sm); cursor: pointer; font-weight: 600; transition: .2s; }
.amount-option input:checked + span { border-color: var(--lev-accent); background: rgba(226,86,77,.08); color: var(--lev-accent); }
.amount-option input:focus-visible + span { outline: 3px solid var(--lev-accent); outline-offset: 2px; }
.amount-custom { margin-top: .8rem; }
.amount-custom input { width: 100%; padding: .8em 1em; border: 2px solid var(--lev-line); border-radius: var(--radius-sm); font-size: 1.1rem; }
.donation-form__note { font-size: .85rem; color: var(--lev-muted); text-align: center; margin: .8rem 0 0; }

/* ---------- Páginas internas ---------- */
.page-hero { background: var(--lev-soft); padding-block: var(--space-lg); }
.page-hero--compact { padding-block: var(--space-md); }
.page-hero--donar { background: linear-gradient(150deg, var(--lev-primary), var(--lev-primary-dark)); color: #fff; }
.page-hero--donar .page-hero__title, .page-hero--donar .page-hero__lead { color: #fff; }
.page-hero__title { font-size: clamp(2rem, 5vw, 3.2rem); margin: .2em 0 0; }
.page-hero__lead { font-size: 1.15rem; color: var(--lev-muted); max-width: 60ch; }
.page-hero__meta { color: var(--lev-muted); }

.breadcrumbs { font-size: .9rem; margin-bottom: .4rem; }
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .4em; padding: 0; margin: 0; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .4em; color: var(--lev-muted); }
.breadcrumbs a { text-decoration: none; color: var(--lev-muted); }
.breadcrumbs [aria-current] { color: var(--lev-ink); }

/* ---------- Contenido editorial ---------- */
.entry-content { font-size: 1.075rem; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: 1.8rem; margin-top: 1.6em; }
.entry-content h3 { font-size: 1.4rem; margin-top: 1.4em; }
.entry-content img { border-radius: var(--radius-sm); }
.entry-content blockquote { border-left: 4px solid var(--lev-accent); padding-left: 1.2em; font-family: var(--lev-font-display); font-size: 1.2rem; color: var(--lev-primary); margin-inline: 0; }
.entry-content a { font-weight: 500; }
.entry-featured { margin: 0 0 var(--space-md); border-radius: var(--radius); overflow: hidden; }
.single__cta { margin-top: var(--space-lg); padding: var(--space-md); background: var(--lev-soft); border-radius: var(--radius); text-align: center; }
.single-campana__progress { background: var(--lev-soft); border-radius: var(--radius); padding: var(--space-md); margin-bottom: var(--space-md); display: grid; gap: 1rem; }

/* ---------- Blog layout ---------- */
.blog-layout { display: grid; grid-template-columns: 1fr; gap: var(--space-lg); }
.blog-layout:has(.blog-layout__sidebar) { grid-template-columns: 1fr 300px; }

/* ---------- Equipo ---------- */
.equipo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-md); }
.equipo-card { text-align: center; }
.equipo-card__media { aspect-ratio: 4/5; border-radius: var(--radius); overflow: hidden; background: var(--lev-soft); margin-bottom: 1rem; }
.equipo-card__img { width: 100%; height: 100%; object-fit: cover; }
.equipo-card__name { font-size: 1.2rem; margin: 0; }
.equipo-card__role { color: var(--lev-accent); font-weight: 600; margin: .2em 0 .6em; }
.equipo-card__bio { color: var(--lev-muted); font-size: .95rem; }

/* ---------- Donar layout / Transparencia ---------- */
.donar-layout, .contacto-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--space-lg); align-items: start; }
.donar-info { background: var(--lev-soft); border-radius: var(--radius); padding: var(--space-md); margin-bottom: var(--space-md); }
.donar-info__list { list-style: none; padding: 0; display: grid; gap: .8rem; }
.donar-info__list li { display: grid; }
.donar-info__list strong { color: var(--lev-primary); }
.donar-trust p { display: flex; gap: .5em; align-items: center; color: var(--lev-muted); margin: .3em 0; }

.transparencia-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-md); margin-bottom: var(--space-lg); }
.fact-card { background: var(--lev-soft); border-radius: var(--radius); padding: var(--space-md); text-align: center; }
.fact-card__label { display: block; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: var(--lev-muted); }
.fact-card__value { font-family: var(--lev-font-display); font-size: 1.5rem; color: var(--lev-primary); }

/* ---------- FAQ ---------- */
.faq-item { border-bottom: 1px solid var(--lev-line); }
.faq-item__q { margin: 0; }
.faq-item__trigger { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: none; border: 0; padding: 1.2em 0; font-size: 1.15rem; font-family: var(--lev-font-display); color: var(--lev-primary); text-align: left; cursor: pointer; }
.faq-item__icon { position: relative; width: 18px; height: 18px; flex: 0 0 auto; }
.faq-item__icon::before, .faq-item__icon::after { content: ""; position: absolute; background: var(--lev-accent); border-radius: 2px; transition: transform .3s var(--ease); }
.faq-item__icon::before { top: 50%; left: 0; width: 100%; height: 2.5px; transform: translateY(-50%); }
.faq-item__icon::after { left: 50%; top: 0; height: 100%; width: 2.5px; transform: translateX(-50%); }
[aria-expanded="true"] .faq-item__icon::after { transform: translateX(-50%) scaleY(0); }
.faq-item__content { padding-bottom: 1.4em; color: var(--lev-muted); }

/* ---------- Formularios ---------- */
.lev-form__hp { position: absolute !important; left: -9999px; }
.lev-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-sm); }
.lev-form__field { display: grid; gap: .4em; margin-bottom: var(--space-sm); }
.lev-form label { font-weight: 600; font-size: .95rem; }
.lev-form input, .lev-form textarea, .lev-form select {
	width: 100%; padding: .8em 1em; border: 2px solid var(--lev-line); border-radius: var(--radius-sm);
	font: inherit; background: #fff; transition: border-color .2s;
}
.lev-form input:focus, .lev-form textarea:focus { border-color: var(--lev-accent); outline: none; }
.lev-form--inline .lev-form__row { display: flex; gap: .5rem; }
.lev-form--inline input { flex: 1; }
.lev-form__msg { margin-top: .8rem; font-weight: 500; }
.lev-form__msg.is-ok { color: #1a7f45; }
.lev-form__msg.is-error { color: var(--lev-accent); }
.lev-form.is-loading button[type="submit"] { opacity: .6; pointer-events: none; }

/* ---------- Redes ---------- */
.social-links { display: flex; gap: .6rem; list-style: none; padding: 0; margin: 1rem 0 0; }
.social-links__item { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--lev-soft); transition: .2s; }
.social-links__item:hover { background: var(--lev-accent); transform: translateY(-2px); }
.social-icon { width: 20px; height: 20px; background: var(--lev-primary); transition: background .2s; -webkit-mask: center/contain no-repeat; mask: center/contain no-repeat; }
.social-links__item:hover .social-icon { background: #fff; }
.social-icon--facebook { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 22v-9h3l1-4h-4V7c0-1 .5-2 2-2h2V1.5C17.5 1.3 16 1 15 1c-3 0-5 2-5 5v3H7v4h3v9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 22v-9h3l1-4h-4V7c0-1 .5-2 2-2h2V1.5C17.5 1.3 16 1 15 1c-3 0-5 2-5 5v3H7v4h3v9z'/%3E%3C/svg%3E"); }
.social-icon--instagram { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c2.7 0 3 0 4.1.1 1.1 0 1.8.2 2.4.5.6.2 1.1.5 1.6 1s.8 1 1 1.6c.3.6.5 1.3.5 2.4.1 1.1.1 1.4.1 4.1s0 3-.1 4.1c0 1.1-.2 1.8-.5 2.4-.2.6-.5 1.1-1 1.6s-1 .8-1.6 1c-.6.3-1.3.5-2.4.5-1.1.1-1.4.1-4.1.1s-3 0-4.1-.1c-1.1 0-1.8-.2-2.4-.5-.6-.2-1.1-.5-1.6-1s-.8-1-1-1.6c-.3-.6-.5-1.3-.5-2.4C2 15 2 14.7 2 12s0-3 .1-4.1c0-1.1.2-1.8.5-2.4.2-.6.5-1.1 1-1.6s1-.8 1.6-1c.6-.3 1.3-.5 2.4-.5C9 2 9.3 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm0 8.2a3.2 3.2 0 110-6.4 3.2 3.2 0 010 6.4zM17.8 7a1.2 1.2 0 100-2.4 1.2 1.2 0 000 2.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c2.7 0 3 0 4.1.1 1.1 0 1.8.2 2.4.5.6.2 1.1.5 1.6 1s.8 1 1 1.6c.3.6.5 1.3.5 2.4.1 1.1.1 1.4.1 4.1s0 3-.1 4.1c0 1.1-.2 1.8-.5 2.4-.2.6-.5 1.1-1 1.6s-1 .8-1.6 1c-.6.3-1.3.5-2.4.5-1.1.1-1.4.1-4.1.1s-3 0-4.1-.1c-1.1 0-1.8-.2-2.4-.5-.6-.2-1.1-.5-1.6-1s-.8-1-1-1.6c-.3-.6-.5-1.3-.5-2.4C2 15 2 14.7 2 12s0-3 .1-4.1c0-1.1.2-1.8.5-2.4.2-.6.5-1.1 1-1.6s1-.8 1.6-1c.6-.3 1.3-.5 2.4-.5C9 2 9.3 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm0 8.2a3.2 3.2 0 110-6.4 3.2 3.2 0 010 6.4zM17.8 7a1.2 1.2 0 100-2.4 1.2 1.2 0 000 2.4z'/%3E%3C/svg%3E"); }
.social-icon--youtube { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 12s0-3.3-.4-4.8c-.2-.9-.9-1.5-1.7-1.7C19.4 5 12 5 12 5s-7.4 0-8.9.5c-.8.2-1.5.8-1.7 1.7C1 8.7 1 12 1 12s0 3.3.4 4.8c.2.9.9 1.5 1.7 1.7C4.6 19 12 19 12 19s7.4 0 8.9-.5c.8-.2 1.5-.8 1.7-1.7.4-1.5.4-4.8.4-4.8zM10 15V9l5 3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 12s0-3.3-.4-4.8c-.2-.9-.9-1.5-1.7-1.7C19.4 5 12 5 12 5s-7.4 0-8.9.5c-.8.2-1.5.8-1.7 1.7C1 8.7 1 12 1 12s0 3.3.4 4.8c.2.9.9 1.5 1.7 1.7C4.6 19 12 19 12 19s7.4 0 8.9-.5c.8-.2 1.5-.8 1.7-1.7.4-1.5.4-4.8.4-4.8zM10 15V9l5 3z'/%3E%3C/svg%3E"); }
.social-icon--linkedin { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM3 9h4v12H3zM10 9h3.8v1.7h.05c.53-1 1.8-2 3.7-2 4 0 4.7 2.6 4.7 6V21h-4v-5.3c0-1.3 0-3-1.8-3s-2.1 1.4-2.1 2.9V21h-4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM3 9h4v12H3zM10 9h3.8v1.7h.05c.53-1 1.8-2 3.7-2 4 0 4.7 2.6 4.7 6V21h-4v-5.3c0-1.3 0-3-1.8-3s-2.1 1.4-2.1 2.9V21h-4z'/%3E%3C/svg%3E"); }

/* ---------- Feed social ---------- */
.social-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-sm); }
.social-feed__item { border: 1px solid var(--lev-line); border-radius: var(--radius-sm); overflow: hidden; text-decoration: none; color: inherit; background: #fff; transition: transform .3s var(--ease); }
.social-feed__item:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.social-feed__item p { padding: .8rem; font-size: .9rem; margin: 0; }

/* ---------- Carrusel de redes ---------- */
.redes-follow { display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; margin-top: 1.2rem; }
.redes-follow .btn { gap: .5em; }
.redes-follow .social-icon { width: 18px; height: 18px; background: currentColor; }
.redes-empty { text-align: center; color: var(--lev-muted); background: var(--lev-soft); padding: 1.5rem; border-radius: var(--radius); }
.redes-feeds { display: grid; gap: var(--space-md); margin-top: var(--space-lg); }
.redes-feeds:has(.redes-feed + .redes-feed) { grid-template-columns: 1fr 1fr; }
.redes-feed { min-width: 0; }
@media (max-width: 900px) { .redes-feeds:has(.redes-feed + .redes-feed) { grid-template-columns: 1fr; } }

.rs-carousel { position: relative; margin-top: var(--space-lg); }
.rs-carousel__viewport { overflow: hidden; }
.rs-carousel__track {
	display: flex; gap: 1rem; list-style: none; margin: 0; padding: .5rem;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.rs-carousel__track::-webkit-scrollbar { display: none; }
.rs-carousel__slide { flex: 0 0 clamp(240px, 30%, 320px); scroll-snap-align: start; }

.rs-card {
	position: relative; display: block; aspect-ratio: 4 / 5; border-radius: var(--radius);
	overflow: hidden; background: var(--lev-soft); text-decoration: none; color: #fff;
	box-shadow: var(--shadow-sm); transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.rs-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.rs-card__media { width: 100%; height: 100%; object-fit: cover; display: block; }
.rs-card__media--ph { display: grid; place-items: center; font-size: 3rem; color: var(--lev-accent); background: linear-gradient(135deg, var(--lev-primary), var(--lev-accent-2)); }
.rs-card--video .rs-card__media { background: #000; }
.rs-card__caption {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem .9rem .9rem;
	font-size: .85rem; line-height: 1.35;
	background: linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));
}
.rs-card__play {
	position: absolute; inset: 0; margin: auto; width: 58px; height: 58px; border-radius: 50%;
	background: rgba(255,255,255,.92); display: grid; place-items: center; pointer-events: none;
}
.rs-card__play::before { content: ""; border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent var(--lev-primary); margin-left: 4px; }
.rs-card__badge { position: absolute; top: .7rem; right: .7rem; width: 26px; height: 26px; border-radius: 8px; background: rgba(0,0,0,.45); }
.rs-card__badge::after { content: ""; position: absolute; inset: 5px; background: #fff; -webkit-mask: center/contain no-repeat; mask: center/contain no-repeat; }
.rs-card__badge--instagram::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c2.7 0 3 0 4.1.1 1.1 0 1.8.2 2.4.5.6.2 1.1.5 1.6 1s.8 1 1 1.6c.3.6.5 1.3.5 2.4.1 1.1.1 1.4.1 4.1s0 3-.1 4.1c0 1.1-.2 1.8-.5 2.4-.2.6-.5 1.1-1 1.6s-1 .8-1.6 1c-.6.3-1.3.5-2.4.5-1.1.1-1.4.1-4.1.1s-3 0-4.1-.1c-1.1 0-1.8-.2-2.4-.5-.6-.2-1.1-.5-1.6-1s-.8-1-1-1.6c-.3-.6-.5-1.3-.5-2.4C2 15 2 14.7 2 12s0-3 .1-4.1c0-1.1.2-1.8.5-2.4.2-.6.5-1.1 1-1.6s1-.8 1.6-1c.6-.3 1.3-.5 2.4-.5C9 2 9.3 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm0 8.2a3.2 3.2 0 110-6.4 3.2 3.2 0 010 6.4zM17.8 7a1.2 1.2 0 100-2.4 1.2 1.2 0 000 2.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c2.7 0 3 0 4.1.1 1.1 0 1.8.2 2.4.5.6.2 1.1.5 1.6 1s.8 1 1 1.6c.3.6.5 1.3.5 2.4.1 1.1.1 1.4.1 4.1s0 3-.1 4.1c0 1.1-.2 1.8-.5 2.4-.2.6-.5 1.1-1 1.6s-1 .8-1.6 1c-.6.3-1.3.5-2.4.5-1.1.1-1.4.1-4.1.1s-3 0-4.1-.1c-1.1 0-1.8-.2-2.4-.5-.6-.2-1.1-.5-1.6-1s-.8-1-1-1.6c-.3-.6-.5-1.3-.5-2.4C2 15 2 14.7 2 12s0-3 .1-4.1c0-1.1.2-1.8.5-2.4.2-.6.5-1.1 1-1.6s1-.8 1.6-1c.6-.3 1.3-.5 2.4-.5C9 2 9.3 2 12 2zm0 5a5 5 0 100 10 5 5 0 000-10zm0 8.2a3.2 3.2 0 110-6.4 3.2 3.2 0 010 6.4zM17.8 7a1.2 1.2 0 100-2.4 1.2 1.2 0 000 2.4z'/%3E%3C/svg%3E"); }
.rs-card__badge--facebook::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 22v-9h3l1-4h-4V7c0-1 .5-2 2-2h2V1.5C17.5 1.3 16 1 15 1c-3 0-5 2-5 5v3H7v4h3v9z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 22v-9h3l1-4h-4V7c0-1 .5-2 2-2h2V1.5C17.5 1.3 16 1 15 1c-3 0-5 2-5 5v3H7v4h3v9z'/%3E%3C/svg%3E"); }
.rs-card__badge--youtube::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 12s0-3.3-.4-4.8c-.2-.9-.9-1.5-1.7-1.7C19.4 5 12 5 12 5s-7.4 0-8.9.5c-.8.2-1.5.8-1.7 1.7C1 8.7 1 12 1 12s0 3.3.4 4.8c.2.9.9 1.5 1.7 1.7C4.6 19 12 19 12 19s7.4 0 8.9-.5c.8-.2 1.5-.8 1.7-1.7.4-1.5.4-4.8.4-4.8zM10 15V9l5 3z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 12s0-3.3-.4-4.8c-.2-.9-.9-1.5-1.7-1.7C19.4 5 12 5 12 5s-7.4 0-8.9.5c-.8.2-1.5.8-1.7 1.7C1 8.7 1 12 1 12s0 3.3.4 4.8c.2.9.9 1.5 1.7 1.7C4.6 19 12 19 12 19s7.4 0 8.9-.5c.8-.2 1.5-.8 1.7-1.7.4-1.5.4-4.8.4-4.8zM10 15V9l5 3z'/%3E%3C/svg%3E"); }

.rs-carousel__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
	background: #fff; color: var(--lev-primary); font-size: 1.6rem; line-height: 1;
	box-shadow: var(--shadow); display: grid; place-items: center; transition: .2s;
}
.rs-carousel__nav:hover { background: var(--lev-primary); color: #fff; }
.rs-carousel__nav:disabled { opacity: 0; pointer-events: none; }
.rs-carousel__nav--prev { left: -8px; }
.rs-carousel__nav--next { right: -8px; }
@media (max-width: 768px) {
	.rs-carousel__nav { display: none; }
	.rs-carousel__slide { flex-basis: 72%; }
}

/* ---------- Footer ---------- */
.site-footer { background: var(--lev-footer-bg); color: rgba(255,255,255,.82); padding-block: var(--space-lg) var(--space-md); margin-top: var(--space-xl); }
.site-logo-img { max-height: 56px; width: auto; display: block; }
.site-footer .site-logo-img { background: #fff; padding: .45rem .65rem; border-radius: 12px; max-height: 62px; }
.site-footer h3 { color: #fff; font-size: 1.1rem; }
.site-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer__cta { display: flex; flex-wrap: wrap; gap: var(--space-md); align-items: center; justify-content: space-between; background: linear-gradient(120deg, var(--lev-accent), var(--lev-accent-2)); border-radius: var(--radius); padding: var(--space-lg); margin-bottom: var(--space-lg); }
.site-footer__cta h2, .site-footer__cta p { color: #fff; margin: 0; }
.site-footer__cta p { opacity: .92; }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid rgba(255,255,255,.12); }
.site-footer .site-title, .site-footer .site-title a { color: #fff; }
.footer-menu, .legal-menu { list-style: none; padding: 0; margin: 0; }
.footer-menu li { margin-bottom: .5em; }
.contact-list { list-style: none; padding: 0; margin: 0; }
.contact-list li { margin-bottom: .5em; }
.contact-list--lg li { display: grid; gap: .1em; margin-bottom: 1em; }
.contact-list--lg strong { color: var(--lev-primary); }
.site-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: var(--space-md); font-size: .9rem; }
.legal-menu { display: flex; gap: 1.2rem; }

/* ---------- Sticky donate & to-top ---------- */
.sticky-donate { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 90; display: none; box-shadow: var(--shadow); border-radius: var(--radius-pill); }
.to-top { position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 80; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--lev-primary); color: #fff; font-size: 1.3rem; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(10px); transition: .3s; }
.to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

/* ---------- Notices ---------- */
.notice { padding: 1em 1.2em; border-radius: var(--radius-sm); background: var(--lev-soft); }
.notice--warning { background: #fff6e5; border: 1px solid #f0d18a; }

/* ---------- Animaciones de aparición ---------- */
[data-reveal], [data-reveal-group] > * { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal].is-visible, [data-reveal-group].is-visible > * { opacity: 1; transform: none; }
[data-reveal-group].is-visible > *:nth-child(2) { transition-delay: .08s; }
[data-reveal-group].is-visible > *:nth-child(3) { transition-delay: .16s; }
[data-reveal-group].is-visible > *:nth-child(4) { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
	[data-reveal], [data-reveal-group] > * { opacity: 1; transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.historia__inner, .donar-cta__inner, .donar-layout, .contacto-layout { grid-template-columns: 1fr; }
	.blog-layout:has(.blog-layout__sidebar) { grid-template-columns: 1fr; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
	.nav-toggle { display: block; order: 3; }
	.site-nav { margin-left: auto; }
	.site-header__cta { display: none; }
	#primary-menu {
		position: fixed; inset: 0 0 0 auto; width: min(80vw, 320px); background: #fff;
		flex-direction: column; align-items: flex-start; padding: 5rem 1.5rem 2rem; gap: 1rem;
		box-shadow: var(--shadow); transform: translateX(100%); transition: transform .35s var(--ease);
		overflow-y: auto;
	}
	#primary-menu.is-open { transform: translateX(0); }
	.nav__list .sub-menu { position: static; box-shadow: none; display: block; padding-left: 1rem; }
	.sticky-donate { display: block; }
	.amount-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.historia__stats { grid-template-columns: 1fr 1fr; }
	.site-footer__grid { grid-template-columns: 1fr; }
	.hero__actions .btn { flex: 1; }
}

/* ---------- Impresión ---------- */
@media print {
	.site-header, .site-footer, .sticky-donate, .to-top, .hero__actions { display: none !important; }
}
