/*
Theme Name: Trabajando Blog
Theme URI: https://www.trabajando.cl/blog/
Author: Estudios Neverland
Description: Tema de blog de noticias construido sobre Bootstrap 5. Replica el header, footer y la portada del blog de Trabajando.com, alimentado por las entradas y etiquetas de WordPress. Diseno editorial moderno: noticia principal del momento con formato de portada, tarjetas con imagen y bajada, buscador, filtro de etiquetas, paginacion, archivos de etiqueta/categoria y nota interior.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: trabajando-blog
Tags: blog, news, bootstrap, custom-menu, custom-logo, featured-images, translation-ready, two-columns, right-sidebar
*/

/* =========================================================================
   1. Tokens
   ====================================================================== */

:root {
	--tbj-blue: #0077c8;
	--tbj-blue-dark: #0167ad;
	--tbj-blue-light: #00aded;
	--tbj-blue-hover: #3d87d0;
	--tbj-blue-mobile: #3382d1;
	--tbj-blue-soft: #ebf5fc;
	--tbj-blue-border: #cce5f3;

	--tbj-green: #8dc637;
	--tbj-green-dark: #78ab17;
	--tbj-green-cv: #a3cc56;

	--tbj-yellow: #ffcb05;
	--tbj-orange: #ffa406;

	--tbj-tag-border: #6f9bb9;
	--tbj-footer-ink: #f1fed5;

	--tbj-text: #333;
	--tbj-muted: #666;

	/* Neutros del rediseno: titulares, textos secundarios y superficies. */
	--tbj-ink: #111a24;
	--tbj-muted-2: #79838f;
	--tbj-line: #e7ecf1;
	--tbj-line-strong: #c6cfd8;
	--tbj-surface: #f6f8fa;

	--tbj-header-h: 60px;
	--tbj-radius: 10px;
	--tbj-radius-md: 14px;
	--tbj-radius-lg: 18px;

	--tbj-shadow-sm: 0 1px 2px rgba(17, 26, 36, 0.05);
	--tbj-shadow: 0 6px 20px rgba(17, 26, 36, 0.08);
	--tbj-shadow-lg: 0 18px 44px rgba(17, 26, 36, 0.14);

	--tbj-ease: 0.25s cubic-bezier(0.2, 0.7, 0.3, 1);

	--tbj-font:
		'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial,
		sans-serif;
	--tbj-font-footer: 'Source Sans 3', 'Source Sans Pro', var(--tbj-font);
}

/* =========================================================================
   2. Base
   ====================================================================== */

#page {
	overflow-x: clip;
}

body {
	font-family: var(--tbj-font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--tbj-text);
	background-color: #fbfbfb;
	padding-top: 25px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4 {
	text-wrap: balance;
}

a {
	color: var(--tbj-blue);
	text-decoration: none;
	transition: color var(--tbj-ease);
}

a:hover,
a:focus {
	color: var(--tbj-blue-light);
	text-decoration: underline;
}

/* Foco visible y coherente en todo el sitio. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.tbj-chip:focus-visible {
	outline: 2px solid var(--tbj-blue-light);
	outline-offset: 2px;
	border-radius: 4px;
}

::selection {
	background-color: var(--tbj-blue-soft);
	color: var(--tbj-ink);
}

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

/* Respeta la preferencia de menos movimiento. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

.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:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 10000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 10px 16px;
	background: #fff;
	color: var(--tbj-blue);
	border-radius: 4px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

/* =========================================================================
   3. Header / navbar
   ====================================================================== */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1030;
}

.tbj-navbar {
	position: relative;
	min-height: var(--tbj-header-h);
	padding: 0;
	background-color: var(--tbj-blue);
}

.tbj-navbar > .container {
	display: block;
}

.tbj-navbar__bar {
	display: flex;
	align-items: center;
	height: var(--tbj-header-h);
	gap: 8px;
}

/* Logo */

.tbj-logo {
	display: flex;
	align-items: center;
	margin-right: auto;
}

.tbj-logo__img {
	display: block;
	height: 40px;
	width: auto;
}

