/* Parts Catalog plugin styles */

.pc-shop-container { max-width: 1200px; margin: 0 auto; padding: 30px 20px; }
.pc-search-section { margin: 20px 0 30px; }
.pc-search-form { display: flex; gap: 10px; max-width: 500px; }
.pc-search-form input[type="text"] {
	flex: 1; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 16px;
}
.pc-search-form button {
	padding: 12px 26px; background: #2c3e50; color: #fff; border: none;
	border-radius: 4px; cursor: pointer; font-size: 15px;
}
.pc-search-form button:hover { background: #1a252f; }

.pc-shop-wrapper { display: grid; grid-template-columns: 220px 1fr; gap: 30px; }
.pc-filters { background: #f7f7f7; padding: 20px; border-radius: 6px; height: fit-content; }
.pc-filters h3 { margin: 0 0 12px; font-size: 16px; }
.pc-filters ul { list-style: none; margin: 0; padding: 0; }
.pc-filters li { margin-bottom: 6px; }
.pc-filters a { display: block; padding: 8px 10px; color: #2c3e50; text-decoration: none; border-radius: 4px; }
.pc-filters a:hover, .pc-filters a.active { background: #e8edf1; color: #1a5276; }

.pc-products-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 22px;
}
.pc-product-card {
	background: #fff; border: 1px solid #eaeaea; border-radius: 6px; overflow: hidden;
	transition: box-shadow .2s, transform .2s;
}
.pc-product-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,.08); transform: translateY(-3px); }
.pc-product-image { display: block; height: 190px; background: #f4f4f4; overflow: hidden; }
.pc-product-image img { width: 100%; height: 100%; object-fit: cover; }
.pc-no-image { display: flex; align-items: center; justify-content: center; height: 100%; color: #999; font-size: 13px; }
.pc-no-image-large { height: 380px; border: 1px dashed #ddd; border-radius: 6px; }

.pc-product-body { padding: 14px; }
.pc-product-title { font-size: 16px; margin: 0 0 6px; }
.pc-product-title a { color: #222; text-decoration: none; }
.pc-product-title a:hover { color: #1a5276; }
.pc-sku { font-size: 12px; color: #888; margin: 0 0 8px; }

.pc-price, .pc-price-section { font-size: 19px; font-weight: 700; color: #c0392b; margin: 6px 0; }
.pc-price-regular { text-decoration: line-through; color: #999; font-weight: 400; font-size: 14px; margin-right: 8px; }
.pc-price-sale { color: #c0392b; }

.pc-stock { font-size: 12px; display: inline-block; padding: 3px 9px; border-radius: 3px; margin: 6px 0 12px; }
.pc-stock.in-stock { background: #e3f6e8; color: #217a3a; }
.pc-stock.out-of-stock { background: #fbe7e6; color: #a33; }

.pc-btn {
	display: inline-block; background: #27ae60; color: #fff; padding: 9px 18px;
	border-radius: 4px; text-decoration: none; font-size: 14px;
}
.pc-btn:hover { background: #219150; color: #fff; }
.pc-btn-primary { background: #2c3e50; padding: 12px 28px; font-size: 15px; }
.pc-btn-primary:hover { background: #1a252f; }

.pc-no-products, .pc-results-info { color: #666; }

/* Single product page */
.pc-single-product { max-width: 1100px; margin: 0 auto; padding: 30px 20px; }
.pc-breadcrumb { font-size: 13px; color: #888; margin-bottom: 18px; }
.pc-breadcrumb a { color: #1a5276; text-decoration: none; }

.pc-product-container { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.pc-product-image-large img { width: 100%; border-radius: 6px; border: 1px solid #eaeaea; }

.pc-product-info h1 { font-size: 28px; margin: 0 0 16px; }

.pc-part-number-section {
	margin: 16px 0; padding: 14px; background: #f7f7f7; border-radius: 6px;
}
.pc-part-number-section label { display: block; font-size: 12px; color: #777; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }

/* The part number is an <img>, not text — this styling plus the JS
   protections below make casual copy/scrape harder. It is not
   bulletproof against a determined attacker running OCR, but it
   stops simple text-scraping bots and copy-paste. */
.pc-part-number-image {
	max-width: 260px; border: 1px solid #ccc; background: #fff; padding: 4px;
	-webkit-user-select: none; user-select: none; pointer-events: none;
}

.pc-sku-section { margin: 12px 0; }
.pc-sku-section code { background: #f0f0f0; padding: 4px 8px; border-radius: 3px; }

.pc-specifications { margin: 24px 0; }
.pc-specifications table { width: 100%; border-collapse: collapse; }
.pc-specifications td { padding: 10px 0; border-bottom: 1px solid #eee; }
.pc-specifications td:first-child { width: 140px; color: #777; }

.pc-product-description { border-top: 1px solid #eee; padding-top: 24px; }

@media (max-width: 782px) {
	.pc-shop-wrapper { grid-template-columns: 1fr; }
	.pc-product-container { grid-template-columns: 1fr; }
}
