/*
 * Elementor / WordPress core compatibility helpers for STS Gift Shop.
 */

/* Full-width Elementor templates: remove the theme container constraints. */
.elementor-template-full-width .container {
	max-width: 100%;
	padding: 0;
}

/* Elementor widgets inside the store grid. */
.elementor-widget .product-grid {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1024px) {
	.elementor-widget .product-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.elementor-widget .product-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.elementor-widget .product-grid {
		grid-template-columns: 1fr;
	}
}

/* Blog grid. */
.blog-grid {
	grid-template-columns: repeat(3, 1fr);
}

/* Blog cards. */
.post-card .product-image {
	aspect-ratio: 16 / 10;
}

.post-card .product-category a {
	color: var(--text-light);
	text-decoration: none;
}

.post-card .product-category a:hover {
	color: var(--primary);
}

.post-card .product-price .current {
	font-size: 14px;
	font-weight: 600;
	color: var(--text-light);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.post-card .product-add-btn {
	background: var(--primary);
}

.post-card .product-add-btn:hover {
	background: var(--primary-dark);
}

@media (max-width: 768px) {
	.blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.blog-grid {
		grid-template-columns: 1fr;
	}
}

/* Pagination used by WordPress. */
.nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 40px 0;
}

.nav-links .page-numbers {
	padding: 10px 16px;
	border: 1px solid var(--border);
	border-radius: 4px;
	font-size: 14px;
	color: var(--text);
	transition: all var(--transition);
}

.nav-links .page-numbers.current {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
	font-weight: 600;
}

.nav-links .page-numbers:hover {
	background: var(--primary);
	color: #fff;
	border-color: var(--primary);
}

/* Widget area used by Elementor on the shop sidebar. */
.shop-sidebar .elementor-widget {
	margin-bottom: 0;
}

/* Comments. */
.comment-list {
	list-style: none;
	margin: 30px 0;
}

.comment-list .comment-body {
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 20px;
	margin-bottom: 20px;
}

.comment-list .children {
	list-style: none;
	padding-left: 40px;
}

.comments-area .comment-form textarea,
.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"],
.comments-area .comment-form input[type="submit"] {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid var(--border);
	border-radius: 4px;
	font-size: 14px;
	margin-bottom: 10px;
}

.comments-area .comment-form input[type="submit"] {
	background: var(--primary);
	color: #fff;
	border: none;
	font-weight: 700;
	cursor: pointer;
	width: auto;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.comments-area .comment-form input[type="submit"]:hover {
	background: var(--primary-dark);
}

/* Admin bar offset for the sticky header. */
.admin-bar .header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .header {
		top: 46px;
	}
}
