/* ==========================================================================
   Glove Shoppe Blocks — site styles that theme.json cannot express.
   Values measured from the Elementor build (kit 589, header 650, footer 655).
   ========================================================================== */

:root {
	--gs-gold: #c48d09;
	--gs-gold-dark: #c48e07;
	--gs-charcoal: #413b36;
	--gs-body: #484f56;
	--gs-line: #d2d2d2;
	--gs-light: #f7f8f9;
	--gs-mist: #bbced5;
	--gs-radius: 8px;
	--gs-focus: 2px solid #1a6fb5;
	--gs-i-pin: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'><path d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/><circle cx='12' cy='10' r='2.6'/></svg>");
	--gs-i-mail: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'><rect x='2.5' y='5' width='19' height='14' rx='1'/><path d='m3 6 9 7.5L21 6'/></svg>");
	--gs-i-phone: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4'><path d='M5.5 2.8h3.3l1.8 4.6-2.3 1.5a11.5 11.5 0 0 0 6.8 6.8l1.5-2.3 4.6 1.8v3.3a2 2 0 0 1-2 2A17.8 17.8 0 0 1 3.5 4.8a2 2 0 0 1 2-2z'/></svg>");
	--gs-i-cart: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'><path d='M2.5 4h2.3l2.4 10.3h10.4L20 7H6'/><circle cx='9' cy='19' r='1.5'/><circle cx='16.5' cy='19' r='1.5'/></svg>");
	--gs-i-message: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'><path d='M4 4h16v12H8l-4 4z'/><path d='M8 8.5h8M8 12h5'/></svg>");
	--gs-i-envelope: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><rect x='2.5' y='5' width='19' height='14' rx='1.5'/><path d='m3 6 9 7.5L21 6'/></svg>");
	--gs-i-check: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'><path d='m4 12.5 5 5L20 6.5'/></svg>");
	--gs-i-star: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='m12 2.5 2.9 6.2 6.8.7-5.1 4.6 1.5 6.7L12 17.3l-6.1 3.4 1.5-6.7L2.3 9.4l6.8-.7z'/></svg>");
}

/* ---------- base ---------- */
body { -webkit-font-smoothing: antialiased; }
.gs-visually-hidden,
.gs-visually-hidden.jetpack-field-label,
.wp-block-jetpack-label.gs-visually-hidden {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: var(--gs-focus); outline-offset: 2px; }
.wp-block-post-content p a:not(.wp-block-button__link), .wp-block-post-content .wp-block-list li a, .wp-block-post-content td a { text-decoration: underline; text-underline-offset: 2px; }
.wp-block-post-content :where(.gs-plain-links) a { text-decoration: none; }
img { height: auto; }

/* Icon helper: <p class="gs-ico gs-ico-pin">…</p> */
.gs-ico { display: flex; align-items: center; gap: 5px; }
.gs-ico::before { content: ""; flex: 0 0 auto; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--gs-icon) center / contain no-repeat; mask: var(--gs-icon) center / contain no-repeat; }
.gs-ico-pin { --gs-icon: var(--gs-i-pin); }
.gs-ico-mail { --gs-icon: var(--gs-i-mail); }
.gs-ico-phone { --gs-icon: var(--gs-i-phone); }
.gs-ico-check { --gs-icon: var(--gs-i-check); }

/* Buttons with leading icons */
.gs-btn-icon .wp-block-button__link,
.gs-btn-icon .wp-element-button { display: inline-flex; align-items: center; justify-content: center; gap: .55em; }
.gs-btn-icon .wp-block-button__link::before { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--gs-icon) center / contain no-repeat; mask: var(--gs-icon) center / contain no-repeat; }
.gs-btn-icon-cart { --gs-icon: var(--gs-i-cart); }
.gs-btn-icon-message { --gs-icon: var(--gs-i-message); }
.gs-btn-icon-mail { --gs-icon: var(--gs-i-envelope); }
.gs-btn-icon-back { --gs-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.090-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z'/></svg>"); }
.wp-element-button, .wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s; }

/* Shared form controls (Elementor kit: light fill, line border, 8px radius, mist focus border).
   The WooCommerce Blocks quantity input (mini-cart drawer) is excluded: its 16 px side padding widened the
   input from 40 to 72 px and pushed "+" over the Remove icon (QA-001). */
:where(.gs-newsletter-form, .gs-contact-form, .gs-login-dialog, .woocommerce, .gs-form) :where(input[type=text], input[type=email], input[type=password], input[type=tel], input[type=number]:not(.wc-block-components-quantity-selector__input), input[type=search], input[type=url], textarea, select) {
	background: var(--gs-light); border: 1px solid var(--gs-line); border-radius: var(--gs-radius); color: var(--gs-charcoal);
	font-family: inherit; font-size: var(--wp--preset--font-size--small); line-height: 1.6; padding: 8px 16px; box-shadow: none;
}
:where(.gs-newsletter-form, .gs-contact-form, .gs-login-dialog, .woocommerce, .gs-form) :where(input:not(.wc-block-components-quantity-selector__input), textarea, select):focus { border-color: var(--gs-mist); background: #fff; }
/* Drawer line: keep +, the number, - and Remove in their own boxes with a clear gap at every width. */
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity { gap: 8px; flex-wrap: nowrap; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { flex: 0 0 auto; overflow: hidden; }
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link { flex: 0 0 auto; position: relative; }

/* ==========================================================================
   Header (replaces Elementor header 650)
   ========================================================================== */
.gs-site-header { position: relative; z-index: 50; }
.gs-topbar { font-size: 14px; line-height: 1.6; }
@media (max-width: 1024px) { .gs-topbar { font-size: 13px; } }
@media (max-width: 767px) { .gs-topbar { font-size: 12px; } }
.gs-topbar .gs-ico::before { color: var(--gs-gold); width: 14px; height: 14px; }
.gs-topbar-address { color: var(--gs-body); }
.gs-topbar-contact { gap: 20px; }
.gs-topbar a { color: var(--gs-gold); }
.gs-topbar a:hover { color: var(--gs-charcoal); }

/* Elementor header 650: boxed 1260 px row with 10 px side gutters, split into three columns
   logo | nav | tools = 25|60|15 % (desktop), 70|10|20 % (tablet 768-1024), 55|15|30 % (phone). */
.gs-topbar.gs-topbar, .gs-mainbar.gs-mainbar { padding-left: 10px !important; padding-right: 10px !important; }
.gs-topbar > .gs-topbar-inner, .gs-mainbar > .gs-mainbar-inner { max-width: 1260px !important; }
.gs-mainbar-inner { min-height: 71px; gap: 0 !important; }
.gs-logo { margin: 0 !important; flex: 0 0 25%; min-width: 0; }
.gs-logo img { width: 300px !important; max-width: 100%; display: block; }

.gs-primary-nav { flex: 0 0 60%; min-width: 0; align-self: stretch; justify-content: center; }
.gs-primary-nav .wp-block-navigation__container { gap: 0 35px; align-self: stretch; }
.gs-primary-nav .wp-block-navigation-item { align-self: stretch; }
.gs-primary-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 25px 0; position: relative; color: var(--gs-charcoal);
}
.gs-primary-nav .wp-block-navigation-item__content:hover,
.gs-primary-nav .current-menu-item > .wp-block-navigation-item__content,
.gs-primary-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--gs-charcoal); text-decoration: none; }
@media (min-width: 1025px) {
	.gs-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--gs-gold); transform: scaleX(0); transition: transform .25s;
	}
	.gs-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
	.gs-primary-nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
	.gs-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current]::after { transform: scaleX(1); }
	/* 10 px chevron drawn as before, inside a 24 x 24 px hit area (7 px padding offset by negative margins, QA-009). */
	.gs-primary-nav .has-child .wp-block-navigation__submenu-icon { box-sizing: content-box; width: 10px; height: 10px; padding: 7px; margin: -7px -7px -7px 1px; }
	.gs-primary-nav .has-child .wp-block-navigation__submenu-icon svg { width: 10px; height: 10px; }
	.gs-primary-nav .has-child .wp-block-navigation__submenu-container {
		background: #fff; border: 0; min-width: 156px !important; padding: 0; box-shadow: 0 6px 18px rgba(0,0,0,.08); top: 100%;
	}
	.gs-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 13px 20px; white-space: nowrap; line-height: 20px; }
	.gs-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: #3f444b; color: #fff; }
}

