/* ==========================================================================
   Piel del motor de reservas
   --------------------------------------------------------------------------
   Viste el markup de TourMaster con los valores del diseño. Los colores y medidas
   salen de las variables del propio diseño (--deep, --glacier, --line, --accent…),
   que ya define :root en diseno-tour.css.

   Todo prefijado con body.southern-ficha-tour para ganarle a tourmaster.css sin
   necesidad de !important.
   ========================================================================== */

/* lo que el diseño no usa */
body.southern-ficha-tour .sp-oculto,
body.southern-ficha-tour .tourmaster-tour-booking-people > .fa-users,
body.southern-ficha-tour .tourmaster-tour-booking-next-sign { display: none; }

/* disponibilidad: "Quedan N lugares" */
body.southern-ficha-tour .tourmaster-tour-booking-available {
	background: #F6FBFD; border: 1px solid var(--glacier-lt); border-radius: 9px;
	padding: 10px 13px; margin-bottom: 16px; font-size: .88rem; font-weight: 600; color: var(--deep);
}

/* lista de entradas */
body.southern-ficha-tour .sp-entradas-tit {
	font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	color: var(--deep); margin-bottom: 8px;
}
body.southern-ficha-tour .sp-entradas { margin-bottom: 16px; }
body.southern-ficha-tour .sp-entradas .sp-fila {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 11px 13px; border: 1px solid var(--line); border-bottom: none; background: #fff;
}
body.southern-ficha-tour .sp-entradas .sp-fila:first-of-type { border-radius: 10px 10px 0 0; }
body.southern-ficha-tour .sp-entradas .sp-fila:last-child {
	border-bottom: 1px solid var(--line); border-radius: 0 0 10px 10px;
}
body.southern-ficha-tour .sp-fila.sp-activa { background: #F6FBFD; }
body.southern-ficha-tour .sp-info { min-width: 0; }
body.southern-ficha-tour .sp-info b {
	display: block; font-size: .92rem; color: var(--deep); font-weight: 600; line-height: 1.3;
}
body.southern-ficha-tour .sp-precio { font-size: .82rem; color: var(--muted); }
body.southern-ficha-tour .sp-precio.sp-gratis { color: var(--ok); font-weight: 700; }

/* stepper − / + */
body.southern-ficha-tour .sp-step {
	display: flex; align-items: center; gap: 2px; flex: none;
	border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #fff;
}
body.southern-ficha-tour .sp-step button {
	width: 32px; height: 32px; border: none; background: #fff; color: var(--glacier);
	font-size: 1.15rem; line-height: 1; cursor: pointer; font-weight: 600; transition: background .12s;
}
body.southern-ficha-tour .sp-step button:hover:not(:disabled) { background: var(--ice); }
body.southern-ficha-tour .sp-step button:disabled { color: #C8D5DC; cursor: default; }
body.southern-ficha-tour .sp-cant {
	min-width: 30px; text-align: center; font-weight: 700; font-size: .98rem; color: var(--deep);
}

/* calendario embebido (jQuery UI inline) */
body.southern-ficha-tour .sp-cal {
	border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 6px; background: #fff;
}
body.southern-ficha-tour .sp-cal .ui-datepicker {
	width: 100%; border: none; padding: 0; background: none; font-size: .9rem;
}
body.southern-ficha-tour .sp-cal .ui-datepicker-header {
	display: flex; align-items: center; justify-content: space-between;
	background: none; border: none; padding: 0 0 10px;
}
body.southern-ficha-tour .sp-cal .ui-datepicker-title {
	order: 1; font-size: .95rem; font-weight: 700; color: var(--deep); text-transform: capitalize;
}
body.southern-ficha-tour .sp-cal .ui-datepicker-prev { order: 2; }
body.southern-ficha-tour .sp-cal .ui-datepicker-next { order: 3; }
body.southern-ficha-tour .sp-cal .ui-datepicker-prev,
body.southern-ficha-tour .sp-cal .ui-datepicker-next {
	position: static; width: 28px; height: 28px; border: 1px solid var(--line);
	border-radius: 7px; background: #fff; cursor: pointer; color: var(--glacier);
}
body.southern-ficha-tour .sp-cal table {
	width: 100%; border-collapse: separate; border-spacing: 3px; margin: 0;
}
body.southern-ficha-tour .sp-cal th {
	font-size: .7rem; font-weight: 700; color: var(--muted); text-transform: uppercase; padding: 2px 0;
}
body.southern-ficha-tour .sp-cal td { padding: 0; }
body.southern-ficha-tour .sp-cal td a,
body.southern-ficha-tour .sp-cal td span {
	display: block; text-align: center; padding: 7px 0; border-radius: 7px;
	font-size: .85rem; text-decoration: none;
}
body.southern-ficha-tour .sp-cal td.sp-dia-libre a {
	background: var(--ice); color: var(--deep); font-weight: 600;
}
body.southern-ficha-tour .sp-cal td.sp-dia-libre a:hover { background: var(--glacier-lt); color: #fff; }
body.southern-ficha-tour .sp-cal td.sp-dia-sin span { color: #C8D5DC; }
body.southern-ficha-tour .sp-cal td .ui-state-active,
body.southern-ficha-tour .sp-cal td.ui-datepicker-current-day a {
	background: var(--glacier); color: #fff; font-weight: 700;
}

/* leyenda */
body.southern-ficha-tour .sp-cal-leyenda {
	display: flex; gap: 14px; font-size: .75rem; color: var(--muted);
	margin-bottom: 16px; flex-wrap: wrap;
}
body.southern-ficha-tour .sp-cal-leyenda i {
	width: 10px; height: 10px; border-radius: 3px; display: inline-block;
	margin-right: 5px; vertical-align: -1px;
}
body.southern-ficha-tour .sp-i-libre { background: var(--ice); border: 1px solid var(--line); }
body.southern-ficha-tour .sp-i-elegida { background: var(--glacier); }
body.southern-ficha-tour .sp-i-sin { background: #EDF2F5; }

/* botón de reserva del motor */
body.southern-ficha-tour .tourmaster-single-tour-booking-fields input[type="submit"],
body.southern-ficha-tour .tourmaster-tour-booking-submit,
body.southern-ficha-tour .tourmaster-tour-booking-button {
	display: block; width: 100%; text-align: center; background: var(--accent); color: #fff;
	border: none; padding: 15px; border-radius: 10px; font: inherit; font-size: 1.02rem;
	font-weight: 700; cursor: pointer;
}
body.southern-ficha-tour .tourmaster-single-tour-booking-fields input[type="submit"]:hover,
body.southern-ficha-tour .tourmaster-tour-booking-submit:hover,
body.southern-ficha-tour .tourmaster-tour-booking-button:hover { background: var(--accent-d); }

/* --------------------------------------------------------------------------
   Flechas del calendario. jQuery UI las dibuja con un <span class="ui-icon">
   que trae el texto "Prev"/"Next" y depende del sprite de su propia hoja, que
   acá no se carga. Se oculta ese texto y se ponen los chevrons del diseño.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .sp-cal .ui-datepicker-prev span,
body.southern-ficha-tour .sp-cal .ui-datepicker-next span {
	display: none;
}
body.southern-ficha-tour .sp-cal .ui-datepicker-prev::before,
body.southern-ficha-tour .sp-cal .ui-datepicker-next::before {
	display: block;
	font-size: 1.15rem;
	line-height: 26px;
	text-align: center;
}
body.southern-ficha-tour .sp-cal .ui-datepicker-prev::before { content: "\2039"; }
body.southern-ficha-tour .sp-cal .ui-datepicker-next::before { content: "\203A"; }
body.southern-ficha-tour .sp-cal .ui-datepicker-prev:hover,
body.southern-ficha-tour .sp-cal .ui-datepicker-next:hover { background: var(--ice); }
body.southern-ficha-tour .sp-cal .ui-state-disabled { opacity: .35; cursor: default; }

/* ==========================================================================
   Cabecera de precio: la banda del diseño
   --------------------------------------------------------------------------
   No se reemplaza el bloque del plugin, se reviste. `.tourmaster-tail` es el
   elemento que TourMaster actualiza en vivo al cambiar las cantidades: si lo
   sustituyéramos por markup propio, el precio dejaría de moverse.
   ========================================================================== */
body.southern-ficha-tour .sp-cabecera {
	background: linear-gradient(135deg, var(--deep2), var(--glacier));
	color: #fff;
	padding: 20px 22px;
	margin: 0;
	border-radius: var(--r) var(--r) 0 0;
	text-align: left;
}
body.southern-ficha-tour .sp-cabecera .tourmaster-header-price-ribbon {
	display: block;
	background: none;
	color: #BFE3EF;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 0 0 0 17px;
	position: relative;
	width: auto;
	height: auto;
	line-height: 1.4;
}
body.southern-ficha-tour .sp-cabecera .tourmaster-header-price-ribbon::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #7FD4A8;
	box-shadow: 0 0 0 3px rgba(127, 212, 168, .25);
}
body.southern-ficha-tour .sp-cabecera .tourmaster-header-price-wrap {
	padding: 9px 0 0;
	text-align: left;
}
body.southern-ficha-tour .sp-cabecera .tourmaster-tour-price-wrap {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
}
/* "Desde" y el ⓘ no están en el diseño */
body.southern-ficha-tour .sp-cabecera .tourmaster-head,
body.southern-ficha-tour .sp-cabecera .tourmaster-tour-price-info {
	display: none;
}
body.southern-ficha-tour .sp-cabecera .tourmaster-tail {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -.03em;
	color: #fff;
	line-height: 1.1;
}
body.southern-ficha-tour .sp-cabecera .sp-moneda {
	font-size: .9rem;
	color: #CFE6EF;
	font-weight: 400;
}

/* ==========================================================================
   Fecha: se oculta el selector del plugin y manda el calendario embebido
   --------------------------------------------------------------------------
   Se oculta el contenedor, NO se quita del DOM: adentro vive el input
   `name="tour-date"` que el formulario necesita para enviarse.
   ========================================================================== */
body.southern-ficha-tour .tourmaster-tour-booking-date {
	display: none;
}
body.southern-ficha-tour .sp-fecha {
	margin-bottom: 4px;
}
body.southern-ficha-tour .sp-fecha-tit {
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--deep);
	margin-bottom: 8px;
}
/* a lo ancho, como el módulo de entradas */
body.southern-ficha-tour .sp-cal {
	width: 100%;
	padding: 14px;
}
body.southern-ficha-tour .sp-cal table {
	border-spacing: 4px;
	table-layout: fixed;
}
body.southern-ficha-tour .sp-cal td a,
body.southern-ficha-tour .sp-cal td span {
	padding: 9px 0;
	font-size: .9rem;
}

/* ==========================================================================
   Pie: botón secundario y notas
   ========================================================================== */
body.southern-ficha-tour .tourmaster-tour-booking-submit .tourmaster-tour-booking-next-sign,
body.southern-ficha-tour .tourmaster-tour-booking-submit > svg,
body.southern-ficha-tour .tourmaster-tour-booking-submit > .fa-check-circle {
	display: none;
}
body.southern-ficha-tour .tourmaster-tour-booking-submit {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}
body.southern-ficha-tour .tourmaster-tour-booking-submit-input {
	padding: 0;
	margin: 0;
}
body.southern-ficha-tour .tourmaster-tour-booking-submit input.tourmaster-button {
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
}
body.southern-ficha-tour .sp-pie {
	margin-top: 10px;
}
body.southern-ficha-tour .sp-btn-2 {
	display: block;
	width: 100%;
	text-align: center;
	background: #fff;
	color: var(--deep);
	border: 1px solid var(--line);
	padding: 14px;
	border-radius: 10px;
	font-size: 1.02rem;
	font-weight: 700;
	text-decoration: none;
}
body.southern-ficha-tour .sp-btn-2:hover {
	background: var(--ice);
	border-color: var(--glacier-lt);
	color: var(--deep);
}
body.southern-ficha-tour .sp-notas {
	list-style: none;
	margin: 18px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--line);
}
body.southern-ficha-tour .sp-notas li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 10px;
	font-size: .9rem;
	color: var(--text);
	line-height: 1.5;
}
body.southern-ficha-tour .sp-notas li:last-child {
	margin-bottom: 0;
}
body.southern-ficha-tour .sp-notas li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ok);
	font-weight: 700;
}
body.southern-ficha-tour .sp-notas strong {
	font-weight: 700;
	color: var(--deep);
}

