/**
 * Checkout page + product reviews — themed layout and animations.
 */

/* -------------------------------------------------------------------------- */
/* Shared animations                                                          */
/* -------------------------------------------------------------------------- */

@keyframes xm-fade-up {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes xm-pulse-soft {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(255, 103, 0, 0.18);
	}

	50% {
		box-shadow: 0 0 0 10px rgba(255, 103, 0, 0);
	}
}

.xm-animate-fade-up {
	animation: xm-fade-up 0.55s ease both;
}

.xm-animate-delay-1 {
	animation-delay: 0.08s;
}

.xm-animate-delay-2 {
	animation-delay: 0.16s;
}

.xm-animate-delay-3 {
	animation-delay: 0.24s;
}

@media (prefers-reduced-motion: reduce) {
	.xm-animate-fade-up {
		animation: none;
	}
}

/* -------------------------------------------------------------------------- */
/* Checkout header + steps                                                    */
/* -------------------------------------------------------------------------- */

.xm-checkout-header,
.xm-checkout-hero {
	margin-bottom: var(--xm-space-md);
}

.xm-checkout-header__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-bottom: var(--xm-space-md);
	font-size: var(--xm-font-size-sm);
	font-weight: var(--xm-font-weight-medium);
	color: var(--xm-color-primary);
	text-decoration: none;
}

.xm-checkout-header__back:hover {
	color: var(--xm-color-primary-hover);
}

.xm-checkout-header__eyebrow,
.xm-checkout-hero__eyebrow {
	margin: 0 0 var(--xm-space-xs);
	font-size: var(--xm-font-size-xs);
	font-weight: var(--xm-font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--xm-color-primary);
}

.xm-checkout-header__title,
.xm-checkout-hero__title {
	margin: 0 0 var(--xm-space-md);
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: var(--xm-font-weight-bold);
	line-height: 1.15;
}

.xm-checkout-hero {
	padding: var(--xm-space-xl);
	border-radius: var(--xm-radius-lg);
	background: linear-gradient(135deg, var(--xm-color-primary-soft) 0%, var(--xm-color-bg) 55%);
	border: 1px solid var(--xm-color-primary-soft-border);
}

.xm-checkout-hero--success {
	background: linear-gradient(135deg, #ecfdf3 0%, var(--xm-color-bg) 60%);
	border-color: rgba(46, 125, 50, 0.18);
}

/* Trust strip */
.xm-checkout-trust {
	display: flex;
	flex-direction: column;
	gap: var(--xm-space-md);
	margin-bottom: var(--xm-space-xl);
	padding: var(--xm-space-md) var(--xm-space-lg);
	background: var(--xm-color-white);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
}

.xm-checkout-trust__secure {
	display: flex;
	align-items: center;
	gap: var(--xm-space-sm);
	font-size: var(--xm-font-size-xs);
	color: var(--xm-color-text-muted);
}

.xm-checkout-trust__lock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: var(--xm-radius-full);
	background: rgba(46, 125, 50, 0.1);
	color: #2e7d32;
	flex-shrink: 0;
}

