/*
Theme Name:   Blocksy Child - PokeProxyCrafts
Template:     blocksy
Description:  Light theme for PokeProxyCrafts, matched to the Etsy shop.
Version:      1.0.0
Text Domain:  blocksy-child
*/

/* ==========================================================================
   Palette, sampled from the Etsy shop screenshots and banner_new.webp
   ========================================================================== */

:root {
	--ppc-bg: #faf8f4;          /* Etsy page background */
	--ppc-surface: #ffffff;     /* product tiles, cards, fields */
	--ppc-band: #715197;        /* Etsy shop header band */
	--ppc-ink: #322b37;         /* Etsy button charcoal; headings + body text */
	--ppc-muted: #5e5866;       /* secondary text, 6.6:1 on --ppc-bg */
	--ppc-purple: #6b24ce;      /* banner rule lines; links + accents */
	--ppc-gold: #f8dc81;        /* banner "Crafts" highlight */
	--ppc-gold-deep: #a58648;   /* banner "Crafts" shadow, decorative only */
	--ppc-sale: #9b2c44;        /* Etsy red, sale badges + errors */
	--ppc-line: #e6e0d8;        /* hairlines on --ppc-bg */
	--ppc-field-border: #8d8693;/* 3.4:1 on white, meets non-text contrast */
	--ppc-radius: 12px;
	--ppc-shadow: 0 1px 3px rgba(50, 43, 55, 0.08), 0 4px 14px rgba(50, 43, 55, 0.06);
	--ppc-font: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	/* Media-library banner, the original upload rather than a WordPress-
	   generated size (hosts without WebP resizing never create those).
	   Root-relative so it still resolves if a cache plugin moves this file. */
	--ppc-banner: url("/wp-content/uploads/2026/10/banner_new.webp");

	/* Blocksy palette: red accents become brand purple. Elementor reads
	   these through --e-global-color-blocksy_palette_N. */
	--theme-palette-color-1: var(--ppc-purple);
	--theme-palette-color-2: var(--ppc-band);
	--theme-palette-color-5: var(--ppc-line);
	--theme-palette-color-6: var(--ppc-bg);
	--theme-palette-color-7: var(--ppc-bg);

	--theme-font-family: var(--ppc-font);
	--theme-text-color: var(--ppc-ink);
	--theme-headings-color: var(--ppc-ink);
	--theme-heading-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-purple);
	--theme-link-hover-color: var(--ppc-ink);
	--theme-border-color: var(--ppc-line);
	--theme-selection-background-color: var(--ppc-purple);

	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-initial-color: var(--ppc-ink);
	--theme-button-background-hover-color: var(--ppc-purple);
	--theme-button-border-radius: 999px;
	--theme-button-padding: 5px 24px;
	--theme-button-font-weight: 600;

	--theme-form-field-border-radius: var(--ppc-radius);
	--theme-form-field-border-initial-color: var(--ppc-field-border);
	--theme-form-field-border-focus-color: var(--ppc-purple);
	--theme-form-text-initial-color: var(--ppc-ink);
	--theme-form-text-focus-color: var(--ppc-ink);
	--theme-form-selection-field-initial-color: var(--ppc-field-border);
	--theme-form-selection-field-active-color: var(--ppc-purple);
}

body {
	background-color: var(--ppc-bg);
	color: var(--ppc-ink);
}

::selection {
	color: #ffffff;
}

/* ==========================================================================
   Typography: IBM Plex Mono -> IBM Plex Sans (same family, Etsy-like sans)
   ========================================================================== */

body,
h1, h2, h3, h4, h5, h6,
.site-title,
.ct-sidebar .widget-title,
.bapf_head h3,
.woocommerce-loop-product__title,
.product_title {
	--theme-font-family: var(--ppc-font);
	font-family: var(--ppc-font);
}

h1, h2, h3, h4, h5, h6 {
	--theme-heading-color: var(--ppc-ink);
	color: var(--ppc-ink);
	letter-spacing: -0.01em;
}

h1 { --theme-font-weight: 600; }
h2, h3, h4, h5, h6 { --theme-font-weight: 600; }

