.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;
}


/* v1.0.47: filas de subtitulo (solo la primera columna con contenido) a todo el ancho.
   v1.0.48: centradas. */
.iptbjs-price-row.iptbjs-row-full .iptbjs-price-cell{grid-column:1 / -1;text-align:center!important}
@media (max-width:1024px){
	.iptbjs-responsive-cards .iptbjs-price-row.iptbjs-row-full .iptbjs-price-cell{justify-content:center!important;text-align:center!important;border-top:0!important}
	.iptbjs-responsive-cards .iptbjs-price-row.iptbjs-row-full .iptbjs-price-cell::before{content:none!important;display:none!important}
}
.elementor-editor-active .iptbjs-responsive-cards .iptbjs-price-row.iptbjs-row-full .iptbjs-price-cell::before{content:none!important;display:none!important}

/* ── v1.0.49: borde alrededor de cada celda ───────────────────────────────
   Con "Dónde va la línea: Alrededor de cada celda", la tabla se dibuja como
   una cuadrícula, igual que en la web actual. El color y el grosor son los
   mismos ajustes de siempre. Los bordes se comparten entre celdas vecinas,
   para que no salgan dobles. */
.iptbjs-celdas-con-borde .iptbjs-price-grid{
	/* Todas las celdas de la fila, a la misma altura: si no, cada una
	   empieza donde acaba la anterior y quedan escalonadas. */
	align-items:stretch!important;
}
.iptbjs-celdas-con-borde .iptbjs-price-cell{
	border-style:solid;
	border-color:rgba(44,62,80,.12);
	border-width:1px;
	/* El texto, centrado en vertical dentro de su celda. Se centra el
	   envoltorio, no el texto suelto: si no, cada trozo (un superindice, por
	   ejemplo) se iria a su propia linea. */
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.iptbjs-price-cell .iptbjs-cell-inner{display:block;width:100%;}
.iptbjs-celdas-con-borde .iptbjs-price-cell + .iptbjs-price-cell{
	border-left-width:0;
}
.iptbjs-celdas-con-borde .iptbjs-price-grid + .iptbjs-price-grid .iptbjs-price-cell{
	border-top-width:0;
}
/* Sin la linea entre filas, que aqui sobra. */
.iptbjs-celdas-con-borde .iptbjs-price-row,
.iptbjs-celdas-con-borde .iptbjs-price-head{
	border-bottom:0!important;
}
/* El relleno pasa a la celda, para que el borde la rodee de verdad. El
   ajuste "Relleno de filas" sigue mandando, pero aplicado a cada celda. */
.iptbjs-celdas-con-borde .iptbjs-price-grid{
	padding:0!important;
}
.iptbjs-celdas-con-borde .iptbjs-price-cell{
	padding:14px 16px;
}

/* ── v1.0.49: cortes de palabra ───────────────────────────────────────────
   Las celdas partían por cualquier sitio, así que en columnas estrechas el
   texto salía palabra por palabra y los superíndices (los m² de los hoteles)
   se quedaban colgando en la línea siguiente. */
.iptbjs-price-table-wrap .iptbjs-price-cell{
	/* Solo se parte una palabra si no cabe de ninguna manera. */
	overflow-wrap:break-word;
	word-break:normal;
	hyphens:none;
}

/* El superíndice va pegado a lo que acompaña: "19 m²", nunca partido. */
.iptbjs-price-table-wrap .iptbjs-price-cell sup,
.iptbjs-price-table-wrap .iptbjs-price-cell sub{
	white-space:nowrap;
	overflow-wrap:normal;
	word-break:keep-all;
}
