/* Gift Store Skin on the Storefront theme: the skin's own header, menu, mobile menu and cart drawer,
   and the product grids, product page, cart and checkout as WooCommerce's default templates print them.
   Loaded only when Storefront is the active theme. Everything is scoped to body.gss-theme-storefront. */

/* ---------- Page frame ---------- */
body.gss-theme-storefront {
	line-height: 1.6;
}
body.gss-theme-storefront .col-full {
	box-sizing: border-box;
	max-width: 1262px;
	margin: 0 auto;
	padding: 0 16px;
}
body.gss-theme-storefront .site-content {
	padding-top: 22px;
	outline: 0;
}
body.gss-theme-storefront .content-area,
body.gss-theme-storefront .site-main {
	float: none;
	width: 100%;
	margin: 0;
}
body.gss-theme-storefront .widget-area {
	display: none;
}
body.gss-theme-storefront a {
	text-decoration: none;
}
body.gss-theme-storefront a:focus,
body.gss-theme-storefront button:focus,
body.gss-theme-storefront input:focus,
body.gss-theme-storefront select:focus {
	outline: 2px solid color-mix(in srgb, var(--gss-brand) 45%, transparent);
	outline-offset: 2px;
}
body.gss-theme-storefront .hentry {
	margin: 0 0 40px;
	padding: 0;
	border: 0;
}
body.gss-theme-storefront .hentry .entry-header {
	margin: 0 0 18px;
	border: 0;
}
body.gss-theme-storefront .entry-title,
body.gss-theme-storefront .page-title {
	margin: 0 0 6px;
	font-size: 34px;
	line-height: 1.2;
	text-align: left;
}
body.gss-theme-storefront .hentry .entry-content {
	margin-top: 0;
}
body.gss-theme-storefront.page:not(.home):not(.woocommerce-page) .site-main {
	max-width: 820px;
	margin: 0 auto;
}
body.gss-theme-storefront .entry-content h2 {
	margin: 28px 0 10px;
	font-size: 22px;
}
body.gss-theme-storefront:not(.woocommerce-page):not(.home) .entry-content a:not(.button):not(.gss-btn) {
	color: var(--gss-brand);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Breadcrumb */
body.gss-theme-storefront .storefront-breadcrumb {
	margin: 0;
	padding: 14px 0 0;
	background: transparent;
}
body.gss-theme-storefront .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	font-size: 13px;
	color: var(--gss-muted);
}
body.gss-theme-storefront .woocommerce-breadcrumb a {
	color: var(--gss-muted);
	text-decoration: none;
}
body.gss-theme-storefront .woocommerce-breadcrumb a:hover {
	color: var(--gss-brand);
}
body.gss-theme-storefront .woocommerce-breadcrumb a:first-of-type::before {
	display: none;
}
body.gss-theme-storefront .woocommerce-breadcrumb .breadcrumb-separator {
	margin: 0 6px;
}

