@charset "UTF-8";
/* ==========================================================================
   PawEase — WooCommerce stylesheet
   1.  Store notices
   2.  Product card (loop)
   3.  Product grid
   4.  Shop toolbar & filters
   5.  Single product
   6.  Tabs / accordions / reviews
   7.  Cart
   8.  Checkout
   9.  My account
   10. Misc Woo widgets & blocks
   ========================================================================== */

/* Neutralise the default WooCommerce sheet where it fights the design */
.woocommerce ul.products,
.woocommerce-page ul.products {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
	content: none;
}

/* 1. Store notices ========================================================= */

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	list-style: none;
	margin: 0 0 clamp(20px, 2.4vw, 32px);
	padding: 17px 20px;
	background: var(--pe-cream-soft);
	border: 1px solid var(--pe-line);
	border-left: 2px solid var(--pe-sage);
	font-size: 0.9375rem;
	line-height: 1.55;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	color: var(--pe-text);
}

.woocommerce-error {
	border-left-color: #b4442e;
}

.woocommerce-error li + li {
	margin-top: 6px;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	margin-left: auto;
}

/* 2. Product card (loop) =================================================== */

.pe-prod {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: transparent;
}

.pe-prod__figure {
	position: relative;
	overflow: hidden;
	background: var(--pe-cream-deep);
	aspect-ratio: 3 / 4;
	display: block;
}

.pe-section--white .pe-prod__figure,
.pe-shop .pe-prod__figure {
	background: var(--pe-cream);
}

.pe-prod__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.05s var(--pe-ease-out), opacity 0.5s var(--pe-ease);
	will-change: transform;
}

/* Secondary image cross-fade on hover */
.pe-prod__figure img.pe-prod__alt {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.pe-prod:hover .pe-prod__figure img.pe-prod__main {
	transform: scale(1.045);
}

.pe-prod:hover .pe-prod__figure img.pe-prod__alt {
	opacity: 1;
	transform: scale(1.045);
}

.pe-prod__badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
}

.pe-badge {
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 6px 9px;
	line-height: 1;
	background: var(--pe-ink);
	color: var(--pe-cream);
}

.pe-badge--sale {
	background: var(--pe-orange);
	color: var(--pe-ink);
}

.pe-badge--best {
	background: var(--pe-sage);
	color: var(--pe-ink);
}

.pe-badge--out {
	background: rgba(32, 33, 31, 0.82);
	color: var(--pe-cream);
}

.pe-prod__body {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-top: 16px;
	flex: 1;
}

.pe-prod__cat {
	font-size: 0.625rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pe-muted);
	line-height: 1;
}

.pe-prod__title {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: -0.017em;
	line-height: 1.3;
	margin: 0;
}

.pe-prod__title a {
	text-decoration: none;
}

/* Whole-card click target without nesting interactive elements */
.pe-prod__title a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

.pe-prod__rating {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
}

.pe-stars {
	display: inline-flex;
	gap: 2px;
	color: var(--pe-orange);
}

.pe-stars svg {
	width: 12px;
	height: 12px;
}

.pe-stars svg.is-empty {
	color: var(--pe-line);
}

.pe-prod__price {
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-top: 2px;
	display: flex;
	align-items: baseline;
	gap: 9px;
	flex-wrap: wrap;
}

.pe-prod__price del {
	color: var(--pe-muted);
	font-weight: 400;
	text-decoration-thickness: 1px;
	opacity: 0.75;
}

.pe-prod__price ins {
	text-decoration: none;
	color: var(--pe-orange-ink);
}

.pe-prod__price .woocommerce-Price-currencySymbol {
	font-size: 0.9em;
}

.pe-prod__foot {
	margin-top: auto;
	padding-top: 14px;
	position: relative;
	z-index: 3;
}

/* Add-to-cart rendered as an editorial text action */
.pe-prod__foot .button,
.pe-prod__foot .added_to_cart {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	padding: 0 0 6px;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--pe-line);
	color: var(--pe-text);
	cursor: pointer;
	transition: border-color 0.35s var(--pe-ease), color 0.35s var(--pe-ease);
	position: relative;
}

.pe-prod__foot .button::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: var(--pe-arrow-mask) center / contain no-repeat;
	mask: var(--pe-arrow-mask) center / contain no-repeat;
	transition: transform 0.42s var(--pe-ease-out);
}

.pe-prod__foot .button:hover,
.pe-prod__foot .button:focus-visible,
.pe-prod__foot .added_to_cart:hover {
	border-color: var(--pe-ink);
	color: var(--pe-orange-ink);
}

.pe-prod__foot .button:hover::after {
	transform: translateX(4px);
}

.pe-prod__foot .button.loading {
	opacity: 0.55;
	pointer-events: none;
}

.pe-prod__foot .button.loading::after {
	animation: pe-spin 0.9s linear infinite;
	-webkit-mask: var(--pe-spin-mask) center / contain no-repeat;
	mask: var(--pe-spin-mask) center / contain no-repeat;
}

.pe-prod__foot .added_to_cart {
	margin-left: 16px;
	color: var(--pe-orange-ink);
	border-color: var(--pe-orange);
}

@keyframes pe-spin {
	to {
		transform: rotate(360deg);
	}
}

:root {
	--pe-arrow-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");
	--pe-spin-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23000' stroke-width='1.6' stroke-dasharray='28' stroke-dashoffset='9'/%3E%3C/svg%3E");
}

/* 3. Product grid ========================================================== */

