/**
 * Lahden Pantti brand styles for Storefront.
 * Based on https://lahdenpantti.fi/
 */

:root {
	--lp-black: #1b1b1b;
	--lp-yellow: #febf0a;
	--lp-yellow-hover: #fec92f;
	--lp-yellow-active: #eeb001;
	--lp-yellow-dark: #d49e01;
	--lp-yellow-darker: #aa7e01;
	--lp-body: #212529;
	--lp-white: #ffffff;
	--lp-light-gray: #efefef;
	--lp-footer-muted: #fffbef;
	--lp-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--lp-radius-pill: 25px;
	--lp-radius-sm: 0.25rem;
	--lp-container: 1320px;
	--lp-nav-border: 3px;
}

/* -------------------------------------------------------------------------- */
/* Base                                                                       */
/* -------------------------------------------------------------------------- */

body,
button,
input,
select,
textarea {
	color: var(--lp-body);
	font-family: var(--lp-font);
}

body {
	background-color: var(--lp-white);
}

h1,
h2,
h3,
h4,
h5,
h6,
.alpha,
.beta,
.gamma,
.delta {
	color: var(--lp-black);
	font-family: var(--lp-font);
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

a {
	color: var(--lp-black);
	text-decoration: none;
	transition: color 0.18s ease-in-out;
}

a:hover,
a:focus {
	color: var(--lp-yellow-dark);
	outline-color: var(--lp-yellow-dark);
}

button:focus {
	outline-color: var(--lp-yellow-dark);
}

/* -------------------------------------------------------------------------- */
/* Buttons                                                                    */
/* -------------------------------------------------------------------------- */

button:not(.plus):not(.minus):not(.qty):not(.menu-toggle):not(.site-header-search-submit):not(.show-password-input),
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
.added_to_cart,
.widget a.button,
.site-header .widget_shopping_cart a.button,
.site-header .widget_shopping_cart a.button.checkout,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wp-block-button__link {
	background-color: var(--lp-yellow) !important;
	border: none !important;
	border-radius: var(--lp-radius-pill) !important;
	color: var(--lp-black) !important;
	font-weight: 400;
	margin: 0.5rem;
	padding: 10px 25px !important;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

button:not(.plus):not(.minus):not(.qty):not(.menu-toggle):not(.site-header-search-submit):not(.show-password-input):hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:not(.site-header-search-submit):hover,
.button:hover,
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover,
.added_to_cart:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wp-block-button__link:hover {
	background-color: var(--lp-yellow-hover) !important;
	color: var(--lp-black) !important;
}

button.alt,
.button.alt,
.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt:disabled,
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt:disabled {
	background-color: var(--lp-white) !important;
	border: 2px solid var(--lp-yellow) !important;
	color: var(--lp-black) !important;
}

/* -------------------------------------------------------------------------- */
/* Header                                                                     */
/* -------------------------------------------------------------------------- */

.site-header {
	background-color: var(--lp-white);
	border-bottom: 0;
	padding-bottom: 0;
}

.site-header .col-full {
	max-width: var(--lp-container);
}

.site-header-top {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	justify-content: space-between;
	width: 100%;
}

.site-header-top .site-branding,
.site-header-top .site-header-actions,
.site-header-top .site-header-account {
	clear: none !important;
	flex: 0 1 auto;
	float: none !important;
	max-width: none !important;
	width: auto !important;
}

.site-header-actions {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	flex-wrap: wrap;
	gap: 0.25rem 0.75rem;
	justify-content: flex-end;
	margin-left: auto;
	padding: 1.5rem 0 0.5rem;
}

.site-header-search {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	min-width: 12rem;
}

.site-header-search-form {
	display: flex;
	margin: 0;
	position: relative;
}

.site-header-search-form::before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--lp-body);
	content: "\f002";
	display: block;
	font-family: "Font Awesome 5 Free", sans-serif;
	font-size: 0.95rem;
	font-weight: 900;
	left: 0.9rem;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}

