/**
 * Runtime commerce fixes live in the plugin so future shop changes do not
 * require replacing the visual theme.
 */
.arojay-card-commerce > br,
.arojay-card-commerce > p:empty,
.arojay-collection-showcase-card > p:empty,
.arojay-card-action-reveal > br,
.arojay-card-action-reveal > p:empty,
.arojay-custom-cart > br,
.arojay-custom-cart > p:empty,
.arojay-product-option-group > br,
.arojay-product-option-group > p:empty,
.arojay-product-thumbnails > br,
.arojay-product-thumbnails > p:empty {
	display: none !important;
}

/* Homepage recommendation: keep each responsive surface fixed while products change. */
.arojay-recommendation-section {
	box-sizing: border-box !important;
	height: 770px !important;
	min-height: 770px !important;
	max-height: 770px !important;
	overflow: hidden;
}

.arojay-recommendation-card {
	height: 100%;
}

.arojay-recommendation-info {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.arojay-recommendation-title {
	min-height: 4.9em;
	max-height: 4.9em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}

.arojay-recommendation-info .arojay-recommendation-price-panel {
	display: flex;
	align-items: baseline;
	margin: 1.25rem 0 0.8rem;
	padding: 0;
}

.arojay-recommendation-info .arojay-recommendation-price-panel[hidden] {
	display: none;
}

.arojay-recommendation-info .arojay-recommendation-price-panel strong {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.2em;
	color: #071d2d;
	font-size: clamp(1.9rem, 2.6vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.arojay-recommendation-info .arojay-recommendation-price-panel .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.arojay-recommendation-info .arojay-recommendation-summary {
	min-height: 4.65em;
	max-height: 4.65em;
	margin: 0 0 1.5rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.arojay-recommendation-info .arojay-recommendation-actions {
	margin-top: 0;
}

@media (max-width: 1100px) {
	.arojay-recommendation-section {
		height: 700px !important;
		min-height: 700px !important;
		max-height: 700px !important;
	}
}

@media (max-width: 767px) {
	.arojay-recommendation-section {
		height: 820px !important;
		min-height: 820px !important;
		max-height: 820px !important;
	}

	.arojay-recommendation-title {
		min-height: 3.92em;
		max-height: 3.92em;
		-webkit-line-clamp: 4;
	}
}

.arojay-card-commerce,
.arojay-card-action-reveal {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.arojay-card-action-reveal {
	gap: 5px !important;
}

/* Keep the catalogue image-to-title rhythm as tight as the finish-to-CTA gap. */
.arojay-collection-showcase-card {
	gap: 0 !important;
}

[data-arojay-product-collection] .arojay-collection-showcase-grid {
	row-gap: calc(clamp(2rem, 3vw, 2.85rem) + 5px) !important;
}

.arojay-collection-showcase-card > .arojay-collection-product-media {
	margin: 0 !important;
	padding: 0 !important;
}

.arojay-collection-showcase-card > .arojay-collection-product-media img {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
}

.arojay-collection-showcase-card > .arojay-collection-product-media + .arojay-collection-product-copy {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
	padding-top: 15px !important;
}

.arojay-collection-showcase-card .arojay-collection-product-copy > h2 {
	margin-block: 0 !important;
	padding-block: 0 !important;
	min-height: 5em !important;
	max-height: 5em !important;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.arojay-collection-showcase-card .arojay-card-finishes:empty {
	visibility: hidden;
	pointer-events: none;
}

.arojay-finish-dot.is-brushed-silver,
.arojay-finish-swatch.is-brushed-silver {
	background: linear-gradient(135deg, #f1f2f2, #a9adb0 48%, #d9dcde 68%, #f6f7f7);
}

.arojay-finish-dot.is-matte-black,
.arojay-finish-swatch.is-matte-black {
	background: #1e2326;
}

.arojay-finish-dot.is-brushed-nickel,
.arojay-finish-swatch.is-brushed-nickel {
	background: #a8a6a0;
}

.arojay-card-variation-select,
[data-arojay-card-variation-select] {
	display: none !important;
}

/* Honest empty-review state: visual stars with an explicit zero count. */
.arojay-review-stars,
.arojay-product-review-summary > span {
	color: #071d2d;
	font-size: 1.05rem;
	letter-spacing: 0.08em;
}

.arojay-card-review-summary.is-empty {
	opacity: 1 !important;
}

/* Product video and approved WooCommerce review content below the gallery. */
.arojay-product-stories {
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-top: clamp(1.25rem, 2.5vw, 2rem);
	border-top: 1px solid #d7e0e6;
}

.arojay-product-stories > h2 {
	margin: 0 0 1rem;
	color: #071d2d;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.arojay-product-video {
	margin-bottom: 1.25rem;
	background: #eef2f4;
}

.arojay-product-video video,
.arojay-product-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	object-fit: cover;
}

.arojay-product-review-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1rem;
}

.arojay-product-review-summary strong { color: #071d2d; }
.arojay-product-review-summary small,
.arojay-product-review-empty { color: #5c6a74; }
.arojay-product-review-empty { margin: 0; }
.arojay-product-review-list { display: grid; gap: 0.85rem; }

/* Keep independently growing product columns stable when accordions, video or reviews expand. */
.arojay-product-detail-layout > .arojay-product-media,
.arojay-product-detail-layout > .arojay-product-summary {
	min-width: 0;
	align-self: start;
}
.arojay-product-media { overflow: visible; }
.arojay-product-video video,
.arojay-product-video iframe { max-width: 100%; }
.arojay-product-accordions h2:has(> .arojay-detail-imagery-link),
.arojay-product-accordions h3:has(> .arojay-detail-imagery-link),
.arojay-product-accordions h4:has(> .arojay-detail-imagery-link) {
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
}
.arojay-detail-imagery-link {
	flex: 0 0 auto;
	color: #21669a;
	font-size: 0.75rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
#arojay-product-detail-imagery { scroll-margin-top: 2rem; }
.arojay-product-review { padding: 1rem; border: 1px solid #d7e0e6; }
.arojay-product-review header { display: flex; justify-content: space-between; gap: 1rem; }
.arojay-product-review header span { letter-spacing: 0.06em; }
.arojay-product-review p:last-child { margin-bottom: 0; }
.arojay-policy-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }

/* Normalize the final PDP disclosure even if a cached theme stylesheet lets
   the browser's native details marker and indentation win. */
details.arojay-product-policy-details {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 1px solid #dce1e4;
	border-bottom: 1px solid #dce1e4;
}
details.arojay-product-policy-details > summary {
	position: relative;
	display: flex;
	min-height: 54px;
	box-sizing: border-box;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	color: inherit;
	font-weight: 750;
	cursor: pointer;
	list-style: none;
}
details.arojay-product-policy-details > summary::-webkit-details-marker { display: none; }
details.arojay-product-policy-details > summary::marker { content: ""; }
details.arojay-product-policy-details > summary::after {
	margin-left: auto;
	content: "+";
	font-size: 1.25rem;
	font-weight: 400;
}
details.arojay-product-policy-details[open] > summary::after { content: "−"; }
details.arojay-product-policy-details > p {
	margin: 0 0 0.75rem;
	padding: 0;
	color: #586771;
	font-size: 0.9rem;
	line-height: 1.55;
}

/* Product comparison ----------------------------------------------------- */
.arojay-collection-showcase-card { position: relative; }
.arojay-card-compare-control {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(7,29,45,0.45);
	background: rgba(255,255,255,0.94);
	box-shadow: 0 4px 14px rgba(7,29,45,0.14);
	cursor: pointer;
}
.arojay-card-compare-control input {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: #071d2d;
	cursor: pointer;
}
.arojay-card-compare-control:focus-within {
	outline: 3px solid rgba(33,102,154,0.3);
	outline-offset: 2px;
}

.arojay-compare-bar[hidden],
.arojay-compare-modal[hidden] { display: none !important; }

.arojay-compare-bar {
	position: fixed;
	right: clamp(1rem, 3vw, 2.5rem);
	bottom: clamp(1rem, 3vw, 2rem);
	left: clamp(1rem, 3vw, 2.5rem);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	box-sizing: border-box;
	max-width: 1120px;
	margin-inline: auto;
	padding: 0.85rem 1rem;
	border: 1px solid #071d2d;
	background: #fff;
	box-shadow: 0 12px 34px rgba(7, 29, 45, 0.2);
	color: #071d2d;
	z-index: 9990;
}

.arojay-compare-bar [data-arojay-compare-message] { color: #a52323; }
.arojay-compare-bar-actions { display: flex; gap: 0.6rem; }
.arojay-compare-bar button {
	min-height: 42px;
	padding: 0.55rem 0.85rem;
	border: 1px solid #071d2d;
	background: #fff;
	color: #071d2d;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}
.arojay-compare-bar [data-arojay-compare-open] { background: #071d2d; color: #fff; }
.arojay-compare-bar button:disabled { cursor: not-allowed; opacity: 0.45; }

.arojay-compare-modal {
	position: fixed;
	inset: 0;
	display: grid;
	place-items: center;
	padding: clamp(0.75rem, 3vw, 2rem);
	z-index: 10000;
}
.arojay-compare-backdrop { position: absolute; inset: 0; border: 0; background: rgba(7, 29, 45, 0.7); }
.arojay-compare-panel {
	position: relative;
	box-sizing: border-box;
	width: min(1180px, 100%);
	max-height: 92vh;
	padding: clamp(1rem, 3vw, 2rem);
	background: #fff;
	overflow: auto;
}
.arojay-compare-panel > h2 { margin-top: 0; padding-right: 2.5rem; color: #071d2d; }
.arojay-compare-close { position: absolute; top: 0.7rem; right: 0.85rem; border: 0; background: transparent; color: #071d2d; font-size: 2rem; cursor: pointer; }
.arojay-compare-table-wrap { overflow-x: auto; }
.arojay-compare-table-wrap table { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; }
.arojay-compare-table-wrap th,
.arojay-compare-table-wrap td { padding: 0.9rem; border: 1px solid #d7e0e6; text-align: left; vertical-align: top; }
.arojay-compare-table-wrap tbody th { width: 180px; background: #f4f7f8; color: #071d2d; }
.arojay-compare-table-wrap thead th { color: #071d2d; }
.arojay-compare-table-wrap thead img { display: block; width: 100%; max-width: 220px; aspect-ratio: 1 / 1; margin-bottom: 0.75rem; object-fit: cover; }
.arojay-compare-table-wrap thead strong { display: block; }
.arojay-compare-open { overflow: hidden; }

@media (max-width: 600px) {
	.arojay-compare-bar { align-items: stretch; flex-direction: column; }
	.arojay-compare-bar-actions > button { flex: 1 1 0; }
}

/* Product purchase confirmation ------------------------------------------ */
.arojay-header-cart-link { position: relative !important; overflow: visible !important; }
.arojay-header-cart-count {
	position: absolute;
	top: -0.55rem;
	right: -0.7rem;
	display: inline-flex;
	min-width: 19px;
	height: 19px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: #d92332;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
	z-index: 3;
}
.arojay-header-cart-count[hidden] { display: none !important; }

.arojay-product-notices { margin: 0 0 1.25rem; }
.arojay-product-notices .woocommerce-message,
.arojay-inline-cart-feedback {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 1.25rem !important;
	padding: 1rem 1.1rem !important;
	border: 1px solid #155b2b !important;
	border-radius: 6px;
	background: #effcf3 !important;
	color: #102318 !important;
	line-height: 1.45;
}
.arojay-product-notices .woocommerce-message::before,
.arojay-inline-cart-feedback::before { display: none !important; }
.arojay-product-notices .woocommerce-message::before {
	position: static !important;
	display: inline-flex !important;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	border-radius: 50%;
	background: #3dbb65;
	color: #fff;
	content: "✓" !important;
	font-family: inherit;
	font-weight: 800;
}
.arojay-product-notices .woocommerce-message .button,
.arojay-inline-cart-feedback > a {
	order: 3;
	margin-left: auto;
	color: #155b2b !important;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
.arojay-inline-cart-feedback-icon {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	border-radius: 50%;
	background: #3dbb65;
	color: #fff;
	font-weight: 800;
}

.arojay-quantity-modal-panel {
	box-sizing: border-box;
	width: min(860px, 100%) !important;
	max-height: min(92svh, 860px);
	padding: clamp(1.1rem, 2.3vw, 1.65rem) !important;
	border-radius: 0;
	overflow-y: auto;
}

.arojay-quantity-modal-panel > h2 {
	margin-bottom: 1rem;
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	letter-spacing: -0.04em;
}

.arojay-purchase-review-layout {
	display: grid;
	grid-template-columns: minmax(190px, 0.72fr) minmax(0, 1.4fr);
	margin-bottom: 1rem;
	border: 1px solid var(--arojay-line, #d9e3ec);
	border-radius: 0;
	background: #f7f9fa;
	overflow: hidden;
}

.arojay-purchase-review {
	display: flex;
	min-width: 0;
	min-height: 220px;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 1rem;
	border-right: 1px solid var(--arojay-line, #d9e3ec);
	background: #fff;
}

.arojay-purchase-review > img {
	display: block;
	width: 100%;
	height: 205px;
	border-radius: 0;
	background: #fff;
	object-fit: contain;
}

.arojay-purchase-review-config {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1rem, 2vw, 1.4rem);
}

.arojay-purchase-review-copy {
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--arojay-line, #d9e3ec);
}

.arojay-purchase-review-copy h3 {
	margin: 0 0 0.55rem;
	color: var(--arojay-navy, #071d2d);
	font-size: clamp(1rem, 1.6vw, 1.3rem);
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.arojay-purchase-review-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	color: var(--arojay-navy, #071d2d);
	font-size: clamp(1.75rem, 2.8vw, 2.35rem);
	font-weight: 850;
}

.arojay-purchase-review-price ins {
	order: 1;
	color: #102a43;
	font-size: 1em;
	font-weight: 760;
	text-decoration: none;
}

.arojay-purchase-review-price del {
	order: 2;
	color: #8793a0;
	font-size: 0.68em;
	font-weight: 500;
	opacity: 0.72;
}

.arojay-purchase-review-options {
	display: grid;
	gap: 0;
	margin: 0;
}

.arojay-purchase-review-option {
	display: grid;
	grid-template-columns: minmax(105px, 0.32fr) minmax(0, 1fr);
	align-items: start;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--arojay-line, #d9e3ec);
}

.arojay-purchase-review-option > span {
	padding-top: 0.65rem;
	color: #52667a;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.arojay-purchase-review-values {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.arojay-purchase-review-values > button,
.arojay-purchase-review-values > strong {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 42px;
	padding: 0.55rem 0.8rem;
	border: 1px solid #bfcbd3;
	border-radius: 6px;
	background: #fff;
	color: var(--arojay-navy, #071d2d);
	font-size: 0.86rem;
	font-weight: 720;
	line-height: 1.2;
}

.arojay-purchase-review-values > button { cursor: pointer; }
.arojay-purchase-review-values > button:hover,
.arojay-purchase-review-values > button:focus-visible,
.arojay-purchase-review-values > button[aria-pressed="true"] {
	border-color: var(--arojay-blue, #21669a);
	box-shadow: inset 0 0 0 1px var(--arojay-blue, #21669a);
}

.arojay-purchase-review-values .arojay-finish-swatch {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	border-radius: 50%;
}

.arojay-purchase-review-validation {
	margin: -0.35rem 0 0.8rem;
	color: #a92929;
	font-size: 0.8rem;
	font-weight: 700;
}

.arojay-purchase-review-validation:empty { display: none; }
.arojay-quantity-modal-panel .arojay-quantity-field { max-width: 150px; }
.arojay-quantity-modal-panel .arojay-quantity-field input { min-height: 48px; border-radius: 0; }
.arojay-quantity-modal-panel .arojay-quantity-modal-actions { justify-content: flex-end; margin-top: .85rem; }
.arojay-quantity-modal-panel .arojay-quantity-modal-actions button { width: min(100%, 220px); max-width: 220px; min-height: 48px; border-radius: 0; background: var(--arojay-navy, #071d2d); color: #fff; font-size: .9rem; }
.arojay-quantity-modal-panel .arojay-quantity-modal-actions button.is-buy-now { border-color: var(--arojay-blue, #21669a); background: var(--arojay-blue, #21669a); }
.arojay-quantity-modal-panel .arojay-quantity-modal-actions button:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

@media (max-width: 600px) {
	.arojay-purchase-review-layout { grid-template-columns: 1fr; }
	.arojay-purchase-review { min-height: 185px; border-right: 0; border-bottom: 1px solid var(--arojay-line, #d9e3ec); }
	.arojay-purchase-review > img { height: 170px; }
	.arojay-purchase-review-option { grid-template-columns: 1fr; gap: 0.45rem; }
	.arojay-purchase-review-option > span { padding-top: 0; }
	.arojay-quantity-modal-panel .arojay-quantity-field { max-width: none; }
	.arojay-quantity-modal-panel .arojay-quantity-modal-actions button { max-width: none; }
}

.arojay-stock-notify {
	margin-top: 1rem;
	padding: 1rem 0;
	border-top: 1px solid #cfd8df;
}
.arojay-stock-notify[hidden],
.arojay-purchase-actions[hidden] { display: none !important; }
.arojay-stock-notify p { margin: 0 0 0.75rem; }
.arojay-stock-notify-fields { display: flex; gap: 0.65rem; align-items: stretch; }
.arojay-stock-notify-fields input[type="email"] { flex: 1 1 auto; min-width: 0; min-height: 50px; padding: 0.7rem 0.85rem; border: 1px solid #8d9ba7; }
.arojay-stock-notify-fields button,
.arojay-card-stock-notify { min-height: 50px; padding: 0.7rem 1.1rem; border: 0; background: #071f2f; color: #fff; font-weight: 700; cursor: pointer; }
.arojay-stock-notify-status { min-height: 1.4em; margin-top: 0.65rem !important; }
.arojay-card-stock-notify { display: flex !important; width: 100% !important; align-items: center; justify-content: center; text-decoration: none; }
.arojay-card-purchase-actions .arojay-card-stock-notify.is-set,
.arojay-card-purchase-actions .arojay-card-stock-notify.is-set:disabled,
.arojay-stock-notify-fields button.is-set,
.arojay-stock-notify-fields button.is-set:disabled {
	border: 1px solid var(--arojay-blue, #21669a);
	background: #fff;
	color: var(--arojay-blue, #21669a);
	cursor: pointer;
	opacity: 1;
}
.arojay-stock-notify-modal[hidden] { display: none !important; }
.arojay-stock-notify-modal .arojay-quantity-modal-panel { width: min(560px, 100%) !important; }
.arojay-stock-notify-modal-copy { margin: -0.45rem 0 1.25rem !important; color: #4f5f6b !important; font-size: 1rem !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.55; text-transform: none !important; }
.arojay-stock-notify-modal-field { display: grid; gap: 0.45rem; margin-top: 1rem; }
.arojay-stock-notify-modal-field > span { color: #344955; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.arojay-stock-notify-modal-field input,
.arojay-stock-notify-modal-field select { box-sizing: border-box; width: 100%; min-height: 50px; padding: 0.7rem 0.85rem; border: 1px solid #8d9ba7; border-radius: 5px; background: #fff; color: #071f2f; font: inherit; }
.arojay-stock-notify-modal .arojay-stock-notify-status { margin-bottom: 0 !important; color: #344955; }
.arojay-stock-notify-modal .arojay-quantity-modal-actions button { max-width: none; background: var(--arojay-navy, #071d2d); color: #fff; }
@media (max-width: 600px) {
	.arojay-stock-notify-fields { flex-direction: column; }
	.arojay-stock-notify-fields button { width: 100%; }
}

/* Account center ---------------------------------------------------------- */
.woocommerce-account {
	--arojay-account-navy: #111;
	--arojay-account-blue: var(--arojay-blue, #21669a);
	--arojay-account-muted: #555;
	--arojay-account-line: #cfcfcf;
	--arojay-account-soft: #fff;
}

.woocommerce-account .wp-block-post-title,
.woocommerce-account .entry-title {
	max-width: 1650px;
	margin: clamp(2rem, 3vw, 3.5rem) auto 1.5rem;
	padding-inline: clamp(1.25rem, 4vw, 4.75rem);
	color: var(--arojay-account-navy);
	font-size: clamp(2.45rem, 4vw, 4.35rem);
	letter-spacing: -0.055em;
	line-height: 0.96;
}

.woocommerce-account .wp-block-post-content > .woocommerce,
.woocommerce-account .entry-content > .woocommerce {
	max-width: 1650px;
	margin: 0 auto clamp(4rem, 8vw, 8rem);
	padding-inline: clamp(1.25rem, 4vw, 4.75rem);
}

.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.logged-in .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(2rem, 4vw, 4.5rem);
	box-sizing: border-box;
	width: min(1650px, calc(100vw - 2.5rem));
	max-width: none;
	margin-left: 50%;
	padding-inline: 0;
	transform: translateX(-50%);
}

.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	width: 100%;
}

.woocommerce-account .woocommerce::after {
	display: table;
	clear: both;
	content: "";
}

.woocommerce-account.logged-in .woocommerce::after { display: none; }

.woocommerce-account.arojay-account-dashboard.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.arojay-account-dashboard.logged-in .entry-content > .woocommerce {
	display: block;
	box-sizing: border-box;
	width: min(1120px, calc(100vw - 2.5rem));
	margin-left: auto;
	margin-right: auto;
	padding-inline: 0;
	transform: none;
}

.woocommerce-account.arojay-account-dashboard .arojay-account-sidebar { display: none; }
.woocommerce-account.arojay-account-dashboard .woocommerce-MyAccount-content {
	max-width: 1080px;
	min-height: 0;
	margin-inline: auto !important;
	padding: clamp(1rem, 2.5vw, 2rem);
}

.woocommerce-account .arojay-account-sidebar {
	grid-column: 1;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border: 1px solid #161616;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: hidden;
}

.woocommerce-account .arojay-account-identity {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1.5rem 1.35rem;
	border-bottom: 1px solid #161616;
	color: #111;
}

.woocommerce-account .arojay-account-avatar {
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	border: 1px solid #161616;
	border-radius: 50%;
	object-fit: cover;
}

.woocommerce-account .arojay-account-identity-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	line-height: 1.25;
}

.woocommerce-account .arojay-account-identity-copy span {
	margin-bottom: 0.15rem;
	color: #555;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.woocommerce-account .arojay-account-identity-copy strong,
.woocommerce-account .arojay-account-identity-copy small {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.woocommerce-account .arojay-account-identity-copy strong { font-size: 1rem; }
.woocommerce-account .arojay-account-identity-copy small { margin-top: 0.2rem; color: #666; font-size: 0.75rem; }

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0.75rem;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }

.woocommerce-account .woocommerce-MyAccount-navigation a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	margin: 0.15rem 0;
	padding: 0.75rem 2.5rem 0.75rem 1rem;
	border-radius: 8px;
	color: #111;
	font-size: 0.92rem;
	font-weight: 720;
	text-decoration: none;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a::after {
	position: absolute;
	right: 1rem;
	content: "→";
	opacity: 0.45;
	transition: transform 160ms ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: #111;
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible::after,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after { opacity: 1; transform: translateX(3px); }

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0.75rem !important; border-top: 1px solid #d6d6d6; padding-top: 0.65rem !important; }

.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2;
	box-sizing: border-box;
	float: none !important;
	width: 100% !important;
	min-height: 500px;
	margin: 0 !important;
	padding: clamp(1.5rem, 3vw, 3rem);
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 { color: var(--arojay-account-navy); letter-spacing: -0.025em; }
.woocommerce-account .woocommerce-MyAccount-content > p { max-width: 760px; color: var(--arojay-account-muted); font-size: 1rem; line-height: 1.65; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type { margin-bottom: 0.35rem; color: var(--arojay-account-navy); font-size: 1.14rem; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.arojay-account-accordion-link) { color: #075ea8; text-decoration: underline; text-underline-offset: 0.18em; }

.woocommerce-account .woocommerce-notices-wrapper:not(:empty),
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
	box-sizing: border-box;
	width: 100%;
}

.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
	display: flex;
	align-items: center;
	min-height: 58px;
	margin: 0 0 1.25rem !important;
	padding: 1rem 1.15rem 1rem 3.25rem !important;
	border: 1px solid #161616;
	border-top-width: 1px;
	border-radius: 10px;
	background: #fff;
	color: var(--arojay-account-navy);
	line-height: 1.45;
}

.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before { top: 50%; left: 1.2rem; color: #111; transform: translateY(-50%); }
.woocommerce-account .woocommerce-error { border-color: #161616; background: #fff; }
.woocommerce-account .woocommerce-error::before { color: #111; }
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button { order: 2; margin-left: auto; border-color: var(--arojay-account-navy); background: var(--arojay-account-navy); color: #fff; }

.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info {
	min-height: 150px;
	justify-content: space-between;
	padding: 1.35rem 1.5rem 1.35rem 3.5rem !important;
	border-color: #161616;
	background: #fff;
	font-size: 1.05rem;
}

.woocommerce-account .arojay-account-shortcuts {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.85rem;
	width: min(100%, 940px);
	margin: clamp(1.75rem, 3vw, 2.5rem) auto 0;
}

.woocommerce-account .arojay-account-accordion {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #161616;
	border-radius: 12px;
	background: #fff;
	color: #111;
	overflow: hidden;
}

.woocommerce-account .arojay-account-accordion > summary,
.woocommerce-account .arojay-account-accordion-link {
	display: flex;
	min-height: 82px;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	box-sizing: border-box;
	width: 100%;
	padding: 1.1rem 1.3rem;
	background: #fff;
	color: #111;
	text-align: left;
	text-decoration: none;
}

.woocommerce-account .arojay-account-accordion > summary { cursor: pointer; list-style: none; }
.woocommerce-account .arojay-account-accordion > summary::-webkit-details-marker { display: none; }
.woocommerce-account .arojay-account-accordion > summary > span:first-child,
.woocommerce-account .arojay-account-accordion-link > span:first-child { display: flex; min-width: 0; flex-direction: column; }
.woocommerce-account .arojay-account-accordion strong { margin-bottom: 0.2rem; color: #111; font-size: 1.05rem; }
.woocommerce-account .arojay-account-accordion small { color: #5e5e5e; font-size: 0.82rem; line-height: 1.45; }
.woocommerce-account .arojay-account-accordion-toggle::before { content: "−"; font-size: 1.45rem; font-weight: 400; }
.woocommerce-account .arojay-account-accordion:not([open]) .arojay-account-accordion-toggle::before { content: "+"; }
.woocommerce-account .arojay-account-accordion > summary:hover,
.woocommerce-account .arojay-account-accordion > summary:focus-visible,
.woocommerce-account .arojay-account-accordion-link:hover,
.woocommerce-account .arojay-account-accordion-link:focus-visible { outline: 2px solid #111; outline-offset: -3px; }
.woocommerce-account .arojay-account-accordion-content { padding: 1.35rem; border-top: 1px solid #161616; }
.woocommerce-account .arojay-account-accordion-content > :first-child { margin-top: 0; }
.woocommerce-account .arojay-account-accordion-content > :last-child { margin-bottom: 0; }
.woocommerce-account .arojay-account-accordion-content .woocommerce-info { margin-bottom: 0 !important; }

.woocommerce-account .woocommerce table.shop_table {
	border: 1px solid var(--arojay-account-line);
	border-collapse: separate;
	border-radius: 10px;
	overflow: hidden;
}
.woocommerce-account .woocommerce table.shop_table th { padding: 0.85rem 1rem; background: #fff; color: var(--arojay-account-navy); font-size: 0.74rem; letter-spacing: 0.06em; text-transform: uppercase; }
.woocommerce-account .woocommerce table.shop_table td { padding: 1rem; border-color: var(--arojay-account-line); }

.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button {
	min-height: 44px;
	padding: 0.7rem 1.15rem;
	border: 1px solid var(--arojay-account-navy);
	border-radius: 6px;
	background: var(--arojay-account-navy);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce .button:focus-visible,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce button.button:focus-visible { border-color: #333; background: #333; color: #fff; }

.woocommerce-account .woocommerce form .form-row { margin-bottom: 1rem; }
.woocommerce-account .woocommerce form .form-row label { margin-bottom: 0.35rem; color: var(--arojay-account-navy); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form select {
	box-sizing: border-box;
	min-height: 50px;
	padding: 0.75rem 0.85rem;
	border: 1px solid #bccbd5;
	border-radius: 5px;
	background: #fff;
	color: var(--arojay-account-navy);
}
.woocommerce-account .woocommerce form .input-text:focus,
.woocommerce-account .woocommerce form select:focus { border-color: #111; outline: 3px solid rgba(17,17,17,0.12); }
.woocommerce-account .woocommerce fieldset { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--arojay-account-line); border-radius: 8px; }
.woocommerce-account .woocommerce legend { padding-inline: 0.5rem; color: var(--arojay-account-navy); font-weight: 800; }
.woocommerce-account .woocommerce-Address { box-sizing: border-box; padding: 1.25rem; border: 1px solid #161616; border-radius: 10px; background: #fff; }

/* Signed-out account screen uses the same visual system without changing auth. */
.woocommerce-account:not(.logged-in) .woocommerce > h2 {
	margin-bottom: 1rem;
	color: var(--arojay-account-navy);
	font-size: clamp(1.5rem, 2.3vw, 2.15rem);
	letter-spacing: -0.035em;
}

.woocommerce-account:not(.logged-in) .woocommerce form.login,
.woocommerce-account:not(.logged-in) .woocommerce form.register,
.woocommerce-account:not(.logged-in) .woocommerce-form-login {
	box-sizing: border-box;
	max-width: 680px;
	margin: 0 0 2rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid var(--arojay-account-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 55px rgba(7,29,45,0.07);
}

.woocommerce-account:not(.logged-in) .woocommerce .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 4rem);
}

.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
.woocommerce-account:not(.logged-in) .woocommerce .u-column2 { float: none; width: auto; }
.woocommerce-account:not(.logged-in) .woocommerce .u-columns form { height: calc(100% - 4rem); }
.woocommerce-account .woocommerce-LostPassword { margin-bottom: 0; }

@media (max-width: 900px) {
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce { display: block; width: calc(100vw - 2.5rem); }
	.woocommerce-account .arojay-account-sidebar,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; max-width: none; }
	.woocommerce-account .arojay-account-sidebar { margin-bottom: 1.25rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0.25rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; border-top: 0; padding-top: 0 !important; }
}

@media (max-width: 600px) {
	.woocommerce-account .wp-block-post-title,
	.woocommerce-account .entry-title { margin-top: 2rem; margin-bottom: 1.25rem; }
	.woocommerce-account .arojay-account-shortcuts { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: block; }
	.woocommerce-account .woocommerce-MyAccount-content { min-height: 0; padding: 1.2rem; }
	.woocommerce-account .woocommerce-message { align-items: flex-start; flex-direction: column; }
	.woocommerce-account .woocommerce-message .button { order: initial; margin: 0.65rem 0 0; }
	.woocommerce-account .woocommerce table.shop_table_responsive tr { margin-bottom: 0.75rem; border: 1px solid var(--arojay-account-line); border-radius: 8px; background: #fff; }
	.woocommerce-account:not(.logged-in) .woocommerce .u-columns { grid-template-columns: 1fr; }
}

/* Cart -------------------------------------------------------------------- */
.woocommerce-cart {
	--arojay-cart-navy: var(--arojay-navy, #071d2d);
	--arojay-cart-blue: var(--arojay-blue, #21669a);
	--arojay-cart-muted: var(--arojay-muted, #52667a);
	--arojay-cart-line: var(--arojay-line, #d9e3ec);
	--arojay-cart-soft: #f4f7f9;
}

.woocommerce-cart .wp-block-post-title,
.woocommerce-cart .entry-title { display: none; }

.woocommerce-cart main,
.woocommerce-cart .wp-block-post-content,
.woocommerce-cart .entry-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

.woocommerce-cart .wp-block-post-content,
.woocommerce-cart .entry-content { margin-block-start: 0; padding-inline: 0 !important; }

.woocommerce-cart .arojay-cart-shell {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-inline: auto;
	padding: 0 clamp(1.25rem, 4vw, 4.75rem) clamp(2.75rem, 5vw, 5rem);
	color: var(--arojay-cart-navy);
}

.woocommerce-cart .arojay-cart-shell.is-empty {
	width: min(900px, 100vw);
	max-width: 900px;
	margin-inline: auto;
	min-height: 52vh;
	padding-top: clamp(4rem, 8vw, 8rem);
	text-align: center;
}

.arojay-cart-hero {
	max-width: 760px;
	margin: 0 auto 1rem;
	padding: clamp(1rem, 1.8vw, 1.45rem) 0 1.1rem;
	border-bottom: 1px solid var(--arojay-cart-line);
	text-align: center;
}

.arojay-cart-eyebrow {
	margin: 0 0 0.7rem;
	color: var(--arojay-cart-blue);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.arojay-cart-hero h1 {
	max-width: none;
	margin: 0;
	color: var(--arojay-cart-navy);
	font-size: clamp(1.75rem, 2.7vw, 2.65rem);
	font-weight: 760;
	letter-spacing: -0.055em;
	line-height: 1;
}

.arojay-cart-hero h1 .woocommerce-Price-amount { display: inline !important; white-space: nowrap; }
.arojay-cart-hero > p:not(.arojay-cart-eyebrow) { margin: .65rem 0 0; color: var(--arojay-cart-muted); font-size: .9rem; }

.arojay-cart-hero-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	max-width: 500px;
	margin: 1rem auto 0;
}

.arojay-cart-hero-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	min-height: 42px;
	padding: 0 1.25rem;
	border: 1px solid var(--arojay-cart-navy);
	border-radius: 0;
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
}

.woocommerce-cart .arojay-cart-secondary-button { border-color: #000; background: #000; color: #fff; }
.arojay-cart-primary-button { border-color: var(--arojay-cart-blue) !important; background: var(--arojay-cart-blue); color: #fff; }
.arojay-cart-hero-actions a:hover,
.arojay-cart-hero-actions a:focus-visible { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(7,29,45,0.11); }

.arojay-cart-live { max-width: 1225px; margin: 0 auto; }

.arojay-cart-after-live {
	max-width: 1225px;
	margin: 1rem auto 0;
	padding: 1.1rem 0;
	border-top: 1px solid var(--arojay-cart-line);
	border-bottom: 1px solid var(--arojay-cart-line);
}

.arojay-cart-bottom-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	max-width: 620px;
	margin-left: auto;
}

.arojay-cart-bottom-actions a {
	display: inline-flex;
	height: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.25rem;
	border: 1px solid var(--arojay-cart-navy);
	border-radius: 0;
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}
.arojay-cart-bottom-actions a:hover,
.arojay-cart-bottom-actions a:focus-visible { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(7,29,45,0.16); filter: brightness(0.94); }

.arojay-cart-after-live > p { margin: 1.25rem 0 0; color: var(--arojay-cart-muted); font-size: 0.88rem; }
.arojay-cart-after-live > p a { color: var(--arojay-cart-blue); font-weight: 750; }

/* Repeated functional links replace only WooCommerce's default checkout row. */
.arojay-cart-shell .wc-block-cart__submit { display: none; }

/* Custom cart renderer: WooCommerce data and form actions, reference-led layout. */
.arojay-live-cart { width: 100%; }
.arojay-live-cart-form { margin: 0; }
.arojay-cart-selection-bar {
	display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .5rem 1.25rem;
	min-height: 48px; padding: .55rem .75rem; border: 1px solid var(--arojay-cart-line); border-bottom: 0; background: #f7f9fa;
}
.arojay-cart-selection-bar label { display: inline-flex; align-items: center; gap: .55rem; font-size: .86rem; font-weight: 800; cursor: pointer; }
.arojay-cart-selection-bar input, .arojay-cart-line-select input { width: 18px; height: 18px; accent-color: var(--arojay-cart-blue); cursor: pointer; }
.arojay-cart-selection-bar > p { justify-self: end; margin: 0; color: var(--arojay-cart-muted); font-size: .84rem; }
.arojay-cart-selection-status { grid-column: 1 / -1; justify-self: stretch !important; color: #a92929 !important; text-align: right; }
.arojay-cart-selection-status:empty { display: none; }
.arojay-live-cart-items { border-top: 1px solid var(--arojay-cart-line); }
.arojay-live-cart-item {
	display: grid;
	grid-template-columns: 28px minmax(125px, 155px) minmax(0, 1fr) 88px minmax(110px, 145px);
	align-items: start;
	gap: clamp(1rem, 2vw, 1.75rem);
	min-height: 165px;
	padding: 1.1rem .6rem;
	border-bottom: 1px solid var(--arojay-cart-line);
	transition: background-color 150ms ease, opacity 150ms ease;
}
.arojay-live-cart-item:not(.is-selected) { background: #f8fafb; opacity: .62; }
.arojay-cart-line-select { align-self: center; display: grid; place-items: center; }
.arojay-live-cart-image { align-self: center; }
.arojay-live-cart-image a { display: block; }
.arojay-live-cart-image img { display: block; width: 100%; max-height: 140px; margin: 0 auto; border-radius: 0; object-fit: contain; }
.arojay-live-cart-copy h2 { margin: 0 0 0.55rem; font-size: clamp(1rem, 1.45vw, 1.28rem); line-height: 1.22; letter-spacing: -0.02em; }
.arojay-live-cart-copy h2 a { color: var(--arojay-cart-navy); text-decoration: none; }
.arojay-live-cart-facts { display: flex; flex-wrap: wrap; gap: .25rem 1rem; color: var(--arojay-cart-muted); font-size: .82rem; line-height: 1.4; }
.arojay-live-cart-facts span { white-space: nowrap; }
.arojay-live-cart-facts b { color: #36516a; font-weight: 750; }
.arojay-live-cart-quantity { display: grid; gap: .35rem; padding-top: 0.15rem; }
.arojay-cart-quantity-label { color: var(--arojay-cart-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.arojay-live-cart-quantity .quantity { margin: 0; }
.arojay-live-cart-quantity input.qty { box-sizing: border-box; width: 70px; min-height: 40px; padding: 0.45rem; border: 1px solid #b8c7d2; border-radius: 0; color: var(--arojay-cart-navy); font-size: .9rem; font-weight: 750; text-align: center; }
.arojay-live-cart-price { display: flex; align-items: flex-end; flex-direction: column; gap: 0.75rem; text-align: right; }
.arojay-live-cart-price strong { color: var(--arojay-cart-navy); font-size: clamp(1.35rem, 1.9vw, 1.75rem); white-space: nowrap; }
.arojay-live-cart-price .remove { color: var(--arojay-cart-blue); font-size: 0.78rem; text-underline-offset: 0.18em; }

.arojay-live-cart-tools { display: flex; align-items: end; justify-content: flex-end; gap: 0.75rem; padding: 1rem 0; border-bottom: 1px solid var(--arojay-cart-line); }
.arojay-cart-coupon { display: grid; grid-template-columns: minmax(180px, 280px) auto; gap: 0.5rem; margin-right: auto; }
.arojay-cart-coupon > span { grid-column: 1 / -1; color: var(--arojay-cart-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.arojay-cart-coupon input { box-sizing: border-box; min-height: 40px; padding: 0.55rem 0.7rem; border: 1px solid #b8c7d2; border-radius: 0; }
.arojay-cart-coupon button,
.arojay-cart-update { min-height: 40px; padding: 0.55rem .85rem; border: 1px solid var(--arojay-cart-navy); border-radius: 0; background: #fff; color: var(--arojay-cart-navy); font-size: .82rem; font-weight: 750; cursor: pointer; transition: transform 150ms ease, background-color 150ms ease, color 150ms ease, box-shadow 150ms ease; }
.arojay-cart-coupon button:hover,
.arojay-cart-coupon button:focus-visible,
.arojay-cart-update:hover,
.arojay-cart-update:focus-visible { background: var(--arojay-cart-navy); color: #fff; transform: translateY(-1px); box-shadow: 0 7px 18px rgba(7,29,45,0.14); }
.arojay-cart-coupon button:disabled,
.arojay-cart-update:disabled { cursor: not-allowed; opacity: 0.45; transform: none; box-shadow: none; }

.arojay-cart-delivery { max-width: 920px; margin: 0 0 0 auto; padding: 1.25rem 0; border-bottom: 1px solid var(--arojay-cart-line); }
.arojay-cart-delivery h2 { margin: 0 0 1rem; font-size: 1.05rem; letter-spacing: -0.015em; }
.arojay-cart-delivery > p { margin: 0; color: var(--arojay-cart-muted); }
.arojay-cart-delivery .shipping-calculator-button { color: var(--arojay-cart-blue); font-weight: 750; }
.arojay-cart-delivery .shipping-calculator-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0.75rem; margin-top: 1rem; }
.arojay-cart-delivery .shipping-calculator-form .form-row { width: 100%; margin: 0; }
.arojay-cart-delivery .shipping-calculator-form input,
.arojay-cart-delivery .shipping-calculator-form select { box-sizing: border-box; width: 100%; min-height: 44px; padding: 0.65rem 0.8rem; border: 1px solid #b8c7d2; border-radius: 6px; }
.arojay-cart-delivery .shipping-calculator-form button { min-height: 44px; border-radius: 6px; background: var(--arojay-cart-navy); color: #fff; }

.arojay-live-cart-totals { max-width: 920px; margin: 0 0 0 auto; padding: 1.25rem 0 0; }
.arojay-cart-total-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: 0.45rem 0; color: var(--arojay-cart-navy); }
.arojay-cart-total-row > strong { max-width: 60%; text-align: right; }
.arojay-cart-total-row.is-total { margin-top: 0.75rem; padding: 1.25rem 0; border-top: 1px solid var(--arojay-cart-line); border-bottom: 1px solid var(--arojay-cart-line); font-size: clamp(1.45rem, 2vw, 1.9rem); }
.arojay-cart-total-row .woocommerce-remove-coupon { display: block; margin-top: 0.3rem; color: var(--arojay-cart-blue); font-size: 0.75rem; font-weight: 500; }

/* WooCommerce Cart block: retain its React/store behavior, change layout only. */
.woocommerce-cart .wc-block-cart { display: block; margin: 0; }
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar { box-sizing: border-box; width: 100% !important; padding: 0 !important; }
.woocommerce-cart .wc-block-cart__main { margin: 0; }
.woocommerce-cart .wc-block-cart__sidebar { max-width: 650px; margin: 2.5rem 0 0 auto; }
.woocommerce-cart .wc-block-cart__totals-title { padding: 0 0 0.85rem; color: var(--arojay-cart-navy); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.1em; text-align: left; text-transform: uppercase; }

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart-items { margin: 0; border: 0; }
.woocommerce-cart .wc-block-cart-items thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.woocommerce-cart .wc-block-cart-items__row { display: grid; grid-template-columns: minmax(145px, 220px) minmax(0, 1fr) auto; gap: clamp(1.25rem, 3vw, 3rem); align-items: start; border-top: 1px solid var(--arojay-cart-line); }
.woocommerce-cart .wc-block-cart-items__row:last-child { border-bottom: 1px solid var(--arojay-cart-line); }
.woocommerce-cart .wc-block-cart-items__row td { box-sizing: border-box; width: auto !important; padding: clamp(1.5rem, 3vw, 2.6rem) 0 !important; border: 0 !important; }
.woocommerce-cart .wc-block-cart-item__image { grid-column: 1; }
.woocommerce-cart .wc-block-cart-item__image img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 8px; background: var(--arojay-cart-soft); object-fit: contain; }
.woocommerce-cart .wc-block-cart-item__product { grid-column: 2; }
.woocommerce-cart .wc-block-cart-item__total { grid-column: 3; min-width: 130px; text-align: right; }
.woocommerce-cart .wc-block-components-product-name { display: inline-block; margin-bottom: 0.65rem; color: var(--arojay-cart-navy); font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 780; letter-spacing: -0.025em; line-height: 1.15; text-decoration: none; }
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-components-product-details { color: var(--arojay-cart-muted); font-size: 0.83rem; line-height: 1.5; }
.woocommerce-cart .wc-block-components-product-price { color: var(--arojay-cart-navy); font-weight: 750; }
.woocommerce-cart .wc-block-components-quantity-selector { min-height: 42px; margin-top: 1.15rem; border: 1px solid #bccbd5; border-radius: 5px; }
.woocommerce-cart .wc-block-components-quantity-selector input { color: var(--arojay-cart-navy); font-weight: 750; }
.woocommerce-cart .wc-block-cart-item__remove-link { margin-top: 0.65rem !important; color: var(--arojay-cart-blue) !important; font-size: 0.78rem !important; text-decoration: underline !important; text-underline-offset: 0.18em; }
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 1.05rem; }

.woocommerce-cart .wc-block-components-totals-wrapper { padding: 0.8rem 0; border-color: var(--arojay-cart-line); }
.woocommerce-cart .wc-block-components-totals-item { padding-inline: 0; }
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__value { color: var(--arojay-cart-navy); font-size: 0.9rem; }
.woocommerce-cart .wc-block-components-totals-footer-item { padding-top: 1rem; border-top: 1px solid var(--arojay-cart-line); }
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.25rem; font-weight: 850; }
.woocommerce-cart .wc-block-cart__submit { margin-top: 1.25rem; }
.woocommerce-cart .wc-block-cart__submit-button {
	min-height: 56px;
	border: 1px solid var(--arojay-cart-blue);
	border-radius: 7px;
	background: var(--arojay-cart-blue);
	color: #fff;
	font-size: 1rem;
	font-weight: 850;
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible { background: var(--arojay-cart-navy); border-color: var(--arojay-cart-navy); box-shadow: 0 10px 24px rgba(7,29,45,0.14); }
.woocommerce-cart .wc-block-components-panel,
.woocommerce-cart .wc-block-components-totals-coupon { border-color: var(--arojay-cart-line); }

/* Classic Cart fallback for stores that switch away from the Cart block. */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 2rem; }
.woocommerce-cart table.shop_table { border: 0; border-collapse: collapse; }
.woocommerce-cart table.shop_table th { padding: 0.8rem; color: var(--arojay-cart-muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.woocommerce-cart table.shop_table td { padding: 1.5rem 0.8rem; border-color: var(--arojay-cart-line); }
.woocommerce-cart table.shop_table .product-thumbnail img { width: 140px; border-radius: 8px; }
.woocommerce-cart table.shop_table .product-name a { color: var(--arojay-cart-navy); font-weight: 780; text-decoration: none; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: min(100%, 650px); }
.woocommerce-cart .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 56px; display: flex; align-items: center; justify-content: center; border-radius: 7px; background: var(--arojay-cart-blue); font-size: 1rem; }

.arojay-cart-recommendations,
.arojay-cart-help {
	max-width: 1100px;
	margin: clamp(1.75rem, 3vw, 3rem) auto 0;
	padding-top: clamp(1.4rem, 2.5vw, 2.25rem);
	border-top: 1px solid var(--arojay-cart-line);
}
.arojay-cart-recommendations > h2,
.arojay-cart-help h2 { margin: 0; color: var(--arojay-cart-navy); font-size: clamp(1.7rem, 2.5vw, 2.5rem); letter-spacing: -0.04em; line-height: 1; }
.arojay-cart-recommendation-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(1.25rem, 3vw, 2.25rem); margin-top: 1.4rem; }
.arojay-cart-recommendation-card { display: flex; min-width: 0; flex-direction: column; }
.arojay-cart-recommendation-image { display: block; aspect-ratio: 1 / 1; border-radius: 10px; background: var(--arojay-cart-soft); overflow: hidden; }
.arojay-cart-recommendation-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 220ms ease; }
.arojay-cart-recommendation-image:hover img { transform: scale(1.025); }
.arojay-cart-recommendation-copy { display: flex; min-height: 190px; flex: 1; flex-direction: column; padding-top: 1rem; }
.arojay-cart-recommendation-copy h3 { margin: 0 0 0.6rem; font-size: 1rem; line-height: 1.3; }
.arojay-cart-recommendation-copy h3 a { color: var(--arojay-cart-navy); text-decoration: none; }
.arojay-cart-recommendation-price { margin-bottom: 1rem; color: var(--arojay-cart-muted); font-size: 0.92rem; }
.arojay-cart-recommendation-action { display: flex !important; align-items: center; justify-content: center; min-height: 42px; margin-top: auto !important; border: 1px solid var(--arojay-cart-blue) !important; border-radius: 0 !important; background: var(--arojay-cart-blue) !important; color: #fff !important; font-size: .82rem !important; font-weight: 800 !important; text-decoration: none !important; }
.arojay-cart-primary-button.is-disabled { pointer-events: none; opacity: .45; }
.arojay-cart-primary-button.is-loading { cursor: wait; opacity: .72; }

.arojay-cart-help-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.arojay-cart-help-heading > a { color: var(--arojay-cart-blue); font-size: 0.88rem; font-weight: 750; text-decoration: none; }
.arojay-cart-faqs { margin-top: 1.35rem; border-bottom: 1px solid var(--arojay-cart-line); }
.arojay-cart-faqs details { border-top: 1px solid var(--arojay-cart-line); }
.arojay-cart-faqs summary { position: relative; padding: 1.25rem 3rem 1.25rem 0; color: var(--arojay-cart-navy); font-weight: 760; cursor: pointer; list-style: none; }
.arojay-cart-faqs summary::-webkit-details-marker { display: none; }
.arojay-cart-faqs summary::after { position: absolute; top: 50%; right: 0.25rem; content: "+"; color: var(--arojay-cart-blue); font-size: 1.5rem; font-weight: 400; transform: translateY(-50%); }
.arojay-cart-faqs details[open] summary::after { content: "−"; }
.arojay-cart-faqs details p { max-width: 760px; margin: -0.25rem 0 1.4rem; color: var(--arojay-cart-muted); line-height: 1.65; }

@media (max-width: 780px) {
	.arojay-cart-hero-actions { grid-template-columns: 1fr; }
	.arojay-cart-bottom-actions { grid-template-columns: 1fr; max-width: none; }
	.arojay-live-cart-item { grid-template-columns: 24px 92px minmax(0,1fr) auto; min-height: 0; gap: .85rem; }
	.arojay-cart-line-select { grid-column: 1; grid-row: 1 / span 2; }
	.arojay-live-cart-image { grid-column: 2; grid-row: 1 / span 2; }
	.arojay-live-cart-copy { grid-column: 3; }
	.arojay-live-cart-quantity { grid-column: 3; }
	.arojay-live-cart-price { grid-column: 4; grid-row: 1 / span 2; }
	.arojay-live-cart-tools { align-items: stretch; flex-direction: column; }
	.arojay-cart-coupon { width: 100%; margin: 0; }
	.arojay-cart-update { width: 100%; }
	.arojay-cart-delivery,
	.arojay-live-cart-totals { max-width: none; }
	.woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 105px minmax(0,1fr); gap: 1rem; }
	.woocommerce-cart .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-cart .wc-block-cart-item__product { grid-column: 2; }
	.woocommerce-cart .wc-block-cart-item__total { grid-column: 2; min-width: 0; padding-top: 0 !important; text-align: left; }
	.woocommerce-cart .wc-block-cart__sidebar { max-width: none; }
	.arojay-cart-recommendation-grid { grid-template-columns: 1fr; }
	.arojay-cart-recommendation-card { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 1rem; }
	.arojay-cart-recommendation-copy { min-height: 130px; padding-top: 0; }
	.arojay-cart-help-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
	.arojay-cart-selection-bar { grid-template-columns: 1fr auto; }
}

@media (max-width: 480px) {
	.woocommerce-cart .arojay-cart-shell { padding-inline: 1rem; }
	.arojay-cart-hero { padding-top: 2rem; }
	.arojay-live-cart-item { grid-template-columns: 24px 76px minmax(0,1fr); }
	.arojay-live-cart-copy { grid-column: 3; }
	.arojay-live-cart-copy h2 { margin-bottom: .4rem; font-size: 1rem; }
	.arojay-live-cart-facts { display: grid; gap: .12rem; }
	.arojay-live-cart-quantity { grid-column: 3; }
	.arojay-live-cart-price { grid-column: 3; grid-row: auto; align-items: flex-start; text-align: left; }
	.arojay-cart-selection-bar { grid-template-columns: 1fr; }
	.arojay-cart-selection-bar > p { justify-self: start; }
	.arojay-cart-coupon { grid-template-columns: 1fr; }
	.arojay-cart-coupon > span { grid-column: auto; }
	.arojay-cart-delivery .shipping-calculator-form { grid-template-columns: 1fr; }
	.woocommerce-cart .wc-block-cart-items__row { grid-template-columns: 82px minmax(0,1fr); }
	.arojay-cart-recommendation-card { grid-template-columns: 100px minmax(0,1fr); }
}

/* Checkout ---------------------------------------------------------------- */
.woocommerce-checkout {
	--arojay-checkout-navy: var(--arojay-navy, #071d2d);
	--arojay-checkout-blue: var(--arojay-blue, #21669a);
	--arojay-checkout-muted: var(--arojay-muted, #52667a);
	--arojay-checkout-line: var(--arojay-line, #d9e3ec);
	--arojay-checkout-soft: #f4f7f9;
}

.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout .entry-title {
	max-width: 1320px;
	margin: clamp(2.75rem, 5vw, 5.5rem) auto clamp(2rem, 4vw, 3.5rem);
	padding-inline: clamp(1.25rem, 4vw, 4.75rem);
	color: var(--arojay-checkout-navy);
	font-size: clamp(2.65rem, 4.5vw, 4.75rem);
	font-weight: 780;
	letter-spacing: -0.06em;
	line-height: 0.96;
}

.woocommerce-checkout .wp-block-post-content,
.woocommerce-checkout .entry-content {
	max-width: 1320px;
	margin-inline: auto;
	padding: 0 clamp(1.25rem, 4vw, 4.75rem) clamp(4rem, 8vw, 8rem);
}

.woocommerce-checkout .wc-block-checkout {
	align-items: flex-start;
	gap: clamp(1.5rem, 3vw, 3rem);
	margin: 0;
}

.woocommerce-checkout .wc-block-checkout__main {
	box-sizing: border-box;
	width: calc(62% - clamp(0.75rem, 1.5vw, 1.5rem));
	padding: 0;
}

.woocommerce-checkout .wc-block-checkout__sidebar {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
	box-sizing: border-box;
	width: calc(38% - clamp(0.75rem, 1.5vw, 1.5rem));
	margin: 0;
	padding: clamp(1.15rem, 2vw, 1.65rem) !important;
	border: 1px solid var(--arojay-checkout-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(7,29,45,0.06);
}
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.woocommerce-checkout .wc-block-components-checkout-order-summary-block { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.woocommerce-checkout .checkout-order-summary-block-fill { border: 0 !important; border-radius: 0 !important; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__title { margin: 0 0 0.5rem !important; }

.woocommerce-checkout .wc-block-components-checkout-step {
	margin: 0 0 1rem;
	padding: clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid var(--arojay-checkout-line);
	border-radius: 12px;
	background: #fff;
}

.woocommerce-checkout .wc-block-components-checkout-step::after { display: none; }
.woocommerce-checkout .wc-block-components-checkout-step__heading { margin-bottom: 1.25rem; }
.woocommerce-checkout .wc-block-components-checkout-step__title {
	color: var(--arojay-checkout-navy);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 780;
	letter-spacing: -0.03em;
	line-height: 1.1;
}
.woocommerce-checkout .wc-block-components-checkout-step__description { margin-top: 0.4rem; color: var(--arojay-checkout-muted); font-size: 0.84rem; line-height: 1.5; }
.woocommerce-checkout .wc-block-components-checkout-step__container { padding-left: 0; }

/* Keep shipping and payment visually open instead of nesting them in another card. */
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block.wc-block-components-checkout-step,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block.wc-block-components-checkout-step,
.woocommerce-checkout #shipping-option.wc-block-components-checkout-step,
.woocommerce-checkout #payment-method.wc-block-components-checkout-step {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
}

.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block +
.wp-block-woocommerce-checkout-payment-block {
	margin-top: 0;
}

/* WooCommerce's numbered-step layout reserves 36px for a step marker even
 * though AROJAY replaces the Shipping and Payment titles with their actual
 * choices. Remove that reserved gutter so both choices and their contents use
 * the same left edge as Express Checkout. */
.woocommerce-checkout .wc-block-checkout__form--with-step-numbers #shipping-option,
.woocommerce-checkout .wc-block-checkout__form--with-step-numbers #payment-method,
.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wp-block-woocommerce-checkout-shipping-methods-block,
.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wp-block-woocommerce-checkout-payment-block {
	box-sizing: border-box;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.woocommerce-checkout #shipping-option .wc-block-components-checkout-step__content,
.woocommerce-checkout #payment-method .wc-block-components-checkout-step__content,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__content,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__content {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.woocommerce-checkout #shipping-option .wc-block-components-checkout-step__content::before,
.woocommerce-checkout #payment-method .wc-block-components-checkout-step__content::before,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__content::before,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__content::before {
	display: none !important;
	content: none !important;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce-checkout .wc-block-components-address-form select {
	box-sizing: border-box;
	min-height: 56px;
	border: 1px solid #afbec8;
	border-radius: 6px;
	background: #fff;
	color: var(--arojay-checkout-navy);
	font-size: 1rem;
	box-shadow: none;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.woocommerce-checkout .wc-block-components-address-form select:focus {
	border-color: var(--arojay-checkout-blue);
	outline: 3px solid rgba(33,102,154,0.12);
	box-shadow: none;
}

.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--arojay-checkout-muted); }
.woocommerce-checkout .wc-block-components-checkbox label { color: var(--arojay-checkout-navy); font-size: 0.9rem; }
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input { width: 22px; height: 22px; border: 1px solid #99aab5; border-radius: 4px; }
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:checked { border-color: var(--arojay-checkout-blue); background: var(--arojay-checkout-blue); }

.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
.woocommerce-checkout .wc-block-components-radio-control__option {
	margin: 0;
	min-height: 58px;
	padding: 1rem 1rem 1rem 3.25rem;
	border: 1px solid var(--arojay-checkout-line);
	background: #fff;
}
.woocommerce-checkout .wc-block-components-radio-control__option-layout,
.woocommerce-checkout .wc-block-components-radio-control__label-group { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; }
.woocommerce-checkout .wc-block-components-radio-control__input { left: 1rem; }
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:first-child,
.woocommerce-checkout .wc-block-components-radio-control__option:first-child { border-radius: 8px 8px 0 0; }
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:last-child,
.woocommerce-checkout .wc-block-components-radio-control__option:last-child { border-radius: 0 0 8px 8px; }
.woocommerce-checkout .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option,
.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option { border-top: 0; }
.woocommerce-checkout .wc-block-components-radio-control__input:checked { border-color: var(--arojay-checkout-blue); }

/* Show Shipping Options and Payment Options directly, without a second framed control. */
.woocommerce-checkout #shipping-option .wc-block-components-radio-control,
.woocommerce-checkout #payment-method .wc-block-components-radio-control {
	width: 100% !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option,
.woocommerce-checkout #payment-method .wc-block-components-radio-control__option {
	min-height: 0;
	padding: 0.65rem 0 0.65rem 2.5rem;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Payment methods use a nested accordion: the inner radio option already owns
 * the 40px control gutter. Keeping the same gutter on the outer accordion
 * shifts the whole heading, loading state and card form one extra step right. */
.woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-option {
	min-height: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-checkout #shipping-option .wc-block-components-radio-control__input,
.woocommerce-checkout #payment-method .wc-block-components-radio-control__input {
	left: 0;
}

.woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-content {
	margin-top: 0.9rem;
	padding: 0;
	border: 0 !important;
	box-shadow: none !important;
}

/* WooCommerce draws the remaining frame with a pseudo-element. */
.woocommerce-checkout #shipping-option .wc-block-components-radio-control--highlight-checked::after,
.woocommerce-checkout #payment-method .wc-block-components-radio-control--highlight-checked::after,
.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option::after,
.woocommerce-checkout #payment-method .wc-block-components-radio-control-accordion-option::after,
.woocommerce-checkout #payment-method .wc-block-components-radio-control__option::after {
	display: none !important;
	content: none !important;
}

/* Use the actual choices as the section headings; avoid duplicate titles. */
.woocommerce-checkout #shipping-option .wc-block-components-checkout-step__heading,
.woocommerce-checkout #payment-method .wc-block-components-checkout-step__heading {
	display: none !important;
}

.woocommerce-checkout #shipping-option .wc-block-components-radio-control__label,
.woocommerce-checkout #payment-method .wc-block-components-radio-control__label {
	color: var(--arojay-checkout-navy);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 780;
	letter-spacing: -0.03em;
	line-height: 1.1;
}

.woocommerce-checkout #shipping-option .wc-block-components-radio-control__secondary-label {
	color: var(--arojay-checkout-navy);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0;
}

.woocommerce-checkout .wc-block-components-order-summary__button-text,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	color: var(--arojay-checkout-navy);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 780;
	letter-spacing: -0.03em;
}
.woocommerce-checkout .wc-block-components-order-summary { padding: 0; }
.woocommerce-checkout .wc-block-components-order-summary-item { display: grid; grid-template-columns: 74px minmax(0,1fr) auto; align-items: start; gap: 0.9rem; padding: 1rem 0; border-bottom: 1px solid var(--arojay-checkout-line); }
.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 74px; }
.woocommerce-checkout .wc-block-components-order-summary-item__image { margin-top: 0; padding-bottom: 0; }
.woocommerce-checkout .wc-block-components-order-summary-item__image img { width: 74px; max-width: 74px; border-radius: 6px; background: #fff; object-fit: contain; }
.woocommerce-checkout .wc-block-components-order-summary-item__description { padding: 0.15rem 0 0.7rem; }
.woocommerce-checkout .wc-block-components-order-summary-item__quantity { border: 0; background: var(--arojay-checkout-navy); color: #fff; box-shadow: none; }
.woocommerce-checkout .wc-block-components-product-name { color: var(--arojay-checkout-navy); font-size: 0.92rem; font-weight: 760; line-height: 1.35; text-decoration: none; }
.woocommerce-checkout .wc-block-components-product-metadata { color: var(--arojay-checkout-muted); font-size: 0.75rem; }
.woocommerce-checkout .wc-block-components-order-summary-item__total-price { margin: 0; padding-top: 0.15rem; color: var(--arojay-checkout-navy); font-weight: 780; text-align: right; }

.woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-subtotal-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-shipping-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-taxes-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-discount-block { min-height: 0 !important; margin: 0 !important; padding: 0.7rem 0 !important; border-color: var(--arojay-checkout-line); }
.woocommerce-checkout .wc-block-components-totals-item { padding-inline: 0; }
.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__value { color: var(--arojay-checkout-navy); font-size: 0.9rem; }
.woocommerce-checkout .wc-block-components-totals-footer-item { margin-top: 0.35rem; padding-top: 1.2rem; border-top: 1px solid var(--arojay-checkout-line); }
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.35rem; font-weight: 850; }
.woocommerce-checkout .wc-block-components-totals-coupon__form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0.6rem; }
.woocommerce-checkout .wc-block-components-totals-coupon__button { min-width: 96px; border-radius: 6px; background: var(--arojay-checkout-blue); color: #fff !important; font-weight: 750; cursor: pointer; }

.woocommerce-checkout .wc-block-checkout__actions_row { align-items: center; gap: 1rem; margin-top: 1.25rem; }
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { color: var(--arojay-checkout-blue); font-size: 0.88rem; font-weight: 750; text-decoration: none; }
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	min-height: 58px;
	border: 1px solid var(--arojay-checkout-blue);
	border-radius: 7px;
	background: var(--arojay-checkout-blue);
	color: #fff;
	font-size: 1rem;
	font-weight: 850;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible { border-color: var(--arojay-checkout-navy); background: var(--arojay-checkout-navy); box-shadow: 0 12px 28px rgba(7,29,45,0.14); }
.woocommerce-checkout .wc-block-components-notice-banner { border: 1px solid #efc2c2; border-radius: 8px; background: #fff5f5; }
.woocommerce-checkout .wc-block-components-validation-error { color: #a92929; font-size: 0.78rem; }

/* Classic Checkout fallback. */
.woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(340px,0.85fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review { float: none; width: auto; }
.woocommerce-checkout form.checkout .col2-set { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; margin: 0; padding: 1.5rem 1.5rem 0; border: 1px solid var(--arojay-checkout-line); border-bottom: 0; border-radius: 12px 12px 0 0; background: var(--arojay-checkout-soft); }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; padding: 1.5rem; border: 1px solid var(--arojay-checkout-line); border-top: 0; border-radius: 0 0 12px 12px; background: var(--arojay-checkout-soft); }
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .select2-container .select2-selection { min-height: 52px; border: 1px solid #afbec8; border-radius: 6px; }
.woocommerce-checkout form.checkout #place_order { width: 100%; min-height: 58px; border-radius: 7px; background: var(--arojay-checkout-blue); font-weight: 850; }

/* Order received screen. */
.woocommerce-order-received .woocommerce-order { max-width: 1000px; margin: 0 auto; padding: clamp(1.5rem,3vw,3rem); border: 1px solid var(--arojay-checkout-line); border-radius: 14px; box-shadow: 0 18px 45px rgba(7,29,45,0.07); }
.woocommerce-order-received .woocommerce-thankyou-order-received { color: var(--arojay-checkout-navy); font-size: clamp(1.35rem,2vw,2rem); font-weight: 780; }
.woocommerce-order-received .woocommerce-order-overview { padding: 1.25rem; border-radius: 8px; background: var(--arojay-checkout-soft); }

@media (max-width: 900px) {
	.woocommerce-checkout .wc-block-checkout { display: flex; flex-direction: column; }
	.woocommerce-checkout .wc-block-checkout__main,
	.woocommerce-checkout .wc-block-checkout__sidebar { width: 100%; }
	.woocommerce-checkout .wc-block-checkout__sidebar { position: static; order: -1; }
	.woocommerce-checkout form.checkout.woocommerce-checkout { display: block; }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top: 2rem; }
}

@media (max-width: 600px) {
	.woocommerce-checkout .wp-block-post-title,
	.woocommerce-checkout .entry-title { margin-top: 2rem; margin-bottom: 1.25rem; }
	.woocommerce-checkout .wc-block-components-checkout-step { padding: 1.15rem; }
	.woocommerce-checkout .wc-block-checkout__sidebar { padding: 1.15rem !important; }
	.woocommerce-checkout .wc-block-checkout__actions_row { align-items: stretch; flex-direction: column-reverse; }
	.woocommerce-checkout .wc-block-components-checkout-place-order-button { width: 100%; }
	.woocommerce-checkout .wc-block-components-order-summary-item { grid-template-columns: 58px minmax(0,1fr); }
	.woocommerce-checkout .wc-block-components-order-summary-item__image { width: 58px; }
	.woocommerce-checkout .wc-block-components-order-summary-item__image img { width: 58px; max-width: 58px; }
	.woocommerce-checkout .wc-block-components-order-summary-item__total-price { grid-column: 2; text-align: left; }
	.arojay-product-notices .woocommerce-message,
	.arojay-inline-cart-feedback { align-items: flex-start; flex-wrap: wrap; }
	.arojay-product-notices .woocommerce-message .button,
	.arojay-inline-cart-feedback > a { width: 100%; margin: 0.35rem 0 0 2.8rem; }
}

/* Account refinement: centered, lighter rows and reliable endpoint layouts. */
.woocommerce-account .wp-block-post-title,
.woocommerce-account .entry-title {
	box-sizing: border-box;
	width: min(960px, calc(100% - 2.5rem));
	max-width: 960px;
	margin: clamp(2rem, 4vw, 3.5rem) auto clamp(1.25rem, 2vw, 2rem);
	padding-inline: 0;
	font-size: clamp(2.35rem, 4vw, 3.65rem);
}

.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.logged-in .entry-content > .woocommerce {
	grid-template-columns: 220px minmax(0, 740px);
	justify-content: center;
	gap: clamp(2rem, 4vw, 3.75rem);
	box-sizing: border-box;
	width: min(1040px, calc(100% - 2.5rem));
	max-width: 1040px;
	margin: 0 auto clamp(3rem, 6vw, 5.5rem);
	padding-inline: 0;
	transform: none;
}

.woocommerce-account.arojay-account-dashboard.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.arojay-account-dashboard.logged-in .entry-content > .woocommerce {
	width: min(960px, calc(100% - 2.5rem));
	max-width: 960px;
	margin-inline: auto;
}

.woocommerce-account.arojay-account-dashboard .woocommerce-MyAccount-content {
	max-width: 900px;
	padding: 0;
}

.woocommerce-account .arojay-account-sidebar {
	border: 0;
	border-radius: 0;
	overflow: visible;
}

.woocommerce-account .arojay-account-identity {
	padding: 0 0 1rem;
	border-bottom: 1px solid #cfcfcf;
}

.woocommerce-account .arojay-account-avatar { border: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation { overflow: visible; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0.5rem 0 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	min-height: 44px;
	margin: 0;
	padding: 0.65rem 1.75rem 0.65rem 0;
	border-bottom: 1px solid #e2e2e2;
	border-radius: 0;
	background: transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation a::after { right: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: transparent;
	color: #111;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0 !important; border-top: 0; padding-top: 0 !important; }

.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	min-height: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-content > p { line-height: 1.55; }

.woocommerce-account .arojay-account-shortcuts {
	gap: 0;
	width: 100%;
	margin: clamp(1.25rem, 2.5vw, 2rem) auto 0;
	border-top: 1px solid #cfcfcf;
}
.woocommerce-account .arojay-account-accordion {
	border: 0;
	border-bottom: 1px solid #cfcfcf;
	border-radius: 0;
	overflow: visible;
}
.woocommerce-account .arojay-account-accordion > summary,
.woocommerce-account .arojay-account-accordion-link {
	min-height: 68px;
	padding: 0.9rem 0;
}
.woocommerce-account .arojay-account-accordion > summary:hover,
.woocommerce-account .arojay-account-accordion > summary:focus-visible,
.woocommerce-account .arojay-account-accordion-link:hover,
.woocommerce-account .arojay-account-accordion-link:focus-visible {
	outline: 0;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.woocommerce-account .arojay-account-accordion-content {
	padding: 0.45rem 0 1.5rem;
	border-top: 0;
}
.woocommerce-account .arojay-account-accordion-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info {
	min-height: 0;
	padding: 0.9rem 0 0.9rem 2.25rem !important;
	border: 0;
	border-bottom: 1px solid #dedede;
	border-radius: 0;
}
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before { left: 0.25rem; }
.woocommerce-account .woocommerce-Address {
	padding: 0;
	border: 0;
	border-radius: 0;
}
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; }
.woocommerce-account .woocommerce fieldset {
	margin: 1.5rem 0;
	padding: 1.25rem 0 0;
	border: 0;
	border-top: 1px solid #cfcfcf;
	border-radius: 0;
}
.woocommerce-account .woocommerce legend { padding-inline: 0; }

/* Checkout coupon is intentionally disabled when blank, then gains a clear
   pointer, hover and focus response as soon as WooCommerce enables it. */
.woocommerce-checkout .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-totals-coupon__button:not(:disabled) { cursor: pointer; }
.woocommerce-checkout .wc-block-components-totals-coupon__button {
	border: 1px solid var(--arojay-checkout-blue);
	transition: transform 150ms ease, background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, opacity 150ms ease;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button:not(:disabled):hover,
.woocommerce-checkout .wc-block-components-totals-coupon__button:not(:disabled):focus-visible {
	border-color: var(--arojay-checkout-navy);
	background: var(--arojay-checkout-navy);
	transform: translateY(-1px);
	box-shadow: 0 7px 18px rgba(7,29,45,0.15);
}
.woocommerce-checkout .wc-block-components-totals-coupon__button:disabled {
	cursor: not-allowed;
	opacity: 0.48;
}

/* Remove the empty-looking vertical band when recommendations are unavailable,
   and keep three real cards compact when they are available. */
.arojay-cart-after-live { margin-top: 0.5rem; padding-block: 0.85rem; }
.arojay-cart-recommendations,
.arojay-cart-help { margin-top: 1.25rem; padding-top: 1.25rem; }
.arojay-cart-recommendation-grid { margin-top: 1rem; }
.arojay-cart-recommendation-copy { min-height: 165px; }

@media (max-width: 900px) {
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce {
		display: block;
		width: min(760px, calc(100% - 2rem));
		max-width: 760px;
		margin: 0 auto 3rem;
		transform: none;
	}
	.woocommerce-account .arojay-account-sidebar { width: 100% !important; margin: 0 0 1.75rem; }
	.woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; max-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 1.25rem; }
}

@media (max-width: 600px) {
	.woocommerce-account .wp-block-post-title,
	.woocommerce-account .entry-title {
		width: calc(100% - 2rem);
		margin: 1.75rem auto 1.25rem;
		font-size: clamp(2.15rem, 12vw, 3rem);
	}
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce,
	.woocommerce-account.arojay-account-dashboard.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.arojay-account-dashboard.logged-in .entry-content > .woocommerce {
		width: calc(100% - 2rem);
		max-width: none;
		margin-inline: auto;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: block; }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 0; overflow-wrap: anywhere; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; gap: 1.5rem; }
	.woocommerce-account .woocommerce form .form-row-first,
	.woocommerce-account .woocommerce form .form-row-last { float: none; width: 100%; }
	.woocommerce-account .woocommerce form .input-text,
	.woocommerce-account .woocommerce form select,
	.woocommerce-account .woocommerce .select2-container { box-sizing: border-box; width: 100% !important; max-width: 100%; }
	.woocommerce-account .woocommerce table.shop_table_responsive tr { border: 0; border-bottom: 1px solid #cfcfcf; border-radius: 0; }
	.woocommerce-account .woocommerce-message .button,
	.woocommerce-account .woocommerce-info .button { width: 100%; margin: 0.65rem 0 0; }
	.woocommerce-account .arojay-account-accordion-content .woocommerce-info,
	.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info { align-items: flex-start; flex-direction: column; }
	.woocommerce-checkout .wc-block-components-totals-coupon__form { grid-template-columns: 1fr; }
	.woocommerce-checkout .wc-block-components-totals-coupon__button { width: 100%; min-height: 46px; }
}

/* Account landing v2: use the roomy endpoint layout shown in the address
   editor and scale type/forms without bringing the dashboard cards back. */
.woocommerce-account .wp-block-post-title,
.woocommerce-account .entry-title {
	width: min(1240px, calc(100% - 3rem));
	max-width: 1240px;
	font-size: clamp(3rem, 4.8vw, 4.75rem);
}

.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.logged-in .entry-content > .woocommerce {
	grid-template-columns: 250px minmax(0, 900px);
	gap: clamp(3rem, 5vw, 5rem);
	width: min(1240px, calc(100% - 3rem));
	max-width: 1240px;
}

.woocommerce-account .arojay-account-identity-copy span { font-size: 0.78rem; }
.woocommerce-account .arojay-account-identity-copy strong { font-size: 1.12rem; }
.woocommerce-account .arojay-account-identity-copy small { font-size: 0.84rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a { font-size: 1rem; }
.woocommerce-account .woocommerce-MyAccount-content {
	font-size: 1rem;
	line-height: 1.55;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: clamp(1.9rem, 3vw, 2.65rem);
	line-height: 1.08;
}
.woocommerce-account .woocommerce form .form-row { margin-bottom: 1.25rem; }
.woocommerce-account .woocommerce form .form-row label { font-size: 0.86rem; }
.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form select {
	min-height: 58px;
	padding: 0.85rem 1rem;
	font-size: 1rem;
}
.woocommerce-account .woocommerce form .select2-container .select2-selection {
	min-height: 58px;
}
.woocommerce-account .woocommerce form .select2-container .select2-selection__rendered {
	line-height: 56px;
}

@media (max-width: 900px) {
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce {
		width: min(760px, calc(100% - 2rem));
		max-width: 760px;
	}
}

@media (max-width: 600px) {
	.woocommerce-account .wp-block-post-title,
	.woocommerce-account .entry-title {
		width: calc(100% - 2rem);
		font-size: clamp(2.35rem, 12vw, 3.25rem);
	}
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce {
		width: calc(100% - 2rem);
	}
	.woocommerce-account .woocommerce-MyAccount-content h2,
	.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: clamp(1.75rem, 8vw, 2.25rem); }
}

/* Account layout v3 -------------------------------------------------------
   One final sizing layer replaces the accumulated endpoint overrides above.
   The account canvas now uses the available screen width without allowing
   headings, notices or address columns to become either oversized or cramped. */
.woocommerce-account main.wp-block-group {
	padding-top: clamp(2rem, 4vw, 4rem) !important;
	padding-bottom: clamp(3rem, 6vw, 6rem) !important;
}

.woocommerce-account main.wp-block-group > .wp-block-post-content {
	margin-block-start: 0 !important;
}

.woocommerce-account .wp-block-post-title,
.woocommerce-account .entry-title {
	box-sizing: border-box;
	width: min(1440px, calc(100vw - 4rem));
	max-width: none;
	margin: 0 0 clamp(2.25rem, 4vw, 4rem) 50%;
	padding: 0;
	font-size: clamp(2.75rem, 3.2vw, 3.75rem);
	font-weight: 760;
	letter-spacing: -0.045em;
	line-height: 1.04;
	transform: translateX(-50%);
}

.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.logged-in .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(3rem, 4.5vw, 5rem);
	box-sizing: border-box;
	width: min(1440px, calc(100vw - 4rem));
	max-width: none;
	margin: 0 0 0 50%;
	padding: 0;
	transform: translateX(-50%);
}

.woocommerce-account .arojay-account-sidebar {
	position: sticky;
	top: 2rem;
	min-width: 0;
}

.woocommerce-account .arojay-account-identity {
	gap: 1rem;
	padding-bottom: 1.25rem;
}

.woocommerce-account .arojay-account-avatar {
	width: 60px;
	height: 60px;
	flex-basis: 60px;
}

.woocommerce-account .arojay-account-identity-copy span { font-size: 0.72rem; }
.woocommerce-account .arojay-account-identity-copy strong { font-size: 1.05rem; }
.woocommerce-account .arojay-account-identity-copy small { font-size: 0.82rem; }

.woocommerce-account .woocommerce-MyAccount-navigation a {
	min-height: 46px;
	padding-block: 0.7rem;
	font-size: 0.98rem;
}

.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	max-width: none;
	padding: 0;
	font-size: 1rem;
	line-height: 1.55;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	margin: 0 0 1.25rem;
	font-size: clamp(1.65rem, 2vw, 2.1rem);
	font-weight: 750;
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
	max-width: 900px;
	font-size: 1rem;
	line-height: 1.6;
}

.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error {
	min-height: 64px;
	margin-bottom: 1rem !important;
	padding: 1rem 1rem 1rem 2.8rem !important;
	border: 1px solid #cfcfcf;
	border-radius: 0;
	background: #fff;
	font-size: 0.98rem;
	line-height: 1.45;
}

.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-error::before { left: 0.9rem; }

.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button {
	flex: 0 0 auto;
	margin-left: 1.5rem;
	white-space: nowrap;
}

.woocommerce-account .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 4rem);
	width: 100%;
	margin-top: 2rem;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { display: none !important; }

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 !important;
	padding: 1.5rem 0 0;
	border: 0;
	border-top: 1px solid #cfcfcf;
	border-radius: 0;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.5rem;
}

.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0;
	font-size: clamp(1.45rem, 1.8vw, 1.85rem);
	line-height: 1.15;
}

.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	flex: 0 0 auto;
	font-size: 0.95rem;
}

.woocommerce-account .woocommerce-Address address {
	margin-top: 1.25rem;
	font-size: 0.98rem;
	line-height: 1.65;
}

.woocommerce-account .woocommerce form.edit-account,
.woocommerce-account .woocommerce form.woocommerce-address-fields {
	width: 100%;
	max-width: 1040px;
}

.woocommerce-account .woocommerce form .form-row {
	box-sizing: border-box;
	margin-bottom: 1.1rem;
}

.woocommerce-account .woocommerce form .form-row-first,
.woocommerce-account .woocommerce form .form-row-last {
	width: calc(50% - 0.75rem);
}

.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form select {
	min-height: 54px;
	font-size: 1rem;
}

.woocommerce-account .woocommerce fieldset {
	margin-top: 1.75rem;
	padding-top: 1.5rem;
}

.woocommerce-account .woocommerce legend {
	font-size: 1.15rem;
	font-weight: 750;
}

.woocommerce-account.arojay-account-dashboard.logged-in .wp-block-post-content > .woocommerce,
.woocommerce-account.arojay-account-dashboard.logged-in .entry-content > .woocommerce {
	display: block;
	width: min(1180px, calc(100vw - 4rem));
	max-width: none;
	margin: 0 0 0 50%;
	transform: translateX(-50%);
}

.woocommerce-account.arojay-account-dashboard .woocommerce-MyAccount-content {
	width: 100% !important;
	max-width: none;
}

@media (max-width: 1050px) {
	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 2.5rem;
		width: calc(100vw - 3rem);
	}
}

@media (max-width: 820px) {
	.woocommerce-account .wp-block-post-title,
	.woocommerce-account .entry-title {
		width: calc(100vw - 2rem);
		margin-bottom: 2rem;
		font-size: clamp(2.35rem, 8vw, 3rem);
	}

	.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.logged-in .entry-content > .woocommerce,
	.woocommerce-account.arojay-account-dashboard.logged-in .wp-block-post-content > .woocommerce,
	.woocommerce-account.arojay-account-dashboard.logged-in .entry-content > .woocommerce {
		display: block;
		width: calc(100vw - 2rem);
		max-width: 760px;
		margin: 0 auto;
		transform: none;
	}

	.woocommerce-account .arojay-account-sidebar {
		position: static;
		margin-bottom: 2.25rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 1.5rem;
	}
}

@media (max-width: 640px) {
	.woocommerce-account main.wp-block-group {
		padding-top: 1.5rem !important;
		padding-bottom: 3rem !important;
	}

	.woocommerce-account .wp-block-post-title,
	.woocommerce-account .entry-title {
		font-size: clamp(2.2rem, 11vw, 2.75rem);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: block; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; gap: 2rem; }
	.woocommerce-account .woocommerce-Address-title { align-items: flex-start; }
	.woocommerce-account .woocommerce-MyAccount-content h2,
	.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: clamp(1.45rem, 7vw, 1.8rem); }

	.woocommerce-account .woocommerce form .form-row-first,
	.woocommerce-account .woocommerce form .form-row-last {
		float: none;
		width: 100%;
	}

	.woocommerce-account .woocommerce-info,
	.woocommerce-account .woocommerce-message,
	.woocommerce-account .woocommerce-error {
		align-items: flex-start;
		flex-direction: column;
	}

	.woocommerce-account .woocommerce-info .button,
	.woocommerce-account .woocommerce-message .button {
		width: 100%;
		margin: 0.75rem 0 0;
		white-space: normal;
	}
}

/* Account address editor recovery ---------------------------------------- */
.arojay-account-recovered {
	box-sizing: border-box;
	width: min(1440px, calc(100vw - 4rem));
	margin: 0 0 clamp(3rem, 6vw, 6rem) 50%;
	transform: translateX(-50%);
}

.arojay-account-recovered-title {
	margin: 0 0 clamp(2.25rem, 4vw, 4rem);
	font-size: clamp(2.75rem, 3.2vw, 3.75rem);
	font-weight: 760;
	letter-spacing: -0.045em;
	line-height: 1.04;
}

.arojay-account-recovered-grid {
	display: grid;
	grid-template-columns: minmax(250px, 280px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(3rem, 4.5vw, 5rem);
}

.arojay-account-recovered-grid > .arojay-account-sidebar {
	grid-column: 1;
	position: sticky;
	top: 2rem;
}

.arojay-account-recovered-grid > .woocommerce-MyAccount-content {
	grid-column: 2;
	min-width: 0;
	width: 100% !important;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper,
.arojay-account-recovered .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.25rem 1.5rem;
	width: 100%;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
.arojay-account-recovered .woocommerce-address-fields__field-wrapper .form-row {
	float: none !important;
	box-sizing: border-box;
	width: 100% !important;
	margin: 0 0 1rem !important;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-wide,
.arojay-account-recovered .woocommerce-address-fields__field-wrapper .form-row-wide,
.woocommerce-account #billing_email_field,
.woocommerce-account #billing_country_field,
.woocommerce-account #billing_address_1_field,
.woocommerce-account #billing_address_2_field,
.woocommerce-account #shipping_country_field,
.woocommerce-account #shipping_address_1_field,
.woocommerce-account #shipping_address_2_field,
.arojay-account-recovered #billing_email_field,
.arojay-account-recovered #billing_country_field,
.arojay-account-recovered #billing_address_1_field,
.arojay-account-recovered #billing_address_2_field,
.arojay-account-recovered #shipping_country_field,
.arojay-account-recovered #shipping_address_1_field,
.arojay-account-recovered #shipping_address_2_field {
	grid-column: 1 / -1;
}

.woocommerce-account #billing_city_field,
.woocommerce-account #shipping_city_field,
.arojay-account-recovered #billing_city_field,
.arojay-account-recovered #shipping_city_field { grid-column: 1; }

.woocommerce-account #billing_state_field,
.woocommerce-account #shipping_state_field,
.arojay-account-recovered #billing_state_field,
.arojay-account-recovered #shipping_state_field { grid-column: 2; }

.woocommerce-account #billing_postcode_field,
.woocommerce-account #shipping_postcode_field,
.arojay-account-recovered #billing_postcode_field,
.arojay-account-recovered #shipping_postcode_field { grid-column: 1; }

.woocommerce-account #billing_phone_field,
.arojay-account-recovered #billing_phone_field { grid-column: 2; }

.woocommerce-account .woocommerce-address-fields > p:last-child,
.arojay-account-recovered .woocommerce-address-fields > p:last-child {
	margin-top: 0.5rem;
}

@media (max-width: 820px) {
	.arojay-account-recovered {
		width: min(760px, calc(100vw - 2rem));
		margin-inline: auto;
		transform: none;
	}

	.arojay-account-recovered-title {
		margin-bottom: 2rem;
		font-size: clamp(2.35rem, 8vw, 3rem);
	}

	.arojay-account-recovered-grid { display: block; }
	.arojay-account-recovered-grid > .arojay-account-sidebar {
		position: static;
		margin-bottom: 2.25rem;
	}
}

@media (max-width: 640px) {
	.arojay-account-recovered-title { font-size: clamp(2.2rem, 11vw, 2.75rem); }
	.woocommerce-account .woocommerce-address-fields__field-wrapper,
	.arojay-account-recovered .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row,
	.arojay-account-recovered .woocommerce-address-fields__field-wrapper .form-row {
		grid-column: 1 !important;
	}
}

/* The hook-mounted address shell replaces the empty native account grid on
   hosts where form-edit-address.php is rendered without My Account chrome. */
body.arojay-account-address-editor .wp-block-post-title,
body.arojay-account-address-editor .entry-title {
	display: none;
}

body.arojay-account-address-editor .wp-block-post-content > .woocommerce,
body.arojay-account-address-editor .entry-content > .woocommerce {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	transform: none;
}

body.arojay-account-address-editor .wp-block-post-content > .woocommerce > .woocommerce-MyAccount-content,
body.arojay-account-address-editor .entry-content > .woocommerce > .woocommerce-MyAccount-content {
	width: 100% !important;
	max-width: none;
	margin: 0 !important;
	padding: 0;
}

body.arojay-account-address-editor .arojay-account-hook-shell {
	margin-top: 0;
}

body.arojay-account-address-editor .arojay-account-hook-shell form > h2 {
	margin-bottom: 1.75rem;
}

body.arojay-account-shell-mounted .wp-block-post-content,
body.arojay-account-shell-mounted .entry-content {
	width: 100%;
	max-width: none;
}

body.arojay-account-shell-mounted .arojay-account-hook-shell {
	position: relative;
	z-index: 1;
}

/* Account viewport centering ------------------------------------------------
 * Match the cart-page recovery pattern: first release the theme's constrained
 * content wrappers to the full viewport, then center one bounded inner grid.
 * Percentage transforms cannot be used here because some account endpoints
 * are mounted inside a stale, left-offset WooCommerce column.
 */
body.woocommerce-account main.wp-block-group,
body.woocommerce-account .wp-block-post-content,
body.woocommerce-account .entry-content,
body.arojay-account-shell-mounted main.wp-block-group,
body.arojay-account-shell-mounted .wp-block-post-content,
body.arojay-account-shell-mounted .entry-content {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

body.woocommerce-account .wp-block-post-content,
body.woocommerce-account .entry-content,
body.arojay-account-shell-mounted .wp-block-post-content,
body.arojay-account-shell-mounted .entry-content {
	margin-block-start: 0 !important;
	padding-inline: 0 !important;
}

body.woocommerce-account .arojay-account-recovered,
body.arojay-account-shell-mounted .arojay-account-recovered {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto clamp(3rem, 6vw, 6rem) !important;
	padding-inline: clamp(1.25rem, 4vw, 4.75rem);
	transform: none !important;
}

body.woocommerce-account .arojay-account-recovered-title,
body.woocommerce-account .arojay-account-recovered-grid,
body.arojay-account-shell-mounted .arojay-account-recovered-title,
body.arojay-account-shell-mounted .arojay-account-recovered-grid {
	box-sizing: border-box;
	width: min(1440px, 100%);
	max-width: 1440px;
	margin-inline: auto;
	transform: none;
}

@media (max-width: 820px) {
	body.woocommerce-account .arojay-account-recovered,
	body.arojay-account-shell-mounted .arojay-account-recovered {
		padding-inline: 1rem;
	}

	body.woocommerce-account .arojay-account-recovered-title,
	body.woocommerce-account .arojay-account-recovered-grid,
	body.arojay-account-shell-mounted .arojay-account-recovered-title,
	body.arojay-account-shell-mounted .arojay-account-recovered-grid {
		width: 100%;
		max-width: none;
	}
}

/* Unified native account endpoints ---------------------------------------
 * Orders, downloads, payment methods and account details use WooCommerce's
 * native account wrapper, not the recovered address shell. The old layout
 * centered those elements with a 50% translation; WordPress calculates that
 * percentage from its constrained content column, which moved a 1440px panel
 * 720px off-screen. Keep the same bounded grid, but center it with auto margins
 * exactly as the stable cart and recovered-address layouts do.
 */
body.woocommerce-account .wp-block-post-title,
body.woocommerce-account .entry-title {
	box-sizing: border-box;
	width: min(1440px, calc(100% - 4rem)) !important;
	max-width: 1440px !important;
	margin: 0 auto clamp(2.25rem, 4vw, 4rem) !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
body.woocommerce-account.logged-in .entry-content > .woocommerce {
	box-sizing: border-box;
	width: min(1440px, calc(100% - 4rem)) !important;
	max-width: 1440px !important;
	margin: 0 auto clamp(3rem, 6vw, 6rem) !important;
	transform: none !important;
}

@media (max-width: 820px) {
	body.woocommerce-account .wp-block-post-title,
	body.woocommerce-account .entry-title,
	body.woocommerce-account.logged-in .wp-block-post-content > .woocommerce,
	body.woocommerce-account.logged-in .entry-content > .woocommerce {
		width: calc(100% - 2rem) !important;
		max-width: 760px !important;
		margin-inline: auto !important;
		transform: none !important;
	}
}
/* Single-product sale price hierarchy.
 * Keep the theme untouched: WooCommerce outputs regular price in <del> and
 * sale price in <ins>; flex ordering presents the live sale price first. */
body.single-product [data-arojay-product-price],
body.single-product .arojay-purchase-review-price,
body.single-product .summary .price:has(del):has(ins),
body.single-product .wp-block-woocommerce-product-price .price:has(del):has(ins) {
	display: flex;
	align-items: baseline;
	gap: 5px;
	flex-wrap: wrap;
}

body.single-product [data-arojay-product-price] ins,
body.single-product .arojay-purchase-review-price ins,
body.single-product .summary .price:has(del):has(ins) ins,
body.single-product .wp-block-woocommerce-product-price .price:has(del):has(ins) ins {
	order: 1;
	color: #102a43;
	font-size: 1em;
	font-weight: 760;
	text-decoration: none;
}

body.single-product [data-arojay-product-price] del,
body.single-product .arojay-purchase-review-price del,
body.single-product .summary .price:has(del):has(ins) del,
body.single-product .wp-block-woocommerce-product-price .price:has(del):has(ins) del {
	order: 2;
	color: #8793a0;
	font-size: 0.68em;
	font-weight: 500;
	opacity: 0.72;
}

/* Compact mobile catalogue controls: filters remain collapsed until opened,
 * and the toolbar no longer requires horizontal scrolling. */
.arojay-collection-toolbar .arojay-filter-reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 3rem;
	padding: 0.65rem 1rem;
	border: 1px solid #d5dce2;
	background: #fff;
	color: #061f31;
	font: inherit;
	text-decoration: none;
}

.arojay-collection-toolbar .arojay-filter-reset:hover,
.arojay-collection-toolbar .arojay-filter-reset:focus-visible {
	border-color: #061f31;
	color: #061f31;
	text-decoration: none;
}

/* Theme filter rows use an explicit display declaration. Preserve the native
 * hidden contract when a value has no storefront-enabled SKU behind it. */
.arojay-product-filters label[hidden],
.arojay-product-filters details[hidden] {
	display: none !important;
}

/* Measure finder: keep option copy and SKU counters aligned across cards,
 * including zero-result options that remain visible but unavailable. */
.arojay-measure-finder .arojay-finder-options:not(.is-compact) .arojay-finder-option > span {
	display: grid !important;
	grid-template-rows: minmax(1.45rem, auto) minmax(2.95rem, auto) auto;
	align-content: start !important;
	gap: 0.42rem !important;
}

.arojay-measure-finder .arojay-finder-options:not(.is-compact) .arojay-finder-option strong,
.arojay-measure-finder .arojay-finder-options:not(.is-compact) .arojay-finder-option small,
.arojay-measure-finder .arojay-finder-options:not(.is-compact) .arojay-finder-option em {
	margin: 0 !important;
}

.arojay-measure-finder .arojay-finder-options:not(.is-compact) .arojay-finder-option em {
	align-self: start !important;
}

.arojay-measure-finder .arojay-finder-option.is-unavailable {
	opacity: 0.42 !important;
	cursor: not-allowed !important;
}

.arojay-measure-finder .arojay-finder-option.is-unavailable * {
	visibility: visible !important;
}

@media (max-width: 767px) {
	.arojay-collection-toolbar {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.65rem !important;
		min-height: 0 !important;
		padding-block: 0.75rem;
		overflow: visible !important;
	}

	.arojay-collection-toolbar > * { min-width: 0; }
	.arojay-collection-toolbar .arojay-filter-toggle { width: 100%; justify-content: center; }
	.arojay-collection-toolbar [data-arojay-result-count] { justify-self: end; white-space: nowrap; }
	.arojay-collection-toolbar .arojay-filter-reset { grid-column: 1 / -1; width: 100%; }
	.arojay-collection-toolbar label {
		grid-column: 1 / -1;
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		width: 100%;
		height: auto !important;
		margin: 0 !important;
	}
	.arojay-collection-toolbar select { width: 100%; }
}

/* Useful fallback for the active block theme's otherwise empty 404 route. */
.arojay-not-found {
	display: grid;
	place-items: center;
	min-height: 58vh;
	padding: clamp(4rem, 10vw, 8rem) 1.25rem;
	background: #fff;
	color: var(--arojay-navy, #071d2d);
	text-align: center;
}

.arojay-not-found__inner { width: min(720px, 100%); }
.arojay-not-found__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--arojay-blue, #21669a);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.16em;
}
.arojay-not-found h1 { margin: 0; font-size: clamp(2.3rem, 6vw, 4.6rem); line-height: 1; }
.arojay-not-found h1 + p { margin: 1.25rem auto 2rem; color: #52667a; line-height: 1.6; }
.arojay-not-found .search-form { display: flex; width: min(560px, 100%); margin: 0 auto; }
.arojay-not-found .search-form label { flex: 1; }
.arojay-not-found .search-field { box-sizing: border-box; width: 100%; min-height: 50px; padding: 0.75rem 1rem; border: 1px solid #cbd6df; }
.arojay-not-found .search-submit { min-height: 50px; padding: 0.75rem 1.25rem; border: 0; background: var(--arojay-navy, #071d2d); color: #fff; font-weight: 750; }
.arojay-not-found__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 1.25rem; }
.arojay-not-found__actions a { background: var(--arojay-navy, #071d2d); color: #fff; text-decoration: none; }
.arojay-not-found__actions a.is-secondary { border: 1px solid var(--arojay-navy, #071d2d); background: #fff; color: var(--arojay-navy, #071d2d); }

/* Account modal --------------------------------------------------------- */
body.arojay-auth-open { overflow: hidden; }
.arojay-auth-modal[hidden], .arojay-auth-modal [hidden] { display: none !important; }
.arojay-auth-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 1.25rem; }
.arojay-auth-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(3, 21, 34, 0.72); cursor: default; }
.arojay-auth-dialog { position: relative; display: grid; grid-template-columns: 45% 55%; width: min(1040px, 94vw); height: min(720px, 88vh); overflow: hidden; border: 0; border-radius: 0; background: #fff; color: #071d2d; box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.arojay-auth-visual { position: relative; min-height: 100%; overflow: hidden; background: #e8edf0; }
.arojay-auth-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.arojay-auth-content { position: relative; overflow-y: auto; padding: clamp(2rem, 4vw, 4.5rem); }
.arojay-auth-close { position: absolute; top: 1rem; right: 1rem; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; color: #071d2d; font-size: 2rem; line-height: 1; }
.arojay-auth-content h2 { margin: 0 0 1.4rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.arojay-auth-error { padding: .75rem 1rem; border-left: 3px solid #b42318; background: #fff1f0; color: #7a271a; }
.arojay-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 1.6rem; border-bottom: 1px solid #b9c6cf; }
.arojay-auth-tabs button { padding: .8rem .25rem; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #52667a; font: inherit; font-weight: 750; }
.arojay-auth-tabs button[aria-selected="true"] { border-bottom-color: #071d2d; color: #071d2d; }
.arojay-auth-form { display: grid; gap: 1rem; }
.arojay-auth-form label { display: grid; gap: .4rem; font-size: .78rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.arojay-auth-form input[type="text"], .arojay-auth-form input[type="email"], .arojay-auth-form input[type="password"] { box-sizing: border-box; width: 100%; min-height: 52px; padding: .75rem .9rem; border: 1px solid #aebdc8; border-radius: 0; background: #fff; font: inherit; }
.arojay-auth-form input:focus { border-color: #071d2d; outline: 3px solid rgba(33,102,154,.16); }
.arojay-auth-form .arojay-auth-remember { display: flex; align-items: center; gap: .5rem; text-transform: none; }
.arojay-auth-form button, .arojay-google-login { display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 52px; padding: .75rem 1rem; border: 1px solid #071d2d; border-radius: 0; background: #071d2d; color: #fff; font: inherit; font-weight: 800; text-decoration: none; }
.arojay-google-login { gap: .7rem; background: #fff; color: #071d2d; }
.arojay-google-logo { display: block; flex: 0 0 18px; width: 18px; height: 18px; }
.arojay-auth-divider { display: flex; align-items: center; gap: .75rem; margin: 1.1rem 0; color: #758592; font-size: .75rem; text-transform: uppercase; }
.arojay-auth-divider::before, .arojay-auth-divider::after { content: ""; flex: 1; height: 1px; background: #d8e0e5; }
.arojay-auth-lost { display: inline-block; margin-top: 1rem; color: #075ea8; }
.arojay-auth-privacy { margin: 1.4rem 0 0; color: #637582; font-size: .78rem; line-height: 1.5; text-align: center; }
.arojay-auth-privacy a { color: #075ea8; text-underline-offset: .16em; }

/* Signed-out direct /my-account/ remains a usable no-JavaScript fallback. */
body.woocommerce-account:not(.logged-in) .wp-block-post-content > .woocommerce,
body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce { box-sizing: border-box; width: min(1120px, calc(100% - 4rem)) !important; max-width: 1120px !important; margin: 0 auto 5rem !important; transform: none !important; }
body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2rem; }
body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 { float: none !important; box-sizing: border-box; width: auto !important; margin: 0 !important; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid #cbd6df; }
.arojay-account-entry { display: flex; justify-content: center; gap: .8rem; box-sizing: border-box; width: min(720px, calc(100% - 2rem)); margin: 0 auto clamp(5rem, 10vw, 9rem); padding: clamp(2rem, 6vw, 4rem); border: 1px solid #cbd6df; background: #fff; }
.arojay-account-entry a { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; min-height: 52px; padding: .7rem 1.4rem; border: 1px solid #071d2d; border-radius: 0; color: #071d2d; font-weight: 800; text-decoration: none; }
.arojay-account-entry .arojay-account-entry-primary { background: #071d2d; color: #fff; }

/* Review entry ---------------------------------------------------------- */
.arojay-product-stories .comment-respond { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #d5dfe6; }
.arojay-product-stories .comment-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.arojay-product-stories .comment-form-rating, .arojay-product-stories .comment-form-comment, .arojay-product-stories .form-submit { grid-column: 1/-1; }
.arojay-product-stories fieldset.comment-form-rating { margin: 0; padding: 0; border: 0; }
.arojay-product-stories fieldset.comment-form-rating legend { margin-bottom: .35rem; font-weight: 750; }
.arojay-review-stars { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; }
.arojay-review-stars input { position: absolute; width: 1px !important; height: 1px; opacity: 0; }
.arojay-review-stars label { margin: 0; color: #aab5bd; font-size: 2rem; line-height: 1; cursor: pointer; }
.arojay-review-stars label:hover, .arojay-review-stars label:hover ~ label,
.arojay-review-stars input:checked ~ label { color: #071d2d; }
.arojay-review-stars input:focus-visible + label { outline: 2px solid #21669a; outline-offset: 2px; }
.arojay-product-stories .comment-form label { display: block; margin-bottom: .35rem; font-weight: 750; }
.arojay-product-stories .comment-form input, .arojay-product-stories .comment-form select, .arojay-product-stories .comment-form textarea { box-sizing: border-box; width: 100%; padding: .7rem; border: 1px solid #b9c6cf; border-radius: 0; background: #fff; font: inherit; }
.arojay-product-stories .form-submit input { min-height: 48px; border: 0; background: #071d2d; color: #fff; font-weight: 800; }
.arojay-google-connection { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #cfcfcf; }

@media (max-width: 767px) {
	.arojay-collection-showcase-card .arojay-collection-product-copy > h2 {
		min-height: 0 !important;
		max-height: none !important;
		display: block;
		overflow: visible;
		-webkit-line-clamp: unset;
	}
}

/* Checkout payment initialization -------------------------------------- */
html.arojay-payment-booting .woocommerce-checkout .wc-block-checkout__no-payment-methods-notice {
	display: none !important;
}

.arojay-payment-loading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	box-sizing: border-box;
	min-height: 72px;
	padding: 1rem 1.15rem;
	border: 1px solid var(--arojay-checkout-line, #d9e3ec);
	border-radius: 8px;
	background: var(--arojay-checkout-soft, #f4f7f9);
	color: var(--arojay-checkout-navy, #071d2d);
	font-weight: 700;
}

.arojay-payment-loading__spinner {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	box-sizing: border-box;
	border: 2px solid #b9c8d4;
	border-top-color: var(--arojay-checkout-blue, #21669a);
	border-radius: 50%;
	animation: arojay-payment-spin 0.75s linear infinite;
}

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

@media (prefers-reduced-motion: reduce) {
	.arojay-payment-loading__spinner { animation: none; }
}

@media (max-width: 720px) {
	.arojay-auth-modal { padding: .75rem; }
	.arojay-auth-dialog { display: block; width: 100%; height: min(760px, 94vh); }
	.arojay-auth-visual { display: none; }
	.arojay-auth-content { height: 100%; padding: 2.75rem 1.25rem 1.5rem; }
	body.woocommerce-account:not(.logged-in) .wp-block-post-content > .woocommerce,
	body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce { width: calc(100% - 2rem) !important; }
	body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set { grid-template-columns: 1fr; }
	.arojay-account-entry { flex-direction: column; padding: 1.25rem; }
	.arojay-account-entry a { width: 100%; box-sizing: border-box; }
	.arojay-product-stories .comment-form { grid-template-columns: 1fr; }
}
