.iptbjs-price-table-wrap{width:100%;max-width:100%;box-sizing:border-box}.iptbjs-price-table-wrap *,.iptbjs-price-table-wrap *:before,.iptbjs-price-table-wrap *:after{box-sizing:border-box}.iptbjs-price-table{width:100%;max-width:100%;overflow:hidden;color:#2c3e50}.iptbjs-price-grid{display:grid;align-items:center;width:100%;border-bottom-style:solid;border-bottom-color:transparent;border-bottom-width:0}.iptbjs-price-head{font-size:18px;line-height:1.35;font-weight:700}.iptbjs-price-row{font-size:18px;line-height:1.45}.iptbjs-price-cell{min-width:0;overflow-wrap:anywhere}.iptbjs-price-table-wrap.iptbjs-acf-repeater-table-wrap .iptbjs-price-cell p,.iptbjs-price-table-wrap .iptbjs-price-cell p{margin:0!important;margin-block-start:0!important;margin-block-end:0!important;padding:0!important;display:inline!important}.iptbjs-align-left{text-align:left}.iptbjs-align-center{text-align:center}.iptbjs-align-right{text-align:right}.iptbjs-price-value.is-bold{font-weight:700}.iptbjs-price-notes{margin-top:48px;font-size:14px;line-height:1.5}.iptbjs-price-notes p{margin:0 0 .65em}.iptbjs-price-notes p:last-child{margin-bottom:0}@media (max-width:767px){.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-table{background:transparent!important;padding-left:0!important;padding-right:0!important;overflow:visible}.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-head{display:none!important}.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row{display:block;background:var(--iptbjs-mobile-card-bg,#f5f5f5);padding:var(--iptbjs-mobile-card-padding,20px);margin-bottom:var(--iptbjs-mobile-card-gap,12px);border-radius:var(--iptbjs-mobile-card-radius,14px);border-bottom:0!important}.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-label{font-weight:inherit;}.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell{display:flex;align-items:baseline;justify-content:space-between;gap:18px;text-align:right;padding:9px 0;border-top:1px solid rgba(44,62,80,.14)}.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell:before{content:attr(data-label);font-weight:500;text-align:left;color:inherit}}@media (max-width:1024px){.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-table{background:transparent!important;padding-left:0!important;padding-right:0!important;overflow:visible}.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head{display:none!important}.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row{display:block;background:var(--iptbjs-mobile-card-bg,#f5f5f5);padding:var(--iptbjs-mobile-card-padding,20px);margin-bottom:var(--iptbjs-mobile-card-gap,12px);border-radius:var(--iptbjs-mobile-card-radius,14px);border-bottom:0!important}.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-label{font-weight:inherit;}.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell{display:flex;align-items:baseline;justify-content:space-between;gap:18px;text-align:right;padding:9px 0;border-top:1px solid rgba(44,62,80,.14)}.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:before{content:attr(data-label);font-weight:500;text-align:left;color:inherit}}


/* v1.0.13 rollback seguro: elimina cambios de nota WYSIWYG que rompían el editor. */


/* v1.0.14: cabeceras responsive también en backend/editor y también para la columna 1. */
@media (max-width: 767px){
	.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell:first-child{
		border-top:0!important;
		padding-top:0;
	}
	.iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell:last-child{
		padding-bottom:0;
	}
}

@media (max-width: 1024px){
	.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child{
		border-top:0!important;
		padding-top:0;
	}
	.iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:last-child{
		padding-bottom:0;
	}
}

/* v1.0.15: previsualización responsive en editor Elementor.
   En algunos modos de edición Elementor escala el iframe, pero no dispara las media queries.
   Estas reglas fuerzan las tarjetas en el backend cuando Elementor está en vista móvil/tablet. */

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-table,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-table,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-table {
	background: transparent !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: visible !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-head,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-head,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-head {
	display: none !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-row,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row {
	display: block !important;
	background: var(--iptbjs-mobile-card-bg, #f5f5f5) !important;
	padding: var(--iptbjs-mobile-card-padding, 20px) !important;
	margin-bottom: var(--iptbjs-mobile-card-gap, 12px) !important;
	border-radius: var(--iptbjs-mobile-card-radius, 14px) !important;
	border-bottom: 0 !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 18px !important;
	text-align: right !important;
	padding: 9px 0 !important;
	border-top: 1px solid rgba(44, 62, 80, .14) !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child {
	border-top: 0 !important;
	padding-top: 0 !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child {
	padding-bottom: 0 !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before {
	content: attr(data-label) !important;
	font-weight: 500 !important;
	text-align: left !important;
	color: inherit !important;
}

.elementor-editor-active.elementor-device-mobile .iptbjs-responsive-cards .iptbjs-price-label,
.elementor-editor-active[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-label,
body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-label {
	font-weight: inherit !important;
}

/* En tablet del editor, aplicar también cuando el widget está configurado con breakpoint 1024. */
.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-table,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-table,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-table {
	background: transparent !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	overflow: visible !important;
}

.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head {
	display: none !important;
}

.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row {
	display: block !important;
	background: var(--iptbjs-mobile-card-bg, #f5f5f5) !important;
	padding: var(--iptbjs-mobile-card-padding, 20px) !important;
	margin-bottom: var(--iptbjs-mobile-card-gap, 12px) !important;
	border-radius: var(--iptbjs-mobile-card-radius, 14px) !important;
	border-bottom: 0 !important;
}

.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 18px !important;
	text-align: right !important;
	padding: 9px 0 !important;
	border-top: 1px solid rgba(44, 62, 80, .14) !important;
}

.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child {
	border-top: 0 !important;
	padding-top: 0 !important;
}

.elementor-editor-active.elementor-device-tablet .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before,
.elementor-editor-active[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before,
body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before {
	content: attr(data-label) !important;
	font-weight: 500 !important;
	text-align: left !important;
	color: inherit !important;
}


/* v1.0.16: se eliminan los overrides globales del editor que forzaban display:grid.
   En responsive debe mandar el modo tarjeta, igual que en frontend. */
@media (max-width: 767px){
	.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row,
	.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row{
		display:block!important;
	}
	.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-head,
	.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-head{
		display:none!important;
	}
}

@media (max-width: 1024px){
	.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row,
	.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row{
		display:block!important;
	}
	.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head,
	.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-head{
		display:none!important;
	}
}


/* =========================================================
   IPTBJS v1.0.20
   Responsive móvil: etiqueta y valor apilados en vertical.
   Ejemplo:
   Excursión
   Excursión a Nara y Fushimi Inari desde Kyoto
   ========================================================= */

/* Reset general para que ninguna regla anterior fuerce texto partido. */
.iptbjs-price-table .iptbjs-price-cell{
	overflow-wrap:normal!important;
	word-break:normal!important;
	hyphens:none!important;
}

/* MÓVIL: tarjetas apiladas reales. Usamos flex-column para ganar a reglas anteriores con display:flex. */
@media (max-width:767px){
	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell,
	html body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell,
	html body.elementor-editor-active .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell,
	html body.elementor-edit-mode .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell{
		display:flex!important;
		flex-direction:column!important;
		align-items:flex-start!important;
		justify-content:flex-start!important;
		gap:0!important;
		width:100%!important;
		text-align:left!important;
		padding:11px 0!important;
		border-top:1px solid rgba(44,62,80,.14)!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
		hyphens:none!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body.elementor-editor-active .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body.elementor-edit-mode .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:first-child{
		border-top:0!important;
		padding-top:0!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body.elementor-editor-active .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body.elementor-edit-mode .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell:last-child{
		padding-bottom:0!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell::before,
	html body[data-elementor-device-mode="mobile"] .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before,
	html body.elementor-editor-active .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before,
	html body.elementor-edit-mode .iptbjs-responsive-cards .iptbjs-price-row .iptbjs-price-cell::before{
		content:attr(data-label)!important;
		display:block!important;
		width:100%!important;
		margin:0 0 4px!important;
		font-weight:700!important;
		text-align:left!important;
		white-space:normal!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
		hyphens:none!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell,
	html body .iptbjs-responsive-cards.iptbjs-breakpoint-767 .iptbjs-price-row .iptbjs-price-cell *{
		white-space:normal!important;
	}
}

/* TABLET si el breakpoint configurado es 1024: mismo comportamiento apilado. */
@media (max-width:1024px){
	html body .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell,
	html body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell,
	html body.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell,
	html body.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell{
		display:flex!important;
		flex-direction:column!important;
		align-items:flex-start!important;
		justify-content:flex-start!important;
		gap:0!important;
		width:100%!important;
		text-align:left!important;
		padding:11px 0!important;
		border-top:1px solid rgba(44,62,80,.14)!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
		hyphens:none!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child,
	html body.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:first-child{
		border-top:0!important;
		padding-top:0!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:last-child,
	html body.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell:last-child{
		padding-bottom:0!important;
	}

	html body .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before,
	html body[data-elementor-device-mode="tablet"] .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before,
	html body.elementor-editor-active .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before,
	html body.elementor-edit-mode .iptbjs-responsive-cards.iptbjs-breakpoint-1024 .iptbjs-price-row .iptbjs-price-cell::before{
		content:attr(data-label)!important;
		display:block!important;
		width:100%!important;
		margin:0 0 4px!important;
		font-weight:700!important;
		text-align:left!important;
		white-space:normal!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
		hyphens:none!important;
	}
}


/* IPTBJS v1.0.21: nota inferior externa a la tabla, segura para Elementor. */
.iptbjs-price-notes{
	width:100%;
	max-width:100%;
}

.iptbjs-price-notes p{
	margin:0 0 .65em;
}

.iptbjs-price-notes p:last-child{
	margin-bottom:0;
}

.iptbjs-price-notes strong,
.iptbjs-price-notes b{
	font-weight:700;
}

.iptbjs-price-notes a{
	color:inherit;
	font-weight:700;
	text-decoration:none;
}

/* Fix margin-block-end del tema en celdas de tabla */
html body .iptbjs-price-table-wrap .iptbjs-price-cell p{margin:0!important;margin-block-start:0!important;margin-block-end:0!important;padding:0!important;display:inline!important}

.iptbjs-price-notes ul,
.iptbjs-price-notes ol{
	margin-top:0;
	margin-bottom:.65em;
	padding-left:1.25em;
}


/* IPTBJS v1.0.22: modo ACF Repeater automático. */
.iptbjs-acf-repeater-message{
	padding:18px 20px;
	border-radius:12px;
	background:#f5f5f5;
	color:#2c3e50;
	font-size:14px;
	line-height:1.5;
}

/* IPTBJS v1.0.23: repeater ACF con desplegable y prioridad de cabeceras del widget. */

/* IPTBJS v1.0.24: preview del backend renderizado desde PHP para mostrar ACF Repeater real. */

/* IPTBJS v1.0.26: detección automática del post de vista previa de Elementor para ACF Repeater, sin ID manual. */


/* v1.0.27: cabecera superior opcional integrada en la tabla. */
.iptbjs-table-title{
	display:block;
	width:100%;
	max-width:100%;
	margin:0 0 16px;
	padding:12px 24px;
	border-radius:999px;
	background:#C0392B;
	color:#ffffff;
	text-align:center;
	font-size:24px;
	line-height:1.25;
	font-weight:700;
}
.iptbjs-table-title h2,
.iptbjs-table-title h3,
.iptbjs-table-title h4{
	margin:0;
}
