/* The Silly Sprout redesign (Sept 2026). Tokens follow the "Silly Sprout Boutique" Stitch design system. */
:root {
	--ss-white: #ffffff;
	--ss-cream: #f7f3ee;
	--ss-sand: #e9e1d6;
	--ss-taupe: #8a7b6b;
	--ss-ink: #2b2622;
	--ss-muted: #6b6159;
	--ss-gold: #b8935a;
	--ss-gold-hover: #9c7a45;
	--ss-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--ss-sans: "DM Sans", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
	--ss-radius: 4px;
}

/* Base */
body {
	background: var(--ss-white);
	color: var(--ss-muted);
	font-family: var(--ss-sans);
	font-size: 16px;
	line-height: 1.65;
}
h1, h2, h3, h4, h5, h6,
.entry-title,
.woocommerce-products-header__title,
.product_title {
	font-family: var(--ss-serif);
	font-weight: 400;
	color: var(--ss-ink);
	letter-spacing: 0;
}
a { color: var(--ss-ink); }
a:hover { color: var(--ss-gold-hover); }

/* Announcement bar */
.ss-announcement {
	background: var(--ss-cream);
	border-bottom: 1px solid var(--ss-sand);
	color: var(--ss-ink);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	padding: 8px 16px;
}

/* Header */
.site-header,
.site-header .woostify-container {
	background: var(--ss-white);
}
.site-header {
	border-bottom: 1px solid var(--ss-sand);
}
.site-branding .site-title,
.site-branding .site-title a,
.site-branding a {
	font-family: var(--ss-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 28px;
	color: var(--ss-ink);
	letter-spacing: 0;
	text-transform: none;
}
.site-branding .site-description { display: none; }
.primary-navigation > li > a,
.main-navigation .primary-navigation > li > a {
	font-family: var(--ss-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ss-ink);
}
.primary-navigation > li > a:hover,
.primary-navigation > li.current-menu-item > a {
	color: var(--ss-gold-hover);
}
.site-tools .tools-icon,
.site-tools a { color: var(--ss-ink); }
.shopping-bag-button .shop-cart-count,
.woostify-header-total-price,
.shop-cart-count {
	background: var(--ss-gold);
	color: var(--ss-white);
}

/* Buttons */
.button,
button.button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.wc-block-components-button:not(.is-link) {
	background: var(--ss-gold);
	border: 1px solid var(--ss-gold);
	border-radius: var(--ss-radius);
	color: var(--ss-white);
	font-family: var(--ss-sans);
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 13px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.button:hover,
button.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--ss-gold-hover);
	border-color: var(--ss-gold-hover);
	color: var(--ss-white);
}
a:focus-visible,
button:focus-visible,
.button:focus-visible,
input:focus-visible,
select:focus-visible {
	outline: 2px solid var(--ss-gold);
	outline-offset: 2px;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="password"],
select,
textarea {
	border: 1px solid var(--ss-sand);
	border-radius: var(--ss-radius);
	color: var(--ss-ink);
}

/* Page header / breadcrumb */
.page-header {
	background: var(--ss-cream);
	border-bottom: 1px solid var(--ss-sand);
}
.woostify-breadcrumb,
.woocommerce-breadcrumb {
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--ss-muted);
}
.woostify-breadcrumb a,
.woocommerce-breadcrumb a { color: var(--ss-muted); }

/* Product cards (shop, categories, related, homepage shortcodes) */
ul.products li.product {
	text-align: left;
}
ul.products li.product .product-loop-wrapper,
ul.products li.product .product-loop-image-wrapper {
	background: var(--ss-cream);
	border-radius: var(--ss-radius);
	overflow: hidden;
}
ul.products li.product img {
	transition: transform 0.5s ease;
}
ul.products li.product:hover img {
	transform: scale(1.03);
}
ul.products li.product .woocommerce-loop-product__category,
ul.products li.product .woocommerce-loop-product__category a {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ss-taupe);
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title a {
	font-family: var(--ss-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
	color: var(--ss-ink);
}
ul.products li.product .price,
.woocommerce ul.products li.product .price,
.woocommerce .product .product-loop-meta .price .woocommerce-Price-amount {
	color: var(--ss-ink);
	font-weight: 500;
	font-size: 16px;
}
ul.products li.product .onsale,
.onsale,
.woostify-tag-on-sale {
	background: var(--ss-ink);
	color: var(--ss-white);
	border-radius: var(--ss-radius);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ------------------------------------------------------------------
   Product grid: equal-height cards, uniform images, aligned price and
   an always-visible button (site-wide: homepage, shop, categories, related).
   Replaces Woostify's float grid and its hover price/button swap.
   ------------------------------------------------------------------ */
ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--ss-cols, 4), minmax(0, 1fr));
	gap: 30px 24px;
	align-items: stretch;
}
ul.products::before,
ul.products::after { display: none !important; }
ul.products.columns-1 { --ss-cols: 1; }
ul.products.columns-2 { --ss-cols: 2; }
ul.products.columns-3 { --ss-cols: 3; }
ul.products.columns-4 { --ss-cols: 4; }
ul.products.columns-5 { --ss-cols: 5; }
ul.products.columns-6 { --ss-cols: 6; }

ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--ss-white);
	border: 1px solid var(--ss-sand);
	border-radius: var(--ss-radius);
	overflow: hidden;
}
ul.products li.product .product-loop-wrapper {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: 100%;
	border-radius: 0;
	background: var(--ss-white);
}