.pe-grid {
	display: grid;
	gap: clamp(26px, 3vw, 46px) clamp(14px, 1.6vw, 26px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 760px) {
	.pe-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1180px) {
	.pe-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.pe-grid--3 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 860px) {
	.pe-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 4. Shop toolbar & filters ================================================ */

.pe-shop {
	padding-bottom: clamp(60px, 7vw, 116px);
}

.pe-shophead {
	padding-top: clamp(36px, 5vw, 76px);
	padding-bottom: clamp(24px, 3vw, 40px);
}

.pe-shophead__grid {
	display: grid;
	gap: clamp(18px, 2.4vw, 34px);
	align-items: end;
}

@media (min-width: 900px) {
	.pe-shophead__grid {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	}
}

.pe-shophead__desc {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--pe-muted);
	max-width: 56ch;
}

.pe-shophead__desc p {
	margin: 0;
}

.pe-shophead__desc p + p {
	margin-top: 0.8em;
}

/* Category pills row */
.pe-cats {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: none;
	-ms-overflow-style: none;
	margin-top: clamp(22px, 2.6vw, 34px);
}

.pe-cats::-webkit-scrollbar {
	display: none;
}

.pe-cats a {
	flex: none;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 11px 15px;
	border: 1px solid var(--pe-line);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.3s var(--pe-ease), color 0.3s var(--pe-ease),
		border-color 0.3s var(--pe-ease);
	line-height: 1;
}

.pe-cats a:hover {
	border-color: var(--pe-ink);
}

.pe-cats a.is-active {
	background: var(--pe-ink);
	border-color: var(--pe-ink);
	color: var(--pe-cream);
}

.pe-cats a span {
	opacity: 0.55;
	margin-left: 6px;
	font-variant-numeric: tabular-nums;
}

/* Toolbar */
.pe-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 20px;
	align-items: center;
	justify-content: space-between;
	padding-block: 16px;
	border-top: 1px solid var(--pe-line);
	border-bottom: 1px solid var(--pe-line);
	margin-bottom: clamp(28px, 3.4vw, 48px);
}

.pe-toolbar__count {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	letter-spacing: 0.06em;
	margin: 0;
}

.pe-toolbar__right {
	display: flex;
	align-items: center;
	gap: 10px 18px;
	flex-wrap: wrap;
	margin-left: auto;
}

.woocommerce-ordering {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.woocommerce-ordering select,
.pe-select {
	border: 0;
	border-bottom: 1px solid var(--pe-line);
	background-color: transparent;
	padding: 6px 26px 6px 0;
	font-size: var(--pe-fs-xs);
	letter-spacing: 0.06em;
	background-position: right 2px center;
	width: auto;
	min-width: 168px;
	cursor: pointer;
}

.woocommerce-ordering select:focus,
.pe-select:focus {
	border-color: var(--pe-ink);
}

.pe-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: var(--pe-fs-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--pe-line);
	padding-bottom: 6px;
	transition: border-color 0.3s;
}

.pe-filter-toggle:hover {
	border-color: var(--pe-ink);
}

.pe-filter-toggle svg {
	width: 14px;
	height: 14px;
}

/* Filter drawer content (widget area) */
.pe-filters {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.5s var(--pe-ease-out);
	border-bottom: 1px solid var(--pe-line);
	margin-bottom: clamp(24px, 3vw, 40px);
}

.pe-filters.is-open {
	grid-template-rows: 1fr;
}

.pe-filters__inner {
	overflow: hidden;
}

.pe-filters__grid {
	display: grid;
	gap: clamp(24px, 3vw, 44px);
	padding-block: clamp(24px, 3vw, 38px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.pe-filters .widget > *:first-child,
.pe-filters .wp-block-group > *:first-child {
	margin-top: 0;
}

.pe-filters .widgettitle,
.pe-filters .widget-title,
.pe-filters .wp-block-heading {
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--pe-muted);
	margin: 0 0 14px;
}

.pe-filters ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9375rem;
}

.pe-filters li + li {
	margin-top: 8px;
}

.pe-filters a {
	text-decoration: none;
}

.pe-filters a:hover {
	color: var(--pe-orange-ink);
}

/* Woo price filter widget */
.price_slider_wrapper .ui-slider {
	position: relative;
	height: 2px;
	background: var(--pe-line);
	margin: 18px 0 22px;
	border: 0;
}

.price_slider_wrapper .ui-slider .ui-slider-range {
	position: absolute;
	height: 2px;
	background: var(--pe-ink);
	display: block;
}

.price_slider_wrapper .ui-slider .ui-slider-handle {
	position: absolute;
	width: 13px;
	height: 13px;
	background: var(--pe-ink);
	border-radius: 50%;
	top: -6px;
	margin-left: -6px;
	cursor: grab;
	outline: none;
}

.price_slider_amount {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: var(--pe-fs-xs);
}

.price_slider_amount .price_label {
	color: var(--pe-muted);
}

.price_slider_amount .button {
	order: 3;
	margin-left: auto;
	font-size: 0.625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 0;
	padding: 9px 13px;
	cursor: pointer;
}

.widget_price_filter .price_slider_amount input[type="text"] {
	display: none;
}

/* Active filters */
.woocommerce-widget-layered-nav-list__item.chosen a,
.widget_layered_nav_filters a {
	color: var(--pe-orange-ink);
}

/* Result count / pagination alignment */
.woocommerce-result-count {
	margin: 0;
}

.woocommerce-pagination {
	margin-top: clamp(46px, 5vw, 80px);
	padding-top: clamp(24px, 3vw, 36px);
	border-top: 1px solid var(--pe-line);
	display: flex;
	justify-content: center;
}

