/* ==========================================================================
   BPI División de Tecnología — estilos alineados a la línea gráfica de BPI
   (tema Linoor: Teko para títulos, Rubik para texto, borgoña #7e112d).
   ========================================================================== */

.bpi-dt {
	--bpi-borgona: #7e112d;
	--bpi-borgona-osc: #5c0c21;
	--bpi-borgona-suave: #f6edef;
	--bpi-gris: #a1a0a0;
	--bpi-oscuro: #222429;
	--bpi-texto: #686a6f;
	--bpi-fondo: #f4f4f5;
	--bpi-borde: #e9e9ec;
	/* Paleta de la portada (primario borgoña + contraste azul). */
	--bpi-primario: #7c122f;
	--bpi-contraste: #356b8c;
	--bpi-contraste-suave: #c9dee9;
	--bpi-claro: #f3f7fa;
	--bpi-texto-oscuro: #25343d;
	--bpi-acento: #cb3343;
	--bpi-titulo: var(--thm-font, "Teko", sans-serif);
	--bpi-cuerpo: var(--thm-b-font, "Rubik", sans-serif);
	--bpi-radio: 10px;
	--bpi-sombra: 0 18px 45px rgba(34, 36, 41, 0.10);

	position: relative;
	font-family: var(--bpi-cuerpo);
	color: var(--bpi-texto);
	overflow: hidden;
	/* "clip" no crea contenedor de scroll: permite position: sticky en el interior. */
	overflow: clip;
}

/* Iconos de Elementor: fuente (<i>) o SVG en línea. */
.bpi-dt svg.e-font-icon-svg,
.bpi-dt .bpi-dt-icono-svg svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

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

.bpi-dt section {
	position: relative;
}

.bpi-dt ul,
.bpi-dt ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

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

.bpi-dt .sec-title h2 {
	font-size: clamp(42px, 6vw, 70px);
}

.bpi-dt .sec-title h2 .dot {
	color: var(--bpi-gris);
}

.bpi-dt .sec-title .lower-text {
	color: var(--bpi-texto);
	line-height: 30px;
}

.bpi-dt .sec-title.centered {
	max-width: 760px;
}

/* Etiqueta superior */
.bpi-dt-etiqueta {
	display: inline-block;
	margin-bottom: 22px;
	padding-left: 14px;
	border-left: 3px solid var(--bpi-gris);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.4;
	text-transform: uppercase;
	color: #fff;
}

/* Botones (reutilizan .btn-style-one del tema) */
.bpi-dt .bpi-dt-btn-primario {
	background: var(--bpi-borgona);
}

.bpi-dt .bpi-dt-btn-primario .btn-curve {
	background: var(--bpi-oscuro);
}

.bpi-dt-hero .bpi-dt-btn-primario,
.bpi-dt-ficha .bpi-dt-btn-primario,
.bpi-dt-faq__cta .bpi-dt-btn-primario {
	background: #fff;
}

.bpi-dt-hero .bpi-dt-btn-primario .btn-title,
.bpi-dt-ficha .bpi-dt-btn-primario .btn-title,
.bpi-dt-faq__cta .bpi-dt-btn-primario .btn-title {
	color: var(--bpi-borgona);
	transition: color 0.4s ease;
}

.bpi-dt-hero .bpi-dt-btn-primario .btn-curve,
.bpi-dt-ficha .bpi-dt-btn-primario .btn-curve,
.bpi-dt-faq__cta .bpi-dt-btn-primario .btn-curve {
	background: var(--bpi-borgona);
}

.bpi-dt-hero .bpi-dt-btn-primario:hover .btn-title,
.bpi-dt-ficha .bpi-dt-btn-primario:hover .btn-title,
.bpi-dt-faq__cta .bpi-dt-btn-primario:hover .btn-title {
	color: #fff;
}

.bpi-dt-botones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 34px;
	margin-top: 38px;
}

.bpi-dt-btn-linea {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
	transition: gap 0.3s ease, border-color 0.3s ease;
}

.bpi-dt-btn-linea:hover,
.bpi-dt-btn-linea:focus {
	gap: 16px;
	color: #fff;
	border-color: #fff;
}

/* ==========================================================================
   Hero
   ========================================================================== */
.bpi-dt-hero {
	/* Espacio superior para la cabecera transparente del tema. */
	padding: 220px 0 210px;
	border-bottom: 3px solid var(--bpi-contraste);
	background-color: #2a0711;
	background-position: center;
	background-size: cover;
}

/* Velo borgoña profundo con un halo azul detrás del panel. */
.bpi-dt-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 50% 65% at 80% 48%, rgba(53, 107, 140, 0.35), transparent 70%),
		linear-gradient(115deg, rgba(26, 5, 11, 0.97) 0%, rgba(74, 10, 28, 0.93) 48%, rgba(124, 18, 47, 0.82) 100%);
}

/* Trama de puntos en azul suave. */
.bpi-dt-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(201, 222, 233, 0.2) 1px, transparent 1px);
	background-size: 26px 26px;
	mask-image: linear-gradient(90deg, transparent 40%, #000 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 40%, #000 100%);
}

.bpi-dt-hero .bpi-dt-etiqueta {
	border-left-color: var(--bpi-contraste-suave);
	color: var(--bpi-contraste-suave);
}

.bpi-dt-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: 60px;
	align-items: center;
}

