/*
Theme Name: GoStore Child
Theme URI: https://demo.theme-sky.com/gostore/
Author: Theme Sky Team
Author URI: http://theme-sky.com/
Description: A Premium and Responsive WordPress theme, designed for E-Commerce websites
Template: gostore
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, left-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: gostore-child

/* Adjust container width and spacing */
.woocommerce-checkout {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
}

/* Individual sections within the checkout page */
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout #customer_details {
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
}

/* Section titles */
.woocommerce-checkout h3 {
    font-size: 24px;
    margin-bottom: 15px;
    color: #333;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce-checkout-review-order-table,
    .woocommerce-checkout #customer_details {
        padding: 15px;
    }
}



/* =====================================================
   Product card revamp (drk-card) — 2026-06
   Markup: woocommerce/content-product.php in this theme
   ===================================================== */
.products section.drk-card {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s ease, transform .25s ease;
}
.products section.drk-card:hover {
	box-shadow: 0 10px 28px rgba(0, 0, 0, .10);
	transform: translateY(-2px);
}

/* Image area: square, hover swaps to first gallery image */
.drk-card .drk-media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f7f7f7;
}
.drk-card .drk-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .3s ease, transform .4s ease;
}
.drk-card .drk-img-back { opacity: 0; }
.drk-card:hover .drk-img-back { opacity: 1; }
.drk-card:hover .drk-media img { transform: scale(1.04); }