.woocommerce-pagination ul {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.woocommerce-pagination li {
	border: 0 !important;
	margin: 0;
	overflow: visible;
}

.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding-inline: 10px;
	font-size: 0.875rem;
	text-decoration: none;
	border: 1px solid transparent;
	transition: border-color 0.25s var(--pe-ease), background-color 0.25s var(--pe-ease),
		color 0.25s var(--pe-ease);
	font-variant-numeric: tabular-nums;
	background: none;
}

.woocommerce-pagination .page-numbers:hover {
	border-color: var(--pe-line);
	background: none;
}

.woocommerce-pagination .page-numbers.current {
	background: var(--pe-ink);
	color: var(--pe-cream);
	border-color: var(--pe-ink);
}

/* Empty shop state */
.pe-shopempty {
	padding-block: clamp(50px, 7vw, 110px);
	display: grid;
	gap: clamp(26px, 3vw, 44px);
	align-items: center;
	border: 1px solid var(--pe-line);
	padding-inline: clamp(22px, 4vw, 64px);
	background: var(--pe-cream-soft);
}

@media (min-width: 860px) {
	.pe-shopempty {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
	}
}

/* 5. Single product ======================================================== */

.pe-pdp {
	padding-top: clamp(24px, 3vw, 44px);
	padding-bottom: clamp(56px, 7vw, 110px);
}

.pe-pdp__grid {
	display: grid;
	gap: clamp(28px, 3.6vw, 72px);
	align-items: start;
}

@media (min-width: 900px) {
	.pe-pdp__grid {
		grid-template-columns: minmax(0, 1.14fr) minmax(0, 1fr);
	}
}

@media (min-width: 1280px) {
	.pe-pdp__grid {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	}
}

/* Gallery */
.pe-pdp__gallery {
	position: relative;
}

@media (min-width: 900px) {
	.pe-pdp__summary {
		position: sticky;
		top: calc(var(--pe-header-h) + 28px);
	}
}

.woocommerce-product-gallery {
	position: relative;
}

.woocommerce-product-gallery__wrapper {
	display: grid;
	gap: clamp(8px, 1vw, 14px);
	margin: 0;
}

@media (min-width: 640px) {
	.woocommerce-product-gallery__wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	/* First image spans full width for an editorial lead. */
	.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
		grid-column: 1 / -1;
	}

	/* With an even total the last image would sit alone in a half-width cell,
	   leaving a hole — give it the full row. */
	.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:last-child:nth-child(even) {
		grid-column: 1 / -1;
	}
}

.woocommerce-product-gallery__image {
	background: var(--pe-cream-deep);
	overflow: hidden;
	position: relative;
	aspect-ratio: 4 / 5;
	margin: 0;
}

.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 6;
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	background: var(--pe-cream);
	color: var(--pe-ink);
	border-radius: 50%;
	font-size: 0;
	text-decoration: none;
	transition: background-color 0.3s var(--pe-ease);
}

.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M11 11l4 4M7 5v4M5 7h4' stroke='%23000' stroke-width='1.4' fill='none'/%3E%3C/svg%3E")
		center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M11 11l4 4M7 5v4M5 7h4' stroke='%23000' stroke-width='1.4' fill='none'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

.woocommerce-product-gallery__trigger:hover {
	background: var(--pe-orange);
}

/* Summary */
.pe-pdp__summary {
	display: flex;
	flex-direction: column;
	gap: clamp(15px, 1.8vw, 22px);
}

.pe-pdp__cat {
	font-size: 0.625rem;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--pe-muted);
}

.pe-pdp__cat a {
	text-decoration: none;
}

.pe-pdp__cat a:hover {
	color: var(--pe-orange-ink);
}

.product_title,
.pe-pdp__title {
	font-size: clamp(1.85rem, 3.4vw, 3rem);
	font-weight: 500;
	letter-spacing: -0.033em;
	line-height: 1.02;
	margin: 0;
	text-wrap: balance;
}

.pe-pdp__summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	line-height: 1;
}

.pe-pdp__summary .woocommerce-review-link {
	text-decoration: none;
	border-bottom: 1px solid var(--pe-line);
	padding-bottom: 2px;
}

.pe-pdp__summary .price {
	font-size: clamp(1.25rem, 1.9vw, 1.6rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
	color: var(--pe-text);
}

.pe-pdp__summary .price del {
	color: var(--pe-muted);
	font-weight: 400;
	opacity: 0.75;
	font-size: 0.78em;
}

.pe-pdp__summary .price ins {
	text-decoration: none;
	color: var(--pe-orange-ink);
}

.pe-pdp__summary .woocommerce-product-details__short-description {
	font-size: 1rem;
	line-height: 1.66;
	color: var(--pe-muted);
	max-width: 52ch;
}

.pe-pdp__summary .woocommerce-product-details__short-description p + p {
	margin-top: 0.9em;
}

.pe-pdp__summary .woocommerce-product-details__short-description ul {
	list-style: none;
	padding: 0;
	margin-top: 0.9em;
}

.pe-pdp__summary .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 1.4em;
}

.pe-pdp__summary .woocommerce-product-details__short-description li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 6px;
	height: 1px;
	background: var(--pe-orange);
}

.pe-pdp__rule {
	height: 1px;
	background: var(--pe-line);
	margin-block: 2px;
}

/* Variations */
.variations {
	width: 100%;
	border: 0;
	margin: 0;
	display: grid;
	gap: 16px;
}

.variations tbody,
.variations tr,
.variations td,
.variations th {
	display: block;
	border: 0;
	padding: 0;
	background: none;
	text-align: left;
}