.bpi-dt .bpi-dt-hero__titulo {
	margin: 0;
	letter-spacing: 0;
	font-family: var(--bpi-titulo);
	font-size: clamp(50px, 7vw, 92px);
	font-weight: 400;
	line-height: 0.9;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt-hero .bpi-dt-hero__titulo strong {
	font-weight: 600;
	color: var(--bpi-contraste-suave);
	background: linear-gradient(90deg, #fff 0%, var(--bpi-contraste-suave) 70%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.bpi-dt-hero__titulo .dot {
	padding-left: 6px;
	color: var(--bpi-contraste-suave);
}

.bpi-dt-hero__parrafo {
	max-width: 580px;
	margin: 28px 0 0;
	font-size: 17px;
	line-height: 1.8;
	color: rgba(243, 247, 250, 0.82);
}

/* Botones de la portada: primario azul y enlace en azul suave. */
.bpi-dt .bpi-dt-hero .bpi-dt-btn-primario {
	background: var(--bpi-contraste);
	box-shadow: 0 12px 30px rgba(10, 30, 45, 0.35);
}

.bpi-dt .bpi-dt-hero .bpi-dt-btn-primario .btn-title {
	color: #fff;
}

.bpi-dt .bpi-dt-hero .bpi-dt-btn-primario .btn-curve {
	background: var(--bpi-claro);
}

.bpi-dt .bpi-dt-hero .bpi-dt-btn-primario:hover .btn-title {
	color: var(--bpi-primario);
}

.bpi-dt-hero .bpi-dt-btn-linea {
	border-bottom-color: rgba(201, 222, 233, 0.5);
	color: var(--bpi-contraste-suave);
}

.bpi-dt-hero .bpi-dt-btn-linea:hover,
.bpi-dt-hero .bpi-dt-btn-linea:focus {
	border-color: #fff;
	color: #fff;
}

.bpi-dt-hero__destacados {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 40px !important;
}

.bpi-dt-hero__destacados li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border: 1px solid rgba(201, 222, 233, 0.3);
	border-radius: 40px;
	background: rgba(201, 222, 233, 0.07);
	font-size: 14px;
	color: var(--bpi-claro);
}

.bpi-dt-hero__destacados i {
	color: var(--bpi-contraste-suave);
}

/* Panel tipo aplicación: tarjeta clara con acentos azules para contrastar con el fondo borgoña. */
.bpi-dt-hero__panel {
	position: relative;
	overflow: hidden;
	padding: 28px 24px 20px;
	border: 1px solid rgba(53, 107, 140, 0.55);
	border-radius: 14px;
	background: var(--bpi-claro);
	box-shadow: 0 30px 60px rgba(20, 4, 10, 0.45), 0 0 0 6px rgba(201, 222, 233, 0.12);
	animation: bpi-dt-flotar 6s ease-in-out infinite;
}

/* Franja superior borgoña → azul */
.bpi-dt-hero__panel::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--bpi-primario), var(--bpi-contraste) 55%, var(--bpi-contraste-suave));
}

.bpi-dt-panel__cabecera {
	display: flex;
	align-items: center;
	gap: 6px;
	padding-bottom: 18px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--bpi-contraste-suave);
}

.bpi-dt-panel__cabecera span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--bpi-contraste-suave);
}

.bpi-dt-panel__cabecera span:first-child {
	background: var(--bpi-acento);
}

.bpi-dt-panel__cabecera span:nth-child(2) {
	background: var(--bpi-contraste);
}

.bpi-dt-panel__cabecera strong {
	margin-left: 10px;
	font-family: var(--bpi-titulo);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-primario);
}

.bpi-dt-panel__lista li {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 -10px;
	padding: 9px 10px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 500;
	color: var(--bpi-texto-oscuro);
	transition: background-color 0.25s ease, transform 0.25s ease;
}

.bpi-dt-panel__lista li + li {
	border-top: 1px dashed rgba(164, 161, 162, 0.35);
}

.bpi-dt-panel__lista li:hover {
	background: rgba(201, 222, 233, 0.55);
	transform: translateX(4px);
}

.bpi-dt-panel__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	height: 38px;
	border-radius: 8px;
	background: var(--bpi-primario);
	box-shadow: inset 0 0 0 1px rgba(53, 107, 140, 0.45);
	font-size: 15px;
	color: var(--bpi-contraste-suave);
}

.bpi-dt-panel__lista em {
	margin-left: auto;
	padding: 3px 10px 3px 20px;
	border: 1px solid rgba(53, 107, 140, 0.4);
	border-radius: 20px;
	background: rgba(201, 222, 233, 0.6) radial-gradient(circle at 10px 50%, #2e8b57 3px, transparent 4px);
	font-size: 12px;
	font-weight: 500;
	font-style: normal;
	color: var(--bpi-primario);
}

@keyframes bpi-dt-flotar {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-12px);
	}
}

/* ==========================================================================
   Cifras
   ========================================================================== */
.bpi-dt-cifras {
	position: relative;
	z-index: 2;
	margin-top: -100px;
}

.bpi-dt-cifras__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--bpi-contraste-suave);
	border-radius: var(--bpi-radio);
	background: var(--bpi-claro);
	box-shadow: 0 24px 50px rgba(37, 52, 61, 0.16);
	overflow: hidden;
}

/* Franja inferior borgoña → azul, a juego con el panel. */
.bpi-dt-cifras__grid::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 4px;
	background: linear-gradient(90deg, var(--bpi-primario), var(--bpi-contraste) 55%, var(--bpi-contraste-suave));
}

.bpi-dt-cifras__grid li {
	padding: 38px 30px;
	text-align: center;
	transition: background-color 0.3s ease;
}

.bpi-dt-cifras__grid li:hover {
	background: rgba(201, 222, 233, 0.45);
}

.bpi-dt-cifras__grid li + li {
	border-left: 1px solid var(--bpi-contraste-suave);
}

.bpi-dt-cifras__grid strong {
	display: block;
	font-family: var(--bpi-titulo);
	font-size: 66px;
	font-weight: 500;
	line-height: 0.9;
	color: var(--bpi-primario);
}

/* Pequeño trazo de acento bajo cada cifra. */
.bpi-dt-cifras__grid strong::after {
	content: "";
	display: block;
	width: 28px;
	height: 2px;
	margin: 10px auto 0;
	background: var(--bpi-acento);
}

.bpi-dt-cifras__grid span {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(37, 52, 61, 0.75);
}

