/* ==========================================================================
   Templates — Listados, Tabs EJEC/TEC, FAQ, Soluciones, Sectores, Contacto
   ========================================================================== */

/* ============== BREADCRUMB ============== */
.bn-breadcrumb {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--text-dim);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: var(--space-4);
}
.bn-breadcrumb a { color: var(--em-400); text-decoration: none; }
.bn-breadcrumb a:hover { color: var(--em-300); }


/* ============== LISTADO HEAD (común a soluciones/sectores/herramientas) ============== */
.bn-listado__head {
	padding: clamp(var(--space-12), 8vw, var(--space-16)) 0 var(--space-8);
	text-align: left;
}
.bn-listado__head h1 {
	font-size: clamp(var(--fs-3xl), 5vw, var(--fs-4xl));
	margin-bottom: var(--space-4);
	background: linear-gradient(135deg, var(--text) 0%, var(--em-400) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bn-listado__lead {
	font-size: var(--fs-md);
	color: var(--text-2);
	line-height: var(--lh-relaxed);
	max-width: 70ch;
}


/* ============== GRID DE CARDS (cuadritos para listados) ============== */
.bn-grid-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--space-5);
}
.bn-grid-cards--3col { grid-template-columns: repeat(3, 1fr); }
.bn-grid-cards--4col { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.bn-grid-cards--3col { grid-template-columns: repeat(2, 1fr); }
	.bn-grid-cards--4col { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.bn-grid-cards--3col,
	.bn-grid-cards--4col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.bn-grid-cards--3col,
	.bn-grid-cards--4col { grid-template-columns: 1fr; }
}

.bn-grid-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-6);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	color: var(--text);
	text-decoration: none;
	transition: all var(--dur) var(--ease-out);
	position: relative;
	overflow: hidden;
}
.bn-grid-card:hover {
	transform: translateY(-4px);
	border-color: var(--em-500);
	box-shadow: 0 8px 24px rgba(0,0,0,0.40), 0 0 24px rgba(4, 120, 87, 0.15);
	color: var(--text);
}
.bn-grid-card::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--em-700);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform var(--dur) var(--ease-out);
}
.bn-grid-card:hover::before { transform: scaleY(1); }

.bn-grid-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--space-2);
}
.bn-grid-card__code {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--em-400);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 500;
}
.bn-grid-card__time {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--text-dim);
}
.bn-grid-card__title {
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--text);
	margin: 0;
	line-height: 1.35;
}
.bn-grid-card__tag {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--em-400);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
}
.bn-grid-card__desc {
	font-size: var(--fs-sm);
	color: var(--text-muted);
	line-height: 1.55;
	margin: 0;
	flex: 1;
}
.bn-grid-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: var(--space-3);
	margin-top: var(--space-2);
	border-top: 1px solid var(--border);
}
.bn-grid-card__more {
	color: var(--em-400);
	font-size: var(--fs-sm);
	font-weight: 600;
	transition: transform var(--dur);
}
.bn-grid-card:hover .bn-grid-card__more { transform: translateX(4px); }

/* Sector card (más compacta) */
.bn-grid-card--sector .bn-grid-card__title {
	margin-bottom: 4px;
}
.bn-grid-card--sector .bn-grid-card__more {
	font-size: var(--fs-xs);
	margin-top: var(--space-2);
}

/* Tool card (con tipo + tiempo en head) */
.bn-grid-card--tool {
	gap: var(--space-3);
}


/* ============== TABS EJEC / TEC (CSS-only con :checked) ============== */
.bn-tabs {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	overflow: hidden;
}

/* Hide radio inputs */
.bn-tabs__radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

/* Tab nav */
.bn-tabs__nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	background: var(--bg-deep);
	border-bottom: 1px solid var(--border);
}
.bn-tabs__tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-1);
	padding: var(--space-4) var(--space-5);
	cursor: pointer;
	color: var(--text-muted);
	font-weight: 600;
	font-size: var(--fs-sm);
	border-bottom: 2px solid transparent;
	transition: all var(--dur) var(--ease-out);
	text-align: center;
	user-select: none;
}
.bn-tabs__tab svg {
	color: inherit;
}
.bn-tabs__tab small {
	font-family: var(--font-mono);
	font-size: 10px;
	color: var(--text-dim);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 400;
}
.bn-tabs__tab:hover {
	color: var(--text-2);
	background: rgba(4, 120, 87, 0.05);
}

