/* ==========================================================================
   Arbora — WooCommerce
   WooCommerce's "general" stylesheet is dequeued; its layout + smallscreen
   sheets stay, so floats they set are neutralised here where we use grid.
   ========================================================================== */

/* ---------- 1. Product grid ---------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	--cols: 4;
	display: grid;
	grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
	gap: clamp(28px, 3vw, 44px) clamp(14px, 1.8vw, 28px);
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
ul.products::before, ul.products::after { display: none !important; }
ul.products.columns-2 { --cols: 2; }
ul.products.columns-3 { --cols: 3; }
ul.products.columns-5 { --cols: 5; }
ul.products.columns-6 { --cols: 6; }
.ar-shop.is-cols-2 ul.products { --cols: 2; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	clear: none !important;
}
@media (max-width: 1100px) { ul.products.columns-5, ul.products.columns-6, ul.products.columns-4 { --cols: 3; } }
@media (max-width: 820px)  { ul.products, ul.products[class*="columns-"], .ar-shop.is-cols-2 ul.products { --cols: 2; } }
@media (max-width: 380px)  { ul.products, ul.products[class*="columns-"] { gap: 24px 10px; } }

/* ---------- 2. Product card --------------------------------------------- */
.ar-card { position: relative; display: flex; flex-direction: column; }
.ar-card__media {
	position: relative;
	aspect-ratio: var(--ar-card-ratio);
	overflow: hidden;
	border-radius: var(--ar-radius);
	background: var(--ar-bg-alt);
	isolation: isolate;
}
.ar-card__link { position: absolute; inset: 0; display: block; }
.ar-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	margin: 0 !important;
	transition: transform 1.2s var(--ar-ease-out), opacity .6s var(--ar-ease);
}
.ar-card__img-alt { opacity: 0; }
.ar-card--has-alt:hover .ar-card__img-alt { opacity: 1; }
.ar-card:hover .ar-card__media img { transform: scale(1.05); }

.ar-badges { position: absolute; top: 14px; left: 14px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; pointer-events: none; }
.ar-badge, .woocommerce span.onsale {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--ar-surface);
	color: var(--ar-ink);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	line-height: 1.4;
	box-shadow: var(--ar-shadow-sm);
	min-height: 0; min-width: 0;
}
.ar-badge--sale { background: var(--ar-sale); color: #fff; }
.ar-badge--new { background: var(--ar-primary); color: var(--ar-on-primary); }
.ar-badge--featured { background: var(--ar-accent-soft); color: var(--ar-accent-ink); }
.ar-badge--soldout { background: var(--ar-ink); color: #fff; }

/* Wishlist heart */
.ar-wish {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / .92);
	color: var(--ar-ink);
	cursor: pointer;
	box-shadow: var(--ar-shadow-sm);
	transition: transform .35s var(--ar-ease-out), color .25s, background .25s;
}
.ar-wish:hover { transform: scale(1.1); color: var(--ar-sale); }
.ar-wish.is-active { color: var(--ar-sale); }
.ar-wish.is-active svg { fill: currentColor; }
.ar-wish.is-pop svg { animation: arHeart .5s var(--ar-ease-out); }
@keyframes arHeart { 30% { transform: scale(1.35); } 60% { transform: scale(.9); } }
.ar-wish--labelled {
	position: static;
	width: auto; height: auto;
	padding: 0;
	gap: 8px;
	display: inline-flex;
	background: none;
	box-shadow: none;
	font-size: .88rem;
	color: var(--ar-text);
}
.ar-wish--labelled:hover { transform: none; }

/* Quick add — slides up over the image */
.ar-card__quick {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 3;
	transform: translateY(calc(100% + 16px));
	transition: transform .5s var(--ar-ease-out);
}
.ar-card:hover .ar-card__quick, .ar-card:focus-within .ar-card__quick { transform: none; }
.ar-card__quick .button {
	--_bg: rgb(255 255 255 / .95);
	--_fg: var(--ar-ink);
	--_bd: transparent;
	--_hover: var(--ar-primary);
	--_fg-hover: var(--ar-on-primary);
	width: 100%;
	min-height: 46px;
	padding: 12px 16px;
	font-size: .72rem;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.ar-card__quick .button:hover { transform: none; }
.ar-card__quick .added_to_cart { display: none; }
.ar-card__quick .button.loading { opacity: .8; }
.ar-card__quick .button.loading::after,
.single_add_to_cart_button.loading::after {
	content: "";
	width: 14px; height: 14px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: arSpin .7s linear infinite;
}
.ar-card__quick .button.added::after { content: "✓"; font-size: 1rem; }
@media (hover: none) {
	.ar-card__quick { position: static; transform: none; margin-top: 10px; order: 3; }
	.ar-card__media .ar-card__quick { position: absolute; transform: none; left: auto; right: 10px; bottom: 10px; }
	.ar-card__quick .button { width: auto; min-height: 38px; padding: 8px 14px; font-size: .64rem; }
}

.ar-card__body { padding-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.ar-card__cat { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ar-muted); }
.ar-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0;
	font-family: var(--ar-font-display);
	font-size: clamp(1.15rem, 1.35vw, 1.35rem) !important;
	font-weight: var(--ar-h-weight);
	line-height: 1.25;
}
.ar-card__title a { color: var(--ar-ink); }
.ar-card__title a:hover { color: var(--ar-primary); }
.ar-card__attr { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--ar-muted); }
.ar-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.ar-card__rating { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; color: var(--ar-muted); }
.ar-card__rating .ar-stars { width: 64px; height: 12px; -webkit-mask-size: 12.8px 12px; mask-size: 12.8px 12px; }
.ar-card__extra { margin-top: 8px; }