/* ==========================================================================
   Sobre la división
   ========================================================================== */
.bpi-dt-intro {
	padding: 110px 0 120px;
}

.bpi-dt-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 80px;
	align-items: center;
}

.bpi-dt-intro .sec-title {
	margin-bottom: 30px;
}

.bpi-dt-intro__destacado {
	margin: 0 0 40px;
	padding: 22px 28px;
	border: 0;
	border-left: 4px solid var(--bpi-borgona);
	border-radius: 0 var(--bpi-radio) var(--bpi-radio) 0;
	background: var(--bpi-borgona-suave);
	font-size: 17px;
	font-style: italic;
	line-height: 1.7;
	color: var(--bpi-oscuro);
}

.bpi-dt-intro__pilares {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.bpi-dt-intro__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: var(--bpi-borgona);
	font-size: 20px;
	color: #fff;
	box-shadow: 0 10px 22px rgba(126, 17, 45, 0.28);
}

.bpi-dt-intro__pilares h4 {
	margin: 0 0 8px;
	font-family: var(--bpi-titulo);
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-intro__pilares p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

.bpi-dt-intro__imagen {
	position: relative;
	margin: 0 24px 24px 0;
}

.bpi-dt-intro__imagen::after {
	content: "";
	position: absolute;
	top: 24px;
	left: 24px;
	right: -24px;
	bottom: -24px;
	border: 2px solid var(--bpi-borgona);
	border-radius: var(--bpi-radio);
}

.bpi-dt-intro__imagen img {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 9 / 11;
	object-fit: cover;
	border-radius: var(--bpi-radio);
}

.bpi-dt-intro__insignia {
	position: absolute;
	z-index: 2;
	left: -30px;
	bottom: 40px;
	min-width: 170px;
	padding: 24px 28px;
	border-radius: var(--bpi-radio);
	background: var(--bpi-borgona);
	box-shadow: var(--bpi-sombra);
	color: #fff;
}

.bpi-dt .bpi-dt-intro__insignia strong {
	display: block;
	color: #fff;
	font-family: var(--bpi-titulo);
	font-size: 64px;
	font-weight: 500;
	line-height: 0.85;
}

.bpi-dt-intro__insignia span {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* ==========================================================================
   Soluciones
   ========================================================================== */
.bpi-dt-productos {
	padding: 110px 0 120px;
}

.bpi-dt-productos__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.bpi-dt-producto {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--bpi-borde);
	border-radius: var(--bpi-radio);
	background: #fff;
	overflow: hidden;
	transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.bpi-dt-producto:hover {
	transform: translateY(-8px);
	border-color: transparent;
	box-shadow: var(--bpi-sombra);
}

.bpi-dt-producto__imagen {
	position: relative;
}

.bpi-dt-producto__foto {
	position: relative;
	aspect-ratio: 10 / 7;
	overflow: hidden;
}

.bpi-dt-producto__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s ease;
}

.bpi-dt-producto__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(126, 17, 45, 0) 45%, rgba(126, 17, 45, 0.55) 100%);
	opacity: 0.6;
	transition: opacity 0.4s ease;
}

.bpi-dt-producto:hover .bpi-dt-producto__foto img {
	transform: scale(1.06);
}

.bpi-dt-producto:hover .bpi-dt-producto__foto::after {
	opacity: 1;
}

.bpi-dt-producto__icono {
	position: absolute;
	z-index: 1;
	left: 28px;
	bottom: -30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 8px;
	background: var(--bpi-borgona);
	box-shadow: 0 10px 25px rgba(126, 17, 45, 0.35);
	font-size: 24px;
	color: #fff;
	transition: background 0.4s ease;
}

.bpi-dt-producto:hover .bpi-dt-producto__icono {
	background: var(--bpi-oscuro);
}

.bpi-dt-producto__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 48px 28px 28px;
}

.bpi-dt-producto__categoria {
	min-height: 3em;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--bpi-borgona);
}

.bpi-dt-producto__nombre {
	margin: 6px 0 12px;
	font-family: var(--bpi-titulo);
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-producto__cuerpo p {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.75;
}

.bpi-dt-producto__lista {
	margin-bottom: 24px !important;
}

.bpi-dt-producto__lista li {
	position: relative;
	padding: 5px 0 5px 26px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--bpi-oscuro);
}

.bpi-dt-producto__lista li::before {
	content: "\f00c";
	position: absolute;
	left: 0;
	top: 6px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 12px;
	color: var(--bpi-borgona);
}

.bpi-dt-producto__enlace {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid var(--bpi-borde);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--bpi-borgona);
	transition: gap 0.3s ease, color 0.3s ease;
}

.bpi-dt-producto__enlace:hover,
.bpi-dt-producto__enlace:focus {
	gap: 16px;
	color: var(--bpi-oscuro);
}

/* ==========================================================================
   Ciclo integrado
   ========================================================================== */
.bpi-dt-ciclo {
	padding: 110px 0;
	background-color: var(--bpi-oscuro);
	background-position: center;
	background-size: cover;
}

.bpi-dt-ciclo::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(34, 36, 41, 0.95) 0%, rgba(34, 36, 41, 0.88) 60%, rgba(92, 12, 33, 0.92) 100%);
}

.bpi-dt-ciclo .auto-container {
	position: relative;
	z-index: 1;
}

.bpi-dt .bpi-dt-claro h2 {
	color: #fff;
}

.bpi-dt .bpi-dt-claro .lower-text {
	color: rgba(255, 255, 255, 0.75);
}

.bpi-dt-ciclo__pasos {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--bpi-dt-pasos, 5), minmax(0, 1fr));
	gap: 24px;
	margin-top: 20px !important;
}

.bpi-dt-ciclo__pasos::before {
	content: "";
	position: absolute;
	top: 44px;
	left: 10%;
	right: 10%;
	border-top: 2px dashed rgba(161, 160, 160, 0.45);
}

