/* ==========================================================================
   Fundación Rosalía Portela – estilos del tema
   Colores: verde oscuro #2F3A2A · verde #4E6343 · salvia #9BB08A
            oro #D9C79A · oro oscuro #7E6531 · crema #FBFAF6 · arena #F1EEE3
   ========================================================================== */

:root {
	--frp-verde-oscuro: #2F3A2A;
	--frp-verde: #4E6343;
	--frp-salvia: #9BB08A;
	--frp-oro: #D9C79A;
	--frp-oro-medio: #B39A5E;
	--frp-oro-oscuro: #7E6531;
	--frp-crema: #FBFAF6;
	--frp-arena: #F1EEE3;
	--frp-piedra: #F3F1EA;
	--frp-linea: #E6E2D6;
	--frp-texto: #2A2E26;
	--frp-texto-suave: #4A4F45;
	--frp-gris: #5E6358;
	--frp-raleway: 'Raleway', sans-serif;
	--frp-rubik: 'Rubik', system-ui, sans-serif;
}

body { margin: 0; background: var(--frp-crema); color: var(--frp-texto); font-family: var(--frp-rubik); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { color: var(--frp-verde); }
a:hover { color: var(--frp-verde-oscuro); }

/* Dentro de los bloques del tema, sin márgenes por defecto: el espaciado lo dan los contenedores */
[class*="frp-"] :where(p, h1, h2, h3, h4, figure, ul, ol, blockquote) { margin: 0; }

/* ---------- Estructura ---------- */
.frp-section { padding: clamp(64px, 8vw, 112px) 24px; }
.frp-section.frp-pt-0 { padding-top: 0; }
.frp-wrap { width: 100%; max-width: 1240px; margin-inline: auto; box-sizing: border-box; }
.frp-narrow { width: 100%; max-width: 980px; margin-inline: auto; }
.frp-text { max-width: 760px; }
.frp-stack { display: flex; flex-direction: column; gap: 18px; }
.frp-stack.frp-gap-s { gap: 10px; }
.frp-stack.frp-gap-l { gap: 48px; }
.frp-stack.frp-gap-xl { gap: 56px; }
.frp-grid-2, .frp-grid-3, .frp-grid-4, .frp-split { display: grid; gap: 24px; }
.frp-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 28px; }
.frp-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.frp-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); }
.frp-split { grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 48px; align-items: center; }
.frp-center { text-align: center; align-items: center; }

/* ---------- Tipografía ---------- */
.frp-eyebrow { font-family: var(--frp-raleway); font-weight: 700; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--frp-oro-oscuro); }
.frp-title { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(30px, 4vw, 46px); line-height: 1.15; }
.frp-title strong { font-weight: 700; color: var(--frp-verde); }
.frp-subtitle { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.25; }
.frp-subtitle strong { font-weight: 700; color: var(--frp-verde); }
.frp-lead { font-size: 18px; line-height: 1.65; color: var(--frp-texto-suave); }
.frp-lead-dark { font-size: 19px; line-height: 1.65; color: var(--frp-texto); }
.frp-body { font-size: 17px; line-height: 1.7; color: var(--frp-texto-suave); }
.frp-small { font-size: 13px; line-height: 1.6; color: var(--frp-gris); }
.frp-h3 { font-family: var(--frp-raleway); font-weight: 700; font-size: 22px; line-height: 1.25; }
.frp-more a { font-weight: 500; font-size: 16px; text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; }
.frp-more a:hover { text-decoration: underline; }
.frp-plus { font-size: 1.9em; line-height: 0.8; font-weight: 300; color: var(--frp-oro-medio); vertical-align: -0.12em; margin-right: 4px; }

/* ---------- Botones ---------- */
.wp-block-button .wp-block-button__link { font-family: var(--frp-rubik); min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center; text-decoration: none; }
.frp-btn-verde .wp-block-button__link { background: var(--frp-verde); color: #fff; }
.frp-btn-verde .wp-block-button__link:hover { background: var(--frp-verde-oscuro); color: #fff; }
.frp-btn-oro .wp-block-button__link:hover { background: #CDB985; color: var(--frp-texto); }

/* ---------- Cabecera ---------- */
.frp-header { background: var(--frp-arena); }
.frp-header-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; }
.frp-logo img { height: 92px; width: auto; display: block; }
.frp-nav { font-family: var(--frp-raleway); font-weight: 600; font-size: 15px; letter-spacing: 0.02em; gap: 8px 28px; }
.frp-nav .wp-block-navigation-item__content { color: var(--frp-texto); text-decoration: none; padding: 10px 0; border-bottom: 2px solid transparent; }
.frp-nav .wp-block-navigation-item__content:hover,
.frp-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--frp-verde); border-bottom-color: var(--frp-verde); }
.frp-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--frp-arena); color: var(--frp-texto); padding: 32px 24px; }
.frp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 22px; }