/* Prices */
.price, .woocommerce-Price-amount { color: var(--ar-ink); }
.ar-card .price, ul.products li.product .price { font-size: 1rem !important; font-weight: 600; color: var(--ar-ink) !important; margin: 0 !important; }
.price del { color: var(--ar-muted); font-weight: 400; opacity: .8; margin-right: 6px; font-size: .88em; }
.price ins { text-decoration: none; color: var(--ar-sale); }

/* ---------- 3. Shop layout ---------------------------------------------- */
.ar-page-hero--shop { padding-bottom: 30px; }
.ar-shop { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); padding-bottom: var(--ar-section); align-items: start; }
.ar-shop--right { grid-template-columns: minmax(0, 1fr) 270px; }
.ar-shop--right .ar-shop__filters { order: 2; }
.ar-shop--full, .ar-shop--drawer { grid-template-columns: minmax(0, 1fr); }
.ar-shop__filters { position: sticky; top: 140px; max-height: calc(100vh - 160px); overflow-y: auto; scrollbar-width: thin; }
.ar-shop__filters-head { display: none; }
.ar-shop__filters .ar-widget { padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid var(--ar-line); }
.ar-shop__filters .ar-widget__title { font-family: var(--ar-font-body); font-size: .76rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; border: 0; padding: 0; margin-bottom: 16px; }
.ar-toolbar__filter { display: none !important; }

/* Drawer mode (always, or below 1024px) */
.ar-shop--drawer .ar-toolbar__filter { display: inline-flex !important; }
.ar-shop--drawer .ar-shop__filters,
.ar-shop__filters.is-drawer {
	position: fixed;
	top: 0; bottom: 0; left: 0;
	z-index: 160;
	width: min(360px, 88vw);
	max-height: none;
	background: var(--ar-bg);
	box-shadow: var(--ar-shadow-lg);
	transform: translateX(-100%);
	visibility: hidden;
	transition: transform .5s var(--ar-ease-out), visibility .5s;
	display: flex;
	flex-direction: column;
}
.ar-shop--drawer .ar-shop__filters.is-open, .ar-shop__filters.is-drawer.is-open { transform: none; visibility: visible; }
.ar-shop--drawer .ar-shop__filters-head, .ar-shop__filters.is-drawer .ar-shop__filters-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid var(--ar-line); font-size: 1.1rem; }
.ar-shop--drawer .ar-shop__filters-body, .ar-shop__filters.is-drawer .ar-shop__filters-body { padding: 22px; overflow-y: auto; flex: 1; }
@media (max-width: 1024px) {
	.ar-shop, .ar-shop--right { grid-template-columns: minmax(0, 1fr); }
	.ar-shop .ar-toolbar__filter { display: inline-flex !important; }
	.ar-shop__filters {
		position: fixed; top: 0; bottom: 0; left: 0; z-index: 160;
		width: min(360px, 88vw); max-height: none;
		background: var(--ar-bg); box-shadow: var(--ar-shadow-lg);
		transform: translateX(-100%); visibility: hidden;
		transition: transform .5s var(--ar-ease-out), visibility .5s;
		display: flex; flex-direction: column;
	}
	.ar-shop__filters.is-open { transform: none; visibility: visible; }
	.ar-shop__filters-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid var(--ar-line); }
	.ar-shop__filters-body { padding: 22px; overflow-y: auto; flex: 1; }
}

/* Toolbar */
.ar-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 32px; padding-bottom: 18px; border-bottom: 1px solid var(--ar-line); }
.ar-toolbar__left, .ar-toolbar__right { display: flex; align-items: center; gap: 16px; }
.woocommerce .woocommerce-result-count { margin: 0; float: none; font-size: .88rem; color: var(--ar-muted); }
.woocommerce .woocommerce-ordering { margin: 0; float: none; }
.woocommerce-ordering select { width: auto; min-width: 200px; padding-block: .6em; border-radius: 999px; font-size: .86rem; }
.ar-toolbar__cols { display: flex; gap: 4px; }
.ar-toolbar__cols button { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid transparent; border-radius: 50%; background: none; color: var(--ar-muted); cursor: pointer; }
.ar-toolbar__cols button.is-active, .ar-toolbar__cols button:hover { color: var(--ar-ink); border-color: var(--ar-line); background: var(--ar-surface); }
@media (max-width: 820px) { .ar-toolbar__cols { display: none; } }
@media (max-width: 560px) {
	.ar-toolbar__right, .woocommerce-ordering, .woocommerce-ordering select { width: 100%; }
	.woocommerce .woocommerce-result-count { display: none; }
}

