/* BO-GO storefront experience: brand-preserving responsive and colour-system layer. */
html[data-bogo-theme] {
	--bogo-cc-bg: #faf9f6;
	--bogo-cc-surface: #ffffff;
	--bogo-cc-surface-soft: #f4f2eb;
	--bogo-cc-surface-raised: #fffdf9;
	--bogo-cc-text: #263025;
	--bogo-cc-muted: #5d665b;
	--bogo-cc-border: #d8d8ce;
	--bogo-cc-border-strong: #778474;
	--bogo-cc-brand: #2f4932;
	--bogo-cc-brand-hover: #213a27;
	--bogo-cc-on-brand: #ffffff;
	--bogo-cc-accent: #d99436;
	--bogo-cc-accent-soft: #fff2dc;
	--bogo-cc-on-accent: #263025;
	--bogo-cc-danger: #a02e2e;
	--bogo-cc-success: #226c39;
	--bogo-cc-focus: #be7114;
	--bogo-cc-shadow: 0 16px 44px rgba(35, 48, 35, 0.09);
	--bogo-cc-shadow-soft: 0 7px 22px rgba(35, 48, 35, 0.07);
	--bogo-cream: var(--bogo-cc-bg);
	--bogo-text: var(--bogo-cc-text);
	--bogo-muted: var(--bogo-cc-muted);
	--bogo-border: var(--bogo-cc-border);
	--bogo-green: var(--bogo-cc-brand);
	--bogo-amber: var(--bogo-cc-accent);
	background-color: var(--bogo-cc-bg);
	color: var(--bogo-cc-text);
}

html[data-bogo-theme="dark"] {
	--bogo-cc-bg: #0f1510;
	--bogo-cc-surface: #171e18;
	--bogo-cc-surface-soft: #202821;
	--bogo-cc-surface-raised: #1b231c;
	--bogo-cc-text: #f4f6f1;
	--bogo-cc-muted: #c3ccc0;
	--bogo-cc-border: #49564a;
	--bogo-cc-border-strong: #788779;
	--bogo-cc-brand: #9fc696;
	--bogo-cc-brand-hover: #b5d7ad;
	--bogo-cc-on-brand: #102014;
	--bogo-cc-accent: #f0b55d;
	--bogo-cc-accent-soft: #3b3020;
	--bogo-cc-on-accent: #18251a;
	--bogo-cc-danger: #ffaaa5;
	--bogo-cc-success: #9bdca8;
	--bogo-cc-focus: #f4bf6e;
	--bogo-cc-shadow: 0 18px 52px rgba(0, 0, 0, 0.32);
	--bogo-cc-shadow-soft: 0 8px 24px rgba(0, 0, 0, 0.24);
}

html[data-bogo-theme] body {
	background-color: var(--bogo-cc-bg);
	color: var(--bogo-cc-text);
}

html.bogo-theme-ready :where(.bogo-cc-tools, .bogo-cc-theme-toggle, .bogo-cc-language a, .bogo-cc-shipbar, .bogo-cc-ship-progress, .bogo-cc-checkout-steps li),
html.bogo-theme-ready body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(input, select, textarea, button) {
	transition-property: color, background-color, border-color, box-shadow;
	transition-duration: 160ms;
	transition-timing-function: ease-out;
}

.bogo-cc-experience :where(.bogo-cc-tools button, .bogo-cc-language a, .bogo-cc-sort select, .bogo-filters button, .bogo-filters select, .bogo-filters input),
body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(button, [type="submit"], select, input:not([type="hidden"]), textarea) {
	min-height: 44px;
}

.bogo-cc-experience :where(button, [type="button"], [type="submit"], [type="reset"], select, input, textarea, a):focus-visible {
	outline: 3px solid var(--bogo-cc-focus) !important;
	outline-offset: 3px;
	box-shadow: none !important;
}

.bogo-cc-experience :where(input, select, textarea):focus {
	border-color: var(--bogo-cc-focus) !important;
}

/* Header tools use real text controls, so they remain legible at any zoom level. */
.bogo-cc-tools {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-inline-start: auto;
	padding: 5px;
	border: 1px solid var(--bogo-cc-border);
	border-radius: 999px;
	background-color: color-mix(in srgb, var(--bogo-cc-surface) 92%, transparent);
	box-shadow: var(--bogo-cc-shadow-soft);
	color: var(--bogo-cc-text);
	font-size: 12px;
	font-weight: 760;
	line-height: 1.15;
	isolation: isolate;
}

