/* Casos: slider con scroll-snap */
.boll-casos { overflow: hidden; }
.boll-casos__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.boll-casos__nav { display: none; gap: .6rem; flex: none; }
.boll-casos__arrow {
	width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
	background: var(--boll-color-primary); color: var(--boll-color-text); box-shadow: var(--boll-glow);
	transition: transform .25s var(--boll-ease), background .25s, opacity .25s;
}
.boll-casos__arrow svg { width: 1.3rem; height: 1.3rem; }
.boll-casos__arrow:hover:not(:disabled) { background: var(--boll-color-primary-dark); transform: scale(1.08); }
.boll-casos__arrow:disabled { opacity: .35; cursor: default; box-shadow: none; }

.boll-casos__viewport { width: 100%; }
.boll-casos__track {
	display: flex; gap: var(--boll-space-gap); overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	padding-inline: var(--boll-gutter); scroll-padding-inline: var(--boll-gutter);
	padding-block: .5rem 1rem; -webkit-overflow-scrolling: touch; outline: none;
}
.boll-casos__track::-webkit-scrollbar { display: none; }
.boll-casos__slide { flex: 0 0 82%; scroll-snap-align: start; min-width: 0; }

.boll-casos__card {
	position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden;
	height: 520px; border-radius: calc(var(--boll-radius) + 8px);
	border: 1px solid var(--boll-color-border);
	background: radial-gradient(120% 90% at 20% 0%, color-mix(in srgb, var(--boll-color-primary) 30%, var(--boll-color-surface)) 0%, var(--boll-color-surface) 70%);
	transition: transform .35s var(--boll-ease), border-color .35s, box-shadow .35s;
}
.boll-casos__card:hover, .boll-casos__card:focus-within { transform: translateY(-6px); border-color: var(--boll-color-primary); box-shadow: var(--boll-shadow); }
.boll-casos__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s; }
.boll-casos__video.is-ready { opacity: 1; }
.boll-casos__shade {
	position: absolute; inset: 0;
	background: linear-gradient(to top, color-mix(in srgb, var(--boll-color-bg) 94%, transparent) 8%, color-mix(in srgb, var(--boll-color-bg) 62%, transparent) 55%, color-mix(in srgb, var(--boll-color-bg) 20%, transparent) 100%);
}
.boll-casos__body { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding: clamp(1.25rem, 2.4vw, 1.75rem); }
.boll-casos__logo { height: 32px; width: auto; max-width: 9rem; object-fit: contain; object-position: left; filter: grayscale(1) brightness(1.8); }
.boll-casos__info { display: grid; gap: .6rem; justify-items: start; }
.boll-casos__metric { font-family: var(--boll-font-display); font-weight: var(--boll-fw-display); font-size: clamp(3.25rem, 6vw, 4.5rem); line-height: .95; letter-spacing: .01em; }
.boll-casos__label { color: var(--boll-color-primary); font-weight: 800; font-size: var(--boll-fs-small); letter-spacing: .08em; text-transform: uppercase; }
.boll-casos__text {
	color: var(--boll-color-muted); font-size: var(--boll-fs-small); line-height: 1.55;
	display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden;
}
.boll-casos__cta { margin-top: .6rem; }
.boll-casos__cta svg { width: 1rem; height: 1rem; }
.boll-casos__cta:hover svg { transform: translate(2px, -2px); }

.boll-casos__dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1rem; }
.boll-casos__dot {
	width: 8px; height: 8px; padding: 0; border: 0; border-radius: var(--boll-radius-pill); cursor: pointer;
	background: var(--boll-color-border-strong); transition: width .3s var(--boll-ease), background .3s;
}
.boll-casos__dot.is-active { width: 26px; background: var(--boll-color-primary); }

@media (min-width: 768px) {
	.boll-casos__nav { display: flex; }
	.boll-casos__slide { flex-basis: 46%; }
	.boll-casos__dots { pointer-events: auto; }
	.boll-casos__dots[aria-hidden] { display: flex; }
}
@media (min-width: 1025px) {
	.boll-casos__slide { flex-basis: calc((var(--boll-container) - 2 * var(--boll-space-gap)) / 3); }
	/* El carril arranca alineado con el contenedor del sitio */
	.boll-casos__track {
		padding-inline: max(var(--boll-gutter), calc((100vw - var(--boll-container)) / 2));
		scroll-padding-inline: max(var(--boll-gutter), calc((100vw - var(--boll-container)) / 2));
	}
}
@media (prefers-reduced-motion: reduce) {
	.boll-casos__track { scroll-behavior: auto; }
	.boll-casos__card, .boll-casos__arrow { transition: none; }
	.boll-casos__card:hover, .boll-casos__card:focus-within { transform: none; }
}
.boll-casos__logo { margin-bottom: auto; } /* con logo: arriba; sin logo: el texto queda anclado abajo */