pre, code, samp, kbd {
	font-family: 'IBM Plex Mono', monospace;
}

a {
	text-underline-offset: 2px;
}

/* ==========================================================================
   Header: white utility bar + muted purple band
   ========================================================================== */

body[data-header] .ct-header [data-row*="top"],
body[data-header] .ct-header [data-sticky*="yes"] [data-row*="top"] {
	background-color: var(--ppc-surface);
	border-bottom: 1px solid var(--ppc-line);
}

body[data-header] [data-id="socials"].ct-header-socials [data-color="custom"] {
	--theme-icon-color: var(--ppc-muted);
	--theme-icon-hover-color: #ffffff;
	--background-color: var(--ppc-bg);
	--background-hover-color: var(--ppc-purple);
}

body[data-header] .ct-header [data-row*="middle"],
body[data-header] .ct-header [data-sticky*="yes"] [data-row*="middle"] {
	background-color: var(--ppc-band);
}

body[data-header] .ct-header [data-id="logo"] .site-title {
	--theme-link-initial-color: #ffffff;
	--theme-link-hover-color: #ffffff;
	--theme-font-weight: 700;
}

/* "PokéProxyCrafts" wordmark next to the logo (header Text element) */
body[data-header] .ct-header [data-id="text"],
body[data-header] .ct-header [data-id="text"] :is(h1, h2, h3, h4, h5, h6, p, a) {
	--theme-heading-color: #ffffff;
	--theme-text-color: #ffffff;
	color: #ffffff;
}

/* the logo file is a square JPEG; show it as the round badge it depicts */
body[data-header] .ct-header [data-id="logo"] .site-logo-container img {
	border-radius: 50%;
	/* While Smush lazy-loads the logo it forces the image to its upload
	   width (200px). If Blocksy measures the header in that moment, the
	   centred menu looks too wide and collapses into "More". Size the
	   placeholder like the loaded (square) logo instead. */
	--smush-image-width: var(--logo-max-height, 80px);
}

body[data-header] .ct-header [data-id="menu"] > ul > li > a {
	--theme-font-family: var(--ppc-font);
	--theme-text-transform: none;
	--theme-font-weight: 600;
	--theme-link-initial-color: rgba(255, 255, 255, 0.92);
	--theme-link-hover-color: #ffffff;
	--theme-link-active-color: #ffffff;
	letter-spacing: 0.01em;
}

/* active/hover indicator under top-level menu items */
body[data-header] .ct-header [data-id="menu"] > ul > li > a:before,
body[data-header] .ct-header [data-id="menu"] > ul > li > a:after {
	--menu-indicator-active-color: var(--ppc-gold);
	--menu-indicator-hover-color: var(--ppc-gold);
}

body[data-header] .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
body[data-header] .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a {
	color: #ffffff;
}

/* dropdowns */
body[data-header] .ct-header [data-id="menu"] .sub-menu {
	--dropdown-background-color: var(--ppc-surface);
	--dropdown-items-background-hover-color: var(--ppc-bg);
	--dropdown-divider: 1px solid var(--ppc-line);
	--theme-box-shadow: var(--ppc-shadow);
	--theme-border-radius: var(--ppc-radius);
	overflow: hidden;
}

body[data-header] .ct-header [data-id="menu"] .sub-menu .ct-menu-link {
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
	--theme-link-active-color: var(--ppc-purple);
	font-weight: 500;
}

/* header icons on the purple band */
body[data-header] [data-id="search"],
body[data-header] [data-id="trigger"],
body[data-header] [data-id="account"] .ct-account-item,
body[data-header] [data-id="cart"] .ct-cart-item {
	--theme-icon-color: rgba(255, 255, 255, 0.92);
	--theme-icon-hover-color: #ffffff;
	--theme-link-initial-color: rgba(255, 255, 255, 0.92);
	--theme-link-hover-color: #ffffff;
}

body[data-header] [data-id="cart"] .ct-cart-item {
	--theme-cart-badge-background: var(--ppc-gold);
	--theme-cart-badge-text: var(--ppc-ink);
}

