/* Reset mínimo */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--rbl-font-body);
	font-size: var(--rbl-size-base);
	line-height: 1.6;
	color: var(--rbl-text);
	background: var(--rbl-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--rbl-primary); text-decoration: none; transition: color var(--rbl-transition); }
a:hover { color: var(--rbl-primary-dark); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--rbl-font-heading);
	font-weight: var(--rbl-weight-bold);
	line-height: 1.25;
	margin: 0 0 var(--rbl-space-md);
	color: var(--rbl-text);
}
h1 { font-size: var(--rbl-size-4xl); }
h2 { font-size: var(--rbl-size-3xl); }
h3 { font-size: var(--rbl-size-2xl); }
p { margin: 0 0 var(--rbl-space-md); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
}

/* Contenedor */
.rbl-container {
	max-width: var(--rbl-container);
	margin-inline: auto;
	padding-inline: var(--rbl-space-lg);
}

/* Header */
.rbl-header { border-bottom: 1px solid var(--rbl-border); background: var(--rbl-bg); }
.rbl-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--rbl-space-lg); padding-block: var(--rbl-space-md); }
.rbl-header__site-title { font-family: var(--rbl-font-heading); font-weight: var(--rbl-weight-bold); font-size: var(--rbl-size-xl); color: var(--rbl-text); }

.rbl-nav-toggle {
	display: none;
	flex-direction: column;
	gap: 4px;
	background: none;
	border: none;
	cursor: pointer;
	padding: var(--rbl-space-sm);
}
.rbl-nav-toggle__bar { width: 22px; height: 2px; background: var(--rbl-text); }

.rbl-nav__list { display: flex; gap: var(--rbl-space-lg); list-style: none; margin: 0; padding: 0; }
.rbl-nav__list a { color: var(--rbl-text); font-weight: var(--rbl-weight-medium); }
.rbl-nav__list a:hover { color: var(--rbl-primary); }

@media (max-width: 768px) {
	.rbl-nav-toggle { display: flex; }
	.rbl-nav { display: none; width: 100%; }
	.rbl-nav.is-open { display: block; }
	.rbl-nav__list { flex-direction: column; gap: var(--rbl-space-sm); }
	.rbl-header__inner { flex-wrap: wrap; }
}

/* Layout principal */
.rbl-main { padding-block: var(--rbl-space-2xl); }
.rbl-front-page .rbl-main { padding-block: 0; }

/* Breadcrumbs (clases genéricas — el plugin decide el HTML final) */
.rbl-breadcrumbs { font-size: var(--rbl-size-sm); color: var(--rbl-text-muted); margin-bottom: var(--rbl-space-lg); }
.rbl-breadcrumbs a { color: var(--rbl-text-muted); }

/* Artículo (single/page) */
.rbl-article__thumbnail { margin-bottom: var(--rbl-space-lg); border-radius: var(--rbl-radius-lg); overflow: hidden; }
.rbl-article__title { margin-bottom: var(--rbl-space-lg); }
.rbl-article__content { max-width: var(--rbl-container-sm); }
.rbl-article__content > * + * { margin-top: var(--rbl-space-md); }

/* Archive header */
.rbl-archive__header { margin-bottom: var(--rbl-space-2xl); }
.rbl-archive__hero { border-radius: var(--rbl-radius-lg); overflow: hidden; margin-bottom: var(--rbl-space-lg); }
.rbl-archive__desc { color: var(--rbl-text-muted); }

/* Grid de cards */
.rbl-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--rbl-space-xl);
}
.rbl-card {
	background: var(--rbl-bg-alt);
	border: 1px solid var(--rbl-border);
	border-radius: var(--rbl-radius-lg);
	overflow: hidden;
	transition: box-shadow var(--rbl-transition-md), transform var(--rbl-transition-md);
}
.rbl-card:hover { box-shadow: var(--rbl-shadow-lg); transform: translateY(-2px); }
.rbl-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.rbl-card__image img { width: 100%; height: 100%; object-fit: cover; }
.rbl-card__body { padding: var(--rbl-space-lg); }
.rbl-card__title { font-size: var(--rbl-size-lg); margin-bottom: var(--rbl-space-sm); }
.rbl-card__title a { color: var(--rbl-text); }
.rbl-card__excerpt { color: var(--rbl-text-muted); font-size: var(--rbl-size-sm); margin: 0; }

.rbl-no-results { text-align: center; padding: var(--rbl-space-3xl) 0; color: var(--rbl-text-muted); }

/* Paginación (the_posts_pagination / the_comments_pagination) */
.pagination, .navigation.pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rbl-space-sm);
	margin-top: var(--rbl-space-2xl);
	list-style: none;
	padding: 0;
}
.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding-inline: var(--rbl-space-sm);
	border: 1px solid var(--rbl-border);
	border-radius: var(--rbl-radius);
	color: var(--rbl-text);
}
.pagination .page-numbers.current { background: var(--rbl-primary); border-color: var(--rbl-primary); color: #fff; }

/* Sidebar / widgets */
.rbl-sidebar { margin-top: var(--rbl-space-2xl); }
.rbl-widget { margin-bottom: var(--rbl-space-xl); }
.rbl-widget__title { font-size: var(--rbl-size-lg); margin-bottom: var(--rbl-space-md); }

/* Comentarios */
.rbl-comments { margin-top: var(--rbl-space-3xl); max-width: var(--rbl-container-sm); }
.rbl-comments__list { list-style: none; padding: 0; }
.rbl-comments__list .comment { padding: var(--rbl-space-lg) 0; border-bottom: 1px solid var(--rbl-border); }

/* Footer */
.rbl-footer { border-top: 1px solid var(--rbl-border); background: var(--rbl-bg-alt); margin-top: var(--rbl-space-3xl); }
.rbl-footer__inner { padding-block: var(--rbl-space-xl); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--rbl-space-md); }
.rbl-footer__list { display: flex; gap: var(--rbl-space-lg); list-style: none; margin: 0; padding: 0; }
.rbl-footer__copy { color: var(--rbl-text-muted); font-size: var(--rbl-size-sm); margin: 0; }

/* 404 */
.rbl-404 { text-align: center; padding-block: var(--rbl-space-3xl); }