/* Filter widgets */
.widget_price_filter .price_slider { margin: 10px 4px 22px; }
.widget_price_filter .ui-slider { position: relative; height: 3px; background: var(--ar-line); border-radius: 3px; }
.widget_price_filter .ui-slider-range { position: absolute; height: 100%; background: var(--ar-primary); border-radius: 3px; }
.widget_price_filter .ui-slider-handle { position: absolute; top: -7px; width: 17px; height: 17px; margin-left: -8px; border-radius: 50%; background: var(--ar-surface); border: 2px solid var(--ar-primary); cursor: grab; outline: none; }
.widget_price_filter .price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: .86rem; }
.widget_price_filter .price_slider_amount .button { --_bg: transparent; --_fg: var(--ar-ink); --_bd: var(--ar-line-strong); --_hover: var(--ar-primary); --_fg-hover: var(--ar-on-primary); min-height: 36px; padding: 8px 18px; font-size: .7rem; }
.woocommerce-widget-layered-nav-list li, .widget_product_categories li { display: flex; justify-content: space-between; align-items: center; padding: 6px 0 !important; }
.woocommerce-widget-layered-nav-list li a, .widget_product_categories li a { color: var(--ar-text); display: inline-flex; align-items: center; gap: 10px; }
.woocommerce-widget-layered-nav-list li a::before { content: ""; width: 16px; height: 16px; border: 1px solid var(--ar-line-strong); border-radius: 4px; transition: color .2s, background-color .2s, border-color .2s, transform .2s, opacity .2s, visibility .2s; }
.woocommerce-widget-layered-nav-list li.chosen a::before { background: var(--ar-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; border-color: var(--ar-primary); }
.woocommerce-widget-layered-nav-list .count, .widget_product_categories .count { font-size: .76rem; color: var(--ar-muted); }
.widget_product_categories .children { padding-left: 14px !important; }
.woocommerce-widget-layered-nav-dropdown select { border-radius: var(--ar-radius-sm); }
.widget_layered_nav_filters ul { display: flex; flex-wrap: wrap; gap: 8px; }
.widget_layered_nav_filters li a { padding: 6px 12px; border-radius: 999px; background: var(--ar-primary-soft); color: var(--ar-primary); font-size: .82rem; }

/* Category tiles (when shop shows categories) */
ul.products li.product-category a { display: block; color: var(--ar-ink); }
ul.products li.product-category img { width: 100%; aspect-ratio: var(--ar-card-ratio); object-fit: cover; border-radius: var(--ar-arch); margin-bottom: 14px; }
ul.products li.product-category h2 { font-family: var(--ar-font-display); font-size: 1.35rem; font-weight: var(--ar-h-weight); text-align: center; }
ul.products li.product-category mark { background: none; color: var(--ar-muted); font-size: .8em; }

/* ---------- 4. Single product ------------------------------------------- */
.ar-wc-page { padding-bottom: var(--ar-section); }
.ar-product-crumbs { padding: 26px 0 30px; }
.ar-product-crumbs .ar-breadcrumbs { justify-content: flex-start; }
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: 0 clamp(32px, 5vw, 80px);
	align-items: start;
	position: relative;
}
.single-product div.product::before, .single-product div.product::after { display: none; }
.single-product div.product > * { grid-column: 1 / -1; }
.single-product div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; float: none !important; width: auto !important; position: sticky; top: 140px; }
.single-product div.product > .summary { grid-column: 2; grid-row: 1; float: none !important; width: auto !important; margin: 0; }
.single-product div.product > span.onsale { position: absolute; top: 18px; left: 18px; z-index: 5; grid-row: 1; }
@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.single-product div.product > .woocommerce-product-gallery, .single-product div.product > .summary { grid-column: 1; grid-row: auto; position: relative; top: auto; }
	.single-product div.product > .summary { margin-top: 32px; }
}

/* Gallery -----------------------------------------------------------------
 * WooCommerce's FlexSlider builds: .flex-viewport (the slides),
 * ol.flex-control-thumbs, ul.flex-direction-nav, and the zoom trigger.
 * The gallery is a grid: those overlays share the "main" cell with the
 * viewport (absolute children of a grid use their grid area as the
 * containing block), so arrows centre on the photo, never on the thumbs.
 */
.single-product div.product { --ar-thumb-w: 86px; --ar-thumb-gap: 14px; }

.woocommerce-product-gallery {
	position: relative;
	margin: 0 !important;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "main" "thumbs";
	row-gap: 12px;
}
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper,
.woocommerce-product-gallery > .flex-viewport { grid-area: main; }
.woocommerce-product-gallery__wrapper { margin: 0; padding: 0; }