.variations tr + tr {
	margin-top: 16px;
}

.variations .label {
	margin-bottom: 8px;
}

.variations .label label {
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pe-muted);
}

.variations .value {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.variations select {
	min-width: min(280px, 100%);
	width: auto;
	flex: 1;
}

.reset_variations {
	font-size: 0.6875rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid var(--pe-line);
	padding-bottom: 2px;
	color: var(--pe-muted);
}

.woocommerce-variation-price {
	margin-bottom: 14px;
}

.woocommerce-variation-price .price {
	font-size: 1.25rem;
}

.woocommerce-variation-availability p {
	margin: 0 0 12px;
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
}

.woocommerce-variation-description {
	font-size: 0.9375rem;
	color: var(--pe-muted);
	margin-bottom: 12px;
}

/* Quantity */
.pe-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--pe-line);
	height: 54px;
	flex: none;
	background: var(--pe-white);
}

.pe-qty button {
	width: 42px;
	display: grid;
	place-items: center;
	font-size: 1rem;
	line-height: 1;
	color: var(--pe-text);
	transition: color 0.2s, background-color 0.2s;
	user-select: none;
}

.pe-qty button:hover {
	background: var(--pe-cream);
}

.pe-qty input.qty {
	width: 46px;
	border: 0;
	text-align: center;
	padding: 0;
	font-size: 0.9375rem;
	font-variant-numeric: tabular-nums;
	background: transparent;
	-moz-appearance: textfield;
	appearance: textfield;
}

.pe-qty input.qty::-webkit-outer-spin-button,
.pe-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.pe-qty input.qty:focus {
	outline: none;
}

/* Cart form */
form.cart {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

form.cart.variations_form {
	gap: 16px;
}

.pe-pdp__actions {
	display: flex;
	gap: 10px;
	align-items: stretch;
	flex-wrap: wrap;
}

form.cart .single_add_to_cart_button {
	flex: 1;
	min-width: 200px;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8em;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 1px solid var(--pe-ink);
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	cursor: pointer;
	padding: 0 1.6em;
	transition: background-color 0.35s var(--pe-ease), color 0.35s var(--pe-ease),
		border-color 0.35s var(--pe-ease);
	line-height: 1;
}

form.cart .single_add_to_cart_button:hover,
form.cart .single_add_to_cart_button:focus-visible {
	background: var(--pe-orange);
	border-color: var(--pe-orange);
	color: var(--pe-ink);
}

form.cart .single_add_to_cart_button.disabled,
form.cart .single_add_to_cart_button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.pe-buynow {
	flex: none;
	min-height: 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.5em;
	border: 1px solid var(--pe-line);
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	background: var(--pe-white);
	transition: border-color 0.3s var(--pe-ease), background-color 0.3s var(--pe-ease);
	cursor: pointer;
}

.pe-buynow:hover {
	border-color: var(--pe-ink);
	background: var(--pe-cream);
}

/* Meta */
.product_meta {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-top: 4px;
}

.product_meta > span {
	display: block;
}

.product_meta a {
	text-decoration: none;
	color: var(--pe-text);
}

.product_meta a:hover {
	color: var(--pe-orange-ink);
}

.stock.in-stock {
	color: var(--pe-sage-ink);
	font-size: var(--pe-fs-xs);
}

.stock.out-of-stock {
	color: #b4442e;
	font-size: var(--pe-fs-xs);
}

/* Assurances under the buy box */
.pe-assure {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--pe-line);
	margin-top: 4px;
}

.pe-assure__row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 15px 0;
	border-bottom: 1px solid var(--pe-line-soft);
}

.pe-assure__row svg {
	width: 17px;
	height: 17px;
	flex: none;
	margin-top: 2px;
	color: var(--pe-sage-ink);
}

.pe-assure__row b {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 3px;
}

.pe-assure__row span {
	font-size: 0.875rem;
	color: var(--pe-muted);
	line-height: 1.55;
}

/* 6. Tabs / accordions / reviews =========================================== */

.pe-pdp__details {
	margin-top: clamp(46px, 5.5vw, 90px);
	display: grid;
	gap: clamp(28px, 4vw, 70px);
}

@media (min-width: 1000px) {
	.pe-pdp__details {
		grid-template-columns: minmax(0, 0.32fr) minmax(0, 1fr);
	}
}

.woocommerce-tabs {
	border-top: 1px solid var(--pe-line);
}

.woocommerce-tabs ul.tabs {
	display: none;
}

.woocommerce-tabs .pe-acc__inner {
	color: var(--pe-text);
}

.woocommerce-tabs .panel {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--pe-muted);
	max-width: 72ch;
}

.woocommerce-tabs .panel > * + * {
	margin-top: 1em;
}

.woocommerce-tabs .panel h2 {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--pe-text);
	letter-spacing: -0.015em;
	margin-bottom: 0.6em;
}

.woocommerce-tabs .panel ul,
.woocommerce-tabs .panel ol {
	padding-left: 1.2em;
}

.shop_attributes {
	width: 100%;
	font-size: 0.9375rem;
}

.shop_attributes th,
.shop_attributes td {
	padding: 12px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	text-align: left;
	vertical-align: top;
}

.shop_attributes th {
	font-weight: 500;
	width: 34%;
	color: var(--pe-text);
}

.shop_attributes td {
	color: var(--pe-muted);
}

.shop_attributes td p {
	margin: 0;
}

/* Reviews */
#reviews {
	scroll-margin-top: calc(var(--pe-header-h) + 30px);
}