/* mini-cart dropdown */
body[data-header] [data-id="cart"] .ct-cart-content,
body[data-header] [data-id="cart"] .ct-cart-content .total {
	--theme-text-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
	--theme-headings-color: var(--ppc-ink);
	--mini-cart-background-color: var(--ppc-surface);
}

body[data-header] [data-id="cart"] .ct-cart-content {
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
}

/* currency switcher (child theme header element), pill on the purple band */
body[data-header] .ppc-currency-switcher {
	display: flex;
	align-items: center;
	margin: 0;
}

body[data-header] .ppc-currency-switcher select {
	appearance: none;
	-webkit-appearance: none;
	width: auto;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 0 30px 0 12px;
	font-family: var(--ppc-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 32px;
	color: #ffffff;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 999px;
	box-shadow: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

body[data-header] .ppc-currency-switcher select:hover {
	border-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.1);
}

body[data-header] .ppc-currency-switcher select:focus-visible {
	outline: 2px solid var(--ppc-gold);
	outline-offset: 2px;
}

/* inside the light off-canvas menu (mobile) */
body[data-header] #offcanvas .ppc-currency-switcher select {
	color: var(--ppc-ink);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23322b37' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	border-color: var(--ppc-field-border);
}

body[data-header] #offcanvas .ppc-currency-switcher select:hover {
	border-color: var(--ppc-purple);
	background-color: var(--ppc-surface);
}

body[data-header] #offcanvas .ppc-currency-switcher select:focus-visible {
	outline-color: var(--ppc-purple);
}

/* the open list is drawn by the browser on a light surface */
body[data-header] .ppc-currency-switcher option {
	color: var(--ppc-ink);
	background-color: var(--ppc-surface);
}

/* header CTA button (if enabled) */
body[data-header] .ct-header [data-id="button"] {
	--theme-button-background-initial-color: var(--ppc-ink);
	--theme-button-background-hover-color: var(--ppc-ink);
}

/* off-canvas mobile menu + search + account modals */
body[data-header] #offcanvas {
	background-color: var(--ppc-bg);
	--theme-icon-color: var(--ppc-ink);
	--theme-icon-hover-color: var(--ppc-purple);
}

body[data-header] #offcanvas .ct-panel-actions .ct-toggle-close {
	--theme-icon-color: var(--ppc-ink);
}

body[data-header] [data-id="mobile-menu"] {
	--theme-font-family: var(--ppc-font);
	--theme-font-weight: 600;
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
	--theme-link-active-color: var(--ppc-purple);
	--mobile-menu-divider: 1px solid var(--ppc-line);
}

body[data-header] #search-modal {
	background-color: rgba(250, 248, 244, 0.98);
	--theme-icon-color: var(--ppc-ink);
}

body[data-header] #search-modal .ct-search-form {
	--theme-link-initial-color: var(--ppc-ink);
	--theme-form-text-initial-color: var(--ppc-ink);
	--theme-form-text-focus-color: var(--ppc-ink);
	--theme-form-field-border-initial-color: var(--ppc-field-border);
	--theme-form-field-border-focus-color: var(--ppc-purple);
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-initial-color: var(--ppc-ink);
	--theme-button-background-hover-color: var(--ppc-purple);
}

body[data-header] #search-modal .ct-toggle-close {
	--theme-icon-color: var(--ppc-ink);
}

body[data-header] #account-modal {
	background-color: rgba(50, 43, 55, 0.55);
}

body[data-header] #account-modal .ct-account-modal {
	border-radius: var(--ppc-radius);
}

/* ==========================================================================
   Banner (home hero + product archive hero)
   ========================================================================== */

/* Home: banner on top, the hero copy below it on the light page. */
body .elementor-3072 .elementor-element.elementor-element-2ccca22:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--ppc-bg);
	background-image: var(--ppc-banner);
	background-position: top center;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

body .elementor-3072 .elementor-element.elementor-element-2ccca22 {
	--padding-top: 25vw; /* banner is 4:1 */
}

body .elementor-3072 .elementor-element.elementor-element-6f4c99a {
	--padding-top: 56px;
	--padding-bottom: 64px;
}

body .elementor-3072 .elementor-element.elementor-element-6f4c99a::before {
	display: none;
}