/* --------------------------------------------------------------------------
   La tarjeta es el .book de la plantilla (sticky, fondo blanco, borde, radio y
   sombra, con overflow oculto), así que la banda de cabecera se recorta bien
   sola. Lo que falta es el padding del cuerpo, que en el diseño lo daba .book-bd.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .book .tourmaster-tour-booking-bar-outer,
body.southern-ficha-tour .book .tourmaster-tour-booking-bar-wrap {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
}
body.southern-ficha-tour .book .tourmaster-tour-booking-bar-inner {
	padding: 22px;
}
body.southern-ficha-tour .book .tourmaster-single-tour-booking-fields {
	border: none;
	padding: 0;
	margin: 0;
	background: none;
}

/* --------------------------------------------------------------------------
   Íconos de TourMaster que el diseño no tiene.

   La etiqueta de precio es un pseudo-elemento del plugin con la fuente
   ElegantIcons (`.tourmaster-tour-price-wrap:before{content:"\e017"}`), no un
   elemento del DOM: se apaga con `content: none`.

   El rayo es un <svg> inline dentro del bloque del submit. Se oculta por
   descendencia y no como hijo directo, para que no dependa de que el plugin no
   agregue un envoltorio en alguna actualización.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .tourmaster-header-price .tourmaster-tour-price-wrap::before {
	content: none;
	display: none;
	margin: 0;
}

body.southern-ficha-tour .tourmaster-tour-booking-submit svg,
body.southern-ficha-tour .tourmaster-tour-booking-submit .fa-check-circle {
	display: none;
}

/* --------------------------------------------------------------------------
   El rayo, en serio esta vez.

   TourMaster lo fuerza con
   `.tourmaster-tour-style-2 .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit svg`
   — tres clases y un elemento (0,3,1) —, que le gana a una regla de dos clases.
   Se repite su misma cadena con nuestra clase de body delante para quedar en (0,4,1).
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .tourmaster-tour-style-2 .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit svg,
body.southern-ficha-tour .tourmaster-tour-style-2 .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-submit .fa-check-circle {
	display: none;
}

/* --------------------------------------------------------------------------
   Botón atenuado mientras no hay entradas elegidas.

   En la maqueta el naranja claro no es un color distinto: es `--accent` con
   `opacity:.55` porque el botón está deshabilitado hasta que se agrega la primera
   entrada. Se reproduce ese comportamiento en vez de fijar el color claro, que
   dejaría el botón con cara de apagado para siempre.

   A propósito **no** se le pone el atributo `disabled`: si algún día la detección
   de cantidades fallara, el cliente igual podría enviar la reserva. Preferimos un
   botón atenuado que uno que bloquee una venta.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .tourmaster-tour-booking-submit.sp-vacio input.tourmaster-button {
	opacity: .55;
	cursor: default;
}

/* --------------------------------------------------------------------------
   Cartel de disponibilidad ("Quedan N lugares"): oculto por pedido de Leandro.

   Tiene sentido esconderlo mientras el cupo sea el provisorio de 40: mostrarle
   al cliente un número que no es el real es peor que no mostrar nada. Los
   estilos de más arriba se dejan puestos para cuando llegue el cupo definitivo;
   basta borrar esta regla.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .tourmaster-tour-booking-available {
	display: none;
}

/* --------------------------------------------------------------------------
   La fila de "Guardar en favoritos" y el contador de visitas: fuera.

   Decidido por Leandro el 2026-08-25, después de preguntarlo cuatro veces: no
   está en el diseño y se va. La dibuja TourMaster dentro de la barra de reserva,
   debajo de la caja, en dos bloques hermanos.

   Se esconde en vez de tocar el markup porque la barra la arma el plugin y
   volvería en cada actualización. Si algún día se quiere recuperar el contador,
   basta borrar esta regla — el dato sigue guardándose en el meta
   `tourmaster-view-count`, así que no se pierde nada.
   -------------------------------------------------------------------------- */
body.southern-ficha-tour .tourmaster-tour-booking-bar-wrap .tourmaster-save-wish-list,
body.southern-ficha-tour .tourmaster-tour-booking-bar-wrap .tourmaster-view-count {
	display: none;
}
