/**
 * KIRIKIRI V25 — Phase 1 shared presentation authority.
 *
 * Scope is deliberately limited to global tokens and typography, the existing
 * header/footer markup, approved homepage/archive presentation, and shared
 * keyboard focus. Do not add product, cart, checkout, account, WAPF, or
 * purchase-flow rules here before their separately approved phases.
 */

/* Checkout acceptance: presentation only; native validation/payment hooks unchanged. */
body.woocommerce-checkout:not(.woocommerce-order-received),
body.woocommerce-checkout:not(.woocommerce-order-received) #main {
	background: #FAF9F6 !important;
	color: #171717 !important;
}
body.woocommerce-checkout #main :is(h1, h2, h3, h4, label, th, td, p, small, dt, dd) {
	color: #171717 !important;
}
body.woocommerce-checkout #main :is(input.input-text, textarea, select, .select2-selection) {
	background: #FFFFFF !important;
	color: #171717 !important;
	-webkit-text-fill-color: #171717 !important;
	border-color: #B8B2A9 !important;
}
body.woocommerce-checkout #main :is(input, textarea)::placeholder {
	color: #706E69 !important;
	-webkit-text-fill-color: #706E69 !important;
	opacity: 1;
}
body.woocommerce-checkout #main :is(.woocommerce-checkout-review-order, .shop_table, #payment, .payment_box, .wc_payment_methods, .wc_payment_method) {
	background: #F2EFEA !important;
	color: #171717 !important;
	border-color: #D4CEC5 !important;
}
body.woocommerce-checkout #main a { color: #642C3E; }
body.woocommerce-checkout #main .aocos-checkout-field-hint {
	color: #706E69 !important;
}
body.woocommerce-checkout #main :is(.aocos-order-shipping-estimates, .aocos-shipping-estimate, .woocommerce-info, .shop_table th, .shop_table td, .shop_table tr) {
	background: #F2EFEA !important;
	color: #171717 !important;
	border-color: #D4CEC5 !important;
}
body.woocommerce-checkout #main :is(.aocos-order-shipping-estimates, .woocommerce-info, .shop_table) :is(span, strong, small) {
	color: #171717 !important;
}
body.woocommerce-checkout #place_order {
	background: #642C3E !important;
	color: #FFFFFF !important;
}

:root {
	--kirikiri-v25-background: #FAF9F6;
	--kirikiri-v25-ink: #171717;
	--kirikiri-v25-secondary: #706E69;
	--kirikiri-v25-line: #E7E4DE;
	--kirikiri-v25-burgundy: #642C3E;
	--kirikiri-v25-stock: #2F6B4F;
	--kirikiri-v25-serif: "Cormorant Garamond", Georgia, serif;
	--kirikiri-v25-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--kirikiri-v25-page-gutter: clamp(18px, 3.35vw, 48px);
}

/* Wig form QA 2026-09-05: WAPF gives Measurement Unit and Head
 * Circumference inline 50% widths. In the narrow desktop summary column that
 * leaves the unit-suffixed label wider than its card. Stack both controls and
 * keep every label/input constrained to the available form width. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container:is(
	[for="aocos_wig_measurement_unit"],
	[for="aocos_wig_head_circumference"]
) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container[for="aocos_wig_head_circumference"] :is(
	.wapf-field-label,
	.wapf-field-label label,
	.wapf-field-label label span,
	.wapf-field-input,
	input
) {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container[for="aocos_wig_head_circumference"] .wapf-field-label {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

body.single-product .aocos-inline-required-error {
	background: rgb(180 35 24 / 10%) !important;
	color: #B42318 !important;
	font-weight: 700 !important;
}

/* Narrow desktop: give the paired footwear selectors full rows so their
 * headings and automatic currency note never collide with one another. */
