/* ==========================================================================
   Kapow Theme Switcher — palettes
   Two looks, one set of CSS variables. Everything below the token blocks
   just reads the variables, so tweaking a colour is a one-line change.

   Every applied rule is prefixed with html[data-kapow-theme] so it outranks
   the theme and WooCommerce core. With "Colour control" enabled the plugin
   also switches off Storefront's own Customizer colour CSS, so these rules
   are not competing with a second palette.
   ========================================================================== */

/* ---- "Kapow brand" (light) — the default ------------------------------- */
:root,
html[data-kapow-theme="light"] {
	--kp-page:        #fffdf7;
	--kp-surface:     #ffffff;
	--kp-surface-2:   #f6f2e6;
	--kp-surface-3:   #efe9d8;
	--kp-border:      #e6e1d3;
	--kp-text:        #2c2d33;
	--kp-muted:       #6f6e73;

	--kp-header-bg:   #2c2d33;
	--kp-header-text: #ffffff;
	--kp-header-muted:#b9bdc4;
	--kp-nav-bg:      #3a3b42;
	--kp-nav-text:    #ffffff;
	--kp-usp-bg:      #f5c400;
	--kp-usp-text:    #2c2d33;

	--kp-accent:        #f5c400;   /* buttons — logo yellow */
	--kp-accent-hover:  #dcb000;
	--kp-accent-text:   #2c2d33;
	--kp-accent-2:      #d6302b;   /* pre-order / savings — logo red */
	--kp-accent-2-hover:#b62622;
	--kp-accent-2-text: #ffffff;
	--kp-link:        #2f6fd6;     /* logo blue */
	--kp-link-hover:  #1f57b0;
	--kp-price:       #2c2d33;
	--kp-save:        #d6302b;
	--kp-instock:     #1a7a42;

	--kp-hero-bg:     #2f6fd6;
	--kp-hero-text:   #ffffff;
	/* The design's yellow kicker cannot reach WCAG AA on either hero colour —
	   pure yellow tops out below 4.5:1 on this blue — so the kicker takes the
	   hero text colour. Set this back to var(--kp-accent) if the brand look is
	   judged to matter more than AA on that one line. */
	--kp-hero-kicker: #ffffff;
	--kp-footer-bg:   #2c2d33;
	--kp-footer-text: #cfd0d6;
	--kp-footer-head: #f5c400;

	--kp-input-bg:     #ffffff;
	--kp-input-border: #d9d4c6;
	--kp-input-text:   #2c2d33;

	--kp-shadow: 0 1px 2px rgba(44, 45, 51, 0.08);
	--kp-radius: 4px;
	--kp-font-head: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	--kp-head-transform: none;
	--kp-head-weight: 700;
	--kp-head-spacing: -0.01em;

	color-scheme: light;
}

/* ---- "Bold comic-shop" (dark) ------------------------------------------ */
html[data-kapow-theme="dark"] {
	--kp-page:        #14151a;
	--kp-surface:     #1d1f26;
	--kp-surface-2:   #262932;
	--kp-surface-3:   #2f333e;
	--kp-border:      #33363f;
	--kp-text:        #f4f1ea;
	--kp-muted:       #a4a7b1;

	--kp-header-bg:   #0e0f13;
	--kp-header-text: #f4f1ea;
	--kp-header-muted:#a4a7b1;
	--kp-nav-bg:      #1d1f26;
	--kp-nav-text:    #e8e5dc;
	--kp-usp-bg:      #f6c90e;
	--kp-usp-text:    #14151a;

	--kp-accent:        #f6c90e;
	--kp-accent-hover:  #ffd92e;
	--kp-accent-text:   #14151a;
	--kp-accent-2:      #d6302b;
	--kp-accent-2-hover:#e8433e;
	--kp-accent-2-text: #ffffff;
	--kp-link:        #f6c90e;
	--kp-link-hover:  #ffd92e;
	--kp-price:       #f6c90e;
	--kp-save:        #ff6b6b;
	--kp-instock:     #5ad38a;

	--kp-hero-bg:     #d6302b;
	--kp-hero-text:   #ffffff;
	--kp-hero-kicker: #ffffff;
	--kp-footer-bg:   #0e0f13;
	--kp-footer-text: #c9ccd4;
	--kp-footer-head: #f6c90e;

	--kp-input-bg:     #262932;
	--kp-input-border: #3a3d47;
	--kp-input-text:   #f4f1ea;

	--kp-shadow: none;
	--kp-radius: 4px;
	--kp-font-head: "Bebas Neue", "Arial Narrow", Impact, sans-serif;
	--kp-head-transform: uppercase;
	--kp-head-weight: 400;
	--kp-head-spacing: 0.02em;

	color-scheme: dark;
}

