/*
Theme Name: Marigold
Description: Tema clásico y cálido para sitios de contenido en español: barra lateral derecha, cabecera fija con menús desplegables, listas en filas con miniaturas y detalles de líneas inspirados en azulejos mexicanos.
*/

/* ============================================================
   1. Base y variables
   ============================================================ */

:root {
	--bg: #f8f1e5;
	--fg: #2f2a25;
	--muted: #857669;
	--border: #e7d8c2;
	--radius: 12px;
	--shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	--accent: #c0532f;
	--accent-strong: #9e3f20;
	--card: #fffaf1;
	--gold: #d9a13b;
	--agave: #4a7a5c;
	--sidebar-w: 340px;
	--gap: 16px;
	--content-max: 1200px;
	--media-ratio: 16 / 9;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	padding: 0;
	background-color: var(--bg);
	color: var(--fg);
	font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: var(--accent-strong);
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.3;
	font-weight: 700;
	margin: 0 0 0.6em;
	color: var(--fg);
}

h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }

p {
	margin: 0 0 1.1em;
}

ul, ol {
	margin: 0 0 1.1em;
	padding-left: 1.4em;
}

blockquote {
	margin: 1.4em 0;
	padding: 0.2em 0 0.2em 1.2em;
	border-left: 4px solid var(--gold);
	background: var(--card);
	border-radius: 0 var(--radius) var(--radius) 0;
	color: var(--fg);
	font-style: italic;
}

code, pre {
	font-family: Consolas, 'Courier New', monospace;
	font-size: 0.92em;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 6px;
}

code { padding: 0.1em 0.35em; }

pre {
	padding: 1em;
	overflow-x: auto;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.4em;
	background: var(--card);
}

th, td {
	padding: 0.6em 0.8em;
	border: 1px solid var(--border);
	text-align: left;
}

th {
	background: var(--bg);
}

.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;
}

/* ============================================================
   2. Cabecera (fija, logo izquierda, menú derecha)
   ============================================================ */

.pfyun-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: var(--card);
	border-bottom: 1px solid var(--border);
}

body.admin-bar .pfyun-header {
	top: 32px;
}

.pfyun-header.is-scrolled {
	box-shadow: var(--shadow);
}

.pfyun-header-inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0.7rem 1.25rem;
	display: flex;
	align-items: center;
	gap: 1rem;
}

.pfyun-brand {
	margin-right: auto;
	display: flex;
	align-items: center;
	min-width: 0;
}

.pfyun-site-name {
	margin: 0;
	font-size: 1.3rem;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.pfyun-site-name a {
	color: var(--fg);
	text-decoration: none;
	border-bottom: 3px solid var(--gold);
}

.pfyun-site-name a:hover,
.pfyun-site-name a:focus {
	color: var(--accent);
}

.pfyun-brand .custom-logo-link img {
	max-height: 56px;
	width: auto;
}

/* Navegación principal */

.pfyun-nav {
	display: flex;
	align-items: center;
}

.pfyun-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.15rem;
}

.pfyun-menu li {
	position: relative;
	margin: 0;
}

.pfyun-menu a {
	display: block;
	padding: 0.55rem 0.8rem;
	color: var(--fg);
	text-decoration: none;
	font-weight: 600;
	border-radius: 8px;
	white-space: nowrap;
}

.pfyun-menu a:hover,
.pfyun-menu a:focus {
	background: var(--bg);
	color: var(--accent-strong);
}

.pfyun-menu .current-menu-item > a,
.pfyun-menu .current-menu-ancestor > a {
	color: var(--accent);
}

.pfyun-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0.4rem;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 250px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	display: none;
	z-index: 95;
}

.pfyun-menu li:hover > .sub-menu,
.pfyun-menu li:focus-within > .sub-menu,
.pfyun-menu li.is-open > .sub-menu {
	display: block;
}

.pfyun-menu .sub-menu a {
	padding: 0.45rem 0.7rem;
	font-weight: 500;
	white-space: normal;
}

.pfyun-sub-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--muted);
	font: inherit;
	line-height: 1;
}

.pfyun-nav-toggle {
	display: none;
	background: none;
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 0.45rem 0.6rem;
	cursor: pointer;
	color: var(--fg);
}

.pfyun-nav-toggle svg {
	display: block;
}

/* Búsqueda: botón de icono + panel desplegable */

.pfyun-search {
	position: relative;
	display: flex;
	align-items: center;
}

