/* Suscríbete */
.suscribete {
	background: #ed720f;
	color: #fff;
}

.suscribete-content {
	display: flex;
}

.suscribete-content>* {
	flex: 1;
	min-width: 0;
	/* ambos toman espacio igual */
}

.text-block h3 {
	color: #fff;
	text-align: left;
}

.subtitle {
	text-align: left;
	font-family: 'ContrafaceText-Bold';
	font-size: 2em;
	color: #333;
	text-transform: uppercase;
	display: inline-block;
	position: relative;
	line-height:40px;
}

.subtitle::before{
	content: '';
	position:absolute;
	left:0;
	bottom:0;
	width:20px;
	border-bottom: 4px solid #333;;
}

.suscribete-slider-wrapper {
	overflow: hidden;
}

.suscribete-slides {
	display: flex;
	width: 400%;
	/* 4 pasos × 100% */
	transition: transform .5s ease;
}

.suscribete-slide {
	width: 25%;
	/* 100% / 4 pasos */
	flex-shrink: 0;
}

.input-group {
	display: flex;
	gap: 0.5em;
	width: 100%;
}

/* Mensaje de error Suscríbete */
#suscribete-error {
	color: #fff;
	background: #d32f2f;
	border-radius: 4px;
	padding: 10px 16px;
	margin-bottom: 16px;
	font-size: 1.2em;
	text-align: center;
	z-index: 2;
}

.input-group .btn.next {
	background: #2d2d2d;
	border:2px solid #2d2d2d;
}
.input-group .btn.next:hover {
	border: 2px solid #000;
	background-color: #fff;
	color: #ed720f;
}
.input-group input, .input-group select{
	width:300px;
}
.input-group select {
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
}

.review {
	list-style: none;
	text-align: left;
	margin: 2em 0;
	padding: 0;
	font-size: 1.6em;
}

.review li {
	margin-bottom: 1em;
}

.review strong {
	display: inline-block;
	width: 4.5em;
}

.step-indicator {
	font-family: 'ContrafaceText-Bold';
	font-size: 1.3em;
	text-transform: uppercase;
}

.success-message h3{
	text-align:right;
}
.success-message p{
	font-family: 'ContrafaceText';
	font-size: 2em;
	color: #fff;
	text-align: right;
}

/* mobile */
@media (max-width: 768px) {
	.suscribete-content {
		flex-direction: column;
		text-align: center;
	}

	.form-block,
	.text-block {
		flex: 1 1 100%;
		align-items: center;
	}

	.step-indicator {
		align-self: center;
	}

	.input-group {
		flex-direction: column;
		align-items: stretch;
		gap: 1em;
	}

	.input-group input,
	.input-group .btn.next {
		width: 100%;
	}

	.subtitle {
		line-height:20px;
		margin-bottom: 20px;
	}

	.subtitle::before {
		content: none;
	}
}