/* ----------------------------------------------------------
   ----------------------------------------------------------

        CSS proceso reservas

   ---------------------------------------------------------
   ---------------------------------------------------------- */

/* ------------------------------- open: GENERAL ------------------------------------------ */

#section-visitas.home-visitas {
	display: inline-block;
	width: 100%;
	min-height: calc(100vh - 112px);
	margin: 24px 0 0 0;
	padding: 0 0 0 0;
}

#section-visitas.enoexperiencia-detalle {
	display: inline-block;
	width: 100%;
	/*min-height: calc(80vh - 112px);*/
	margin: 24px 0 0 0;
	padding: 0 0 0 0;
}

/* inputs general */
*::-webkit-input-placeholder {
	/* Google Chrome y Safari */
	color: var(--neutral-60) !important;
	font-weight: 400;
	opacity: 1;
	letter-spacing: 0.03em;
}

*:-moz-placeholder {
	/* Firefox anterior a 19 */
	color: var(--neutral-60) !important;
	font-weight: 400;
	opacity: 1;
	letter-spacing: 0.03em;
}

*::-moz-placeholder {
	/* Firefox 19 y superior */
	color: var(--neutral-60) !important;
	font-weight: 400;
	opacity: 1;
	letter-spacing: 0.03em;
}

*:-ms-input-placeholder {
	/* Internet Explorer 10 y superior */
	color: var(--neutral-60) !important;
	font-weight: 400;
	opacity: 1;
	letter-spacing: 0.03em;
}

#section-visitas input.form-control,
#section-visitas textarea.form-control,
#section-visitas select {
	width: 100%;
	max-width: inherit;
	height: 36px;
	margin: 0 0 0 0 !important;
	text-align: center;
	font-size: 16px;
	font-weight: 400;

	background-color: transparent;
	padding: 0 8px;
	cursor: pointer;
	border: 1px solid var(--neutral-10);
	transition: var(--transition);
	outline: 0px solid rgba(var(--black-rgb), 0.1);
	outline-offset: -1px;
	border-radius: 0px;
	box-shadow: none;
	color: var(--black);
	line-height: 100%;
}

#section-visitas select {
	text-align: left !important;
}

.input-group .usuarios_grupos {
	text-align: center;
}

#section-visitas input.form-control:hover,
#section-visitas textarea.form-control:hover,
#section-visitas select:hover {
	border: 1px solid var(--neutral-20);
	outline: 4px solid rgba(var(--black-rgb), 0.08);
	outline-offset: -5px;
}

#section-visitas input.form-control:focus,
#section-visitas textarea.form-control:focus,
#section-visitas select:focus {
	border-color: var(--color-primary-700);
	outline: 2px solid var(--color-primary-700);
	outline-offset: -2px;
}

#section-visitas textarea.form-control {
	height: 120px;
	padding: 8px !important;
}

.caracteres_textarea {
	float: right;
	font-size: 12px;
	padding: 5px 5px 0;
	letter-spacing: 1px;
	color: var(--neutral-60);
	font-weight: 400;
}

/* fin inputs general */

/* botones */
.btn-solid-main {
	padding: 14px 40px !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	background: none !important;
	background-color: rgba(0, 0, 0, 0);
	border: 1px solid #000 !important;
	color: #000 !important;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
	font-family: var(--font-family-sans) !important;
}

.btn-solid-main:hover {
	background-color: var(--black) !important;
	color: var(--white) !important;
}

.btn-solid-neutral {
	padding: 14px 40px !important;
	letter-spacing: 0px !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	background: none !important;
	border: 1px solid #bbb !important;
	color: #aaa !important;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
	line-height: 1;
	margin-bottom: 10px;
	display: inline-block;
	font-family: var(--font-family-sans) !important;
}

.btn-solid-neutral:hover {
	background: none;
	color: var(--color-primary-700);
}

.volver_carrito {
	padding: 14px 40px !important;
	letter-spacing: 0px !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	background: none !important;
	border: 1px solid #bbb !important;
	color: #aaa !important;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
	line-height: 1;
	margin-bottom: 10px;
	display: inline-block;
	font-family: var(--font-family-sans) !important;
}

.volver_carrito:hover {
	background: none;
	color: var(--color-primary-700);
}

/* fin botones */

/* loader */
.loader {
	background: rgba(var(--white-rgb), 0.8);
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	backdrop-filter: blur(4px);
}

.loader .cont-loader {
	display: flex;
	height: 100%;
	align-items: center;
}

/* fin loader */

/* breadcrumb visitas */

#breadcrumb.row-visitas {
	padding: 0 0 15px;
	float: left;
	width: 100%;
	letter-spacing: 0.02em;
	/*display: none;*/
}

@media only screen and (max-width: 1080px) {
	#breadcrumb.row-visitas {
		padding: 0 0 24px;
	}
}

@media only screen and (max-width: 767px) {
	#breadcrumb.row-visitas {
		font-size: 10px;
	}
}

/* fin breadcrumb visitas */

/* header */
@media only screen and (max-width: 810px) {
	.et_header_style_centered header#main-header .logo_container {
		max-width: 100%;
		text-align: center;
		height: 120px;
		max-height: 120px;
		margin-bottom: -10px;
	}

	.et_header_style_centered header#main-header .logo_container img {
		height: 60%;
		padding: 0;
		max-height: 60%;
	}

	#et-top-navigation {
		display: none;
	}
}

/* fin header */

/* footer */
.footer-col-info strong {
	font-weight: 600;
}

.footer-col-menu #menu-footer-es {
	display: block;
}

.footer-col-menu .et_pb_menu__menu {
	display: inherit;
}

.footer-col-menu .et_mobile_nav_menu {
	display: none;
}

.footer-col-menu #menu-footer-es li {
	padding: 0;
	text-align: center;
	display: block;
}

.footer-col-menu #menu-footer-es li a,
.footer-col-menu #menu-footer-es li a:hover {
	background: none;
}

/* fin footer */

/* steps pasos procesos */

.steps {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	margin: -36px 0 20px 0;
	padding: 0;
	width: 100px;
	float: right;
}

.steps div {
	width: 8px;
	height: 8px;
	background: none;
	border: 1px solid var(--black);
	transition: var(--transition);
}

.steps .color-step {
	background-color: var(--black);
	width: 20px;
}

@media only screen and (max-width: 767px) {
	.steps {
		margin: 0px 0 4px;
	}
}

/* fin steps pasos procesos */

/* menseje error y success */
.msg_error,
label.error {
	padding: 0 0 0 20px !important;
	margin: 8px 0 0;
	color: var(--error);
	font-weight: 500;
	font-size: 12px;
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/error.svg);
	background-size: 14px;
	background-repeat: no-repeat;
	background-position: top 1px left;
	float: left;
	width: 100%;
	letter-spacing: 0.03em;
	text-align: left;
	font-family: var(--font-family-sans);
	color: var(--e-a-btn-bg-danger);
}

.success {
	padding: 0 0 0 18px;
	margin: 8px 0 0px;
	color: var(--ayuda);
	font-weight: 500;
	font-size: 12px;
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/check.svg);
	background-size: 12px;
	background-repeat: no-repeat;
	background-position: top 4px left;
	float: left;
	width: 100%;
	letter-spacing: 0.03em;
	text-align: left;
}

/* fin menseje error */

/* ------------------------------- close: GENERALES ------------------------------------------ */

/*  ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------
        OPEN: Selección de servicios
    ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------  */

/* section-texto inicio + foto fondo  */
.text-intro-inicio h1 strong {
	font-style: italic;
	letter-spacing: -0.03em;
	color: var(--color-primary-700);
}

/* --------------------------------------- responsive 1280px ------------------------------------------------------------------------------ */

@media only screen and (max-width: 1280px) {
	.text-intro-inicio .et_pb_module h1 {
		font-size: 104px;
	}
}

/* --------------------------------------- responsive 980px ------------------------------------------------------------------------------ */

@media only screen and (max-width: 980px) {
	.parrafo-intro-inicio {
		background-color: rgba(var(--white-rgb), 0.8);
		backdrop-filter: blur(8px);
		padding: 24px;
		border-radius: 0px;
		max-width: 400px;
	}
}

/* --------------------------------------- responsive 767px ------------------------------------------------------------------------------ */

@media only screen and (max-width: 767px) {
	.text-intro-inicio .et_pb_module h1 {
		font-size: 48px;
		margin-top: 16px;
		line-height: 90%;
	}

	.parrafo-intro-inicio {
		padding: 12px 16px;
		max-width: 280px;
	}

	.parrafo-intro-inicio p {
		font-size: 12px;
	}
}

/* fin section-texto inicio + foto fondo */

/* contenedor cuando vienes + banner regala */
.vienes-regala {
	display: flex;
	gap: 40px;
	padding-bottom: 24px;
}

/* filtro fecha cuando vienes */
.cuando-vienes {
	background-color: var(--color-primary-700);
	padding: 12px 16px 16px;
	width: 440px;
}

.cuando-vienes h1 {
	color: var(--white);
	margin: 0 0 4px;
	font-size: 30px;
	font-weight: 500;
}

.cuando-vienes p {
	font-size: 14px;
	padding-bottom: 8px;
	color: var(--white);
	font-weight: 500;
}

.group-input-vienes {
	overflow: hidden;
	position: relative;
}

#titulo-visitas.contenedor_filtros_visitas {
	display: flex;
	flex-wrap: wrap;
	margin: -256px 0 208px 0;
	padding: 24px 0;
	border-radius: 0px;
	text-align: center;
	background: var(--white);
	max-width: 1040px;
	display: none;
}

.entrada_visitas p {
	font-family: var(--font-family-sans) !important;
	font-size: 16px;
	color: var(--black);
	max-width: 600px;
	margin: 0 auto;
}

#titulo-visitas.contenedor_filtros_visitas .form-row {
	display: flex;
	align-items: center;
	width: 100%;
	gap: 0;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador {
	margin: 0 0 0 0;
	padding: 0 24px;
	width: calc(100% / 3);
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador.group-personas {
	border-left: 0.5px solid var(--black);
	border-right: 0.5px solid var(--black);
	padding: 0 12px;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador label {
	display: block;
	width: 100%;
	margin: 0 0 4px 0 !important;
	padding: 0 0 0 0;

	text-align: center;
	font-size: 11px;
	line-height: 12px;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador .input-group {
	display: flex;
	width: 100%;
	margin: 0 !important;
	justify-content: space-between;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador .input-group .input-group-btn {
	display: flex;
	width: auto;
	margin: 0;
	padding: 0;
	align-items: center;
	align-content: center;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador .input-group .input-group-btn button {
	display: flex;
	width: 100%;
	height: 100%;
	margin: 0 0 0 0;
	padding: 0 8px;
	align-items: center;
	align-content: center;
	border-radius: 0px !important;
	background: none;
	border: none;
}

#titulo-visitas.contenedor_filtros_visitas .form-group.separador .input-group .input-group-btn button svg {
	width: 30px;
}

#BtnFiltrarVisitas {
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	background-color: var(--black);
	color: var(--white) !important;
	padding: 0 16px !important;
	cursor: pointer;
	border: 0px;

	height: 52px;
	transition: var(--transition);
}

#BtnFiltrarVisitas:hover {
	background-color: var(--neutral-60);
}

#BtnFiltrarVisitas .fa {
	padding-right: 12px;
	border-right: 1px solid var(--white);
	margin-right: 8px;
}

#section-visitas .contenedor_filtros_visitas input::-webkit-input-placeholder {
	/* Google Chrome y Safari */
	color: var(--neutral-20) !important;
	font-size: 16px;
	font-weight: 400;
	transition: var(--transition);
}

#section-visitas .contenedor_filtros_visitas input:-moz-placeholder {
	/* Firefox anterior a 19 */
	color: var(--neutral-20) !important;
	font-size: 16px;
	font-weight: 400;
	transition: var(--transition);
}

#section-visitas .contenedor_filtros_visitas input::-moz-placeholder {
	/* Firefox 19 y superior */
	color: var(--neutral-20) !important;
	font-size: 16px;
	font-weight: 400;
	transition: var(--transition);
}

#section-visitas .contenedor_filtros_visitas input:-ms-input-placeholder {
	/* Internet Explorer 10 y superior */
	color: var(--neutral-20) !important;
	font-size: 16px;
	font-weight: 400;
	transition: var(--transition);
}

/* datepicker cuando vienes */
.datepicker.datepicker-dropdown {
	min-width: 400px;
	box-shadow: none;
	border: 2px solid var(--black);
	border-radius: 0;
	padding: 16px;
	margin-top: 40px;
}

.datepicker-dropdown.datepicker-orient-left::before {
	left: 50% !important;
	margin-left: -7px;
	border-top: 6px solid var(--black) !important;
}

.datepicker-dropdown.datepicker-orient-left::after {
	left: 50% !important;
	margin-left: -6px;
	border-top: 6px solid var(--black) !important;
}

.datepicker-days .table-condensed {
	width: 100%;
}

/* fin datepicker cuando vienes */

.cleardate {
	position: absolute;
	top: 2px;
	right: -140px;
	background-color: var(--white);
	height: 36px;
	display: flex;
	align-items: center;
	padding: 0 32px 2px 16px;
	font-size: 12px;
	font-weight: 600;

	color: var(--color-primary-700);
	transition: var(--transition);
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/ico-delete.svg);
	background-size: 28px;
	background-repeat: no-repeat;
	background-position: top 4px right 2px;
	border-left: 2px solid var(--white);
	cursor: pointer;
}

.cleardate:hover {
	color: var(--white);
	background-position: top -24px right 2px;
	background-color: var(--black);
}

.cleardate.filtrado {
	right: 2px;
}

/* fin filtro fecha cuando vienes */

/* banner regala */
#banner-regala {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	background-color: var(--white);
	margin: 60px 0px;
	max-width: 1200px;
}