/* Smooth swap between looks (skipped for people who prefer reduced motion). */
@media (prefers-reduced-motion: no-preference) {
	html[data-kapow-theme] body,
	html[data-kapow-theme] .site-header,
	html[data-kapow-theme] .site-footer,
	html[data-kapow-theme] .main-navigation,
	html[data-kapow-theme] ul.products li.product,
	html[data-kapow-theme] .widget {
		transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	}
}

/* ==========================================================================
   1. Page, typography, links
   ========================================================================== */

html[data-kapow-theme] body {
	background-color: var(--kp-page);
	color: var(--kp-text);
}

html[data-kapow-theme] a { color: var(--kp-link); }
html[data-kapow-theme] a:hover { color: var(--kp-link-hover); text-decoration: underline; }
html[data-kapow-theme] a:focus,
html[data-kapow-theme] button:focus,
html[data-kapow-theme] input:focus,
html[data-kapow-theme] select:focus,
html[data-kapow-theme] textarea:focus { outline-color: var(--kp-accent); }

html[data-kapow-theme] h1,
html[data-kapow-theme] h2,
html[data-kapow-theme] h3,
html[data-kapow-theme] h4,
html[data-kapow-theme] h5,
html[data-kapow-theme] h6 {
	color: var(--kp-text);
	font-family: var(--kp-font-head);
	font-weight: var(--kp-head-weight);
	letter-spacing: var(--kp-head-spacing);
	text-transform: var(--kp-head-transform);
}

html[data-kapow-theme] .widget h1 { border-bottom-color: var(--kp-border); }
html[data-kapow-theme] hr { border-color: var(--kp-border); }
html[data-kapow-theme] blockquote { border-left-color: var(--kp-accent); color: var(--kp-muted); }
html[data-kapow-theme] code,
html[data-kapow-theme] pre { background-color: var(--kp-surface-2); color: var(--kp-text); }

/* ==========================================================================
   2. Header, navigation, cart dropdown
   ========================================================================== */

html[data-kapow-theme] .site-header,
html[data-kapow-theme] .secondary-navigation ul ul,
html[data-kapow-theme] .secondary-navigation ul.menu ul,
html[data-kapow-theme] .storefront-handheld-footer-bar,
html[data-kapow-theme] .storefront-handheld-footer-bar ul li > a,
html[data-kapow-theme] .storefront-handheld-footer-bar ul li.search .site-search,
html[data-kapow-theme] .site-header .storefront-primary-navigation {
	background-color: var(--kp-header-bg);
	color: var(--kp-header-text);
}
html[data-kapow-theme] p.site-description,
html[data-kapow-theme] .site-header,
html[data-kapow-theme] .storefront-handheld-footer-bar { color: var(--kp-header-muted); }

html[data-kapow-theme] .main-navigation ul li a,
html[data-kapow-theme] .site-title a,
html[data-kapow-theme] ul.menu li a,
html[data-kapow-theme] .site-branding h1 a,
html[data-kapow-theme] .site-header a,
html[data-kapow-theme] .site-footer .storefront-handheld-footer-bar a:not(.button),
html[data-kapow-theme] .site-header-cart .cart-contents,
html[data-kapow-theme] a.cart-contents,
html[data-kapow-theme] .site-header-cart .cart-contents .amount,
html[data-kapow-theme] .site-header-cart .cart-contents .count {
	color: var(--kp-header-text);
}
html[data-kapow-theme] .main-navigation ul li a:hover,
html[data-kapow-theme] .main-navigation ul li:hover > a,
html[data-kapow-theme] .site-title a:hover,
html[data-kapow-theme] a.cart-contents:hover,
html[data-kapow-theme] .site-header-cart:hover > li > a,
html[data-kapow-theme] .site-header ul.menu li.current-menu-item > a {
	color: var(--kp-accent);
}
html[data-kapow-theme] .main-navigation ul.menu > li.menu-item-has-children:after {
	background-color: var(--kp-header-bg);
}