/* Uniform, top-aligned images */
ul.products li.product .product-loop-image-wrapper {
	flex: none;
	aspect-ratio: 1 / 1;
	width: 100%;
	border-radius: 0;
	background: var(--ss-cream);
}
ul.products li.product .product-loop-image-wrapper > a,
ul.products li.product .product-loop-image-wrapper .woocommerce-loop-product__link {
	display: block;
	width: 100%;
	height: 100%;
}
ul.products li.product .product-loop-image-wrapper img,
ul.products li.product img.product-loop-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
}

/* Content column: title slot, then price + button pinned to the bottom */
ul.products li.product .product-loop-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 10px;
	padding: 18px 16px 20px;
	text-align: left;
}
ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	font-family: var(--ss-serif);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.35;
	min-height: calc(17px * 1.35 * 2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
ul.products li.product .woocommerce-loop-product__title a {
	font-family: var(--ss-serif);
	color: var(--ss-ink);
}
ul.products li.product .product-loop-meta,
ul.products li.product .product-loop-meta:not(.no-transform) {
	margin-top: auto;
	height: auto !important;
	line-height: 1.4 !important;
	overflow: visible !important;
}
ul.products li.product .product-loop-meta .animated-meta,
.products .product:hover .product-loop-meta:not(.no-transform) .animated-meta,
.product-loop-meta:not(.no-transform) .animated-meta:focus-within {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	-webkit-transform: none !important;
	transform: none !important;
	transition: none !important;
}
ul.products li.product .product-loop-meta .price {
	display: block;
	margin: 0;
	line-height: 1.3;
}

/* Always-visible gold button */
ul.products li.product .product-loop-meta .button,
ul.products li.product .product-loop-meta:not(.no-transform) .button,
ul.products li.product .product-loop-meta .added_to_cart {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 44px;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	background-color: var(--ss-gold) !important;
	border: 1px solid var(--ss-gold) !important;
	border-radius: var(--ss-radius) !important;
	color: var(--ss-white) !important;
	font-family: var(--ss-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2 !important;
	text-transform: uppercase;
	text-align: center;
	white-space: normal;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
ul.products li.product .product-loop-meta .button:hover,
ul.products li.product .product-loop-meta .button:focus-visible,
ul.products li.product .product-loop-meta:not(.no-transform) .button:hover,
ul.products li.product .product-loop-meta .added_to_cart:hover {
	background-color: var(--ss-gold-hover) !important;
	border-color: var(--ss-gold-hover) !important;
	color: var(--ss-white) !important;
}
ul.products li.product .product-loop-meta .button .woostify-svg-icon,
ul.products li.product .product-loop-meta .button .woostify-svg-icon svg,
ul.products li.product .product-loop-meta .button .woostify-svg-icon svg path {
	color: var(--ss-white) !important;
	fill: currentColor !important;
	margin: 0;
}
/* WooCommerce adds a "View cart" link after an AJAX add; keep it tidy and readable */
ul.products li.product .product-loop-meta .added_to_cart:not(.button) {
	background-color: transparent !important;
	border-color: var(--ss-gold) !important;
	color: var(--ss-ink) !important;
}

/* ------------------------------------------------------------------
   Mini cart / cart drawer (#shop-cart-sidebar) and cart widget
   ------------------------------------------------------------------ */
#shop-cart-sidebar .woocommerce-mini-cart__buttons,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
	display: flex;
	gap: 10px;
	padding-top: 14px;
}
#shop-cart-sidebar .woocommerce-mini-cart__buttons a,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a.button,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a.checkout,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:not(.checkout),
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button {
	flex: 1 1 0;
	width: auto !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 48px !important;
	min-height: 48px;
	padding: 0 14px !important;
	margin: 0 !important;
	background-color: var(--ss-gold) !important;
	border: 1px solid var(--ss-gold) !important;
	border-radius: var(--ss-radius) !important;
	color: var(--ss-white) !important;
	font-family: var(--ss-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none !important;
	line-height: 1.2;
}
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:hover,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:focus,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:focus-visible,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:active,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:not(.checkout):hover,
#shop-cart-sidebar .woocommerce-mini-cart__buttons a.checkout:hover,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button:hover,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons a.button:focus {
	background-color: var(--ss-gold-hover) !important;
	border-color: var(--ss-gold-hover) !important;
	color: var(--ss-white) !important;
	text-decoration: none !important;
}
#shop-cart-sidebar .woocommerce-mini-cart__buttons a:focus-visible {
	outline: 2px solid var(--ss-ink);
	outline-offset: 2px;
}

/* Subtotal: amount matches the "Subtotal:" label */
.woocommerce-mini-cart__total,
.woocommerce-mini-cart__total strong,
.woocommerce-mini-cart__total .amount,
.woocommerce-mini-cart__total .woocommerce-Price-amount,
#shop-cart-sidebar .woocommerce-mini-cart__total .amount {
	color: var(--ss-ink) !important;
}