.tbj-logo__text {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.tbj-logo__text:hover,
.tbj-logo__text:focus {
	color: #fff;
	text-decoration: none;
}

/* Boton hamburguesa */

.tbj-toggler {
	order: -1;
	display: none;
	padding: 8px 9px;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	box-shadow: none;
}

.tbj-toggler:hover,
.tbj-toggler:focus {
	background-color: var(--tbj-blue-light);
	border-color: var(--tbj-blue-light);
	box-shadow: none;
	outline: none;
}

.tbj-toggler__bar {
	display: block;
	width: 22px;
	height: 3px;
	margin: 4px 0;
	background-color: #fff;
	border-radius: 2px;
}

/* Boton buscador */

.tbj-search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 37px;
	width: 44px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.tbj-search-toggle:hover,
.tbj-search-toggle:focus {
	background-color: var(--tbj-blue-light);
	border-color: var(--tbj-blue-light);
	color: #fff;
	outline: none;
}

.tbj-search-toggle[aria-expanded='true'] .bi-search::before {
	content: '\f659'; /* bi-x-lg */
}

/* Menu */

.tbj-menu {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tbj-menu > li {
	margin: 0 5px;
	padding: 0 10px;
	display: flex;
	align-items: center;
}

.tbj-menu > li > a {
	display: flex;
	align-items: center;
	height: var(--tbj-header-h);
	padding: 10px !important;
	color: #fff;
	font-size: 16px;
	line-height: 1.42857143;
	text-transform: none;
}

.tbj-menu > li > a:hover,
.tbj-menu > li > a:focus,
.tbj-menu > li.current-menu-item > a,
.tbj-menu > li.current_page_item > a,
.tbj-menu > li.current-menu-parent > a {
	background-color: var(--tbj-blue-hover);
	color: #fff;
	text-decoration: none;
}

/* Item destacado "Crear CV": pill verde */

.tbj-menu > li.creacv > a,
.tbj-menu > li.crear-cv > a {
	height: 42px;
	margin: 0 0 0 8px;
	padding: 12px 30px !important;
	border-radius: 30px;
	background-color: #8ec623;
	color: #fff;
	font-weight: 600;
}

.tbj-menu > li.creacv > a:hover,
.tbj-menu > li.creacv > a:focus,
.tbj-menu > li.crear-cv > a:hover,
.tbj-menu > li.crear-cv > a:focus {
	background-color: var(--tbj-green-cv);
	color: #fff;
}

/* Submenus */

.tbj-menu .dropdown-menu {
	margin-top: 0;
	padding: 0;
	border: 0;
	border-radius: 0 0 6px 6px;
	background-color: var(--tbj-blue);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.tbj-menu .dropdown-item {
	padding: 8px 14px;
	color: #fff;
	font-size: 15px;
	white-space: normal;
}

.tbj-menu .dropdown-item:hover,
.tbj-menu .dropdown-item:focus {
	background-color: var(--tbj-blue-dark);
	color: var(--tbj-yellow);
}

/* En escritorio todo va en una sola fila de 60px: logo | menu | buscador. */
@media (min-width: 992px) {
	.tbj-navbar > .container {
		display: flex;
		align-items: center;
		height: var(--tbj-header-h);
	}

	.tbj-navbar__bar {
		height: auto;
		flex: 0 0 auto;
	}

	.tbj-navbar__menu {
		flex: 1 1 auto;
	}

	/* El menu se alinea a la derecha del logo. */
	.tbj-menu {
		justify-content: flex-end;
	}

	/* En el blog original el buscador del header solo existe en movil:
	   en escritorio el buscador vive en el sidebar. */
	.tbj-search-toggle {
		display: none;
	}
}

/* =========================================================================
   4. Panel del buscador del header
   ====================================================================== */

.tbj-search-panel {
	position: absolute;
	top: var(--tbj-header-h);
	left: 0;
	right: 0;
	z-index: 1029;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}

.tbj-search-panel .container {
	padding-top: 15px;
	padding-bottom: 15px;
}

.tbj-search-panel .tbj-searchform {
	max-width: 640px;
	margin: 0 auto;
}

/* Formulario de busqueda */

.tbj-searchform__group {
	position: relative;
	display: flex;
	align-items: stretch;
}

.tbj-searchform__icon {
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
	z-index: 3;
	color: var(--tbj-blue);
	font-size: 18px;
	line-height: 1;
	pointer-events: none;
}

.tbj-searchform__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px;
	padding: 6px 12px 6px 12px;
	border: 1px solid var(--tbj-blue-border);
	border-right: 0;
	border-radius: 26px 0 0 26px;
	background-color: #fff;
	color: var(--tbj-text);
	font-size: 15px;
}

.tbj-searchform__input:focus {
	border-color: var(--tbj-blue);
	outline: none;
	box-shadow: none;
}

.tbj-searchform__btn {
	flex: 0 0 auto;
	padding: 6px 22px;
	border: 0;
	border-radius: 0 26px 26px 0;
	background-color: #8dc637;
	color: #fff;
	font-size: 15px;
	white-space: nowrap;
}

.tbj-searchform__btn:hover,
.tbj-searchform__btn:focus {
	background-color: var(--tbj-green-cv);
	color: #fff;
}

/* =========================================================================
/* =========================================================================
   5. Layout
   ====================================================================== */

.tbj-main {
	padding-top: 60px;
	padding-bottom: 56px;
}

.tbj-page-header {
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--tbj-line);
}

.page-title {
	margin: 0;
	color: var(--tbj-ink);
	font-size: 34px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.tbj-eyebrow {
	display: block;
	margin-bottom: 8px;
	color: var(--tbj-blue);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.tbj-archive-desc {
	margin-top: 12px;
	max-width: 60ch;
	color: var(--tbj-muted);
}

.tbj-search-count {
	margin: 10px 0 0;
	color: var(--tbj-muted-2);
	font-size: 14px;
}

.tbj-page-intro {
	margin-bottom: 32px;
}

/* Encabezado de seccion del listado */

.tbj-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--tbj-line);
}

.tbj-section-head__title {
	position: relative;
	margin: 0;
	padding-left: 14px;
	color: var(--tbj-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.tbj-section-head__title::before {
	content: '';
	position: absolute;
	top: 1px;
	bottom: 1px;
	left: 0;
	width: 4px;
	border-radius: 4px;
	background: linear-gradient(180deg, var(--tbj-green), var(--tbj-blue));
}

.tbj-section-head__link {
	flex: 0 0 auto;
	color: var(--tbj-blue);
	font-size: 14px;
	font-weight: 600;
}

.tbj-section-head__link:hover,
.tbj-section-head__link:focus {
	color: var(--tbj-blue-dark);
	text-decoration: none;
}

/* =========================================================================
   6. Metadatos y chips (compartidos por tarjetas y nota interior)
   ====================================================================== */

.tbj-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	color: var(--tbj-muted-2);
	font-size: 13px;
	line-height: 1.4;
}

/* Punto separador solo entre datos de texto, nunca junto al chip. */
.tbj-meta > :not(.tbj-chip) + :not(.tbj-chip)::before {
	content: '·';
	margin-right: 10px;
	color: var(--tbj-line-strong);
}

.tbj-meta a {
	color: inherit;
}

.tbj-meta a:hover,
.tbj-meta a:focus {
	color: var(--tbj-blue);
}

.tbj-meta .bi {
	margin-right: 4px;
}

.tbj-chip {
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	border-radius: 100px;
	background-color: var(--tbj-blue-soft);
	color: var(--tbj-blue) !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.5;
	text-transform: uppercase;
	transition:
		background-color var(--tbj-ease),
		color var(--tbj-ease);
}

.tbj-chip:hover,
.tbj-chip:focus {
	background-color: var(--tbj-blue);
	color: #fff !important;
	text-decoration: none;
}

/* =========================================================================
   7. Imagenes de tarjeta
   ====================================================================== */

.tbj-media {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: var(--tbj-radius-md);
	background-color: var(--tbj-surface);
}

.tbj-media__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.001);
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.tbj-media__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--tbj-blue-soft);
	color: var(--tbj-blue);
	font-size: 30px;
}