/* ---------- Buttons and fields ---------- */
body.gss-theme-storefront button,
body.gss-theme-storefront input[type="button"],
body.gss-theme-storefront input[type="submit"],
body.gss-theme-storefront .button,
body.gss-theme-storefront .gss-btn,
body.gss-theme-storefront .added_to_cart {
	border: 0;
	border-radius: 999px;
	background: var(--gss-brand);
	color: #fff;
	font-family: var(--gss-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	padding: 12px 24px;
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
body.gss-theme-storefront button:hover,
body.gss-theme-storefront input[type="submit"]:hover,
body.gss-theme-storefront .button:hover,
body.gss-theme-storefront .gss-btn:hover {
	background: var(--gss-brand-dark);
	color: #fff;
}
body.gss-theme-storefront .button.alt,
body.gss-theme-storefront button.alt {
	background: var(--gss-brand);
	color: #fff;
}
body.gss-theme-storefront .button.disabled,
body.gss-theme-storefront button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
body.gss-theme-storefront input[type="text"],
body.gss-theme-storefront input[type="email"],
body.gss-theme-storefront input[type="tel"],
body.gss-theme-storefront input[type="number"],
body.gss-theme-storefront input[type="password"],
body.gss-theme-storefront input[type="search"],
body.gss-theme-storefront input[type="url"],
body.gss-theme-storefront textarea,
body.gss-theme-storefront select {
	border: 1.5px solid #d5d7db;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	color: var(--gss-ink);
	font-family: var(--gss-sans);
	font-size: 15px;
	padding: 10px 14px;
}
body.gss-theme-storefront select {
	height: 46px;
}

/* Notices */
body.gss-theme-storefront .woocommerce-message,
body.gss-theme-storefront .woocommerce-info,
body.gss-theme-storefront .woocommerce-error,
body.gss-theme-storefront .woocommerce-noreviews,
body.gss-theme-storefront p.no-comments {
	margin: 0 0 18px;
	padding: 12px 16px;
	border: 1px solid var(--gss-line);
	border-left: 4px solid var(--gss-brand);
	border-radius: 12px;
	background: #fff;
	color: var(--gss-ink);
	font-size: 14.5px;
}
body.gss-theme-storefront .woocommerce-error {
	border-left-color: #b32d2e;
}
body.gss-theme-storefront .woocommerce-message a,
body.gss-theme-storefront .woocommerce-info a,
body.gss-theme-storefront .woocommerce-error a {
	color: var(--gss-brand);
}
body.gss-theme-storefront .woocommerce-message .button,
body.gss-theme-storefront .woocommerce-info .button,
body.gss-theme-storefront .woocommerce-error .button {
	float: right;
	margin: -4px 0 -4px 12px;
	padding: 6px 14px;
	border: 0;
	background: transparent;
	color: var(--gss-brand);
	font-size: 14px;
	text-decoration: underline;
}

/* ---------- Header ---------- */
body.gss-theme-storefront .site-header {
	position: sticky;
	top: 0;
	z-index: 60;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--gss-line);
	background: #fff !important;
	color: var(--gss-ink);
}
body.gss-theme-storefront.admin-bar .site-header {
	top: 32px;
}
body.gss-theme-storefront .gss-topbar {
	background: var(--gss-dark);
	color: #fff;
	text-align: center;
}
body.gss-theme-storefront .gss-topbar p {
	margin: 0;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
}
body.gss-theme-storefront .gss-header-inner {
	box-sizing: border-box;
	max-width: 1262px;
	margin: 0 auto;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 24px;
}
body.gss-theme-storefront .gss-icon {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.gss-theme-storefront .gss-logo {
	flex: none;
	display: inline-flex;
	align-items: center;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-logo img {
	display: block;
	height: 46px;
	width: auto;
	max-width: 240px;
	border-radius: 0;
}
body.gss-theme-storefront .gss-logo-text {
	font-family: var(--gss-serif);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: -0.01em;
}
body.gss-theme-storefront .gss-search {
	position: relative;
	flex: 1 1 auto;
	max-width: 540px;
	margin: 0 auto;
}
body.gss-theme-storefront .gss-search input[type="search"] {
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 56px 0 20px;
	border: 2px solid var(--gss-heading);
	border-radius: 999px;
	background: #fff;
	font-size: 15px;
	-webkit-appearance: none;
	appearance: none;
}
body.gss-theme-storefront .gss-search input[type="search"]::placeholder {
	color: #a0a4aa;
}
body.gss-theme-storefront .gss-search button {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	padding: 0;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gss-brand);
	color: #fff;
}
body.gss-theme-storefront .gss-search .gss-icon {
	width: 18px;
	height: 18px;
	stroke-width: 2.2;
}
body.gss-theme-storefront .gss-header-links {
	flex: none;
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
}
body.gss-theme-storefront .gss-header-links a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--gss-heading);
	font-size: 14px;
	font-weight: 600;
}
body.gss-theme-storefront .gss-header-links a:hover {
	color: var(--gss-brand);
}
body.gss-theme-storefront .gss-cart-button {
	min-height: 40px;
}
body.gss-theme-storefront .gss-cart-button .gss-head-total {
	font-size: 15px;
	font-weight: 700;
	color: inherit;
}
body.gss-theme-storefront .gss-cart-icon {
	position: relative;
	display: inline-flex;
}
body.gss-theme-storefront .gss-cart-count {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	box-sizing: border-box;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: var(--gss-brand);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}
body.gss-theme-storefront .gss-cart-count.is-empty {
	display: none;
}
body.gss-theme-storefront .gss-burger {
	display: none;
	flex: none;
	width: 40px;
	height: 40px;
	padding: 0;
	place-items: center;
	border-radius: 10px;
	background: transparent;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-burger:hover {
	background: var(--gss-soft);
	color: var(--gss-heading);
}

/* Menu bar: the panel styles come from nav.css (#wide-nav …). */
body.gss-theme-storefront #wide-nav {
	border-top: 1px solid var(--gss-line);
	border-bottom: 0;
	background: #fff;
}
body.gss-theme-storefront #wide-nav .gss-nav-list {
	box-sizing: border-box;
	max-width: 1262px;
	margin: 0 auto;
	padding: 0 16px;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