body .elementor-3072 .elementor-element.elementor-element-4e7b206 .elementor-heading-title {
	color: var(--ppc-ink);
	font-family: var(--ppc-font);
	font-weight: 700;
}

body .elementor-3072 .elementor-element.elementor-element-f078b75,
body #outlined-text p {
	color: var(--ppc-muted);
	text-shadow: none; /* outline from Additional CSS was for white-on-photo text */
}

body .elementor-3072 .elementor-element.elementor-element-45b0337 .elementor-button {
	background-color: var(--ppc-ink);
	color: #ffffff;
	border-radius: 999px;
	text-transform: none;
	font-weight: 600;
	padding: 16px 32px;
}

body .elementor-3072 .elementor-element.elementor-element-45b0337 .elementor-button:hover,
body .elementor-3072 .elementor-element.elementor-element-45b0337 .elementor-button:focus {
	background-color: var(--ppc-purple);
}

@media (max-width: 767px) {
	body .elementor-3072 .elementor-element.elementor-element-6f4c99a {
		--padding-top: 32px;
		--padding-bottom: 40px;
	}
}

/* Product archive hero: show the new light banner instead of the dark one. */
.hero-section[data-type="type-2"] {
	background-color: var(--ppc-bg);
}

.hero-section[data-type="type-2"] > figure .ct-media-container {
	background: var(--ppc-banner) center / cover no-repeat;
}

.hero-section[data-type="type-2"] > figure .ct-media-container img {
	opacity: 0;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.button,
.ct-button,
button[type="submit"],
input[type="submit"],
.wp-element-button,
.added_to_cart,
.elementor-button {
	border-radius: 999px;
	font-weight: 600;
	text-transform: none;
}

.button:focus-visible,
.ct-button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
.elementor-button:focus-visible {
	outline: 2px solid var(--ppc-purple);
	outline-offset: 2px;
}

/* ghost / secondary */
.ct-button-ghost,
.woocommerce .button.wc-backward,
.woocommerce-cart .actions button[name="update_cart"] {
	--theme-button-text-initial-color: var(--ppc-ink);
	--theme-button-background-initial-color: transparent;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-hover-color: var(--ppc-ink);
	box-shadow: inset 0 0 0 2px var(--ppc-ink);
}

/* ==========================================================================
   Product tiles
   ========================================================================== */

[data-products] .product {
	background: var(--ppc-surface);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
	padding: 12px 12px 16px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	--theme-text-color: var(--ppc-muted);
	--theme-heading-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
}

[data-products] .product:hover {
	box-shadow: 0 2px 6px rgba(50, 43, 55, 0.10), 0 10px 24px rgba(50, 43, 55, 0.10);
}

[data-products] .product .ct-media-container {
	border-radius: calc(var(--ppc-radius) - 4px);
	overflow: hidden;
}

[data-products] .woocommerce-loop-product__title {
	--theme-font-family: var(--ppc-font);
	--theme-font-weight: 500;
	--theme-font-size: 15px;
	--theme-line-height: 1.4;
	--theme-heading-color: var(--ppc-ink);
	letter-spacing: 0;
}

[data-products] .product .price {
	--theme-text-color: var(--ppc-ink);
	color: var(--ppc-ink);
	font-weight: 700;
	font-size: 17px;
}

[data-products] .product .entry-meta {
	--theme-link-initial-color: var(--ppc-muted);
	--theme-link-hover-color: var(--ppc-purple);
}

/* Additional CSS made the home "final sale" tiles white-on-dark */
body .final-sale-home-cta .product {
	--theme-text-color: var(--ppc-muted);
	--theme-heading-color: var(--ppc-ink);
}

/* prices everywhere */
.price del,
del .woocommerce-Price-amount {
	color: var(--ppc-muted);
	opacity: 1;
	font-weight: 400;
}

.price ins {
	text-decoration: none;
}

/* sale + stock badges */
.onsale,
.ct-woo-badge-sale {
	--badge-text-color: #ffffff;
	--badge-background-color: var(--ppc-sale);
	background-color: var(--ppc-sale);
	color: #ffffff;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.out-of-stock-badge {
	--badge-text-color: #ffffff;
	--badge-background-color: var(--ppc-ink);
	border-radius: 999px;
}

/* ==========================================================================
   Home sale CTA section (was dark slate)
   ========================================================================== */

body .elementor-3072 .elementor-element.elementor-element-2f7732b:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--ppc-band);
}