/* Mini cart items */
#shop-cart-sidebar .mini-cart-product-infor a,
#shop-cart-sidebar .woocommerce-mini-cart-item a:not(.remove) {
	color: var(--ss-ink);
	font-family: var(--ss-serif);
}
#shop-cart-sidebar .mini-cart-product-infor a:hover { color: var(--ss-gold); }
#shop-cart-sidebar .shop-cart-count,
.cart-sidebar-head .shop-cart-count {
	background-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
}
#shop-cart-sidebar .woostify-empty-cart .button,
#shop-cart-sidebar .continue-shopping {
	background-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
	border-radius: var(--ss-radius) !important;
	text-decoration: none !important;
}
#shop-cart-sidebar .woostify-empty-cart .button:hover,
#shop-cart-sidebar .continue-shopping:hover {
	background-color: var(--ss-gold-hover) !important;
	color: var(--ss-white) !important;
}

/* ------------------------------------------------------------------
   Remaining theme blue in WooCommerce areas -> site palette
   (cart, checkout, product, account pages)
   ------------------------------------------------------------------ */
.woocommerce-cart-form__contents tbody .product-subtotal,
.woocommerce-cart-form__contents tbody .product-subtotal .amount,
.cart_totals .shop_table .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .order-total,
.woocommerce-checkout-review-order-table .order-total .amount,
#order_review .shop_table .woocommerce-Price-amount,
.woocommerce-table--order-details .product-name a,
.woocommerce-mini-cart__total .amount,
.product-nav-item .product-nav-item-price,
.woocommerce-thankyou-order-received,
.woocommerce-tabs li.active a,
.default-widget a strong,
#secondary .chosen a,
#secondary .chosen .count,
#secondary .widget .current-cat > a,
#secondary .widget .current-cat > span,
.has-multi-step-checkout .multi-step-item {
	color: var(--ss-ink) !important;
}
.woocommerce-thankyou-order-received { border-color: var(--ss-gold) !important; }

.woocommerce-cart a:not(.button):not(.checkout-button):hover,
.woocommerce-checkout a:not(.button):hover,
.woocommerce-account a:not(.button):hover,
.single-product .summary a:not(.button):hover,
.woocommerce-form-login-toggle .woocommerce-info a:hover,
.woocommerce-form-coupon-toggle .woocommerce-info a:hover,
.review-information-link:hover,
.product-nav-item:hover > a,
#secondary .widget a:not(.tag-cloud-link):hover {
	color: var(--ss-gold) !important;
}
.woocommerce-cart a:not(.button):not(.checkout-button),
.woocommerce-checkout a:not(.button),
.woocommerce-account .woocommerce-MyAccount-content a:not(.button),
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-coupon-toggle .woocommerce-info a {
	color: var(--ss-ink);
	text-decoration-color: var(--ss-gold);
}

/* Account navigation */
.woocommerce-MyAccount-navigation a { color: var(--ss-ink); }
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { color: var(--ss-gold) !important; }

/* Buttons on cart, checkout, account (classic and block) */
.woocommerce-cart .checkout-button,
.woocommerce .cart .button,
.woocommerce-cart-form .button,
.woocommerce-account .button,
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-checkout #place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button:not(.is-link) {
	background-color: var(--ss-gold) !important;
	border-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
	border-radius: var(--ss-radius) !important;
	text-decoration: none !important;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce .cart .button:hover,