.bpi-dt-ciclo__pasos li {
	position: relative;
	text-align: center;
}

.bpi-dt-ciclo__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	background: var(--bpi-oscuro);
	font-size: 28px;
	color: var(--bpi-gris);
	transition: all 0.4s ease;
}

.bpi-dt-ciclo__pasos li:hover .bpi-dt-ciclo__icono {
	border-color: var(--bpi-borgona);
	background: var(--bpi-borgona);
	color: #fff;
	transform: scale(1.06);
}

.bpi-dt-ciclo__numero {
	display: block;
	margin-top: 18px;
	font-family: var(--bpi-titulo);
	font-size: 18px;
	letter-spacing: 0.15em;
	line-height: 1;
	color: var(--bpi-gris);
}

.bpi-dt-ciclo__pasos strong {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-height: 2em;
	margin-top: 6px;
	font-family: var(--bpi-titulo);
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt-ciclo__pasos em {
	display: inline-block;
	margin-top: 12px;
	padding: 4px 12px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.08);
	font-size: 13px;
	font-style: normal;
	color: rgba(255, 255, 255, 0.75);
}

.bpi-dt-ciclo__nota {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 60px 0 0;
	font-size: 16px;
	text-align: center;
	color: rgba(255, 255, 255, 0.75);
}

.bpi-dt-ciclo__nota i {
	color: var(--bpi-gris);
}

.bpi-dt-ciclo__nota strong {
	color: #fff;
}

/* ==========================================================================
   Beneficios
   ========================================================================== */
.bpi-dt-beneficios {
	padding: 120px 0;
}

.bpi-dt-beneficios__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 80px;
	align-items: center;
}

.bpi-dt-beneficios__imagen {
	position: relative;
	margin: 24px 0 0 24px;
}

.bpi-dt-beneficios__imagen::before {
	content: "";
	position: absolute;
	top: -24px;
	left: -24px;
	width: 65%;
	height: 65%;
	border-radius: var(--bpi-radio);
	background: var(--bpi-borgona);
}

.bpi-dt-beneficios__imagen img {
	position: relative;
	width: 100%;
	aspect-ratio: 10 / 11;
	object-fit: cover;
	border-radius: var(--bpi-radio);
}

.bpi-dt-beneficios__sello {
	position: absolute;
	right: -20px;
	bottom: 36px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 24px;
	border-radius: var(--bpi-radio);
	background: var(--bpi-oscuro);
	box-shadow: var(--bpi-sombra);
	font-family: var(--bpi-titulo);
	font-size: 20px;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt-beneficios__sello > i,
.bpi-dt-beneficios__sello > svg {
	flex: 0 0 auto;
	font-size: 28px;
	color: var(--bpi-gris);
	fill: var(--bpi-gris);
}

.bpi-dt-beneficios__texto .sec-title {
	margin-bottom: 40px;
}

.bpi-dt-beneficios__lista {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px 34px;
}

.bpi-dt-beneficios__lista li {
	display: flex;
	gap: 18px;
}

.bpi-dt-beneficios__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 56px;
	height: 56px;
	border-radius: 8px;
	background: var(--bpi-borgona-suave);
	font-size: 22px;
	color: var(--bpi-borgona);
	transition: all 0.4s ease;
}

.bpi-dt-beneficios__lista li:hover .bpi-dt-beneficios__icono {
	background: var(--bpi-borgona);
	color: #fff;
}

.bpi-dt-beneficios__lista h4 {
	margin: 2px 0 6px;
	font-family: var(--bpi-titulo);
	font-size: 25px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-beneficios__lista p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

/* ==========================================================================
   Sectores
   ========================================================================== */
.bpi-dt-sectores {
	padding: 110px 0;
	background: var(--bpi-fondo);
}

.bpi-dt-sectores__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.bpi-dt-sectores__grid li {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 28px 30px;
	border-radius: var(--bpi-radio);
	background: #fff;
	transition: all 0.4s ease;
}

.bpi-dt-sectores__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	font-size: 30px;
	color: var(--bpi-borgona);
	transition: color 0.4s ease;
}

.bpi-dt-sectores__texto {
	font-family: var(--bpi-titulo);
	font-size: 24px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
	transition: color 0.4s ease;
}

.bpi-dt-sectores__grid li:hover {
	background: var(--bpi-borgona);
	transform: translateY(-4px);
}

.bpi-dt-sectores__grid li:hover .bpi-dt-sectores__icono,
.bpi-dt-sectores__grid li:hover .bpi-dt-sectores__texto {
	color: #fff;
}

/* ==========================================================================
   Implementación
   ========================================================================== */
.bpi-dt-implementacion {
	padding: 110px 0 100px;
}

.bpi-dt-implementacion__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.bpi-dt-implementacion__grid li {
	position: relative;
	padding: 36px 10px 0 0;
	border-top: 3px solid var(--bpi-borde);
}

.bpi-dt-implementacion__grid li::before {
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	width: 40px;
	height: 3px;
	background: var(--bpi-borgona);
	transition: width 0.6s ease;
}

.bpi-dt-implementacion__grid li:hover::before {
	width: 100%;
}

.bpi-dt-implementacion__numero {
	display: block;
	font-family: var(--bpi-titulo);
	font-size: 84px;
	font-weight: 600;
	line-height: 0.8;
	color: transparent;
	-webkit-text-stroke: 1px var(--bpi-borgona);
}

.bpi-dt-implementacion__grid h4 {
	margin: 18px 0 10px;
	font-family: var(--bpi-titulo);
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-implementacion__grid p {
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
}

/* ==========================================================================
   Preguntas frecuentes + CTA
   ========================================================================== */
.bpi-dt-faq {
	padding: 20px 0 120px;
}

.bpi-dt-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 70px;
	align-items: start;
}

.bpi-dt-faq__grid--solo {
	grid-template-columns: minmax(0, 1fr);
	max-width: 900px;
	margin: 0 auto;
}

