/**
 * Boutique Asmon — WooCommerce aligné sur le chrome existant
 * (tokens, sigils, callouts, formulaires, boutons).
 */

body.asmon-shop {
	--asmon-shop-radius: 2px;
	--asmon-placeholder: rgba(232, 220, 196, 0.52);
}

body.asmon-shop .woocommerce,
body.asmon-shop .woocommerce-page,
body.asmon-shop .asmon-shop-content,
body.asmon-shop .asmon-shop-product {
	color: var(--asmon-text);
	font-family: var(--asmon-font-body);
}

body.asmon-shop .woocommerce a:not(.button):not(.univers-sigil):not(.asmon-shop-sigil__main):not(.asmon-shop-sigil__title):not(.asmon-shop-filters__reset):not(.asmon-shop-quickview__link),
body.asmon-shop .asmon-shop-content a:not(.button):not(.univers-sigil):not(.asmon-shop-sigil__main):not(.asmon-shop-sigil__title):not(.asmon-shop-filters__reset):not(.asmon-shop-quickview__link),
body.asmon-shop--product .summary a:not(.button),
body.asmon-shop--product .product_meta a,
body.asmon-shop--product .woocommerce-tabs a:not(.button),
body.asmon-shop--product a.reset_variations {
	color: var(--asmon-accent);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-color: rgba(201, 168, 76, 0.45);
	transition: color 0.25s ease, text-decoration-color 0.25s ease, text-shadow 0.25s ease;
}

body.asmon-shop .woocommerce a:not(.button):not(.univers-sigil):not(.asmon-shop-sigil__main):not(.asmon-shop-sigil__title):not(.asmon-shop-filters__reset):not(.asmon-shop-quickview__link):hover,
body.asmon-shop .asmon-shop-content a:not(.button):not(.univers-sigil):not(.asmon-shop-sigil__main):not(.asmon-shop-sigil__title):not(.asmon-shop-filters__reset):not(.asmon-shop-quickview__link):hover,
body.asmon-shop--product .summary a:not(.button):hover,
body.asmon-shop--product .product_meta a:hover,
body.asmon-shop--product .woocommerce-tabs a:not(.button):hover,
body.asmon-shop--product a.reset_variations:hover {
	color: var(--asmon-text-bright);
	text-decoration-color: var(--asmon-accent);
	text-shadow: 0 0 14px rgba(201, 168, 76, 0.25);
}

.asmon-hero--shop::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201, 168, 76, 0.35), transparent);
	opacity: 0.7;
}

.asmon-shop-shell {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
	overflow: visible;
}

.asmon-shop-stage {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(2rem, 6vh, 3.5rem) var(--asmon-hero-gutter, clamp(1rem, 4vw, 4rem));
	box-sizing: border-box;
	overflow: visible;
}

.asmon-shop-stage--catalog {
	--doc-rail-w: 16.5rem;
	--asmon-toc-stick-top: 4.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.75rem, 4vw, 2.75rem);
	align-items: start;
}

@media (min-width: 960px) {
	.asmon-shop-stage--catalog {
		--asmon-shop-pane-h: calc(100vh - var(--asmon-toc-stick-top, 4.5rem) - 1.75rem);
		grid-template-columns: 16.5rem minmax(0, 1fr);
		align-items: start;
	}

	.asmon-shop-stage--catalog .asmon-shop-filters {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		width: 100%;
		box-sizing: border-box;
		padding: 1.55rem 1.3rem 1.7rem 1.4rem;
		position: sticky;
		top: var(--asmon-toc-stick-top, 4.5rem);
		height: var(--asmon-shop-pane-h);
		max-height: var(--asmon-shop-pane-h);
		overflow: auto;
		overscroll-behavior: auto;
		scrollbar-width: thin;
		scrollbar-color: rgba(201, 168, 76, 0.25) transparent;
		z-index: 40;
	}

	.asmon-shop-stage--catalog .asmon-shop-catalog {
		grid-column: 2;
		grid-row: 1;
		align-self: stretch;
		min-width: 0;
		min-height: var(--asmon-shop-pane-h);
	}

	.asmon-shop-filters__summary {
		display: none;
	}

	.asmon-shop-filters__drawer {
		border: 0;
		background: transparent;
		padding: 0;
	}

	.asmon-shop-filters__drawer[open] .asmon-shop-filters__body,
	.asmon-shop-filters__body {
		display: block;
		padding: 0;
	}

	.asmon-shop-filters__title {
		display: flex;
		justify-content: center;
		margin: 0 0 1.15rem;
		padding: 0;
		text-align: center;
		border: 0;
	}
}

@media (max-width: 959px) {
	.asmon-shop-filters.asmon-toc--doc {
		padding: 0;
		background: transparent;
		border: 0;
		backdrop-filter: none;
		box-shadow: none;
	}

	.asmon-shop-filters.asmon-toc--doc.is-visible {
		animation: none;
	}

	.asmon-shop-filters__title {
		display: flex;
		justify-content: center;
		margin: 0 0 1rem;
		padding: 0.15rem 0 0;
		text-align: center;
		border: 0;
	}

	.asmon-shop-filters__drawer {
		background: rgba(22, 18, 13, 0.62);
		border: 1px solid rgba(201, 168, 76, 0.14);
		backdrop-filter: blur(8px);
		animation: asmon-doc-toc-breathe 9s ease-in-out infinite;
	}

	.asmon-shop-filters__summary {
		cursor: pointer;
		list-style: none;
		padding: 1rem 1.3rem;
		font-family: var(--asmon-font-display);
		font-size: 0.625rem;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: var(--asmon-accent);
	}

	.asmon-shop-filters__summary::-webkit-details-marker {
		display: none;
	}

	.asmon-shop-filters__body {
		padding: 0 1.3rem 1.35rem;
	}
}

.asmon-shop-filters {
	position: relative;
	min-width: 0;
}

.asmon-shop-filters.asmon-toc--doc li::before {
	content: none;
	flex: 0;
	display: none;
}

.asmon-shop-filters .asmon-cf7 {
	max-width: none;
}

.asmon-shop-filters .asmon-cf7__select,
.asmon-shop-filters .asmon-cf7__input {
	width: 100%;
}

.asmon-shop-filter {
	margin: 0 0 0.85rem;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.1);
	padding: 0 0 0.85rem;
	min-width: 0;
}

.asmon-shop-filters__form > .asmon-shop-filter:last-child {
	margin-bottom: 0;
}

.asmon-shop-filters__title {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 1.05rem;
	text-align: center;
}

.asmon-shop-filters .asmon-toc__title::after {
	display: none;
}