.tit-banner-regala {
	display: flex;
	width: 100%;
}

.tit-banner-regala h2 {
	margin: 0;
	padding: 0;
	font-family: var(--font-family-sans) !important;

	font-size: 20px;
	line-height: 100%;
}

.info-banner-regala {
	display: flex;
	gap: 24px;
	width: 100%;
}

#banner-regala .img-banner-regala {
	width: 100%;
	background-image: url(/wp-content/uploads/2025/04/banner-regala.jpg);
	background-size: cover;
	background-position: center;
	padding: 20px;
}

#banner-regala .img-banner-regala img {
	object-fit: cover;
	max-height: 500px;
	width: 100%;
}

.text-banner-regala {
}

#banner-regala .text-banner-regala {
	width: calc(80% - 20px);
	gap: 32px;
	display: flex;
	flex-wrap: wrap;
	padding: 40px;
	margin-top: -100px;
	background: white;
}

#banner-regala .text-banner-regala .textos-regala {
	padding-right: 24px;
}

#banner-regala .textos-regala p {
	font-size: 14px;
	padding-bottom: 0;
	font-family: var(--font-family-sans);
}

#banner-regala .text-banner-regala .boton-banner .btn-solid-main {
	color: var(--text-primary);
	border: none !important;
	font-size: 24px !important;
	font-weight: 600;
	text-transform: lowercase !important;
	text-decoration: none;
	padding: 0 12px 10px 0 !important;
	transition: var(--transition-large) !important;
	background: transparent;
	position: relative;
	line-height: 100% !important;
	border-radius: 0;
	display: inline-block;
	font-family: var(--font-family-sans) !important;
}

#banner-regala .text-banner-regala .boton-banner .btn-solid-main::after {
	content: "";
	display: block;
	height: 2px;
	width: 100%;
	background-color: var(--stroke-dark);
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 1;
	margin: 0;
	transition: var(--transition-large) !important;
}

#banner-regala:hover .text-banner-regala .boton-banner .btn-solid-main::after {
	width: 0px !important;
}

#banner-regala:hover .text-banner-regala .boton-banner .btn-solid-main {
	color: var(--text-main) !important;
	background: transparent !important;
	padding: 0 28px 10px 0 !important;
	border: none !important;
}

#banner-regala .text-banner-regala .boton-banner .btn-solid-main::before {
	content: "play_arrow";
	font-family: "Material Symbols Rounded";
	font-style: normal;
	font-weight: 300;
	font-variation-settings:
		"FILL" 0,
		"wght" 300,
		"GRAD" 0,
		"opsz" 24;
	font-size: 24px;
	display: inline-block;
	color: var(--icon-main);
	opacity: 0;
	position: absolute;
	right: 0;
	top: 2px;
	transition: var(--transition-large) !important;
}

#banner-regala:hover .text-banner-regala .boton-banner .btn-solid-main::before {
	opacity: 1;
}

/* fin banner regala */

@media only screen and (max-width: 1080px) {
	.cuando-vienes {
		width: 400px;
	}
}

@media only screen and (max-width: 980px) {
	#titulo-visitas.contenedor_filtros_visitas {
		margin: -160px 0 120px 0;
	}

	#titulo-visitas.contenedor_filtros_visitas .form-group.separador.buscador {
		width: 320px;
	}
}

@media only screen and (max-width: 767px) {
	#titulo-visitas.contenedor_filtros_visitas {
		margin: -256px 0 160px 0;
		padding: 16px 0;
	}

	#titulo-visitas.contenedor_filtros_visitas .form-row {
		gap: 16px 4px;
		flex-wrap: wrap;
	}

	#titulo-visitas.contenedor_filtros_visitas .form-group.separador {
		padding: 0 16px;
		width: calc(100% / 2 - 8px);
	}

	#titulo-visitas.contenedor_filtros_visitas .form-group.separador.buscador {
		width: 100%;
	}

	#titulo-visitas.contenedor_filtros_visitas .form-group.separador.group-personas {
		border-right: none;
		padding: 0 0 0 4px;
	}

	#titulo-visitas.contenedor_filtros_visitas .form-group.separador .input-group .input-group-btn:last-child button {
		padding-right: 0;
	}

	.vienes-regala {
		flex-wrap: wrap;
		flex-flow: column-reverse;
		padding-bottom: 40px;
	}

	.cuando-vienes {
		width: 100%;
	}

	.datepicker.datepicker-dropdown {
		min-width: 320px;
	}

	#banner-regala {
		width: 100%;
		padding: 0px;
		margin-bottom: 0;
	}

	#banner-regala .text-banner-regala {
		padding: 24px 16px !important;
	}

	.info-banner-regala {
		gap: 16px;
		flex-wrap: wrap;
	}

	#banner-regala .img-banner-regala {
		width: 100%;
		padding: 0px !important;
	}

	#banner-regala .text-banner-regala {
		width: 100%;
		gap: 16px;
	}

	#banner-regala .text-banner-regala .textos-regala {
		padding-right: 0;
	}

	#banner-regala .textos-regala p {
		font-size: 14px;
	}

	#banner-regala .text-banner-regala .boton-banner .btn-solid-main {
		padding: 0 24px;
		height: 40px;
		font-size: 16px;
		letter-spacing: -0.04em !important;
	}
}

/* FIN contenedor cuando vienes + banner regala */

#servicios_posibles {
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
}

/* grid cards visita masonry listado */
.grid-layout {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.regala .grid-item:not(.grid-item-destacado) {
	position: relative;
	transition: var(--transition);
	width: calc(100% / 3 - 28px);
}

@media only screen and (max-width: 780px) {
	.regala .grid-item {
		width: 100% !important;
	}
}

.grid-item {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% / 4 - 32px);
	position: relative;
}

@media only screen and (max-width: 1200px) {
	.grid-item {
		width: calc(100% / 2 - 20px);
	}
}

@media only screen and (max-width: 767px) {
	.grid-layout {
		flex-direction: column;
		gap: 24px;
	}

	.grid-item {
		width: 100%;
	}
}

/* imagen card visita */
.imagen-visita {
	display: inline-block;
	width: 100%;
	height: 320px;
	position: relative;
	overflow: hidden;
}

.grid-item:hover .imagen-visita {
	cursor: pointer;
}

.imagen-visita img {
	display: inline-block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
	-webkit-transition: var(--transition);
	-moz-transition: var(--transition);
	-o-transition: var(--transition);
	transition: var(--transition);
	filter: brightness(0.9);
}

.grid-item:hover .imagen-visita img {
	filter: brightness(1);
	transition: all 0.3s ease-in-out;
}

.imagen-visita .sombra_img {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	transition: var(--transition);
}

.grid-item:hover .imagen-visita .sombra_img {
	background-color: rgba(var(--black-rgb), 0.2);
}

.grid-item-destacado:hover .imagen-visita .sombra_img {
	background-color: rgba(var(--black-rgb), 0) !important;
}

@media only screen and (max-width: 1080px) {
	.imagen-visita {
		height: 240px;
	}
}

/* fin imagen card visita */

/* info del card visita */
.grid-item .info-visita {
	padding: 24px;
	margin: 0;
	margin-top: 0px;
	transition: var(--transition);
	background-color: var(--white);
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	justify-content: center;
	border-radius: 0px 0px 4px 4px;
	margin-top: -40px;
	z-index: 99;
}

.grid-item:hover .info-visita {
	cursor: pointer;

	border-color: var(--black);
}

.bodega-idioma {
	display: none;
}

.bodega-idioma .nombre-bodega:not(.idioma-servicio) {
	font-size: 11px;
	display: flex;
	line-height: 100%;
	font-weight: 500;
}

.bodega-idioma .idioma-servicio {
	font-size: 10px;

	font-weight: 500;
	line-height: 100%;
}

@media only screen and (max-width: 767px) {
	.imagen-visita {
		height: 200px;
	}

	.grid-item .info-visita {
		padding: 8px 16px;
		width: 95%;
		margin-top: -24px;
	}

	.bodega-idioma .idioma-servicio {
		font-size: 9px;
	}
}

/* fin info del card visita */

/* título y texto resumen card visita */
.text-card-visita {
	text-align: left;
	margin-bottom: 16px;
}

.text-card-visita h2 {
	display: flex;
	align-content: center;
	line-height: normal;
	flex-wrap: wrap;
	width: 100%;
	min-height: 50px;
	padding: 0;
	margin: 10px 0;
	font-family: var(--font-family-serif);
	font-weight: 700;
	font-size: 26px;
	line-height: 110%;
	color: var(--neutral-80);
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.text-card-visita h3 {
	width: 100%;
	height: 105px;
	margin: 0 0 0 0;
	font-weight: normal;
	font-size: 14px;
	line-height: 22px;
	color: #000000;
	overflow: hidden;
	font-family: var(--font-family-sans) !important;
	letter-spacing: 0.2px;
}

@media only screen and (max-width: 767px) {
	.text-card-visita {
		height: auto;
		margin-bottom: 8px;
	}

	.text-card-visita h2 {
		font-size: 24px;
		max-height: initial;
		height: auto;
		display: flex;
		min-height: auto;
		margin: 8px 0 16px;
	}

	.text-card-visita h3 {
		max-height: initial;
		display: flex;
		font-size: 12px;
		line-height: 120%;
		height: auto;
		padding: 0;
	}
}

/* fin título y texto resumen card visita */

/* fecha card visita */
.fecha-card-visita {
	position: absolute;
	top: 12px;
	right: 12px;
	width: auto;
	padding: 8px 16px 12px !important;
	margin: 0;
	background: var(--white);
	border: 4px solid var(--black);
	text-align: center;
	font-family: var(--font-family-sans);
}

.fecha-card-visita p {
	line-height: 100%;
	margin: 0;
	padding: 0;
}

.fecha-card-visita .dia_evento {
	font-size: 32px;
	font-weight: 600;
	line-height: 90%;
}

.fecha-card-visita .mes_evento {
	font-size: 20px;
	border-bottom: 0.5px solid var(--black);
	margin-bottom: 6px;
	padding-bottom: 8px;
	font-weight: 600;
}

.fecha-card-visita .hora_evento {
	text-transform: none;
	font-size: 14px;
	padding-top: 4px;
	font-family: var(--font-family-sans);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.fecha-card-visita {
		top: 8px;
		left: initial;
		right: 8px;
		padding: 4px 8px 8px !important;
	}

	.fecha-card-visita .dia_evento {
		font-size: 24px;
	}

	.fecha-card-visita .mes_evento {
		font-size: 16px;
		margin-bottom: 2px;
		padding-bottom: 4px;
	}

	.fecha-card-visita .hora_evento {
		font-size: 11px;
	}
}

/* fin fecha card visita */

/* footer card visita */
.footer-card-visita {
	display: inline-block;
	width: 100%;
	margin: 20px 0 0 0;
	padding: 0 0 0 0;
}

.footer-card-visita h4 {
	display: inline-block;
	width: 100%;

	margin: 0 0 10px 0;
	padding: 0 0 0 0;
	font-family: var(--font-family-sans);
	font-size: 24px;
	font-weight: 500;
	color: var(--neutral-80);
}

.footer-card-visita a.boton_compra,
.footer-card-visita .boton_compra {
	color: var(--text-primary);
	border: none;
	font-size: 24px;
	font-weight: 600;
	text-transform: lowercase;
	text-decoration: none;
	padding: 0 12px 10px 0;
	transition: var(--transition-large) !important;
	background: transparent;
	position: relative;
	line-height: 100% !important;
	border-radius: 0;
	display: inline-block;
}

.boton_compra::after {
	content: "";
	display: block;
	height: 2px;
	width: 100%;
	background-color: var(--stroke-dark);
	position: absolute;
	bottom: 0;
	left: 0;
	opacity: 1;
	margin: 0;
	transition: var(--transition-large) !important;
}
.grid-item:hover .boton_compra::after {
	width: 0px !important;
}
.grid-item:hover .footer-card-visita a.boton_compra,
.grid-item:hover .footer-card-visita .boton_compra {
	color: var(--text-main);
	background: transparent !important;
	padding: 0 28px 10px 0 !important;
	border: none !important;
}

.footer-card-visita a.boton_compra::before,
.footer-card-visita .boton_compra::before {
	content: "play_arrow";
	font-family: "Material Symbols Rounded";
	font-style: normal;
	font-weight: 300;
	font-variation-settings:
		"FILL" 0,
		"wght" 300,
		"GRAD" 0,
		"opsz" 24;
	font-size: 24px;
	display: inline-block;
	color: var(--icon-main);
	opacity: 0;
	position: absolute;
	right: 0;
	top: 2px;
	transition: var(--transition-large) !important;
}
.grid-item:hover .footer-card-visita a.boton_compra::before,
.grid-item:hover .footer-card-visita .boton_compra::before {
	opacity: 1;
}

.boton_info {
	display: inline-block;
	width: 68px;
	margin: 33px 0 8px -32px;
	position: relative;
	left: 50%;
}

.boton_info:hover {
	text-decoration: none;
}

.info_extra {
	font-weight: 600;
	margin: 0;
	padding: 8px 12px;
	width: auto;
	color: var(--neutral-60);
	transition: var(--transition);
	font-size: 12px;
	letter-spacing: 1px;
	border: none;
	font-family: var(--font-family-sans);

	background-color: var(--neutral-10);
	text-align: center;
	display: flex;
	border-radius: 0px;
	text-decoration: none;
}

.info_extra:hover {
	color: var(--white);
	background-color: var(--color-primary-700);
}

@media only screen and (max-width: 767px) {
	.footer-card-visita h4 {
		font-size: 24px;
	}
}

/* fin footer card visita */

/* fin info del card visita */

/* card visita destacado */

.row-contenedor-visita-destacado {
	margin: 0 !important;
	width: 100%;
}

/* info del card visita destacado */
.grid-item-destacado {
	display: flex;
	align-items: center;
	gap: 0px;
	width: 100%;
	justify-content: space-between;
	flex-flow: row-reverse;
	height: 100%;
}

@media only screen and (max-width: 767px) {
	.grid-item-destacado {
		flex-wrap: wrap;
		flex-flow: wrap;
	}
}

/* imagen card visita destacado */
.grid-item-destacado .imagen-visita {
	width: calc(50% + 40px);
	margin: 0;
	position: relative;
	height: 400px;
}

@media only screen and (max-width: 1080px) {
	.grid-item-destacado .imagen-visita {
		height: 360px;
	}
}

@media only screen and (max-width: 767px) {
	.grid-item-destacado .imagen-visita {
		height: 240px;
		width: 100%;
	}
}

/* fin imagen card visita destacado */

.grid-item-destacado .info-visita {
	padding: 24px;
	margin: 0;
	transition: var(--transition);
	background-color: var(--white);
	display: flex;
	flex-wrap: wrap;
	background-color: #f5f2eb;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.grid-item-destacado .bodega-idioma .idioma-servicio {
	font-size: 14px;
	font-weight: 400;
}

.grid-item-destacado .text-card-visita {
	height: auto;
}

.grid-item-destacado .text-card-visita h2 {
	font-size: 36px;
	margin-bottom: 16px;
	line-height: 110%;
}

.grid-item-destacado .info-visita h3 {
	height: auto;
	font-size: 16px;
	line-height: 130%;
}

@media only screen and (max-width: 1080px) {
	.grid-item-destacado .info-visita h2 {
		font-size: 32px;
		max-height: 96px;
	}

	.grid-item-destacado .info-visita h3 {
		-webkit-line-clamp: 4;
	}
}

@media only screen and (max-width: 767px) {
	.grid-item-destacado .bodega-idioma .idioma-servicio {
		font-size: 9px;
		font-weight: 500;
	}

	.grid-item-destacado .info-visita {
		padding: 8px 16px;
		width: 95%;
		margin-top: -24px;
	}

	.grid-item-destacado .info-visita h2 {
		font-size: 20px;
		max-height: initial;
		height: auto;
		display: flex;
		margin-bottom: 8px;
	}

	.grid-item-destacado .info-visita h3 {
		max-height: initial;
		display: flex;
		font-size: 12px;
		line-height: 120%;
	}
}

/* fin info del card visita destacado */

/* footer card visita destacado */
.grid-item-destacado .footer-card-visita {
	padding: 0;
}

/* fin footer card visita destacado */

/* fin card visita destacado */

/* fin cards visita grid masonry listado */

.servicio_bloque .novedad,
.servicio_bloque .evento,
.enviar_formulario_destacado .novedad,
.enviar_formulario_destacado .evento {
	position: absolute;
	top: 40px;
	right: 40px;
	padding: 5px 15px;
	font-family: var(--font-family-sans);
	font-weight: 500;

	font-size: 13px;
	color: var(--neutral-50);
	border: 1px solid var(--neutral-50);
	line-height: 100%;
	z-index: 1;
}

/*boton volver evento*/

/* #BtnExtrasPasoAtrasEvento {
    padding: 14px 16px;
    letter-spacing: 2px !important;
    font-size: 14px;

    background: none;
    border: none;
    display: block;
    transition: var(--transition);
    line-height: 100%;
} */

/* aviso todo vendido en bloque listado */
.aviso-no-plazas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(2px);
	z-index: 98;
	background: rgba(var(--white-rgb), 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--black);
}