/* The frame: one shape for every slide, photo centred inside it. */
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
	border-radius: var(--ar-radius);
	overflow: hidden;
	background: var(--ar-gallery-bg, var(--ar-bg-alt));
}
.woocommerce-product-gallery__image {
	position: relative;
	aspect-ratio: var(--ar-gallery-ratio, 4 / 5);
	background: var(--ar-gallery-bg, var(--ar-bg-alt));
	overflow: hidden;
}
.woocommerce-product-gallery__image > a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.woocommerce-product-gallery__image img:not(.zoomImg) {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: var(--ar-gallery-fit, contain);
	object-position: center;
}
.ar-gallery-natural .woocommerce-product-gallery__image { aspect-ratio: auto; }
.ar-gallery-natural .woocommerce-product-gallery__image img:not(.zoomImg) { height: auto; }

/* Hover zoom: the enlarged copy must keep its real size, or it is squeezed
   back to 100% by the global img rule and nothing appears magnified. */
.woocommerce-product-gallery .zoomImg {
	max-width: none !important;
	max-height: none !important;
	background: var(--ar-gallery-bg, var(--ar-bg-alt));
}

/* Before the slider starts (or with scripts off) extra photos sit in a row
   under the first instead of stacking into a very tall column. */
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n+2) { border-radius: var(--ar-radius-sm); }

/* Zoom / lightbox trigger */
.woocommerce-product-gallery__trigger {
	grid-area: main;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 9;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ar-surface);
	box-shadow: var(--ar-shadow-sm);
	display: grid;
	place-items: center;
	font-size: 0;
	transition: transform .3s var(--ar-ease-out);
}
.woocommerce-product-gallery__trigger:hover { transform: scale(1.08); }
.woocommerce-product-gallery__trigger::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--ar-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-product-gallery__trigger img,
.woocommerce-product-gallery__trigger span { display: none !important; }

/* Arrows */
.woocommerce-product-gallery .flex-direction-nav {
	grid-area: main;
	position: absolute;
	inset: 0;
	z-index: 8;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 0 14px;
	list-style: none;
	pointer-events: none;
}
.woocommerce-product-gallery .flex-direction-nav li { margin: 0; }
.woocommerce-product-gallery .flex-direction-nav a {
	pointer-events: auto;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgb(255 255 255 / .92);
	box-shadow: var(--ar-shadow-sm);
	font-size: 0;
	opacity: 0;
	transform: scale(.9);
	transition: opacity .3s var(--ar-ease), transform .3s var(--ar-ease-out), background-color .25s;
}
.woocommerce-product-gallery:hover .flex-direction-nav a,
.woocommerce-product-gallery .flex-direction-nav a:focus-visible { opacity: 1; transform: none; }
.woocommerce-product-gallery .flex-direction-nav a:hover { background: var(--ar-surface); }
.woocommerce-product-gallery .flex-direction-nav a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: var(--ar-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: scaleX(-1); }
.woocommerce-product-gallery .flex-direction-nav a.flex-disabled { opacity: 0 !important; pointer-events: none; }

/* Thumbnails — shared */
.woocommerce-product-gallery .flex-control-thumbs {
	grid-area: thumbs;
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	scrollbar-width: none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
.woocommerce-product-gallery .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	flex: 0 0 calc((100% - 40px) / 5);
}
.woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: var(--ar-gallery-ratio, 4 / 5);
	object-fit: cover;
	border-radius: var(--ar-radius-sm);
	background: var(--ar-gallery-bg, var(--ar-bg-alt));
	border: 1.5px solid transparent;
	cursor: pointer;
	opacity: .55;
	transition: opacity .25s, border-color .25s;
}
.ar-gallery-natural .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1; }
.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: .9; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--ar-ink); }

/* Thumbnails — horizontal strip scrolls when there are more than five */
.ar-gallery-thumbs-bottom .woocommerce-product-gallery .flex-control-thumbs { overflow-x: auto; scroll-snap-type: x proximity; }
.ar-gallery-thumbs-bottom .woocommerce-product-gallery .flex-control-thumbs li { scroll-snap-align: start; }

/* Thumbnails — vertical column on the left (desktop) */
@media (min-width: 901px) {
	.ar-gallery-thumbs-left .woocommerce-product-gallery:has(.flex-control-thumbs) {
		grid-template-columns: var(--ar-thumb-w) minmax(0, 1fr);
		grid-template-areas: "thumbs main";
		column-gap: var(--ar-thumb-gap);
	}
	.ar-gallery-thumbs-left .woocommerce-product-gallery .flex-control-thumbs {
		flex-direction: column;
		/* height:0 + min-height:100% = exactly as tall as the photo, and it
		   scrolls rather than stretching the row when there are many. */
		height: 0;
		min-height: 100%;
		overflow-y: auto;
	}
	.ar-gallery-thumbs-left .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 auto; }
	/* Sale badge sits on the photo, not on the thumbnail column. */
	.ar-gallery-thumbs-left div.product:has(.flex-control-thumbs) > span.onsale { left: calc(var(--ar-thumb-w) + var(--ar-thumb-gap) + 18px); }
}

.ar-gallery-thumbs-hidden .woocommerce-product-gallery .flex-control-thumbs { display: none; }

/* Phones & tablets: horizontal strip, always-visible arrows */
@media (max-width: 900px) {
	.woocommerce-product-gallery .flex-control-thumbs { overflow-x: auto; }
	.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 68px; }
	.woocommerce-product-gallery .flex-direction-nav a { opacity: 1; transform: none; width: 40px; height: 40px; }
	.woocommerce-product-gallery__trigger { top: 12px; right: 12px; width: 40px; height: 40px; }
}