/* Sub-menus and the mini-cart flyout */
html[data-kapow-theme] .main-navigation ul.menu ul.sub-menu,
html[data-kapow-theme] .main-navigation ul.nav-menu ul.children,
html[data-kapow-theme] .site-header-cart .widget_shopping_cart {
	background-color: var(--kp-nav-bg);
	color: var(--kp-nav-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .main-navigation ul.menu ul.sub-menu a,
html[data-kapow-theme] .site-header-cart .widget_shopping_cart a,
html[data-kapow-theme] .site-header .product_list_widget li .quantity { color: var(--kp-nav-text); }
html[data-kapow-theme] .site-header-cart .widget_shopping_cart a:hover { color: var(--kp-accent); }
html[data-kapow-theme] .site-header-cart .widget_shopping_cart .buttons,
html[data-kapow-theme] .site-header-cart .widget_shopping_cart .total {
	background-color: var(--kp-surface-2);
	color: var(--kp-text);
	border-color: var(--kp-border);
}

/* Mobile menu toggle — bars are background-coloured pseudo elements, not text. */
html[data-kapow-theme] button.menu-toggle,
html[data-kapow-theme] button.menu-toggle:hover {
	background-color: transparent;
	border-color: var(--kp-header-text);
	color: var(--kp-header-text);
}
html[data-kapow-theme] button.menu-toggle:before,
html[data-kapow-theme] button.menu-toggle:after,
html[data-kapow-theme] button.menu-toggle span:before {
	background-color: var(--kp-header-text);
}
html[data-kapow-theme] .storefront-handheld-footer-bar ul li.cart .count {
	background-color: var(--kp-accent);
	color: var(--kp-accent-text);
	border-color: var(--kp-header-bg);
}

/* Storefront hero / USP bars, if used */
html[data-kapow-theme] .storefront-hero { background-color: var(--kp-hero-bg); color: var(--kp-hero-text); }
html[data-kapow-theme] .storefront-hero h1,
html[data-kapow-theme] .storefront-hero h2,
html[data-kapow-theme] .storefront-hero p { color: var(--kp-hero-text); }

/* ==========================================================================
   3. Forms
   ========================================================================== */

html[data-kapow-theme] input[type="text"],
html[data-kapow-theme] input[type="search"],
html[data-kapow-theme] input[type="email"],
html[data-kapow-theme] input[type="url"],
html[data-kapow-theme] input[type="tel"],
html[data-kapow-theme] input[type="number"],
html[data-kapow-theme] input[type="date"],
html[data-kapow-theme] input[type="password"],
html[data-kapow-theme] textarea,
html[data-kapow-theme] select,
html[data-kapow-theme] .input-text,
html[data-kapow-theme] .select2-container .select2-selection,
html[data-kapow-theme] .select2-container--default .select2-selection--single,
html[data-kapow-theme] .select2-container--default .select2-search--dropdown .select2-search__field {
	background-color: var(--kp-input-bg);
	border: 1px solid var(--kp-input-border);
	color: var(--kp-input-text);
	border-radius: var(--kp-radius);
	box-shadow: none;
}
html[data-kapow-theme] ::placeholder { color: var(--kp-muted); opacity: 1; }
html[data-kapow-theme] fieldset,
html[data-kapow-theme] fieldset legend { background-color: var(--kp-surface-2); border-color: var(--kp-border); color: var(--kp-text); }

/* select2 dropdowns render at the end of <body>, outside the theme wrappers. */
html[data-kapow-theme] .select2-dropdown,
html[data-kapow-theme] .select2-container--default .select2-results__option {
	background-color: var(--kp-input-bg);
	color: var(--kp-input-text);
	border-color: var(--kp-input-border);
}
html[data-kapow-theme] .select2-container--default .select2-results__option--highlighted[aria-selected],
html[data-kapow-theme] .select2-container--default .select2-results__option[data-selected="true"] {
	background-color: var(--kp-accent);
	color: var(--kp-accent-text);
}
html[data-kapow-theme] .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--kp-input-text); }

html[data-kapow-theme] .widget_search form:before,
html[data-kapow-theme] .widget_product_search form:before { color: var(--kp-muted); }