.aviso-no-plazas .reserva-tramite {
	color: var(--black);
	font-weight: 500;
	font-size: 44px;
	position: relative;
    top: -25%;
}

/* fin aviso todo vendido en bloque listado */

/* botones gastrobar/gastrotienda */
.gastrotiendas {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 80px 0 0;
	padding: 50px 0;
	border-top: 1px dashed rgba(var(--black-rgb), 0.15);
	border-bottom: 1px dashed rgba(var(--black-rgb), 0.15);
}

.gastrotiendas a {
	border: 0.5px solid var(--neutral-20);
	color: var(--neutral-60);
	padding: 8px 16px;

	letter-spacing: 0.03em;
	font-size: 13px;
	font-weight: 400;
	width: 180px;
	text-align: center;
	transition: var(--transition);
	text-decoration: none;
}

.gastrotiendas a:hover {
	border: 0.5px solid var(--color-primary-700);
	color: var(--color-primary-700);
}

@media only screen and (max-width: 767px) {
	.gastrotiendas {
		gap: 0;
		flex-wrap: wrap;
		padding: 30px 0;
	}

	.gastrotiendas a {
		width: 100%;
		margin: 8px 0;
	}
}

/* fin botones gastrobar/gastrotienda */

/* aviso no visitas disponible filtrando por fecha */
.contenedor_tipo_visitas.no_hay_visitas {
	max-width: 600px;
	width: 90%;
	margin: 0 auto;
}

/* fin aviso no visitas disponible filtrando por fecha */

/* ------------------------------------------------------CLOSE: Selección de servicios ------------------------------------------------------ */

/*  ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------
        OPEN: Paso 1 Selección de Fecha Idioma Número personas
    ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------  */

#paso_1_all {
	float: left;
}

/* card visita info*/
.card-visita {
	margin: 10px 0;
	padding: 0px;
	position: relative;
	box-shadow: none;
	float: left;
	width: 100%;
}

.datos-reserva {
	margin-bottom: 20px;
	float: left;
	width: 100%;
	border: 1px solid var(--neutral-10);
	padding: 40px;
	border-radius: 0px;
	background-color: var(--white);
}

.datos-confirmar {
	margin-bottom: 20px;
	float: left;
	width: 100%;
	border: 1px solid var(--neutral-10);
	padding: 40px !important;
	border-radius: 0px;
	background-color: var(--white);
}

.info_servicio_cabecera {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	width: calc(60% - 24px);
	border: 1px solid var(--neutral-10);
	background: var(--white);
}

.info_servicio_cabecera .imagen-visita-detalle {
	width: 100%;
	overflow: hidden;
	height: 400px;
}

.info_servicio_cabecera .imagen-visita-detalle img {
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.info-visita-detalle {
	width: 100%;
	position: relative;
	padding: 0;
	margin-top: 0px;
	padding: 40px;
}

.texto_descripcion_servicio_no_hay {
	padding: 40px;
}

.info-visita-detalle h1 {
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0 25px;
	font-family: var(--font-family-sans);
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 0.3px;
	color: var(--neutral-80);
	line-height: initial;
}

.ancla-reserva {
	display: none;
	margin: 0px 0 30px;
}

b,
strong {
	font-weight: 600 !important;
}

.ancla-reserva p {
	line-height: 100%;
}

label {
	margin: 5px !important;
	font-weight: 500 !important;
}

.ancla-reserva a {
	padding: 14px 40px !important;

	letter-spacing: 0px !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	background: var(--color-primary-700) !important;
	border: 0px solid #000 !important;
	color: #ffffff !important;
	-webkit-transition: all 0.3s ease-in-out !important;
	-moz-transition: all 0.3s ease-in-out !important;
	-o-transition: all 0.3s ease-in-out !important;
	transition: all 0.3s ease-in-out !important;
	font-family: var(--font-family-sans) !important;
}

.ancla-reserva:hover a {
	background: var(--black) !important;
	color: var(--white);
	text-decoration: none;
}

#punto-ancla {
	display: none;
	width: 100%;
}

.info-visita-detalle p {
	font-family: var(--font-family-sans) !important;
	margin-top: 20px;
	padding-top: 20px;
}

.info-visita-detalle .texto_descripcion_servicio {
	max-width: 100%;
	font-family: var(--font-family-sans);
}
.info-visita-detalle .texto_descripcion_servicio h2 {
	max-width: 100%;
	font-family: var(--font-family-sans);
}

.text-card-visita p.nombre-bodega,
.info-visita-detalle p.nombre-bodega {
	font-size: 14px;
	font-weight: 400;
	margin: 0;
	letter-spacing: 0.03em;

	font-family: var(--font-family-sans);
	display: none;
}

@media only screen and (max-width: 1080px) {
	.info-visita-detalle {
		width: 100%;
		padding: 40px;
	}

	.info-visita-detalle p.nombre-bodega,
	.text-card-visita p.nombre-bodega {
		font-size: 18px;
	}

	.info_servicio_cabecera .imagen-visita-detalle {
		height: 320px;
	}
}

@media only screen and (max-width: 810px) {
	.info_servicio_cabecera {
		width: 55%;
		gap: 16px;
	}

	.info_servicio_cabecera .imagen-visita-detalle {
		max-height: 240px;
	}

	.info-visita-detalle h1 {
		padding: 16px 0 16px;
		font-size: 22px;
	}
}

@media only screen and (max-width: 767px) {
	.datos-reserva {
		padding: 16px;
	}

	.info_servicio_cabecera {
		width: 100%;
		gap: 8px;
		margin-top: 16px;
	}

	.info_servicio_cabecera .imagen-visita-detalle {
		max-height: 200px;
	}

	.info-visita-detalle p.nombre-bodega {
		font-size: 16px;
	}

	.info-visita-detalle h1 {
		padding: 16px 0 12px;
		font-size: 24px;
		max-width: 100%;
	}

	.ancla-reserva {
		display: flex;
	}

	#punto-ancla {
		display: flex;
	}
}

/* fin card visita info*/

/* bloque selección fecha / personas / horarios */

/* .confirmacion_servicios h2 {

    text-align: center;
    font-size: 32px;
    font-weight: 300;
    text-align: left;
} */

.text-no-card {
	text-align: left;
}

.adultos label {
	text-align: center;

	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	font-family: var(--font-family-sans);
}

.cuerpo_servicio {
	margin: 0;
	float: left;
	width: 100%;
	border: 1px solid var(--neutral-10);
	padding: 40px !important;
	margin-bottom: 20px;
	background: var(--white);
}

#DivEdicionFechas .confirmacion_servicios .cuerpo_servicio {
	margin: 8px 0 24px;
	float: left;
	width: 100%;
	border: 0px solid var(--neutral-20);
	padding: 32px;
	background-color: transparent;
}

#DivResumenModificacion .cuerpo_servicio {
	border: 0px !important;
	background-color: transparent !important;
}

#DivResumenModificacion {
	border: 0px !important;
	background-color: transparent !important;
}

#DivTusDatosModificacion {
}

#DivTusDatosModificacionExtras {
	display: none;
}

/* #DivCarritoResumenConfirmar {
    margin: 8px 0 24px;
    float: left;
    width: 100%;
    border: 1px solid var(--neutral-20) !important;
    padding: 32px;
    background-color: rgba(var(--white-rgb), 0.4) !important;
} */

#paso_1_all .cuerpo_servicio {
	margin: 0;
	float: right;
	width: 40%;
	position: relative;
	border: none;
	padding: 0 !important;
}

.confirmacion_servicios {
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0;
	z-index: 2;
	position: relative;
	padding: 40px;
	border: 1px solid var(--neutral-10);
	background-color: var(--white);
}

.title-no-card {
	font-size: 28px;
	margin-bottom: 10px;
	padding: 0 0 4px;
	letter-spacing: 0.01em;
	color: var(--black);
	font-weight: 600;
}

h2.title-no-card {
	font-size: 20px !important;
	font-weight: 600 !important;
	font-family: var(--font-family-sans) !important;
	line-height: 1.1;
}

#paso_1_all .cuerpo_servicio .text-no-card {
	font-family: var(--font-family-sans);
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
	color: var(--black);
	letter-spacing: 0.03em;
}

#paso_1_all .cuerpo_servicio .text-no-card::after {
	content: " ";
	display: block;
	border-bottom: 1px dashed var(--neutral-20);
	margin-top: 32px;
}

#contenidoTusVisitas .title-no-card {
	margin: 0 0 0 0;
	padding: 0 0 30px 0;
	font-size: 23px;
	color: var(--color-primary-700);
	font-weight: 400;
}

@media only screen and (max-width: 1080px) {
	#paso_1_all .cuerpo_servicio::after {
		width: calc(100% + 64px);
	}
}

@media only screen and (max-width: 810px) {
	#paso_1_all .cuerpo_servicio {
		margin: 8px 0 0 24px;
		width: calc(45% - 24px);
		padding: 24px;
	}

	#paso_1_all .cuerpo_servicio::after {
		width: 100%;
		height: 100%;
		top: 0;
		border-width: 2px;
	}

	.title-no-card {
		font-size: 24px;
	}
}

@media only screen and (max-width: 767px) {
	.cuerpo_servicio,
	#paso_1_all .cuerpo_servicio {
		margin: 8px 0 0;
		width: 100%;
		padding: 16px 0 32px;
	}

	#paso_1_all .cuerpo_servicio {
		margin-top: 0;
	}
}

/* card filtros */
.Filtros {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.Filtros .card-visita {
	width: 100%;
	background: none;
	padding: 0;
	margin: 0;
}

.title-card-filtro {
	font-family: var(--font-family-sans) !important;

	font-weight: 600 !important;
	font-size: 20px !important;
	margin-top: 0px;
}

/* selección fecha */
.confirmacion_servicios #FechaVisita-container {
	border: none;
	padding: 0;
	float: left;
	width: 100%;
}

/* datepicker */

.content-card-filtro {
	border: none;
	padding: 0 0 0 0;
	float: left;
	width: 100%;
}

.confirmacion_servicios #FechaVisita-container .datepicker table {
	background: none !important;
	border: none !important;
	margin: 0;
}

.confirmacion_servicios .fechaseleccion .datepicker-inline {
	width: 100%;
}

#DivSiguientePaso00 .confirmacion_servicios .fechaseleccion {
	width: calc(100% / 2 - 20px);
}

#DivSiguientePaso00 .confirmacion_servicios .horarioseleccion {
	width: calc(100% / 2 - 20px);
}