/* Summary */
.summary .ar-product-eyebrow { margin-bottom: 14px; }
.summary .product_title { font-size: calc(var(--ar-h-scale) * clamp(2.1rem, 3.4vw, 3.1rem)); margin-bottom: 12px; }
.summary .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: .86rem; }
.summary .woocommerce-review-link { color: var(--ar-muted); }
.summary > .price { font-size: 1.6rem !important; font-weight: 500; color: var(--ar-ink); margin: 0 0 22px; font-family: var(--ar-font-display); display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.summary > .price del { font-size: .7em; }
.summary .woocommerce-product-details__short-description { color: var(--ar-text); margin-bottom: 26px; padding-bottom: 26px; border-bottom: 1px solid var(--ar-line); }
.summary .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
.summary .stock { font-size: .86rem; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.summary .stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgb(var(--ar-primary-rgb) / .12); }
.summary .stock.in-stock { color: var(--ar-primary); }
.summary .stock.out-of-stock { color: var(--ar-sale); }

/* Cart form */
.summary form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0 0 22px; }
.summary form.cart::before, .summary form.cart::after { display: none; }
.summary form.cart .single_add_to_cart_button { flex: 1 1 200px; min-height: 56px; }
.summary form.cart .ar-buy-now { flex: 1 1 100%; min-height: 56px; }
.summary form.variations_form { display: block; }
.summary .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
table.variations { width: 100%; border: 0; margin-bottom: 18px; border-collapse: collapse; }
table.variations tr { display: grid; gap: 8px; margin-bottom: 16px; }
table.variations th, table.variations td { padding: 0; text-align: left; border: 0; }
table.variations label { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ar-muted); font-weight: 600; }
table.variations select { border-radius: var(--ar-radius-sm); }
.reset_variations { font-size: .8rem; margin-top: 8px; display: inline-block; }
.woocommerce-variation-price { margin-bottom: 14px; }
.woocommerce-variation-price .price { font-family: var(--ar-font-display); font-size: 1.5rem; }

/* Quantity stepper */
.quantity { display: inline-flex; align-items: center; border: 1px solid var(--ar-line-strong); border-radius: var(--ar-btn-radius); background: var(--ar-surface); overflow: hidden; }
.quantity .qty { width: 48px; border: 0 !important; background: transparent; text-align: center; padding: 0; box-shadow: none !important; font-weight: 600; -moz-appearance: textfield; appearance: textfield; height: 54px; }
.quantity .qty::-webkit-inner-spin-button, .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ar-qty__btn { width: 42px; height: 54px; border: 0; background: transparent; cursor: pointer; color: var(--ar-ink); display: grid; place-items: center; transition: background .2s; }
.ar-qty__btn:hover { background: var(--ar-bg); }
.woocommerce-cart-form .quantity .qty, .woocommerce-cart-form .ar-qty__btn { height: 44px; }

/* Secondary actions, highlights, accordion */
.ar-product-secondary { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 0 26px; }
.ar-highlights { padding: 22px 24px; border-radius: var(--ar-radius); background: var(--ar-accent-soft); margin-bottom: 22px; }
.ar-highlights__title { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ar-accent-ink); margin-bottom: 12px; }
.ar-highlights ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ar-highlights li { display: flex; gap: 10px; align-items: flex-start; color: var(--ar-ink); font-size: .93rem; line-height: 1.45; }
.ar-highlights li svg { color: var(--ar-primary); margin-top: 2px; }
.ar-accordion { border-top: 1px solid var(--ar-line); margin-bottom: 22px; }
.ar-accordion__item { border-bottom: 1px solid var(--ar-line); }
.ar-accordion__item summary { display: flex; align-items: center; gap: 12px; padding: 18px 0; cursor: pointer; list-style: none; font-weight: 600; color: var(--ar-ink); font-size: .95rem; }
.ar-accordion__item summary::-webkit-details-marker { display: none; }
.ar-accordion__item summary span { flex: 1; }
.ar-accordion__item summary svg:first-child { color: var(--ar-accent); }
.ar-accordion__item summary svg:last-child { transition: transform .35s var(--ar-ease); }
.ar-accordion__item[open] summary svg:last-child { transform: rotate(45deg); }
.ar-accordion__body { padding: 0 0 18px 30px; font-size: .92rem; color: var(--ar-text); }
.ar-accordion__body p:last-child { margin: 0; }
.product_meta { display: grid; gap: 6px; font-size: .84rem; color: var(--ar-muted); }
.product_meta a { color: var(--ar-text); }