.drk-card .drk-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	background: #e53935;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	padding: 5px 9px;
	border-radius: 999px;
}
.drk-card .drk-badge-stock { background: #6b7280; top: auto; bottom: 10px; }

/* Text + CTA */
.drk-card .drk-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px 14px 14px;
	text-align: left;
	flex: 1;
}
.drk-card .drk-title {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	font-weight: 500;
	min-height: 2.8em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.drk-card .drk-title a { color: #1d1d1f; }
.drk-card .drk-title a:hover { color: #000; }

.drk-card .drk-rating .star-rating { font-size: 11px; margin: 0; }

.drk-card .drk-price { font-size: 15px; color: #111; }
.drk-card .drk-price ins { text-decoration: none; font-weight: 700; }
.drk-card .drk-price del { color: #9ca3af; font-size: 13px; font-weight: 400; margin-right: 6px; }
.drk-card .drk-price .woocommerce-Price-amount { font-weight: 700; }
.drk-card .drk-price del .woocommerce-Price-amount { font-weight: 400; }

.drk-card .drk-cta { margin-top: auto; padding-top: 4px; }
.drk-card .drk-cta .drk-btn {
	display: block;
	width: 100%;
	text-align: center;
	background: #111;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .02em;
	padding: 11px 12px;
	border-radius: 8px;
	border: 0;
	line-height: 1.2;
	transition: background .2s ease;
}
.drk-card .drk-cta .drk-btn:hover { background: #333; color: #fff; }
.drk-card .drk-cta .drk-btn.loading { opacity: .6; pointer-events: none; }
.drk-card .drk-cta .drk-btn-ghost { background: #fff; color: #111; border: 1px solid #d1d5db; }
.drk-card .drk-cta .drk-btn-ghost:hover { background: #f3f4f6; }
/* Hide the post-AJAX "View cart" follow-up link; the mini-cart handles it */
.drk-card .drk-cta .added_to_cart { display: none; }

@media (max-width: 767px) {
	.drk-card .drk-body { padding: 10px 10px 12px; }
	.drk-card .drk-title { font-size: 13px; }
	.drk-card .drk-cta .drk-btn { padding: 10px; font-size: 12px; }
}

/* Related/upsell carousels (Owl): items have no gutter, so inset the card.
   Bottom margin gives the hover shadow room inside the clipped stage. */
.products.owl-carousel .owl-item .drk-card {
	margin: 4px 8px 14px;
}


/* =====================================================
   Catalogue grid spacing (drk) — 2026-06
   Theme ships .products as a gapless flexbox (cards touch /
   1px overlap, ugly with bordered cards). Override to CSS grid
   with real gutters — but ONLY for containers that directly hold
   product cards (:has(> .product)). The /shop/ landing nests its
   category tiles in div.list-categories, so that container is left
   on the theme's native layout (gridding it squished everything
   into one column). Carousels (owl) excluded. If a browser lacks
   :has(), the rule is ignored and layout falls back to the theme's
   original flex — cramped but not broken.
   ===================================================== */
.products:not(.owl-carousel):has(> .product) {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 12px !important;
	margin-left: 0;
	margin-right: 0;
}
.products:not(.owl-carousel):has(> .product) > .product {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
@media (min-width: 768px)  { .products:not(.owl-carousel):has(> .product) { grid-template-columns: repeat(3, 1fr) !important; gap: 16px !important; } }
@media (min-width: 1024px) { .products:not(.owl-carousel):has(> .product) { grid-template-columns: repeat(4, 1fr) !important; gap: 18px !important; } }
@media (min-width: 1280px) { .products:not(.owl-carousel):has(> .product) { grid-template-columns: repeat(5, 1fr) !important; gap: 20px !important; } }


/* =====================================================
   Single product revamp (drk) — clean, conversion-focused
   2026-06. Markup targets verified against live DOM:
   .summary.entry-summary > rating, h1.product_title, p.price,
   form.cart (.quantity + .single_add_to_cart_button.alt),
   a.ts-buy-now-button, .yith-wcwl-add-to-wishlist, .meta-content.
   ===================================================== */
.single-product div.summary.entry-summary { font-size: 15px; }
.single-product .summary .woocommerce-product-rating { margin: 0 0 8px; }
.single-product .summary h1.product_title.entry-title { font-size: 22px; line-height: 1.25; font-weight: 600; margin: 4px 0 10px; }

/* Price */
.single-product .summary p.price { margin: 6px 0 2px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.single-product .summary p.price ins { text-decoration: none; }
.single-product .summary p.price ins .amount,
.single-product .summary p.price > .amount { font-size: 26px; font-weight: 700; color: #111; }
.single-product .summary p.price del { opacity: 1; }
.single-product .summary p.price del .amount { font-size: 16px; color: #9ca3af; font-weight: 400; }
.single-product .summary p.price .screen-reader-text { position: absolute; left: -9999px; }

/* Savings line (PHP-injected after price) */
.soz-savings { display: inline-block; background: #fdecef; color: #c0392b; font-size: 13px; font-weight: 600; padding: 3px 10px; border-radius: 999px; margin: 4px 0 12px; }

/* Cart row: qty + add to cart */
.single-product form.cart { display: flex; align-items: stretch; gap: 10px; margin: 10px 0 8px; flex-wrap: wrap; }
.single-product form.cart .quantity { flex: 0 0 auto; }
.single-product form.cart .quantity input.qty { height: 52px; width: 66px; text-align: center; border: 1px solid #d1d5db; border-radius: 10px; font-size: 16px; }
.single-product .single_add_to_cart_button.button.alt { flex: 1 1 auto; min-width: 180px; height: 52px; border-radius: 10px; background: #111; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .02em; border: 0; display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease; }
.single-product .single_add_to_cart_button.button.alt:hover { background: #333; }

/* Buy Now: kept as secondary (user did not opt to remove it) */
.single-product a.ts-buy-now-button { display: flex; align-items: center; justify-content: center; height: 50px; width: 100%; max-width: none; border-radius: 10px; background: #fff; color: #111; border: 1.5px solid #111; font-weight: 700; font-size: 15px; margin: 0 0 10px; }
.single-product a.ts-buy-now-button:hover { background: #f3f4f6; color: #111; }

/* Wishlist: subtle */
.single-product .yith-wcwl-add-to-wishlist { margin: 2px 0 14px; font-size: 13px; }

/* Meta: kept (not condensed) — just tidied */
.single-product .meta-content { font-size: 13px; color: #6b7280; line-height: 1.7; border-top: 1px solid #eee; padding-top: 12px; margin-top: 6px; }
.single-product .meta-content a { color: #374151; }
.single-product .ts-social-sharing { margin-top: 10px; }

/* Tabs / description */
.single-product .woocommerce-tabs { margin-top: 24px; }

/* Gallery thumbnails — horizontal scroll strip on mobile so they don't push
   the buy box down (products carry up to ~19 images). Desktop untouched. */
@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px;
		padding: 8px 0 4px; margin: 8px 0 0; list-style: none;
		-webkit-overflow-scrolling: touch; scrollbar-width: thin;
	}
	.single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 auto; width: 64px; margin: 0; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 8px; border: 1px solid #eee; }
}

/* Sticky mobile Add-to-Cart bar */
#soz-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: none; }
@media (max-width: 767px) {
	#soz-sticky-atc {
		display: flex; align-items: center; gap: 10px; background: #fff;
		border-top: 1px solid #e5e7eb; box-shadow: 0 -4px 16px rgba(0,0,0,.10);
		padding: 8px 12px; transform: translateY(115%); transition: transform .25s ease;
	}
	#soz-sticky-atc.show { transform: translateY(0); }
	#soz-sticky-atc .soz-sb-info { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }
	#soz-sticky-atc img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
	#soz-sticky-atc .soz-sb-title { display: block; font-size: 13px; font-weight: 600; color: #111; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 42vw; }
	#soz-sticky-atc .soz-sb-price { display: block; font-size: 13px; color: #111; }
	#soz-sticky-atc .soz-sb-price del { color: #9ca3af; font-weight: 400; font-size: 11px; margin-right: 4px; }
	#soz-sticky-atc .soz-sb-price ins { text-decoration: none; font-weight: 700; }
	#soz-sticky-atc .soz-sb-price .screen-reader-text { display: none; }
	#soz-sticky-atc .soz-sb-btn { flex: 0 0 auto; background: #111; color: #fff; border: 0; border-radius: 9px; font-weight: 700; font-size: 14px; padding: 12px 18px; }
}


/* =====================================================
   Related/upsell owl carousel gutter fix (drk) — 2026-06
   Earlier fix put margin on the .drk-card, but the card already
   fills the full owl-item width (186px), so the margin overflowed
   the slot and adjacent cards butted together (0px gap). Correct
   approach: pad the owl-item itself (border-box) so the card insets
   WITHIN its slot, creating real gutters without overflow.
   ===================================================== */
.products.owl-carousel .owl-item { box-sizing: border-box; padding: 4px 7px 16px; }
.products.owl-carousel .owl-item .drk-card { margin: 0 !important; }


/* =====================================================
   Buy Now secondary button — make the revamp styling actually apply.
   The theme forces `#page .summary .ts-buy-now-button{background:transparent
   !important}` and, for variable products, a float/transform layout hack
   (`#page .product-type-variable .summary .ts-buy-now-button{margin-top:-40px;
   transform:translateX(280px)}`) that shoves the button sideways in our
   stacked, full-width mobile layout. Beat both with higher specificity +
   !important. (added 2026-06-13)
   ===================================================== */
.single-product #page .summary a.ts-buy-now-button {
	background: #fff !important;
	color: #111 !important;
	border: 1.5px solid #111 !important;
	margin: 0 0 10px !important;
	transform: none !important;
	float: none !important;
	clear: both !important;
}
.single-product #page .summary a.ts-buy-now-button:hover {
	background: #f3f4f6 !important;
	color: #111 !important;
}


/* =====================================================================
   Site-wide header restyle — brand black + gold (2026-06).
   Modernises the existing gostore .ts-header (already black + gold logo)
   to match the new home: clean white nav with gold hover, fixes the
   off-brand purple WooCommerce store-notice bar, refines icons/search.
   Menu structure + functionality untouched. Does NOT load on the home
   (front-page.php has its own header; child style.css is stripped there).
   ===================================================================== */

/* Store notice (was purple) -> brand black + gold */
.woocommerce-store-notice,
p.woocommerce-store-notice,
.woocommerce-store-notice.demo_store {
	background: #0c0a09 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	text-align: center !important;
	border: 0 !important;
	box-shadow: none !important;
}
.woocommerce-store-notice a,
.woocommerce-store-notice__dismiss-link {
	color: #d19c36 !important;
	text-decoration: underline !important;
}

/* Header bars: solid brand black */
#page .ts-header .header-middle,
#page .ts-header .header-bottom,
#page .ts-header .header-sticky {
	background-color: #0c0a09 !important;
}
#page .ts-header .header-bottom {
	border-top: 1px solid rgba(255,255,255,.07);
}

/* Main mega-menu links: white, gold on hover / active */
#page .ts-header .main-menu > li > a {
	color: #ffffff;
	font-weight: 600;
	letter-spacing: .015em;
	transition: color .2s ease;
}
#page .ts-header .main-menu > li:hover > a,
#page .ts-header .main-menu > li.current-menu-item > a,
#page .ts-header .main-menu > li.current-menu-parent > a {
	color: #d19c36 !important;
}
#page .ts-header .main-menu .ts-menu-drop-icon,
#page .ts-header .main-menu > li > a .ts-menu-drop-icon { color: #d3a44a; }

/* Header icons (cart / account / search / wishlist): white -> gold hover */
#page .ts-header .header-right a,
#page .ts-header .cart-icon > a,
#page .ts-header .my-account-wrapper > a,
#page .ts-header .search-wrapper,
#page .ts-header .header-right .icon { color: #ffffff; }
#page .ts-header .header-right a:hover,
#page .ts-header .cart-icon > a:hover,
#page .ts-header .my-account-wrapper > a:hover { color: #d19c36 !important; }

/* Cart count bubble = brand red */
#page .ts-header .cart-icon .cart-number,
#page .ts-header .mini-cart .cart-number {
	background: #f50000 !important;
	color: #fff !important;
}

/* Search field: rounded pill, subtle on the dark bar */
#page .ts-header .header-search-form,
#page .ts-header .search-wrapper form,
#page .ts-header form.search-form {
	border-radius: 40px !important;
	overflow: hidden;
}

/* Sticky bar: keep clean, slight lift */
#page .ts-header .header-sticky.is-sticky,
#page .ts-header.minimized .header-sticky {
	box-shadow: 0 6px 22px rgba(0,0,0,.18);
}

/* Recently-viewed / enquiries strip text on dark */
#page .ts-header .header-bottom .ts-header-recently-viewed-products,
#page .ts-header .header-bottom a { color: #d8cdbb; }
#page .ts-header .header-bottom a:hover { color: #d19c36; }

/* Store notice: in normal flow so it never overlays the header logo */
body.woocommerce-demo-store .woocommerce-store-notice.demo_store,
body.woocommerce-demo-store p.woocommerce-store-notice{position:static !important;top:auto !important;}

/* ===== Header dropdown + search + nav fixes (Garnier-style, 2026-06) ===== */
/* Top-level nav: white on the black bar, gold on hover/active (correct selector: .main-menu is a <nav> wrapping ul.menu) */
#page .ts-header .main-menu ul.menu > li > a{ color:#fff !important; font-weight:600; letter-spacing:.015em; }
#page .ts-header .main-menu ul.menu > li:hover > a,
#page .ts-header .main-menu ul.menu > li.current-menu-item > a,
#page .ts-header .main-menu ul.menu > li.current-menu-parent > a{ color:#d19c36 !important; }

/* Dropdown / mega-menu panels: clean WHITE panel, dark text, gold accents (Garnier-style) */
#page .ts-header .main-menu .sub-menu,
#page .ts-header .main-menu li ul.sub-menu,
#page .ts-header .main-menu .ts-mega-menu{
	background:#ffffff !important;
	border:0 !important;
	border-top:3px solid #d19c36 !important;
	box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
	border-radius:0 0 12px 12px !important;
	padding:10px 0 !important;
}
#page .ts-header .main-menu .sub-menu li{ border:0 !important; background:transparent !important; }
#page .ts-header .main-menu .sub-menu a{
	color:#222222 !important; font-weight:500 !important;
	padding:9px 22px !important; transition:color .15s ease, background .15s ease;
}
#page .ts-header .main-menu .sub-menu a:hover,
#page .ts-header .main-menu .sub-menu li:hover > a,
#page .ts-header .main-menu .sub-menu li.current-menu-item > a{
	color:#b07f23 !important; background:#faf4e7 !important;
}
#page .ts-header .main-menu .sub-menu .ts-menu-drop-icon{ color:#b07f23 !important; }

/* Search: clean rounded pill on the dark bar */
#page .ts-header .ts-search-by-category,
#page .ts-header .ts-search-by-category form,
#page .ts-header .search-wrapper form,
#page .ts-header form.search-form{
	border-radius:40px !important; overflow:hidden !important;
	background:#ffffff !important; border:0 !important;
}
#page .ts-header .ts-search-by-category .select-category{
	background:#ffffff !important; color:#555555 !important; border:0 !important;
	border-right:1px solid #ececec !important; font-weight:600;
}
#page .ts-header .ts-search-by-category input[type="text"],
#page .ts-header .search-field,
#page .ts-header .ts-search-by-category .search-field{ background:#ffffff !important; color:#222 !important; }
#page .ts-header .ts-search-by-category button,
#page .ts-header .search-wrapper button[type="submit"]{ color:#161616 !important; }
#page .ts-header .ts-search-by-category button:hover{ color:#d19c36 !important; }

/* Show the account icon on the mobile header bar so "My Account" can be removed from the menu (2026-06) */
#page .ts-header .header-right .my-account-wrapper.hidden-phone{display:flex !important;align-items:center}
#page .ts-header .header-right .my-account-wrapper .account-control > a{color:#fff}
#page .ts-header .header-right .my-account-wrapper .account-control > a:hover{color:#d19c36}
@media(max-width:767px){#page .ts-header .header-right .my-account-wrapper.hidden-phone{margin-left:2px}}

@media(max-width:767px){
  /* icon-only account on mobile header (the bottom bar already labels Login) */
  #page .ts-header .header-right .my-account-wrapper .account-control > a > span{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* Fix account hover dropdown positioning — anchor under the icon (was floating left of body) */
#page .ts-header .header-right .my-account-wrapper{position:relative !important}
#page .ts-header .header-right .my-account-wrapper .account-dropdown-form,
#page .ts-header .header-right .my-account-wrapper .dropdown-container{left:auto !important;right:0 !important;transform:none !important;top:100% !important;z-index:300}


/* =====================================================================
   Header v2 polish (2026-06) — mobile-first, world-class beauty brand.
   Pairs with gostore-child/templates/headers/header-v1.php (adds .soz-hdr)
   and the soz-header-tweaks mu-plugin (hides empty "0" badges). Builds on
   the black + gold restyle above; scoped to .soz-hdr so nothing leaks.
   ===================================================================== */

/* Hide empty count badges (class toggled by soz-header-tweaks JS) — a
   premium store never shows a "0". */
.cart-number.soz-zero,
.tini-wishlist .count-number.soz-zero,
.ic-cart .cart-number.soz-zero{ display:none !important; }

/* Drop the dated "Menu" text label beside the mobile toggle (keep the icon) */
.soz-hdr .ts-mobile-icon-toggle::before{ content:none !important; }

/* Count bubbles: tighter, brand red, ringed so they read on the icon corner.
   (Theme already positions them absolute top-right — keep that.) */
#page .ts-header.soz-hdr .cart-number,
#page .ts-header.soz-hdr .count-number{
	background:#f50000 !important; color:#fff !important;
	min-width:18px; height:18px !important; line-height:14px !important;
	font-size:10px !important; font-weight:700 !important;
	border-radius:9px !important; padding:0 4px !important;
	border:2px solid #0c0a09 !important; box-sizing:border-box;
}

/* Desktop header icons: a touch more air between account / wishlist / cart */
#page .ts-header.soz-hdr .header-right{ align-items:center; }
#page .ts-header.soz-hdr .header-right > div{ margin-left:20px; }

/* Announcement (WooCommerce store notice): slim, premium, "×" not "Dismiss".
   Keep it in normal flow (relative, NOT absolute) so it never overlays the
   logo — overrides the earlier position:static rule. */
body.woocommerce-demo-store .woocommerce-store-notice.demo_store,
body.woocommerce-demo-store p.woocommerce-store-notice,
.woocommerce-store-notice,
p.woocommerce-store-notice{
	position:relative !important;
	padding:9px 42px 9px 16px !important;
	font-size:12.5px !important; letter-spacing:.04em !important; line-height:1.45 !important;
}
.woocommerce-store-notice__dismiss-link{
	position:absolute !important; right:13px; top:50%; transform:translateY(-50%);
	font-size:0 !important; text-decoration:none !important;
	width:22px; height:22px; border-radius:50%;
	display:inline-flex !important; align-items:center; justify-content:center;
	opacity:.85; transition:opacity .15s ease, background .15s ease;
}
.woocommerce-store-notice__dismiss-link:hover{ opacity:1; background:rgba(255,255,255,.12); }
.woocommerce-store-notice__dismiss-link:after{
	content:"\00d7"; font-size:18px !important; color:#e7c87f !important; font-weight:400; line-height:1;
}

/* Desktop "info" / recently-viewed strip under the menu: drop the empty
   "recently viewed" clutter, push the (now clean) enquiries line to the right. */
#page .ts-header.soz-hdr .header-bottom .ts-header-recently-viewed-products{ display:none !important; }
#page .ts-header.soz-hdr .header-bottom .info{ margin-left:auto; }
#page .ts-header.soz-hdr .header-bottom .info p{ margin:0; font-size:12.5px; color:#cfc4ad; font-weight:500; }
#page .ts-header.soz-hdr .header-bottom .info a{ color:#e7c87f; }
#page .ts-header.soz-hdr .header-bottom .info a:hover{ color:#d19c36; }

/* ---- MOBILE (<=767): one brand row [☰ | logo | account+cart], search below ---- */
@media(max-width:767px){
	#page .ts-header.soz-hdr .header-middle > .container{
		display:flex !important; flex-wrap:wrap; align-items:center;
		row-gap:11px; column-gap:8px; padding-top:11px; padding-bottom:11px;
	}
	/* equal-flex sides => the logo sits perfectly centred between them */
	#page .ts-header.soz-hdr .header-middle > .container > .ts-mobile-icon-toggle{
		order:1; flex:1 1 0 !important; width:auto !important; display:flex !important;
		align-items:center; justify-content:flex-start; margin:0; text-align:left;
	}
	#page .ts-header.soz-hdr .header-middle > .container > .logo-wrapper.visible-phone{
		order:2; flex:0 0 auto; display:block !important; text-align:center; margin:0; padding:0;
	}
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone img{
		max-height:42px; width:auto; display:inline-block;
	}
	#page .ts-header.soz-hdr .header-middle > .container > .header-right{
		order:3; flex:1 1 0 !important; display:flex !important;
		align-items:center; justify-content:flex-end; gap:16px; margin:0;
	}
	#page .ts-header.soz-hdr .header-middle .header-right > div{ margin:0 !important; }
	/* account first, cart rightmost */
	#page .ts-header.soz-hdr .header-middle .header-right .my-account-wrapper{ order:1; }
	#page .ts-header.soz-hdr .header-middle .header-right .shopping-cart-wrapper{ order:2; }
	/* search drops to its own full-width row */
	#page .ts-header.soz-hdr .header-middle > .container > .search-wrapper{
		order:4; flex:0 0 100% !important; width:100% !important; margin:0; padding:0;
	}
	/* hide the desktop logo on mobile */
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.hidden-phone{ display:none !important; }
	/* search pill: full-width, comfortable tap height */
	#page .ts-header.soz-hdr .search-wrapper .ts-search-by-category,
	#page .ts-header.soz-hdr .search-wrapper .ts-search-by-category form{ width:100% !important; }
	#page .ts-header.soz-hdr .search-wrapper input[type="text"],
	#page .ts-header.soz-hdr .search-wrapper .search-field{ height:46px !important; }
	/* keep account icon-only and visible on the mobile bar */
	#page .ts-header.soz-hdr .header-right .my-account-wrapper.hidden-phone{ display:flex !important; align-items:center; }
	/* slim announcement on mobile */
	.woocommerce-store-notice,
	p.woocommerce-store-notice{ font-size:12px !important; padding:8px 38px 8px 14px !important; }
}