@media only screen and (max-width: 980px) {
	#DivSiguientePaso00 .confirmacion_servicios .fechaseleccion {
		width: calc(100%);
	}

	#DivSiguientePaso00 .confirmacion_servicios .horarioseleccion {
		width: calc(100%);
	}
}

.datepicker table tr th {
	line-height: 40px;
	color: var(--neutral-80);
	text-align: center !important;
	border: none !important;
	border-radius: 0 !important;
}

.datepicker-days .table-condensed tr {
	display: flex;
	gap: 3px;
}

.datepicker-days .table-condensed thead tr:nth-child(2) {
	border-radius: 0px;
}

.datepicker table tr th.prev,
.datepicker table tr th.next,
.datepicker table tr th.datepicker-switch {
	padding: 0;
	transition: var(--transition);
	font-family: var(--font-family-sans);
	font-weight: 400;
	font-size: 24px;
	line-height: 24px;
}

.datepicker table tr th.prev {
	border-right: 0px solid var(--black) !important;
}

.datepicker table tr th.next {
	border-left: 0px solid var(--black) !important;
}

.datepicker table tr th.prev:hover,
.datepicker table tr th.next:hover {
	background: var(--black);
	color: var(--white);
}

.datepicker table tr th.datepicker-switch {
	font-weight: 500;
	font-size: 14px;

	width: 100%;
	padding-top: 2px;
}

.datepicker table tr .datepicker-switch:hover {
	background: none;
	cursor: default;
}

.datepicker table tr th.dow {
	font-weight: 400;
	padding: 5px;

	font-size: 12px;
	letter-spacing: 0.05em;
}

.datepicker table tr td.day {
	font-weight: 600;
	transition: var(--transition);
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 17px;
	border: 1px solid var(--neutral-10);
	font-family: var(--font-family-sans);
	border-radius: 0px;
	color: var(--black);
}

.datepicker table tr td.day:hover {
	border-color: var(--black);
	background: var(--black) !important;
	color: var(--white);
}

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
	font-weight: 400;
	background: none !important;
	font-size: 14px;
	color: var(--black);
	border: none;
}

.datepicker table tr td.old,
.datepicker table tr td.new,
.datepicker table tr td.old:hover,
.datepicker table tr td.new:hover {
	font-weight: 400;
	background: none;
	color: var(--neutral-20) !important;
	border: none;
}

.datepicker table tr td.day.active,
.datepicker table tr td.day.active:hover {
	background: var(--color-primary-700) !important;
	text-shadow: none;
	color: var(--white) !important;
	border-color: var(--color-primary-700) !important;
}

.datepicker-days .table-condensed thead th.dow,
.datepicker-days .table-condensed tr td {
	width: calc(100% / 7) !important;
	display: flex;
	margin-bottom: 4px;
	justify-content: center;
	font-family: var(--font-family-sans);
	font-weight: 600;
}

/* fin datepicker */

/* fin selección fecha */

/* seleccion personas */

#paso_1_all .Filtros .adultos {
	margin-bottom: 16px;
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos,
#FormCompraEvento .usuarios_grupos_disponibles .adultos {
	/* margin-top: 16px; */
	text-align: center;
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos:first-child {
	margin-top: 0 !important;
}

.content-card-filtro h4 {
	font-family: var(--font-family-sans) !important;

	font-size: 11px !important;
	font-weight: 500 !important;
	color: var(--neutral-80);
	margin: 0;
	text-align: center;
	padding-bottom: 0;
}

/* botones + - selección de personas */

.content-card-filtro .input-group.bootstrap-touchspin {
	margin-top: 8px;
	border: 1px solid var(--neutral-10);
	border-radius: 0px;
}

.content-card-filtro .input-group.bootstrap-touchspin span:first-child {
	border-right: 1px solid var(--neutral-20);
}

.content-card-filtro .input-group.bootstrap-touchspin span:last-child {
	border-left: 1px solid var(--neutral-20);
}

#section-visitas .cuerpo_servicio input.form-control {
	height: 40px;
	font-family: var(--font-family-sans) !important;
}

#section-visitas .cuerpo_servicio input.form-control:hover {
	outline-offset: -4px;
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .input-group-btn .btn {
	height: 40px;
	width: 40px;
	border: 0px solid var(--black);
	font-size: 70px;
	font-weight: 100;
	line-height: 16px;
	padding: 0;
	margin: 0;
	color: var(--black);
	transition: var(--transition);
	background: none;
	box-shadow: none !important;
	border-radius: 0;
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover {
	background-color: var(--black);
	color: var(--white);
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn svg {
	fill: var(--black);
	-webkit-transition: var(--transition);
	-moz-transition: var(--transition);
	-o-transition: var(--transition);
	transition: var(--transition);
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover svg {
	fill: var(--white);
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn svg rect {
	transition: var(--transition);
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover svg rect {
	height: 31px;
	width: 2px;
}

.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover svg rect:first-child {
	height: 2px;
	width: 31px;
}

.content-card-filtro .input-group.bootstrap-touchspin input.usuarios_grupos {
	border: none !important;
	height: 40px;
}

/* fin botones + - selección de personas */

/* fin seleccion personas */

/* selección hora */

.content-card-filtro h4.text-select-hour {
	text-transform: initial;
	font-size: 14px !important;
	text-align: left;
	font-weight: 400 !important;
}

#ResultadosVisitas {
	margin-top: 10px;
	float: left;
	width: 100%;
}

#ResultadosVisitas .msg_error {
	padding-left: 0;
	margin-top: 8px;
	margin-bottom: 0;
}

.info_servicio .radio.inputs-horas {
	margin: 8px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.info_servicio .radio.inputs-horas label {
	width: auto;
	margin: 0 !important;
	padding: 6px 16px;
	text-align: center;
	border: 1px solid var(--black);
	transition: var(--transition);
	border-radius: 0px;
}

.info_servicio .radio.inputs-horas label:hover {
	border: 1px solid var(--black) !important;
	background-color: var(--black);
	color: var(--white);
}

.info_servicio .radio.inputs-horas label.hour-selected,
.info_servicio .radio.inputs-horas label.hour-selected:hover {
	border: 1px solid var(--color-primary-700) !important;
	background-color: var(--color-primary-700);
	color: var(--white);
}

.info_servicio .radio.inputs-horas label input {
	position: absolute;
	visibility: hidden;
}

.info_servicio .radio.inputs-horas label span {
	display: block;
	font-weight: 500;
	font-size: 16px;
	transition: var(--transition);
	cursor: pointer;
	letter-spacing: 0.03em;
	font-family: var(--font-family-sans);
}

.info_servicio .radio.inputs-horas label:hover span {
	color: var(--white);
}

.info_servicio .radio.inputs-horas label.hour-selected span,
.info_servicio .radio.inputs-horas label.hour-selected:hover span {
	color: var(--white);
}

.info_servicio em {
	display: block;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0 0 0 0;
	text-align: left;
	font-size: 13px;
}

.info_servicio em a {
	color: #111;
}

.info_servicio em a:hover {
	color: var(--neutral-80);
}

.resultados-horarios-posibles .personas_minimo {
	margin-bottom: 20px;
	margin-top: 0;
}

.info_servicio .enviar_visita {
	margin-top: 20px;
	width: 100%;
	padding: 10px !important;
	font-size: 18px !important;
	font-family: var(--font-family-sans);
	letter-spacing: 0.03em !important;
	font-weight: 500 !important;
	color: var(--black) !important;
	height: 48px;
	border: 1px solid var(--black) !important;
	background-color: var(--white) !important;
	border-radius: 0px;
	margin-bottom: 20px;
}

.info_servicio .enviar_visita:hover {
	color: var(--white) !important;
	background-color: var(--black) !important;
}

#MensajeContacto {
	display: inline-block;
	color: var(--neutral-60);
	font-size: 12px !important;
	font-weight: 400;
	line-height: 16px;
	letter-spacing: 0.03em;
}

#MensajeContacto em a {
	font-weight: 600;
	transition: var(--transition);
	color: var(--neutral-60);
}

#MensajeContacto em a:hover {
	color: var(--neutral-80);
	text-decoration: underline;
}

/* fin selección hora */

/* selección para regalar */
.visita-regalar .info_servicio_cabecera {
	width: 100%;
	display: flex;
	margin-bottom: 32px;
	border: 1px solid var(--neutral-10);
}

.visita-regalar .info_servicio_cabecera .imagen-visita-detalle {
	width: calc(100% / 2 - 0px);
	height: auto;
}

.texto-regala-detalle {
	position: relative;
	padding: 0;
	margin-bottom: 0px;
	margin-top: 0px;
	width: 50%;
	padding: 40px;
}

.visita-regalar .info_servicio_cabecera .title-visita-regalo {
	width: 100%;
}

.visita-regalar .info-visita-detalle {
	width: 100%;
	padding: 0px;
	border: 0px;
	background-color: transparent;
}

.visita-regalar .title-visita-regalo p.nombre-bodega {
	font-size: 14px;

	font-weight: 500;
}

.visita-regalar .title-visita-regalo h1 {
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
	padding: 0 0 25px;
	font-family: var(--font-family-sans);
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 0.3px;
	color: var(--neutral-80);
	line-height: initial;
}

.visita-regalar .ancla-reserva {
	display: flex;
	margin-top: 10px;
}

.visita-regalar #punto-ancla {
	display: flex;
}

.confirmacion_servicios.confirmacion_servicios_regalo {
	padding: 40px;
	border: 1px solid var(--neutral-20);
	margin: 0 0 24px;
}

/* .resumen-regala-visita {
    margin-bottom: 24px;
    border: 1px solid var(--neutral-10);
    padding: 32px;
    background-color: rgba(var(--white-rgb), 0.4);
    border: opacity 0.5;
} */

.resumen-regala-visita .name-visit-resume {
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid var(--neutral-20);
}

.resumen-regala-visita .date-visit-resume:nth-child(2) {
	font-family: inherit;
	letter-spacing: inherit !important;
	font-size: inherit;
	color: inherit;
}

.confirmacion_servicios_regalo .Filtros .content-card-filtro {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.confirmacion_servicios_regalo .Filtros .content-card-filtro .adultos {
	width: calc(100% / 3 - 28px);
	margin: 0;
}

#FormCompraEvento .confirmacion_servicios.confirmacion_servicios_regalo {
	border: 1px solid var(--neutral-10);
	padding: 40px;
}

/* fin selección para regalar */

/* oculta el botón de contacto cuando no está disponible la reserva */
#fila-contacto {
	display: none;
	padding-top: 0;
}

#fila-contacto a {
	font-size: 16px;
	font-weight: 500;
}

/* fin oculta el botón de contacto cuando no está disponible la reserva */

@media only screen and (max-width: 810px) {
	.visita-regalar .info_servicio_cabecera .imagen-visita-detalle {
		width: 100%;
		max-height: 320px;
	}

	.texto-regala-detalle {
		width: 100%;
	}

	.visita-regalar .title-visita-regalo p.nombre-bodega {
		font-size: 18px;
	}

	.visita-regalar .info_servicio_cabecera .title-visita-regalo {
		width: 100%;
		padding-left: 0;
		padding-bottom: 0;
	}

	.visita-regalar .title-visita-regalo h1 {
		font-size: 32px;
	}

	.visita-regalar .ancla-reserva {
		margin: 16px 0;
	}
}

@media only screen and (max-width: 767px) {
	.visita-regalar .info_servicio_cabecera {
		gap: 8px;
	}

	.visita-regalar .info_servicio_cabecera .imagen-visita-detalle {
		max-height: 200px;
	}

	.visita-regalar .title-visita-regalo p.nombre-bodega {
		font-size: 16px;
		margin-bottom: 0;
	}

	.visita-regalar .title-visita-regalo h1 {
		padding: 16px 0 12px;
		font-size: 24px;
		max-width: 100%;
	}

	.visita-regalar .ancla-reserva {
		margin: 12px 0 8px;
	}

	.confirmacion_servicios.confirmacion_servicios_regalo {
		padding: 24px;
	}

	.confirmacion_servicios_regalo .Filtros .content-card-filtro {
		gap: 24px;
	}

	.confirmacion_servicios_regalo .Filtros .content-card-filtro .adultos {
		width: 100%;
	}

	#FormCompraEvento .confirmacion_servicios.confirmacion_servicios_regalo {
		padding: 24px;
	}
}

/* fin card filtros */

/* ------------------------------------------------------ CLOSE: PASO 1: Selección Fecha Idioma Número personas  ------------------------------------------------------ */

/*  ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------
        OPEN: Paso 2 Resumen Extras Datos Formas de pago
    ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------  */

#paso_2_all,
#paso_3_all,
#paso_resumen_all {
	/* float: left;*/
}

#paso_extras_compra {
	display: none;
}

#DivTusExtras {
	display: none;
}

/* resumen visita */
#FormCompraServicio .card-visita {
	width: 100%;
}

.card-visita.botones_completar_reserva {
	background: none;
	margin: 24px 0 0;
}

.datos-servicio-container {
	padding: 16px 0 24px;
	border-bottom: 1px dashed var(--neutral-20);
	display: flex;
	align-items: center;
}

.datos-servicio-container #StrNombreInstalacion {
	display: none;
}

.datos-servicio-container .date-visit-resume {
	border-right: 1px solid var(--neutral-20);
	padding: 0px 20px;
}

.title-visit {
	font-weight: 600;
	font-size: 18px;
	color: var(--neutral-80);
	margin-top: 15px;
}

.date-visit-resume {
	font-weight: 400;
	font-size: 16px;
}

.date-visit-resume strong {
	font-weight: 500 !important;
}

.date-visit-resume:first-child {
	font-size: 12px;
	letter-spacing: 0.03em;
}

.date-visit-resume:nth-child(2) {
	letter-spacing: 0 !important;
	padding-left: 0px;
	color: var(--black);
}
.date-visit-resume:nth-child(1) {
	display: none;
}