.asmon-shop-filters a.asmon-shop-filters__reset {
	display: inline-block;
	margin: 0;
	padding: 0.7rem 1.5rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--asmon-accent, #c9a84c) !important;
	background: transparent;
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: 2px;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.asmon-shop-filters a.asmon-shop-filters__reset:hover,
.asmon-shop-filters a.asmon-shop-filters__reset:focus-visible {
	color: var(--asmon-text-bright, #e8dec8) !important;
	border-color: var(--asmon-accent, #c9a84c);
	box-shadow: 0 0 18px rgba(201, 168, 76, 0.18);
	transform: translateY(-2px);
	background: transparent;
}

.asmon-shop-check {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0;
	padding: 0.42rem 0.45rem;
	border-left: 2px solid transparent;
	font-size: 0.95rem;
	line-height: 1.45;
	color: #c4b89a;
	cursor: pointer;
	transition:
		border-color 0.3s ease,
		background 0.3s ease,
		color 0.28s ease,
		transform 0.28s ease;
}

.asmon-shop-check:hover {
	border-left-color: var(--asmon-accent);
	background: linear-gradient(90deg, rgba(201, 168, 76, 0.1), transparent 72%);
	color: var(--asmon-text-bright);
	transform: translateX(3px);
}

.asmon-shop-check:has(:checked) {
	border-left-color: var(--asmon-accent);
	background: linear-gradient(90deg, rgba(201, 168, 76, 0.12), transparent 72%);
	color: var(--asmon-text-bright);
	text-shadow: 0 0 18px rgba(201, 168, 76, 0.18);
}

.asmon-shop-check span {
	min-width: 0;
}

.asmon-shop-check .asmon-cf7__check {
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 0.95rem;
	height: 0.95rem;
	margin-top: 0.26rem;
	border: 1px solid rgba(201, 168, 76, 0.42);
	border-radius: 2px;
	background: rgba(14, 11, 8, 0.55);
	cursor: pointer;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.asmon-shop-check .asmon-cf7__check:checked {
	border-color: var(--asmon-accent);
	background-color: var(--asmon-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%231a140c' stroke-width='1.8' d='M1.5 5.2 4.6 8.2 10.5 1.8'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.7rem auto;
	box-shadow: 0 0 10px rgba(201, 168, 76, 0.35);
}

.asmon-shop-check .asmon-cf7__check:focus-visible {
	outline: 1px solid var(--asmon-accent);
	outline-offset: 2px;
}

.asmon-shop-filters__actions {
	display: none;
}

.asmon-shop-range__values {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 0.55rem;
	font-family: var(--asmon-font-display);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: var(--asmon-accent);
}

.asmon-shop-range__min-label,
.asmon-shop-range__max-label {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0.12rem 0.2rem;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	cursor: text;
	user-select: none;
}

.asmon-shop-range__min-label:hover,
.asmon-shop-range__max-label:hover,
.asmon-shop-range__min-label:focus-visible,
.asmon-shop-range__max-label:focus-visible {
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-range__min-label[hidden],
.asmon-shop-range__max-label[hidden] {
	display: none;
}

.asmon-shop-range__edit {
	width: 4.75rem;
	min-width: 0;
	margin: 0;
	padding: 0.28rem 0.4rem;
	font-size: 0.75rem;
	appearance: textfield;
	-moz-appearance: textfield;
}

.asmon-shop-range__edit::-webkit-outer-spin-button,
.asmon-shop-range__edit::-webkit-inner-spin-button {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
}

body.asmon-shop .asmon-shop-filters input.asmon-cf7__input.asmon-shop-range__edit {
	width: 4.75rem;
}

.asmon-shop-range {
	--asmon-range-from: 0%;
	--asmon-range-to: 100%;
}

.asmon-shop-range__slider {
	position: relative;
	height: 1.35rem;
}

.asmon-shop-range__slider::before,
.asmon-shop-range__slider::after {
	content: "";
	position: absolute;
	top: 50%;
	height: 3px;
	transform: translateY(-50%);
	border-radius: 2px;
	pointer-events: none;
}

.asmon-shop-range__slider::before {
	left: 0;
	right: 0;
	z-index: 0;
	background: #2a241c;
	box-shadow: inset 0 0 0 1px rgba(14, 11, 8, 0.45);
}

.asmon-shop-range__slider::after {
	left: var(--asmon-range-from);
	right: calc(100% - var(--asmon-range-to));
	z-index: 1;
	background: var(--asmon-accent, #c9a84c);
}

.asmon-shop-range__input {
	position: absolute;
	inset: 0;
	width: 100%;
	margin: 0;
	background: none;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
	accent-color: #2a241c;
}

.asmon-shop-range__input::-webkit-slider-thumb {
	pointer-events: auto;
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	border: 1px solid var(--asmon-bg, #0e0b08);
	border-radius: 50%;
	background: var(--asmon-accent, #c9a84c);
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.35);
	cursor: pointer;
}

.asmon-shop-range__input::-moz-range-thumb {
	pointer-events: auto;
	width: 16px;
	height: 16px;
	border: 1px solid var(--asmon-bg, #0e0b08);
	border-radius: 50%;
	background: var(--asmon-accent, #c9a84c);
	cursor: pointer;
}

.asmon-shop-range__input::-webkit-slider-runnable-track,
.asmon-shop-range__input::-moz-range-track {
	background: transparent;
	border: 0;
	height: 3px;
}

.asmon-shop-catalog {
	min-width: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 1rem 1.05rem 1.15rem;
	box-sizing: border-box;
	background: linear-gradient(180deg, rgba(7, 5, 4, 0.92) 0%, rgba(5, 3, 2, 0.96) 100%);
	border: 1px solid rgba(201, 168, 76, 0.18);
	transition: opacity 0.2s ease;
}

.asmon-shop-catalog-vault {
	--asmon-shop-row-h: auto;
	min-height: 0;
	flex: 1 1 auto;
	max-height: none;
	overflow: visible;
}

@media (min-width: 960px) {
	body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-catalog-vault {
		--asmon-shop-row-h: minmax(
			16.5rem,
			calc((var(--asmon-shop-pane-h, 100vh) - 5.5rem - (var(--univers-gap, 1rem) * 1.25)) / 2.25)
		);
	}

	body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-catalog-vault ul.products.univers-sigils {
		grid-auto-rows: var(--asmon-shop-row-h);
		align-content: start;
	}
}

.asmon-shop-catalog-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.85rem 1.25rem;
	flex-shrink: 0;
	margin: 0 0 0.85rem;
	padding: 0 0.15rem 0.75rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.18);
}

.asmon-shop-sort,
.asmon-shop-view-toggle {
	display: flex;
	align-items: center;
	gap: 0.15rem;
}

.asmon-shop-sort.asmon-cf7 {
	max-width: 13.5rem;
}

.asmon-shop-sort__select {
	min-width: 11.5rem;
	width: auto;
	padding-top: 0.42rem;
	padding-bottom: 0.42rem;
	font-size: 0.78rem;
}

.asmon-shop-view-toggle {
	padding-left: 0.85rem;
	border-left: 1px solid rgba(201, 168, 76, 0.18);
}

.asmon-shop-view-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: rgba(201, 168, 76, 0.88);
	cursor: pointer;
	filter: drop-shadow(0 1px 5px rgba(0, 0, 0, 0.55));
	transition:
		opacity 0.32s ease,
		transform 0.35s ease,
		color 0.25s ease,
		filter 0.3s ease;
}

.asmon-shop-view-btn--text {
	width: auto;
	min-width: 1.85rem;
	padding: 0 0.28rem;
}

.asmon-shop-view-btn__halo {
	position: absolute;
	inset: -0.4rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 168, 76, 0.28) 0%, rgba(201, 168, 76, 0.06) 52%, transparent 72%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.asmon-shop-view-btn:hover,
.asmon-shop-view-btn:focus-visible {
	color: rgba(244, 236, 216, 0.98);
	transform: scale(1.14);
	filter: drop-shadow(0 0 10px rgba(201, 168, 76, 0.55));
	outline: none;
}

.asmon-shop-view-btn.is-active {
	color: rgba(255, 248, 230, 0.98);
	transform: scale(1.06);
	filter: drop-shadow(0 0 10px rgba(201, 168, 76, 0.55));
}

.asmon-shop-view-btn:hover .asmon-shop-view-btn__halo,
.asmon-shop-view-btn:focus-visible .asmon-shop-view-btn__halo,
.asmon-shop-view-btn.is-active .asmon-shop-view-btn__halo {
	opacity: 1;
}

.asmon-shop-view-btn__icon,
.asmon-shop-view-btn__text {
	position: relative;
	z-index: 1;
}

.asmon-shop-view-btn__text {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.5625rem;
	letter-spacing: 0.08em;
}

.asmon-shop-view-btn__icon {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
}

.asmon-shop-view-btn__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.asmon-shop-view-btn__tip {
	position: absolute;
	bottom: calc(100% + 0.55rem);
	left: 50%;
	z-index: 8;
	padding: 0.28rem 0.5rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.5rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--asmon-text-bright, #e8dec8);
	background: rgba(14, 11, 8, 0.92);
	border: 1px solid rgba(201, 168, 76, 0.28);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%) translateY(4px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.asmon-shop-view-btn:hover .asmon-shop-view-btn__tip,
.asmon-shop-view-btn:focus-visible .asmon-shop-view-btn__tip {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.asmon-shop-sigil__excerpt,
.asmon-shop-sigil__meta {
	display: none;
}

.asmon-shop-catalog.is-loading {
	pointer-events: none;
}

.asmon-shop-catalog.is-loading::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 20;
	background: rgba(14, 11, 8, 0.72);
}

.asmon-shop-catalog > .asmon-spinner {
	position: absolute;
	top: min(42%, 14rem);
	left: 50%;
	z-index: 21;
	display: none;
	margin: -1.275rem 0 0 -1.275rem;
}

.asmon-shop-catalog.is-loading > .asmon-spinner {
	display: inline-block;
}

/* —— Boutons (même langage que .asmon-cf7__submit / .btn immersif) —— */
body.asmon-shop .woocommerce a.button,
body.asmon-shop .woocommerce button.button,
body.asmon-shop .woocommerce input.button,
body.asmon-shop .woocommerce #respond input#submit,
body.asmon-shop .woocommerce a.button.alt,
body.asmon-shop .woocommerce button.button.alt,
body.asmon-shop .woocommerce input.button.alt,
body.asmon-shop button.button,
body.asmon-shop button.single_add_to_cart_button,
body.asmon-shop .wp-block-button__link,
body.asmon-shop .wc-block-components-button,
body.asmon-shop .wc-block-cart__submit-button,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
body.asmon-shop .added_to_cart {
	display: inline-block;
	padding: 0.7rem 1.5rem;
	font-family: var(--asmon-font-display);
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	text-shadow: none;
	color: var(--asmon-accent) !important;
	background: transparent !important;
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: var(--asmon-shop-radius);
	box-shadow: none;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

body.asmon-shop .woocommerce a.button:hover,
body.asmon-shop .woocommerce button.button:hover,
body.asmon-shop .woocommerce input.button:hover,
body.asmon-shop .woocommerce a.button:focus-visible,
body.asmon-shop .woocommerce button.button:focus-visible,
body.asmon-shop .woocommerce input.button:focus-visible,
body.asmon-shop button.button:hover,
body.asmon-shop button.single_add_to_cart_button:hover,
body.asmon-shop button.button:focus-visible,
body.asmon-shop .wp-block-button__link:hover,
body.asmon-shop .wc-block-components-button:hover,
body.asmon-shop .added_to_cart:hover {
	color: var(--asmon-text-bright) !important;
	border-color: var(--asmon-accent);
	box-shadow: 0 0 18px rgba(201, 168, 76, 0.18);
	transform: translateY(-2px);
	background: transparent !important;
}

body.asmon-shop .woocommerce a.button:active,
body.asmon-shop .woocommerce button.button:active {
	transform: translateY(0) scale(0.98);
}

body.asmon-shop .woocommerce a.button.disabled,
body.asmon-shop .woocommerce button.button.disabled,
body.asmon-shop .woocommerce a.button:disabled,
body.asmon-shop .woocommerce button.button:disabled {
	opacity: 0.45;
	pointer-events: none;
	transform: none;
}

/* —— Formulaires (même langage que .asmon-cf7) —— */
body.asmon-shop .woocommerce form .form-row,
body.asmon-shop .woocommerce-form-row,
body.asmon-shop--product form.cart .variations tr {
	margin: 0 0 1.15rem;
}

body.asmon-shop .woocommerce form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox):not(.woocommerce-form__label-for-radio),
body.asmon-shop .woocommerce-form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox),
body.asmon-shop .woocommerce form label:not(.checkbox):not(.woocommerce-form__label-for-checkbox):not(.woocommerce-form__label-for-radio),
body.asmon-shop .wc-block-components-text-input label,
body.asmon-shop .wc-block-components-combobox label,
body.asmon-shop--product .summary label,
body.asmon-shop--product table.variations label,
body.asmon-shop--product .comment-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop .woocommerce form .input-text,
body.asmon-shop .woocommerce form input[type="text"]:not(.select2-search__field),
body.asmon-shop .woocommerce form input[type="email"],
body.asmon-shop .woocommerce form input[type="tel"],
body.asmon-shop .woocommerce form input[type="password"],
body.asmon-shop .woocommerce form input[type="number"],
body.asmon-shop .woocommerce form input[type="search"],
body.asmon-shop .woocommerce form input[type="url"],
body.asmon-shop .woocommerce form textarea,
body.asmon-shop .woocommerce form select:not(.select2-hidden-accessible),
body.asmon-shop .woocommerce .quantity .qty,
body.asmon-shop form .input-text,
body.asmon-shop form input[type="text"]:not(.select2-search__field),
body.asmon-shop form input[type="email"],
body.asmon-shop form input[type="tel"],
body.asmon-shop form input[type="password"],
body.asmon-shop form input[type="number"],
body.asmon-shop form input[type="search"],
body.asmon-shop form input[type="url"],
body.asmon-shop form textarea,
body.asmon-shop form select:not(.select2-hidden-accessible),
body.asmon-shop .quantity .qty,
body.asmon-shop--product .summary input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.asmon-shop--product .summary select,
body.asmon-shop--product .summary textarea,
body.asmon-shop--product table.variations select,
body.asmon-shop--product .comment-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.asmon-shop--product .comment-form textarea,
body.asmon-shop--product .comment-form select,
body.asmon-shop .select2-container .select2-selection--single,
body.asmon-shop .wc-block-components-text-input input,
body.asmon-shop .wc-block-components-textarea textarea,
body.asmon-shop .wc-block-components-combobox input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.85rem;
	font: inherit;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--asmon-text-bright, #e8dec8) !important;
	-webkit-text-fill-color: var(--asmon-text-bright, #e8dec8);
	caret-color: var(--asmon-accent, #c9a84c);
	background: var(--asmon-bg-elevated, #16120d) !important;
	border: 1px solid var(--asmon-line, #1a1208) !important;
	border-radius: var(--asmon-shop-radius, 2px);
	box-shadow: none !important;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.asmon-shop .woocommerce form select:not(.select2-hidden-accessible),
body.asmon-shop .woocommerce .woocommerce-ordering select,
body.asmon-shop form select:not(.select2-hidden-accessible),
body.asmon-shop--product .summary select,
body.asmon-shop--product table.variations select,
body.asmon-shop--product .comment-form select {
	appearance: none;
	background-color: var(--asmon-bg-elevated, #16120d) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	background-size: 0.65rem auto;
	padding-right: 2.25rem;
	cursor: pointer;
}

body.asmon-shop form select option,
body.asmon-shop--product select option {
	color: var(--asmon-text-bright, #e8dec8);
	background-color: var(--asmon-bg-elevated, #16120d);
}

body.asmon-shop .woocommerce form .input-text:focus,
body.asmon-shop .woocommerce form input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(.select2-search__field):focus,
body.asmon-shop .woocommerce form textarea:focus,
body.asmon-shop .woocommerce form select:focus,
body.asmon-shop .woocommerce .quantity .qty:focus,
body.asmon-shop form .input-text:focus,
body.asmon-shop form input:not([type="range"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not(.select2-search__field):focus,
body.asmon-shop form textarea:focus,
body.asmon-shop form select:focus,
body.asmon-shop .quantity .qty:focus,
body.asmon-shop--product .summary select:focus,
body.asmon-shop--product table.variations select:focus,
body.asmon-shop .wc-block-components-text-input input:focus {
	border-color: var(--asmon-accent, #c9a84c) !important;
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.35) !important;
}

body.asmon-shop .woocommerce form .input-text::placeholder,
body.asmon-shop .woocommerce form textarea::placeholder,
body.asmon-shop form .input-text::placeholder,
body.asmon-shop form input::placeholder,
body.asmon-shop form textarea::placeholder,
body.asmon-shop input::placeholder,
body.asmon-shop textarea::placeholder {
	color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	-webkit-text-fill-color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	font-style: italic;
	opacity: 1;
}

body.asmon-shop input[type="checkbox"],
body.asmon-shop input[type="radio"] {
	accent-color: var(--asmon-accent);
}

body.asmon-shop .select2-dropdown,
body.asmon-shop .select2-container--open .select2-dropdown,
.select2-container--open .select2-dropdown {
	background: #120e0a;
	color: var(--asmon-text-bright, #e8dec8);
	border: 1px solid rgba(201, 168, 76, 0.42);
	border-radius: 0 0 var(--asmon-shop-radius, 2px) var(--asmon-shop-radius, 2px);
	box-shadow: none;
	padding: 0;
	margin: 0;
	overflow: hidden;
}

body.asmon-shop .select2-container,
body.asmon-shop--checkout .select2-container {
	display: block !important;
	width: 100% !important;
	height: auto !important;
}

body.asmon-shop .woocommerce-input-wrapper {
	position: relative;
}

body.asmon-shop .select2-container .select2-selection--single,
body.asmon-shop--checkout .select2-container .select2-selection--single {
	display: flex !important;
	align-items: center;
	width: 100%;
	min-height: 2.85rem;
	height: auto !important;
	padding: 0.65rem 2.35rem 0.65rem 0.85rem !important;
	border: 1px solid rgba(201, 168, 76, 0.42) !important;
	border-radius: var(--asmon-shop-radius, 2px);
	background: #120e0a !important;
	box-shadow: none !important;
	outline: none !important;
}

body.asmon-shop .select2-container--open .select2-selection--single,
body.asmon-shop--checkout .select2-container--open .select2-selection--single {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-bottom-color: rgba(201, 168, 76, 0.22) !important;
}

body.asmon-shop .select2-container--default .select2-selection--single .select2-selection__rendered,
body.asmon-shop--checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	display: block;
	float: none;
	width: 100%;
	padding: 0 !important;
	line-height: 1.5 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #e8dec8 !important;
	-webkit-text-fill-color: #e8dec8;
	font-style: normal;
}

body.asmon-shop .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	-webkit-text-fill-color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	font-style: italic;
}

body.asmon-shop .select2-container--default .select2-selection--single .select2-selection__arrow,
body.asmon-shop--checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 0.55rem;
	width: 1.5rem;
	height: 100% !important;
}

body.asmon-shop .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #c9a84c transparent transparent transparent;
	margin-top: -3px;
}

body.asmon-shop .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #c9a84c transparent;
}

body.asmon-shop .select2-container--open .select2-selection--single,
body.asmon-shop .select2-container .select2-selection--single:focus,
body.asmon-shop .select2-container--open .select2-dropdown,
.select2-container--open .select2-dropdown {
	border-color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop .select2-dropdown.select2-dropdown--below,
.select2-container--open .select2-dropdown.select2-dropdown--below {
	border-top: 0 !important;
	margin-top: 0;
}

body.asmon-shop .select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
	background: rgba(201, 168, 76, 0.18);
	color: var(--asmon-text-bright, #e8dec8);
}

body.asmon-shop .select2-search--dropdown,
body.asmon-shop--checkout .select2-search--dropdown,
.select2-container--open .select2-search--dropdown {
	display: block;
	padding: 0;
	margin: 0;
	background: #120e0a;
}

body.asmon-shop .select2-search--dropdown .select2-search__field,
body.asmon-shop--checkout .select2-search--dropdown .select2-search__field,
body.asmon-shop--checkout .woocommerce form .select2-search--dropdown .select2-search__field,
.select2-container--open .select2-search--dropdown .select2-search__field {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	height: auto !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0.45rem 0.85rem !important;
	font: inherit;
	font-size: 0.95rem !important;
	line-height: 1.4 !important;
	font-style: italic !important;
	color: #e8dec8 !important;
	-webkit-text-fill-color: #e8dec8 !important;
	caret-color: var(--asmon-accent, #c9a84c);
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(201, 168, 76, 0.22) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

body.asmon-shop .select2-search--dropdown .select2-search__field::placeholder,
body.asmon-shop--checkout .select2-search--dropdown .select2-search__field::placeholder,
.select2-container--open .select2-search--dropdown .select2-search__field::placeholder {
	color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	-webkit-text-fill-color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	font-style: italic;
	opacity: 1;
}

body.asmon-shop .select2-container--default .select2-results__option,
.select2-container--open .select2-results__option {
	margin: 0;
	padding: 0.5rem 0.85rem;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	color: #e8dec8;
	box-shadow: none;
}

/* —— Notices / alertes (callout Asmon) —— */
body.asmon-shop .woocommerce-message,
body.asmon-shop .woocommerce-info,
body.asmon-shop .woocommerce-error,
body.asmon-shop .woocommerce-noreviews,
body.asmon-shop .wc-block-components-notice-banner,
body.asmon-shop .wc-block-components-validation-error,
body.asmon-shop .woocommerce-form-login-toggle .woocommerce-info,
body.asmon-shop .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 1.25rem 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--asmon-line);
	background: var(--asmon-bg-elevated);
	color: var(--asmon-text);
	list-style: none;
	border-radius: 0;
	box-shadow: none;
}

body.asmon-shop .woocommerce-message,
body.asmon-shop .wc-block-components-notice-banner.is-success {
	border-color: rgba(201, 168, 76, 0.45);
}

body.asmon-shop .woocommerce-info,
body.asmon-shop .wc-block-components-notice-banner.is-info {
	border-color: rgba(201, 168, 76, 0.25);
}

body.asmon-shop .woocommerce-error,
body.asmon-shop .woocommerce-error li,
body.asmon-shop .wc-block-components-notice-banner.is-error {
	border-color: rgba(232, 168, 124, 0.45);
	color: #e8a87c;
}

body.asmon-shop .woocommerce-message::before,
body.asmon-shop .woocommerce-info::before,
body.asmon-shop .woocommerce-error::before {
	display: none;
}

body.asmon-shop .woocommerce-message a.button,
body.asmon-shop .woocommerce-info a.button {
	float: none;
	margin: 0 0 0.75rem;
}

body.asmon-shop .asmon-shop-notices:empty {
	display: none;
}

/* —— Grille boutique (sigils Univers) —— */
body.asmon-shop ul.products.univers-sigils,
body.asmon-shop .asmon-shop-grid,
body.asmon-shop ul.products.univers-sigils:has(.univers-sigil:nth-child(3):last-child) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--univers-gap, clamp(0.75rem, 2vw, 1.25rem));
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	list-style: none;
	float: none;
}

@media (max-width: 1199px) {
	body.asmon-shop ul.products.univers-sigils,
	body.asmon-shop .asmon-shop-grid,
	body.asmon-shop ul.products.univers-sigils:has(.univers-sigil:nth-child(3):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	body.asmon-shop ul.products.univers-sigils,
	body.asmon-shop .asmon-shop-grid,
	body.asmon-shop ul.products.univers-sigils:has(.univers-sigil:nth-child(3):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	body.asmon-shop ul.products.univers-sigils,
	body.asmon-shop .asmon-shop-grid,
	body.asmon-shop ul.products.univers-sigils:has(.univers-sigil:nth-child(3):last-child) {
		grid-template-columns: 1fr;
	}
}

body.asmon-shop ul.products.univers-sigils::before,
body.asmon-shop ul.products.univers-sigils::after {
	display: none;
}

body.asmon-shop ul.products li.product.univers-sigil,
body.asmon-shop .asmon-shop-sigil {
	float: none;
	width: auto;
	margin: 0;
	min-height: 0;
	padding: 0.85rem 0.8rem 0.8rem;
	justify-content: flex-end;
	overflow: hidden;
	contain: layout paint;
}

body.asmon-shop .asmon-shop-sigil:hover {
	transform: none;
}

.asmon-shop-sigil::before {
	content: none;
}

.asmon-shop-sigil .univers-sigil__halo {
	z-index: 0;
	filter: blur(36px);
}

.asmon-shop-sigil .univers-sigil__frame {
	z-index: 3;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil .univers-sigil__frame,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil .univers-sigil__halo,
body.asmon-shop:not(.asmon-shop-view-list) .univers-sigil:hover .univers-sigil__halo,
body.asmon-shop:not(.asmon-shop-view-list) .univers-sigil:focus-within .univers-sigil__halo {
	display: none !important;
	opacity: 0 !important;
	animation: none !important;
}

.asmon-shop-sigil__quickview {
	display: none;
}

.asmon-shop-sigil__ribbon {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 4;
	width: 8.5rem;
	height: 8.5rem;
	overflow: hidden;
	pointer-events: none;
	--asmon-ribbon-top: #e2c268;
	--asmon-ribbon-mid: #c9a84c;
	--asmon-ribbon-bottom: #6e5c2a;
	--asmon-ribbon-ink: #1a140c;
	--asmon-ribbon-shadow: rgba(201, 168, 76, 0.45);
}

.asmon-shop-sigil__ribbon-label {
	position: absolute;
	top: 2.65rem;
	right: -2.45rem;
	display: block;
	overflow: hidden;
	width: 11.5rem;
	padding: 0.34rem 0;
	transform: rotate(45deg);
	text-align: center;
	white-space: nowrap;
	/* Réglages typographiques : posés par terme « Sélection » (product-selection.php). */
	font-family: var(--asmon-ribbon-font, var(--asmon-font-display));
	font-size: calc(0.5625rem * var(--asmon-ribbon-scale, 1));
	font-weight: var(--asmon-ribbon-weight, 700);
	font-style: var(--asmon-ribbon-style, normal);
	line-height: 1.25;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-ribbon-ink);
	background: linear-gradient(
		180deg,
		var(--asmon-ribbon-top) 0%,
		var(--asmon-ribbon-mid) 46%,
		var(--asmon-ribbon-bottom) 100%
	);
	border-top: 1px solid rgba(255, 244, 214, 0.5);
	border-bottom: 1px solid rgba(0, 0, 0, 0.45);
	box-shadow:
		0 3px 14px rgba(0, 0, 0, 0.55),
		0 0 20px var(--asmon-ribbon-shadow),
		inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Reflet : seulement si la case « Reflet lumineux » est cochée sur la sélection. */
.asmon-shop-sigil__ribbon--shine .asmon-shop-sigil__ribbon-label::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 40%;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 252, 235, 0.6) 50%,
		transparent 100%
	);
	transform: translateX(-180%);
	animation: asmon-shop-ribbon-shine 6.5s ease-in-out infinite;
}

@keyframes asmon-shop-ribbon-shine {
	0%,
	64% {
		transform: translateX(-180%);
	}

	100% {
		transform: translateX(340%);
	}
}

.asmon-shop-sigil:nth-child(3n + 2) .asmon-shop-sigil__ribbon--shine .asmon-shop-sigil__ribbon-label::after {
	animation-delay: 2.2s;
}

.asmon-shop-sigil:nth-child(3n + 3) .asmon-shop-sigil__ribbon--shine .asmon-shop-sigil__ribbon-label::after {
	animation-delay: 4.4s;
}

.asmon-shop-sigil__ribbon--muted .asmon-shop-sigil__ribbon-label {
	border-top-color: rgba(255, 244, 214, 0.2);
	box-shadow:
		0 3px 12px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.asmon-shop-sigil__ribbon--shine .asmon-shop-sigil__ribbon-label::after {
		animation: none;
		opacity: 0;
	}
}

body.asmon-shop-view-list .asmon-shop-sigil__ribbon {
	right: auto;
	left: 0;
}

body.asmon-shop-view-list .asmon-shop-sigil__ribbon-label {
	right: auto;
	left: -2.45rem;
	transform: rotate(-45deg);
}

@media (max-width: 600px) {
	.asmon-shop-sigil__ribbon {
		width: 7.25rem;
		height: 7.25rem;
	}

	.asmon-shop-sigil__ribbon-label {
		top: 2.24rem;
		right: -2.19rem;
		width: 10rem;
		padding: 0.26rem 0;
		font-size: calc(0.5rem * var(--asmon-ribbon-scale, 1));
		letter-spacing: 0.1em;
	}

	body.asmon-shop-view-list .asmon-shop-sigil__ribbon-label {
		right: auto;
		left: -2.19rem;
	}
}

.asmon-shop-sigil__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	background: var(--asmon-bg, #0e0b08);
	cursor: zoom-in;
}

.asmon-shop-sigil__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	opacity: 1;
	filter: sepia(0.08) brightness(0.9);
	pointer-events: none;
	transition: opacity 0.5s ease, filter 0.5s ease;
}

.asmon-shop-sigil:hover .asmon-shop-sigil__img {
	opacity: 1;
	filter: sepia(0.04) brightness(0.98);
	transform: none;
}

.asmon-shop-sigil__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(14, 11, 8, 0.12) 0%,
		rgba(14, 11, 8, 0.28) 42%,
		rgba(14, 11, 8, 0.88) 100%
	);
}

.asmon-shop-sigil__body {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	margin-top: 0;
	padding: 0 0.2rem;
	box-sizing: border-box;
}

.asmon-shop-sigil__title,
body.asmon-shop .asmon-shop-sigil__title {
	margin: 0;
	font-size: 1rem !important;
	color: var(--asmon-text-bright) !important;
	text-decoration: none !important;
	text-shadow: 0 1px 14px rgba(14, 11, 8, 0.85);
}

.asmon-shop-sigil__title:hover {
	color: var(--asmon-accent) !important;
}

.asmon-shop-sigil__price {
	display: block;
	margin: 0.28rem 0 0;
	font-family: var(--asmon-font-display);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	color: var(--asmon-accent);
	text-shadow: 0 1px 10px rgba(14, 11, 8, 0.75);
}

.asmon-shop-sigil__price del {
	opacity: 0.55;
	margin-right: 0.4rem;
	color: var(--asmon-text);
}

.asmon-shop-sigil__excerpt {
	margin: 0.4rem 0 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: #c4b89a;
}

body.asmon-shop:not(.asmon-shop-view-list) ul.products li.product.univers-sigil,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
	max-height: 100%;
	padding: 0.5rem 0.55rem 0.55rem;
	min-height: 0;
	background: #0a0806;
	gap: 0;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__media {
	position: relative;
	inset: auto;
	width: auto;
	max-width: 100%;
	height: 0;
	aspect-ratio: 2 / 3;
	flex: 1 1 auto;
	align-self: center;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border: 0;
	background: #070605;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain;
	object-position: center center;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__veil {
	display: none;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__body,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart {
	background: transparent;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__body {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
	padding: 0.45rem 0.15rem 0.2rem;
	gap: 0.2rem;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__title {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 0;
	margin: 0;
	font-size: 0.8125rem !important;
	line-height: 1.25;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__title,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__price {
	text-shadow: none;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__price {
	margin: 0;
	font-size: 0.75rem;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart {
	margin-top: 0.2rem;
	padding: 0.2rem 0.1rem 0;
	gap: 0.35rem;
}

@media (max-width: 959px) {
	body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__media {
		flex: 0 0 auto;
		height: 9.25rem;
		aspect-ratio: 2 / 3;
		width: auto;
		max-width: 100%;
		margin: 0 auto;
	}
}

body.asmon-shop-view-list ul.products.univers-sigils,
body.asmon-shop-view-list ul.products.univers-sigils:has(.univers-sigil:nth-child(3):last-child) {
	grid-template-columns: 1fr;
}

body.asmon-shop-view-list ul.products li.product.univers-sigil,
body.asmon-shop-view-list .asmon-shop-sigil {
	display: grid;
	grid-template-columns: 10.75rem minmax(0, 1fr) minmax(11.5rem, 13.5rem);
	grid-template-rows: auto;
	min-height: 0;
	height: auto;
	padding: 0.95rem 1.05rem;
	column-gap: 1.25rem;
	row-gap: 0;
	align-items: center;
	justify-content: stretch;
	overflow: hidden;
	cursor: pointer;
}

body.asmon-shop-view-list .asmon-shop-sigil__media {
	position: relative;
	inset: auto;
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	height: 13.25rem;
	overflow: hidden;
	background: #0a0806;
}

body.asmon-shop-view-list .asmon-shop-sigil__veil {
	display: none;
}

body.asmon-shop-view-list .asmon-shop-sigil__body {
	grid-column: 2;
	grid-row: 1;
	padding: 0;
	gap: 0.35rem;
}

body.asmon-shop-view-list .asmon-shop-sigil__meta {
	display: block;
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.5625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop-view-list .asmon-shop-sigil__meta a {
	color: inherit !important;
	text-decoration: none !important;
}

body.asmon-shop-view-list .asmon-shop-sigil__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}

body.asmon-shop-view-list .asmon-shop-sigil__title {
	text-shadow: none;
	font-size: 1.15rem !important;
}

body.asmon-shop-view-list .asmon-shop-sigil__price {
	text-shadow: none;
	margin-top: 0.2rem;
	font-size: 1.05rem;
}

body.asmon-shop-view-list .asmon-shop-sigil__rating {
	margin-top: 0.15rem;
}

body.asmon-shop-view-list .asmon-shop-sigil__cart {
	grid-column: 3;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0;
	max-width: none;
	padding: 0;
	cursor: auto;
}

body.asmon-shop-view-list .asmon-shop-sigil__cta--consult {
	display: block;
}

body.asmon-shop-view-list .asmon-shop-sigil__add {
	display: block;
	width: 100%;
}

body.asmon-shop-view-list .asmon-shop-sigil__add .button,
body.asmon-shop-view-list .asmon-shop-sigil__cta--consult {
	width: 100%;
	text-align: center;
}

@media (max-width: 1099px) {
	body.asmon-shop-view-list ul.products li.product.univers-sigil,
	body.asmon-shop-view-list .asmon-shop-sigil {
		grid-template-columns: 9.5rem minmax(0, 1fr);
		grid-template-rows: auto auto;
		row-gap: 0.7rem;
	}

	body.asmon-shop-view-list .asmon-shop-sigil__cart {
		grid-column: 2;
		grid-row: 2;
		max-width: 16rem;
	}
}

.asmon-shop-sigil__cart {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem;
	margin-top: 0.55rem;
	padding: 0 0.15rem 0.1rem;
	width: 100%;
	box-sizing: border-box;
}

.asmon-shop-sigil__add {
	display: block;
	min-width: 0;
}

body.asmon-shop .asmon-shop-sigil__cart .added_to_cart {
	display: none !important;
}

body.asmon-shop .asmon-shop-sigil__cart .asmon-shop-sigil__cta,
body.asmon-shop .asmon-shop-sigil__cart .asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart .asmon-shop-sigil__cta--consult {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	white-space: normal;
	line-height: 1.2;
	text-align: center;
}

body.asmon-shop .asmon-shop-sigil__cart .asmon-shop-sigil__cta--buy {
	font-size: 0.5625rem;
	letter-spacing: 0.07em;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
}

body.asmon-shop .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--highlight,
body.asmon-shop button.button.asmon-shop-sigil__cta--buy,
body.asmon-shop button.asmon-shop-quickview__buy,
body.asmon-shop a.button.asmon-shop-sigil__cta--buy,
.asmon-lightbox-root .asmon-shop-quickview__buy,
body.asmon-shop--product .woocommerce button.single_add_to_cart_button,
body.asmon-shop--product button.single_add_to_cart_button,
body.asmon-shop .woocommerce #place_order,
body.asmon-shop #place_order,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.55rem 0.7rem;
	text-align: center;
	box-sizing: border-box;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #1a140c !important;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 48%, #b08e3a 100%) !important;
	border: 1px solid #e6cc78 !important;
	box-shadow:
		0 0 16px rgba(201, 168, 76, 0.42),
		0 0 28px rgba(201, 168, 76, 0.18),
		inset 0 1px 0 rgba(255, 248, 228, 0.5);
	animation: asmon-shop-cta-glow 7.5s ease-in-out infinite;
}

body.asmon-shop--product .woocommerce button.single_add_to_cart_button,
body.asmon-shop--product button.single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	padding: 0.7rem 1.5rem;
}

body.asmon-shop .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--buy {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	white-space: normal;
	line-height: 1.2;
	text-align: center;
}

body.asmon-shop .asmon-shop-sigil__cart .asmon-shop-sigil__cta--consult {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	white-space: normal;
	line-height: 1.2;
	text-align: center;
}

body.asmon-shop .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--buy,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--highlight {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.045em;
	padding: 0.5rem 0.4rem;
	text-shadow: 0 1px 0 rgba(255, 248, 228, 0.35);
}

body.asmon-shop:not(.asmon-shop-view-list) .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--highlight,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult {
	min-height: 2.4rem;
	height: 2.4rem;
	padding: 0.32rem 0.45rem;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	line-height: 1.15;
	white-space: nowrap;
	box-sizing: border-box;
}

body.asmon-shop .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy:hover,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy:focus-visible,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy:hover,
body.asmon-shop .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy:focus-visible,
body.asmon-shop button.button.asmon-shop-sigil__cta--buy:hover,
body.asmon-shop button.button.asmon-shop-sigil__cta--buy:focus-visible,
body.asmon-shop button.asmon-shop-quickview__buy:hover,
body.asmon-shop button.asmon-shop-quickview__buy:focus-visible,
body.asmon-shop a.button.asmon-shop-sigil__cta--buy:hover,
body.asmon-shop a.button.asmon-shop-sigil__cta--buy:focus-visible,
.asmon-lightbox-root .asmon-shop-quickview__buy:hover,
.asmon-lightbox-root .asmon-shop-quickview__buy:focus-visible,
body.asmon-shop--product .woocommerce button.single_add_to_cart_button:hover,
body.asmon-shop--product .woocommerce button.single_add_to_cart_button:focus-visible,
body.asmon-shop--product button.single_add_to_cart_button:hover,
body.asmon-shop--product button.single_add_to_cart_button:focus-visible,
body.asmon-shop .woocommerce #place_order:hover,
body.asmon-shop .woocommerce #place_order:focus-visible,
body.asmon-shop #place_order:hover,
body.asmon-shop #place_order:focus-visible,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:focus-visible {
	color: #140f0a !important;
	background: linear-gradient(180deg, #f0dc88 0%, #d4b456 48%, #c9a84c 100%) !important;
	border-color: #f0dc88 !important;
	box-shadow: 0 0 26px rgba(201, 168, 76, 0.52);
	transform: translateY(-2px);
	animation-play-state: paused;
}

body.asmon-shop .asmon-shop-sigil__cta--buy:hover::after,
body.asmon-shop .asmon-shop-sigil__cta--buy:focus-visible::after,
body.asmon-shop button.asmon-shop-quickview__buy:hover::after,
body.asmon-shop button.asmon-shop-quickview__buy:focus-visible::after,
.asmon-lightbox-root .asmon-shop-quickview__buy:hover::after,
.asmon-lightbox-root .asmon-shop-quickview__buy:focus-visible::after,
body.asmon-shop--product button.single_add_to_cart_button:hover::after,
body.asmon-shop--product button.single_add_to_cart_button:focus-visible::after {
	animation-play-state: paused;
}

body.asmon-shop .woocommerce .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.75rem;
	padding: 0.5rem 0.4rem;
	text-align: center;
	box-sizing: border-box;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	color: #e8d07a !important;
	background: transparent !important;
	border: 1px solid rgba(201, 168, 76, 0.5) !important;
	box-shadow: none;
	animation: none;
}

body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult:hover,
body.asmon-shop .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult:focus-visible {
	color: var(--asmon-text-bright, #e8dec8) !important;
	border-color: var(--asmon-accent, #c9a84c) !important;
	box-shadow: 0 0 18px rgba(201, 168, 76, 0.18);
	transform: translateY(-2px);
	background: transparent !important;
}

body.asmon-shop .asmon-shop-sigil__cta--buy::after,
body.asmon-shop button.asmon-shop-quickview__buy::after,
.asmon-lightbox-root .asmon-shop-quickview__buy::after,
body.asmon-shop--product button.single_add_to_cart_button::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 48%;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(
		100deg,
		transparent 0%,
		rgba(255, 248, 228, 0.12) 32%,
		rgba(255, 252, 245, 0.32) 50%,
		rgba(255, 248, 228, 0.12) 68%,
		transparent 100%
	);
	transform: translateX(-140%) skewX(-18deg);
	animation: asmon-shop-cta-shine 11s ease-in-out infinite;
}

body.asmon-shop .asmon-shop-sigil__cta--buy.loading,
body.asmon-shop button.asmon-shop-quickview__buy.loading,
.asmon-lightbox-root .asmon-shop-quickview__buy.loading,
body.asmon-shop--product button.single_add_to_cart_button.loading {
	color: transparent !important;
	pointer-events: none;
	transform: none;
}

body.asmon-shop .asmon-shop-sigil__cta--buy.loading::after,
body.asmon-shop button.asmon-shop-quickview__buy.loading::after,
.asmon-lightbox-root .asmon-shop-quickview__buy.loading::after,
body.asmon-shop--product button.single_add_to_cart_button.loading::after {
	opacity: 0;
	animation: none;
}

body.asmon-shop .asmon-shop-sigil__cta--buy.loading::before,
body.asmon-shop button.asmon-shop-quickview__buy.loading::before,
.asmon-lightbox-root .asmon-shop-quickview__buy.loading::before,
body.asmon-shop--product button.single_add_to_cart_button.loading::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 1.15rem;
	height: 1.15rem;
	margin: -0.575rem 0 0 -0.575rem;
	border: 2px solid rgba(26, 20, 12, 0.18);
	border-top-color: #1a140c;
	border-radius: 50%;
	animation: asmon-spin 0.65s linear infinite;
}

.asmon-shop-toast {
	--asmon-hl-border: 1px;
	position: fixed;
	right: clamp(1rem, 2.5vw, 1.75rem);
	bottom: clamp(1rem, 3vw, 1.75rem);
	z-index: 10250;
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	width: min(21rem, calc(100vw - 2rem));
	padding: 1rem 0.85rem 1.1rem 1.15rem;
	overflow: hidden;
	border-radius: 3px;
	background: linear-gradient(165deg, rgba(18, 15, 11, 0.98) 0%, rgba(8, 6, 4, 0.99) 100%);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 22px rgba(201, 168, 76, 0.14);
	color: var(--asmon-text-bright, #e8dec8);
	opacity: 0;
	transform: translate3d(0, 0.9rem, 0) scale(0.97);
	transform-origin: bottom right;
	transition: opacity 0.34s ease, transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
}

.asmon-shop-toast::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow:
		inset 0 0 0 var(--asmon-hl-border) rgba(201, 168, 76, 0.45),
		0 0 16px 2px rgba(201, 168, 76, 0.12);
	animation: asmon-dialog-border-breathe 2.8s ease-in-out infinite;
}

.asmon-shop-toast.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
	pointer-events: auto;
}

.asmon-shop-toast.is-leaving {
	opacity: 0;
	transform: translate3d(0, 0.5rem, 0) scale(0.98);
	transition: opacity 0.3s ease, transform 0.34s ease;
}

.asmon-shop-toast__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
	min-width: 0;
}

.asmon-shop-toast__kicker {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-toast__text {
	margin: 0;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 1.02rem;
	line-height: 1.4;
	color: var(--asmon-text-bright, #e8dec8);
	overflow-wrap: anywhere;
}

body.asmon-shop .asmon-shop-toast__link,
.asmon-shop-toast__link {
	margin-top: 0.35rem;
	padding-bottom: 0.1rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(201, 168, 76, 0.45);
	transition: color 0.2s ease, border-color 0.2s ease, text-shadow 0.2s ease;
}

.asmon-shop-toast__link:hover,
.asmon-shop-toast__link:focus-visible {
	color: var(--asmon-text-bright, #e8dec8) !important;
	border-bottom-color: var(--asmon-accent, #c9a84c);
	text-shadow: 0 0 14px rgba(201, 168, 76, 0.35);
	outline: none;
}

.asmon-shop-toast__close {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	padding: 0;
	border: 1px solid rgba(201, 168, 76, 0.3);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.45);
	color: rgba(232, 222, 200, 0.85);
	cursor: pointer;
	transition: border-color 0.25s ease, color 0.25s ease, background 0.25s ease;
}

.asmon-shop-toast__close span {
	display: block;
	font-size: 1.1rem;
	line-height: 1;
	transform: translateY(-0.06em);
}

.asmon-shop-toast__close:hover,
.asmon-shop-toast__close:focus-visible {
	border-color: rgba(201, 168, 76, 0.75);
	color: var(--asmon-text-bright, #e8dec8);
	background: rgba(20, 20, 20, 0.85);
	outline: none;
}

.asmon-shop-toast__bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	height: 2px;
	background: linear-gradient(90deg, rgba(201, 168, 76, 0.15), var(--asmon-accent, #c9a84c));
	transform-origin: left center;
	animation: asmon-shop-toast-life var(--asmon-toast-life, 5200ms) linear forwards;
}

.asmon-shop-toast.is-held .asmon-shop-toast__bar {
	animation-play-state: paused;
}

@keyframes asmon-shop-toast-life {
	from {
		transform: scaleX(1);
	}

	to {
		transform: scaleX(0);
	}
}

@media (max-width: 599px) {
	.asmon-shop-toast {
		right: 1rem;
		left: 1rem;
		width: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asmon-shop-toast,
	.asmon-shop-toast.is-leaving {
		transform: none;
		transition: opacity 0.2s ease;
	}

	.asmon-shop-toast::before,
	.asmon-shop-toast__bar {
		animation: none;
	}
}

.asmon-shop-cart-busy {
	position: absolute;
	inset: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(10, 8, 6, 0.86);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.asmon-shop-cart-busy.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.asmon-shop-cart-busy .asmon-spinner {
	display: inline-block;
}

.asmon-shop-invoice.is-cart-busy > .asmon-shop-cart-busy,
form.checkout.is-cart-busy > .asmon-shop-cart-busy,
.woocommerce-checkout.is-cart-busy > .asmon-shop-cart-busy,
.asmon-shop-drawer__panel.is-cart-busy > .asmon-shop-cart-busy,
.asmon-shop-sigil.is-cart-busy > .asmon-shop-cart-busy,
.asmon-lightbox-root__panel.is-cart-busy > .asmon-shop-cart-busy,
.asmon-dialog__frame.is-cart-busy > .asmon-shop-cart-busy,
.asmon-shop-receipt.is-cart-busy > .asmon-shop-cart-busy {
	z-index: 80;
	border-radius: inherit;
}

body.asmon-shop .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--unavailable,
body.asmon-shop .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--unavailable:hover,
body.asmon-shop button.button.asmon-shop-sigil__cta--unavailable,
body.asmon-shop button.button.asmon-shop-sigil__cta--unavailable:hover,
body.asmon-shop button.button.asmon-shop-sigil__cta--buy:disabled,
body.asmon-shop button.button.asmon-shop-sigil__cta--buy:disabled:hover,
body.asmon-shop button.asmon-shop-quickview__buy:disabled,
body.asmon-shop button.asmon-shop-quickview__buy:disabled:hover,
.asmon-lightbox-root .asmon-shop-quickview__buy:disabled,
.asmon-lightbox-root .asmon-shop-quickview__buy:disabled:hover {
	opacity: 1;
	color: #8b8175 !important;
	background: linear-gradient(180deg, #2c2822 0%, #1d1a16 100%) !important;
	border-color: rgba(139, 129, 117, 0.34) !important;
	box-shadow: none;
	text-shadow: none;
	cursor: not-allowed;
	transform: none;
	animation: none;
}

body.asmon-shop .asmon-shop-sigil__cta--unavailable::after,
body.asmon-shop button.asmon-shop-quickview__buy:disabled::after,
.asmon-lightbox-root .asmon-shop-quickview__buy:disabled::after {
	content: none;
}

.asmon-shop-sigil:nth-child(4n + 1) .asmon-shop-sigil__cta--buy {
	animation-delay: 0s;
}

.asmon-shop-sigil:nth-child(4n + 2) .asmon-shop-sigil__cta--buy {
	animation-delay: 1.8s;
}

.asmon-shop-sigil:nth-child(4n + 2) .asmon-shop-sigil__cta--buy::after {
	animation-delay: 2.6s;
}

.asmon-shop-sigil:nth-child(4n + 3) .asmon-shop-sigil__cta--buy {
	animation-delay: 3.6s;
}

.asmon-shop-sigil:nth-child(4n + 3) .asmon-shop-sigil__cta--buy::after {
	animation-delay: 5.4s;
}

.asmon-shop-sigil:nth-child(4n + 4) .asmon-shop-sigil__cta--buy {
	animation-delay: 5.4s;
}

.asmon-shop-sigil:nth-child(4n + 4) .asmon-shop-sigil__cta--buy::after {
	animation-delay: 8.1s;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil .asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil .asmon-shop-sigil__cta--buy::after {
	animation-delay: 0s;
}

@keyframes asmon-shop-cta-shine {
	0% {
		transform: translateX(-140%) skewX(-18deg);
	}

	12% {
		transform: translateX(240%) skewX(-18deg);
	}

	100% {
		transform: translateX(240%) skewX(-18deg);
	}
}

/*
 * Reflet en relais sur le catalogue : un seul reflet parcourt les boutons dans l’ordre.
 * Animation 100 % CSS (transform, composité GPU) ; initCtaRelay() pose seulement le rang
 * (--asmon-relay-delay), la durée du cycle et le nom des @keyframes adaptés au nombre de boutons.
 * Ni survol ni chargement ne mettent l’animation en pause : le relais resterait désynchronisé.
 */
body.asmon-shop .asmon-shop-cta-relay .asmon-shop-sigil__cta--buy::after,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-cta-relay .asmon-shop-sigil .asmon-shop-sigil__cta--buy::after {
	animation-name: var(--asmon-relay-name, asmon-shop-cta-shine);
	animation-duration: var(--asmon-relay-cycle, 11s);
	animation-delay: var(--asmon-relay-delay, 0s);
	/* Vitesse constante : indispensable pour que le reflet semble passer d’un bouton à l’autre. */
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-play-state: running;
}

@media (prefers-reduced-motion: reduce) {
	body.asmon-shop .asmon-shop-cta-relay .asmon-shop-sigil__cta--buy::after,
	body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-cta-relay .asmon-shop-sigil .asmon-shop-sigil__cta--buy::after {
		animation: none;
	}
}

@keyframes asmon-shop-cta-glow {
	0%,
	100% {
		box-shadow:
			0 0 16px rgba(201, 168, 76, 0.4),
			0 0 28px rgba(201, 168, 76, 0.16),
			inset 0 1px 0 rgba(255, 248, 228, 0.48);
	}

	50% {
		box-shadow:
			0 0 22px rgba(201, 168, 76, 0.52),
			0 0 34px rgba(201, 168, 76, 0.22),
			inset 0 1px 0 rgba(255, 248, 228, 0.58);
	}
}

body.asmon-shop .star-rating {
	display: none;
}

body.asmon-shop--product .summary .woocommerce-product-rating,
body.asmon-shop--product .entry-summary .woocommerce-product-rating,
body.asmon-shop--product .summary .woocommerce-review-link {
	display: none !important;
}

.asmon-stars {
	--asmon-star: #c9a84c;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.18rem 0.22rem;
	color: var(--asmon-star);
	line-height: 0;
}

.asmon-shop-sigil__body > .asmon-stars,
.asmon-shop-sigil__rating {
	margin-top: 0.45rem;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__rating {
	display: none;
}

.asmon-stars__star {
	position: relative;
	display: inline-flex;
	width: 1.28rem;
	height: 1.28rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	line-height: 0;
}

.asmon-stars--interactive .asmon-stars__star {
	cursor: pointer;
	transition: transform 0.15s ease, filter 0.15s ease;
}

.asmon-stars--interactive .asmon-stars__star:hover,
.asmon-stars--interactive .asmon-stars__star:focus-visible {
	transform: translateY(-1px) scale(1.08);
	filter: drop-shadow(0 0 6px rgba(201, 168, 76, 0.45));
	outline: none;
}

.asmon-stars__svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.asmon-stars__outline {
	fill: none;
	stroke: currentColor;
}

.asmon-stars__fill {
	fill: currentColor;
	clip-path: inset(0 100% 0 0);
}

.asmon-stars__star.is-on .asmon-stars__fill {
	clip-path: inset(0 0 0 0);
}

.asmon-stars__star.is-half .asmon-stars__fill {
	clip-path: inset(0 50% 0 0);
}

.asmon-stars__caption {
	flex: 1 1 100%;
	margin: 0.35rem 0 0;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.82rem;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: #c4b89a;
}

.asmon-shop-filter--rating .asmon-stars {
	display: flex;
	width: 100%;
}

.asmon-shop-filter--rating .asmon-stars__star {
	width: 1.7rem;
	height: 1.7rem;
}

.asmon-shop-filter--rating .asmon-stars__caption {
	display: none;
}

.asmon-shop-filter__ratings-all {
	display: inline-block;
	margin: 0.55rem 0 0;
	padding: 0.28rem 0;
	border: 0;
	background: none;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.82rem;
	line-height: 1.3;
	color: var(--asmon-accent, #c9a84c);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	cursor: pointer;
}

.asmon-shop-filter__ratings-all:hover,
.asmon-shop-filter__ratings-all:focus-visible {
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-product-rating {
	order: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.75rem;
	margin: 0 0 1rem;
}

.asmon-shop-product-rating .asmon-stars__star {
	width: 1.45rem;
	height: 1.45rem;
}

.asmon-shop-product-rating__count {
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.92rem;
	color: #c4b89a !important;
	text-decoration: none !important;
}

.asmon-shop-product-rating__count:hover {
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop .comment-form-rating {
	position: relative;
}

body.asmon-shop .comment-form-rating p.stars,
body.asmon-shop p.stars {
	display: none !important;
}

body.asmon-shop .comment-form-rating select {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

body.asmon-shop .comment-form-rating .asmon-stars {
	display: flex;
	margin: 0.15rem 0 0.35rem;
}

body.asmon-shop .comment-form-rating .asmon-stars__star {
	width: 1.7rem;
	height: 1.7rem;
}

body.asmon-shop #reviews .asmon-stars {
	margin: 0 0 0.35rem;
}

body.asmon-shop #review_form .asmon-shop-review-turnstile {
	margin: 0 0 1.15rem;
}

body.asmon-shop #review_form .asmon-shop-review-turnstile .cf-turnstile,
body.asmon-shop #review_form .asmon-shop-review-turnstile .wpcf7-turnstile {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.asmon-shop .woocommerce-verification-required,
body.asmon-shop #reviews .must-log-in {
	margin: 1rem 0 0;
	color: #d8ceb8;
	font-size: 1.02rem;
	line-height: 1.55;
}

body.asmon-shop #reviews .must-log-in a {
	color: var(--asmon-accent, #c9a84c) !important;
}

/* —— Barre catalogue —— */
.asmon-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1.75rem;
}

body.asmon-shop .woocommerce-result-count,
body.asmon-shop .woocommerce-ordering {
	display: none !important;
}

body.asmon-shop .woocommerce-archive-description,
body.asmon-shop .term-description {
	width: 100%;
	max-width: none;
	margin: 0 0 2rem;
	color: var(--asmon-text);
}

/* —— Pagination —— */
body.asmon-shop .woocommerce-pagination {
	margin: 2.5rem 0 0;
}

body.asmon-shop .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.asmon-shop .woocommerce-pagination li {
	margin: 0;
}

body.asmon-shop .woocommerce-pagination a,
body.asmon-shop .woocommerce-pagination span {
	display: inline-block;
	min-width: 2.5rem;
	padding: 0.45rem 0.7rem;
	font-family: var(--asmon-font-display);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-align: center;
	text-decoration: none !important;
	color: var(--asmon-text);
	border: 1px solid var(--asmon-line);
	background: var(--asmon-bg-elevated);
}

body.asmon-shop .woocommerce-pagination a:hover,
body.asmon-shop .woocommerce-pagination span.current {
	color: var(--asmon-text-bright);
	border-color: var(--asmon-accent);
	box-shadow: 0 0 18px rgba(201, 168, 76, 0.12);
}

/* —— Fiche produit —— */
body.asmon-shop div.product {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.75rem, 4vw, 2.75rem);
}

body.asmon-shop div.product .woocommerce-product-gallery,
body.asmon-shop div.product .asmon-shop-cover,
body.asmon-shop div.product .summary {
	width: 100%;
	float: none;
	margin: 0;
}

body.asmon-shop div.product .product-entry-wrapper {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.25rem;
	width: 100%;
	max-width: 100%;
}

body.asmon-shop div.product .product-entry-wrapper > * {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	flex: 0 0 auto;
}

@media (min-width: 1100px) {
	body.asmon-shop div.product {
		display: block;
	}

	body.asmon-shop div.product .product-entry-wrapper {
		display: grid;
		grid-template-columns: minmax(20rem, 0.95fr) minmax(20rem, 1.15fr);
		align-items: start;
		column-gap: clamp(1.5rem, 4vw, 3rem);
		row-gap: clamp(1.25rem, 3vw, 2rem);
	}

	body.asmon-shop div.product .product-entry-wrapper > .asmon-shop-cover,
	body.asmon-shop div.product .product-entry-wrapper > .woocommerce-product-gallery,
	body.asmon-shop div.product .product-entry-wrapper > .images {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		max-width: none;
	}

	body.asmon-shop div.product .product-entry-wrapper > .summary,
	body.asmon-shop div.product .product-entry-wrapper > .entry-summary {
		grid-column: 2;
		grid-row: 1;
		width: 100%;
		max-width: none;
		min-width: 0;
		overflow: visible;
	}

	body.asmon-shop div.product .woocommerce-tabs,
	body.asmon-shop div.product .related,
	body.asmon-shop div.product .upsells {
		width: 100%;
		margin-top: clamp(1.75rem, 4vw, 2.75rem);
	}
}

body.asmon-shop .woocommerce-product-gallery {
	position: relative;
}

body.asmon-shop .woocommerce-product-gallery .flex-control-thumbs,
body.asmon-shop .woocommerce-product-gallery .flex-direction-nav,
body.asmon-shop .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	display: none;
}

body.asmon-shop-cover-3d .product .woocommerce-product-gallery:not(.asmon-shop-thumbs):not(.asmon-shop-cover__thumbs),
body.asmon-shop-cover-3d .product .ct-product-gallery {
	display: none !important;
}

body.asmon-shop-cover-3d div.product,
body.asmon-shop--product div.product,
body.asmon-shop--product .product-entry-wrapper,
body.asmon-shop--product .ct-container,
body.asmon-shop--product .site-main {
	overflow: visible;
}

.asmon-shop-media,
.asmon-shop-cover {
	--asmon-cover-stage-h: auto;
	--asmon-cover-max-h: min(42vh, 18.5rem);
	--asmon-cover-max-w: min(100%, 16rem);
	position: relative;
	z-index: 2;
	overflow: visible;
}

body.asmon-shop--product .asmon-shop-cover--3d {
	overflow: visible;
}

.asmon-shop-cover.is-video {
	--asmon-cover-max-w: 100%;
	--asmon-cover-max-h: min(36vh, 14.75rem);
}

.asmon-shop-media__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto;
	min-height: 0;
	max-height: none;
	padding: 0.65rem;
	box-sizing: border-box;
	background: var(--asmon-bg-elevated, #16120d);
	border: 1px solid rgba(201, 168, 76, 0.18);
	overflow: hidden;
}

.asmon-shop-cover--3d .asmon-shop-media__stage {
	background: transparent;
	border: 0;
	overflow: visible;
	padding: 0.35rem 0 0.6rem;
}

.asmon-shop-cover--3d.is-flat .asmon-shop-media__stage {
	background: var(--asmon-bg-elevated, #16120d);
	border: 1px solid rgba(201, 168, 76, 0.18);
	overflow: hidden;
	padding: 0.65rem;
}

@media (min-width: 1100px) {
	.asmon-shop-media,
	.asmon-shop-cover,
	.asmon-shop-cover.is-video {
		--asmon-cover-stage-h: min(38rem, 70vh);
		--asmon-cover-max-h: 100%;
		--asmon-cover-max-w: 100%;
	}

	.asmon-shop-media__stage,
	.asmon-shop-cover--3d .asmon-shop-media__stage,
	.asmon-shop-cover--3d.is-flat .asmon-shop-media__stage {
		height: var(--asmon-cover-stage-h);
		min-height: var(--asmon-cover-stage-h);
		max-height: var(--asmon-cover-stage-h);
	}

	.asmon-shop-media__stage {
		padding: 1.15rem;
	}

	.asmon-shop-cover--3d .asmon-shop-media__stage,
	.asmon-shop-cover--3d.is-flat .asmon-shop-media__stage {
		padding: 3.35rem 1.75rem 3.6rem;
	}
}

.asmon-shop-cover--3d .asmon-shop-media__stage {
	background: transparent;
	border: 0;
	overflow: visible;
}

.asmon-shop-cover--3d.is-flat .asmon-shop-media__stage {
	background: var(--asmon-bg-elevated, #16120d);
	border: 1px solid rgba(201, 168, 76, 0.18);
	overflow: hidden;
}

.asmon-shop-cover__3d,
.asmon-shop-cover__flat {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	align-self: center;
	width: var(--asmon-cover-max-w);
	min-width: 0;
	min-height: 0;
	height: auto;
	max-width: var(--asmon-cover-max-w);
	margin: 0 auto;
}

@media (min-width: 1100px) {
	.asmon-shop-cover__3d,
	.asmon-shop-cover__flat {
		flex: 1 1 auto;
		align-self: stretch;
		width: 100%;
		height: 100%;
		max-width: 100%;
	}
}

.asmon-shop-cover__flat[hidden],
.asmon-shop-cover__3d[hidden],
.asmon-shop-cover__halo-clip[hidden],
.asmon-shop-cover__player[hidden] {
	display: none !important;
}

.asmon-shop-cover.is-video .asmon-shop-media__stage,
.asmon-shop-cover--3d.is-video .asmon-shop-media__stage {
	background: var(--asmon-bg-elevated, #16120d);
	border: 1px solid rgba(201, 168, 76, 0.18);
	overflow: hidden;
	padding: 1.15rem;
}

.asmon-shop-cover__player {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: auto;
	overflow: hidden;
	min-width: 0;
	min-height: 0;
}

.asmon-shop-cover.is-video .asmon-shop-cover__player {
	aspect-ratio: 16 / 9;
	max-height: var(--asmon-cover-max-h);
}

@media (min-width: 1100px) {
	.asmon-shop-cover.is-video .asmon-shop-cover__player {
		height: 100%;
		max-height: 100%;
	}
}

.asmon-shop-cover.is-video .asmon-shop-cover__frame {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	min-width: 100%;
	min-height: 100%;
	aspect-ratio: 16 / 9;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.asmon-shop-cover__frame,
.asmon-shop-cover__video {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	border: 0;
	background: #000;
	object-fit: contain;
}

.asmon-shop-media__stage > .asmon-shop-media__main,
.asmon-shop-cover__flat-img,
.asmon-shop-cover--3d.is-flat .asmon-shop-cover__flat-img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: var(--asmon-cover-max-h);
	object-fit: contain;
	object-position: center;
	cursor: zoom-in;
}

.asmon-shop-cover--3d.is-flat .asmon-shop-cover__3d,
.asmon-shop-cover--3d.is-flat .asmon-shop-cover__halo-clip {
	display: none !important;
}

.asmon-shop-cover--3d .asmon-shop-cover__flat {
	position: relative;
	inset: auto;
	width: var(--asmon-cover-max-w);
	height: auto;
	max-width: var(--asmon-cover-max-w);
}

@media (min-width: 1100px) {
	.asmon-shop-cover--3d .asmon-shop-cover__flat {
		position: absolute;
		inset: 3.35rem 1.75rem 3.6rem;
		width: auto;
		height: auto;
		max-width: none;
	}
}

.asmon-shop-cover--3d:not(.is-flat) .asmon-shop-cover__3d {
	flex: 0 1 400px;
	align-self: center;
	width: 100%;
	max-width: 400px;
	height: auto;
	min-height: 0;
	overflow: visible;
}

.asmon-shop-cover--3d .asmn-couv-scene {
	margin: 0;
}

.asmon-shop-cover--3d .asmn-couv img {
	width: 100%;
	height: auto;
	max-width: 100%;
	max-height: var(--asmon-cover-max-h);
	object-fit: contain;
	filter: none;
}

@media (min-width: 1100px) {
	.asmon-shop-cover--3d .asmn-couv img {
		max-width: none;
		max-height: none;
		object-fit: unset;
	}
}

.asmon-shop-media__main {
	position: relative;
	z-index: 1;
	display: block;
	width: auto;
	max-width: min(100%, 36rem);
	height: auto;
	max-height: var(--asmon-cover-max-h);
	aspect-ratio: auto;
	object-fit: contain;
	filter: none;
	cursor: zoom-in;
}

.asmn-couv-holder {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 400px;
}

.asmon-shop-cover__halo-clip {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: none;
	background: transparent;
	border: 0;
	-webkit-mask-image: radial-gradient(ellipse 64% 70% at 50% 48%, #000 0%, #000 42%, transparent 78%);
	mask-image: radial-gradient(ellipse 64% 70% at 50% 48%, #000 0%, #000 42%, transparent 78%);
}

.asmon-shop-cover__halo {
	position: absolute;
	inset: 8% 11%;
	z-index: 0;
	border-radius: 50%;
	background: radial-gradient(ellipse 54% 64% at 50% 48%, rgba(201, 168, 76, 0.56), rgba(201, 168, 76, 0.2) 46%, transparent 72%);
	filter: blur(18px);
	opacity: 0.88;
	animation: asmon-shop-book-edge-glow 3.8s ease-in-out infinite;
	pointer-events: none;
}

.asmon-shop-cover__halo--outer {
	inset: 1% 4%;
	opacity: 0.52;
	filter: blur(26px);
	background: radial-gradient(ellipse 58% 68% at 50% 48%, rgba(201, 168, 76, 0.32), transparent 70%);
	animation-delay: -1.4s;
}

.asmon-shop-cover--3d .asmon-campaign__seal-book-radiant {
	position: absolute;
	inset: 6% 9%;
	z-index: 0;
	border-radius: 50%;
	opacity: 0.72;
	background: radial-gradient(ellipse 52% 64% at 50% 48%, rgba(201, 168, 76, 0.62), rgba(201, 168, 76, 0.2) 48%, transparent 72%);
	filter: blur(18px);
	transform: none;
	animation: asmon-shop-book-edge-glow 3.8s ease-in-out -0.6s infinite;
	pointer-events: none;
}

@keyframes asmon-shop-book-edge-glow {
	0%,
	100% {
		opacity: 0.62;
		transform: scale(0.99);
	}
	50% {
		opacity: 0.96;
		transform: scale(1.05);
	}
}

.asmon-shop-thumbs[hidden] {
	display: none !important;
}

.asmon-shop-thumbs {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.85rem;
	padding-bottom: 0.2rem;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	scrollbar-color: rgba(201, 168, 76, 0.45) transparent;
}

.asmon-shop-thumbs__item {
	position: relative;
	flex: 0 0 4.75rem;
	width: 4.75rem;
	height: 4.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(201, 168, 76, 0.2);
	background: var(--asmon-bg-elevated, #16120d);
	overflow: hidden;
	cursor: pointer;
	scroll-snap-align: start;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.asmon-shop-thumbs__play {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1.45rem;
	height: 1.45rem;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(12, 9, 6, 0.72);
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.5);
	pointer-events: none;
}

.asmon-shop-thumbs__play::before {
	content: '';
	position: absolute;
	left: 0.52rem;
	top: 0.38rem;
	border-style: solid;
	border-width: 0.34rem 0 0.34rem 0.52rem;
	border-color: transparent transparent transparent #f3ead7;
}

.asmon-shop-thumbs__item--video:has(.asmon-shop-thumbs__img) .asmon-shop-thumbs__play {
	left: auto;
	top: auto;
	right: 0.22rem;
	bottom: 0.22rem;
	width: 1.05rem;
	height: 1.05rem;
	transform: none;
}

.asmon-shop-thumbs__item--video:has(.asmon-shop-thumbs__img) .asmon-shop-thumbs__play::before {
	left: 0.38rem;
	top: 0.26rem;
	border-width: 0.26rem 0 0.26rem 0.38rem;
}

.asmon-shop-thumbs__item:hover,
.asmon-shop-thumbs__item:focus-visible,
.asmon-shop-thumbs__item.is-active {
	border-color: var(--asmon-accent, #c9a84c);
	box-shadow: 0 0 0 1px var(--asmon-accent, #c9a84c);
	outline: none;
}

.asmon-shop-thumbs__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1;
	filter: none;
	pointer-events: none;
}

.asmn-couv-scene {
	display: flex;
	justify-content: center;
	perspective: 1100px;
	perspective-origin: 62% 42%;
	margin: 45px 0 60px;
}

.asmn-couv {
	display: block;
	position: relative;
	width: 100%;
	max-width: 400px;
	cursor: zoom-in;
	transform-style: preserve-3d;
	transform-origin: center center;
	backface-visibility: hidden;
	transform: rotateY(-21deg) rotateZ(-1deg) scale(1);
	transition: transform 0.65s cubic-bezier(0.22, 0.75, 0.3, 1);
}

.asmn-couv img {
	display: block;
	width: 100%;
	height: auto;
	outline: 1px solid transparent;
	image-rendering: -webkit-optimize-contrast;
}

.asmn-couv::before {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateZ(-48px);
	background: #14110d;
	border-radius: 0;
	box-shadow: 14px 30px 44px rgba(0, 0, 0, 0.4);
}

.asmn-couv::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 5px;
	outline: 1px solid transparent;
	transform-origin: 100% 50%;
	transform: rotateY(-90deg);
	background: linear-gradient(to right, #3a342a 0%, #1a1712 55%, #0d0b08 100%);
}

.asmn-tranche {
	position: absolute;
	top: 7px;
	right: 5px;
	bottom: 7px;
	width: 44px;
	outline: 1px solid transparent;
	transform-origin: 100% 50%;
	transform: rotateY(-90deg);
	background-image:
		repeating-linear-gradient(
			to right,
			rgba(120, 100, 68, 0.16) 0px,
			rgba(120, 100, 68, 0.16) 1px,
			rgba(0, 0, 0, 0) 1px,
			rgba(0, 0, 0, 0) 3px
		),
		repeating-linear-gradient(
			to right,
			rgba(85, 68, 42, 0.11) 0px,
			rgba(85, 68, 42, 0.11) 1px,
			rgba(0, 0, 0, 0) 1px,
			rgba(0, 0, 0, 0) 9px
		),
		linear-gradient(
			to right,
			#cfc5b0 0%,
			#f7f3ea 5%,
			#fffefc 14%,
			#fffefb 34%,
			#f5efe3 60%,
			#ddd3bf 82%,
			#b3a892 94%,
			#8d8271 100%
		);
}

.asmn-couv-flotte {
	display: block;
	width: 100%;
	max-width: 400px;
	transform-style: preserve-3d;
	animation: asmn-respire 7s ease-in-out infinite;
}

@keyframes asmn-respire {
	0% {
		transform: rotateY(-5deg);
	}
	50% {
		transform: rotateY(0deg);
	}
	100% {
		transform: rotateY(-5deg);
	}
}

@media (hover: hover) {
	.asmn-couv-flotte:hover {
		animation-play-state: paused;
	}

	.asmn-couv:hover {
		transform: rotateY(0deg) rotateZ(0deg) scale(1.35);
	}

	.asmn-couv:hover::before {
		box-shadow: 0 34px 60px rgba(0, 0, 0, 0.42);
	}
}

@media (prefers-reduced-motion: reduce) {
	.asmn-couv {
		transition: none;
	}

	.asmn-couv-flotte {
		animation: none;
	}
}

@media (max-width: 767px) {
	.asmn-couv-flotte {
		animation: none;
		transform-style: flat;
		max-width: 250px;
	}

	.asmn-couv-scene {
		perspective: none;
		margin: 25px 0 35px;
	}

	.asmn-couv {
		max-width: 250px;
		transform: none;
		transform-style: flat;
		transition: none;
		cursor: pointer;
	}

	.asmn-couv img {
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
	}

	.asmn-couv::before,
	.asmn-couv::after,
	.asmn-tranche {
		display: none;
	}
}

body.asmon-shop span.onsale {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	margin: 0;
	padding: 0.35rem 0.65rem;
	font-family: var(--asmon-font-display);
	font-size: 0.5625rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--asmon-accent);
	background: rgba(14, 11, 8, 0.82);
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: 0;
	min-height: 0;
	line-height: 1.3;
}

body.asmon-shop div.product .summary,
body.asmon-shop div.product .entry-summary {
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	color: #d8ceb8;
}

body.asmon-shop--product div.product.product-type-variable .summary > p.price,
body.asmon-shop--product div.product.product-type-variable .entry-summary > p.price {
	display: none !important;
}

body.asmon-shop--product .ct-product-add-to-cart,
body.asmon-shop--product form.variations_form.cart,
body.asmon-shop--product form.variations_form .single_variation_wrap {
	display: contents;
}

body.asmon-shop--product .woocommerce-product-details__short-description,
body.asmon-shop--product .asmon-shop-variation-desc,
body.asmon-shop--product table.variations,
body.asmon-shop--product .product_meta,
body.asmon-shop--product .woocommerce-tabs,
body.asmon-shop--product .ct-product-divider,
body.asmon-shop--product .summary > .product_title,
body.asmon-shop--product .entry-summary > .product_title {
	flex: 1 1 100%;
	width: 100%;
}

body.asmon-shop--product .summary > p.price,
body.asmon-shop--product .summary > .price,
body.asmon-shop--product .woocommerce-variation,
body.asmon-shop--product .woocommerce-variation-add-to-cart,
body.asmon-shop--product form.cart:not(.variations_form) {
	flex: 0 0 auto;
	width: auto;
	max-width: 100%;
	order: 2;
}

body.asmon-shop--product .summary > p.price,
body.asmon-shop--product .summary > .price {
	margin: 0 1.15rem 1.75rem 0;
}

body.asmon-shop--product .woocommerce-variation {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1.15rem;
	margin: 0 1.15rem 1.75rem 0;
}

body.asmon-shop--product .woocommerce-variation[style*="none"] {
	display: none !important;
}

body.asmon-shop--product .woocommerce-variation[style*="block"] {
	display: flex !important;
}

body.asmon-shop--product .woocommerce-variation-add-to-cart,
body.asmon-shop--product form.cart:not(.variations_form) {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem 1.25rem;
	margin: 0 0 1.75rem;
}

body.asmon-shop--product .woocommerce-variation-add-to-cart .quantity,
body.asmon-shop--product form.cart:not(.variations_form) .quantity {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	width: auto;
}

body.asmon-shop--product .ct-cart-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.85rem 1.15rem;
}

body.asmon-shop--product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
body.asmon-shop--product form.cart:not(.variations_form) .single_add_to_cart_button {
	flex: 0 0 auto;
	width: auto;
	min-width: 10rem;
	min-height: 2.75rem;
}

body.asmon-shop--product .woocommerce-variation-add-to-cart .added_to_cart,
body.asmon-shop--product form.cart .added_to_cart,
body.asmon-shop .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin: 0;
	min-height: 2.75rem;
	padding: 0.7rem 1.5rem;
	box-sizing: border-box;
	line-height: 1.2;
}

body.asmon-shop--product .woocommerce-product-details__short-description {
	order: 1;
}

body.asmon-shop--product table.variations {
	order: 4;
	margin: 0 0 1.25rem;
}

body.asmon-shop--product .asmon-shop-variation-desc {
	order: 3;
}

body.asmon-shop--product .product_meta {
	order: 5;
}

body.asmon-shop--product .woocommerce-tabs {
	order: 6;
}

body.asmon-shop--product .woocommerce-variation > .woocommerce-variation-description {
	display: none !important;
}

body.asmon-shop div.product .product_title {
	margin: 0 0 0.85rem;
	font-family: var(--asmon-font-display);
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	letter-spacing: 0.03em;
	line-height: 1.2;
	color: var(--asmon-text-bright, #e8dec8);
}

body.asmon-shop--product .asmon-hero--product .asmon-hero__title {
	font-family: var(--asmon-font-display);
	font-size: clamp(2rem, 6vw, 3.25rem);
	font-weight: 400;
	letter-spacing: 0.04em;
}

body.asmon-shop--product .summary .product_title {
	display: none;
}

body.asmon-shop div.product .woocommerce-product-details__short-description {
	margin: 0 0 1.15rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #d8ceb8;
}

body.asmon-shop .woocommerce-product-details__short-description p {
	margin: 0 0 0.75rem;
	color: inherit;
}

body.asmon-shop--product .asmon-shop-variation-desc {
	margin: 0 0 1.15rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #d8ceb8;
}

body.asmon-shop--product .asmon-shop-variation-desc p {
	margin: 0 0 0.75rem;
	color: inherit;
}

body.asmon-shop--product .woocommerce-product-rating {
	margin: 1.5rem 0 0;
}

body.asmon-shop div.product p.price,
body.asmon-shop div.product span.price {
	margin: 0 0 1rem;
	font-family: var(--asmon-font-display);
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	color: var(--asmon-accent);
}

body.asmon-shop div.product p.price del,
body.asmon-shop div.product span.price del {
	opacity: 0.75;
	font-size: 0.75em;
	color: #c4b89a;
}

body.asmon-shop .woocommerce-product-rating {
	margin: 0 0 1rem;
}

body.asmon-shop .woocommerce-variation-price,
body.asmon-shop .woocommerce-variation-price .price {
	margin: 0 0 1rem;
	font-family: var(--asmon-font-display);
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	color: var(--asmon-accent);
}

body.asmon-shop .woocommerce-variation-availability,
body.asmon-shop .stock {
	margin: 0 0 1rem;
	font-size: 0.95rem;
}

body.asmon-shop--product .woocommerce-variation-price,
body.asmon-shop--product .woocommerce-variation-price .price,
body.asmon-shop--product .woocommerce-variation-availability,
body.asmon-shop--product .woocommerce-variation .stock {
	margin: 0;
}

body.asmon-shop .stock.in-stock {
	color: var(--asmon-accent);
}

body.asmon-shop .stock.out-of-stock {
	color: #e8a87c;
}

body.asmon-shop--product form.cart {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem 1.25rem;
	margin: 1.25rem 0 1.75rem;
}

body.asmon-shop form.cart .quantity {
	width: auto;
	margin: 0;
}

body.asmon-shop--product .quantity .qty {
	width: 4.5rem;
	max-width: 4.5rem;
	min-height: 2.75rem;
	height: 2.75rem;
	text-align: center;
	-moz-appearance: textfield;
}

body.asmon-shop form.cart .quantity .qty {
	width: 4.5rem;
	max-width: 4.5rem;
	text-align: center;
	-moz-appearance: textfield;
}

body.asmon-shop form.cart .quantity .qty::-webkit-outer-spin-button,
body.asmon-shop form.cart .quantity .qty::-webkit-inner-spin-button {
	height: auto;
}

body.asmon-shop form.cart .single_add_to_cart_button {
	flex: 0 0 auto;
	min-width: 10rem;
}

body.asmon-shop table.variations {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 1rem;
	border: 0;
	table-layout: fixed;
}

body.asmon-shop table.variations tbody,
body.asmon-shop table.variations tr {
	display: block;
	width: 100%;
}

body.asmon-shop .summary select,
body.asmon-shop table.variations select {
	width: 100%;
	max-width: 100%;
}

body.asmon-shop table.variations th,
body.asmon-shop table.variations td {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.35rem 0;
	border: 0;
	background: transparent;
	text-align: left;
	vertical-align: middle;
}

body.asmon-shop table.variations label {
	margin: 0;
	color: var(--asmon-accent, #c9a84c) !important;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

body.asmon-shop .reset_variations {
	display: inline-block;
	margin-top: 0.35rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop .product_meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0;
	font-size: 0.95rem;
	background: transparent !important;
	border: 0 !important;
}

@media (min-width: 560px) {
	body.asmon-shop .product_meta {
		grid-template-columns: repeat(2, 1fr);
	}
}

body.asmon-shop .product_meta > span {
	display: block;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(201, 168, 76, 0.38) !important;
	background: #1c1812 !important;
	color: #f4ead6 !important;
	box-shadow: none !important;
}

body.asmon-shop .product_meta .sku_wrapper {
	display: none !important;
}

body.asmon-shop .product_meta .posted_in,
body.asmon-shop .product_meta .tagged_as,
body.asmon-shop .product_meta .sku {
	color: #f4ead6 !important;
}

body.asmon-shop--product .product_meta a {
	color: #e8c56a !important;
}

body.asmon-shop--product .product_meta a:hover {
	color: #fff6dc !important;
}

body.asmon-shop--product .entry-summary .ct-payment-methods,
body.asmon-shop--product .entry-summary-items > .ct-payment-methods {
	display: none !important;
}

body.asmon-shop--product .summary input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.asmon-shop--product .summary select,
body.asmon-shop--product table.variations select,
body.asmon-shop--product .quantity .qty,
body.asmon-shop--product .product_meta > span {
	border-color: rgba(201, 168, 76, 0.38) !important;
}

/* —— Onglets produit —— */
body.asmon-shop .woocommerce-tabs {
	margin-top: 0.5rem;
}

body.asmon-shop .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--asmon-line);
}

body.asmon-shop .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.asmon-shop .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.85rem 1.1rem;
	font-family: var(--asmon-font-display);
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #c4b89a !important;
	border-bottom: 2px solid transparent;
}

body.asmon-shop .woocommerce-tabs ul.tabs li.active a,
body.asmon-shop .woocommerce-tabs ul.tabs li a:hover {
	color: var(--asmon-text-bright) !important;
	border-bottom-color: var(--asmon-accent);
}

body.asmon-shop .woocommerce-tabs .panel {
	margin: 0;
	padding: 1.5rem 0 0;
	background: transparent;
	color: #d8ceb8;
}

body.asmon-shop .woocommerce-Tabs-panel--additional_information {
	padding-top: 1.35rem;
}

body.asmon-shop table.asmon-shop-attrs,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes {
	display: table;
	width: 100%;
	max-width: none;
	margin: 0;
	border: 1px solid rgba(201, 168, 76, 0.55);
	border-collapse: collapse;
	table-layout: fixed;
	background: #1c1812;
	box-sizing: border-box;
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.08);
}

body.asmon-shop table.asmon-shop-attrs thead,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes thead {
	display: table-header-group;
}

body.asmon-shop table.asmon-shop-attrs tbody,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tbody {
	display: table-row-group;
}

body.asmon-shop table.asmon-shop-attrs tr,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tr {
	display: table-row;
}

body.asmon-shop table.asmon-shop-attrs th,
body.asmon-shop table.asmon-shop-attrs td,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes th,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes td {
	display: table-cell;
	width: 50%;
	margin: 0;
	padding: 1rem 1.15rem;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.28);
	background: transparent;
	color: #f4ead6 !important;
	text-align: center;
	vertical-align: middle;
	font-style: normal;
	font-size: 1.02rem;
	line-height: 1.5;
}

body.asmon-shop table.asmon-shop-attrs th + th,
body.asmon-shop table.asmon-shop-attrs th + td,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes th + th,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes th + td {
	border-left: 1px solid rgba(201, 168, 76, 0.28);
}

body.asmon-shop table.asmon-shop-attrs thead th,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes thead th {
	padding: 0.9rem 1.15rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #e8c56a !important;
	background: rgba(201, 168, 76, 0.16);
	border-bottom: 1px solid rgba(201, 168, 76, 0.45);
}

body.asmon-shop table.asmon-shop-attrs tbody tr:nth-child(even) th,
body.asmon-shop table.asmon-shop-attrs tbody tr:nth-child(even) td,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tbody tr:nth-child(even) th,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tbody tr:nth-child(even) td {
	background: rgba(201, 168, 76, 0.08);
}

body.asmon-shop table.asmon-shop-attrs tbody tr:last-child th,
body.asmon-shop table.asmon-shop-attrs tbody tr:last-child td,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tbody tr:last-child th,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes tbody tr:last-child td {
	border-bottom: 0;
}

body.asmon-shop table.asmon-shop-attrs .woocommerce-product-attributes-item__label,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes .woocommerce-product-attributes-item__label {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #e0c36a !important;
}

body.asmon-shop table.asmon-shop-attrs .woocommerce-product-attributes-item__value,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes .woocommerce-product-attributes-item__value {
	color: #f7f1e4 !important;
}

body.asmon-shop table.asmon-shop-attrs .woocommerce-product-attributes-item__value p,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes .woocommerce-product-attributes-item__value p {
	margin: 0;
	padding: 0;
}

body.asmon-shop table.asmon-shop-attrs a,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes a {
	color: var(--asmon-accent, #c9a84c) !important;
	text-decoration: none !important;
}

body.asmon-shop table.asmon-shop-attrs a:hover,
body.asmon-shop table.woocommerce-product-attributes.shop_attributes a:hover {
	color: var(--asmon-text-bright, #e8dec8) !important;
}

body.asmon-shop .woocommerce-tabs .panel h2,
body.asmon-shop .related > h2,
body.asmon-shop .related .ct-module-title,
body.asmon-shop .upsells > h2,
body.asmon-shop .upsells .ct-module-title,
body.asmon-shop .cross-sells > h2,
body.asmon-shop .cart-collaterals h2,
body.asmon-shop .woocommerce-billing-fields h3,
body.asmon-shop .woocommerce-shipping-fields h3,
body.asmon-shop .woocommerce-additional-fields h3,
body.asmon-shop #order_review_heading,
body.asmon-shop .wc-block-cart__totals-title,
body.asmon-shop .wp-block-woocommerce-checkout h2 {
	margin: 0 0 1rem;
	font-family: var(--asmon-font-display);
	font-size: 1.15rem;
	font-weight: 400;
	color: var(--asmon-text-bright);
}

body.asmon-shop #reviews #comments {
	margin-top: 0;
}

body.asmon-shop #review_form_wrapper {
	margin-top: 1.5rem;
}

.asmon-shop-reviews__grid {
	display: grid;
	grid-template-columns: minmax(15rem, 17.5rem) minmax(0, 1fr);
	gap: 2rem 2.5rem;
	align-items: start;
}

.asmon-shop-reviews__heading {
	margin: 0 0 1rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 1.05rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-reviews__average {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	margin: 0 0 0.45rem;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-reviews__average-value {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 2.4rem;
	line-height: 1;
}

.asmon-shop-reviews__average-denom {
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}

.asmon-shop-reviews__count {
	margin: 0.45rem 0 1.1rem;
	color: #c4b89a;
	font-size: 0.95rem;
}

.asmon-shop-reviews__bars {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.asmon-shop-reviews__bar {
	display: grid;
	grid-template-columns: 1.1rem minmax(0, 1fr) 2.6rem;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	margin: 0;
	padding: 0.2rem 0;
	border: 0;
	background: transparent;
	color: #d8ceb8;
	cursor: pointer;
	text-align: left;
}

.asmon-shop-reviews__bar:disabled {
	opacity: 0.38;
	cursor: default;
}

.asmon-shop-reviews__bar:not(:disabled):hover .asmon-shop-reviews__bar-track,
.asmon-shop-reviews__bar[aria-pressed="true"] .asmon-shop-reviews__bar-track {
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.45);
}

.asmon-shop-reviews__bar[aria-pressed="true"] {
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-reviews__bar-label {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.72rem;
	letter-spacing: 0.04em;
}

.asmon-shop-reviews__bar-track {
	display: block;
	height: 0.55rem;
	overflow: hidden;
	background: rgba(201, 168, 76, 0.12);
	border: 1px solid rgba(201, 168, 76, 0.22);
}

.asmon-shop-reviews__bar-fill {
	display: block;
	height: 100%;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 100%);
}

.asmon-shop-reviews__bar-pct {
	font-size: 0.75rem;
	color: #c4b89a;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.asmon-shop-reviews__bar-reset {
	margin: 0.55rem 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--asmon-accent, #c9a84c);
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
}

.asmon-shop-reviews__write {
	display: inline-block;
	margin-top: 1.25rem;
	text-align: center;
}

.asmon-shop-reviews__aside .woocommerce-verification-required {
	margin-top: 1.15rem;
	font-size: 0.95rem;
}

.asmon-shop-reviews__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0 0 1.15rem;
}

.asmon-shop-reviews__list-title {
	margin: 0 0.75rem 0 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-reviews__sort-label {
	margin: 0;
}

.asmon-shop-reviews__sort {
	width: auto;
	min-width: 12rem;
}

body.asmon-shop .asmon-shop-reviews .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.asmon-shop .asmon-shop-reviews .commentlist > li {
	margin: 0 0 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(201, 168, 76, 0.16);
	background: rgba(14, 11, 8, 0.45);
}

body.asmon-shop .asmon-shop-reviews .comment_container {
	display: flex;
	gap: 0.9rem;
}

body.asmon-shop .asmon-shop-reviews .comment-text {
	min-width: 0;
	flex: 1;
}

body.asmon-shop .asmon-shop-reviews .comment-text .asmon-stars {
	margin: 0 0 0.4rem;
}

body.asmon-shop .asmon-shop-reviews .meta {
	margin: 0 0 0.45rem;
	color: #c4b89a;
	font-size: 0.9rem;
}

body.asmon-shop .asmon-shop-reviews .description,
body.asmon-shop .asmon-shop-reviews .description p {
	margin: 0;
	color: #d8ceb8;
	line-height: 1.55;
}

.asmon-shop-reviews__empty {
	margin: 0.5rem 0 0;
	color: #c4b89a;
}

@media (max-width: 1099px) {
	.asmon-shop-reviews__grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.asmon-shop-reviews__sort {
		width: 100%;
	}
}

body.asmon-shop .comment-form-rating .stars a {
	color: var(--asmon-accent);
}

body.asmon-shop .related,
body.asmon-shop .upsells,
body.asmon-shop .cross-sells {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(201, 168, 76, 0.22);
}

.asmon-shop-related-carousel {
	--asmon-related-per: 1;
	--asmon-related-gap: 0.95rem;
	--asmon-related-btn: 3.5rem;
	position: relative;
	display: grid;
	grid-template-columns: var(--asmon-related-btn) minmax(0, 1fr) var(--asmon-related-btn);
	align-items: center;
	column-gap: clamp(0.5rem, 1.5vw, 1rem);
	margin-top: 0.85rem;
}

.asmon-shop-related-carousel__scroller {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.asmon-shop-related-carousel__scroller::-webkit-scrollbar {
	display: none;
}

body.asmon-shop .related .asmon-shop-related-carousel ul.products,
body.asmon-shop .upsells .asmon-shop-related-carousel ul.products,
body.asmon-shop .cross-sells .asmon-shop-related-carousel ul.products,
body.asmon-shop .related ul.products.univers-sigils,
body.asmon-shop .upsells ul.products.univers-sigils,
body.asmon-shop .cross-sells ul.products.univers-sigils,
body.asmon-shop--product .related ul.products,
body.asmon-shop--product .upsells ul.products {
	display: flex;
	grid-template-columns: none;
	align-items: stretch;
	gap: var(--asmon-related-gap);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0.35rem 0 0.5rem;
	list-style: none;
	box-sizing: border-box;
}

body.asmon-shop .related ul.products > li,
body.asmon-shop .upsells ul.products > li,
body.asmon-shop .cross-sells ul.products > li,
body.asmon-shop .asmon-shop-related-carousel ul.products > li {
	flex: 0 0 calc((100% - (var(--asmon-related-per) - 1) * var(--asmon-related-gap)) / var(--asmon-related-per));
	width: calc((100% - (var(--asmon-related-per) - 1) * var(--asmon-related-gap)) / var(--asmon-related-per));
	max-width: none;
	min-width: 0;
	scroll-snap-align: start;
	height: auto;
	max-height: none;
}

body.asmon-shop .related .asmon-shop-sigil,
body.asmon-shop .upsells .asmon-shop-sigil,
body.asmon-shop .cross-sells .asmon-shop-sigil {
	display: flex;
	flex-direction: column;
	height: auto;
	max-height: none;
	min-height: 0;
	overflow: hidden;
	contain: none;
}

body.asmon-shop .related .asmon-shop-sigil__media,
body.asmon-shop .upsells .asmon-shop-sigil__media,
body.asmon-shop .cross-sells .asmon-shop-sigil__media {
	position: relative;
	inset: auto;
	flex: 0 0 auto;
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	aspect-ratio: 2 / 3;
	overflow: hidden;
}

body.asmon-shop .related .asmon-shop-sigil__img,
body.asmon-shop .upsells .asmon-shop-sigil__img,
body.asmon-shop .cross-sells .asmon-shop-sigil__img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
}

body.asmon-shop .related .asmon-shop-sigil__excerpt,
body.asmon-shop .related .asmon-shop-sigil__meta,
body.asmon-shop .upsells .asmon-shop-sigil__excerpt,
body.asmon-shop .upsells .asmon-shop-sigil__meta,
body.asmon-shop .cross-sells .asmon-shop-sigil__excerpt,
body.asmon-shop .cross-sells .asmon-shop-sigil__meta {
	display: none;
}

body.asmon-shop .asmon-shop-related-carousel .asmon-shop-sigil__body {
	flex: 1 1 auto;
}

body.asmon-shop .asmon-shop-related-carousel .asmon-shop-sigil__title {
	-webkit-line-clamp: 2;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart,
body.asmon-shop .asmon-shop-related-carousel .asmon-shop-sigil__cart {
	grid-template-columns: minmax(0, 1fr);
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 0.55rem;
}

body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.button.asmon-shop-sigil__cta--buy,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart button.asmon-shop-sigil__cta--highlight,
body.asmon-shop:not(.asmon-shop-view-list) .asmon-shop-sigil__cart a.button.asmon-shop-sigil__cta--consult {
	width: 100%;
	height: auto;
	min-height: 2.5rem;
	padding: 0.55rem 0.75rem;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	line-height: 1.25;
	white-space: normal;
	text-overflow: clip;
	overflow-wrap: anywhere;
}

.asmon-shop-related-carousel__btn {
	position: relative;
	grid-row: 1;
	align-self: center;
	z-index: 3;
	display: grid;
	place-items: center;
	width: var(--asmon-related-btn);
	height: calc(var(--asmon-related-btn) * 1.6);
	padding: 0;
	border: 0;
	border-radius: 2px;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	color: rgba(201, 168, 76, 0.72);
	cursor: pointer;
	transition: color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}

.asmon-shop-related-carousel__btn::before {
	content: "";
	position: absolute;
	inset: 12% 8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(201, 168, 76, 0.28) 0%, rgba(201, 168, 76, 0) 70%);
	opacity: 0;
	transform: scale(0.6);
	transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
}

.asmon-shop-related-carousel__btn svg {
	position: relative;
	display: block;
	width: 78%;
	height: 78%;
	filter: drop-shadow(0 0 0 rgba(201, 168, 76, 0));
	transition: filter 0.3s ease;
}

.asmon-shop-related-carousel__btn:hover,
.asmon-shop-related-carousel__btn:focus-visible {
	color: var(--asmon-text-bright, #e8dec8);
	outline: none;
}

.asmon-shop-related-carousel__btn:hover::before,
.asmon-shop-related-carousel__btn:focus-visible::before {
	opacity: 1;
	transform: scale(1);
}

.asmon-shop-related-carousel__btn:hover svg,
.asmon-shop-related-carousel__btn:focus-visible svg {
	filter: drop-shadow(0 0 8px rgba(201, 168, 76, 0.65));
}

.asmon-shop-related-carousel__btn--prev:hover,
.asmon-shop-related-carousel__btn--prev:focus-visible {
	transform: translateX(-3px);
}

.asmon-shop-related-carousel__btn--next:hover,
.asmon-shop-related-carousel__btn--next:focus-visible {
	transform: translateX(3px);
}

.asmon-shop-related-carousel.is-looping .asmon-shop-related-carousel__scroller,
.asmon-shop-related-carousel.is-looping ul.products > li,
.asmon-shop-related-carousel.is-looping ul.products > li * {
	scroll-behavior: auto !important;
	transition: none !important;
}

.asmon-shop-related-carousel.is-static .is-loop-clone {
	display: none;
}

.asmon-shop-related-carousel.is-static .asmon-shop-related-carousel__btn {
	visibility: hidden;
	pointer-events: none;
}

.asmon-shop-related-carousel__btn--prev {
	grid-column: 1;
}

.asmon-shop-related-carousel__btn--next {
	grid-column: 3;
}

@media (min-width: 480px) {
	.asmon-shop-related-carousel {
		--asmon-related-per: 2;
	}
}

@media (min-width: 760px) {
	.asmon-shop-related-carousel {
		--asmon-related-per: 3;
	}
}

@media (min-width: 1100px) {
	.asmon-shop-related-carousel {
		--asmon-related-per: 4;
		--asmon-related-gap: 1.15rem;
		--asmon-related-btn: 4rem;
	}
}

@media (max-width: 599px) {
	.asmon-shop-related-carousel {
		--asmon-related-btn: 2.35rem;
		column-gap: 0.35rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asmon-shop-related-carousel__scroller {
		scroll-behavior: auto;
	}

	.asmon-shop-related-carousel__btn,
	.asmon-shop-related-carousel__btn::before,
	.asmon-shop-related-carousel__btn svg {
		transition: none;
	}
}

@media (max-width: 1099px) {
	body.asmon-shop--product {
		--asmon-cover-stage-h: auto;
		--asmon-cover-max-h: min(52vh, 26rem);
		--asmon-cover-max-w: min(100%, 22rem);
	}

	body.asmon-shop--product div.product,
	body.asmon-shop--product .product-entry-wrapper,
	body.asmon-shop--product .summary,
	body.asmon-shop--product .entry-summary {
		min-width: 0;
		max-width: 100%;
	}

	body.asmon-shop--product .woocommerce-product-details__short-description,
	body.asmon-shop--product .asmon-shop-variation-desc {
		overflow-wrap: anywhere;
	}

	body.asmon-shop--product .asmon-hero--product .asmon-hero__title {
		font-size: clamp(1.55rem, 8vw, 2.15rem);
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	body.asmon-shop--product .asmon-hero--compact .asmon-hero__inner {
		padding-top: 2.6rem;
		padding-bottom: 0.7rem;
	}

	body.asmon-shop--product .asmon-hero--compact.asmon-hero--has-back .asmon-hero__inner {
		padding-bottom: calc(0.7rem + var(--asmon-back-arrow, 18px) + 1.1rem);
	}

	body.asmon-shop--product .asmon-shop-stage {
		padding: 1rem 1rem 1.75rem;
	}

	body.asmon-shop--product .asmon-shop-cover,
	body.asmon-shop--product .asmon-shop-media {
		--asmon-cover-stage-h: auto;
		width: 100%;
		max-width: none;
	}

	body.asmon-shop--product .asmon-shop-media__stage,
	body.asmon-shop--product .asmon-shop-cover--3d .asmon-shop-media__stage,
	body.asmon-shop--product .asmon-shop-cover--3d.is-flat .asmon-shop-media__stage {
		height: auto;
		min-height: 0;
		max-height: none;
		padding: 0.55rem 0.65rem 0.7rem;
	}

	body.asmon-shop--product .asmon-shop-cover__halo-clip,
	body.asmon-shop--product .asmon-shop-cover__halo,
	body.asmon-shop--product .asmon-campaign__seal-book-radiant {
		display: none;
	}

	body.asmon-shop--product .asmon-shop-cover--3d .asmon-shop-cover__flat {
		position: relative;
		inset: auto;
		width: var(--asmon-cover-max-w);
		max-width: var(--asmon-cover-max-w);
		height: auto;
		max-height: var(--asmon-cover-max-h);
		margin: 0 auto;
	}

	body.asmon-shop--product .asmon-shop-cover__3d,
	body.asmon-shop--product .asmon-shop-cover__flat,
	body.asmon-shop--product .asmon-shop-cover--3d:not(.is-flat) .asmon-shop-cover__3d,
	body.asmon-shop--product .asmn-couv-holder,
	body.asmon-shop--product .asmn-couv-flotte,
	body.asmon-shop--product .asmn-couv {
		flex: 0 0 auto;
		align-self: center;
		width: var(--asmon-cover-max-w);
		max-width: var(--asmon-cover-max-w);
		height: auto;
		max-height: var(--asmon-cover-max-h);
	}

	body.asmon-shop--product .asmn-couv-scene {
		perspective: none;
		margin: 0;
	}

	body.asmon-shop--product .asmn-couv-flotte,
	body.asmon-shop--product .asmn-couv {
		transform: none;
		transform-style: flat;
		animation: none;
	}

	body.asmon-shop--product .asmn-couv::before,
	body.asmon-shop--product .asmn-couv::after,
	body.asmon-shop--product .asmn-tranche {
		display: none;
	}

	body.asmon-shop--product .asmon-shop-cover__flat-img,
	body.asmon-shop--product .asmon-shop-cover--3d.is-flat .asmon-shop-cover__flat-img,
	body.asmon-shop--product .asmon-shop-media__main,
	body.asmon-shop--product .asmn-couv img {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: var(--asmon-cover-max-h);
		margin: 0 auto;
		object-fit: contain;
		object-position: center;
	}

	body.asmon-shop--product .asmon-shop-cover.is-video {
		--asmon-cover-max-w: min(100%, 22rem);
		--asmon-cover-max-h: none;
		width: min(100%, 22rem);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	body.asmon-shop--product .asmon-shop-cover.is-video .asmon-shop-media__stage,
	body.asmon-shop--product .asmon-shop-cover--3d.is-video .asmon-shop-media__stage {
		width: 100%;
		max-width: 100%;
		aspect-ratio: 16 / 9;
		height: auto;
		max-height: none;
		padding: 0;
	}

	body.asmon-shop--product .asmon-shop-cover.is-video .asmon-shop-cover__player {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		max-height: none;
	}

	body.asmon-shop--product .asmon-shop-cover.is-video .asmon-shop-cover__frame,
	body.asmon-shop--product .asmon-shop-cover.is-video .asmon-shop-cover__video {
		position: absolute;
		inset: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		min-width: 0;
		min-height: 0;
		max-width: 100%;
		max-height: 100%;
		transform: none;
		pointer-events: auto;
	}

	body.asmon-shop--product .asmon-shop-thumbs {
		justify-content: flex-start;
		width: min(100%, 22rem);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	body.asmon-shop--product .asmon-shop-thumbs__item {
		flex-basis: 3.5rem;
		width: 3.5rem;
		height: 3.5rem;
	}

	body.asmon-shop--product .summary,
	body.asmon-shop--product .entry-summary {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0;
	}

	body.asmon-shop--product .summary > *,
	body.asmon-shop--product .entry-summary > *,
	body.asmon-shop--product .woocommerce-variation,
	body.asmon-shop--product .woocommerce-variation-add-to-cart,
	body.asmon-shop--product form.cart:not(.variations_form),
	body.asmon-shop--product .summary > p.price,
	body.asmon-shop--product .summary > .price {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	body.asmon-shop--product .woocommerce-product-details__short-description,
	body.asmon-shop--product .asmon-shop-variation-desc {
		font-size: 1rem;
		line-height: 1.6;
	}

	body.asmon-shop--product .woocommerce-variation {
		flex-direction: column;
		align-items: stretch;
		gap: 0.45rem;
		margin: 0 0 1rem;
	}

	body.asmon-shop--product .woocommerce-variation-add-to-cart,
	body.asmon-shop--product form.cart:not(.variations_form),
	body.asmon-shop--product .ct-cart-actions {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 0.7rem;
		width: 100%;
		max-width: 100%;
		margin: 0 0 1.15rem;
	}

	body.asmon-shop--product .woocommerce-variation-add-to-cart .quantity,
	body.asmon-shop--product form.cart:not(.variations_form) .quantity,
	body.asmon-shop--product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
	body.asmon-shop--product form.cart:not(.variations_form) .single_add_to_cart_button,
	body.asmon-shop--product .woocommerce-variation-add-to-cart .added_to_cart,
	body.asmon-shop--product form.cart .added_to_cart {
		flex: 0 0 auto;
		width: auto;
		max-width: 100%;
		min-width: 0;
		min-height: 2.75rem;
	}

	body.asmon-shop--product .quantity .qty {
		width: 4.5rem;
		max-width: 4.5rem;
		min-height: 2.75rem;
		height: 2.75rem;
	}

	body.asmon-shop--product .woocommerce-tabs ul.tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.asmon-shop--product .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	body.asmon-shop--product .woocommerce-tabs ul.tabs li a {
		display: flex;
		align-items: center;
		min-height: 2.75rem;
	}

	body.asmon-shop .woocommerce-tabs ul.tabs {
		gap: 0;
	}

	body.asmon-shop .woocommerce-tabs ul.tabs li a {
		padding: 0.95rem 0.9rem;
		font-size: 0.6875rem;
		letter-spacing: 0.12em;
	}

	body.asmon-shop table.asmon-shop-attrs,
	body.asmon-shop table.woocommerce-product-attributes.shop_attributes {
		table-layout: auto;
	}

	body.asmon-shop table.asmon-shop-attrs thead {
		display: none;
	}

	body.asmon-shop table.asmon-shop-attrs tr,
	body.asmon-shop table.woocommerce-product-attributes.shop_attributes tr {
		display: block;
		border-bottom: 1px solid rgba(201, 168, 76, 0.28);
	}

	body.asmon-shop table.asmon-shop-attrs th,
	body.asmon-shop table.asmon-shop-attrs td,
	body.asmon-shop table.woocommerce-product-attributes.shop_attributes th,
	body.asmon-shop table.woocommerce-product-attributes.shop_attributes td {
		display: block;
		width: 100%;
		border-left: 0 !important;
		text-align: left;
		padding: 0.7rem 1rem;
	}

	body.asmon-shop table.asmon-shop-attrs td,
	body.asmon-shop table.woocommerce-product-attributes.shop_attributes td {
		padding-top: 0;
		padding-bottom: 0.85rem;
	}

	body.asmon-shop--product button.single_add_to_cart_button::after,
	body.asmon-shop--product .asmn-couv-flotte {
		animation: none;
	}

	body.asmon-shop--product .product_meta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 599px) {
	body.asmon-shop--product {
		--asmon-cover-max-h: min(46vh, 20rem);
		--asmon-cover-max-w: min(86vw, 18rem);
	}

	body.asmon-shop--product .asmon-shop-cover.is-video {
		--asmon-cover-max-w: 100%;
		--asmon-cover-max-h: none;
		width: 100%;
	}

	body.asmon-shop--product .asmon-shop-stage {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

	body.asmon-shop--product table.variations,
	body.asmon-shop--product .asmon-shop-select {
		width: 100%;
		max-width: 100%;
	}

	body.asmon-shop .woocommerce-tabs ul.tabs {
		flex-direction: column;
	}

	body.asmon-shop .woocommerce-tabs ul.tabs li a {
		border-bottom: 1px solid rgba(201, 168, 76, 0.18);
	}

	body.asmon-shop .woocommerce-tabs ul.tabs li.active a {
		border-bottom-color: var(--asmon-accent);
	}
}

/* —— Tables (panier, commandes) —— */
body.asmon-shop .woocommerce-cart-form,
body.asmon-shop .woocommerce-table,
body.asmon-shop .shop_table_wrapper,
body.asmon-shop .woocommerce-MyAccount-content .woocommerce-orders-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.asmon-shop table.shop_table {
	width: 100%;
	margin: 0 0 1.75rem;
	border: 1px solid var(--asmon-line);
	border-collapse: collapse;
	background: var(--asmon-bg-elevated);
}

body.asmon-shop table.shop_table th,
body.asmon-shop table.shop_table td {
	padding: 0.9rem 1rem;
	border: 1px solid var(--asmon-line);
	background: transparent;
	color: var(--asmon-text);
	text-align: left;
	vertical-align: middle;
}

body.asmon-shop table.shop_table th {
	font-family: var(--asmon-font-display);
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--asmon-accent);
	font-weight: 400;
}

body.asmon-shop table.shop_table .product-name,
body.asmon-shop table.shop_table .product-subtotal,
body.asmon-shop table.shop_table tfoot th,
body.asmon-shop table.shop_table tfoot td {
	color: var(--asmon-text-bright);
}

body.asmon-shop table.shop_table img {
	width: 4.5rem;
	height: auto;
	border: 1px solid var(--asmon-line);
}

body.asmon-shop table.shop_table .product-remove a {
	display: inline-grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--asmon-accent) !important;
	text-decoration: none !important;
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: 50%;
}

body.asmon-shop .cart-collaterals,
body.asmon-shop .cart_totals {
	width: 100%;
	float: none;
}

body.asmon-shop .wc-proceed-to-checkout {
	margin-top: 1.25rem;
}

body.asmon-shop .wc-proceed-to-checkout .button {
	width: 100%;
	text-align: center;
}

body.asmon-shop .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
}

body.asmon-shop .coupon .input-text {
	flex: 1 1 12rem;
	width: auto;
}

body.asmon-shop .woocommerce-cart-form .actions {
	padding: 1rem;
}

/* —— Page panier : disposition facture —— */
body.asmon-shop--cart .asmon-shop-content.asmon-prose--wide {
	max-width: 74rem;
	margin-left: auto;
	margin-right: auto;
}

body.asmon-shop--cart .asmon-shop-invoice {
	display: grid;
	gap: 1.35rem;
}

body.asmon-shop--cart .asmon-shop-invoice__banner {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 0.15rem 0.15rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.28);
}

body.asmon-shop--cart .asmon-shop-invoice__kicker,
body.asmon-shop--cart .asmon-shop-invoice__date {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--asmon-accent);
}

body.asmon-shop--cart .asmon-shop-invoice__date {
	color: var(--asmon-text);
	letter-spacing: 0.12em;
}

@media (min-width: 960px) {
	body.asmon-shop--cart .asmon-shop-invoice {
		grid-template-columns: minmax(0, 1.5fr) minmax(17rem, 0.82fr);
		gap: 1.5rem 1.85rem;
		align-items: start;
	}

	body.asmon-shop--cart .asmon-shop-invoice .ct-woocommerce-cart-form {
		display: contents;
	}

	body.asmon-shop--cart .asmon-shop-invoice__banner,
	body.asmon-shop--cart .asmon-shop-invoice .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form {
		grid-column: 1;
		min-width: 0;
	}

	body.asmon-shop--cart .asmon-shop-invoice .cart-collaterals,
	body.asmon-shop--cart .asmon-shop-invoice .cart_totals {
		grid-column: 2;
		position: sticky;
		top: 5.5rem;
	}
}

body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals {
	margin: 0;
	padding: 1.15rem 1.2rem 1.3rem;
	border: 1px solid rgba(201, 168, 76, 0.32);
	background:
		linear-gradient(180deg, rgba(28, 22, 14, 0.55) 0%, rgba(12, 9, 7, 0.78) 100%);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart {
	margin: 0;
	border: 0;
	background: transparent;
	table-layout: auto;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart th,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart td {
	padding: 0.95rem 0.55rem;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.16);
	background: transparent;
	vertical-align: middle;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead th {
	padding-top: 0.15rem;
	padding-bottom: 0.7rem;
	font-size: 0.5625rem;
	letter-spacing: 0.16em;
	color: var(--asmon-accent);
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-name a {
	white-space: normal;
	overflow-wrap: break-word;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-remove {
	padding-left: 0;
	padding-right: 0;
	text-align: right;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-thumbnail {
	padding-right: 0.85rem;
	border-right: 0;
	white-space: nowrap;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-name {
	padding-left: 0.15rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-price,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-quantity,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
	text-align: right;
	white-space: nowrap;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent);
	font-size: 0.95rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart img {
	width: 3.85rem;
	border: 1px solid rgba(201, 168, 76, 0.28);
	background: #0a0806;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-thumbnail .ct-media-container {
	display: block !important;
	width: 3.85rem !important;
	max-width: 3.85rem;
	height: auto !important;
	padding: 0 !important;
}

@media (min-width: 640px) {
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead tr,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr {
		display: grid;
		grid-template-columns: 4.75rem minmax(8rem, 1fr) 5.35rem 6.75rem 2.6rem;
		align-items: center;
		column-gap: 0.4rem;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead .product-name {
		grid-column: 2;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead .product-quantity {
		grid-column: 3;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead .product-subtotal {
		grid-column: 4;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead .product-remove {
		grid-column: 5;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody .product-thumbnail {
		grid-column: 1;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody .product-name {
		grid-column: 2;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody .product-quantity {
		grid-column: 3;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody .product-subtotal {
		grid-column: 4;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody .product-remove {
		grid-column: 5;
	}
}

body.asmon-shop--cart .asmon-shop-invoice .quantity {
	display: inline-flex;
	justify-content: flex-end;
	width: auto;
	margin-left: auto;
}

body.asmon-shop--cart .asmon-shop-invoice .quantity .qty {
	width: 3.4rem !important;
	min-height: 2.4rem;
	padding: 0.35rem 0.25rem !important;
	text-align: center;
	border-color: rgba(201, 168, 76, 0.45) !important;
	background: #0c0907 !important;
}

body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form .actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.85rem;
	margin-top: 1rem;
	padding: 1rem 0 0;
	border-top: 1px dashed rgba(201, 168, 76, 0.28);
}

body.asmon-shop--cart .asmon-shop-invoice .coupon {
	display: grid;
	grid-template-columns: minmax(12rem, 1fr) auto;
	gap: 0.45rem 0.65rem;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	padding: 0.85rem 0.9rem 0.95rem;
	border: 1px solid rgba(201, 168, 76, 0.42);
	background: rgba(10, 8, 6, 0.72);
	box-sizing: border-box;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon label {
	grid-column: 1 / -1;
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	white-space: normal !important;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent) !important;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon .input-text,
body.asmon-shop--cart .asmon-shop-invoice #coupon_code {
	grid-column: 1;
	flex: none;
	width: 100% !important;
	min-width: 0;
	min-height: 2.7rem;
	border-color: rgba(201, 168, 76, 0.5) !important;
	background: #120e0a !important;
	color: var(--asmon-text-bright, #e8dec8) !important;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon .input-text::placeholder,
body.asmon-shop--cart .asmon-shop-invoice #coupon_code::placeholder {
	color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	-webkit-text-fill-color: var(--asmon-placeholder, rgba(232, 220, 196, 0.52)) !important;
	font-style: italic;
	opacity: 1;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon .button {
	grid-column: 2;
	width: auto !important;
	min-height: 2.7rem;
	padding: 0.45rem 0.95rem;
	align-self: stretch;
	white-space: nowrap;
}

body.asmon-shop--cart .asmon-shop-invoice button[name="update_cart"] {
	align-self: flex-end;
	width: auto !important;
	margin-left: auto;
	min-height: 2.7rem;
	white-space: nowrap;
	background: transparent !important;
	border: 1px solid rgba(201, 168, 76, 0.4) !important;
	color: var(--asmon-accent) !important;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals > h2 {
	margin: 0 0 0.85rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table {
	margin: 0;
	border: 0;
	background: transparent;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table th,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table td {
	padding: 0.7rem 0;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.14);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table th {
	text-align: left;
	color: var(--asmon-text);
	font-family: var(--asmon-font-body);
	font-size: 0.92rem;
	letter-spacing: 0;
	text-transform: none;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table td {
	text-align: right;
	color: var(--asmon-text-bright);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals .order-total th,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals .order-total td {
	padding-top: 0.95rem;
	border-bottom: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent);
	font-size: 1.05rem;
}

body.asmon-shop--cart .asmon-shop-invoice .wc-proceed-to-checkout .checkout-button,
body.asmon-shop--cart .asmon-shop-invoice .wc-proceed-to-checkout a.button {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #1a140c !important;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 48%, #b08e3a 100%) !important;
	border: 1px solid #e6cc78 !important;
	box-shadow:
		0 0 16px rgba(201, 168, 76, 0.42),
		inset 0 1px 0 rgba(255, 248, 228, 0.5);
}

/* —— Checkout —— */
body.asmon-shop .woocommerce-checkout .col2-set,
body.asmon-shop .col2-set {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	width: 100%;
	float: none;
}

@media (min-width: 960px) {
	body.asmon-shop .woocommerce-checkout .col2-set,
	body.asmon-shop .col2-set {
		grid-template-columns: 1fr 1fr;
	}

	body.asmon-shop .woocommerce-checkout .col2-set .col-1,
	body.asmon-shop .woocommerce-checkout .col2-set .col-2,
	body.asmon-shop .col2-set .col-1,
	body.asmon-shop .col2-set .col-2 {
		width: 100%;
		float: none;
	}
}

body.asmon-shop #order_review,
body.asmon-shop #add_payment_method #payment,
body.asmon-shop .woocommerce-checkout-review-order {
	margin-top: 1.5rem;
	padding: 1.25rem 1.35rem;
	border: 1px solid var(--asmon-line);
	background: var(--asmon-bg-elevated);
}

body.asmon-shop .wc_payment_methods,
body.asmon-shop ul.payment_methods {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	border: 0;
}

body.asmon-shop .wc_payment_method,
body.asmon-shop ul.payment_methods li {
	margin: 0 0 0.75rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--asmon-line);
	background: rgba(14, 11, 8, 0.45);
}

body.asmon-shop .payment_box {
	margin: 0.65rem 0 0;
	padding: 0.75rem 0 0;
	font-size: 0.95rem;
	background: transparent;
}

body.asmon-shop #place_order,
body.asmon-shop .woocommerce #place_order,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 1rem;
	min-height: 2.85rem;
	padding: 0.7rem 1.5rem;
	overflow: visible;
}

body.asmon-shop #place_order.asmon-shop-cta--embers,
body.asmon-shop .woocommerce #place_order.asmon-shop-cta--embers,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button.asmon-shop-cta--embers {
	overflow: visible !important;
}

body.asmon-shop #place_order::after,
body.asmon-shop .woocommerce #place_order::after,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button::after {
	content: none;
	display: none;
	animation: none;
}

body.asmon-shop #place_order .asmon-shop-cta__sheen,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button .asmon-shop-cta__sheen {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
	border-radius: inherit;
}

body.asmon-shop #place_order .asmon-shop-cta__sheen::after,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button .asmon-shop-cta__sheen::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 48%;
	height: 100%;
	pointer-events: none;
	background: linear-gradient(
		100deg,
		transparent 0%,
		rgba(255, 248, 228, 0.12) 32%,
		rgba(255, 252, 245, 0.32) 50%,
		rgba(255, 248, 228, 0.12) 68%,
		transparent 100%
	);
	transform: translateX(-140%) skewX(-18deg);
	animation: asmon-shop-cta-shine 11s ease-in-out infinite;
}

body.asmon-shop #place_order:hover .asmon-shop-cta__sheen::after,
body.asmon-shop #place_order:focus-visible .asmon-shop-cta__sheen::after,
body.asmon-shop--order_received .asmon-shop-receipt__continue:hover .asmon-shop-cta__sheen::after,
body.asmon-shop--order_received .asmon-shop-receipt__continue:focus-visible .asmon-shop-cta__sheen::after {
	animation-play-state: paused;
}

body.asmon-shop #place_order .asmon-shop-tab__embers,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button .asmon-shop-tab__embers {
	z-index: 2;
	overflow: visible;
}

body.asmon-shop #place_order .asmon-shop-tab__ember,
body.asmon-shop .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button .asmon-shop-tab__ember {
	background: #f3e3a4;
	box-shadow:
		0 0 12px rgba(255, 236, 170, 0.9),
		0 0 22px rgba(201, 168, 76, 0.45);
}

body.asmon-shop .woocommerce-terms-and-conditions-wrapper {
	margin: 1rem 0;
}

body.asmon-shop .woocommerce-privacy-policy-text,
body.asmon-shop .woocommerce-terms-and-conditions-checkbox-text {
	font-size: 0.92rem;
	line-height: 1.55;
}

body.asmon-shop--order_received .woocommerce-thankyou-order-received {
	display: none;
}

/* —— Blocs panier / commande —— */
body.asmon-shop .wc-block-cart,
body.asmon-shop .wc-block-checkout,
body.asmon-shop .wp-block-woocommerce-cart,
body.asmon-shop .wp-block-woocommerce-checkout {
	color: var(--asmon-text);
}

body.asmon-shop .wc-block-components-sidebar,
body.asmon-shop .wc-block-components-order-summary,
body.asmon-shop .wc-block-components-totals-wrapper,
body.asmon-shop .wc-block-cart-items {
	background: var(--asmon-bg-elevated);
	border: 1px solid var(--asmon-line);
	color: var(--asmon-text);
}

body.asmon-shop .wc-block-components-product-name,
body.asmon-shop .wc-block-components-product-price,
body.asmon-shop .wc-block-components-totals-item__label,
body.asmon-shop .wc-block-components-totals-item__value {
	color: var(--asmon-text-bright);
}

body.asmon-shop .wc-block-components-panel,
body.asmon-shop .wc-block-components-radio-control-accordion-option,
body.asmon-shop .wc-block-components-checkout-step {
	border-color: var(--asmon-line);
	background: transparent;
}

body.asmon-shop .wc-block-components-modal,
body.asmon-shop .wc-block-components-modal__content {
	background: var(--asmon-bg-elevated);
	color: var(--asmon-text-bright);
	border: 1px solid rgba(201, 168, 76, 0.28);
}

body.asmon-shop .wc-block-components-modal__header {
	border-bottom: 1px solid var(--asmon-line);
}

/* —— Mon compte —— */
body.asmon-shop--account .woocommerce {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.75rem, 4vw, 2.75rem);
	width: 100%;
	max-width: none;
}

@media (min-width: 960px) {
	body.asmon-shop--account .woocommerce {
		grid-template-columns: 15.5rem minmax(0, 1fr);
		align-items: start;
	}

	body.asmon-shop--account .asmon-shop-account-nav {
		grid-column: 1;
		grid-row: 1;
	}

	body.asmon-shop--account .woocommerce-MyAccount-content {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	body.asmon-shop--account .asmon-shop-account-nav-mobile {
		display: none;
	}
}

@media (max-width: 959px) {
	body.asmon-shop--account .asmon-shop-account-nav {
		display: none;
	}
}

body.asmon-shop--account .asmon-shop-account-nav.is-visible,
body.asmon-shop--account .asmon-toc--doc {
	animation: asmon-doc-toc-breathe 9s ease-in-out infinite;
}

body.asmon-shop--account .woocommerce-MyAccount-navigation {
	display: contents;
}

body.asmon-shop--account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.asmon-shop .woocommerce-MyAccount-content .woocommerce-Address,
body.asmon-shop .woocommerce-address-fields,
body.asmon-shop .woocommerce-EditAccountForm,
body.asmon-shop .woocommerce-form-login,
body.asmon-shop .woocommerce-form-register,
body.asmon-shop .woocommerce-ResetPassword {
	max-width: min(40rem, 100%);
}

body.asmon-shop .woocommerce-form-login,
body.asmon-shop .woocommerce-form-register,
body.asmon-shop .lost_reset_password {
	padding: 1.5rem 0 0;
}

body.asmon-shop .u-columns,
body.asmon-shop .u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 768px) {
	body.asmon-shop .u-columns.col2-set {
		grid-template-columns: 1fr 1fr;
	}
}

body.asmon-shop .woocommerce-MyAccount-content h2,
body.asmon-shop .woocommerce-MyAccount-content h3 {
	font-family: var(--asmon-font-display);
	font-weight: 400;
	color: var(--asmon-text-bright);
}

body.asmon-shop .woocommerce-MyAccount-content mark,
body.asmon-shop .order-number,
body.asmon-shop .order-date,
body.asmon-shop .order-status {
	background: transparent;
	color: var(--asmon-accent);
}

body.asmon-shop .woocommerce-orders-table__cell-order-actions .button {
	margin: 0.2rem 0.2rem 0.2rem 0;
}

body.asmon-shop .addresses .title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

body.asmon-shop .addresses address {
	padding: 0.85rem 1rem;
	border: 1px solid var(--asmon-line);
	background: var(--asmon-bg-elevated);
	font-style: normal;
}

/* Compte : lien actif du rail */
body.asmon-shop--account .asmon-shop-account-nav li.is-active,
body.asmon-shop--account .woocommerce-MyAccount-navigation li.is-active {
	border-left-color: var(--asmon-accent);
	background: linear-gradient(90deg, rgba(201, 168, 76, 0.07), transparent 72%);
}

body.asmon-shop--account .asmon-shop-account-nav li.is-active a,
body.asmon-shop--account .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--asmon-text-bright);
}

/* —— Mini-panier / fragments —— */
body.asmon-shop .widget_shopping_cart_content,
.asmon-shop .widget_shopping_cart {
	font-family: var(--asmon-font-body);
}

/* —— Accessibilité / motion —— */
body.asmon-shop :focus-visible {
	outline: 2px solid var(--asmon-accent);
	outline-offset: 3px;
}

@media (max-width: 639px) {
	body.asmon-shop form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	body.asmon-shop:not(.asmon-shop--product) form.cart .quantity .qty,
	body.asmon-shop:not(.asmon-shop--product) form.cart .single_add_to_cart_button,
	body.asmon-shop .coupon .input-text,
	body.asmon-shop .coupon .button {
		width: 100%;
	}

	body.asmon-shop table.shop_table_responsive thead {
		display: none;
	}

	body.asmon-shop table.shop_table_responsive tr {
		display: block;
		margin-bottom: 1rem;
		border: 1px solid var(--asmon-line);
	}

	body.asmon-shop table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		border: 0;
		border-bottom: 1px solid var(--asmon-line);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.asmon-shop .woocommerce a.button:hover,
	body.asmon-shop .woocommerce button.button:hover,
	body.asmon-shop .asmon-shop-sigil:hover,
	body.asmon-shop .asmon-shop-sigil:hover .asmon-shop-sigil__img,
	body.asmon-shop .woocommerce-product-gallery__image:hover img {
		transform: none;
	}

	body.asmon-shop--account .asmon-toc--doc,
	.asmon-shop-filters.asmon-toc--doc.is-visible,
	.asmon-shop-filters__drawer,
	body.asmon-shop .asmon-shop-sigil__cta,
	body.asmon-shop .asmon-shop-sigil__cta::after,
	body.asmon-shop--product button.single_add_to_cart_button,
	body.asmon-shop--product button.single_add_to_cart_button::after,
	body.asmon-shop #place_order,
	body.asmon-shop #place_order .asmon-shop-cta__sheen::after,
	body.asmon-shop #place_order .asmon-shop-tab__ember,
	.asmon-shop-cart-busy .asmon-spinner,
	.asmon-shop-catalog > .asmon-spinner,
	.asmon-shop-cover--3d .asmon-campaign__seal-book-radiant,
	.asmon-shop-cover__halo {
		animation: none;
	}

	.asmon-shop-check:hover {
		transform: none;
	}
}

body.asmon-shop .blockUI.blockOverlay {
	background: rgba(14, 11, 8, 0.72) !important;
}

.woocommerce-store-notice,
p.demo_store {
	background: var(--asmon-bg-elevated, #16120d);
	color: var(--asmon-text-bright, #e8dec8);
	border-bottom: 1px solid rgba(201, 168, 76, 0.45);
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
}

.woocommerce-store-notice a,
p.demo_store a {
	color: var(--asmon-accent, #c9a84c);
}

/* Blocksy : masquer les titres / enveloppes dupliqués */
body.asmon-shop .hero-section[data-type="type-1"],
body.asmon-shop .ct-page-title,
body.asmon-shop .woo-listing-top,
body.asmon-shop .ct-sidebar:not(.asmon-sidebar) {
	display: none;
}

body.asmon-shop .asmon-shop-sigil .univers-sigil__excerpt {
	margin: 0.4rem 0 0;
	min-height: 0;
}

.asmon-lightbox-root--product .asmon-lightbox-root__figure {
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 1.5rem 1.75rem;
	max-width: min(94vw, 72rem);
}

.asmon-lightbox-root--product .asmon-lightbox-root__frame {
	flex: 0 1 auto;
	max-width: min(46vw, 32rem);
}

.asmon-lightbox-root--product .asmon-lightbox-root__caption {
	display: none;
}

.asmon-lightbox-root--product .asmon-lightbox-root__panel {
	position: relative;
	display: block;
	width: min(24rem, 100%);
	max-width: 24rem;
	text-align: left;
	pointer-events: auto;
	z-index: 6;
	padding: 1.2rem 1.3rem 1.35rem;
	background: rgba(22, 18, 13, 0.94);
	border: 1px solid rgba(201, 168, 76, 0.32);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.45);
	overflow: hidden;
}

.asmon-lightbox-root--product.is-closing .asmon-lightbox-root__panel,
.asmon-lightbox-root--fast-close .asmon-lightbox-root__panel {
	display: none !important;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

.asmon-lightbox-root--fast-close .asmon-lightbox-root__frame,
.asmon-lightbox-root--fast-close .asmon-lightbox-root__backdrop {
	transition-duration: 0.32s !important;
}

.asmon-lightbox-root--product .asmon-lightbox-root__hint {
	display: none;
}

.asmon-shop-quickview {
	padding: 0.25rem 0.15rem;
}

.asmon-shop-quickview__title {
	margin: 0 0 0.55rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: clamp(1.15rem, 2.4vw, 1.55rem);
	letter-spacing: 0.04em;
	color: var(--asmon-text-bright, #e8dec8);
}

/* Bandeau de l’aperçu : déplacé par le JS sur la couverture, pas dans le texte. */
.asmon-lightbox-root .asmon-shop-quickview__ribbon {
	z-index: 5;
	right: 0;
	left: auto;
	width: 10.5rem;
	height: 10.5rem;
}

.asmon-lightbox-root .asmon-shop-quickview__ribbon .asmon-shop-sigil__ribbon-label {
	top: 3.35rem;
	right: -2.8rem;
	left: auto;
	width: 14rem;
	padding: 0.42rem 0;
	font-size: calc(0.6875rem * var(--asmon-ribbon-scale, 1));
	letter-spacing: 0.16em;
	transform: rotate(45deg);
}

.asmon-shop-quickview__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2rem 0.75rem;
	margin: 0 0 0.75rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 1.05rem;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-quickview__stock {
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	color: var(--asmon-text, #cdc0a8);
}

.asmon-shop-quickview__stock::before {
	content: "·";
	margin-right: 0.75rem;
	color: var(--asmon-accent, #c9a84c);
	opacity: 0.7;
}

.asmon-shop-quickview__stock[hidden] {
	display: none;
}

.asmon-shop-quickview__rating {
	margin: -0.35rem 0 0.85rem;
}

.asmon-shop-quickview__excerpt {
	margin: 0 0 1.15rem;
	color: var(--asmon-text, #7a6a52);
	font-size: 0.98rem;
	line-height: 1.55;
}

.asmon-shop-quickview__field {
	margin: 0 0 0.85rem;
}

.asmon-lightbox-root .asmon-shop-select,
.asmon-shop-quickview .asmon-shop-select,
body.asmon-shop--product .asmon-shop-select,
body.asmon-shop table.variations .asmon-shop-select {
	position: relative;
	display: block;
	border: 1px solid rgba(201, 168, 76, 0.72);
	background: #241c12;
	box-shadow: inset 0 0 0 1px rgba(201, 168, 76, 0.08);
	border-radius: var(--asmon-shop-radius, 2px);
}

.asmon-lightbox-root .asmon-shop-select::after,
.asmon-shop-quickview .asmon-shop-select::after,
body.asmon-shop--product .asmon-shop-select::after,
body.asmon-shop table.variations .asmon-shop-select::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.9rem;
	width: 0.7rem;
	height: 0.42rem;
	pointer-events: none;
	transform: translateY(-50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.asmon-lightbox-root .asmon-shop-select:hover,
.asmon-shop-quickview .asmon-shop-select:hover,
body.asmon-shop--product .asmon-shop-select:hover,
body.asmon-shop table.variations .asmon-shop-select:hover,
.asmon-lightbox-root .asmon-shop-select:focus-within,
.asmon-shop-quickview .asmon-shop-select:focus-within,
body.asmon-shop--product .asmon-shop-select:focus-within,
body.asmon-shop table.variations .asmon-shop-select:focus-within {
	border-color: var(--asmon-accent, #c9a84c);
	box-shadow: 0 0 0 1px rgba(201, 168, 76, 0.28);
}

body.asmon-shop form select.asmon-shop-quickview__attr:not(.select2-hidden-accessible),
.asmon-lightbox-root form select.asmon-shop-quickview__attr:not(.select2-hidden-accessible),
.asmon-shop-quickview select.asmon-shop-quickview__attr,
body.asmon-shop form.cart .asmon-shop-select select:not(.select2-hidden-accessible),
body.asmon-shop--product .asmon-shop-select select:not(.select2-hidden-accessible),
body.asmon-shop table.variations .asmon-shop-select select:not(.select2-hidden-accessible) {
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer;
	width: 100%;
	padding: 0.65rem 2.5rem 0.65rem 0.85rem !important;
	border: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--asmon-text-bright, #e8dec8) !important;
}

.asmon-shop-quickview__cart {
	max-width: none;
	margin: 0 0 0.85rem;
}

.asmon-lightbox-root--product .added_to_cart {
	display: none !important;
}

.asmon-lightbox-root--product .asmon-shop-quickview__link,
.asmon-shop-quickview .asmon-shop-quickview__link {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none !important;
}

@media (max-width: 1099px) {
	.asmon-lightbox-root--product {
		align-items: flex-start;
		justify-content: center;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 3.4rem 0.85rem 1.25rem;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__close {
		top: 0.65rem;
		right: 0.65rem;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__stage {
		width: 100%;
		justify-content: flex-start;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__figure {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		width: min(100%, 28rem);
		max-width: 100%;
		margin: 0 auto;
		gap: 0.85rem;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__frame {
		display: block;
		width: auto;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__viewport {
		touch-action: pan-y;
		cursor: default;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__panel {
		width: 100%;
		max-width: 100%;
		align-self: stretch;
		backdrop-filter: none;
		padding: 1rem 1rem 1.1rem;
	}

	.asmon-lightbox-root--product .asmon-lightbox-root__frame,
	.asmon-lightbox-root--product .asmon-lightbox-root__frame::before {
		animation: none;
		will-change: auto;
	}

	.asmon-lightbox-root--product .asmon-shop-quickview__title,
	.asmon-lightbox-root--product .asmon-shop-quickview__excerpt {
		overflow-wrap: anywhere;
	}

	.asmon-lightbox-root .asmon-shop-quickview__ribbon {
		width: 6.5rem;
		height: 6.5rem;
	}

	.asmon-lightbox-root .asmon-shop-quickview__ribbon .asmon-shop-sigil__ribbon-label {
		top: 1.85rem;
		right: -2.15rem;
		width: 9rem;
		font-size: calc(0.5625rem * var(--asmon-ribbon-scale, 1));
	}
}

/* —— Languette panier + tiroir —— */
.asmon-shop-tab-root {
	position: relative;
	z-index: 10240;
}

.asmon-shop-tab {
	position: fixed;
	top: 40%;
	right: 0;
	z-index: 10245;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	width: 3.25rem;
	padding: 0.95rem 0.4rem 1.15rem;
	margin: 0;
	overflow: visible;
	isolation: isolate;
	border: 1px solid rgba(201, 168, 76, 0.5);
	border-right: 0;
	border-radius: 12px 0 0 12px;
	background:
		linear-gradient(180deg, rgba(32, 25, 16, 0.98) 0%, rgba(12, 9, 7, 0.99) 100%);
	color: var(--asmon-accent, #c9a84c);
	box-shadow:
		-8px 10px 24px rgba(0, 0, 0, 0.38),
		0 0 18px rgba(201, 168, 76, 0.18);
	cursor: pointer;
	transform: translateX(0);
	transition:
		transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.35s ease,
		border-color 0.35s ease,
		opacity 0.28s ease;
}

@media (max-width: 1099px) {
	.asmon-shop-tab {
		top: auto;
		bottom: 1.25rem;
	}
}

.asmon-shop-tab::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow:
		inset 0 0 0 1px rgba(232, 204, 122, 0.42),
		inset 0 0 14px rgba(201, 168, 76, 0.16);
	animation: asmon-shop-tab-edge 2.8s ease-in-out infinite;
}

.asmon-shop-tab__sheen {
	display: none;
}

.asmon-shop-tab:hover,
.asmon-shop-tab:focus-visible {
	transform: translateX(-5px);
	border-color: rgba(232, 204, 122, 0.86);
	box-shadow:
		-12px 14px 30px rgba(0, 0, 0, 0.44),
		0 0 28px rgba(201, 168, 76, 0.38);
}

.asmon-shop-tab.is-pulse {
	animation: asmon-shop-tab-pulse 0.85s ease;
}

.asmon-shop-tab-root.is-open .asmon-shop-tab {
	opacity: 0;
	pointer-events: none;
	transform: translateX(110%);
}

.asmon-shop-tab__embers {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: visible;
	pointer-events: none;
}

.asmon-shop-tab:not(.has-items) .asmon-shop-tab__embers {
	display: none;
}

.asmon-shop-tab__ember {
	position: absolute;
	left: 0.2rem;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--asmon-accent, #c9a84c);
	box-shadow:
		0 0 10px rgba(201, 168, 76, 0.7),
		0 0 22px rgba(201, 168, 76, 0.28);
	opacity: 0;
	animation: asmon-shop-tab-ember 1 forwards ease-out;
}

.asmon-shop-tab__ember.is-sm {
	width: 3px;
	height: 3px;
	box-shadow: 0 0 8px rgba(201, 168, 76, 0.5);
}

.asmon-shop-tab__ember.is-lg {
	width: 6px;
	height: 6px;
	box-shadow:
		0 0 14px rgba(201, 168, 76, 0.78),
		0 0 28px rgba(201, 168, 76, 0.32);
}

.asmon-shop-tab__glyph {
	position: relative;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 50%;
	border: 1px solid rgba(201, 168, 76, 0.42);
	background: rgba(201, 168, 76, 0.1);
}

.asmon-shop-tab__glyph svg {
	display: block;
}

.asmon-shop-tab__count {
	position: absolute;
	top: 0.48rem;
	left: 0.22rem;
	z-index: 4;
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.22rem;
	border-radius: 999px;
	background: var(--asmon-accent, #c9a84c);
	color: #1a140c;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	line-height: 1.15rem;
	text-align: center;
	font-weight: 600;
}

.asmon-shop-tab__count[hidden] {
	display: none !important;
}

.asmon-shop-tab__label {
	position: relative;
	z-index: 3;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.625rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-drawer {
	position: fixed;
	inset: 0;
	z-index: 10270;
	visibility: hidden;
	pointer-events: none;
}

.asmon-shop-tab-root.is-open .asmon-shop-drawer {
	visibility: visible;
	pointer-events: auto;
}

.asmon-shop-drawer__backdrop {
	position: absolute;
	inset: 0;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0);
	cursor: pointer;
	transition: background 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.asmon-shop-tab-root.is-open .asmon-shop-drawer__backdrop {
	background: rgba(0, 0, 0, 0.62);
}

.asmon-shop-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(26.5rem, 92vw);
	height: 100%;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(22, 17, 12, 0.98) 0%, rgba(10, 8, 6, 0.99) 100%);
	border-left: 1px solid rgba(201, 168, 76, 0.42);
	box-shadow: -18px 0 48px rgba(0, 0, 0, 0.45);
	transform: translateX(104%);
	transition: transform 0.46s cubic-bezier(0.22, 1, 0.36, 1);
}

.asmon-shop-tab-root.is-open .asmon-shop-drawer__panel {
	transform: translateX(0);
}

.asmon-shop-drawer__head {
	position: relative;
	z-index: 9;
	flex: 0 0 auto;
	padding: 1.25rem 3.2rem 1.05rem 1.35rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.22);
}

.asmon-shop-drawer__kicker,
.asmon-shop-drawer__heading {
	margin: 0 0 0.35rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.5625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-drawer__title {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 1.15rem;
	letter-spacing: 0.04em;
	color: var(--asmon-text-bright, #e8dec8);
}

.asmon-shop-drawer__close {
	position: absolute;
	top: 0.85rem;
	right: 0.75rem;
	display: grid;
	place-items: center;
	width: 2.15rem;
	height: 2.15rem;
	padding: 0;
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: 50%;
	background: transparent;
	color: var(--asmon-accent, #c9a84c);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}

.asmon-shop-drawer__close:hover,
.asmon-shop-drawer__close:focus-visible {
	border-color: var(--asmon-accent, #c9a84c);
	background: rgba(201, 168, 76, 0.1);
}

.asmon-shop-drawer__body,
.asmon-shop-drawer__recap {
	flex: 1 1 auto;
	overflow: auto;
	padding: 0.35rem 0 1.4rem;
}

.asmon-shop-drawer__panel > .asmon-shop-cart-busy {
	z-index: 8;
	background: rgba(10, 8, 6, 0.78);
	transition: none;
}

.asmon-shop-drawer__panel > .asmon-shop-cart-busy.is-visible {
	opacity: 1;
}

.asmon-shop-drawer__panel.is-qty-busy .asmon-shop-drawer__recap,
.asmon-shop-drawer__panel.is-qty-busy .asmon-shop-drawer__body {
	pointer-events: none;
}

.asmon-shop-drawer__section {
	padding: 1.15rem 1.35rem 0.35rem;
}

.asmon-shop-drawer__section--orders {
	margin-top: 0.55rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(201, 168, 76, 0.18);
}

.asmon-shop-drawer__empty {
	margin: 0 0 0.85rem;
	color: var(--asmon-text, #7a6a52);
	font-size: 0.95rem;
}

.asmon-shop-mini {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.asmon-shop-mini__item {
	display: grid;
	grid-template-columns: 3.1rem minmax(0, 1fr) auto;
	gap: 0.7rem;
	align-items: center;
	margin: 0 0 0.85rem;
	padding: 0 0 0.85rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.12);
}

.asmon-shop-mini__thumb,
.asmon-shop-mini__thumb img,
.asmon-shop-mini__img {
	display: block;
	width: 3.1rem;
	height: auto;
	border: 1px solid rgba(201, 168, 76, 0.28);
	background: #0a0806;
}

.asmon-shop-mini__name {
	display: block;
	margin: 0 0 0.2rem;
	color: var(--asmon-text-bright, #e8dec8) !important;
	text-decoration: none !important;
	font-size: 0.92rem;
	line-height: 1.35;
}

.asmon-shop-mini__name:hover,
.asmon-shop-mini__name:focus-visible {
	color: var(--asmon-accent, #c9a84c) !important;
}

.asmon-shop-mini__meta {
	margin: 0;
	color: var(--asmon-text, #7a6a52);
	font-size: 0.78rem;
}

.asmon-shop-mini__qty {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0.2rem 0 0;
	color: var(--asmon-text, #7a6a52);
	font-size: 0.78rem;
}

.asmon-shop-mini__qty[data-busy="1"] {
	pointer-events: none;
	opacity: 0.55;
}

.asmon-shop-mini__qty-label {
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.68rem;
}

.asmon-shop-mini__qty-value {
	appearance: none;
	-webkit-appearance: none;
	min-width: 1.4rem;
	margin: 0;
	padding: 0.12rem 0.2rem;
	border: 0;
	background: transparent;
	text-align: center;
	color: var(--asmon-text-bright, #e8dec8);
	font: inherit;
	font-variant-numeric: tabular-nums;
	cursor: text;
	user-select: none;
}

.asmon-shop-mini__qty-value:hover,
.asmon-shop-mini__qty-value:focus-visible {
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-mini__qty-value[hidden] {
	display: none;
}

.asmon-shop-mini__qty-edit,
body.asmon-shop .asmon-shop-drawer input.asmon-cf7__input.asmon-shop-mini__qty-edit {
	display: inline-block;
	width: 2.7rem;
	min-width: 0;
	min-height: 0;
	height: 1.55rem;
	margin: 0;
	padding: 0.12rem 0.28rem;
	font-size: 0.78rem;
	line-height: 1.2;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.asmon-shop-mini__qty-edit::-webkit-outer-spin-button,
.asmon-shop-mini__qty-edit::-webkit-inner-spin-button {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
}

.asmon-shop-mini__qty-btn {
	display: grid;
	place-items: center;
	width: 1.45rem;
	height: 1.45rem;
	padding: 0;
	border: 1px solid rgba(201, 168, 76, 0.42);
	border-radius: 50%;
	background: rgba(201, 168, 76, 0.08);
	color: var(--asmon-accent, #c9a84c);
	font-size: 0.95rem;
	line-height: 1;
	cursor: pointer;
}

.asmon-shop-mini__qty-btn:hover,
.asmon-shop-mini__qty-btn:focus-visible {
	border-color: var(--asmon-accent, #c9a84c);
	background: rgba(201, 168, 76, 0.18);
}

.asmon-shop-mini__qty-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.asmon-shop-mini__line {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.82rem;
	color: var(--asmon-accent, #c9a84c);
	white-space: nowrap;
}

.asmon-shop-drawer__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1rem;
	padding-top: 0.25rem;
	color: var(--asmon-text, #7a6a52);
}

.asmon-shop-drawer__total strong {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 1.05rem;
	font-weight: 400;
	color: var(--asmon-accent, #c9a84c);
}

.asmon-shop-drawer__actions {
	display: grid;
	gap: 0.65rem;
}

.asmon-shop-drawer__checkout,
.asmon-shop-drawer a.asmon-shop-drawer__checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.7rem;
	padding: 0.55rem 0.8rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #1a140c !important;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 48%, #b08e3a 100%) !important;
	border: 1px solid #e6cc78;
	box-shadow: 0 0 16px rgba(201, 168, 76, 0.32);
}

.asmon-shop-drawer__ghost,
.asmon-shop-drawer a.asmon-shop-drawer__ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.35rem;
	padding: 0.4rem 0.7rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--asmon-accent, #c9a84c) !important;
	border: 1px solid rgba(201, 168, 76, 0.35);
	background: transparent;
}

.asmon-shop-drawer__ghost:hover,
.asmon-shop-drawer a.asmon-shop-drawer__ghost:hover {
	border-color: var(--asmon-accent, #c9a84c);
	color: var(--asmon-text-bright, #e8dec8) !important;
}

.asmon-shop-mini--orders .asmon-shop-mini__order {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"id total"
		"date status";
	gap: 0.15rem 0.75rem;
	margin: 0 0 0.65rem;
	padding: 0.7rem 0.8rem;
	border: 1px solid rgba(201, 168, 76, 0.2);
	background: rgba(14, 11, 8, 0.45);
	text-decoration: none !important;
}

.asmon-shop-mini__order-id {
	grid-area: id;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-text-bright, #e8dec8);
	font-size: 0.85rem;
}

.asmon-shop-mini__order-total {
	grid-area: total;
	justify-self: end;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent, #c9a84c);
	font-size: 0.85rem;
}

.asmon-shop-mini__order-date,
.asmon-shop-mini__order-status {
	color: var(--asmon-text, #7a6a52);
	font-size: 0.75rem;
}

.asmon-shop-mini__order-date {
	grid-area: date;
}

.asmon-shop-mini__order-status {
	grid-area: status;
	justify-self: end;
}

.asmon-shop-mini--orders a.asmon-shop-mini__order:hover {
	border-color: rgba(201, 168, 76, 0.5);
}

body.asmon-shop-drawer-open {
	overflow: hidden;
}

@keyframes asmon-shop-tab-pulse {
	0%,
	100% {
		box-shadow:
			-8px 10px 24px rgba(0, 0, 0, 0.38),
			0 0 18px rgba(201, 168, 76, 0.18);
	}
	40% {
		box-shadow:
			-8px 10px 24px rgba(0, 0, 0, 0.38),
			0 0 0 7px rgba(201, 168, 76, 0.22);
	}
}

@keyframes asmon-shop-tab-edge {
	0%,
	100% {
		box-shadow:
			inset 0 0 0 1px rgba(201, 168, 76, 0.34),
			inset 0 0 12px rgba(201, 168, 76, 0.1);
	}
	50% {
		box-shadow:
			inset 0 0 0 1px rgba(255, 232, 170, 0.92),
			inset 0 0 18px rgba(201, 168, 76, 0.28);
	}
}

@keyframes asmon-shop-tab-sheen {
	0% {
		transform: translateY(-110%);
		opacity: 0;
	}
	16% {
		opacity: 0.9;
	}
	100% {
		transform: translateY(280%);
		opacity: 0;
	}
}

@keyframes asmon-shop-tab-ember {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.4);
	}
	14% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate3d(var(--ex, -40px), var(--ey, -24px), 0) scale(1.05);
	}
}

@media (max-width: 639px) {
	body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form .actions,
	body.asmon-shop--cart .asmon-shop-invoice .coupon {
		grid-template-columns: 1fr;
		max-width: none;
	}

	body.asmon-shop--cart .asmon-shop-invoice .coupon .input-text,
	body.asmon-shop--cart .asmon-shop-invoice #coupon_code,
	body.asmon-shop--cart .asmon-shop-invoice .coupon .button,
	body.asmon-shop--cart .asmon-shop-invoice button[name="update_cart"] {
		width: 100% !important;
	}

	body.asmon-shop--cart .asmon-shop-invoice button[name="update_cart"] {
		margin-left: 0;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-price,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-quantity,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.asmon-shop-tab,
	.asmon-shop-drawer__panel,
	.asmon-shop-drawer__backdrop {
		transition: none;
	}

	.asmon-shop-tab.is-pulse,
	.asmon-shop-tab::before,
	.asmon-shop-tab__sheen::after,
	.asmon-shop-tab__ember {
		animation: none;
	}

	.asmon-shop-tab__embers {
		display: none;
	}

	body.asmon-shop #place_order .asmon-shop-tab__embers {
		display: none;
	}
}

/* —— Facture panier / chrome WooCommerce (v2) —— */
body.asmon-shop--cart .asmon-shop-content.asmon-prose--wide,
body.asmon-shop--checkout .asmon-shop-content.asmon-prose--wide,
body.asmon-shop--order_received .asmon-shop-content.asmon-prose--wide {
	max-width: 76rem;
	margin-left: auto;
	margin-right: auto;
	color: #d8ceb8;
}

body.asmon-shop--cart .woocommerce,
body.asmon-shop--cart .asmon-shop-invoice {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.asmon-shop--cart .asmon-shop-invoice,
body.asmon-shop form.checkout,
body.asmon-shop .woocommerce-checkout {
	position: relative;
}

body.asmon-shop--cart .asmon-shop-invoice.is-cart-busy,
body.asmon-shop form.checkout.is-cart-busy,
body.asmon-shop .woocommerce-checkout.is-cart-busy {
	min-height: 12rem;
}

body.asmon-shop--cart .woocommerce,
body.asmon-shop--cart .asmon-shop-invoice {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.asmon-shop--cart .asmon-shop-invoice {
	display: grid;
	gap: 1.5rem;
	padding: 1.35rem 1.35rem 1.5rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background:
		linear-gradient(180deg, rgba(32, 25, 16, 0.55) 0%, rgba(12, 9, 7, 0.88) 100%);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
}

body.asmon-shop--cart .asmon-shop-invoice__banner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 0.15rem 0.95rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.32);
}

body.asmon-shop--cart .asmon-shop-invoice__kicker,
body.asmon-shop--cart .asmon-shop-invoice__date,
body.asmon-shop--cart .asmon-shop-invoice__count {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

body.asmon-shop--cart .asmon-shop-invoice__kicker {
	font-size: 0.72rem;
	color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop--cart .asmon-shop-invoice__count,
body.asmon-shop--cart .asmon-shop-invoice__date {
	margin-top: 0.28rem;
	font-size: 0.625rem;
	letter-spacing: 0.12em;
	color: #c4b89a;
}

body.asmon-shop--cart .asmon-shop-invoice__form,
body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals,
body.asmon-shop--cart .asmon-shop-invoice .cart-collaterals {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

@media (min-width: 960px) {
	body.asmon-shop--cart .asmon-shop-invoice {
		grid-template-columns: minmax(0, 1.65fr) minmax(17.5rem, 0.78fr);
		align-items: start;
	}

	body.asmon-shop--cart .asmon-shop-invoice .ct-woocommerce-cart-form {
		display: contents;
	}

	body.asmon-shop--cart .asmon-shop-invoice__banner {
		grid-column: 1;
	}

	body.asmon-shop--cart .asmon-shop-invoice .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}

	body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form {
		grid-column: 1;
		min-width: 0;
		overflow: visible;
	}

	body.asmon-shop--cart .asmon-shop-invoice .cart-collaterals,
	body.asmon-shop--cart .asmon-shop-invoice .cart_totals {
		grid-column: 2;
		position: sticky;
		top: 5.5rem;
	}
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead tr,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart th,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart td {
	display: revert;
	grid-template-columns: none;
	width: auto;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart {
	display: table;
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	table-layout: auto;
	background: transparent;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead {
	display: table-header-group;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody {
	display: table-row-group;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead tr,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr {
	display: table-row;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart th,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart td {
	display: table-cell;
	padding: 0.95rem 0.7rem;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.16);
	background: transparent;
	color: #e8dec8;
	vertical-align: middle;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead th {
	padding-top: 0.15rem;
	padding-bottom: 0.75rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.5625rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form {
	overflow: visible;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-price,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-quantity,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead th.product-price,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead th.product-quantity,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead th.product-subtotal {
	text-align: right !important;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-price {
	width: 7.25rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-quantity {
	width: 8.75rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
	width: 6.75rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent, #c9a84c);
	font-size: 0.98rem;
}

body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-remove {
	width: 2.4rem;
	padding-left: 0.2rem;
	padding-right: 0;
	text-align: right;
}

body.asmon-shop--cart .asmon-shop-invoice__item {
	display: grid;
	grid-template-columns: 3.85rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
}

body.asmon-shop--cart .asmon-shop-invoice__thumb,
body.asmon-shop--cart .asmon-shop-invoice__thumb img,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart img,
body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-thumbnail .ct-media-container {
	display: block;
	width: 3.85rem;
	max-width: 3.85rem;
	height: auto;
	border: 1px solid rgba(201, 168, 76, 0.28);
	background: #0a0806;
}

body.asmon-shop--cart .asmon-shop-invoice__name {
	display: block;
	color: #e8dec8 !important;
	text-decoration: none !important;
	font-size: 1rem;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

body.asmon-shop--cart .asmon-shop-invoice__name:hover,
body.asmon-shop--cart .asmon-shop-invoice__name:focus-visible {
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--cart .asmon-shop-invoice .variation,
body.asmon-shop--cart .asmon-shop-invoice .variation dt,
body.asmon-shop--cart .asmon-shop-invoice .variation dd {
	margin: 0;
	color: #c4b89a;
	font-size: 0.82rem;
	line-height: 1.45;
}

body.asmon-shop--cart .asmon-shop-invoice .variation {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.15rem 0.45rem;
	margin-top: 0.3rem;
}

body.asmon-shop--cart .asmon-shop-invoice__qty {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem;
	margin-left: auto;
}

body.asmon-shop--cart .asmon-shop-invoice__qty-field,
body.asmon-shop--cart .asmon-shop-invoice input.asmon-cf7__input.asmon-shop-invoice__qty-field {
	width: 3.15rem;
	min-width: 3.15rem;
	min-height: 2.35rem;
	padding: 0.28rem 0.2rem;
	text-align: center;
	font-variant-numeric: tabular-nums;
	appearance: textfield;
	-moz-appearance: textfield;
}

body.asmon-shop--cart .asmon-shop-invoice__qty-field::-webkit-outer-spin-button,
body.asmon-shop--cart .asmon-shop-invoice__qty-field::-webkit-inner-spin-button {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
}

body.asmon-shop--cart .asmon-shop-invoice__qty-solo {
	display: inline-grid;
	place-items: center;
	min-width: 2.1rem;
	color: #e8dec8;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--cart .asmon-shop-invoice__actions-row td,
body.asmon-shop--cart .asmon-shop-invoice .woocommerce-cart-form .actions {
	padding: 1.1rem 0 0;
	border-bottom: 0;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon,
body.asmon-shop--cart .asmon-shop-invoice .asmon-shop-invoice__coupon {
	display: grid;
	grid-template-columns: minmax(10rem, 1fr) auto;
	gap: 0.45rem 0.65rem;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
	padding: 0.95rem 1rem 1.05rem;
	border: 1px solid rgba(201, 168, 76, 0.38);
	background: rgba(10, 8, 6, 0.72);
	box-sizing: border-box;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon label,
body.asmon-shop--cart .asmon-shop-invoice .coupon .asmon-cf7__label {
	grid-column: 1 / -1;
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0;
	clip: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	white-space: normal !important;
}

body.asmon-shop--cart .asmon-shop-invoice #coupon_code,
body.asmon-shop--cart .asmon-shop-invoice .coupon .input-text {
	grid-column: 1;
	width: 100% !important;
	min-width: 0;
}

body.asmon-shop--cart .asmon-shop-invoice .coupon .button {
	grid-column: 2;
	width: auto !important;
	min-height: 2.7rem;
	white-space: nowrap;
}

html.asmon-shop-js body.asmon-shop--cart .asmon-shop-invoice__update,
html.asmon-shop-js body.asmon-shop--cart .asmon-shop-invoice button[name="update_cart"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals {
	padding: 1.05rem 1.15rem 1.2rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background: rgba(10, 8, 6, 0.55);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals > h2 {
	margin: 0 0 0.9rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table {
	display: table;
	width: 100%;
	margin: 0;
	border: 0;
	background: transparent;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table th,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table td {
	display: table-cell;
	padding: 0.7rem 0;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.14);
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table th {
	text-align: left;
	color: #c4b89a;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.95rem;
	letter-spacing: 0;
	text-transform: none;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals table.shop_table td {
	text-align: right;
	color: #e8dec8;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--cart .asmon-shop-invoice .cart_totals .order-total th,
body.asmon-shop--cart .asmon-shop-invoice .cart_totals .order-total td {
	padding-top: 1rem;
	border-bottom: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent, #c9a84c);
	font-size: 1.08rem;
}

body.asmon-shop--cart .asmon-shop-invoice .wc-proceed-to-checkout {
	margin-top: 1.15rem;
}

body.asmon-shop--cart .asmon-shop-invoice .wc-proceed-to-checkout .checkout-button,
body.asmon-shop--cart .asmon-shop-invoice .wc-proceed-to-checkout a.button {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #1a140c !important;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 48%, #b08e3a 100%) !important;
	border: 1px solid #e6cc78 !important;
	box-shadow:
		0 0 16px rgba(201, 168, 76, 0.42),
		inset 0 1px 0 rgba(255, 248, 228, 0.5);
}

body.asmon-shop--cart .asmon-shop-invoice--empty {
	display: block;
}

body.asmon-shop--cart .asmon-shop-invoice__empty {
	padding: 1.75rem 0.25rem 0.5rem;
}

body.asmon-shop--cart .asmon-shop-invoice__empty .cart-empty,
body.asmon-shop--cart .asmon-shop-invoice__empty .woocommerce-info {
	margin: 0 0 1.15rem;
	color: #e8dec8;
	border: 0;
	background: transparent;
}

body.asmon-shop--cart .asmon-shop-invoice .woocommerce-remove-coupon {
	margin-left: 0.4rem;
	color: var(--asmon-accent, #c9a84c) !important;
}

@media (max-width: 759px) {
	body.asmon-shop--cart .asmon-shop-invoice {
		padding: 1.05rem 0.9rem 1.2rem;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart thead {
		display: none;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr.asmon-shop-invoice__row,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td {
		display: block;
		width: 100%;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr.asmon-shop-invoice__row {
		margin: 0 0 1rem;
		padding: 0 0 0.85rem;
		border-bottom: 1px solid rgba(201, 168, 76, 0.22);
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.85rem;
		padding: 0.4rem 0;
		border: 0;
		text-align: right;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td.product-name {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		text-align: left;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td.product-name .asmon-shop-invoice__item {
		grid-column: 1;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td.product-remove {
		position: absolute;
		top: 0.15rem;
		right: 0;
		width: auto;
		padding: 0;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr.asmon-shop-invoice__row {
		position: relative;
		padding-right: 2.1rem;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td::before {
		content: attr(data-title);
		margin-right: auto;
		font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
		font-size: 0.55rem;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--asmon-accent, #c9a84c);
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td.product-name::before,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody td.product-remove::before {
		content: none;
	}

	body.asmon-shop--cart .asmon-shop-invoice .coupon,
	body.asmon-shop--cart .asmon-shop-invoice .asmon-shop-invoice__coupon {
		grid-template-columns: 1fr;
	}

	body.asmon-shop--cart .asmon-shop-invoice .coupon .button {
		width: 100% !important;
	}

	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-price,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-quantity,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart .product-subtotal {
		text-align: right;
	}

	body.asmon-shop--cart .asmon-shop-invoice__actions-row,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr.asmon-shop-invoice__actions-row,
	body.asmon-shop--cart .asmon-shop-invoice table.shop_table.cart tbody tr.asmon-shop-invoice__actions-row td {
		display: block;
		padding-right: 0;
		border: 0;
	}
}

body.asmon-shop--checkout .woocommerce form .input-text,
body.asmon-shop--checkout .woocommerce form input[type="text"]:not(.select2-search__field),
body.asmon-shop--checkout .woocommerce form input[type="email"],
body.asmon-shop--checkout .woocommerce form input[type="tel"],
body.asmon-shop--checkout .woocommerce form input[type="password"],
body.asmon-shop--checkout .woocommerce form textarea,
body.asmon-shop--checkout .woocommerce form select:not(.select2-hidden-accessible),
body.asmon-shop--checkout .select2-container .select2-selection--single,
body.asmon-shop--account .woocommerce form .input-text,
body.asmon-shop--account .woocommerce form input[type="text"]:not(.select2-search__field),
body.asmon-shop--account .woocommerce form input[type="email"],
body.asmon-shop--account .woocommerce form input[type="tel"],
body.asmon-shop--account .woocommerce form input[type="password"],
body.asmon-shop--account .woocommerce form textarea,
body.asmon-shop--account .woocommerce form select {
	border-color: rgba(201, 168, 76, 0.42) !important;
	background: #120e0a !important;
	color: #e8dec8 !important;
	-webkit-text-fill-color: #e8dec8 !important;
}

body.asmon-shop--checkout .woocommerce form label:not(.checkbox):not(.woocommerce-form__label-for-checkbox):not(.woocommerce-form__label-for-radio),
body.asmon-shop--account .woocommerce form label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper,
body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper,
body.asmon-shop--checkout .woocommerce-account-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.15rem 1.25rem;
}

@media (min-width: 640px) {
	body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper,
	body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper .form-row,
body.asmon-shop--checkout .woocommerce-account-fields .form-row {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0;
	padding: 0;
	min-width: 0;
}

body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
body.asmon-shop--checkout .woocommerce-account-fields .form-row {
	grid-column: 1 / -1;
}

@media (min-width: 640px) {
	body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	body.asmon-shop--checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	body.asmon-shop--checkout .woocommerce-shipping-fields__field-wrapper .form-row-last,
	body.asmon-shop--checkout #billing_postcode_field,
	body.asmon-shop--checkout #billing_city_field,
	body.asmon-shop--checkout #billing_phone_field,
	body.asmon-shop--checkout #billing_email_field,
	body.asmon-shop--checkout #shipping_postcode_field,
	body.asmon-shop--checkout #shipping_city_field {
		grid-column: auto;
	}
}

body.asmon-shop--checkout .woocommerce form .form-row:has(> .woocommerce-input-wrapper > input[type="hidden"]:only-child),
body.asmon-shop--checkout .woocommerce form .form-row:has(> input[type="hidden"]:only-child) {
	display: none !important;
}

body.asmon-shop--checkout .woocommerce-input-wrapper {
	display: block;
	position: relative;
	width: 100%;
}

body.asmon-shop--checkout .woocommerce form .form-row .required {
	color: var(--asmon-accent, #c9a84c);
	letter-spacing: 0;
	text-decoration: none;
}

body.asmon-shop--checkout #order_comments {
	min-height: 7.5rem;
	resize: vertical;
}

body.asmon-shop--checkout .woocommerce form .form-row label.checkbox,
body.asmon-shop--checkout .woocommerce form .form-row label.woocommerce-form__label-for-checkbox,
body.asmon-shop--checkout .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin: 0;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
	font-size: 0.95rem;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.5;
	color: #d8ceb8 !important;
	cursor: pointer;
}

body.asmon-shop--checkout .woocommerce form .form-row label.checkbox input,
body.asmon-shop--checkout .woocommerce-form__label-for-checkbox input,
body.asmon-shop--checkout .woocommerce form input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.2rem 0 0;
	accent-color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop--checkout #order_review_heading,
body.asmon-shop--checkout .woocommerce-billing-fields h3,
body.asmon-shop--checkout .woocommerce-additional-fields h3 {
	color: #e8dec8;
}

body.asmon-shop--checkout .woocommerce-checkout-review-order-table .product-name,
body.asmon-shop--checkout .woocommerce-checkout-review-order-table td {
	color: #e8dec8;
}
body.asmon-shop--checkout form.checkout {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 960px) {
	body.asmon-shop--checkout form.checkout {
		grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
		align-items: start;
		column-gap: clamp(1.5rem, 3vw, 2.5rem);
	}

	body.asmon-shop--checkout .ct-customer-details {
		grid-column: 1;
		min-width: 0;
	}

	body.asmon-shop--checkout #customer_details,
	body.asmon-shop--checkout .woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}

	body.asmon-shop--checkout .ct-order-review {
		grid-column: 2;
		position: sticky;
		top: calc(var(--asmon-toc-stick-top, 4.5rem) + 1rem);
		align-self: start;
		min-width: 0;
	}

	body.asmon-shop--checkout .ct-order-review > #order_review_heading {
		margin-top: 0;
	}

	body.asmon-shop--checkout form.checkout > .woocommerce-NoticeGroup {
		grid-column: 1 / -1;
	}
}

body.asmon-shop #order_review,
body.asmon-shop #add_payment_method #payment,
body.asmon-shop .woocommerce-checkout-review-order {
	position: relative;
	padding: 1.2rem 1.25rem 1.35rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background:
		linear-gradient(180deg, rgba(32, 25, 16, 0.5) 0%, rgba(12, 9, 7, 0.86) 100%);
}

body.asmon-shop .woocommerce-form-coupon {
	display: grid;
	grid-template-columns: minmax(10rem, 1fr) auto;
	gap: 0.55rem 0.65rem;
	margin: 0 0 1.25rem;
	padding: 0.95rem 1rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background: rgba(10, 8, 6, 0.62);
}

body.asmon-shop .woocommerce-form-coupon .form-row-first,
body.asmon-shop .woocommerce-form-coupon .form-row-last {
	float: none;
	width: auto;
	margin: 0;
}

body.asmon-shop .woocommerce-checkout-review-order-table th,
body.asmon-shop .woocommerce-checkout-review-order-table td {
	padding: 0.7rem 0;
	border-color: rgba(201, 168, 76, 0.16);
	color: #e8dec8;
}

body.asmon-shop .woocommerce-checkout-review-order-table .order-total th,
body.asmon-shop .woocommerce-checkout-review-order-table .order-total td {
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent, #c9a84c);
}

body.asmon-shop .blockUI.blockOverlay,
body.asmon-shop .blockUI.blockMsg,
body.asmon-shop .blockUI {
	background: transparent !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Compte : icônes au langage galerie / languette */
body.asmon-shop--account .asmon-shop-account-nav li::before,
body.asmon-shop--account .asmon-shop-account-nav-mobile li::before {
	display: none;
}

body.asmon-shop--account .asmon-shop-account-nav a,
body.asmon-shop--account .asmon-shop-account-nav-mobile a {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: #d8ceb8;
}

body.asmon-shop--account .asmon-shop-account-nav__icon {
	display: inline-grid;
	place-items: center;
	width: 1.15rem;
	height: 1.15rem;
	color: rgba(201, 168, 76, 0.88);
	filter: drop-shadow(0 1px 5px rgba(0, 0, 0, 0.55));
	transition: color 0.25s ease, filter 0.3s ease, transform 0.35s ease;
}

body.asmon-shop--account .asmon-shop-account-nav__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

body.asmon-shop--account .asmon-shop-account-nav a:hover .asmon-shop-account-nav__icon,
body.asmon-shop--account .asmon-shop-account-nav a:focus-visible .asmon-shop-account-nav__icon,
body.asmon-shop--account .asmon-shop-account-nav li.is-active .asmon-shop-account-nav__icon {
	color: rgba(255, 248, 230, 0.98);
	transform: scale(1.12);
	filter: drop-shadow(0 0 10px rgba(201, 168, 76, 0.55));
}

body.asmon-shop--account .asmon-shop-account-nav a:hover,
body.asmon-shop--account .asmon-shop-account-nav a:focus-visible,
body.asmon-shop--account .asmon-shop-account-nav li.is-active a {
	color: #e8dec8;
}

body.asmon-shop .woocommerce-MyAccount-content,
body.asmon-shop .woocommerce-MyAccount-content p,
body.asmon-shop .woocommerce-MyAccount-content td,
body.asmon-shop .woocommerce-MyAccount-content address {
	color: #d8ceb8;
}

body.asmon-shop .woocommerce-MyAccount-content a.button,
body.asmon-shop .woocommerce-orders-table__cell-order-actions .button {
	min-height: 2.4rem;
}

@media (max-width: 639px) {
	body.asmon-shop .woocommerce-form-coupon {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.asmon-shop--account .asmon-shop-account-nav a:hover .asmon-shop-account-nav__icon,
	body.asmon-shop--account .asmon-shop-account-nav li.is-active .asmon-shop-account-nav__icon {
		transform: none;
	}
}

body.asmon-shop .added_to_cart,
body.asmon-shop a.added_to_cart,
body.asmon-shop .wc-block-cart__submit-button {
	font-size: 0.75rem;
}

/* —— Commande reçue (récapitulatif) —— */
body.asmon-page-template.asmon-shop--order_received .asmon-shop-receipt :where(p, li, dd, td, th, label, address),
body.asmon-shop--order_received .asmon-shop-receipt :where(p, li, dd, td, th, label, address, .amount, .woocommerce-Price-amount, bdi) {
	color: var(--asmon-text-bright, #e8dec8) !important;
}

body.asmon-page-template.asmon-shop--order_received .asmon-shop-receipt :where(dt, h2, .asmon-shop-invoice__kicker, .asmon-shop-receipt__heading, .asmon-shop-receipt__notice-title, .asmon-callout__title),
body.asmon-shop--order_received .asmon-shop-receipt :where(dt, h2, .asmon-shop-invoice__kicker, .asmon-shop-receipt__heading, .asmon-shop-receipt__notice-title, .asmon-callout__title) {
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .woocommerce,
body.asmon-shop--order_received .woocommerce-order,
body.asmon-shop--order_received .asmon-shop-receipt {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	color: var(--asmon-text-bright, #e8dec8);
}

body.asmon-shop--order_received ul.woocommerce-order-overview,
body.asmon-shop--order_received .woocommerce-order-details,
body.asmon-shop--order_received .woocommerce-customer-details,
body.asmon-shop--order_received .woocommerce-order-downloads,
body.asmon-shop--order_received h2.woocommerce-order-details__title,
body.asmon-shop--order_received .woocommerce-column__title {
	display: none;
}

body.asmon-shop--order_received .asmon-shop-receipt__extra:has(.woocommerce-order-details),
body.asmon-shop--order_received .asmon-shop-receipt__extra:has(.woocommerce-customer-details) {
	display: none;
}

body.asmon-shop--order_received .asmon-shop-invoice.asmon-shop-receipt {
	display: grid;
	gap: 1.5rem;
	padding: 1.35rem 1.35rem 1.5rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background:
		linear-gradient(180deg, rgba(32, 25, 16, 0.55) 0%, rgba(12, 9, 7, 0.88) 100%);
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
	position: relative;
}

body.asmon-shop--order_received .asmon-shop-receipt.is-cart-busy {
	min-height: 12rem;
}

body.asmon-shop--order_received .asmon-shop-receipt__banner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding: 0 0.15rem 0.95rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.32);
}

body.asmon-shop--order_received .asmon-shop-invoice__kicker,
body.asmon-shop--order_received .asmon-shop-invoice__date,
body.asmon-shop--order_received .asmon-shop-invoice__count {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

body.asmon-shop--order_received .asmon-shop-invoice__kicker {
	font-size: 0.72rem;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .asmon-shop-invoice__count {
	margin-top: 0.35rem;
	font-size: 1.05rem;
	letter-spacing: 0.12em;
	color: var(--asmon-text-bright, #e8dec8) !important;
}

body.asmon-shop--order_received .asmon-shop-invoice__date {
	margin-top: 0.28rem;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	color: #c4b89a !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__notice {
	margin: 0;
	padding: 1rem 1.15rem 1.05rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	border-left: 2px solid var(--asmon-accent, #c9a84c);
	background: rgba(10, 8, 6, 0.42);
}

body.asmon-shop--order_received .asmon-shop-receipt__notice-title,
body.asmon-shop--order_received .asmon-shop-receipt__notice .asmon-callout__title {
	margin: 0 0 0.35rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.82rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__notice p {
	margin: 0;
	color: var(--asmon-text-bright, #e8dec8) !important;
	line-height: 1.55;
}

body.asmon-shop--order_received .asmon-shop-receipt__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
}

@media (min-width: 720px) {
	body.asmon-shop--order_received .asmon-shop-receipt__meta {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.asmon-shop--order_received .asmon-shop-receipt__meta > div {
	display: grid;
	gap: 0.28rem;
	padding: 0.85rem 0.95rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background: rgba(10, 8, 6, 0.55);
}

body.asmon-shop--order_received .asmon-shop-receipt__meta dt {
	margin: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__meta dd {
	margin: 0;
	color: var(--asmon-text-bright, #e8dec8) !important;
	font-size: 1rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

body.asmon-shop--order_received .asmon-shop-receipt__body {
	display: grid;
	gap: 1.35rem;
}

@media (min-width: 960px) {
	body.asmon-shop--order_received .asmon-shop-receipt__body {
		grid-template-columns: minmax(0, 1.65fr) minmax(17.5rem, 0.78fr);
		align-items: start;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__totals {
		position: sticky;
		top: 5.5rem;
	}
}

body.asmon-shop--order_received .asmon-shop-receipt__table,
body.asmon-shop--order_received .asmon-shop-receipt__table thead,
body.asmon-shop--order_received .asmon-shop-receipt__table tbody,
body.asmon-shop--order_received .asmon-shop-receipt__table tr,
body.asmon-shop--order_received .asmon-shop-receipt__table th,
body.asmon-shop--order_received .asmon-shop-receipt__table td {
	display: revert;
	width: auto;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.asmon-shop--order_received .asmon-shop-receipt__table {
	width: 100%;
	border-collapse: collapse;
}

body.asmon-shop--order_received .asmon-shop-receipt__table thead th {
	padding: 0 0.35rem 0.7rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.32);
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.62rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
	text-align: left;
}

body.asmon-shop--order_received .asmon-shop-receipt__table thead th.product-quantity,
body.asmon-shop--order_received .asmon-shop-receipt__table thead th.product-subtotal,
body.asmon-shop--order_received .asmon-shop-receipt__table td.product-quantity,
body.asmon-shop--order_received .asmon-shop-receipt__table td.product-subtotal {
	text-align: right;
}

body.asmon-shop--order_received .asmon-shop-receipt__table td {
	padding: 0.95rem 0.35rem;
	border-bottom: 1px solid rgba(201, 168, 76, 0.16);
	color: var(--asmon-text-bright, #e8dec8) !important;
	vertical-align: middle;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--order_received .asmon-shop-invoice__item {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-width: 0;
}

body.asmon-shop--order_received .asmon-shop-invoice__thumb,
body.asmon-shop--order_received .asmon-shop-invoice__thumb img {
	display: block;
	width: 3.85rem;
	max-width: 3.85rem;
	height: auto;
	border: 1px solid rgba(201, 168, 76, 0.28);
	background: #0a0806;
}

body.asmon-shop--order_received .asmon-shop-invoice__name {
	display: block;
	color: var(--asmon-text-bright, #e8dec8) !important;
	text-decoration: none !important;
	font-size: 1rem;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

body.asmon-shop--order_received .asmon-shop-invoice__name:hover,
body.asmon-shop--order_received .asmon-shop-invoice__name:focus-visible {
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .wc-item-meta {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	color: #c4b89a !important;
	font-size: 0.82rem;
	line-height: 1.45;
}

body.asmon-shop--order_received .wc-item-meta p {
	margin: 0;
}

body.asmon-shop--order_received .asmon-shop-invoice__qty-solo {
	display: inline-grid;
	place-items: center;
	min-width: 2.35rem;
	min-height: 2.1rem;
	margin-left: auto;
	padding: 0 0.4rem;
	border: 1px solid rgba(201, 168, 76, 0.28);
	background: rgba(10, 8, 6, 0.42);
	color: var(--asmon-text-bright, #e8dec8) !important;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--order_received .asmon-shop-receipt__totals {
	padding: 1.05rem 1.15rem 1.2rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background: rgba(10, 8, 6, 0.55);
}

body.asmon-shop--order_received .asmon-shop-receipt__heading {
	margin: 0 0 0.9rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--asmon-accent, #c9a84c) !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__totals table {
	width: 100%;
	border-collapse: collapse;
}

body.asmon-shop--order_received .asmon-shop-receipt__totals th,
body.asmon-shop--order_received .asmon-shop-receipt__totals td {
	padding: 0.7rem 0;
	border: 0;
	border-bottom: 1px solid rgba(201, 168, 76, 0.14);
}

body.asmon-shop--order_received .asmon-shop-receipt__totals th {
	text-align: left;
	color: #c4b89a !important;
	font-weight: 400;
	font-size: 0.95rem;
	letter-spacing: 0;
	text-transform: none;
	font-family: var(--asmon-font-body, "Crimson Pro", Georgia, serif);
}

body.asmon-shop--order_received .asmon-shop-receipt__totals td {
	text-align: right;
	color: var(--asmon-text-bright, #e8dec8) !important;
	font-variant-numeric: tabular-nums;
}

body.asmon-shop--order_received .asmon-shop-receipt__totals .order_total th,
body.asmon-shop--order_received .asmon-shop-receipt__totals .order_total td {
	padding-top: 1rem;
	border-bottom: 0;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	color: var(--asmon-accent, #c9a84c) !important;
	font-size: 1.08rem;
}

body.asmon-shop--order_received .asmon-shop-receipt__addresses {
	display: grid;
	gap: 1rem;
}

@media (min-width: 720px) {
	body.asmon-shop--order_received .asmon-shop-receipt__addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.asmon-shop--order_received .asmon-shop-receipt__addresses:has(> :only-child) {
		grid-template-columns: minmax(0, 28rem);
	}
}

body.asmon-shop--order_received .asmon-shop-receipt__card {
	padding: 1.05rem 1.15rem 1.2rem;
	border: 1px solid rgba(201, 168, 76, 0.34);
	background: rgba(10, 8, 6, 0.55);
}

body.asmon-shop--order_received .asmon-shop-receipt__card address,
body.asmon-shop--order_received .asmon-shop-receipt__card p {
	margin: 0;
	font-style: normal;
	color: var(--asmon-text-bright, #e8dec8) !important;
	font-size: 1rem !important;
	line-height: 1.6;
}

body.asmon-shop--order_received .asmon-shop-receipt__contact {
	margin-top: 0.45rem;
	color: #c4b89a !important;
	font-size: 0.92rem !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__gateway,
body.asmon-shop--order_received .asmon-shop-receipt__extra {
	padding: 1rem 1.1rem;
	border: 1px solid rgba(201, 168, 76, 0.22);
	background: rgba(10, 8, 6, 0.28);
	color: #d8ceb8;
}

body.asmon-shop--order_received .asmon-shop-receipt__gateway p,
body.asmon-shop--order_received .asmon-shop-receipt__extra p {
	margin: 0 0 0.65rem;
}

body.asmon-shop--order_received .asmon-shop-receipt__actions {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0.75rem;
	align-items: stretch;
	padding-top: 0.35rem;
}

body.asmon-shop--order_received a.button.asmon-shop-receipt__continue,
body.asmon-shop--order_received .asmon-shop-receipt__continue {
	position: relative;
	overflow: visible !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	min-height: 2.85rem;
	padding: 0.55rem 1.2rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #1a140c !important;
	background: linear-gradient(180deg, #e8d07a 0%, #c9a84c 48%, #b08e3a 100%) !important;
	border: 1px solid #e6cc78 !important;
	box-shadow:
		0 0 16px rgba(201, 168, 76, 0.42),
		0 0 28px rgba(201, 168, 76, 0.18),
		inset 0 1px 0 rgba(255, 248, 228, 0.5);
	animation: asmon-shop-cta-glow 7.5s ease-in-out infinite;
	transition:
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

body.asmon-shop .woocommerce a.button.asmon-shop-receipt__continue:hover,
body.asmon-shop .woocommerce a.button.asmon-shop-receipt__continue:focus-visible,
body.asmon-shop--order_received a.button.asmon-shop-receipt__continue:hover,
body.asmon-shop--order_received a.button.asmon-shop-receipt__continue:focus-visible,
body.asmon-shop--order_received .asmon-shop-receipt__continue:hover,
body.asmon-shop--order_received .asmon-shop-receipt__continue:focus-visible {
	color: #140f0a !important;
	background: linear-gradient(180deg, #f0dc88 0%, #d4b456 48%, #c9a84c 100%) !important;
	border-color: #f0dc88 !important;
	box-shadow: 0 0 26px rgba(201, 168, 76, 0.52);
	transform: translateY(-2px);
	animation-play-state: paused;
}

body.asmon-shop--order_received .asmon-shop-receipt__continue .asmon-shop-tab__embers {
	z-index: 2;
	overflow: visible;
}

body.asmon-shop--order_received .asmon-shop-receipt__continue .asmon-shop-tab__ember {
	background: #f3e3a4;
	box-shadow:
		0 0 12px rgba(255, 236, 170, 0.9),
		0 0 22px rgba(201, 168, 76, 0.45);
}

body.asmon-shop--order_received .asmon-shop-receipt__continue .asmon-shop-cta__sheen {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

body.asmon-shop--order_received .asmon-shop-receipt__continue .asmon-shop-cta__sheen::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		100deg,
		transparent 0%,
		rgba(255, 248, 228, 0.12) 32%,
		rgba(255, 252, 245, 0.32) 50%,
		rgba(255, 248, 228, 0.12) 68%,
		transparent 100%
	);
	transform: translateX(-140%) skewX(-18deg);
	animation: asmon-shop-cta-shine 11s ease-in-out infinite;
}

body.asmon-shop--order_received .asmon-shop-receipt__ghost {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	min-height: 2.85rem;
	padding: 0.5rem 1rem;
	font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none !important;
	color: #e8d07a !important;
	border: 1px solid rgba(201, 168, 76, 0.5) !important;
	background: transparent !important;
	box-shadow: none;
}

body.asmon-shop--order_received .asmon-shop-receipt__ghost:hover,
body.asmon-shop--order_received .asmon-shop-receipt__ghost:focus-visible {
	color: var(--asmon-text-bright, #e8dec8) !important;
	border-color: var(--asmon-accent, #c9a84c) !important;
	box-shadow: 0 0 18px rgba(201, 168, 76, 0.18);
	transform: translateY(-2px);
	background: transparent !important;
}

body.asmon-shop--order_received .asmon-shop-receipt__empty {
	margin: 0;
	color: #c4b89a;
}

@media (max-width: 719px) {
	body.asmon-shop--order_received .asmon-shop-invoice.asmon-shop-receipt {
		padding: 1rem 0.95rem 1.15rem;
		gap: 1.15rem;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	body.asmon-shop--order_received .asmon-shop-invoice__date {
		margin-top: 0;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__table thead {
		display: none;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__table,
	body.asmon-shop--order_received .asmon-shop-receipt__table tbody,
	body.asmon-shop--order_received .asmon-shop-receipt__table tr,
	body.asmon-shop--order_received .asmon-shop-receipt__table td {
		display: block;
		width: 100%;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__table tr {
		padding: 0.85rem 0;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__table td.product-quantity,
	body.asmon-shop--order_received .asmon-shop-receipt__table td.product-subtotal {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		text-align: right;
		padding-top: 0.35rem;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__table td.product-quantity::before,
	body.asmon-shop--order_received .asmon-shop-receipt__table td.product-subtotal::before {
		content: attr(data-title);
		color: #c4b89a !important;
		font-family: var(--asmon-font-display, "Cinzel", Georgia, serif);
		font-size: 0.62rem;
		letter-spacing: 0.14em;
		text-transform: uppercase;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.asmon-shop--order_received .asmon-shop-receipt__continue .asmon-shop-cta__sheen::after,
	body.asmon-shop--order_received .asmon-shop-receipt .asmon-shop-tab__ember {
		animation: none;
	}

	body.asmon-shop--order_received .asmon-shop-receipt__ghost:hover,
	body.asmon-shop--order_received .asmon-shop-receipt__ghost:focus-visible,
	body.asmon-shop--order_received .asmon-shop-receipt__continue:hover,
	body.asmon-shop--order_received .asmon-shop-receipt__continue:focus-visible {
		transform: none;
	}
}