.bogo-cc-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	padding: 8px 13px;
	border: 0;
	border-radius: 999px;
	background-color: var(--bogo-cc-brand);
	color: var(--bogo-cc-on-brand);
	font: inherit;
	cursor: pointer;
}

.bogo-cc-theme-toggle:hover {
	background-color: var(--bogo-cc-brand-hover);
}

.bogo-cc-language {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

.bogo-cc-language a {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 6px;
	border-radius: 999px;
	color: var(--bogo-cc-muted);
	text-decoration: none;
}

.bogo-cc-language a:hover {
	background-color: var(--bogo-cc-surface-soft);
	color: var(--bogo-cc-text);
}

.bogo-cc-language a[aria-current="page"] {
	background-color: var(--bogo-cc-accent-soft);
	color: var(--bogo-cc-text);
	box-shadow: inset 0 0 0 1px var(--bogo-cc-accent);
}

.bogo-cc-tools--mobile {
	width: calc(100% - 24px);
	margin: 18px 12px;
	justify-content: space-between;
}

.bogo-cc-tools--fallback {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 999;
}

/* Announcement and free-delivery progress replace the older duplicated bars. */
.bogo-cc-experience .bogo-shipbar,
.bogo-cc-experience .bogo-shipprog {
	display: none !important;
}

.bogo-cc-shipbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px 18px;
	min-height: 44px;
	padding: 9px clamp(14px, 4vw, 40px);
	background-color: var(--bogo-cc-brand);
	color: var(--bogo-cc-on-brand);
	font-size: 13px;
	line-height: 1.35;
	text-align: center;
}

.bogo-cc-shipbar__primary {
	font-weight: 820;
}

.bogo-cc-shipbar__secondary {
	opacity: 0.88;
}

.bogo-cc-shipbar .woocommerce-Price-amount {
	color: inherit !important;
}

.bogo-cc-ship-progress {
	margin: 0 0 24px;
	padding: clamp(16px, 3vw, 22px);
	border: 1px solid var(--bogo-cc-border);
	border-radius: 16px;
	background-color: var(--bogo-cc-surface-raised);
	box-shadow: var(--bogo-cc-shadow-soft);
}

.bogo-cc-ship-progress__copy {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin-bottom: 11px;
}

.bogo-cc-ship-progress__copy strong {
	color: var(--bogo-cc-text);
	font-size: 14px;
}

.bogo-cc-ship-progress__copy span {
	color: var(--bogo-cc-muted);
	font-size: 12px;
	font-weight: 680;
}

.bogo-cc-ship-progress__track {
	height: 10px;
	overflow: hidden;
	border-radius: 999px;
	background-color: var(--bogo-cc-surface-soft);
	box-shadow: inset 0 0 0 1px var(--bogo-cc-border);
}

.bogo-cc-ship-progress__track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background-color: var(--bogo-cc-success);
}

.bogo-cc-ship-progress.is-restricted {
	border-color: var(--bogo-cc-accent);
	background-color: var(--bogo-cc-accent-soft);
}

.bogo-cc-ship-progress.is-restricted .bogo-cc-ship-progress__track span {
	background-color: var(--bogo-cc-accent);
}

/* Sorting: explicit label and native select affordance avoid clipped custom arrows. */
.bogo-cc-experience .woocommerce-ordering::before {
	display: none !important;
	content: none !important;
}

.bogo-cc-sort,
.bogo-cc-experience .woocommerce-ordering.bogo-cc-sort,
.bogo-cc-experience .wc-block-components-sort-select.bogo-cc-sort {
	display: inline-grid;
	grid-template-columns: auto minmax(190px, 1fr);
	align-items: center;
	gap: 8px 12px;
	max-width: 100%;
	margin-bottom: 20px;
}

.bogo-cc-sort-label {
	color: var(--bogo-cc-text);
	font-size: 13px;
	font-weight: 780;
	line-height: 1.25;
	white-space: nowrap;
}

.bogo-cc-experience .bogo-cc-sort-select,
.bogo-cc-experience .woocommerce-ordering select.orderby.bogo-cc-sort-select,
.bogo-cc-experience .wc-block-components-sort-select select.bogo-cc-sort-select {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 38px 10px 13px;
	border: 1px solid var(--bogo-cc-border-strong) !important;
	border-radius: 12px;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
	-webkit-text-fill-color: var(--bogo-cc-text) !important;
	font: inherit;
	line-height: 1.35;
	-webkit-appearance: auto;
	appearance: auto;
}

