/*
 * Luxury Tropical — Servicios locales (listado y ficha)
 * traveltour-child/assets/css/lt-services.css
 *
 * Se encola despues de lt-archive.css (listado, wrapper #bwm-archive-page.lt-sv)
 * o de lt-property.css + lt-contact.css (ficha, #bwm-property-page.lt-service):
 * aca solo va lo propio del directorio. Paleta del Home (lt-tokens.css).
 */

/* ── COMUN: tarjeta sin foto (icono de la categoria) ──────────────────── */
:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(120% 90% at 20% 10%, var(--lt-accent-tint) 0%, transparent 60%),
		var(--lt-bg-alt);
}

:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--lt-bg-card);
	box-shadow: var(--lt-shadow-card);
	color: var(--lt-accent-ink);
}

/* ── COMO FUNCIONA (listado y ficha) ──────────────────────────────────── */
:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--lt-space-5);
	margin: var(--lt-space-6) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-step {
	position: relative;
	padding: var(--lt-space-5);
	border: 1px solid var(--lt-border);
	border-radius: var(--lt-radius-lg);
	background: var(--lt-bg-card);
}

:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--lt-accent);
	color: var(--lt-on-accent);
	font-weight: var(--lt-fw-bold);
	font-size: var(--lt-fs-sm);
}

:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-step__title {
	margin-top: var(--lt-space-3);
	font-size: var(--lt-fs-lg);
	font-weight: var(--lt-fw-semibold);
	line-height: var(--lt-lh-snug);
	color: var(--lt-text);
}

:is(#bwm-archive-page.lt-sv, #bwm-property-page.lt-service) .lt-sv-step__body {
	margin-top: var(--lt-space-1);
	font-size: var(--lt-fs-sm);
	line-height: 1.55;
	color: var(--lt-text-body);
}

/* ── LISTADO ──────────────────────────────────────────────────────────── */
#bwm-archive-page.lt-sv .lt-sv-hero {
	min-height: clamp(500px, 66vh, 680px);
}

#bwm-archive-page.lt-sv .lt-sv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lt-space-3);
	margin-top: var(--lt-space-6);
}

#bwm-archive-page.lt-sv .lt-sv-hero__actions .lt-icon {
	color: var(--lt-on-accent);
}

#bwm-archive-page.lt-sv .lt-sv-trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--lt-space-2) var(--lt-space-5);
	margin: var(--lt-space-5) 0 0;
	padding: 0;
	list-style: none;
}

#bwm-archive-page.lt-sv .lt-sv-trust li {
	display: inline-flex;
	align-items: center;
	gap: var(--lt-space-2);
	font-size: var(--lt-fs-sm);
	font-weight: var(--lt-fw-medium);
	color: var(--lt-ondark);
}

#bwm-archive-page.lt-sv .lt-sv-trust .lt-icon {
	flex-shrink: 0;
	color: var(--lt-accent);
}

/* Contenedor de los textos ocultos (.lt-sr-only): sin esto se escapan del
   carril de filtros deslizable y ensanchan la pagina en mobile. */
#bwm-archive-page.lt-sv .lt-filters {
	position: relative;
}

#bwm-archive-page.lt-sv .lt-sv-card__kind {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: var(--lt-space-1);
	font-size: var(--lt-fs-xs);
	font-weight: var(--lt-fw-semibold);
	letter-spacing: var(--lt-tracking-caps);
	text-transform: uppercase;
	color: var(--lt-accent-ink);
}

#bwm-archive-page.lt-sv .lt-sv-card__summary {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin-top: var(--lt-space-1);
	font-size: var(--lt-fs-sm);
	line-height: 1.55;
	color: var(--lt-text-body);
}

#bwm-archive-page.lt-sv .lt-sv-card__cta {
	margin-top: var(--lt-space-3);
}

#bwm-archive-page.lt-sv .lt-sv-card__cta .lt-link-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: var(--lt-fw-semibold);
	color: var(--lt-accent-ink);
}

#bwm-archive-page.lt-sv .lt-rcard:hover .lt-sv-card__cta .lt-icon {
	transform: translateX(3px);
}

#bwm-archive-page.lt-sv .lt-sv-card__cta .lt-icon {
	transition: transform var(--lt-dur-fast) var(--lt-ease-out);
}

#bwm-archive-page.lt-sv .lt-sv-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--lt-space-3);
	margin-top: var(--lt-space-5);
}

#bwm-archive-page.lt-sv .lt-sv-empty__actions .lt-btn--primary .lt-icon {
	color: var(--lt-on-accent);
}

/* Banda "Como funciona" + privacidad. */
#bwm-archive-page.lt-sv .lt-sv-how {
	padding-block: var(--lt-space-10);
	background: var(--lt-bg-alt);
	border-top: 1px solid var(--lt-border);
}