.site-header-search-form .search-field {
	background-color: var(--lp-white);
	border: 1px solid var(--lp-light-gray);
	border-radius: var(--lp-radius-pill);
	box-sizing: border-box;
	color: var(--lp-body);
	display: block;
	font-size: 0.95rem;
	height: 2rem;
	line-height: 1.4;
	margin: 0;
	padding: 0.3rem 2.75rem 0.3rem 2.25rem;
	width: 14rem;
}

.site-header-search-form .search-field:focus {
	border-color: var(--lp-yellow);
	outline: 2px solid rgba(254, 191, 10, 0.35);
	outline-offset: 0;
}

.site-header-search-submit {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 var(--lp-radius-pill) var(--lp-radius-pill) 0 !important;
	box-shadow: none !important;
	color: var(--lp-body) !important;
	cursor: pointer;
	display: flex;
	height: calc(100% - 2px);
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	position: absolute;
	right: 1px;
	top: 1px;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
	width: 2.25rem;
}

.site-header-search-submit::before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\f061";
	display: block;
	font-family: "Font Awesome 5 Free", sans-serif;
	font-size: 0.8rem;
	font-weight: 900;
	line-height: 1;
}

.site-header-search-submit:hover,
.site-header-search-submit:focus {
	background-color: var(--lp-yellow) !important;
	color: var(--lp-black) !important;
}

.site-header-search-submit:focus-visible {
	outline: 2px solid var(--lp-yellow-dark);
	outline-offset: 1px;
}

.site-header-search .search-form {
	margin: 0;
}

.woocommerce-active .site-header .site-header-search {
	clear: none;
	float: none;
	margin-bottom: 0;
	width: auto;
}

.site-header-search input[type="submit"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.header-separator--pipe {
	align-self: center;
	color: var(--lp-yellow);
	flex: 0 0 auto;
	font-size: 0.95rem;
	line-height: 1;
	margin: 0 0.25rem;
}

.site-branding {
	margin-bottom: 0.5rem;
	padding: 1.5rem 0 0.5rem;
	text-align: left;
}

.site-header-account {
	font-size: 0.95rem;
	line-height: 1.4;
	padding: 0;
	text-align: right;
	white-space: nowrap;
}

.site-header-account a {
	color: var(--lp-black);
	text-decoration: none;
}

.site-header-account a:hover,
.site-header-account a:focus {
	color: var(--lp-yellow-dark);
}

.site-header-account .account-separator {
	color: var(--lp-body);
	font-size: 0.95rem;
	line-height: 1;
	margin: 0 0.35rem;
}

.site-header-account .account-separator--pipe {
	color: var(--lp-yellow);
}

.site-branding .site-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.site-branding .site-title a {
	color: var(--lp-black);
	text-decoration: none;
}

.site-branding .site-description {
	color: var(--lp-body);
	font-size: 0.95rem;
	margin-top: 0.35rem;
	text-transform: none;
}

.custom-logo-link {
	display: inline-block;
}

.custom-logo {
	max-height: 72px;
	width: auto;
}

.storefront-primary-navigation {
	margin: 0.5rem 0 1rem;
	width: 100%;
}

.main-navigation, #site-navigation {
	border: var(--lp-nav-border) solid var(--lp-yellow);
	clear: both;
	margin: 0.5rem 0 1rem;
	width: 100%;
}

.main-navigation ul.menu,
.main-navigation ul.nav-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
}