/* Categories retain the merchant's original caret, layout and direct navigation. */
.bogo-cc-experience .bogo-catbar {
	border-color: var(--bogo-cc-border);
	background-color: var(--bogo-cc-bg);
}

.bogo-cc-experience .bogo-catbar__track {
	align-items: center;
	min-width: 0;
	scroll-padding-inline: 12px;
}

.bogo-cc-experience .bogo-catbar__chip,
.bogo-cc-experience .bogo-catbar__arr {
	min-height: 44px;
	border-color: var(--bogo-cc-border);
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
}

.bogo-cc-experience .bogo-catbar__arr {
	width: 44px;
	height: 44px;
}

.bogo-cc-experience .bogo-catbar__chip:hover {
	border-color: var(--bogo-cc-border-strong);
	background-color: var(--bogo-cc-surface-soft);
}

.bogo-cc-experience .bogo-catbar__chip.is-active {
	border-color: var(--bogo-cc-brand);
	background-color: var(--bogo-cc-brand);
	color: var(--bogo-cc-on-brand);
}

.bogo-cc-experience .bogo-catbar__caret {
	flex: 0 0 auto;
	color: currentColor;
}

.bogo-cc-experience .bogo-catbar__sub {
	padding-block: 10px;
	background-color: var(--bogo-cc-bg);
}

.bogo-cc-experience .bogo-catbar__chip--sub {
	background-color: var(--bogo-cc-surface);
}

/* Filters become a predictable one-column touch form on narrow screens. */
.bogo-cc-experience .bogo-filters-wrap {
	color: var(--bogo-cc-text);
}

.bogo-cc-experience .bogo-filters__toggle {
	min-height: 44px;
	padding: 10px 17px;
	border-color: var(--bogo-cc-border);
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
}

.bogo-cc-experience .bogo-filters__toggle:hover {
	border-color: var(--bogo-cc-border-strong);
	background-color: var(--bogo-cc-surface-soft);
}

.bogo-cc-experience .bogo-filters-wrap[open] .bogo-filters__toggle {
	border-color: var(--bogo-cc-brand);
	background-color: var(--bogo-cc-brand);
	color: var(--bogo-cc-on-brand);
}

.bogo-cc-experience .bogo-filters {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	border-color: var(--bogo-cc-border);
	background-color: var(--bogo-cc-surface-raised);
	box-shadow: var(--bogo-cc-shadow-soft);
}

.bogo-cc-experience .bogo-filters label {
	min-width: 0;
	color: var(--bogo-cc-text);
	text-align: start;
}

.bogo-cc-experience .bogo-filters :where(select, input[type="number"]) {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	min-height: 48px;
	border-color: var(--bogo-cc-border-strong);
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
	font: inherit;
}

.bogo-cc-experience .bogo-filters__price span {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	width: 100%;
}

.bogo-cc-experience .bogo-filters__go,
.bogo-cc-experience .bogo-filters__reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 22px;
	border-radius: 999px;
	font-weight: 780;
	text-align: center;
}

.bogo-cc-experience .bogo-filters__go {
	background-color: var(--bogo-cc-accent);
	color: var(--bogo-cc-on-accent);
}

.bogo-cc-experience .bogo-filters__reset {
	color: var(--bogo-cc-text);
}

/* Shared WooCommerce surfaces, fields, tables and notices. */
.bogo-cc-experience :where(.woocommerce, .wc-block-cart, .wc-block-checkout, .wc-block-components-sidebar-layout) {
	color: var(--bogo-cc-text);
}

body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-address-form select, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple) {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--bogo-cc-border-strong) !important;
	border-radius: 12px !important;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
	font: inherit;
}

.bogo-cc-experience :where(input, select, textarea)::placeholder {
	color: var(--bogo-cc-muted);
	opacity: 1;
}

.bogo-cc-experience :where(select option, .select2-dropdown, .select2-results__option, .select2-search__field) {
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
}

.bogo-cc-experience .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--bogo-cc-text);
	line-height: 46px;
}

.bogo-cc-experience .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