/* Tabs */
.woocommerce-tabs { margin-top: clamp(56px, 7vw, 100px); }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; justify-content: center; gap: 6px; margin: 0 0 40px !important; padding: 0 !important; border-bottom: 1px solid var(--ar-line); overflow-x: auto; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after, .woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li { margin: 0; padding: 0; background: none !important; border: 0 !important; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 16px 22px; font-family: var(--ar-font-display); font-size: 1.3rem; color: var(--ar-muted); position: relative; white-space: nowrap; }
.woocommerce-tabs ul.tabs li a::after { content: ""; position: absolute; left: 22px; right: 22px; bottom: -1px; height: 2px; background: var(--ar-primary); transform: scaleX(0); transition: transform .35s var(--ar-ease); }
.woocommerce-tabs ul.tabs li.active a { color: var(--ar-ink); }
.woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1); }
.woocommerce-tabs .panel { max-width: 860px; margin: 0 auto !important; font-size: 1.02rem; }
.woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 14px 16px; border-bottom: 1px solid var(--ar-line); text-align: left; font-size: .95rem; }
.woocommerce-product-attributes th { width: 32%; font-weight: 600; color: var(--ar-ink); }
.woocommerce-product-attributes td p { margin: 0; }

/* Reviews */
#reviews .commentlist { list-style: none; padding: 0; margin: 0 0 40px; }
#reviews .commentlist li { padding: 24px 0; border-bottom: 1px solid var(--ar-line); }
#reviews .comment_container { display: flex; gap: 16px; }
#reviews .comment_container img.avatar { width: 48px; height: 48px; border-radius: 50%; position: static; float: none; }
#reviews .comment-text { flex: 1; margin: 0 !important; border: 0 !important; padding: 0 !important; }
#reviews .meta { font-size: .86rem; color: var(--ar-muted); }
#reviews .meta strong { color: var(--ar-ink); }
#review_form_wrapper { padding: 32px; border-radius: var(--ar-radius); background: var(--ar-surface); border: 1px solid var(--ar-line); }
#reply-title { font-family: var(--ar-font-display); font-size: 1.6rem; display: block; margin-bottom: 14px; }
.comment-form-rating label { display: block; margin-bottom: 6px; }
p.stars { margin: 0 0 16px; }
p.stars span { display: inline-flex; gap: 4px; }
p.stars a {
	position: relative;
	width: 24px; height: 24px;
	font-size: 0;
	background: rgb(var(--ar-ink-rgb) / .15);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.8 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L3 9.4l6.2-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.8 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L3 9.4l6.2-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: background .15s;
}
p.stars:hover a, p.stars.selected a { background: var(--ar-accent); }
p.stars a:hover ~ a, p.stars.selected a.active ~ a { background: rgb(var(--ar-ink-rgb) / .15); }
p.stars.selected a.active { background: var(--ar-accent); }

/* WooCommerce star rating (font-free) */
.star-rating {
	position: relative;
	display: inline-block;
	width: 80px;
	height: 15px;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
	background: rgb(var(--ar-ink-rgb) / .15);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.8 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L3 9.4l6.2-.9z'/%3E%3C/svg%3E") repeat-x left / 16px 15px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.8 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L3 9.4l6.2-.9z'/%3E%3C/svg%3E") repeat-x left / 16px 15px;
	vertical-align: middle;
}
.star-rating::before { display: none; }
.star-rating span { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; background: var(--ar-accent); font-size: 0; padding: 0 !important; }
.star-rating span::before { display: none; }

/* Related / upsells */
.related.products, .upsells.products { margin-top: clamp(56px, 7vw, 100px); }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { text-align: center; margin-bottom: 40px; }

/* Sticky add-to-cart bar (mobile) */
.ar-sticky-atc {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
	display: none; align-items: center; gap: 12px;
	padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
	background: rgb(var(--ar-header-rgb) / .96);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-top: 1px solid var(--ar-line);
	transform: translateY(100%);
	transition: transform .4s var(--ar-ease-out);
}
.ar-sticky-atc.is-visible { transform: none; }
.ar-sticky-atc__info { flex: 1; min-width: 0; }
.ar-sticky-atc__info strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--ar-ink); }
.ar-sticky-atc__info span { font-size: .86rem; color: var(--ar-primary); }
@media (max-width: 767px) { .ar-sticky-atc { display: flex; } }

