	.vp-tt{--vp-amarillo:#ffd21c;--vp-negro:#171717;max-width:1200px;margin:0 auto;padding:48px 20px;box-sizing:border-box}
	.vp-tt *{box-sizing:border-box}
	.vp-tt__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
	.vp-tt__title{margin:0;font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:800;line-height:1.15;color:var(--vp-negro)}
	.vp-tt__sub{margin:6px 0 0;font-size:.98rem;color:#5c5c5c}
	.vp-tt__follow{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:var(--vp-negro);color:var(--vp-amarillo)!important;font-weight:700;font-size:.95rem;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
	.vp-tt__follow:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
	.vp-tt__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
	.vp-tt__card{min-width:0}
	.vp-tt__media{position:relative;display:block;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#111;text-decoration:none!important;cursor:pointer}
	.vp-tt__img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .5s ease}
	.vp-tt__card:hover .vp-tt__img{transform:scale(1.06)}
	.vp-tt__media::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
	.vp-tt__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.95;pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6));transition:transform .25s ease;z-index:1}
	.vp-tt__card:hover .vp-tt__play{transform:scale(1.18)}
	.vp-tt__caption{margin:10px 2px 0;font-size:.85rem;line-height:1.4;color:#3d3d3d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
	.vp-tt-lb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}
	.vp-tt-lb.is-open{display:flex}
	.vp-tt-lb__bg{position:absolute;inset:0;background:rgba(0,0,0,.9)}
	.vp-tt-lb__box{position:relative;width:min(400px,100%);aspect-ratio:9/16;max-height:86vh;background:#000;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}
	.vp-tt-lb__box iframe{width:100%;height:100%;border:0;display:block}
	.vp-tt-lb__x{position:absolute;top:-46px;right:0;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;z-index:2}
	.vp-tt-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;z-index:2}
	.vp-tt-lb__prev{left:-56px}.vp-tt-lb__next{right:-56px}
	@media(max-width:1024px){.vp-tt__grid{grid-template-columns:repeat(2,1fr);gap:14px}}
	@media(max-width:781px){
		/* Carrusel: se desliza con el dedo, la 2.ª tarjeta asoma para invitar al gesto */
		.vp-tt{padding:34px 0 34px 16px}
		.vp-tt__head{padding-right:16px;align-items:flex-start;gap:14px}
		.vp-tt__title{font-size:1.45rem}
		.vp-tt__follow{padding:10px 18px;font-size:.9rem}
		.vp-tt__grid{
			display:flex!important;flex-flow:row nowrap!important;width:100%;
			overflow-x:auto!important;overflow-y:hidden;gap:12px;padding-right:16px;
			scroll-snap-type:x mandatory;scroll-padding-left:0;
			-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
			scrollbar-width:none;touch-action:pan-x
		}
		.vp-tt__grid::-webkit-scrollbar{display:none}
		.vp-tt__card{
			display:block!important;flex:0 0 72%!important;
			width:72%!important;min-width:72%!important;max-width:72%!important;
			scroll-snap-align:start
		}
		.vp-tt__caption{font-size:.8rem;-webkit-line-clamp:2}

		/* Lightbox a pantalla casi completa y flechas fuera del video,
		   para no tapar los botones de TikTok */
		.vp-tt-lb{padding:12px}
		.vp-tt-lb__box{width:100%;max-height:74vh;border-radius:14px}
		.vp-tt-lb__x{top:-42px;right:0}
		.vp-tt-lb__nav{top:auto;bottom:-52px;transform:none;width:42px;height:42px}
		.vp-tt-lb__prev{left:0}
		.vp-tt-lb__next{right:0}
	}
	@media(prefers-reduced-motion:reduce){.vp-tt__img,.vp-tt__play,.vp-tt__follow{transition:none}}