.tbj-card:hover .tbj-media__img,
.tbj-list-item:hover .tbj-media__img,
.tbj-hero:hover .tbj-media__img {
	transform: scale(1.05);
}

/* =========================================================================
   8. Noticia principal del momento
   ====================================================================== */

.tbj-featured-wrap {
	margin-bottom: 40px;
}

.tbj-hero {
	position: relative;
	overflow: hidden;
	border-radius: var(--tbj-radius-lg);
	background-color: #fff;
	box-shadow: var(--tbj-shadow);
	transition:
		box-shadow var(--tbj-ease),
		transform var(--tbj-ease);
}

.tbj-hero:hover {
	box-shadow: var(--tbj-shadow-lg);
	transform: translateY(-3px);
}

/* Guino a la identidad: barra de acento verde/azul. */
.tbj-hero::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	height: 4px;
	background: linear-gradient(
		90deg,
		var(--tbj-green),
		var(--tbj-blue-light),
		var(--tbj-blue)
	);
}

.tbj-hero__media-col {
	position: relative;
}

.tbj-media--hero {
	aspect-ratio: 16 / 9;
	border-radius: 0;
}

.tbj-hero__badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 14px;
	border-radius: 100px;
	background-color: var(--tbj-green);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.4;
	text-transform: uppercase;
	box-shadow: 0 4px 14px rgba(16, 24, 40, 0.22);
}

.tbj-hero__badge .bi {
	font-size: 12px;
}

.tbj-hero__body {
	padding: 26px 30px 30px;
}

.tbj-hero__title {
	margin: 14px 0 12px;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -0.025em;
}

.tbj-hero__title a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--tbj-ink);
}

.tbj-hero__title a:hover,
.tbj-hero__title a:focus {
	color: var(--tbj-blue);
	text-decoration: none;
}

.tbj-hero__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--tbj-muted);
	font-size: 16px;
}

.tbj-hero__excerpt p {
	margin: 0;
	line-height: 1.6;
}

.tbj-hero__footer {
	margin-top: 20px;
}

/* =========================================================================
   9. Grilla de noticias
   ====================================================================== */

.tbj-card {
	position: relative;
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid var(--tbj-line);
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
	box-shadow: var(--tbj-shadow-sm);
	transition:
		border-color var(--tbj-ease),
		box-shadow var(--tbj-ease),
		transform var(--tbj-ease);
}

.tbj-card:hover {
	border-color: var(--tbj-blue-border);
	box-shadow: var(--tbj-shadow);
	transform: translateY(-2px);
}

.tbj-card__media-col {
	padding-right: 18px;
}

.tbj-card .tbj-media {
	aspect-ratio: 16 / 10;
}

.tbj-card__body {
	display: flex;
	flex-direction: column;
	padding: 2px 4px 2px 0;
}

.tbj-card__title {
	margin: 10px 0 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.012em;
}

.tbj-card__title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--tbj-ink);
}

.tbj-card__title a:hover,
.tbj-card__title a:focus {
	color: var(--tbj-blue);
	text-decoration: none;
}

.tbj-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 8px;
	color: var(--tbj-muted);
	font-size: 14px;
}

.tbj-card__excerpt p {
	margin: 0;
	line-height: 1.55;
}

.tbj-card__footer {
	margin-top: auto;
	padding-top: 14px;
}

/* =========================================================================
   10. Enlaces "Leer mas" y botones
   ====================================================================== */

.tbj-more,
.tbj-read-more {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--tbj-blue);
	font-size: 14px;
	font-weight: 600;
}