.pfyun-search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--accent);
	color: #fff;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.pfyun-search-toggle:hover,
.pfyun-search-toggle:focus {
	background: var(--accent-strong);
}

.pfyun-search-panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: min(320px, 86vw);
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 0.9rem;
	z-index: 96;
}

/* ============================================================
   3. Formulario de búsqueda (clases fijas)
   ============================================================ */

.search-form {
	display: flex;
	gap: 0.5rem;
	margin: 0;
}

.search-field {
	flex: 1;
	min-width: 0;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #fff;
	color: var(--fg);
	font: inherit;
	font-size: 0.95rem;
}

.search-field:focus {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
	border-color: var(--accent);
}

.search-submit {
	padding: 0.55rem 1.1rem;
	background: var(--accent);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.search-submit:hover,
.search-submit:focus {
	background: var(--accent-strong);
}

/* ============================================================
   4. Estructura principal (contenido + barra lateral derecha)
   ============================================================ */

.pfyun-shell {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 1.6rem 1.25rem 3rem;
	overflow-x: hidden;
}

/* Palabras largas: cortar sin romper tablas ni diseño */

.pfyun-content p,
.pfyun-content li,
.pfyun-title,
.pfyun-row-title,
.pfyun-hero-title,
.pfyun-rcard-title,
.pfyun-feed-title {
	overflow-wrap: break-word;
}

/* Tablas del contenido: desplazamiento propio en pantallas angostas */

.pfyun-table-wrap {
	overflow-x: auto;
	margin: 0 0 1.4em;
}

.pfyun-table-wrap table {
	margin-bottom: 0;
}

.pfyun-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--sidebar-w);
	gap: 2.5rem;
	align-items: start;
}

.pfyun-main {
	min-width: 0;
}

/* Migas de pan (clases fijas: .breadcrumb, .crumb, .trail) */

.breadcrumb {
	font-size: 0.85rem;
	color: var(--muted);
	margin-bottom: 1.2rem;
}

.trail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.crumb {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.crumb + .crumb::before {
	content: '›';
	color: var(--gold);
	font-weight: 700;
}

a.crumb {
	color: var(--muted);
	text-decoration: none;
	border-bottom: 1px dashed var(--border);
}

a.crumb:hover,
a.crumb:focus {
	color: var(--accent);
}

/* ============================================================
   5. Hero de portada (destacado, texto a la izquierda)
   ============================================================ */

.pfyun-hero {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	margin-bottom: 2rem;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: stretch;
}

.pfyun-hero-media {
	margin: 0;
	min-height: 280px;
}

.pfyun-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pfyun-hero-body {
	padding: 2.2rem 2.4rem;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-top: 6px solid transparent;
	border-image: repeating-linear-gradient(
		-45deg,
		var(--accent) 0 14px,
		var(--gold) 14px 28px,
		var(--agave) 28px 42px
	) 6;
}

.pfyun-hero-kicker {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

.pfyun-hero-title {
	font-size: 1.9rem;
	margin-bottom: 0.6rem;
}

.pfyun-hero-title a {
	color: var(--fg);
	text-decoration: none;
}

.pfyun-hero-title a:hover,
.pfyun-hero-title a:focus {
	color: var(--accent);
}

.pfyun-hero-excerpt {
	color: var(--muted);
	margin-bottom: 1.2rem;
}

.pfyun-btn {
	display: inline-block;
	align-self: flex-start;
	padding: 0.65rem 1.4rem;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border-radius: var(--radius);
	border: 0;
	cursor: pointer;
}

.pfyun-btn:hover,
.pfyun-btn:focus {
	background: var(--accent-strong);
	color: #fff;
}

/* ============================================================
   6. Lista de entradas: filas horizontales con miniatura
   ============================================================ */

.pfyun-feed-title {
	font-size: 1.35rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px dashed var(--gold);
	margin-bottom: 1.2rem;
}

.pfyun-feed {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
}

.pfyun-row {
	display: flex;
	gap: 1.2rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 1rem;
	align-items: center;
}

.pfyun-row-thumb {
	flex: 0 0 210px;
	border-radius: calc(var(--radius) - 4px);
	overflow: hidden;
}

.pfyun-row-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: var(--media-ratio);
	object-fit: cover;
}

.pfyun-row-body {
	min-width: 0;
}

.pfyun-row-title {
	font-size: 1.2rem;
	margin-bottom: 0.25rem;
}

.pfyun-row-title a {
	color: var(--fg);
	text-decoration: none;
}

.pfyun-row-title a:hover,
.pfyun-row-title a:focus {
	color: var(--accent);
}

.pfyun-meta {
	font-size: 0.85rem;
	color: var(--muted);
	margin: 0 0 0.45rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: baseline;
}

.pfyun-meta .pfyun-meta-sep {
	color: var(--gold);
	font-weight: 700;
}

.pfyun-meta a {
	color: var(--muted);
}

.pfyun-meta a:hover,
.pfyun-meta a:focus {
	color: var(--accent);
}

.pfyun-excerpt {
	margin: 0;
	color: var(--muted);
	font-size: 0.97rem;
}

/* Paginación */

.pfyun-pagination,
.pagination {
	margin-top: 2rem;
}

.pfyun-pagination .nav-links,
.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
}