body .elementor-3072 .elementor-element.elementor-element-5323634 .elementor-heading-title {
	color: var(--ppc-gold);
	font-family: var(--ppc-font);
}

body .elementor-3072 .elementor-element.elementor-element-04b0fe1 .elementor-heading-title,
body .elementor-3072 .elementor-element.elementor-element-276b10e {
	color: #ffffff;
	font-family: var(--ppc-font);
}

body .elementor-3072 .elementor-element.elementor-element-f6a1b9a .elementor-button {
	border-radius: 999px;
	text-transform: none;
	color: #ffffff;
	border-color: #ffffff;
	background-color: transparent;
}

body .elementor-3072 .elementor-element.elementor-element-f6a1b9a .elementor-button:hover,
body .elementor-3072 .elementor-element.elementor-element-f6a1b9a .elementor-button:focus {
	background-color: #ffffff;
	color: var(--ppc-ink);
}

body .elementor-3072 .elementor-element.elementor-element-f6a1b9a .elementor-button:hover svg,
body .elementor-3072 .elementor-element.elementor-element-f6a1b9a .elementor-button:focus svg {
	fill: var(--ppc-ink);
}

/* ==========================================================================
   FAQ page (Elementor page 3317)
   ========================================================================== */

/* hero: dark photo -> purple band; the FAQ cards overlap its lower edge */
body .elementor-3317 .elementor-element.elementor-element-65d368b:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--ppc-band);
	background-image: none;
}

body .elementor-3317 .elementor-element.elementor-element-65d368b .elementor-heading-title,
body .elementor-3317 .elementor-element.elementor-element-65d368b .ct-breadcrumbs,
body .elementor-3317 .elementor-element.elementor-element-65d368b .ct-breadcrumbs a,
body .elementor-3317 .elementor-element.elementor-element-65d368b .ct-breadcrumbs span {
	color: #ffffff;
	--theme-text-color: #ffffff;
	--theme-link-initial-color: rgba(255, 255, 255, 0.85);
	--theme-link-hover-color: #ffffff;
}

/* question cards: navy -> white tiles */
body .elementor-3317 .elementor-widget-icon-box.elementor-element {
	background-color: var(--ppc-surface);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
	transition: box-shadow 0.2s ease;
}

body .elementor-3317 .elementor-widget-icon-box.elementor-element:hover {
	background-color: var(--ppc-surface);
	box-shadow: 0 2px 6px rgba(50, 43, 55, 0.10), 0 10px 24px rgba(50, 43, 55, 0.12);
}

body .elementor-3317 .elementor-widget-icon-box.elementor-element .elementor-icon-box-title,
body .elementor-3317 .elementor-widget-icon-box.elementor-element .elementor-icon-box-title a {
	color: var(--ppc-ink);
	font-family: var(--ppc-font);
}

body .elementor-3317 .elementor-widget-icon-box.elementor-element .elementor-icon-box-description {
	color: var(--ppc-muted);
}

body .elementor-3317 .elementor-widget-icon-box.elementor-element.elementor-view-default .elementor-icon {
	color: var(--ppc-purple);
	fill: var(--ppc-purple);
}

body .elementor-3317 .elementor-widget-icon-box.elementor-element .elementor-icon svg {
	fill: var(--ppc-purple);
}

/* "Secure Packaging & Shipping" kicker was hard-coded red */
body .elementor-3317 .elementor-element.elementor-element-eba977e {
	color: var(--ppc-purple);
}

/* "View all" outline button */
body .elementor-3317 .elementor-element.elementor-element-e8a6ac4 .elementor-button {
	color: var(--ppc-ink);
	fill: var(--ppc-ink);
	border-color: var(--ppc-ink);
	border-radius: 999px;
	text-transform: none;
}