/* ---------- Inicio: portada ---------- */
.frp-hero-home {
	position: relative; color: #fff; padding: 140px 24px 160px; min-height: 720px; box-sizing: border-box; display: flex; align-items: center;
	background: linear-gradient(90deg, rgba(47,58,42,0) 25%, rgba(47,58,42,0.55) 48%, rgba(47,58,42,0.9) 70%), url(../img/hero-inicio.jpg) 30% center / cover no-repeat var(--frp-verde-oscuro);
}
.frp-hero-home > .frp-wrap { display: flex; justify-content: flex-end; }
.frp-hero-home .frp-hero-content { max-width: 560px; gap: 24px; text-shadow: 0 1px 12px rgba(0,0,0,0.35); }
.frp-hero-home .frp-tagline { font-family: var(--frp-raleway); font-weight: 700; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.3; color: #fff; }
.frp-hero-home .frp-plus { color: var(--frp-oro); }
.frp-hero-home h1 { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(40px, 6vw, 72px); line-height: 1.05; letter-spacing: -0.01em; color: #fff; }
.frp-hero-home h1 strong { font-weight: 700; color: #C9D7BC; }
.frp-hero-home .frp-hero-text { font-size: 19px; line-height: 1.6; color: #E4E8DE; }
.frp-hero-home .wp-block-buttons { margin-top: 8px; }

/* ---------- Valores ---------- */
.frp-valor { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 8px 16px; }
.frp-circle img { width: 168px; height: 168px; border-radius: 50%; object-fit: cover; display: block; outline: 3px solid var(--frp-salvia); outline-offset: 7px; margin: 10px 0 12px; }
.frp-circle.frp-circle-oro img { outline-color: var(--frp-oro); }
.frp-valor p { font-size: 16px; line-height: 1.6; color: var(--frp-texto-suave); }

/* ---------- Ejes y tarjetas numeradas ---------- */
.frp-eje { border-top: 2px solid #D6D1C2; padding: 20px 4px 0; display: flex; flex-direction: column; gap: 8px; }
.frp-eje .frp-eje-titulo { font-family: var(--frp-raleway); font-weight: 700; font-size: 20px; color: var(--frp-texto); }
.frp-eje p:not(.frp-eje-titulo) { font-size: 16px; line-height: 1.6; color: var(--frp-texto-suave); }
.frp-eje.frp-eje-activo { border-top-color: var(--frp-verde); }
.frp-eje.frp-eje-activo .frp-eje-titulo { color: var(--frp-verde); }
.frp-card { background: #fff; border: 1px solid var(--frp-linea); border-top: 4px solid var(--frp-verde); border-radius: 20px; padding: 36px 32px; display: flex; flex-direction: column; gap: 16px; }
.frp-card.frp-card-oro { border-top-color: var(--frp-oro); }
.frp-card.frp-card-oscuro { border-top-color: var(--frp-verde-oscuro); }
.frp-card h3 { font-family: var(--frp-raleway); font-weight: 700; font-size: 23px; line-height: 1.25; }
.frp-card p:not(.frp-num):not(.frp-more) { font-size: 16px; line-height: 1.65; color: var(--frp-texto-suave); flex: 1; }
.frp-num { font-family: var(--frp-raleway); font-weight: 300; font-size: 48px; line-height: 1; color: var(--frp-salvia); }
.frp-card-oro .frp-num { color: #C2AE7C; }
.frp-card-oscuro .frp-num { color: #6E7F63; }

/* ---------- Tarjetas de proyecto (inicio) ---------- */
.frp-bg-piedra { background: var(--frp-piedra); }
.frp-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.frp-proj-card { background: #fff; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
.frp-proj-card .wp-block-image img { width: 100%; height: 260px; object-fit: cover; display: block; }
.frp-proj-body { padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.frp-proj-body h3 { font-family: var(--frp-raleway); font-weight: 700; font-size: 26px; line-height: 1.2; }
.frp-proj-body p:not(.frp-more) { font-size: 16px; line-height: 1.6; color: var(--frp-texto-suave); }

/* Pie de foto con el crédito sobre la imagen */
.frp-credit { position: relative; }
.frp-credit figcaption { position: absolute; right: 12px; bottom: 10px; margin: 0; font-size: 12px; color: #fff; background: rgba(0,0,0,0.45); padding: 3px 8px; border-radius: 6px; }

/* ---------- Última noticia (inicio) ---------- */
.frp-news-home .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.frp-news-home .wp-block-post { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 48px; align-items: center; }
.frp-news-home .wp-block-post-title { font-family: var(--frp-raleway); font-weight: 600; font-size: clamp(26px, 3vw, 36px); line-height: 1.2; }
.frp-news-home .wp-block-post-title a { color: var(--frp-texto); text-decoration: none; }
.frp-news-home .wp-block-post-excerpt__excerpt { font-size: 17px; line-height: 1.65; color: var(--frp-texto-suave); margin: 0; }
.frp-news-home .wp-block-post-excerpt__more-text { margin: 12px 0 0; }
.frp-news-home .wp-block-post-excerpt__more-link { font-weight: 500; text-decoration: none; }
.frp-news-home .wp-block-post-featured-image { margin: 0; }
.frp-news-home .wp-block-post-featured-image img { width: 100%; height: 400px; object-fit: cover; border-radius: 24px; display: block; }

/* ---------- Banda «Colabora» ---------- */
.frp-colabora-box { max-width: 1240px; margin-inline: auto; background: var(--frp-verde); color: #fff; border-radius: 32px; padding: clamp(40px, 6vw, 80px); box-sizing: border-box; display: flex; flex-direction: column; gap: 40px; }
.frp-colabora-box .frp-colabora-kicker { font-family: var(--frp-raleway); font-weight: 700; font-size: 18px; color: #E8DCBC; }
.frp-colabora-box h2 { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(30px, 4vw, 46px); line-height: 1.15; color: #fff; }
.frp-colabora-box h2 strong { font-weight: 700; }
.frp-colabora-box p:not(.frp-colabora-kicker) { font-size: 18px; line-height: 1.65; color: #E4E8DE; }

/* ---------- Pie ---------- */
.frp-footer { background: #fff; border-top: 1px solid var(--frp-linea); padding: 64px 24px 40px; }
.frp-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
.frp-footer-logo img { height: 160px; width: auto; display: block; }
.frp-footer-label { font-family: var(--frp-raleway); font-weight: 700; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--frp-oro-oscuro); }
.frp-footer-col { display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.frp-footer-col a { color: var(--frp-texto); text-decoration: none; }
.frp-footer-col a:hover { color: var(--frp-verde); text-decoration: underline; }
.frp-footer-col .frp-mail a { color: var(--frp-verde); }
.frp-social { gap: 12px; margin: 4px 0 0; }
.frp-social .wp-social-link { background: transparent !important; color: var(--frp-verde) !important; border: 1.5px solid var(--frp-verde); border-radius: 50%; }
.frp-social .wp-social-link a { padding: 10px; }
.frp-social .wp-social-link svg { width: 20px; height: 20px; fill: currentColor; }
.frp-social .wp-social-link:hover { background: var(--frp-verde) !important; color: #fff !important; }
.frp-footer-bottom { border-top: 1px solid var(--frp-linea); margin-top: 40px; padding-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--frp-gris); }
.frp-footer-bottom a { color: var(--frp-gris); text-decoration: none; }
.frp-footer-bottom a:hover { text-decoration: underline; }

/* ---------- La Fundación: cabecera con pentagramas ---------- */
.frp-hero-fund { background: #F6F2E6 url(../img/pentagramas.svg) center / cover no-repeat; padding: 104px 24px 96px; border-bottom: 1px solid var(--frp-linea); }
.frp-hero-title { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(40px, 5.5vw, 64px); line-height: 1.08; }
.frp-hero-title strong { font-weight: 700; color: var(--frp-verde); }
.frp-hero-fund .frp-tagline { font-family: var(--frp-raleway); font-weight: 700; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.3; }

/* ---------- Desplegables (bloque «Detalles») ---------- */
.frp-accordion { counter-reset: frpacc; display: flex; flex-direction: column; gap: 20px; }
.frp-acc { counter-increment: frpacc; background: #fff; border: 1px solid var(--frp-linea); border-radius: 20px; overflow: hidden; }
.frp-acc > summary { list-style: none; cursor: pointer; min-height: 88px; padding: 24px 32px; box-sizing: border-box; display: flex; align-items: center; gap: 18px; font-family: var(--frp-raleway); font-weight: 700; font-size: clamp(22px, 2.4vw, 28px); color: var(--frp-texto); }
.frp-acc > summary::-webkit-details-marker { display: none; }
.frp-acc > summary::before { content: counter(frpacc, decimal-leading-zero); font-weight: 300; font-size: 1.2em; color: var(--frp-salvia); }
.frp-acc > summary::after { content: "+"; margin-left: auto; flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--frp-verde); color: var(--frp-verde); display: inline-flex; align-items: center; justify-content: center; font-size: 26px; font-weight: 300; line-height: 1; }
.frp-acc[open] > summary { background: #F7F5EE; }
.frp-acc[open] > summary::after { content: "−"; }
.frp-acc:nth-child(2) > summary::before { color: #C2AE7C; }
.frp-acc:nth-child(3) > summary::before { color: #6E7F63; }
.frp-acc-body { padding: 8px 32px 40px; display: flex; flex-direction: column; gap: 28px; font-size: 17px; line-height: 1.7; color: var(--frp-texto-suave); }
.frp-acc-body h3 { font-family: var(--frp-raleway); font-weight: 700; font-size: 20px; color: var(--frp-texto); }
.frp-mini-card { background: var(--frp-piedra); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.frp-mini-card .frp-mini-title { font-family: var(--frp-raleway); font-weight: 700; font-size: 18px; color: var(--frp-verde); }
.frp-mini-card p:not(.frp-mini-title) { font-size: 16px; line-height: 1.6; color: var(--frp-texto); }
.frp-patronato { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 8px 32px; font-size: 16px; }
.frp-patronato strong { color: var(--frp-texto); }
.frp-bio { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: start; }
.frp-bio-photo img { width: 200px; height: 240px; object-fit: cover; border-radius: 16px; display: block; }
.frp-bio-lead { font-family: var(--frp-raleway); font-size: 21px; line-height: 1.5; color: var(--frp-texto); }
.frp-bio strong { color: var(--frp-verde); font-weight: 600; }
.frp-acc .frp-circle img { width: 140px; height: 140px; outline-offset: 6px; margin: 8px 0 10px; }
.frp-acc .frp-valor { padding: 0; gap: 12px; }
.frp-acc .frp-valor h3 { font-size: 20px; }
.frp-acc .frp-valor p { font-size: 15px; }
.frp-mision-claim { font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; color: var(--frp-texto); }
.frp-mision-claim strong { font-weight: 700; color: var(--frp-verde); }

/* ---------- Proyectos: cabecera con ilustración ---------- */
.frp-hero-proy { background: linear-gradient(180deg, #F1EEE3 0%, #F6F4EC 45%, #FBFAF6 100%); padding: 88px 24px 80px; border-bottom: 1px solid var(--frp-linea); }
.frp-hero-split { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 48px; }
.frp-hero-split > .frp-stack { flex: 1 1 min(520px, 100%); max-width: 680px; }
.frp-hero-circle { position: relative; flex: none; width: 300px; height: 300px; margin: 0 auto !important; display: flex; align-items: center; justify-content: center; }
.frp-hero-circle::before, .frp-hero-circle::after { content: ""; position: absolute; border-radius: 50%; border: 1.5px solid var(--frp-oro); pointer-events: none; }
.frp-hero-circle::before { inset: 0; }
.frp-hero-circle::after { inset: 16px; border-width: 1px; opacity: 0.6; }
.frp-hero-circle img { width: 230px; height: 230px; border-radius: 50%; object-fit: cover; display: block; }

/* ---------- Proyectos: pestañas ---------- */
.frp-tabs { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 56px; align-items: start; }
.frp-tabs-nav { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 14px; }
.frp-tabs-list { counter-reset: frptab; display: flex; flex-direction: column; align-items: stretch; gap: 14px; }
.frp-tab { counter-increment: frptab; width: 100%; }
.frp-tab .wp-block-button__link { width: 100%; min-height: 104px; padding: 24px; box-sizing: border-box; border: 1.5px solid #DED7C4; border-radius: 18px; background: #fff; color: var(--frp-texto); text-align: left; display: flex; align-items: center; gap: 16px; font-family: var(--frp-raleway); font-weight: 700; font-size: 20px; line-height: 1.3; box-shadow: 0 2px 6px rgba(47,58,42,0.06); }
.frp-tab .wp-block-button__link::before { content: counter(frptab, decimal-leading-zero); font-weight: 300; font-size: 34px; line-height: 1; color: var(--frp-salvia); }
.frp-tab .wp-block-button__link::after { content: "→"; margin-left: auto; font-size: 22px; color: var(--frp-salvia); }
.frp-tab .wp-block-button__link:hover { border-color: var(--frp-verde); color: var(--frp-texto); }
.frp-tab.is-active .wp-block-button__link { background: var(--frp-verde); border-color: var(--frp-verde); color: #fff; box-shadow: 0 10px 24px rgba(47,58,42,0.22); }
.frp-tab.is-active .wp-block-button__link::before,
.frp-tab.is-active .wp-block-button__link::after { color: var(--frp-oro); }
.frp-panels { min-width: 0; display: flex; flex-direction: column; gap: 96px; }
.frp-tabs.is-ready .frp-panels { gap: 0; }
.frp-panel { display: flex; flex-direction: column; gap: 56px; scroll-margin-top: 24px; }
.frp-panel[hidden] { display: none; }
.frp-photo img { width: 100%; height: 360px; object-fit: cover; border-radius: 24px; display: block; }
.frp-stat { background: #fff; border: 1px solid var(--frp-linea); border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 6px; }
.frp-stat .frp-stat-num { font-family: var(--frp-raleway); font-weight: 700; font-size: 40px; line-height: 1; color: var(--frp-verde); }
.frp-stat .frp-stat-num.frp-stat-txt { font-size: 28px; line-height: 1.15; }
.frp-stat p:not(.frp-stat-num) { font-size: 15px; line-height: 1.5; color: var(--frp-texto-suave); }
.frp-quote { border-left: 4px solid var(--frp-oro); padding: 8px 0 8px 28px; font-family: var(--frp-raleway); font-weight: 300; font-size: clamp(24px, 2.8vw, 32px); line-height: 1.35; color: var(--frp-texto); }
.frp-quote strong { font-weight: 700; color: var(--frp-verde); }
.frp-logo-card { background: #fff; border: 1px solid var(--frp-linea); border-radius: 28px; padding: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 40px; align-items: center; }
.frp-logo-card > .frp-stack:first-child { align-items: flex-start; gap: 24px; }
.frp-logo-lova img { width: 100%; max-width: 420px; display: block; }
.frp-logo-rtr img { width: 130px; display: block; }
.frp-logo-card .frp-subtitle { font-size: clamp(26px, 3vw, 34px); }
.frp-logo-card .frp-subtitle strong { color: var(--frp-texto); }
.frp-ministats { display: flex; flex-wrap: wrap; gap: 28px; padding-top: 8px; }
.frp-ministat { display: flex; flex-direction: column; }
.frp-ministat .frp-ministat-num { font-family: var(--frp-raleway); font-weight: 700; font-size: 30px; color: var(--frp-verde); }
.frp-ministat p:not(.frp-ministat-num) { font-size: 14px; color: var(--frp-gris); }

.frp-panel .frp-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 14px; }
.frp-panel .frp-stat { padding: 24px; }

/* ---------- Actualidad (listado y noticia) ---------- */
.frp-hero-news { background: linear-gradient(180deg, #F1EEE3 0%, #F6F4EC 55%, #FBFAF6 100%); padding: 64px 24px 24px; }
.frp-hero-news .frp-article { gap: 22px; }
.frp-article { width: 100%; max-width: 860px; margin-inline: auto; }
.frp-hero-news .wp-block-post-date, .frp-hero-news .frp-eyebrow { font-family: var(--frp-raleway); font-weight: 700; font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--frp-oro-oscuro); }
.frp-hero-news h1 { font-family: var(--frp-raleway); font-weight: 700; font-size: clamp(32px, 4.4vw, 50px); line-height: 1.12; }
.frp-hero-news .wp-block-post-excerpt__excerpt { font-size: 20px; line-height: 1.6; color: var(--frp-texto-suave); margin: 0; }
.frp-article-body { padding: 32px 24px 112px; }
.frp-article-body .wp-block-post-featured-image { margin: 0 0 40px; }
.frp-article-body .wp-block-post-featured-image img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 24px; display: block; }
.frp-prose { font-size: 18px; line-height: 1.75; color: var(--frp-texto-suave); }
.frp-prose > * { margin: 0; }
.frp-prose > * + * { margin-top: 1.1em; }
.frp-prose h2 { font-family: var(--frp-raleway); font-weight: 700; font-size: 26px; line-height: 1.25; color: var(--frp-texto); margin-top: 1.6em; }
.frp-prose h3 { font-family: var(--frp-raleway); font-weight: 700; font-size: 21px; color: var(--frp-texto); margin-top: 1.4em; }
.frp-prose strong { color: var(--frp-texto); font-weight: 500; }
.frp-prose .wp-block-image img { border-radius: 20px; }
.frp-destacados { list-style: none; padding: 28px 32px !important; background: var(--frp-piedra); border-radius: 20px; display: flex; flex-direction: column; gap: 14px; font-size: 17px; line-height: 1.6; color: var(--frp-texto); }
.frp-destacados li { position: relative; padding-left: 28px; }
.frp-destacados li::before { content: "♪"; position: absolute; left: 0; color: var(--frp-oro-medio); font-weight: 700; }
.frp-article-foot { border-top: 1px solid var(--frp-linea); margin-top: 40px; padding-top: 28px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.frp-news-grid .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 28px; }
.frp-news-card { background: #fff; border: 1px solid var(--frp-linea); border-radius: 24px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.frp-news-card .wp-block-post-featured-image { margin: 0; }
.frp-news-card .wp-block-post-featured-image img { width: 100%; height: 240px; object-fit: cover; display: block; }
.frp-news-card .frp-news-card-body { padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.frp-news-card .wp-block-post-date { font-family: var(--frp-raleway); font-weight: 700; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--frp-oro-oscuro); }
.frp-news-card .wp-block-post-title { font-family: var(--frp-raleway); font-weight: 700; font-size: 22px; line-height: 1.25; }
.frp-news-card .wp-block-post-title a { color: var(--frp-texto); text-decoration: none; }
.frp-news-card .wp-block-post-excerpt__excerpt { margin: 0; font-size: 16px; color: var(--frp-texto-suave); }
.frp-news-card .wp-block-post-excerpt__more-text { margin: 10px 0 0; }
.frp-news-card .wp-block-post-excerpt__more-link { font-weight: 500; text-decoration: none; }

/* ---------- Páginas de texto normales (aviso legal, privacidad…) ---------- */
.frp-main:has(.frp-section, .frp-hero-home, .frp-hero-fund, .frp-hero-proy) .frp-page-title { display: none; }
.frp-page-title { max-width: 860px; margin: 0 auto; padding: 72px 24px 24px; font-family: var(--frp-raleway); font-weight: 700; font-size: clamp(32px, 4vw, 46px); }
.frp-page-content > :is(p, h2, h3, h4, ul, ol, blockquote, .wp-block-image, .wp-block-table) { max-width: 860px; margin: 0 auto 1.1em; padding-inline: 24px; box-sizing: border-box; font-size: 17px; line-height: 1.7; }
.frp-page-content > :is(h2, h3, h4) { margin-top: 1.6em; }
.frp-page-content > :last-child:not(.frp-section) { margin-bottom: 96px; }

/* ---------- Móvil y tableta ---------- */
@media (max-width: 960px) {
	.frp-tabs { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.frp-tabs-nav { position: static; }
	.frp-tab .wp-block-button__link { min-height: 80px; font-size: 18px; padding: 18px 20px; }
}
@media (max-width: 782px) {
	.frp-logo img { height: 64px; }
	.frp-hero-home { min-height: 560px; padding: 96px 20px 96px; background: linear-gradient(180deg, rgba(47,58,42,0.35) 0%, rgba(47,58,42,0.85) 55%, rgba(47,58,42,0.95) 100%), url(../img/hero-inicio.jpg) 30% center / cover no-repeat var(--frp-verde-oscuro); align-items: flex-end; }
	.frp-bio { grid-template-columns: minmax(0, 1fr); }
	.frp-acc > summary { padding: 20px; font-size: 20px; }
	.frp-acc-body { padding: 8px 20px 32px; }
	.frp-section { padding-left: 20px; padding-right: 20px; }
	.frp-photo img, .frp-news-home .wp-block-post-featured-image img { height: 260px; }
	.frp-split, .frp-grid-2, .frp-logo-card, .frp-news-home .wp-block-post { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Ancho completo de las secciones (web y editor) ---------- */
:is(.frp-hero-home, .frp-hero-fund, .frp-hero-proy, .frp-hero-news, .frp-section, .frp-header, .frp-footer, .frp-article-body) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}
.frp-tab .wp-block-button__link::before { white-space: nowrap; flex: none; }