.woocommerce-cart-form .button:hover,
.woocommerce-account .button:hover,
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover,
.woocommerce-checkout #place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:not(.is-link):hover,
.woocommerce-cart .checkout-button:focus,
.woocommerce-checkout #place_order:focus,
.wc-block-components-button:not(.is-link):focus {
	background-color: var(--ss-gold-hover) !important;
	border-color: var(--ss-gold-hover) !important;
	color: var(--ss-white) !important;
	text-decoration: none !important;
}
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit !important; }

/* Block cart/checkout links and focus rings */
.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--ss-ink) !important;
}
.wc-block-components-product-name:hover,
.wp-block-woocommerce-checkout a:hover,
.wp-block-woocommerce-cart a:hover {
	color: var(--ss-gold) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-radio-control__input:checked {
	border-color: var(--ss-gold) !important;
	box-shadow: 0 0 0 1px var(--ss-gold) !important;
}
.wc-block-components-radio-control__input:checked::before { background: var(--ss-gold) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked { background: var(--ss-gold) !important; border-color: var(--ss-gold) !important; }

/* Notices, sale badge, pagination, progress bar */
.woocommerce-message,
.woocommerce-info,
.woocommerce-store-notice {
	background-color: var(--ss-cream) !important;
	color: var(--ss-ink) !important;
	border-top-color: var(--ss-gold) !important;
}
.woocommerce-message a,
.woocommerce-info a { color: var(--ss-ink) !important; }
.woocommerce-message .button,
.woocommerce-info .button {
	background-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
}
.pagination li .page-numbers.current,
.woocommerce-pagination li .page-numbers.current {
	background-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
}
.free-shipping-progress-bar .progress-bar-indicator {
	background: var(--ss-gold) !important;
}
#scroll-to-top {
	background-color: var(--ss-ink) !important;
	color: var(--ss-white) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--ss-gold) !important;
	color: var(--ss-white) !important;
}

/* Shop toolbar */
.woocommerce-result-count {
	font-size: 13px;
	color: var(--ss-muted);
}
.woocommerce-ordering select {
	background-color: var(--ss-white);
	font-size: 13px;
}

/* Sidebar filters (shop) */
.widget-title,
.widget .widget-title,
.sidebar-widgets .widget-title {
	font-family: var(--ss-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ss-ink);
	border-bottom: 1px solid var(--ss-sand);
	padding-bottom: 10px;
}
.widget_product_categories a,
.wc-block-product-categories a {
	color: var(--ss-muted);
}

/* Single product */
.single-product .product_title {
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.15;
	margin-bottom: 12px;
}
.single-product .summary .price,
.single-product div.product p.price,
.single-product div.product span.price {
	color: var(--ss-gold-hover);
	font-size: 24px;
	font-weight: 500;
}
.single-product .product_meta {
	font-size: 13px;
	color: var(--ss-muted);
	border-top: 1px solid var(--ss-sand);
	padding-top: 16px;
}
.single-product table.variations label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ss-ink);
}
.single-product table.variations select {
	min-height: 46px;
	padding: 0 12px;
}
.single-product .quantity .qty {
	border: 1px solid var(--ss-sand);
	border-radius: var(--ss-radius);
}
.single-product .single_add_to_cart_button {
	min-height: 50px;
	padding-left: 32px;
	padding-right: 32px;
}
.woocommerce-tabs ul.tabs li a {
	font-family: var(--ss-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ss-muted);
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--ss-ink);
	border-color: var(--ss-gold);
}
.related.products > h2,
.upsells.products > h2 {
	font-size: 28px;
	margin-bottom: 24px;
}
.product-gallery .flex-control-thumbs img,
.product-thumbnail-images img {
	border-radius: var(--ss-radius);
}
.woostify-variation-swatches .swatch,
.variations .swatch-label {
	border-radius: var(--ss-radius);
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--ss-gold);
	background: var(--ss-cream);
	color: var(--ss-ink);
}