body .elementor-3317 .elementor-element.elementor-element-e8a6ac4 .elementor-button:hover,
body .elementor-3317 .elementor-element.elementor-element-e8a6ac4 .elementor-button:focus {
	background-color: var(--ppc-ink);
	border-color: var(--ppc-ink);
	color: #ffffff;
}

/* Elementor headings elsewhere default to the kit's Roboto Slab */
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--ppc-font);
}

/* ==========================================================================
   Sidebar + BeRocket AJAX filters
   ========================================================================== */

.ct-sidebar .widget-title,
.bapf_sfilter .bapf_head h3 {
	--theme-heading-color: var(--ppc-ink);
	--theme-font-size: 18px;
	color: var(--ppc-ink);
	font-size: 18px;
	font-weight: 600;
}

#sidebar .ct-sidebar,
#sidebar > .ct-sidebar {
	--theme-text-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-ink);
}

.bapf_sfilter {
	background: var(--ppc-surface);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
	padding: 16px 18px;
	margin-bottom: 16px;
}

.bapf_sfilter.bapf_sfa_mt_hide,
.bapf_sfilter:empty {
	background: none;
	box-shadow: none;
	padding: 0;
}

.bapf_sfilter .bapf_body label,
.bapf_sfilter .bapf_body li {
	color: var(--ppc-ink);
}

.bapf_sfilter .bapf_body input[type="checkbox"],
.bapf_sfilter .bapf_body input[type="radio"] {
	accent-color: var(--ppc-purple);
}

/* price slider (ion.rangeSlider "flat" skin) */
.bapf_slidr_ion .irs--flat .irs-line {
	background-color: var(--ppc-line);
}

.bapf_slidr_ion .irs--flat .irs-bar {
	background-color: var(--ppc-purple);
}

.bapf_slidr_ion .irs--flat .irs-handle > i:first-child {
	background-color: var(--ppc-ink);
}

.bapf_slidr_ion .irs--flat .irs-handle.state_hover > i:first-child,
.bapf_slidr_ion .irs--flat .irs-handle:hover > i:first-child {
	background-color: var(--ppc-purple);
}

.bapf_slidr_ion .irs--flat .irs-from,
.bapf_slidr_ion .irs--flat .irs-to,
.bapf_slidr_ion .irs--flat .irs-single {
	background-color: var(--ppc-ink);
	color: #ffffff;
	border-radius: 999px;
	padding: 2px 8px;
}

.bapf_slidr_ion .irs--flat .irs-from:before,
.bapf_slidr_ion .irs--flat .irs-to:before,
.bapf_slidr_ion .irs--flat .irs-single:before {
	border-top-color: var(--ppc-ink);
}

.bapf_slidr_ion .irs--flat .irs-min,
.bapf_slidr_ion .irs--flat .irs-max {
	background-color: var(--ppc-bg);
	color: var(--ppc-muted);
}

/* filter buttons + selected-filter chips (Additional CSS gave them square corners) */
.bapf_button.bapf_update,
.bapf_button.bapf_reset,
.bapf_sfa_taxonomy .braapf_unselect {
	background: var(--ppc-ink) !important;
	border-radius: 999px !important;
}

.bapf_button.bapf_update:hover,
.bapf_button.bapf_reset:hover {
	background: var(--ppc-purple) !important;
}

.bapf_sfa_unall .braapf_unselect_all {
	color: var(--ppc-purple);
}

.bapf_sfa_unall .braapf_unselect_all:hover {
	color: var(--ppc-ink) !important;
}

/* ==========================================================================
   Archive toolbar + pagination
   ========================================================================== */

.woocommerce-ordering select,
.woocommerce-result-count {
	color: var(--ppc-ink);
}

.ct-pagination {
	--theme-text-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
}

.ct-pagination [class*="page-numbers"] {
	border-radius: 999px;
}

.ct-pagination .page-numbers.current {
	background-color: var(--ppc-ink);
	color: #ffffff;
}

.ct-pagination .next,
.ct-pagination .prev {
	--theme-border-color: var(--ppc-ink);
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */

.ct-breadcrumbs,
body[data-prefix="product"] .entry-header .ct-breadcrumbs {
	--theme-text-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-muted);
	--theme-link-hover-color: var(--ppc-purple);
}