.bogo-cc-experience :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
	border: 1px solid var(--bogo-cc-border);
	border-radius: 13px;
	background-color: var(--bogo-cc-surface-raised);
	color: var(--bogo-cc-text);
	box-shadow: var(--bogo-cc-shadow-soft);
}

.bogo-cc-experience .woocommerce-error {
	border-inline-start: 4px solid var(--bogo-cc-danger);
}

.bogo-cc-experience :where(.woocommerce table.shop_table, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .wc-block-cart-items, .wc-block-components-totals-wrapper, .wc-block-checkout__order-notes, .wc-block-components-checkout-step) {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface-raised);
	color: var(--bogo-cc-text);
}

.bogo-cc-experience :where(.woocommerce table.shop_table th, .woocommerce table.shop_table td, .wc-block-cart-items th, .wc-block-cart-items td, .wc-block-components-totals-item) {
	border-color: var(--bogo-cc-border) !important;
	color: var(--bogo-cc-text);
}

.bogo-cc-experience :where(.woocommerce a.remove, .wc-block-cart-item__remove-link) {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	color: var(--bogo-cc-danger) !important;
}

.bogo-cc-experience :where(.quantity .qty, .wc-block-components-quantity-selector input) {
	min-width: 48px;
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
}

.bogo-cc-experience :where(.wc-block-components-quantity-selector__button, .quantity .ct-increase, .quantity .ct-decrease) {
	min-width: 44px;
	min-height: 44px;
	color: var(--bogo-cc-text);
}

body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button, .wc-block-cart__submit-button, .checkout-button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	font: inherit;
	text-align: center;
}

body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout) :where(.woocommerce .button.alt, .woocommerce .checkout-button, .woocommerce #place_order, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) {
	border-color: var(--bogo-cc-brand) !important;
	background-color: var(--bogo-cc-brand) !important;
	color: var(--bogo-cc-on-brand) !important;
}

body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout) :where(.woocommerce .button.alt, .woocommerce .checkout-button, .woocommerce #place_order, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):hover {
	background-color: var(--bogo-cc-brand-hover) !important;
}

/* Checkout progress and selectable delivery/payment panels. */
.bogo-cc-experience .bogo-checkout-steps:not(.bogo-cc-checkout-steps),
.bogo-cc-experience .bogo-checkout-trust:not(.bogo-cc-checkout-trust) {
	display: none !important;
}

.bogo-cc-checkout-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
}

.bogo-cc-checkout-steps li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 62px;
	padding: 11px 13px;
	border: 1px solid var(--bogo-cc-border);
	border-radius: 14px;
	background-color: var(--bogo-cc-surface-soft);
	color: var(--bogo-cc-muted);
}

.bogo-cc-checkout-steps li > span {
	flex: 0 0 32px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
	font-size: 12px;
	font-weight: 850;
}

.bogo-cc-checkout-steps strong,
.bogo-cc-checkout-steps small {
	display: block;
}

.bogo-cc-checkout-steps strong {
	color: var(--bogo-cc-text);
	font-size: 13px;
}

.bogo-cc-checkout-steps small {
	margin-top: 2px;
	color: var(--bogo-cc-muted);
	font-size: 10px;
}

.bogo-cc-checkout-steps li.is-current {
	border-color: var(--bogo-cc-accent);
	background-color: var(--bogo-cc-accent-soft);
	box-shadow: var(--bogo-cc-shadow-soft);
}

.bogo-cc-checkout-steps li.is-current > span {
	background-color: var(--bogo-cc-accent);
	color: var(--bogo-cc-on-accent);
}

.bogo-cc-checkout-steps li.is-complete:not(.is-current) {
	border-color: var(--bogo-cc-success);
	background-color: color-mix(in srgb, var(--bogo-cc-success) 10%, var(--bogo-cc-surface));
}

.bogo-cc-checkout-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0 0 22px;
	padding: 11px 15px;
	border-radius: 12px;
	background-color: var(--bogo-cc-brand);
	color: var(--bogo-cc-on-brand);
	font-size: 11px;
	font-weight: 720;
}

.bogo-cc-experience :where(#shipping_method li, #payment .wc_payment_method, .wc-block-components-radio-control__option, .wc-block-checkout__shipping-option) {
	margin-block: 7px;
	padding: 13px;
	min-height: 50px;
	border: 1px solid var(--bogo-cc-border);
	border-radius: 13px;
	background-color: var(--bogo-cc-surface);
	color: var(--bogo-cc-text);
	cursor: pointer;
}