#reviews .commentlist {
	list-style: none;
	margin: 0 0 34px;
	padding: 0;
}

#reviews .comment_container {
	display: flex;
	gap: 16px;
	padding: 22px 0;
	border-bottom: 1px solid var(--pe-line-soft);
}

#reviews .comment_container img.avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	flex: none;
}

#reviews .comment-text {
	flex: 1;
	min-width: 0;
}

#reviews .woocommerce-review__author {
	font-weight: 500;
	font-size: 0.9375rem;
}

#reviews .woocommerce-review__published-date {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	margin-left: 8px;
}

#reviews .description {
	font-size: 0.9375rem;
	line-height: 1.65;
	margin-top: 8px;
	color: var(--pe-muted);
}

#reviews .star-rating {
	margin-bottom: 6px;
}

#review_form_wrapper {
	margin-top: 34px;
	padding-top: 30px;
	border-top: 1px solid var(--pe-line);
}

.comment-form-rating {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* WooCommerce star rating (font-based) restyled */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.1em;
	line-height: 1;
	font-size: 0.8em;
	width: 5.4em;
	font-family: star;
	color: var(--pe-orange);
	flex: none;
}

.star-rating::before {
	content: "\73\73\73\73\73";
	color: var(--pe-line);
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	letter-spacing: 0.08em;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	letter-spacing: 0.08em;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 4px;
	font-family: star;
	color: var(--pe-orange);
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	content: "\53";
	color: var(--pe-line);
	text-indent: 0;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: var(--pe-line);
}

p.stars:hover a::before,
p.stars.selected a.active::before,
p.stars.selected a:not(.active)::before {
	content: "\53";
	color: var(--pe-orange);
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: var(--pe-line);
}

/* Related / upsells */
.related,
.upsells {
	margin-top: clamp(56px, 7vw, 110px);
	padding-top: clamp(34px, 4vw, 56px);
	border-top: 1px solid var(--pe-line);
}

.related > h2,
.upsells > h2,
.cross-sells > h2 {
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	margin: 0 0 clamp(26px, 3vw, 40px);
	line-height: 1;
}

/* 7. Cart ================================================================== */

.pe-cart {
	padding-top: clamp(28px, 3.4vw, 52px);
	padding-bottom: clamp(56px, 7vw, 108px);
}

.pe-cart__grid {
	display: grid;
	gap: clamp(30px, 3.6vw, 64px);
	align-items: start;
}

@media (min-width: 1000px) {
	.pe-cart__grid {
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	}
}

.pe-cart__items {
	border-top: 1px solid var(--pe-line);
}

.pe-citem {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 16px 18px;
	padding: clamp(18px, 2.2vw, 28px) 0;
	border-bottom: 1px solid var(--pe-line-soft);
	align-items: start;
}

@media (min-width: 620px) {
	.pe-citem {
		grid-template-columns: 112px minmax(0, 1fr) auto;
		gap: 24px;
		align-items: center;
	}
}

.pe-citem__media {
	aspect-ratio: 3 / 4;
	background: var(--pe-cream-deep);
	overflow: hidden;
}

.pe-citem__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pe-citem__info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.pe-citem__name {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.3;
}

.pe-citem__name a {
	text-decoration: none;
}

.pe-citem__meta {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	line-height: 1.5;
}

.pe-citem__meta dl {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 2px 10px;
}

.pe-citem__meta dt {
	font-weight: 500;
}

.pe-citem__meta dd {
	margin: 0;
}

.pe-citem__meta p {
	margin: 0;
}

.pe-citem__price {
	font-size: 0.9375rem;
	color: var(--pe-muted);
}

.pe-citem__right {
	display: flex;
	align-items: center;
	gap: 18px;
	justify-content: space-between;
	grid-column: 1 / -1;
}

@media (min-width: 620px) {
	.pe-citem__right {
		grid-column: auto;
		justify-content: flex-end;
		gap: 24px;
	}
}

.pe-citem__total {
	font-size: 0.9375rem;
	font-weight: 500;
	min-width: 72px;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.pe-citem__remove {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	color: var(--pe-muted);
	text-decoration: none;
	font-size: 0;
	border: 1px solid transparent;
	transition: color 0.25s, border-color 0.25s;
	flex: none;
}

.pe-citem__remove::before {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E")
		center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 1l10 10M11 1L1 11' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

.pe-citem__remove:hover {
	color: #b4442e;
	border-color: var(--pe-line);
}

.pe-cart__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	align-items: flex-end;
	justify-content: space-between;
	padding-top: clamp(22px, 2.6vw, 32px);
}

.pe-coupon {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 100%;
}

.pe-coupon__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pe-coupon label {
	font-size: 0.625rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pe-muted);
}

.pe-coupon input[type="text"] {
	min-width: 190px;
	height: 48px;
	padding-block: 0;
}

.pe-coupon .button {
	height: 48px;
	padding-inline: 1.4em;
	background: transparent;
	border: 1px solid var(--pe-line);
	font-size: var(--pe-fs-xs);
	letter-spacing: 0.13em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.3s, background-color 0.3s;
}

.pe-coupon .button:hover {
	border-color: var(--pe-ink);
	background: var(--pe-cream);
}

/* Order summary panel — shared by cart + checkout */
.pe-summary {
	background: var(--pe-cream-soft);
	border: 1px solid var(--pe-line);
	padding: clamp(22px, 2.6vw, 34px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

@media (min-width: 1000px) {
	.pe-summary {
		position: sticky;
		top: calc(var(--pe-header-h) + 24px);
	}
}

.pe-summary__title {
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--pe-muted);
	margin: 0;
}

.pe-summary__rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	border: 0;
}

