/*
 * The kit's look for pages the kit has no design for: new products, the shop, cart,
 * checkout, account, blog posts, archives and search. Every value comes from the
 * --ksb-* variables, which follow Elementor > Site Settings (see ksb_theme_design_css()).
 * Elementor-designed pages are left alone.
 */

/* Text */
.ksb-content h1,
.ksb-content h2,
.ksb-content h3,
.ksb-content h4,
.ksb-content h5,
.ksb-content h6,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-components-title {
	font-family: var(--ksb-heading-font);
	color: var(--ksb-heading);
}

.ksb-content a:not(.button):not(.wp-element-button):not(.wc-block-components-button) {
	color: var(--ksb-link);
	transition: color 0.2s;
}

.ksb-content a:not(.button):not(.wp-element-button):not(.wc-block-components-button):hover {
	color: var(--ksb-link-hover);
}

.ksb-content .entry-title a,
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart) {
	color: inherit;
}

/* Buttons: WooCommerce, blocks, comment and search forms */
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #respond input#submit,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce input.button.alt,
body .woocommerce-page a.button,
body .woocommerce-page button.button,
body .woocommerce .added_to_cart,
body .wc-block-components-button:not(.is-link),
body .wp-block-button__link,
body .wp-element-button,
.ksb-content [type="submit"],
.ksb-content .search-submit,
.ksb-content .comment-form .submit {
	display: inline-block;
	padding: var(--ksb-button-padding);
	border: 0;
	border-radius: var(--ksb-button-radius);
	background-color: var(--ksb-button-bg);
	background-image: none;
	color: var(--ksb-button-text);
	font-family: var(--ksb-button-font);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, opacity 0.3s;
}

body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body .woocommerce input.button:hover,
body .woocommerce #respond input#submit:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce input.button.alt:hover,
body .woocommerce-page a.button:hover,
body .woocommerce-page button.button:hover,
body .woocommerce .added_to_cart:hover,
body .wc-block-components-button:not(.is-link):hover,
body .wp-block-button__link:hover,
body .wp-element-button:hover,
.ksb-content [type="submit"]:hover,
.ksb-content .search-submit:hover,
.ksb-content .comment-form .submit:hover {
	background-color: var(--ksb-button-bg-hover);
	color: var(--ksb-button-text-hover);
}

body .woocommerce a.button.disabled,
body .woocommerce button.button:disabled,
body .woocommerce button.button:disabled[disabled] {
	opacity: 0.5;
	padding: var(--ksb-button-padding);
}

/* Fields */
.ksb-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]):not([type="color"]),
.ksb-content select,
.ksb-content textarea,
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.select2-container--default .select2-selection--single {
	padding: 0.6em 0.8em;
	border: 1px solid var(--ksb-field-border);
	border-radius: var(--ksb-field-radius);
	background-color: var(--ksb-field-bg);
	color: var(--ksb-field-text);
	font-family: var(--ksb-body-font);
}

.woocommerce .quantity .qty {
	width: 4.5em;
	padding-inline: 0.4em;
}

.select2-container--default .select2-selection--single {
	height: auto;
}

/* Products and the shop */
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price,
.wc-block-components-product-price {
	color: var(--ksb-accent);
	font-weight: 600;
}

.woocommerce .price del {
	opacity: 0.55;
	font-weight: 400;
}

.woocommerce .price ins {
	text-decoration: none;
}

.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	min-width: 0;
	min-height: 0;
	padding: 0.35em 0.8em;
	border: 0;
	border-radius: var(--ksb-button-radius);
	background-color: var(--ksb-accent);
	color: var(--ksb-button-text);
	font-family: var(--ksb-button-font);
	line-height: 1.2;
}

.woocommerce .star-rating,
.woocommerce p.stars a {
	color: var(--ksb-accent);
}

.woocommerce ul.products {
	margin: 0 0 2em;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: clamp(20px, 3vw, 40px);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce ul.products li.product .price {
	display: block;
	margin-bottom: 0.75em;
}

.woocommerce ul.products li.product a img {
	border-radius: 4px;
}

.woocommerce div.product div.images img {
	border-radius: 4px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--ksb-accent);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--ksb-heading);
	font-family: var(--ksb-heading-font);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	background-color: var(--ksb-accent);
	color: var(--ksb-button-text);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-info {
	border-top-color: var(--ksb-accent);
	border-color: var(--ksb-accent);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--ksb-accent);
}

/* Cart, checkout and account */
.woocommerce table.shop_table {
	border-radius: var(--ksb-field-radius);
}

.woocommerce-checkout #payment,
.woocommerce-cart .cart-collaterals .cart_totals {
	border-radius: var(--ksb-field-radius);
}

.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.6em 0;
	border-bottom: 1px solid rgba(127, 127, 127, 0.2);
}

.woocommerce-MyAccount-navigation li.is-active a {
	color: var(--ksb-accent);
	font-weight: 600;
}

/* Blog */
.ksb-content .ksb-meta {
	font-family: var(--ksb-button-font);
}

.ksb-content blockquote {
	margin: 1.5em 0;
	padding: 0.5em 0 0.5em 1.25em;
	border-inline-start: 3px solid var(--ksb-accent);
	font-size: 1.1em;
}

.ksb-content .entry-content > * + h2,
.ksb-content .entry-content > * + h3 {
	margin-top: 1.5em;
}