.xm-checkout-trust__payments {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--xm-space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.xm-checkout-trust__payments img {
	display: block;
	height: 22px;
	width: auto;
	max-width: 48px;
	object-fit: contain;
	opacity: 0.9;
}

.xm-checkout-trust--inline {
	margin-top: var(--xm-space-md);
	margin-bottom: 0;
}

.xm-checkout-below-shipping {
	display: flex;
	flex-direction: column;
	gap: var(--xm-space-md);
	grid-column: 1 / -1;
}

.xm-checkout-below-shipping .xm-checkout-trust {
	margin-bottom: 0;
}

/* Never show trust/coupon above the checkout form (legacy hook output) */
.xm-checkout-page .xm-woocommerce--checkout > .xm-container > .xm-checkout-trust,
.xm-checkout-page .xm-woocommerce--checkout > .xm-container > .xm-checkout-coupon,
.xm-checkout-page .xm-woocommerce--checkout > .xm-container > .woocommerce-form-coupon-toggle {
	display: none !important;
}

.xm-checkout-coupon .woocommerce-form-coupon-toggle,
.xm-checkout-coupon .wc-block-components-notice-banner.is-info {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

.xm-checkout-coupon .woocommerce-form-coupon-toggle .showcoupon,
.xm-checkout-coupon .wc-block-components-notice-banner__content {
	display: block;
	padding: var(--xm-space-md) var(--xm-space-lg);
	background: #e3f2fd;
	border: 1px solid rgba(21, 101, 192, 0.15);
	border-left: 4px solid #1565c0;
	border-radius: var(--xm-radius-lg);
	color: var(--xm-color-text);
	font-size: var(--xm-font-size-sm);
	line-height: 1.45;
}

.xm-checkout-coupon .woocommerce-form-coupon-toggle .showcoupon {
	text-decoration: none;
	font-weight: var(--xm-font-weight-medium);
}

.xm-checkout-coupon .woocommerce-form-coupon-toggle .showcoupon:hover {
	color: #1565c0;
}

.xm-checkout-coupon .checkout_coupon {
	margin-top: var(--xm-space-sm);
	padding: var(--xm-space-md);
	background: var(--xm-color-white);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
}

.xm-checkout-billing__actions {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--xm-space-lg);
	padding-top: var(--xm-space-md);
	border-top: 1px solid var(--xm-color-border);
}

.xm-checkout-billing__save {
	min-width: 200px;
}

.xm-checkout-panel--billing:not([open]) .xm-checkout-panel__hint {
	display: none;
}

.xm-checkout-panel--billing[open] .xm-checkout-panel__preview {
	display: none;
}

.xm-checkout-panel--always-open > .xm-checkout-panel__toggle {
	cursor: default;
	pointer-events: none;
}

.xm-checkout-panel--always-open .xm-checkout-panel__chevron {
	display: none;
}

.xm-payment-note {
	margin: var(--xm-space-sm) 0 0;
	padding: var(--xm-space-sm) var(--xm-space-md);
	font-size: var(--xm-font-size-xs);
	line-height: 1.45;
	border-radius: var(--xm-radius-md);
}

.xm-payment-note--info {
	color: #1565c0;
	background: #e3f2fd;
	border: 1px solid rgba(21, 101, 192, 0.15);
}

.xm-checkout-steps {
	display: flex;
	flex-wrap: wrap;
	gap: var(--xm-space-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.xm-checkout-steps__item {
	display: flex;
	align-items: center;
	gap: var(--xm-space-sm);
	color: var(--xm-color-text-muted);
	font-size: var(--xm-font-size-sm);
}

.xm-checkout-steps__item.is-complete,
.xm-checkout-steps__item.is-active {
	color: var(--xm-color-text);
}

.xm-checkout-steps__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--xm-radius-full);
	background: var(--xm-color-bg-alt);
	border: 2px solid var(--xm-color-border);
	font-size: var(--xm-font-size-xs);
	font-weight: var(--xm-font-weight-bold);
	transition: background-color var(--xm-transition), border-color var(--xm-transition), transform var(--xm-transition);
}

.xm-checkout-steps__item.is-complete .xm-checkout-steps__dot,
.xm-checkout-steps__item.is-active .xm-checkout-steps__dot {
	background: var(--xm-color-primary);
	border-color: var(--xm-color-primary);
	color: var(--xm-color-white);
}

.xm-checkout-steps__item.is-active .xm-checkout-steps__dot {
	animation: xm-pulse-soft 2s ease infinite;
}

.xm-checkout-steps__label {
	font-weight: var(--xm-font-weight-medium);
	text-decoration: none;
	color: inherit;
}

.xm-checkout-steps__label:hover {
	color: var(--xm-color-primary);
}

/* -------------------------------------------------------------------------- */
/* Checkout layout + collapsible panels                                       */
/* -------------------------------------------------------------------------- */

.xm-woocommerce--checkout {
	padding-top: var(--xm-space-md);
}

.xm-checkout-layout.xm-woocommerce--checkout .xm-container,
.xm-checkout-page .xm-woocommerce--checkout .xm-container {
	max-width: 1100px;
}

.xm-checkout__layout {
	display: flex;
	flex-direction: column;
	gap: var(--xm-space-lg);
}

.xm-checkout__main,
.xm-checkout__customer {
	display: flex;
	flex-direction: column;
	gap: var(--xm-space-lg);
}

/* Collapsible panel */
.xm-checkout-panel {
	overflow: hidden;
	background: var(--xm-color-white);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
	box-shadow: var(--xm-shadow-sm);
}

.xm-checkout-panel__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--xm-space-md);
	padding: var(--xm-space-md) var(--xm-space-lg);
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.xm-checkout-panel__toggle::-webkit-details-marker {
	display: none;
}