.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li {
	display: flex;
	margin: 0;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	color: var(--lp-black);
	font-size: 1.05rem;
	padding: 1rem 0.6rem;
	text-align: center;
	text-decoration: none;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li:hover > a,
.main-navigation ul.nav-menu > li:hover > a {
	color: var(--lp-yellow-dark);
}

.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current_page_item > a,
.main-navigation ul.menu > li.current-menu-ancestor > a,
.main-navigation ul.nav-menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current_page_item > a,
.main-navigation ul.nav-menu > li.current-menu-ancestor > a {
	background-color: var(--lp-yellow-active);
	color: var(--lp-black);
}

.main-navigation ul li a:focus,
.main-navigation ul li a:focus-visible {
	outline: none;
}

.main-navigation ul li a:focus-visible {
	background-color: rgba(254, 191, 10, 0.15);
	box-shadow: inset 4px 0 0 var(--lp-yellow);
}

.main-navigation ul.menu ul,
.main-navigation ul.nav-menu ul {
	background: var(--lp-white);
	border: 1px solid var(--lp-light-gray);
	box-shadow: 0 8px 100px -8px rgba(0, 0, 0, 0.1);
}

.main-navigation ul.menu ul li a,
.main-navigation ul.nav-menu ul li a {
	padding: 0.5rem 1rem;
	text-align: left;
}

.site-header-cart .cart-contents {
	color: var(--lp-black);
}

.site-header-cart .cart-contents:hover {
	color: var(--lp-yellow-dark);
}

.site-header-cart,
#site-header-cart,
.storefront-product-pagination {
	display: none !important;
}

.menu-toggle {
	border: 2px solid var(--lp-yellow);
	border-radius: var(--lp-radius-pill);
	color: var(--lp-black);
}

.menu-toggle:hover,
.menu-toggle:focus {
	background-color: var(--lp-yellow);
	color: var(--lp-black);
}

button.menu-toggle:focus,
button.menu-toggle:focus-visible {
	outline: 2px solid var(--lp-yellow-dark);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.main-navigation,
	#site-navigation {
		border: none;
	}

	button.menu-toggle {
		float: left;
		margin: 0.75rem 0 0.75rem 1rem;
	}

	.site-header-top {
		align-items: stretch;
		display: grid;
		gap: 0.5rem 0;
		grid-template-areas:
			"branding"
			"search"
			"account";
	}

	.site-header-top .site-branding {
		grid-area: branding;
		margin-bottom: 0;
		padding-bottom: 0.25rem;
	}

	.site-header-actions {
		display: contents;
	}

	.site-header-search {
		grid-area: search;
		min-width: 0;
		padding: 0 0 0.25rem;
		width: 100%;
	}

	.site-header-actions .header-separator--pipe {
		display: none;
	}

	.site-header-account {
		grid-area: account;
		padding: 0 0 0.75rem;
		text-align: left;
	}

	.site-header-search .site-header-search-form,
	.site-header-search .search-form {
		width: 100%;
	}

	.site-header-search-form .search-field,
	.site-header-search .search-field {
		width: 100%;
	}

	.main-navigation ul.menu,
	.main-navigation ul.nav-menu {
		align-items: stretch;
		flex-direction: column;
		justify-content: flex-start;
	}

	.main-navigation ul.menu > li,
	.main-navigation ul.nav-menu > li {
		display: block;
		width: 100%;
	}

	.main-navigation ul.menu > li > a,
	.main-navigation ul.nav-menu > li > a,
	.main-navigation ul li a {
		padding: 0.875em 1.25rem;
		text-align: left;
	}

	.handheld-navigation ul.menu li a {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.main-navigation ul li a:focus,
	.main-navigation ul li a:focus-visible {
		background-color: rgba(254, 191, 10, 0.15);
		box-shadow: inset 4px 0 0 var(--lp-yellow);
	}

	.main-navigation ul.menu > li.current-menu-item > a:focus,
	.main-navigation ul.menu > li.current-menu-item > a:focus-visible,
	.main-navigation ul.nav-menu > li.current-menu-item > a:focus,
	.main-navigation ul.nav-menu > li.current-menu-item > a:focus-visible,
	.main-navigation ul.menu > li.current_page_item > a:focus,
	.main-navigation ul.menu > li.current_page_item > a:focus-visible,
	.main-navigation ul.nav-menu > li.current_page_item > a:focus,
	.main-navigation ul.nav-menu > li.current_page_item > a:focus-visible {
		background-color: var(--lp-yellow-active);
		box-shadow: inset 4px 0 0 var(--lp-yellow-dark);
	}
}

@media (min-width: 768px) {
	.woocommerce-active .site-header-top .site-branding {
		clear: none;
		float: none;
		margin-left: 0;
		margin-right: 0;
		width: auto;
	}

	.site-header .main-navigation {
		clear: both;
		float: none;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
}

/* -------------------------------------------------------------------------- */
/* Content                                                                    */
/* -------------------------------------------------------------------------- */

.site-content {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

/* Tighter catalog layout (shop + product categories) */
.post-type-archive-product .site-content,
.tax-product_cat .site-content {
	padding-top: 1rem;
}

.post-type-archive-product .site-header .main-navigation,
.post-type-archive-product .storefront-primary-navigation,
.tax-product_cat .site-header .main-navigation,
.tax-product_cat .storefront-primary-navigation {
	margin-bottom: 0.5rem;
}

.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.post-type-archive-product .storefront-breadcrumb,
.tax-product_cat .storefront-breadcrumb {
	display: none;
}

.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
	display: none;
	margin: 0;
	padding: 0;
}

.post-type-archive-product .storefront-sorting,
.tax-product_cat .storefront-sorting {
	margin-bottom: 1.75rem;
	margin-top: 0;
}

.post-type-archive-product .lahdenpantti-catalog-search,
.tax-product_cat .lahdenpantti-catalog-search {
	margin-bottom: 0.5rem;
}

.col-full {
	max-width: var(--lp-container);
}

.woocommerce-breadcrumb,
.woocommerce-breadcrumb a {
	color: var(--lp-body);
}

.woocommerce-breadcrumb a:hover {
	color: var(--lp-yellow-dark);
}

/* -------------------------------------------------------------------------- */
/* WooCommerce                                                                */
/* -------------------------------------------------------------------------- */

/* PDF invoice download link under "Kuitti" on order details */
.woocommerce-view-order a[href*="action=wpd"],
.woocommerce-order-received a[href*="action=wpd"],
.woocommerce-order a[href*="action=wpd"],
.woocommerce a[href*="action=wpd"][href*="type=invoice"] {
	background-color: var(--lp-yellow) !important;
	border: none !important;
	border-radius: var(--lp-radius-pill) !important;
	color: var(--lp-black) !important;
	display: inline-block;
	font-weight: 400;
	margin: 0.5rem 0;
	padding: 10px 25px !important;
	text-decoration: none !important;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

.woocommerce-view-order a[href*="action=wpd"]:hover,
.woocommerce-order-received a[href*="action=wpd"]:hover,
.woocommerce-order a[href*="action=wpd"]:hover,
.woocommerce a[href*="action=wpd"][href*="type=invoice"]:hover,
.woocommerce-view-order a[href*="action=wpd"]:focus,
.woocommerce-order-received a[href*="action=wpd"]:focus,
.woocommerce-order a[href*="action=wpd"]:focus,
.woocommerce a[href*="action=wpd"][href*="type=invoice"]:focus {
	background-color: var(--lp-yellow-hover) !important;
	color: var(--lp-black) !important;
	text-decoration: none !important;
}

.woocommerce span.onsale {
	background-color: var(--lp-yellow);
	border-radius: var(--lp-radius-pill);
	color: var(--lp-black);
	font-weight: 700;
	min-height: auto;
	min-width: auto;
	padding: 0.35rem 0.75rem;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--lp-black);
	font-weight: 700;
}

.woocommerce div.product .product-sku,
.woocommerce ul.products li.product .product-sku {
	display: block;
	font-weight: 600;
	margin: 0 0 0.5rem;
	text-transform: none;
}

.woocommerce div.product .product-sku {
	font-size: 1.2rem;
}

.woocommerce ul.products li.product .product-sku {
	font-size: 0.85rem;
	margin-bottom: 0.25rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
	color: var(--lp-black);
	font-size: 1rem;
	font-weight: 400;
	margin-top: 0.5rem;
	text-transform: uppercase;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	text-align: center;
}

.woocommerce ul.products li.product img {
	margin-bottom: 1rem;
}

.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--lp-yellow);
}