/* ==========================================================================
   4. Buttons
   The :not() list keeps UI controls that only happen to be <button> elements
   (hamburger, quantity steppers, gallery zoom) out of the accent styling.
   ========================================================================== */

html[data-kapow-theme] button:not(.kapow-toggle):not(.menu-toggle):not(.plus):not(.minus):not(.woocommerce-product-gallery__trigger):not(.select2-selection__clear),
html[data-kapow-theme] input[type="button"]:not(.plus):not(.minus),
html[data-kapow-theme] input[type="reset"],
html[data-kapow-theme] input[type="submit"],
html[data-kapow-theme] .button,
html[data-kapow-theme] .added_to_cart,
html[data-kapow-theme] .widget a.button,
html[data-kapow-theme] .widget-area .widget a.button,
html[data-kapow-theme] .site-header-cart .widget_shopping_cart a.button,
html[data-kapow-theme] .wp-block-button__link,
html[data-kapow-theme] .woocommerce a.button,
html[data-kapow-theme] .woocommerce button.button,
html[data-kapow-theme] .woocommerce input.button,
html[data-kapow-theme] .wc-block-components-button {
	background-color: var(--kp-accent);
	color: var(--kp-accent-text);
	border-color: var(--kp-accent);
	border-radius: var(--kp-radius);
	font-weight: 700;
	text-shadow: none;
}
html[data-kapow-theme] button:not(.kapow-toggle):not(.menu-toggle):not(.plus):not(.minus):not(.woocommerce-product-gallery__trigger):hover,
html[data-kapow-theme] input[type="submit"]:hover,
html[data-kapow-theme] .button:hover,
html[data-kapow-theme] .added_to_cart:hover,
html[data-kapow-theme] .widget a.button:hover,
html[data-kapow-theme] .site-header-cart .widget_shopping_cart a.button:hover,
html[data-kapow-theme] .woocommerce a.button:hover,
html[data-kapow-theme] .woocommerce button.button:hover,
html[data-kapow-theme] .wc-block-components-button:hover {
	background-color: var(--kp-accent-hover);
	border-color: var(--kp-accent-hover);
	color: var(--kp-accent-text);
}

/* Primary calls to action — red */
html[data-kapow-theme] .button.alt,
html[data-kapow-theme] .added_to_cart.alt,
html[data-kapow-theme] .widget-area .widget a.button.alt,
html[data-kapow-theme] .widget a.button.checkout,
html[data-kapow-theme] .woocommerce a.button.alt,
html[data-kapow-theme] .woocommerce button.button.alt,
html[data-kapow-theme] .woocommerce input.button.alt,
html[data-kapow-theme] button.alt,
html[data-kapow-theme] input[type="submit"].alt,
html[data-kapow-theme] .single_add_to_cart_button,
html[data-kapow-theme] .checkout-button,
html[data-kapow-theme] .wc-block-components-checkout-place-order-button,
html[data-kapow-theme] #place_order {
	background-color: var(--kp-accent-2);
	color: var(--kp-accent-2-text);
	border-color: var(--kp-accent-2);
}
html[data-kapow-theme] .button.alt:hover,
html[data-kapow-theme] .woocommerce a.button.alt:hover,
html[data-kapow-theme] .woocommerce button.button.alt:hover,
html[data-kapow-theme] button.alt:hover,
html[data-kapow-theme] .single_add_to_cart_button:hover,
html[data-kapow-theme] .checkout-button:hover,
html[data-kapow-theme] #place_order:hover {
	background-color: var(--kp-accent-2-hover);
	border-color: var(--kp-accent-2-hover);
	color: var(--kp-accent-2-text);
}
html[data-kapow-theme] .button.loading { color: var(--kp-accent-text); }
html[data-kapow-theme] .button.loading:hover { background-color: var(--kp-accent); }
html[data-kapow-theme] .button.loading:after { color: var(--kp-accent-text); }
html[data-kapow-theme] .button.disabled,
html[data-kapow-theme] .button:disabled { opacity: 0.55; }

/* Quantity steppers and gallery zoom — chrome, not calls to action. */
html[data-kapow-theme] .quantity .plus,
html[data-kapow-theme] .quantity .minus,
html[data-kapow-theme] .quantity input.qty,
html[data-kapow-theme] .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	background-color: var(--kp-surface-2);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .quantity .plus:hover,
html[data-kapow-theme] .quantity .minus:hover,
html[data-kapow-theme] .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	background-color: var(--kp-surface-3);
	border-color: var(--kp-accent);
	color: var(--kp-text);
}

