/* ==========================================================================
   GlowShop — layout refinements layered over style.css
   Fonts, WooCommerce compatibility fixes and small responsive tweaks.
   ========================================================================== */

/* Self-hosted Inter */
@import url("../fonts/inter.css");

/* --------------------------------------------------------------------------
   Reset Storefront chrome we no longer use
   -------------------------------------------------------------------------- */
.gs-header-wrapper ~ .storefront-breadcrumb,
.gs-front ~ .storefront-breadcrumb,
.storefront-breadcrumb,
.site-header,
.storefront-handheld-footer-bar,
.storefront-product-pagination,
.woocommerce-breadcrumb,
.storefront-sorting .woocommerce-ordering,
.storefront-sorting .woocommerce-result-count,
ul.products li.product .button,
ul.products li.product .added_to_cart,
.storefront-sorting::after,
.storefront-sorting::before {
	display: none !important;
}

.site-content {
	background: #fff;
}

/* Storefront's main wrappers can add padding we do not want */
#content .col-full,
.site-content > .col-full {
	max-width: none;
	padding: 0;
	margin: 0;
}

/* --------------------------------------------------------------------------
   Sticky header fix
   Storefront sets `overflow-x: hidden` on body/.site, which turns them into
   scroll containers. position: sticky then pins to that container instead of
   the viewport (never sticks, and the admin-bar offset renders as a 32px gap
   above the announcement bar). `clip` clips horizontal overflow without
   creating a scroll container, so sticky works relative to the viewport.
   -------------------------------------------------------------------------- */
body,
.site {
	overflow-x: clip;
	overflow-y: visible;
}

/* --------------------------------------------------------------------------
   Announcement + header sticky behaviour
   -------------------------------------------------------------------------- */
.admin-bar .gs-header-wrapper {
	top: 32px;
}

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

/* --------------------------------------------------------------------------
   Cart badge injected by WooCommerce fragments
   -------------------------------------------------------------------------- */
.gs-cart-link .woocommerce-Price-amount {
	font-size: 14px;
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   Product card variant swatches
   -------------------------------------------------------------------------- */
.gs-card-swatch + .gs-card-swatch {
	margin-left: 0;
}

/* --------------------------------------------------------------------------
   Single product: keep the Woo variations form tidy
   -------------------------------------------------------------------------- */
/* Storefront floats .summary — our layout uses CSS grid instead. */
.gs-single-top .gs-gallery,
.gs-single-top .gs-summary,
.gs-single-top div.summary,
.gs-single-top .entry-summary {
	float: none !important;
	width: auto !important;
	clear: none !important;
}

.gs-single-top .gs-gallery {
	order: 1;
}

.gs-single-top .gs-summary {
	order: 2;
	position: static;
}

.gs-summary .variations_form,
.gs-summary form.cart {
	margin-bottom: 0;
}

.gs-summary .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
}

.gs-summary .woocommerce-variation-add-to-cart .quantity {
	margin: 0;
}

.gs-summary .woocommerce-variation-availability {
	margin-bottom: 12px;
}

.gs-summary .woocommerce-variation-availability .stock {
	margin: 0;
}

.gs-summary table.variations .value {
	display: block;
}

.gs-summary .single_variation_wrap {
	margin-top: 4px;
}

/* --------------------------------------------------------------------------
   Tabs: panel headings inherit content styles
   -------------------------------------------------------------------------- */
.gs-tab-panel > h5:first-child,
.gs-tab-panel > h4:first-child,
.gs-tab-panel > h3:first-child {
	margin-top: 0;
}

.gs-tab-panel .markdown_content {
	max-width: 900px;
}

/* --------------------------------------------------------------------------
   Shop sidebar: keep price form compact
   -------------------------------------------------------------------------- */
.gs-price-form {
	margin: 0;
}

/* --------------------------------------------------------------------------
   Product grid: WooCommerce markup compatibility
   -------------------------------------------------------------------------- */
ul.gs-products-grid li.gs-card {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	clear: none !important;
}

ul.gs-products-grid::before,
ul.gs-products-grid::after {
	display: none !important;
	content: none !important;
}

/* --------------------------------------------------------------------------
   Loading state for AJAX buttons
   -------------------------------------------------------------------------- */
.gs-card-add.loading,
.single_add_to_cart_button.loading {
	opacity: .65;
	pointer-events: none;
}

/* --------------------------------------------------------------------------
   Small screens
   -------------------------------------------------------------------------- */
@media (max-width: 989px) {
	.gs-shop-sidebar.is-open {
		border: 1px solid var(--gs-border);
		border-radius: 6px;
		padding: 18px;
		background: #fff;
	}
}

@media (max-width: 599px) {
	.gs-summary .gs-product-title {
		font-size: 21px;
	}

	.gs-summary .price {
		font-size: 20px;
	}

	.gs-tab-nav {
		gap: 18px;
	}

	.gs-tab-nav button {
		font-size: 13px;
	}
}