/* Active tab */
.bn-tabs__radio:nth-of-type(1):checked ~ .bn-tabs__nav .bn-tabs__tab:first-of-type,
.bn-tabs__radio:nth-of-type(2):checked ~ .bn-tabs__nav .bn-tabs__tab:last-of-type {
	color: var(--em-400);
	background: var(--bg-elevated);
	border-bottom-color: var(--em-500);
}

/* Panels */
.bn-tabs__panels {
	padding: clamp(var(--space-6), 4vw, var(--space-10));
}
.bn-tabs__panel {
	display: none;
	animation: bn-tab-in 0.3s var(--ease-out);
}
@keyframes bn-tab-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
.bn-tabs__radio:nth-of-type(1):checked ~ .bn-tabs__panels .bn-tabs__panel--ejec,
.bn-tabs__radio:nth-of-type(2):checked ~ .bn-tabs__panels .bn-tabs__panel--tec {
	display: block;
}

/* Content within tabs */
.bn-tabs__panel h2,
.bn-tabs__panel h3 {
	color: var(--text);
	margin-top: var(--space-6);
	margin-bottom: var(--space-3);
}
.bn-tabs__panel h2:first-child,
.bn-tabs__panel h3:first-child { margin-top: 0; }
.bn-tabs__panel p {
	color: var(--text-2);
	line-height: var(--lh-relaxed);
	max-width: none;
}
.bn-tabs__panel ul, .bn-tabs__panel ol {
	color: var(--text-2);
	line-height: var(--lh-relaxed);
}
.bn-tabs__panel--ejec p strong { color: var(--em-300); }
.bn-tabs__panel--tec code,
.bn-tabs__panel--tec pre {
	background: var(--bg-deep);
	color: var(--em-300);
}

@media (max-width: 600px) {
	.bn-tabs__tab { padding: var(--space-3); font-size: var(--fs-xs); }
	.bn-tabs__tab small { display: none; }
}


/* ============== SOLUCIÓN / SECTOR INDIVIDUAL HEAD ============== */
.bn-solution__head {
	padding: clamp(var(--space-12), 8vw, var(--space-16)) 0 var(--space-8);
}
.bn-solution__title {
	font-size: clamp(var(--fs-3xl), 5vw, var(--fs-4xl));
	margin-bottom: var(--space-3);
	background: linear-gradient(135deg, var(--text) 0%, var(--em-300) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bn-solution__tagline {
	font-size: var(--fs-md);
	color: var(--text-2);
	max-width: 70ch;
	line-height: var(--lh-relaxed);
}
.bn-solution__meta {
	display: flex;
	gap: var(--space-6);
	margin-top: var(--space-8);
	padding-top: var(--space-6);
	border-top: 1px solid var(--border);
	flex-wrap: wrap;
}
.bn-solution__meta-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bn-solution__meta-label {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--text-dim);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
.bn-solution__meta-value {
	font-family: var(--font-numbers);
	font-size: var(--fs-md);
	font-weight: 600;
	color: var(--em-300);
}


/* ============== DOLOR ============== */
.bn-pain {
	padding: var(--space-6);
	background: rgba(255, 107, 107, 0.06);
	border: 1px solid rgba(255, 107, 107, 0.30);
	border-left: 3px solid var(--state-alert);
	border-radius: var(--radius-md);
}
.bn-pain p {
	margin: var(--space-3) 0 0;
	color: var(--text-2);
	font-size: var(--fs-md);
	line-height: var(--lh-relaxed);
}


/* ============== DEMO PROMO ============== */
.bn-demo-promo {
	display: flex;
	gap: var(--space-5);
	align-items: center;
	padding: var(--space-6);
	background: linear-gradient(135deg, rgba(4, 120, 87, 0.10), rgba(20, 20, 20, 0.5));
	border: 1px solid var(--border-em);
	border-radius: var(--radius-md);
	flex-wrap: wrap;
}
.bn-demo-promo__icon {
	flex-shrink: 0;
	width: 64px; height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	background: linear-gradient(135deg, var(--em-700), var(--em-500));
	color: var(--text-on-em);
	box-shadow: 0 0 24px rgba(4, 120, 87, 0.40);
}
.bn-demo-promo__body { flex: 1; min-width: 240px; }
.bn-demo-promo__body h3 {
	margin: var(--space-1) 0 var(--space-3);
	color: var(--text);
}
.bn-demo-promo__body p { color: var(--text-2); margin-bottom: var(--space-3); }


/* ============== RELATED CARDS ============== */
.bn-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-4);
}
.bn-related-card {
	padding: var(--space-5);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	color: var(--text);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	transition: all var(--dur) var(--ease-out);
}
.bn-related-card:hover {
	transform: translateY(-3px);
	border-color: var(--em-500);
	color: var(--text);
}
.bn-related-card__code {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--em-400);
	text-transform: uppercase;
	letter-spacing: 0.12em;
}
.bn-related-card__title {
	font-size: var(--fs-md);
	font-weight: 600;
	margin: 0;
	color: var(--text);
}
.bn-related-card__desc {
	font-size: var(--fs-sm);
	color: var(--text-muted);
	margin: 0;
	flex: 1;
}
.bn-related-card__more {
	color: var(--em-400);
	font-size: var(--fs-sm);
	font-weight: 600;
}