/* ==========================================================================
   Single product
   ========================================================================== */

.product_title {
	--theme-font-weight: 500;
	letter-spacing: -0.01em;
}

.single-product .summary .price {
	--theme-text-color: var(--ppc-ink);
	color: var(--ppc-ink);
	font-weight: 700;
}

.single-product .woocommerce-product-gallery,
.single-product .flexy-container,
.single-product .ct-product-gallery-container {
	border-radius: var(--ppc-radius);
}

.single-product .woocommerce-product-gallery .ct-media-container,
.single-product .flexy-pills .ct-media-container {
	border-radius: calc(var(--ppc-radius) - 4px);
	overflow: hidden;
}

.quantity {
	--quantity-initial-color: var(--ppc-field-border);
	--quantity-hover-color: var(--ppc-purple);
}

.quantity[data-type] {
	border-radius: 999px;
}

.single-product .summary .single_add_to_cart_button {
	min-height: 48px;
}

.product_meta,
.product_meta > span {
	--theme-text-color: var(--ppc-muted);
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
}

.woocommerce-tabs[data-type] .tabs {
	--tab-background: var(--ppc-purple);
	--theme-link-initial-color: var(--ppc-muted);
	--theme-link-hover-color: var(--ppc-ink);
	--theme-link-active-color: var(--ppc-ink);
}

.woocommerce-tabs .tabs li.active a {
	color: var(--ppc-ink);
}

.woocommerce-Reviews .star-rating,
.star-rating {
	--star-rating-initial-color: var(--ppc-gold-deep);
	--star-rating-inactive-color: var(--ppc-line);
}

/* backorder box from Additional CSS: keep its warm look, round it */
.ppc-backorder-warning {
	border-radius: var(--ppc-radius);
}

/* ==========================================================================
   Forms
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select,
.select2-container--default .select2-selection--single {
	background-color: var(--ppc-surface);
	color: var(--ppc-ink);
}

input::placeholder,
textarea::placeholder {
	color: #77707d; /* 4.6:1 on white */
	opacity: 1;
}

.select2-container--default .select2-selection--single {
	border-radius: var(--ppc-radius);
	border-color: var(--ppc-field-border);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--ppc-ink);
}

/* BeRocket filters' widget.css lifts every select2 to z-index 9999+, which
   puts the checkout country field above the sticky header. Fields in a
   form row don't need it; the open dropdown list lives under <body> and
   keeps the plugin's value. !important because the plugin's phone rule
   (max-width: 767px) uses it. */
body .woocommerce form .form-row .select2-container {
	z-index: auto !important;
}

.select2-dropdown {
	border-color: var(--ppc-field-border);
	border-radius: var(--ppc-radius);
	overflow: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--ppc-purple);
	color: #ffffff;
}

label,
.woocommerce form .form-row label {
	color: var(--ppc-ink);
}

.required,
.woocommerce form .form-row .required {
	color: var(--ppc-sale);
}

input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--ppc-purple);
}

/* ==========================================================================
   Notices
   ========================================================================== */

.woocommerce-info,
.woocommerce-message,
.woocommerce-thankyou-order-received,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success {
	--theme-text-color: var(--ppc-ink);
	--theme-link-initial-color: var(--ppc-purple);
	--theme-link-hover-color: var(--ppc-ink);
	--background-color: var(--ppc-surface);
	color: var(--ppc-ink);
	border-radius: var(--ppc-radius);
	border-left: 4px solid var(--ppc-purple);
	box-shadow: var(--ppc-shadow);
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	--theme-text-color: var(--ppc-sale);
	--theme-link-initial-color: var(--ppc-sale);
	--theme-link-hover-color: var(--ppc-ink);
	--background-color: #fbeef0;
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-initial-color: var(--ppc-sale);
	--theme-button-background-hover-color: var(--ppc-ink);
	color: var(--ppc-sale);
	border-radius: var(--ppc-radius);
	border-left: 4px solid var(--ppc-sale);
}

.demo_store {
	--theme-text-color: #ffffff;
	--background-color: var(--ppc-band);
}