.date-visit-resume:nth-child(2) strong {
	font-weight: 600 !important;
}

.date-visit-resume.date-visit-resume-ant {
	font-size: 16px;
	color: var(--black);
	font-family: var(--font-family-sans);
	text-transform: inherit;
	opacity: 0.3;
	font-style: italic;
}

.date-visit-resume.date-visit-resume-ant:nth-child(1) {
	margin-top: -16px;
}

.date-visit-resume.date-visit-resume-ant:nth-child(2) {
	margin-bottom: 8px;
}

.datos-servicio {
	font-family: var(--font-family-sans) !important;
}

/* tabla resumen */
.carrito-tabla {
	padding: 24px 0 0;
}

.tabla-resumen {
	border: none !important;
	margin: 0 !important;
	width: 100%;
}

.tabla-resumen tr td {
	padding: 2px 0;
	border: none;
	line-height: 100%;
	font-size: 16px;
	letter-spacing: 0.03em;
	font-weight: 500;
}

.tabla-resumen tr th {
	padding: 0 0 12px;
}

.tabla-resumen tr th:nth-child(2) {
	text-align: center;
}

.tabla-resumen tr th:nth-child(3) {
	text-align: right;
}

.tabla-resumen th h5 {
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0px;
	margin: 0;
	color: var(--color-primary-700);
	font-family: var(--font-family-sans) !important;
}
.tabla-resumen th {
	border: 0px;
}

.tabla-resumen tr td:first-child {
	width: 50%;
}

.tabla-resumen tr td:nth-child(2) {
	width: 23%;
}

#FormCompraEvento .tabla-resumen tr td:nth-child(2) {
	width: auto;
}

.tabla-resumen tr td.casi-last {
	width: 20%;
	text-align: right;
}

.tabla-resumen tr td:last-child {
	width: 7%;
	text-align: right;
	font-weight: 400;
}

#trcupones td {
	padding: 16px 0;
	font-weight: 500;
}

.tabla-resumen tr td .num_usuarios {
	border: none;
	text-align: center;
	display: block;
	width: 100%;
	padding: 0;
}

.tabla-resumen tr td input {
	background: none;
}

.tabla-resumen tr.totales td {
	color: var(--black);
	padding-top: 12px;

	font-size: 16px;
	font-weight: 500;
}

.tabla-resumen tr.totales td.total_precio {
	font-weight: 600;
	color: var(--color-primary-700);
	font-size: 18px;
}

.tabla-resumen tr td label {
	margin: 0 !important;
	padding: 4px 0;
	font-weight: 500 !important;
}

/* fila tabla extra */

.tabla-resumen tr td.delete-mejora .fa {
	color: var(--error);
	cursor: pointer;
	font-size: 24px;
	padding-top: 5px;
	background: none !important;
	line-height: 24px;
	transition: var(--transition);
}

.tabla-resumen tr td.delete-mejora .fa:hover {
	color: var(--error);
}

tr.extra-mejora-tabla td {
	color: var(--neutral-60);
	font-weight: 500;
}

tr.extra-mejora-tabla td input {
	text-align: center;
	border: none;
	color: var(--neutral-60);
	width: 100%;
	font-style: initial;
}

tr.extra-mejora-tabla td.casi-last {
	font-style: initial;
}

/* fin fila tabla extra */

/* fin tabla resumen */

@media only screen and (max-width: 810px) {
	.datos-servicio-container {
		flex-wrap: wrap;
		margin-top: 16px;
	}

	.name-visit-resume {
		display: block;
		padding-bottom: 10px;
		font-size: 14px;
	}

	.date-visit-resume {
		width: 100%;
		padding-left: 0;
		margin-left: 0;
		border-left: none;
		padding-right: 0;
		margin-right: 0;
		border-right: none;
		font-size: 14px;
		padding-bottom: 4px;
	}

	.date-visit-resume:last-child {
		padding-right: 0;
		margin-right: 0;
		border-right: none;
	}

	.date-visit-resume.date-visit-resume-ant {
		font-size: 14px;
	}

	#mejora-tus-visitas {
		margin: 0;
		padding: 16px 0 0;
		display: flex;
		gap: 24px;
		flex-wrap: wrap;
		align-content: flex-start;
	}
}

@media only screen and (max-width: 767px) {
	.tabla-resumen tr td,
	.tabla-resumen tr td label {
		font-size: 12px;
	}

	.tabla-resumen tr.totales td {
		font-size: 10px;
		letter-spacing: 0;
	}

	.tabla-resumen tr.totales td.total_precio {
		font-size: 14px;
	}

	.date-visit-resume:nth-child(2) {
		font-size: 18px;
	}
}

/* fin resumen visita */

/* extras mejora tus visitas */

#mejora-tus-visitas {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	align-content: flex-start;
}

#mejora-tus-visitas li.card-visita {
	list-style: none;
	width: calc(50% - 12px);
	margin-bottom: 0;
	padding: 0;
}

.content-extra {
	display: flex;
	align-items: center;
	padding-right: 16px;
}

.textos-card-extras {
	padding: 0 32px 0 24px;
	border-right: 0.5px solid var(--neutral-20);
}

.mejora-texto-titulo {
	align-content: center;
	display: flex;
	align-items: center;
	font-weight: 400;
	transition: var(--transition);
	font-size: 16px;
	color: var(--neutral-80);
}

.mejora-texto-titulo strong {
	font-weight: 600;
}

.mejora-texto {
	font-style: italic;
	align-content: center;
	display: flex;
	align-items: center;
	padding: 0;
	font-weight: 400;
	transition: var(--transition);
	line-height: 21px;
	color: var(--neutral-80);
	font-size: 14px;
	letter-spacing: 0.03em;
}

.mejora-precio {
	padding-left: 30px;

	letter-spacing: 1px;
	font-size: 11px;
	color: var(--neutral-80);
}

.usuario_grupo_precio {
	display: flex;
	align-items: center;
}

.mejora-precio span {
	font-size: 20px;
	font-family: var(--font-family-sans);
	padding-left: 8px;
	display: inline-block;
}

.error_anadir_extra {
	font-size: 12px;
	padding-top: 10px;
	display: block;
}

.mejora-enviar {
	align-items: center;
	display: flex;
}

.mejora-enviar .enviar_extra {
	padding: 0;
	display: block;
	width: 45px;
	height: 45px;
	line-height: 45px;
	background: none;
	color: var(--neutral-80);
	border: 1px solid var(--neutral-80);
	transition: var(--transition);
}

.mejora-enviar .enviar_extra:hover {
	background: var(--neutral-80);
	color: var(--neutral-50);
	border: 1px solid var(--neutral-80);
}

.mejora-enviar button.enviar_extra i {
	font-size: 16px;
	line-height: 45px;
}

#mejora-extra .msg_error {
	padding: 0;
	background: none;
	color: var(--error);
	font-weight: 300;
	font-size: 12px;
}

@media only screen and (max-width: 810px) {
	#mejora-tus-visitas li.card-visita {
		width: calc(100% / 2 - 15px);
	}

	#mejora-tus-visitas {
		margin: 0;
		padding: 16px 0 0;
	}

	#mejora-tus-visitas li.card-visita {
		width: 100%;
		margin: 0;
	}
}

@media only screen and (max-width: 767px) {
	#mejora-tus-visitas {
		gap: 20px;
		padding-top: 24px;
	}

	.content-extra {
		padding-right: 0;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--neutral-10);
		flex-wrap: wrap;
	}

	li:last-child .content-extra {
		padding-bottom: 0;
		border-bottom: none;
	}

	.textos-card-extras {
		padding: 0 0 0 24px;
		border-right: none;
		width: calc(100% - 69px);
	}

	.mejora-precio {
		padding-left: 69px;
		padding-top: 12px;
	}
}

/* fin extras mejora tus visitas */

/* tus datos */
.text-expli .campos-obligatorios {
	font-style: italic;
	font-size: 12px;
	padding-left: 10px;
	color: var(--neutral-60);
}

.cont-datos-personales {
	display: flex;
	align-items: flex-start;
	gap: 8px 24px;
	flex-wrap: wrap;
	align-content: flex-start;
}

.cont-datos-personales .linea_datos {
	padding: 0;
}

#DivContenidoExtras .linea_datos {
	margin-top: 16px;
	width: calc(100% / 2 - 25px);
}

.linea_datos {
	margin-top: 16px;
	width: calc(100% / 2 - 12px);
}

.datos-visitas .rotulo {
	font-family: var(--font-family-sans);
}

.datos-visitas .rotulo strong {
	font-family: var(--font-family-sans);

	font-weight: 600;
	padding-left: 5px;
}

#section-visitas .cuerpo_servicio .linea_datos .label-datos {
	margin: 4px !important;

	font-size: 14px;
	color: var(--black);
	font-family: var(--font-family-sans);
	font-weight: 600 !important;
}

#section-visitas .cuerpo_servicio .linea_datos .label-datos sup {
	font-size: 14px;
	top: 0;
	line-height: 14px;
	font-family: var(--font-family-sans);
	bottom: initial;
}

#section-visitas .cuerpo_servicio .linea_datos input.form-control,
#section-visitas .cuerpo_servicio .linea_datos textarea.form-control {
	height: 48px;
	text-align: left;
	border: 1px solid var(--neutral-20);
	padding: 0 16px;
	text-transform: initial;
	font-weight: 500;
	font-size: 16px;
}

#section-visitas .cuerpo_servicio .linea_datos input.form-control:hover,
#section-visitas .cuerpo_servicio .linea_datos textarea.form-control:hover {
	background-color: var(--white);
}

#section-visitas .cuerpo_servicio .linea_datos input.form-control:focus,
#section-visitas .cuerpo_servicio .linea_datos textarea.form-control:focus {
	border-color: var(--color-primary-700);
	outline: 4px solid rgba(var(--main-rgb), 0.2);
	outline-offset: -5px;
	background-color: var(--white);
}

#section-visitas .cuerpo_servicio .linea_datos input.form-control::placeholder,
#section-visitas .cuerpo_servicio .linea_datos textarea.form-control::placeholder {
	color: var(--neutral-60) !important;
	font-weight: 400;
	text-transform: initial;
	letter-spacing: 0;
	opacity: 0.5;
	font-family: var(--font-family-sans);
}

#section-visitas .cuerpo_servicio .linea_datos textarea.form-control {
	height: 120px;
	line-height: 140%;
}

@media only screen and (max-width: 767px) {
	.text-expli .campos-obligatorios {
		padding-left: 0;
		display: block;
	}

	.text-expli {
		margin-bottom: 0;
	}

	.linea_datos {
		width: 100%;
	}

	#section-visitas textarea.form-control {
		height: 100px;
	}
}

/* fin tus datos */

/* formas pago */

#FormasPago {
	display: flex;
	align-items: center;
	gap: 8px 24px;
	flex-wrap: wrap;
	align-content: flex-start;
	padding: 0 0 24px;
}

/* card tipo pago */
#FormasPago .pago {
	margin: 16px 0 0;
	padding: 0;
	width: auto;
	background: none;
}

#FormasPago .pago label {
	padding: 16px 24px 16px 68px;
	margin: 0 !important;
	color: var(--black);
	font-size: 14px;
	line-height: 18px;
	font-weight: 600 !important;
	background-repeat: no-repeat;
	background-size: 40px;
	background-position: center left 16px;
	cursor: pointer;
	border: 1px solid var(--black);
	transition: var(--transition);
	height: 52px;
	border-radius: 0px;

	font-family: var(--font-family-sans);
}

#FormasPago .pago label:hover {
	border: 1px solid var(--black);
	color: var(--white);
	background-color: var(--black);
	background-position: bottom 5px left 16px;
}

#FormasPago .pago.selected label,
#FormasPago .pago.selected label:hover {
	border: 1px solid var(--color-primary-700);
	color: var(--white);
	background-color: var(--color-primary-700);
	background-position: bottom 5px left 16px;
}

/* icons para cada tipo de pago */
#FormasPago .pago.pago_en_bodega label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-bodega-icon.svg);
}

#FormasPago .pago.tarjeta_de_credito label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-card-icon.svg);
}

#FormasPago .pago.bizum label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-bizum-icon.svg);
}

#FormasPago .pago.paypal label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-paypal-icon.svg);
}

#FormasPago .pago.apple_pay label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-apple-icon.svg);
}

#FormasPago .pago.google_pay label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-google-icon.svg);
}

#FormasPago .pago.pago_en_instalacion label,
#FormasPago .pago.pago_en_la_instalacion label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-instalacion-icon.svg);
}

#FormasPago .pago.gratuito label {
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-gratis-icon.svg);
}

/* fin icons para cada tipo de pago */

#FormasPago .pago label input {
	width: 0;
	height: 0;
	opacity: 0;
}

/* fin card tipo pago */

@media only screen and (max-width: 767px) {
	#FormasPago .pago {
		width: 100%;
	}

	#FormasPago .pago label {
		width: 100%;
	}
	.finalizar_compra {
		flex-direction: column;
	}
	.volver_carrito {
		width: 100%;
		text-align: center;
	}
	.btn-solid-main {
		width: 100%;
		text-align: center;
	}
	.confirmar_compra {
		width: 100%;
		text-align: center;
	}
	.btn-solid-neutral {
		width: 100%;
		text-align: center;
	}
}

/* fin formas pago */

/* botones cancelar y continuar */
.finalizar_compra {
	display: flex;
	justify-content: space-between;
	background: none;
}

/* fin botones cancelar y continuar */

/* ------------------------------------------------------ CLOSE: Paso 2 Resumen Extras Datos Formas de pago  ------------------------------------------------------ */

/*  ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------
        OPEN: Paso 3 Confirmar compra
    ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------  */

/* datos reserva */
.datos-reserva-ok {
	text-align: left;
}