.tbj-more .bi {
	transition: transform var(--tbj-ease);
}

.tbj-more:hover,
.tbj-more:focus,
.tbj-read-more:hover,
.tbj-read-more:focus {
	color: var(--tbj-blue-dark);
	text-decoration: none;
}

.tbj-more:hover .bi,
.tbj-more:focus .bi {
	transform: translateX(4px);
}

.tbj-more--hero {
	font-size: 15px;
}

.tbj-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 24px;
	border: 0;
	border-radius: 100px;
	background-color: var(--tbj-blue);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	box-shadow: 0 6px 16px rgba(0, 119, 200, 0.22);
	transition:
		background-color var(--tbj-ease),
		transform var(--tbj-ease),
		box-shadow var(--tbj-ease);
}

.tbj-btn:hover,
.tbj-btn:focus {
	background-color: var(--tbj-blue-dark);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(0, 119, 200, 0.28);
}

/* =========================================================================
   11. Listado de archivos y busqueda
   ====================================================================== */

.tbj-list-item {
	margin-bottom: 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--tbj-line);
}

.tbj-list-item:last-child {
	margin-bottom: 0;
	border-bottom: 0;
}

.tbj-list-item__media-col {
	padding-right: 20px;
}

.tbj-list-item .tbj-media {
	aspect-ratio: 16 / 10;
}

.tbj-list-item__body {
	display: flex;
	flex-direction: column;
}

.tbj-list-item__title {
	margin: 10px 0 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -0.015em;
}

.tbj-list-item__title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--tbj-ink);
}

.tbj-list-item__title a:hover,
.tbj-list-item__title a:focus {
	color: var(--tbj-blue);
	text-decoration: none;
}

.tbj-list-item__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 8px;
	color: var(--tbj-muted);
	font-size: 15px;
}

.tbj-list-item__excerpt p {
	margin: 0;
	line-height: 1.6;
}

.tbj-list-item__footer {
	margin-top: 14px;
}

/* =========================================================================
   12. Paginacion
   ====================================================================== */

.tbj-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 32px 0 8px;
}

.tbj-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid var(--tbj-line);
	border-radius: 12px;
	background-color: #fff;
	color: var(--tbj-text);
	font-size: 14px;
	font-weight: 600;
	transition:
		background-color var(--tbj-ease),
		border-color var(--tbj-ease),
		color var(--tbj-ease);
}

.tbj-pagination .page-numbers:hover,
.tbj-pagination .page-numbers:focus {
	background-color: var(--tbj-blue-soft);
	border-color: var(--tbj-blue-border);
	color: var(--tbj-blue);
	text-decoration: none;
}

.tbj-pagination .page-numbers.current {
	background-color: var(--tbj-blue);
	border-color: var(--tbj-blue);
	color: #fff;
	box-shadow: 0 6px 16px rgba(0, 119, 200, 0.22);
}

.tbj-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--tbj-muted-2);
}

/* =========================================================================
   13. Sidebar
   ====================================================================== */

.tbj-sidebar {
	margin-top: 0;
}

.tbj-sidebar .widget {
	margin-bottom: 20px;
	padding: 18px 18px 20px;
	border: 1px solid var(--tbj-line);
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
}

.tbj-sidebar .widget:last-child {
	margin-bottom: 0;
}

.tbj-sidebar .widget-title,
.tbj-sidebar .widget h3 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: var(--tbj-blue);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}

.tbj-sidebar .widget-title .bi {
	font-size: 16px;
}

.tbj-sidebar .widget a {
	color: #595959;
	font-size: 15px;
}

.tbj-sidebar .widget a:hover {
	color: white;
}

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

.tbj-sidebar .widget ul li {
	padding: 6px 0;
	border-bottom: 1px solid var(--tbj-line);
}

.tbj-sidebar .widget ul li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

/* El filtro de etiquetas no necesita separadores. */
.tbj-sidebar .widget_tag_cloud ul li {
	border-bottom: 0;
}

/* Bloque destacado (Premium) */

.tbj-promo {
	overflow: hidden;
	padding: 20px !important;
	border: 0 !important;
	border-radius: var(--tbj-radius-md);
	background: #a3cc56;
	background: linear-gradient(
		159deg,
		rgba(163, 204, 86, 1) 0%,
		rgba(34, 122, 51, 1) 64%
	);
	color: #fff;
}

.tbj-promo p {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.45;
}

.tbj-promo__hl {
	color: #fdcb72;
	font-size: 18px;
	font-weight: 700;
}

.tbj-promo__btn {
	display: inline-flex;
	align-items: center;
	padding: 9px 18px;
	border-radius: 100px;
	background-color: #fff3;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600;
	transition:
		background-color var(--tbj-ease),
		transform var(--tbj-ease);
}

.tbj-promo__btn:hover,
.tbj-promo__btn:focus {
	background-color: #fdcb72;
	color: #595959 !important;
	text-decoration: none;
	transform: translateY(-1px);
}

/* =========================================================================
   14. Filtro de etiquetas (pills)
   ====================================================================== */

.tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0;
}

.tagcloud a,
.tbj-tag-filter .tag-cloud-link {
	display: inline-block;
	padding: 6px 14px !important;
	border: 1px solid var(--tbj-blue-border);
	border-radius: 100px;
	background-color: #fff;
	color: var(--tbj-blue) !important;
	font-size: 13px !important;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition:
		background-color var(--tbj-ease),
		border-color var(--tbj-ease),
		color var(--tbj-ease);
}