/* Mobile logo fix: gostore_theme_logo() prints 3 <img> variants
   (.normal-logo/.mobile-logo/.sticky-logo); the theme shows one per context.
   In the relocated mobile brand-row logo, show only one — capped. */
@media(max-width:767px){
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone .normal-logo,
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone .sticky-logo{ display:none !important; }
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone .mobile-logo{
		display:inline-block !important; max-height:46px !important; width:auto !important; margin:0 auto;
	}
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone .logo,
	#page .ts-header.soz-hdr .header-middle .logo-wrapper.visible-phone .logo > a{ display:inline-block !important; line-height:0; }
}

/* =====================================================================
   Header icons — consistent look + behaviour (2026-06-14)
   The theme rendered the ACCOUNT glyph gold at rest while wishlist & cart
   were white. Unify: all three white at rest, brand-gold on hover. Also
   brand the account login dropdown to match the Garnier-style nav panels,
   and suppress the hover login panel on touch (mobile taps go to the page).
   ===================================================================== */

/* Uniform icon glyphs — white at rest, gold on hover */
#page .ts-header.soz-hdr .header-right .my-account-wrapper .account-control > a:before,
#page .ts-header.soz-hdr .header-right .my-wishlist-wrapper a.tini-wishlist:before,
#page .ts-header.soz-hdr .header-right .shopping-cart-wrapper .ic-cart:before{
	color:#ffffff !important;
	font-size:19px !important;
	line-height:1 !important;
	transition:color .18s ease;
}
#page .ts-header.soz-hdr .header-right .my-account-wrapper:hover .account-control > a:before,
#page .ts-header.soz-hdr .header-right .my-wishlist-wrapper:hover a.tini-wishlist:before,
#page .ts-header.soz-hdr .header-right .shopping-cart-wrapper:hover .ic-cart:before{
	color:#d19c36 !important;
}
/* align the three on one baseline */
#page .ts-header.soz-hdr .header-right .my-account-wrapper,
#page .ts-header.soz-hdr .header-right .my-wishlist-wrapper,
#page .ts-header.soz-hdr .header-right .shopping-cart-wrapper{ display:flex; align-items:center; }