/* ==========================================================================
   5. Product listings, prices, badges
   ========================================================================== */

html[data-kapow-theme] ul.products li.product:not(.kapow-card),
html[data-kapow-theme] .wc-block-grid__product {
	background-color: var(--kp-surface);
	border: 1px solid var(--kp-border);
	border-radius: var(--kp-radius);
	box-shadow: var(--kp-shadow);
	padding: 0.75em;
}
html[data-kapow-theme] ul.products li.product:not(.kapow-card) .woocommerce-loop-product__title,
html[data-kapow-theme] ul.products li.product:not(.kapow-card) h2,
html[data-kapow-theme] ul.products li.product:not(.kapow-card) h3,
html[data-kapow-theme] .wc-block-grid__product-title { color: var(--kp-text); }

html[data-kapow-theme] .price,
html[data-kapow-theme] ul.products li.product .price,
html[data-kapow-theme] .woocommerce-Price-amount,
html[data-kapow-theme] .woocommerce-tabs ul.tabs li.active a,
html[data-kapow-theme] .wc-block-grid__product-price,
html[data-kapow-theme] .wc-block-components-product-price {
	color: var(--kp-price);
	font-weight: 700;
}
html[data-kapow-theme] .price del,
html[data-kapow-theme] ul.products li.product .price del,
html[data-kapow-theme] .price del .woocommerce-Price-amount { color: var(--kp-muted); font-weight: 400; opacity: 1; }
html[data-kapow-theme] .price ins,
html[data-kapow-theme] ul.products li.product .price ins { text-decoration: none; color: var(--kp-price); }
html[data-kapow-theme] .woocommerce-Price-currencySymbol { color: inherit; }