body.gss-theme-storefront #wide-nav .gss-nav-list > li {
	margin: 0 12px;
}
body.gss-theme-storefront #wide-nav .gss-nav-list > li > a {
	display: block;
	color: var(--gss-heading);
	text-decoration: none;
}
body.gss-theme-storefront #wide-nav .gss-nav-list > li > a:hover {
	color: var(--gss-brand);
}
body.gss-theme-storefront .gss-mega-head a {
	color: inherit !important;
	text-decoration: none;
}

/* Mobile menu */
body.gss-theme-storefront .gss-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgb(0 0 0 / 0.45);
}
body.gss-theme-storefront .gss-mobile-nav[hidden],
body.gss-theme-storefront .gss-drawer[hidden] {
	display: none;
}
body.gss-theme-storefront .gss-mobile-nav-panel {
	width: min(340px, 88vw);
	height: 100%;
	overflow-y: auto;
	background: #fff;
	box-shadow: 0 0 40px rgb(0 0 0 / 0.2);
}
body.gss-theme-storefront .gss-mobile-nav-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 12px 12px 20px;
	border-bottom: 1px solid var(--gss-line);
	font-family: var(--gss-serif);
	font-size: 20px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-mobile-nav-close,
body.gss-theme-storefront .gss-drawer-close {
	width: 40px;
	height: 40px;
	padding: 0;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: transparent;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-mobile-nav-close:hover,
body.gss-theme-storefront .gss-drawer-close:hover {
	background: var(--gss-soft);
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-mobile-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.gss-theme-storefront .gss-mobile-nav-list > li > a {
	display: block;
	text-decoration: none;
}
body.gss-theme-storefront .gss-mobile-nav-list .gss-nav-hot > a {
	color: var(--gss-highlight);
}
body.gss-theme-storefront .gss-mobile-nav-list .gss-mega-toggle {
	padding: 0;
	border-radius: 8px;
}
html.gss-nav-open,
html.gss-drawer-open {
	overflow: hidden;
}

@media (max-width: 899px) {
	body.gss-theme-storefront #wide-nav,
	body.gss-theme-storefront .gss-header-track,
	body.gss-theme-storefront .gss-header-account,
	body.gss-theme-storefront .gss-cart-button .gss-head-total {
		display: none;
	}
	body.gss-theme-storefront .gss-burger {
		display: grid;
	}
	body.gss-theme-storefront .gss-header-inner {
		flex-wrap: wrap;
		gap: 10px 12px;
		padding: 10px 12px;
	}
	body.gss-theme-storefront .gss-logo {
		margin-right: auto;
	}
	body.gss-theme-storefront .gss-logo img {
		height: 36px;
		max-width: 190px;
	}
	body.gss-theme-storefront .gss-search {
		order: 5;
		flex: 1 0 100%;
		max-width: none;
	}
	body.gss-theme-storefront .gss-search input[type="search"] {
		height: 44px;
	}
	body.gss-theme-storefront .gss-header-links {
		margin-left: 0;
		padding-right: 8px;
	}
}
@media (max-width: 782px) {
	body.gss-theme-storefront.admin-bar .site-header {
		top: 46px;
	}
}
@media (max-width: 600px) {
	body.gss-theme-storefront.admin-bar .site-header {
		top: 0;
	}
}

/* ---------- Cart drawer (contents styled by the "#cart-popup" rules in storefront.css) ---------- */
body.gss-theme-storefront .gss-drawer {
	position: fixed;
	inset: 0;
	z-index: 100001;
	background: rgb(0 0 0 / 0.45);
}
body.gss-theme-storefront .gss-drawer-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(420px, 100vw);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	background: #fff;
	box-shadow: 0 0 40px rgb(0 0 0 / 0.2);
}
body.gss-theme-storefront .gss-drawer-close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
}
body.gss-theme-storefront .gss-drawer .cart-popup-inner {
	flex: 1;
	padding: 18px 20px 22px;
}
body.gss-theme-storefront .gss-drawer .widget_shopping_cart {
	margin: 0;
	padding: 0;
	font-size: 14.5px;
}
body.gss-theme-storefront .gss-drawer .gss-mini-head {
	margin: 0 44px 14px 0;
	font-family: var(--gss-serif);
	font-size: 22px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-drawer ul.woocommerce-mini-cart {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	max-height: none;
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item {
	position: relative;
	margin: 0;
	padding: 14px 34px 14px 84px;
	min-height: 72px;
	border-bottom: 1px solid var(--gss-line);
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item img {
	position: absolute;
	left: 0;
	top: 14px;
	width: 70px;
	height: 70px;
	margin: 0;
	float: none;
	object-fit: cover;
	border-radius: 10px;
	background: var(--gss-soft);
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item > a:not(.remove) {
	display: block;
	color: var(--gss-heading);
	font-weight: 500;
	line-height: 1.35;
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item a.remove {
	position: absolute;
	top: 12px;
	right: 0;
	left: auto;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	color: var(--gss-muted) !important;
	font-size: 20px;
	line-height: 1;
	text-indent: 0;
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item a.remove::before {
	display: none;
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item .variation {
	margin: 2px 0 0;
	font-size: 12.5px;
	color: var(--gss-muted);
}
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item .variation dt,
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item .variation dd,
body.gss-theme-storefront .gss-drawer li.woocommerce-mini-cart-item .variation p {
	display: inline;
	float: none;
	margin: 0;
}
body.gss-theme-storefront .gss-drawer .gss-mini-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 8px;
}
body.gss-theme-storefront .gss-drawer .gss-mini-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d5d7db;
	border-radius: 999px;
	overflow: hidden;
}
body.gss-theme-storefront .gss-drawer .gss-mini-qty button {
	width: 30px;
	height: 30px;
	padding: 0;
	border-radius: 0;
	background: #fff;
	color: var(--gss-heading);
	font-size: 16px;
	font-weight: 500;
}
body.gss-theme-storefront .gss-drawer .gss-mini-qty button:hover {
	background: var(--gss-soft);
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-drawer .gss-mini-qty-num {
	min-width: 26px;
	text-align: center;
	font-weight: 600;
}
body.gss-theme-storefront .gss-drawer .gss-mini-qty.is-busy {
	opacity: 0.5;
	pointer-events: none;
}
body.gss-theme-storefront .gss-drawer .gss-mini-line {
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-drawer .gss-mini-totals > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 0;
	font-size: 14.5px;
}
body.gss-theme-storefront .gss-drawer .gss-mini-totals .gss-mini-fee {
	color: #1d7a3e;
}
body.gss-theme-storefront .gss-drawer .gss-mini-totals .gss-mini-total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px solid var(--gss-line);
	font-size: 17px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-drawer .woocommerce-mini-cart__total {
	display: none;
}
body.gss-theme-storefront .gss-drawer .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column-reverse;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
}
body.gss-theme-storefront .gss-drawer .woocommerce-mini-cart__buttons .button {
	display: block;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	text-align: center;
}
body.gss-theme-storefront .gss-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
	background: #fff;
	border: 1.5px solid var(--gss-line);
	color: var(--gss-heading);
}
body.gss-theme-storefront .gss-drawer .woocommerce-mini-cart__empty-message {
	margin: 40px 0;
	text-align: center;
	color: var(--gss-muted);
}

/* ---------- Product grids ---------- */
body.gss-theme-storefront ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 20px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
body.gss-theme-storefront ul.products::before,
body.gss-theme-storefront ul.products::after {
	display: none;
}
body.gss-theme-storefront ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
body.gss-theme-storefront ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}
/* Storefront sizes cards in percent for its float layout; inside the grid they simply fill their cell. */
body.gss-theme-storefront ul.products li.product {
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	text-align: left;
}
body.gss-theme-storefront ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	color: var(--gss-ink);
}
body.gss-theme-storefront ul.products li.product img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	margin: 0 0 12px;
	object-fit: cover;
	border-radius: 14px;
	background: var(--gss-soft);
	transition: transform 0.4s;
}
body.gss-theme-storefront ul.products li.product:hover img {
	transform: scale(1.02);
}
body.gss-theme-storefront ul.products li.product .woocommerce-loop-product__title,
body.gss-theme-storefront ul.products li.product h2,
body.gss-theme-storefront ul.products li.product h3 {
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--gss-sans);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	color: var(--gss-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.gss-theme-storefront ul.products li.product:hover .woocommerce-loop-product__title {
	color: var(--gss-brand);
}
body.gss-theme-storefront ul.products li.product .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront ul.products li.product .price del {
	order: -1;
	font-size: 13px;
	font-weight: 400;
	color: var(--gss-muted);
	opacity: 1;
}
body.gss-theme-storefront ul.products li.product .price ins {
	margin: 0;
	background: none;
	font-weight: 700;
	text-decoration: none;
}
body.gss-theme-storefront ul.products li.product .star-rating {
	margin: 0 0 4px;
	font-size: 12px;
}
body.gss-theme-storefront ul.products li.product .onsale,
body.gss-theme-storefront.single-product div.product > .onsale {
	position: absolute;
	top: 10px;
	left: 10px;
	right: auto;
	z-index: 2;
	margin: 0;
	padding: 3px 10px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--gss-highlight);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	text-transform: none;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.12);
}
@media (max-width: 899px) {
	body.gss-theme-storefront ul.products,
	body.gss-theme-storefront ul.products.columns-3,
	body.gss-theme-storefront ul.products.columns-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 599px) {
	body.gss-theme-storefront ul.products,
	body.gss-theme-storefront ul.products.columns-3,
	body.gss-theme-storefront ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 12px;
	}
}