.pe-summary__rows tr,
.pe-summary__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	font-size: 0.9375rem;
}

.pe-summary__rows th,
.pe-summary__rows td {
	border: 0;
	padding: 0;
	text-align: right;
	font-weight: 400;
}

.pe-summary__rows th {
	text-align: left;
	color: var(--pe-muted);
	font-weight: 400;
	white-space: nowrap;
}

.pe-summary__rows .order-total {
	font-size: 1.05rem;
	font-weight: 500;
	padding-top: 16px;
	border-bottom: 0;
}

.pe-summary__rows .order-total th {
	color: var(--pe-text);
	font-weight: 500;
}

.pe-summary__rows .order-total .amount {
	font-size: 1.25rem;
	letter-spacing: -0.02em;
}

ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: left;
}

ul#shipping_method li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 0.875rem;
	list-style: none;
}

ul#shipping_method label {
	font-weight: 400;
	cursor: pointer;
	margin: 0;
}

ul#shipping_method .amount {
	font-weight: 500;
}

.woocommerce-shipping-destination {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	margin: 8px 0 0;
	text-align: left;
}

.shipping-calculator-button {
	font-size: var(--pe-fs-xs);
	text-decoration: none;
	border-bottom: 1px solid var(--pe-line);
	padding-bottom: 2px;
	display: inline-block;
	margin-top: 8px;
}

.shipping-calculator-form {
	margin-top: 14px;
	display: grid;
	gap: 12px;
	text-align: left;
}

.pe-summary__note {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	line-height: 1.55;
}

.wc-proceed-to-checkout {
	padding: 0;
	margin-top: 4px;
}

.wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8em;
	width: 100%;
	min-height: 56px;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 1px solid var(--pe-ink);
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.35s var(--pe-ease), color 0.35s var(--pe-ease),
		border-color 0.35s var(--pe-ease);
}

.wc-proceed-to-checkout .checkout-button:hover {
	background: var(--pe-orange);
	border-color: var(--pe-orange);
	color: var(--pe-ink);
}

/* Empty cart */
.pe-cartempty {
	display: grid;
	gap: clamp(26px, 3vw, 48px);
	align-items: center;
	padding-block: clamp(40px, 5vw, 80px);
}

@media (min-width: 860px) {
	.pe-cartempty {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
	}
}

.cross-sells {
	margin-top: clamp(48px, 6vw, 92px);
	padding-top: clamp(30px, 3.6vw, 50px);
	border-top: 1px solid var(--pe-line);
}

/* 8. Checkout ============================================================== */

.pe-checkout {
	padding-top: clamp(24px, 3vw, 44px);
	padding-bottom: clamp(56px, 7vw, 104px);
}

.pe-checkout__grid {
	display: grid;
	gap: clamp(30px, 3.6vw, 68px);
	align-items: start;
}

@media (min-width: 1000px) {
	.pe-checkout__grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	}
}

.pe-cofield {
	margin-bottom: 0;
}

.pe-cosection {
	padding-bottom: clamp(26px, 3vw, 40px);
	margin-bottom: clamp(26px, 3vw, 40px);
	border-bottom: 1px solid var(--pe-line);
}

.pe-cosection:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

.pe-cosection__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: clamp(18px, 2vw, 26px);
}

.pe-cosection__num {
	font-size: 0.625rem;
	letter-spacing: 0.17em;
	color: var(--pe-orange-ink);
	font-variant-numeric: tabular-nums;
	font-weight: 500;
}

.pe-cosection__title {
	font-size: clamp(1.1rem, 1.5vw, 1.3rem);
	font-weight: 500;
	letter-spacing: -0.022em;
	margin: 0;
	line-height: 1.2;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	grid-column: 1 / -1;
	min-width: 0;
}

.form-row-first,
.form-row-last {
	grid-column: span 1;
}

@media (max-width: 560px) {
	.form-row-first,
	.form-row-last {
		grid-column: 1 / -1;
	}
}

.form-row label {
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	color: var(--pe-text);
}

.form-row .required {
	color: var(--pe-orange-ink);
	text-decoration: none;
	border: 0;
}

.form-row .optional {
	color: var(--pe-muted);
	font-weight: 400;
}

.form-row.woocommerce-invalid input.input-text,
.form-row.woocommerce-invalid select {
	border-color: #b4442e;
}

.form-row.woocommerce-validated input.input-text {
	border-color: var(--pe-sage);
}

/* Select2 (WooCommerce country/state) */
.select2-container .select2-selection--single {
	height: auto;
	border: 1px solid var(--pe-line);
	border-radius: 0;
	background: var(--pe-white);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.4;
	padding: 0.95em 2.4em 0.95em 1em;
	color: var(--pe-text);
	font-size: 0.9375rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: 10px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--pe-text) transparent transparent;
}

.select2-dropdown {
	border-color: var(--pe-line);
	border-radius: 0;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--pe-ink);
	color: var(--pe-cream);
}

.select2-search--dropdown .select2-search__field {
	border: 1px solid var(--pe-line);
	padding: 8px 10px;
}

.select2-container--open .select2-selection--single {
	border-color: var(--pe-ink);
}

/* Login / coupon toggles */
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle {
	margin-bottom: 20px;
}

.woocommerce-form-login,
.woocommerce-form-coupon {
	border: 1px solid var(--pe-line);
	padding: clamp(20px, 2.4vw, 28px);
	margin-bottom: 26px;
	display: grid;
	gap: 16px;
	background: var(--pe-cream-soft);
}