.pfyun-pagination .page-numbers,
.pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	text-align: center;
	padding: 0.4rem 0.7rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--fg);
	text-decoration: none;
	font-weight: 600;
}

.pfyun-pagination .page-numbers:hover,
.pagination .page-numbers:hover,
.pfyun-pagination .page-numbers:focus,
.pagination .page-numbers:focus {
	border-color: var(--accent);
	color: var(--accent);
}

.pfyun-pagination .page-numbers.current,
.pagination .page-numbers.current {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

/* ============================================================
   7. Entrada individual y página
   ============================================================ */

.pfyun-article {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 2rem 2.2rem;
}

.pfyun-single-head {
	margin-bottom: 1.4rem;
	padding-bottom: 1rem;
	border-bottom: 2px dashed var(--gold);
}

.pfyun-title {
	font-size: 2rem;
	margin-bottom: 0.4rem;
}

.pfyun-featured {
	margin: 0 0 1.6rem;
	border-radius: var(--radius);
	overflow: hidden;
}

.pfyun-featured img {
	width: 100%;
}

.pfyun-content {
	font-size: 1rem;
}

.pfyun-content h2 {
	margin-top: 1.8em;
	padding-left: 0.6rem;
	border-left: 4px solid var(--accent);
}

.pfyun-content h3 {
	margin-top: 1.6em;
}

.pfyun-content img {
	border-radius: 8px;
}

.pfyun-content .alignleft {
	float: left;
	margin: 0.3em 1.2em 0.8em 0;
}

.pfyun-content .alignright {
	float: right;
	margin: 0.3em 0 0.8em 1.2em;
}

.pfyun-content .aligncenter {
	margin: 0 auto 1.2em;
}

.pfyun-content .wp-caption {
	max-width: 100%;
}

.pfyun-content .wp-caption-text,
.pfyun-content figcaption {
	font-size: 0.85rem;
	color: var(--muted);
	text-align: center;
	padding-top: 0.4em;
}

/* Nota del artículo: después del cuerpo, antes de las etiquetas */

.pfyun-note {
	margin: 1.8rem 0;
	padding: 0.9rem 1.1rem;
	background: var(--bg);
	border: 1px dashed var(--gold);
	border-radius: var(--radius);
	font-size: 0.92rem;
	color: var(--muted);
}

.pfyun-note strong {
	color: var(--accent);
}

/* Etiquetas */

.pfyun-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1.8rem;
}

.pfyun-tags a {
	display: inline-block;
	padding: 0.25rem 0.8rem;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--muted);
	text-decoration: none;
}

.pfyun-tags a:hover,
.pfyun-tags a:focus {
	border-color: var(--accent);
	color: var(--accent);
}

/* Biografía del autor: después de etiquetas, antes de relacionados */

.pfyun-bio {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.2rem 1.3rem;
	margin-bottom: 2rem;
}

.pfyun-bio-avatar {
	flex: 0 0 auto;
	max-width: 64px;
}

.pfyun-bio-avatar img {
	border-radius: var(--radius);
	border: 2px solid var(--gold);
	display: block;
	width: 100%;
	height: auto;
}

.pfyun-bio-name {
	margin: 0 0 0.2rem;
	font-weight: 800;
}

.pfyun-bio-name a {
	color: var(--fg);
	text-decoration: none;
	border-bottom: 2px solid var(--gold);
}

.pfyun-bio-name a:hover,
.pfyun-bio-name a:focus {
	color: var(--accent);
}

.pfyun-bio p:last-child {
	margin-bottom: 0;
	color: var(--muted);
	font-size: 0.95rem;
}