html[data-kapow-theme] .onsale,
html[data-kapow-theme] ul.products li.product .onsale,
html[data-kapow-theme] .wc-block-grid__product-onsale {
	background-color: var(--kp-accent-2);
	color: var(--kp-accent-2-text);
	border-color: var(--kp-accent-2);
	border-radius: 3px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

html[data-kapow-theme] .stock.in-stock { color: var(--kp-instock); font-weight: 600; }
html[data-kapow-theme] .stock.out-of-stock,
html[data-kapow-theme] .stock.available-on-backorder { color: var(--kp-save); font-weight: 600; }

html[data-kapow-theme] .woocommerce-breadcrumb,
html[data-kapow-theme] .woocommerce-result-count { color: var(--kp-muted); }
html[data-kapow-theme] .woocommerce-breadcrumb a,
html[data-kapow-theme] a.woocommerce-review-link,
html[data-kapow-theme] .product_meta a,
html[data-kapow-theme] .widget-area .widget a,
html[data-kapow-theme] .hentry .entry-header .posted-on a,
html[data-kapow-theme] .hentry .entry-header .byline a { color: var(--kp-link); }
html[data-kapow-theme] .product_meta { color: var(--kp-muted); }

/* Star ratings */
html[data-kapow-theme] .star-rating span:before,
html[data-kapow-theme] p.stars a:after,
html[data-kapow-theme] p.stars a:hover:after,
html[data-kapow-theme] p.stars.selected a.active:before,
html[data-kapow-theme] p.stars:hover a:before,
html[data-kapow-theme] p.stars.selected a:not(.active):before,
html[data-kapow-theme] #payment .payment_methods li input[type=radio]:first-child:checked + label:before { color: var(--kp-accent); }
html[data-kapow-theme] p.stars a:before,
html[data-kapow-theme] p.stars a:hover ~ a:before,
html[data-kapow-theme] p.stars.selected a.active ~ a:before { color: var(--kp-muted); }

/* Pagination */
html[data-kapow-theme] .pagination .page-numbers li .page-numbers:not(.current),
html[data-kapow-theme] .woocommerce-pagination .page-numbers li .page-numbers:not(.current) {
	color: var(--kp-text);
	background-color: var(--kp-surface-2);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .pagination .page-numbers li .page-numbers.current,
html[data-kapow-theme] .woocommerce-pagination .page-numbers li .page-numbers.current {
	background-color: var(--kp-accent);
	color: var(--kp-accent-text);
}

/* ==========================================================================
   6. Single product, tabs, reviews
   ========================================================================== */

html[data-kapow-theme] .woocommerce-tabs ul.tabs li,
html[data-kapow-theme] .woocommerce-tabs .panel {
	background-color: var(--kp-surface);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .woocommerce-tabs ul.tabs li.active { background-color: var(--kp-surface-2); }
html[data-kapow-theme] table.variations,
html[data-kapow-theme] table.variations td,
html[data-kapow-theme] table.variations th,
html[data-kapow-theme] .woocommerce-variation-price { background-color: transparent; color: var(--kp-text); border-color: var(--kp-border); }

html[data-kapow-theme] #comments .comment-list .comment-content .comment-text,
html[data-kapow-theme] #reviews .comment_container,
html[data-kapow-theme] .comment-respond {
	background-color: var(--kp-surface-2);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .woocommerce-noreviews { color: var(--kp-muted); }

/* ==========================================================================
   7. Cart, checkout, account
   These panels are the ones the theme hardcodes to white/near-white, so they
   are the difference between a dark look that works and one that breaks.
   ========================================================================== */

html[data-kapow-theme] table th,
html[data-kapow-theme] table.shop_table th { background-color: var(--kp-surface-2); color: var(--kp-text); border-color: var(--kp-border); }
html[data-kapow-theme] table tbody td,
html[data-kapow-theme] table.shop_table td { background-color: var(--kp-surface); color: var(--kp-text); border-color: var(--kp-border); }
html[data-kapow-theme] table tbody tr:nth-child(2n) td { background-color: var(--kp-surface-2); }
html[data-kapow-theme] table.cart td.product-remove,
html[data-kapow-theme] table.cart td.actions { border-top-color: var(--kp-page); background-color: var(--kp-page); }
html[data-kapow-theme] table.cart td.actions .coupon input,
html[data-kapow-theme] .woocommerce-cart-form__cart-item .product-remove a { color: var(--kp-text); }

html[data-kapow-theme] .cart_totals,
html[data-kapow-theme] .cross-sells,
html[data-kapow-theme] .shipping-calculator-form,
html[data-kapow-theme] #order_review,
html[data-kapow-theme] .woocommerce-checkout #order_review,
html[data-kapow-theme] .woocommerce-checkout-review-order-table,
html[data-kapow-theme] .woocommerce-checkout #payment,
html[data-kapow-theme] .wc-block-components-order-summary,
html[data-kapow-theme] .wc-block-components-sidebar {
	background-color: var(--kp-surface);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] #payment .payment_methods > li:not(.woocommerce-notice) {
	background-color: var(--kp-surface-2);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] #payment .payment_methods > li:not(.woocommerce-notice):hover { background-color: var(--kp-surface-3); }
html[data-kapow-theme] #payment .payment_methods > li .payment_box,
html[data-kapow-theme] #payment .place-order {
	background-color: var(--kp-surface-3);
	color: var(--kp-text);
}
html[data-kapow-theme] #payment .payment_methods > li .payment_box:before { border-bottom-color: var(--kp-surface-3); }

html[data-kapow-theme] .order_details,
html[data-kapow-theme] ul.order_details { background-color: var(--kp-surface-2); color: var(--kp-text); }
html[data-kapow-theme] .order_details > li { border-bottom: 1px dotted var(--kp-border); color: var(--kp-text); }
/* Storefront fakes a torn-paper edge with gradients built from the old colour. */
html[data-kapow-theme] .order_details:before,
html[data-kapow-theme] .order_details:after { background: none; display: none; }

html[data-kapow-theme] .woocommerce-MyAccount-navigation ul li a { color: var(--kp-link); }
html[data-kapow-theme] .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--kp-text); font-weight: 700; }
html[data-kapow-theme] .woocommerce-MyAccount-content,
html[data-kapow-theme] .woocommerce-form-login,
html[data-kapow-theme] .woocommerce-form-register,
html[data-kapow-theme] .woocommerce-form-coupon {
	background-color: var(--kp-surface);
	color: var(--kp-text);
	border-color: var(--kp-border);
}

/* ==========================================================================
   8. Widgets, notices, sidebars
   ========================================================================== */