/* ---------- Shop and category pages ---------- */
body.gss-theme-storefront .woocommerce-products-header {
	display: none;
}
body.gss-theme-storefront .storefront-sorting {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin: 0 0 18px;
	font-size: 14px;
}
body.gss-theme-storefront .storefront-sorting .woocommerce-ordering {
	float: none;
	margin: 0;
}
body.gss-theme-storefront .storefront-sorting select {
	height: 42px;
	padding: 0 34px 0 14px;
	border-radius: 999px;
	font-size: 14px;
}
body.gss-theme-storefront .storefront-sorting .woocommerce-pagination {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
}
body.gss-theme-storefront .site-main > .storefront-sorting:last-of-type {
	justify-content: center;
	margin-top: 10px;
}
body.gss-theme-storefront .woocommerce-pagination .page-numbers {
	border: 0;
}
body.gss-theme-storefront .woocommerce-pagination .page-numbers li .page-numbers {
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	box-sizing: border-box;
	display: inline-grid;
	place-items: center;
	border-radius: 999px;
	background: transparent;
	color: var(--gss-heading);
	font-weight: 600;
}
body.gss-theme-storefront .woocommerce-pagination .page-numbers li .page-numbers.current {
	background: var(--gss-brand);
	color: #fff;
}
body.gss-theme-storefront .gss-cat-head {
	margin: 6px 0 4px;
}