/* Entradas relacionadas: 3 columnas */

.pfyun-related {
	margin-bottom: 2rem;
}

.pfyun-related-title {
	font-size: 1.3rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px dashed var(--gold);
	margin-bottom: 1rem;
}

.pfyun-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--gap);
}

.pfyun-rcard {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.pfyun-rcard-thumb {
	display: block;
}

.pfyun-rcard-thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: var(--media-ratio);
	object-fit: cover;
}

.pfyun-rcard-body {
	padding: 0.8rem 0.95rem 1rem;
}

.pfyun-rcard-title {
	font-size: 0.98rem;
	line-height: 1.4;
	margin: 0 0 0.3rem;
}

.pfyun-rcard-title a {
	color: var(--fg);
	text-decoration: none;
}

.pfyun-rcard-title a:hover,
.pfyun-rcard-title a:focus {
	color: var(--accent);
}

.pfyun-rcard time {
	font-size: 0.8rem;
	color: var(--muted);
}

/* ============================================================
   8. Comentarios
   ============================================================ */

.pfyun-comments {
	margin-top: 2.2rem;
	padding-top: 1.4rem;
	border-top: 2px dashed var(--gold);
}

.pfyun-comments-title {
	font-size: 1.25rem;
}

.pfyun-comments .comment-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.pfyun-comments .comment-list .children {
	list-style: none;
	padding-left: 1.6rem;
	border-left: 2px dashed var(--border);
	margin-left: 0.6rem;
}

.pfyun-comments .comment-body {
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem 1.1rem;
	margin-bottom: 0.9rem;
}

.pfyun-comments .comment-author {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-weight: 700;
}

.pfyun-comments .comment-author .avatar {
	border-radius: 50%;
}

.pfyun-comments .comment-metadata {
	font-size: 0.8rem;
	color: var(--muted);
	margin-bottom: 0.4rem;
}

.pfyun-comments .comment-metadata a {
	color: var(--muted);
	text-decoration: none;
}

.pfyun-comments .reply {
	margin-top: 0.4rem;
}

.pfyun-comments .comment-reply-link {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--accent);
}

.pfyun-comments .comment-respond .comment-reply-title {
	font-size: 1.15rem;
}

.pfyun-comments .comment-form label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 0.25rem;
}

.pfyun-comments .comment-form input[type='text'],
.pfyun-comments .comment-form input[type='email'],
.pfyun-comments .comment-form input[type='url'],
.pfyun-comments .comment-form textarea {
	width: 100%;
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #fff;
	color: var(--fg);
	font: inherit;
	font-size: 0.95rem;
}

.pfyun-comments .comment-form input:focus,
.pfyun-comments .comment-form textarea:focus {
	outline: 2px solid var(--accent);
	outline-offset: 1px;
	border-color: var(--accent);
}

.pfyun-comments .comment-form .submit {
	padding: 0.6rem 1.5rem;
	background: var(--accent);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.pfyun-comments .comment-form .submit:hover,
.pfyun-comments .comment-form .submit:focus {
	background: var(--accent-strong);
}

.pfyun-comments .comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.88rem;
}

.pfyun-comments .comment-form-cookies-consent label {
	display: inline;
	font-weight: 400;
	margin: 0;
}

.pfyun-comments .comments-pagination,
.pfyun-comments .comment-navigation .nav-links {
	display: flex;
	gap: 0.6rem;
	justify-content: space-between;
	margin-bottom: 1.2rem;
	font-weight: 600;
}

/* ============================================================
   9. Barra lateral derecha
   ============================================================ */

.pfyun-sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--gap);
}

.pfyun-widget {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 1.2rem 1.3rem;
}

.pfyun-widget-title {
	font-size: 1.05rem;
	margin-bottom: 0.7rem;
	padding-bottom: 0.45rem;
	border-bottom: 2px dashed var(--gold);
}

.pfyun-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pfyun-widget li {
	margin: 0;
	padding: 0.35rem 0;
	border-bottom: 1px dashed var(--border);
	font-size: 0.93rem;
}

.pfyun-widget li:last-child {
	border-bottom: 0;
}

.pfyun-cat-list a,
.pfyun-recent-list a {
	color: var(--fg);
	text-decoration: none;
	font-weight: 600;
}

.pfyun-cat-list a:hover,
.pfyun-cat-list a:focus,
.pfyun-recent-list a:hover,
.pfyun-recent-list a:focus {
	color: var(--accent);
}