.bogo-cc-experience :where(#shipping_method li.is-selected, #payment .wc_payment_method.is-selected, .wc-block-components-radio-control__option.is-selected, .wc-block-checkout__shipping-option.is-selected) {
	border-color: var(--bogo-cc-accent);
	background-color: var(--bogo-cc-accent-soft);
	box-shadow: inset 0 0 0 1px var(--bogo-cc-accent);
}

.bogo-cc-experience :where(#shipping_method label, #payment label, .wc-block-components-radio-control__label) {
	color: var(--bogo-cc-text);
}

.bogo-cc-experience :where(#shipping_method input[type="radio"], #payment input[type="radio"], .wc-block-components-radio-control input[type="radio"]) {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	min-height: 24px !important;
	accent-color: var(--bogo-cc-brand);
}

/* Preserve every account icon selected by the theme; only repair dark contrast. */
.bogo-account-page .bogo-acct-card__ico {
	opacity: 1;
}

html[data-bogo-theme="dark"] .bogo-account-page :where(.bogo-acct-card, .bogo-acct-recent) {
	border-color: var(--bogo-cc-border) !important;
	background: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-account-page .bogo-acct-card::after {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface-soft) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-account-page :where(.woocommerce-MyAccount-content p, .woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-Address address, .bogo-acct-card__t, .bogo-acct-recent) {
	color: var(--bogo-cc-text);
}

html[data-bogo-theme="dark"] .bogo-account-page .bogo-acct-card__d,
html[data-bogo-theme="dark"] .bogo-account-page .bogo-account-header p {
	color: var(--bogo-cc-muted) !important;
}

html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-navigation,
html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-content,
html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-Address,
html[data-bogo-theme="dark"] .bogo-account-page table.my_account_orders tbody tr {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface-raised) !important;
	color: var(--bogo-cc-text);
	box-shadow: var(--bogo-cc-shadow-soft);
}

html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-navigation li + li {
	border-color: var(--bogo-cc-border) !important;
}

html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-navigation li a {
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-navigation li a:hover {
	background-color: var(--bogo-cc-surface-soft);
}

html[data-bogo-theme="dark"] .bogo-account-page .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--bogo-cc-accent) !important;
	color: var(--bogo-cc-on-accent) !important;
}

html[data-bogo-theme="dark"] .bogo-account-header h1 {
	color: var(--bogo-cc-text);
}

/* Product and media surfaces are tuned separately; photographs are never inverted. */
html[data-bogo-theme="dark"] .bogo-cc-experience :where(.woocommerce ul.products li.product, .wc-block-product-template li.wc-block-product, .wc-block-grid__product) {
	border-color: var(--bogo-cc-border);
	background-color: var(--bogo-cc-surface-raised);
	color: var(--bogo-cc-text);
	box-shadow: var(--bogo-cc-shadow-soft);
}

.bogo-cc-experience :where(.woocommerce ul.products li.product img, .wc-block-product-template img, .wc-block-grid__product-image img, .woocommerce-product-gallery img) {
	background-color: #f2f1ed;
	filter: none !important;
	mix-blend-mode: normal;
}

.bogo-cc-experience :where(.woocommerce-loop-product__title, .wc-block-components-product-name, .wc-block-grid__product-title, .wp-block-post-title a) {
	color: var(--bogo-cc-text) !important;
}

.bogo-cc-experience :where(.price, .amount, .woocommerce-Price-amount, .wc-block-components-product-price) {
	color: var(--bogo-cc-text);
}

/* Dark mode adapts controls and commerce panels without repainting the theme's layout. */
html[data-bogo-theme="dark"] :where(.ct-header [data-row], .ct-panel-inner, .ct-drawer-canvas, .ct-cart-content, .ct-account-form, .ct-header-cart) {
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text);
}

html[data-bogo-theme="dark"] body.bogo-cc-experience {
	--theme-text-color: var(--bogo-cc-text);
	--theme-link-initial-color: var(--bogo-cc-accent);
	--theme-link-hover-color: #ffd08b;
	--theme-form-field-border-initial-color: var(--bogo-cc-border-strong);
}

html[data-bogo-theme="dark"] .ct-header .site-logo-container img,
html[data-bogo-theme="dark"] .ct-header .site-branding img:not(.custom-logo--dark) {
	filter: brightness(0) invert(1);
}