.woocommerce-info::before,
.woocommerce-message::before {
	color: var(--lp-yellow);
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--lp-yellow-darker);
}

.woocommerce-tabs ul.tabs li a:hover {
	color: var(--lp-yellow-dark);
}

.woocommerce-pagination ul.page-numbers li .page-numbers.current {
	background: var(--lp-yellow);
	color: var(--lp-black);
}

.woocommerce-pagination ul.page-numbers li .page-numbers:hover {
	background: var(--lp-yellow-hover);
	color: var(--lp-black);
}

.storefront-sorting {
	align-items: center;
	column-gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
	row-gap: 0.75rem;
}

.storefront-sorting::before,
.storefront-sorting::after {
	content: none;
	display: none;
}

.storefront-sorting .woocommerce-notices-wrapper {
	flex: 0 0 100%;
	width: 100%;
}

.storefront-sorting .woocommerce-ordering,
.storefront-sorting .woocommerce-result-count,
.storefront-sorting .woocommerce-pagination {
	float: none;
	margin: 0;
	padding: 0;
}

.lahdenpantti-catalog-search {
	margin: 0 0 0.75rem;
	max-width: 100%;
	padding: 0;
	position: relative;
	width: 100%;
}

.storefront-sorting .lahdenpantti-catalog-search {
	flex: 0 0 100%;
	margin-bottom: 0;
}