/* ---------- Product page ---------- */
body.gss-theme-storefront.single-product div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 44px;
	align-items: start;
}
body.gss-theme-storefront.single-product div.product::before,
body.gss-theme-storefront.single-product div.product::after {
	display: none;
}
body.gss-theme-storefront.single-product div.product .woocommerce-product-gallery,
body.gss-theme-storefront.single-product div.product .summary {
	float: none !important;
	width: auto !important;
	margin: 0 0 30px !important;
}
body.gss-theme-storefront.single-product .single_variation_wrap .woocommerce-variation:empty,
body.gss-theme-storefront.single-product .single_variation_wrap .woocommerce-variation-description:empty,
body.gss-theme-storefront.single-product .single_variation_wrap .woocommerce-variation-availability:empty {
	display: none;
}
body.gss-theme-storefront.single-product div.product .woocommerce-tabs,
body.gss-theme-storefront.single-product div.product .related,
body.gss-theme-storefront.single-product div.product .upsells {
	grid-column: 1 / -1;
}
body.gss-theme-storefront.single-product div.product .woocommerce-product-gallery img {
	border-radius: 16px;
	background: var(--gss-soft);
}
body.gss-theme-storefront.single-product div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
}
body.gss-theme-storefront.single-product div.product .flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
	list-style: none;
}
body.gss-theme-storefront.single-product div.product .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 10px;
	opacity: 1;
	cursor: pointer;
}
body.gss-theme-storefront.single-product div.product .flex-control-thumbs img.flex-active {
	border-color: var(--gss-heading);
}
body.gss-theme-storefront.single-product div.product .woocommerce-product-gallery__trigger {
	top: 12px;
	right: 12px;
	background: #fff;
	box-shadow: 0 1px 4px rgb(0 0 0 / 0.15);
}
body.gss-theme-storefront.single-product .product_title {
	margin: 0 0 10px;
	font-size: 30px;
	line-height: 1.2;
}
body.gss-theme-storefront.single-product .summary > .price,
body.gss-theme-storefront.single-product .summary .woocommerce-variation-price .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 10px;
	margin: 0 0 14px;
	font-size: 24px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront.single-product .summary .price del {
	order: -1;
	font-size: 16px;
	font-weight: 400;
	color: var(--gss-muted);
	opacity: 1;
}
body.gss-theme-storefront.single-product .summary .price ins {
	background: none;
	text-decoration: none;
}
body.gss-theme-storefront.single-product .woocommerce-product-details__short-description {
	margin: 0 0 14px;
	color: var(--gss-ink-soft);
}
body.gss-theme-storefront.single-product form.cart {
	margin: 0 0 14px;
	padding: 0;
}
body.gss-theme-storefront.single-product table.variations {
	margin: 0 0 6px;
	border: 0;
}
body.gss-theme-storefront.single-product table.variations tr,
body.gss-theme-storefront.single-product table.variations th,
body.gss-theme-storefront.single-product table.variations td {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}
body.gss-theme-storefront.single-product table.variations tr {
	margin: 0 0 14px;
}
body.gss-theme-storefront.single-product table.variations label {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--gss-heading);
}
body.gss-theme-storefront.single-product table.variations select {
	min-width: 200px;
	max-width: 100%;
}
body.gss-theme-storefront.single-product .reset_variations {
	display: inline-block;
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--gss-muted);
	text-decoration: underline;
}
/* Option chips drawn by product.js; the real dropdown stays in the page for WooCommerce and screen readers. */
body.gss-skin .gss-opts-select {
	position: absolute !important;
	width: 1px !important;
	min-width: 0 !important;
	height: 1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
body.gss-skin .gss-opts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
body.gss-skin .gss-opts .gss-opt {
	min-width: 46px;
	min-height: 42px;
	padding: 8px 16px;
	border: 1.5px solid #d5d7db;
	border-radius: 10px;
	background: #fff;
	color: var(--gss-ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}
body.gss-skin .gss-opts .gss-opt:hover {
	border-color: var(--gss-heading);
	background: #fff;
	color: var(--gss-ink);
}
body.gss-skin .gss-opts .gss-opt.is-active {
	border-color: var(--gss-heading);
	box-shadow: inset 0 0 0 1px var(--gss-heading);
	color: var(--gss-heading);
	font-weight: 600;
}
body.gss-theme-storefront.single-product .woocommerce-variation-add-to-cart,
body.gss-theme-storefront.single-product form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}
body.gss-theme-storefront.single-product form.cart .quantity {
	float: none;
	margin: 0;
}
body.gss-theme-storefront.single-product form.cart .quantity .qty {
	width: 78px;
	height: 52px;
	padding: 0 8px;
	border-radius: 999px;
	text-align: center;
	font-weight: 600;
}
body.gss-theme-storefront.single-product form.cart .single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: 52px;
	float: none;
	font-size: 16px;
	font-weight: 700;
}
body.gss-theme-storefront.single-product .product_meta {
	margin: 16px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--gss-line);
	font-size: 13px;
	color: var(--gss-muted);
}
body.gss-theme-storefront.single-product .product_meta > span {
	display: block;
	margin: 0 0 2px;
}
body.gss-theme-storefront.single-product .product_meta a {
	color: var(--gss-ink-soft);
	text-decoration: none;
}

