.step-form .step { margin-bottom: 20px; }
.step-form .step-question { font-weight: bold; margin-bottom: 10px; }
.step-form .step-options button { margin-right: 10px; }

.step-progress-bar {
    width: 100%;
    background-color: #eee;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 20px;
    height: 20px;
}
.progress-bar-fill {
    height: 100%;
    width: 0%;
    background-color: #4caf50;
    text-align: center;
    color: white;
    line-height: 20px;
    transition: width 0.3s ease;
}

.step-back {
    display: none;
    background: #ddd;
    padding: 6px 12px;
    border-radius: 4px;
    cursor: pointer;
}


.step-form {
	background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 30px 20px;
    font-family: 'Poppins', sans-serif;
    text-align: center;
}

.step-form h2,
.step-form .step-question {
	font-size: 23px;
    font-weight: 600;
	max-width: 605px;
    margin: 0 auto;
    margin-bottom: 20px;
    margin-top: 40px;
}

.step-form .step-options {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

.step-form .step-options button {
    width: 100%;
    max-width: 400px;
    padding: 9px 20px;
    border-radius: 8px;
    border: 1px solid #FFD600;
	background-color: black;
    color: white;
    cursor: pointer;
    transition: 0.2s ease;
	font-size: 1.1rem !important;
    font-weight: bold;
}

.step-form .step-options button:hover {
    background-color: #FFD600;
    color: #000;
}

.step-progress-bar {
    width: 100%;
    max-width: 405px;
    height: 12px;
    background-color: #333;
    border-radius: 4px;
    margin: 20px auto;
    overflow: hidden;
	border: 1px solid #FFD600;
}

.progress-bar-fill {
    height: 100%;
    background-color: #FFD600;
    width: 0%;
    transition: width 0.3s ease;
}

.step-progress-wrapper {
    text-align: left;
    gap: 15px;
    margin: 0 auto 20px auto;
	max-width: 405px;
}

.step-back {
    background: none !important;
    border: none !important;
    color: #FFD600 !important;
    font-weight: bold !important;
    font-size: 14px !important;
    cursor: pointer;
    padding: 0 !important;
}

.step-back:hover {
    background: none !important;
}

.step-progress-bar {
    flex-grow: 1;
    border-radius: 4px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    width: 0%;
    transition: width 0.3s ease;
}

/* Estilos form contacto */
.step-form .wpcf7-form input[type="text"],
.step-form .wpcf7-form input[type="email"],
.step-form .wpcf7-form textarea {
    width: 90%;
    max-width: 400px;
    margin: 10px auto;
    padding: 14px;
    border-radius: 6px;
    border: none;
    font-size: 16px;
    display: block;
}

.step-form .wpcf7-submit, .step-form .wpcf7-submit:focus, .step-form .wpcf7-submit:hover, .step-form .wpcf7-submit:focus {
    background-color: #FFD600;
    color: black;
    padding: 12px 30px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: bold;
    font-size: 16px;
    display: block;
    margin: 20px auto;
}


.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 49px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered, .select2-container--default .select2-selection--single {
	height: 50px !important;
}

.select2-container {
	width: 100% !important;
}

@media(min-width: 701px) {
	span.select2-dropdown .select2-dropdown--above, span.select2-dropdown {
		width: 20% !important;
	}
}

@media(max-width: 700px) {
	span.select2-dropdown .select2-dropdown--above, span.select2-dropdown {
		width: 60% !important;
	}
	
	.select2-container .select2-selection--single .select2-selection__rendered {
		padding-right: 17px !important;
	}
}

.prefix p {
	margin-bottom: 0px !important;
}

.telef input {
	margin-right: 0px !important;
    margin-top: 0px !important;
    margin-left: 0px !important;
    width: 100% !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-right: 0px;
}

.select2-container {
  max-width: 100% !important;
}

.select2-dropdown {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.select2-results__options {
  white-space: normal !important;
}

body {
  overflow-x: hidden; /* Previene scroll horizontal en general */
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    margin-top: 0px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 25% !important;
    right: 4px !important;
}