.gs-header-tools { gap: 14px; flex: 0 0 15%; min-width: 0; justify-content: flex-end !important; }
.gs-header-tools > * { margin: 0 !important; }
/* each tool is a 35 px box like the Elementor icon widgets (21 px icon + 7 px padding) */
.gs-header-tools > .gs-header-search, .gs-header-tools > .gs-account { width: 35px; justify-content: center; display: flex; }
.gs-mini-cart .wc-block-mini-cart__button { width: 35px; height: 35px; justify-content: center; }
.gs-header-search .wp-block-search__button { background: none; border: 0; color: var(--gs-gold); padding: 0; margin: 0; min-width: 0; width: 24px; height: 24px; }
.gs-header-search .wp-block-search__button svg { width: 24px; height: 24px; fill: currentColor; }
.gs-header-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.gs-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { border: 1px solid var(--gs-line); border-radius: var(--gs-radius); padding: 6px 12px; font-size: 15px; }
.gs-header-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { position: absolute; right: 120px; width: 300px; background: #fff; z-index: 3; }
.gs-account-toggle { display: inline-flex; color: var(--gs-gold); line-height: 0; }
.gs-account-toggle:hover { color: var(--gs-charcoal); }
.gs-account-toggle .gs-icon-svg { width: 22px; height: 22px; }
/* 24 x 24 px hit areas around the 22 px account icon and WooCommerce's 22 px show-password eye; the icons do not move (QA-009). */
.gs-account-toggle { padding: 1px; margin: -1px; }
.woocommerce .password-input button.show-password-input { box-sizing: border-box; width: 24px; height: 24px; padding: 1px; margin: 0 -1px 0 0; } /* it is centred with translateY(-50%), so only the right edge needs offsetting */
.gs-mini-cart .wc-block-mini-cart__button { padding: 7px; color: var(--gs-gold); }
.gs-mini-cart .wc-block-mini-cart__icon { width: 24px; height: 24px; }
/* Count badge: always shown, "0" when empty, at the top-right of the cart icon like live (QA-008). */
.gs-mini-cart .wc-block-mini-cart__badge { background: #d9534f !important; color: #fff !important; font-size: 10px; min-width: 16px; height: 16px; border: 0; top: 1px; left: 25px; }

/* Mini-cart drawer (Elementor side cart: 350 px white panel, gold close, plain empty message) */
.wc-block-mini-cart__drawer.wc-block-components-drawer { width: 350px !important; max-width: 100vw; background: #fff; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content, .wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background: #fff; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { color: var(--gs-gold); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { width: 28px; height: 28px; fill: currentColor; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block { padding: 50px 20px 20px; }
.gs-mini-cart-empty { color: var(--gs-body); text-align: left; margin: 0; }

/* Tablet + mobile: hamburger (Elementor switched the nav to a dropdown at <=1024px) */
@media (max-width: 1024px) {
	.gs-primary-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; color: var(--gs-charcoal); }
	.gs-primary-nav .wp-block-navigation__responsive-container-open { padding: 7px; }
	.gs-primary-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
	.gs-primary-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.gs-primary-nav { flex: 0 0 10%; align-self: center; }
	.gs-mainbar-inner { min-height: 69px; }
	.gs-logo { flex-basis: 70%; }
	.gs-logo img { width: 333px !important; }
	.gs-header-tools { flex-basis: 20%; }
	/* open menu: full-width drop-down panel under the header, not a full-screen sheet */
	.gs-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed; inset: var(--gs-menu-top, 96px) 0 auto 0; max-height: calc(100vh - var(--gs-menu-top, 96px)); overflow-y: auto;
		padding: 0; box-shadow: 0 12px 24px rgba(0,0,0,.15); animation: none;
	}
	.gs-primary-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; align-items: stretch !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; align-items: stretch !important; width: 100%; }
	.gs-primary-nav .is-menu-open .wp-block-navigation-item { width: 100%; flex-direction: column; align-items: stretch !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation-item__content { padding: 10px 20px !important; letter-spacing: 1px; }
	.gs-primary-nav .is-menu-open .wp-block-navigation-item__content:hover { background: #484f56; color: #fff !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 0 20px !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__responsive-close { max-width: none; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__responsive-container-close { position: fixed; top: calc(var(--gs-menu-top, 96px) - 44px); right: auto; left: var(--gs-close-left, 50%); color: var(--gs-charcoal); z-index: 3; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
	.gs-primary-nav .wp-block-navigation__responsive-dialog { margin-top: 0 !important; }
	/* submenus collapse behind a chevron toggle, like the Elementor dropdown (core overlay always expands them) */
	.gs-primary-nav .is-menu-open .wp-block-navigation-item.has-child { display: grid !important; grid-template-columns: max-content 1fr; align-items: center; }
	.gs-primary-nav .is-menu-open .has-child > .wp-block-navigation-item__content { grid-column: 1; width: auto !important; padding-right: 6px !important; }
	.gs-primary-nav .is-menu-open .has-child > .wp-block-navigation-submenu__toggle {
		display: inline-flex !important; grid-column: 2; justify-self: stretch; align-self: stretch; align-items: center; justify-content: flex-start;
		width: auto; height: auto; margin: 0; padding: 0 0 0 4px; border: 0; background: none; color: var(--gs-charcoal); cursor: pointer;
	}
	.gs-primary-nav .is-menu-open .has-child > .wp-block-navigation-submenu__toggle svg { width: 10px; height: 10px; stroke: currentColor; transition: transform .2s; }
	.gs-primary-nav .is-menu-open .gs-sub-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
	.gs-primary-nav .is-menu-open .has-child > .wp-block-navigation__submenu-container { grid-column: 1 / -1; padding: 0 0 0 8px !important; }
	.gs-primary-nav .is-menu-open .has-child:not(.gs-sub-open) > .wp-block-navigation__submenu-container { display: none !important; }
	/* current page and the open parent are highlighted (Elementor dropdown active state) */
	.gs-primary-nav .is-menu-open .wp-block-navigation-item:is(.current-menu-item, .gs-sub-open) > :is(.wp-block-navigation-item__content, .wp-block-navigation-submenu__toggle) { background: #484f56 !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation-item:is(.current-menu-item, .gs-sub-open) > :is(.wp-block-navigation-item__content, .wp-block-navigation-submenu__toggle) { color: #fff !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__submenu-container { background: #fff !important; }
	.gs-primary-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--gs-charcoal); }
}
@media (max-width: 767px) {
	.gs-topbar-address { display: none !important; }
	.gs-topbar-inner { justify-content: center !important; }
	.gs-mainbar-inner { min-height: 55px; }
	.gs-logo { flex-basis: 55%; }
	.gs-logo img { width: calc(100% - 9px) !important; }
	.gs-primary-nav { flex-basis: 15%; }
	.gs-primary-nav .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; }
	.gs-header-tools { flex-basis: 30%; gap: 0; }
	.gs-header-search { display: none !important; } /* live hides the search icon on phones */
}