.xm-checkout-panel__heading {
	display: flex;
	align-items: center;
	gap: var(--xm-space-md);
	min-width: 0;
	flex: 1;
}

.xm-checkout-panel__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--xm-radius-md);
	flex-shrink: 0;
	color: var(--xm-color-primary);
	background: var(--xm-color-primary-soft);
	border: 1px solid var(--xm-color-primary-soft-border);
}

.xm-checkout-panel__icon--shipping {
	color: #1565c0;
	background: #e3f2fd;
	border-color: rgba(21, 101, 192, 0.15);
}

.xm-checkout-panel__icon--bag {
	color: var(--xm-color-primary);
}

.xm-checkout-panel__titles {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.xm-checkout-panel__title {
	font-size: var(--xm-font-size-md);
	font-weight: var(--xm-font-weight-bold);
	line-height: 1.25;
	color: var(--xm-color-text);
}

.xm-checkout-panel__hint,
.xm-checkout-panel__preview {
	font-size: var(--xm-font-size-xs);
	color: var(--xm-color-text-muted);
	line-height: 1.35;
}

.xm-checkout-panel__preview {
	font-weight: var(--xm-font-weight-medium);
	color: var(--xm-color-primary);
}

.xm-checkout-panel:not([open]) .xm-checkout-panel__preview {
	display: block;
}

.xm-checkout-panel[open] .xm-checkout-panel__preview {
	display: none;
}

.xm-checkout-panel__chevron {
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--xm-color-text-muted);
	border-bottom: 2px solid var(--xm-color-text-muted);
	transform: rotate(45deg);
	transition: transform var(--xm-transition), border-color var(--xm-transition);
	flex-shrink: 0;
	margin-top: -4px;
}

.xm-checkout-panel[open] .xm-checkout-panel__chevron {
	transform: rotate(-135deg);
	margin-top: 4px;
	border-color: var(--xm-color-primary);
}

.xm-checkout-panel__body {
	padding: 0 var(--xm-space-lg) var(--xm-space-lg);
	border-top: 1px solid var(--xm-color-border);
}

.xm-checkout-panel--summary .xm-checkout-panel__body {
	padding-top: var(--xm-space-md);
}

.xm-checkout__summary {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}

.xm-checkout__card-title,
.xm-checkout__summary-title {
	display: none;
}

.xm-woocommerce .xm-checkout-form .form-row {
	margin-bottom: var(--xm-space-md);
}

.xm-woocommerce .xm-checkout-form .form-row label {
	display: block;
	margin-bottom: var(--xm-space-xs);
	font-size: var(--xm-font-size-sm);
	font-weight: var(--xm-font-weight-medium);
}

.xm-woocommerce .xm-checkout-form .form-row.is-focused label {
	color: var(--xm-color-primary);
}

.xm-woocommerce .xm-checkout-form .form-row input.input-text,
.xm-woocommerce .xm-checkout-form .form-row textarea,
.xm-woocommerce .xm-checkout-form .form-row select {
	width: 100%;
	min-height: 48px;
	padding: var(--xm-space-sm) var(--xm-space-md);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-md);
	background: var(--xm-color-bg-alt);
	transition: border-color var(--xm-transition), box-shadow var(--xm-transition), background-color var(--xm-transition);
}

.xm-woocommerce .xm-checkout-form .form-row input.input-text:focus,
.xm-woocommerce .xm-checkout-form .form-row textarea:focus,
.xm-woocommerce .xm-checkout-form .form-row select:focus {
	background: var(--xm-color-white);
	border-color: var(--xm-color-primary);
	box-shadow: 0 0 0 3px rgba(255, 103, 0, 0.12);
	outline: none;
}

/* Checkout validation — red errors on missing/invalid fields */
.xm-checkout-error-color {
	color: #c62828;
}

.xm-woocommerce .woocommerce-error,
.xm-woocommerce .woocommerce-NoticeGroup-checkout .woocommerce-error,
.xm-woocommerce .woocommerce-NoticeGroup .woocommerce-error {
	background: #fff5f5;
	border: 1px solid #ef9a9a;
	border-radius: var(--xm-radius-md);
	color: #b71c1c;
}

.xm-woocommerce .woocommerce-error li,
.xm-woocommerce .woocommerce-NoticeGroup-checkout .woocommerce-error li {
	color: #b71c1c;
}

.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid label,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field label,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid abbr.required,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field abbr.required {
	color: #c62828;
}

