/*
Theme Name: Shoptimizer Child Theme
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI: 
Template: shoptimizer
Version: 1.18.0
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ------------------------------------------------------------------
   Header: My Account / Wishlist / Help icons (Secondary menu)
   On hover the icon stroke and the label turn logo orange (--sz-accent)
   and the stroke gets slightly thicker. Base color comes from the Customizer.
   ------------------------------------------------------------------ */
.secondary-navigation .menu a {
	transition: color 0.15s ease;
}
.secondary-navigation .icon-wrapper svg {
	transition: stroke 0.15s ease, stroke-width 0.15s ease;
}
.secondary-navigation .menu a:hover,
.secondary-navigation .menu a:focus-visible {
	color: var(--sz-accent);
}
.secondary-navigation .menu a:hover .icon-wrapper svg,
.secondary-navigation .menu a:focus-visible .icon-wrapper svg {
	stroke: var(--sz-accent);
	stroke-width: 2;
}

/* ------------------------------------------------------------------
   Mobile menu: "Moje konto" and "Lista życzeń" at the end as one group.
   The header icons of the secondary menu are desktop only, so on a phone
   this is the only way to the account and the wishlist.
   ------------------------------------------------------------------ */
.shoptimizer-mobile-menu .menu-item.sz-menu-account:first-of-type,
.mobile-menu .menu-item.sz-menu-account:first-of-type {
	margin-top: 8px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.shoptimizer-mobile-menu .menu-item.sz-menu-account > a,
.mobile-menu .menu-item.sz-menu-account > a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
}
.shoptimizer-mobile-menu .menu-item.sz-menu-account > a::before,
.mobile-menu .menu-item.sz-menu-account > a::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E");
}
.shoptimizer-mobile-menu .menu-item.sz-menu-account:last-of-type > a::before,
.mobile-menu .menu-item.sz-menu-account:last-of-type > a::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s-7-4.6-9.3-9A5.3 5.3 0 0 1 12 6.6a5.3 5.3 0 0 1 9.3 5.4c-2.3 4.4-9.3 9-9.3 9z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21s-7-4.6-9.3-9A5.3 5.3 0 0 1 12 6.6a5.3 5.3 0 0 1 9.3 5.4c-2.3 4.4-9.3 9-9.3 9z'/%3E%3C/svg%3E");
}

/* Counter next to the wishlist links; empty until something is saved. */
.sz-wishlist-count {
	display: none;
}
.sz-wishlist-count.is-filled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	margin-left: 6px;
	padding: 0 5px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	background: var(--sz-accent);
	border-radius: 999px;
}
.secondary-navigation .menu a .sz-wishlist-count.is-filled {
	position: absolute;
	top: 0;
	right: 20px;
	margin: 0;
}
.secondary-navigation .menu a {
	position: relative;
}

/* ------------------------------------------------------------------
   Cart page: the Omnibus line of a reduced item under its name (the plugin prints it there,
   omnibus-settings.php; the side cart shows the final price only, decision 44).
   ------------------------------------------------------------------ */
.woocommerce-cart-form td.product-name #omnibus-price-data {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	line-height: 16px;
	color: var(--sz-mute);
}
.woocommerce-cart-form td.product-name .sz-omnibus__short {
	display: none;
}

/* ------------------------------------------------------------------
   Unit price (decision 54, inc/unit-price.php): one short line under every price, "7,86 zł/l", in the colour of
   the secondary text; the places set its size next to their own price (cards, buy box, carts, small boxes).
   ------------------------------------------------------------------ */
.sz-unit-price {
	display: block;
	font-family: Inter, sans-serif;
	font-size: 12.5px;
	line-height: 17px;
	font-weight: 400;
	color: var(--sz-mute);
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	white-space: nowrap;
}

/* ------------------------------------------------------------------
   An empty list of posts (the blog before the first post, content-none.php of the parent theme): the parent
   pulls a page header in the posts grid up by 2rem, which put the title on the text under it; its search form
   has the magnifier positioned against the page instead of the field, so it hung at the left edge of the screen.
   ------------------------------------------------------------------ */
.site-main.grid .no-results {
	grid-column: 1 / -1;
}
.site-main.grid .no-results .page-header {
	margin-bottom: 0.75rem;
}
.no-results form.search-form {
	display: flex;
	gap: 8px;
	max-width: 480px;
}
.no-results form.search-form:before {
	display: none;
}
.no-results form.search-form label {
	display: flex;
	flex: 1;
	margin: 0;
}
.no-results form.search-form input[type="search"] {
	width: 100%;
	padding-left: 0.8em;
}

/* ------------------------------------------------------------------
   A breadcrumb of a single crumb (a top level page: a hub, "Marki", "Nowości", "Promocje", the blog, "Pomoc")
   only repeats the menu label above the page title, because the theme prints no home crumb. It is hidden on the
   page and kept in the structured data. Its row keeps the height, so every page starts at the same place and a
   banner keeps its space above the title.
   ------------------------------------------------------------------ */
.woocommerce-breadcrumb:not(:has(a)) {
	visibility: hidden;
}