.lahdenpantti-catalog-search .site-header-search-form {
	display: flex;
	margin: 0;
	position: relative;
	width: 100%;
}

@media (min-width: 768px) {
	.lahdenpantti-catalog-search .site-header-search-form {
		max-width: 14rem;
	}
}

.lahdenpantti-catalog-search .search-field {
	width: 100%;
}

.lahdenpantti-catalog-search .site-header-search-submit {
	bottom: auto;
	clip: auto;
	clip-path: none;
	float: none;
	height: calc(100% - 2px);
	left: auto;
	margin: 0 !important;
	overflow: visible;
	position: absolute;
	right: 1px;
	top: 1px;
	width: 2.25rem;
}

.storefront-sorting .woocommerce-pagination {
	margin-left: auto;
}

.woocommerce-result-count {
	color: var(--lp-body);
	margin: 0;
}

.woocommerce-ordering .orderby,
.storefront-sorting select {
	cursor: pointer;
	min-width: 12rem;
	width: auto;
}

.star-rating span::before,
.woocommerce .star-rating span::before {
	color: var(--lp-yellow);
}

/* -------------------------------------------------------------------------- */
/* Footer                                                                     */
/* -------------------------------------------------------------------------- */

.site-footer {
	background-color: var(--lp-black);
	border-top: 5px solid var(--lp-yellow);
	color: var(--lp-white);
	padding-top: 0;
}

.site-footer .col-full {
	max-width: var(--lp-container);
	padding-bottom: 3rem;
	padding-top: 4rem;
}

.site-footer,
.site-footer a {
	color: var(--lp-white);
}

footer#colophon.site-footer a {
	color: var(--lp-white);
	text-decoration: none;
}

.site-footer a:hover,
footer#colophon.site-footer a:hover {
	color: var(--lp-yellow);
}

.site-footer .widget .widget-title,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4 {
	color: var(--lp-white);
	font-size: 1.45rem;
	font-weight: 400;
	text-transform: uppercase;
}

.site-footer .widget p,
.site-footer .widget ul {
	filter: brightness(0.8);
	margin-top: 10px;
}

.site-footer .footer-widgets {
	border-bottom: 0;
	padding-bottom: 0;
	padding-top: 0;
}

.site-footer .site-info {
	background-color: var(--lp-black);
	border-top: 0;
	color: var(--lp-footer-muted);
	font-size: 0.85rem;
	padding: 0.85rem 0;
}

.site-footer .site-info a {
	color: var(--lp-footer-muted);
}

.site-footer .site-info a:hover {
	color: var(--lp-white);
}

.site-footer .site-info-separator {
	color: var(--lp-yellow);
	margin: 0 0.5rem;
}

.site-footer .widget a[href^="tel:"],
.site-footer .widget a[href^="mailto:"] {
	align-items: center;
	display: inline-flex;
	gap: 0.5rem;
}