.datos-reserva .datos-visitas.fecha {
	/* border-bottom: 0.5px solid var(--black);
    padding: 12px 0 16px;*/
}

.datos-reserva .datos-visitas.fecha .title-visit {
	margin: 0;
	font-family: var(--font-family-sans) !important;
}

.datos-reserva .datos-visitas.fecha .title-visit .date-visit-resume {
	font-size: 16px;
	text-transform: inherit;
}

@media only screen and (max-width: 767px) {
	.datos-reserva .datos-visitas.fecha .date-visit-resume {
		font-size: 13px;
	}
}

/* fin datos reserva */

/* cupón descuento */
#cupones {
	visibility: hidden;
}

#cupones .cont-datos-personales {
	margin-top: 24px;
	display: flex;
	align-items: center;
	gap: 16px;
}

#cupones .linea_datos {
	width: 100%;
	max-width: 320px;
	margin: 0;
}

#cupones .contiene-cupon #validar_cupon {
	padding: 0 16px;
	color: var(--black);
	font-size: 14px;
	line-height: 14px;
	letter-spacing: 0.03em;
	font-weight: 600 !important;
	cursor: pointer;
	border: 2px solid var(--black);
	transition: var(--transition);
	font-family: var(--font-family-sans);

	height: 48px;
	border-radius: 0px;
	background: none;
}

#cupones .contiene-cupon #validar_cupon:hover {
	background-color: var(--black);
	color: var(--white);
}

.cont-datos-personales #cupon-error {
	order: 3;
	width: 100%;
	margin-top: 0 !important;
}

@media only screen and (max-width: 767px) {
	#cupones {
		padding-bottom: 32px;
		margin-top: 0;
	}

	#cupones .cont-datos-personales {
		gap: 8px;
	}

	#cupones .linea_datos {
		width: 100%;
		max-width: 100%;
	}

	#cupones .contiene-cupon {
		width: 100%;
	}

	#cupones .contiene-cupon #validar_cupon {
		height: 40px;
	}
}

@media only screen and (max-width: 1600px) {
	#paso_3_all_confirmar .datos-reserva {
		width: 100% !important;
	}

	#paso_3_all .datos-reserva {
		width: 100% !important;
	}
}

/* fin cupón descuento */

/* tus datos */
.card-visita.tus-datos-personales {
	float: left;
	width: 100%;
	padding: 32px 0;
}

/*----------CAMPOS EXTRA----------*/

#DivExtrasDisponibles p {
	font-family: var(--font-family-sans);
}

#DivExtrasDisponibles .confirmacion_servicios {
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
}

#DivExtrasContenido {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

.bloque_extra {
	width: calc(100% / 3 - 28px);
}

.bloque_extra .box-extra {
	background-color: var(--white);
	margin: 8px 0 0 0;
	position: relative;
	z-index: 1;
	padding: 24px;
	border-radius: 0px;
}

.bloque_extra .detalle-extras .imagen-extra-detalle {
	height: 200px;
}

.bloque_extra .detalle-extras .imagen-extra-detalle img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.bloque_extra .box-extra h3 {
	font-size: 24px;
	letter-spacing: 0;
	font-weight: 700 !important;
	text-align: center;
	padding: 0;
	max-height: 44px;
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	line-height: 90%;
}

.bloque_extra .box-extra h4 {
	text-align: center;
}

.bloque_extra .box-extra .breve_descripcion {
	padding: 12px 0 24px;
}

.bloque_extra .box-extra .breve_descripcion p {
	margin: 0;
	font-size: 14px;
	max-height: 56px;
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	min-height: 40px;
	font-family: var(--font-family-sans);
}

.bloque_extra .btn-solid-neutral {
	letter-spacing: 0.5px !important;
	font-size: 11px;
	border: 2px solid var(--black);
	text-align: center;
	width: auto;
	padding: 13px;
	color: var(--black);
	padding: 13px;
	border-radius: 0px;
}

.bloque_extra .breve_descripcion p {
	text-align: center;
}

.bloque_extra #DivExtrasEnlace {
	width: 100%;
	margin: 0 auto;
	left: inherit;
}

.bloque_extra #DivExtrasEnlace #BtnMisExtras {
	font-size: 14px;
	letter-spacing: 0 !important;
}

.bloque_extra #DivExtrasEnlace:hover #BtnMisExtras {
	color: var(--white);
	background-color: var(--black);
	text-decoration: none;
}

#LblIntruccionesAdd {
	font-family: var(--font-family-sans);
}

#DivContenidoExtrasServicio {
	margin-top: 24px;
	padding-top: 0;
}

@media only screen and (max-width: 1023px) {
	.bloque_extra {
		width: calc(100% / 2 - 20px);
	}
}

@media only screen and (max-width: 767px) {
	.bloque_extra {
		width: 100%;
	}

	#LblIntruccionesAdd,
	#LblIntruccionesDelete {
		line-height: 110%;
		font-size: 14px;
	}
}

/*--FIN CAMPOS EXTRA--*/

.tus-datos-personales .cont-datos-persona {
	display: flex;
	align-items: flex-start;
	gap: 16px 30px;
	flex-wrap: wrap;
	align-content: flex-start;
	padding-top: 10px;
}

.cont-datos-persona .datos-visitas {
	width: calc(100% / 4 - 25px);
}

.cont-datos-persona .datos-visitas-cinco {
	width: calc(100% / 5 - 25px);
}

.cont-datos-persona .datos-visitas-confirmacion {
	width: calc(100% / 5 - 25px);
}

.tus-datos-personales .datos-visitas p {
	padding-bottom: 8px;
	font-family: var(--font-family-sans) !important;

	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--color-primary-700);
	margin: 0;
	letter-spacing: 0.3px;
}

.tus-datos-personales .datos-visitas strong {
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.03em;
	color: var(--neutral-80);
	text-transform: initial;
}

.tus-datos-personales .datos-visitas-confirmacion p {
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 1px;
	margin: 0;
	color: var(--neutral-20);

	padding-bottom: 5px;
}

.tus-datos-personales .datos-visitas-confirmacion strong {
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.03em;
	color: var(--neutral-80);
	text-transform: initial;
}

@media only screen and (max-width: 810px) {
	.cont-datos-persona .datos-visitas,
	.cont-datos-persona .datos-visitas-cinco {
		width: calc(100% / 2 - 15px);
		margin: 5px 0;
	}
}

/* fin tus datos */

/* condiciones */
.card-visita.condiciones_servicio {
	border-bottom: 0.5px solid var(--black);
	padding: 32px 0 24px;
	border-top: 0.5px solid var(--black);
}

.condiciones_servicio .text-condiciones {
	padding-top: 8px;
	font-family: var(--font-family-sans);
	font-size: 14px;
}

.condiciones_servicio .text-condiciones ul {
	list-style: square;
	margin-bottom: 16px;
	padding-left: 16px;
}

.condiciones_servicio .text-condiciones ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 130%;
	margin-bottom: 8px;
}

.condiciones_servicio .text-condiciones a {
	color: var(--black);
	text-decoration: underline;
	font-weight: 600;
}

.condiciones_servicio .text-condiciones a:hover {
	color: var(--color-primary-700);
}

@media only screen and (max-width: 767px) {
	.condiciones_servicio .text-condiciones ul li {
		font-size: 14px;
	}
}

/* fin condiciones */

.contacto_formulario {
	text-decoration: underline;
	color: var(--black);
}

.contacto_formulario:hover {
	color: var(--color-primary-700);
}

/* formulario por qué */

.formulario-bloque .row {
	margin-top: 20px;
	margin-bottom: 0;
	padding: 0;
}

.formulario-bloque ul.formulario_preguntas li {
	margin: 5px 0 0;
}

.formulario-bloque ul.formulario_preguntas li label {
	font-size: 13px;
	font-style: italic;
	line-height: 1.4em;
}

.formulario-bloque ul.formulario_preguntas li label input {
	margin-top: 3px;
}

/* fin formulario por qué */

/* mensage sesión caducada */

#session-caducada-msg {
	margin-top: 15px;
}

/* fin mensage sesión caducada */
.datos-passbook {
	display: none;
}

.datos-passbook h4 {
	text-align: left;
}

@media (max-width: 767px) {
	.datos-passbook {
		display: inline-block;
		width: 100%;
		text-align: left;
	}
}

.datos-passbook h4.rotulo-compras2 {
	margin: 0 0 8px 0;
	padding: 0;
}

.wallet-form {
	text-align: left;
	margin-top: 16px;
}

.wallet-form button[type="submit"] {
	padding: 16px 24px 16px 68px;
	margin: 0;
	color: var(--black);
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.02em;
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition);
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/wallet-icon.svg);
	background-size: 40px;
	background-position: center left 16px;
	background-repeat: no-repeat;
	border: 2px solid var(--black);
	background-color: transparent;
	border-radius: 0px;
}

.wallet-form button[type="submit"]:hover,
.wallet-form button[type="submit"]:focus {
	color: var(--white);
	background-color: var(--black);
	background-position: bottom 5px left 16px;
}

/* botones volver y confirmar reserva */
@media only screen and (max-width: 767px) {
	.wallet-form button[type="submit"] {
		padding: 12px 24px 12px 40px;
		font-size: 14px;
		line-height: 14px;
		background-size: 28px;
		background-position: center left 8px;
	}

	.wallet-form button[type="submit"]:hover,
	.wallet-form button[type="submit"]:focus {
		background-position: bottom 5px left 8px;
	}
}

/* fin botones volver y confirmar reserva */

/* ---------- responsive ----------------------------- */

/* ------------------------------------------------------ CLOSE: Paso 3 Confirmar compra  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: RESERVA FINALIZADA: Resumen  ------------------------------------------------------ */

/* datos reserva finalizada */

.row.vuelta-pago {
	display: inline-block;
	text-align: center;
	width: 100%;
	margin: 0;
}

.row.vuelta-pago .checkmark {
	display: inline-block;
}

.reserva-fin-resumen .row,
.datos-personales-resumen .row {
	margin-top: 30px;
}

.reserva-fin-resumen .row:first-child {
	margin-top: 0;
}

.reserva-fin-resumen .rotulo {
	font-weight: 500;
	font-size: 16px;

	letter-spacing: 2px;
	padding-bottom: 10px;
	color: var(--neutral-80);
	margin: 0;
	font-family: var(--font-family-sans);
}

.reserva-fin-resumen .localizador {
	text-align: right;
}

.reserva-fin-resumen .localizador p {
	margin: 5px 0 0;
	border: 0.5px dashed var(--neutral-80);
	padding: 15px 20px 10px 25px !important;
	border-right: 5px solid var(--neutral-80);
	display: inline-block;
	text-align: right;
	margin-bottom: 10px;
}

.reserva-fin-resumen .localizador p .rotulo-localizador {
	font-size: 16px;
	font-weight: 500;
	color: var(--neutral-80);
	display: block;
	line-height: 100%;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

.reserva-fin-resumen .localizador p .cifra-localizador {
	font-size: 42px;
	font-weight: 600;
	color: var(--neutral-80);
	display: block;
	line-height: 100%;
}

.localizador-pago-ok {
	font-size: 32px;
	font-weight: 600;
}

.vuelta-pago .textos-pagos .google-maps-link {
	/*display: flex;*/
	margin-top: 50px;
	text-align: center;
	margin-bottom: 50px;
}

.vuelta-pago .textos-pagos .google-maps-link a {
	padding: 12px 24px 14px 56px;
	margin: 0;
	font-size: 16px;
	line-height: 18px;
	font-weight: 600 !important;
	background-repeat: no-repeat;
	background-size: 36px;
	background-position: center left 16px;
	cursor: pointer;
	border: 2px solid var(--black);
	transition: var(--transition);
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/location-icon.svg);
	color: var(--black);

	border-radius: 0px;
	font-family: var(--font-family-sans);
}

.vuelta-pago .textos-pagos .google-maps-link a:hover {
	color: var(--white);
	background-position: bottom 4px left 16px;
	background-color: var(--black);
	text-decoration: none;
}

.vuelta-pago .textos-pagos .google-maps-link a:focus {
	border: 1px solid var(--color-primary-700);
	color: var(--white);
	background-color: var(--color-primary-700);
	background-position: bottom 5px left 16px;
	text-decoration: none;
}

/* fin reserva finalizada */

/* open modificar reserva */
#CambioReserva {
	display: inline-block;
	width: 100%;
}

p.text-expli {
	text-align: left;

	font-family: var(--font-family-sans);
	padding-bottom: 20px !important;
	font-size: 14px;
	letter-spacing: 0.2px;
	border-bottom: 1px dashed var(--neutral-20);
}

.row.result-modificar {
	width: 100%;
	text-align: center;
	margin-bottom: 16px;
}

/* close modificar reserva */

/* botones acciones */

#paso_resumen_all .finalizar_resumen {
	background: none;
	padding: 0;
}

.btns-reserva-finalizada {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

/* fin botones acciones */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 767px) {
	.reserva-fin-resumen .localizador p {
		width: 100%;
		margin-top: 20px;
		margin-bottom: 0;
		text-align: left;
		border-left: 5px solid var(--neutral-80);
		border-right: 0.5px dashed var(--neutral-80);
		padding-left: 20px !important;
	}

	p.text-expli {
		line-height: 110%;
		font-size: 14px;
	}
}

/* ------------------------------------------------------ CLOSE: RESERVA FINALIZADA: Resumen  ------------------------------------------------------ */

/*  ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------
        OPEN: Pantalla pago OK
    ----------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------  */

.vuelta-pago {
	float: left;
	width: 100%;
}

.imagen-exito {
	width: 100px;
	margin-bottom: 16px;
}

.textos-pagos p {
	font-size: 16px;
}

.vuelta-pago .textos-pagos {
	margin-bottom: 24px;
}