/* Tabs: an underlined row with the panel below. */
body.gss-theme-storefront .woocommerce-tabs {
	margin: 10px 0 30px;
	padding: 0;
	border: 0;
}
body.gss-theme-storefront .woocommerce-tabs ul.tabs {
	float: none;
	width: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0 26px;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--gss-line);
	list-style: none;
}
body.gss-theme-storefront .woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	border: 0;
}
body.gss-theme-storefront .woocommerce-tabs ul.tabs li::after {
	display: none;
}
body.gss-theme-storefront .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 0;
	border-bottom: 2px solid transparent;
	color: var(--gss-ink-soft);
	font-weight: 600;
}
body.gss-theme-storefront .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--gss-heading);
	color: var(--gss-heading);
}
body.gss-theme-storefront .woocommerce-tabs .panel {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
body.gss-theme-storefront .woocommerce-tabs .panel > h2:first-child {
	display: none;
}
body.gss-theme-storefront .related > h2,
body.gss-theme-storefront .upsells > h2,
body.gss-theme-storefront .cross-sells > h2 {
	margin: 0 0 18px;
	font-size: 26px;
}

@media (max-width: 767px) {
	body.gss-theme-storefront.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
	}
	body.gss-theme-storefront.single-product .product_title {
		font-size: 24px;
	}
	body.gss-theme-storefront .entry-title,
	body.gss-theme-storefront .page-title {
		font-size: 26px;
	}
}