.tagcloud a:hover,
.tagcloud a:focus {
	background-color: var(--tbj-blue-soft);
	border-color: var(--tbj-blue);
	color: var(--tbj-blue-dark) !important;
	text-decoration: none;
}

.tagcloud a.is-active {
	background-color: var(--tbj-blue);
	border-color: var(--tbj-blue);
	color: #fff !important;
}

.tbj-tag-reset {
	display: inline-block;
	margin-top: 14px;
	color: var(--tbj-muted-2);
	font-size: 13px !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* =========================================================================
   15. Nota interior
   ====================================================================== */

.tbj-single-post .tbj-content {
	padding: 1.3rem 2rem;
	border-radius: 12px;
	border: 1px solid #eee;
	background: white;
}
.tbj-single__header {
	margin-bottom: 26px;
}

.tbj-single .entry-title {
	margin: 14px 0 0;
	color: var(--tbj-ink);
	font-size: 40px;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.028em;
}

.tbj-single__lead {
	margin: 16px 0 0;
	max-width: 62ch;
	color: var(--tbj-muted);
	font-size: 16px;
	line-height: 1.55;
}

.tbj-single__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 18px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--tbj-line);
	color: var(--tbj-muted-2);
	font-size: 14px;
}

.tbj-single__byline .bi {
	margin-right: 5px;
	font-size: 15px;
}

.tbj-single__media {
	margin: 0 0 30px;
}

.tbj-single__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--tbj-radius-lg);
}

.tbj-single__caption {
	margin-top: 10px;
	color: var(--tbj-muted-2);
	font-size: 13px;
	line-height: 1.5;
}

.tbj-single .entry-content {
	width: 100%;
	font-size: 17px;
	line-height: 1.75;
}

.tbj-single .entry-content > p:first-of-type {
	font-size: 16px;
}