.bpi-dt-faq__cta {
	position: sticky;
	top: 120px;
	padding: 60px 44px;
	border-radius: var(--bpi-radio);
	background-color: var(--bpi-borgona);
	background-position: center;
	background-size: cover;
	overflow: hidden;
	color: #fff;
}

.bpi-dt-faq__cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(126, 17, 45, 0.94) 0%, rgba(34, 36, 41, 0.92) 100%);
}

.bpi-dt-faq__cta > * {
	position: relative;
}

.bpi-dt-faq__cta h3 {
	margin: 0 0 18px;
	font-family: var(--bpi-titulo);
	font-size: clamp(38px, 4vw, 52px);
	font-weight: 500;
	line-height: 0.95;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt-faq__cta p {
	margin: 0 0 34px;
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.85);
}

.bpi-dt-faq__lista .sec-title {
	margin-bottom: 26px;
}

.bpi-dt-faq__item {
	border-bottom: 1px solid var(--bpi-borde);
}

.bpi-dt-faq__item summary {
	position: relative;
	padding: 24px 50px 24px 0;
	cursor: pointer;
	list-style: none;
	font-family: var(--bpi-titulo);
	font-size: 26px;
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
	transition: color 0.3s ease;
}

.bpi-dt-faq__item summary::-webkit-details-marker {
	display: none;
}

.bpi-dt-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	border-radius: 50%;
	background: var(--bpi-fondo);
	font-family: var(--bpi-cuerpo);
	font-size: 20px;
	line-height: 1;
	color: var(--bpi-borgona);
	transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.bpi-dt-faq__item[open] summary,
.bpi-dt-faq__item summary:hover {
	color: var(--bpi-borgona);
}

.bpi-dt-faq__item[open] summary::after {
	transform: rotate(45deg);
	background: var(--bpi-borgona);
	color: #fff;
}

.bpi-dt-faq__item summary:focus-visible {
	outline: 2px solid var(--bpi-borgona);
	outline-offset: 4px;
}

.bpi-dt-faq__item p {
	margin: 0;
	padding: 0 50px 26px 0;
	font-size: 15px;
	line-height: 1.8;
}

/* ==========================================================================
   Ficha de producto: portada
   ========================================================================== */
.bpi-dt-ficha {
	padding: 210px 0 120px;
	background:
		radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.08), transparent 45%),
		linear-gradient(120deg, var(--bpi-oscuro) 0%, var(--bpi-borgona-osc) 55%, var(--bpi-borgona) 100%);
}

.bpi-dt-ficha::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
	background-size: 26px 26px;
	mask-image: linear-gradient(90deg, transparent 35%, #000 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 100%);
	pointer-events: none;
}

.bpi-dt-ficha__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 60px;
	align-items: center;
}

.bpi-dt .bpi-dt-ficha__titulo {
	margin: 0;
	font-family: var(--bpi-titulo);
	font-size: clamp(60px, 8vw, 104px);
	font-weight: 400;
	line-height: 0.85;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt .bpi-dt-ficha__titulo strong {
	font-weight: 600;
	color: #fff;
}

.bpi-dt-ficha__titulo .dot {
	padding-left: 6px;
	color: var(--bpi-gris);
}

.bpi-dt-ficha__subtitulo {
	margin: 18px 0 0;
	font-family: var(--bpi-titulo);
	font-size: 30px;
	line-height: 1;
	text-transform: uppercase;
	color: #e9c9d1;
}

.bpi-dt-ficha__parrafo {
	margin: 22px 0 0;
	font-size: 16px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.85);
}

.bpi-dt-ficha__visual {
	position: relative;
}

.bpi-dt-ficha__insignia {
	position: absolute;
	left: -28px;
	bottom: -26px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	border-radius: var(--bpi-radio);
	background: #fff;
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
}

.bpi-dt-ficha__insignia-icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	height: 42px;
	border-radius: 50%;
	background: #fbf2e1;
	color: #b7791f;
}

.bpi-dt-ficha__insignia strong {
	display: block;
	font-family: ui-monospace, Consolas, monospace;
	font-size: 14px;
	color: var(--bpi-borgona);
}

.bpi-dt-ficha__insignia span {
	font-size: 13px;
	color: var(--bpi-texto);
}

