/*
Theme Name: ProFondo
Theme URI: https://example.com/profondo
Author: gvelarde
Author URI: https://example.com
Description: Tema acompañante (opcional) para el plugin Mi Actividad ProFondo. Diseño cálido y solidario, mobile-first. El plugin funciona con cualquier tema; este solo aporta una capa visual coherente.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: profondo
Tags: blog, custom-menu, featured-images, full-width-template, translation-ready
*/

:root {
	--pf-c1: #0f766e;
	--pf-c2: #14b8a6;
	--pf-coral: #fb7185;
	--pf-coral-2: #f97316;
	--pf-ink: #1f2937;
	--pf-muted: #6b7280;
	--pf-line: #e5e7eb;
	--pf-bg: #f6f8fa;
	--pf-card: #ffffff;
	--pf-radius: 16px;
	--pf-shadow: 0 6px 24px rgba(15, 23, 42, .08);
	--pf-font: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--pf-display: "Poppins", var(--pf-font);
}

* { box-sizing: border-box; }

body.profondo {
	margin: 0;
	font-family: var(--pf-font);
	color: var(--pf-ink);
	background: var(--pf-bg);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--pf-c1); }

h1, h2, h3, h4 { font-family: var(--pf-display); line-height: 1.2; color: var(--pf-ink); }

/* Header */
.pf-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: linear-gradient(120deg, var(--pf-c1), var(--pf-c2));
	color: #fff;
	box-shadow: var(--pf-shadow);
}
.pf-header-inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.pf-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--pf-display);
	font-weight: 800;
	font-size: 19px;
	color: #fff;
	text-decoration: none;
}
.pf-brand .pf-heart { font-size: 22px; }
.pf-brand img { max-height: 40px; width: auto; display: block; }

.pf-nav { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pf-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; flex-wrap: wrap; }
.pf-nav a {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 14.5px;
	padding: 8px 14px;
	border-radius: 999px;
	transition: background .15s ease;
	display: inline-block;
}
.pf-nav a:hover, .pf-nav .current-menu-item > a { background: rgba(255, 255, 255, .18); }

.pf-menu-toggle {
	display: none;
	background: rgba(255,255,255,.18);
	border: 0;
	color: #fff;
	width: 42px; height: 42px;
	border-radius: 12px;
	font-size: 20px;
	cursor: pointer;
}

/* Main */
.pf-main { max-width: 1080px; margin: 0 auto; padding: 26px 18px 60px; min-height: 50vh; }

.pf-article {
	background: var(--pf-card);
	border: 1px solid var(--pf-line);
	border-radius: var(--pf-radius);
	box-shadow: var(--pf-shadow);
	padding: 26px;
	margin-bottom: 22px;
}
.pf-article h1.entry-title, .pf-article h2.entry-title { margin-top: 0; }
.pf-thumb { width: 100%; border-radius: 12px; margin-bottom: 16px; display: block; object-fit: cover; }
.pf-content > * + * { margin-top: 1em; }
.pf-content img { max-width: 100%; height: auto; border-radius: 12px; }

/* Full-width para páginas del plugin (shortcodes) */
.page-template .pf-main, .pf-flush .pf-main { max-width: 1080px; }

/* Footer */
.pf-footer {
	background: var(--pf-ink);
	color: #e5e7eb;
	text-align: center;
	padding: 30px 18px;
	font-size: 14px;
}
.pf-footer .pf-foot-brand { font-family: var(--pf-display); font-weight: 800; color: #fff; font-size: 17px; }
.pf-footer a { color: #5eead4; text-decoration: none; }
.pf-footer .pf-legal { color: #94a3b8; font-size: 12.5px; margin-top: 8px; max-width: 640px; margin-left: auto; margin-right: auto; }

/* 404 */
.pf-404 { text-align: center; padding: 60px 18px; }
.pf-404 .pf-big { font-family: var(--pf-display); font-weight: 800; font-size: 80px; color: var(--pf-c2); line-height: 1; }
.pf-btn {
	display: inline-block;
	background: linear-gradient(120deg, var(--pf-c1), var(--pf-c2));
	color: #fff;
	text-decoration: none;
	font-family: var(--pf-display);
	font-weight: 700;
	padding: 12px 22px;
	border-radius: 12px;
	margin-top: 14px;
}

@media (max-width: 700px) {
	.pf-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
	.pf-nav {
		display: none;
		width: 100%;
		order: 3;
		padding-top: 8px;
	}
	.pf-nav.is-open { display: block; }
	.pf-nav ul { flex-direction: column; gap: 2px; }
	.pf-nav a { display: block; }
	.pf-header-inner { flex-wrap: wrap; }
}