.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid input.input-text,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field input.input-text,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid textarea,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field textarea,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid select,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field select {
	border-color: #e53935;
	background: #fff8f8;
	box-shadow: 0 0 0 3px rgba(229, 57, 53, 0.14);
}

.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid .woocommerce-error,
.xm-woocommerce .xm-checkout-form .form-row.woocommerce-invalid-required-field .woocommerce-error {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	font-weight: var(--xm-font-weight-medium);
	color: #c62828;
}

.xm-checkout-panel--has-error > .xm-checkout-panel__toggle .xm-checkout-panel__title {
	color: #c62828;
}

.xm-checkout-panel--has-error > .xm-checkout-panel__toggle .xm-checkout-panel__icon {
	background: #ffebee;
	color: #c62828;
}

.xm-woocommerce #payment.xm-checkout-panel--has-error,
.xm-woocommerce #payment.woocommerce-invalid {
	border-top-color: #ef9a9a;
}

.xm-woocommerce #payment.woocommerce-invalid .xm-checkout-payment__title {
	color: #c62828;
}

.xm-woocommerce .woocommerce-terms-and-conditions-wrapper.woocommerce-invalid,
.xm-woocommerce .form-row.woocommerce-invalid .woocommerce-form__label-for-checkbox {
	color: #c62828;
}

.xm-woocommerce .woocommerce-terms-and-conditions-wrapper.woocommerce-invalid input[type="checkbox"] {
	outline: 2px solid #e53935;
	outline-offset: 2px;
}

/* Order review table */
.xm-woocommerce .woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--xm-space-md);
	font-size: var(--xm-font-size-sm);
}

.xm-woocommerce .woocommerce-checkout-review-order-table th,
.xm-woocommerce .woocommerce-checkout-review-order-table td {
	padding: var(--xm-space-sm) 0;
	border-bottom: 1px solid var(--xm-color-border);
	vertical-align: top;
}

.xm-woocommerce .woocommerce-checkout-review-order-table .product-name {
	font-weight: var(--xm-font-weight-medium);
}

.xm-woocommerce .woocommerce-checkout-review-order-table .product-total {
	text-align: right;
	font-weight: var(--xm-font-weight-medium);
}

.xm-woocommerce .woocommerce-checkout-review-order-table .order-total th,
.xm-woocommerce .woocommerce-checkout-review-order-table .order-total td {
	padding-top: var(--xm-space-md);
	border-bottom: none;
	font-size: var(--xm-font-size-md);
	font-weight: var(--xm-font-weight-bold);
	color: var(--xm-color-primary);
}

.xm-woocommerce .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
	font-size: 1.35rem;
}

/* Payment */
.xm-checkout-payment__title {
	display: flex;
	align-items: center;
	gap: var(--xm-space-sm);
	margin: 0 0 var(--xm-space-md);
	font-size: var(--xm-font-size-sm);
	font-weight: var(--xm-font-weight-bold);
	color: var(--xm-color-text);
}

.xm-checkout-payment__title .xm-checkout-panel__icon {
	width: 34px;
	height: 34px;
}

.xm-woocommerce #payment {
	margin-top: var(--xm-space-md);
	padding-top: var(--xm-space-md);
	border-top: 1px solid var(--xm-color-border);
	background: transparent;
	border-radius: 0;
}

.xm-woocommerce #payment::before {
	content: none;
}

.xm-woocommerce #payment ul.payment_methods {
	padding: 0;
	margin: 0 0 var(--xm-space-md);
	border: none;
}

.xm-woocommerce #payment ul.payment_methods li {
	margin: 0 0 var(--xm-space-sm);
	padding: var(--xm-space-md);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-md);
	background: var(--xm-color-bg-alt);
	transition: border-color var(--xm-transition), background-color var(--xm-transition), box-shadow var(--xm-transition);
}

.xm-woocommerce #payment ul.payment_methods li:hover {
	border-color: var(--xm-color-primary-soft-border);
	box-shadow: var(--xm-shadow-sm);
}

.xm-woocommerce #payment ul.payment_methods li.wc_payment_method input:checked ~ label,
.xm-woocommerce #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--xm-color-primary);
	background: var(--xm-color-primary-soft);
}

.xm-woocommerce #payment div.payment_box {
	margin-top: var(--xm-space-sm);
	padding: var(--xm-space-md);
	background: var(--xm-color-white);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-md);
}