#bwm-archive-page.lt-sv .lt-sv-privacy {
	display: flex;
	align-items: flex-start;
	gap: var(--lt-space-4);
	margin-top: var(--lt-space-6);
	padding: var(--lt-space-5);
	border-radius: var(--lt-radius-lg);
	background: var(--lt-dark);
	color: var(--lt-ondark);
}

#bwm-archive-page.lt-sv .lt-sv-privacy__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: var(--lt-radius-md);
	background: var(--lt-accent);
	color: var(--lt-on-accent);
}

#bwm-archive-page.lt-sv .lt-sv-privacy__title {
	font-size: var(--lt-fs-lg);
	font-weight: var(--lt-fw-bold);
	color: var(--lt-ondark);
}

#bwm-archive-page.lt-sv .lt-sv-privacy__body {
	margin-top: var(--lt-space-1);
	font-size: var(--lt-fs-sm);
	line-height: 1.6;
	color: var(--lt-ondark-muted);
}

/* ── FICHA ────────────────────────────────────────────────────────────── */
#bwm-property-page.lt-service .lt-sv-head__areas {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--lt-space-3);
	font-size: var(--lt-fs-sm);
	color: var(--lt-text-muted);
}

#bwm-property-page.lt-service .lt-sv-head__areas .lt-icon {
	flex-shrink: 0;
	color: var(--lt-accent-ink);
}

#bwm-property-page.lt-service .lt-sv-media {
	margin: 0 0 var(--lt-space-6);
	overflow: hidden;
	border-radius: var(--lt-radius-lg);
	aspect-ratio: 21 / 9;
	background: var(--lt-border);
}

#bwm-property-page.lt-service .lt-sv-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#bwm-property-page.lt-service .lt-sv-helps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lt-space-3) var(--lt-space-6);
	margin: var(--lt-space-4) 0 0;
	padding: 0;
	list-style: none;
}

#bwm-property-page.lt-service .lt-sv-helps li {
	display: flex;
	align-items: flex-start;
	gap: var(--lt-space-3);
	line-height: 1.5;
	color: var(--lt-text-body);
}

#bwm-property-page.lt-service .lt-sv-helps .lt-icon {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--lt-accent-ink);
}

#bwm-property-page.lt-service .lt-sv-steps--compact {
	grid-template-columns: 1fr;
	gap: var(--lt-space-3);
}

#bwm-property-page.lt-service .lt-sv-steps--compact .lt-sv-step {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 0 var(--lt-space-4);
	padding: var(--lt-space-4);
}

#bwm-property-page.lt-service .lt-sv-steps--compact .lt-sv-step__num {
	grid-row: span 2;
}

#bwm-property-page.lt-service .lt-sv-steps--compact .lt-sv-step__title {
	margin-top: 0;
	font-size: var(--lt-fs-base);
}

#bwm-property-page.lt-service .lt-sv-side__title {
	font-size: var(--lt-fs-xl);
	font-weight: var(--lt-fw-bold);
	line-height: var(--lt-lh-snug);
	color: var(--lt-text);
}

#bwm-property-page.lt-service .lt-sv-side__body {
	display: flex;
	align-items: flex-start;
	gap: var(--lt-space-2);
	margin-top: var(--lt-space-2);
	font-size: var(--lt-fs-sm);
	line-height: 1.55;
	color: var(--lt-text-body);
}

#bwm-property-page.lt-service .lt-sv-side__body .lt-icon {
	flex-shrink: 0;
	margin-top: 2px;
	color: var(--lt-accent-ink);
}

/* El formulario va dentro de la tarjeta: sin segundo borde ni sombra. */
#bwm-property-page.lt-service .lt-sv-form {
	margin-top: var(--lt-space-2);
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

#bwm-property-page.lt-service .lt-sv-form .lt-cform__form {
	gap: var(--lt-space-3);
	margin-top: var(--lt-space-3);
}

#bwm-property-page.lt-service .lt-sv-form .lt-cform__submit .lt-icon {
	color: var(--lt-on-accent);
}

/* Barra mobile: el nombre del servicio puede ser largo. */
#bwm-property-page.lt-service .lt-mobile-bar__price {
	min-width: 0;
}

#bwm-property-page.lt-service .lt-mobile-bar__text {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* ── RESPONSIVE ───────────────────────────────────────────────────────── */
@media (max-width: 900px) {
	#bwm-archive-page.lt-sv .lt-sv-steps {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	#bwm-archive-page.lt-sv .lt-sv-hero__actions .lt-btn {
		flex: 1 1 100%;
		justify-content: center;
	}

	#bwm-archive-page.lt-sv .lt-sv-privacy {
		flex-direction: column;
	}

	#bwm-property-page.lt-service .lt-sv-helps {
		grid-template-columns: 1fr;
	}

	#bwm-property-page.lt-service .lt-sv-media {
		aspect-ratio: 4 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	#bwm-archive-page.lt-sv .lt-sv-card__cta .lt-icon {
		transition: none;
	}
}