/* ============== FAQ ACCORDION ============== */
.bn-faq {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.bn-faq__item {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: all var(--dur);
}
.bn-faq__item[open] {
	border-color: var(--em-500);
	box-shadow: 0 0 24px rgba(4, 120, 87, 0.10);
}
.bn-faq__q {
	padding: var(--space-5) var(--space-6);
	font-weight: 600;
	font-size: var(--fs-md);
	color: var(--text);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-3);
	transition: color var(--dur);
}
.bn-faq__q::-webkit-details-marker { display: none; }
.bn-faq__q::after {
	content: '+';
	font-family: var(--font-mono);
	font-size: var(--fs-xl);
	color: var(--em-400);
	transition: transform var(--dur) var(--ease-out);
	flex-shrink: 0;
	font-weight: 300;
}
.bn-faq__item[open] .bn-faq__q::after {
	transform: rotate(45deg);
}
.bn-faq__q:hover { color: var(--em-300); }
.bn-faq__a {
	padding: 0 var(--space-6) var(--space-5);
	color: var(--text-2);
	line-height: var(--lh-relaxed);
}
.bn-faq__a p { margin: 0; max-width: none; }

.bn-faq__more {
	margin-top: var(--space-8);
	text-align: center;
	color: var(--text-muted);
	font-size: var(--fs-sm);
}
.bn-faq__more a {
	color: var(--em-400);
	font-weight: 600;
	margin-left: var(--space-2);
}


/* ============== DIFFERENCIATORS LIST (Nosotros) ============== */
.bn-diff-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--space-4);
}
.bn-diff-item {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-5);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-left: 3px solid var(--em-700);
	border-radius: var(--radius);
}
.bn-diff-item strong {
	color: var(--em-300);
	font-size: var(--fs-md);
}
.bn-diff-item span {
	color: var(--text-muted);
	font-size: var(--fs-sm);
	line-height: 1.55;
}


/* ============== CONTACTO ============== */
.bn-contacto__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--space-12);
}
@media (max-width: 900px) {
	.bn-contacto__grid { grid-template-columns: 1fr; gap: var(--space-8); }
}

.bn-contacto__form-wrap h2 {
	margin-bottom: var(--space-3);
}
.bn-contacto-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.bn-contacto__info h2 { margin-bottom: var(--space-6); }

.bn-contact-method {
	display: flex;
	gap: var(--space-4);
	padding: var(--space-4);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	margin-bottom: var(--space-3);
	transition: all var(--dur);
}
.bn-contact-method:hover {
	border-color: var(--border-em);
}
.bn-contact-method__icon {
	flex-shrink: 0;
	width: 44px; height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	background: linear-gradient(135deg, rgba(4,120,87,0.18), rgba(52,211,153,0.10));
	color: var(--em-400);
}
.bn-contact-method__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
}
.bn-contact-method__body strong {
	color: var(--text);
	font-size: var(--fs-sm);
}
.bn-contact-method__body a {
	color: var(--em-300);
	font-weight: 500;
	font-size: var(--fs-sm);
}
.bn-contact-method__body span {
	color: var(--text-2);
	font-size: var(--fs-sm);
}
.bn-contact-method__body small {
	color: var(--text-dim);
	font-size: var(--fs-xs);
	font-family: var(--font-mono);
}

.bn-contacto__mapa {
	margin-top: var(--space-6);
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--border);
}