.text-reserva-ok {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.icon-text-status-pago {
	display: flex;
	align-items: center;
	gap: 16px;
}

.icon-text-status-pago .checkmark {
	width: 64px;
	height: 64px;
}

.textos-pagos h2 {
	margin: 0 0 16px;
	padding: 0px 0 0;
	line-height: 100%;
	font-size: 20px;
	font-family: var(--font-family-sans) !important;
	font-weight: 600;
	color: var(--ayuda);
}

.textos-pagos h2 strong {
	font-weight: 600;
}

.textos-pagos h3 {
	font-size: 20px;
	font-weight: 500;
	color: var(--black);
	margin-bottom: 16px;

	font-family: var(--font-family-sans);
}

.text-vuelta-parrafo {
	float: left;
	width: 100%;
	padding: 32px 0;
	border-bottom: 0.5px solid var(--black);
}

.text-vuelta-parrafo p {
	font-size: 18px;
}

.textos-pagos .localizador-pago-ok {
	display: block;
	text-align: center;
}

.textos-pagos .localizador-pago-ok strong {
	display: inline-block;

	color: var(--neutral-80);
	padding: 16px 24px;
	margin: 8px 0 16px;
	font-weight: 700 !important;
	letter-spacing: 1px;
	font-size: 40px;
	font-family: var(--font-family-sans);
	border-radius: 0px;
	border: 2px solid var(--neutral-80);
	margin: 40px 0px;
}

.card-visita.boton-pago-imprimir,
.card-visita.boton-pago-imprimir form {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.info-localizador-ok {
	display: flex;
	gap: 30px;
}

.info-localizador-ok p {
	width: 50%;
	text-align: center;
}

.info-localizador-ok p span {
	display: block;

	border-bottom: 0.5px solid var(--neutral-10);

	max-width: 500px;
	margin: 0 auto;
	padding-bottom: 5px;
	letter-spacing: 1px;
	color: var(--neutral-20);
}

.info-localizador-ok p:first-child strong {
	display: block;
	margin: 20px 0 0;

	font-size: 18px;
	letter-spacing: 0.03em;
	font-weight: 600;
	color: var(--neutral-80);
}

.info-localizador-ok p:last-child strong {
	font-size: 30px;
	line-height: 30px;
	display: block;
	padding: 15px 0 0;
	color: var(--neutral-80);
}

/* animacion ok */

.path {
	stroke-dasharray: 1000;
	stroke-dashoffset: 0;
	animation: dash 2s ease-in-out;
	-webkit-animation: dash 2s ease-in-out;
}

.spin {
	animation: spin 2s;
	-webkit-animation: spin 2s;
	transform-origin: 50% 50%;
	-webkit-transform-origin: 50% 50%;
}

@-webkit-keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@-webkit-keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin {
	0% {
		-webkit-transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
	}
}

@-webkit-keyframes text {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes text {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* fin animacion ok */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 767px) {
	.icon-text-status-pago {
		align-items: flex-start;
		gap: 8px;
		flex-wrap: wrap;
	}

	.icon-text-status-pago .checkmark {
		width: 56px;
		height: 56px;
	}

	.imagen-exito {
		margin-bottom: 8px;
	}

	.textos-pagos h2 {
		line-height: 32px;
		font-size: 16px;
		padding-top: 0;
		width: 100%;
		margin-bottom: 0;
	}

	.textos-pagos h2 strong {
		font-weight: 600;
		display: block;
	}

	.textos-pagos p {
		font-size: 14px;
	}

	.text-vuelta-parrafo {
		padding: 16px 0;
	}

	.text-vuelta-parrafo p {
		font-size: 16px;
		margin-bottom: 0;
	}

	.vuelta-pago .textos-pagos .google-maps-link a {
		padding: 8px 24px 8px 40px;
		font-size: 14px;
		line-height: 16px;
		background-size: 28px;
		background-position: center left 8px;
	}

	.vuelta-pago .textos-pagos .google-maps-link a:hover,
	.vuelta-pago .textos-pagos .google-maps-link a:focus {
		background-position: bottom 2px left 8px;
	}
}

/* ------------------------------------------------------ CLOSE: Pantalla pago OK  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PANTALLA PAGO ERROR  ------------------------------------------------------ */

/* animacion error */

.textos-pagos-error .checkmark {
	margin-top: 20px;
	margin-bottom: 20px;
}

.path {
	stroke-dasharray: 1000;
	stroke-dashoffset: 0;
}

.path.circle {
	-webkit-animation: dash 0.9s ease-in-out;
	animation: dash 0.9s ease-in-out;
}

.path.line {
	stroke-dashoffset: 1000;
	-webkit-animation: dash 0.9s 0.35s ease-in-out forwards;
	animation: dash 0.9s 0.35s ease-in-out forwards;
}

.path.check {
	stroke-dashoffset: -100;
	-webkit-animation: dash-check 0.9s 0.35s ease-in-out forwards;
	animation: dash-check 0.9s 0.35s ease-in-out forwards;
}

@-webkit-keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes dash {
	0% {
		stroke-dashoffset: 1000;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@-webkit-keyframes dash-check {
	0% {
		stroke-dashoffset: -100;
	}

	100% {
		stroke-dashoffset: 900;
	}
}

@keyframes dash-check {
	0% {
		stroke-dashoffset: -100;
	}

	100% {
		stroke-dashoffset: 900;
	}
}

@keyframes stroke {
	100% {
		stroke-dashoffset: 0;
	}
}

/* fin animacion error */

/* textos error */

.imagen-error {
	width: 100px;
	margin-bottom: 16px;
}

.vuelta-pago-nok .textos-pagos h2 {
	color: var(--error);
}

/* fin textos error */

/* ------------------------------------------------------ CLOSE: PANTALLA PAGO ERROR  ------------------------------------------------------ */

#servicios_slider {
	max-width: 1020px;
	margin: 0 auto;
}

/* ···························· inicio IGUALAR ESTILOS ESPACIOS MENU EN VISITAS ·········································· */

#top-menu li a {
	padding-left: 0;
	padding-right: 0;
}

#top-menu li a:hover {
	background: none;
}

/* ----------------------------------- 1440px */

/* ···························· fin IGUALAR ESTILOS ESPACIOS MENU EN VISITAS ·········································· */

/* tunear checkbox */
.forma_pago .checkbox {
	margin: 0 !important;
	display: block;
	padding: 0px 0;
}

.checkbox .acepto-condiciones label {
	padding: 0 px 0px 0px 20px;
}

.acepto-condiciones label {
	display: flex;
	align-items: flex-start;
	margin: 12px 0 0 !important;
	position: relative;
	min-height: inherit;
	padding: 1px 0px 0px 1px;
	font-family: var(--font-family-sans);
}
.acepto-condiciones label a {
	font-weight: 600;
	font-family: var(--font-family-sans);
}

.acepto-condiciones label p {
	width: calc(100% - 24px);
	font-size: 14px;
	line-height: 16px;
}

.acepto-condiciones label p a {
	font-weight: 600;
	transition: var(--transition);
	text-decoration: underline;
	color: var(--black);
	font-family: var(--font-family-sans);
}

.acepto-condiciones label p a:hover {
	color: var(--color-primary-700);
}

.acepto-condiciones label.error {
	margin: 8px 0 0 2px !important;
}

.acepto-condiciones input {
	width: 0;
	height: 0;
	opacity: 0;
}

.acepto-condiciones label > span {
	width: 16px;
	height: 16px;
	display: flex;
	justify-content: center;
	border: 1px solid var(--black);
	margin-right: 8px;
	transition: all 0.3s;
	overflow: hidden;
	transition: var(--transition);
}

.acepto-condiciones label > span:hover {
	border: 1px solid var(--black);
	background-color: var(--black);
}

.acepto-condiciones input:checked + label > span {
	animation: bounce 250ms;
	border-color: var(--black);
}

.acepto-condiciones input:checked + label > span:hover {
	background: none;
}

.acepto-condiciones input:checked + label > span::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 4px;
	border-right: 2px solid transparent;
	border-bottom: 2px solid transparent;
	transform: rotate(45deg);
	transform-origin: 0% 100%;
	animation: checked-box 125ms 250ms forwards;
}

@keyframes checked-box {
	0% {
		width: 0;
		height: 0;
		border-color: var(--black);
		transform: translate(0, 12px) rotate(45deg);
	}

	33% {
		width: 5px;
		height: 0;
		border-color: var(--black);
		transform: translate(0, 4px) rotate(45deg);
	}

	100% {
		width: 5px;
		height: 10px;
		border-color: var(--black);
		transform: translate(0, -8px) rotate(45deg);
	}
}

@keyframes bounce {
	0% {
		transform: scale(1);
	}

	33% {
		transform: scale(0.7);
	}

	100% {
		transform: scale(1);
	}
}

/* fin tunear checkbox */

input#reserva_anular {
	display: none;
}

/*-------------------- INICIO REEMBOLSO ----------------------*/
.total-reembolso {
	padding-top: 10px;
	padding-bottom: 16px;
	margin-top: 8px;
	border-bottom: 1px dashed var(--neutral-10);
	font-size: 18px;
	margin-bottom: 20px;
	font-family: var(--font-family-sans);
}

#informacion_reembolso .rotulo-compras2 {
	font-size: 14px;
}
#DivAltaEliminarExtras h4 {
	font-family: var(--font-family-sans) !important;

	font-weight: 600;
}
#DivExtrasDisponibles p,
#DivExtrasDisponibles {
	font-family: var(--font-family-sans) !important;
}

#DivExtrasDisponibles p {
	font-family: var(--font-family-sans) !important;
	border-bottom: 1px dashed var(--neutral-20);
	padding-bottom: 20px;
	margin-bottom: 20px;
}

p,
.entry-content p {
	font-family: var(--font-family-sans);
	letter-spacing: 0.3px;
}

#informacion_reembolso .instrucciones-localizador .titulo_total,
#informacion_reembolso .instrucciones-localizador .total_precio {
	font-size: 14px;
}

#anular-reserva-all {
	display: block;
	float: left;
	width: 100%;
}

#DivResultadoModificacion .texto-pagos {
	text-align: center;
	display: inline-block;
}

/*-------------------- FIN REEMBOLSO ---------------------*/

/* ···························· open RESEÑAS ·········································· */
.section-resenas .et_pb_text h3 {
	font-family: var(--font-family-sans) !important;
	color: var(--neutral-20) !important;
}

.previa-titulo {
	font-family: montserrat;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 2px;
}

.post-titulo {
	font-size: 12px;
	font-family: montserrat;
	font-weight: 500;
	letter-spacing: 2px;
}

.et_pb_section {
	background-color: transparent !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container {
	font-family: var(--font-family-sans) !important;
	margin-bottom: 0;
	color: var(--neutral-80) !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner {
	background: none !important;
	border: none !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-name {
	font-family: var(--font-family-sans) !important;
	letter-spacing: 0.01em;
	color: var(--neutral-80);
	font-size: 16px !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-date {
	font-family: var(--font-family-sans) !important;
	letter-spacing: 0.03em;
	color: var(--neutral-60);
	opacity: 1;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-star {
	width: 12px;
	height: 12px;
	margin-right: 4px !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-verified-review {
	width: 12px;
	height: 12px;
	margin-left: 8px !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-review-content {
	font-family: var(--font-family-sans) !important;
	letter-spacing: 0.03em;
	color: var(--neutral-80);
	line-height: 140% !important;
	height: 88px !important;
}

.section-resenas .et_pb_row .module-resenas.module-resenas-google .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-review-content {
	height: 80px !important;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner .ti-review-content strong {
	font-family: var(--font-family-sans) !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em;
	color: var(--neutral-80);
	line-height: 140%;
	padding-bottom: 4px;
	display: inline-block;
	padding-top: 4px;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-footer .ti-rating-text {
	padding-top: 16px !important;
	text-align: left;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-footer .ti-rating-text .nowrap {
	font-family: var(--font-family-sans) !important;
	color: var(--neutral-80) !important;
	letter-spacing: 0.03em;
}

.section-resenas .et_pb_row .module-resenas .ti-widget .ti-footer .ti-rating-text .nowrap strong {
	color: var(--color-primary-700) !important;
	font-weight: 700 !important;
}

.row-buttom-resenas .et_pb_button_module_wrapper {
	margin-top: -40px;
}

@media only screen and (max-width: 810px) {
	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-footer .ti-rating-text {
		padding-top: 0 !important;
	}

	.row-buttom-resenas .et_pb_button_module_wrapper {
		margin-top: 0;
	}
}

@media only screen and (max-width: 767px) {
	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item {
		padding: 0;
	}

	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-review-item .ti-inner {
		padding: 0 !important;
	}

	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-controls-line {
		padding: 0 !important;
		margin: 12px 0px 20px;
		height: 1px;
		background: var(--neutral-10);
	}

	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-reviews-container .ti-controls-line .dot {
		background: var(--neutral-20);
	}

	.section-resenas .et_pb_row .module-resenas .ti-widget .ti-footer .ti-rating-text {
		padding-bottom: 8px !important;
	}
}

/* ···························· CLOSE RESEÑAS ·········································· */

/* ···························· TUSVISITAS ·········································· */
#DivMsnRegalarOK {
	display: none;
}

#DivMsnCabRegalarOK {
	text-align: center;
	display: inline-block;
}

#DivEdicionPlazas {
	display: none;
}

#DivEdicionFechas {
	display: none;
}

#DivEdicionFechas .Filtros {
	gap: 40px;
}

#DivCarritoResumenConfirmar {
	display: none;
}

/*#DivOpcionesModificacion {
    border: 1px solid var(--color-secondary-700);
}*/

#DivOpcionesModificacion .fechaseleccion,
#DivOpcionesModificacion .resultados-horarios-posibles {
	width: calc(100% / 2 - 20px);
}

#DivEdicionFechas .Filtros #FechaVisita-selected {
	font-size: 24px;
	padding-bottom: 8px;
}

@media only screen and (max-width: 980px) {
	#DivOpcionesModificacion .fechaseleccion {
		width: calc(100%);
		float: left;
	}

	#DivOpcionesModificacion .resultados-horarios-posibles {
		width: calc(100%);
		float: left;
	}
}