.site-footer .widget a[href^="tel:"]::before,
.site-footer .widget a[href^="mailto:"]::before {
	background-color: currentColor;
	content: "";
	flex-shrink: 0;
	height: 1rem;
	-webkit-mask: no-repeat center / contain;
	mask: no-repeat center / contain;
	width: 1rem;
}

.site-footer .widget a[href^="tel:"]::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

.site-footer .widget a[href^="mailto:"]::before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------- */
/* Forms                                                                      */
/* -------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	border: 1px solid #ced4da;
	border-radius: var(--lp-radius-sm);
	color: var(--lp-body);
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: var(--lp-white);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
	background-position: right 0.75rem center;
	background-repeat: no-repeat;
	background-size: 16px 12px;
	border: 1px solid #ced4da;
	border-radius: var(--lp-radius-sm);
	color: var(--lp-body);
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.375rem 2.25rem 0.375rem 0.75rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
	border-color: var(--lp-yellow);
	box-shadow: 0 0 0 0.25rem rgba(254, 191, 10, 0.25);
	outline: 0;
}

select:disabled {
	cursor: not-allowed;
	opacity: 1;
}

/* Password visibility toggle (WooCommerce .show-password-input) */
.password-input {
	display: block;
	position: relative;
	width: 100%;
}

.password-input input[type="password"],
.password-input input[type="text"] {
	padding-right: 2.75rem;
	width: 100%;
}

.woocommerce .password-input .show-password-input,
.password-input .show-password-input,
button.show-password-input {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--lp-body) !important;
	cursor: pointer;
	display: block;
	font-size: 1.25rem;
	height: 1.5rem;
	line-height: 1;
	margin: 0 !important;
	opacity: 0.65;
	padding: 0 !important;
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	z-index: 2;
}

.woocommerce .password-input .show-password-input:hover,
.password-input .show-password-input:hover,
button.show-password-input:hover,
.woocommerce .password-input .show-password-input:focus,
.password-input .show-password-input:focus,
button.show-password-input:focus {
	background: transparent !important;
	color: var(--lp-black) !important;
	opacity: 1;
	outline: none;
}

/* -------------------------------------------------------------------------- */
/* Utility / brand sections                                                   */
/* -------------------------------------------------------------------------- */

.lp-gold-bar,
.has-yellow-background-color {
	background-color: var(--lp-yellow) !important;
	color: var(--lp-black) !important;
}

.lp-dark-section {
	background-color: var(--lp-black);
	color: var(--lp-white);
}

.lp-dark-section h1,
.lp-dark-section h2,
.lp-dark-section h3,
.lp-dark-section h4,
.lp-dark-section h5,
.lp-dark-section h6 {
	color: var(--lp-white);
}

.has-black-background-color {
	background-color: var(--lp-black) !important;
}

.has-yellow-color {
	color: var(--lp-yellow) !important;
}

.has-black-color {
	color: var(--lp-black) !important;
}

/* -------------------------------------------------------------------------- */
/* Global banner                                                              */
/* -------------------------------------------------------------------------- */

body.has-global-banner.home.blog .site-header,
body.has-global-banner.home.page:not(.page-template-template-homepage) .site-header,
body.has-global-banner.home.post-type-archive-product .site-header,
body.has-global-banner.no-wc-breadcrumb .site-header,
body.has-global-banner .site-header {
	margin-bottom: 1rem;
}

body.has-global-banner .main-navigation,
body.has-global-banner .storefront-primary-navigation,
body.has-global-banner #site-navigation {
	margin-bottom: 0;
}

.lahdenpantti-global-banner {
	background-color: var(--lp-black);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	min-height: var(--lp-banner-min-height, 320px);
	position: relative;
	width: 100%;
}

.lahdenpantti-global-banner__overlay {
	background-color: rgba(0, 0, 0, var(--lp-banner-overlay-opacity, 0.5));
	inset: 0;
	position: absolute;
}

.lahdenpantti-global-banner__inner {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: var(--lp-container);
	padding: 2rem 1.5rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.lahdenpantti-global-banner__title {
	color: var(--lp-white);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

.has-global-banner .woocommerce-breadcrumb {
	margin-top: 1rem;
}