.woocommerce-form-login .form-row,
.woocommerce-form-coupon .form-row {
	grid-column: auto;
}

.woocommerce-form-login__submit,
.woocommerce-form-coupon .button,
.woocommerce-form-login .button {
	justify-self: start;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 1px solid var(--pe-ink);
	padding: 0.95em 1.5em;
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	width: auto;
}

.woocommerce-form-login__submit:hover,
.woocommerce-form-coupon .button:hover {
	background: var(--pe-orange);
	border-color: var(--pe-orange);
	color: var(--pe-ink);
}

.woocommerce-form-login__rememberme {
	flex-direction: row !important;
	align-items: center;
	gap: 9px !important;
}

/* Review order */
.pe-checkout__review {
	background: var(--pe-cream-soft);
	border: 1px solid var(--pe-line);
	padding: clamp(22px, 2.6vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (min-width: 1000px) {
	.pe-checkout__review {
		position: sticky;
		top: calc(var(--pe-header-h) + 24px);
	}
}

.pe-corev__items {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--pe-line-soft);
}

.pe-corev__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	align-items: center;
}

.pe-corev__thumb {
	position: relative;
	aspect-ratio: 3 / 4;
	background: var(--pe-cream-deep);
	/* No overflow clipping — the quantity badge deliberately overhangs. */
}

.pe-corev__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pe-corev__qty {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 20px;
	height: 20px;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border-radius: 999px;
	font-size: 0.625rem;
	font-weight: 600;
	display: grid;
	place-items: center;
	padding-inline: 5px;
	font-variant-numeric: tabular-nums;
}

.pe-corev__name {
	font-size: 0.875rem;
	line-height: 1.35;
	font-weight: 500;
	min-width: 0;
}

.pe-corev__name small {
	display: block;
	font-weight: 400;
	color: var(--pe-muted);
	font-size: var(--pe-fs-xs);
	margin-top: 2px;
}

.pe-corev__amount {
	font-size: 0.875rem;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Payment box — must remain gateway-agnostic */
#payment {
	background: transparent;
	border-radius: 0;
}

#payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--pe-line-soft);
}

#payment ul.payment_methods li {
	padding: 15px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	list-style: none;
}

#payment ul.payment_methods li > label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	flex-wrap: wrap;
}

#payment ul.payment_methods li img {
	max-height: 26px;
	width: auto;
	display: inline-block;
	margin-left: 4px;
}

#payment div.payment_box {
	background: var(--pe-cream);
	border: 1px solid var(--pe-line);
	padding: 16px;
	margin: 12px 0 2px;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--pe-muted);
	position: relative;
}

#payment div.payment_box::before {
	content: none;
}

#payment div.payment_box p:last-child {
	margin-bottom: 0;
}

#payment .place-order {
	padding: 18px 0 0;
	margin: 0;
}

#payment #place_order,
.pe-placeorder {
	width: 100%;
	min-height: 58px;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 1px solid var(--pe-ink);
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.35s var(--pe-ease), color 0.35s var(--pe-ease),
		border-color 0.35s var(--pe-ease);
	float: none;
}

#payment #place_order:hover {
	background: var(--pe-orange);
	border-color: var(--pe-orange);
	color: var(--pe-ink);
}

.woocommerce-privacy-policy-text {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	line-height: 1.55;
	margin-bottom: 14px;
}

.woocommerce-terms-and-conditions-wrapper {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	margin-bottom: 6px;
}

.woocommerce-terms-and-conditions-wrapper .form-row {
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
}

.blockUI.blockOverlay {
	background: var(--pe-cream) !important;
	opacity: 0.6 !important;
}

/* Order received */
.woocommerce-order {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.4vw, 48px);
}

.woocommerce-thankyou-order-details {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
	border-top: 1px solid var(--pe-line);
}

.woocommerce-thankyou-order-details li {
	padding: 18px 20px 18px 0;
	border-bottom: 1px solid var(--pe-line);
	font-size: 0.9375rem;
	font-weight: 500;
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-transform: none;
	border-right: 1px solid var(--pe-line-soft);
	padding-left: 20px;
}

.woocommerce-thankyou-order-details li:first-child {
	padding-left: 0;
}

.woocommerce-thankyou-order-details li strong {
	font-weight: 500;
}

.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-customer-details h2 {
	font-size: clamp(1.15rem, 1.6vw, 1.35rem);
	font-weight: 500;
	letter-spacing: -0.022em;
	margin: 0 0 18px;
}

.woocommerce-table--order-details,
.woocommerce-table--custom {
	font-size: 0.9375rem;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: 13px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	text-align: left;
}

.woocommerce-table--order-details td:last-child,
.woocommerce-table--order-details th:last-child {
	text-align: right;
}

.woocommerce-columns--addresses {
	display: grid;
	gap: clamp(22px, 3vw, 44px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.woocommerce-columns--addresses address {
	font-style: normal;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--pe-muted);
}

/* 9. My account ============================================================ */

.pe-account {
	padding-top: clamp(28px, 3.4vw, 52px);
	padding-bottom: clamp(56px, 7vw, 104px);
}

.woocommerce-account .woocommerce {
	display: grid;
	gap: clamp(28px, 3.4vw, 62px);
	align-items: start;
}

@media (min-width: 900px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(0, 230px) minmax(0, 1fr);
	}
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--pe-line);
}

.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--pe-line-soft);
}

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 15px 0;
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--pe-muted);
	transition: color 0.25s var(--pe-ease), padding-left 0.4s var(--pe-ease-out);
}