html[data-kapow-theme] .widget,
html[data-kapow-theme] .wc-block-components-panel {
	background-color: var(--kp-surface);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .widget-title,
html[data-kapow-theme] .widget .widget-title,
html[data-kapow-theme] .widget .widgettitle { color: var(--kp-text); border-color: var(--kp-border); }
html[data-kapow-theme] .widget ul li { border-color: var(--kp-border); }
html[data-kapow-theme] .widget_price_filter .ui-slider .ui-slider-range,
html[data-kapow-theme] .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--kp-accent); }
html[data-kapow-theme] .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: var(--kp-surface-3); }

html[data-kapow-theme] .woocommerce-message,
html[data-kapow-theme] .woocommerce-info,
html[data-kapow-theme] .woocommerce-error,
html[data-kapow-theme] .wc-block-components-notice-banner {
	background-color: var(--kp-surface-2);
	color: var(--kp-text);
	border-color: var(--kp-border);
}
html[data-kapow-theme] .woocommerce-message { border-top-color: var(--kp-accent); }
html[data-kapow-theme] .woocommerce-info { border-top-color: var(--kp-link); }
html[data-kapow-theme] .woocommerce-error { border-top-color: var(--kp-accent-2); }
html[data-kapow-theme] .woocommerce-message a,
html[data-kapow-theme] .woocommerce-info a,
html[data-kapow-theme] .woocommerce-error a { color: var(--kp-link); }

/* ==========================================================================
   9. Footer
   ========================================================================== */

html[data-kapow-theme] .site-footer {
	background-color: var(--kp-footer-bg);
	color: var(--kp-footer-text);
}
html[data-kapow-theme] .site-footer a:not(.button) { color: var(--kp-footer-text); text-decoration: underline; }
html[data-kapow-theme] .site-footer a:not(.button):hover { color: var(--kp-footer-head); }
html[data-kapow-theme] .site-footer .widget { background-color: transparent; color: var(--kp-footer-text); }
html[data-kapow-theme] .site-footer h1,
html[data-kapow-theme] .site-footer h2,
html[data-kapow-theme] .site-footer h3,
html[data-kapow-theme] .site-footer h4,
html[data-kapow-theme] .site-footer h5,
html[data-kapow-theme] .site-footer h6,
html[data-kapow-theme] .site-footer .widget-title,
html[data-kapow-theme] .site-footer .widgettitle { color: var(--kp-footer-head); }

/* ==========================================================================
   10. The toggle button itself
   ========================================================================== */

.kapow-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	min-width: 44px;
	padding: 0 14px;
	border: 1px solid var(--kp-border);
	border-radius: 999px;
	background: var(--kp-surface);
	color: var(--kp-text);
	/* Set as longhands: a `font:` shorthand whose family falls back to a
	   CSS-wide keyword is invalid, and the whole declaration is dropped. */
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: var(--kp-shadow);
}
.kapow-toggle:hover { border-color: var(--kp-accent); background: var(--kp-surface-2); }
.kapow-toggle:focus-visible { outline: 2px solid var(--kp-accent); outline-offset: 2px; }
.kapow-toggle__icon { display: block; flex-shrink: 0; }

/* Show the icon/text for the look you'd switch TO. */
html[data-kapow-theme="light"] .kapow-toggle__icon--sun,
html[data-kapow-theme="light"] .kapow-toggle__text--light,
html[data-kapow-theme="dark"]  .kapow-toggle__icon--moon,
html[data-kapow-theme="dark"]  .kapow-toggle__text--dark { display: none; }

/* Floating variant (bottom-right) */
.kapow-toggle--floating {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 9999;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}
@media (max-width: 767px) {
	/* Storefront's handheld footer bar sits at the bottom on mobile — lift the button above it. */
	.kapow-toggle--floating { bottom: 72px; }
}

/* Menu variant: looks like a nav item */
.main-navigation .kapow-toggle--menu,
html[data-kapow-theme] .main-navigation .kapow-toggle--menu {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--kp-header-text);
	padding: 0 8px;
	min-height: 0;
	font-size: inherit;
	font-weight: inherit;
}
.main-navigation .kapow-toggle--menu .kapow-toggle__text { display: inline; }

/* Widget variant: full width in sidebars */
.kapow-toggle--widget { width: 100%; justify-content: center; }