/* Account login dropdown — white Garnier-style panel + branded button */
#page .ts-header.soz-hdr .my-account-wrapper .account-dropdown-form,
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container{
	border-top:3px solid #d19c36 !important;
	border-radius:0 0 12px 12px !important;
	box-shadow:0 18px 44px rgba(0,0,0,.18) !important;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-title{
	font-size:16px !important; font-weight:700 !important; color:#161616 !important; letter-spacing:.02em;
}
#page .ts-header.soz-hdr .my-account-wrapper .login-submit input,
#page .ts-header.soz-hdr .my-account-wrapper .login-submit input[type="submit"]{
	background:#161616 !important; color:#ffffff !important; border:0 !important;
	border-radius:40px !important; padding:11px 28px !important; font-weight:700 !important;
	letter-spacing:.04em; transition:background .18s ease, color .18s ease; cursor:pointer;
}
#page .ts-header.soz-hdr .my-account-wrapper .login-submit input:hover{
	background:#d19c36 !important; color:#161616 !important;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container input[type="text"],
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container input[type="password"]{
	border:1px solid #e2e2e2 !important; border-radius:8px !important;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container input[type="text"]:focus,
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container input[type="password"]:focus{
	border-color:#d19c36 !important; outline:none !important; box-shadow:0 0 0 2px rgba(209,156,54,.15) !important;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-footer a:hover{ color:#d19c36 !important; }

/* Mobile/touch: no hover login overlay — the tap just opens /my-account/ */
@media(max-width:767px){
	#page .ts-header.soz-hdr .header-right .my-account-wrapper .dropdown-container,
	#page .ts-header.soz-hdr .header-right .my-account-wrapper:hover .dropdown-container{ display:none !important; }
}

/* Logged-in account dropdown menu links (My Account / Logout) were inheriting
   white from ".header-right a" and rendering invisible on the white dropdown
   panel. Make them dark on white, gold on hover — matches the nav sub-menus. (2026-06-14) */
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content ul{ margin:0; padding:4px 0; list-style:none; }
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li{ margin:0; }
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li a{
	color:#222222 !important; font-weight:600; display:block; padding:9px 6px;
	border-radius:7px; transition:color .15s ease, background .15s ease;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li a:hover{
	color:#b07f23 !important; background:#faf4e7;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li a.log-out{
	color:#a23b2e !important; border-top:1px solid #eee; margin-top:4px; padding-top:11px;
}
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li a.log-out:hover{
	color:#f50000 !important; background:#fdeceb;
}

/* Logged-in account dropdown: compact, premium menu spacing (the full WC menu can be 8+ items). 2026-06-14 */
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content ul{ padding:4px 0 !important; margin:0 !important; }
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li{ margin:0 !important; }
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-container .form-content li a{ padding:8px 10px !important; font-size:13.5px !important; line-height:1.25 !important; }
#page .ts-header.soz-hdr .my-account-wrapper .dropdown-title.soz-acct-hi{ font-size:12.5px !important; letter-spacing:.04em; color:#9c7320 !important; padding:0 10px 10px !important; margin:0 0 4px !important; border-bottom:1px solid #eee; text-transform:none; }

/* ===================================================================
   Cart experience polish (2026-06) — pairs with the CFW glass-template
   recolour + the soz cart settings pass.
   =================================================================== */
/* Header mini-cart "View Cart" button was invisible (white text on the white
   dropdown, inheriting .header-right a color) — gold-outline secondary button. */
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.view-cart{
	border:2px solid #d19c36 !important; color:#161616 !important; background:#ffffff !important;
	font-weight:700 !important; border-radius:40px !important; text-align:center;
}
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.view-cart:hover{
	background:#faf4e7 !important; color:#b07f23 !important;
}
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.checkout-button{
	background:#d19c36 !important; color:#ffffff !important; border:0 !important;
	border-radius:40px !important; font-weight:700 !important;
}
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.checkout-button:hover{ background:#b07f23 !important; }

/* Free-shipping celebration toast (plugin default green #27ae60) -> brand */
#fs-celebration-toast{
	background:#0c0a09 !important; color:#e7c87f !important;
	border:1px solid #d19c36 !important; box-shadow:0 12px 30px rgba(0,0,0,.3) !important;
}

/* Cart-page shipment radios were browser-blue — gold to match checkout */
.woocommerce-cart .cart_totals input[type="radio"],
.woocommerce-cart .shop_table input[type="radio"],
.woocommerce-cart .shipping input[type="radio"],
.woocommerce .woocommerce-shipping-methods input[type="radio"]{ accent-color:#d19c36 !important; }


/* ===== Mobile slide-out menu: active/current item gold, not the sale-red theme accent (2026-06) ===== */
/* The desktop mega-menu already golds the current item (above); the mobile sidebar (#vertical-menu-sidebar /
   .ts-floating-sidebar / .mobile-menu-wrapper) was still inheriting GoStore's #f50000 customizer accent,
   so the current page (e.g. HOME) rendered in the sale-red. Brand-gold it to match desktop. */
#vertical-menu-sidebar ul.menu li.current-menu-item > a,
#vertical-menu-sidebar ul.menu li.current_page_item > a,
#vertical-menu-sidebar ul.menu li.current-menu-parent > a,
#vertical-menu-sidebar ul.menu li.current-menu-ancestor > a,
#vertical-menu-sidebar ul.sub-menu li.current-menu-item > a,
.ts-floating-sidebar ul.menu li.current-menu-item > a,
.ts-floating-sidebar ul.menu li.current_page_item > a,
.ts-floating-sidebar ul.menu li.current-menu-parent > a,
.mobile-menu-wrapper ul.menu li.current-menu-item > a,
.mobile-menu-wrapper ul.menu li.current_page_item > a { color:#d19c36 !important; }

/* ===== Mini-cart (header cart hover): product title was white-on-white (2026-06) ===== */
/* gostore_tiny_cart prints the name in h3.product-name a; inside .header-right it
   inherited white (.header-right a / $ts_product_name_text_color) so the title was
   invisible on the white dropdown. Same white-on-white class as the account dropdown. */
#page .ts-header .shopping-cart-wrapper .dropdown-container h3.product-name,
#page .ts-header .shopping-cart-wrapper .dropdown-container h3.product-name a,
#page .ts-header .shopping-cart-wrapper .cart_list h3.product-name a{ color:#222222 !important; }
#page .ts-header .shopping-cart-wrapper .dropdown-container h3.product-name a:hover{ color:#d19c36 !important; }
#page .ts-header .shopping-cart-wrapper .dropdown-container .clear-cart-button{ color:#b07f23 !important; }

/* ============================================================
 * PRODUCT PAGE REVAMP v2 (2026-06) — premium / conversion / mobile-first
 * ============================================================ */
/* Brand-gold Add to Cart (was solid black) — consistent with cart/checkout/M-PESA CTAs */
.single-product .single_add_to_cart_button.button.alt{ background:#d19c36 !important; color:#0c0a09 !important; box-shadow:0 6px 16px rgba(209,156,54,.28); }
.single-product .single_add_to_cart_button.button.alt:hover{ background:#b07f23 !important; color:#fff !important; }

/* Trust / reassurance row under the buy box */
.single-product .summary .soz-pp-trust{ list-style:none; margin:16px 0 6px; padding:14px 2px; display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; border-top:1px solid #ececec; border-bottom:1px solid #ececec; }
.single-product .summary .soz-pp-trust li{ display:flex; align-items:center; gap:9px; margin:0; padding:0; }
.single-product .summary .soz-pp-trust .soz-ic{ flex:0 0 auto; width:30px; height:30px; color:#d19c36; display:inline-flex; align-items:center; justify-content:center; }
.single-product .summary .soz-pp-trust .soz-ic svg{ width:27px; height:27px; }
.single-product .summary .soz-pp-trust .soz-tx{ display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.single-product .summary .soz-pp-trust .soz-tx b{ font-size:12.5px; color:#161616; font-weight:700; }
.single-product .summary .soz-pp-trust .soz-tx small{ font-size:11px; color:#6b7280; }

/* De-clutter the meta block: compact + muted; hide the noisy tag list & any social share */
.single-product .summary .product_meta,
.single-product .summary .sku-wrapper{ font-size:12px; color:#9aa0a6; line-height:1.7; margin-top:10px; }
.single-product .summary .product_meta > span,
.single-product .summary .product_meta .posted_in,
.single-product .summary .product_meta .sku-wrapper{ display:block; margin:1px 0; }
.single-product .summary .product_meta a{ color:#6b7280; }
.single-product .summary .product_meta a:hover{ color:#b07f23; }
.single-product .summary .tagged_as{ display:none !important; }
.single-product .summary .social-share,
.single-product .summary .ts-social-share,
.single-product .summary .product-share,
.single-product .summary .woocommerce-product-sharing{ display:none !important; }

/* Stock pill — make "In Stock" read as a positive signal */
.single-product .summary .stock.in-stock{ color:#0a7d28; font-weight:600; }

/* Trust row must clear the theme's floated cart/wishlist and span full width */
.single-product .summary .soz-pp-trust{ clear:both !important; width:100% !important; float:none !important; }
.single-product .summary form.cart{ width:100%; }
.single-product .summary .yith-wcwl-add-to-wishlist{ clear:both; }

/* Hide the long tag list in the summary (theme markup is .tags-link, not .tagged_as) */
.single-product .summary .tags-link{ display:none !important; }

/* ===== Reviews — branded (gold stars, clean cards, gold submit) ===== */
.single-product .star-rating span::before,
.single-product .star-rating::before,
.woocommerce #reviews .star-rating span::before,
.woocommerce #reviews .star-rating::before{ color:#d19c36 !important; }
.single-product .summary .woocommerce-product-rating{ margin:4px 0 10px; }
.single-product .summary .woocommerce-product-rating .woocommerce-review-link{ color:#6b7280; font-size:13px; }

#reviews .woocommerce-Reviews-title{ font-size:20px; font-weight:700; color:#0c0a09; margin:0 0 16px; }
#reviews ol.commentlist{ list-style:none; margin:0; padding:0; }
#reviews ol.commentlist li.review{ border:1px solid #ececec; border-radius:12px; padding:16px; margin:0 0 14px; background:#fff; box-shadow:0 2px 8px rgba(12,10,9,.04); }
#reviews ol.commentlist .comment_container{ display:flex; gap:12px; align-items:flex-start; }
#reviews ol.commentlist img.avatar{ width:44px; height:44px; border-radius:50%; border:0; position:static; float:none; margin:0; }
#reviews .comment-text p.meta{ font-size:13px; color:#6b7280; margin:2px 0 6px; }
#reviews .comment-text strong.woocommerce-review__author{ color:#161616; font-weight:700; }

#review_form_wrapper{ background:#faf7f0; border:1px solid #efe4cf; border-radius:14px; padding:18px; margin-top:10px; }
#review_form .comment-reply-title{ font-size:17px; font-weight:700; color:#0c0a09; }
#review_form .comment-form-rating label{ display:block; margin:6px 0 4px; font-weight:600; color:#161616; }
#review_form p.stars a{ color:#d19c36 !important; }
#review_form p.comment-form-comment label,
#review_form .comment-form-author label,
#review_form .comment-form-email label{ font-weight:600; color:#161616; }
#review_form input[type=text], #review_form input[type=email], #review_form textarea{ border:1px solid #d8dee4; border-radius:10px; padding:11px 13px; width:100%; font-size:15px; box-sizing:border-box; }
#review_form .form-submit input.submit{ background:#d19c36; color:#0c0a09; border:0; border-radius:10px; height:48px; padding:0 26px; font-weight:700; font-size:15px; cursor:pointer; transition:background .2s; }
#review_form .form-submit input.submit:hover{ background:#b07f23; color:#fff; }

#reviews .woocommerce-noreviews{ background:#fafafa; border:1px dashed #ddd; border-radius:12px; padding:18px; color:#6b7280; text-align:center; }

/* ============================================================
 * PRODUCT PAGE REVAMP — Batches 3-5 (rich content, gallery, swatches, cross-sell)
 * ============================================================ */

/* --- Batch 3: ATF benefit chips --- */
.single-product .summary .soz-chips{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 2px; padding:0; }
.single-product .summary .soz-chips li{ display:inline-flex; align-items:center; gap:5px; background:#faf4e7; border:1px solid #efe0bf; color:#7a5a16; font-size:12.5px; font-weight:600; padding:5px 11px 5px 8px; border-radius:999px; margin:0; }
.single-product .summary .soz-chips li svg{ width:15px; height:15px; color:#d19c36; flex:0 0 auto; }

/* --- Batch 3: rich content sections --- */
.soz-pp-rich{ max-width:1100px; margin:28px auto 8px; padding:0 16px; clear:both; }
.soz-pp-sec{ margin:0 0 32px; }
.soz-pp-sec h2{ font-size:21px; font-weight:700; color:#0c0a09; margin:0 0 16px; position:relative; padding-bottom:9px; }
.soz-pp-sec h2:after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:#d19c36; border-radius:2px; }
.soz-pp-cards{ display:grid; grid-template-columns:1fr; gap:12px; }
@media(min-width:600px){ .soz-pp-cards{ grid-template-columns:1fr 1fr; } }
.soz-pp-card{ display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid #ececec; border-radius:12px; padding:14px 15px; box-shadow:0 2px 8px rgba(12,10,9,.04); }
.soz-pp-card .soz-ic{ flex:0 0 auto; width:34px; height:34px; border-radius:9px; background:#faf4e7; color:#d19c36; display:inline-flex; align-items:center; justify-content:center; }
.soz-pp-card .soz-ic svg{ width:20px; height:20px; }
.soz-pp-card b{ display:block; font-size:14.5px; color:#161616; }
.soz-pp-card small{ display:block; font-size:13px; color:#6b7280; line-height:1.55; margin-top:2px; }

/* How-to steps */
.soz-pp-steps{ list-style:none; counter-reset:soz; margin:0; padding:0; display:grid; gap:12px; }
.soz-pp-steps li{ display:flex; gap:13px; align-items:flex-start; margin:0; }
.soz-pp-steps .soz-num{ counter-increment:soz; flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#0c0a09; color:#d19c36; font-weight:700; font-size:14px; display:inline-flex; align-items:center; justify-content:center; }
.soz-pp-steps .soz-num:before{ content:counter(soz); }
.soz-pp-steps b{ display:block; font-size:14.5px; color:#161616; }
.soz-pp-steps small{ display:block; font-size:13px; color:#6b7280; margin-top:2px; }

/* FAQ accordion */
.soz-pp-acc details{ border:1px solid #ececec; border-radius:11px; margin:0 0 10px; background:#fff; overflow:hidden; }
.soz-pp-acc summary{ list-style:none; cursor:pointer; padding:15px 44px 15px 16px; font-weight:600; color:#161616; font-size:15px; position:relative; }
.soz-pp-acc summary::-webkit-details-marker{ display:none; }
.soz-pp-acc summary:after{ content:"+"; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:22px; color:#d19c36; line-height:1; }
.soz-pp-acc details[open] summary:after{ content:"\2212"; }
.soz-pp-acc .soz-pp-ans{ padding:0 16px 16px; color:#4b5563; font-size:14px; line-height:1.6; }

/* --- Batch 4: gallery polish --- */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{ border-radius:14px; }
.single-product .flex-control-thumbs li img,
.single-product .woocommerce-product-gallery .flex-control-thumbs img{ border-radius:9px; border:1.5px solid transparent; transition:border-color .15s; }
.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover{ border-color:#d19c36; }
.single-product span.onsale,
.single-product .woocommerce-product-gallery .onsale{ background:#f50000 !important; color:#fff !important; border-radius:999px !important; font-weight:700 !important; padding:5px 12px !important; box-shadow:0 4px 12px rgba(245,0,0,.25); }

/* --- Batch 4: variation swatches --- */
.single-product .soz-sel-hidden{ position:absolute !important; opacity:0 !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; pointer-events:none !important; }
.single-product .soz-swatches{ display:flex; flex-wrap:wrap; gap:9px; margin:6px 0 4px; }
.single-product .soz-swatch{ appearance:none; cursor:pointer; background:#fff; border:1.5px solid #d8dee4; color:#161616; border-radius:10px; padding:9px 15px; font-size:14px; font-weight:600; line-height:1.1; transition:all .15s; }
.single-product .soz-swatch:hover{ border-color:#d19c36; }
.single-product .soz-swatch.active{ border-color:#d19c36; background:#faf4e7; color:#7a5a16; box-shadow:0 0 0 2px rgba(209,156,54,.2); }

/* --- Batch 5: sticky buy-bar button → gold (match new ATC); cross-sell heading --- */
#soz-sticky-atc .soz-sb-btn{ background:#d19c36 !important; color:#0c0a09 !important; }
.single-product .up-sells.upsells > h2,
.single-product .up-sells.products > h2{ font-size:21px; font-weight:700; color:#0c0a09; position:relative; padding-bottom:9px; }
.single-product .up-sells.upsells > h2:after,
.single-product .up-sells.products > h2:after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:#d19c36; border-radius:2px; }

/* ---- Quantity stepper: unify [−][ n ][+] into one pill matching the gold ATC ---- */
.single-product form.cart .quantity{ flex:0 0 auto; }
.single-product form.cart .quantity .number-button{ display:inline-flex; align-items:stretch; border:1px solid #d1d5db; border-radius:12px; overflow:hidden; height:52px; background:#fff; }
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus{ -webkit-appearance:none; appearance:none; width:44px; min-width:44px; height:52px !important; border:0 !important; background:#f7f7f5; color:#161616; font-size:20px; font-weight:600; line-height:1; cursor:pointer; padding:0; margin:0; border-radius:0 !important; transition:background .15s, color .15s; }
.single-product form.cart .quantity .minus:hover,
.single-product form.cart .quantity .plus:hover{ background:#d19c36; color:#fff; }
.single-product form.cart .quantity input.qty{ height:52px !important; width:48px !important; border:0 !important; border-left:1px solid #ececec !important; border-right:1px solid #ececec !important; border-radius:0 !important; text-align:center; font-size:16px; background:#fff; box-shadow:none !important; -moz-appearance:textfield; }
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* keep qty + gold button on one row, button fills the rest */
.single-product form.cart{ align-items:center; }

/* Stepper fix: theme positions .minus/.plus absolutely (collapsing the flex pill to ~53px and
   clipping under overflow:hidden). Force them into normal flow so [-][n][+] lays out correctly. */
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus{ position:static !important; top:auto !important; left:auto !important; right:auto !important; bottom:auto !important; transform:none !important; float:none !important; }
.single-product form.cart .quantity input.qty{ padding:0 !important; }
.single-product form.cart .quantity .number-button{ width:auto !important; }

/* ============================================================
 * REFER & EARN landing (.soz-ref) + AutomateWoo Referrals share UI
 * ============================================================ */
.soz-ref{ max-width:1000px; margin:0 auto; }
.soz-ref-hero{ background:linear-gradient(160deg,#0c0a09,#221c15); color:#fff; border-radius:18px; padding:40px 22px 32px; text-align:center; margin:10px 0 28px; }
.soz-ref-eyebrow{ display:inline-block; letter-spacing:.18em; text-transform:uppercase; font-size:12px; font-weight:700; color:#d19c36; border:1px solid rgba(209,156,54,.5); border-radius:999px; padding:5px 14px; margin-bottom:16px; }
.soz-ref-hero h1{ color:#fff !important; font-size:30px; line-height:1.15; font-weight:800; margin:0 0 12px; }
.soz-ref-hero h1 em{ color:#d19c36; font-style:normal; }
.soz-ref-sub{ color:#e7ded3 !important; font-size:15px; line-height:1.6; max-width:560px; margin:0 auto 22px; }
.soz-ref-sub strong{ color:#e7c87f; }
.soz-ref-box{ background:#fff; color:#161616; border-radius:14px; padding:20px 18px; max-width:560px; margin:0 auto; text-align:center; }
.soz-ref-box p{ color:#161616; }
.soz-ref-steps{ margin:0 0 32px; }
.soz-ref-steps h2, .soz-ref-faq h2{ text-align:center; font-size:24px; font-weight:800; color:#0c0a09; margin:0 0 22px; }
.soz-ref-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:760px){ .soz-ref-grid{ grid-template-columns:repeat(3,1fr); } }
.soz-ref-step{ background:#fff; border:1px solid #ececec; border-radius:14px; padding:24px 20px; text-align:center; box-shadow:0 4px 16px rgba(12,10,9,.05); }
.soz-ref-num{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:#0c0a09; color:#d19c36; font-size:20px; font-weight:800; margin-bottom:14px; }
.soz-ref-step b{ display:block; font-size:16px; color:#161616; margin-bottom:6px; }
.soz-ref-step small{ display:block; font-size:13.5px; color:#6b7280; line-height:1.6; }
.soz-ref-faq{ max-width:680px; margin:0 auto 38px; }
.soz-ref-faq details{ border:1px solid #ececec; border-radius:12px; margin:0 0 10px; background:#fff; overflow:hidden; }
.soz-ref-faq summary{ list-style:none; cursor:pointer; padding:16px 46px 16px 18px; font-weight:600; color:#161616; position:relative; }
.soz-ref-faq summary::-webkit-details-marker{ display:none; }
.soz-ref-faq summary:after{ content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:22px; color:#d19c36; }
.soz-ref-faq details[open] summary:after{ content:"\2212"; }
.soz-ref-faq details > div{ padding:0 18px 16px; color:#4b5563; font-size:14px; line-height:1.6; }

/* --- AutomateWoo Referrals share UI (brand it; kill off-brand purple) --- */
.aw-referrals-well{ background:#faf7f0 !important; border:1px solid #efe4cf !important; border-radius:12px !important; padding:18px !important; text-align:center; }
.aw-referrals-well h3, .aw-referrals-well h4{ color:#0c0a09 !important; margin-top:0 !important; }
.aw-referrals-share-container .button,
.aw-referrals-well .woocommerce-Button,
.aw-referrals-well .button,
.soz-ref-box .button{ background:#0c0a09 !important; color:#fff !important; border:0 !important; border-radius:10px !important; padding:12px 24px !important; font-weight:700 !important; box-shadow:none !important; }
.aw-referrals-share-container .button:hover,
.aw-referrals-well .button:hover,
.soz-ref-box .button:hover{ background:#d19c36 !important; color:#0c0a09 !important; }
/* My-account / "My Earnings" link + any AW secondary button -> brand gold (was purple) */
.aw-referrals-account-link,
a.aw-referrals-account-link,
.aw-referrals-share-page .button.alt,
.aw-referrals-well .button.alt,
.soz-ref a.button.alt{ background:#d19c36 !important; color:#0c0a09 !important; border:0 !important; }
.aw-referrals-account-link:hover, .soz-ref a.button.alt:hover{ background:#b07f23 !important; color:#fff !important; }
/* referral link input */
.aw-referrals-share-container input[type=text],
.aw-referrals-share-container input[readonly]{ border:1px solid #d8dee4 !important; border-radius:10px !important; padding:11px 13px !important; }
.aw-referrals-share-or{ color:#9aa0a6 !important; margin:12px 0; }
/* Advocate dashboard (My Account -> Referrals) store-credit emphasis */
.woocommerce-MyAccount-content .aw-referrals-well strong{ color:#b07f23; }

/* ============================================================
 * GENERAL PAGES — 404, Search, shared buttons (2026-06)
 * ============================================================ */
.soz-btn-primary{ display:inline-flex; align-items:center; justify-content:center; background:#d19c36; color:#0c0a09 !important; font-weight:700; border-radius:10px; padding:13px 24px; text-decoration:none; border:0; }
.soz-btn-primary:hover{ background:#b07f23; color:#fff !important; }
.soz-btn-ghost{ display:inline-flex; align-items:center; justify-content:center; background:transparent; color:#0c0a09 !important; font-weight:700; border:1.5px solid #0c0a09; border-radius:10px; padding:12px 24px; text-decoration:none; }
.soz-btn-ghost:hover{ background:#0c0a09; color:#fff !important; }

.soz-404{ max-width:640px; margin:0 auto; padding:50px 18px 70px; text-align:center; }
.soz-404-code{ display:inline-block; font-size:84px; font-weight:800; line-height:1; color:#d19c36; }
.soz-404 h1{ font-size:26px; font-weight:800; color:#0c0a09; margin:10px 0 8px; }
.soz-404-sub{ color:#6b7280; font-size:15px; margin:0 auto 22px; max-width:440px; }
.soz-404-search, .soz-search-form{ display:flex; max-width:440px; margin:0 auto 20px; border:1px solid #d8dee4; border-radius:12px; overflow:hidden; background:#fff; }
.soz-404-search input[type=search], .soz-search-form input[type=search]{ flex:1; border:0 !important; padding:13px 16px; font-size:15px; background:transparent; min-width:0; box-shadow:none !important; }
.soz-404-search button, .soz-search-form button{ border:0; background:#0c0a09; color:#fff; font-weight:700; padding:0 20px; cursor:pointer; }
.soz-404-search button:hover, .soz-search-form button:hover{ background:#d19c36; color:#0c0a09; }
.soz-404-links{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
.soz-404-cats-label{ display:block; text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:#9aa0a6; font-weight:700; margin-bottom:12px; }
.soz-404-chips{ display:flex; flex-wrap:wrap; gap:9px; justify-content:center; }
.soz-404-chips a{ background:#faf4e7; border:1px solid #efe0bf; color:#7a5a16 !important; border-radius:999px; padding:7px 15px; font-size:13px; font-weight:600; text-decoration:none; }
.soz-404-chips a:hover{ background:#d19c36; color:#0c0a09 !important; border-color:#d19c36; }

.soz-search{ max-width:860px; margin:0 auto; padding:30px 18px 60px; }
.soz-search-head{ text-align:center; margin-bottom:26px; }
.soz-search-eyebrow{ text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:700; color:#d19c36; }
.soz-search-head h1{ font-size:24px; font-weight:800; color:#0c0a09; margin:6px 0 18px; }
.soz-search-results{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.soz-search-item{ display:flex; gap:14px; align-items:center; background:#fff; border:1px solid #ececec; border-radius:12px; padding:14px; }
.soz-search-thumb img{ width:64px; height:64px; object-fit:cover; border-radius:9px; }
.soz-search-body{ min-width:0; }
.soz-search-title{ display:block; font-weight:700; color:#161616 !important; text-decoration:none; font-size:15.5px; }
.soz-search-title:hover{ color:#b07f23 !important; }
.soz-search-price{ display:block; color:#0c0a09; font-weight:600; margin:3px 0; }
.soz-search-price del{ color:#9ca3af; font-weight:400; }
.soz-search-price ins{ text-decoration:none; color:#f50000; }
.soz-search-excerpt{ color:#6b7280; font-size:13.5px; margin:3px 0; }
.soz-search-link{ color:#b07f23 !important; font-size:13px; font-weight:600; text-decoration:none; }
.soz-search-empty{ text-align:center; padding:30px 0; color:#6b7280; }
.soz-search-empty p{ margin-bottom:16px; }
.soz-search-pagination{ margin-top:24px; text-align:center; }
.soz-search-pagination .page-numbers{ display:inline-block; padding:8px 13px; margin:0 3px; border:1px solid #e5e5e5; border-radius:8px; color:#161616; text-decoration:none; }
.soz-search-pagination .page-numbers.current{ background:#0c0a09; color:#fff; border-color:#0c0a09; }

/* ===== Branded content pages: About / Contact / Delivery / FAQ (.soz-page) ===== */
.soz-page{ max-width:860px; margin:0 auto; padding:10px 16px 50px; }
.soz-page-hero{ text-align:center; padding:30px 0 8px; }
.soz-page-eyebrow{ text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:700; color:#d19c36; }
.soz-page-hero h1{ font-size:30px; font-weight:800; color:#0c0a09; margin:10px 0 12px; line-height:1.15; }
.soz-page-hero h1 em{ color:#d19c36; font-style:normal; }
.soz-page-lead{ color:#4b5563; font-size:16px; line-height:1.65; max-width:620px; margin:0 auto; }
.soz-page-lead strong{ color:#161616; }
.soz-page-body{ margin-top:28px; }
.soz-page-body h2{ font-size:22px; font-weight:800; color:#0c0a09; margin:30px 0 16px; position:relative; padding-bottom:9px; }
.soz-page-body h2:after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:#d19c36; border-radius:2px; }
.soz-page-body p{ color:#4b5563; line-height:1.7; }
.soz-cards{ display:grid; grid-template-columns:1fr; gap:14px; margin:6px 0 8px; }
@media(min-width:620px){ .soz-cards{ grid-template-columns:1fr 1fr; } }
.soz-card{ background:#fff; border:1px solid #ececec; border-radius:14px; padding:18px; box-shadow:0 3px 12px rgba(12,10,9,.04); }
.soz-card b{ display:block; font-size:16px; color:#161616; margin-bottom:6px; }
.soz-card p{ font-size:14px; color:#6b7280; line-height:1.6; margin:0; }
.soz-card a{ color:#b07f23; font-weight:600; }
.soz-page-cta{ text-align:center; margin:28px 0 6px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.soz-page-social{ text-align:center; color:#6b7280; font-size:14px; margin-top:14px; }
.soz-page-social a{ color:#b07f23; font-weight:600; }
.soz-table{ width:100%; border-collapse:collapse; margin:6px 0 8px; font-size:14.5px; }
.soz-table th{ text-align:left; background:#0c0a09; color:#fff; padding:11px 13px; font-weight:700; }
.soz-table td{ padding:11px 13px; border-bottom:1px solid #eee; color:#374151; }
.soz-table tr:last-child td{ background:#faf4e7; font-weight:600; color:#161616; }
.soz-steps{ list-style:none; counter-reset:s; margin:0; padding:0; display:grid; gap:12px; }
.soz-steps li{ counter-increment:s; display:flex; gap:13px; align-items:flex-start; }
.soz-steps li:before{ content:counter(s); flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#0c0a09; color:#d19c36; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
.soz-steps b{ display:block; color:#161616; } .soz-steps span{ color:#6b7280; font-size:14px; }
.soz-acc details{ border:1px solid #ececec; border-radius:11px; margin:0 0 10px; background:#fff; overflow:hidden; }
.soz-acc summary{ list-style:none; cursor:pointer; padding:15px 46px 15px 16px; font-weight:600; color:#161616; position:relative; }
.soz-acc summary::-webkit-details-marker{ display:none; }
.soz-acc summary:after{ content:"+"; position:absolute; right:16px; top:50%; transform:translateY(-50%); font-size:22px; color:#d19c36; }
.soz-acc details[open] summary:after{ content:"\2212"; }
.soz-acc details > div{ padding:0 16px 16px; color:#4b5563; line-height:1.6; font-size:14px; }
.soz-acc a{ color:#b07f23; font-weight:600; }

/* ===== Policy/legal readability (Privacy/Refund/Our Policies) — content untouched ===== */
.page-id-10 .entry-content, .page-id-7466 .entry-content, .page-id-7457 .entry-content{ max-width:820px; margin-left:auto; margin-right:auto; line-height:1.75; color:#374151; }
.page-id-10 .entry-content h1, .page-id-10 .entry-content h2, .page-id-10 .entry-content h3,
.page-id-7466 h2, .page-id-7457 h2{ color:#0c0a09 !important; }
.page-id-10 .entry-content a, .page-id-7466 a, .page-id-7457 a{ color:#b07f23; }

/* ===== My Account dashboard ===== */
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0 0 20px; padding:0; border:1px solid #ececec; border-radius:12px; overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid #f1f1f1; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{ border-bottom:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:13px 16px; color:#161616 !important; font-weight:600; text-decoration:none; transition:background .15s,color .15s; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background:#faf4e7; color:#b07f23 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active{ border-left:3px solid #d19c36; }
.woocommerce-account .woocommerce-MyAccount-content{ color:#374151; line-height:1.7; }
.woocommerce-account .woocommerce-MyAccount-content a{ color:#b07f23; }
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account form.login .button, .woocommerce-account form.register .button{ background:#d19c36 !important; color:#0c0a09 !important; border:0 !important; border-radius:10px !important; font-weight:700 !important; }
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account form.login .button:hover, .woocommerce-account form.register .button:hover{ background:#b07f23 !important; color:#fff !important; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message,
.woocommerce-account .woocommerce-MyAccount-content mark{ background:#faf4e7; color:#161616; }

/* ===== Cart page ===== */
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .cart-collaterals h2{ color:#0c0a09; font-weight:800; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button.alt{ background:#d19c36 !important; color:#0c0a09 !important; border:0 !important; border-radius:12px !important; font-weight:800 !important; padding:15px !important; font-size:15px !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:#b07f23 !important; color:#fff !important; }
.woocommerce-cart table.cart td.product-name a{ color:#161616 !important; font-weight:600; }
.woocommerce-cart table.cart td.product-name a:hover{ color:#b07f23 !important; }
.woocommerce-cart .cart_totals table{ border:1px solid #ececec; border-radius:12px; overflow:hidden; }
.woocommerce-cart .actions .button,
.woocommerce-cart .coupon .button{ border-radius:10px !important; }
.woocommerce-cart .coupon .input-text{ border-radius:10px !important; }
.woocommerce-cart .actions .button[name=update_cart]{ background:#0c0a09 !important; color:#fff !important; }

/* ============================================================
 * MINI-CART (header hover dropdown) — premium polish (2026-06)
 * ============================================================ */
#page .ts-header .shopping-cart-wrapper .dropdown-container.cart-dropdown-form,
#page .ts-header .shopping-cart-wrapper .cart-dropdown-form.dropdown-container{
  width:370px !important; max-width:92vw; border:0 !important; border-top:3px solid #d19c36 !important;
  border-radius:0 0 14px 14px !important; box-shadow:0 18px 44px rgba(12,10,9,.18) !important; padding:0 !important; right:0 !important; left:auto !important;
}
#page .ts-header .shopping-cart-wrapper .dropdown-container .form-content{ padding:0 !important; }
/* header */
#page .ts-header .shopping-cart-wrapper .dropdown-title{ font-size:14px !important; font-weight:800 !important; color:#0c0a09 !important; text-transform:uppercase; letter-spacing:.05em; padding:15px 16px 13px !important; margin:0 !important; border-bottom:1px solid #f0f0f0; }
#page .ts-header .shopping-cart-wrapper .clear-cart-button{ position:absolute !important; top:15px; right:16px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#b07f23 !important; }
#page .ts-header .shopping-cart-wrapper .clear-cart-button:hover{ color:#f50000 !important; }
/* scroll area */
#page .ts-header .shopping-cart-wrapper .cart-content{ max-height:46vh; overflow-y:auto; padding:0; }
#page .ts-header .shopping-cart-wrapper .cart-content::-webkit-scrollbar{ width:6px; }
#page .ts-header .shopping-cart-wrapper .cart-content::-webkit-scrollbar-thumb{ background:#e0d4b8; border-radius:3px; }
#page .ts-header .shopping-cart-wrapper .cart-content::-webkit-scrollbar-track{ background:#faf7f0; }
/* item rows */
#page .ts-header .shopping-cart-wrapper ul.cart_list{ margin:0 !important; padding:0 !important; list-style:none; }
#page .ts-header .shopping-cart-wrapper ul.cart_list li{ display:flex !important; gap:11px; align-items:flex-start; padding:13px 16px !important; margin:0 !important; border-bottom:1px solid #f3f3f3; position:relative; }
#page .ts-header .shopping-cart-wrapper ul.cart_list li:hover{ background:#faf7f0; }
#page .ts-header .shopping-cart-wrapper .cart_list li .thumbnail{ flex:0 0 auto; width:56px; display:block; }
#page .ts-header .shopping-cart-wrapper .cart_list li .thumbnail img{ width:56px !important; height:56px !important; object-fit:cover; border-radius:9px; border:1px solid #eee; }
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; padding-right:16px; }
#page .ts-header .shopping-cart-wrapper h3.product-name{ margin:0 !important; font-size:13px !important; line-height:1.35 !important; }
#page .ts-header .shopping-cart-wrapper h3.product-name a{ color:#161616 !important; font-weight:600 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper .price{ font-size:12px !important; color:#9aa0a6 !important; }
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper .price ins{ text-decoration:none; }
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper .subtotal{ font-size:13.5px; font-weight:700; color:#0c0a09; margin-top:1px; }
/* compact bordered qty stepper (theme renders absolute minus/plus — force static) */
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper .quantity{ margin:3px 0 1px; }
#page .ts-header .shopping-cart-wrapper .cart-item-wrapper .quantity .number-button{ display:inline-flex; align-items:stretch; border:1px solid #e2e2e2; border-radius:8px; overflow:hidden; height:30px; width:auto !important; }
#page .ts-header .shopping-cart-wrapper .quantity .minus,
#page .ts-header .shopping-cart-wrapper .quantity .plus{ position:static !important; top:auto !important; left:auto !important; right:auto !important; transform:none !important; width:28px; min-width:28px; height:30px !important; border:0 !important; background:#f7f7f5; color:#161616; font-size:15px; line-height:1; padding:0 !important; margin:0 !important; cursor:pointer; border-radius:0 !important; }
#page .ts-header .shopping-cart-wrapper .quantity .minus:hover,
#page .ts-header .shopping-cart-wrapper .quantity .plus:hover{ background:#d19c36; color:#0c0a09; }
#page .ts-header .shopping-cart-wrapper .quantity input.qty{ width:34px !important; height:30px !important; border:0 !important; border-left:1px solid #eee !important; border-right:1px solid #eee !important; border-radius:0 !important; text-align:center; font-size:13px; background:#fff; padding:0 !important; box-shadow:none !important; }
/* remove × */
#page .ts-header .shopping-cart-wrapper .cart_list li a.remove,
#page .ts-header .shopping-cart-wrapper .cart_list li a.remove_from_cart_button{ position:absolute !important; top:11px; right:11px; width:20px; height:20px; line-height:18px !important; text-align:center; border-radius:50%; color:#c0c0c0 !important; font-size:15px !important; background:transparent !important; }
#page .ts-header .shopping-cart-wrapper .cart_list li a.remove:hover{ background:#f50000 !important; color:#fff !important; }
/* footer */
#page .ts-header .shopping-cart-wrapper .dropdown-footer{ padding:14px 16px 16px !important; border-top:1px solid #f0f0f0; background:#fff; }
#page .ts-header .shopping-cart-wrapper .dropdown-footer .total{ display:flex !important; justify-content:space-between; align-items:center; font-size:14px; margin:0 0 12px !important; padding:0 !important; border:0 !important; }
#page .ts-header .shopping-cart-wrapper .dropdown-footer .total .total-title{ color:#6b7280 !important; font-weight:600 !important; text-transform:none; }
#page .ts-header .shopping-cart-wrapper .dropdown-footer .total .woocommerce-Price-amount,
#page .ts-header .shopping-cart-wrapper .dropdown-footer .total .amount{ color:#0c0a09 !important; font-weight:800; font-size:16px; }
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.view-cart,
#page .ts-header .shopping-cart-wrapper .dropdown-footer a.checkout-button{ display:inline-flex !important; align-items:center; justify-content:center; height:44px; border-radius:10px !important; font-weight:700 !important; font-size:13.5px !important; }