/* Marco de navegador para capturas */
.bpi-dt-navegador {
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.bpi-dt-navegador__barra {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 11px 16px;
	background: #ececef;
}

.bpi-dt-navegador__barra span {
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #d4d4d9;
}

.bpi-dt-navegador__barra span:first-child {
	background: var(--bpi-borgona);
}

.bpi-dt-navegador__barra em {
	flex: 1;
	margin-left: 14px;
	padding: 4px 14px;
	border-radius: 20px;
	background: #fff;
	font-size: 12px;
	font-style: normal;
	color: var(--bpi-texto);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bpi-dt-navegador__barra em i {
	color: #1f8a5b;
}

.bpi-dt-navegador img {
	display: block;
	width: 100%;
	height: auto;
}

/* ==========================================================================
   Ficha de producto: capturas en pestañas
   ========================================================================== */
.bpi-dt-capturas {
	padding: 110px 0;
}

.bpi-dt-pestanas__lista {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: 40px;
}

.bpi-dt-pestanas__lista button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	border: 1px solid var(--bpi-borde);
	border-radius: 40px;
	background: #fff;
	font-family: var(--bpi-cuerpo);
	font-size: 14px;
	font-weight: 500;
	color: var(--bpi-oscuro);
	cursor: pointer;
	transition: all 0.3s ease;
}

.bpi-dt-pestanas__lista button i,
.bpi-dt-pestanas__lista button svg {
	color: var(--bpi-borgona);
	fill: var(--bpi-borgona);
}

.bpi-dt-pestanas__lista button:hover {
	border-color: var(--bpi-borgona);
}

.bpi-dt-pestanas__lista button[aria-selected="true"] {
	border-color: var(--bpi-borgona);
	background: var(--bpi-borgona);
	box-shadow: 0 10px 24px rgba(126, 17, 45, 0.3);
	color: #fff;
}

.bpi-dt-pestanas__lista button[aria-selected="true"] i,
.bpi-dt-pestanas__lista button[aria-selected="true"] svg {
	color: #fff;
	fill: #fff;
}

.bpi-dt-pestanas__lista button:focus-visible {
	outline: 2px solid var(--bpi-borgona);
	outline-offset: 3px;
}

.bpi-dt-pestanas__panel {
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: 50px;
	align-items: center;
	animation: bpi-dt-aparecer 0.5s ease;
}

.bpi-dt-pestanas__panel[hidden] {
	display: none;
}

.bpi-dt-capturas__numero {
	display: block;
	font-family: var(--bpi-titulo);
	font-size: 80px;
	font-weight: 600;
	line-height: 0.8;
	color: transparent;
	-webkit-text-stroke: 1px var(--bpi-borgona);
}

.bpi-dt-capturas__texto h3 {
	margin: 18px 0 12px;
	font-family: var(--bpi-titulo);
	font-size: 38px;
	font-weight: 500;
	line-height: 0.95;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-capturas__texto p {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.8;
}

.bpi-dt-capturas .bpi-dt-navegador {
	box-shadow: var(--bpi-sombra);
	border: 1px solid var(--bpi-borde);
}

@keyframes bpi-dt-aparecer {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ==========================================================================
   Ficha de producto: despliegue e integraciones
   ========================================================================== */
.bpi-dt-despliegue {
	padding: 110px 0;
	background: var(--bpi-fondo);
}

.bpi-dt-despliegue__opciones {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
	margin-bottom: 50px;
}

.bpi-dt-despliegue__opcion {
	padding: 40px 36px;
	border-top: 4px solid var(--bpi-borgona);
	border-radius: var(--bpi-radio);
	background: #fff;
	box-shadow: var(--bpi-sombra);
}

.bpi-dt-despliegue__opcion h3 {
	margin: 20px 0 10px;
	font-family: var(--bpi-titulo);
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-despliegue__opcion p {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.75;
}

.bpi-dt-despliegue__icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 12px;
	background: var(--bpi-borgona);
	font-size: 24px;
	color: #fff;
}

.bpi-dt-despliegue__integraciones {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 34px;
	margin-bottom: 50px !important;
}

.bpi-dt-despliegue__integraciones li {
	display: flex;
	gap: 16px;
}

.bpi-dt-despliegue__integraciones h4 {
	margin: 2px 0 6px;
	font-family: var(--bpi-titulo);
	font-size: 24px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: var(--bpi-oscuro);
}

.bpi-dt-despliegue__integraciones p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

.bpi-dt-despliegue__destacado {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	padding: 32px 36px;
	border-left: 4px solid var(--bpi-borgona);
	border-radius: 0 var(--bpi-radio) var(--bpi-radio) 0;
	background: var(--bpi-oscuro);
	color: rgba(255, 255, 255, 0.85);
}

.bpi-dt-despliegue__destacado .bpi-dt-despliegue__icono {
	flex: 0 0 60px;
}

.bpi-dt-despliegue__destacado h4 {
	margin: 4px 0 8px;
	font-family: var(--bpi-titulo);
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.bpi-dt-despliegue__destacado p {
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
}

/* ==========================================================================
   Tema BPI Íntegra (body.bpi-dt-tema-integra): borgoña + contraste azul
   ========================================================================== */

/* Tokens: el resto de reglas del plugin los toman automáticamente. */
.bpi-dt-tema-integra .bpi-dt {
	--bpi-borgona: var(--bpi-primario);
	--bpi-borgona-osc: #4a0a1c;
	--bpi-borgona-suave: #dce9f0;
	--bpi-gris: var(--bpi-contraste);
	--bpi-oscuro: var(--bpi-texto-oscuro);
	--bpi-texto: #51626d;
	--bpi-fondo: var(--bpi-claro);
	--bpi-borde: #dbe7ee;
	--bpi-sombra: 0 18px 45px rgba(37, 52, 61, 0.1);
}

.bpi-dt-tema-integra .bpi-dt .sec-title h2 .dot {
	color: var(--bpi-acento);
}

/* Elementos comunes sobre fondo oscuro (portada y CTA). */
.bpi-dt-tema-integra .bpi-dt-ficha .bpi-dt-etiqueta,
.bpi-dt-tema-integra .bpi-dt-faq__cta .bpi-dt-etiqueta {
	border-left-color: var(--bpi-contraste-suave);
	color: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt .bpi-dt-ficha .bpi-dt-btn-primario,
.bpi-dt-tema-integra .bpi-dt .bpi-dt-faq__cta .bpi-dt-btn-primario {
	background: var(--bpi-contraste);
	box-shadow: 0 12px 30px rgba(10, 30, 45, 0.35);
}

.bpi-dt-tema-integra .bpi-dt .bpi-dt-ficha .bpi-dt-btn-primario .btn-title,
.bpi-dt-tema-integra .bpi-dt .bpi-dt-faq__cta .bpi-dt-btn-primario .btn-title {
	color: #fff;
}

.bpi-dt-tema-integra .bpi-dt .bpi-dt-ficha .bpi-dt-btn-primario .btn-curve,
.bpi-dt-tema-integra .bpi-dt .bpi-dt-faq__cta .bpi-dt-btn-primario .btn-curve {
	background: var(--bpi-claro);
}

.bpi-dt-tema-integra .bpi-dt .bpi-dt-ficha .bpi-dt-btn-primario:hover .btn-title,
.bpi-dt-tema-integra .bpi-dt .bpi-dt-faq__cta .bpi-dt-btn-primario:hover .btn-title {
	color: var(--bpi-primario);
}

.bpi-dt-tema-integra .bpi-dt-ficha .bpi-dt-btn-linea {
	border-bottom-color: rgba(201, 222, 233, 0.5);
	color: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-ficha .bpi-dt-btn-linea:hover,
.bpi-dt-tema-integra .bpi-dt-ficha .bpi-dt-btn-linea:focus {
	border-color: #fff;
	color: #fff;
}

/* Portada de la ficha */
.bpi-dt-tema-integra .bpi-dt-ficha {
	border-bottom: 3px solid var(--bpi-contraste);
	background:
		radial-gradient(ellipse 55% 70% at 78% 45%, rgba(53, 107, 140, 0.38), transparent 70%),
		linear-gradient(115deg, #1a050b 0%, #4a0a1c 48%, var(--bpi-primario) 100%);
}

.bpi-dt-tema-integra .bpi-dt-ficha::after {
	background-image: radial-gradient(rgba(201, 222, 233, 0.2) 1px, transparent 1px);
}

.bpi-dt-tema-integra .bpi-dt .bpi-dt-ficha__titulo strong {
	color: var(--bpi-contraste-suave);
	background: linear-gradient(90deg, #fff 0%, var(--bpi-contraste-suave) 70%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.bpi-dt-tema-integra .bpi-dt-ficha__titulo .dot,
.bpi-dt-tema-integra .bpi-dt-ficha__subtitulo {
	color: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-ficha__parrafo {
	color: rgba(243, 247, 250, 0.82);
}

.bpi-dt-tema-integra .bpi-dt-ficha .bpi-dt-navegador {
	box-shadow: 0 30px 70px rgba(10, 4, 8, 0.5), 0 0 0 6px rgba(201, 222, 233, 0.12);
}

.bpi-dt-tema-integra .bpi-dt-navegador__barra {
	background: #e4eef4;
}

.bpi-dt-tema-integra .bpi-dt-navegador__barra span {
	background: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-navegador__barra span:first-child {
	background: var(--bpi-acento);
}

.bpi-dt-tema-integra .bpi-dt-navegador__barra span:nth-child(2) {
	background: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-navegador__barra em i {
	color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-ficha__insignia {
	border-top: 3px solid var(--bpi-contraste);
	background: var(--bpi-claro);
}

.bpi-dt-tema-integra .bpi-dt-ficha__insignia-icono {
	background: var(--bpi-contraste-suave);
	color: var(--bpi-contraste);
}

/* Ciclo: fondo pizarra con remate borgoña; iconos en azul suave. */
.bpi-dt-tema-integra .bpi-dt-ciclo::before {
	background: linear-gradient(180deg, rgba(37, 52, 61, 0.96) 0%, rgba(37, 52, 61, 0.9) 60%, rgba(124, 18, 47, 0.92) 100%);
}

.bpi-dt-tema-integra .bpi-dt-ciclo__pasos::before {
	border-top-color: rgba(201, 222, 233, 0.35);
}

.bpi-dt-tema-integra .bpi-dt-ciclo__icono {
	border-color: rgba(201, 222, 233, 0.3);
	color: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-ciclo__pasos li:hover .bpi-dt-ciclo__icono {
	border-color: var(--bpi-contraste);
	background: var(--bpi-contraste);
	color: #fff;
}

.bpi-dt-tema-integra .bpi-dt-ciclo__numero,
.bpi-dt-tema-integra .bpi-dt-ciclo__nota i {
	color: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-ciclo__pasos em {
	border: 1px solid rgba(201, 222, 233, 0.2);
	background: rgba(201, 222, 233, 0.1);
	color: rgba(243, 247, 250, 0.85);
}

/* Capturas: fondo claro y pestañas con contraste azul. */
.bpi-dt-tema-integra .bpi-dt-capturas {
	background: var(--bpi-claro);
}

.bpi-dt-tema-integra .bpi-dt-pestanas__lista button i,
.bpi-dt-tema-integra .bpi-dt-pestanas__lista button svg {
	color: var(--bpi-contraste);
	fill: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-pestanas__lista button:hover {
	border-color: var(--bpi-contraste);
	color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-pestanas__lista button[aria-selected="true"] {
	box-shadow: 0 10px 24px rgba(124, 18, 47, 0.28);
	color: #fff;
}

.bpi-dt-tema-integra .bpi-dt-pestanas__lista button[aria-selected="true"] i,
.bpi-dt-tema-integra .bpi-dt-pestanas__lista button[aria-selected="true"] svg {
	color: var(--bpi-contraste-suave);
	fill: var(--bpi-contraste-suave);
}

.bpi-dt-tema-integra .bpi-dt-capturas__numero {
	-webkit-text-stroke-color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-capturas .bpi-dt-navegador {
	border-color: var(--bpi-contraste-suave);
}

/* Beneficios: bloque decorativo azul detrás de la imagen. */
.bpi-dt-tema-integra .bpi-dt-beneficios__imagen::before {
	background: linear-gradient(135deg, var(--bpi-contraste), var(--bpi-contraste-suave));
}

.bpi-dt-tema-integra .bpi-dt-beneficios__sello {
	border-left: 4px solid var(--bpi-acento);
}

.bpi-dt-tema-integra .bpi-dt-beneficios__sello > i,
.bpi-dt-tema-integra .bpi-dt-beneficios__sello > svg {
	color: var(--bpi-contraste-suave);
	fill: var(--bpi-contraste-suave);
}

/* Despliegue: la segunda opción usa el contraste azul. */
.bpi-dt-tema-integra .bpi-dt-despliegue__opcion:nth-child(2) {
	border-top-color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-despliegue__opcion:nth-child(2) .bpi-dt-despliegue__icono {
	background: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-despliegue__opcion:nth-child(2) .bpi-dt-producto__lista li::before {
	color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-despliegue__destacado {
	border-left-color: var(--bpi-contraste);
	background: linear-gradient(110deg, var(--bpi-texto-oscuro) 0%, #2c4350 100%);
	color: rgba(243, 247, 250, 0.85);
}

/* Preguntas frecuentes + CTA */
.bpi-dt-tema-integra .bpi-dt-faq__cta::before {
	background: linear-gradient(160deg, rgba(124, 18, 47, 0.95) 0%, rgba(37, 52, 61, 0.95) 100%);
}

.bpi-dt-tema-integra .bpi-dt-faq__cta {
	border-bottom: 4px solid var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-faq__item summary::after {
	background: var(--bpi-claro);
	color: var(--bpi-contraste);
}

.bpi-dt-tema-integra .bpi-dt-faq__item[open] summary::after {
	background: var(--bpi-primario);
	color: #fff;
}

/* ==========================================================================
   Animaciones de entrada (solo si el JS está activo)
   ========================================================================== */
.bpi-dt--js .bpi-dt-anim {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.bpi-dt--js .bpi-dt-anim.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.bpi-dt *,
	.bpi-dt *::before,
	.bpi-dt *::after {
		animation: none !important;
		transition: none !important;
	}

	.bpi-dt--js .bpi-dt-anim {
		opacity: 1;
		transform: none;
	}
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.bpi-dt-productos__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.bpi-dt-beneficios__grid,
	.bpi-dt-faq__grid {
		gap: 50px;
	}
}

@media (max-width: 991px) {
	.bpi-dt-hero {
		padding: 180px 0 190px;
	}

	.bpi-dt-intro__grid {
		grid-template-columns: 1fr;
		gap: 60px;
	}

	.bpi-dt-intro__imagen {
		max-width: 480px;
		margin-left: 30px;
	}

	.bpi-dt-hero__grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.bpi-dt-hero__panel {
		max-width: 460px;
	}

	.bpi-dt-ficha {
		padding: 170px 0 100px;
	}

	.bpi-dt-ficha__grid,
	.bpi-dt-pestanas__panel {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bpi-dt-despliegue__integraciones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bpi-dt-cifras__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.bpi-dt-cifras__grid li:nth-child(3) {
		border-left: 0;
	}

	.bpi-dt-cifras__grid li:nth-child(n + 3) {
		border-top: 1px solid var(--bpi-contraste-suave);
	}

	.bpi-dt-ciclo__pasos {
		grid-template-columns: 1fr;
		gap: 0;
		max-width: 520px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.bpi-dt-ciclo__pasos::before {
		top: 44px;
		bottom: 44px;
		left: 44px;
		right: auto;
		border-top: 0;
		border-left: 2px dashed rgba(161, 160, 160, 0.45);
	}

	.bpi-dt-ciclo__pasos li {
		display: grid;
		grid-template-columns: 88px 1fr;
		column-gap: 24px;
		align-items: center;
		padding: 12px 0;
		text-align: left;
	}

	.bpi-dt-ciclo__icono {
		grid-row: span 3;
	}

	.bpi-dt-ciclo__numero,
	.bpi-dt-ciclo__pasos strong {
		margin-top: 0;
	}

	.bpi-dt-ciclo__pasos strong {
		display: block;
		min-height: 0;
	}

	.bpi-dt-ciclo__pasos em {
		justify-self: start;
		margin-top: 8px;
	}

	.bpi-dt-beneficios__grid,
	.bpi-dt-faq__grid {
		grid-template-columns: 1fr;
	}

	.bpi-dt-beneficios__imagen {
		max-width: 520px;
	}

	.bpi-dt-faq__cta {
		position: relative;
		top: 0;
	}

	.bpi-dt-sectores__grid,
	.bpi-dt-implementacion__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.bpi-dt-hero {
		padding: 150px 0 170px;
	}

	.bpi-dt-intro {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.bpi-dt-intro__pilares {
		grid-template-columns: 1fr;
	}

	.bpi-dt-intro__insignia {
		left: -12px;
		bottom: 20px;
	}

	.bpi-dt-hero__panel {
		display: none;
	}

	.bpi-dt-productos,
	.bpi-dt-beneficios,
	.bpi-dt-ciclo,
	.bpi-dt-sectores,
	.bpi-dt-implementacion {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.bpi-dt-faq {
		padding-bottom: 80px;
	}

	.bpi-dt-productos__grid,
	.bpi-dt-beneficios__lista {
		grid-template-columns: 1fr;
	}

	.bpi-dt-producto__categoria {
		min-height: 0;
	}

	.bpi-dt-ficha {
		padding: 150px 0 90px;
	}

	.bpi-dt-ficha__insignia {
		position: relative;
		left: 0;
		bottom: 0;
		margin-top: 16px;
	}

	.bpi-dt-capturas,
	.bpi-dt-despliegue {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.bpi-dt-pestanas__lista {
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin-left: -15px;
		margin-right: -15px;
		padding: 0 15px 8px;
		overflow-x: auto;
	}

	.bpi-dt-pestanas__lista button {
		flex: 0 0 auto;
	}

	.bpi-dt-despliegue__opciones,
	.bpi-dt-despliegue__integraciones {
		grid-template-columns: 1fr;
	}

	.bpi-dt-despliegue__opcion,
	.bpi-dt-despliegue__destacado {
		padding: 30px 24px;
	}

	.bpi-dt-despliegue__destacado {
		flex-direction: column;
	}

	.bpi-dt-cifras__grid li {
		padding: 28px 16px;
	}

	.bpi-dt-cifras__grid strong {
		font-size: 52px;
	}

	.bpi-dt-beneficios__sello {
		right: 12px;
		bottom: 16px;
	}

	.bpi-dt-faq__cta {
		padding: 44px 28px;
	}
}

@media (max-width: 575px) {
	.bpi-dt-sectores__grid,
	.bpi-dt-implementacion__grid {
		grid-template-columns: 1fr;
	}

	.bpi-dt-botones {
		gap: 22px;
	}

	.bpi-dt-faq__item summary {
		font-size: 22px;
	}
}