@media (min-width: 1024px) {
	body.single-product .wapf-field-container[for="aocos_fit_gender"],
	body.single-product .wapf-field-container[for="aocos_size_system"] {
		flex: 0 0 100% !important;
		grid-column: 1 / -1 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.single-product .wapf-field-container:is([for="aocos_fit_gender"], [for="aocos_size_system"]) .wapf-field-label label {
		white-space: normal !important;
	}

	body.single-product .wapf-field-row:has(> .wapf-field-container[for="aocos_fit_gender"]) {
		flex-wrap: wrap !important;
	}
}

/* -------------------------------------------------------------------------
 * V25 desktop commerce completion layer — desktop only (owner scope).
 * Mobile/tablet rules above remain untouched until their own review round.
 * ---------------------------------------------------------------------- */

.aocos-props-safety-notice,
body.single-product .aocos-props-safety-notice {
	border: 1px solid #D8BD75 !important;
	border-left-width: 3px !important;
	background: #F7F1DF !important;
	color: #29231B !important;
	box-shadow: none !important;
}

.aocos-props-safety-notice__body,
body.single-product .aocos-props-safety-notice__body {
	color: #29231B !important;
}

.aocos-v25-back-to-top,
.aocos-v25-assistant {
	display: none;
}

@media (min-width: 1024px) {
	body.single-product .product-entry-wrapper,
	body.single-product .aocos-product-top {
		width: min(100%, 1440px) !important;
		max-width: 1440px !important;
	}

	body.single-product .aocos-product-top {
		display: grid !important;
		grid-template-columns: minmax(380px, .84fr) minmax(500px, 1.16fr) !important;
		gap: clamp(24px, 2.4vw, 38px) !important;
		align-items: start !important;
	}

	body.single-product .aocos-product-top__media {
		grid-column: 1 !important;
		position: sticky !important;
		top: 96px !important;
		align-self: start !important;
	}

	body.single-product .aocos-product-top__summary {
		grid-column: 2 !important;
		display: block !important;
		min-width: 0 !important;
	}

	body.single-product .aocos-product-top__summary > :not(form.cart) {
		grid-column: auto !important;
	}

	body.single-product .aocos-product-top__summary form.cart {
		grid-column: 1 / -1 !important;
		display: grid !important;
		grid-template-columns: minmax(280px, 1fr) minmax(198px, 220px) !important;
		column-gap: 18px !important;
		align-items: start !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	body.single-product .aocos-product-top__summary form.cart > :not(.aocos-v25-buybox) {
		grid-column: 1 !important;
		min-width: 0 !important;
	}

	body.single-product .aocos-v25-form-options {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: start !important;
		min-width: 0 !important;
	}

	body.single-product .aocos-v25-form-options > * {
		max-width: 100% !important;
	}

	body.single-product .aocos-product-top__image-frame {
		min-height: 560px !important;
		max-height: calc(100vh - 140px) !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		background: #fff !important;
	}

	body.single-product .aocos-product-top__image-frame img {
		width: 100% !important;
		height: 100% !important;
		max-height: calc(100vh - 142px) !important;
		object-fit: contain !important;
	}

	body.single-product .aocos-product-thumb {
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 8px !important;
		background: #fff !important;
		box-shadow: none !important;
		overflow: hidden !important;
	}

	body.single-product .aocos-product-thumb:is(.is-active, [aria-selected='true']) {
		border: 2px solid var(--kirikiri-v25-burgundy) !important;
		box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgb(100 44 62 / 18%) !important;
	}

	body.single-product .aocos-product-thumb:is([hidden], .is-image-missing) {
		display: none !important;
	}

	body.single-product .aocos-footwear-style-card.is-image-missing {
		grid-template-columns: 46px minmax(0, 1fr) !important;
		align-items: center !important;
	}

	body.single-product .aocos-footwear-style-card.is-image-missing img {
		display: none !important;
	}

	body.single-product .aocos-footwear-style-card.is-image-missing::before {
		content: "Image pending" !important;
		display: grid !important;
		place-items: center !important;
		min-height: 42px !important;
		padding: 4px !important;
		border-radius: 6px !important;
		background: #F4F0EA !important;
		color: #756F67 !important;
		font-size: 8px !important;
		line-height: 1.15 !important;
		text-align: center !important;
	}

	body.single-product .aocos-product-top__summary .product_title {
		font-size: clamp(32px, 2.35vw, 44px) !important;
		line-height: 1.02 !important;
		letter-spacing: -.025em !important;
	}

	body.single-product .aocos-product-top__summary form.cart :is(.wapf-wrapper, .woocommerce-variation-add-to-cart, .single_variation_wrap),
	body.single-product .aocos-product-top__summary .aocos-v25-size-guide,
	body.single-product .aocos-product-top__summary .aocos-product-logistics {
		border-top: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
	}

	body.single-product .aocos-product-top__summary .aocos-v25-size-guide {
		margin: 8px 0 18px !important;
		padding: 0 !important;
	}

	body.single-product .aocos-product-top__summary .wapf-wrapper {
		margin: 0 !important;
		padding: 6px 0 0 !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-group {
		gap: 10px !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-label label {
		font-size: 10px !important;
		white-space: nowrap !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container {
		padding: 12px !important;
		border-radius: 10px !important;
		background: #fff !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container[for='aocos_special_notes'] {
		margin-top: 4px !important;
		border-color: #D8D1C6 !important;
		background: #FCFAF7 !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container[for='aocos_special_notes'] textarea {
		min-height: 88px !important;
		border-radius: 7px !important;
		background: #fff !important;
	}

	body.single-product .aocos-product-top__summary .aocos-footwear-style-card,
	body.single-product .aocos-product-top__summary :is(.aocos-size-chip, .aocos-choice-card, .aocos-purchase-path__choice, .aocos-costume-option) {
		border-radius: 9px !important;
		box-shadow: 0 2px 8px rgb(43 34 29 / 6%) !important;
	}

	body.single-product .aocos-v25-buybox {
		grid-column: 2 !important;
		grid-row: 1 !important;
		position: sticky !important;
		top: 96px !important;
		align-self: start !important;
		padding: 22px !important;
		border: 1px solid #DCD7CF !important;
		border-radius: 14px !important;
		background: #FFFEFC !important;
		box-shadow: 0 10px 28px rgb(43 34 29 / 8%) !important;
	}

	.aocos-v25-buybox__eyebrow {
		margin: 0 0 8px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		letter-spacing: .12em !important;
		text-transform: uppercase !important;
	}

	.aocos-v25-buybox__price,
	.aocos-v25-buybox__price :is(.price, .amount) {
		margin: 0 0 8px !important;
		color: var(--kirikiri-v25-burgundy) !important;
		font-size: 25px !important;
		font-weight: 600 !important;
	}

	.aocos-v25-buybox__status .aocos-product-stock {
		margin: 0 0 18px !important;
	}

	.aocos-v25-buybox__actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		align-items: stretch !important;
	}

	.aocos-v25-buybox__actions .kirikiri-cr-wishlist-button {
		grid-column: 1 / -1 !important;
		order: 3 !important;
		width: 100% !important;
		min-height: 46px !important;
		border: 1px solid #CFC9C0 !important;
		border-radius: 999px !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	.aocos-v25-buybox__actions .quantity {
		grid-column: 1 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.single-product .aocos-v25-buybox__actions .single_add_to_cart_button {
		grid-column: 1 !important;
		width: 100% !important;
		min-height: 52px !important;
		margin: 0 !important;
		border: 1px solid var(--kirikiri-v25-burgundy) !important;
		border-radius: 999px !important;
		background: var(--kirikiri-v25-burgundy) !important;
		box-shadow: 0 7px 16px rgb(100 44 62 / 16%) !important;
	}

	body.single-product .aocos-v25-buybox__actions .single_add_to_cart_button:hover {
		background: #522334 !important;
		transform: translateY(-1px) !important;
	}

	.aocos-v25-buybox__secure {
		margin: 14px 0 0 !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 11px !important;
		text-align: center !important;
	}

	body.single-product .aocos-fwp-notice {
		margin: 14px 0 20px !important;
		padding: 16px 18px !important;
		border: 1px solid #E3D5AE !important;
		border-radius: 10px !important;
		background: #FBF7EB !important;
		color: #29231B !important;
		box-shadow: none !important;
	}

	body.single-product .aocos-fwp-notice :is(strong, span) {
		color: #29231B !important;
	}

	.aocos-v25-section-nav {
		position: sticky !important;
		top: 64px !important;
		z-index: 20 !important;
		display: flex !important;
		gap: 28px !important;
		width: min(100%, 1440px) !important;
		margin: 36px auto 0 !important;
		padding: 14px var(--kirikiri-v25-page-gutter) !important;
		border-block: 1px solid var(--kirikiri-v25-line) !important;
		background: rgb(250 249 246 / 96%) !important;
		backdrop-filter: blur(10px) !important;
	}

	.aocos-v25-section-nav a {
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: .06em !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
	}

	.aocos-v25-section-nav a:hover {
		color: var(--kirikiri-v25-burgundy) !important;
	}

	/* Desktop archive rail and readable card typography. */
	body.aocos-v25-product-archive .site-main {
		width: min(100%, 1440px) !important;
		max-width: 1440px !important;
		padding-inline: var(--kirikiri-v25-page-gutter) !important;
	}

	.aocos-v25-archive-shell {
		display: grid !important;
		grid-template-columns: 250px minmax(0, 1fr) !important;
		gap: 38px !important;
		align-items: start !important;
	}

	.aocos-v25-filters {
		position: sticky !important;
		top: 92px !important;
		padding: 20px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 12px !important;
		background: #FFFEFC !important;
	}

	.aocos-v25-filters__heading {
		display: flex !important;
		justify-content: space-between !important;
		align-items: baseline !important;
		padding-bottom: 14px !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
		font-size: 13px !important;
		font-weight: 600 !important;
	}

	.aocos-v25-filters__heading a {
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 11px !important;
	}

	.aocos-v25-filter-group {
		padding: 18px 0 !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	.aocos-v25-filter-group:last-child {
		padding-bottom: 0 !important;
		border-bottom: 0 !important;
	}

	.aocos-v25-filter-group h2 {
		margin: 0 0 12px !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: .09em !important;
		text-transform: uppercase !important;
	}

	.aocos-v25-filter-group ul {
		display: grid !important;
		gap: 9px !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.aocos-v25-filter-group a {
		display: flex !important;
		justify-content: space-between !important;
		gap: 10px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
	}

	.aocos-v25-filter-group a:is(:hover, [aria-current]) {
		color: var(--kirikiri-v25-burgundy) !important;
		font-weight: 600 !important;
	}

	.aocos-v25-filter-toggle {
		justify-content: flex-start !important;
		align-items: center !important;
	}

	.aocos-v25-filter-toggle span {
		width: 34px !important;
		height: 20px !important;
		border-radius: 999px !important;
		background: #DDD8D0 !important;
		box-shadow: inset 0 0 0 1px #CDC7BE !important;
	}

	.aocos-v25-filter-toggle span::after {
		display: block !important;
		width: 16px !important;
		height: 16px !important;
		margin: 2px !important;
		border-radius: 50% !important;
		background: #fff !important;
		box-shadow: 0 1px 3px rgb(0 0 0 / 18%) !important;
		content: '' !important;
	}

	.aocos-v25-filter-toggle.is-active span {
		background: var(--kirikiri-v25-burgundy) !important;
	}

	.aocos-v25-filter-toggle.is-active span::after {
		transform: translateX(14px) !important;
	}

	.aocos-v25-archive-main {
		min-width: 0 !important;
	}

	body.aocos-v25-product-archive .aocos-v25-archive-main ul.products[data-products] {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 28px 22px !important;
	}

	body.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title,
	body.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title a {
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.45 !important;
		letter-spacing: 0 !important;
	}

	body.aocos-v25-product-archive li.product.is-image-missing :is(figure, .ct-media-container, .ct-image-container) {
		background: linear-gradient(135deg, #F7F2EC, #FCFAF7) !important;
	}

	body.aocos-v25-product-archive li.product.is-image-missing :is(figure, .ct-media-container, .ct-image-container)::after {
		position: absolute !important;
		inset: 50% auto auto 50% !important;
		transform: translate(-50%, -50%) !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 11px !important;
		letter-spacing: .08em !important;
		content: 'IMAGE PENDING' !important;
	}

	/* Failed gallery sources must not leave empty bordered thumbnail slots. */
	body.single-product .aocos-product-thumb[hidden],
	body.single-product .aocos-product-thumb.is-image-missing,
	body.single-product .aocos-product-thumb:has(img[hidden]) {
		display: none !important;
	}

	/* Cart moves out of the superseded dark foundation without changing cart logic. */
	body.woocommerce-cart,
	body.woocommerce-cart #main-container,
	body.woocommerce-cart .site-main,
	body.woocommerce-cart .content-area {
		background: var(--kirikiri-v25-background) !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	body.woocommerce-cart .site-main {
		min-height: 62vh !important;
		padding-block: 54px 80px !important;
	}

	body.woocommerce-cart .hero-section :is(.entry-header, .page-title) {
		background: transparent !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	body.woocommerce-cart .aocos-empty-cart,
	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .cart_totals {
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 14px !important;
		background: #FFFEFC !important;
		color: var(--kirikiri-v25-ink) !important;
		box-shadow: 0 10px 30px rgb(43 34 29 / 7%) !important;
	}

	body.woocommerce-cart .aocos-empty-cart {
		width: min(100%, 720px) !important;
		margin: 34px auto !important;
		padding: 54px !important;
		text-align: center !important;
	}

	body.woocommerce-cart .aocos-empty-cart :is(h2, p) {
		color: var(--kirikiri-v25-ink) !important;
	}

	body.woocommerce-cart .aocos-empty-cart p {
		color: var(--kirikiri-v25-secondary) !important;
	}

	body.woocommerce-cart .aocos-empty-cart .return-to-shop {
		display: block !important;
		width: auto !important;
		min-height: 0 !important;
		margin: 26px 0 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.woocommerce-cart .aocos-empty-cart .button,
	body.woocommerce-cart :is(.checkout-button, button.button, input.button) {
		border: 1px solid var(--kirikiri-v25-burgundy) !important;
		border-radius: 999px !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		box-shadow: 0 7px 16px rgb(100 44 62 / 14%) !important;
	}

	/* Desktop utility stack: assistant at the bottom, Top above it. */
	.aocos-v25-back-to-top {
		position: fixed !important;
		right: 28px !important;
		bottom: 104px !important;
		z-index: 230 !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		min-height: 42px !important;
		padding: 0 14px !important;
		border: 1px solid #D7D1C8 !important;
		border-radius: 999px !important;
		background: #FFFEFC !important;
		color: var(--kirikiri-v25-ink) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		box-shadow: 0 8px 24px rgb(43 34 29 / 12%) !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transform: translateY(8px) !important;
		transition: opacity .2s ease, transform .2s ease !important;
	}

	.aocos-v25-back-to-top.is-visible {
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: none !important;
	}

	.aocos-v25-assistant {
		position: fixed !important;
		right: 28px !important;
		bottom: 28px !important;
		z-index: 240 !important;
		display: block !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	.aocos-v25-assistant__toggle {
		display: inline-flex !important;
		align-items: center !important;
		gap: 8px !important;
		min-height: 54px !important;
		padding: 0 18px !important;
		border: 1px solid #4E2131 !important;
		border-radius: 999px !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		box-shadow: 0 10px 28px rgb(61 29 40 / 24%) !important;
	}

	.aocos-v25-assistant__panel {
		position: absolute !important;
		right: 0 !important;
		bottom: 66px !important;
		width: 360px !important;
		overflow: hidden !important;
		border: 1px solid #D9D3CA !important;
		border-radius: 16px !important;
		background: #FFFEFC !important;
		box-shadow: 0 18px 60px rgb(43 34 29 / 18%) !important;
	}

	.aocos-v25-assistant__panel[hidden] {
		display: none !important;
	}

	.aocos-v25-assistant__panel header {
		display: flex !important;
		justify-content: space-between !important;
		align-items: flex-start !important;
		padding: 18px 20px !important;
		background: #251D1A !important;
		color: #fff !important;
	}

	.aocos-v25-assistant__panel header div {
		display: grid !important;
		gap: 3px !important;
	}

	.aocos-v25-assistant__panel header small {
		color: #D8BD75 !important;
		font-size: 9px !important;
		letter-spacing: .13em !important;
	}

	.aocos-v25-assistant__panel header strong {
		font-family: var(--kirikiri-v25-serif) !important;
		font-size: 22px !important;
		font-weight: 500 !important;
	}

	.aocos-v25-assistant__panel header button {
		min-width: 32px !important;
		min-height: 32px !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: #fff !important;
		font-size: 24px !important;
	}

	.aocos-v25-assistant__messages {
		display: grid !important;
		gap: 10px !important;
		max-height: 280px !important;
		overflow-y: auto !important;
		padding: 18px !important;
		background: #F7F3ED !important;
	}

	.aocos-v25-assistant__messages p {
		max-width: 88% !important;
		margin: 0 !important;
		padding: 10px 12px !important;
		border-radius: 11px !important;
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	.aocos-v25-assistant__messages .is-assistant {
		justify-self: start !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	.aocos-v25-assistant__messages .is-user {
		justify-self: end !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
	}

	.aocos-v25-assistant__panel form {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		gap: 8px !important;
		padding: 14px !important;
		border: 0 !important;
		background: #FFFEFC !important;
	}

	.aocos-v25-assistant__panel input {
		min-width: 0 !important;
		min-height: 42px !important;
		padding: 0 12px !important;
		border: 1px solid #D9D3CA !important;
		border-radius: 999px !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	.aocos-v25-assistant__panel form button {
		min-height: 42px !important;
		padding: 0 15px !important;
		border: 1px solid var(--kirikiri-v25-burgundy) !important;
		border-radius: 999px !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-size: 11px !important;
	}
}

html {
	background: var(--kirikiri-v25-background);
}

body {
	background: var(--kirikiri-v25-background);
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-sans);
	font-weight: 400;
}

:where(button, input, select, textarea) {
	font-family: inherit;
}

:where(h1, h2, h3, h4, h5, h6, .entry-title, .page-title) {
	font-family: var(--kirikiri-v25-serif);
	font-weight: 500;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--kirikiri-v25-burgundy);
	outline-offset: 3px;
}

/* Header: existing URLs, counters, search, drawer, and controllers remain intact. */
body > .aocos-commerce-header {
	position: sticky;
	top: 0;
	z-index: 120;
	border-bottom: 1px solid var(--kirikiri-v25-line);
	background: rgb(250 249 246 / 98%);
	color: var(--kirikiri-v25-ink);
	box-shadow: none;
}

.aocos-commerce-header__top {
	position: relative;
	width: min(100%, 1440px);
	min-height: 64px;
	margin-inline: auto;
	padding-inline: var(--kirikiri-v25-page-gutter);
}

.aocos-commerce-header__logo {
	color: var(--kirikiri-v25-ink);
}

.aocos-commerce-header__logo picture {
	display: block;
	width: 154px;
	height: 31px;
	overflow: hidden;
}

.aocos-commerce-header__logo img {
	display: block;
	width: 154px;
	height: 63px;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center top;
}

.aocos-commerce-header > .aocos-commerce-header__nav {
	min-height: 64px;
	border: 0;
}

.aocos-commerce-header__nav a {
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.aocos-commerce-header__nav a:hover,
.aocos-commerce-header__nav a:focus-visible {
	color: var(--kirikiri-v25-burgundy);
}

.aocos-commerce-header__utilities {
	gap: 4px;
}

.aocos-commerce-header .aocos-header-utility,
.aocos-commerce-header .aocos-header-search button {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--kirikiri-v25-ink);
}

.aocos-commerce-header .aocos-header-utility:hover,
.aocos-commerce-header .aocos-header-utility:focus-visible,
.aocos-commerce-header .aocos-header-search button:hover,
.aocos-commerce-header .aocos-header-search button:focus-visible {
	background: rgb(100 44 62 / 8%);
	color: var(--kirikiri-v25-burgundy);
	outline: none;
}

/* Remove every historical CSS-drawn icon so the existing inline SVG is visible. */
.aocos-commerce-header .aocos-header-icon::before,
.aocos-commerce-header .aocos-header-icon::after,
.aocos-header-search .aocos-header-icon::before,
.aocos-header-search .aocos-header-icon::after {
	display: none !important;
	content: none !important;
}

.aocos-commerce-header .aocos-header-icon,
.aocos-header-search .aocos-header-icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.aocos-commerce-header .aocos-header-icon svg,
.aocos-header-search .aocos-header-icon svg {
	display: block !important;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5px;
}

.aocos-commerce-header .kirikiri-cr-header-wishlist .aocos-header-icon svg {
	fill: none;
	stroke-width: 1.5px;
}

.aocos-header-cart__count,
.kirikiri-cr-header-wishlist__count {
	border: 1px solid var(--kirikiri-v25-background);
	border-radius: 50%;
	background: var(--kirikiri-v25-burgundy);
	color: #fff;
	font-family: var(--kirikiri-v25-sans);
	font-size: 10px;
	font-weight: 500;
}

/* A persistent, direct Contact Us path is clearer than hiding support behind
 * a menu. It sits immediately beside the cart on desktop and mobile. */
.aocos-commerce-header .aocos-header-contact {
	border-radius: 50%;
}

.aocos-commerce-header .aocos-header-dropdown__menu,
.aocos-commerce-header .aocos-header-account__menu {
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 0;
	background: var(--kirikiri-v25-background);
	color: var(--kirikiri-v25-ink);
	box-shadow: 0 14px 30px rgb(23 23 23 / 10%);
}

.aocos-commerce-header .aocos-header-dropdown__menu a,
.aocos-commerce-header .aocos-header-dropdown__menu button,
.aocos-commerce-header .aocos-header-account__menu a {
	border-radius: 0;
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-sans);
	font-size: 13px;
	font-weight: 400;
}

.aocos-commerce-header .aocos-header-dropdown__menu a:hover,
.aocos-commerce-header .aocos-header-dropdown__menu button:hover,
.aocos-commerce-header .aocos-header-account__menu a:hover,
.aocos-commerce-header .aocos-header-dropdown__menu a:focus-visible,
.aocos-commerce-header .aocos-header-dropdown__menu button:focus-visible,
.aocos-commerce-header .aocos-header-account__menu a:focus-visible {
	background: rgb(100 44 62 / 8%);
	color: var(--kirikiri-v25-burgundy);
}

.aocos-commerce-header .aocos-header-dropdown__heading,
.aocos-commerce-header .aocos-header-locale__label,
.aocos-commerce-header .aocos-header-locale__static {
	color: var(--kirikiri-v25-secondary);
	font-family: var(--kirikiri-v25-sans);
}

.aocos-commerce-header__mobile-search {
	border-bottom: 1px solid var(--kirikiri-v25-line);
	background: var(--kirikiri-v25-background);
}

.aocos-commerce-header__mobile-search .aocos-header-search {
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 0;
	background: #fff;
}

.aocos-commerce-header__mobile-search .aocos-header-search input[type="search"] {
	color: var(--kirikiri-v25-ink);
}

.aocos-commerce-header__mobile-search .aocos-header-search input[type="search"]::placeholder {
	color: var(--kirikiri-v25-secondary);
}

.aocos-commerce-header__drawer,
.aocos-commerce-header__drawer-panel {
	background: var(--kirikiri-v25-background);
	color: var(--kirikiri-v25-ink);
}

.aocos-commerce-header__drawer-panel {
	border-left: 1px solid var(--kirikiri-v25-line);
	box-shadow: -12px 0 28px rgb(23 23 23 / 10%);
}

.aocos-commerce-header__drawer-close,
.aocos-commerce-header__drawer-section a,
.aocos-commerce-header__drawer-section span,
.aocos-commerce-header__drawer-heading {
	color: var(--kirikiri-v25-ink);
}

.aocos-commerce-header__drawer-heading {
	font-family: var(--kirikiri-v25-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
}

@media (min-width: 1024px) {
	.aocos-commerce-header__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	/*
	 * The legacy foundation switches to its compact header through 1279px.
	 * Restore the V25 desktop contract explicitly so the centered navigation
	 * never appears beside the legacy drawer trigger in the 1024–1279px band.
	 * Support and locale controllers stay in the DOM for the mobile drawer.
	 */
	.aocos-commerce-header .aocos-header-support,
	.aocos-commerce-header .aocos-header-locale,
	.aocos-commerce-header .aocos-header-drawer-toggle {
		display: none;
	}

	.aocos-commerce-header__top > .aocos-header-search:not(.aocos-header-search--mobile) {
		display: none;
	}

	.aocos-commerce-header > .aocos-commerce-header__nav {
		position: absolute;
		top: 0;
		left: 50%;
		display: flex;
		width: auto;
		padding: 0;
		transform: translateX(-50%);
	}

	.aocos-mobile-search-toggle {
		display: inline-flex;
	}

	.aocos-commerce-header__mobile-search.is-open {
		display: block;
		padding: 0 var(--kirikiri-v25-page-gutter) 14px;
	}

	.aocos-commerce-header__mobile-search.is-open .aocos-header-search {
		display: flex;
		width: min(100%, 560px);
		min-width: 0;
		margin-inline: auto;
	}
}

@media (max-width: 1023px) {
	.aocos-commerce-header__top {
		display: flex;
		min-height: 60px;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
	}

	.aocos-commerce-header__logo picture {
		width: 132px;
		height: 27px;
	}

	.aocos-commerce-header__logo img {
		width: 132px;
		height: 54px;
	}

	.aocos-commerce-header > .aocos-header-search,
	.aocos-commerce-header > .aocos-commerce-header__nav,
	.aocos-header-support,
	.aocos-header-locale {
		display: none;
	}

	.aocos-mobile-search-toggle,
	.aocos-header-drawer-toggle {
		display: inline-flex;
	}

	.aocos-commerce-header__utilities {
		gap: 0;
	}

	.aocos-commerce-header .aocos-header-utility {
		width: 38px;
		height: 44px;
		min-width: 38px;
		min-height: 44px;
	}

	.aocos-commerce-header__mobile-search.is-open {
		position: absolute;
		top: 100%;
		left: 50%;
		z-index: 1;
		display: block;
		width: min(calc(100vw - (var(--kirikiri-v25-page-gutter) * 2)), 620px);
		padding: 12px 0;
		transform: translateX(-50%);
	}

	.aocos-commerce-header__mobile-search.is-open .aocos-header-search {
		display: flex;
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 430px) {
	.aocos-commerce-header__top {
		padding-inline: 14px;
	}

	.aocos-commerce-header__logo picture {
		width: 114px;
		height: 24px;
	}

	.aocos-commerce-header__logo img {
		width: 114px;
		height: 47px;
	}

	.aocos-commerce-header .aocos-header-utility {
		width: 35px;
		min-width: 35px;
	}
}

/* Footer: retain every existing link and the existing consent control. */
.aocos-commerce-footer {
	border: 0;
	background: var(--kirikiri-v25-ink);
	color: rgb(250 249 246 / 78%);
}

.aocos-commerce-footer__inner,
.aocos-commerce-footer__base-inner {
	width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 1440px);
}

.aocos-commerce-footer__inner {
	gap: clamp(32px, 5vw, 84px);
	padding-block: clamp(48px, 7vw, 88px);
}

.aocos-commerce-footer__column {
	min-width: 0;
}

.aocos-commerce-footer__title {
	margin-bottom: 15px;
	color: var(--kirikiri-v25-background);
	font-family: var(--kirikiri-v25-serif);
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.aocos-commerce-footer__list,
.aocos-commerce-footer__about,
.aocos-commerce-footer__copy,
.aocos-commerce-footer__base-links,
.aocos-commerce-footer__meta-label {
	font-family: var(--kirikiri-v25-sans);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
}

.aocos-commerce-footer a,
.aocos-commerce-footer .aocos-consent-open {
	color: rgb(250 249 246 / 76%);
	text-decoration: none;
}

.aocos-commerce-footer a:hover,
.aocos-commerce-footer a:focus-visible,
.aocos-commerce-footer .aocos-consent-open:hover,
.aocos-commerce-footer .aocos-consent-open:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.aocos-commerce-footer__support a,
.aocos-commerce-footer__meta-label {
	color: rgb(250 249 246 / 52%);
}

.aocos-commerce-footer__brand-logo {
	max-width: 190px;
	filter: none;
}

.aocos-commerce-footer__base {
	border-top: 1px solid rgb(250 249 246 / 16%);
	background: transparent;
}

.aocos-commerce-footer__base-inner {
	padding-block: 18px;
}

@media (max-width: 1023px) {
	.aocos-commerce-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 20px;
		padding-block: 48px;
	}

	.aocos-commerce-footer__column--about {
		grid-column: 1 / -1;
	}

	.aocos-commerce-footer__base-inner {
		display: grid;
		gap: 10px;
	}
}

/* V25 Homepage: the renderer in inc/v25/home.php is the sole homepage authority. */
body.home,
body.home .site-main,
body.home .entry-content {
	background: var(--kirikiri-v25-background);
}

body.home .entry-content {
	color: var(--kirikiri-v25-ink);
	line-height: 1.5;
}

body.home .entry-content > .aocos-v25-home {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--kirikiri-v25-background);
}

body.home .entry-content .aocos-v25-home,
body.home .entry-content .aocos-v25-home :is(h1, h2, h3, p) {
	max-width: none;
}

body.home .entry-content .aocos-v25-home :is(h1, h2, h3) {
	margin: 0;
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-serif);
	font-weight: 500;
	letter-spacing: -.025em;
}

body.home .entry-content .aocos-v25-home p {
	margin: 0;
	color: var(--kirikiri-v25-secondary);
	font-family: var(--kirikiri-v25-sans);
}

body.home .entry-content .aocos-v25-home a {
	color: inherit;
}

.aocos-v25-home {
	--v25-home-width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 1440px);
	--v25-home-section-space: clamp(72px, 7vw, 96px);
	--v25-home-card-gap: 24px;
	overflow: clip;
}

.aocos-v25-home__hero {
	position: relative;
	display: grid;
	min-height: clamp(420px, 56vh, 640px);
	place-items: center;
	border-bottom: 1px solid var(--kirikiri-v25-line);
	background:
		linear-gradient(115deg, rgb(100 44 62 / 10%), transparent 46%),
		linear-gradient(180deg, #fff 0%, var(--kirikiri-v25-background) 100%);
	overflow: hidden;
}

.aocos-v25-home__hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	margin: 0;
}

.aocos-v25-home__hero-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.aocos-v25-home__hero-inner {
	position: relative;
	z-index: 2;
	width: var(--v25-home-width);
	padding-block: clamp(72px, 11vw, 152px);
}

.aocos-v25-home__hero-pending {
	position: absolute;
	right: 0;
	bottom: 24px;
	display: inline-flex;
	padding: 6px 8px;
	border: 1px solid rgb(100 44 62 / 28%);
	background: rgb(250 249 246 / 72%);
	color: var(--kirikiri-v25-burgundy);
	font-family: var(--kirikiri-v25-sans);
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1;
	text-transform: uppercase;
}

.aocos-v25-home__eyebrow {
	margin-bottom: 16px !important;
	color: var(--kirikiri-v25-burgundy) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .13em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.home .entry-content .aocos-v25-home__hero h1 {
	width: min(720px, 100%) !important;
	font-size: clamp(48px, 6.1vw, 78px);
	line-height: .95;
}

.aocos-v25-home__hero-copy {
	width: min(410px, 100%) !important;
	margin-top: 24px !important;
	font-size: 16px;
	line-height: 1.65;
}

.aocos-v25-home__button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	margin-top: 32px;
	padding: 13px 22px;
	border: 1px solid var(--kirikiri-v25-burgundy);
	border-radius: 0;
	background: var(--kirikiri-v25-burgundy);
	color: #fff !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.aocos-v25-home__button:hover,
.aocos-v25-home__button:focus-visible {
	background: transparent;
	color: var(--kirikiri-v25-burgundy) !important;
}

.aocos-v25-home__section,
.aocos-v25-home__closing {
	width: var(--v25-home-width);
	margin-inline: auto;
	padding-top: var(--v25-home-section-space);
}

.aocos-v25-home__section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}

body.home .entry-content .aocos-v25-home__section-heading h2,
body.home .entry-content .aocos-v25-home__story h2,
body.home .entry-content .aocos-v25-home__custom h2,
body.home .entry-content .aocos-v25-home__closing h2 {
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1;
}

.aocos-v25-home__text-link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	border-bottom: 1px solid currentColor;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.aocos-v25-home__text-link:hover,
.aocos-v25-home__text-link:focus-visible {
	color: var(--kirikiri-v25-burgundy) !important;
}

.aocos-v25-home__products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--v25-home-card-gap);
}

.aocos-v25-home__product {
	display: flex;
	min-width: 0;
	flex-direction: column;
	background: transparent;
}

.aocos-v25-home__product-media {
	display: grid;
	aspect-ratio: 4 / 5;
	place-items: center;
	padding: 10%;
	border: 1px solid var(--kirikiri-v25-line);
	background: #fff;
}

.aocos-v25-home__product-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.aocos-v25-home__product-copy {
	display: flex;
	min-height: 118px;
	flex-direction: column;
	padding-top: 16px;
}

body.home .entry-content .aocos-v25-home__product h3 {
	display: -webkit-box;
	overflow: hidden;
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-sans);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.aocos-v25-home__product h3 a {
	color: inherit !important;
	text-decoration: none;
}

.aocos-v25-home__product-price {
	margin-top: auto;
	padding-top: 12px;
	color: var(--kirikiri-v25-secondary);
	font-family: var(--kirikiri-v25-sans);
	font-size: 14px;
	font-weight: 500;
}

.aocos-v25-home__story {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
	align-items: center;
	gap: clamp(36px, 7vw, 112px);
}

.aocos-v25-home__editorial-slot,
.aocos-v25-home__collection-card {
	position: relative;
	border: 1px solid var(--kirikiri-v25-line);
	overflow: hidden;
}

.aocos-v25-home__editorial-slot {
	min-height: clamp(360px, 41vw, 570px);
	background:
		linear-gradient(145deg, rgb(100 44 62 / 16%), transparent 55%),
		linear-gradient(35deg, #fff, rgb(250 249 246 / 70%));
}

.aocos-v25-home__editorial-slot > img,
.aocos-v25-home__collection-card > img {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aocos-v25-home__collection-card--costumes > img,
.aocos-v25-home__collection-card--footwear > img {
	object-fit: cover;
	object-position: center;
}

.aocos-v25-home__collection-card--costumes > img {
	object-position: center 28%;
}

.aocos-v25-home__story-copy {
	max-width: 460px;
}

.aocos-v25-home__story-copy > p:last-child,
.aocos-v25-home__custom-copy p {
	margin-top: 24px !important;
	font-size: 16px;
	line-height: 1.7;
}

.aocos-v25-home__collection-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--v25-home-card-gap);
}

.aocos-v25-home__collection-card {
	display: flex;
	min-height: clamp(330px, 35vw, 480px);
	align-items: end;
	padding: clamp(24px, 3vw, 44px);
	background: #f7efe8;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-serif);
	font-size: clamp(36px, 4vw, 58px);
	font-weight: 500;
	line-height: .9;
	text-decoration: none;
}

.aocos-v25-home__collection-card::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(0deg, rgb(23 17 18 / 68%) 0%, rgb(23 17 18 / 12%) 50%, transparent 78%);
	content: "";
}

.aocos-v25-home__collection-card > span {
	position: relative;
	z-index: 2;
	color: #fff;
	text-shadow: 0 1px 18px rgb(0 0 0 / 38%);
}

.aocos-v25-home__collection-card--footwear {
	background: #e9e2df;
}

.aocos-v25-home__collection-card:hover,
.aocos-v25-home__collection-card:focus-visible {
	color: #fff !important;
}

.aocos-v25-static-editorial {
	width: min(100%, 1040px);
	margin: 0 auto clamp(32px, 5vw, 64px);
	overflow: hidden;
	border: 1px solid var(--kirikiri-v25-line);
	background: var(--kirikiri-v25-surface-soft);
}

.aocos-v25-static-editorial img {
	display: block;
	width: 100%;
	height: auto;
}

.aocos-v25-static-editorial--about img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.aocos-v25-static-editorial--size-guide {
	max-width: 720px;
}

.aocos-v25-home__custom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
	gap: clamp(36px, 7vw, 112px);
	padding-bottom: var(--v25-home-section-space);
	border-bottom: 1px solid var(--kirikiri-v25-line);
}

.aocos-v25-home__custom-copy .aocos-v25-home__text-link {
	margin-top: 20px;
}

.aocos-v25-home__closing {
	padding-block: var(--v25-home-section-space);
	text-align: center;
}

.aocos-v25-home__closing .aocos-v25-home__eyebrow {
	margin-bottom: 18px !important;
}

.aocos-v25-home__closing h2 {
	width: min(700px, 100%) !important;
	margin-inline: auto !important;
}

.aocos-v25-home__closing .aocos-v25-home__button {
	margin-top: 28px;
}

@media (max-width: 1023px) {
	.aocos-v25-home__hero {
		min-height: clamp(400px, 58vh, 560px);
	}

	.aocos-v25-home__story,
	.aocos-v25-home__custom {
		gap: 48px;
	}
}

@media (max-width: 767px) {
	.aocos-v25-home {
		--v25-home-section-space: 48px;
		--v25-home-card-gap: 12px;
	}

	.aocos-v25-home__hero {
		width: 100vw;
		min-height: 430px;
		margin-left: calc(50% - 50vw);
	}

	/* The landscape asset gives phones the same editorial composition as the
	 * approved reference: copy on open space, character anchored at the right. */
	.aocos-v25-home__hero-media img {
		object-position: 61% center;
		transform: none;
	}

	.aocos-v25-home__hero-media::after {
		position: absolute;
		z-index: 1;
		inset: 0;
		background: linear-gradient(90deg, rgb(250 241 235 / 70%) 0%, rgb(250 241 235 / 24%) 54%, transparent 74%);
		content: "";
		pointer-events: none;
	}

	.aocos-v25-home__hero-inner {
		width: min(calc(100% - 64px), 366px);
		padding-block: 40px;
	}

	body.home .entry-content .aocos-v25-home__hero h1 {
		font-size: clamp(32px, 8.2vw, 38px);
	}

	.aocos-v25-home__hero-title-line,
	.aocos-v25-home__hero-copy-line {
		display: block;
		white-space: nowrap;
	}

	.aocos-v25-home__section-heading {
		align-items: start;
		gap: 16px;
		margin-bottom: 24px;
	}

	.aocos-v25-home__section-heading .aocos-v25-home__text-link {
		margin-top: 2px;
		white-space: nowrap;
	}

	.aocos-v25-home__products {
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: visible;
		grid-auto-columns: auto;
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		scroll-snap-type: none;
	}

	.aocos-v25-home__product {
		scroll-snap-align: none;
	}

	.aocos-v25-home__story,
	.aocos-v25-home__custom {
		grid-template-columns: 1fr;
	}

	.aocos-v25-home__story {
		gap: 32px;
	}

	.aocos-v25-home__story-copy {
		max-width: none;
	}

	.aocos-v25-home__editorial-slot {
		min-height: 300px;
	}

	.aocos-v25-home__collection-grid {
		grid-template-columns: 1fr;
	}

	.aocos-v25-home__collection-card {
		min-height: 300px;
	}

	.aocos-v25-home__custom {
		gap: 24px;
	}
}

/* Bounded Help assistant: published guidance, product context, and a clear
 * public-support handoff. The existing panel design is retained on desktop;
 * these rules make the controls work cleanly at every viewport. */
.aocos-v25-assistant {
	display: block !important;
}

.aocos-v25-assistant__message {
	display: grid;
	gap: 8px;
	max-width: 88%;
}

.aocos-v25-assistant__message p {
	max-width: none !important;
}

.aocos-v25-assistant__actions,
.aocos-v25-assistant__quick {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.aocos-v25-assistant__actions a,
.aocos-v25-assistant__quick button {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 10px;
	border: 1px solid var(--kirikiri-v25-burgundy);
	border-radius: 999px;
	background: #fff;
	color: var(--kirikiri-v25-burgundy);
	font: inherit;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
}

.aocos-v25-assistant__quick {
	padding: 0 18px 14px;
	background: #F7F3ED;
}

.aocos-v25-assistant__quick button {
	cursor: pointer;
}

@media (max-width: 1023px) {
	.aocos-v25-assistant {
		position: fixed !important;
		right: 14px !important;
		bottom: 14px !important;
		z-index: 240 !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	/* Product pages have a fixed purchase bar. Keep Help above that bar so both
	 * actions remain reachable instead of sharing the same bottom-right space. */
	body.single-product .aocos-v25-assistant {
		bottom: 86px !important;
	}

	.aocos-v25-assistant__toggle {
		display: inline-flex !important;
		align-items: center;
		gap: 8px;
		min-height: 52px;
		padding: 0 18px;
		border: 1px solid #4E2131;
		border-radius: 999px;
		background: var(--kirikiri-v25-burgundy);
		color: #fff;
		font: inherit;
		font-size: 13px;
		font-weight: 700;
		box-shadow: 0 10px 28px rgb(61 29 40 / 24%);
	}

	.aocos-v25-assistant__panel {
		position: absolute !important;
		right: 0;
		bottom: 64px;
		width: min(390px, calc(100vw - 28px));
		max-height: min(660px, calc(100vh - 92px));
		overflow: hidden;
		border: 1px solid #D9D3CA;
		border-radius: 16px;
		background: #FFFEFC;
		box-shadow: 0 18px 60px rgb(43 34 29 / 18%);
	}

	.aocos-v25-assistant__panel[hidden] {
		display: none !important;
	}

	.aocos-v25-assistant__panel header {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 16px 18px;
		background: #251D1A;
		color: #fff;
	}

	.aocos-v25-assistant__panel header div {
		display: grid;
		gap: 3px;
	}

	.aocos-v25-assistant__panel header small {
		color: #D8BD75;
		font-size: 9px;
		letter-spacing: .13em;
	}

	.aocos-v25-assistant__panel header strong {
		font-family: var(--kirikiri-v25-serif);
		font-size: 22px;
		font-weight: 500;
	}

	.aocos-v25-assistant__panel header button {
		min-width: 32px;
		min-height: 32px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		font-size: 24px;
	}

	.aocos-v25-assistant__messages {
		display: grid;
		gap: 10px;
		max-height: min(300px, calc(100vh - 330px));
		overflow-y: auto;
		padding: 16px 18px;
		background: #F7F3ED;
	}

	.aocos-v25-assistant__messages .is-assistant {
		justify-self: start;
		background: #fff;
		color: var(--kirikiri-v25-ink);
	}

	.aocos-v25-assistant__messages .is-user {
		justify-self: end;
		background: var(--kirikiri-v25-burgundy);
		color: #fff;
	}

	.aocos-v25-assistant__messages .is-user p {
		padding: 10px 12px;
		border-radius: 11px;
	}

	.aocos-v25-assistant__messages .is-assistant > p {
		margin: 0;
		padding: 10px 12px;
		border-radius: 11px;
		font-size: 12px;
		line-height: 1.5;
	}

	.aocos-v25-assistant__panel form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		padding: 14px;
		border: 0;
		background: #FFFEFC;
	}

	.aocos-v25-assistant__panel input {
		min-width: 0;
		min-height: 42px;
		padding: 0 12px;
		border: 1px solid #D9D3CA;
		border-radius: 999px;
		background: #fff;
		color: var(--kirikiri-v25-ink);
	}

	.aocos-v25-assistant__panel form button {
		min-height: 42px;
		padding: 0 15px;
		border: 1px solid var(--kirikiri-v25-burgundy);
		border-radius: 999px;
		background: var(--kirikiri-v25-burgundy);
		color: #fff;
		font-size: 11px;
	}
}

@media (max-width: 430px) {
	.aocos-v25-home__hero {
		min-height: 430px;
		height: 430px;
		max-height: none;
	}

	.aocos-v25-home__hero-inner {
		padding-block: clamp(44px, 6svh, 54px);
	}

	body.home .entry-content .aocos-v25-home__hero h1 {
		font-size: clamp(40px, 11.6vw, 50px);
	}

	.aocos-v25-home__hero-copy {
		margin-top: 18px !important;
	}

	.aocos-v25-home__button {
		margin-top: 24px;
	}

	.aocos-v25-home__hero-pending {
		bottom: 14px;
	}
}

/* Hero copy occupies the image's left-side negative space. Size against the
 * actual card, not the window; narrow layouts separate copy from artwork. */
body.home .entry-content .aocos-v25-home__hero {
	container-type: inline-size;
	width: 100%;
	margin-inline: 0;
	height: auto;
	min-height: 0;
	max-height: none;
	aspect-ratio: 16 / 9;
}

body.home .entry-content .aocos-v25-home__hero-inner {
	box-sizing: border-box;
	width: 46%;
	min-width: 0;
	margin-left: 4%;
	margin-right: auto;
	padding-block: 28px;
}

body.home .entry-content .aocos-v25-home__hero h1 {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	font-family: var(--kirikiri-v25-serif) !important;
	font-size: clamp(36px, 4.6cqw, 76px) !important;
	font-weight: 600 !important;
	line-height: 1.04 !important;
	letter-spacing: -.025em !important;
	color: #482330 !important;
	text-shadow: 0 1px 0 rgb(255 255 255 / 65%), 0 3px 12px rgb(72 35 48 / 12%);
	white-space: normal !important;
	text-wrap: balance;
	overflow-wrap: normal;
}

body.home .entry-content .aocos-v25-home__hero-copy {
	width: 100% !important;
	max-width: 38ch !important;
	margin-top: 20px !important;
	font-size: clamp(14px, 1.2cqw, 17px);
	line-height: 1.6;
	color: #554b47 !important;
	white-space: normal !important;
}

body.home .entry-content .aocos-v25-home__hero-media img {
	object-position: center top;
}

@media (max-width: 900px) {
	body.home .entry-content .aocos-v25-home__hero {
		display: flex;
		flex-direction: column;
		aspect-ratio: auto;
		background: #f5eee6;
	}

	body.home .entry-content .aocos-v25-home__hero-media {
		position: relative;
		inset: auto;
		width: 100%;
		aspect-ratio: 16 / 9;
		flex: none;
	}

	body.home .entry-content .aocos-v25-home__hero-media::after {
		display: none;
	}

	body.home .entry-content .aocos-v25-home__hero-inner {
		width: 100%;
		margin: 0;
		padding: clamp(24px, 5vw, 40px);
	}

	body.home .entry-content .aocos-v25-home__hero h1 {
		max-width: 19ch !important;
		font-size: clamp(34px, 6cqw, 50px) !important;
	}

	body.home .entry-content .aocos-v25-home__hero-copy {
		max-width: 48ch !important;
		font-size: 15px;
	}
}

/* Phase 3A: WooCommerce's native archive query, sorting, pagination, URLs,
 * actions, and Wishlist runtime remain untouched. These rules only migrate
 * the approved Shop/category/search card presentation into V25. */
body.aocos-v25-product-archive {
	background: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

/* The foundation deliberately remains loaded for pages not yet migrated.
 * These archive-only selectors match its legacy specificity without
 * disabling the shared stylesheet site-wide. */
body.aocos-v25-product-archive.post-type-archive-product,
body.aocos-v25-product-archive.tax-product_cat,
body.aocos-v25-product-archive.tax-product_tag,
body.aocos-v25-product-archive.search,
body.aocos-v25-product-archive #main-container,
body.aocos-v25-product-archive .site-main,
body.aocos-v25-product-archive .content-area {
	background: var(--kirikiri-v25-background) !important;
}

.aocos-v25-product-archive .hero-section[data-type="type-2"] {
	--container-padding: clamp(32px, 4vw, 56px) 0 20px;
	--min-height: 0px;
	--vertical-alignment: flex-start;
	border-bottom: 1px solid var(--kirikiri-v25-line);
	background-color: var(--kirikiri-v25-background) !important;
}

.aocos-v25-product-archive .hero-section[data-type="type-2"] .entry-header {
	width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 1440px);
	margin-inline: auto;
	background: var(--kirikiri-v25-background) !important;
}

body.aocos-v25-product-archive .hero-section[data-type="type-2"] .page-title {
	margin: 0;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-serif);
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 500;
	line-height: .95;
}

.aocos-v25-product-archive .hero-section[data-type="type-2"] .page-description {
	display: none;
}

.aocos-v25-product-archive .woo-listing-top {
	display: flex !important;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 32px;
	padding: 0;
	border: 0;
}

.aocos-v25-product-archive .woocommerce-result-count {
	margin: 0;
	color: var(--kirikiri-v25-secondary) !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.aocos-v25-product-archive .woocommerce-ordering {
	float: none;
	margin: 0;
}

.aocos-v25-product-archive .woocommerce-ordering select {
	min-height: 42px;
	padding: 0 34px 0 12px;
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 0;
	background-color: #fff !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .02em;
}

.aocos-v25-product-archive .woocommerce-ordering select:focus-visible {
	border-color: var(--kirikiri-v25-burgundy);
	box-shadow: none;
}

/*
 * Archive grid ownership: this must outrank the late Customizer category
 * rule that constrains [data-products] to a single 300–340px track.
 * The breakpoint overrides below retain the V25 4 / 3 / 2 column matrix.
 */
body.aocos-v25-product-archive .site-main ul.products[data-products] {
	display: grid !important;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}

.aocos-v25-product-archive ul.products[data-products] li.product {
	position: relative;
	display: flex !important;
	min-width: 0;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--kirikiri-v25-ink);
	overflow: visible !important;
	transition: none;
}

/* Defeat legacy archive card widths: CSS Grid, not card width, owns tracks. */
body.aocos-v25-product-archive.post-type-archive-product .site-main ul.products[data-products],
body.aocos-v25-product-archive.tax-product_cat .site-main ul.products[data-products],
body.aocos-v25-product-archive.tax-product_tag .site-main ul.products[data-products],
body.aocos-v25-product-archive.search .site-main ul.products[data-products] {
	width: 100% !important;
}

body.aocos-v25-product-archive.post-type-archive-product .site-main ul.products[data-products] li.product,
body.aocos-v25-product-archive.tax-product_cat .site-main ul.products[data-products] li.product,
body.aocos-v25-product-archive.tax-product_tag .site-main ul.products[data-products] li.product,
body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	grid-column: auto !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product:hover {
	transform: none;
	box-shadow: none !important;
}

body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product,
body.aocos-v25-product-archive.search ul.products[data-products] li.product {
	background: var(--kirikiri-v25-background) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product > figure,
.aocos-v25-product-archive ul.products[data-products] li.product .ct-image-container,
.aocos-v25-product-archive ul.products[data-products] li.product .ct-media-container {
	display: flex !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	aspect-ratio: 4 / 5 !important;
	align-items: center;
	justify-content: center;
	overflow: hidden !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product .ct-media-container img,
.aocos-v25-product-archive ul.products[data-products] li.product .ct-image-container img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	padding: 10%;
	box-sizing: border-box;
	background: #fff;
	object-fit: contain !important;
	object-position: center;
	filter: none;
}

body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product img,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product img,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product img,
body.aocos-v25-product-archive.search ul.products[data-products] li.product img {
	object-fit: contain !important;
}

/* Some legacy Wig cards render a direct figure > img rather than Blocksy's
 * media-container. Match the legacy figure specificity so its dark stage
 * cannot form matte bands around an otherwise valid source image. */
body.aocos-v25-product-archive.tax-product_cat.woocommerce ul.products[data-products] li.product > figure {
	background: #fff !important;
	overflow: hidden !important;
}

body.aocos-v25-product-archive.tax-product_cat.woocommerce ul.products[data-products] li.product > figure > img.aocos-wig-product-card-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	padding: 10%;
	box-sizing: border-box;
	background: #fff;
	object-fit: contain !important;
	object-position: center;
	filter: none;
}

.aocos-v25-product-archive ul.products[data-products] li.product .kirikiri-cr-loop-star {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 50%;
	background: rgb(255 255 255 / 94%);
	color: var(--kirikiri-v25-ink);
	box-shadow: none;
}

.aocos-v25-product-archive ul.products[data-products] li.product .kirikiri-cr-loop-star:hover,
.aocos-v25-product-archive ul.products[data-products] li.product .kirikiri-cr-loop-star:focus-visible,
.aocos-v25-product-archive ul.products[data-products] li.product .kirikiri-cr-loop-star[aria-pressed="true"] {
	border-color: var(--kirikiri-v25-burgundy);
	background: var(--kirikiri-v25-burgundy);
	color: #fff;
}

.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title {
	width: 100%;
	min-height: calc(1.35em * 2) !important;
	margin: 16px 0 8px !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-serif);
	font-size: 20px !important;
	font-weight: 500;
	line-height: 1.35 !important;
	letter-spacing: 0;
}

body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product .woocommerce-loop-product__title,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product .woocommerce-loop-product__title,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product .woocommerce-loop-product__title,
body.aocos-v25-product-archive.search ul.products[data-products] li.product .woocommerce-loop-product__title {
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-serif) !important;
	font-size: 20px !important;
}

body.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title a,
body.aocos-v25-product-archive ul.products[data-products] li.product .price,
body.aocos-v25-product-archive ul.products[data-products] li.product .price .amount {
	color: var(--kirikiri-v25-ink) !important;
}

body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product > .woocommerce-loop-product__title,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product > .woocommerce-loop-product__title,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product > .woocommerce-loop-product__title,
body.aocos-v25-product-archive.search ul.products[data-products] li.product > .woocommerce-loop-product__title,
body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product > .price,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product > .price,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product > .price,
body.aocos-v25-product-archive.search ul.products[data-products] li.product > .price,
body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product > .ct-woo-card-actions,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product > .ct-woo-card-actions,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product > .ct-woo-card-actions,
body.aocos-v25-product-archive.search ul.products[data-products] li.product > .ct-woo-card-actions {
	background: #fff !important;
}

body.aocos-v25-product-archive .woocommerce-ordering select {
	background: #fff !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title,
body.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title a {
	background: #fff !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title a {
	display: -webkit-box;
	color: inherit;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.aocos-v25-product-archive ul.products[data-products] li.product .price {
	display: block;
	min-height: 24px;
	margin: 0 !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.5;
}

.aocos-v25-product-archive ul.products[data-products] li.product .price .amount {
	color: inherit !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product .entry-meta {
	display: none !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions {
	display: flex;
	width: 100%;
	margin-top: auto;
	padding-top: 16px;
}

.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a,
.aocos-v25-product-archive ul.products[data-products] li.product .button {
	display: inline-flex;
	width: 100%;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 10px 14px;
	border: 1px solid var(--kirikiri-v25-burgundy) !important;
	border-radius: 0 !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #fff !important;
	font-family: var(--kirikiri-v25-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: none !important;
}

.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a:hover,
.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a:focus-visible {
	border-color: var(--kirikiri-v25-ink) !important;
	background: var(--kirikiri-v25-ink) !important;
}

body.aocos-v25-product-archive.post-type-archive-product ul.products[data-products] li.product .ct-woo-card-actions a,
body.aocos-v25-product-archive.tax-product_cat ul.products[data-products] li.product .ct-woo-card-actions a,
body.aocos-v25-product-archive.tax-product_tag ul.products[data-products] li.product .ct-woo-card-actions a,
body.aocos-v25-product-archive.search ul.products[data-products] li.product .ct-woo-card-actions a {
	background: #642C3E !important;
	border-color: #642C3E !important;
	color: #fff !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-weight: 500 !important;
}

.aocos-v25-product-archive .ct-pagination {
	margin-top: 48px;
	font-family: var(--kirikiri-v25-sans);
}

.aocos-v25-product-archive .ct-pagination .page-numbers {
	border-radius: 0;
	font-size: 13px;
}

.aocos-v25-product-archive .ct-pagination .page-numbers.current,
.aocos-v25-product-archive .ct-pagination .page-numbers:hover,
.aocos-v25-product-archive .ct-pagination .page-numbers:focus-visible {
	background: var(--kirikiri-v25-burgundy);
	color: #fff;
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.aocos-v25-product-archive .site-main ul.products[data-products] {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
	}
}

@media (max-width: 767px) {
	.aocos-v25-product-archive .hero-section[data-type="type-2"] {
		--container-padding: 20px 0 8px;
	}

	.aocos-v25-product-archive .hero-section[data-type="type-2"] .page-title {
		font-size: 40px;
	}

	.aocos-v25-product-archive .woo-listing-top {
		align-items: stretch;
		flex-direction: column;
		gap: 8px;
		margin-bottom: 16px;
	}

	.aocos-v25-product-archive .woocommerce-ordering,
	.aocos-v25-product-archive .woocommerce-ordering select {
		width: 100% !important;
	}

	body.aocos-v25-product-archive .site-main ul.products[data-products] {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		gap: 12px !important;
	}

	body.aocos-v25-product-archive .site-main ul.products[data-products] li.product {
		grid-column: auto / span 1 !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.aocos-v25-product-archive ul.products[data-products] li.product .woocommerce-loop-product__title {
		margin-top: 12px !important;
		font-size: 17px !important;
	}

	.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions {
		padding-top: 12px;
	}

	.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a,
	.aocos-v25-product-archive ul.products[data-products] li.product .button {
		padding-inline: 8px;
		font-size: 10px;
	}
}

/* --------------------------------------------------------------------------
 * V25 Phase 4A-1: desktop PDP visual foundation
 * Presentation only: WooCommerce markup, variation runtime, WAPF, and
 * wishlist hooks remain in their existing DOM positions.
 * -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
	body.single-product .product-entry-wrapper {
		width: min(100%, 1440px) !important;
		max-width: 1440px !important;
		margin: 0 auto !important;
		padding: 0 var(--kirikiri-v25-page-gutter) !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top,
	body.single-product .aocos-product-top.has-no-gallery {
		display: grid !important;
		grid-template-columns: minmax(0, 52fr) minmax(0, 48fr) !important;
		gap: clamp(24px, 2.5vw, 40px) !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: clamp(24px, 3vw, 40px) 0 0 !important;
		align-items: start !important;
	}

	body.single-product .aocos-product-top > * {
		min-width: 0;
	}

	body.single-product .aocos-product-top__media {
		display: grid !important;
		grid-template-columns: 58px minmax(0, 1fr) !important;
		column-gap: 16px !important;
		row-gap: 16px !important;
		min-width: 0;
	}

	body.single-product .aocos-product-top__thumbs {
		gap: 10px !important;
		padding: 0 !important;
	}

	body.single-product .aocos-product-top__thumb {
		width: 58px !important;
		height: 72px !important;
		min-width: 58px !important;
		padding: 4px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__thumb.is-active,
	body.single-product .aocos-product-top__thumb[aria-current='true'] {
		border-color: var(--kirikiri-v25-burgundy) !important;
		box-shadow: inset 0 0 0 1px var(--kirikiri-v25-burgundy) !important;
	}

	body.single-product .aocos-product-top__thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	body.single-product .aocos-product-top__main {
		width: 100% !important;
		min-width: 0;
		height: auto !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		aspect-ratio: 4 / 5 !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		overflow: hidden;
	}

	body.single-product .aocos-product-top__image-frame {
		display: flex !important;
		width: 100% !important;
		height: 100% !important;
		padding: 10% !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__image-frame img {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
	}

	body.single-product .aocos-product-top__summary {
		position: sticky !important;
		top: 88px;
		grid-column: 2 !important;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		background: var(--kirikiri-v25-background) !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__summary .product_title {
		margin: 0 0 12px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-serif) !important;
		font-size: clamp(34px, 3vw, 48px) !important;
		font-weight: 500 !important;
		line-height: 0.98 !important;
		letter-spacing: -0.025em !important;
	}

	body.single-product .aocos-product-top__summary .price {
		margin: 0 0 14px !important;
		color: var(--kirikiri-v25-burgundy) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 18px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
	}

	body.single-product .aocos-product-top__summary .aocos-stock-status,
	body.single-product .aocos-product-top__summary .stock {
		margin: 0 0 18px !important;
		color: var(--kirikiri-v25-stock) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary form.cart {
		width: 100% !important;
		margin: 0 !important;
		padding: 20px 0 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__summary table.variations {
		width: 100% !important;
		margin: 0 0 18px !important;
		border-spacing: 0 10px !important;
	}

	body.single-product .aocos-product-top__summary table.variations th,
	body.single-product .aocos-product-top__summary table.variations td {
		padding: 0 !important;
		vertical-align: middle !important;
	}

	body.single-product .aocos-product-top__summary table.variations th {
		width: 112px !important;
		padding-right: 14px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary table.variations select {
		min-height: 42px !important;
		padding: 0 34px 0 12px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background-color: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 13px !important;
	}

	body.single-product .aocos-product-top__summary .wapf-wrapper {
		margin: 20px 0 0 !important;
		padding: 20px 0 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-group {
		display: grid !important;
		gap: 12px !important;
		margin: 0 !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container {
		margin: 0 !important;
		padding: 12px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-label,
	body.single-product .aocos-product-top__summary .wapf-field-container label {
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.07em !important;
		line-height: 1.35 !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container input:not([type='radio']):not([type='checkbox']),
	body.single-product .aocos-product-top__summary .wapf-field-container select,
	body.single-product .aocos-product-top__summary .wapf-field-container textarea {
		border-color: var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart {
		margin-top: 20px !important;
		padding-top: 20px !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .quantity .qty {
		min-height: 46px !important;
		border-color: var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button {
		min-height: 46px !important;
		padding: 0 24px !important;
		border: 1px solid var(--kirikiri-v25-burgundy) !important;
		border-radius: 0 !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: 0.1em !important;
		text-transform: uppercase;
	}
}

/* --------------------------------------------------------------------------
 * V25 Phase 4A-1-R: desktop PDP light-presentation correction.
 * Scope remains presentation-only and single-product-only.
 * -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	body.single-product,
	body.single-product #main-container,
	body.single-product #main.site-main,
	body.single-product .content-area,
	body.single-product .ct-container-full[data-vertical-spacing],
	body.single-product .ct-container-full[data-content],
	body.single-product .site-main > article,
	body.single-product .hero-section,
	body.single-product .product,
	body.single-product .product-entry-wrapper,
	body.single-product .aocos-product-top,
	body.single-product .aocos-product-top__main,
	body.single-product .aocos-product-top__media,
	body.single-product .aocos-product-top__image-frame,
	body.single-product .aocos-product-top__summary {
		background: var(--kirikiri-v25-background) !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	body.single-product .aocos-product-top__main,
	body.single-product .aocos-product-top__image-frame {
		background: #fff !important;
	}

	body.single-product .aocos-product-thumb {
		width: 58px !important;
		height: 72px !important;
		padding: 4px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-thumb.is-active,
	body.single-product .aocos-product-thumb[aria-selected='true'] {
		border-color: var(--kirikiri-v25-burgundy) !important;
		box-shadow: inset 0 0 0 1px var(--kirikiri-v25-burgundy) !important;
	}

	body.single-product .aocos-product-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	body.single-product .aocos-product-top__summary .product_title,
	body.single-product .aocos-product-top__summary h1.product_title {
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-serif) !important;
	}

	body.single-product .aocos-product-top__summary .price,
	body.single-product .aocos-product-top__summary .price .amount {
		color: var(--kirikiri-v25-burgundy) !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-product-stock,
	body.single-product .aocos-product-top__summary .aocos-stock-status,
	body.single-product .aocos-product-top__summary .stock {
		color: var(--kirikiri-v25-stock) !important;
	}

	body.single-product .aocos-product-meta,
	body.single-product .aocos-product-meta *,
	body.single-product .aocos-product-top__summary .product_meta,
	body.single-product .aocos-product-top__summary .product_meta * {
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase;
	}
}

/* The gallery is a light product stage at every V25 breakpoint. This also
 * prevents the legacy dark matte from reappearing while a legitimate image is
 * loading; it deliberately does not conceal a missing-image failure. */
body.single-product :is(.aocos-product-top__main, .aocos-product-top__media, .aocos-product-top__image-frame) {
	background: #fff !important;
}

/* --------------------------------------------------------------------------
 * V25 Phase 4A-2: desktop Buy Box hierarchy.
 * Native WooCommerce variation fields and WAPF remain in form.cart.
 * -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	body.single-product .aocos-product-top__summary .aocos-v25-size-guide {
		margin: -4px 0 20px !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary .aocos-v25-size-guide a {
		color: var(--kirikiri-v25-burgundy) !important;
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 4px;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 12px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .wapf-wrapper {
		flex: 0 0 100% !important;
		order: 1;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_purchase_type"] {
		grid-column: 1 / -1;
		padding: 14px !important;
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: #fff !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_measurement_unit"]:not(.wapf-hide)::before {
		display: block;
		margin: 0 0 12px;
		color: var(--kirikiri-v25-ink);
		font-family: var(--kirikiri-v25-serif);
		font-size: 24px;
		font-weight: 500;
		line-height: 1;
		content: "Custom Measurements\A Optional";
		white-space: pre-line;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_measurement_unit"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_length"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_width"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_calf_circumference"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_boot_height"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_thigh_circumference"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_height"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_bust"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_waist"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_hips"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_shoulder"]:not(.wapf-hide),
	body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_pants_length"]:not(.wapf-hide) {
		background: #fff !important;
		border-color: var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .kirikiri-cr-wishlist-button {
		display: inline-flex !important;
		flex: 0 0 100% !important;
		order: 2;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		margin: 0 !important;
		border: 1px solid var(--kirikiri-v25-ink) !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .quantity {
		flex: 0 0 82px;
		order: 3;
		margin: 0 !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .single_add_to_cart_button {
		flex: 1 1 180px;
		order: 4;
		margin: 0 !important;
	}
}

/* --------------------------------------------------------------------------
 * V25 Phase 4B: desktop PDP visual polish.
 * Presentation-only; native variation, WAPF, wishlist, and cart markup stay
 * unchanged.
 * -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
	/* Preserve the 4:5 stage and contain behaviour while giving source art more room. */
	body.single-product .product_cat-cosplay-footwear .aocos-product-top__image-frame {
		padding: 10% !important;
	}

	body.single-product .product_cat-cosplay-costumes .aocos-product-top__image-frame,
	body.single-product .product_cat-cosplay-wigs .aocos-product-top__image-frame {
		padding: 5% !important;
	}

	/* Kept distinct so Props can retain an independent scale treatment. */
	body.single-product .product_cat-cosplay-props .aocos-product-top__image-frame {
		padding: 8% !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-product-rating {
		margin: 0 0 10px !important;
	}

	body.single-product .aocos-product-top__summary .price {
		margin-bottom: 12px !important;
	}

	body.single-product .aocos-product-top__summary .aocos-product-meta,
	body.single-product .aocos-product-top__summary .product_meta {
		margin: 0 0 16px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-product-details__short-description {
		margin: 0 0 20px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
		line-height: 1.65 !important;
	}

	body.single-product .aocos-product-top__summary .aocos-v25-size-guide {
		margin-bottom: 22px !important;
		padding-bottom: 18px !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .wapf-wrapper {
		margin-top: 0 !important;
		padding-top: 20px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart {
		margin-top: 22px !important;
		padding-top: 18px !important;
	}

	/* Keep the plugin control present, but visually subordinate to the purchase action. */
	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .kirikiri-cr-wishlist-button {
		min-height: 38px !important;
		border-color: var(--kirikiri-v25-line) !important;
		background: transparent !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 11px !important;
		letter-spacing: 0.07em !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .quantity .qty {
		min-height: 50px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart .single_add_to_cart_button {
		flex: 0 0 100% !important;
		width: 100% !important;
		min-height: 52px !important;
		padding: 0 24px !important;
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-size: 12px !important;
		letter-spacing: 0.1em !important;
	}

	/* Covers the native button wrapper used by product types without that inner class. */
	body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button {
		width: 100% !important;
		min-height: 52px !important;
		padding: 0 24px !important;
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-size: 12px !important;
		letter-spacing: 0.1em !important;
	}
}

/* --------------------------------------------------------------------------
 * V25 Phase 4A-3: mobile PDP optimisation.
 * Presentation only: the native cart form, variation inputs, WAPF fields,
 * and existing mobile purchase-bar runtime remain unchanged.
 * -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	body.single-product,
	body.single-product #main-container,
	body.single-product #main.site-main,
	body.single-product .content-area,
	body.single-product .product-entry-wrapper,
	body.single-product .aocos-product-top,
	body.single-product .aocos-product-top__summary {
		background: var(--kirikiri-v25-background) !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	body.single-product .product-entry-wrapper {
		padding: 0 18px !important;
	}

	body.single-product .aocos-product-top {
		padding-top: 14px !important;
	}

	body.single-product .aocos-product-top__media {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
		min-width: 0;
	}

	body.single-product .aocos-product-top__main {
		order: 1;
		width: 100% !important;
		aspect-ratio: 4 / 5 !important;
		margin: 0 !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		overflow: hidden;
	}

	body.single-product .aocos-product-top__image-frame {
		display: flex !important;
		width: 100% !important;
		height: 100% !important;
		padding: 7% !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .product_cat-cosplay-costumes .aocos-product-top__image-frame,
	body.single-product .product_cat-cosplay-wigs .aocos-product-top__image-frame {
		padding: 5% !important;
	}

	body.single-product .product_cat-cosplay-footwear .aocos-product-top__image-frame {
		padding: 8% !important;
	}

	body.single-product .aocos-product-top__image-frame img {
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		max-height: 100% !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
	}

	body.single-product .aocos-product-top__thumbs {
		order: 2;
		display: flex !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 0 2px !important;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: thin;
	}

	body.single-product .aocos-product-thumb {
		flex: 0 0 52px;
		width: 52px !important;
		height: 64px !important;
		padding: 4px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
	}

	body.single-product .aocos-product-thumb.is-active,
	body.single-product .aocos-product-thumb[aria-selected='true'] {
		border-color: var(--kirikiri-v25-burgundy) !important;
		box-shadow: inset 0 0 0 1px var(--kirikiri-v25-burgundy) !important;
	}

	body.single-product .aocos-product-thumb img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}

	body.single-product .aocos-product-top__summary {
		margin: 22px 0 0 !important;
	}

	body.single-product .aocos-product-top__summary .product_title,
	body.single-product .aocos-product-top__summary h1.product_title {
		margin: 0 0 10px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-serif) !important;
		font-size: clamp(30px, 8.5vw, 36px) !important;
		font-weight: 500 !important;
		line-height: 1.02 !important;
		letter-spacing: -0.025em !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-product-rating {
		margin: 0 0 8px !important;
	}

	body.single-product .aocos-product-top__summary .price {
		margin: 0 0 10px !important;
		color: var(--kirikiri-v25-burgundy) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 18px !important;
		font-weight: 600 !important;
	}

	body.single-product .aocos-product-top__summary .aocos-stock-status,
	body.single-product .aocos-product-top__summary .stock,
	body.single-product .aocos-product-meta,
	body.single-product .aocos-product-top__summary .product_meta {
		margin-bottom: 12px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-product-details__short-description {
		margin: 0 0 18px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
		line-height: 1.6 !important;
	}

	body.single-product .aocos-product-scroll-hint {
		margin: 0 0 16px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
	}

	body.single-product .aocos-product-top__summary form.cart {
		margin: 0 !important;
		padding: 18px 0 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary table.variations {
		width: 100% !important;
		margin: 0 0 14px !important;
		border-spacing: 0 8px !important;
	}

	body.single-product .aocos-product-top__summary table.variations tr,
	body.single-product .aocos-product-top__summary table.variations th,
	body.single-product .aocos-product-top__summary table.variations td {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
	}

	body.single-product .aocos-product-top__summary table.variations th {
		margin: 0 0 6px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary table.variations select {
		width: 100% !important;
		min-height: 48px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background-color: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
	}

	body.single-product .aocos-product-top__summary .aocos-v25-size-guide {
		margin: 0 0 18px !important;
		padding-bottom: 16px !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .wapf-wrapper {
		margin: 0 !important;
		padding: 18px 0 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-group {
		display: grid !important;
		gap: 12px !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container {
		margin: 0 !important;
		padding: 14px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-label,
	body.single-product .aocos-product-top__summary .wapf-field-container label {
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.07em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container input:not([type='radio']):not([type='checkbox']),
	body.single-product .aocos-product-top__summary .wapf-field-container select,
	body.single-product .aocos-product-top__summary .wapf-field-container textarea {
		min-height: 46px !important;
		border-color: var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container textarea {
		min-height: 96px !important;
	}

	body.single-product .aocos-product-top__summary .woocommerce-variation-add-to-cart {
		margin-top: 18px !important;
		padding-top: 18px !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-product-top__summary .kirikiri-cr-wishlist-button {
		min-height: 42px !important;
		border-color: var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		letter-spacing: 0.07em !important;
	}

	body.single-product .aocos-product-top__summary .quantity .qty,
	body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button {
		min-height: 50px !important;
		border-radius: 0 !important;
	}

	body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button {
		width: 100% !important;
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: 0.1em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-product-top__summary .aocos-product-logistics {
		margin-top: 18px !important;
		padding-top: 18px !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	/* Existing JS only proxies the native form button; no second cart form is introduced. */
	body.single-product.has-aocos-mobile-purchase-bar {
		padding-bottom: calc(84px + env(safe-area-inset-bottom)) !important;
	}

	body.single-product .aocos-mobile-purchase-bar {
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: calc(var(--aocos-consent-offset, 0px) + env(safe-area-inset-bottom)) !important;
		display: grid !important;
		z-index: 950 !important;
		grid-template-columns: minmax(104px, 0.72fr) minmax(0, 1.28fr) !important;
		gap: 10px !important;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
		background: rgba(250, 249, 246, 0.98) !important;
		box-shadow: 0 -10px 28px rgba(23, 23, 23, 0.1) !important;
		transition: transform .24s cubic-bezier(.22, .8, .24, 1), opacity .18s ease, visibility 0s linear 0s !important;
	}

	body.single-product .aocos-mobile-purchase-bar button {
		min-height: 50px !important;
		border-radius: 0 !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase;
	}

	body.single-product .aocos-mobile-purchase-bar__wishlist {
		border-color: var(--kirikiri-v25-line) !important;
		background: transparent !important;
		color: var(--kirikiri-v25-secondary) !important;
	}

	body.single-product .aocos-mobile-purchase-bar__action {
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
	}

	html.aocos-mobile-bottom-sheet-open,
	body.single-product.aocos-mobile-bottom-sheet-open {
		overflow: hidden !important;
		overscroll-behavior: none;
	}

	body.single-product.aocos-mobile-bottom-sheet-open .aocos-mobile-purchase-bar {
		z-index: 9402 !important;
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transition: transform .24s cubic-bezier(.22, .8, .24, 1), opacity .18s ease !important;
	}

	.aocos-mobile-bottom-sheet-backdrop {
		position: fixed;
		z-index: 9400;
		inset: 0;
		background: rgba(23, 23, 23, .36);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .2s ease, visibility 0s linear .2s;
	}

	.aocos-mobile-bottom-sheet-backdrop.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition-delay: 0s;
	}

	.aocos-mobile-bottom-sheet {
		position: fixed;
		z-index: 9401;
		left: 0;
		right: 0;
		bottom: calc(var(--aocos-consent-offset, 0px) + env(safe-area-inset-bottom));
		box-sizing: border-box;
		max-width: 100%;
		display: flex;
		flex-direction: column;
		min-height: 148px;
		height: auto;
		max-height: min(82svh, calc(100dvh - var(--aocos-consent-offset, 0px) - env(safe-area-inset-bottom) - 10px));
		padding: 16px 20px calc(12px + env(safe-area-inset-bottom));
		overflow: hidden;
		background: #FAF9F6;
		border: 1px solid #E7E4DE;
		border-bottom: 0;
		border-radius: 22px 22px 0 0;
		box-shadow: 0 -18px 48px rgba(23, 23, 23, .18);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate3d(0, calc(100% + 28px), 0);
		will-change: transform, opacity;
		transition: transform .32s cubic-bezier(.22, .8, .24, 1), opacity .2s ease, visibility 0s linear .32s;
	}

	.aocos-mobile-bottom-sheet.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate3d(0, 0, 0);
		transition-delay: 0s;
	}

	.aocos-mobile-bottom-sheet__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 0 0 14px;
		border-bottom: 1px solid var(--kirikiri-v25-line);
	}

	.aocos-mobile-bottom-sheet__header::before {
		position: absolute;
		top: 7px;
		left: 50%;
		width: 36px;
		height: 3px;
		border-radius: 999px;
		background: #C9C3B9;
		content: "";
		transform: translateX(-50%);
	}

	.aocos-mobile-bottom-sheet__content {
		flex: 1 1 auto;
		min-height: 0;
		padding: 16px 0 calc(88px + env(safe-area-inset-bottom));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.aocos-mobile-bottom-sheet__content form.cart {
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.aocos-mobile-bottom-sheet__content table.variations {
		width: 100% !important;
		margin: 0 0 14px !important;
		border-spacing: 0 8px !important;
	}

	.aocos-mobile-bottom-sheet__content table.variations tr,
	.aocos-mobile-bottom-sheet__content table.variations th,
	.aocos-mobile-bottom-sheet__content table.variations td {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
	}

	.aocos-mobile-bottom-sheet__content table.variations th {
		margin: 0 0 6px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: .08em !important;
		text-transform: uppercase;
	}

	.aocos-mobile-bottom-sheet__content table.variations select,
	.aocos-mobile-bottom-sheet__content .wapf-field-container input:not([type='radio']):not([type='checkbox']),
	.aocos-mobile-bottom-sheet__content .wapf-field-container select,
	.aocos-mobile-bottom-sheet__content .wapf-field-container textarea {
		width: 100% !important;
		min-height: 46px !important;
		box-sizing: border-box !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	.aocos-mobile-bottom-sheet__content .aocos-v25-size-guide {
		margin: 0 0 18px !important;
		padding-bottom: 16px !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	.aocos-mobile-bottom-sheet__content .wapf-wrapper {
		margin: 0 !important;
		padding: 18px 0 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	.aocos-mobile-bottom-sheet__content .wapf-field-group {
		display: grid !important;
		gap: 12px !important;
	}

	.aocos-mobile-bottom-sheet__content .wapf-field-container {
		margin: 0 !important;
		padding: 14px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		background: #fff !important;
		box-sizing: border-box !important;
	}

	.aocos-mobile-bottom-sheet__content .wapf-field-label,
	.aocos-mobile-bottom-sheet__content .wapf-field-container label {
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		letter-spacing: .07em !important;
		text-transform: uppercase;
	}

	.aocos-mobile-bottom-sheet__content .wapf-field-container textarea {
		min-height: 96px !important;
	}

	.aocos-mobile-bottom-sheet__content .woocommerce-variation-add-to-cart,
	.aocos-mobile-bottom-sheet__content .single_variation_wrap,
	.aocos-mobile-bottom-sheet__content form.cart > .quantity,
	.aocos-mobile-bottom-sheet__content form.cart > .single_add_to_cart_button {
		margin-top: 18px !important;
		padding-top: 18px !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	.aocos-mobile-bottom-sheet__content .kirikiri-cr-wishlist-button {
		width: 100% !important;
		min-height: 42px !important;
		margin-top: 18px !important;
		border-color: var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		letter-spacing: .07em !important;
	}

	.aocos-mobile-bottom-sheet__content .quantity .qty,
	.aocos-mobile-bottom-sheet__content form.cart .single_add_to_cart_button {
		min-height: 50px !important;
		border-radius: 0 !important;
	}

	.aocos-mobile-bottom-sheet__content form.cart .single_add_to_cart_button {
		width: 100% !important;
		margin-top: 10px !important;
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: .1em !important;
		text-transform: uppercase;
	}

	.aocos-mobile-bottom-sheet__title {
		margin: 0;
		color: #171717;
		font-family: "Cormorant Garamond", Georgia, serif;
		font-size: 27px;
		font-weight: 500;
		line-height: 1;
	}

	.aocos-mobile-bottom-sheet__close {
		flex: 0 0 auto;
		min-height: 36px;
		padding: 0 12px;
		color: #171717;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .08em;
		text-transform: uppercase;
		background: transparent;
		border: 1px solid #B9B4AA;
		border-radius: 0;
	}

	.aocos-mobile-bottom-sheet__close:focus-visible {
		outline: 2px solid #7A1F2B;
		outline-offset: 2px;
	}
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.aocos-mobile-bottom-sheet-backdrop,
	.aocos-mobile-bottom-sheet {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
 * Owner visual remediation: V25 must win over the legacy K3 visual layer.
 * Presentation only: no product, WAPF, variation, Wishlist or cart behavior
 * is changed here.
 * -------------------------------------------------------------------------- */

/* The desktop nav is visually centred over the top utility container. Give
 * the real link layer the hit-testing plane instead of the empty top wrapper. */
@media (min-width: 1024px) {
	body > .aocos-commerce-header > .aocos-commerce-header__nav {
		z-index: 2;
	}

	.aocos-commerce-header__top {
		z-index: 1;
	}
}

/* Use the authoritative existing wordmark without its white raster rectangle
 * reading as a separate card. The image stays untouched. */
.aocos-commerce-header__logo picture {
	width: 142px;
	height: 58px;
	overflow: visible;
}

.aocos-commerce-header__logo img {
	width: 142px;
	height: auto;
	max-width: 142px;
	max-height: 58px;
	object-fit: contain;
	object-position: center;
}

@media (max-width: 1023px) {
	.aocos-commerce-header__logo picture,
	.aocos-commerce-header__logo img {
		width: 124px;
		max-width: 124px;
		height: auto;
		max-height: 52px;
	}
}

/* 768–1024px previously fell between the desktop PDP light reset and the
 * phone-only reset, exposing the legacy dark PDP. */
@media (min-width: 768px) and (max-width: 1024px) {
	body.single-product,
	body.single-product #main-container,
	body.single-product #main.site-main,
	body.single-product .content-area,
	body.single-product .site-main > article,
	body.single-product .product-entry-wrapper,
	body.single-product .aocos-product-top,
	body.single-product .aocos-product-top__media,
	body.single-product .aocos-product-top__summary,
	body.single-product .woocommerce-tabs,
	body.single-product .related.products,
	body.single-product .aocos-customer-showcase,
	body.single-product .aocos-recently-viewed {
		background: var(--kirikiri-v25-background) !important;
		color: var(--kirikiri-v25-ink) !important;
	}

	body.single-product .aocos-product-top__main {
		position: relative !important;
		width: 100% !important;
		aspect-ratio: 4 / 5 !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		overflow: hidden !important;
	}

	body.single-product .aocos-product-top__image-frame {
		position: absolute !important;
		inset: 0 !important;
		display: flex !important;
		width: 100% !important;
		height: 100% !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		padding: 7% !important;
	}

	body.single-product .aocos-product-top__image-frame img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center !important;
	}
}

/* One calm visual language for the existing Footwear/Cosume/Wig option
 * controls. The real inputs remain in place and continue to own state. */
body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label,
body.single-product .aocos-product-top__summary .aocos-size-chip,
body.single-product .aocos-product-top__summary .aocos-costume-size-chips__chip,
body.single-product .aocos-product-top__summary .aocos-wig-unit-chip,
body.single-product .aocos-product-top__summary .aocos-costume-unit-chips__chip,
body.single-product .aocos-product-top__summary .aocos-unit-chip,
body.single-product .aocos-product-top__summary .aocos-purchase-card,
body.single-product .aocos-product-top__summary .aocos-footwear-style-card {
	display: inline-flex !important;
	min-height: 44px !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 9px 13px !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .04em !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-transform: none !important;
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label input[type="radio"],
body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-label-text,
body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-label-text * {
	color: var(--kirikiri-v25-ink) !important;
}

/* WAPF's old radio decoration is a gold/black pair of pseudo-elements. The
 * actual native input above still owns selection and validation, so the
 * decorative duplicate can be removed safely. */
body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-label-text::before,
body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-label-text::after {
	display: none !important;
	content: none !important;
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label:has(input:checked),
body.single-product .aocos-product-top__summary .aocos-size-chip:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-costume-size-chips__chip:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-wig-unit-chip:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-costume-unit-chips__chip:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-unit-chip:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-purchase-card:is(.is-active, .is-selected, [aria-checked="true"]),
body.single-product .aocos-product-top__summary .aocos-footwear-style-card.is-selected {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	box-shadow: none !important;
	color: #fff !important;
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label:has(input:checked) *,
body.single-product .aocos-product-top__summary .aocos-size-chip:is(.is-active, .is-selected, [aria-checked="true"]) *,
body.single-product .aocos-product-top__summary .aocos-costume-size-chips__chip:is(.is-active, .is-selected, [aria-checked="true"]) *,
body.single-product .aocos-product-top__summary .aocos-wig-unit-chip:is(.is-active, .is-selected, [aria-checked="true"]) *,
body.single-product .aocos-product-top__summary .aocos-costume-unit-chips__chip:is(.is-active, .is-selected, [aria-checked="true"]) *,
body.single-product .aocos-product-top__summary .aocos-unit-chip:is(.is-active, .is-selected, [aria-checked="true"]) *,
body.single-product .aocos-product-top__summary .aocos-purchase-card:is(.is-active, .is-selected, [aria-checked="true"]) * {
	color: #fff !important;
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label:has(input:focus-visible),
body.single-product .aocos-product-top__summary .aocos-size-chip:focus-visible,
body.single-product .aocos-product-top__summary .aocos-costume-size-chips__chip:focus-visible,
body.single-product .aocos-product-top__summary .aocos-wig-unit-chip:focus-visible,
body.single-product .aocos-product-top__summary .aocos-costume-unit-chips__chip:focus-visible,
body.single-product .aocos-product-top__summary .aocos-unit-chip:focus-visible,
body.single-product .aocos-product-top__summary .aocos-purchase-card:focus-visible,
body.single-product .aocos-product-top__summary .aocos-footwear-style-card:focus-visible {
	outline: 2px solid var(--kirikiri-v25-burgundy) !important;
	outline-offset: 2px !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_purchase_type"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_fit_gender"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_selected_size"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_measurement_unit"] {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* The master-template scripts retain the original radios as the submitted
 * inputs and add accessible chip controls. Respect their visually-hidden
 * native labels so the same cm/in choice is never painted twice. */
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_measurement_unit"]:has(.aocos-unit-chip-group, .aocos-costume-unit-chips) .wapf-checkable .wapf-input-label,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_costume_measurement_unit"] .wapf-checkable .wapf-input-label,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_wig_measurement_unit"] .wapf-checkable .wapf-input-label {
	display: none !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_purchase_type"] .wapf-radios,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_fit_gender"] .wapf-radios {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_purchase_type"] .wapf-checkable,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_fit_gender"] .wapf-checkable {
	min-width: 0 !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_purchase_type"] .wapf-input-label,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_fit_gender"] .wapf-input-label {
	width: 100% !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_selected_size"] .aocos-size-chip-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)) !important;
	gap: 8px !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_selected_size"] .aocos-size-chip {
	width: 100% !important;
	min-height: 40px !important;
	padding: 8px !important;
}

/* Remove the visual wall around custom measurements while retaining every
 * existing WAPF field, validation rule and conditional state. */
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_length"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_width"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_calf_circumference"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_boot_height"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_thigh_circumference"],
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_remark"] {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_length"] input,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_custom_foot_width"] input,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_calf_circumference"] input,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_boot_height"] input,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_thigh_circumference"] input,
body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_remark"] textarea {
	width: 100% !important;
	min-height: 46px !important;
	box-sizing: border-box !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.single-product .aocos-product-top__summary .wapf-field-container[for="aocos_remark"] textarea {
	min-height: 96px !important;
}

/* Legacy K3 used gold for the required state and its generated size hint.
 * Keep the native required semantics, but make the small supporting details
 * quiet and readable within the V25 palette. */
body.single-product .aocos-product-top__summary form.cart :is(abbr.required, .required),
body.single-product .aocos-product-top__summary .aocos-size-chip-conversion,
body.single-product .aocos-product-top__summary .aocos-size-chip-conversion *,
body.single-product .aocos-product-top__summary .aocos-field-auto-note {
	border-color: var(--kirikiri-v25-line) !important;
	color: var(--kirikiri-v25-secondary) !important;
	text-decoration-color: currentcolor !important;
}

body.single-product .aocos-product-top__summary .aocos-field-auto-note {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single-product .aocos-product-top__summary form.cart :is(input, textarea, select):focus-visible {
	border-color: var(--kirikiri-v25-burgundy) !important;
	box-shadow: 0 0 0 3px rgb(112 42 61 / 14%) !important;
}

/* Lower PDP content must not revert to the legacy dark/low-contrast surface. */
body.single-product :is(.woocommerce-tabs, .woocommerce-tabs .panel, .aocos-customer-showcase, .aocos-recently-viewed, .recently-viewed, .related.products, .upsells.products),
body.single-product :is(.woocommerce-tabs, .woocommerce-tabs .panel, .aocos-customer-showcase, .aocos-recently-viewed, .recently-viewed, .related.products, .upsells.products) :is(h2, h3, h4, p, span, li, a) {
	background-color: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product :is(.aocos-customer-showcase, .aocos-recently-viewed, .recently-viewed) p,
body.single-product .woocommerce-tabs .panel p {
	color: var(--kirikiri-v25-secondary) !important;
}

/* Search cards have a direct figure path that the earlier archive migration
 * did not cover, leaving a dark matte above and below otherwise valid images. */
body.aocos-v25-product-archive.search :is(.hero-section, .hero-section .entry-header, .hero-section .page-title),
body.aocos-v25-product-archive.search :is(.hero-section, .hero-section .entry-header, .hero-section .page-title) * {
	background: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure,
body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure > a,
body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure > img {
	display: flex !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	border: 0 !important;
	background: #fff !important;
	object-fit: contain !important;
}

body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure {
	aspect-ratio: 4 / 5 !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
}

body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure > a,
body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure > img {
	height: 100% !important;
}

body.aocos-v25-product-archive.search .site-main ul.products[data-products] li.product > figure img {
	padding: 10% !important;
	background: #fff !important;
	object-fit: contain !important;
}

/* Consent remains functionally unchanged, but no longer reads as a dark
 * legacy banner against an otherwise light PDP. */
.aocos-consent:not([hidden]) {
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 0 !important;
	background: rgb(250 249 246 / 98%) !important;
	box-shadow: 0 10px 28px rgb(23 23 23 / 10%) !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-consent :is(h2, h3, p, span) {
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-consent button {
	border-color: var(--kirikiri-v25-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-consent button.aocos-consent__accept,
.aocos-consent button[data-aocos-consent-accept] {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #fff !important;
}

/* The bottom sheet temporarily contains the original form.cart, so it needs
 * the same presentation scope as the desktop summary. This changes neither
 * the form owner nor the native WAPF input state. */
@media (max-width: 767px) {
	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label,
	.aocos-mobile-bottom-sheet :is(.aocos-size-chip, .aocos-costume-size-chips__chip, .aocos-unit-chip, .aocos-costume-unit-chips__chip, .aocos-wig-unit-chip, .aocos-purchase-card, .aocos-footwear-style-card) {
		display: inline-flex !important;
		min-height: 44px !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		padding: 9px 12px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 0 !important;
		background: #fff !important;
		box-shadow: none !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		letter-spacing: .04em !important;
		line-height: 1.2 !important;
		text-align: center !important;
	}

	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label input[type="radio"],
	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label input[type="checkbox"] {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-label-text,
	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-label-text * {
		color: var(--kirikiri-v25-ink) !important;
	}

	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-label-text::before,
	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-label-text::after {
		display: none !important;
		content: none !important;
	}

	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label:has(input:checked) {
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		color: #fff !important;
	}

	.aocos-mobile-bottom-sheet :is(.aocos-size-chip, .aocos-costume-size-chips__chip, .aocos-unit-chip, .aocos-costume-unit-chips__chip, .aocos-wig-unit-chip, .aocos-purchase-card, .aocos-footwear-style-card):is(.is-active, .is-selected, [aria-checked="true"]) {
		border-color: var(--kirikiri-v25-burgundy) !important;
		background: var(--kirikiri-v25-burgundy) !important;
		box-shadow: none !important;
		color: #fff !important;
	}

	.aocos-mobile-bottom-sheet .wapf-input-label:focus-within,
	.aocos-mobile-bottom-sheet :is(.aocos-size-chip, .aocos-costume-size-chips__chip, .aocos-unit-chip, .aocos-costume-unit-chips__chip, .aocos-wig-unit-chip, .aocos-purchase-card, .aocos-footwear-style-card):focus-visible {
		outline: 2px solid var(--kirikiri-v25-burgundy) !important;
		outline-offset: 2px !important;
		box-shadow: none !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_measurement_unit"] .wapf-checkable .wapf-input-label,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_costume_measurement_unit"] .wapf-checkable .wapf-input-label,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_wig_measurement_unit"] .wapf-checkable .wapf-input-label {
		display: none !important;
	}

	.aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label:has(input:checked) * {
		color: #fff !important;
	}

	body.single-product .aocos-mobile-bottom-sheet .wapf-checkable .wapf-input-label:has(input:checked) .wapf-label-text {
		color: #fff !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_purchase_type"] .wapf-radios,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_fit_gender"] .wapf-radios {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_fit_gender"],
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_size_system"],
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_selected_size"] {
		width: 100% !important;
	}

	.aocos-mobile-bottom-sheet .aocos-size-chip-grid {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.aocos-mobile-bottom-sheet .aocos-size-chip {
		width: 100% !important;
		min-height: 40px !important;
		padding: 8px !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_purchase_type"] .wapf-checkable,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_fit_gender"] .wapf-checkable {
		min-width: 0 !important;
		max-width: none !important;
		width: 100% !important;
		justify-self: stretch !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_purchase_type"] .wapf-input-label,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_fit_gender"] .wapf-input-label {
		max-width: none !important;
	}

	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_purchase_type"] .wapf-input-label,
	.aocos-mobile-bottom-sheet .wapf-field-container[for="aocos_fit_gender"] .wapf-input-label {
		width: 100% !important;
	}

	.aocos-mobile-bottom-sheet :is(abbr.required, .required) {
		color: var(--kirikiri-v25-secondary) !important;
	}

	body.single-product .aocos-mobile-bottom-sheet .wapf-field-label label abbr.required {
		color: var(--kirikiri-v25-secondary) !important;
		text-decoration: none !important;
	}

	.aocos-mobile-bottom-sheet .aocos-field-auto-note {
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		color: var(--kirikiri-v25-secondary) !important;
	}

	/* The fixed footer is the only visible action row while the original
	 * form lives in the sheet. Keep the native controls mounted and
	 * measurable so the footer can delegate to their existing runtimes. */
	.aocos-mobile-bottom-sheet .variations_button > .kirikiri-cr-wishlist-button,
	.aocos-mobile-bottom-sheet .variations_button > .ct-cart-actions {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		white-space: nowrap !important;
		border: 0 !important;
	}

	.aocos-mobile-bottom-sheet :is(input, textarea, select):focus-visible {
		border-color: var(--kirikiri-v25-burgundy) !important;
		box-shadow: 0 0 0 3px rgb(112 42 61 / 14%) !important;
	}
}

/* ================================================================
   OWNER VISUAL REMEDIATION R3 — RESIDUAL PRESENTATION ONLY
   ================================================================ */

/* The Footwear sheet already gives the Size Guide its own divider and
 * spacing. Remove only the two duplicate variation-container separators. */
@media (max-width: 767px) {
	body.single-product .aocos-mobile-bottom-sheet__content form.cart > .aocos-footwear-style-picker ~ .single_variation_wrap,
	body.single-product .aocos-mobile-bottom-sheet__content form.cart > .aocos-footwear-style-picker ~ .single_variation_wrap > .woocommerce-variation-add-to-cart {
		margin-top: 0 !important;
		padding-top: 0 !important;
		border-top: 0 !important;
	}

	body.single-product .aocos-mobile-bottom-sheet__content form.cart > .aocos-footwear-style-picker ~ .single_variation_wrap .wapf-wrapper {
		padding-top: 0 !important;
		border-top: 0 !important;
	}
}

/* V25 cart confirmation surface; toast lifecycle and actions stay native. */
.aocos-cart-toast {
	border-color: var(--kirikiri-v25-line) !important;
	border-radius: 10px !important;
	background: var(--kirikiri-v25-background) !important;
	box-shadow: 0 14px 34px rgb(23 23 23 / 14%) !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-cart-toast__message {
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-cart-toast__count {
	color: var(--kirikiri-v25-secondary) !important;
}

.aocos-cart-toast__action {
	border-color: var(--kirikiri-v25-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-cart-toast__action--primary,
.aocos-cart-toast__action--primary:hover,
.aocos-cart-toast__action--primary:focus {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #fff !important;
	filter: none !important;
}

.aocos-cart-toast__action--secondary:hover,
.aocos-cart-toast__action--secondary:focus {
	border-color: var(--kirikiri-v25-burgundy) !important;
	color: var(--kirikiri-v25-burgundy) !important;
}

/* Desktop viewport cue: retain the existing controller, replace its legacy
 * black/gold pill treatment with the V25 light editorial surface. */
@media (min-width: 1024px) {
	body.single-product .aocos-product-scroll-hint {
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 999px !important;
		background: rgb(250 249 246 / 96%) !important;
		box-shadow: 0 8px 22px rgb(23 23 23 / 12%) !important;
		color: var(--kirikiri-v25-secondary) !important;
	}

	body.single-product .aocos-product-scroll-hint::before {
		color: var(--kirikiri-v25-burgundy) !important;
	}
}

/* ================================================================
   OWNER VISUAL REMEDIATION R4 — SHARED COMMERCE PRESENTATION
   Presentation only. Native WooCommerce variations, WAPF inputs,
   validation, Wishlist and cart ownership remain unchanged.
   ================================================================ */

:root {
	--kirikiri-v25-surface: #FFFFFF;
	--kirikiri-v25-surface-soft: #F5F1EB;
	--kirikiri-v25-line-strong: #D8D1C7;
	--kirikiri-v25-footer: #241B1F;
	--kirikiri-v25-footer-deep: #1A1417;
	--kirikiri-v25-control-shadow: 0 2px 0 rgb(74 45 54 / 7%), 0 9px 22px rgb(23 23 23 / 6%);
}

/* The wordmark raster is intentionally left honest until a transparent
 * source asset is supplied. Do not simulate transparency in CSS. */
.aocos-commerce-header__logo img {
	filter: none !important;
	mix-blend-mode: normal !important;
}

/* Shared premium control language for Footwear, Costume and Wig. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-label,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-label label,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-label label span,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-label abbr.required {
	border-color: transparent !important;
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 11px !important;
	font-weight: 650 !important;
	letter-spacing: .07em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_size_system"] {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_size_system"] select {
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) form.cart .wapf-checkable .wapf-input-label,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-size-chip,
	.aocos-costume-size-chips__chip,
	.aocos-wig-unit-chip,
	.aocos-costume-unit-chips__chip,
	.aocos-unit-chip,
	.aocos-purchase-card
) {
	border-color: var(--kirikiri-v25-line-strong) !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, #FFFFFF 0%, #FCFAF7 100%) !important;
	box-shadow: var(--kirikiri-v25-control-shadow) !important;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) form.cart .wapf-checkable .wapf-input-label:has(input:checked),
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-size-chip,
	.aocos-costume-size-chips__chip,
	.aocos-wig-unit-chip,
	.aocos-costume-unit-chips__chip,
	.aocos-unit-chip,
	.aocos-purchase-card
):is(.is-active, .is-selected, [aria-checked="true"]) {
	border-color: #542234 !important;
	background: linear-gradient(180deg, #71364B 0%, #5A2638 100%) !important;
	box-shadow: 0 2px 0 rgb(62 24 38 / 28%), 0 10px 22px rgb(78 30 48 / 16%) !important;
	color: #FFFFFF !important;
}

@media (hover: hover) {
	body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label:hover,
	body.single-product .aocos-product-top__summary :is(
		.aocos-size-chip,
		.aocos-costume-size-chips__chip,
		.aocos-wig-unit-chip,
		.aocos-costume-unit-chips__chip,
		.aocos-unit-chip,
		.aocos-purchase-card,
		.aocos-footwear-style-card
	):hover {
		border-color: rgb(100 44 62 / 58%) !important;
		box-shadow: 0 3px 0 rgb(74 45 54 / 8%), 0 12px 24px rgb(23 23 23 / 8%) !important;
		transform: translateY(-1px);
	}
}

body.single-product .aocos-product-top__summary form.cart .wapf-checkable .wapf-input-label:active,
body.single-product .aocos-product-top__summary :is(
	.aocos-size-chip,
	.aocos-costume-size-chips__chip,
	.aocos-wig-unit-chip,
	.aocos-costume-unit-chips__chip,
	.aocos-unit-chip,
	.aocos-purchase-card,
	.aocos-footwear-style-card
):active {
	box-shadow: 0 1px 0 rgb(74 45 54 / 8%), 0 4px 12px rgb(23 23 23 / 6%) !important;
	transform: translateY(0);
}

/* Native labels remain the submitted controls; stretch their visual cards
 * across both Fit/Gender grid tracks instead of leaving a hollow centre. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_purchase_type"] .wapf-checkable,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_fit_gender"] .wapf-checkable {
	width: 100% !important;
	max-width: none !important;
	justify-self: stretch !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_purchase_type"] .wapf-input-label,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container[for="aocos_fit_gender"] .wapf-input-label {
	width: 100% !important;
	max-width: none !important;
	white-space: nowrap;
}

/* Footwear Style is an image choice, not a 70px text chip. The master grid
 * retains control ownership while V25 supplies a stable thumbnail card. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(138px, 160px)) !important;
	gap: 10px !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-card {
	display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) !important;
	gap: 10px !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 76px !important;
	padding: 9px !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 11px !important;
	background: linear-gradient(180deg, #FFFFFF 0%, #FCFAF7 100%) !important;
	box-shadow: var(--kirikiri-v25-control-shadow) !important;
	text-align: left !important;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-card img {
	display: block !important;
	width: 56px !important;
	height: 56px !important;
	max-width: 56px !important;
	padding: 3px !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 8px !important;
	background: #FFFFFF !important;
	object-fit: contain !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-card span {
	min-width: 0;
	color: var(--kirikiri-v25-ink) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-card.is-selected span {
	color: #FFFFFF !important;
}

/* Sparse unit selectors should read as compact controls, not full-width
 * empty cards. This covers the actual owners used by all three templates. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container:is(
	[for="aocos_measurement_unit"],
	[for="aocos_costume_measurement_unit"],
	[for="aocos_wig_measurement_unit"]
):not(.wapf-hide) {
	width: 100% !important;
	max-width: 360px !important;
	justify-self: start !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-unit-chip-group,
	.aocos-costume-unit-chips,
	.aocos-wig-unit-chip-group
) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(72px, 1fr)) !important;
	gap: 9px !important;
	width: min(100%, 176px) !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-unit-chip,
	.aocos-costume-unit-chips__chip,
	.aocos-wig-unit-chip
) {
	width: 100% !important;
	min-height: 46px !important;
}

/* Inputs share the same quiet depth without changing their names, values or
 * validation. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container input:not([type="radio"]):not([type="checkbox"]),
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container select,
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container textarea {
	border-color: var(--kirikiri-v25-line-strong) !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 90%), 0 4px 14px rgb(23 23 23 / 4%) !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .wapf-field-container:is(
	:has(textarea),
	:has(input[type="text"]),
	:has(input[type="number"])
) {
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 11px !important;
	background: var(--kirikiri-v25-surface-soft) !important;
	box-shadow: none !important;
}

/* Foundation shipping labels were authored for a dark product surface.
 * V25 uses a light editorial summary, so reset every text tier explicitly. */
body.single-product .aocos-product-top__summary .aocos-product-logistics,
body.single-product .aocos-product-top__summary .aocos-product-logistics p,
body.single-product .aocos-product-top__summary .aocos-product-logistics span {
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product .aocos-product-top__summary .aocos-product-logistics strong {
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product .aocos-product-top__summary .aocos-shipping-estimate__category {
	border-bottom-color: var(--kirikiri-v25-line) !important;
}

body.single-product .aocos-product-top__summary .aocos-shipping-estimate__disclaimer {
	color: var(--kirikiri-v25-secondary) !important;
}

/* Unified primary action across simple, variable, Footwear, Costume and Wig
 * products. Disabled state remains owned by WooCommerce. */
body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button,
body.single-product .aocos-mobile-purchase-bar__primary,
body.single-product .aocos-mobile-bottom-sheet__footer .single_add_to_cart_button {
	min-height: 52px !important;
	border: 1px solid #542234 !important;
	border-radius: 12px !important;
	background: linear-gradient(180deg, #71364B 0%, #5A2638 100%) !important;
	box-shadow: 0 2px 0 rgb(62 24 38 / 34%), 0 11px 24px rgb(78 30 48 / 18%) !important;
	color: #FFFFFF !important;
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
}

body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button:disabled,
body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button.disabled {
	box-shadow: 0 2px 0 rgb(62 24 38 / 18%), 0 7px 16px rgb(78 30 48 / 9%) !important;
	filter: saturate(.72);
	opacity: .62;
}

@media (hover: hover) {
	body.single-product .aocos-product-top__summary form.cart .single_add_to_cart_button:not(:disabled):hover,
	body.single-product .aocos-mobile-purchase-bar__primary:hover,
	body.single-product .aocos-mobile-bottom-sheet__footer .single_add_to_cart_button:not(:disabled):hover {
		box-shadow: 0 3px 0 rgb(62 24 38 / 34%), 0 14px 28px rgb(78 30 48 / 22%) !important;
		filter: brightness(1.035);
		transform: translateY(-1px);
	}
}

/* Additional Information is one light editorial table. The old dark table
 * rules are fully contained here so no black/white striping leaks through. */
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
	padding: 0 !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 16px !important;
	background: var(--kirikiri-v25-surface) !important;
	box-shadow: 0 18px 44px rgb(54 40 44 / 8%) !important;
	overflow: hidden !important;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs {
	display: flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	background: var(--kirikiri-v25-surface-soft) !important;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li {
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li a {
	display: flex !important;
	min-height: 58px !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 16px clamp(24px, 4vw, 54px) !important;
	border-inline: 1px solid transparent !important;
	background: transparent !important;
	color: var(--kirikiri-v25-secondary) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li.active a,
body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li a[aria-selected="true"] {
	border-inline-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: inset 0 -2px 0 var(--kirikiri-v25-burgundy) !important;
}

body.single-product .woocommerce-tabs.wc-tabs-wrapper > article,
body.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs.wc-tabs-wrapper .panel {
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(22px, 3.6vw, 42px) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product .woocommerce-tabs .shop_attributes {
	display: table !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	table-layout: fixed !important;
	overflow: hidden !important;
}

body.single-product .woocommerce-tabs .shop_attributes tr,
body.single-product .woocommerce-tabs .shop_attributes th,
body.single-product .woocommerce-tabs .shop_attributes td,
body.single-product .woocommerce-tabs .shop_attributes td p {
	border-color: var(--kirikiri-v25-line) !important;
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: none !important;
}

body.single-product .woocommerce-tabs .shop_attributes tr + tr th,
body.single-product .woocommerce-tabs .shop_attributes tr + tr td {
	border-top: 1px solid var(--kirikiri-v25-line) !important;
}

body.single-product .woocommerce-tabs .shop_attributes th {
	width: clamp(150px, 19vw, 210px) !important;
	padding: 15px 18px !important;
	border: 0 !important;
	border-right: 1px solid var(--kirikiri-v25-line) !important;
	background: #F7F2EC !important;
	color: var(--kirikiri-v25-burgundy) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .07em !important;
	line-height: 1.45 !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	hyphens: none !important;
	text-transform: uppercase !important;
}

body.single-product .woocommerce-tabs .shop_attributes td {
	padding: 15px 18px !important;
	border: 0 !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	overflow-wrap: anywhere !important;
}

body.single-product .woocommerce-tabs .shop_attributes td p {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--kirikiri-v25-secondary) !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

/* Buyer Showcase uses .aocos-showcase in the plugin markup. The older V25
 * selector named a class that is not present on the rendered page. */
body.single-product #buyer-showcase.aocos-showcase {
	width: calc(100% - (var(--kirikiri-v25-page-gutter) * 2)) !important;
	max-width: 1280px !important;
	margin: clamp(34px, 5vw, 60px) auto 0 !important;
	padding: clamp(24px, 4vw, 42px) !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 16px !important;
	background: linear-gradient(145deg, #FFFFFF 0%, #F8F4EF 100%) !important;
	box-shadow: 0 16px 38px rgb(54 40 44 / 7%) !important;
	color: var(--kirikiri-v25-secondary) !important;
}

body.single-product #buyer-showcase.aocos-showcase :is(.aocos-showcase__header, h2, p) {
	background: transparent !important;
}

body.single-product #buyer-showcase.aocos-showcase h2 {
	margin: 0 0 8px !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-serif) !important;
	font-size: clamp(28px, 3.2vw, 38px) !important;
	font-weight: 500 !important;
	line-height: 1.12 !important;
}

body.single-product #buyer-showcase.aocos-showcase p {
	color: var(--kirikiri-v25-secondary) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}

body.single-product #buyer-showcase.aocos-showcase .aocos-showcase__empty {
	display: inline-flex !important;
	margin: 16px 0 0 !important;
	padding: 9px 13px !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 999px !important;
	background: rgb(100 44 62 / 5%) !important;
	color: var(--kirikiri-v25-secondary) !important;
}

body.single-product .kirikiri-cr-recent,
body.single-product .kirikiri-cr-recent__header,
body.single-product .kirikiri-cr-recent__header h2 {
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.single-product .kirikiri-cr-recent__header h2 {
	font-family: var(--kirikiri-v25-serif) !important;
	font-weight: 500 !important;
}

body.single-product .kirikiri-cr-recent__clear {
	border-color: var(--kirikiri-v25-line-strong) !important;
	border-radius: 9px !important;
	background: #FFFFFF !important;
	box-shadow: 0 4px 14px rgb(23 23 23 / 5%) !important;
	color: var(--kirikiri-v25-secondary) !important;
}

body.single-product .aocos-product-thumb[hidden],
body.single-product [data-aocos-main-image][hidden] {
	display: none !important;
}

/* Keep editorial CTAs consistent with the restrained depth used by product actions. */
.aocos-v25-home__button,
.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a,
.aocos-v25-product-archive ul.products[data-products] li.product .button {
	border-color: #67253B !important;
	border-radius: 9px !important;
	background: linear-gradient(180deg, #7A3049 0%, #642138 100%) !important;
	box-shadow: 0 5px 12px rgb(75 28 44 / 16%), inset 0 1px rgb(255 255 255 / 14%) !important;
	transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease !important;
}

@media (hover: hover) {
	.aocos-v25-home__button:hover,
	.aocos-v25-home__button:focus-visible,
	.aocos-v25-product-archive ul.products[data-products] li.product .ct-woo-card-actions a:hover,
	.aocos-v25-product-archive ul.products[data-products] li.product .button:hover {
		transform: translateY(-1px);
		background: linear-gradient(180deg, #843650 0%, #6C263E 100%) !important;
		color: #fff !important;
		box-shadow: 0 7px 16px rgb(75 28 44 / 19%), inset 0 1px rgb(255 255 255 / 16%) !important;
	}
}

/* Costume can render either WAPF path cards or native variation buttons.
 * Both stay logic-owned by their template and receive the shared V25 skin. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-costume-path__legend,
	.aocos-costume-native-mode legend,
	.aocos-costume-native-attribute legend
) {
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
	font-family: var(--kirikiri-v25-sans) !important;
	font-size: 11px !important;
	font-weight: 650 !important;
	letter-spacing: .07em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-costume-card,
	.aocos-costume-native-mode__button,
	.aocos-costume-native-attribute__button
) {
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 10px !important;
	background: linear-gradient(180deg, #FFFFFF 0%, #FCFAF7 100%) !important;
	box-shadow: var(--kirikiri-v25-control-shadow) !important;
	color: var(--kirikiri-v25-ink) !important;
	transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) :is(
	.aocos-costume-card.is-selected,
	.aocos-costume-native-mode__button[aria-pressed="true"],
	.aocos-costume-native-attribute__button[aria-pressed="true"]
) {
	border-color: #542234 !important;
	background: linear-gradient(180deg, #71364B 0%, #5A2638 100%) !important;
	box-shadow: 0 2px 0 rgb(62 24 38 / 28%), 0 10px 22px rgb(78 30 48 / 16%) !important;
	color: #FFFFFF !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-costume-card.is-selected :is(
	.aocos-costume-card__title,
	.aocos-costume-card__description,
	.aocos-costume-card__meta
) {
	color: #FFFFFF !important;
}

/* A warmer editorial footer closes every V25 surface consistently. */
.aocos-commerce-footer {
	border-top: 1px solid rgb(194 153 126 / 24%) !important;
	background: linear-gradient(145deg, var(--kirikiri-v25-footer) 0%, #21181C 58%, var(--kirikiri-v25-footer-deep) 100%) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 3%) !important;
	color: rgb(250 247 242 / 76%) !important;
}

.aocos-commerce-footer__title {
	color: #FBF7F2 !important;
}

.aocos-commerce-footer :is(.aocos-commerce-footer__list, .aocos-commerce-footer__about, .aocos-commerce-footer__copy, .aocos-commerce-footer__base-links) {
	color: rgb(250 247 242 / 70%) !important;
}

.aocos-commerce-footer a,
.aocos-commerce-footer .aocos-consent-open {
	color: rgb(250 247 242 / 76%) !important;
}

.aocos-commerce-footer a:hover,
.aocos-commerce-footer a:focus-visible,
.aocos-commerce-footer .aocos-consent-open:hover,
.aocos-commerce-footer .aocos-consent-open:focus-visible {
	color: #F3DCD5 !important;
	text-decoration-color: rgb(243 220 213 / 58%) !important;
}

.aocos-commerce-footer__support a,
.aocos-commerce-footer__meta-label {
	color: rgb(232 198 184 / 72%) !important;
}

.aocos-commerce-footer__base {
	border-top-color: rgb(250 247 242 / 12%) !important;
	background: rgb(9 5 7 / 18%) !important;
}

@media (max-width: 767px) {
	body.single-product .aocos-mobile-bottom-sheet .wapf-field-container:is(
		[for="aocos_size_system"],
		[for="aocos_measurement_unit"],
		[for="aocos_costume_measurement_unit"],
		[for="aocos_wig_measurement_unit"]
	) .wapf-field-label {
		padding-inline: 10px !important;
	}

	body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li,
	body.single-product .woocommerce-tabs.wc-tabs-wrapper > ul.tabs li a {
		width: 100% !important;
	}

	body.single-product .woocommerce-tabs.wc-tabs-wrapper > article,
	body.single-product .woocommerce-tabs.wc-tabs-wrapper .woocommerce-Tabs-panel,
	body.single-product .woocommerce-tabs.wc-tabs-wrapper .panel {
		padding: 18px !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes,
	body.single-product .woocommerce-tabs .shop_attributes tbody,
	body.single-product .woocommerce-tabs .shop_attributes tr,
	body.single-product .woocommerce-tabs .shop_attributes th,
	body.single-product .woocommerce-tabs .shop_attributes td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes {
		overflow: hidden !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes tr {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes tr + tr th,
	body.single-product .woocommerce-tabs .shop_attributes tr + tr td {
		border-top: 0 !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes tr + tr {
		border-top: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes th {
		padding: 12px 16px 7px !important;
		border: 0 !important;
		background: #F7F2EC !important;
		white-space: normal !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes td {
		padding: 7px 16px 15px !important;
		border: 0 !important;
		background: #F7F2EC !important;
	}

	body.single-product .woocommerce-tabs .shop_attributes td p {
		background: transparent !important;
	}

	body.single-product #buyer-showcase.aocos-showcase {
		width: calc(100% - 40px) !important;
		padding: 22px !important;
	}

	body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-grid {
		grid-template-columns: repeat(auto-fit, minmax(138px, 160px)) !important;
	}
}

/* Owner QA breakpoint guard: the legacy foundation still declares product
 * titles as light text. Keep the V25 editorial title dark at every viewport,
 * including the narrow-desktop/tablet boundary between the desktop and phone
 * layout rules. */
body.single-product .aocos-product-top__summary .product_title,
body.single-product .aocos-product-top__summary h1.product_title {
	color: var(--kirikiri-v25-ink) !important;
}

/* Draw the selected thumbnail frame entirely inside the button. The previous
 * outer ring was clipped by the gallery rail's scroll container at some zoom
 * and viewport combinations, making the right edge appear missing. */
body.single-product .aocos-product-thumb,
body.single-product .aocos-product-top__thumb {
	position: relative !important;
	box-sizing: border-box !important;
	isolation: isolate;
}

body.single-product .aocos-product-thumb:is(.is-active, [aria-selected='true']),
body.single-product .aocos-product-top__thumb:is(.is-active, [aria-selected='true'], [aria-current='true']) {
	border: 2px solid var(--kirikiri-v25-burgundy) !important;
	box-shadow: none !important;
	outline: 0 !important;
}

/* Keep the complete selected frame away from every scroll/paint boundary. */
body.single-product .aocos-product-thumb:is(.is-active, [aria-selected='true'])::after,
body.single-product .aocos-product-top__thumb:is(.is-active, [aria-selected='true'], [aria-current='true'])::after {
	content: none !important;
	display: none !important;
}

/* The vertical thumbnail rail is scrollable. If its grid track is exactly the
 * same width as a thumbnail, Chromium clips the final painted pixel on the
 * inline end. Keep the 58px thumbnail size and reserve a small rail gutter. */
@media (min-width: 1025px) {
	body.single-product .aocos-product-top__media {
		grid-template-columns: 70px minmax(0, 1fr) !important;
		column-gap: 10px !important;
	}

	body.single-product .aocos-product-top__thumbs {
		width: 70px !important;
		padding-right: 10px !important;
		box-sizing: border-box !important;
		position: relative !important;
		z-index: 2 !important;
		overflow: visible !important;
	}

	body.single-product .aocos-product-top__main {
		position: relative !important;
		z-index: 1 !important;
	}

}

/* Keep the gallery hierarchy stable through Safari's tablet/narrow-desktop
 * widths. The three-column purchase layout is too compressed before 1200px,
 * so the main image remains above a horizontal thumbnail rail until there is
 * enough room for the full desktop composition. */
@media (max-width: 1199px) {
	body.single-product .aocos-product-top__media {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}

	body.single-product .aocos-product-top__main {
		order: 1 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.single-product .aocos-product-top__thumbs {
		order: 2 !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 2px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		box-sizing: border-box !important;
	}

	body.single-product .aocos-product-top__bulletpoints {
		order: 3 !important;
	}

	body.single-product .aocos-product-thumb,
	body.single-product .aocos-product-top__thumb {
		flex: 0 0 58px !important;
		width: 58px !important;
		min-width: 58px !important;
		height: 72px !important;
		min-height: 72px !important;
		margin: 0 !important;
	}
}

/* Give the gallery a wider, balanced column before the full desktop layout
 * has room to breathe. This prevents the 1025-1199px composition from leaning
 * hard to the left without forcing tablet widths into the desktop grid. */
@media (min-width: 1025px) and (max-width: 1199px) {
	body.single-product .aocos-product-top {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
		column-gap: 30px !important;
	}
}

/* Final owner-QA normalization: legacy breakpoint rules were repainting the
 * horizontal thumbnail rail black at a narrow range of widths. Keep every
 * unselected thumbnail white with one consistent hairline, and reserve the
 * burgundy frame for the selected image only. */
body.single-product .aocos-product-thumb,
body.single-product .aocos-product-top__thumb {
	background: #fff !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
}

body.single-product .aocos-product-thumb:is(.is-active, [aria-selected='true']),
body.single-product .aocos-product-top__thumb:is(.is-active, [aria-selected='true'], [aria-current='true']) {
	background: #fff !important;
	border: 2px solid var(--kirikiri-v25-burgundy) !important;
	box-shadow: none !important;
}

/* Purchase Type and Fit/Gender use the same straight-edged language as the
 * mobile Add to Cart action. Reset old label indentation, gradients, shadows
 * and rounded-card geometry while retaining the native radio inputs. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet)
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-input-label {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 0 12px !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet)
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-label-text {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet)
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-input-label:has(input:checked) {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	box-shadow: none !important;
	transform: none !important;
}

/* Match the specificity of the late legacy form rules as well. */
body.single-product .aocos-product-top__summary form.cart
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-checkable .wapf-input-label,
body.single-product .aocos-mobile-bottom-sheet form.cart
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-checkable .wapf-input-label {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 12px !important;
	border: 1px solid var(--kirikiri-v25-line-strong) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}

body.single-product .aocos-product-top__summary form.cart
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-checkable .wapf-input-label:has(input:checked),
body.single-product .aocos-mobile-bottom-sheet form.cart
	:is(.wapf-field-container[for='aocos_purchase_type'], .wapf-field-container[for='aocos_fit_gender'])
	.wapf-checkable .wapf-input-label:has(input:checked) {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	box-shadow: none !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet)
	.wapf-field-container[for='aocos_fit_gender'] .wapf-input-label.is-disabled {
	border-color: var(--kirikiri-v25-line) !important;
	background: #f4f1ed !important;
	color: #8b847c !important;
	cursor: not-allowed !important;
	opacity: .62 !important;
}

/* V25 cart: remove the remaining legacy dark surfaces from filled carts. */
body.woocommerce-cart .aocos-order-shipping-estimates,
body.woocommerce-cart .aocos-order-shipping-estimates .aocos-shipping-estimate,
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-cart .woocommerce-cart-form .shop_table,
body.woocommerce-cart .woocommerce-cart-form .shop_table :is(thead, tbody, tr, th, td),
body.woocommerce-cart .cart_totals .shop_table,
body.woocommerce-cart .cart_totals .shop_table :is(tbody, tr, th, td) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #fffefc !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-cart .aocos-order-shipping-estimates {
	gap: 14px !important;
	padding: clamp(20px, 2.5vw, 28px) !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 30px rgb(43 34 29 / 7%) !important;
}

body.woocommerce-cart .aocos-order-shipping-estimates .aocos-shipping-estimate {
	padding: 16px !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 10px !important;
}

body.woocommerce-cart .aocos-order-shipping-estimates :is(h2, p, strong, span),
body.woocommerce-cart .woocommerce-cart-form :is(th, td, a, p, dt, dd, span),
body.woocommerce-cart .cart_totals :is(h2, th, td, p, li, span) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-cart .aocos-order-shipping-estimates :is(.aocos-shipping-estimate__disclaimer, .aocos-shipping-estimate__days),
body.woocommerce-cart .woocommerce-cart-form .variation,
body.woocommerce-cart .woocommerce-cart-form .variation :is(dt, dd, p),
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
	border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	background: #f7f3ee !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.woocommerce-cart .woocommerce-cart-form .cart_item td,
body.woocommerce-cart .cart_totals .shop_table :is(th, td) {
	border-bottom: 1px solid var(--kirikiri-v25-line) !important;
}

body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	border-color: var(--kirikiri-v25-line) !important;
	background: #fff !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity,
body.woocommerce-cart .woocommerce-cart-form .quantity :is(input, button) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #fff !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-cart .cart_totals .order-total :is(th, td, .amount) {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	border-color: var(--kirikiri-v25-burgundy) !important;
	border-radius: 0 !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #fff !important;
	box-shadow: none !important;
}

/* Owner QA follow-up: archive search, Amazon-style sticky media and buybox. */
.aocos-v25-product-archive .aocos-v25-archive-search {
	display: flex;
	flex: 1 1 380px;
	max-width: 560px;
	min-width: 220px;
	margin-left: auto;
}

.aocos-v25-product-archive .aocos-v25-archive-search input[type='search'] {
	width: 100%;
	min-height: 42px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--kirikiri-v25-line);
	border-right: 0;
	border-radius: 0;
	background: #fff !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-v25-product-archive .aocos-v25-archive-search button {
	min-width: 92px;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid var(--kirikiri-v25-burgundy);
	border-radius: 0;
	background: var(--kirikiri-v25-burgundy);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.woocommerce-cart .aocos-order-shipping-estimates {
	clear: both;
	margin-top: 28px !important;
}

@media (min-width: 1024px) {
	html:has(body.single-product),
	body.single-product {
		overflow-x: clip !important;
		overflow-y: visible !important;
	}

	body.single-product :is(#main-container, .site-main, .content-area, .entries, .product-entry-wrapper, .aocos-product-top) {
		overflow: visible !important;
	}

	body.single-product .aocos-product-top__media {
		position: sticky !important;
		top: calc(76px + var(--wp-admin--admin-bar--height, 0px)) !important;
		height: max-content !important;
		align-self: start !important;
		z-index: 4;
	}

	body.single-product .aocos-product-top__summary form.cart {
		grid-template-columns: minmax(260px, 1fr) minmax(240px, 280px) !important;
		column-gap: clamp(18px, 2vw, 28px) !important;
	}

	body.single-product .aocos-product-top__summary.aocos-v25-buybox-ready > .price {
		display: none !important;
	}

	body.single-product .aocos-product-top__summary.aocos-v25-config-complete .aocos-v25-size-guide {
		display: none !important;
	}

	body.single-product .aocos-v25-buybox {
		min-height: 330px !important;
		padding: 24px !important;
		border-radius: 0 !important;
	}

	body.single-product .aocos-v25-buybox__actions :is(.kirikiri-cr-wishlist-button, .single_add_to_cart_button),
	body.single-product .aocos-v25-buybox__actions .quantity {
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	body.single-product form.aocos-v25-simple-cart {
		min-height: calc(var(--aocos-v25-buybox-lift, 0px) + 330px) !important;
	}

	body.single-product form.aocos-v25-simple-cart > .aocos-v25-buybox {
		margin-top: calc(var(--aocos-v25-buybox-lift, 0px) * -1) !important;
	}

	body.single-product .wapf-field-container:is([for='aocos_custom_preferred_unit'], [for='aocos_measurement_unit']) {
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50% !important;
	}
}

@media (max-width: 767px) {
	.aocos-v25-product-archive .woo-listing-top {
		align-items: stretch !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search {
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
	}
}

/* Mobile archive controls: the desktop filter rail is intentionally a compact
 * disclosure here. Keep native filter URLs, archive query, ordering and card
 * actions untouched; this is presentation only. */
@media (max-width: 1023px) {
	body.aocos-v25-product-archive .site-main {
		width: 100% !important;
		padding-inline: 18px !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-shell {
		display: block !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters {
		position: static !important;
		margin: 0 0 18px !important;
		padding: 0 !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 10px !important;
		background: #fff !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure {
		display: block !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure > summary {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 52px !important;
		padding: 0 16px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
		font-weight: 650 !important;
		list-style: none !important;
		cursor: pointer !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure > summary::-webkit-details-marker {
		display: none !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure > summary span {
		color: var(--kirikiri-v25-burgundy) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure > summary::after {
		margin-left: 8px !important;
		color: var(--kirikiri-v25-secondary) !important;
		content: '+' !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure[open] > summary::after {
		content: '−' !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__heading {
		display: flex !important;
		align-items: baseline !important;
		justify-content: space-between !important;
		margin: 0 16px !important;
		padding: 14px 0 !important;
		border-block: 1px solid var(--kirikiri-v25-line) !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 12px !important;
		font-weight: 600 !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__heading a {
		color: var(--kirikiri-v25-burgundy) !important;
		font-size: 12px !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-group {
		padding: 16px !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-group:last-child {
		border-bottom: 0 !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-group h2 {
		margin: 0 0 10px !important;
		color: var(--kirikiri-v25-ink) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		letter-spacing: .08em !important;
		text-transform: uppercase !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-group ul {
		display: grid !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-group a,
	.aocos-v25-product-archive .aocos-v25-filter-toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 10px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		text-decoration: none !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-toggle {
		justify-content: flex-start !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-toggle span {
		width: 34px !important;
		height: 20px !important;
		border-radius: 999px !important;
		background: #DDD8D0 !important;
		box-shadow: inset 0 0 0 1px #CDC7BE !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-toggle span::after {
		display: block !important;
		width: 16px !important;
		height: 16px !important;
		margin: 2px !important;
		border-radius: 50% !important;
		background: #fff !important;
		box-shadow: 0 1px 3px rgb(0 0 0 / 18%) !important;
		content: '' !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-toggle.is-active span {
		background: var(--kirikiri-v25-burgundy) !important;
	}

	.aocos-v25-product-archive .aocos-v25-filter-toggle.is-active span::after {
		transform: translateX(14px) !important;
	}

	.aocos-v25-product-archive .woo-listing-top {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
		min-height: 0 !important;
		margin-bottom: 18px !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: stretch !important;
		width: 100% !important;
		height: 48px !important;
		min-height: 48px !important;
		margin: 0 !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search input[type='search'],
	.aocos-v25-product-archive .aocos-v25-archive-search button {
		box-sizing: border-box !important;
		height: 48px !important;
		min-height: 48px !important;
		margin: 0 !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search input[type='search'] {
		width: 100% !important;
		min-width: 0 !important;
		border-right: 0 !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search button {
		width: auto !important;
		min-width: 92px !important;
		padding-inline: 16px !important;
		white-space: nowrap !important;
	}

	.aocos-v25-product-archive .woocommerce-ordering,
	.aocos-v25-product-archive .woocommerce-ordering select {
		width: 100% !important;
		height: 48px !important;
		min-height: 48px !important;
	}
}

@media (min-width: 1024px) {
	.aocos-v25-product-archive .aocos-v25-filters__disclosure > summary {
		display: none !important;
	}

	.aocos-v25-product-archive .aocos-v25-filters__disclosure > :not(summary) {
		display: block !important;
	}
}

/* Owner QA: use one consistent 1:1 product-media canvas everywhere.
 * Source images remain untouched and are contained without cropping. */
body.single-product .aocos-product-top__main,
body.single-product .aocos-product-top__image-frame,
.aocos-v25-home__product-media,
.aocos-v25-product-archive ul.products[data-products] li.product > figure,
.aocos-v25-product-archive ul.products[data-products] li.product :is(.ct-media-container, .ct-image-container),
body.single-product :is(.related, .upsells) ul.products li.product > figure,
body.single-product :is(.related, .upsells) ul.products li.product :is(.ct-media-container, .ct-image-container) {
	aspect-ratio: 1 / 1 !important;
}

body.single-product .aocos-product-top__main,
.aocos-v25-home__product-media,
.aocos-v25-product-archive ul.products[data-products] li.product > figure,
body.single-product :is(.related, .upsells) ul.products li.product > figure {
	height: auto !important;
	min-height: 0 !important;
}

body.single-product .aocos-product-top__image-frame,
.aocos-v25-product-archive ul.products[data-products] li.product > figure > a,
body.single-product :is(.related, .upsells) ul.products li.product > figure > a {
	display: flex !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: 100% !important;
	align-items: center !important;
	justify-content: center !important;
}

body.single-product [data-aocos-main-image],
.aocos-v25-home__product-media img,
.aocos-v25-product-archive ul.products[data-products] li.product > figure img,
body.single-product :is(.related, .upsells) ul.products li.product > figure img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
}

body.single-product :is(.aocos-product-thumb, .aocos-product-top__thumb) {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	min-height: 0 !important;
}

body.single-product :is(.aocos-product-thumb, .aocos-product-top__thumb) img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet) .aocos-footwear-style-card img,
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* Variation contract: never offer a Fit/Gender value which has no matching
 * standard-size WooCommerce variation for the selected style. */
body.single-product .wapf-field-container[for='aocos_fit_gender'] .wapf-checkable.is-disabled {
	display: none !important;
}

body.single-product .wapf-field-container[for='aocos_fit_gender'] .wapf-radios.has-single-fit {
	grid-template-columns: minmax(0, 1fr) !important;
}

body.single-product .aocos-mobile-purchase-bar[hidden],
body.single-product .aocos-mobile-bottom-sheet[hidden],
body.single-product .aocos-mobile-bottom-sheet-backdrop[hidden] {
	display: none !important;
}

/* Give the desktop purchase box the decision-support information buyers
 * expect without duplicating or replacing WooCommerce's canonical cart form. */
@media (min-width: 1024px) {
	body.single-product .aocos-v25-buybox {
		min-height: 510px !important;
		display: flex !important;
		flex-direction: column !important;
	}

	body.single-product .aocos-v25-buybox__delivery {
		margin: 4px 0 14px !important;
		padding: 12px 0 !important;
		border-block: 1px solid var(--kirikiri-v25-line) !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-v25-buybox__delivery span {
		display: block !important;
		margin-bottom: 3px !important;
		color: var(--kirikiri-v25-secondary) !important;
		font-size: 10px !important;
		font-weight: 600 !important;
		letter-spacing: .06em !important;
		text-transform: uppercase !important;
	}

	body.single-product .aocos-v25-buybox__delivery strong {
		display: block !important;
		color: var(--kirikiri-v25-ink) !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	body.single-product .aocos-v25-buybox__details {
		display: grid !important;
		gap: 0 !important;
		margin: 18px 0 0 !important;
		padding: 0 !important;
		border-top: 1px solid var(--kirikiri-v25-line) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 11px !important;
	}

	body.single-product .aocos-v25-buybox__details > div {
		display: grid !important;
		grid-template-columns: 72px minmax(0, 1fr) !important;
		gap: 8px !important;
		padding: 9px 0 !important;
		border-bottom: 1px solid var(--kirikiri-v25-line) !important;
	}

	body.single-product .aocos-v25-buybox__details :is(dt, dd) {
		margin: 0 !important;
		line-height: 1.35 !important;
	}

	body.single-product .aocos-v25-buybox__details dt {
		color: var(--kirikiri-v25-secondary) !important;
	}

	body.single-product .aocos-v25-buybox__details dd,
	body.single-product .aocos-v25-buybox__details a {
		color: var(--kirikiri-v25-ink) !important;
	}

	body.single-product .aocos-v25-buybox__details a {
		text-decoration: underline !important;
		text-underline-offset: 2px !important;
	}
}

/* Owner QA 2026-08-25: keep purchase context and logistics inside the native
 * cart boundary. This lets the desktop buybox stay sticky while options are
 * being completed, then leave with the product summary before Product Details. */
@media (min-width: 1024px) {
	body.single-product form.aocos-v25-cart-grid {
		min-height: 0 !important;
	}

	body.single-product form.aocos-v25-simple-cart > .aocos-v25-buybox {
		margin-top: 0 !important;
	}

	body.single-product .aocos-v25-form-options > :is(.aocos-fwp-notice, .aocos-props-safety-notice) {
		margin: 0 0 14px !important;
	}

	body.single-product .aocos-v25-form-options > .aocos-fwp-notice {
		display: grid !important;
		gap: 5px !important;
		padding: 12px 14px !important;
		font-family: var(--kirikiri-v25-sans) !important;
	}

	body.single-product .aocos-v25-form-options > .aocos-fwp-notice strong {
		font-size: 12px !important;
		line-height: 1.25 !important;
	}

	body.single-product .aocos-v25-form-options > .aocos-fwp-notice span {
		font-size: 11px !important;
		line-height: 1.45 !important;
	}

	body.single-product .aocos-v25-form-options > .aocos-product-logistics {
		margin-top: 18px !important;
	}

	body.single-product .aocos-product-top__summary.aocos-v25-has-gift form.aocos-v25-cart-grid {
		min-height: min(980px, calc(100vh + 160px)) !important;
	}

	body.single-product .aocos-product-top__summary.aocos-v25-has-safety .aocos-v25-form-options {
		min-height: 560px !important;
	}

	.aocos-v25-product-archive ul.products li.product[data-aocos-card-link-ready='true'],
	.aocos-v25-product-archive ul.products li.product[data-aocos-card-link-ready='true'] :is(figure, img, .woocommerce-loop-product__title, h2, h3) {
		cursor: pointer !important;
	}
}

@media (max-width: 767px) {
	body.single-product .aocos-mobile-purchase-bar {
		grid-template-columns: 50px minmax(82px, auto) minmax(148px, 1fr) !important;
		gap: 8px !important;
	}

	body.single-product .aocos-mobile-purchase-bar__wishlist {
		display: grid !important;
		place-items: center !important;
		min-width: 50px !important;
		padding: 0 !important;
		line-height: 1 !important;
	}

	body.single-product .aocos-mobile-purchase-bar__wishlist svg {
		width: 26px !important;
		height: 26px !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-linejoin: round !important;
		stroke-width: 1.7 !important;
	}

	body.single-product .aocos-mobile-purchase-bar__wishlist.is-active {
		color: var(--kirikiri-v25-burgundy) !important;
	}

	body.single-product .aocos-mobile-purchase-bar__wishlist.is-active svg {
		fill: currentColor !important;
	}

	body.single-product .aocos-product-top__summary > .kirikiri-cr-wishlist-button {
		display: grid !important;
		place-items: center !important;
		width: 48px !important;
		min-width: 48px !important;
		padding: 0 !important;
	}

	body.single-product .aocos-product-top__summary > .kirikiri-cr-wishlist-button .kirikiri-cr-wishlist-button__label {
		display: none !important;
	}

	body.single-product .aocos-product-top__summary > .kirikiri-cr-wishlist-button[aria-pressed='true'] {
		color: var(--kirikiri-v25-burgundy) !important;
	}

	body.single-product .aocos-mobile-purchase-bar__price {
		min-width: 0 !important;
		color: var(--kirikiri-v25-burgundy) !important;
		font-family: var(--kirikiri-v25-sans) !important;
		font-size: 16px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
		text-align: left !important;
	}

	body.single-product .aocos-mobile-purchase-bar__price :is(.price, .amount) {
		color: inherit !important;
		font: inherit !important;
	}

	body.single-product .aocos-product-top__summary > .price,
	body.single-product .aocos-mobile-bottom-sheet .woocommerce-variation-price {
		display: none !important;
	}

	body.single-product .aocos-fwp-notice {
		padding: 14px 16px !important;
	}

	body.single-product .aocos-fwp-notice strong {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	body.single-product .aocos-fwp-notice span {
		font-size: 13px !important;
		line-height: 1.45 !important;
	}
}

/* Owner QA 2026-08-25: align the decision box with the open right-hand area
 * below the product heading. The extra cart padding preserves the sticky
 * boundary, so the box still leaves before Product Details. */
@media (min-width: 1024px) {
	body.single-product form.aocos-v25-cart-grid {
		box-sizing: border-box !important;
		padding-bottom: 84px !important;
	}

	body.single-product form.aocos-v25-cart-grid > .aocos-v25-buybox,
	body.single-product form.aocos-v25-simple-cart > .aocos-v25-buybox {
		margin-top: -84px !important;
	}

	body.single-product .aocos-v25-form-options .wapf-field-container[for="aocos_wig_measurement_unit"] .wapf-field-label,
	body.single-product .aocos-v25-form-options .wapf-field-container[for="aocos_wig_measurement_unit"] .wapf-field-label label,
	body.single-product .aocos-v25-form-options .wapf-field-container[for="aocos_wig_measurement_unit"] .wapf-field-label span {
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		line-height: 1.35 !important;
	}
}

@media (max-width: 767px) {
	body.single-product .aocos-mobile-purchase-bar__price {
		display: flex !important;
		min-height: 50px !important;
		align-self: stretch !important;
		align-items: center !important;
		justify-content: center !important;
		padding-top: 4px !important;
		text-align: center !important;
		transform: translateY(3px) !important;
	}

	/* Owner QA 2026-08-25: measurement inputs should not sit inside a second
	 * rounded surface in the mobile purchase sheet. Keep the white input and
	 * its own border, but let the field wrapper use the sheet background. */
	body.single-product .aocos-mobile-bottom-sheet .wapf-field-container:is(
		[for="aocos_custom_foot_length"],
		[for="aocos_custom_foot_width"],
		[for="aocos_calf_circumference"],
		[for="aocos_boot_height"],
		[for="aocos_thigh_circumference"],
		[for="aocos_remark"]
	):not(.wapf-hide) {
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}
}

/* Public Contact Us form — available to customers and guests. */
.aocos-contact-page .hero-section .page-title,
.aocos-contact-page .entry-content > p,
.aocos-contact-page .kirikiri-contact-support__title {
	color: #FFFFFF !important;
}

.aocos-contact-page .entry-content > p,
.aocos-contact-page .kirikiri-contact-support + p {
	color: rgb(255 255 255 / 72%) !important;
}

.aocos-contact-page .kirikiri-contact-support__email {
	color: #F0A48F !important;
}

.kirikiri-contact-form {
	width: min(100%, 860px);
	margin: 34px auto 0;
	padding: clamp(22px, 4vw, 42px);
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 14px;
	background: #FFFFFF;
	box-shadow: 0 16px 42px rgb(23 23 23 / 7%);
}

.kirikiri-contact-form__intro {
	margin-bottom: 26px;
}

.kirikiri-contact-form__visual {
	max-width: 300px;
	margin: 0 0 26px auto;
	overflow: hidden;
	border: 1px solid var(--kirikiri-v25-line);
	border-radius: 10px;
	background: var(--kirikiri-v25-surface-soft);
}

.kirikiri-contact-form__visual img {
	display: block;
	width: 100%;
	height: auto;
}

.kirikiri-contact-form__eyebrow {
	margin: 0 0 8px;
	color: var(--kirikiri-v25-burgundy);
	font: 700 11px/1.3 var(--kirikiri-v25-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.kirikiri-contact-form h2 {
	margin: 0 0 10px;
	font-family: var(--kirikiri-v25-serif);
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 400;
	line-height: 1.1;
}

.kirikiri-contact-form__intro > :last-child,
.kirikiri-contact-form__actions span {
	color: var(--kirikiri-v25-secondary);
}

.kirikiri-contact-form__notice {
	margin: 0 0 22px;
	padding: 12px 14px;
	border-left: 3px solid currentColor;
	background: var(--kirikiri-v25-surface-soft);
	font-weight: 600;
}

.kirikiri-contact-form__notice--success {
	color: #287A45;
}

.kirikiri-contact-form__notice--error {
	color: #9B2C2C;
}

.kirikiri-contact-form__form,
.kirikiri-contact-form__grid {
	display: grid;
	gap: 18px;
}

.kirikiri-contact-form__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kirikiri-contact-form__form p {
	margin: 0;
}

.kirikiri-contact-form__form label {
	display: block;
	margin-bottom: 7px;
	color: var(--kirikiri-v25-ink);
	font: 700 12px/1.35 var(--kirikiri-v25-sans);
	letter-spacing: .04em;
	text-transform: uppercase;
}

.kirikiri-contact-form__form label small {
	color: var(--kirikiri-v25-secondary);
	font: inherit;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.kirikiri-contact-form__form :is(input, select, textarea) {
	width: 100%;
	border: 1px solid var(--kirikiri-v25-line-strong);
	border-radius: 10px;
	background: #FFFFFF;
	color: var(--kirikiri-v25-ink);
	font-family: var(--kirikiri-v25-sans);
}

.kirikiri-contact-form__form :is(input, select) {
	min-height: 50px;
}

.kirikiri-contact-form__form textarea {
	min-height: 160px;
	resize: vertical;
}

.kirikiri-contact-form__form :is(input, select, textarea):focus-visible {
	border-color: var(--kirikiri-v25-burgundy);
	box-shadow: 0 0 0 3px rgb(112 42 61 / 14%);
	outline: 0;
}

.kirikiri-contact-form__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.kirikiri-contact-form__actions button {
	min-width: 190px;
	min-height: 50px;
	border: 1px solid var(--kirikiri-v25-burgundy) !important;
	border-radius: 0;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #FFFFFF !important;
	font: 700 12px/1 var(--kirikiri-v25-sans);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.kirikiri-contact-form__trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 689px) {
	.kirikiri-contact-form {
		margin-top: 26px;
		padding: 22px 18px;
		border-radius: 10px;
	}

	.kirikiri-contact-form__visual {
		max-width: none;
		margin-inline: 0;
	}

	.kirikiri-contact-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.kirikiri-contact-form__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kirikiri-contact-form__actions button {
		width: 100%;
	}
}

/* -------------------------------------------------------------------------
 * V25 My Account / Wishlist — replace the legacy dark account cascade.
 * This is presentation-only: WooCommerce endpoints, login, OAuth, Wishlist,
 * account navigation and form markup remain native.
 * ---------------------------------------------------------------------- */
body.woocommerce-account,
body.woocommerce-account :is(#main-container, #main, .ct-container-full, .site-main, .entry-content) {
	background: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .hero-section,
body.woocommerce-account .ct-page-title {
	background: var(--kirikiri-v25-background) !important;
}

body.woocommerce-account :is(.page-title, h1, h2, h3, h4) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .page-title {
	font-family: var(--kirikiri-v25-serif) !important;
	font-weight: 500 !important;
}

body.woocommerce-account .woocommerce {
	width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 1180px) !important;
	max-width: 1180px !important;
	margin-inline: auto !important;
	padding: clamp(32px, 5vw, 64px) 0 clamp(52px, 7vw, 88px) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .aocos-login-layout {
	width: min(100%, 1040px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	gap: clamp(20px, 3vw, 32px) !important;
	background: transparent !important;
}

body.woocommerce-account .aocos-login-card,
body.woocommerce-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content),
body.woocommerce-account :is(.woocommerce form.login, .woocommerce form.register, .woocommerce-ResetPassword, .woocommerce-lost-password, .lost_reset_password, .woocommerce-EditAccountForm, .woocommerce-address-fields, .woocommerce-MyAccount-content form) {
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	box-shadow: 0 14px 34px rgb(23 23 23 / 6%) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .aocos-login-card {
	min-height: 0 !important;
	padding: clamp(28px, 4vw, 46px) !important;
}

body.woocommerce-account .aocos-login-card--new {
	background: #F7F2F3 !important;
}

body.woocommerce-account .aocos-login-card :is(h1, h2, h3, p, label),
body.woocommerce-account .aocos-login-card--new > p:not(.aocos-login-card__eyebrow) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .aocos-login-card :is(.aocos-login-card__intro, .aocos-login-card--new > p:not(.aocos-login-card__eyebrow)) {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account .aocos-login-card__eyebrow {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account .woocommerce form.login {
	margin-top: 24px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-account :is(.woocommerce form label, .woocommerce form legend, .woocommerce-form__label, .woocommerce-form-login__rememberme) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account :is(.woocommerce form input:not([type="checkbox"]):not([type="radio"]), .woocommerce form textarea, .woocommerce form select) {
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 9px !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: none !important;
}

body.woocommerce-account :is(.woocommerce form input, .woocommerce form textarea, .woocommerce form select):focus {
	border-color: var(--kirikiri-v25-burgundy) !important;
	box-shadow: 0 0 0 3px rgb(100 44 62 / 13%) !important;
	outline: 0 !important;
}

body.woocommerce-account :is(.aocos-create-account-link, .woocommerce-form-login__submit, .woocommerce .button) {
	border-color: var(--kirikiri-v25-burgundy) !important;
	border-radius: 8px !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #FFFFFF !important;
}

body.woocommerce-account :is(.aocos-create-account-link, .woocommerce-form-login__submit):hover,
body.woocommerce-account .woocommerce .button:hover {
	border-color: #4D1E30 !important;
	background: #4D1E30 !important;
	color: #FFFFFF !important;
}

body.woocommerce-account :is(.aocos-login-form__actions a, .woocommerce-MyAccount-content a:not(.button), .woocommerce-MyAccount-navigation a) {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account .aocos-account-shell__content,
body.woocommerce-account .woocommerce-MyAccount-content {
	background: #FFFFFF !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 10px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	border: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	border-left: 3px solid transparent !important;
	border-radius: 6px !important;
	background: transparent !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation :is(.is-active a, a:hover) {
	border-left-color: var(--kirikiri-v25-burgundy) !important;
	background: #F7F2F3 !important;
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account :is(.woocommerce-MyAccount-content p, .woocommerce-MyAccount-content address, .woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-password-strength, .woocommerce-password-hint) {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .kirikiri-cr-wishlist__empty) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #F7F2F3 !important;
}

@media (max-width: 767px) {
	body.woocommerce-account .woocommerce {
		width: min(100% - 28px, 1180px) !important;
		padding-block: 28px 48px !important;
	}

	body.woocommerce-account .aocos-login-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.woocommerce-account .aocos-login-card {
		padding: 24px 20px !important;
	}
}

/* Anonymous login has legacy rules with :not(.logged-in) specificity. Keep
 * this exact scope at the end so the V25 account presentation wins cleanly. */
body.woocommerce-account:not(.logged-in) :is(.site-main, .ct-container-full) {
	background: var(--kirikiri-v25-background) !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 1040px) !important;
	max-width: 1040px !important;
	padding: clamp(32px, 5vw, 64px) 0 clamp(52px, 7vw, 88px) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-layout {
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr) !important;
	align-items: start !important;
	gap: clamp(22px, 3vw, 34px) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card {
	min-height: 0 !important;
	padding: clamp(28px, 4vw, 42px) !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	box-shadow: 0 14px 34px rgb(23 23 23 / 6%) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card--new {
	justify-content: flex-start !important;
	background: #F7F2F3 !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card :is(h1, h2, h3, p, label),
body.woocommerce-account:not(.logged-in) .aocos-login-card--new > p:not(.aocos-login-card__eyebrow) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card :is(.aocos-login-card__intro, .aocos-login-card--new > p:not(.aocos-login-card__eyebrow)) {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card__eyebrow,
body.woocommerce-account:not(.logged-in) .aocos-login-form__actions a {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-login-card .input-text {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-account-social-divider {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account:not(.logged-in) .aocos-account-social-divider::before,
body.woocommerce-account:not(.logged-in) .aocos-account-social-divider::after {
	background: var(--kirikiri-v25-line) !important;
}

body.woocommerce-account:not(.logged-in) :is(.aocos-login-card .woocommerce-form-login__submit, .aocos-create-account-link) {
	border-color: var(--kirikiri-v25-burgundy) !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #FFFFFF !important;
}

body.woocommerce-account:not(.logged-in) :is(.aocos-login-card .woocommerce-form-login__submit, .aocos-create-account-link):hover {
	border-color: #4D1E30 !important;
	background: #4D1E30 !important;
	color: #FFFFFF !important;
}

@media (max-width: 767px) {
	body.woocommerce-account:not(.logged-in) .woocommerce {
		width: min(100% - 28px, 1040px) !important;
	}

	body.woocommerce-account:not(.logged-in) .aocos-login-layout {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* -------------------------------------------------------------------------
 * V25 owner QA correction — static help pages and archive controls.
 * The old foundation still owned these routes, leaving them with a dark
 * surface. These selectors are deliberately limited to their known page IDs
 * and preserve all page content, forms, links and WooCommerce behavior.
 * ---------------------------------------------------------------------- */
body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89),
body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89) :is(#main-container, #main, .ct-container-full, .site-main, .entry-content) {
	background: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89) :is(.hero-section, .ct-page-title) {
	background: var(--kirikiri-v25-background) !important;
}

body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89) .entry-content :is(h1, h2, h3, h4, strong) {
	color: var(--kirikiri-v25-ink) !important;
}

body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89) .entry-content :is(p, li, dd, dt) {
	color: var(--kirikiri-v25-secondary) !important;
}

body:is(.page-id-86, .page-id-87, .page-id-88, .page-id-89) .entry-content a {
	color: var(--kirikiri-v25-burgundy) !important;
}

body:is(.page-id-88, .page-id-89) .ao-spec-page {
	background: var(--kirikiri-v25-background) !important;
}

body:is(.page-id-88, .page-id-89) .ao-info-card {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	box-shadow: 0 10px 28px rgb(23 23 23 / 6%) !important;
}

body.aocos-contact-page .hero-section .page-title,
body.aocos-contact-page .entry-content > p,
body.aocos-contact-page .kirikiri-contact-support__title {
	color: var(--kirikiri-v25-ink) !important;
}

body.aocos-contact-page .entry-content > p,
body.aocos-contact-page .kirikiri-contact-support + p {
	color: var(--kirikiri-v25-secondary) !important;
}

body.aocos-contact-page .kirikiri-contact-support__email {
	color: var(--kirikiri-v25-burgundy) !important;
}

/* The former cart surface was nested inside a desktop-only legacy cascade.
 * Reassert the V25 cart canvas here so its light treatment is identical on
 * phones, tablets and desktops. */
body.woocommerce-cart,
body.woocommerce-cart :is(#main-container, #main, .ct-container-full, .site-main, .content-area, .entry-content) {
	background: var(--kirikiri-v25-background) !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-cart .hero-section :is(.entry-header, .page-title),
body.woocommerce-cart :is(.page-title, h1, h2, h3, p) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-cart .aocos-empty-cart {
	width: min(100% - (var(--kirikiri-v25-page-gutter) * 2), 720px) !important;
	margin: 34px auto !important;
	padding: clamp(28px, 7vw, 54px) !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 14px !important;
	background: #FFFEFC !important;
	box-shadow: 0 10px 30px rgb(43 34 29 / 7%) !important;
	text-align: center !important;
}

body.woocommerce-cart .aocos-empty-cart p {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-cart .aocos-empty-cart .return-to-shop {
	margin: 24px 0 0 !important;
	padding: 18px !important;
	border: 1px solid var(--kirikiri-v25-line) !important;
	border-radius: 10px !important;
	background: #FFFEFC !important;
}

body.woocommerce-cart .aocos-empty-cart .button {
	border-color: var(--kirikiri-v25-burgundy) !important;
	border-radius: 8px !important;
	background: var(--kirikiri-v25-burgundy) !important;
	color: #FFFFFF !important;
}

/* The utility search is part of the light header at every breakpoint. */
.aocos-commerce-header :is(.aocos-header-search, .aocos-commerce-header__mobile-search .aocos-header-search) {
	background: #FFFFFF !important;
	border-color: var(--kirikiri-v25-line) !important;
}

.aocos-commerce-header .aocos-header-search input[type='search'] {
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

.aocos-commerce-header .aocos-header-search input[type='search']::placeholder {
	color: var(--kirikiri-v25-secondary) !important;
	opacity: 1 !important;
}

/* Keep the archive search itself white at compact widths: historical card
 * background must not leak into the two exposed side gutters. */
@media (max-width: 1023px) {
	.aocos-v25-product-archive .aocos-v25-archive-search {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.aocos-v25-product-archive .aocos-v25-archive-search input[type='search'],
	.aocos-v25-product-archive .aocos-v25-archive-search button {
		box-shadow: none !important;
	}
}

/* A Size Guide needs one deliberate separation, not the old empty stack of
 * variation borders underneath it on a compact Costume purchase screen. */
@media (max-width: 767px) {
	body.single-product.aocos-costume-pipeline-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) :is(.aocos-v25-size-guide, form.cart, .wapf-wrapper, .single_variation_wrap, .woocommerce-variation-add-to-cart) {
		border-top: 0 !important;
		border-bottom: 0 !important;
	}

	body.single-product.aocos-costume-pipeline-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .aocos-v25-size-guide {
		margin-bottom: 14px !important;
		padding-bottom: 0 !important;
	}

	body.single-product.aocos-costume-pipeline-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) :is(form.cart, .wapf-wrapper, .single_variation_wrap, .woocommerce-variation-add-to-cart) {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
}

/* Keep Costume custom measurements aligned at compact desktop widths. The
 * unit/height row needs full-width fields; forcing both into narrow half-width
 * cards clips the unit label and shifts every following row. Numeric pairs
 * remain a stable two-column grid. */
@media (min-width: 1024px) {
	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-row:has(> .wapf-field-container[for="aocos_costume_height"]) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		align-items: stretch !important;
		margin: 0 !important;
	}

	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-row:has(> .wapf-field-container:is(
		[for="aocos_costume_bust"],
		[for="aocos_costume_hips"],
		[for="aocos_costume_pants_length"]
	)) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		align-items: stretch !important;
		margin: 0 !important;
	}

	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-row:has(> .wapf-field-container:is(
		[for="aocos_costume_height"],
		[for="aocos_costume_bust"],
		[for="aocos_costume_hips"],
		[for="aocos_costume_pants_length"]
	)) > .wapf-field-container {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		height: 100% !important;
		box-sizing: border-box !important;
	}

	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-container:is(
		[for="aocos_measurement_unit"],
		[for="aocos_costume_height"]
	) {
		grid-column: 1 / -1 !important;
	}

	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-container:is(
		[for="aocos_costume_height"],
		[for="aocos_costume_bust"],
		[for="aocos_costume_waist"],
		[for="aocos_costume_hips"],
		[for="aocos_costume_shoulder"],
		[for="aocos_costume_pants_length"]
	) :is(.wapf-field-label, .wapf-field-input, input) {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-container[for="aocos_costume_shoulder"] .wapf-field-label {
		white-space: nowrap !important;
	}
}

/* The product-options script reparents WAPF fields into measurement groups.
 * Lay out that final DOM instead of the now-empty WAPF rows.  The panel is the
 * sizing container: narrow buy-boxes stay one column, and roomy panels use at
 * most two columns.  This prevents the three long Footwear labels from being
 * squeezed together at intermediate desktop widths. */
body.single-product .aocos-measurement-panel {
	container-name: aocos-measurements;
	container-type: inline-size;
}

body.single-product .aocos-measurement-group:has(
	.wapf-field-container:is(
		[for="aocos_costume_height"],
		[for="aocos_custom_foot_width"],
		[for="aocos_calf_circumference"]
	)
) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
	align-items: stretch !important;
}

body.single-product .aocos-measurement-group:has(
	.wapf-field-container:is(
		[for="aocos_costume_height"],
		[for="aocos_custom_foot_width"],
		[for="aocos_calf_circumference"]
	)
) > .aocos-measurement-group__title {
	grid-column: 1 / -1 !important;
}

body.single-product .aocos-measurement-group > .wapf-field-container {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

@container aocos-measurements (min-width: 430px) {
	body.single-product .aocos-measurement-group:has(
		.wapf-field-container:is(
			[for="aocos_costume_height"],
			[for="aocos_custom_foot_width"],
			[for="aocos_calf_circumference"]
		)
	) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* New catalog products currently keep the native WAPF row structure instead
 * of using .aocos-measurement-panel.  Earlier responsive rules made every row
 * display:contents, so the group auto-created three equal columns and ignored
 * the intended Calf/Boot row boundary. Restore the rows as layout boxes and
 * keep long Footwear measurement labels in a stable single-column flow. */
body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_calf_circumference"]
) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
}

body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_calf_circumference"]
) > .wapf-field-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_calf_circumference"]
) > .wapf-field-row > .wapf-field-container {
	grid-column: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Costume uses the same native WAPF structure. Keep every source row intact;
 * paired body measurements only become two columns when the form itself has
 * enough room. This keeps Measurement Unit/Height aligned and prevents the
 * Shoulder Width label from escaping a narrow card. */
body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) {
	container-name: aocos-costume-fields;
	container-type: inline-size;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
}

body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) > .wapf-field-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) > .wapf-field-row > .wapf-field-container {
	grid-column: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.single-product .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) .wapf-field-container[for="aocos_costume_shoulder"] .wapf-field-label {
	white-space: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

/* Override the older desktop pair rules above with the final component-sized
 * layout. Their longer selector otherwise wins at 1024px+ and leaves a lone
 * field occupying half of a narrow buy box. */
body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) > .wapf-field-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 10px !important;
}

body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) > .wapf-field-row > .wapf-field-container {
	grid-column: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

body.single-product.aocos-costume-pipeline-product .aocos-v25-form-options .wapf-field-group:has(
	.wapf-field-container[for="aocos_costume_bust"]
) .wapf-field-container[for="aocos_costume_shoulder"] .wapf-field-label {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

@container aocos-costume-fields (min-width: 430px) {
	.wapf-field-group > .wapf-field-row:has(
		> .wapf-field-container:is(
			[for="aocos_costume_bust"],
			[for="aocos_costume_hips"]
		)
	) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wapf-field-group > .wapf-field-row:has(
		> .wapf-field-container:is(
			[for="aocos_costume_bust"],
			[for="aocos_costume_hips"]
		)
	) > .wapf-field-container {
		grid-column: auto !important;
	}
}

/* Match Footwear measurement cards to the Costume field treatment. The old
 * Footwear-only reset removed their padding while a later shared rule restored
 * only the border, which left headings sitting on the card edge. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container:is(
	[for="aocos_custom_foot_length"],
	[for="aocos_custom_foot_width"],
	[for="aocos_calf_circumference"],
	[for="aocos_boot_height"],
	[for="aocos_thigh_circumference"],
	[for="aocos_special_notes"]
) {
	min-width: 0 !important;
	box-sizing: border-box !important;
}

@media (min-width: 1024px) {
	body.single-product .aocos-product-top__summary .wapf-field-container:is(
		[for="aocos_custom_foot_length"],
		[for="aocos_custom_foot_width"],
		[for="aocos_calf_circumference"],
		[for="aocos_boot_height"],
		[for="aocos_thigh_circumference"],
		[for="aocos_special_notes"]
	) {
		padding: 10px !important;
		border: 1px solid var(--kirikiri-v25-line) !important;
		border-radius: 11px !important;
		background: var(--kirikiri-v25-surface-soft) !important;
		box-shadow: none !important;
	}

	body.single-product .aocos-product-top__summary .wapf-field-container:is(
		[for="aocos_calf_circumference"],
		[for="aocos_boot_height"],
		[for="aocos_thigh_circumference"]
	) .wapf-field-label {
		min-height: 0 !important;
		white-space: normal !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
}

/* Safari can retain a pale text-fill colour even when the normal color is
 * overridden. Set both properties so typed measurements and notes stay legible. */
body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container:is(
	[for="aocos_custom_foot_length"],
	[for="aocos_custom_foot_width"],
	[for="aocos_calf_circumference"],
	[for="aocos_boot_height"],
	[for="aocos_thigh_circumference"],
	[for="aocos_special_notes"]
) :is(input[type="text"], input[type="number"], textarea) {
	color: var(--kirikiri-v25-ink) !important;
	-webkit-text-fill-color: var(--kirikiri-v25-ink) !important;
	caret-color: var(--kirikiri-v25-burgundy) !important;
	opacity: 1 !important;
}

body.single-product :is(.aocos-product-top__summary, .aocos-mobile-bottom-sheet__content) .wapf-field-container:is(
	[for="aocos_custom_foot_length"],
	[for="aocos_custom_foot_width"],
	[for="aocos_calf_circumference"],
	[for="aocos_boot_height"],
	[for="aocos_thigh_circumference"],
	[for="aocos_special_notes"]
) :is(input, textarea)::placeholder {
	color: #706E69 !important;
	-webkit-text-fill-color: #706E69 !important;
	opacity: 1 !important;
}

/* -------------------------------------------------------------------------
 * V25 signed-in My Account remediation — 2026-09-10
 * Keep every customer endpoint on the light V25 presentation layer. The
 * legacy account shell and first-party account plugins originally supplied
 * dark cards; the broad V25 heading/text reset then made their content
 * unreadable. This lock is presentation-only and leaves WooCommerce and
 * plugin behavior untouched.
 * ---------------------------------------------------------------------- */
body.woocommerce-account.logged-in :is(
	.aocos-account-shell__nav,
	.aocos-account-shell__content
) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: 0 14px 34px rgb(23 23 23 / 6%) !important;
}

body.woocommerce-account.logged-in .aocos-account-shell__nav .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .aocos-account-shell__content > .woocommerce-MyAccount-content {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-account.logged-in .aocos-account-mini {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account.logged-in .aocos-account-mini strong {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .aocos-account-profile {
	border-color: var(--kirikiri-v25-line) !important;
	background: #F7F2F3 !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: none !important;
}

body.woocommerce-account.logged-in .aocos-account-profile :is(h1, h2, h3, h4) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .aocos-account-profile :is(p, dt) {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account.logged-in .aocos-account-profile dd {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content strong {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .required {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-orders-table,
	.woocommerce-table--order-details,
	.woocommerce-customer-details,
	.woocommerce-columns--addresses .woocommerce-column,
	.woocommerce-Address,
	.aocos-order-shipping-estimates,
	.aocos-ref-panel,
	.aocos-avatar-card,
	.aocos-my-showcases
) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
	box-shadow: none !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-Address,
	.woocommerce-columns--addresses .woocommerce-column,
	.aocos-order-shipping-estimates,
	.aocos-ref-panel,
	.aocos-avatar-card
) {
	background: #F7F2F3 !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-orders-table,
	.woocommerce-table--order-details,
	.aocos-my-showcases table
) :is(thead, thead tr, th) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #F7F2F3 !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-orders-table,
	.woocommerce-table--order-details,
	.aocos-my-showcases table
) :is(tbody, tbody tr, td) {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-Address,
	.woocommerce-customer-details,
	.woocommerce-order-details,
	.aocos-order-shipping-estimates,
	.aocos-ref-panel,
	.aocos-avatar-card,
	.aocos-my-showcases
) :is(h1, h2, h3, h4, label, legend) {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in :is(
	.woocommerce-Address,
	.woocommerce-customer-details,
	.woocommerce-order-details,
	.aocos-order-shipping-estimates,
	.aocos-ref-panel,
	.aocos-avatar-card,
	.aocos-my-showcases
) :is(p, address, .aocos-avatar-card__note, .aocos-avatar-form__status) {
	color: var(--kirikiri-v25-secondary) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .aocos-ref-panel .aocos-ref-code,
body.woocommerce-account.logged-in .aocos-my-showcases td::before {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account.logged-in .aocos-ref-copy input {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .aocos-avatar-form__label,
body.woocommerce-account.logged-in .aocos-avatar-form__status.is-filled {
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .aocos-my-showcases .aocos-my-showcases__card {
	border-color: var(--kirikiri-v25-line) !important;
	background: #FFFFFF !important;
	color: var(--kirikiri-v25-ink) !important;
}

body.woocommerce-account.logged-in .aocos-fwp-notice strong {
	color: var(--kirikiri-v25-burgundy) !important;
}

body.woocommerce-account .aocos-commerce-footer :is(h1, h2, h3, h4) {
	color: #F7F5F2 !important;
}

@media (max-width: 767px) {
	body.woocommerce-account.logged-in .aocos-account-shell__nav {
		padding: 14px !important;
	}

	body.woocommerce-account.logged-in .aocos-account-mini {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 4px 12px;
		margin-bottom: 14px;
	}

	body.woocommerce-account.logged-in .aocos-account-mini .aocos-avatar {
		grid-row: 1 / span 2;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 6px !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
		min-width: 0 !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
		width: 100% !important;
		min-height: 44px;
		padding: 9px 8px !important;
		font-size: 13px;
		line-height: 1.25;
		white-space: normal !important;
	}
}
