/* Cartop Theme Fixes - External CSS */

/* 修复WooCommerce评论表单星级评分显示 */
#respond p.stars {
	display: inline-block;
	margin: 0;
	padding: 0;
	line-height: 1;
	vertical-align: middle;
}

#respond p.stars span {
	display: inline-block;
	position: relative;
	white-space: nowrap;
}

#respond p.stars a {
	display: inline-block;
	position: relative;
	text-decoration: none;
	font-weight: 400;
	border: 0;
	padding: 0;
	margin: 0 2px 0 0;
	color: #ffb400;
	font-size: 1em;
	line-height: 1;
	width: 1.618em;
	height: 1.618em;
	text-align: center;
	overflow: visible;
	text-indent: -9999px;
	cursor: pointer;
	box-sizing: border-box;
}

/* 精确控制点击区域，避免偏移 */
#respond p.stars a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

#respond p.stars a:before {
	content: "\2605";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1em;
	height: 1em;
	line-height: 1;
	text-indent: 0;
	color: #ffb400;
	font-size: 1em;
	pointer-events: none;
}

#respond p.stars a:hover ~ a:before,
#respond p.stars a.active ~ a:before {
	content: "\2606";
	color: #ccc;
}

#respond p.stars.selected a.active ~ a:before {
	content: "\2606";
	color: #ccc;
}

#respond p.stars.selected a.active:before,
#respond p.stars a:hover:before,
#respond p.stars a.active:before {
	content: "\2605";
	color: #ffb400;
}

/* 确保星级评分链接不被外链修复代码影响 */
#respond p.stars a,
#respond p.stars a.star-1,
#respond p.stars a.star-2,
#respond p.stars a.star-3,
#respond p.stars a.star-4,
#respond p.stars a.star-5 {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #ffb400 !important;
	text-decoration: none !important;
	text-indent: -9999px !important;
}

/* 隐藏原始rating输入框 */
#respond #rating {
	display: none !important;
}

/* 外链和内链修复样式 - 使用CSS变量支持动态站点域名 */
:root {
	--cartop-site-host: '';
	--cartop-home-url: '';
}

/* 排除星级评分链接 */
#respond p.stars a,
#respond p.stars a.star-1,
#respond p.stars a.star-2,
#respond p.stars a.star-3,
#respond p.stars a.star-4,
#respond p.stars a.star-5 {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #ffb400 !important;
	text-decoration: none !important;
}

/* 仅针对纯文本内容区域的链接，排除所有UI元素、产品列表、分类等 */
.entry-content p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([class*="woocommerce"]):not([class*="star"]):not([role="button"]),
.entry-content div:not(.product):not(.woocommerce):not([class*="product"]):not([class*="category"]) p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([role="button"]),
.woocommerce-product-details__short-description p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]),
.woocommerce-Tabs-panel--description p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]),
.woocommerce-Tabs-panel--additional_information p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]),
.woocommerce-Tabs-panel--reviews p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]),
.post-content p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]),
.page-content p a[href]:not(.button):not(.btn):not([class*="button"]):not([class*="btn"]):not([class*="product"]):not([class*="category"]):not([role="button"]) {
	display: inline !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* AJAX分页样式 - 适配主题 */
.cartop-ajax-pagination {
	text-align: center;
	margin: 30px 0;
	clear: both;
}

.cartop-ajax-pagination ul.page-numbers {
	display: inline-flex;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5px;
}

.cartop-ajax-pagination ul.page-numbers li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.cartop-ajax-pagination ul.page-numbers li a,
.cartop-ajax-pagination ul.page-numbers li span {
	display: inline-block;
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	padding: 0 12px;
	text-align: center;
	border: 1px solid #e0e0e0;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	font-size: 14px;
	font-weight: 500;
}

.cartop-ajax-pagination ul.page-numbers li a:hover {
	background-color: #f5f5f5;
	border-color: #d0d0d0;
	color: #000;
}

.cartop-ajax-pagination ul.page-numbers li span.current {
	background-color: #333;
	border-color: #333;
	color: #fff;
	cursor: default;
}

.cartop-ajax-pagination ul.page-numbers li span.dots {
	border: none;
	background: transparent;
	cursor: default;
}

.cartop-ajax-pagination ul.page-numbers li a.prev,
.cartop-ajax-pagination ul.page-numbers li a.next {
	font-weight: bold;
}

.cartop-ajax-pagination ul.page-numbers li a.prev:hover,
.cartop-ajax-pagination ul.page-numbers li a.next:hover {
	background-color: #333;
	color: #fff;
}

/* 加载状态 */
.cartop-ajax-pagination.loading {
	opacity: 0.6;
	pointer-events: none;
}

.cartop-ajax-pagination.loading::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid #333;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-left: 10px;
	vertical-align: middle;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* 响应式 */
@media (max-width: 768px) {
	.cartop-ajax-pagination ul.page-numbers li a,
	.cartop-ajax-pagination ul.page-numbers li span {
		min-width: 36px;
		height: 36px;
		line-height: 36px;
		padding: 0 10px;
		font-size: 13px;
	}
}