/* ============== LOPDP LANDING ============== */
.bn-multas-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-4);
}
.bn-multa {
	padding: var(--space-5);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-left: 3px solid var(--state-alert);
	border-radius: var(--radius-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}
.bn-multa--total { border-left-color: var(--em-500); }
.bn-multa__org {
	font-size: var(--fs-sm);
	color: var(--text-2);
	font-weight: 600;
}
.bn-multa__monto {
	font-family: var(--font-numbers);
	font-size: var(--fs-2xl);
	font-weight: 700;
	color: var(--state-alert);
	line-height: 1;
}
.bn-multa--total .bn-multa__monto { color: var(--em-300); }
.bn-multa__det {
	font-size: var(--fs-xs);
	color: var(--text-muted);
	font-family: var(--font-mono);
	line-height: 1.5;
}

.bn-callout {
	padding: var(--space-8);
	background: rgba(4, 120, 87, 0.08);
	border: 1px solid var(--border-em);
	border-radius: var(--radius-md);
}
.bn-multa-rules {
	list-style: none;
	padding: 0;
	margin: var(--space-4) 0 0;
}
.bn-multa-rules li {
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--border);
	color: var(--text-2);
	font-size: var(--fs-sm);
	line-height: var(--lh-relaxed);
}
.bn-multa-rules li:last-child { border-bottom: 0; }
.bn-multa-rules li strong { color: var(--em-300); }

.bn-checklist {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: var(--space-3);
}
.bn-check-item {
	padding: var(--space-4);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	font-size: var(--fs-sm);
	color: var(--text-2);
	line-height: var(--lh-snug);
	display: flex;
	gap: var(--space-3);
	align-items: flex-start;
}
.bn-check-item::before {
	content: '☐';
	color: var(--em-400);
	font-size: var(--fs-md);
	flex-shrink: 0;
	font-family: var(--font-mono);
}


/* ============== BLOG TEASER (Home) ============== */
.bn-blog-teaser__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--space-5);
}
.bn-blog-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-5);
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: var(--radius-md);
	color: var(--text);
	text-decoration: none;
	transition: all var(--dur);
}
.bn-blog-card:hover {
	transform: translateY(-3px);
	border-color: var(--em-500);
	color: var(--text);
}
.bn-blog-card__date {
	font-family: var(--font-mono);
	font-size: var(--fs-xs);
	color: var(--text-dim);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.bn-blog-card__title {
	font-size: var(--fs-md);
	font-weight: 600;
	margin: 0;
	color: var(--text);
	line-height: 1.3;
}
.bn-blog-card__excerpt {
	font-size: var(--fs-sm);
	color: var(--text-muted);
	flex: 1;
	margin: 0;
}
.bn-blog-card__more {
	color: var(--em-400);
	font-size: var(--fs-sm);
	font-weight: 600;
	margin-top: var(--space-2);
}

/* ── Hero branded en pages individuales (sector / solución / kit) ── */
.bn-has-hero {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: auto;
}
.bn-has-hero .bn-solution__head,
.bn-has-hero header.bn-solution__head {
	padding-top: var(--space-12);
	padding-bottom: var(--space-10);
	background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.0) 100%);
}
@media (max-width: 768px) {
	.bn-has-hero .bn-solution__head,
	.bn-has-hero header.bn-solution__head {
		padding-top: var(--space-8);
		padding-bottom: var(--space-6);
	}
}