.xm-woocommerce #place_order {
	width: 100%;
	min-height: 54px;
	font-size: var(--xm-font-size-md) !important;
	font-weight: var(--xm-font-weight-bold) !important;
	border-radius: var(--xm-radius-lg) !important;
	transition: transform var(--xm-transition), box-shadow var(--xm-transition);
}

.xm-woocommerce #place_order:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(255, 103, 0, 0.25);
}

/* Mobile spacing + collapsible behaviour */
@media (max-width: 767px) {
	.xm-checkout-layout .xm-container,
	.xm-checkout-page .xm-woocommerce--checkout .xm-container {
		max-width: 100%;
		padding-left: var(--xm-space-md);
		padding-right: var(--xm-space-md);
	}

	.xm-woocommerce--checkout {
		padding-bottom: var(--xm-space-3xl);
	}

	.xm-checkout__layout {
		gap: var(--xm-space-xl);
	}

	.xm-checkout__sidebar--summary {
		order: 1;
	}

	.xm-checkout__main {
		order: 2;
		gap: var(--xm-space-xl);
	}

	.xm-checkout__customer {
		gap: var(--xm-space-xl);
	}

	.xm-checkout-panel {
		margin: 0;
	}

	.xm-checkout-panel + .xm-checkout-panel {
		margin-top: 0;
	}

	.xm-checkout-panel__toggle {
		padding: var(--xm-space-lg);
	}

	.xm-checkout-panel__body {
		padding: 0 var(--xm-space-lg) var(--xm-space-lg);
	}

	.xm-checkout-trust {
		margin-bottom: var(--xm-space-xl);
		padding: var(--xm-space-lg);
	}

	.xm-checkout-steps {
		gap: var(--xm-space-sm);
	}

	.xm-checkout-steps__label {
		font-size: var(--xm-font-size-xs);
	}

	/* Sticky place order on mobile */
	.xm-woocommerce #payment .form-row.place-order {
		position: sticky;
		bottom: 0;
		z-index: 5;
		margin: var(--xm-space-md) calc(-1 * var(--xm-space-lg)) calc(-1 * var(--xm-space-lg));
		padding: var(--xm-space-md) var(--xm-space-lg) calc(var(--xm-space-md) + env(safe-area-inset-bottom, 0px));
		background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--xm-color-white) 28%);
		border-top: 1px solid var(--xm-color-border);
	}
}

/* Desktop — summary always open, billing/shipping collapsible */
@media (min-width: 768px) {
	.xm-checkout__layout {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
		align-items: start;
		gap: var(--xm-space-xl);
	}

	.xm-checkout__sidebar {
		order: 2;
		position: sticky;
		top: calc(var(--xm-header-height) + var(--xm-space-md));
	}

	.xm-checkout__main {
		order: 1;
	}

	.xm-checkout-panel--summary .xm-checkout-panel__preview {
		display: none !important;
	}

	.xm-checkout-panel__hint {
		display: block;
	}

	.xm-checkout__customer {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--xm-space-lg);
	}

	.xm-checkout-trust--inline,
	.xm-checkout-below-shipping {
		grid-column: 1 / -1;
	}
}