/* ---------- 5. Notices -------------------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	list-style: none;
	margin: 0 0 28px !important;
	padding: 16px 22px 16px 52px !important;
	border: 1px solid var(--ar-line);
	border-radius: var(--ar-radius-sm);
	background: var(--ar-surface);
	color: var(--ar-ink);
	font-size: .94rem;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	content: "";
	position: absolute; left: 20px; top: 50%;
	width: 18px; height: 18px; margin-top: -9px;
	border-radius: 50%;
	background: var(--ar-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.woocommerce-info::before { background: var(--ar-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E") center / 12px no-repeat; }
.woocommerce-error { border-color: rgb(164 85 59 / .3); background: color-mix(in srgb, var(--ar-sale) 6%, var(--ar-surface)); flex-direction: column; align-items: flex-start; }
.woocommerce-error::before { top: 26px; background: var(--ar-sale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center / 12px no-repeat; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; min-height: 40px; padding: 10px 20px; font-size: .72rem; }

/* ---------- 6. Mini-cart drawer ----------------------------------------- */
.ar-mini-list { list-style: none; margin: 0; padding: 8px 22px; flex: 1; overflow-y: auto; }
.ar-mini-item { position: relative; display: grid; grid-template-columns: 84px 1fr; gap: 16px; padding: 18px 28px 18px 0; border-bottom: 1px solid var(--ar-line); transition: opacity .3s; }
.ar-mini-item.is-busy { opacity: .45; pointer-events: none; }
.ar-mini-item__img img { width: 84px !important; height: 104px; object-fit: cover; border-radius: var(--ar-radius-sm); background: var(--ar-bg-alt); margin: 0 !important; float: none !important; }
.ar-mini-item__info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ar-mini-item__name { font-family: var(--ar-font-display); font-size: 1.12rem; line-height: 1.25; color: var(--ar-ink); }
.ar-mini-item dl.variation { margin: 0; font-size: .78rem; color: var(--ar-muted); display: flex; flex-wrap: wrap; gap: 2px 6px; }
.ar-mini-item dl.variation dt, .ar-mini-item dl.variation dd { margin: 0; float: none; }
.ar-mini-item dl.variation dd p { margin: 0; }
.ar-mini-item__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.ar-mini-item__price { font-weight: 600; color: var(--ar-ink); font-size: .95rem; }
.ar-mini-item__remove { position: absolute; top: 18px; right: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--ar-muted) !important; transition: background .2s, color .2s; }
.ar-mini-item__remove:hover { background: var(--ar-bg-alt); color: var(--ar-sale) !important; }
.ar-mini-qty { display: inline-flex; align-items: center; border: 1px solid var(--ar-line); border-radius: 999px; background: var(--ar-surface); }
.ar-mini-qty button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; background: none; cursor: pointer; color: var(--ar-ink); border-radius: 50%; }
.ar-mini-qty button:hover { background: var(--ar-bg); }
.ar-mini-qty span { min-width: 22px; text-align: center; font-size: .86rem; font-weight: 600; }
.ar-mini-foot { padding: 20px 22px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ar-line); background: var(--ar-surface); }
.ar-mini-foot .total { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 4px; font-size: 1rem; color: var(--ar-ink); }
.ar-mini-foot .total strong { font-weight: 500; }
.ar-mini-foot .total .amount { font-family: var(--ar-font-display); font-size: 1.5rem; }
.ar-mini-foot__note { font-size: .8rem; color: var(--ar-muted); margin: 0 0 16px; }
.ar-mini-foot .buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.ar-mini-foot .buttons .button { min-height: 50px; padding: 12px; font-size: .72rem; }
.ar-mini-foot .buttons .button:not(.checkout) { --_bg: transparent; --_fg: var(--ar-ink); --_bd: var(--ar-line-strong); --_hover: var(--ar-bg); --_fg-hover: var(--ar-ink); }
.ar-mini-foot .buttons .button:hover { transform: none; box-shadow: none; }
.ar-mini-empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 30px; gap: 8px; }
.ar-mini-empty__icon { display: grid; place-items: center; width: 90px; height: 90px; border-radius: 50%; background: var(--ar-accent-soft); color: var(--ar-accent-ink); margin-bottom: 10px; }
.ar-mini-empty p { font-family: var(--ar-font-display); font-size: 1.5rem; color: var(--ar-ink); }

/* ---------- 7. Cart & checkout (classic) -------------------------------- */
.woocommerce-cart .ar-page-hero, .woocommerce-checkout .ar-page-hero { padding-bottom: 20px; }
.woocommerce-cart-form { margin-bottom: 40px; }
table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--ar-line) !important;
	border-radius: var(--ar-radius);
	background: var(--ar-surface);
	overflow: hidden;
	margin: 0 0 24px;
}
table.shop_table th { padding: 16px 18px; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ar-muted); font-weight: 600; text-align: left; border-bottom: 1px solid var(--ar-line); background: var(--ar-bg); }
table.shop_table td { padding: 18px; border-top: 1px solid var(--ar-line); vertical-align: middle; }
table.shop_table tbody tr:first-child td { border-top: 0; }
table.shop_table .product-thumbnail img { width: 76px; height: 92px; object-fit: cover; border-radius: var(--ar-radius-sm); }
table.shop_table .product-name a { font-family: var(--ar-font-display); font-size: 1.15rem; color: var(--ar-ink); }
table.shop_table .product-remove a.remove { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--ar-muted) !important; font-size: 1.3rem; text-decoration: none; }
table.shop_table .product-remove a.remove:hover { background: var(--ar-bg-alt); color: var(--ar-sale) !important; }
table.shop_table td.actions { background: var(--ar-bg); }
.woocommerce-cart-form .actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; float: left; }
.woocommerce-cart-form .actions .coupon .input-text { width: 220px; border-radius: 999px; }
.woocommerce-cart-form .actions > .button { float: right; }
.cart-collaterals { display: grid; grid-template-columns: 1fr minmax(320px, 440px); gap: 40px; }
.cart-collaterals .cross-sells { grid-column: 1; width: auto !important; float: none !important; }
.cart-collaterals .cart_totals { grid-column: 2; width: auto !important; float: none !important; padding: 30px; border-radius: var(--ar-radius); background: var(--ar-surface); border: 1px solid var(--ar-line); }
.cart_totals > h2 { font-size: 1.7rem; }
.cart_totals table.shop_table { border: 0 !important; background: none; }
.cart_totals table.shop_table th, .cart_totals table.shop_table td { background: none; padding: 14px 0; border-top: 1px solid var(--ar-line); border-bottom: 0; }
.cart_totals .order-total .amount { font-family: var(--ar-font-display); font-size: 1.5rem; color: var(--ar-ink); }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 58px; }
@media (max-width: 900px) {
	.cart-collaterals { grid-template-columns: 1fr; }
	.cart-collaterals .cart_totals { grid-column: 1; }
	.woocommerce-cart-form .actions .coupon, .woocommerce-cart-form .actions > .button { float: none; width: 100%; }
	.woocommerce-cart-form .actions .coupon .input-text { flex: 1; width: auto; }
}