.pfyun-recent-list time {
	display: block;
	font-size: 0.78rem;
	color: var(--muted);
}

.pfyun-widget .children {
	padding-left: 1rem;
}

/* ============================================================
   10. Pie de página: bloques grandes de enlaces agrupados
   ============================================================ */

.pfyun-footer {
	margin-top: 2rem;
	background: #33291f;
	color: #e9decb;
	border-top: 6px solid transparent;
	border-image: repeating-linear-gradient(
		-45deg,
		var(--accent) 0 14px,
		var(--gold) 14px 28px,
		var(--agave) 28px 42px
	) 6;
}

.pfyun-footer-inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 2.6rem 1.25rem 1.6rem;
}

.pfyun-fcols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 2rem;
	margin-bottom: 2.2rem;
}

.pfyun-fhead {
	display: block;
	font-weight: 800;
	font-size: 0.82rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 0.7rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px dashed rgba(233, 222, 203, 0.25);
}

.pfyun-flist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pfyun-flist li {
	margin: 0 0 0.35rem;
}

.pfyun-flist a {
	color: #e9decb;
	text-decoration: none;
	font-size: 0.93rem;
}

.pfyun-flist a:hover,
.pfyun-flist a:focus {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: var(--gold);
}

.pfyun-footer-bottom {
	border-top: 1px solid rgba(233, 222, 203, 0.2);
	padding-top: 1.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.6rem;
	align-items: baseline;
	justify-content: space-between;
}

.pfyun-copy {
	margin: 0;
	font-size: 0.85rem;
	color: #c9bba3;
}

.pfyun-note-line {
	margin: 0;
	font-size: 0.85rem;
	color: #a89880;
	font-style: italic;
}

/* ============================================================
   11. Archivos, búsqueda y 404
   ============================================================ */

.pfyun-page-head {
	margin-bottom: 1.4rem;
	padding-bottom: 0.9rem;
	border-bottom: 2px dashed var(--gold);
}

.pfyun-page-head h1 {
	margin-bottom: 0.3rem;
}

.pfyun-archive-desc {
	color: var(--muted);
	margin-bottom: 0;
}

.pfyun-empty {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 2rem 2.2rem;
}

.pfyun-empty .search-form {
	margin-top: 1.2rem;
	max-width: 480px;
}

/* ============================================================
   12. Responsivo
   ============================================================ */

@media (max-width: 1020px) {
	.pfyun-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.pfyun-sidebar {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.pfyun-widget {
		flex: 1 1 260px;
	}
}

@media (max-width: 900px) {
	.pfyun-nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.pfyun-nav {
		order: 3;
		flex-basis: 100%;
		display: none;
	}

	.pfyun-nav.is-open {
		display: block;
	}

	.pfyun-header-inner {
		flex-wrap: wrap;
	}

	.pfyun-menu {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		padding-top: 0.6rem;
	}

	.pfyun-menu a {
		white-space: normal;
	}

	.pfyun-menu li {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.pfyun-menu li > a {
		flex: 1;
	}

	.pfyun-sub-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.pfyun-menu .sub-menu {
		position: static;
		display: none;
		width: 100%;
		min-width: 0;
		border: 0;
		border-left: 2px dashed var(--gold);
		border-radius: 0;
		box-shadow: none;
		padding: 0.2rem 0 0.2rem 0.8rem;
		flex-basis: 100%;
	}

	.pfyun-menu li.is-open > .sub-menu {
		display: block;
	}

	.pfyun-menu li:hover > .sub-menu,
	.pfyun-menu li:focus-within > .sub-menu {
		display: none;
	}

	.pfyun-menu li.is-open > .sub-menu {
		display: block;
	}

	.pfyun-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	.pfyun-hero-media {
		min-height: 200px;
	}

	.pfyun-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	body {
		font-size: 16px;
	}

	h1 { font-size: 1.6rem; }

	.pfyun-article,
	.pfyun-empty {
		padding: 1.4rem 1.2rem;
	}

	.pfyun-hero-body {
		padding: 1.5rem 1.3rem;
	}

	.pfyun-row {
		flex-direction: column;
		align-items: stretch;
	}

	.pfyun-row-thumb {
		flex: none;
	}

	.pfyun-related-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pfyun-bio {
		flex-direction: column;
	}

	.pfyun-search-panel {
		right: -8px;
	}

	body.admin-bar .pfyun-header {
		top: 46px;
	}
}
