/* Home page rows: sliders and grids */

.escort-row { margin-bottom: 34px; }
.escort-row .title { position: relative; margin-bottom: 15px; }

/* ---- Cards inside rows ---- */
.escort-slide .vip-girls-col,
.escort-grid-item .vip-girls-col { height: 100%; border-radius: 10px; }

.vip-card-badges-top-right { display: flex; gap: 4px; margin-left: auto; }
.vip-card-badges-top-right img { max-width: 34px; }
.vip-card-stickers { display: flex; column-gap: 1px; }
.vip-card-stickers img { max-width: 100px; }

.vip-card-contact-buttons { display: flex; gap: 6px; margin-top: 10px; position: relative; z-index: 2; }
.vip-card-contact-buttons a {
	flex: 1; text-align: center; color: #fff; font-size: 13px; line-height: 1;
	padding: 9px 4px; border-radius: 8px; text-decoration: none; font-weight: 600;
}
.vip-card-contact-call { background: linear-gradient(135deg, #ff5b5c, #f60102 60%, #b40000); }
.vip-card-contact-whatsapp { background: linear-gradient(135deg, #4be57b, #25a244 60%, #167a2f); }
.vip-card-contact-sms { background: linear-gradient(135deg, #ffb35c, #f08a1c 60%, #c26a0a); }

/* ---- Slider ---- */
.escort-slider { position: relative; --gap: 14px; }
.escort-slider-viewport { overflow: hidden; direction: ltr; touch-action: pan-y; }
.escort-slider-track { display: flex; gap: var(--gap); will-change: transform; }
.escort-slide { flex: 0 0 auto; width: 360px; height: 500px; border-radius: 10px; overflow: hidden; }
.escort-slider.size-small .escort-slide { width: 270px; height: 380px; }

/* edge fade */
.escort-slider:before,
.escort-slider:after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 70px; z-index: 3; pointer-events: none;
}
.escort-slider:before { left: 0; background: linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,0)); }
.escort-slider:after { right: 0; background: linear-gradient(270deg, rgba(255,255,255,.85), rgba(255,255,255,0)); }

.escort-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
	width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
	background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.escort-arrow:after {
	content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 12px;
	border-top: 3px solid #031524; border-right: 3px solid #031524;
}
.escort-prev { left: 8px; }
.escort-next { right: 8px; }
.escort-prev:after { transform: translate(-30%, -50%) rotate(-135deg); }
.escort-next:after { transform: translate(-70%, -50%) rotate(45deg); }
.escort-arrow:hover { background: #F60102; }
.escort-arrow:hover:after { border-color: #fff; }
.escort-slider.no-overflow .escort-arrow,
.escort-slider.no-overflow:before,
.escort-slider.no-overflow:after { display: none; }

/* ---- Grid ---- */
.escort-grid { display: grid; gap: 14px; }
.escort-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.escort-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.escort-grid.cols-6 { grid-template-columns: repeat(6, 1fr); }
.escort-grid-item { height: 420px; border-radius: 10px; overflow: hidden; }
.escort-grid.cols-3 .escort-grid-item { height: 500px; }

@media (max-width: 980px) {
	.escort-grid.cols-3,
	.escort-grid.cols-4,
	.escort-grid.cols-6 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.escort-slide { width: 260px; height: 360px; }
	.escort-slider.size-small .escort-slide { width: 190px; height: 260px; }
	.escort-slider:before, .escort-slider:after { width: 18px; }
	.escort-slider:before { background: linear-gradient(90deg, rgba(255,255,255,.3), rgba(255,255,255,0)); }
	.escort-slider:after { background: linear-gradient(270deg, rgba(255,255,255,.3), rgba(255,255,255,0)); }
	.escort-arrow { width: 38px; height: 38px; }
}

@media (max-width: 480px) {
	.escort-grid.cols-3,
	.escort-grid.cols-4,
	.escort-grid.cols-6 { grid-template-columns: 1fr; }
}

/* ---- Category / location archives ---- */
.escort-archive .vip_girls_row { margin-left: -14px; margin-right: -14px; }
.escort-archive .vip_girls_column { width: 33.33%; height: 500px; padding: 0 14px; margin-bottom: 28px; }
.escort-archive .vip_girls_column.no_vip_row { width: 25%; height: 380px; padding: 0 10px; }

.zm-pagination { margin: 10px 0 30px; display: flex; justify-content: center; }
.zm-pagination .page-numbers {
	display: inline-block; min-width: 38px; padding: 8px 12px; margin: 0 3px; text-align: center;
	border: 1px solid #E6E9F1; border-radius: 8px; color: #031524; text-decoration: none;
}
.zm-pagination .page-numbers.current { background: #F60102; border-color: #F60102; color: #fff; }
.zm-pagination a.page-numbers:hover { border-color: #F60102; color: #F60102; }

@media (max-width: 980px) {
	.escort-archive .vip_girls_column { width: 50%; }
	.escort-archive .vip_girls_column.no_vip_row { width: 50%; }
}
@media (max-width: 480px) {
	.escort-archive .vip_girls_column,
	.escort-archive .vip_girls_column.no_vip_row { width: 100%; }
}

.escort-archive .archive-break { flex: 0 0 100%; width: 100%; height: 0; padding: 0; margin: 0; }