/* Checkout */
.woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1fr); gap: 0 clamp(28px, 5vw, 70px); align-items: start; }
.woocommerce form.checkout > .col2-set { grid-column: 1; grid-row: 1 / span 3; width: auto; }
.woocommerce form.checkout > #order_review_heading, .woocommerce form.checkout > #order_review { grid-column: 2; }
.woocommerce form.checkout > #order_review { padding: 30px; border-radius: var(--ar-radius); background: var(--ar-surface); border: 1px solid var(--ar-line); position: sticky; top: 140px; }
#order_review_heading { font-size: 1.7rem; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none; width: 100%; }
.woocommerce .col2-set::before, .woocommerce .col2-set::after { display: none; }
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: .86rem; }
.woocommerce form .form-row .required { color: var(--ar-sale); text-decoration: none; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 8px); }
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields h3, .woocommerce-additional-fields > h3 { font-size: 1.6rem; margin-top: 10px; }
#order_review table.shop_table { border: 0 !important; background: none; }
#order_review table.shop_table th, #order_review table.shop_table td { background: none; padding: 12px 0; }
#payment { background: var(--ar-bg) !important; border-radius: var(--ar-radius-sm) !important; padding: 6px; margin-top: 16px; }
#payment ul.payment_methods { list-style: none; padding: 16px !important; margin: 0; border-bottom: 1px solid var(--ar-line) !important; }
#payment ul.payment_methods li { padding: 8px 0; }
#payment div.payment_box { background: var(--ar-surface) !important; border-radius: var(--ar-radius-sm); padding: 14px 16px !important; font-size: .88rem; margin-top: 10px !important; }
#payment div.payment_box::before { display: none; }
#payment .place-order { padding: 16px !important; }
#place_order { width: 100%; min-height: 58px; float: none !important; }
.select2-container .select2-selection--single { height: auto !important; padding: .7em .8em; border: 1px solid var(--ar-line) !important; border-radius: var(--ar-radius-sm) !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 8px !important; }
.select2-dropdown { border-color: var(--ar-line) !important; border-radius: var(--ar-radius-sm) !important; }
@media (max-width: 900px) {
	.woocommerce form.checkout { grid-template-columns: 1fr; }
	.woocommerce form.checkout > * { grid-column: 1 !important; grid-row: auto !important; }
	.woocommerce form.checkout > #order_review { position: static; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; }
}

/* Block cart / checkout — gentle alignment with the theme */
.wc-block-cart, .wc-block-checkout { font-family: var(--ar-font-body); }
.wc-block-components-sidebar .wc-block-components-panel, .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { border-radius: var(--ar-radius); }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: var(--ar-btn-radius) !important; background: var(--ar-primary) !important; color: var(--ar-on-primary) !important; min-height: 56px; }
.wc-block-components-product-name { font-family: var(--ar-font-display); font-size: 1.15rem; color: var(--ar-ink) !important; }

/* ---------- 8. My account ----------------------------------------------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation { float: none !important; width: auto !important; padding: 12px; border-radius: var(--ar-radius); background: var(--ar-surface); border: 1px solid var(--ar-line); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 11px 16px; border-radius: var(--ar-radius-sm); color: var(--ar-text); }
.woocommerce-MyAccount-navigation a:hover { background: var(--ar-bg); color: var(--ar-ink); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--ar-primary); color: var(--ar-on-primary); }
.woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
#customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
#customer_login::before, #customer_login::after { display: none; }
#customer_login .u-column1, #customer_login .u-column2 { width: auto; float: none; padding: clamp(24px, 4vw, 44px); border-radius: var(--ar-radius); background: var(--ar-surface); border: 1px solid var(--ar-line); }
.woocommerce-form-login, .woocommerce-form-register { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-form-login__rememberme { display: inline-flex !important; gap: 8px; align-items: center; margin-bottom: 14px !important; }
.woocommerce-LostPassword { font-size: .88rem; }
@media (max-width: 900px) {
	.woocommerce-account .woocommerce, #customer_login { grid-template-columns: 1fr; }
}

/* ---------- 9. Wishlist page -------------------------------------------- */
.ar-wishlist-page { padding-bottom: var(--ar-section); }
.ar-wishlist-page .ar-center { margin-top: 56px; }