@media (min-width: 992px) {
	.xm-checkout__customer {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* -------------------------------------------------------------------------- */
/* Product reviews tab                                                        */
/* -------------------------------------------------------------------------- */

.xm-product-reviews__header {
	margin-bottom: var(--xm-space-lg);
	padding: var(--xm-space-lg);
	border-radius: var(--xm-radius-lg);
	background: var(--xm-color-primary-soft);
	border: 1px solid var(--xm-color-primary-soft-border);
}

.xm-product-reviews__title {
	margin: 0 0 var(--xm-space-sm);
	font-size: clamp(1.125rem, 1.5vw + 0.85rem, 1.375rem);
	font-weight: var(--xm-font-weight-bold);
}

.xm-product-reviews__average {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--xm-space-sm);
}

.xm-product-reviews__score {
	font-size: var(--xm-font-size-2xl);
	font-weight: var(--xm-font-weight-bold);
	color: var(--xm-color-primary);
	line-height: 1;
}

.xm-product-reviews__count {
	font-size: var(--xm-font-size-sm);
	color: var(--xm-color-text-muted);
}

.xm-product-reviews__list {
	display: grid;
	gap: var(--xm-space-md);
	margin: 0 0 var(--xm-space-xl);
	padding: 0;
	list-style: none;
}

.xm-product-review__card {
	padding: var(--xm-space-lg);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
	background: var(--xm-color-bg);
	box-shadow: var(--xm-shadow-sm);
	transition: transform var(--xm-transition), box-shadow var(--xm-transition);
}

.xm-product-review__card:hover {
	transform: translateY(-2px);
	box-shadow: var(--xm-shadow-md);
}

.xm-product-review__head {
	margin-bottom: var(--xm-space-md);
}

.xm-product-review__author-row {
	display: flex;
	align-items: center;
	gap: var(--xm-space-md);
}

.xm-product-review__avatar-img {
	width: 48px;
	height: 48px;
	border-radius: var(--xm-radius-full);
	object-fit: cover;
}

.xm-product-review__author {
	font-size: var(--xm-font-size-base);
}

.xm-product-review__verified {
	display: inline-block;
	margin-left: var(--xm-space-xs);
	padding: 0.1rem 0.45rem;
	border-radius: var(--xm-radius-full);
	background: rgba(46, 125, 50, 0.12);
	color: #2e7d32;
	font-size: var(--xm-font-size-xs);
	font-weight: var(--xm-font-weight-medium);
	font-style: normal;
}

.xm-product-review__date {
	display: block;
	font-size: var(--xm-font-size-xs);
	color: var(--xm-color-text-muted);
}

.xm-product-review__rating {
	margin-top: var(--xm-space-xs);
}

.xm-product-review__body {
	font-size: var(--xm-font-size-sm);
	line-height: 1.7;
	color: var(--xm-color-text);
}

.xm-product-review__body p {
	margin: 0;
}

.xm-product-reviews__empty {
	padding: var(--xm-space-xl);
	text-align: center;
	border: 1px dashed var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
	background: var(--xm-color-bg-alt);
}

.xm-product-reviews__form-wrap {
	margin-top: var(--xm-space-xl);
	padding: var(--xm-space-lg);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-lg);
	background: var(--xm-color-bg);
}

.xm-product-reviews__form-title {
	display: block;
	margin-bottom: var(--xm-space-md);
	font-size: var(--xm-font-size-lg);
	font-weight: var(--xm-font-weight-bold);
}

.xm-review-form .comment-form-author,
.xm-review-form .comment-form-email,
.xm-review-form .comment-form-comment {
	margin-bottom: var(--xm-space-md);
}

.xm-review-form input[type="text"],
.xm-review-form input[type="email"],
.xm-review-form textarea {
	width: 100%;
	padding: var(--xm-space-sm) var(--xm-space-md);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-md);
	font-family: var(--xm-font-family);
	font-size: var(--xm-font-size-sm);
	transition: border-color var(--xm-transition), box-shadow var(--xm-transition);
}

.xm-review-form input:focus,
.xm-review-form textarea:focus {
	border-color: var(--xm-color-primary);
	box-shadow: 0 0 0 3px rgba(255, 103, 0, 0.12);
	outline: none;
}

.xm-review-form .form-submit {
	margin: 0;
}

.xm-review-form .submit {
	min-height: var(--xm-touch-min);
	padding: 0 var(--xm-space-xl);
	border: none;
	border-radius: var(--xm-radius-md);
	cursor: pointer;
}

/* Star ratings */
.xm-star-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
}

.xm-star-rating__star {
	width: 18px;
	height: 18px;
	fill: #ddd;
}

.xm-star-rating__star.is-filled {
	fill: var(--xm-color-primary);
}

.xm-star-rating-input__select {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.xm-star-rating-input__stars {
	display: inline-flex;
	gap: 0.25rem;
}

.xm-star-rating-input__star {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	transition: transform var(--xm-transition);
}

.xm-star-rating-input__star svg {
	width: 28px;
	height: 28px;
	fill: #ddd;
	transition: fill var(--xm-transition), transform var(--xm-transition);
}

.xm-star-rating-input__star.is-active svg,
.xm-star-rating-input__star.is-hover svg {
	fill: var(--xm-color-primary);
}

.xm-star-rating-input__star:hover {
	transform: scale(1.08);
}

.xm-product-reviews__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--xm-touch-min);
	min-height: var(--xm-touch-min);
	margin: 0 var(--xm-space-xs);
	padding: 0 var(--xm-space-sm);
	border: 1px solid var(--xm-color-border);
	border-radius: var(--xm-radius-md);
}

.xm-product-reviews__pagination .current {
	background: var(--xm-color-primary);
	border-color: var(--xm-color-primary);
	color: var(--xm-color-white);
}

.xm-product-detail__tabs .woocommerce-Reviews .star-rating {
	display: none;
}