/* ---------- Account / login dialog (replaces Elementor popup 657) ---------- */
.gs-login-dialog {
	width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border: 3px solid var(--gs-gold); border-radius: 0;
	padding: 2em; background: #fff; color: var(--gs-body); box-shadow: 0 10px 40px rgba(0,0,0,.25);
}
.gs-login-dialog::backdrop { background: rgba(0, 0, 0, .6); }
.gs-dialog-close { position: absolute; top: 10px; right: 14px; border: 0; background: none; font-size: 34px; line-height: 1; color: var(--gs-charcoal); cursor: pointer; padding: 4px; }
.gs-login-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1em; padding: 21px 0; }
.gs-login-title { font-size: var(--wp--preset--font-size--h-4); font-weight: 500; line-height: 1.4; margin: 0; max-width: 60%; }
.gs-login-create { font-family: "EB Garamond", sans-serif; font-style: italic; color: var(--gs-gold); text-align: right; font-size: 18px; max-width: 40%; }
.gs-login-dialog form p { margin: 0 0 20px; }
.gs-login-dialog label { display: block; font-size: 14px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--gs-charcoal); margin-bottom: 8px; }
.gs-login-dialog .login-remember label { display: inline-flex; gap: 6px; align-items: center; }
.gs-login-dialog input[type=text], .gs-login-dialog input[type=password] { width: 100%; height: 45px; }
.gs-login-dialog .login-submit input, .gs-login-dialog .login-submit button { width: 100%; background: var(--gs-gold); color: #fff; border: 0; border-radius: var(--gs-radius); padding: 12px 24px; font: inherit; font-size: 15px; line-height: 1; cursor: pointer; }
.gs-login-dialog .login-submit input:hover { background: var(--gs-charcoal); }
.gs-login-links { font-size: 15px; margin: 0; }
/* Site Kit "Sign in with Google" button, above the username field (empty until Google renders it) */
.gs-login-dialog .googlesitekit-sign-in-with-google__frontend-output-button { margin: 0 auto 20px; max-width: 320px; display: flex; justify-content: center; }
.gs-login-dialog .googlesitekit-sign-in-with-google__frontend-output-button:empty { display: none; }
@media (max-width: 600px) { .gs-login-dialog { padding: 28px 21px; } }
.gs-login-dialog, .gs-login-dialog *, .gs-login-dialog *::before, .gs-login-dialog *::after { box-sizing: border-box; }
/* phones: Elementor popup stacked the title and "Create an account", centred */
@media (max-width: 767px) {
	.gs-login-dialog { width: 100vw; max-width: none; padding-left: calc(5vw + 18.5px) !important; padding-right: calc(5vw + 18.5px) !important; } /* live popup is full width, field inset 37.5 px at 320 and 41 px at 390 */
	.gs-login-head { flex-direction: column; align-items: center; gap: 6px; text-align: center; padding-top: 14px; }
	.gs-login-title, .gs-login-create { max-width: none; text-align: center; }
}

/* ==========================================================================
   Footer (replaces Elementor footer 655)
   ========================================================================== */
.gs-site-footer { margin-top: 0; }
.gs-footer-cta { overflow: visible; }
.gs-footer-cta h3 { margin: 0 0 20px; font-size: var(--wp--preset--font-size--h-3); }
.gs-footer-cta-image { margin-top: -4em !important; margin-bottom: 0; }
.gs-footer-cta-image img { width: 320px; max-width: 100%; }
.gs-footer-main h3 { margin: 0 0 20px; }
.gs-footer-main h5 { margin: 0 0 20px; }
.gs-footer-newsletter-intro { line-height: 1.5; margin-bottom: 20px !important; font-weight: 500; }
.gs-footer-links, .gs-footer-contact { list-style: none; padding: 0 !important; margin: 0; }
.gs-footer-links li { padding: 3px 0 3px 4px; line-height: 1.6; }
.gs-footer-links a, .gs-footer-contact a, .gs-footer-contact li { color: #fff; }
.gs-footer-links a:hover, .gs-footer-contact a:hover { color: var(--gs-gold); }
.gs-footer-contact li { margin-bottom: 7px; gap: 10px; }
.gs-footer-contact li::before { color: var(--gs-gold); width: 18px; height: 18px; }
.gs-footer-social { margin-top: 18px !important; }
.gs-footer-social .wp-social-link { background: rgba(255, 255, 255, .17) !important; border-radius: 0 !important; }
.gs-footer-social .wp-social-link a { padding: 9px !important; }
.gs-footer-social .wp-social-link svg { width: 18px; height: 18px; }
.gs-footer-bottom { font-size: 14px; }
.gs-footer-bottom-inner { padding: 0 10px; }
.gs-footer-legal { gap: 12px; align-items: flex-end !important; }
.gs-payment-icons { margin: 0 !important; }
.gs-legal-links a { color: #fff; margin-left: 24px; }
.gs-legal-links a:hover { color: var(--gs-gold); }

/* Newsletter form (Jetpack Forms) */
.gs-newsletter-form { gap: 10px !important; }
.gs-newsletter-form .grunion-field-wrap, .gs-newsletter-form .wp-block-jetpack-field-email { margin: 0 !important; width: 100%; }
.gs-newsletter-form input[type=email] { width: 100%; height: 44px; }
.gs-newsletter-form .wp-block-button__link { width: 100%; height: 40px; padding: 0 24px; }
.gs-newsletter-form .contact-form__error, .gs-newsletter-form .contact-form-submission { color: #fff; }
.gs-site-footer .contact-form-submission, .gs-site-footer .contact-form-submission * { color: #fff; }

@media (max-width: 1024px) {
	.gs-footer-cols { flex-wrap: wrap !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column.gs-footer-newsletter { flex-basis: 100% !important; padding: 1em 10% 3em !important; text-align: center; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { flex-basis: 50% !important; flex-grow: 1 !important; padding-left: 1em !important; }
	.wp-block-columns.gs-footer-cta-cols { flex-wrap: nowrap !important; }
	.wp-block-columns.gs-footer-cta-cols > .wp-block-column.gs-footer-cta-text { flex-basis: 60% !important; }
	.wp-block-columns.gs-footer-cta-cols > .wp-block-column.gs-footer-cta-media { flex-basis: 40% !important; }
	.gs-footer-cta-image { margin-top: -3em !important; }
}
@media (max-width: 767px) {
	.wp-block-columns.gs-footer-cta-cols { flex-direction: column; }
	.wp-block-columns.gs-footer-cta-cols > .wp-block-column { flex-basis: auto !important; }
	.gs-footer-cta-text { padding: 21px !important; text-align: center; }
	.gs-footer-cta-buttons { justify-content: center; }
	.gs-footer-cta-image { margin-top: 0 !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column.gs-footer-newsletter { padding: 1em !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { flex-basis: 100% !important; }
	.gs-footer-bottom-inner { flex-direction: column; align-items: stretch !important; }
	.gs-footer-legal { align-items: flex-end !important; }
	.gs-legal-links a { margin: 0 0 0 24px; }
}

/* Elementor used fixed-width containers spread with space-between */
.gs-footer-cols, .gs-footer-cta-cols { justify-content: space-between; }
.gs-footer-cols > .wp-block-column, .gs-footer-cta-cols > .wp-block-column { flex-grow: 0 !important; }

/* No gaps between header / main / footer (block gap would show the page background) */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.gs-footer-cols > .wp-block-column, .gs-footer-cta-cols > .wp-block-column { box-sizing: border-box; }
.gs-newsletter-form .wp-block-button__link { padding-top: 0 !important; padding-bottom: 0 !important; height: 40px; }
.gs-newsletter-form .wp-block-button { width: 100%; }
.gs-login-dialog input[type=text], .gs-login-dialog input[type=password] { height: 45px !important; margin: 0; }
.gs-primary-nav:has(.is-menu-open) .wp-block-navigation__responsive-container-open { visibility: hidden; }
.gs-header-search, .gs-header-search .wp-block-search__inside-wrapper { display: flex; align-items: center; margin: 0; }
.gs-header-search .wp-block-search__button { display: flex; align-items: center; justify-content: center; }
.gs-header-search .wp-block-search__button svg { width: 28px; height: 28px; }

/* ==========================================================================
   Shared sections: page hero, support cards, quick help
   ========================================================================== */
.gs-page-hero { overflow: hidden; }
.gs-hero-watermark {
	font-size: 200px !important; font-weight: 600; line-height: 1; letter-spacing: -2px; text-transform: capitalize;
	color: rgba(255, 255, 255, .17) !important; white-space: nowrap; user-select: none; pointer-events: none;
}
.gs-page-hero-title { position: relative; z-index: 1; color: #fff; line-height: 1; letter-spacing: -2px; }
/* Page heroes (Elementor page headers): fixed vertical padding, no min-height, so the hero is 313 / 227 / 131 px tall
   with a one-line title (desktop / tablet / phone) like live. The faded watermark is absolutely centred behind the
   title and never sets the height or clips the title; on phones it wraps. A subtitle (contact) flows under the title. */
.gs-page-hero.gs-page-hero { min-height: 0 !important; padding-top: 126px !important; padding-bottom: 126px !important; }
.gs-page-hero .wp-block-cover__inner-container { position: relative; display: flex; flex-direction: column; align-items: center; }
.gs-page-hero .wp-block-cover__inner-container > * { margin: 0 !important; max-width: 100%; }
.gs-page-hero .gs-hero-watermark { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 0; }
.gs-page-hero .gs-page-hero-title { overflow-wrap: break-word; }
.gs-page-hero .gs-page-hero-sub { position: relative; z-index: 1; font-size: var(--wp--preset--font-size--h-4) !important; line-height: 1.4; margin-top: 20px !important; }
@media (max-width: 1024px) {
	.gs-page-hero.gs-page-hero { padding-top: 85px !important; padding-bottom: 85px !important; }
	.gs-hero-watermark { font-size: 150px !important; }
}
@media (max-width: 767px) {
	.gs-page-hero.gs-page-hero { padding-top: 46px !important; padding-bottom: 46px !important; }
	.gs-hero-watermark { font-size: 80px !important; white-space: normal; width: 100%; text-align: center; line-height: .95 !important; }
	.gs-page-hero .gs-page-hero-sub { margin-top: 6px !important; }
}

.gs-support-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.gs-support-card { text-align: center; gap: 0 !important; }
.gs-support-card .gs-card-title { margin: 14px 0 7px !important; font-size: var(--wp--preset--font-size--h-4); font-weight: 500; }
.gs-support-card .gs-card-title a { color: var(--gs-charcoal); }
.gs-support-card .gs-card-text { margin-bottom: 20px !important; }
.gs-card-icon { width: 35px; height: 35px; margin: 0 auto !important; background: var(--gs-gold-dark); -webkit-mask: var(--gs-icon) center / contain no-repeat; mask: var(--gs-icon) center / contain no-repeat; }
.gs-card-icon-book { --gs-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.3'><path d='M16 7.5C13 5.5 8 5 3 5.5v19c5-.5 10 0 13 2 3-2 8-2.5 13-2v-19c-5-.5-10 0-13 2zM16 7.5v19'/></svg>"); }
.gs-card-icon-support { --gs-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.3'><path d='M6 18v-3a10 10 0 0 1 20 0v3'/><rect x='4' y='17' width='5' height='8' rx='1.5'/><rect x='23' y='17' width='5' height='8' rx='1.5'/><path d='M25.5 25c0 2.5-3 3.5-7 3.5'/><rect x='14' y='27' width='5' height='3' rx='1'/></svg>"); }
.gs-card-icon-people { --gs-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.3'><circle cx='16' cy='10' r='4.5'/><path d='M7 27c0-5 4-8.5 9-8.5s9 3.5 9 8.5'/><circle cx='6.5' cy='12' r='3'/><path d='M1.5 24c0-3.5 2.2-6 5.5-6'/><circle cx='25.5' cy='12' r='3'/><path d='M30.5 24c0-3.5-2.2-6-5.5-6'/></svg>"); }
.gs-btn-small .wp-block-button__link { font-size: 13px; padding: 10px 20px; }
.gs-cards-overlap .gs-support-cards-overlap { margin-top: -7em !important; position: relative; z-index: 2; }
.gs-quick-help h6 { margin-bottom: 0; }
.gs-quick-help .gs-quick-help-title { font-weight: 600; line-height: 1.1; color: #fff; }
.gs-quick-help .wp-block-cover__inner-container > * + * { margin-block-start: 14px; }
@media (max-width: 1024px) {
	.gs-support-cards { gap: 10px !important; }
	.gs-support-card { padding: 35px 21px !important; }
}
@media (max-width: 767px) {
	.gs-support-cards { grid-template-columns: 1fr !important; gap: 21px !important; }
	.gs-cards-overlap .gs-support-cards-overlap { margin-top: -5em !important; }
	.gs-quick-help { padding-top: 1em !important; padding-bottom: 7em !important; }
}

/* ==========================================================================
   WooCommerce: product cards
   ========================================================================== */
.gs-collection .wc-block-product-template { gap: 40px 20px !important; }
.gs-product-cards .wc-block-components-product-image img { background: #fff; aspect-ratio: 1; object-fit: contain; }
.gs-product-cards .wp-block-post-title { margin: 0; }
/* classic WooCommerce loop look (shop + archives under Hello) */
.gs-product-cards-classic { text-align: left; }
.gs-product-cards-classic .gs-product-card-title { font-size: 18px !important; font-weight: 700; line-height: 1.2; padding: 1.2em 0 .5em; }
.gs-product-cards-classic .gs-product-card-title a { color: var(--gs-charcoal); }
.gs-product-cards-classic .gs-product-card-price { color: #958e09; font-size: 15px !important; margin: auto 0 .6em; text-align: left; }
.gs-product-cards-classic .wc-block-components-product-button { align-items: stretch; margin-top: 0; }
.gs-product-cards-classic .wc-block-components-product-button__button,
.gs-product-cards-classic .wp-block-button__link {
	background: #e9e6ed !important; color: #515151 !important; font-weight: 700; font-size: 18px !important; border-radius: 3px; padding: .618em 1em; text-align: left; justify-content: flex-start; width: 100%;
}
.gs-product-cards-classic .wc-block-components-product-button__button:hover { background: #dcd7e2 !important; }
.gs-product-cards-classic > li { display: flex; flex-direction: column; }
/* Elementor product widget look (home, product "Latest Product", contact) */
.gs-product-cards-std { text-align: center; }
.gs-product-cards-std .gs-product-card-title { font-size: 20px !important; font-weight: 400; line-height: 1.5; padding: 1em 0 .4em; }
.gs-product-cards-std .gs-product-card-title a { color: var(--gs-charcoal); }
.gs-product-cards-std .gs-product-card-price { color: var(--gs-gold); font-size: 16px !important; margin-bottom: 1em; }
.gs-product-cards-std .wc-block-components-product-button__button,
.gs-product-cards-std .wp-block-button__link { background: var(--gs-gold) !important; color: #fff !important; border-radius: 0; font-size: 16px !important; padding: 6px 10px; min-height: 0; }
.gs-product-cards-std .wc-block-components-product-button__button:hover { background: var(--gs-charcoal) !important; }
.gs-product-cards-fullbtn .wc-block-components-product-button__button { width: 100%; border-radius: 0; padding: 10px; }
.gs-product-cards .wc-block-components-product-sale-badge { background: var(--gs-gold); color: #fff; border: 0; border-radius: 50%; }

.gs-pagination { margin-top: 2em !important; gap: 0 !important; }
.gs-pagination .page-numbers, .gs-pagination .wp-block-query-pagination-next, .gs-pagination .wp-block-query-pagination-previous {
	border: 1px solid #cfc8d8; padding: .5em; min-width: 1em; line-height: 1; font-size: 16px; color: var(--gs-gold); margin: 0 -1px 0 0 !important; display: inline-block; text-align: center;
}
.gs-pagination .page-numbers.current { background: #e9e6ed; color: #8a7e88; }
.gs-pagination .wp-block-query-pagination-numbers { display: flex; }

/* Shop layout */
.gs-shop-heading { margin-bottom: 1em !important; }
.gs-shop-cols { justify-content: space-between; }
.gs-shop-sidebar { padding-left: 45px; }
.gs-shop-sidebar .wp-block-shortcode, .gs-shop-sidebar > p { font-size: 18px; }
.gs-shop-toolbar { margin-bottom: 1.5em !important; }
.gs-shop-toolbar .woocommerce-result-count, .gs-shop-toolbar .wc-block-product-results-count { margin: 0; }
.gs-shop-toolbar select { border: 1px solid var(--gs-charcoal); border-radius: 3px; padding: 6px 12px; font: inherit; font-size: 16px; background: #fff; min-width: 230px; }
.gs-product-search { margin-bottom: 1em; }
.gs-product-search .wp-block-search__inside-wrapper { border: 1px solid var(--gs-line); border-radius: var(--gs-radius); background: #fff; padding: 2px; }
.gs-product-search .wp-block-search__input { border: 0; font-size: 15px; background: transparent; }
/* Visible keyboard focus like the site's other fields (QA-006): blue focus ring on the field, mist border on the box. */
.gs-product-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--gs-mist); }
.gs-product-search .wp-block-search__inside-wrapper .wp-block-search__input:focus-visible { outline: var(--gs-focus); outline-offset: 0; }
.gs-product-search .wp-block-search__button { background: var(--gs-gold); padding: 6px 10px; margin: 0; }
.gs-product-search .wp-block-search__button svg { fill: #fff; }
@media (min-width: 768px) { .gs-shop-body .woof_autohide_wrapper { display: none !important; } }
@media (max-width: 767px) {
	.gs-shop-sidebar { display: none !important; } /* live hides the shop sidebar (search + filters) on phones; HUSKY's Filter toggle above the grid replaces it */
	.gs-shop-heading { text-align: center; }
}
.gs-archive-title { margin-top: .2em !important; margin-bottom: .3em !important; }
.gs-breadcrumbs { color: #767676; }

/* ==========================================================================
   Single product (replaces Elementor template 674)
   ========================================================================== */
.gs-product-cols { justify-content: space-between; }
.gs-product-gallery-col .woocommerce-product-gallery { margin: 0; }
.gs-product-gallery-col .woocommerce-product-gallery__image img { background: #fff; }
.gs-product-title { font-weight: 500 !important; line-height: 1.3; margin-bottom: 10px !important; }
.gs-product-price, .gs-product-price .wc-block-components-product-price { color: var(--gs-gold) !important; font-size: 25px !important; }
.gs-product-short-description { margin: 1em 0 !important; }
.gs-add-to-cart table.variations { border: 0; margin-bottom: 1em; }
.gs-add-to-cart table.variations th, .gs-add-to-cart table.variations td { background: none; border: 0; padding: 8px 10px; vertical-align: middle; }
.gs-add-to-cart table.variations th label { font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--gs-charcoal); }
.gs-add-to-cart select { width: 100%; padding: 6px 10px; border: 1px solid var(--gs-line); border-radius: 3px; font: inherit; font-size: 15px; background: #fff; }
.gs-add-to-cart .reset_variations { font-size: 13px; color: var(--gs-gold); }
.gs-add-to-cart .quantity input.qty { width: 3.25em; padding: 8px; border: 1px solid var(--gs-line); border-radius: 3px; text-align: center; }
.gs-add-to-cart .single_add_to_cart_button { background: var(--gs-gold) !important; color: #fff !important; border: 0; border-radius: 0; text-transform: uppercase; letter-spacing: 1px; font-size: 12px; padding: 12px 20px; }
.gs-add-to-cart .single_add_to_cart_button:hover { background: var(--gs-charcoal) !important; }
.gs-add-to-cart .single_add_to_cart_button.disabled { opacity: .5; }
.gs-product-meta { font-size: 14px; border-top: 1px solid var(--gs-line); padding-top: 1em; margin-top: 1em; }
.gs-product-meta .wp-block-post-terms__prefix, .gs-product-meta .wc-block-components-product-sku strong { color: var(--gs-charcoal); font-weight: 500; }
.gs-share-row { gap: 10px !important; align-items: center; }
.gs-share-title { margin: 0 !important; font-size: 16px !important; }
.gs-share .wp-social-link { border-radius: 0 !important; }
.gs-product-details .wc-tabs { border-bottom: 1px solid var(--gs-line); }
.gs-product-details .wc-tabs li a { font-size: 14px; color: var(--gs-charcoal); }
.gs-product-details .wc-tabs li.active a { color: var(--gs-gold); }
.gs-product-details .woocommerce-Tabs-panel { background: #fff; padding: 2em; }
.gs-latest-title { margin-bottom: 0 !important; }
@media (max-width: 767px) {
	.gs-product-summary-col { padding: 1em !important; }
}

/* ==========================================================================
   Cart / checkout / account shells
   ========================================================================== */
.gs-woo-card { box-shadow: none; }
.gs-woo-card .woocommerce-info, .gs-woo-card .woocommerce-message, .gs-woo-card .woocommerce-error,
.gs-woo-card .wc-block-components-notice-banner { border-top-color: #1e85be; background: #f6f5f8; }
.gs-woo-card .button, .gs-woo-card button.button, .gs-woo-card input.button, .gs-woo-card a.button {
	background: var(--gs-gold); color: #fff; border: 0; border-radius: var(--gs-radius); padding: 12px 24px; font: inherit; font-size: 15px; line-height: 1; cursor: pointer;
}
.gs-woo-card .button:hover { background: var(--gs-charcoal); color: #fff; }
.gs-woo-card .return-to-shop .button { background: #e9e6ed; color: #515151; font-weight: 700; border-radius: 3px; font-size: 15px; }
.gs-woo-card h2 { font-size: var(--wp--preset--font-size--h-4); font-weight: 500; }
.gs-woo-card label { font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--gs-charcoal); }
.gs-woo-card .woocommerce-form-login .button { margin-top: .5em; }
.gs-woo-card table.shop_table { border-radius: 0; background: #fff; }
.gs-cards-band .gs-support-cards { margin-top: 0; }
@media (max-width: 767px) { .gs-woo-card { padding: 1.5em !important; } }

/* 404 */
.gs-woo-card .woocommerce form.login, .gs-woo-card .woocommerce form.register { border: 0; padding: 0; margin: 1em 0; }
.gs-woo-card .woocommerce form .form-row .input-text, .gs-woo-card .woocommerce form .form-row select, .gs-woo-card .woocommerce-checkout .input-text,
.gs-woo-card .select2-container .select2-selection--single {
	background: var(--gs-light); border: 1px solid var(--gs-line); border-radius: var(--gs-radius); color: var(--gs-charcoal); padding: 8px 16px; font-size: 16px; line-height: 1.6;
}
.gs-woo-card .select2-container .select2-selection--single { height: auto; padding: 6px 10px; }
.gs-woo-card .woocommerce form .form-row .input-text:focus { border-color: var(--gs-mist); background: #fff; }

/* ==========================================================================
   Page bodies (Step 3)
   ========================================================================== */
/* Home hero: Cover + slideshow layer (JS) — gallery is the editable slide list, hidden on the front end */
.gs-home-hero { overflow: hidden; }
.gs-hero-slides { display: none !important; }
.editor-styles-wrapper .gs-hero-slides { display: flex !important; opacity: .85; margin-top: 1em; }
.gs-slides { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.gs-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .5s ease-in-out; }
.gs-slide.is-active { opacity: 1; animation: gs-kenburns 20s linear both; }
.is-paused .gs-slide.is-active { animation-play-state: paused; }
@keyframes gs-kenburns { from { transform: scale(1); } to { transform: scale(1.3); } }
.gs-slideshow-ready > .wp-block-cover__image-background { opacity: 0; }
.wp-block-cover.is-style-gs-slideshow > .wp-block-cover__background { z-index: 1; }
.wp-block-cover.is-style-gs-slideshow > .wp-block-cover__inner-container { z-index: 2; }
.gs-slideshow-toggle { position: absolute; right: 12px; bottom: 12px; z-index: 3; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: rgba(0,0,0,.25); cursor: pointer; padding: 0; }
.gs-slideshow-toggle::before { content: ""; display: block; margin: auto; width: 8px; height: 10px; border-left: 3px solid #fff; border-right: 3px solid #fff; box-sizing: border-box; }
.gs-slideshow-toggle[aria-pressed="true"]::before { width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #fff; margin-left: 10px; }
@media (prefers-reduced-motion: reduce) { .gs-slide { transition: none; } .gs-slide.is-active { animation: none; } }
.gs-home-hero-title { letter-spacing: -2px; line-height: 1 !important; text-transform: capitalize; margin-bottom: 0 !important; }
.gs-home-hero-sub { margin-top: 20px !important; font-weight: 500; }
.gs-btn-hero .wp-block-button__link { border: 1px solid #fff; border-radius: 3px; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; font-weight: 500; padding: 15px 24px; gap: 14px; }
.gs-btn-hero .wp-block-button__link:hover { background: var(--gs-gold-bright); }
@media (max-width: 767px) { .gs-home-hero-sub { font-size: 12px !important; } .gs-home-hero-title { font-size: 32px !important; } }

/* Best sellers / featured */
.gs-best-sellers h2 { margin-top: 0 !important; }
.gs-product-cards-fullbtn .wc-block-components-product-button { width: 100%; }
.gs-product-cards-fullbtn .wc-block-components-product-button__button { width: 100% !important; font-size: 15px !important; }
.gs-collection-boxed .wc-block-product { border: 1px solid #6d6d6d; padding: 21px 14px; background: transparent; }

/* About */
.gs-about-eyebrow { font-family: "EB Garamond", sans-serif; font-style: italic; color: var(--gs-gold) !important; font-size: 30px !important; font-weight: 600 !important; margin-bottom: 14px !important; }
.gs-framed-image { background: url("/wp-content/uploads/2025/05/sq_img_1.png") top left / 150px auto no-repeat; padding: 2em 1em 1em 2em; margin: 0 !important; }
.gs-framed-image img { width: 100%; height: 640px; object-fit: cover; }
.gs-framed-right { background-position: top right; padding: 2em 2em 1em 1em; }
.gs-about-text > * + * { margin-top: 20px !important; }
.gs-ibox-icon { flex: 0 0 auto; width: 60px; height: 60px; border-radius: 8px; background: var(--gs-gold-dark) var(--gs-ibox-svg, none) center / 28px no-repeat; margin: 0 !important; }
.gs-ibox-title { margin: 0 !important; font-weight: 500; color: var(--gs-charcoal); }
.gs-ibox-text { margin: 0 !important; }
.gs-ibox-review { --gs-ibox-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4'><circle cx='12' cy='7' r='3'/><path d='M6 20c0-3.5 2.7-6 6-6s6 2.5 6 6M3 11l1.5 1.5L7 10M17 10l2.5 2.5L22 10'/></svg>"); }
.gs-ibox-shield, .gs-ibox-shield-alt { --gs-ibox-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M12 2 4 5v6c0 5.5 3.4 10 8 11 4.6-1 8-5.5 8-11V5zm0 2.2v15.6c-3.5-1-6-4.6-6-8.8V6.4z'/></svg>"); }
.gs-ibox-hands, .gs-ibox-hands-wash { --gs-ibox-svg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><circle cx='17' cy='4' r='2'/><circle cx='20.5' cy='8' r='1.5'/><path d='M4 21v-7l4-6 1.5 1-2 4h4l5-5 1.4 1.4-3.6 3.6H18l1 1.5-3.5 3.5H18v2H9.5z'/></svg>"); }
.gs-ibox-stack { text-align: left; }
.gs-ibox-stack .gs-ibox-icon { --gs-ibox-svg: none; background: none; width: 0; height: 0; }
@media (max-width: 1024px) { .gs-framed-image img { height: 720px; } }
@media (max-width: 767px) { .gs-framed-image { background-size: 70px auto; padding: 1em 0 1em 1em; } .gs-framed-image img { height: 300px; } .gs-about-text { padding: 1em !important; } }

/* Reviews carousel */
.gs-reviews-section h6 { margin-bottom: 0 !important; }
.gs-reviews-title { margin-top: 0 !important; margin-bottom: 1em !important; }
.gs-reviews { position: relative; padding: 0 30px; }
.gs-carousel-track { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; align-items: stretch !important; }
.gs-carousel-track::-webkit-scrollbar { display: none; }
.gs-carousel-track > * { flex: 0 0 calc((100% - 40px) / 3) !important; scroll-snap-align: start; min-width: 0; }
@media (max-width: 1024px) { .gs-carousel-track > * { flex-basis: calc((100% - 20px) / 2) !important; } }
@media (max-width: 767px) { .gs-carousel-track > * { flex-basis: 100% !important; } .gs-reviews { padding: 0 24px; } }
.gs-carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 26px; height: 40px; border: 0; background: none; cursor: pointer; color: var(--gs-gold); padding: 0; }
.gs-carousel-arrow::before { content: ""; display: block; width: 12px; height: 12px; border: solid currentColor; border-width: 0 0 2px 2px; margin: auto; transform: rotate(45deg); }
.gs-carousel-next::before { transform: rotate(-135deg); }
.gs-carousel-prev { left: 0; } .gs-carousel-next { right: 0; }
.gs-review { padding: 1em 1em 1.5em; min-height: 440px; }
.gs-review-head { width: 100%; padding-bottom: 10px; border-bottom: 1px solid #e6e6e6; }
.gs-review-avatar { flex: 0 0 50px; margin: 0 !important; }
.gs-review-avatar img { width: 50px !important; height: 50px; object-fit: contain; }
.gs-review-name { font-size: 20px; line-height: 1.2; color: var(--gs-charcoal); }
.gs-stars { font-size: 0 !important; line-height: 1; }
.gs-stars::before { content: "★★★★★"; font-size: 12px; letter-spacing: 1px; color: #e0e0e0; background: linear-gradient(90deg, var(--gs-gold-bright) var(--gs-fill, 100%), #d6d6d6 var(--gs-fill, 100%)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gs-stars-4 { --gs-fill: 80%; } .gs-stars-3 { --gs-fill: 60%; } .gs-stars-2 { --gs-fill: 40%; } .gs-stars-1 { --gs-fill: 20%; }
.gs-review-product { font-size: 14px; font-style: italic; line-height: 1.4; }
.gs-review-product a { color: var(--gs-gold); text-decoration: underline; }
.gs-review-text { font-size: 14px; line-height: 1.6; padding-top: 10px; color: var(--gs-body); }

/* Brands */
.gs-brands h3 { font-weight: 400; }
.gs-brand-logo { background: #fff; padding: 21px; margin: 0 !important; display: flex; justify-content: center; }
.gs-brand-logo img { height: 42px; width: 100%; object-fit: contain; filter: brightness(125%) saturate(0); transition: filter 1s; }
.gs-brand-logo:hover img { filter: none; }
@media (max-width: 1024px) { .gs-brand-logo { padding: 1em; } .gs-brand-logo img { height: 35px; } }
@media (max-width: 767px) { .gs-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .gs-brand-logo { padding: 10px; } .gs-brand-logo img { height: 28px; } }

/* Page hero subtitle (contact) */

/* Contact */
.gs-contact-title { margin-top: 0 !important; }
.gs-contact-info > * + * { margin-top: 20px !important; }
.gs-contact-boxes { border-top: 1px solid var(--gs-line); border-bottom: 1px solid var(--gs-line); padding: 1em 0; }
.gs-contact-boxes h3 { margin: 0 0 6px; font-weight: 400; }
.gs-social .wp-social-link { border-radius: 0 !important; }
.gs-contact-media { position: relative; }
.gs-contact-media .gs-blockquote { position: absolute; left: 1em; bottom: 0; width: 50%; background: #fff; border: 0 !important; padding: 2em 3em !important; margin: 0; text-align: center; font-size: 18px; color: var(--gs-charcoal); }
.gs-contact-media .gs-framed-image img { height: 600px; }
.gs-map-wrap { line-height: 0; margin-top: 0 !important; }
.gs-map-wrap iframe { width: 100%; height: 500px; display: block; }
.gs-contact-form-sec .gs-contact-card { margin-top: -6em !important; position: relative; box-shadow: 0 10px 40px rgba(0,0,0,.08); max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.gs-contact-form { gap: 10px !important; }
.gs-contact-form label, .gs-contact-form .wp-block-jetpack-label { font-size: 14px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; color: var(--gs-charcoal); }
.gs-contact-form input, .gs-contact-form textarea { width: 100%; }
.gs-contact-form textarea { min-height: 115px; }
.gs-contact-form .wp-block-button, .gs-contact-submit { width: 100%; }
.gs-contact-form .wp-block-button__link { width: 100%; padding: 16px; }
@media (max-width: 767px) { .gs-contact-media .gs-blockquote { position: static; width: auto; } .gs-contact-media .gs-framed-image img { height: 350px; } .gs-map-wrap iframe { height: 350px; } .gs-contact-form-sec .gs-contact-card { margin-top: 0 !important; padding: 2em 1.5em !important; } }

/* Generic converted sections */
.gs-sec .gs-cols { gap: 20px; }
.gs-imagebox { text-align: center; }
.gs-imagebox-img img { width: 100%; height: auto; }
.gs-imagebox-title { margin-top: 10px !important; font-weight: 400; }
.gs-imagebox-title a { color: var(--gs-charcoal); }
.gs-heading-div { font-size: 18px; }
.gs-accordion { display: flex; flex-direction: column; gap: 10px; }
.gs-accordion-item { background: #fff; border: 1px solid #e6e6e6; }
.gs-accordion-item summary { padding: 18px 24px; font-size: 18px; font-weight: 500; color: var(--gs-charcoal); cursor: pointer; list-style: none; position: relative; padding-right: 48px; }
.gs-accordion-item summary::-webkit-details-marker { display: none; }
.gs-accordion-item summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--gs-gold); }
.gs-accordion-item[open] summary::after { content: "–"; }
.gs-accordion-item[open] summary { color: var(--gs-gold); }
.gs-accordion-item > :not(summary) { padding: 0 24px 18px; margin: 0; }
/* Tabs (Terms & Conditions) */
.gs-tablist { display: flex; gap: 0; border-bottom: 1px solid var(--gs-line); margin-bottom: 1.5em; flex-wrap: wrap; }
.gs-tab { background: none; border: 1px solid transparent; border-bottom: 0; padding: 14px 28px; font: inherit; font-size: 16px; color: var(--gs-charcoal); cursor: pointer; margin-bottom: -1px; }
.gs-tab[aria-selected="true"] { border-color: var(--gs-line); background: var(--wp--preset--color--base); color: var(--gs-gold); }
.gs-tabpanel > * + * { margin-top: 1em; }
.gs-tabs:not(.gs-tabs-ready) > details > summary { font-weight: 600; cursor: pointer; }

/* Blog */
.gs-blog-cols { gap: 40px !important; }
.gs-post-cards { gap: 30px !important; }
.gs-post-card { height: 100%; }
.gs-post-card-image { margin: 0 !important; }
.gs-post-card-body > * + * { margin-top: 10px !important; }
.gs-post-card-title { margin: 0 !important; }
.gs-post-card-title a { color: var(--gs-charcoal); }
.gs-post-card-cat a { color: var(--gs-gold); text-transform: uppercase; letter-spacing: 1px; }
.gs-post-card-date { color: #888; }
.gs-latest-item { gap: 14px !important; margin-bottom: 14px; }
.gs-latest-title { margin: 0 !important; line-height: 1.4; }
.gs-latest-title a { color: var(--gs-charcoal); }
.gs-latest-list .wp-block-post-template { list-style: none; padding: 0; margin: 0 0 2em; }
.gs-sidebar-newsletter { position: relative; isolation: isolate; }
.gs-sidebar-newsletter::before { content: ""; position: absolute; inset: 0; background: rgba(65,59,54,.75); z-index: -1; }
@media (max-width: 767px) { .gs-post-cards { grid-template-columns: 1fr !important; } }
.gs-review-product a, .gs-review-name { text-decoration: underline; }
.gs-review-name { text-decoration: none; }

/* ---------- converted-page refinements ---------- */
.gs-grid { gap: 20px !important; }
.gs-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.gs-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.gs-grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .gs-grid-cols-3, .gs-grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 767px) { .gs-grid-cols-2, .gs-grid-cols-3, .gs-grid-cols-4 { grid-template-columns: 1fr !important; } }
/* in-text links stay brand-coloured without underline (parity); blog article bodies keep underlines */
.wp-block-post-content p a:not(.wp-block-button__link), .wp-block-post-content .wp-block-list li a, .wp-block-post-content td a { text-decoration: none; }
.single-post .wp-block-post-content p a, .single-post .wp-block-post-content li a { text-decoration: underline; }
.gs-review-product a { text-decoration: underline !important; }

/* Product catalog (473) + Resources (476): white shadow cards */
.page-id-473 .gs-grid > .gs-stack, .page-id-476 .gs-grid > .gs-stack, .page-id-437 .gs-grid > * {
	background: #fff; padding: 46px; box-shadow: 0 0 30px rgba(0, 0, 0, .06);
}
.page-id-473 .gs-grid > .gs-stack > .gs-stack:first-child { width: 60%; margin: 0 auto 1.5em; }
.page-id-473 .gs-grid .wp-block-buttons, .page-id-473 .gs-grid .wp-block-button, .page-id-473 .gs-grid .wp-block-button__link { width: 100%; }
.page-id-473 .gs-grid .wp-block-button__link { font-size: 15px; padding: 12px; }
.page-id-473 .gs-grid h2 { font-size: 25px; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; color: var(--gs-gold); line-height: 1.3; margin: 20px 0 !important; }
.page-id-473 .gs-grid p { font-size: 18px; margin-bottom: 1em !important; }
.page-id-473 .gs-grid a, .page-id-473 .gs-sec > .gs-stack > .gs-stack:first-child a { font-weight: 700; }
.page-id-473 .gs-el-98ef0b6 > .gs-stack:not(:first-child) > h2 { font-size: 25px; font-weight: 400; text-transform: uppercase; letter-spacing: 1px; margin: 2em 0 1em !important; }
.page-id-473 .gs-el-98ef0b6 > .gs-stack:first-child > h2 { margin-bottom: 20px !important; }
.page-id-476 .gs-grid > .gs-stack h2 { font-size: 30px; font-weight: 600; text-transform: uppercase; line-height: 1.2; margin-bottom: 1em !important; }
.page-id-476 .gs-imagebox { display: flex; align-items: center; gap: 14px; text-align: left; }
.page-id-476 .gs-imagebox-img { flex: 0 0 70px; margin: 0 !important; }
.page-id-476 .gs-imagebox-title { margin: 0 !important; font-size: 16px !important; line-height: 1.4; }
.page-id-476 .gs-imagebox-title a { color: var(--gs-gold); }

/* FAQ (437) */
.page-id-437 .gs-grid > * { padding: 2em; }
.page-id-437 .gs-ibox-stack .gs-ibox-icon { width: 35px; height: 35px; background: var(--gs-gold-dark); -webkit-mask: var(--gs-i-cart) center / contain no-repeat; mask: var(--gs-i-cart) center / contain no-repeat; margin-bottom: 14px !important; }
.page-id-437 .gs-ibox-shipping-fast { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1 5h13v10H1zM14 8h4l3 4v3h-7z'/><circle cx='5' cy='17.5' r='2'/><circle cx='17' cy='17.5' r='2'/></svg>") !important; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M1 5h13v10H1zM14 8h4l3 4v3h-7z'/><circle cx='5' cy='17.5' r='2'/><circle cx='17' cy='17.5' r='2'/></svg>") !important; }
.page-id-437 .gs-ibox-return { -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M9 14 4 9l5-5'/><path d='M4 9h11a5 5 0 0 1 0 10h-3'/></svg>") !important; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M9 14 4 9l5-5'/><path d='M4 9h11a5 5 0 0 1 0 10h-3'/></svg>") !important; }
.page-id-437 .gs-ibox-title { font-size: var(--wp--preset--font-size--h-4) !important; }
.page-id-437 .gs-ibox-text { font-size: var(--wp--preset--font-size--medium); line-height: 1.5; }
.gs-accordion { gap: 0; }
.gs-accordion-item { border: 0; border-bottom: 1px solid #fff; background: #fff; }
.gs-accordion-item summary { background: var(--gs-gold); color: #fff !important; font-size: 16px; padding: 12px 20px; }
.gs-accordion-item summary::after { color: #fff; content: ""; width: 8px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: translateY(-70%) rotate(45deg); }
.gs-accordion-item[open] summary { background: var(--gs-charcoal); }
.gs-accordion-item[open] summary::after { content: ""; transform: translateY(-30%) rotate(-135deg); }
.gs-accordion-item > :not(summary) { padding: 14px 20px 18px; font-style: italic; font-size: 15px; }

/* Blog list (434) */
.gs-page-hero-left .gs-page-hero-title { letter-spacing: -2px; margin: 0 !important; }
.gs-post-list { list-style: none; padding: 0; margin: 0; }
.gs-post-list > li + li { margin-top: 15px; }
.gs-post-row { margin: 0 !important; box-shadow: 0 0 20px rgba(0,0,0,.04); border-radius: 6px; gap: 30px !important; }
.gs-post-row-image img { border-radius: 6px; box-shadow: 0 15px 30px rgba(0,0,0,.15); }
.gs-post-row-title { font-size: 30px !important; font-weight: 700 !important; line-height: 1.2; margin: 0 0 20px !important; }
.gs-post-row-title a { color: #000; }
.gs-post-row-excerpt { color: #777; font-size: 16px; }
.gs-post-row-excerpt .wp-block-post-excerpt__more-link { display: none; }
.gs-latest-box { box-shadow: 0 0 30px rgba(0,0,0,.06); margin-bottom: 10px; }
.gs-latest-box h4 { font-weight: 400; margin-bottom: 1em !important; }
.gs-latest-list .gs-latest-title a { color: var(--gs-gold); font-size: 15px; }
.gs-latest-list .wp-block-post-featured-image { flex: 0 0 35px; width: 35px !important; height: 35px !important; }
.gs-latest-list .wp-block-post-featured-image img { width: 35px; height: 35px; object-fit: cover; }
@media (max-width: 767px) { .gs-post-row-title { font-size: 20px !important; } }

/* Single post (replaces Elementor 668) */
.gs-post-hero { min-height: 500px; }
.gs-post-hero-text { padding: 3em 3em 3em max(20px, calc((100vw - 1280px) / 2 + 18px)); }
.gs-post-hero-text > * + * { margin-top: 20px !important; }
.gs-post-hero-cat, .gs-post-hero-cat a { font-family: "EB Garamond", sans-serif; font-style: italic; color: var(--gs-gold); font-size: 18px; }
.gs-post-hero-title { font-size: var(--wp--preset--font-size--h-2) !important; font-weight: 600; line-height: 1.2; margin: 14px 0 0 !important; }
.gs-post-hero-sep { border: 0; border-top: 1px solid var(--gs-line); width: 100%; margin: 28px 0 !important; opacity: 1; }
.gs-post-hero-date { color: var(--gs-gold); font-size: 16px; padding-left: 25px; }
.gs-post-hero-media { padding: 0 !important; align-self: stretch !important; }
.gs-post-hero-image, .gs-post-hero-image img { height: 100% !important; min-height: 500px; width: 100%; object-fit: cover; margin: 0 !important; }
.gs-article-body > * + * { margin-top: 1em; }
.gs-article-body h1 { font-size: var(--wp--preset--font-size--h-1); }
.gs-article-body h2 { font-size: var(--wp--preset--font-size--h-2); }
.gs-article-body img { max-width: 100%; height: auto; }
.gs-article-body table { border-collapse: collapse; width: 100%; font-size: 15px; }
.gs-article-body td, .gs-article-body th { border: 1px solid var(--gs-line); padding: 8px; }
.gs-comments { margin-top: 2em !important; }
.gs-comments textarea, .gs-comments input[type=text], .gs-comments input[type=email], .gs-comments input[type=url] { width: 100%; background: var(--gs-light); border: 1px solid var(--gs-line); border-radius: var(--gs-radius); padding: 8px 16px; font: inherit; font-size: 16px; }
.gs-related-cards { gap: 30px !important; }
.gs-related-title a { color: var(--gs-charcoal); }
.gs-latest-list .wp-block-post-featured-image { flex: 0 0 70px !important; width: 70px !important; height: 70px !important; }
.gs-latest-list .wp-block-post-featured-image img { width: 70px !important; height: 70px !important; }
@media (max-width: 767px) {
	.gs-post-hero-text { padding: 2em 20px !important; }
	.gs-post-hero-image, .gs-post-hero-image img { min-height: 260px; }
	.gs-related-cards { grid-template-columns: 1fr !important; }
}

/* Step 5 parity fixes */
@media (min-width: 768px) and (max-width: 1024px) { .gs-quick-help { padding-top: 3em !important; padding-bottom: 7em !important; } }
/* Product grids: the column count of the matching live widget at each breakpoint (see "Product grids" below) */
/* Variation table: striped rows, centred labels, legible selects (WooCommerce block-theme CSS forces height:3em + big padding) */
.gs-add-to-cart table.variations { width: 100%; border-collapse: collapse; }
.gs-add-to-cart table.variations tr:nth-child(odd) { background: #E9E9EC; }
.gs-add-to-cart table.variations th, .gs-add-to-cart table.variations td { padding: 15px !important; }
.gs-add-to-cart table.variations td { padding-left: 0 !important; }
.gs-add-to-cart table.variations th { text-align: center; width: 36%; }
.gs-add-to-cart table.variations th label { font-weight: 600; }
.woocommerce .gs-add-to-cart table.variations tr td select { height: auto; min-width: 0; margin: 0; padding: 8px 40px 8px 16px; line-height: 1.5; font-size: 16px; color: #000; background-color: transparent; border: 1px solid #69727d; border-radius: 3px; }
/* HUSKY (woof) checkbox lists: compact rows like the Elementor shop sidebar */
.gs-shop-body .woof_list { margin: 0; padding: 0; list-style: none; }
.gs-shop-body .woof_list li { display: flex; align-items: center; gap: 8px; margin: 0 0 6px !important; padding: 0 !important; }
.gs-shop-body .woof input[type=checkbox] { width: 16px; height: 16px; padding: 0; margin: 0 !important; flex: 0 0 auto; background: #fff; border-radius: 2px; }
.gs-shop-body .woof_checkbox_label, .gs-shop-body .woof_checkbox_instock + label, .gs-shop-body .woof_checkbox_instock_container label { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--gs-charcoal); padding: 0 !important; margin: 0 !important; }
/* Converted Elementor sections: 20px between widgets, 0.9rem between paragraphs of one text widget (Elementor defaults) */
.gs-sec :is(.is-layout-flow, .is-layout-constrained) > p:not(:first-child),
.gs-sec :is(.is-layout-flow, .is-layout-constrained) > :not(:first-child):is(ul, ol, h1, h2, h3, h4, h5, h6) { margin-block-start: 20px; }
.gs-sec :is(.is-layout-flow, .is-layout-constrained) > p + p,
.gs-sec :is(.is-layout-flow, .is-layout-constrained) > :is(p, ul, ol) + :is(ul, ol),
.gs-sec :is(.is-layout-flow, .is-layout-constrained) > :is(ul, ol) + p { margin-block-start: 0.9rem; }
/* Quick Help rhythm (Elementor: 20px widget spacing, title box ~620px so it breaks in 3 lines, button set apart) */
.gs-quick-help .wp-block-cover__inner-container > * + * { margin-block-start: 20px; }
.gs-quick-help .gs-quick-help-title { max-width: 640px; margin-left: auto !important; margin-right: auto !important; margin-block-start: 30px !important; }
.gs-quick-help .wp-block-cover__inner-container > p { max-width: 620px; margin-left: auto !important; margin-right: auto !important; margin-block-start: 30px !important; }
.gs-quick-help .wp-block-buttons { margin-block-start: 40px !important; }
/* Hero with subtitle (contact): title + subtitle centred as one block over the watermark */
/* Elementor icon boxes stack (icon on top, centred) on phones */
@media (max-width: 767px) {
	.gs-ibox { flex-direction: column !important; align-items: center !important; text-align: center; }
	.gs-ibox > * { text-align: center; }
}

/* ==========================================================================
   Responsive type scale. Elementor kit 589 used three fixed steps (desktop > 1024 px, tablet 768-1024 px,
   phone < 768 px), not fluid sizes. theme.json holds the desktop values; these override the presets.
   ========================================================================== */
@media (max-width: 1024px) {
	:root:root {
		--wp--preset--font-size--x-small: 13px; --wp--preset--font-size--header: 13px; --wp--preset--font-size--button: 14px;
		--wp--preset--font-size--small: 15px; --wp--preset--font-size--medium: 17px; --wp--preset--font-size--h-5: 18.75px;
		--wp--preset--font-size--h-4: 23.44px; --wp--preset--font-size--h-3: 29.3px; --wp--preset--font-size--h-2: 36.62px;
		--wp--preset--font-size--h-1: 45.78px; --wp--preset--font-size--display: 57.22px;
		--wp--preset--font-size--eyebrow: 15px; --wp--preset--font-size--catalog-title: 13px;
	}
}
@media (max-width: 767px) {
	:root:root {
		--wp--preset--font-size--x-small: 12px; --wp--preset--font-size--header: 12px; --wp--preset--font-size--button: 13px;
		--wp--preset--font-size--small: 14px; --wp--preset--font-size--medium: 16px; --wp--preset--font-size--h-5: 15.6px;
		--wp--preset--font-size--h-4: 18.72px; --wp--preset--font-size--h-3: 22.46px; --wp--preset--font-size--h-2: 26.96px;
		--wp--preset--font-size--h-1: 32.35px; --wp--preset--font-size--display: 38.82px;
		--wp--preset--font-size--eyebrow: 14px; --wp--preset--font-size--catalog-title: 12px;
	}
}

/* ==========================================================================
   Product grids: same number of cards per row as the live widgets, per breakpoint.
   home Best Sellers 3/2/1 · shop 4/3/2 · category/tag/brand/search archives 4 (2 at <=768 px, WooCommerce
   small-screen rule) · product "Latest Product" and contact featured 4/2/2.
   ========================================================================== */
.gs-collection .wc-block-product-template.wc-block-product-template { grid-template-columns: repeat(var(--gs-cols, 4), minmax(0, 1fr)); }
.gs-best-sellers { --gs-cols: 3; }
@media (max-width: 1024px) {
	.gs-best-sellers, .gs-latest-products, .gs-featured-products { --gs-cols: 2; }
	.gs-shop-body { --gs-cols: 3; }
}
@media (max-width: 768px) { .gs-archive-body { --gs-cols: 2; } }
@media (max-width: 767px) {
	.gs-best-sellers { --gs-cols: 1; }
	.gs-shop-body { --gs-cols: 2; }
}

/* ==========================================================================
   Product archives (category / tag / brand / attribute / product search). Live renders these with the
   WooCommerce loop inside the Hello theme container: 1140 px >= 1200, 800 px >= 992, 600 px >= 768, 500 px >= 576,
   full width with 10 px gutters below. The HUSKY "Filter" toggle sits above the result count (site.js moves it).
   ========================================================================== */
.gs-archive-body { --wp--style--global--content-size: 1140px; --wp--style--global--wide-size: var(--wp--style--global--content-size); }
@media (max-width: 1199px) { .gs-archive-body { --wp--style--global--content-size: 800px; } }
@media (max-width: 991px) { .gs-archive-body { --wp--style--global--content-size: 600px; } }
@media (max-width: 767px) { .gs-archive-body { --wp--style--global--content-size: 500px; } }
@media (max-width: 575px) { .gs-archive-body.gs-archive-body { --wp--style--global--content-size: 100%; padding-left: 10px !important; padding-right: 10px !important; } }
.gs-archive-body .gs-breadcrumbs, .gs-archive-body .gs-breadcrumbs a { color: #767676; font-size: 14.4px; }
.gs-archive-body .woof_autohide_wrapper { margin: 0 0 .3em; }
.gs-archive-body .woof_show_auto_form { font-size: 16px; }
.gs-product-cards-classic .wc-block-components-product-button { align-items: flex-start !important; }
.gs-product-cards-classic .wc-block-components-product-button__button { width: auto !important; }
.gs-archive-body .gs-collection .wc-block-product-template { column-gap: 3.8% !important; }

/* FAQ page (437): ElementsKit accordion metrics (20 px H5 text, 16/32/16/16 padding) and centred intro on tablet/phone */
.gs-accordion-item summary { font-size: var(--wp--preset--font-size--h-5); line-height: 1.5; padding: 16px 32px 16px 16px; }
.gs-accordion-item summary::after { right: 16px; }
.gs-accordion-item > :not(summary) { padding: 16px 16px 20px; }
@media (min-width: 1025px) { .page-id-437 .gs-accordion { margin-left: 12px; margin-right: 18px; } }
@media (max-width: 1024px) { .page-id-437 .gs-el-acb1762 { text-align: center; } }
.gs-accordion-item > :not(summary) { font-size: var(--wp--preset--font-size--small); }
.page-id-437 .gs-grid > .gs-row { align-items: flex-start !important; align-content: flex-start; }
.page-id-437 .gs-ibox-stack .gs-ibox-icon { width: 50px; height: 50px; -webkit-mask-position: left center; mask-position: left center; margin-bottom: 16px !important; }
.page-id-437 .gs-ibox-title { margin-bottom: 20px !important; }

/* Home hero (Elementor 440 header section): heading and subtitle are shrink-to-fit boxes, centred, with their text
   left-aligned; on tablet the heading box is capped at ~81 % so it breaks into two left-aligned lines, on phones it
   spans the width (left-aligned). Paddings give the live heights (291 / 386 / 271 px). */
.gs-home-hero.gs-home-hero { min-height: 0 !important; padding-top: 54px !important; padding-bottom: 54px !important; }
.gs-home-hero .gs-home-hero-title, .gs-home-hero .gs-home-hero-sub { width: fit-content; max-width: 100%; margin-left: auto !important; margin-right: auto !important; text-align: left !important; }
.gs-btn-hero .wp-block-button__link { font-size: var(--wp--preset--font-size--header); }
@media (max-width: 1024px) {
	.gs-home-hero.gs-home-hero { padding-top: 68px !important; padding-bottom: 85px !important; }
	.gs-home-hero .gs-home-hero-title { max-width: 81.5%; }
}
@media (max-width: 767px) {
	.gs-home-hero.gs-home-hero { padding-top: 53px !important; padding-bottom: 53px !important; }
	.gs-home-hero .gs-home-hero-title { max-width: calc(100% - 10px); }
}

/* ==========================================================================
   Text sizes matched to the live widgets at desktop / tablet / phone (tools/typo-diff.js pass)
   ========================================================================== */
/* small CTA buttons (support cards, quick help, catalog): Elementor accent 15/14/13 */
.gs-btn-small .wp-block-button__link.wp-block-button__link { font-size: var(--wp--preset--font-size--button) !important; }
/* product cards */
.gs-product-cards-std .gs-product-card-title.gs-product-card-title { font-size: var(--wp--preset--font-size--h-5) !important; }
.gs-product-cards-classic .gs-product-card-title.gs-product-card-title { font-size: var(--wp--preset--font-size--medium) !important; }
.gs-product-cards-classic .wc-block-components-product-button__button.wc-block-components-product-button__button { font-size: var(--wp--preset--font-size--medium) !important; }
/* HUSKY filter labels (shop + archives) 14/13/12 */
.woof .woof_checkbox_label, .woof .woof_checkbox_instock + label, .woof .woof_checkbox_instock_container label { font-size: var(--wp--preset--font-size--header) !important; }
/* single product */
.gs-add-to-cart table.variations th.label, .gs-add-to-cart table.variations th { text-align: center !important; }
.gs-add-to-cart .single_add_to_cart_button.single_add_to_cart_button { font-size: var(--wp--preset--font-size--header); }
.gs-product-details .wc-tabs li a { font-weight: 400; font-size: var(--wp--preset--font-size--header); }
.gs-share-title.gs-share-title { font-size: var(--wp--preset--font-size--h-5) !important; }
/* contact */
.gs-contact-media .gs-blockquote { font-size: var(--wp--preset--font-size--h-5); }
.gs-contact-media .gs-blockquote p { font-weight: 500; font-size: inherit; }
.gs-contact-form label, .gs-contact-form .wp-block-jetpack-label, .gs-contact-form .grunion-field-label { font-size: var(--wp--preset--font-size--header) !important; }
/* resources: section titles H2 steps, centred on tablet/phone; product links 20 / 23.4 / 18.7 */
.page-id-476 .gs-grid > .gs-stack h2.wp-block-heading { font-size: var(--wp--preset--font-size--h-2); }
.page-id-476 .gs-imagebox-title.gs-imagebox-title { font-size: 20px !important; }
@media (max-width: 1024px) { .page-id-476 .gs-grid > .gs-stack h2.wp-block-heading { text-align: center; } .page-id-476 .gs-imagebox-title.gs-imagebox-title { font-size: 23.44px !important; } }
@media (max-width: 767px) { .page-id-476 .gs-imagebox-title.gs-imagebox-title { font-size: 18.72px !important; } }
/* product catalog: card copy at body size; only in-text links are bold; closing heading H1-sized */
.page-id-473 .gs-grid p { font-size: var(--wp--preset--font-size--medium); }
.page-id-473 .gs-grid .wp-block-button__link { font-weight: 400 !important; font-size: var(--wp--preset--font-size--button) !important; }
.page-id-473 .gs-el-2479823 > h2.wp-block-heading { font-size: var(--wp--preset--font-size--h-1); }
/* blog list + article */
.gs-post-row-title.gs-post-row-title { font-weight: 900 !important; }
.gs-comments .comment-reply-title { font-size: var(--wp--preset--font-size--h-2); }
.gs-comments .comment-form label, .gs-comments .comment-form-cookies-consent label { font-size: var(--wp--preset--font-size--header); }
/* cart / my account (WooCommerce classic forms under Hello: 18/17/16 body text) */
.gs-woo-card .return-to-shop .button { font-size: var(--wp--preset--font-size--medium); }
.gs-woo-card .woocommerce-form-login .button, .gs-woo-card .woocommerce-form-login__rememberme, .gs-woo-card .woocommerce-form-login__rememberme span { font-size: var(--wp--preset--font-size--medium); }
.gs-woo-card .woocommerce-form-login__rememberme { text-transform: none; letter-spacing: normal; font-weight: 400; }
.gs-woo-card .lost_password, .gs-woo-card .lost_password a { font-size: 12px; }
/* terms & conditions tabs */
.gs-tab { font-size: var(--wp--preset--font-size--medium); }

/* ==========================================================================
   768-781 px: core Columns stack below 782 px, Elementor only stacked below 768 px. Keep rows (with the set
   widths) in that band so tablet portrait matches live. Column widths used in this site are listed explicitly
   because core forces flex-basis:100% !important there.
   ========================================================================== */
@media (min-width: 768px) and (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) { flex-wrap: nowrap !important; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:20%"] { flex-basis: 20% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:25%"] { flex-basis: 25% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:30%"] { flex-basis: 30% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:35%"] { flex-basis: 35% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:46%"] { flex-basis: 46% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:50%"] { flex-basis: 50% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:54%"] { flex-basis: 54% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:64.665%"] { flex-basis: 64.665% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:66%"] { flex-basis: 66% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:68%"] { flex-basis: 68% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:75%"] { flex-basis: 75% !important; flex-grow: 0; }
	.wp-block-columns:not(.is-not-stacked-on-mobile):not(.gs-footer-cols):not(.gs-footer-cta-cols):not(.gs-blog-cols) > .wp-block-column[style*="flex-basis:80%"] { flex-basis: 80% !important; flex-grow: 0; }
}

/* Footer newsletter: 40 px button (Jetpack sets a 60 px min-height); on tablet the field and button sit in one
   centred row (2:1) like the Elementor form; on phones they stack full width. */
.gs-newsletter-form .wp-block-button__link.wp-block-button__link { min-height: 40px !important; height: 40px; }
@media (min-width: 768px) and (max-width: 1024px) {
	.gs-newsletter-form.gs-newsletter-form { flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start; gap: 10px !important; max-width: calc(100vw - 340px); margin: 0 auto; }
	.gs-newsletter-form > .grunion-field-email-wrap { flex: 2 1 0 !important; min-width: 0; }
	.gs-newsletter-form > .wp-block-button { flex: 1 1 0 !important; min-width: 0; margin-top: 2px !important; }
}
@media (max-width: 767px) { .wp-block-columns.gs-footer-cols > .wp-block-column.gs-footer-newsletter { padding-left: 0 !important; padding-right: 0 !important; } }
/* Contact page on tablet: address / email boxes stack, the quote card overlaps the image bottom (wider). */
@media (max-width: 1024px) {
	.gs-contact-boxes.wp-block-columns { flex-direction: column; flex-wrap: nowrap !important; }
	.gs-contact-boxes.wp-block-columns > .wp-block-column { flex-basis: auto !important; }
	.gs-contact-media .gs-blockquote { width: 85%; padding: 1.5em 1em !important; left: -1em; }
}

/* typo-diff pass 2 */
.gs-product-details .wc-tabs li a, .woocommerce div.product .gs-product-details .woocommerce-tabs ul.tabs li a { font-weight: 400 !important; }
.gs-product-cards-std .wc-block-components-product-button__button.wc-block-components-product-button__button { font-size: var(--wp--preset--font-size--small) !important; }
.gs-product-cards-classic .wc-block-components-product-button__button { text-align: left; }
.gs-accordion-item > :not(summary) { font-size: var(--wp--preset--font-size--medium); }
.gs-post-row-excerpt.gs-post-row-excerpt { font-size: var(--wp--preset--font-size--medium); }
.gs-contact-boxes p.has-small-font-size { font-size: var(--wp--preset--font-size--medium) !important; }
.gs-contact-card p:not(.has-text-align-center) { text-align: left; }
@media (max-width: 767px) {
	.page-id-476 .gs-imagebox { flex-direction: column; text-align: center; }
	.page-id-476 .gs-imagebox-title { text-align: center; }
	.gs-page-hero-left .gs-page-hero-title { text-align: center; }
	body:is(.page-id-2, .page-id-3, .page-id-458, .page-id-482) .wp-block-post-content h1.has-text-align-center { text-align: left; }
}

/* Variation form: Elementor add-to-cart widget metrics (qty box ~3.2em, 4 px gap, 12 px button side padding) */
.gs-add-to-cart form.cart .quantity { margin-right: 4px !important; }
.gs-add-to-cart .single_add_to_cart_button.single_add_to_cart_button { margin-left: 0 !important; padding-left: 12px; padding-right: 12px; }

/* Footer on tablet / phone (Elementor footer 655):
   - list rows 29 px apart (no extra list-item gap), legal links 14/15/14 px;
   - the bottom bar is a 1260 px row with 10 px gutters like the header; on phones the copyright sits left and
     the payment icons + policy links right, as on live;
   - CTA: no root padding under 1025 px, a 230 px image overlapping the top edge on the right (tablet), and a
     full-width 200 px-high image on phones; Support / Locations spread to the edges on tablet. */
.gs-footer-links li { margin: 0 !important; }
.gs-legal-links a { font-size: 14px; }
.gs-footer-bottom.gs-footer-bottom { padding-left: 10px !important; padding-right: 10px !important; }
.gs-footer-bottom > .gs-footer-bottom-inner { max-width: 1260px !important; padding: 0; }
@media (max-width: 1024px) {
	.gs-legal-links a { font-size: 15px; }
	.gs-footer-cta.gs-footer-cta { padding-left: 0 !important; padding-right: 0 !important; }
	.gs-footer-cta-media .gs-footer-cta-image { margin-left: auto !important; margin-right: 0 !important; }
	.gs-footer-cta-image img { width: 230px !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { flex: 0 1 auto !important; padding-left: 17px !important; padding-right: 17px !important; }
}
@media (max-width: 767px) {
	.gs-legal-links a { font-size: 14px; }
	.gs-footer-cta-media .gs-footer-cta-image { margin: 0 !important; width: 100%; }
	.gs-footer-cta-image img { width: 100% !important; height: 200px; object-fit: contain; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { flex: 0 0 100% !important; padding-left: 0 !important; }
}
@media (max-width: 1024px) {
	.gs-footer-main.gs-footer-main { padding-top: 34px !important; padding-bottom: 0 !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column.gs-footer-newsletter { padding-top: 17px !important; padding-bottom: 51px !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { padding-top: 17px !important; padding-bottom: 51px !important; }
	.gs-footer-cols.wp-block-columns { row-gap: 0; }
	.wp-block-column.gs-footer-cta-text { padding-top: 17px !important; padding-bottom: 17px !important; }
	.gs-footer-bottom.gs-footer-bottom { padding-top: 5px !important; padding-bottom: 5px !important; }
}
@media (max-width: 767px) {
	.gs-footer-main.gs-footer-main { padding-top: 16px !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column.gs-footer-newsletter { padding-top: 16px !important; padding-bottom: 16px !important; }
	.wp-block-columns.gs-footer-cols > .wp-block-column:is(.gs-footer-support, .gs-footer-locations) { padding-top: 16px !important; padding-bottom: 16px !important; }
	.wp-block-column.gs-footer-cta-text { padding: 37px 21px 21px !important; }
	.gs-footer-bottom-inner { gap: 21px !important; }
}

/* Resources: the one-word "RECOMMENDATIONS" heading overflowed its card (and the page) on live at 320 and 768-1024 px.
   Intended improvement: the heading shrinks to fit the card (container query units), never above the H2 step. */
.page-id-476 .gs-grid > .gs-stack { container-type: inline-size; min-width: 0; }
.page-id-476 .gs-grid > .gs-stack h2.wp-block-heading { font-size: min(var(--wp--preset--font-size--h-2), 11.5cqi); }
.gs-grid > * { min-width: 0; }
@media (max-width: 767px) { .gs-grid-cols-2, .gs-grid-cols-3, .gs-grid-cols-4 { grid-template-columns: minmax(0, 1fr) !important; } }

/* Blog list (434) on tablet: live stacks the sidebar under the posts (Latest Article in two columns, newsletter
   full width with an inline form); hero heights 277 / 193 / 135 px. */
.gs-hero-blog.gs-hero-blog { min-height: 0 !important; padding-top: 108px !important; padding-bottom: 108px !important; }
.gs-hero-blog .gs-page-hero-title { line-height: 1; }
@media (max-width: 1024px) {
	.gs-hero-blog.gs-hero-blog { padding-top: 68px !important; padding-bottom: 68px !important; }
	.wp-block-columns.gs-blog-cols { flex-wrap: wrap !important; }
	.wp-block-columns.gs-blog-cols > .wp-block-column { flex-basis: 100% !important; }
	.gs-latest-list .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
	.gs-sidebar-newsletter .gs-newsletter-form.gs-newsletter-form { flex-direction: row !important; flex-wrap: nowrap !important; max-width: none; gap: 10px !important; }
	.gs-sidebar-newsletter .gs-newsletter-form > .grunion-field-email-wrap { flex: 2 1 0 !important; min-width: 0; }
	.gs-sidebar-newsletter .gs-newsletter-form > .wp-block-button { flex: 1 1 0 !important; min-width: 0; }
}
@media (max-width: 767px) {
	.gs-hero-blog.gs-hero-blog { padding-top: 48px !important; padding-bottom: 48px !important; }
	.gs-latest-list .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.gs-sidebar-newsletter .gs-newsletter-form.gs-newsletter-form { flex-direction: column !important; }
}

/* 404 (Elementor 404 template): mechanic photo with a 70 % #484F56 overlay, a translucent box on the left of the
   1280 px row, vertically centred. Section 783 / 633 / 488 px, box 450 px (54 px padding) / 351 (34) / full (32). */
.gs-404.gs-404 { min-height: 783px !important; padding: 0 80px !important; align-items: center !important; justify-content: flex-start !important; }
.gs-404 > .wp-block-cover__inner-container { width: 100% !important; max-width: 1280px; margin: 0 auto; }
.gs-404-box { width: 450px; max-width: 100%; box-sizing: border-box; padding: 54px; background: rgba(49, 61, 77, .5); text-align: center; }
.gs-404-box > * { margin-top: 0 !important; margin-bottom: 20px !important; }
.gs-404-box > :last-child { margin-bottom: 0 !important; }
.gs-404-box .gs-404-number, .gs-404-box h1 { font-weight: 600; line-height: 1.2; }
.gs-404-box p:not(.gs-404-number) { font-size: var(--wp--preset--font-size--medium); }
@media (max-width: 1024px) { .gs-404.gs-404 { min-height: 633px !important; padding: 0 17px !important; } .gs-404-box { width: 351px; padding: 34px; } }
@media (max-width: 767px) { .gs-404.gs-404 { min-height: 488px !important; padding: 0 16px !important; } .gs-404-box { width: 100%; padding: 32px; } }
.gs-404-box .gs-404-number { line-height: 1; }

/* Page hero titles + watermarks are capitalised on live (Elementor heading text-transform). */
.gs-page-hero-title, .gs-page-hero .gs-hero-watermark { text-transform: capitalize; }
/* Thank-you without an order: no empty white card; live leaves a 20 px band before the CTA. */
.gs-woo-card:not(:has(*)) { display: none; }
.gs-thanks-body:not(:has(.gs-woo-card *)) { padding-top: 20px !important; padding-bottom: 0 !important; }
/* WooPayments appends an inline 4 px iframe to <body>; as an inline box it added a 27 px strip under the footer. */
body > iframe#temp-woopay-connect-iframe { position: absolute !important; left: 0; bottom: 0; width: 1px !important; height: 1px !important; border: 0 !important; opacity: 0; pointer-events: none; }

/* Header search modal (built by site.js), ElementsKit popup on live: 87 % black screen, 800 x 70 px white field
   centred, 2 px #413B36 top/bottom rules, icon button inside on the right, 44 px gold round close 20 px from the corner. */
.gs-search-modal { position: fixed; inset: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(0, 0, 0, .87); color: #fff; }
.gs-search-modal[open] { display: flex; align-items: center; justify-content: center; }
.gs-search-modal::backdrop { background: transparent; }
.gs-search-modal-form { position: relative; width: 800px; max-width: calc(100% - 40px); margin: 0; }
.gs-search-modal-form input[type=search] { display: block; box-sizing: border-box; width: 100%; height: 70px; margin: 0; padding: 0 80px 0 30px; border: 0; border-top: 2px solid #413B36; border-bottom: 2px solid #413B36; border-radius: 0; background: #fff; color: #413B36; font: 400 16px/1 var(--wp--preset--font-family--jost); outline-offset: -4px; }
.gs-search-modal-form button[type=submit] { position: absolute; top: 0; right: 0; width: 70px; height: 70px; padding: 0; margin: 0; border: 0; background: transparent; color: #413B36; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.gs-search-modal-form button[type=submit] svg { width: 20px; height: 20px; fill: currentColor; }
.gs-search-modal-close { position: absolute; top: 20px; right: 20px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: var(--gs-gold); color: #fff; font: 400 28px/44px Arial, sans-serif; text-align: center; cursor: pointer; }
.gs-search-modal-close:hover, .gs-search-modal-close:focus-visible { background: #413B36; }

/* Mini-cart drawer (Elementor menu cart): white throughout, empty message at the top (60 px, 30 px inset),
   a 21 px close icon 20 px from the top and 30 px from the right of the panel (its box sits 13 px out). Mobile menu close icon is gold like live. */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents, .wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block, .wc-block-mini-cart__drawer .wc-block-mini-cart__template-part { background: #fff !important; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block:not([hidden]) { display: block !important; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block { padding: 60px 30px 0 !important; text-align: left; }
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block[hidden] { display: none !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper { margin: 0 !important; padding: 0 !important; text-align: left; justify-content: flex-start !important; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper p { margin: 0 !important; text-align: left !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { top: 33px !important; right: 43px !important; width: 21px !important; height: 21px !important; padding: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg { width: 21px !important; height: 21px !important; }
.gs-primary-nav .wp-block-navigation__responsive-container-close { color: var(--gs-gold) !important; }

/* Resources on phones: live image boxes keep a 92 px thumbnail centred above the link (box 179 px), not a full-width image. */
@media (max-width: 767px) { .page-id-476 .gs-imagebox img, .page-id-476 .gs-imagebox figure { width: 92px !important; max-width: 92px !important; height: auto !important; margin-left: auto !important; margin-right: auto !important; flex: 0 0 auto !important; } }

/* HUSKY "Filter" toggle on the shop (phones): gold full-width button like live (archives keep the plain link), 10 px page gutters on phones. */
.gs-shop-body .woof_autohide_wrapper { margin: 0 0 3px; }
.gs-shop-body .woof_show_auto_form.woof_show_auto_form { display: block; box-sizing: border-box; width: 100%; padding: 9.6px 19.2px; border-radius: 4px; background: var(--gs-gold); color: #fff; font-size: 16px; text-align: center; text-decoration: none; }
.gs-shop-body .woof_show_auto_form.woof_show_auto_form:hover, .gs-shop-body .woof_show_auto_form.woof_show_auto_form:focus-visible { background: #413B36; color: #fff; }
@media (max-width: 575px) { .gs-shop-body.gs-shop-body { padding-left: 10px !important; padding-right: 10px !important; } }
/* Shop sort dropdown: 230 x 37 px, 16 px text, right-aligned under the result count on phones (live). */
.gs-shop-toolbar select.orderby, .gs-shop-toolbar select { font-size: 16px !important; height: 37px; }
@media (max-width: 767px) { .gs-shop-toolbar .woocommerce-ordering, .gs-shop-toolbar .wc-block-catalog-sorting { margin-left: auto !important; align-self: flex-end; text-align: right; } }