.datos-visitas-resumen {
	padding-right: 24px;
	margin-left: 24px;
	font-family: var(--font-family-sans);

	font-weight: 400;
	font-size: 16px;
	letter-spacing: 0.03em;
}

.datos-visitas-resumen strong {
	color: var(--neutral-80);
	font-weight: 600;
	padding-left: 0px;
	letter-spacing: 1px;
	padding-left: 5px;
}

.datos-visitas-resumen.regala-people {
	padding: 0px 20px;
	margin: 0;
	font-family: var(--font-family-sans);
	text-transform: inherit;
}

.card-visita.datos-reserva.regalo-canjeo-fecha {
	border-color: var(--color-secondary-700);
}

.card-visita.datos-reserva.regalo-canjeo-fecha .Filtros {
}

#DivExtrasSeleccionados {
	display: none;
	padding-top: 16px;
}

#DivExtrasComprados {
	display: none;
	padding-top: 16px;
}

#DivExtrasComprados .date-visit-resume {
	font-size: 16px;
	text-transform: inherit;
	color: inherit;
	font-family: inherit;
}

#DivFormasPagoExtras {
	display: none;
	padding-top: 16px;
}

#DivTipoEdicionExtras {
	display: none;
	padding-top: 16px;
}

#DivResumenModificacion {
	display: none;
}

#informacion_reembolso_modificar {
	display: none;
}

#TblExtras {
	display: none;
}

#DivContTipoEdicionExtras {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	padding: 15px 0 0;
}

/* card tipo pago */
#DivContTipoEdicionExtras .pago {
	margin: 0;
	padding: 0;
	width: auto;
	background: none;
}

#DivContTipoEdicionExtras .pago label {
	padding: 16px 24px;
	color: var(--black);

	font-size: 14px;
	font-family: var(--font-family-sans);
	line-height: 16px;
	letter-spacing: 0.03em;
	font-weight: 600 !important;
	border: 1px solid var(--black);
	cursor: pointer;
	margin: 0 !important;
	transition: var(--transition);
	border-radius: 0px;
}

#DivContTipoEdicionExtras .pago label:hover {
	background-color: var(--black);
	color: var(--white);
}

#DivContTipoEdicionExtras .pago.selected label {
	background-color: var(--color-secondary-700);
	border-color: var(--color-secondary-700);
	color: var(--white);
	background-position: center bottom 1px;
}

/* fin icons para cada tipo de pago */

#DivContTipoEdicionExtras .pago label input {
	width: 0;
	height: 0;
	opacity: 0;
	margin: 0px;
}

/* fin card tipo pago */

@media only screen and (max-width: 810px) {
	#DivContTipoEdicionExtras .pago {
		width: calc(100% / 3 - 20px);
	}
}

@media only screen and (max-width: 767px) {
	#DivContTipoEdicionExtras {
		gap: 0px 20px;
		margin-top: 10px;
	}

	#DivContTipoEdicionExtras .pago {
		width: calc(100% / 2 - 10px);
		margin-top: 5px;
	}
}

#BtnPreconfirmarEditar {
	display: none;
}

#BtnConfirmarEditar {
	display: none;
}

#carritoConfirmarEliminarExtras {
	display: none;
}

#DivTituloResumenEliminar {
	display: none;
}

#DivTarifasCambioExtras {
	float: none;
	width: auto;
	padding-top: 0px !important;
	padding-bottom: 0px !important;
}

#DivTarifasCambio input {
	padding: 12px;
	display: inline !important;
}

#DivTarifasCambio {
	margin-top: 20px;
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

#DivTarifasCambio .adultos {
	width: calc(100% / 3 - 16px);
	margin: 0;
}

@media only screen and (max-width: 980px) {
	#DivTarifasCambio .adultos {
		width: 100%;
		margin-top: 10px;
	}
}

#opciones_modificacion .col-md-4 {
	width: 100%;
}

#DivResumenMovimientos {
	display: none;
	padding-top: 0;
}

#DivBloqueCondicionesExtras {
	display: none;
}

/* Historial compras */
#DivResumenMovimientosContenido {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	padding: 16px 0 8px;
}

#DivResumenMovimientosContenido .bloque_pedido_extra {
	width: calc(100% / 4 - 20px);
	border: 1px solid var(--color-primary-700);
	padding: 24px;
	transition: var(--transition);
	cursor: pointer;
}

#DivResumenMovimientosContenido .bloque_pedido_extra:hover {
	color: var(--white);
	background-color: var(--color-primary-700);
}

#DivResumenMovimientosContenido .bloque_pedido_extra p {
	color: var(--color-primary-700);
	border-bottom: 0.5px solid var(--color-primary-700);
	padding-bottom: 12px;
	transition: var(--transition);
}

#DivResumenMovimientosContenido .bloque_pedido_extra:hover p {
	color: var(--white);
	border-bottom: 0.5px solid var(--white);
}

#DivResumenMovimientosContenido .bloque_pedido_extra .bloque-extra-fecha p {
	border-bottom: none;
	padding-bottom: 0;
	margin: 0;
}

#DivResumenMovimientosContenido .bloque_pedido_extra p span {
	display: block;

	font-size: 14px;
	font-weight: 500;
}

#DivResumenMovimientosContenido .bloque_pedido_extra p strong {
	display: block;
	font-size: 20px;
	padding-top: 4px;
}

@media only screen and (max-width: 1024px) {
	#DivResumenMovimientosContenido .bloque_pedido_extra {
		width: calc(100% / 3 - 16px);
	}
}

@media only screen and (max-width: 767px) {
	#DivResumenMovimientos {
		display: none;
		padding-top: 0;
		padding: 0 0 16px;
	}

	#DivResumenMovimientosContenido {
		gap: 16px;
	}

	#DivResumenMovimientosContenido .bloque_pedido_extra {
		width: calc(100% / 2 - 8px);
		padding: 8px 12px;
	}

	#DivResumenMovimientosContenido .bloque_pedido_extra p {
		padding-bottom: 8px;
		margin-bottom: 8px;
	}

	#DivResumenMovimientosContenido .bloque_pedido_extra p span {
		font-size: 12px;
		font-weight: 500;
		line-height: 12px;
	}

	#DivResumenMovimientosContenido .bloque_pedido_extra p strong {
		font-size: 16px;
		padding-top: 0px;
	}
}

/* fin Historial compras*/

/* ···························· CLOSE TUSVISITAS ·········································· */

/*---------loader---------*/

#DivPagoInstalacion {
	display: none;
}

/* ------- OPEN Form CONTACTA enoturismo ------ */
#section-visitas.row-form-contacto {
	max-width: 1520px;
	margin: 0 auto;
	display: flex;
	gap: 40px;
	width: 100%;
	align-items: flex-start;
}

#section-visitas.row-form-contacto .row-visitas-ev {
	width: 55%;
}

#section-visitas.row-form-contacto .row-visitas-ev .info_servicio_cabecera {
	width: 100%;
}

#section-visitas .row-form-visitas-contact {
	width: calc(45% - 40px);
}

#fila-contacto form h2 {
	font-size: 28px;
	margin: 0;
	padding: 0 0 16px;
	letter-spacing: 0.01em;
	color: var(--black);
	font-weight: 600;
}

#fila-contacto form p.text-intro {
	margin: 0;
	padding: 0;
}

.row-form-visitas-contact .cont-datos-personales {
	gap: 0;
}

.row-form-visitas-contact .cont-datos-personales .linea_datos,
.row-form-visitas-contact .cont-datos-personales .checkbox {
	width: 100%;
}

.row-form-visitas-contact .cont-datos-personales .linea_datos:first-child {
	margin-top: 0;
}

.row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos {
	margin: 0 !important;

	font-size: 12px;
	color: var(--black);
	width: 100%;
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos input.form-control,
#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos textarea.form-control {
	height: 48px;
	text-align: left;
	border: 1px solid var(--black);
	padding: 0 16px;
	text-transform: initial;
	font-weight: 500;
	font-size: 18px;
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos textarea.form-control {
	height: 120px;
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos input.form-control:hover,
#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos textarea.form-control:hover {
	background-color: var(--white);
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos input.form-control:focus,
#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos textarea.form-control:focus {
	border-color: var(--color-primary-700);
	outline: 4px solid rgba(var(--main-rgb), 0.2);
	outline-offset: -5px;
	background-color: var(--white);
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos input.form-control::placeholder,
#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .label-datos textarea.form-control::placeholder {
	color: var(--neutral-20) !important;
	font-weight: 400;
	text-transform: initial;
	opacity: 0.8;
	letter-spacing: 0;
}

.row-form-visitas-contact .cont-datos-personales .checkbox .wpcf7-list-item {
	margin: 0;
}

.row-form-visitas-contact .cont-datos-personales .checkbox .wpcf7-list-item .wpcf7-list-item-label {
	font-size: 14px;
}

.row-form-visitas-contact .cont-datos-personales .checkbox .wpcf7-list-item a {
	font-weight: 600 !important;
	transition: var(--transition);
	text-decoration: underline;
	color: var(--black);
	text-transform: initial !important;
	font-size: 14px !important;
}

.row-form-visitas-contact .cont-datos-personales .checkbox .wpcf7-list-item a:hover {
	color: var(--color-primary-700);
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea-btn p {
	display: flex;
	align-items: center;
	gap: 16px;
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea-btn .wpcf7-spinner {
	margin: 0;
	background-color: var(--white);
	border: 1px solid var(--color-primary-700);
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea-btn .wpcf7-spinner::before {
	margin: 0;
	background-color: var(--color-primary-700);
	top: -1px;
	left: -1px;
	width: 8px;
	height: 8px;
	transform-origin: 12px 12px;
	border: 2px solid var(--white);
}

#section-visitas .row-form-visitas-contact .cont-datos-personales .linea_datos .wpcf7-not-valid-tip {
	padding: 0 0 0 20px !important;
	margin: 8px 0 0;
	color: var(--error);
	font-weight: 500;
	font-size: 12px;
	background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/error.svg);
	background-size: 14px;
	background-repeat: no-repeat;
	background-position: top 1px left;
	float: left;
	width: 100%;
	letter-spacing: 0.03em;
	text-align: left;
	line-height: 16px;
	text-transform: initial;
}

#section-visitas .row-form-visitas-contact form .cont-datos-personales .wpcf7-response-output {
	border: 1px dashed var(--black);
	border-radius: 0px;
	margin: 0 0 16px;
	width: 100%;
	padding: 8px 16px;
}

#section-visitas .row-form-visitas-contact form.invalid .cont-datos-personales .wpcf7-response-output {
	color: var(--error);
	border-color: var(--error);
}

#section-visitas .row-form-visitas-contact form.sent .cont-datos-personales .wpcf7-response-output {
	color: var(--ayuda);
	border-color: var(--ayuda);
}

@media only screen and (max-width: 1023px) {
	#section-visitas.row-form-contacto {
		flex-wrap: wrap;
	}

	#section-visitas.row-form-contacto .row-visitas-ev,
	#section-visitas .row-form-visitas-contact {
		width: 100%;
	}
}

/* ------- CLOSE Form CONTACTA enoturismo ------ */

.ast-builder-menu-1 .menu-item > .menu-link {
	font-size: 16px !important;
}

#titulo-visitas {
	display: none;
}

.idioma-servicio {
	display: none;
}

.nombre-bodega {
	display: none;
}

.tit-banner-regala {
	display: none;
}

.info-banner-regala {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.textos-regala strong {
	font-size: 22px;
}

.textos-regala p {
	font-weight: normal;
	font-size: 14px;
	line-height: 22px;
}
.textos-regala {
}

.text-banner-regala .boton-banner a {
	border-radius: 0px;
}

.datos-servicio-container,
.carrito-tabla {
	font-family: var(--font-family-sans);
}

.footer-widget-area h3 {
	font-size: 22px;
	margin-left: 40px;
}

.footer-widget-area ul {
	line-height: 160%;
	font-size: 14px;
}

.footer-widget-area input {
	margin: 0px;
	font-size: 12px;
}

.footer-widget-area label {
	font-size: 12px;
}
/*-------- galeria get ----*/

.miniatura:nth-child(1) {
	width: 70%;
	height: 400px;
	border: 0px;
	grid: 1/3;
	display: ruby-text-container;
	float: left;
	padding: 4px;
}
.miniatura:nth-child(2) {
	width: 30%;
	height: 200px;
	border: 0px;
	float: right;
	display: grid;
	padding: 4px;
}
.miniatura:nth-child(3) {
	width: 30%;
	height: 200px;
	border: 0px;
	padding: 4px;
}
.flecha-miniatura {
	display: none !important;
}
.miniaturas-container {
	height: 400px;
	overflow: hidden;
}
.miniatura:hover {
	transform: none !important;
}

@media only screen and (max-width: 680px) {
	.miniatura:nth-child(1) {
		width: 60%;
		height: 260px;
		border: 0px;
		grid: 1/3;
		display: ruby-text-container;
		float: left;
		padding: 2px;
	}
	.miniatura:nth-child(2) {
		width: 40%;
		height: 130px;
		border: 0px;
		float: right;
		display: grid;
		padding: 2px;
	}
	.miniatura:nth-child(3) {
		width: 40%;
		height: 130px;
		border: 0px;
		padding: 2px;
	}
	.miniaturas-container {
		height: 260px;
		overflow: hidden;
	}
	#labelSteps {
		text-align: center;
		margin-top: -50px;
	}
	.nombre-bodega::before {
		margin-left: -22px;
	}
}
/*-------- fin galeria get ----*/