html[data-bogo-theme="dark"] .ct-header :where(.ct-icon, .ct-icon-container, .ct-header-trigger, .ct-search-trigger, .ct-cart-item, .ct-account-item) {
	color: var(--bogo-cc-text) !important;
	opacity: 1;
}

html[data-bogo-theme="dark"] .ct-header :where(.ct-icon, .ct-icon-container) svg {
	color: currentColor;
}

/* Keep Blocksy's footer structure and icons, but give dark mode a true dark surface. */
html[data-bogo-theme="dark"] footer.ct-footer :where([data-row="middle"], [data-row="bottom"]) {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] footer.ct-footer :where(h1, h2, h3, h4, p, address, li, span, .ct-footer-copyright, .widget-title) {
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] footer.ct-footer :where(a:not([data-network]), .ct-footer-copyright a) {
	color: var(--bogo-cc-muted) !important;
}

html[data-bogo-theme="dark"] footer.ct-footer :where(a:not([data-network]), .ct-footer-copyright a):hover {
	color: var(--bogo-cc-accent) !important;
}

html[data-bogo-theme="dark"] footer.ct-footer :where(.ct-icon-container, .ct-icon-container svg) {
	opacity: 1;
}

html[data-bogo-theme="dark"] .bogo-account-page .bogo-acct-card__ico {
	color: var(--bogo-cc-text);
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.bogo-form label, .bogo-trust__item, .bogo-subcats__lead, .bogo-parcel-plan, .bogo-checkout-welcome strong, .bogo-checkout-welcome > a, .bogo-payment-note) {
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.bogo-form input, .bogo-form select, .bogo-form textarea, .bogo-chip, .bogo-parcel-plan, .bogo-checkout-welcome, .bogo-payment-note, .woocommerce-terms-and-conditions-wrapper, .payment_box) {
	border-color: var(--bogo-cc-border) !important;
	background: var(--bogo-cc-surface-raised) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.bogo-chip span, .bogo-parcel-plan__icon) {
	background-color: var(--bogo-cc-surface-soft) !important;
	color: var(--bogo-cc-muted) !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.bogo-parcel-plan__eyebrow, .bogo-parcel-plan small, .bogo-checkout-welcome__eyebrow, .bogo-checkout-welcome small, .bogo-payment-note small, .woocommerce-terms-and-conditions-wrapper) {
	color: var(--bogo-cc-muted) !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(input, textarea):-webkit-autofill,
html[data-bogo-theme="dark"] .bogo-cc-experience :where(input, textarea):-webkit-autofill:hover,
html[data-bogo-theme="dark"] .bogo-cc-experience :where(input, textarea):-webkit-autofill:focus {
	-webkit-text-fill-color: var(--bogo-cc-text) !important;
	box-shadow: 0 0 0 1000px var(--bogo-cc-surface) inset !important;
	caret-color: var(--bogo-cc-text);
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(#payment, .wc-block-components-payment-methods) img {
	box-sizing: content-box;
	padding: 5px 7px;
	border-radius: 7px;
	background-color: #ffffff;
	filter: none !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.woocommerce ul.products li.product img, .wc-block-product-template img, .wc-block-grid__product-image img, .woocommerce-product-gallery img) {
	background-color: var(--bogo-cc-surface-soft);
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(
	input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
	select,
	textarea
) {
	border-color: var(--bogo-cc-border-strong) !important;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
	-webkit-text-fill-color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout :where(
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields
) {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface-raised) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout form.checkout .form-row :where(
	input.input-text,
	select,
	textarea,
	.select2-selection
) {
	border-color: var(--bogo-cc-border-strong) !important;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
	-webkit-text-fill-color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout form.checkout :where(label, h3, .form-row .required) {
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout .woocommerce :where(
	#shipping_method li,
	#payment .wc_payment_method
) {
	border-color: var(--bogo-cc-border-strong) !important;
	background-color: var(--bogo-cc-surface) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] .bogo-cc-experience :where(.wc-block-components-radio-control__option, .wc-block-checkout__shipping-option) {
	border-color: var(--bogo-cc-border-strong) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout .woocommerce :where(
	#shipping_method li label,
	#shipping_method li .amount,
	#payment .wc_payment_method > label
) {
	color: var(--bogo-cc-text) !important;
	-webkit-text-fill-color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] body.bogo-cc-experience.woocommerce-checkout .woocommerce #shipping_method li:has(input:checked) {
	border-color: var(--bogo-cc-accent) !important;
	background-color: var(--bogo-cc-accent-soft) !important;
}

body.bogo-cc-experience.woocommerce-checkout .woocommerce #payment #place_order {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 54px !important;
	margin-inline: 0 !important;
	border-color: var(--bogo-cc-brand) !important;
	background-color: var(--bogo-cc-brand) !important;
	color: var(--bogo-cc-on-brand) !important;
}

html[data-bogo-theme="dark"] :where(.wc-block-components-panel, .wc-block-components-totals-coupon, .wc-block-components-order-summary, .wc-block-components-order-summary-item, .wc-block-components-sidebar, .wc-block-components-main, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .woocommerce-checkout-payment, .woocommerce-checkout #payment, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register) {
	border-color: var(--bogo-cc-border) !important;
	background-color: var(--bogo-cc-surface-raised) !important;
	color: var(--bogo-cc-text) !important;
}

html[data-bogo-theme="dark"] :where(.wc-block-components-checkbox label, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-order-summary-item__description, .woocommerce-checkout-review-order-table, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td) {
	color: var(--bogo-cc-text) !important;
}

@media (max-width: 1024px) {
	.bogo-cc-tools--desktop {
		display: none;
	}

	.bogo-cc-experience :where(.wc-block-components-sidebar-layout, .wc-block-cart, .wc-block-checkout) {
		min-width: 0;
	}

	.bogo-cc-experience :where(.wc-block-components-main, .wc-block-components-sidebar) {
		min-width: 0;
	}
}

@media (min-width: 1025px) {
	.bogo-cc-tools--mobile {
		display: none;
	}
}

@media (max-width: 782px) {
	.bogo-cc-experience :where(.wc-block-components-sidebar-layout, .wc-block-cart, .wc-block-checkout) {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.bogo-cc-experience :where(.wc-block-components-main, .wc-block-components-sidebar, .wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100%;
		margin: 0;
		padding-inline: 0;
	}

	.bogo-cc-experience .woocommerce-cart-form {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.bogo-account-page .woocommerce-MyAccount-navigation li a {
		min-height: 44px;
	}
}

@media (max-width: 767px) {
	.bogo-cc-experience .woo-listing-top {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		align-items: stretch !important;
		gap: 12px !important;
		width: 100% !important;
	}

	.bogo-cc-experience .woo-listing-top > .bogo-filters-wrap,
	.bogo-cc-experience .woo-listing-top > .woocommerce-ordering {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.bogo-cc-shipbar {
		align-items: center;
		flex-direction: column;
		gap: 2px;
		padding-block: 9px;
	}

	.bogo-cc-sort,
	.bogo-cc-experience .woocommerce-ordering.bogo-cc-sort,
	.bogo-cc-experience .wc-block-components-sort-select.bogo-cc-sort {
		float: none;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
		max-width: none;
		gap: 6px;
		margin: 0 0 18px;
	}

	.bogo-cc-sort-label {
		width: 100%;
	}

	.bogo-cc-experience .bogo-cc-sort-select {
		width: 100% !important;
		min-height: 50px;
		font-size: 16px;
	}

	.bogo-cc-experience .bogo-filters :where(select, input[type="number"]),
	body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(input:not([type="hidden"]), select, textarea) {
		font-size: 16px;
	}

	.bogo-cc-experience .bogo-catbar__track {
		gap: 8px;
		padding: 9px 12px;
	}

	.bogo-cc-experience .bogo-catbar__chip,
	.bogo-cc-experience .bogo-catbar__arr {
		min-height: 44px;
		padding: 8px 13px;
	}

	.bogo-cc-experience .bogo-catbar__sub {
		padding: 9px 12px;
	}

	.bogo-cc-experience .bogo-filters {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 12px;
		padding: 16px;
	}

	.bogo-cc-experience .bogo-filters > *,
	.bogo-cc-experience .bogo-filters label,
	.bogo-cc-experience .bogo-filters select,
	.bogo-cc-experience .bogo-filters input[type="number"],
	.bogo-cc-experience .bogo-filters__go,
	.bogo-cc-experience .bogo-filters__reset {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	.bogo-cc-ship-progress__copy {
		align-items: flex-start;
		flex-direction: column;
	}

	.bogo-cc-checkout-steps {
		gap: 6px;
	}

	.bogo-cc-checkout-steps li {
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		min-height: 72px;
		padding: 9px 6px;
	}

	.bogo-cc-checkout-steps li > div {
		display: block;
		min-width: 0;
		text-align: center;
	}

	.bogo-cc-checkout-steps li strong {
		font-size: 11px;
		line-height: 1.15;
	}

	.bogo-cc-checkout-steps li small {
		display: none;
	}

	.bogo-cc-checkout-trust {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.bogo-account-page .woocommerce-MyAccount-navigation {
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}

	.bogo-account-page .woocommerce-MyAccount-navigation li {
		scroll-snap-align: start;
	}

	.bogo-account-page .woocommerce-MyAccount-content {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		padding: 20px 16px;
	}

	.bogo-account-page .woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	.bogo-account-page table.my_account_orders {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (max-width: 600px) {
	.bogo-cc-experience :where(.woocommerce, .wc-block-cart, .wc-block-checkout) {
		min-width: 0;
	}

	.bogo-cc-experience :where(.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td) {
		box-sizing: border-box;
		width: 100%;
		padding: 10px 12px;
		border-color: var(--bogo-cc-border) !important;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.bogo-cc-experience :where(.wc-block-cart-items__row, .wc-block-cart-item__wrap, .wc-block-components-product-metadata) {
		min-width: 0;
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.bogo-cc-experience :where(.cart_totals, .woocommerce-checkout-review-order, #customer_details) {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}

	body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(.woocommerce .button, .woocommerce button.button, .wc-block-components-button, .checkout-button) {
		min-height: 48px;
	}
}

@media (max-width: 414px) {
	.bogo-cc-tools--mobile {
		box-sizing: border-box;
		width: calc(100% - 20px);
		margin-inline: 10px;
		border-radius: 18px;
	}

	.bogo-cc-theme-toggle {
		min-width: 0;
		padding-inline: 11px;
	}

	.bogo-cc-language a {
		min-width: 44px;
	}

	.bogo-cc-ship-progress {
		padding: 15px;
		border-radius: 14px;
	}

	.bogo-cc-experience .bogo-filters {
		padding: 14px;
	}

	.bogo-cc-experience .bogo-filters__price span {
		gap: 5px;
	}

	.bogo-cc-checkout-steps li > span {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.bogo-cc-experience :where(#shipping_method li, #payment .wc_payment_method, .wc-block-components-radio-control__option, .wc-block-checkout__shipping-option) {
		padding: 12px 10px;
	}
}

@media (max-width: 375px) {
	.bogo-cc-tools {
		gap: 4px;
		padding: 4px;
	}

	.bogo-cc-theme-toggle {
		font-size: 11px;
	}

	.bogo-cc-language {
		gap: 0;
	}

	.bogo-cc-language a {
		min-width: 44px;
		padding-inline: 4px;
	}

	.bogo-cc-experience .bogo-catbar__track {
		padding-inline: 10px;
	}

	.bogo-cc-experience .bogo-filters__price span {
		grid-template-columns: minmax(0, 1fr);
	}

	.bogo-cc-experience .bogo-filters__price span > :not(input) {
		display: none;
	}

	.bogo-cc-experience .bogo-filters__price input + input {
		margin-top: 8px;
	}

	.bogo-cc-checkout-trust,
	.bogo-cc-shipbar {
		font-size: 12px;
	}
}

@media (max-width: 340px) {
	.bogo-cc-tools--mobile {
		align-items: stretch;
		flex-direction: column;
		border-radius: 15px;
	}

	.bogo-cc-theme-toggle,
	.bogo-cc-language a {
		min-height: 44px;
	}

	.bogo-cc-language {
		justify-content: center;
	}

	.bogo-cc-language a {
		flex: 1 1 0;
	}

	.bogo-cc-checkout-steps {
		gap: 4px;
	}

	.bogo-cc-checkout-steps li {
		padding-inline: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.bogo-theme-ready :where(.bogo-cc-tools, .bogo-cc-theme-toggle, .bogo-cc-language a, .bogo-cc-shipbar, .bogo-cc-ship-progress, .bogo-cc-checkout-steps li),
	html.bogo-theme-ready body.bogo-cc-experience:where(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) :where(input, select, textarea, button) {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