/* ==========================================================================
   Cart + checkout
   ========================================================================== */

.woocommerce-cart-form,
.cart-collaterals .cart_totals,
#order_review,
.woocommerce-checkout-review-order,
.ct-order-review {
	--theme-border-color: var(--ppc-line);
}

.cart-collaterals .cart_totals,
.ct-woocommerce-cart-form .cart_totals,
.ct-order-review {
	background: var(--ppc-surface);
	border: 1px solid var(--ppc-line);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
}

table.shop_table {
	--theme-border-color: var(--ppc-line);
}

.woocommerce-cart-form table.shop_table {
	background: var(--ppc-surface);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
	overflow: hidden;
}

.woocommerce-cart-form table.shop_table :is(th, td):first-child {
	padding-left: 16px;
}

.woocommerce-cart-form table.shop_table :is(th, td):last-child {
	padding-right: 16px;
}

.woocommerce-checkout #payment {
	--theme-border-color: var(--ppc-line);
}

.woocommerce-checkout #payment .payment_methods > li,
.woocommerce-checkout #payment .payment_box {
	border-color: var(--ppc-line);
}

.woocommerce-checkout #payment .payment_box {
	background-color: var(--ppc-bg);
	color: var(--ppc-ink);
}

.woocommerce-checkout #payment .wc_payment_method:first-child {
	border-top-left-radius: var(--ppc-radius);
	border-top-right-radius: var(--ppc-radius);
}

#place_order {
	min-height: 52px;
	font-size: 16px;
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	color: var(--ppc-muted);
}

.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-privacy-policy-text a {
	color: var(--ppc-purple);
}

/* ==========================================================================
   My account
   ========================================================================== */

.woocommerce-MyAccount-navigation {
	--theme-link-initial-color: var(--ppc-ink);
	--theme-link-hover-color: var(--ppc-purple);
	--theme-link-active-color: var(--ppc-purple);
}

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: var(--ppc-surface);
	border: 1px solid var(--ppc-line);
	border-radius: var(--ppc-radius);
	box-shadow: var(--ppc-shadow);
	padding: 32px;
}

@media (max-width: 689.98px) {
	.woocommerce-account .woocommerce form.login,
	.woocommerce-account .woocommerce form.register,
	.woocommerce-account .woocommerce-form-login,
	.woocommerce-account .woocommerce-form-register {
		padding: 20px;
	}
}

/* ==========================================================================
   Footer: charcoal, like the Etsy footer
   ========================================================================== */

body[data-footer] .ct-footer,
body[data-footer] .ct-footer [data-row*="top"],
body[data-footer] .ct-footer [data-row*="middle"],
body[data-footer] .ct-footer [data-row*="bottom"] {
	background-color: var(--ppc-ink);
}

body[data-footer] .ct-footer {
	--theme-text-color: rgba(255, 255, 255, 0.8);
	--theme-link-initial-color: rgba(255, 255, 255, 0.8);
	--theme-link-hover-color: var(--ppc-gold);
	--theme-heading-color: #ffffff;
	--theme-border-color: rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.8);
}

body[data-footer] .ct-footer .widget-title,
body[data-footer] .ct-footer [data-row*="top"] .widget-title,
body[data-footer] .ct-footer :is(h1, h2, h3, h4, h5, h6) {
	--theme-heading-color: #ffffff;
	--theme-font-family: var(--ppc-font);
	color: #ffffff;
	font-family: var(--ppc-font);
}

body[data-footer] .ct-footer a {
	color: var(--theme-link-initial-color);
}

body[data-footer] .ct-footer a:hover {
	color: var(--ppc-gold);
}

/* ==========================================================================
   Cookie banner (CookieAdmin): match the button style
   ========================================================================== */

.cookieadmin_law_container .cookieadmin_consent_inside {
	border-radius: var(--ppc-radius);
}

.cookieadmin_law_container .cookieadmin_btn {
	border-radius: 999px;
}

.cookieadmin_law_container .cookieadmin_accept_btn {
	background-color: var(--ppc-ink);
	border-color: var(--ppc-ink);
	color: #ffffff;
}