.woocommerce-MyAccount-navigation a:hover {
	color: var(--pe-text);
	padding-left: 6px;
}

.woocommerce-MyAccount-navigation li.is-active a {
	color: var(--pe-text);
}

.woocommerce-MyAccount-navigation li.is-active a::before {
	content: "";
	width: 5px;
	height: 5px;
	background: var(--pe-orange);
	border-radius: 50%;
	flex: none;
}

.woocommerce-MyAccount-content {
	min-width: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
}

.woocommerce-MyAccount-content > p {
	margin-bottom: 1em;
	color: var(--pe-muted);
}

.woocommerce-MyAccount-content mark {
	background: none;
	color: var(--pe-text);
	font-weight: 500;
}

.woocommerce-orders-table,
.woocommerce-table--order-downloads,
table.shop_table {
	font-size: 0.9375rem;
	border: 0;
}

table.shop_table th,
table.shop_table td {
	padding: 15px 12px 15px 0;
	border-bottom: 1px solid var(--pe-line-soft);
	text-align: left;
	vertical-align: middle;
}

table.shop_table thead th {
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pe-muted);
	font-weight: 500;
	border-bottom: 1px solid var(--pe-line);
}

table.shop_table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
	padding-right: 0;
}

.woocommerce-orders-table__cell-order-actions .button {
	font-size: 0.625rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	border: 1px solid var(--pe-line);
	padding: 8px 12px;
	text-decoration: none;
	display: inline-block;
	margin-left: 6px;
	transition: border-color 0.25s;
}

.woocommerce-orders-table__cell-order-actions .button:hover {
	border-color: var(--pe-ink);
}

/* Narrow screens: stack WooCommerce's responsive tables into label/value rows
   rather than letting a five-column order table push the page sideways. */
@media (max-width: 700px) {
	table.shop_table_responsive thead {
		display: none;
	}

	table.shop_table_responsive tbody tr {
		display: block;
		padding: 14px 0;
		border-bottom: 1px solid var(--pe-line);
	}

	table.shop_table_responsive tbody td {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 18px;
		width: 100%;
		padding: 5px 0;
		border: 0;
		text-align: right;
	}

	table.shop_table_responsive tbody td::before {
		content: attr(data-title);
		font-size: 0.625rem;
		letter-spacing: 0.15em;
		text-transform: uppercase;
		color: var(--pe-muted);
		text-align: left;
		flex: none;
	}

	table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
		padding-top: 10px;
	}

	.woocommerce-orders-table__cell-order-actions .button {
		margin: 4px 6px 0 0;
	}

	/* Any table without the responsive markup scrolls inside its own box. */
	table.shop_table:not(.shop_table_responsive) {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.woocommerce-Addresses {
	display: grid;
	gap: clamp(20px, 2.6vw, 34px);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	margin-top: 8px;
}

.woocommerce-Address {
	border: 1px solid var(--pe-line);
	padding: clamp(20px, 2.4vw, 28px);
	background: var(--pe-cream-soft);
}

.woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pe-muted);
	margin: 0;
}

.woocommerce-Address-title .edit {
	font-size: 0.625rem;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid var(--pe-line);
	padding-bottom: 2px;
}

.woocommerce-Address address {
	font-style: normal;
	line-height: 1.75;
	color: var(--pe-muted);
	font-size: 0.9375rem;
}

.woocommerce-EditAccountForm,
.woocommerce-address-fields,
form.lost_reset_password,
form.woocommerce-form-login,
form.woocommerce-form-register {
	display: grid;
	gap: 16px;
	max-width: 620px;
}

.woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--pe-line);
	padding: clamp(18px, 2.2vw, 26px);
	margin: 12px 0 0;
	display: grid;
	gap: 16px;
}

.woocommerce-EditAccountForm legend {
	font-size: 0.6875rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--pe-muted);
	padding-inline: 8px;
}

.woocommerce-Button,
.woocommerce-form-register__submit,
.woocommerce-address-fields button[type="submit"],
.woocommerce-EditAccountForm button[type="submit"],
form.lost_reset_password button[type="submit"] {
	justify-self: start;
	background: var(--pe-ink);
	color: var(--pe-cream);
	border: 1px solid var(--pe-ink);
	padding: 1em 1.6em;
	font-size: var(--pe-fs-xs);
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.woocommerce-Button:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover {
	background: var(--pe-orange);
	border-color: var(--pe-orange);
	color: var(--pe-ink);
}

/* Login / register split */
.pe-authgrid {
	display: grid;
	gap: clamp(30px, 4vw, 66px);
}

@media (min-width: 860px) {
	.pe-authgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pe-authgrid h2 {
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	font-weight: 500;
	letter-spacing: -0.028em;
	text-transform: uppercase;
	margin: 0 0 20px;
}

/* Order tracking form */
.woocommerce-form-track-order {
	max-width: 620px;
	display: grid;
	gap: 16px;
}

/* 10. Misc Woo widgets & blocks ============================================ */

.woocommerce-breadcrumb {
	font-size: var(--pe-fs-xs);
	color: var(--pe-muted);
	letter-spacing: 0.05em;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	margin: 0;
}

.woocommerce-breadcrumb a {
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
	color: var(--pe-text);
}

.onsale {
	display: none; /* replaced by .pe-badge */
}

.woocommerce-loop-product__title,
ul.products li.product .price {
	/* neutralised — the card template supplies its own markup */
	margin: 0;
	padding: 0;
	font-size: inherit;
}

.wc-block-components-notice-banner {
	border-radius: 0;
}

.pe-nowrap {
	white-space: nowrap;
}