/* ---------- Cart page ---------- */
body.gss-theme-storefront.woocommerce-cart .entry-header {
	margin-bottom: 10px;
}
body.gss-theme-storefront.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr);
	gap: 0 36px;
	align-items: start;
}
body.gss-theme-storefront.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
body.gss-theme-storefront.woocommerce-cart .woocommerce > .cart-empty,
body.gss-theme-storefront.woocommerce-cart .woocommerce > .return-to-shop,
body.gss-theme-storefront.woocommerce-cart .woocommerce > .wc-empty-cart-message {
	grid-column: 1 / -1;
}
body.gss-theme-storefront.woocommerce-cart .cart-collaterals,
body.gss-theme-storefront.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	margin: 0;
}
body.gss-theme-storefront.woocommerce-cart .cart-collaterals .cross-sells {
	display: none;
}
body.gss-theme-storefront.woocommerce-cart table.cart {
	margin: 0;
	border: 0;
}
body.gss-theme-storefront.woocommerce-cart table.cart td,
body.gss-theme-storefront.woocommerce-cart table.cart th,
body.gss-theme-storefront .cart_totals table td,
body.gss-theme-storefront .cart_totals table th,
body.gss-theme-storefront .woocommerce-checkout-review-order-table td,
body.gss-theme-storefront .woocommerce-checkout-review-order-table th {
	background: transparent;
}
body.gss-theme-storefront.woocommerce-cart table.cart td.actions {
	padding: 16px 0 0;
	background: transparent;
}
body.gss-theme-storefront.woocommerce-cart table.cart td.actions .coupon {
	float: none;
	display: flex;
	gap: 8px;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}
body.gss-theme-storefront.woocommerce-cart table.cart td.actions .coupon .input-text {
	flex: 1;
	width: auto;
	min-width: 0;
	margin: 0;
}
body.gss-theme-storefront.woocommerce-cart table.cart td.actions .coupon .button,
body.gss-theme-storefront.woocommerce-cart table.cart td.actions > .button {
	float: none;
	width: auto;
	background: #fff;
	border: 1.5px solid var(--gss-line);
	color: var(--gss-heading);
}
body.gss-theme-storefront.woocommerce-cart table.cart .quantity .qty {
	width: 70px;
	height: 40px;
	padding: 0 6px;
	border-radius: 999px;
	text-align: center;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals {
	padding: 22px;
	border: 1px solid var(--gss-line);
	border-radius: 18px;
	background: #fff;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals > h2 {
	margin: 0 0 12px;
	font-size: 22px;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals table {
	margin: 0 0 14px;
	border: 0;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals table th,
body.gss-theme-storefront.woocommerce-cart .cart_totals table td {
	padding: 9px 0;
	border: 0;
	border-bottom: 1px solid var(--gss-soft);
	vertical-align: top;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals table td {
	text-align: right;
}
body.gss-theme-storefront.woocommerce-cart .cart_totals .order-total th,
body.gss-theme-storefront.woocommerce-cart .cart_totals .order-total td {
	border-bottom: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront.woocommerce-cart .cart_totals ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}
body.gss-theme-storefront.woocommerce-cart .wc-proceed-to-checkout {
	margin: 0;
	padding: 0;
}
body.gss-theme-storefront.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	margin: 0;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}
body.gss-theme-storefront.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after {
	display: none;
}
@media (max-width: 899px) {
	body.gss-theme-storefront.woocommerce-cart .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px 0;
	}
}

/* ---------- Checkout ---------- */
body.gss-theme-storefront.woocommerce-checkout .entry-header {
	display: none;
}
body.gss-theme-storefront.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(320px, 1fr);
	gap: 0 40px;
	align-items: start;
}
body.gss-theme-storefront.woocommerce-checkout form.checkout::before,
body.gss-theme-storefront.woocommerce-checkout form.checkout::after {
	display: none;
}
body.gss-theme-storefront.woocommerce-checkout form.checkout > * {
	grid-column: 2;
}
body.gss-theme-storefront.woocommerce-checkout form.checkout > .gss-express,
body.gss-theme-storefront.woocommerce-checkout form.checkout > #customer_details,
body.gss-theme-storefront.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup {
	grid-column: 1;
}
body.gss-theme-storefront.woocommerce-checkout form.checkout > #customer_details {
	grid-row: span 6;
}
body.gss-theme-storefront.woocommerce-checkout #customer_details,
body.gss-theme-storefront.woocommerce-checkout #order_review,
body.gss-theme-storefront.woocommerce-checkout #order_review_heading {
	float: none;
	width: auto;
	margin: 0;
	clear: none;
}
body.gss-theme-storefront.woocommerce-checkout #customer_details .col-1,
body.gss-theme-storefront.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: auto;
	margin: 0;
}
body.gss-theme-storefront.woocommerce-checkout #order_review_heading {
	margin: 0 0 12px;
	font-size: 22px;
}
body.gss-theme-storefront.woocommerce-checkout #order_review {
	padding: 22px;
	border: 1px solid var(--gss-line);
	border-radius: 18px;
	background: #fff;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table {
	margin: 0 0 14px;
	border: 0;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 9px 0;
	border: 0;
	border-bottom: 1px solid var(--gss-soft);
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	border-bottom: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--gss-heading);
}
body.gss-theme-storefront.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}
body.gss-theme-storefront.woocommerce-checkout #payment .payment_methods {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}
body.gss-theme-storefront.woocommerce-checkout #payment .payment_methods > li {
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1.5px solid var(--gss-line);
	border-radius: 12px;
	background: #fff;
	list-style: none;
}
body.gss-theme-storefront.woocommerce-checkout #payment .payment_methods > li > label {
	margin: 0;
	padding: 0;
	background: transparent;
	font-weight: 600;
}
body.gss-theme-storefront.woocommerce-checkout #payment .payment_box {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--gss-soft);
	font-size: 13.5px;
}
body.gss-theme-storefront.woocommerce-checkout #payment .place-order {
	margin: 0;
	padding: 0;
	background: transparent;
}
body.gss-theme-storefront.woocommerce-checkout #place_order {
	width: 100%;
	margin: 12px 0 0;
	padding: 16px 20px;
	font-size: 16px;
	font-weight: 700;
}
body.gss-theme-storefront.woocommerce-checkout .form-row {
	margin: 0 0 14px;
}
body.gss-theme-storefront.woocommerce-checkout .form-row input.input-text,
body.gss-theme-storefront.woocommerce-checkout .form-row textarea,
body.gss-theme-storefront.woocommerce-checkout .form-row select {
	width: 100%;
	box-sizing: border-box;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.gss-theme-storefront.woocommerce-checkout form.checkout_coupon {
	display: none !important;
}
@media (max-width: 899px) {
	body.gss-theme-storefront.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, 1fr);
	}
	body.gss-theme-storefront.woocommerce-checkout form.checkout > * {
		grid-column: 1;
	}
	body.gss-theme-storefront.woocommerce-checkout form.checkout > #customer_details {
		grid-row: auto;
		margin-bottom: 24px;
	}
}