/* Trust strip */
.ss-trust {
	background: var(--ss-cream);
	border-top: 1px solid var(--ss-sand);
	padding: 32px 16px;
}
.ss-trust__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.ss-trust__item {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--ss-white);
	border: 1px solid var(--ss-sand);
	border-radius: var(--ss-radius);
	padding: 16px 20px;
}
.ss-trust__item svg {
	flex: none;
	width: 26px;
	height: 26px;
	fill: none;
	stroke: var(--ss-gold);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.ss-trust__item strong {
	display: block;
	font-family: var(--ss-serif);
	font-weight: 400;
	font-size: 16px;
	color: var(--ss-ink);
}
.ss-trust__item span {
	display: block;
	font-size: 13px;
	color: var(--ss-muted);
}

/* Newsletter band (before footer, every page) */
.ss-newsletter {
	background: var(--ss-sand);
	padding: 64px 16px;
}
.ss-newsletter__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
}
.ss-newsletter__eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ss-gold-hover);
}
.ss-newsletter__title {
	margin: 0 0 12px;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.1;
}
.ss-newsletter__copy p:last-child {
	margin: 0;
	max-width: 46ch;
	color: var(--ss-muted);
}
.ss-newsletter__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	margin: 0;
}
.ss-newsletter__form input[type="email"] {
	min-height: 52px;
	padding: 0 16px;
	background: var(--ss-white);
	font-size: 15px;
	width: 100%;
}
.ss-newsletter__form .button {
	min-height: 52px;
	padding: 0 28px;
	margin: 0;
}
.ss-newsletter__form .button:disabled { opacity: 0.6; cursor: wait; }
.ss-newsletter__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}
.ss-newsletter__note,
.ss-newsletter__msg {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 13px;
	color: var(--ss-muted);
}
.ss-newsletter__msg:empty { display: none; }
.ss-newsletter__msg.is-success { color: #3f6b3a; }
.ss-newsletter__msg.is-error { color: #a23b2a; }

/* Footer */
.site-footer {
	margin-top: 0 !important;
	background: var(--ss-ink);
	color: var(--ss-sand);
}
.site-footer a,
.site-footer .site-info,
.site-footer .site-info a {
	color: var(--ss-sand);
}
.site-footer a:hover { color: var(--ss-gold); }
.ss-footer {
	max-width: 1200px;
	margin: 0 auto;
	padding: 56px 0 32px;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
	border-bottom: 1px solid rgba(233, 225, 214, 0.15);
}
.ss-footer p { margin: 0; color: rgba(233, 225, 214, 0.75); font-size: 14px; max-width: 42ch; }
.ss-footer__logo {
	font-family: var(--ss-serif);
	font-style: italic;
	font-size: 26px !important;
	color: var(--ss-cream) !important;
	margin-bottom: 12px !important;
}
.ss-footer__title {
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ss-gold) !important;
	margin-bottom: 14px !important;
}
.ss-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ss-footer li { font-size: 14px; }
.ss-footer li span { color: rgba(233, 225, 214, 0.6); }

/* Homepage (Elementor) helpers */
.ss-home ul.products { margin-bottom: 0; }

/* Product grid columns on tablet and mobile (follows Woostify's tablet-/mobile-columns-N classes) */
@media (min-width: 601px) and (max-width: 991px) {
	ul.products { --ss-cols: 2; gap: 24px 20px; }
	ul.products.tablet-columns-1 { --ss-cols: 1; }
	ul.products.tablet-columns-2 { --ss-cols: 2; }
	ul.products.tablet-columns-3 { --ss-cols: 3; }
	ul.products.tablet-columns-4 { --ss-cols: 4; }
}
@media (max-width: 600px) {
	ul.products { --ss-cols: 1; gap: 20px; }
	ul.products.mobile-columns-1 { --ss-cols: 1; }
	ul.products.mobile-columns-2 { --ss-cols: 2; gap: 16px 12px; }
	ul.products.mobile-columns-2 li.product .product-loop-content { padding: 14px 12px 16px; }
	ul.products.mobile-columns-2 li.product .woocommerce-loop-product__title { font-size: 15px; min-height: calc(15px * 1.35 * 2); }
	ul.products.mobile-columns-2 li.product .product-loop-meta .button { padding: 10px 8px !important; font-size: 12px; letter-spacing: 0.04em; }
}

/* Mobile */
@media (max-width: 768px) {
	.site-branding .site-title,
	.site-branding .site-title a,
	.site-branding a { font-size: 22px; }
	.ss-trust__inner { grid-template-columns: 1fr; }
	.ss-newsletter { padding: 48px 16px; }
	.ss-newsletter__inner { grid-template-columns: 1fr; gap: 24px; }
	.ss-newsletter__form { grid-template-columns: 1fr; }
	.ss-newsletter__form .button { width: 100%; }
	.ss-footer {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
		padding: 40px 16px 24px;
	}
	.ss-footer__brand { grid-column: 1 / -1; }
	.single-product .single_add_to_cart_button { width: 100%; }
	.single-product form.cart:not(.variations_form),
	.single-product .woocommerce-variation-add-to-cart {
		position: sticky;
		bottom: 0;
		z-index: 20;
		background: var(--ss-white);
		border-top: 1px solid var(--ss-sand);
		padding: 12px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	ul.products li.product img { transition: none; }
	ul.products li.product:hover img { transform: none; }
}