.tbj-single .entry-content h2 {
	margin: 36px 0 12px;
	color: var(--tbj-ink);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.tbj-single .entry-content h3 {
	margin: 28px 0 10px;
	color: var(--tbj-ink);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
}

.tbj-single .entry-content p,
.tbj-single .entry-content ul,
.tbj-single .entry-content ol {
	margin-bottom: 20px;
}

.tbj-single .entry-content li {
	margin-bottom: 6px;
}

.tbj-single .entry-content a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.tbj-single .entry-content img,
.tbj-single .entry-content iframe,
.tbj-single .entry-content audio,
.tbj-single .entry-content video {
	max-width: 100%;
	border-radius: var(--tbj-radius-md);
}

.tbj-single .entry-content figure {
	margin: 28px 0;
}

.tbj-single .entry-content figcaption {
	margin-top: 10px;
	color: var(--tbj-muted-2);
	font-size: 13px;
}

.tbj-single .entry-content blockquote {
	margin: 28px 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid var(--tbj-green);
	background-color: transparent;
	color: var(--tbj-ink);
	font-size: 20px;
	font-style: normal;
	line-height: 1.5;
}

.tbj-single .entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.tbj-single__footer {
	margin-top: 40px;
}

.tbj-block-title {
	margin: 0 0 14px;
	color: var(--tbj-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tbj-tags-block,
.tbj-share {
	margin-bottom: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--tbj-line);
}

/* Compartir */

.tbj-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tbj-share__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background-color: var(--tbj-blue);
	color: #fff !important;
	font-size: 18px;
	transition:
		transform var(--tbj-ease),
		filter var(--tbj-ease);
}

.tbj-share__link:hover,
.tbj-share__link:focus {
	color: #fff !important;
	text-decoration: none;
	transform: translateY(-3px);
	filter: brightness(1.08);
}

.tbj-share__link--whatsapp {
	background-color: #25d366;
}

.tbj-share__link--facebook {
	background-color: #1877f2;
}

.tbj-share__link--linkedin {
	background-color: #0a66c2;
}

.tbj-share__link--twitter-x {
	background-color: #000;
}

/* Llamado a la accion */

.tbj-cta {
	position: relative;
	margin: 32px 0;
	padding: 30px 26px 26px;
	border: 1px solid var(--tbj-blue-border);
	border-radius: var(--tbj-radius-lg);
	background-color: var(--tbj-blue-soft);
}

.tbj-cta__eyebrow {
	position: absolute;
	top: -13px;
	left: 24px;
	padding: 4px 14px;
	border-radius: 100px;
	background-color: var(--tbj-green);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tbj-cta__title {
	margin: 0 0 10px;
	color: var(--tbj-ink);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.tbj-cta__text {
	margin-bottom: 18px;
	max-width: 60ch;
	color: var(--tbj-muted);
	font-size: 15px;
}

.tbj-cta__btn {
	display: inline-flex;
	align-items: center;
	padding: 11px 24px;
	border-radius: 100px;
	background-color: var(--tbj-green-dark);
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
	transition:
		background-color var(--tbj-ease),
		transform var(--tbj-ease);
}

.tbj-cta__btn:hover,
.tbj-cta__btn:focus {
	background-color: var(--tbj-green);
	color: #fff !important;
	text-decoration: none;
	transform: translateY(-2px);
}

/* Navegacion entre notas */

.tbj-post-nav {
	margin: 32px 0 10px;
	padding-top: 24px;
	border-top: 1px solid var(--tbj-line);
}

.tbj-post-nav .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.tbj-post-nav .nav-previous,
.tbj-post-nav .nav-next {
	flex: 1 1 45%;
}
.nav-previous {
	max-width: 45%;
	border-right: 1px solid #0077c8;
	padding-right: 1rem;
}
.nav-next {
	max-width: 45%;
}
.nav-links {
	display: flex;
	justify-content: space-between;
}
.tbj-post-nav .nav-next {
	text-align: right;
}
.tbj-post-nav a {
	display: block;
	height: 100%;
	padding: 16px 18px;
	border: 1px solid var(--tbj-line);
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
	color: var(--tbj-ink);
	transition:
		border-color var(--tbj-ease),
		box-shadow var(--tbj-ease);
}

.tbj-post-nav a:hover,
.tbj-post-nav a:focus {
	border-color: var(--tbj-blue-border);
	box-shadow: var(--tbj-shadow-sm);
	text-decoration: none;
}

.tbj-nav__label {
	display: block;
	margin-bottom: 6px;
	color: var(--tbj-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.tbj-nav__title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

/* =========================================================================
   16. Bloque de ofertas / sin resultados / paginas
   ====================================================================== */

.tbj-ofertas {
	margin: 36px 0 10px;
	padding: 30px 26px;
	border: 1px solid var(--tbj-blue-border);
	border-radius: var(--tbj-radius-lg);
	background-color: var(--tbj-blue-soft);
}

.tbj-ofertas__title {
	margin: 0 0 18px;
	color: var(--tbj-blue);
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-align: center;
}

.tbj-ofertas__footer {
	margin-top: 20px;
	text-align: center;
}

/* Widget "* Ofertas Trabajando.com" (plugin Widget Ofertas Trabajando.com).
   El widget imprime markup de Angular con clases de Bootstrap 4 y sin CSS propio,
   asi que aqui se adapta al diseno del blog. Se estiliza por contenedor
   (.tbj-ofertas__widget) para no tocar el plugin. */

.tbj-ofertas__widgets {
	margin-bottom: 4px;
}

/* El bloque ya tiene su propio titulo (Personalizador), se oculta el del widget. */
.tbj-ofertas__widget h1 {
	display: none;
}

.tbj-ofertas__widget p:empty {
	display: none;
}

/* El widget anida .container: se neutraliza dentro de la columna del blog. */
.tbj-ofertas__widget .container {
	width: 100%;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* El buscador y el paginador del widget no se usan en la portada:
   el bloque muestra una tanda fija de ofertas y el boton de abajo
   lleva al listado completo. */
.tbj-ofertas__widget #aviso-form,
.tbj-ofertas__widget pagination-controls {
	display: none;
}

/* -----------------------------------------------------------------
   Despliegue "Tarjeta Vertical" (el que usa la portada), redibujado
   como en el blog original: tres columnas y, dentro de cada caja,
   logo a la izquierda, cargo a su derecha y abajo el detalle
   (empresa y ubicacion). La descripcion no se muestra.

   El plugin entrega este markup:

     .card > .row > img.card-img-top
                  > .card-body > h5            (cargo)
                               > p.card-title   (empresa)
                               > p.card-text    (ubicacion)
                               > p.card-text    (descripcion)

   Como el detalle vive dentro de .card-body, la caja se arma con
   grid y .card-body pasa a `display: contents`: asi sus hijos entran
   a la misma grilla y se pueden ubicar el cargo al lado del logo y
   el detalle debajo, a todo el ancho.

   Los selectores llevan tres clases a proposito: el plugin inyecta
   su CSS en el <head> despues de esta hoja, asi que con dos clases
   ganaria el suyo.
   -------------------------------------------------------------- */

.tbj-ofertas__widget .row {
	--bs-gutter-x: 16px;
}

/* Tres columnas de igual alto (el plugin ya emite .col-md-4). */
.tbj-ofertas__widget .row > [class*='col-'] {
	display: flex;
	margin-bottom: 16px;
}

.tbj-ofertas__widget .card {
	display: block;
	width: 100%;
	margin-bottom: 0 !important;
	padding: 12px;
	border: 1px solid var(--tbj-line);
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
	box-shadow: var(--tbj-shadow-sm);
	cursor: pointer;
	transition:
		border-color var(--tbj-ease),
		box-shadow var(--tbj-ease),
		transform var(--tbj-ease);
}

.tbj-ofertas__widget .card:hover {
	border-color: var(--tbj-blue-border);
	box-shadow: var(--tbj-shadow);
	transform: translateY(-2px);
}

/* La .row interna del plugin pasa a grilla: logo | cargo, y el
   detalle en las filas de abajo a todo el ancho. */
.tbj-ofertas__widget .card > .row {
	--bs-gutter-x: 0;
	--bs-gutter-y: 0;
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	margin: 0;
}

/* Los hijos de .card-body entran a la grilla de la tarjeta. */
.tbj-ofertas__widget .card > .row > .card-body {
	display: contents;
}

.tbj-ofertas__widget .card > .row > .card-img-top {
	grid-column: 1;
	grid-row: 1;
	width: 60px;
	height: 42px;
	object-fit: contain;
	object-position: left center;
}

/* Cargo de la oferta, al costado del logo. */
.tbj-ofertas__widget .card-body h5 {
	grid-column: 2;
	grid-row: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--tbj-blue);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
	overflow-wrap: normal;
	transition: color var(--tbj-ease);
}

.tbj-ofertas__widget .card:hover .card-body h5 {
	color: var(--tbj-blue-dark);
}

/* Detalle: empieza siempre bajo el logo, a todo el ancho de la caja. */
.tbj-ofertas__widget .card-body .card-title {
	grid-column: 1 / -1;
	grid-row: 2;
	overflow: hidden;
	margin: 10px 0 2px;
	color: var(--tbj-text);
	font-size: 13.5px;
	font-weight: 400;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tbj-ofertas__widget .card-body .card-text {
	grid-column: 1 / -1;
	grid-row: 3;
	overflow: hidden;
	margin: 0;
	color: var(--tbj-muted);
	font-size: 12px;
	line-height: 1.4;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* El ultimo parrafo es la descripcion: no va en la caja. */
.tbj-ofertas__widget .card-body .card-text:last-child {
	display: none;
}

@media (max-width: 575.98px) {
	.tbj-ofertas__widget .card > .row {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.tbj-ofertas__widget .card > .row > .card-img-top {
		width: 64px;
		height: 44px;
	}
}

/* -----------------------------------------------------------------
   Otros "Tipo de despliegue" del widget (Lista y Tabla), por si se
   cambia la opcion en Apariencia > Widgets.
   -------------------------------------------------------------- */

.tbj-ofertas__widget .lista-a.list-group-item {
	display: block;
	margin: 0 0 10px;
	padding: 12px 14px;
	border: 1px solid var(--tbj-line);
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
	cursor: pointer;
}

.tbj-ofertas__widget .lista-a > .row > [class*='col-'] {
	margin-bottom: 0;
}

.tbj-ofertas__widget .img-list {
	width: 76px;
	height: 40px;
	object-fit: contain;
}

.tbj-ofertas__widget .lista-a h5 {
	margin: 0 0 4px !important;
	color: var(--tbj-ink);
	font-size: 15px;
	font-weight: 700;
}

.tbj-ofertas__widget table {
	width: 100%;
	overflow: hidden;
	border-radius: var(--tbj-radius-md);
	background-color: #fff;
}

.tbj-ofertas__widget table td,
.tbj-ofertas__widget table th {
	padding: 10px 14px;
	border-bottom: 1px solid var(--tbj-line);
	font-size: 14px;
	vertical-align: middle;
}

.tbj-no-results {
	padding: 24px 0 8px;
}

.tbj-no-results__title {
	margin: 0 0 10px;
	color: var(--tbj-ink);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.tbj-no-results .tbj-searchform {
	max-width: 420px;
	margin: 18px 0 28px;
}

/* Paginas y comentarios */

.tbj-page .entry-content {
	max-width: 68ch;
	font-size: 17px;
	line-height: 1.75;
}

.tbj-page .entry-content h2 {
	margin: 34px 0 12px;
	color: var(--tbj-ink);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.tbj-link-pages {
	margin-top: 22px;
	font-size: 14px;
}

.comments-area {
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--tbj-line);
}
/* =========================================================================
   17. Footer
   ====================================================================== */

.tbj-footer {
	margin-top: 0;
	padding: 0;
	background-color: var(--tbj-blue);
	color: var(--tbj-footer-ink);
	font-family: var(--tbj-font-footer);
	font-size: 14px;
	line-height: 1.7;
}

.tbj-footer__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
}

.tbj-footer a {
	color: var(--tbj-footer-ink);
	text-decoration: none;
}

.tbj-footer a:hover,
.tbj-footer a:focus {
	color: #ebf5fc;
	text-decoration: none;
}

.tbj-footer__title {
	margin: 16px 0 15px;
	color: var(--tbj-footer-ink);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0;
}

/* Bloque superior: app + redes */

.tbj-footer__top {
	padding: 10px 0 5px;
	border-bottom: 1px solid white;
}

.tbj-footer__pin {
	margin-left: 6px;
	font-size: 20px;
}

.tbj-stores {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.tbj-store {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 16px;
	border: 1px solid var(--tbj-footer-ink);
	border-radius: 6px;
	color: var(--tbj-footer-ink);
	line-height: 1.1;
}

.tbj-store:hover,
.tbj-store:focus {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}

.tbj-store .bi {
	font-size: 24px;
}

.tbj-store span {
	display: flex;
	flex-direction: column;
	font-size: 15px;
	font-weight: 600;
}

.tbj-store small {
	font-size: 10px;
	font-weight: 400;
	text-transform: uppercase;
	opacity: 0.85;
}

.tbj-footer__rrss {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.tbj-footer__rrss a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: var(--tbj-footer-ink);
	font-size: 22px;
}

.tbj-footer__rrss a:hover,
.tbj-footer__rrss a:focus {
	color: #a3cc56;
}

/* Columnas de enlaces */

.tbj-footer__links {
	padding-bottom: 13px;
	border-bottom: 1px solid #fff;
	margin-bottom: 20px;
}

.tbj-footer__list {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.tbj-footer__list li {
	margin: 0;
	line-height: 24px;
	list-style: none;
}

.tbj-footer__list a {
	font-size: 1rem;
}

/* Acordeon del footer (solo movil) */

.tbj-footer__accordion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
}

.tbj-footer__accordion .bi {
	display: none;
	font-size: 16px;
	transition: transform 0.3s;
}

.tbj-footer__accordion[aria-expanded='true'] .bi {
	transform: rotate(180deg);
}

@media (min-width: 992px) {
	/* En escritorio las listas siempre estan visibles. */
	.tbj-footer__panel {
		display: block !important;
		height: auto !important;
		visibility: visible !important;
	}

	.tbj-footer__accordion {
		pointer-events: none;
	}
}

/* Copyright */

.tbj-footer__copyright {
	padding: 14px 0;
	font-size: 1rem;
}

.tbj-footer__copyright p {
	margin: 10px 0 0;
	color: var(--tbj-footer-ink);
}

.tbj-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tbj-footer__legal-list li {
	list-style: none;
}

/* =========================================================================
   18. Responsive
   ====================================================================== */

@media (max-width: 991.98px) {
	.tbj-toggler {
		display: block;
	}

	/* El menu se despliega como panel absoluto: no empuja el contenido
	   ni ensancha la pagina. */
	.tbj-navbar__menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 1028;
		background-color: var(--tbj-blue-mobile);
		border-top: 0;
		box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
	}

	.tbj-menu {
		display: block;
		margin: 0 !important;
		padding: 0 0px 10px 0 !important;
	}

	.tbj-menu > li {
		width: 100%;
		margin: 0;
	}

	.tbj-menu > li > a {
		display: block;
		height: auto;
		width: 100%;
		padding: 12px 15px !important;
		font-size: 14px !important;
		line-height: 1.2;
	}

	.tbj-menu > li > a:hover,
	.tbj-menu > li > a:focus,
	.tbj-menu > li.current-menu-item > a {
		background-color: var(--tbj-blue-dark) !important;
		color: white;
	}

	.tbj-menu .dropdown-menu {
		border-radius: 0;
		background-color: var(--tbj-blue-dark);
		box-shadow: none;
	}

	/* Tarjetas del listado */
	.tbj-card {
		padding: 12px;
	}

	.tbj-card__title {
		font-size: 18px;
	}

	.tbj-card__excerpt {
		font-size: 13px;
	}

	.tbj-list-item__title {
		font-size: 19px;
	}

	/* Noticia principal */
	.tbj-hero__body {
		padding: 20px 20px 24px;
	}

	.tbj-hero__title {
		font-size: 25px;
	}

	.tbj-hero__excerpt {
		font-size: 15px;
	}

	.tbj-hero__badge {
		top: 14px;
		left: 14px;
	}

	/* Titulares y nota interior */
	.page-title {
		font-size: 26px;
	}

	.tbj-single .entry-title {
		font-size: 28px;
	}

	.tbj-single__lead {
		font-size: 17px;
	}

	.tbj-single .entry-content {
		font-size: 16px;
	}

	.tbj-single .entry-content > p:first-of-type {
		font-size: 17px;
	}

	.tbj-single .entry-content h2 {
		font-size: 22px;
	}

	.tbj-single .entry-content blockquote {
		font-size: 18px;
	}

	.tbj-ofertas,
	.tbj-cta {
		padding-left: 18px;
		padding-right: 18px;
	}

	.tbj-ofertas__title {
		font-size: 22px;
	}

	.tbj-sidebar {
		margin-top: 28px;
	}
	/* Footer en acordeon */
	.tbj-footer__title {
		margin: 0;
		font-size: 20px;
	}

	.tbj-footer__col {
		border-bottom: 1px solid #fff;
	}

	.tbj-footer__accordion {
		padding: 18px 0;
	}

	.tbj-footer__accordion .bi {
		display: inline-block;
	}

	.tbj-footer__panel .tbj-footer__list {
		padding-bottom: 10px;
	}

	.tbj-footer__links {
		border-bottom: 0;
		padding-bottom: 0;
	}

	.tbj-footer__social {
		margin-top: 10px;
	}

	.tbj-footer__copyright {
		text-align: left;
	}
}

@media (max-width: 575.98px) {
	.tbj-searchform__btn {
		padding: 6px 12px;
		font-size: 14px;
	}

	/* Tarjetas apiladas: la imagen pasa arriba del texto. */
	.tbj-card__media-col,
	.tbj-list-item__media-col {
		padding-right: 0;
		margin-bottom: 12px;
	}

	.tbj-card__body {
		padding: 0;
	}

	.tbj-card__title,
	.tbj-list-item__title {
		margin-top: 8px;
	}

	.tbj-hero__title {
		font-size: 22px;
	}

	.tbj-post-nav .nav-previous,
	.tbj-post-nav .nav-next {
		flex: 1 1 100%;
		text-align: left;
	}
}

/* =========================================================================
   19. Columna derecha fija en escritorio
   ====================================================================== */

@media (min-width: 992px) {
	/* El sidebar acompana el scroll del listado. */
	.tbj-sidebar__inner {
		position: sticky;
		top: calc(var(--tbj-header-h) + 24px);
	}
}