/* ---------- Footer ---------- */
body.gss-theme-storefront .site-footer {
	margin: 40px 0 0;
	padding: 0;
	background: var(--gss-dark);
	color: #fff;
}
body.gss-theme-storefront .site-footer .col-full {
	max-width: none;
	margin: 0;
	padding: 0;
}
body.gss-theme-storefront .site-footer a {
	text-decoration: none;
}

/* Drawer sections keep the panel's side padding (the shared "#cart-popup" rules pad only the item list). */
body.gss-theme-storefront #cart-popup.gss-drawer-panel .gss-freeship,
body.gss-theme-storefront #cart-popup.gss-drawer-panel .gss-bmsm-nudge,
body.gss-theme-storefront #cart-popup.gss-drawer-panel .gss-mini-totals,
body.gss-theme-storefront #cart-popup.gss-drawer-panel .woocommerce-mini-cart__buttons,
body.gss-theme-storefront #cart-popup.gss-drawer-panel .woocommerce-mini-cart__empty-message {
	margin-left: 20px;
	margin-right: 20px;
}
body.gss-theme-storefront #cart-popup.gss-drawer-panel .woocommerce-mini-cart__buttons {
	margin-bottom: 22px;
}

/* Checkout summary lines: photo, name and options on the left, line total hugging the right edge. */
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
	background: transparent !important;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
	width: 1%;
	white-space: nowrap;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table .product-item-thumbnail img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	background: var(--gss-soft);
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	font-weight: 500;
}

/* Storefront adds a large gap under the header on the front page. */
body.gss-theme-storefront .site-header {
	margin-bottom: 0 !important;
}

/* Small screens: only the menu button, logo and cart stay in the top row. */
@media (max-width: 899px) {
	body.gss-theme-storefront .gss-header-links .gss-header-track,
	body.gss-theme-storefront .gss-header-links .gss-header-account {
		display: none;
	}
}

/* Checkout summary rows as flex lines, so the product name gets the full width beside its photo. */
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot {
	display: block;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td[colspan] {
	flex: 1 1 auto;
	min-width: 0;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td:not([colspan]) {
	flex: none;
	width: auto;
	text-align: right;
}
body.gss-theme-storefront.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr {
	min-height: 84px;
}

/* Storefront underlines every link inside page content; only links in running text keep that. */
body.gss-theme-storefront .hentry .entry-content a {
	text-decoration: none;
}
body.gss-theme-storefront:not(.woocommerce-page):not(.home) .hentry .entry-content :is(p, li) > a:not(.button):not(.gss-btn) {
	text-decoration: underline;
	text-underline-offset: 3px;
}