/* ── Chips de etiquetas en solucion-individual ── */
.bn-solution__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: var(--space-4) 0 var(--space-5);
}
.bn-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 100px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(16, 185, 129, 0.18);
	color: var(--text, #f1f5f9);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.01em;
}
.bn-chip .bn-icon {
	color: var(--em-400, #34d399);
}
.bn-chip--cat.is-express     { background: rgba(16, 185, 129, 0.14); border-color: rgba(16, 185, 129, 0.35); }
.bn-chip--cat.is-preventivo  { background: rgba(59, 130, 246, 0.12); border-color: rgba(59, 130, 246, 0.35); }
.bn-chip--cat.is-preventivo .bn-icon { color: #60a5fa; }
.bn-chip--cat.is-reactivo    { background: rgba(239, 68, 68, 0.12);  border-color: rgba(239, 68, 68, 0.35); }
.bn-chip--cat.is-reactivo .bn-icon { color: #f87171; }
.bn-chip--cat.is-continuo    { background: rgba(168, 85, 247, 0.12); border-color: rgba(168, 85, 247, 0.35); }
.bn-chip--cat.is-continuo .bn-icon { color: #c084fc; }
.bn-chip--cat.is-kit         { background: rgba(245, 158, 11, 0.12); border-color: rgba(245, 158, 11, 0.35); }
.bn-chip--cat.is-kit .bn-icon { color: #fbbf24; }

/* ── Breadcrumbs envolventes (sector → soluciones) ── */
.bn-bc-trail {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 12px;
	color: var(--text-muted, #a3afc7);
	margin-bottom: var(--space-3);
	font-family: var(--font-mono, monospace);
}
.bn-bc-trail a {
	color: var(--em-400, #34d399);
	text-decoration: none;
	transition: opacity .2s;
}
.bn-bc-trail a:hover { opacity: .8; }
.bn-bc-trail__sep {
	color: var(--text-dim, #64726c);
	margin: 0 2px;
}

/* ── Bloque de "navegación envolvente" al final de cada solución ── */
.bn-related-nav {
	margin-top: var(--space-12);
	padding: var(--space-6) var(--space-6);
	background: rgba(4, 120, 87, 0.06);
	border: 1px solid rgba(16, 185, 129, 0.18);
	border-radius: 14px;
}
.bn-related-nav__title {
	font-family: var(--font-mono, monospace);
	font-size: 12px;
	color: var(--em-400, #34d399);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin: 0 0 16px;
}
.bn-related-nav__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
}
.bn-related-nav__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: var(--bg-elevated, #14181f);
	border: 1px solid var(--border, #1f2a25);
	border-radius: 10px;
	color: var(--text, #f1f5f9);
	text-decoration: none;
	font-size: 13px;
	transition: all .2s;
}
.bn-related-nav__item:hover {
	border-color: var(--em-400, #34d399);
	background: rgba(4, 120, 87, 0.10);
	transform: translateX(2px);
}
.bn-related-nav__item .bn-icon { color: var(--em-400, #34d399); }
.bn-related-nav__item-codigo {
	font-family: var(--font-mono, monospace);
	font-size: 10px;
	color: var(--text-dim, #64726c);
	margin-left: auto;
}

/* ── Blog Single ── */
.bn-single__title {
	margin: var(--space-3) 0 var(--space-4);
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.15;
}
.bn-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	color: var(--text-muted, #a3afc7);
	font-size: 13px;
	font-family: var(--font-mono, monospace);
	margin-bottom: var(--space-6);
}
.bn-single__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.bn-single__meta-item .bn-icon {
	color: var(--em-400, #34d399);
}
.bn-single__featured {
	margin: var(--space-6) 0;
	border-radius: 16px;
	overflow: hidden;
}
.bn-single__featured img {
	width: 100%;
	height: auto;
	display: block;
}

/* Prose / contenido del post */
.bn-prose {
	font-size: 17px;
	line-height: 1.75;
	color: var(--text, #f1f5f9);
}
.bn-prose h2 {
	margin: var(--space-8) 0 var(--space-3);
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 700;
	color: var(--text);
	border-left: 3px solid var(--em-400, #34d399);
	padding-left: 14px;
	line-height: 1.25;
}
.bn-prose h3 {
	margin: var(--space-6) 0 var(--space-2);
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 600;
	color: var(--em-400, #34d399);
}
.bn-prose h4 {
	margin: var(--space-5) 0 var(--space-2);
	font-size: 16px;
	font-weight: 600;
	color: var(--text);
}
.bn-prose p { margin: 0 0 var(--space-4); }
.bn-prose ul, .bn-prose ol {
	margin: 0 0 var(--space-4);
	padding-left: 1.5em;
}
.bn-prose li { margin-bottom: 6px; }
.bn-prose a {
	color: var(--em-400, #34d399);
	text-decoration: underline;
	text-decoration-color: rgba(16, 185, 129, 0.3);
	text-underline-offset: 3px;
}
.bn-prose a:hover {
	text-decoration-color: var(--em-400, #34d399);
}
.bn-prose blockquote {
	margin: var(--space-5) 0;
	padding: var(--space-4) var(--space-5);
	background: rgba(4, 120, 87, 0.06);
	border-left: 4px solid var(--em-500, #10b981);
	border-radius: 6px;
	font-style: italic;
	color: var(--text);
}
.bn-prose code {
	background: rgba(255,255,255,0.06);
	padding: 2px 6px;
	border-radius: 4px;
	font-family: var(--font-mono, monospace);
	font-size: 0.9em;
	color: var(--em-400, #34d399);
}
.bn-prose pre {
	background: var(--bg-deep, #0a0a0a);
	border: 1px solid var(--border, #1f2a25);
	padding: var(--space-4);
	border-radius: 8px;
	overflow-x: auto;
	font-family: var(--font-mono, monospace);
	font-size: 13px;
	line-height: 1.55;
}
.bn-prose img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	margin: var(--space-5) 0;
}
.bn-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--space-5) 0;
	font-size: 14px;
}
.bn-prose table th {
	background: rgba(4, 120, 87, 0.08);
	color: var(--em-400);
	padding: 10px 12px;
	text-align: left;
	font-weight: 600;
	border-bottom: 2px solid var(--em-700, #047857);
}
.bn-prose table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--border, #1f2a25);
}

.bn-single__tags {
	margin: var(--space-6) 0;
	padding-top: var(--space-5);
	border-top: 1px solid var(--border, #1f2a25);
}
.bn-single__tags .bn-chip {
	margin-right: 6px;
	margin-bottom: 6px;
	text-decoration: none;
}

/* ── Archive ── */
.bn-archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--space-5);
	margin-bottom: var(--space-8);
}
.bn-archive-card {
	background: var(--bg-elevated, #14181f);
	border: 1px solid var(--border, #1f2a25);
	border-radius: 14px;
	overflow: hidden;
	transition: all .25s;
}
.bn-archive-card:hover {
	border-color: var(--em-400, #34d399);
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(4, 120, 87, 0.15);
}
.bn-archive-card__link {
	display: block;
	text-decoration: none;
	color: var(--text, #f1f5f9);
}
.bn-archive-card__thumb {
	aspect-ratio: 16/9;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.bn-archive-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bn-archive-card__body {
	padding: var(--space-4) var(--space-5);
}
.bn-archive-card__cat {
	display: inline-block;
	font-family: var(--font-mono, monospace);
	font-size: 10px;
	color: var(--em-400, #34d399);
	letter-spacing: 0.12em;
	margin-bottom: 8px;
}
.bn-archive-card__title {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
}
.bn-archive-card__excerpt {
	font-size: 14px;
	color: var(--text-muted, #a3afc7);
	line-height: 1.5;
	margin: 0 0 var(--space-3);
}
.bn-archive-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-mono, monospace);
	font-size: 11px;
	color: var(--text-dim, #64726c);
	padding-top: var(--space-3);
	border-top: 1px solid var(--border, #1f2a25);
}
.bn-archive-card__read-more {
	color: var(--em-400, #34d399);
	font-weight: 600;
}
.bn-archive-empty {
	text-align: center;
	padding: var(--space-12) var(--space-4);
}
.bn-pagination {
	margin-top: var(--space-8);
	display: flex;
	justify-content: center;
}
.bn-pagination .nav-links {
	display: flex;
	gap: 8px;
}
.bn-pagination a, .bn-pagination span {
	padding: 10px 14px;
	border: 1px solid var(--border, #1f2a25);
	border-radius: 8px;
	color: var(--text);
	text-decoration: none;
	font-size: 14px;
}
.bn-pagination .current {
	background: var(--em-700, #047857);
	border-color: var(--em-500);
	color: #fff;
}

/* ── Carreras form ── */
.bn-careers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-3);
	margin: var(--space-5) 0 var(--space-8);
}
.bn-career-card {
	background: var(--bg-elevated, #14181f);
	border: 1px solid var(--border, #1f2a25);
	border-radius: 12px;
	padding: var(--space-4);
	position: relative;
}
.bn-career-card__tag {
	position: absolute;
	top: 12px;
	right: 12px;
	font-family: var(--font-mono, monospace);
	font-size: 10px;
	color: var(--em-400);
	background: rgba(4, 120, 87, 0.15);
	padding: 3px 8px;
	border-radius: 4px;
	letter-spacing: 0.08em;
}
.bn-career-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
}
.bn-career-card p {
	margin: 0;
	font-size: 13px;
	color: var(--text-muted);
	line-height: 1.5;
}
.bn-careers-form {
	margin-top: var(--space-5);
}
.bn-careers-form input[type="file"] {
	cursor: pointer;
}
